Class CloudVmCluster


  • public class CloudVmCluster
    extends com.pulumi.resources.CustomResource
    Terraform to manage cloud vm cluster resource in AWS for Oracle Database@AWS. If underlying odb network and cloud exadata infrastructure is shared, ARN must be used while creating VM cluster. You can find out more about Oracle Database@AWS from [User Guide](https://docs.aws.amazon.com/odb/latest/UserGuide/what-is-odb.html). ## Example Usage ### Basic Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.odb.CloudVmCluster;
     import com.pulumi.aws.odb.CloudVmClusterArgs;
     import com.pulumi.aws.odb.inputs.CloudVmClusterDataCollectionOptionsArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     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 withMinimumParameter = new CloudVmCluster("withMinimumParameter", CloudVmClusterArgs.builder()
                 .dataCollectionOptions(CloudVmClusterDataCollectionOptionsArgs.builder()
                     .isDiagnosticsEventsEnabled(false)
                     .isHealthMonitoringEnabled(false)
                     .isIncidentLogsEnabled(false)
                     .build())
                 .displayName("my_vm_cluster")
                 .cloudExadataInfrastructureId("<aws_odb_cloud_exadata_infrastructure_id>")
                 .cpuCoreCount(6)
                 .giVersion("23.0.0.0")
                 .hostnamePrefix("apollo12")
                 .sshPublicKeys("public-ssh-key")
                 .odbNetworkId("<aws_odb_network_id>")
                 .isLocalBackupEnabled(true)
                 .isSparseDiskgroupEnabled(true)
                 .licenseModel("LICENSE_INCLUDED")
                 .dataStorageSizeInTbs(20.0)
                 .dbServers(            
                     "db-server-1",
                     "db-server-2")
                 .dbNodeStorageSizeInGbs(120)
                 .memorySizeInGbs(60)
                 .build());
     
         }
     }
     
     
    ### With Optional Arguments
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.odb.CloudVmCluster;
     import com.pulumi.aws.odb.CloudVmClusterArgs;
     import com.pulumi.aws.odb.inputs.CloudVmClusterDataCollectionOptionsArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     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 withAllParameters = new CloudVmCluster("withAllParameters", CloudVmClusterArgs.builder()
                 .dataCollectionOptions(CloudVmClusterDataCollectionOptionsArgs.builder()
                     .isDiagnosticsEventsEnabled(true)
                     .isHealthMonitoringEnabled(true)
                     .isIncidentLogsEnabled(true)
                     .build())
                 .displayName("my_vm_cluster")
                 .cloudExadataInfrastructureId("<aws_odb_cloud_exadata_infrastructure_id>")
                 .cpuCoreCount(6)
                 .giVersion("23.0.0.0")
                 .hostnamePrefix("apollo12")
                 .sshPublicKeys("my-ssh-key")
                 .odbNetworkId("<aws_odb_network_id>")
                 .isLocalBackupEnabled(true)
                 .isSparseDiskgroupEnabled(true)
                 .licenseModel("LICENSE_INCLUDED")
                 .dataStorageSizeInTbs(20.0)
                 .dbServers(            
                     "my-dbserver-1",
                     "my-db-server-2")
                 .dbNodeStorageSizeInGbs(120)
                 .memorySizeInGbs(60)
                 .clusterName("julia-13")
                 .timezone("UTC")
                 .scanListenerPortTcp(1521)
                 .tags(Map.of("env", "dev"))
                 .build());
     
         }
     }
     
     
    ### With GI Version Tag
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.odb.CloudVmCluster;
     import com.pulumi.aws.odb.CloudVmClusterArgs;
     import com.pulumi.aws.odb.inputs.CloudVmClusterDataCollectionOptionsArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     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 giVersionTagExample = new CloudVmCluster("giVersionTagExample", CloudVmClusterArgs.builder()
                 .dataCollectionOptions(CloudVmClusterDataCollectionOptionsArgs.builder()
                     .isDiagnosticsEventsEnabled(true)
                     .isHealthMonitoringEnabled(true)
                     .isIncidentLogsEnabled(true)
                     .build())
                 .displayName("my_vm_cluster")
                 .cloudExadataInfrastructureId("<aws_odb_cloud_exadata_infrastructure_id>")
                 .cpuCoreCount(6)
                 .giVersion("23.0.0.0")
                 .hostnamePrefix("apollo12")
                 .sshPublicKeys("my-ssh-key")
                 .odbNetworkId("<aws_odb_network_id>")
                 .isLocalBackupEnabled(true)
                 .isSparseDiskgroupEnabled(true)
                 .licenseModel("LICENSE_INCLUDED")
                 .dataStorageSizeInTbs(20.0)
                 .dbServers(            
                     "my-dbserver-1",
                     "my-db-server-2")
                 .dbNodeStorageSizeInGbs(120)
                 .memorySizeInGbs(60)
                 .clusterName("julia-13")
                 .timezone("UTC")
                 .scanListenerPortTcp(1521)
                 .tags(Map.of("odb:input_gi_version", "23.0.0.0"))
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import cloud vm cluster using the `id`. For example: ```sh $ pulumi import aws:odb/cloudVmCluster:CloudVmCluster example example ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Constructor Detail

      • CloudVmCluster

        public CloudVmCluster​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • CloudVmCluster

        public CloudVmCluster​(java.lang.String name,
                              CloudVmClusterArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • CloudVmCluster

        public CloudVmCluster​(java.lang.String name,
                              CloudVmClusterArgs args,
                              @Nullable
                              com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        ARN for the cloud vm cluster.
      • cloudExadataInfrastructureArn

        public com.pulumi.core.Output<java.lang.String> cloudExadataInfrastructureArn()
        Returns:
        ARN of the Exadata infrastructure for this VM cluster. Changing this will create a new resource. Either the combination of cloudExadataInfrastructureId and odbNetworkId or cloudExadataInfrastructureArn and odbNetworkArn must be used.
      • cloudExadataInfrastructureId

        public com.pulumi.core.Output<java.lang.String> cloudExadataInfrastructureId()
        Returns:
        Unique identifier of the Exadata infrastructure for this VM cluster. Changing this will create a new resource. Either the combination of cloudExadataInfrastructureId and odbNetworkId or cloudExadataInfrastructureArn and odbNetworkArn must be used.
      • clusterName

        public com.pulumi.core.Output<java.lang.String> clusterName()
        Returns:
        Name of the Grid Infrastructure (GI) cluster. Changing this will create a new resource.
      • computeModel

        public com.pulumi.core.Output<java.lang.String> computeModel()
        Returns:
        Compute model used when the instance is created or cloned — either ECPU or OCPU. ECPU is a virtualized compute unit; OCPU is a physical processor core with hyper-threading.
      • cpuCoreCount

        public com.pulumi.core.Output<java.lang.Integer> cpuCoreCount()
        Returns:
        Number of CPU cores to enable on the VM cluster. Changing this will create a new resource.
      • createdAt

        public com.pulumi.core.Output<java.lang.String> createdAt()
        Returns:
        Timestamp when the VM cluster was created.
      • dataCollectionOptions

        public com.pulumi.core.Output<CloudVmClusterDataCollectionOptions> dataCollectionOptions()
        Returns:
        Set of preferences for the various diagnostic collection options for the VM cluster. See `dataCollectionOptions` Block below. Changing this will create a new resource.
      • dataStorageSizeInTbs

        public com.pulumi.core.Output<java.lang.Double> dataStorageSizeInTbs()
        Returns:
        Size of the data disk group, in terabytes (TBs), to allocate for the VM cluster. Changing this will create a new resource.
      • dbNodeStorageSizeInGbs

        public com.pulumi.core.Output<java.lang.Integer> dbNodeStorageSizeInGbs()
        Returns:
        Amount of local node storage, in gigabytes (GBs), to allocate for the VM cluster. Changing this will create a new resource.
      • dbServers

        public com.pulumi.core.Output<java.util.List<java.lang.String>> dbServers()
        Returns:
        List of database servers for the VM cluster. Changing this will create a new resource.
      • diskRedundancy

        public com.pulumi.core.Output<java.lang.String> diskRedundancy()
        Returns:
        Type of redundancy for the VM cluster: NORMAL (2-way) or HIGH (3-way).
      • displayName

        public com.pulumi.core.Output<java.lang.String> displayName()
        Returns:
        User-friendly name for the VM cluster. Changing this will create a new resource.
      • domain

        public com.pulumi.core.Output<java.lang.String> domain()
        Returns:
        Domain name associated with the VM cluster.
      • giVersion

        public com.pulumi.core.Output<java.lang.String> giVersion()
        Returns:
        Valid Oracle Grid Infrastructure (GI) software version. To get valid values, use the ListGiVersions operation for the Exadata infrastructure shape. Example: `19.0.0.0`. Changing this creates a new resource. Prefer to provide `odb:input_gi_version` tag. If `odb:input_gi_version` tag is provided, its value must exactly match `giVersion`, otherwise Terraform returns an error. See the `With GI Version Tag` example above.
      • giVersionComputed

        public com.pulumi.core.Output<java.lang.String> giVersionComputed()
        Returns:
        Complete software version of Oracle Grid Infrastructure (GI).
      • hostnamePrefix

        public com.pulumi.core.Output<java.lang.String> hostnamePrefix()
        Returns:
        Host name prefix for the VM cluster. Constraints: - Can't be "localhost" or "hostname". - Can't contain "-version". - Maximum length of the combined hostname and domain is 63 characters. - Hostname must be unique within the subnet. Changing this will create a new resource.
      • hostnamePrefixComputed

        public com.pulumi.core.Output<java.lang.String> hostnamePrefixComputed()
        Returns:
        Host name for the VM cluster. Constraints: - Can't be "localhost" or "hostname". - Can't contain "-version". - Maximum length of the combined hostname and domain is 63 characters. - Hostname must be unique within the subnet.
      • iormConfigCaches

        public com.pulumi.core.Output<java.util.List<CloudVmClusterIormConfigCache>> iormConfigCaches()
        Returns:
        Exadata IORM (I/O Resource Manager) configuration cache details for the VM cluster. See `iormConfigCache` Block below.
      • isLocalBackupEnabled

        public com.pulumi.core.Output<java.lang.Boolean> isLocalBackupEnabled()
        Returns:
        Whether to enable database backups to local Exadata storage for the VM cluster. Changing this will create a new resource.
      • isSparseDiskgroupEnabled

        public com.pulumi.core.Output<java.lang.Boolean> isSparseDiskgroupEnabled()
        Returns:
        Whether to create a sparse disk group for the VM cluster. Changing this will create a new resource.
      • lastUpdateHistoryEntryId

        public com.pulumi.core.Output<java.lang.String> lastUpdateHistoryEntryId()
        Returns:
        OCID of the most recent maintenance update history entry.
      • licenseModel

        public com.pulumi.core.Output<java.lang.String> licenseModel()
        Returns:
        Oracle license model to apply to the VM cluster. Default: LICENSE_INCLUDED. Changing this will create a new resource.
      • listenerPort

        public com.pulumi.core.Output<java.lang.Integer> listenerPort()
        Returns:
        Listener port number configured on the VM cluster.
      • memorySizeInGbs

        public com.pulumi.core.Output<java.lang.Integer> memorySizeInGbs()
        Returns:
        Amount of memory, in gigabytes (GBs), to allocate for the VM cluster. Changing this will create a new resource.
      • nodeCount

        public com.pulumi.core.Output<java.lang.Integer> nodeCount()
        Returns:
        Total number of nodes in the VM cluster.
      • ociResourceAnchorName

        public com.pulumi.core.Output<java.lang.String> ociResourceAnchorName()
        Returns:
        Name of the OCI resource anchor associated with the VM cluster.
      • ociUrl

        public com.pulumi.core.Output<java.lang.String> ociUrl()
        Returns:
        HTTPS link to the VM cluster resource in OCI.
      • ocid

        public com.pulumi.core.Output<java.lang.String> ocid()
        Returns:
        OCID (Oracle Cloud Identifier) of the VM cluster.
      • odbNetworkArn

        public com.pulumi.core.Output<java.lang.String> odbNetworkArn()
        Returns:
        ARN of the ODB network for the VM cluster. Changing this will create a new resource. Either the combination of cloudExadataInfrastructureId and odbNetworkId or cloudExadataInfrastructureArn and odbNetworkArn must be used.
      • odbNetworkId

        public com.pulumi.core.Output<java.lang.String> odbNetworkId()
        Returns:
        Unique identifier of the ODB network for the VM cluster. Changing this will create a new resource. Either the combination of cloudExadataInfrastructureId and odbNetworkId or cloudExadataInfrastructureArn and odbNetworkArn must be used.
      • percentProgress

        public com.pulumi.core.Output<java.lang.Double> percentProgress()
        Returns:
        Percentage of progress made on the current operation for the VM cluster.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • scanDnsName

        public com.pulumi.core.Output<java.lang.String> scanDnsName()
        Returns:
        Fully qualified domain name (FQDN) for the SCAN IP addresses associated with the VM cluster.
      • scanDnsRecordId

        public com.pulumi.core.Output<java.lang.String> scanDnsRecordId()
        Returns:
        OCID of the DNS record for the SCAN IPs linked to the VM cluster.
      • scanIpIds

        public com.pulumi.core.Output<java.util.List<java.lang.String>> scanIpIds()
        Returns:
        List of OCIDs for SCAN IP addresses associated with the VM cluster.
      • scanListenerPortTcp

        public com.pulumi.core.Output<java.lang.Integer> scanListenerPortTcp()
        Returns:
        Port number for TCP connections to the single client access name (SCAN) listener. Valid values: 1024–8999, except 2484, 6100, 6200, 7060, 7070, 7085, and 7879. Default: 1521. Changing this will create a new resource.
      • shape

        public com.pulumi.core.Output<java.lang.String> shape()
        Returns:
        Hardware model name of the Exadata infrastructure running the VM cluster.
      • sshPublicKeys

        public com.pulumi.core.Output<java.util.List<java.lang.String>> sshPublicKeys()
        Returns:
        Public key portion of one or more key pairs used for SSH access to the VM cluster. Changing this will create a new resource. The following arguments are optional:
      • status

        public com.pulumi.core.Output<java.lang.String> status()
        Returns:
        Current lifecycle status of the VM cluster.
      • statusReason

        public com.pulumi.core.Output<java.lang.String> statusReason()
        Returns:
        Additional information regarding the current status of the VM cluster.
      • storageSizeInGbs

        public com.pulumi.core.Output<java.lang.Integer> storageSizeInGbs()
        Returns:
        Local node storage allocated to the VM cluster, in gigabytes (GB).
      • systemVersion

        public com.pulumi.core.Output<java.lang.String> systemVersion()
        Returns:
        Operating system version of the image chosen for the VM cluster.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Map of tags to assign to the exadata infrastructure. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        Combined set of user-defined and provider-defined tags.
      • timezone

        public com.pulumi.core.Output<java.lang.String> timezone()
        Returns:
        Configured time zone of the VM cluster. Changing this will create a new resource.
      • vipIds

        public com.pulumi.core.Output<java.util.List<java.lang.String>> vipIds()
        Returns:
        Virtual IP (VIP) addresses assigned to the VM cluster. CRS assigns one VIP per node for failover support.
      • get

        public static CloudVmCluster get​(java.lang.String name,
                                         com.pulumi.core.Output<java.lang.String> id,
                                         @Nullable
                                         CloudVmClusterState state,
                                         @Nullable
                                         com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.