import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a Cloud VM Cluster. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * import * as std from "@pulumi/std"; * * const exampleResourceGroup = new azure.core.ResourceGroup("example", { * name: "example-resources", * location: "West Europe", * }); * const exampleExadataInfrastructure = new azure.oracle.ExadataInfrastructure("example", { * name: "example-exadata-infrastructure", * displayName: "example-exadata-infrastructure", * location: exampleResourceGroup.location, * resourceGroupName: exampleResourceGroup.name, * shape: "Exadata.X9M", * storageCount: 3, * computeCount: 2, * zones: ["3"], * }); * const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", { * name: "example-virtual-network", * addressSpaces: ["10.0.0.0/16"], * location: exampleResourceGroup.location, * resourceGroupName: exampleResourceGroup.name, * }); * const exampleSubnet = new azure.network.Subnet("example", { * name: "example-subnet", * resourceGroupName: exampleResourceGroup.name, * virtualNetworkName: exampleVirtualNetwork.name, * addressPrefixes: ["10.0.1.0/24"], * delegations: [{ * name: "delegation", * serviceDelegation: { * actions: [ * "Microsoft.Network/networkinterfaces/*", * "Microsoft.Network/virtualNetworks/subnets/join/action", * ], * name: "Oracle.Database/networkAttachments", * }, * }], * }); * const example = azure.oracle.getDbServersOutput({ * resourceGroupName: exampleResourceGroup.name, * cloudExadataInfrastructureName: exampleExadataInfrastructure.name, * }); * const exampleCloudVmCluster = new azure.oracle.CloudVmCluster("example", { * name: "example-cloud-vm-cluster", * resourceGroupName: exampleResourceGroup.name, * location: exampleResourceGroup.location, * giVersion: "23.0.0.0", * virtualNetworkId: exampleVirtualNetwork.id, * licenseModel: "BringYourOwnLicense", * dbServers: example.apply(example => .map(obj => (obj.ocid))), * sshPublicKeys: [std.file({ * input: "~/.ssh/id_rsa.pub", * }).then(invoke => invoke.result)], * displayName: "example-cloud-vm-cluster", * cloudExadataInfrastructureId: exampleExadataInfrastructure.id, * cpuCoreCount: 2, * hostname: "hostname", * subnetId: exampleSubnet.id, * systemVersion: "23.1.19.0.0.241015", * fileSystemConfigurations: [{ * mountPoint: "/var", * sizeInGb: 32, * }], * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Oracle.Database` - 2025-09-01 * * ## Import * * Cloud VM Clusters can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:oracle/cloudVmCluster:CloudVmCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup/providers/Oracle.Database/cloudVmClusters/cloudVmClusters1 * ``` */ export declare class CloudVmCluster extends pulumi.CustomResource { /** * Get an existing CloudVmCluster 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?: CloudVmClusterState, opts?: pulumi.CustomResourceOptions): CloudVmCluster; /** * Returns true if the given object is an instance of CloudVmCluster. 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 CloudVmCluster; /** * The backup subnet CIDR of the Virtual Network associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ readonly backupSubnetCidr: pulumi.Output; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Cloud Exadata infrastructure. Changing this forces a new Cloud VM Cluster to be created. */ readonly cloudExadataInfrastructureId: pulumi.Output; /** * The cluster name for Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ readonly clusterName: pulumi.Output; /** * The number of CPU cores enabled on the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ readonly cpuCoreCount: pulumi.Output; /** * A `dataCollectionOptions` block as defined below. Changing this forces a new Cloud VM Cluster to be created. */ readonly dataCollectionOptions: pulumi.Output; /** * The percentage assigned to DATA storage (user data and database files). Changing this forces a new Cloud VM Cluster to be created. The remaining percentage is assigned to RECO storage (database redo logs, archive logs, and recovery manager backups). Accepted values are `35`, `40`, `60` and `80`. */ readonly dataStoragePercentage: pulumi.Output; /** * The data disk group size to be allocated in TBs. Changing this forces a new Cloud VM Cluster to be created. */ readonly dataStorageSizeInTbs: pulumi.Output; /** * The local node storage to be allocated in GBs. Changing this forces a new Cloud VM Cluster to be created. */ readonly dbNodeStorageSizeInGbs: pulumi.Output; /** * The list of DB servers. Changing this forces a new Cloud VM Cluster to be created. */ readonly dbServers: pulumi.Output; /** * The user-friendly name for the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. The name does not need to be unique. */ readonly displayName: pulumi.Output; /** * The name of the OCI Private DNS Zone to be associated with the Cloud VM Cluster. This is required for specifying your own private domain name. Changing this forces a new Cloud VM Cluster to be created. */ readonly domain: pulumi.Output; /** * A `fileSystemConfiguration` block as defined below. */ readonly fileSystemConfigurations: pulumi.Output; /** * A valid Oracle Grid Infrastructure (GI) software version. Changing this forces a new Cloud VM Cluster to be created. */ readonly giVersion: pulumi.Output; /** * The hostname for the Cloud VM Cluster without suffix. Changing this forces a new Cloud VM Cluster to be created. */ readonly hostname: pulumi.Output; /** * The hostname for the Cloud VM Cluster with suffix. */ readonly hostnameActual: pulumi.Output; /** * The Oracle license model that applies to the Cloud VM Cluster, either `BringYourOwnLicense` or `LicenseIncluded`. Changing this forces a new Cloud VM Cluster to be created. */ readonly licenseModel: pulumi.Output; /** * If true, database backup on local Exadata storage is configured for the Cloud VM Cluster. If `false`, database backup on local Exadata storage is not available in the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ readonly localBackupEnabled: pulumi.Output; /** * The Azure Region where the Cloud VM Cluster should exist. Changing this forces a new Cloud VM Cluster to be created. */ readonly location: pulumi.Output; /** * The memory to be allocated in GBs. Changing this forces a new Cloud VM Cluster to be created. */ readonly memorySizeInGbs: pulumi.Output; /** * The name which should be used for this Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ readonly name: pulumi.Output; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Cloud VM Cluster. */ readonly ocid: pulumi.Output; /** * The name of the Resource Group where the Cloud VM Cluster should exist. Changing this forces a new Cloud VM Cluster to be created. */ readonly resourceGroupName: pulumi.Output; /** * The TCP Single Client Access Name (SCAN) port. The default port to 1521. Changing this forces a new Cloud VM Cluster to be created. */ readonly scanListenerPortTcp: pulumi.Output; /** * The TCPS Single Client Access Name (SCAN) port. The default port to 2484. Changing this forces a new Cloud VM Cluster to be created. */ readonly scanListenerPortTcpSsl: pulumi.Output; /** * If true, the sparse disk group is configured for the Cloud VM Cluster. If `false`, the sparse disk group is not created. Changing this forces a new Cloud VM Cluster to be created. */ readonly sparseDiskgroupEnabled: pulumi.Output; /** * The public key portion of one or more key pairs used for SSH access to the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ readonly sshPublicKeys: pulumi.Output; /** * The ID of the subnet associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ readonly subnetId: pulumi.Output; /** * Operating system version of the Exadata image. System version must be <= Db server major version (the first two parts of the DB server version eg 23.1.X.X.XXXX). Accepted Values for Grid Infrastructure (GI) version 19.0.0.0 are 22.1.30.0.0.241204, 22.1.32.0.0.250205, 22.1.31.0.0.250110, 23.1.20.0.0.241112, 23.1.21.0.0.241204, 23.1.22.0.0.250119, 23.1.23.0.0.250207. For Grid Infrastructure (GI) version 23.0.0.0 allowed system versions are 23.1.19.0.0.241015, 23.1.20.0.0.241112, 23.1.22.0.0.250119, 23.1.21.0.0.241204, 23.1.23.0.0.250207. Changing this forces a new resource to be created. */ readonly systemVersion: pulumi.Output; /** * A mapping of tags which should be assigned to the Cloud VM Cluster. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * The time zone of the Cloud VM Cluster. For details, see [Exadata Infrastructure Time Zones](https://docs.cloud.oracle.com/iaas/Content/Database/References/timezones.htm). Changing this forces a new Cloud VM Cluster to be created. */ readonly timeZone: pulumi.Output; /** * The ID of the Virtual Network associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ readonly virtualNetworkId: pulumi.Output; /** * The OCID of the OCI Private DNS Zone to be associated with the Cloud VM Cluster. This is required for specifying your own private domain name. Changing this forces a new Cloud VM Cluster to be created. */ readonly zoneId: pulumi.Output; /** * Create a CloudVmCluster 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: CloudVmClusterArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering CloudVmCluster resources. */ export interface CloudVmClusterState { /** * The backup subnet CIDR of the Virtual Network associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ backupSubnetCidr?: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Cloud Exadata infrastructure. Changing this forces a new Cloud VM Cluster to be created. */ cloudExadataInfrastructureId?: pulumi.Input; /** * The cluster name for Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ clusterName?: pulumi.Input; /** * The number of CPU cores enabled on the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ cpuCoreCount?: pulumi.Input; /** * A `dataCollectionOptions` block as defined below. Changing this forces a new Cloud VM Cluster to be created. */ dataCollectionOptions?: pulumi.Input; /** * The percentage assigned to DATA storage (user data and database files). Changing this forces a new Cloud VM Cluster to be created. The remaining percentage is assigned to RECO storage (database redo logs, archive logs, and recovery manager backups). Accepted values are `35`, `40`, `60` and `80`. */ dataStoragePercentage?: pulumi.Input; /** * The data disk group size to be allocated in TBs. Changing this forces a new Cloud VM Cluster to be created. */ dataStorageSizeInTbs?: pulumi.Input; /** * The local node storage to be allocated in GBs. Changing this forces a new Cloud VM Cluster to be created. */ dbNodeStorageSizeInGbs?: pulumi.Input; /** * The list of DB servers. Changing this forces a new Cloud VM Cluster to be created. */ dbServers?: pulumi.Input[]>; /** * The user-friendly name for the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. The name does not need to be unique. */ displayName?: pulumi.Input; /** * The name of the OCI Private DNS Zone to be associated with the Cloud VM Cluster. This is required for specifying your own private domain name. Changing this forces a new Cloud VM Cluster to be created. */ domain?: pulumi.Input; /** * A `fileSystemConfiguration` block as defined below. */ fileSystemConfigurations?: pulumi.Input[]>; /** * A valid Oracle Grid Infrastructure (GI) software version. Changing this forces a new Cloud VM Cluster to be created. */ giVersion?: pulumi.Input; /** * The hostname for the Cloud VM Cluster without suffix. Changing this forces a new Cloud VM Cluster to be created. */ hostname?: pulumi.Input; /** * The hostname for the Cloud VM Cluster with suffix. */ hostnameActual?: pulumi.Input; /** * The Oracle license model that applies to the Cloud VM Cluster, either `BringYourOwnLicense` or `LicenseIncluded`. Changing this forces a new Cloud VM Cluster to be created. */ licenseModel?: pulumi.Input; /** * If true, database backup on local Exadata storage is configured for the Cloud VM Cluster. If `false`, database backup on local Exadata storage is not available in the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ localBackupEnabled?: pulumi.Input; /** * The Azure Region where the Cloud VM Cluster should exist. Changing this forces a new Cloud VM Cluster to be created. */ location?: pulumi.Input; /** * The memory to be allocated in GBs. Changing this forces a new Cloud VM Cluster to be created. */ memorySizeInGbs?: pulumi.Input; /** * The name which should be used for this Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ name?: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Cloud VM Cluster. */ ocid?: pulumi.Input; /** * The name of the Resource Group where the Cloud VM Cluster should exist. Changing this forces a new Cloud VM Cluster to be created. */ resourceGroupName?: pulumi.Input; /** * The TCP Single Client Access Name (SCAN) port. The default port to 1521. Changing this forces a new Cloud VM Cluster to be created. */ scanListenerPortTcp?: pulumi.Input; /** * The TCPS Single Client Access Name (SCAN) port. The default port to 2484. Changing this forces a new Cloud VM Cluster to be created. */ scanListenerPortTcpSsl?: pulumi.Input; /** * If true, the sparse disk group is configured for the Cloud VM Cluster. If `false`, the sparse disk group is not created. Changing this forces a new Cloud VM Cluster to be created. */ sparseDiskgroupEnabled?: pulumi.Input; /** * The public key portion of one or more key pairs used for SSH access to the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ sshPublicKeys?: pulumi.Input[]>; /** * The ID of the subnet associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ subnetId?: pulumi.Input; /** * Operating system version of the Exadata image. System version must be <= Db server major version (the first two parts of the DB server version eg 23.1.X.X.XXXX). Accepted Values for Grid Infrastructure (GI) version 19.0.0.0 are 22.1.30.0.0.241204, 22.1.32.0.0.250205, 22.1.31.0.0.250110, 23.1.20.0.0.241112, 23.1.21.0.0.241204, 23.1.22.0.0.250119, 23.1.23.0.0.250207. For Grid Infrastructure (GI) version 23.0.0.0 allowed system versions are 23.1.19.0.0.241015, 23.1.20.0.0.241112, 23.1.22.0.0.250119, 23.1.21.0.0.241204, 23.1.23.0.0.250207. Changing this forces a new resource to be created. */ systemVersion?: pulumi.Input; /** * A mapping of tags which should be assigned to the Cloud VM Cluster. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The time zone of the Cloud VM Cluster. For details, see [Exadata Infrastructure Time Zones](https://docs.cloud.oracle.com/iaas/Content/Database/References/timezones.htm). Changing this forces a new Cloud VM Cluster to be created. */ timeZone?: pulumi.Input; /** * The ID of the Virtual Network associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ virtualNetworkId?: pulumi.Input; /** * The OCID of the OCI Private DNS Zone to be associated with the Cloud VM Cluster. This is required for specifying your own private domain name. Changing this forces a new Cloud VM Cluster to be created. */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a CloudVmCluster resource. */ export interface CloudVmClusterArgs { /** * The backup subnet CIDR of the Virtual Network associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ backupSubnetCidr?: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Cloud Exadata infrastructure. Changing this forces a new Cloud VM Cluster to be created. */ cloudExadataInfrastructureId: pulumi.Input; /** * The cluster name for Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ clusterName?: pulumi.Input; /** * The number of CPU cores enabled on the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ cpuCoreCount: pulumi.Input; /** * A `dataCollectionOptions` block as defined below. Changing this forces a new Cloud VM Cluster to be created. */ dataCollectionOptions?: pulumi.Input; /** * The percentage assigned to DATA storage (user data and database files). Changing this forces a new Cloud VM Cluster to be created. The remaining percentage is assigned to RECO storage (database redo logs, archive logs, and recovery manager backups). Accepted values are `35`, `40`, `60` and `80`. */ dataStoragePercentage?: pulumi.Input; /** * The data disk group size to be allocated in TBs. Changing this forces a new Cloud VM Cluster to be created. */ dataStorageSizeInTbs?: pulumi.Input; /** * The local node storage to be allocated in GBs. Changing this forces a new Cloud VM Cluster to be created. */ dbNodeStorageSizeInGbs?: pulumi.Input; /** * The list of DB servers. Changing this forces a new Cloud VM Cluster to be created. */ dbServers: pulumi.Input[]>; /** * The user-friendly name for the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. The name does not need to be unique. */ displayName: pulumi.Input; /** * The name of the OCI Private DNS Zone to be associated with the Cloud VM Cluster. This is required for specifying your own private domain name. Changing this forces a new Cloud VM Cluster to be created. */ domain?: pulumi.Input; /** * A `fileSystemConfiguration` block as defined below. */ fileSystemConfigurations?: pulumi.Input[]>; /** * A valid Oracle Grid Infrastructure (GI) software version. Changing this forces a new Cloud VM Cluster to be created. */ giVersion: pulumi.Input; /** * The hostname for the Cloud VM Cluster without suffix. Changing this forces a new Cloud VM Cluster to be created. */ hostname: pulumi.Input; /** * The Oracle license model that applies to the Cloud VM Cluster, either `BringYourOwnLicense` or `LicenseIncluded`. Changing this forces a new Cloud VM Cluster to be created. */ licenseModel: pulumi.Input; /** * If true, database backup on local Exadata storage is configured for the Cloud VM Cluster. If `false`, database backup on local Exadata storage is not available in the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ localBackupEnabled?: pulumi.Input; /** * The Azure Region where the Cloud VM Cluster should exist. Changing this forces a new Cloud VM Cluster to be created. */ location?: pulumi.Input; /** * The memory to be allocated in GBs. Changing this forces a new Cloud VM Cluster to be created. */ memorySizeInGbs?: pulumi.Input; /** * The name which should be used for this Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ name?: pulumi.Input; /** * The name of the Resource Group where the Cloud VM Cluster should exist. Changing this forces a new Cloud VM Cluster to be created. */ resourceGroupName: pulumi.Input; /** * The TCP Single Client Access Name (SCAN) port. The default port to 1521. Changing this forces a new Cloud VM Cluster to be created. */ scanListenerPortTcp?: pulumi.Input; /** * The TCPS Single Client Access Name (SCAN) port. The default port to 2484. Changing this forces a new Cloud VM Cluster to be created. */ scanListenerPortTcpSsl?: pulumi.Input; /** * If true, the sparse disk group is configured for the Cloud VM Cluster. If `false`, the sparse disk group is not created. Changing this forces a new Cloud VM Cluster to be created. */ sparseDiskgroupEnabled?: pulumi.Input; /** * The public key portion of one or more key pairs used for SSH access to the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ sshPublicKeys: pulumi.Input[]>; /** * The ID of the subnet associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ subnetId: pulumi.Input; /** * Operating system version of the Exadata image. System version must be <= Db server major version (the first two parts of the DB server version eg 23.1.X.X.XXXX). Accepted Values for Grid Infrastructure (GI) version 19.0.0.0 are 22.1.30.0.0.241204, 22.1.32.0.0.250205, 22.1.31.0.0.250110, 23.1.20.0.0.241112, 23.1.21.0.0.241204, 23.1.22.0.0.250119, 23.1.23.0.0.250207. For Grid Infrastructure (GI) version 23.0.0.0 allowed system versions are 23.1.19.0.0.241015, 23.1.20.0.0.241112, 23.1.22.0.0.250119, 23.1.21.0.0.241204, 23.1.23.0.0.250207. Changing this forces a new resource to be created. */ systemVersion?: pulumi.Input; /** * A mapping of tags which should be assigned to the Cloud VM Cluster. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The time zone of the Cloud VM Cluster. For details, see [Exadata Infrastructure Time Zones](https://docs.cloud.oracle.com/iaas/Content/Database/References/timezones.htm). Changing this forces a new Cloud VM Cluster to be created. */ timeZone?: pulumi.Input; /** * The ID of the Virtual Network associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created. */ virtualNetworkId: pulumi.Input; /** * The OCID of the OCI Private DNS Zone to be associated with the Cloud VM Cluster. This is required for specifying your own private domain name. Changing this forces a new Cloud VM Cluster to be created. */ zoneId?: pulumi.Input; }