Class CustomDbEngineVersion


  • public class CustomDbEngineVersion
    extends com.pulumi.resources.CustomResource
    Provides an custom engine version (CEV) resource for Amazon RDS Custom. For additional information, see [Working with CEVs for RDS Custom for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html) and [Working with CEVs for RDS Custom for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev-sqlserver.html) in the the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html). ## Example Usage ### RDS Custom for Oracle Usage <!--Start PulumiCodeChooser -->
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.kms.Key;
     import com.pulumi.aws.kms.KeyArgs;
     import com.pulumi.aws.rds.CustomDbEngineVersion;
     import com.pulumi.aws.rds.CustomDbEngineVersionArgs;
     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 example = new Key("example", KeyArgs.builder()
                 .description("KMS symmetric key for RDS Custom for Oracle")
                 .build());
     
             var exampleCustomDbEngineVersion = new CustomDbEngineVersion("exampleCustomDbEngineVersion", CustomDbEngineVersionArgs.builder()
                 .databaseInstallationFilesS3BucketName("DOC-EXAMPLE-BUCKET")
                 .databaseInstallationFilesS3Prefix("1915_GI/")
                 .engine("custom-oracle-ee-cdb")
                 .engineVersion("19.cdb_cev1")
                 .kmsKeyId(example.arn())
                 .manifest("""
       {
     	"databaseInstallationFileNames":["V982063-01.zip"]
       }
                 """)
                 .tags(Map.ofEntries(
                     Map.entry("Name", "example"),
                     Map.entry("Key", "value")
                 ))
                 .build());
     
         }
     }
     
     
    <!--End PulumiCodeChooser --> ### RDS Custom for Oracle External Manifest Usage <!--Start PulumiCodeChooser -->
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.kms.Key;
     import com.pulumi.aws.kms.KeyArgs;
     import com.pulumi.aws.rds.CustomDbEngineVersion;
     import com.pulumi.aws.rds.CustomDbEngineVersionArgs;
     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 example = new Key("example", KeyArgs.builder()
                 .description("KMS symmetric key for RDS Custom for Oracle")
                 .build());
     
             var exampleCustomDbEngineVersion = new CustomDbEngineVersion("exampleCustomDbEngineVersion", CustomDbEngineVersionArgs.builder()
                 .databaseInstallationFilesS3BucketName("DOC-EXAMPLE-BUCKET")
                 .databaseInstallationFilesS3Prefix("1915_GI/")
                 .engine("custom-oracle-ee-cdb")
                 .engineVersion("19.cdb_cev1")
                 .kmsKeyId(example.arn())
                 .filename("manifest_1915_GI.json")
                 .manifestHash(StdFunctions.filebase64sha256(Filebase64sha256Args.builder()
                     .input(json)
                     .build()).result())
                 .tags(Map.ofEntries(
                     Map.entry("Name", "example"),
                     Map.entry("Key", "value")
                 ))
                 .build());
     
         }
     }
     
     
    <!--End PulumiCodeChooser --> ### RDS Custom for SQL Server Usage <!--Start PulumiCodeChooser -->
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.rds.CustomDbEngineVersion;
     import com.pulumi.aws.rds.CustomDbEngineVersionArgs;
     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) {
             // CEV creation requires an AMI owned by the operator
             var test = new CustomDbEngineVersion("test", CustomDbEngineVersionArgs.builder()
                 .engine("custom-sqlserver-se")
                 .engineVersion("15.00.4249.2.cev-1")
                 .sourceImageId("ami-0aa12345678a12ab1")
                 .build());
     
         }
     }
     
     
    <!--End PulumiCodeChooser --> ### RDS Custom for SQL Server Usage with AMI from another region <!--Start PulumiCodeChooser -->
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.ec2.AmiCopy;
     import com.pulumi.aws.ec2.AmiCopyArgs;
     import com.pulumi.aws.rds.CustomDbEngineVersion;
     import com.pulumi.aws.rds.CustomDbEngineVersionArgs;
     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 example = new AmiCopy("example", AmiCopyArgs.builder()
                 .name("sqlserver-se-2019-15.00.4249.2")
                 .description("A copy of ami-xxxxxxxx")
                 .sourceAmiId("ami-xxxxxxxx")
                 .sourceAmiRegion("us-east-1")
                 .build());
     
             // CEV creation requires an AMI owned by the operator
             var test = new CustomDbEngineVersion("test", CustomDbEngineVersionArgs.builder()
                 .engine("custom-sqlserver-se")
                 .engineVersion("15.00.4249.2.cev-1")
                 .sourceImageId(example.id())
                 .build());
     
         }
     }
     
     
    <!--End PulumiCodeChooser --> ## Import Using `pulumi import`, import custom engine versions for Amazon RDS custom using the `engine` and `engine_version` separated by a colon (`:`). For example: ```sh $ pulumi import aws:rds/customDbEngineVersion:CustomDbEngineVersion example custom-oracle-ee-cdb:19.cdb_cev1 ```
    • 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
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.pulumi.core.Output<java.lang.String> arn()  
      com.pulumi.core.Output<java.lang.String> createTime()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> databaseInstallationFilesS3BucketName()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> databaseInstallationFilesS3Prefix()  
      com.pulumi.core.Output<java.lang.String> dbParameterGroupFamily()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()  
      com.pulumi.core.Output<java.lang.String> engine()  
      com.pulumi.core.Output<java.lang.String> engineVersion()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> filename()  
      static CustomDbEngineVersion get​(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, CustomDbEngineVersionState state, 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.
      com.pulumi.core.Output<java.lang.String> imageId()  
      com.pulumi.core.Output<java.lang.String> kmsKeyId()  
      com.pulumi.core.Output<java.lang.String> majorEngineVersion()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> manifest()  
      com.pulumi.core.Output<java.lang.String> manifestComputed()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> manifestHash()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> sourceImageId()  
      com.pulumi.core.Output<java.lang.String> status()  
      com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()  
      com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, id, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn, pulumiChildResources, pulumiResourceName, pulumiResourceType, urn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CustomDbEngineVersion

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

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

        public CustomDbEngineVersion​(java.lang.String name,
                                     CustomDbEngineVersionArgs 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:
        The Amazon Resource Name (ARN) for the custom engine version.
      • createTime

        public com.pulumi.core.Output<java.lang.String> createTime()
        Returns:
        The date and time that the CEV was created.
      • databaseInstallationFilesS3BucketName

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> databaseInstallationFilesS3BucketName()
        Returns:
        The name of the Amazon S3 bucket that contains the database installation files.
      • databaseInstallationFilesS3Prefix

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> databaseInstallationFilesS3Prefix()
        Returns:
        The prefix for the Amazon S3 bucket that contains the database installation files.
      • dbParameterGroupFamily

        public com.pulumi.core.Output<java.lang.String> dbParameterGroupFamily()
        Returns:
        The name of the DB parameter group family for the CEV.
      • description

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
        Returns:
        The description of the CEV.
      • engine

        public com.pulumi.core.Output<java.lang.String> engine()
        Returns:
        The name of the database engine. Valid values are `custom-oracle*`, `custom-sqlserver*`.
      • engineVersion

        public com.pulumi.core.Output<java.lang.String> engineVersion()
        Returns:
        The version of the database engine.
      • filename

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> filename()
        Returns:
        The name of the manifest file within the local filesystem. Conflicts with `manifest`.
      • imageId

        public com.pulumi.core.Output<java.lang.String> imageId()
        Returns:
        The ID of the AMI that was created with the CEV.
      • kmsKeyId

        public com.pulumi.core.Output<java.lang.String> kmsKeyId()
        Returns:
        The ARN of the AWS KMS key that is used to encrypt the database installation files. Required for RDS Custom for Oracle.
      • majorEngineVersion

        public com.pulumi.core.Output<java.lang.String> majorEngineVersion()
        Returns:
        The major version of the database engine.
      • manifest

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> manifest()
        Returns:
        The manifest file, in JSON format, that contains the list of database installation files. Conflicts with `filename`.
      • manifestComputed

        public com.pulumi.core.Output<java.lang.String> manifestComputed()
        Returns:
        The returned manifest file, in JSON format, service generated and often different from input `manifest`.
      • manifestHash

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> manifestHash()
        Returns:
        Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the manifest source specified with `filename`. The usual way to set this is filebase64sha256("manifest.json") where "manifest.json" is the local filename of the manifest source.
      • sourceImageId

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> sourceImageId()
        Returns:
        The ID of the AMI to create the CEV from. Required for RDS Custom for SQL Server. For RDS Custom for Oracle, you can specify an AMI ID that was used in a different Oracle CEV.
      • status

        public com.pulumi.core.Output<java.lang.String> status()
        Returns:
        The status of the CEV. Valid values are `available`, `inactive`, `inactive-except-restore`.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        A mapping of tags to assign to the resource. If configured with a provider `default_tags` 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:
        A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
      • get

        public static CustomDbEngineVersion get​(java.lang.String name,
                                                com.pulumi.core.Output<java.lang.String> id,
                                                @Nullable
                                                CustomDbEngineVersionState 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.