Cloud Vm Cluster Args
Manages a Cloud VM Cluster.
Example Usage
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",
});
import pulumi
import pulumi_azure as azure
import pulumi_std as std
example_resource_group = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_exadata_infrastructure = azure.oracle.ExadataInfrastructure("example",
name="example-exadata-infrastructure",
display_name="example-exadata-infrastructure",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
shape="Exadata.X9M",
storage_count=3,
compute_count=2,
zones=["3"])
example_virtual_network = azure.network.VirtualNetwork("example",
name="example-virtual-network",
address_spaces=["10.0.0.0/16"],
location=example_resource_group.location,
resource_group_name=example_resource_group.name)
example_subnet = azure.network.Subnet("example",
name="example-subnet",
resource_group_name=example_resource_group.name,
virtual_network_name=example_virtual_network.name,
address_prefixes=["10.0.1.0/24"],
delegations=[{
"name": "delegation",
"service_delegation": {
"actions": [
"Microsoft.Network/networkinterfaces/*",
"Microsoft.Network/virtualNetworks/subnets/join/action",
],
"name": "Oracle.Database/networkAttachments",
},
}])
example = azure.oracle.get_db_servers_output(resource_group_name=example_resource_group.name,
cloud_exadata_infrastructure_name=example_exadata_infrastructure.name)
example_cloud_vm_cluster = azure.oracle.CloudVmCluster("example",
name="example-cloud-vm-cluster",
resource_group_name=example_resource_group.name,
location=example_resource_group.location,
gi_version="23.0.0.0",
virtual_network_id=example_virtual_network.id,
license_model="BringYourOwnLicense",
db_servers=example.apply(lambda example: [obj.ocid for obj in example.db_servers]),
ssh_public_keys=[std.file(input="~/.ssh/id_rsa.pub").result],
display_name="example-cloud-vm-cluster",
cloud_exadata_infrastructure_id=example_exadata_infrastructure.id,
cpu_core_count=2,
hostname="hostname",
subnet_id=example_subnet.id,
system_version="23.1.19.0.0.241015")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
using Std = Pulumi.Std;
return await Deployment.RunAsync(() =>
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleExadataInfrastructure = new Azure.Oracle.ExadataInfrastructure("example", new()
{
Name = "example-exadata-infrastructure",
DisplayName = "example-exadata-infrastructure",
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
Shape = "Exadata.X9M",
StorageCount = 3,
ComputeCount = 2,
Zones = new[]
{
"3",
},
});
var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
{
Name = "example-virtual-network",
AddressSpaces = new[]
{
"10.0.0.0/16",
},
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
});
var exampleSubnet = new Azure.Network.Subnet("example", new()
{
Name = "example-subnet",
ResourceGroupName = exampleResourceGroup.Name,
VirtualNetworkName = exampleVirtualNetwork.Name,
AddressPrefixes = new[]
{
"10.0.1.0/24",
},
Delegations = new[]
{
new Azure.Network.Inputs.SubnetDelegationArgs
{
Name = "delegation",
ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs
{
Actions = new[]
{
"Microsoft.Network/networkinterfaces/*",
"Microsoft.Network/virtualNetworks/subnets/join/action",
},
Name = "Oracle.Database/networkAttachments",
},
},
},
});
var example = Azure.Oracle.GetDbServers.Invoke(new()
{
ResourceGroupName = exampleResourceGroup.Name,
CloudExadataInfrastructureName = exampleExadataInfrastructure.Name,
});
var exampleCloudVmCluster = new Azure.Oracle.CloudVmCluster("example", new()
{
Name = "example-cloud-vm-cluster",
ResourceGroupName = exampleResourceGroup.Name,
Location = exampleResourceGroup.Location,
GiVersion = "23.0.0.0",
VirtualNetworkId = exampleVirtualNetwork.Id,
LicenseModel = "BringYourOwnLicense",
DbServers = .Select(obj =>
{
return obj.Ocid;
}).ToList(),
SshPublicKeys = new[]
{
Std.File.Invoke(new()
{
Input = "~/.ssh/id_rsa.pub",
}).Apply(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",
});
});
API Providers
This resource uses the following Azure API Providers:
Oracle.Database
: 2024-06-01
Import
Cloud VM Clusters can be imported using the resource id
, e.g.
$ pulumi import azure:oracle/cloudVmCluster:CloudVmCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup/providers/Oracle.Database/cloudVmClusters/cloudVmClusters1
Constructors
Properties
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.
The OCID of the Cloud Exadata infrastructure. Changing this forces a new Cloud VM Cluster to be created.
The cluster name for Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.
The number of CPU cores enabled on the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.
A data_collection_options
block as defined below. Changing this forces a new Cloud VM Cluster to be created.
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
.
The data disk group size to be allocated in TBs. Changing this forces a new Cloud VM Cluster to be created.
The local node storage to be allocated in GBs. Changing this forces a new Cloud VM Cluster to be created.
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.
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.
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.
The memory to be allocated in GBs. Changing this forces a new Cloud VM Cluster to be created.
The name of the Resource Group where the Cloud VM Cluster should exist. Changing this forces a new Cloud VM Cluster to be created.
The TCP Single Client Access Name (SCAN) port. The default port to 1521. Changing this forces a new Cloud VM Cluster to be created.
The TCPS Single Client Access Name (SCAN) port. The default port to 2484. Changing this forces a new Cloud VM Cluster to be created.
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.
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.
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.
The time zone of the Cloud VM Cluster. For details, see Exadata Infrastructure Time Zones. Changing this forces a new Cloud VM Cluster to be created.
The ID of the Virtual Network associated with the Cloud VM Cluster. Changing this forces a new Cloud VM Cluster to be created.