Cloud Vm Cluster
A CloudVmCluster resource. To get more information about CloudVmCluster, see:
How-to Guides
Example Usage
Oracledatabase Cloud Vmcluster Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const cloudExadataInfrastructures = new gcp.oracledatabase.CloudExadataInfrastructure("cloudExadataInfrastructures", {
cloudExadataInfrastructureId: "my-exadata",
displayName: "my-exadata displayname",
location: "us-east4",
project: "my-project",
properties: {
shape: "Exadata.X9M",
computeCount: 2,
storageCount: 3,
},
deletionProtection: true,
});
const _default = gcp.compute.getNetwork({
name: "new",
project: "my-project",
});
const myVmcluster = new gcp.oracledatabase.CloudVmCluster("my_vmcluster", {
cloudVmClusterId: "my-instance",
displayName: "my-instance displayname",
location: "us-east4",
project: "my-project",
exadataInfrastructure: cloudExadataInfrastructures.id,
network: _default.then(_default => _default.id),
cidr: "10.5.0.0/24",
backupSubnetCidr: "10.6.0.0/24",
properties: {
licenseType: "LICENSE_INCLUDED",
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"],
cpuCoreCount: 4,
giVersion: "19.0.0.0",
hostnamePrefix: "hostname1",
},
deletionProtection: true,
});
import pulumi
import pulumi_gcp as gcp
cloud_exadata_infrastructures = gcp.oracledatabase.CloudExadataInfrastructure("cloudExadataInfrastructures",
cloud_exadata_infrastructure_id="my-exadata",
display_name="my-exadata displayname",
location="us-east4",
project="my-project",
properties={
"shape": "Exadata.X9M",
"compute_count": 2,
"storage_count": 3,
},
deletion_protection=True)
default = gcp.compute.get_network(name="new",
project="my-project")
my_vmcluster = gcp.oracledatabase.CloudVmCluster("my_vmcluster",
cloud_vm_cluster_id="my-instance",
display_name="my-instance displayname",
location="us-east4",
project="my-project",
exadata_infrastructure=cloud_exadata_infrastructures.id,
network=default.id,
cidr="10.5.0.0/24",
backup_subnet_cidr="10.6.0.0/24",
properties={
"license_type": "LICENSE_INCLUDED",
"ssh_public_keys": ["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"],
"cpu_core_count": 4,
"gi_version": "19.0.0.0",
"hostname_prefix": "hostname1",
},
deletion_protection=True)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var cloudExadataInfrastructures = new Gcp.OracleDatabase.CloudExadataInfrastructure("cloudExadataInfrastructures", new()
{
CloudExadataInfrastructureId = "my-exadata",
DisplayName = "my-exadata displayname",
Location = "us-east4",
Project = "my-project",
Properties = new Gcp.OracleDatabase.Inputs.CloudExadataInfrastructurePropertiesArgs
{
Shape = "Exadata.X9M",
ComputeCount = 2,
StorageCount = 3,
},
DeletionProtection = true,
});
var @default = Gcp.Compute.GetNetwork.Invoke(new()
{
Name = "new",
Project = "my-project",
});
var myVmcluster = new Gcp.OracleDatabase.CloudVmCluster("my_vmcluster", new()
{
CloudVmClusterId = "my-instance",
DisplayName = "my-instance displayname",
Location = "us-east4",
Project = "my-project",
ExadataInfrastructure = cloudExadataInfrastructures.Id,
Network = @default.Apply(@default => @default.Apply(getNetworkResult => getNetworkResult.Id)),
Cidr = "10.5.0.0/24",
BackupSubnetCidr = "10.6.0.0/24",
Properties = new Gcp.OracleDatabase.Inputs.CloudVmClusterPropertiesArgs
{
LicenseType = "LICENSE_INCLUDED",
SshPublicKeys = new[]
{
"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",
},
CpuCoreCount = 4,
GiVersion = "19.0.0.0",
HostnamePrefix = "hostname1",
},
DeletionProtection = true,
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/oracledatabase"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cloudExadataInfrastructures, err := oracledatabase.NewCloudExadataInfrastructure(ctx, "cloudExadataInfrastructures", &oracledatabase.CloudExadataInfrastructureArgs{
CloudExadataInfrastructureId: pulumi.String("my-exadata"),
DisplayName: pulumi.String("my-exadata displayname"),
Location: pulumi.String("us-east4"),
Project: pulumi.String("my-project"),
Properties: &oracledatabase.CloudExadataInfrastructurePropertiesArgs{
Shape: pulumi.String("Exadata.X9M"),
ComputeCount: pulumi.Int(2),
StorageCount: pulumi.Int(3),
},
DeletionProtection: pulumi.Bool(true),
})
if err != nil {
return err
}
_default, err := compute.LookupNetwork(ctx, &compute.LookupNetworkArgs{
Name: "new",
Project: pulumi.StringRef("my-project"),
}, nil)
if err != nil {
return err
}
_, err = oracledatabase.NewCloudVmCluster(ctx, "my_vmcluster", &oracledatabase.CloudVmClusterArgs{
CloudVmClusterId: pulumi.String("my-instance"),
DisplayName: pulumi.String("my-instance displayname"),
Location: pulumi.String("us-east4"),
Project: pulumi.String("my-project"),
ExadataInfrastructure: cloudExadataInfrastructures.ID(),
Network: pulumi.String(_default.Id),
Cidr: pulumi.String("10.5.0.0/24"),
BackupSubnetCidr: pulumi.String("10.6.0.0/24"),
Properties: &oracledatabase.CloudVmClusterPropertiesArgs{
LicenseType: pulumi.String("LICENSE_INCLUDED"),
SshPublicKeys: pulumi.StringArray{
pulumi.String("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"),
},
CpuCoreCount: pulumi.Int(4),
GiVersion: pulumi.String("19.0.0.0"),
HostnamePrefix: pulumi.String("hostname1"),
},
DeletionProtection: pulumi.Bool(true),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.oracledatabase.CloudExadataInfrastructure;
import com.pulumi.gcp.oracledatabase.CloudExadataInfrastructureArgs;
import com.pulumi.gcp.oracledatabase.inputs.CloudExadataInfrastructurePropertiesArgs;
import com.pulumi.gcp.compute.ComputeFunctions;
import com.pulumi.gcp.compute.inputs.GetNetworkArgs;
import com.pulumi.gcp.oracledatabase.CloudVmCluster;
import com.pulumi.gcp.oracledatabase.CloudVmClusterArgs;
import com.pulumi.gcp.oracledatabase.inputs.CloudVmClusterPropertiesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var cloudExadataInfrastructures = new CloudExadataInfrastructure("cloudExadataInfrastructures", CloudExadataInfrastructureArgs.builder()
.cloudExadataInfrastructureId("my-exadata")
.displayName("my-exadata displayname")
.location("us-east4")
.project("my-project")
.properties(CloudExadataInfrastructurePropertiesArgs.builder()
.shape("Exadata.X9M")
.computeCount(2)
.storageCount(3)
.build())
.deletionProtection(true)
.build());
final var default = ComputeFunctions.getNetwork(GetNetworkArgs.builder()
.name("new")
.project("my-project")
.build());
var myVmcluster = new CloudVmCluster("myVmcluster", CloudVmClusterArgs.builder()
.cloudVmClusterId("my-instance")
.displayName("my-instance displayname")
.location("us-east4")
.project("my-project")
.exadataInfrastructure(cloudExadataInfrastructures.id())
.network(default_.id())
.cidr("10.5.0.0/24")
.backupSubnetCidr("10.6.0.0/24")
.properties(CloudVmClusterPropertiesArgs.builder()
.licenseType("LICENSE_INCLUDED")
.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")
.cpuCoreCount(4)
.giVersion("19.0.0.0")
.hostnamePrefix("hostname1")
.build())
.deletionProtection(true)
.build());
}
}
resources:
myVmcluster:
type: gcp:oracledatabase:CloudVmCluster
name: my_vmcluster
properties:
cloudVmClusterId: my-instance
displayName: my-instance displayname
location: us-east4
project: my-project
exadataInfrastructure: ${cloudExadataInfrastructures.id}
network: ${default.id}
cidr: 10.5.0.0/24
backupSubnetCidr: 10.6.0.0/24
properties:
licenseType: LICENSE_INCLUDED
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
cpuCoreCount: '4'
giVersion: 19.0.0.0
hostnamePrefix: hostname1
deletionProtection: 'true'
cloudExadataInfrastructures:
type: gcp:oracledatabase:CloudExadataInfrastructure
properties:
cloudExadataInfrastructureId: my-exadata
displayName: my-exadata displayname
location: us-east4
project: my-project
properties:
shape: Exadata.X9M
computeCount: '2'
storageCount: '3'
deletionProtection: 'true'
variables:
default:
fn::invoke:
function: gcp:compute:getNetwork
arguments:
name: new
project: my-project
Oracledatabase Cloud Vmcluster Full
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const cloudExadataInfrastructures = new gcp.oracledatabase.CloudExadataInfrastructure("cloudExadataInfrastructures", {
cloudExadataInfrastructureId: "my-exadata",
displayName: "my-exadata displayname",
location: "us-east4",
project: "my-project",
properties: {
shape: "Exadata.X9M",
computeCount: 2,
storageCount: 3,
},
deletionProtection: true,
});
const _default = gcp.compute.getNetwork({
name: "new",
project: "my-project",
});
const mydbserver = gcp.oracledatabase.getDbServersOutput({
location: "us-east4",
project: "my-project",
cloudExadataInfrastructure: cloudExadataInfrastructures.cloudExadataInfrastructureId,
});
const myVmcluster = new gcp.oracledatabase.CloudVmCluster("my_vmcluster", {
cloudVmClusterId: "my-instance",
displayName: "my-instance displayname",
location: "us-east4",
project: "my-project",
exadataInfrastructure: cloudExadataInfrastructures.id,
network: _default.then(_default => _default.id),
cidr: "10.5.0.0/24",
backupSubnetCidr: "10.6.0.0/24",
labels: {
"label-one": "value-one",
},
properties: {
licenseType: "LICENSE_INCLUDED",
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"],
cpuCoreCount: 4,
giVersion: "19.0.0.0",
timeZone: {
id: "UTC",
},
nodeCount: 2,
ocpuCount: 4,
dataStorageSizeTb: 2,
dbNodeStorageSizeGb: 120,
dbServerOcids: [
mydbserver.apply(mydbserver => mydbserver.dbServers?.[0]?.properties?.[0]?.ocid),
mydbserver.apply(mydbserver => mydbserver.dbServers?.[1]?.properties?.[0]?.ocid),
],
diskRedundancy: "HIGH",
sparseDiskgroupEnabled: false,
localBackupEnabled: false,
clusterName: "pq-ppat4",
hostnamePrefix: "hostname1",
diagnosticsDataCollectionOptions: {
diagnosticsEventsEnabled: true,
healthMonitoringEnabled: true,
incidentLogsEnabled: true,
},
memorySizeGb: 60,
},
deletionProtection: true,
});
import pulumi
import pulumi_gcp as gcp
cloud_exadata_infrastructures = gcp.oracledatabase.CloudExadataInfrastructure("cloudExadataInfrastructures",
cloud_exadata_infrastructure_id="my-exadata",
display_name="my-exadata displayname",
location="us-east4",
project="my-project",
properties={
"shape": "Exadata.X9M",
"compute_count": 2,
"storage_count": 3,
},
deletion_protection=True)
default = gcp.compute.get_network(name="new",
project="my-project")
mydbserver = gcp.oracledatabase.get_db_servers_output(location="us-east4",
project="my-project",
cloud_exadata_infrastructure=cloud_exadata_infrastructures.cloud_exadata_infrastructure_id)
my_vmcluster = gcp.oracledatabase.CloudVmCluster("my_vmcluster",
cloud_vm_cluster_id="my-instance",
display_name="my-instance displayname",
location="us-east4",
project="my-project",
exadata_infrastructure=cloud_exadata_infrastructures.id,
network=default.id,
cidr="10.5.0.0/24",
backup_subnet_cidr="10.6.0.0/24",
labels={
"label-one": "value-one",
},
properties={
"license_type": "LICENSE_INCLUDED",
"ssh_public_keys": ["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"],
"cpu_core_count": 4,
"gi_version": "19.0.0.0",
"time_zone": {
"id": "UTC",
},
"node_count": 2,
"ocpu_count": 4,
"data_storage_size_tb": 2,
"db_node_storage_size_gb": 120,
"db_server_ocids": [
mydbserver.db_servers[0].properties[0].ocid,
mydbserver.db_servers[1].properties[0].ocid,
],
"disk_redundancy": "HIGH",
"sparse_diskgroup_enabled": False,
"local_backup_enabled": False,
"cluster_name": "pq-ppat4",
"hostname_prefix": "hostname1",
"diagnostics_data_collection_options": {
"diagnostics_events_enabled": True,
"health_monitoring_enabled": True,
"incident_logs_enabled": True,
},
"memory_size_gb": 60,
},
deletion_protection=True)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var cloudExadataInfrastructures = new Gcp.OracleDatabase.CloudExadataInfrastructure("cloudExadataInfrastructures", new()
{
CloudExadataInfrastructureId = "my-exadata",
DisplayName = "my-exadata displayname",
Location = "us-east4",
Project = "my-project",
Properties = new Gcp.OracleDatabase.Inputs.CloudExadataInfrastructurePropertiesArgs
{
Shape = "Exadata.X9M",
ComputeCount = 2,
StorageCount = 3,
},
DeletionProtection = true,
});
var @default = Gcp.Compute.GetNetwork.Invoke(new()
{
Name = "new",
Project = "my-project",
});
var mydbserver = Gcp.OracleDatabase.GetDbServers.Invoke(new()
{
Location = "us-east4",
Project = "my-project",
CloudExadataInfrastructure = cloudExadataInfrastructures.CloudExadataInfrastructureId,
});
var myVmcluster = new Gcp.OracleDatabase.CloudVmCluster("my_vmcluster", new()
{
CloudVmClusterId = "my-instance",
DisplayName = "my-instance displayname",
Location = "us-east4",
Project = "my-project",
ExadataInfrastructure = cloudExadataInfrastructures.Id,
Network = @default.Apply(@default => @default.Apply(getNetworkResult => getNetworkResult.Id)),
Cidr = "10.5.0.0/24",
BackupSubnetCidr = "10.6.0.0/24",
Labels =
{
{ "label-one", "value-one" },
},
Properties = new Gcp.OracleDatabase.Inputs.CloudVmClusterPropertiesArgs
{
LicenseType = "LICENSE_INCLUDED",
SshPublicKeys = new[]
{
"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",
},
CpuCoreCount = 4,
GiVersion = "19.0.0.0",
TimeZone = new Gcp.OracleDatabase.Inputs.CloudVmClusterPropertiesTimeZoneArgs
{
Id = "UTC",
},
NodeCount = 2,
OcpuCount = 4,
DataStorageSizeTb = 2,
DbNodeStorageSizeGb = 120,
DbServerOcids = new[]
{
mydbserver.Apply(getDbServersResult => getDbServersResult.DbServers[0]?.Properties[0]?.Ocid),
mydbserver.Apply(getDbServersResult => getDbServersResult.DbServers[1]?.Properties[0]?.Ocid),
},
DiskRedundancy = "HIGH",
SparseDiskgroupEnabled = false,
LocalBackupEnabled = false,
ClusterName = "pq-ppat4",
HostnamePrefix = "hostname1",
DiagnosticsDataCollectionOptions = new Gcp.OracleDatabase.Inputs.CloudVmClusterPropertiesDiagnosticsDataCollectionOptionsArgs
{
DiagnosticsEventsEnabled = true,
HealthMonitoringEnabled = true,
IncidentLogsEnabled = true,
},
MemorySizeGb = 60,
},
DeletionProtection = true,
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/oracledatabase"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cloudExadataInfrastructures, err := oracledatabase.NewCloudExadataInfrastructure(ctx, "cloudExadataInfrastructures", &oracledatabase.CloudExadataInfrastructureArgs{
CloudExadataInfrastructureId: pulumi.String("my-exadata"),
DisplayName: pulumi.String("my-exadata displayname"),
Location: pulumi.String("us-east4"),
Project: pulumi.String("my-project"),
Properties: &oracledatabase.CloudExadataInfrastructurePropertiesArgs{
Shape: pulumi.String("Exadata.X9M"),
ComputeCount: pulumi.Int(2),
StorageCount: pulumi.Int(3),
},
DeletionProtection: pulumi.Bool(true),
})
if err != nil {
return err
}
_default, err := compute.LookupNetwork(ctx, &compute.LookupNetworkArgs{
Name: "new",
Project: pulumi.StringRef("my-project"),
}, nil)
if err != nil {
return err
}
mydbserver := oracledatabase.GetDbServersOutput(ctx, oracledatabase.GetDbServersOutputArgs{
Location: pulumi.String("us-east4"),
Project: pulumi.String("my-project"),
CloudExadataInfrastructure: cloudExadataInfrastructures.CloudExadataInfrastructureId,
}, nil)
_, err = oracledatabase.NewCloudVmCluster(ctx, "my_vmcluster", &oracledatabase.CloudVmClusterArgs{
CloudVmClusterId: pulumi.String("my-instance"),
DisplayName: pulumi.String("my-instance displayname"),
Location: pulumi.String("us-east4"),
Project: pulumi.String("my-project"),
ExadataInfrastructure: cloudExadataInfrastructures.ID(),
Network: pulumi.String(_default.Id),
Cidr: pulumi.String("10.5.0.0/24"),
BackupSubnetCidr: pulumi.String("10.6.0.0/24"),
Labels: pulumi.StringMap{
"label-one": pulumi.String("value-one"),
},
Properties: &oracledatabase.CloudVmClusterPropertiesArgs{
LicenseType: pulumi.String("LICENSE_INCLUDED"),
SshPublicKeys: pulumi.StringArray{
pulumi.String("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"),
},
CpuCoreCount: pulumi.Int(4),
GiVersion: pulumi.String("19.0.0.0"),
TimeZone: &oracledatabase.CloudVmClusterPropertiesTimeZoneArgs{
Id: pulumi.String("UTC"),
},
NodeCount: pulumi.Int(2),
OcpuCount: pulumi.Float64(4),
DataStorageSizeTb: pulumi.Float64(2),
DbNodeStorageSizeGb: pulumi.Int(120),
DbServerOcids: pulumi.StringArray{
mydbserver.ApplyT(func(mydbserver oracledatabase.GetDbServersResult) (*string, error) {
return &mydbserver.DbServers[0].Properties[0].Ocid, nil
}).(pulumi.StringPtrOutput),
mydbserver.ApplyT(func(mydbserver oracledatabase.GetDbServersResult) (*string, error) {
return &mydbserver.DbServers[1].Properties[0].Ocid, nil
}).(pulumi.StringPtrOutput),
},
DiskRedundancy: pulumi.String("HIGH"),
SparseDiskgroupEnabled: pulumi.Bool(false),
LocalBackupEnabled: pulumi.Bool(false),
ClusterName: pulumi.String("pq-ppat4"),
HostnamePrefix: pulumi.String("hostname1"),
DiagnosticsDataCollectionOptions: &oracledatabase.CloudVmClusterPropertiesDiagnosticsDataCollectionOptionsArgs{
DiagnosticsEventsEnabled: pulumi.Bool(true),
HealthMonitoringEnabled: pulumi.Bool(true),
IncidentLogsEnabled: pulumi.Bool(true),
},
MemorySizeGb: pulumi.Int(60),
},
DeletionProtection: pulumi.Bool(true),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.oracledatabase.CloudExadataInfrastructure;
import com.pulumi.gcp.oracledatabase.CloudExadataInfrastructureArgs;
import com.pulumi.gcp.oracledatabase.inputs.CloudExadataInfrastructurePropertiesArgs;
import com.pulumi.gcp.compute.ComputeFunctions;
import com.pulumi.gcp.compute.inputs.GetNetworkArgs;
import com.pulumi.gcp.oracledatabase.OracledatabaseFunctions;
import com.pulumi.gcp.oracledatabase.inputs.GetDbServersArgs;
import com.pulumi.gcp.oracledatabase.CloudVmCluster;
import com.pulumi.gcp.oracledatabase.CloudVmClusterArgs;
import com.pulumi.gcp.oracledatabase.inputs.CloudVmClusterPropertiesArgs;
import com.pulumi.gcp.oracledatabase.inputs.CloudVmClusterPropertiesTimeZoneArgs;
import com.pulumi.gcp.oracledatabase.inputs.CloudVmClusterPropertiesDiagnosticsDataCollectionOptionsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var cloudExadataInfrastructures = new CloudExadataInfrastructure("cloudExadataInfrastructures", CloudExadataInfrastructureArgs.builder()
.cloudExadataInfrastructureId("my-exadata")
.displayName("my-exadata displayname")
.location("us-east4")
.project("my-project")
.properties(CloudExadataInfrastructurePropertiesArgs.builder()
.shape("Exadata.X9M")
.computeCount(2)
.storageCount(3)
.build())
.deletionProtection(true)
.build());
final var default = ComputeFunctions.getNetwork(GetNetworkArgs.builder()
.name("new")
.project("my-project")
.build());
final var mydbserver = OracledatabaseFunctions.getDbServers(GetDbServersArgs.builder()
.location("us-east4")
.project("my-project")
.cloudExadataInfrastructure(cloudExadataInfrastructures.cloudExadataInfrastructureId())
.build());
var myVmcluster = new CloudVmCluster("myVmcluster", CloudVmClusterArgs.builder()
.cloudVmClusterId("my-instance")
.displayName("my-instance displayname")
.location("us-east4")
.project("my-project")
.exadataInfrastructure(cloudExadataInfrastructures.id())
.network(default_.id())
.cidr("10.5.0.0/24")
.backupSubnetCidr("10.6.0.0/24")
.labels(Map.of("label-one", "value-one"))
.properties(CloudVmClusterPropertiesArgs.builder()
.licenseType("LICENSE_INCLUDED")
.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")
.cpuCoreCount(4)
.giVersion("19.0.0.0")
.timeZone(CloudVmClusterPropertiesTimeZoneArgs.builder()
.id("UTC")
.build())
.nodeCount(2)
.ocpuCount(4.0)
.dataStorageSizeTb(2.0)
.dbNodeStorageSizeGb(120)
.dbServerOcids(
mydbserver.applyValue(_mydbserver -> _mydbserver.dbServers()[0].properties()[0].ocid()),
mydbserver.applyValue(_mydbserver -> _mydbserver.dbServers()[1].properties()[0].ocid()))
.diskRedundancy("HIGH")
.sparseDiskgroupEnabled(false)
.localBackupEnabled(false)
.clusterName("pq-ppat4")
.hostnamePrefix("hostname1")
.diagnosticsDataCollectionOptions(CloudVmClusterPropertiesDiagnosticsDataCollectionOptionsArgs.builder()
.diagnosticsEventsEnabled(true)
.healthMonitoringEnabled(true)
.incidentLogsEnabled(true)
.build())
.memorySizeGb(60)
.build())
.deletionProtection(true)
.build());
}
}
resources:
myVmcluster:
type: gcp:oracledatabase:CloudVmCluster
name: my_vmcluster
properties:
cloudVmClusterId: my-instance
displayName: my-instance displayname
location: us-east4
project: my-project
exadataInfrastructure: ${cloudExadataInfrastructures.id}
network: ${default.id}
cidr: 10.5.0.0/24
backupSubnetCidr: 10.6.0.0/24
labels:
label-one: value-one
properties:
licenseType: LICENSE_INCLUDED
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
cpuCoreCount: '4'
giVersion: 19.0.0.0
timeZone:
id: UTC
nodeCount: '2'
ocpuCount: '4.0'
dataStorageSizeTb: 2
dbNodeStorageSizeGb: 120
dbServerOcids:
- ${mydbserver.dbServers[0].properties[0].ocid}
- ${mydbserver.dbServers[1].properties[0].ocid}
diskRedundancy: HIGH
sparseDiskgroupEnabled: false
localBackupEnabled: false
clusterName: pq-ppat4
hostnamePrefix: hostname1
diagnosticsDataCollectionOptions:
diagnosticsEventsEnabled: true
healthMonitoringEnabled: true
incidentLogsEnabled: true
memorySizeGb: 60
deletionProtection: 'true'
cloudExadataInfrastructures:
type: gcp:oracledatabase:CloudExadataInfrastructure
properties:
cloudExadataInfrastructureId: my-exadata
displayName: my-exadata displayname
location: us-east4
project: my-project
properties:
shape: Exadata.X9M
computeCount: '2'
storageCount: '3'
deletionProtection: 'true'
variables:
default:
fn::invoke:
function: gcp:compute:getNetwork
arguments:
name: new
project: my-project
mydbserver:
fn::invoke:
function: gcp:oracledatabase:getDbServers
arguments:
location: us-east4
project: my-project
cloudExadataInfrastructure: ${cloudExadataInfrastructures.cloudExadataInfrastructureId}
Import
CloudVmCluster can be imported using any of these accepted formats:
projects/{{project}}/locations/{{location}}/cloudVmClusters/{{cloud_vm_cluster_id}}
{{project}}/{{location}}/{{cloud_vm_cluster_id}}
{{location}}/{{cloud_vm_cluster_id}}
When using thepulumi import
command, CloudVmCluster can be imported using one of the formats above. For example:
$ pulumi import gcp:oracledatabase/cloudVmCluster:CloudVmCluster default projects/{{project}}/locations/{{location}}/cloudVmClusters/{{cloud_vm_cluster_id}}
$ pulumi import gcp:oracledatabase/cloudVmCluster:CloudVmCluster default {{project}}/{{location}}/{{cloud_vm_cluster_id}}
$ pulumi import gcp:oracledatabase/cloudVmCluster:CloudVmCluster default {{location}}/{{cloud_vm_cluster_id}}
Properties
CIDR range of the backup subnet.
The ID of the VM Cluster 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.
The date and time that the VM cluster was created.
User friendly name for this resource.
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
The name of the Exadata Infrastructure resource on which VM cluster resource is created, in the following format: projects/{project}/locations/{region}/cloudExadataInfrastuctures/{cloud_extradata_infrastructure}
GCP location where Oracle Exadata is hosted. It is same as GCP Oracle zone of Exadata infrastructure.
Various properties and settings associated with Exadata VM cluster. Structure is documented below.
The combination of labels configured directly on the resource and default labels configured on the provider.