Oracle Database@Google Cloud API . projects . locations . exadbVmClusters

Instance Methods

close()

Close httplib2 connections.

create(parent, body=None, exadbVmClusterId=None, requestId=None, x__xgafv=None)

Creates a new Exadb (Exascale) VM Cluster resource.

delete(name, requestId=None, x__xgafv=None)

Deletes a single Exadb (Exascale) VM Cluster.

get(name, x__xgafv=None)

Gets details of a single Exadb (Exascale) VM Cluster.

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

Lists all the Exadb (Exascale) VM Clusters for the given project and location.

list_next()

Retrieves the next page of results.

patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)

Updates a single Exadb (Exascale) VM Cluster. To add virtual machines to existing exadb vm cluster, only pass the node count.

removeVirtualMachine(name, body=None, x__xgafv=None)

Removes virtual machines from an existing exadb vm cluster.

Method Details

close()
Close httplib2 connections.
create(parent, body=None, exadbVmClusterId=None, requestId=None, x__xgafv=None)
Creates a new Exadb (Exascale) VM Cluster resource.

Args:
  parent: string, Required. The value for parent of the ExadbVmCluster in the following format: projects/{project}/locations/{location}. (required)
  body: object, The request body.
    The object takes the form of:

{ # ExadbVmCluster represents a cluster of VMs that are used to run Exadata workloads. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/ExadbVmCluster/
  "backupOdbSubnet": "A String", # Required. Immutable. The name of the backup OdbSubnet associated with the ExadbVmCluster. Format: projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet}
  "createTime": "A String", # Output only. The date and time that the ExadbVmCluster was created.
  "displayName": "A String", # Required. Immutable. The display name for the ExadbVmCluster. The name does not have to be unique within your project. The name must be 1-255 characters long and can only contain alphanumeric characters.
  "entitlementId": "A String", # Output only. The ID of the subscription entitlement associated with the ExadbVmCluster.
  "gcpOracleZone": "A String", # Output only. Immutable. The GCP Oracle zone where Oracle ExadbVmCluster is hosted. Example: us-east4-b-r2. During creation, the system will pick the zone assigned to the ExascaleDbStorageVault.
  "labels": { # Optional. The labels or tags associated with the ExadbVmCluster.
    "a_key": "A String",
  },
  "name": "A String", # Identifier. The name of the ExadbVmCluster resource in the following format: projects/{project}/locations/{region}/exadbVmClusters/{exadb_vm_cluster}
  "odbNetwork": "A String", # Optional. Immutable. The name of the OdbNetwork associated with the ExadbVmCluster. Format: projects/{project}/locations/{location}/odbNetworks/{odb_network} It is optional but if specified, this should match the parent ODBNetwork of the OdbSubnet.
  "odbSubnet": "A String", # Required. Immutable. The name of the OdbSubnet associated with the ExadbVmCluster for IP allocation. Format: projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet}
  "properties": { # The properties of an ExadbVmCluster. # Required. The properties of the ExadbVmCluster.
    "additionalEcpuCountPerNode": 42, # Optional. Immutable. The number of additional ECPUs per node for an Exadata VM cluster on exascale infrastructure.
    "clusterName": "A String", # Optional. Immutable. The cluster name for Exascale vm cluster. The cluster name must begin with an alphabetic character and may contain hyphens(-) but can not contain underscores(_). It should be not more than 11 characters and is not case sensitive. OCI Cluster name.
    "dataCollectionOptions": { # Data collection options for diagnostics. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/DataCollectionOptions # Optional. Immutable. Indicates user preference for data collection options.
      "isDiagnosticsEventsEnabled": True or False, # Optional. Indicates whether to enable data collection for diagnostics.
      "isHealthMonitoringEnabled": True or False, # Optional. Indicates whether to enable health monitoring.
      "isIncidentLogsEnabled": True or False, # Optional. Indicates whether to enable incident logs and trace collection.
    },
    "enabledEcpuCountPerNode": 42, # Required. Immutable. The number of ECPUs enabled per node for an exadata vm cluster on exascale infrastructure.
    "exascaleDbStorageVault": "A String", # Required. Immutable. The name of ExascaleDbStorageVault associated with the ExadbVmCluster. It can refer to an existing ExascaleDbStorageVault. Or a new one can be created during the ExadbVmCluster creation (requires storage_vault_properties to be set). Format: projects/{project}/locations/{location}/exascaleDbStorageVaults/{exascale_db_storage_vault}
    "giVersion": "A String", # Output only. The Oracle Grid Infrastructure (GI) software version.
    "gridImageId": "A String", # Required. Immutable. Grid Infrastructure Version.
    "hostname": "A String", # Output only. The hostname of the ExadbVmCluster.
    "hostnamePrefix": "A String", # Required. Immutable. Prefix for VM cluster host names.
    "licenseModel": "A String", # Optional. Immutable. The license type of the ExadbVmCluster.
    "lifecycleState": "A String", # Output only. State of the cluster.
    "memorySizeGb": 42, # Output only. Memory per VM (GB) (Read-only): Shows the amount of memory allocated to each VM. Memory is calculated based on 2.75 GB per Total ECPUs.
    "nodeCount": 42, # Required. The number of nodes/VMs in the ExadbVmCluster.
    "ociUri": "A String", # Output only. Deep link to the OCI console to view this resource.
    "scanListenerPortTcp": 42, # Optional. Immutable. SCAN listener port - TCP
    "shapeAttribute": "A String", # Required. Immutable. The shape attribute of the VM cluster. The type of Exascale storage used for Exadata VM cluster. The default is SMART_STORAGE which supports Oracle Database 23ai and later
    "sshPublicKeys": [ # Required. Immutable. The SSH public keys for the ExadbVmCluster.
      "A String",
    ],
    "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Optional. Immutable. The time zone of the ExadbVmCluster.
      "id": "A String", # IANA Time Zone Database time zone. For example "America/New_York".
      "version": "A String", # Optional. IANA Time Zone Database version number. For example "2019a".
    },
    "vmFileSystemStorage": { # The storage allocation for the exadbvmcluster, in gigabytes (GB). # Required. Immutable. Total storage details for the ExadbVmCluster.
      "sizeInGbsPerNode": 42, # Required. The storage allocation for the exadbvmcluster per node, in gigabytes (GB). This field is used to calculate the total storage allocation for the exadbvmcluster.
    },
  },
}

  exadbVmClusterId: string, Required. The ID of the ExadbVmCluster to create. This value is restricted to (^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$) and must be a maximum of 63 characters in length. The value must start with a letter and end with a letter or a number.
  requestId: string, Optional. An optional 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 will guarantee that for at least 60 minutes since the first request. 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).
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
delete(name, requestId=None, x__xgafv=None)
Deletes a single Exadb (Exascale) VM Cluster.

