import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Description * * ## Example Usage * * ### Oracledatabase Exadb Vm Cluster Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const exascaleDbStorageVaults = new gcp.oracledatabase.ExascaleDbStorageVault("exascaleDbStorageVaults", { * exascaleDbStorageVaultId: "my-storage-vault", * displayName: "my-storage-vault displayname", * location: "europe-west2", * project: "my-project", * properties: { * exascaleDbStorageDetails: { * totalSizeGbs: 512, * }, * }, * deletionProtection: true, * }); * const myExadbVmCluster = new gcp.oracledatabase.ExadbVmCluster("my_exadb_vm_cluster", { * exadbVmClusterId: "my-instance", * displayName: "my-instance displayname", * location: "europe-west2", * project: "my-project", * odbNetwork: "projects/my-project/locations/europe-west2/odbNetworks/my-odbnetwork", * odbSubnet: "projects/my-project/locations/europe-west2/odbNetworks/my-odbnetwork/odbSubnets/my-odbsubnet", * backupOdbSubnet: "projects/my-project/locations/europe-west2/odbNetworks/my-odbnetwork/odbSubnets/my-backup-odbsubnet", * labels: { * "label-one": "value-one", * }, * properties: { * sshPublicKeys: ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCz1X2744t+6vRLmE5u6nHi6/QWh8bQDgHmd+OIxRQIGA/IWUtCs2FnaCNZcqvZkaeyjk5v0lTA/n+9jvO42Ipib53athrfVG8gRt8fzPL66C6ZqHq+6zZophhrCdfJh/0G4x9xJh5gdMprlaCR1P8yAaVvhBQSKGc4SiIkyMNBcHJ5YTtMQMTfxaB4G1sHZ6SDAY9a6Cq/zNjDwfPapWLsiP4mRhE5SSjJX6l6EYbkm0JeLQg+AbJiNEPvrvDp1wtTxzlPJtIivthmLMThFxK7+DkrYFuLvN5AHUdo9KTDLvHtDCvV70r8v0gafsrKkM/OE9Jtzoo0e1N/5K/ZdyFRbAkFT4QSF3nwpbmBWLf2Evg//YyEuxnz4CwPqFST2mucnrCCGCVWp1vnHZ0y30nM35njLOmWdRDFy5l27pKUTwLp02y3UYiiZyP7d3/u5pKiN4vC27VuvzprSdJxWoAvluOiDeRh+/oeQDowxoT/Oop8DzB9uJmjktXw8jyMW2+Rpg+ENQqeNgF1OGlEzypaWiRskEFlkpLb4v/s3ZDYkL1oW0Nv/J8LTjTOTEaYt2Udjoe9x2xWiGnQixhdChWuG+MaoWffzUgx1tsVj/DBXijR5DjkPkrA1GA98zd3q8GKEaAdcDenJjHhNYSd4+rE9pIsnYn7fo5X/tFfcQH1XQ== nobody@google.com"], * timeZone: { * id: "UTC", * }, * gridImageId: "ocid1.dbpatch.oc1.uk-london-1.anwgiljrt5t4sqqa7anvfhtjk3kukfffjqwjyu2fv435wlcw3hzto6iqyngq", * nodeCount: 1, * enabledEcpuCountPerNode: 8, * vmFileSystemStorage: { * sizeInGbsPerNode: 220, * }, * exascaleDbStorageVault: exascaleDbStorageVaults.id, * hostnamePrefix: "hostname6", * shapeAttribute: "SMART_STORAGE", * }, * deletionProtection: true, * }); * ``` * ### Oracledatabase Exadb Vm Cluster Full * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const exascaleDbStorageVaults = new gcp.oracledatabase.ExascaleDbStorageVault("exascaleDbStorageVaults", { * exascaleDbStorageVaultId: "my-storage-vault", * displayName: "my-storage-vault displayname", * location: "europe-west2", * project: "my-project", * properties: { * exascaleDbStorageDetails: { * totalSizeGbs: 512, * }, * }, * deletionProtection: true, * }); * const myExadbVmCluster = new gcp.oracledatabase.ExadbVmCluster("my_exadb_vm_cluster", { * exadbVmClusterId: "my-instance", * displayName: "my-instance displayname", * location: "europe-west2", * project: "my-project", * odbNetwork: "projects/my-project/locations/europe-west2/odbNetworks/my-odbnetwork", * odbSubnet: "projects/my-project/locations/europe-west2/odbNetworks/my-odbnetwork/odbSubnets/my-odbsubnet", * backupOdbSubnet: "projects/my-project/locations/europe-west2/odbNetworks/my-odbnetwork/odbSubnets/my-backup-odbsubnet", * labels: { * "label-one": "value-one", * }, * properties: { * sshPublicKeys: ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCz1X2744t+6vRLmE5u6nHi6/QWh8bQDgHmd+OIxRQIGA/IWUtCs2FnaCNZcqvZkaeyjk5v0lTA/n+9jvO42Ipib53athrfVG8gRt8fzPL66C6ZqHq+6zZophhrCdfJh/0G4x9xJh5gdMprlaCR1P8yAaVvhBQSKGc4SiIkyMNBcHJ5YTtMQMTfxaB4G1sHZ6SDAY9a6Cq/zNjDwfPapWLsiP4mRhE5SSjJX6l6EYbkm0JeLQg+AbJiNEPvrvDp1wtTxzlPJtIivthmLMThFxK7+DkrYFuLvN5AHUdo9KTDLvHtDCvV70r8v0gafsrKkM/OE9Jtzoo0e1N/5K/ZdyFRbAkFT4QSF3nwpbmBWLf2Evg//YyEuxnz4CwPqFST2mucnrCCGCVWp1vnHZ0y30nM35njLOmWdRDFy5l27pKUTwLp02y3UYiiZyP7d3/u5pKiN4vC27VuvzprSdJxWoAvluOiDeRh+/oeQDowxoT/Oop8DzB9uJmjktXw8jyMW2+Rpg+ENQqeNgF1OGlEzypaWiRskEFlkpLb4v/s3ZDYkL1oW0Nv/J8LTjTOTEaYt2Udjoe9x2xWiGnQixhdChWuG+MaoWffzUgx1tsVj/DBXijR5DjkPkrA1GA98zd3q8GKEaAdcDenJjHhNYSd4+rE9pIsnYn7fo5X/tFfcQH1XQ== nobody@google.com"], * timeZone: { * id: "UTC", * }, * gridImageId: "ocid1.dbpatch.oc1.uk-london-1.anwgiljrt5t4sqqa7anvfhtjk3kukfffjqwjyu2fv435wlcw3hzto6iqyngq", * nodeCount: 1, * enabledEcpuCountPerNode: 8, * vmFileSystemStorage: { * sizeInGbsPerNode: 220, * }, * exascaleDbStorageVault: exascaleDbStorageVaults.id, * hostnamePrefix: "hostname8", * shapeAttribute: "SMART_STORAGE", * dataCollectionOptions: { * isDiagnosticsEventsEnabled: true, * isHealthMonitoringEnabled: true, * isIncidentLogsEnabled: true, * }, * licenseModel: "LICENSE_INCLUDED", * scanListenerPortTcp: 1521, * additionalEcpuCountPerNode: 8, * clusterName: "example", * }, * deletionProtection: true, * }); * ``` * * ## Import * * ExadbVmCluster can be imported using any of these accepted formats: * * * `projects/{{project}}/locations/{{location}}/exadbVmClusters/{{exadb_vm_cluster_id}}` * * `{{project}}/{{location}}/{{exadb_vm_cluster_id}}` * * `{{location}}/{{exadb_vm_cluster_id}}` * * When using the `pulumi import` command, ExadbVmCluster can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:oracledatabase/exadbVmCluster:ExadbVmCluster default projects/{{project}}/locations/{{location}}/exadbVmClusters/{{exadb_vm_cluster_id}} * $ pulumi import gcp:oracledatabase/exadbVmCluster:ExadbVmCluster default {{project}}/{{location}}/{{exadb_vm_cluster_id}} * $ pulumi import gcp:oracledatabase/exadbVmCluster:ExadbVmCluster default {{location}}/{{exadb_vm_cluster_id}} * ``` */ export declare class ExadbVmCluster extends pulumi.CustomResource { /** * Get an existing ExadbVmCluster resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ExadbVmClusterState, opts?: pulumi.CustomResourceOptions): ExadbVmCluster; /** * Returns true if the given object is an instance of ExadbVmCluster. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ExadbVmCluster; /** * The name of the backup OdbSubnet associated with the ExadbVmCluster. * Format: * projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet} */ readonly backupOdbSubnet: pulumi.Output; /** * The date and time that the ExadbVmCluster was created. */ readonly createTime: pulumi.Output; /** * Whether or not to allow Terraform to destroy the instance. Unless this field is set to false in Terraform state, a terraform destroy or pulumi up that would delete the instance will fail. */ readonly deletionProtection: pulumi.Output; /** * 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. */ readonly displayName: pulumi.Output; /** * All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services. */ readonly effectiveLabels: pulumi.Output<{ [key: string]: string; }>; /** * The ID of the subscription entitlement associated with the ExadbVmCluster. */ readonly entitlementId: pulumi.Output; /** * The ID of the ExadbVmCluster to create. This value is * restricted to (^a-z?$) 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. */ readonly exadbVmClusterId: pulumi.Output; /** * 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. */ readonly gcpOracleZone: pulumi.Output; /** * The labels or tags associated with the ExadbVmCluster. * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field `effectiveLabels` for all of the labels present on the resource. */ readonly labels: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. */ readonly location: pulumi.Output; /** * Identifier. The name of the ExadbVmCluster resource in the following format: * projects/{project}/locations/{region}/exadbVmClusters/{exadb_vm_cluster} */ readonly name: pulumi.Output; /** * 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. */ readonly odbNetwork: pulumi.Output; /** * The name of the OdbSubnet associated with the ExadbVmCluster for IP * allocation. Format: * projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet} */ readonly odbSubnet: pulumi.Output; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ readonly project: pulumi.Output; /** * The properties of an ExadbVmCluster. * Structure is documented below. */ readonly properties: pulumi.Output; /** * The combination of labels configured directly on the resource * and default labels configured on the provider. */ readonly pulumiLabels: pulumi.Output<{ [key: string]: string; }>; /** * Create a ExadbVmCluster resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ExadbVmClusterArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ExadbVmCluster resources. */ export interface ExadbVmClusterState { /** * The name of the backup OdbSubnet associated with the ExadbVmCluster. * Format: * projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet} */ backupOdbSubnet?: pulumi.Input; /** * The date and time that the ExadbVmCluster was created. */ createTime?: pulumi.Input; /** * Whether or not to allow Terraform to destroy the instance. Unless this field is set to false in Terraform state, a terraform destroy or pulumi up that would delete the instance will fail. */ deletionProtection?: pulumi.Input; /** * 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. */ displayName?: pulumi.Input; /** * All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services. */ effectiveLabels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The ID of the subscription entitlement associated with the ExadbVmCluster. */ entitlementId?: pulumi.Input; /** * The ID of the ExadbVmCluster to create. This value is * restricted to (^a-z?$) 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. */ exadbVmClusterId?: pulumi.Input; /** * 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. */ gcpOracleZone?: pulumi.Input; /** * The labels or tags associated with the ExadbVmCluster. * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field `effectiveLabels` for all of the labels present on the resource. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. */ location?: pulumi.Input; /** * Identifier. The name of the ExadbVmCluster resource in the following format: * projects/{project}/locations/{region}/exadbVmClusters/{exadb_vm_cluster} */ name?: pulumi.Input; /** * 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. */ odbNetwork?: pulumi.Input; /** * The name of the OdbSubnet associated with the ExadbVmCluster for IP * allocation. Format: * projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet} */ odbSubnet?: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * The properties of an ExadbVmCluster. * Structure is documented below. */ properties?: pulumi.Input; /** * The combination of labels configured directly on the resource * and default labels configured on the provider. */ pulumiLabels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; } /** * The set of arguments for constructing a ExadbVmCluster resource. */ export interface ExadbVmClusterArgs { /** * The name of the backup OdbSubnet associated with the ExadbVmCluster. * Format: * projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet} */ backupOdbSubnet: pulumi.Input; /** * Whether or not to allow Terraform to destroy the instance. Unless this field is set to false in Terraform state, a terraform destroy or pulumi up that would delete the instance will fail. */ deletionProtection?: pulumi.Input; /** * 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. */ displayName: pulumi.Input; /** * The ID of the ExadbVmCluster to create. This value is * restricted to (^a-z?$) 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. */ exadbVmClusterId: pulumi.Input; /** * The labels or tags associated with the ExadbVmCluster. * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field `effectiveLabels` for all of the labels present on the resource. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. */ location: pulumi.Input; /** * 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. */ odbNetwork?: pulumi.Input; /** * The name of the OdbSubnet associated with the ExadbVmCluster for IP * allocation. Format: * projects/{project}/locations/{location}/odbNetworks/{odb_network}/odbSubnets/{odb_subnet} */ odbSubnet: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * The properties of an ExadbVmCluster. * Structure is documented below. */ properties: pulumi.Input; }