# frozen_string_literal: true # Copyright 2023 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Auto-generated by gapic-generator-ruby. DO NOT EDIT! module Google module Cloud module VmwareEngine module V1 # Network configuration in the consumer project # with which the peering has to be done. # @!attribute [rw] management_cidr # @return [::String] # Required. Management CIDR used by VMware management appliances. # @!attribute [rw] vmware_engine_network # @return [::String] # Optional. The relative resource name of the VMware Engine network attached # to the private cloud. Specify the name in the following form: # `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` # where `{project}` can either be a project number or a project ID. # @!attribute [r] vmware_engine_network_canonical # @return [::String] # Output only. The canonical name of the VMware Engine network in the form: # `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` # @!attribute [r] management_ip_address_layout_version # @return [::Integer] # Output only. The IP address layout version of the management IP address # range. Possible versions include: # * `managementIpAddressLayoutVersion=1`: Indicates the legacy IP address # layout used by some existing private clouds. This is no longer supported # for new private clouds as it does not support all features. # * `managementIpAddressLayoutVersion=2`: Indicates the latest IP address # layout used by all newly created private clouds. This version supports all # current features. class NetworkConfig include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Information about the type and number of nodes associated with the cluster. # @!attribute [rw] node_count # @return [::Integer] # Required. The number of nodes of this type in the cluster # @!attribute [rw] custom_core_count # @return [::Integer] # Optional. Customized number of cores available to each node of the type. # This number must always be one of `nodeType.availableCustomCoreCounts`. # If zero is provided max value from `nodeType.availableCustomCoreCounts` # will be used. class NodeTypeConfig include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Represents a private cloud resource. Private clouds are zonal resources. # @!attribute [r] name # @return [::String] # Output only. The resource name of this private cloud. # 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` # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. Creation time of this resource. # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. Last update time of this resource. # @!attribute [r] delete_time # @return [::Google::Protobuf::Timestamp] # Output only. Time when the resource was scheduled for deletion. # @!attribute [r] expire_time # @return [::Google::Protobuf::Timestamp] # Output only. Time when the resource will be irreversibly deleted. # @!attribute [r] state # @return [::Google::Cloud::VmwareEngine::V1::PrivateCloud::State] # Output only. State of the resource. New values may be added to this enum # when appropriate. # @!attribute [rw] network_config # @return [::Google::Cloud::VmwareEngine::V1::NetworkConfig] # Required. Network configuration of the private cloud. # @!attribute [rw] management_cluster # @return [::Google::Cloud::VmwareEngine::V1::PrivateCloud::ManagementCluster] # Required. Input only. The management cluster for this private cloud. # This field is required during creation of the private cloud to provide # details for the default cluster. # # The following fields can't be changed after private cloud creation: # `ManagementCluster.clusterId`, `ManagementCluster.nodeTypeId`. # @!attribute [rw] description # @return [::String] # User-provided description for this private cloud. # @!attribute [r] hcx # @return [::Google::Cloud::VmwareEngine::V1::Hcx] # Output only. HCX appliance. # @!attribute [r] nsx # @return [::Google::Cloud::VmwareEngine::V1::Nsx] # Output only. NSX appliance. # @!attribute [r] vcenter # @return [::Google::Cloud::VmwareEngine::V1::Vcenter] # Output only. Vcenter appliance. # @!attribute [r] uid # @return [::String] # Output only. System-generated unique identifier for the resource. class PrivateCloud include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Management cluster configuration. # @!attribute [rw] cluster_id # @return [::String] # Required. The user-provided identifier of the new `Cluster`. # The identifier 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) # @!attribute [rw] node_type_configs # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::VmwareEngine::V1::NodeTypeConfig}] # Required. The map of cluster node types in this cluster, where the key is # canonical identifier of the node type (corresponds to the `NodeType`). class ManagementCluster include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::Google::Cloud::VmwareEngine::V1::NodeTypeConfig] class NodeTypeConfigsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end # Enum State defines possible states of private clouds. module State # The default value. This value should never be used. STATE_UNSPECIFIED = 0 # The private cloud is ready. ACTIVE = 1 # The private cloud is being created. CREATING = 2 # The private cloud is being updated. UPDATING = 3 # The private cloud is in failed state. FAILED = 5 # The private cloud is scheduled for deletion. The deletion process can be # cancelled by using the corresponding undelete method. DELETED = 6 # The private cloud is irreversibly deleted and is being removed from the # system. PURGING = 7 end end # A cluster in a private cloud. # @!attribute [r] name # @return [::String] # Output only. 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` # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. Creation time of this resource. # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. Last update time of this resource. # @!attribute [r] state # @return [::Google::Cloud::VmwareEngine::V1::Cluster::State] # Output only. State of the resource. # @!attribute [r] management # @return [::Boolean] # 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. # @!attribute [r] uid # @return [::String] # Output only. System-generated unique identifier for the resource. # @!attribute [rw] node_type_configs # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::VmwareEngine::V1::NodeTypeConfig}] # Required. The map of cluster node types in this cluster, where the key is # canonical identifier of the node type (corresponds to the `NodeType`). class Cluster include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::Google::Cloud::VmwareEngine::V1::NodeTypeConfig] class NodeTypeConfigsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Enum State defines possible states of private cloud clusters. module State # The default value. This value should never be used. STATE_UNSPECIFIED = 0 # The Cluster is operational and can be used by the user. ACTIVE = 1 # The Cluster is being deployed. CREATING = 2 # Adding or removing of a node to the cluster, any other cluster specific # updates. UPDATING = 3 # The Cluster is being deleted. DELETING = 4 # The Cluster is undergoing maintenance, for example: a failed node is # getting replaced. REPAIRING = 5 end end # Subnet in a private cloud. Either `management` subnets (such as vMotion) that # are read-only, or `userDefined`, which can also be updated. # @!attribute [r] name # @return [::String] # Output only. The resource name of this subnet. # 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/subnets/my-subnet` # @!attribute [rw] ip_cidr_range # @return [::String] # The IP address range of the subnet in CIDR format '10.0.0.0/24'. # @!attribute [rw] gateway_ip # @return [::String] # The IP address of the gateway of this subnet. # Must fall within the IP prefix defined above. # @!attribute [r] type # @return [::String] # Output only. The type of the subnet. For example "management" or # "userDefined". # @!attribute [r] state # @return [::Google::Cloud::VmwareEngine::V1::Subnet::State] # Output only. The state of the resource. class Subnet include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Defines possible states of subnets. module State # The default value. This value should never be used. STATE_UNSPECIFIED = 0 # The subnet is ready. ACTIVE = 1 # The subnet is being created. CREATING = 2 # The subnet is being updated. UPDATING = 3 # The subnet is being deleted. DELETING = 4 end end # Describes node type. # @!attribute [r] name # @return [::String] # Output only. The resource name of this node type. # Resource names are schemeless URIs that follow the conventions in # https://cloud.google.com/apis/design/resource_names. # For example: # `projects/my-proj/locations/us-central1-a/nodeTypes/standard-72` # @!attribute [r] node_type_id # @return [::String] # Output only. The canonical identifier of the node type # (corresponds to the `NodeType`). For example: standard-72. # @!attribute [r] display_name # @return [::String] # Output only. The friendly name for this node type. # For example: ve1-standard-72 # @!attribute [r] virtual_cpu_count # @return [::Integer] # Output only. The total number of virtual CPUs in a single node. # @!attribute [r] total_core_count # @return [::Integer] # Output only. The total number of CPU cores in a single node. # @!attribute [r] memory_gb # @return [::Integer] # Output only. The amount of physical memory available, defined in GB. # @!attribute [r] disk_size_gb # @return [::Integer] # Output only. The amount of storage available, defined in GB. # @!attribute [r] available_custom_core_counts # @return [::Array<::Integer>] # Output only. List of possible values of custom core count. class NodeType include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Credentials for a private cloud. # @!attribute [rw] username # @return [::String] # Initial username. # @!attribute [rw] password # @return [::String] # Initial password. class Credentials include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # 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 # {::Google::Cloud::VmwareEngine::V1::VmwareEngine::Client#list_hcx_activation_keys VmwareEngine.ListHcxActivationKeys} # to retrieve existing keys and # {::Google::Cloud::VmwareEngine::V1::VmwareEngine::Client#create_hcx_activation_key VmwareEngine.CreateHcxActivationKey} # to create new ones. # @!attribute [r] name # @return [::String] # 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` # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. Creation time of HCX activation key. # @!attribute [r] state # @return [::Google::Cloud::VmwareEngine::V1::HcxActivationKey::State] # Output only. State of HCX activation key. # @!attribute [r] activation_key # @return [::String] # Output only. HCX activation key. # @!attribute [r] uid # @return [::String] # Output only. System-generated unique identifier for the resource. class HcxActivationKey include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # State of HCX activation key module State # Unspecified state. STATE_UNSPECIFIED = 0 # State of a newly generated activation key. AVAILABLE = 1 # State of key when it has been used to activate HCX appliance. CONSUMED = 2 # State of key when it is being created. CREATING = 3 end end # Details about a HCX Cloud Manager appliance. # @!attribute [rw] internal_ip # @return [::String] # Internal IP address of the appliance. # @!attribute [rw] version # @return [::String] # Version of the appliance. # @!attribute [r] state # @return [::Google::Cloud::VmwareEngine::V1::Hcx::State] # Output only. The state of the appliance. # @!attribute [rw] fqdn # @return [::String] # Fully qualified domain name of the appliance. class Hcx include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # State of the appliance module State # Unspecified appliance state. This is the default value. STATE_UNSPECIFIED = 0 # The appliance is operational and can be used. ACTIVE = 1 # The appliance is being deployed. CREATING = 2 end end # Details about a NSX Manager appliance. # @!attribute [rw] internal_ip # @return [::String] # Internal IP address of the appliance. # @!attribute [rw] version # @return [::String] # Version of the appliance. # @!attribute [r] state # @return [::Google::Cloud::VmwareEngine::V1::Nsx::State] # Output only. The state of the appliance. # @!attribute [rw] fqdn # @return [::String] # Fully qualified domain name of the appliance. class Nsx include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # State of the appliance module State # Unspecified appliance state. This is the default value. STATE_UNSPECIFIED = 0 # The appliance is operational and can be used. ACTIVE = 1 # The appliance is being deployed. CREATING = 2 end end # Details about a vCenter Server management appliance. # @!attribute [rw] internal_ip # @return [::String] # Internal IP address of the appliance. # @!attribute [rw] version # @return [::String] # Version of the appliance. # @!attribute [r] state # @return [::Google::Cloud::VmwareEngine::V1::Vcenter::State] # Output only. The state of the appliance. # @!attribute [rw] fqdn # @return [::String] # Fully qualified domain name of the appliance. class Vcenter include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # State of the appliance module State # Unspecified appliance state. This is the default value. STATE_UNSPECIFIED = 0 # The appliance is operational and can be used. ACTIVE = 1 # The appliance is being deployed. CREATING = 2 end end # Represents a network policy resource. Network policies are regional # resources. You can use a network policy to enable or disable internet access # and external IP access. Network policies are associated with a VMware Engine # network, which might span across regions. For a given region, a network # policy applies to all private clouds in the VMware Engine network associated # with the policy. # @!attribute [r] name # @return [::String] # Output only. The resource name of this network policy. # 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-network-policy` # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. Creation time of this resource. # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. Last update time of this resource. # @!attribute [rw] internet_access # @return [::Google::Cloud::VmwareEngine::V1::NetworkPolicy::NetworkService] # Network service that allows VMware workloads to access the internet. # @!attribute [rw] external_ip # @return [::Google::Cloud::VmwareEngine::V1::NetworkPolicy::NetworkService] # Network service that allows External IP addresses to be assigned to VMware # workloads. This service can only be enabled when `internet_access` is also # enabled. # @!attribute [rw] edge_services_cidr # @return [::String] # Required. IP address range in CIDR notation used to create internet access # and external IP access. An RFC 1918 CIDR block, with a "/26" prefix, is # required. The range cannot overlap with any prefixes either in the consumer # VPC network or in use by the private clouds attached to that VPC network. # @!attribute [r] uid # @return [::String] # Output only. System-generated unique identifier for the resource. # @!attribute [rw] vmware_engine_network # @return [::String] # Optional. The relative resource name of the VMware Engine network. # Specify the name in the following form: # `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` # where `{project}` can either be a project number or a project ID. # @!attribute [rw] description # @return [::String] # Optional. User-provided description for this network policy. # @!attribute [r] vmware_engine_network_canonical # @return [::String] # Output only. The canonical name of the VMware Engine network in the form: # `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` class NetworkPolicy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Represents a network service that is managed by a `NetworkPolicy` resource. # A network service provides a way to control an aspect of external access to # VMware workloads. For example, whether the VMware workloads in the # private clouds governed by a network policy can access or be accessed from # the internet. # @!attribute [rw] enabled # @return [::Boolean] # True if the service is enabled; false otherwise. # @!attribute [r] state # @return [::Google::Cloud::VmwareEngine::V1::NetworkPolicy::NetworkService::State] # Output only. State of the service. New values may be added to this enum # when appropriate. class NetworkService include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Enum State defines possible states of a network policy controlled # service. module State # Unspecified service state. This is the default value. STATE_UNSPECIFIED = 0 # Service is not provisioned. UNPROVISIONED = 1 # Service is in the process of being provisioned/deprovisioned. RECONCILING = 2 # Service is active. ACTIVE = 3 end end end # VMware Engine network resource that provides connectivity for VMware Engine # private clouds. # @!attribute [r] name # @return [::String] # Output only. The resource name of the VMware Engine network. # 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/vmwareEngineNetworks/my-network` # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. Creation time of this resource. # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. Last update time of this resource. # @!attribute [rw] description # @return [::String] # User-provided description for this VMware Engine network. # @!attribute [r] vpc_networks # @return [::Array<::Google::Cloud::VmwareEngine::V1::VmwareEngineNetwork::VpcNetwork>] # Output only. VMware Engine service VPC networks that provide connectivity # from a private cloud to customer projects, the internet, and other Google # Cloud services. # @!attribute [r] state # @return [::Google::Cloud::VmwareEngine::V1::VmwareEngineNetwork::State] # Output only. State of the VMware Engine network. # @!attribute [rw] type # @return [::Google::Cloud::VmwareEngine::V1::VmwareEngineNetwork::Type] # Required. VMware Engine network type. # @!attribute [r] uid # @return [::String] # Output only. System-generated unique identifier for the resource. # @!attribute [rw] etag # @return [::String] # 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. class VmwareEngineNetwork include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Represents a VMware Engine VPC network that is managed by a # VMware Engine network resource. # @!attribute [r] type # @return [::Google::Cloud::VmwareEngine::V1::VmwareEngineNetwork::VpcNetwork::Type] # Output only. Type of VPC network (INTRANET, INTERNET, or # GOOGLE_CLOUD) # @!attribute [r] network # @return [::String] # Output only. The relative resource name of the service VPC network this # VMware Engine network is attached to. For example: # `projects/123123/global/networks/my-network` class VpcNetwork include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Enum Type defines possible types of a VMware Engine network controlled # service. module Type # The default value. This value should never be used. TYPE_UNSPECIFIED = 0 # VPC network that will be peered with a consumer VPC network or the # intranet VPC of another VMware Engine network. Access a private cloud # through Compute Engine VMs on a peered VPC network or an on-premises # resource connected to a peered consumer VPC network. INTRANET = 1 # VPC network used for internet access to and from a private cloud. INTERNET = 2 # VPC network used for access to Google Cloud services like # Cloud Storage. GOOGLE_CLOUD = 3 end end # Enum State defines possible states of VMware Engine network. module State # The default value. This value is used if the state is omitted. STATE_UNSPECIFIED = 0 # The VMware Engine network is being created. CREATING = 1 # The VMware Engine network is ready. ACTIVE = 2 # The VMware Engine network is being updated. UPDATING = 3 # The VMware Engine network is being deleted. DELETING = 4 end # Enum Type defines possible types of VMware Engine network. module Type # The default value. This value should never be used. TYPE_UNSPECIFIED = 0 # Network type used by private clouds created in projects without a network # of type `STANDARD`. This network type is no longer used for new VMware # Engine private cloud deployments. LEGACY = 1 end end end end end end