Args:
  name: string, Required. The name of the ExadbVmCluster in the following format: projects/{project}/locations/{location}/exadbVmClusters/{exadb_vm_cluster}. (required)
  requestId: string, Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores 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).
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
get(name, x__xgafv=None)
Gets details of a single Exadb (Exascale) VM Cluster.

Args:
  name: string, Required. The name of the ExadbVmCluster in the following format: projects/{project}/locations/{location}/exadbVmClusters/{exadb_vm_cluster}. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # ExadbVmCluster represents a cluster of VMs that are used to run Exadata workloads. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/ExadbVmCluster/
  "backupOdbSubnet": "A String", # Required. Immutable. The name of the backup OdbSubnet associated with the ExadbVmCluster. Format: projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet}
  "createTime": "A String", # Output only. The date and time that the ExadbVmCluster was created.
  "displayName": "A String", # Required. Immutable. The display name for the ExadbVmCluster. The name does not have to be unique within your project. The name must be 1-255 characters long and can only contain alphanumeric characters.
  "entitlementId": "A String", # Output only. The ID of the subscription entitlement associated with the ExadbVmCluster.
  "gcpOracleZone": "A String", # Output only. Immutable. The GCP Oracle zone where Oracle ExadbVmCluster is hosted. Example: us-east4-b-r2. During creation, the system will pick the zone assigned to the ExascaleDbStorageVault.
  "labels": { # Optional. The labels or tags associated with the ExadbVmCluster.
    "a_key": "A String",
  },
  "name": "A String", # Identifier. The name of the ExadbVmCluster resource in the following format: projects/{project}/locations/{region}/exadbVmClusters/{exadb_vm_cluster}
  "odbNetwork": "A String", # Optional. Immutable. The name of the OdbNetwork associated with the ExadbVmCluster. Format: projects/{project}/locations/{location}/odbNetworks/{odb_network} It is optional but if specified, this should match the parent ODBNetwork of the OdbSubnet.
  "odbSubnet": "A String", # Required. Immutable. The name of the OdbSubnet associated with the ExadbVmCluster for IP allocation. Format: projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet}
  "properties": { # The properties of an ExadbVmCluster. # Required. The properties of the ExadbVmCluster.
    "additionalEcpuCountPerNode": 42, # Optional. Immutable. The number of additional ECPUs per node for an Exadata VM cluster on exascale infrastructure.
    "clusterName": "A String", # Optional. Immutable. The cluster name for Exascale vm cluster. The cluster name must begin with an alphabetic character and may contain hyphens(-) but can not contain underscores(_). It should be not more than 11 characters and is not case sensitive. OCI Cluster name.
    "dataCollectionOptions": { # Data collection options for diagnostics. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/DataCollectionOptions # Optional. Immutable. Indicates user preference for data collection options.
      "isDiagnosticsEventsEnabled": True or False, # Optional. Indicates whether to enable data collection for diagnostics.
      "isHealthMonitoringEnabled": True or False, # Optional. Indicates whether to enable health monitoring.
      "isIncidentLogsEnabled": True or False, # Optional. Indicates whether to enable incident logs and trace collection.
    },
    "enabledEcpuCountPerNode": 42, # Required. Immutable. The number of ECPUs enabled per node for an exadata vm cluster on exascale infrastructure.
    "exascaleDbStorageVault": "A String", # Required. Immutable. The name of ExascaleDbStorageVault associated with the ExadbVmCluster. It can refer to an existing ExascaleDbStorageVault. Or a new one can be created during the ExadbVmCluster creation (requires storage_vault_properties to be set). Format: projects/{project}/locations/{location}/exascaleDbStorageVaults/{exascale_db_storage_vault}
    "giVersion": "A String", # Output only. The Oracle Grid Infrastructure (GI) software version.
    "gridImageId": "A String", # Required. Immutable. Grid Infrastructure Version.
    "hostname": "A String", # Output only. The hostname of the ExadbVmCluster.
    "hostnamePrefix": "A String", # Required. Immutable. Prefix for VM cluster host names.
    "licenseModel": "A String", # Optional. Immutable. The license type of the ExadbVmCluster.
    "lifecycleState": "A String", # Output only. State of the cluster.
    "memorySizeGb": 42, # Output only. Memory per VM (GB) (Read-only): Shows the amount of memory allocated to each VM. Memory is calculated based on 2.75 GB per Total ECPUs.
    "nodeCount": 42, # Required. The number of nodes/VMs in the ExadbVmCluster.
    "ociUri": "A String", # Output only. Deep link to the OCI console to view this resource.
    "scanListenerPortTcp": 42, # Optional. Immutable. SCAN listener port - TCP
    "shapeAttribute": "A String", # Required. Immutable. The shape attribute of the VM cluster. The type of Exascale storage used for Exadata VM cluster. The default is SMART_STORAGE which supports Oracle Database 23ai and later
    "sshPublicKeys": [ # Required. Immutable. The SSH public keys for the ExadbVmCluster.
      "A String",
    ],
    "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Optional. Immutable. The time zone of the ExadbVmCluster.
      "id": "A String", # IANA Time Zone Database time zone. For example "America/New_York".
      "version": "A String", # Optional. IANA Time Zone Database version number. For example "2019a".
    },
    "vmFileSystemStorage": { # The storage allocation for the exadbvmcluster, in gigabytes (GB). # Required. Immutable. Total storage details for the ExadbVmCluster.
      "sizeInGbsPerNode": 42, # Required. The storage allocation for the exadbvmcluster per node, in gigabytes (GB). This field is used to calculate the total storage allocation for the exadbvmcluster.
    },
  },
}
list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)
Lists all the Exadb (Exascale) VM Clusters for the given project and location.

