customdb_engine_versions
Creates, updates, deletes or gets a customdb_engine_version resource or lists customdb_engine_versions in a region
Overview
| Name | customdb_engine_versions |
| Type | Resource |
| Description | Creates a custom DB engine version (CEV). |
| Id | awscc.rds.customdb_engine_versions |
Fields
| Name | Datatype | Description |
|---|---|---|
database_installation_files_s3_bucket_name | string | 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``. |
database_installation_files_s3_prefix | string | 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. |
description | string | An optional description of your CEV. |
engine | string | The database engine to use for your custom engine version (CEV).<br />Valid values:<br />+ ``custom-oracle-ee`` <br />+ ``custom-oracle-ee-cdb`` |
engine_version | string | 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.<br />*Constraints:* Minimum length is 1. Maximum length is 60.<br />*Pattern:*``^[a-z0-9_.-]{1,60$``} |
kms_key_id | string | The AWS KMS key identifier for an encrypted CEV. A symmetric encryption KMS key is required for RDS Custom, but optional for Amazon RDS.<br />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](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) in the *Key Management Service Developer Guide*.<br />You can choose the same symmetric encryption key when you create a CEV and a DB instance, or choose different keys. |
manifest | string | 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.<br />The following JSON fields are valid:<br />+ 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. <br />For more information, see [Creating the CEV manifest](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest) in the *Amazon RDS User Guide*. |
db_engine_version_arn | string | |
source_custom_db_engine_version_identifier | string | 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``. |
use_aws_provided_latest_image | boolean | 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``. |
image_id | string | A value that indicates the ID of the AMI. |
status | string | A value that indicates the status of a custom engine version (CEV). |
tags | array | A list of tags. For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.* |
region | string | AWS region. |
For more information, see AWS::RDS::CustomDBEngineVersion.
Methods
| Name | Accessible by | Required Params |
|---|---|---|
create_resource | INSERT | Engine, EngineVersion, region |
delete_resource | DELETE | data__Identifier, region |
update_resource | UPDATE | data__Identifier, data__PatchDocument, region |
list_resources | SELECT | region |
get_resource | SELECT | data__Identifier, region |
SELECT examples
Gets all properties from an individual customdb_engine_version.
SELECT
region,
database_installation_files_s3_bucket_name,
database_installation_files_s3_prefix,
description,
engine,
engine_version,
kms_key_id,
manifest,
db_engine_version_arn,
source_custom_db_engine_version_identifier,
use_aws_provided_latest_image,
image_id,
status,
tags
FROM awscc.rds.customdb_engine_versions
WHERE region = 'us-east-1' AND data__Identifier = '<Engine>|<EngineVersion>';
INSERT example
Use the following StackQL query and manifest file to create a new customdb_engine_version resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.rds.customdb_engine_versions (
Engine,
EngineVersion,
region
)
SELECT
'{{ Engine }}',
'{{ EngineVersion }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.rds.customdb_engine_versions (
DatabaseInstallationFilesS3BucketName,
DatabaseInstallationFilesS3Prefix,
Description,
Engine,
EngineVersion,
KMSKeyId,
Manifest,
SourceCustomDbEngineVersionIdentifier,
UseAwsProvidedLatestImage,
ImageId,
Status,
Tags,
region
)
SELECT
'{{ DatabaseInstallationFilesS3BucketName }}',
'{{ DatabaseInstallationFilesS3Prefix }}',
'{{ Description }}',
'{{ Engine }}',
'{{ EngineVersion }}',
'{{ KMSKeyId }}',
'{{ Manifest }}',
'{{ SourceCustomDbEngineVersionIdentifier }}',
'{{ UseAwsProvidedLatestImage }}',
'{{ ImageId }}',
'{{ Status }}',
'{{ Tags }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: customdb_engine_version
props:
- name: DatabaseInstallationFilesS3BucketName
value: '{{ DatabaseInstallationFilesS3BucketName }}'
- name: DatabaseInstallationFilesS3Prefix
value: '{{ DatabaseInstallationFilesS3Prefix }}'
- name: Description
value: '{{ Description }}'
- name: Engine
value: '{{ Engine }}'
- name: EngineVersion
value: '{{ EngineVersion }}'
- name: KMSKeyId
value: '{{ KMSKeyId }}'
- name: Manifest
value: '{{ Manifest }}'
- name: SourceCustomDbEngineVersionIdentifier
value: '{{ SourceCustomDbEngineVersionIdentifier }}'
- name: UseAwsProvidedLatestImage
value: '{{ UseAwsProvidedLatestImage }}'
- name: ImageId
value: '{{ ImageId }}'
- name: Status
value: '{{ Status }}'
- name: Tags
value:
- Key: '{{ Key }}'
Value: '{{ Value }}'
DELETE example
/*+ delete */
DELETE FROM awscc.rds.customdb_engine_versions
WHERE data__Identifier = '<Engine|EngineVersion>'
AND region = 'us-east-1';
Permissions
To operate on the customdb_engine_versions resource, the following permissions are required:
Create
ec2:CopySnapshot,
ec2:DeleteSnapshot,
ec2:DescribeSnapshots,
kms:CreateGrant,
kms:Decrypt,
kms:DescribeKey,
kms:GenerateDataKey,
kms:ReEncrypt,
mediaimport:CreateDatabaseBinarySnapshot,
rds:AddTagsToResource,
rds:CreateCustomDBEngineVersion,
rds:DescribeDBEngineVersions,
rds:ModifyCustomDBEngineVersion,
s3:CreateBucket,
s3:GetObject,
s3:GetObjectAcl,
s3:GetObjectTagging,
s3:ListBucket,
s3:PutBucketObjectLockConfiguration,
s3:PutBucketPolicy,
s3:PutBucketVersioning
Read
rds:DescribeDBEngineVersions
Update
rds:AddTagsToResource,
rds:DescribeDBEngineVersions,
rds:ModifyCustomDBEngineVersion,
rds:RemoveTagsFromResource
Delete
rds:DeleteCustomDBEngineVersion,
rds:DescribeDBEngineVersions
List
rds:DescribeDBEngineVersions