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).Valid values:+ custom-oracle-ee+ custom-oracle-ee-cdb |
engine_version | string | The name of your CEV. The name format is Constraints: Minimum length is 1. Maximum length is 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.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 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. |
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.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. |
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 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).Valid values:+ custom-oracle-ee+ custom-oracle-ee-cdb |
engine_version | string | The name of your CEV. The name format is Constraints: Minimum length is 1. Maximum length is 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 = '{{ region }}' 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 = '{{ region }}';
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 }}'
RETURNING
ErrorCode,
EventTime,
Identifier,
Operation,
OperationStatus,
RequestToken,
ResourceModel,
RetryAfter,
StatusMessage,
TypeName
;
/*+ 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 }}'
RETURNING
ErrorCode,
EventTime,
Identifier,
Operation,
OperationStatus,
RequestToken,
ResourceModel,
RetryAfter,
StatusMessage,
TypeName
;
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 }}'
RETURNING
ErrorCode,
EventTime,
Identifier,
Operation,
OperationStatus,
RequestToken,
ResourceModel,
RetryAfter,
StatusMessage,
TypeName
;
DELETE example
/*+ delete */
DELETE FROM awscc.rds.customdb_engine_versions
WHERE
Identifier = '{{ engine }}|{{ engine_version }}' AND
region = '{{ region }}'
RETURNING
ErrorCode,
EventTime,
Identifier,
Operation,
OperationStatus,
RequestToken,
ResourceModel,
RetryAfter,
StatusMessage,
TypeName
;
Additional Parameters
Mutable resources in the Cloud Control provider support additional optional parameters which can be supplied with INSERT, UPDATE, or DELETE operations. These include:
| Parameter | Description |
|---|---|
ClientToken | A unique identifier to ensure the idempotency of the resource request.This allows the provider to accurately distinguish between retries and new requests.A client token is valid for 36 hours once used. After that, a resource request with the same client token is treated as a new request. If you do not specify a client token, one is generated for inclusion in the request. |
RoleArn | The ARN of the IAM role used to perform this resource operation.The role specified must have the permissions required for this operation.If you do not specify a role, a temporary session is created using your AWS user credentials. |
TypeVersionId | For private resource types, the type version to use in this resource operation.If you do not specify a resource version, the default version is used. |
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