Args:
  parent: string, Required. The parent value for ExadbVmClusters in the following format: projects/{project}/locations/{location}. (required)
  filter: string, Optional. An expression for filtering the results of the request.
  orderBy: string, Optional. An expression for ordering the results of the request.
  pageSize: integer, Optional. The maximum number of items to return. If unspecified, at most 50 ExadbVmClusters will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
  pageToken: string, Optional. A token identifying a page of results the server should return.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response for `ExadbVmCluster.List`.
  "exadbVmClusters": [ # The list of ExadbVmClusters.
    { # ExadbVmCluster represents a cluster of VMs that are used to run Exadata workloads. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/ExadbVmCluster/
      "backupOdbSubnet": "A String", # Required. Immutable. The name of the backup OdbSubnet associated with the ExadbVmCluster. Format: projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet}
      "createTime": "A String", # Output only. The date and time that the ExadbVmCluster was created.
      "displayName": "A String", # Required. Immutable. The display name for the ExadbVmCluster. The name does not have to be unique within your project. The name must be 1-255 characters long and can only contain alphanumeric characters.
      "entitlementId": "A String", # Output only. The ID of the subscription entitlement associated with the ExadbVmCluster.
      "gcpOracleZone": "A String", # Output only. Immutable. The GCP Oracle zone where Oracle ExadbVmCluster is hosted. Example: us-east4-b-r2. During creation, the system will pick the zone assigned to the ExascaleDbStorageVault.
      "labels": { # Optional. The labels or tags associated with the ExadbVmCluster.
        "a_key": "A String",
      },
      "name": "A String", # Identifier. The name of the ExadbVmCluster resource in the following format: projects/{project}/locations/{region}/exadbVmClusters/{exadb_vm_cluster}
      "odbNetwork": "A String", # Optional. Immutable. The name of the OdbNetwork associated with the ExadbVmCluster. Format: projects/{project}/locations/{location}/odbNetworks/{odb_network} It is optional but if specified, this should match the parent ODBNetwork of the OdbSubnet.
      "odbSubnet": "A String", # Required. Immutable. The name of the OdbSubnet associated with the ExadbVmCluster for IP allocation. Format: projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet}
      "properties": { # The properties of an ExadbVmCluster. # Required. The properties of the ExadbVmCluster.
        "additionalEcpuCountPerNode": 42, # Optional. Immutable. The number of additional ECPUs per node for an Exadata VM cluster on exascale infrastructure.
        "clusterName": "A String", # Optional. Immutable. The cluster name for Exascale vm cluster. The cluster name must begin with an alphabetic character and may contain hyphens(-) but can not contain underscores(_). It should be not more than 11 characters and is not case sensitive. OCI Cluster name.
        "dataCollectionOptions": { # Data collection options for diagnostics. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/DataCollectionOptions # Optional. Immutable. Indicates user preference for data collection options.
          "isDiagnosticsEventsEnabled": True or False, # Optional. Indicates whether to enable data collection for diagnostics.
          "isHealthMonitoringEnabled": True or False, # Optional. Indicates whether to enable health monitoring.
          "isIncidentLogsEnabled": True or False, # Optional. Indicates whether to enable incident logs and trace collection.
        },
        "enabledEcpuCountPerNode": 42, # Required. Immutable. The number of ECPUs enabled per node for an exadata vm cluster on exascale infrastructure.
        "exascaleDbStorageVault": "A String", # Required. Immutable. The name of ExascaleDbStorageVault associated with the ExadbVmCluster. It can refer to an existing ExascaleDbStorageVault. Or a new one can be created during the ExadbVmCluster creation (requires storage_vault_properties to be set). Format: projects/{project}/locations/{location}/exascaleDbStorageVaults/{exascale_db_storage_vault}
        "giVersion": "A String", # Output only. The Oracle Grid Infrastructure (GI) software version.
        "gridImageId": "A String", # Required. Immutable. Grid Infrastructure Version.
        "hostname": "A String", # Output only. The hostname of the ExadbVmCluster.
        "hostnamePrefix": "A String", # Required. Immutable. Prefix for VM cluster host names.
        "licenseModel": "A String", # Optional. Immutable. The license type of the ExadbVmCluster.
        "lifecycleState": "A String", # Output only. State of the cluster.
        "memorySizeGb": 42, # Output only. Memory per VM (GB) (Read-only): Shows the amount of memory allocated to each VM. Memory is calculated based on 2.75 GB per Total ECPUs.
        "nodeCount": 42, # Required. The number of nodes/VMs in the ExadbVmCluster.
        "ociUri": "A String", # Output only. Deep link to the OCI console to view this resource.
        "scanListenerPortTcp": 42, # Optional. Immutable. SCAN listener port - TCP
        "shapeAttribute": "A String", # Required. Immutable. The shape attribute of the VM cluster. The type of Exascale storage used for Exadata VM cluster. The default is SMART_STORAGE which supports Oracle Database 23ai and later
        "sshPublicKeys": [ # Required. Immutable. The SSH public keys for the ExadbVmCluster.
          "A String",
        ],
        "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Optional. Immutable. The time zone of the ExadbVmCluster.
          "id": "A String", # IANA Time Zone Database time zone. For example "America/New_York".
          "version": "A String", # Optional. IANA Time Zone Database version number. For example "2019a".
        },
        "vmFileSystemStorage": { # The storage allocation for the exadbvmcluster, in gigabytes (GB). # Required. Immutable. Total storage details for the ExadbVmCluster.
          "sizeInGbsPerNode": 42, # Required. The storage allocation for the exadbvmcluster per node, in gigabytes (GB). This field is used to calculate the total storage allocation for the exadbvmcluster.
        },
      },
    },
  ],
  "nextPageToken": "A String", # A token identifying a page of results the server should return.
}
list_next()
Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.
        
patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)
Updates a single Exadb (Exascale) VM Cluster. To add virtual machines to existing exadb vm cluster, only pass the node count.

Args:
  name: string, Identifier. The name of the ExadbVmCluster resource in the following format: projects/{project}/locations/{region}/exadbVmClusters/{exadb_vm_cluster} (required)
  body: object, The request body.
    The object takes the form of:

{ # ExadbVmCluster represents a cluster of VMs that are used to run Exadata workloads. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/ExadbVmCluster/
  "backupOdbSubnet": "A String", # Required. Immutable. The name of the backup OdbSubnet associated with the ExadbVmCluster. Format: projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet}
  "createTime": "A String", # Output only. The date and time that the ExadbVmCluster was created.
  "displayName": "A String", # Required. Immutable. The display name for the ExadbVmCluster. The name does not have to be unique within your project. The name must be 1-255 characters long and can only contain alphanumeric characters.
  "entitlementId": "A String", # Output only. The ID of the subscription entitlement associated with the ExadbVmCluster.
  "gcpOracleZone": "A String", # Output only. Immutable. The GCP Oracle zone where Oracle ExadbVmCluster is hosted. Example: us-east4-b-r2. During creation, the system will pick the zone assigned to the ExascaleDbStorageVault.
  "labels": { # Optional. The labels or tags associated with the ExadbVmCluster.
    "a_key": "A String",
  },
  "name": "A String", # Identifier. The name of the ExadbVmCluster resource in the following format: projects/{project}/locations/{region}/exadbVmClusters/{exadb_vm_cluster}
  "odbNetwork": "A String", # Optional. Immutable. The name of the OdbNetwork associated with the ExadbVmCluster. Format: projects/{project}/locations/{location}/odbNetworks/{odb_network} It is optional but if specified, this should match the parent ODBNetwork of the OdbSubnet.
  "odbSubnet": "A String", # Required. Immutable. The name of the OdbSubnet associated with the ExadbVmCluster for IP allocation. Format: projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet}
  "properties": { # The properties of an ExadbVmCluster. # Required. The properties of the ExadbVmCluster.
    "additionalEcpuCountPerNode": 42, # Optional. Immutable. The number of additional ECPUs per node for an Exadata VM cluster on exascale infrastructure.
    "clusterName": "A String", # Optional. Immutable. The cluster name for Exascale vm cluster. The cluster name must begin with an alphabetic character and may contain hyphens(-) but can not contain underscores(_). It should be not more than 11 characters and is not case sensitive. OCI Cluster name.
    "dataCollectionOptions": { # Data collection options for diagnostics. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/datatypes/DataCollectionOptions # Optional. Immutable. Indicates user preference for data collection options.
      "isDiagnosticsEventsEnabled": True or False, # Optional. Indicates whether to enable data collection for diagnostics.
      "isHealthMonitoringEnabled": True or False, # Optional. Indicates whether to enable health monitoring.
      "isIncidentLogsEnabled": True or False, # Optional. Indicates whether to enable incident logs and trace collection.
    },
    "enabledEcpuCountPerNode": 42, # Required. Immutable. The number of ECPUs enabled per node for an exadata vm cluster on exascale infrastructure.
    "exascaleDbStorageVault": "A String", # Required. Immutable. The name of ExascaleDbStorageVault associated with the ExadbVmCluster. It can refer to an existing ExascaleDbStorageVault. Or a new one can be created during the ExadbVmCluster creation (requires storage_vault_properties to be set). Format: projects/{project}/locations/{location}/exascaleDbStorageVaults/{exascale_db_storage_vault}
    "giVersion": "A String", # Output only. The Oracle Grid Infrastructure (GI) software version.
    "gridImageId": "A String", # Required. Immutable. Grid Infrastructure Version.
    "hostname": "A String", # Output only. The hostname of the ExadbVmCluster.
    "hostnamePrefix": "A String", # Required. Immutable. Prefix for VM cluster host names.
    "licenseModel": "A String", # Optional. Immutable. The license type of the ExadbVmCluster.
    "lifecycleState": "A String", # Output only. State of the cluster.
    "memorySizeGb": 42, # Output only. Memory per VM (GB) (Read-only): Shows the amount of memory allocated to each VM. Memory is calculated based on 2.75 GB per Total ECPUs.
    "nodeCount": 42, # Required. The number of nodes/VMs in the ExadbVmCluster.
    "ociUri": "A String", # Output only. Deep link to the OCI console to view this resource.
    "scanListenerPortTcp": 42, # Optional. Immutable. SCAN listener port - TCP
    "shapeAttribute": "A String", # Required. Immutable. The shape attribute of the VM cluster. The type of Exascale storage used for Exadata VM cluster. The default is SMART_STORAGE which supports Oracle Database 23ai and later
    "sshPublicKeys": [ # Required. Immutable. The SSH public keys for the ExadbVmCluster.
      "A String",
    ],
    "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Optional. Immutable. The time zone of the ExadbVmCluster.
      "id": "A String", # IANA Time Zone Database time zone. For example "America/New_York".
      "version": "A String", # Optional. IANA Time Zone Database version number. For example "2019a".
    },
    "vmFileSystemStorage": { # The storage allocation for the exadbvmcluster, in gigabytes (GB). # Required. Immutable. Total storage details for the ExadbVmCluster.
      "sizeInGbsPerNode": 42, # Required. The storage allocation for the exadbvmcluster per node, in gigabytes (GB). This field is used to calculate the total storage allocation for the exadbvmcluster.
    },
  },
}

  requestId: string, Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores 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).
  updateMask: string, Optional. A mask specifying which fields in th VM Cluster should be updated. A field specified in the mask is overwritten. If a mask isn't provided then all the fields in the VM Cluster are overwritten.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
removeVirtualMachine(name, body=None, x__xgafv=None)
Removes virtual machines from an existing exadb vm cluster.

Args:
  name: string, Required. The name of the ExadbVmCluster in the following format: projects/{project}/locations/{location}/exadbVmClusters/{exadb_vm_cluster}. (required)
  body: object, The request body.
    The object takes the form of:

{ # The request for `ExadbVmCluster.RemoveVirtualMachine`.
  "hostnames": [ # Required. The list of host names of db nodes to be removed from the ExadbVmCluster.
    "A String",
  ],
  "requestId": "A String", # Optional. An optional ID to identify the request. This value is used to identify duplicate requests. If you make a request with the same request ID and the original request is still in progress or completed, the server ignores 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).
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}