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
- get (all properties)
- list (identifiers only)
| 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. |
| Name | Datatype | Description |
|---|---|---|
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$``} |
region | string | AWS region. |
For more information, see AWS::RDS::CustomDBEngineVersion.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | customdb_engine_versions | INSERT | Engine, EngineVersion, region |
delete_resource | customdb_engine_versions | DELETE | Identifier, region |
update_resource | customdb_engine_versions | UPDATE | Identifier, PatchDocument, region |
list_resources | customdb_engine_versions_list_only | SELECT | region |
get_resource | customdb_engine_versions | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
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
Identifier = '{{ engine }}|{{ engine_version }}';
Lists all customdb_engine_versions in a region.
SELECT
region,
engine,
engine_version
FROM awscc.rds.customdb_engine_versions_list_only
WHERE
region = 'us-east-1';
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 }}',
'{{ engine_version }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.rds.customdb_engine_versions (
DatabaseInstallationFilesS3BucketName,
DatabaseInstallationFilesS3Prefix,
Description,
Engine,
EngineVersion,
KMSKeyId,
Manifest,
SourceCustomDbEngineVersionIdentifier,
UseAwsProvidedLatestImage,
ImageId,
Status,
Tags,
region
)
SELECT
'{{ database_installation_files_s3_bucket_name }}',
'{{ database_installation_files_s3_prefix }}',
'{{ description }}',
'{{ engine }}',
'{{ engine_version }}',
'{{ kms_key_id }}',
'{{ manifest }}',
'{{ source_custom_db_engine_version_identifier }}',
'{{ use_aws_provided_latest_image }}',
'{{ image_id }}',
'{{ 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: database_installation_files_s3_bucket_name
value: '{{ database_installation_files_s3_bucket_name }}'
- name: database_installation_files_s3_prefix
value: '{{ database_installation_files_s3_prefix }}'
- name: description
value: '{{ description }}'
- name: engine
value: '{{ engine }}'
- name: engine_version
value: '{{ engine_version }}'
- name: kms_key_id
value: '{{ kms_key_id }}'
- name: manifest
value: '{{ manifest }}'
- name: source_custom_db_engine_version_identifier
value: '{{ source_custom_db_engine_version_identifier }}'
- name: use_aws_provided_latest_image
value: '{{ use_aws_provided_latest_image }}'
- name: image_id
value: '{{ image_id }}'
- name: status
value: '{{ status }}'
- name: tags
value:
- key: '{{ key }}'
value: '{{ value }}'
UPDATE example
Use the following StackQL query and manifest file to update a customdb_engine_version resource, using stack-deploy.
/*+ update */
UPDATE awscc.rds.customdb_engine_versions
SET PatchDocument = string('{{ {
"Description": description,
"Status": status,
"Tags": tags
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ engine }}|{{ engine_version }}';
DELETE example
/*+ delete */
DELETE FROM awscc.rds.customdb_engine_versions
WHERE
Identifier = '{{ engine }}|{{ engine_version }}' AND
region = 'us-east-1';
Permissions
To operate on the customdb_engine_versions resource, the following permissions are required:
- Create
- Read
- Update
- Delete
- List
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
rds:DescribeDBEngineVersions
rds:AddTagsToResource,
rds:DescribeDBEngineVersions,
rds:ModifyCustomDBEngineVersion,
rds:RemoveTagsFromResource
rds:DeleteCustomDBEngineVersion,
rds:DescribeDBEngineVersions
rds:DescribeDBEngineVersions