Class: AWSCDK::RDS::CfnCustomDBEngineVersionProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
rds/cfn_custom_db_engine_version_props.rb

Overview

Properties for defining a CfnCustomDBEngineVersion.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(engine:, engine_version:, database_installation_files: nil, database_installation_files_s3_bucket_name: nil, database_installation_files_s3_prefix: nil, description: nil, image_id: nil, kms_key_id: nil, manifest: nil, source_custom_db_engine_version_identifier: nil, status: nil, tags: nil, use_aws_provided_latest_image: nil) ⇒ CfnCustomDBEngineVersionProps

Returns a new instance of CfnCustomDBEngineVersionProps.

Parameters:

  • engine (String)

    The database engine to use for your custom engine version (CEV).

  • engine_version (String)

    The name of your CEV.

  • database_installation_files (Array<String>, nil) (defaults to: nil)
  • database_installation_files_s3_bucket_name (String, nil) (defaults to: nil)

    The name of an Amazon S3 bucket that contains database installation files for your CEV.

  • database_installation_files_s3_prefix (String, nil) (defaults to: nil)

    The Amazon S3 directory that contains the database installation files for your CEV.

  • description (String, nil) (defaults to: nil)

    An optional description of your CEV.

  • image_id (String, nil) (defaults to: nil)

    A value that indicates the ID of the AMI.

  • kms_key_id (String, nil) (defaults to: nil)

    The AWS KMS key identifier for an encrypted CEV.

  • manifest (String, nil) (defaults to: nil)

    The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which they are listed.

  • source_custom_db_engine_version_identifier (String, nil) (defaults to: nil)

    The ARN of a CEV to use as a source for creating a new CEV.

  • status (String, nil) (defaults to: nil)

    A value that indicates the status of a custom engine version (CEV).

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    A list of tags.

  • use_aws_provided_latest_image (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Specifies whether to use the latest service-provided Amazon Machine Image (AMI) for the CEV.



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'rds/cfn_custom_db_engine_version_props.rb', line 22

def initialize(engine:, engine_version:, database_installation_files: nil, database_installation_files_s3_bucket_name: nil, database_installation_files_s3_prefix: nil, description: nil, image_id: nil, kms_key_id: nil, manifest: nil, source_custom_db_engine_version_identifier: nil, status: nil, tags: nil, use_aws_provided_latest_image: nil)
  @engine = engine
  Jsii::Type.check_type(@engine, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "engine")
  @engine_version = engine_version
  Jsii::Type.check_type(@engine_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "engineVersion")
  @database_installation_files = database_installation_files
  Jsii::Type.check_type(@database_installation_files, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "databaseInstallationFiles") unless @database_installation_files.nil?
  @database_installation_files_s3_bucket_name = database_installation_files_s3_bucket_name
  Jsii::Type.check_type(@database_installation_files_s3_bucket_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "databaseInstallationFilesS3BucketName") unless @database_installation_files_s3_bucket_name.nil?
  @database_installation_files_s3_prefix = database_installation_files_s3_prefix
  Jsii::Type.check_type(@database_installation_files_s3_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "databaseInstallationFilesS3Prefix") unless @database_installation_files_s3_prefix.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @image_id = image_id
  Jsii::Type.check_type(@image_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "imageId") unless @image_id.nil?
  @kms_key_id = kms_key_id
  Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless @kms_key_id.nil?
  @manifest = manifest
  Jsii::Type.check_type(@manifest, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "manifest") unless @manifest.nil?
  @source_custom_db_engine_version_identifier = source_custom_db_engine_version_identifier
  Jsii::Type.check_type(@source_custom_db_engine_version_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sourceCustomDbEngineVersionIdentifier") unless @source_custom_db_engine_version_identifier.nil?
  @status = status
  Jsii::Type.check_type(@status, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "status") unless @status.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @use_aws_provided_latest_image = use_aws_provided_latest_image
  Jsii::Type.check_type(@use_aws_provided_latest_image, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "useAwsProvidedLatestImage") unless @use_aws_provided_latest_image.nil?
end

Instance Attribute Details

#database_installation_filesArray<String>? (readonly)



74
75
76
# File 'rds/cfn_custom_db_engine_version_props.rb', line 74

def database_installation_files
  @database_installation_files
end

#database_installation_files_s3_bucket_nameString? (readonly)

The name of an Amazon S3 bucket that contains database installation files for your CEV.

For example, a valid bucket name is my-custom-installation-files .



81
82
83
# File 'rds/cfn_custom_db_engine_version_props.rb', line 81

def database_installation_files_s3_bucket_name
  @database_installation_files_s3_bucket_name
end

#database_installation_files_s3_prefixString? (readonly)

The Amazon S3 directory that contains the database installation files for your CEV.

For example, a valid bucket name is 123456789012/cev1 . If this setting isn't specified, no prefix is assumed.



88
89
90
# File 'rds/cfn_custom_db_engine_version_props.rb', line 88

def database_installation_files_s3_prefix
  @database_installation_files_s3_prefix
end

#descriptionString? (readonly)

An optional description of your CEV.



93
94
95
# File 'rds/cfn_custom_db_engine_version_props.rb', line 93

def description
  @description
end

#engineString (readonly)

The database engine to use for your custom engine version (CEV).

Valid values:

  • custom-oracle-ee
  • custom-oracle-ee-cdb


60
61
62
# File 'rds/cfn_custom_db_engine_version_props.rb', line 60

def engine
  @engine
end

#engine_versionString (readonly)

The name of your CEV.

The name format is major version.customized_string . For example, a valid CEV name is 19.my_cev1 . This setting is required for RDS Custom for Oracle, but optional for Amazon RDS. The combination of Engine and EngineVersion is unique per customer per Region.

Constraints: Minimum length is 1. Maximum length is 60.

Pattern: ^[a-z0-9_.-]{1,60$ }



71
72
73
# File 'rds/cfn_custom_db_engine_version_props.rb', line 71

def engine_version
  @engine_version
end

#image_idString? (readonly)

A value that indicates the ID of the AMI.



98
99
100
# File 'rds/cfn_custom_db_engine_version_props.rb', line 98

def image_id
  @image_id
end

#kms_key_idString? (readonly)

The AWS KMS key identifier for an encrypted CEV.

A symmetric encryption KMS key is required for RDS Custom, but optional for Amazon RDS.

If you have an existing symmetric encryption KMS key in your account, you can use it with RDS Custom. No further action is necessary. If you don't already have a symmetric encryption KMS key in your account, follow the instructions in Creating a symmetric encryption KMS key in the AWS Key Management Service Developer Guide .

You can choose the same symmetric encryption key when you create a CEV and a DB instance, or choose different keys.



109
110
111
# File 'rds/cfn_custom_db_engine_version_props.rb', line 109

def kms_key_id
  @kms_key_id
end

#manifestString? (readonly)

The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which they are listed.

The following JSON fields are valid:

  • MediaImportTemplateVersion - Version of the CEV manifest. The date is in the format YYYY-MM-DD .
  • databaseInstallationFileNames - Ordered list of installation files for the CEV.
  • opatchFileNames - Ordered list of OPatch installers used for the Oracle DB engine.
  • psuRuPatchFileNames - The PSU and RU patches for this CEV.
  • OtherPatchFileNames - The patches that are not in the list of PSU and RU patches. Amazon RDS applies these patches after applying the PSU and RU patches.

For more information, see Creating the CEV manifest in the Amazon RDS User Guide .



124
125
126
# File 'rds/cfn_custom_db_engine_version_props.rb', line 124

def manifest
  @manifest
end

#source_custom_db_engine_version_identifierString? (readonly)

The ARN of a CEV to use as a source for creating a new CEV.

You can specify a different Amazon Machine Imagine (AMI) by using either Source or UseAwsProvidedLatestImage . You can't specify a different JSON manifest when you specify SourceCustomDbEngineVersionIdentifier .



131
132
133
# File 'rds/cfn_custom_db_engine_version_props.rb', line 131

def source_custom_db_engine_version_identifier
  @source_custom_db_engine_version_identifier
end

#statusString? (readonly)

Note:

Default: - "available"

A value that indicates the status of a custom engine version (CEV).



137
138
139
# File 'rds/cfn_custom_db_engine_version_props.rb', line 137

def status
  @status
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

A list of tags.

For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.



144
145
146
# File 'rds/cfn_custom_db_engine_version_props.rb', line 144

def tags
  @tags
end

#use_aws_provided_latest_imageBoolean, ... (readonly)

Specifies whether to use the latest service-provided Amazon Machine Image (AMI) for the CEV.

If you specify UseAwsProvidedLatestImage , you can't also specify ImageId .



151
152
153
# File 'rds/cfn_custom_db_engine_version_props.rb', line 151

def use_aws_provided_latest_image
  @use_aws_provided_latest_image
end

Class Method Details

.jsii_propertiesObject



153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'rds/cfn_custom_db_engine_version_props.rb', line 153

def self.jsii_properties
  {
    :engine => "engine",
    :engine_version => "engineVersion",
    :database_installation_files => "databaseInstallationFiles",
    :database_installation_files_s3_bucket_name => "databaseInstallationFilesS3BucketName",
    :database_installation_files_s3_prefix => "databaseInstallationFilesS3Prefix",
    :description => "description",
    :image_id => "imageId",
    :kms_key_id => "kmsKeyId",
    :manifest => "manifest",
    :source_custom_db_engine_version_identifier => "sourceCustomDbEngineVersionIdentifier",
    :status => "status",
    :tags => "tags",
    :use_aws_provided_latest_image => "useAwsProvidedLatestImage",
  }
end

Instance Method Details

#to_jsiiObject



171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
# File 'rds/cfn_custom_db_engine_version_props.rb', line 171

def to_jsii
  result = {}
  result.merge!({
    "engine" => @engine,
    "engineVersion" => @engine_version,
    "databaseInstallationFiles" => @database_installation_files,
    "databaseInstallationFilesS3BucketName" => @database_installation_files_s3_bucket_name,
    "databaseInstallationFilesS3Prefix" => @database_installation_files_s3_prefix,
    "description" => @description,
    "imageId" => @image_id,
    "kmsKeyId" => @kms_key_id,
    "manifest" => @manifest,
    "sourceCustomDbEngineVersionIdentifier" => @source_custom_db_engine_version_identifier,
    "status" => @status,
    "tags" => @tags,
    "useAwsProvidedLatestImage" => @use_aws_provided_latest_image,
  })
  result.compact
end