googleapis
Version:
Google APIs Client Library for Node.js
1,011 lines (1,010 loc) • 695 kB
TypeScript
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosResponseWithHTTP2, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace vmwareengine_v1 {
export interface Options extends GlobalOptions {
version: 'v1';
}
interface StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth;
/**
* V1 error format.
*/
'$.xgafv'?: string;
/**
* OAuth access token.
*/
access_token?: string;
/**
* Data format for response.
*/
alt?: string;
/**
* JSONP
*/
callback?: string;
/**
* Selector specifying which fields to include in a partial response.
*/
fields?: string;
/**
* API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
*/
key?: string;
/**
* OAuth 2.0 token for the current user.
*/
oauth_token?: string;
/**
* Returns response with indentations and line breaks.
*/
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
*/
quotaUser?: string;
/**
* Legacy upload protocol for media (e.g. "media", "multipart").
*/
uploadType?: string;
/**
* Upload protocol for media (e.g. "raw", "multipart").
*/
upload_protocol?: string;
}
/**
* VMware Engine API
*
* The Google VMware Engine API lets you programmatically manage VMware environments.
*
* @example
* ```js
* const {google} = require('googleapis');
* const vmwareengine = google.vmwareengine('v1');
* ```
*/
export class Vmwareengine {
context: APIRequestContext;
projects: Resource$Projects;
constructor(options: GlobalOptions, google?: GoogleConfigurable);
}
/**
* Request message for VmwareEngine.AcceleratePrivateCloudDeletion
*/
export interface Schema$AcceleratePrivateCloudDeletionRequest {
/**
* Optional. Checksum used to ensure that the user-provided value is up to date before the server processes the request. The server compares provided checksum with the current checksum of the resource. If the user-provided value is out of date, this request returns an `ABORTED` error.
*/
etag?: string | null;
/**
* Optional. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
*/
requestId?: string | null;
}
/**
* Announcement for the resources of Vmware Engine.
*/
export interface Schema$Announcement {
/**
* Optional. Activity type of the announcement There can be only one active announcement for a given activity type and target resource.
*/
activityType?: string | null;
/**
* A Cluster resource name.
*/
cluster?: string | null;
/**
* Required. Code of the announcement. Indicates the presence of a VMware Engine related announcement and corresponds to a related message in the `description` field.
*/
code?: string | null;
/**
* Output only. Creation time of this resource. It also serves as start time of notification.
*/
createTime?: string | null;
/**
* Output only. Description of the announcement.
*/
description?: string | null;
/**
* Output only. Additional structured details about this announcement.
*/
metadata?: {
[key: string]: string;
} | null;
/**
* Output only. The resource name of the announcement. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-west1-a/announcements/my-announcement-id`
*/
name?: string | null;
/**
* A Private Cloud resource name.
*/
privateCloud?: string | null;
/**
* Output only. State of the resource. New values may be added to this enum when appropriate.
*/
state?: string | null;
/**
* Output only. Target Resource Type defines the type of the target for the announcement
*/
targetResourceType?: string | null;
/**
* Output only. Last update time of this resource.
*/
updateTime?: string | null;
}
/**
* Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \}, { "log_type": "ADMIN_READ" \} ] \}, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" \}, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] \} ] \} ] \} For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.
*/
export interface Schema$AuditConfig {
/**
* The configuration for logging of each type of permission.
*/
auditLogConfigs?: Schema$AuditLogConfig[];
/**
* Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
*/
service?: string | null;
}
/**
* Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \} ] \} This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.
*/
export interface Schema$AuditLogConfig {
/**
* Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
*/
exemptedMembers?: string[] | null;
/**
* The log type that this config enables.
*/
logType?: string | null;
}
/**
* Autoscaling policy describes the behavior of the autoscaling with respect to the resource utilization. The scale-out operation is initiated if the utilization exceeds ANY of the respective thresholds. The scale-in operation is initiated if the utilization is below ALL of the respective thresholds.
*/
export interface Schema$AutoscalingPolicy {
/**
* Optional. Utilization thresholds pertaining to amount of consumed memory.
*/
consumedMemoryThresholds?: Schema$Thresholds;
/**
* Optional. Utilization thresholds pertaining to CPU utilization.
*/
cpuThresholds?: Schema$Thresholds;
/**
* Optional. Utilization thresholds pertaining to amount of granted memory.
*/
grantedMemoryThresholds?: Schema$Thresholds;
/**
* Required. The canonical identifier of the node type to add or remove. Corresponds to the `NodeType`.
*/
nodeTypeId?: string | null;
/**
* Required. Number of nodes to add to a cluster during a scale-out operation. Must be divisible by 2 for stretched clusters. During a scale-in operation only one node (or 2 for stretched clusters) are removed in a single iteration.
*/
scaleOutSize?: number | null;
/**
* Optional. Utilization thresholds pertaining to amount of consumed storage.
*/
storageThresholds?: Schema$Thresholds;
}
/**
* Autoscaling settings define the rules used by VMware Engine to automatically scale-out and scale-in the clusters in a private cloud.
*/
export interface Schema$AutoscalingSettings {
/**
* Required. The map with autoscaling policies applied to the cluster. The key is the identifier of the policy. It must meet the following requirements: * Only contains 1-63 alphanumeric characters and hyphens * Begins with an alphabetical character * Ends with a non-hyphen character * Not formatted as a UUID * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5) Currently there map must contain only one element that describes the autoscaling policy for compute nodes.
*/
autoscalingPolicies?: {
[key: string]: Schema$AutoscalingPolicy;
} | null;
/**
* Optional. The minimum duration between consecutive autoscale operations. It starts once addition or removal of nodes is fully completed. Defaults to 30 minutes if not specified. Cool down period must be in whole minutes (for example, 30, 31, 50, 180 minutes).
*/
coolDownPeriod?: string | null;
/**
* Optional. Maximum number of nodes of any type in a cluster. If not specified the default limits apply.
*/
maxClusterNodeCount?: number | null;
/**
* Optional. Minimum number of nodes of any type in a cluster. If not specified the default limits apply.
*/
minClusterNodeCount?: number | null;
}
/**
* Associates `members`, or principals, with a `role`.
*/
export interface Schema$Binding {
/**
* The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
*/
condition?: Schema$Expr;
/**
* Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid\}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid\}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid\}.svc.id.goog[{namespace\}/{kubernetes-sa\}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid\}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain\}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/subject/{subject_attribute_value\}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/group/{group_id\}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/attribute.{attribute_name\}/{attribute_value\}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/x`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/subject/{subject_attribute_value\}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/group/{group_id\}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/attribute.{attribute_name\}/{attribute_value\}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/x`: All identities in a workload identity pool. * `deleted:user:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid\}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid\}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid\}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/subject/{subject_attribute_value\}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
*/
members?: string[] | null;
/**
* Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).
*/
role?: string | null;
}
/**
* A cluster in a private cloud.
*/
export interface Schema$Cluster {
/**
* Optional. Configuration of the autoscaling applied to this cluster.
*/
autoscalingSettings?: Schema$AutoscalingSettings;
/**
* Output only. Creation time of this resource.
*/
createTime?: string | null;
/**
* Output only. Configuration of a mounted datastore.
*/
datastoreMountConfig?: Schema$DatastoreMountConfig[];
/**
* Output only. True if the cluster is a management cluster; false otherwise. There can only be one management cluster in a private cloud and it has to be the first one.
*/
management?: boolean | null;
/**
* Output only. Identifier. The resource name of this cluster. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster`
*/
name?: string | null;
/**
* Required. The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`).
*/
nodeTypeConfigs?: {
[key: string]: Schema$NodeTypeConfig;
} | null;
/**
* Output only. State of the resource.
*/
state?: string | null;
/**
* Optional. Configuration of a stretched cluster. Required for clusters that belong to a STRETCHED private cloud.
*/
stretchedClusterConfig?: Schema$StretchedClusterConfig;
/**
* Output only. System-generated unique identifier for the resource.
*/
uid?: string | null;
/**
* Output only. Last update time of this resource.
*/
updateTime?: string | null;
}
/**
* Constraints to be applied while editing a schedule. These constraints ensure that `Upgrade` specific requirements are met.
*/
export interface Schema$Constraints {
/**
* Output only. Output Only. A list of intervals in which maintenance windows are not allowed. Any time window that overlaps with any of these intervals will be considered invalid.
*/
disallowedIntervals?: Schema$WeeklyTimeInterval[];
/**
* Output only. Minimum number of hours must be allotted for the upgrade activities for each selected day. This is a minimum; the upgrade schedule can allot more hours for the given day.
*/
minHoursDay?: number | null;
/**
* Output only. The minimum number of weekly hours must be allotted for the upgrade activities. This is just a minimum; the schedule can assign more weekly hours.
*/
minHoursWeek?: number | null;
/**
* Output only. Output Only. The user can only reschedule an upgrade that starts within this range.
*/
rescheduleDateRange?: Schema$Interval;
}
/**
* Credentials for a private cloud.
*/
export interface Schema$Credentials {
/**
* Initial password.
*/
password?: string | null;
/**
* Initial username.
*/
username?: string | null;
}
/**
* Represents a datastore resource.
*/
export interface Schema$Datastore {
/**
* Output only. Clusters to which the datastore is attached.
*/
clusters?: string[] | null;
/**
* Output only. Creation time of this resource.
*/
createTime?: string | null;
/**
* Optional. User-provided description for this datastore
*/
description?: string | null;
/**
* Optional. Checksum that may be sent on update and delete requests to ensure that the user-provided value is up to date before the server processes a request. The server computes checksums based on the value of other fields in the request.
*/
etag?: string | null;
/**
* Output only. Identifier. The resource name of this datastore. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/datastores/datastore`
*/
name?: string | null;
/**
* Required. Settings for the NFS datastore.
*/
nfsDatastore?: Schema$NfsDatastore;
/**
* Output only. The state of the Datastore.
*/
state?: string | null;
/**
* Output only. System-generated unique identifier for the resource.
*/
uid?: string | null;
/**
* Output only. Last update time of this resource.
*/
updateTime?: string | null;
}
/**
* The Datastore Mount configuration
*/
export interface Schema$DatastoreMountConfig {
/**
* Optional. NFS is accessed by hosts in read mode Optional. Default value used will be READ_WRITE
*/
accessMode?: string | null;
/**
* Required. The resource name of the datastore to unmount. The datastore requested to be mounted should be in same region/zone as the cluster. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/datastores/my-datastore`
*/
datastore?: string | null;
/**
* Required. The network configuration for the datastore.
*/
datastoreNetwork?: Schema$DatastoreNetwork;
/**
* Output only. File share name.
*/
fileShare?: string | null;
/**
* Optional. The NFS protocol supported by the NFS volume. Default value used will be NFS_V3
*/
nfsVersion?: string | null;
/**
* Optional. ONLY required when NFS 4.1 version is used
*/
securityType?: string | null;
/**
* Output only. Server IP addresses of the NFS volume. For NFS 3, you can only provide a single server IP address or DNS names.
*/
servers?: string[] | null;
}
/**
* The network configuration for the datastore.
*/
export interface Schema$DatastoreNetwork {
/**
* Optional. The number of connections of the NFS volume. Spported from vsphere 8.0u1
*/
connectionCount?: number | null;
/**
* Optional. The Maximal Transmission Unit (MTU) of the datastore. System sets default MTU size. It prefers the VPC peering MTU, falling back to the VEN MTU if no peering MTU is found. when detected, and falling back to the VEN MTU otherwise.
*/
mtu?: number | null;
/**
* Output only. The resource name of the network peering, used to access the file share by clients on private cloud. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. e.g. projects/my-project/locations/us-central1/networkPeerings/my-network-peering
*/
networkPeering?: string | null;
/**
* Required. The resource name of the subnet Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. e.g. projects/my-project/locations/us-central1/subnets/my-subnet
*/
subnet?: string | null;
}
/**
* DnsBindPermission resource that contains the accounts having the consumer DNS bind permission on the corresponding intranet VPC of the consumer project.
*/
export interface Schema$DnsBindPermission {
/**
* Required. Output only. The name of the resource which stores the users/service accounts having the permission to bind to the corresponding intranet VPC of the consumer project. DnsBindPermission is a global resource and location can only be global. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/dnsBindPermission`
*/
name?: string | null;
/**
* Output only. Users/Service accounts which have access for binding on the intranet VPC project corresponding to the consumer project.
*/
principals?: Schema$Principal[];
}
/**
* DNS forwarding config. This config defines a list of domain to name server mappings, and is attached to the private cloud for custom domain resolution.
*/
export interface Schema$DnsForwarding {
/**
* Output only. Creation time of this resource.
*/
createTime?: string | null;
/**
* Required. List of domain mappings to configure
*/
forwardingRules?: Schema$ForwardingRule[];
/**
* Output only. Identifier. The resource name of this DNS profile. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/dnsForwarding`
*/
name?: string | null;
/**
* Output only. Last update time of this resource.
*/
updateTime?: string | null;
}
/**
* A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \}
*/
export interface Schema$Empty {
}
/**
* Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.
*/
export interface Schema$Expr {
/**
* Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
*/
description?: string | null;
/**
* Textual representation of an expression in Common Expression Language syntax.
*/
expression?: string | null;
/**
* Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
*/
location?: string | null;
/**
* Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
*/
title?: string | null;
}
/**
* External access firewall rules for filtering incoming traffic destined to `ExternalAddress` resources.
*/
export interface Schema$ExternalAccessRule {
/**
* The action that the external access rule performs.
*/
action?: string | null;
/**
* Output only. Creation time of this resource.
*/
createTime?: string | null;
/**
* User-provided description for this external access rule.
*/
description?: string | null;
/**
* If destination ranges are specified, the external access rule applies only to the traffic that has a destination IP address in these ranges. The specified IP addresses must have reserved external IP addresses in the scope of the parent network policy. To match all external IP addresses in the scope of the parent network policy, specify `0.0.0.0/0`. To match a specific external IP address, specify it using the `IpRange.external_address` property.
*/
destinationIpRanges?: Schema$IpRange[];
/**
* A list of destination ports to which the external access rule applies. This field is only applicable for the UDP or TCP protocol. Each entry must be either an integer or a range. For example: `["22"]`, `["80","443"]`, or `["12345-12349"]`. To match all destination ports, specify `["0-65535"]`.
*/
destinationPorts?: string[] | null;
/**
* The IP protocol to which the external access rule applies. This value can be one of the following three protocol strings (not case-sensitive): `tcp`, `udp`, or `icmp`.
*/
ipProtocol?: string | null;
/**
* Output only. The resource name of this external access rule. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/networkPolicies/my-policy/externalAccessRules/my-rule`
*/
name?: string | null;
/**
* External access rule priority, which determines the external access rule to use when multiple rules apply. If multiple rules have the same priority, their ordering is non-deterministic. If specific ordering is required, assign unique priorities to enforce such ordering. The external access rule priority is an integer from 100 to 4096, both inclusive. Lower integers indicate higher precedence. For example, a rule with priority `100` has higher precedence than a rule with priority `101`.
*/
priority?: number | null;
/**
* If source ranges are specified, the external access rule applies only to traffic that has a source IP address in these ranges. These ranges can either be expressed in the CIDR format or as an IP address. As only inbound rules are supported, `ExternalAddress` resources cannot be the source IP addresses of an external access rule. To match all source addresses, specify `0.0.0.0/0`.
*/
sourceIpRanges?: Schema$IpRange[];
/**
* A list of source ports to which the external access rule applies. This field is only applicable for the UDP or TCP protocol. Each entry must be either an integer or a range. For example: `["22"]`, `["80","443"]`, or `["12345-12349"]`. To match all source ports, specify `["0-65535"]`.
*/
sourcePorts?: string[] | null;
/**
* Output only. The state of the resource.
*/
state?: string | null;
/**
* Output only. System-generated unique identifier for the resource.
*/
uid?: string | null;
/**
* Output only. Last update time of this resource.
*/
updateTime?: string | null;
}
/**
* Represents an allocated external IP address and its corresponding internal IP address in a private cloud.
*/
export interface Schema$ExternalAddress {
/**
* Output only. Creation time of this resource.
*/
createTime?: string | null;
/**
* User-provided description for this resource.
*/
description?: string | null;
/**
* Output only. The external IP address of a workload VM.
*/
externalIp?: string | null;
/**
* The internal IP address of a workload VM.
*/
internalIp?: string | null;
/**
* Output only. Identifier. The resource name of this external IP address. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address`
*/
name?: string | null;
/**
* Output only. The state of the resource.
*/
state?: string | null;
/**
* Output only. System-generated unique identifier for the resource.
*/
uid?: string | null;
/**
* Output only. Last update time of this resource.
*/
updateTime?: string | null;
}
/**
* Response message for VmwareEngine.FetchNetworkPolicyExternalAddresses
*/
export interface Schema$FetchNetworkPolicyExternalAddressesResponse {
/**
* A list of external IP addresses assigned to VMware workload VMs within the scope of the given network policy.
*/
externalAddresses?: Schema$ExternalAddress[];
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
}
/**
* A forwarding rule is a mapping of a `domain` to `name_servers`. This mapping allows VMware Engine to resolve domains for attached private clouds by forwarding DNS requests for a given domain to the specified nameservers.
*/
export interface Schema$ForwardingRule {
/**
* Required. Domain used to resolve a `name_servers` list.
*/
domain?: string | null;
/**
* Required. List of DNS servers to use for domain resolution
*/
nameServers?: string[] | null;
}
/**
* Google service file service configuration
*/
export interface Schema$GoogleFileService {
/**
* Google filestore instance resource name e.g. projects/my-project/locations/me-west1-b/instances/my-instance
*/
filestoreInstance?: string | null;
/**
* Google netapp volume resource name e.g. projects/my-project/locations/me-west1-b/volumes/my-volume
*/
netappVolume?: string | null;
}
/**
* Volume message captures user inputs for creation of file services managed by GCVE
*/
export interface Schema$GoogleVmwareFileService {
}
/**
* Request message for VmwareEngine.GrantDnsBindPermission
*/
export interface Schema$GrantDnsBindPermissionRequest {
/**
* Required. The consumer provided user/service account which needs to be granted permission to bind with the intranet VPC corresponding to the consumer project.
*/
principal?: Schema$Principal;
/**
* Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server guarantees that a request doesn't result in creation of duplicate commitments for at least 60 minutes. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
*/
requestId?: string | null;
}
/**
* Details about a HCX Cloud Manager appliance.
*/
export interface Schema$Hcx {
/**
* Fully qualified domain name of the appliance.
*/
fqdn?: string | null;
/**
* Internal IP address of the appliance.
*/
internalIp?: string | null;
/**
* Output only. The state of the appliance.
*/
state?: string | null;
/**
* Version of the appliance.
*/
version?: string | null;
}
/**
* HCX activation key. A default key is created during private cloud provisioning, but this behavior is subject to change and you should always verify active keys. Use VmwareEngine.ListHcxActivationKeys to retrieve existing keys and VmwareEngine.CreateHcxActivationKey to create new ones.
*/
export interface Schema$HcxActivationKey {
/**
* Output only. HCX activation key.
*/
activationKey?: string | null;
/**
* Output only. Creation time of HCX activation key.
*/
createTime?: string | null;
/**
* Output only. The resource name of this HcxActivationKey. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/privateClouds/my-cloud/hcxActivationKeys/my-key`
*/
name?: string | null;
/**
* Output only. State of HCX activation key.
*/
state?: string | null;
/**
* Output only. System-generated unique identifier for the resource.
*/
uid?: string | null;
}
/**
* Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.
*/
export interface Schema$Interval {
/**
* Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.
*/
endTime?: string | null;
/**
* Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.
*/
startTime?: string | null;
}
/**
* An IP range provided in any one of the supported formats.
*/
export interface Schema$IpRange {
/**
* The name of an `ExternalAddress` resource. The external address must have been reserved in the scope of this external access rule's parent network policy. Provide the external address name in the form of `projects/{project\}/locations/{location\}/privateClouds/{private_cloud\}/externalAddresses/{external_address\}`. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address`.
*/
externalAddress?: string | null;
/**
* A single IP address. For example: `10.0.0.5`.
*/
ipAddress?: string | null;
/**
* An IP address range in the CIDR format. For example: `10.0.0.0/24`.
*/
ipAddressRange?: string | null;
}
/**
* Response message for VmwareEngine.ListAnnouncements
*/
export interface Schema$ListAnnouncementsResponse {
/**
* A list of announcement runs.
*/
announcements?: Schema$Announcement[];
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* list of unreachable locations
*/
unreachable?: string[] | null;
}
/**
* Response message for VmwareEngine.ListClusters
*/
export interface Schema$ListClustersResponse {
/**
* A list of private cloud clusters.
*/
clusters?: Schema$Cluster[];
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Locations that could not be reached when making an aggregated query using wildcards.
*/
unreachable?: string[] | null;
}
/**
* Response message for VmwareEngine.ListDatastores
*/
export interface Schema$ListDatastoresResponse {
/**
* A list of Datastores.
*/
datastores?: Schema$Datastore[];
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Unreachable resources.
*/
unreachable?: string[] | null;
}
/**
* Response message for VmwareEngine.ListExternalAccessRules
*/
export interface Schema$ListExternalAccessRulesResponse {
/**
* A list of external access firewall rules.
*/
externalAccessRules?: Schema$ExternalAccessRule[];
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Locations that could not be reached when making an aggregated query using wildcards.
*/
unreachable?: string[] | null;
}
/**
* Response message for VmwareEngine.ListExternalAddresses
*/
export interface Schema$ListExternalAddressesResponse {
/**
* A list of external IP addresses.
*/
externalAddresses?: Schema$ExternalAddress[];
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Locations that could not be reached when making an aggregated query using wildcards.
*/
unreachable?: string[] | null;
}
/**
* Response message for VmwareEngine.ListHcxActivationKeys
*/
export interface Schema$ListHcxActivationKeysResponse {
/**
* List of HCX activation keys.
*/
hcxActivationKeys?: Schema$HcxActivationKey[];
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Locations that could not be reached when making an aggregated query using wildcards.
*/
unreachable?: string[] | null;
}
/**
* The response message for Locations.ListLocations.
*/
export interface Schema$ListLocationsResponse {
/**
* A list of locations that matches the specified filter in the request.
*/
locations?: Schema$Location[];
/**
* The standard List next-page token.
*/
nextPageToken?: string | null;
}
/**
* Response message for VmwareEngine.ListLoggingServers
*/
export interface Schema$ListLoggingServersResponse {
/**
* A list of Logging Servers.
*/
loggingServers?: Schema$LoggingServer[];
/**
* A token, which can be send as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Locations that could not be reached when making an aggregated query using wildcards.
*/
unreachable?: string[] | null;
}
/**
* Response message for VmwareEngine.ListManagementDnsZoneBindings
*/
export interface Schema$ListManagementDnsZoneBindingsResponse {
/**
* A list of management DNS zone bindings.
*/
managementDnsZoneBindings?: Schema$ManagementDnsZoneBinding[];
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Locations that could not be reached when making an aggregated query using wildcards.
*/
unreachable?: string[] | null;
}
/**
* Response message for VmwareEngine.ListNetworkPeerings
*/
export interface Schema$ListNetworkPeeringsResponse {
/**
* A list of network peerings.
*/
networkPeerings?: Schema$NetworkPeering[];
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Unreachable resources.
*/
unreachable?: string[] | null;
}
/**
* Response message for VmwareEngine.ListNetworkPolicies
*/
export interface Schema$ListNetworkPoliciesResponse {
/**
* A list of network policies.
*/
networkPolicies?: Schema$NetworkPolicy[];
/**
* A token, which can be send as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Locations that could not be reached when making an aggregated query using wildcards.
*/
unreachable?: string[] | null;
}
/**
* Response message for VmwareEngine.ListNodes
*/
export interface Schema$ListNodesResponse {
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* The nodes.
*/
nodes?: Schema$Node[];
}
/**
* Response message for VmwareEngine.ListNodeTypes
*/
export interface Schema$ListNodeTypesResponse {
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* A list of Node Types.
*/
nodeTypes?: Schema$NodeType[];
/**
* Locations that could not be reached when making an aggregated query using wildcards.
*/
unreachable?: string[] | null;
}
/**
* The response message for Operations.ListOperations.
*/
export interface Schema$ListOperationsResponse {
/**
* The standard List next-page token.
*/
nextPageToken?: string | null;
/**
* A list of operations that matches the specified filter in the request.
*/
operations?: Schema$Operation[];
/**
* Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.
*/
unreachable?: string[] | null;
}
/**
* Response message for VmwareEngine.ListPeeringRoutes
*/
export interface Schema$ListPeeringRoutesResponse {
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* A list of peering routes.
*/
peeringRoutes?: Schema$PeeringRoute[];
}
/**
* Response message for VmwareEngine.ListPrivateClouds
*/
export interface Schema$ListPrivateCloudsResponse {
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* A list of private clouds.
*/
privateClouds?: Schema$PrivateCloud[];
/**
* Locations that could not be reached when making an aggregated query using wildcards.
*/
unreachable?: string[] | null;
}
/**
* Response message for VmwareEngine.ListPrivateConnectionPeeringRoutes
*/
export interface Schema$ListPrivateConnectionPeeringRoutesResponse {
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* A list of peering routes.
*/
peeringRoutes?: Schema$PeeringRoute[];
}
/**
* Response message for VmwareEngine.ListPrivateConnections
*/
export interface Schema$ListPrivateConnectionsResponse {
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* A list of private connections.
*/
privateConnections?: Schema$PrivateConnection[];
/**
* Unreachable resources.
*/
unreachable?: string[] | null;
}
/**
* Response message for VmwareEngine.ListSubnets
*/
export interface Schema$ListSubnetsResponse {
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* A list of subnets.
*/
subnets?: Schema$Subnet[];
/**
* Locations that could not be reached when making an aggregated query using wildcards.
*/
unreachable?: string[] | null;
}
/**
* Response message for VmwareEngine.ListUpgrades.
*/
export interface Schema$ListUpgradesResponse {
/**
* A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**