/AWS1/CL_RDS=>CREATECUSTOMDBENGINEVERSION()
¶
About CreateCustomDBEngineVersion¶
Creates a custom DB engine version (CEV).
Method Signature¶
IMPORTING¶
Required arguments:¶
iv_engine
TYPE /AWS1/RDSCUSTOMENGINENAME
/AWS1/RDSCUSTOMENGINENAME
¶
The database engine. RDS Custom for Oracle supports the following values:
custom-oracle-ee
custom-oracle-ee-cdb
custom-oracle-se2
custom-oracle-se2-cdb
iv_engineversion
TYPE /AWS1/RDSCUSTOMENGINEVERSION
/AWS1/RDSCUSTOMENGINEVERSION
¶
The name of your CEV. The name format is 19.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 ofEngine
andEngineVersion
is unique per customer per Region.
Optional arguments:¶
iv_databaseinstallationfil00
TYPE /AWS1/RDSBUCKETNAME
/AWS1/RDSBUCKETNAME
¶
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
.
iv_databaseinstallationfil01
TYPE /AWS1/RDSSTRING255
/AWS1/RDSSTRING255
¶
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.
iv_imageid
TYPE /AWS1/RDSSTRING255
/AWS1/RDSSTRING255
¶
The ID of the Amazon Machine Image (AMI). For RDS Custom for SQL Server, an AMI ID is required to create a CEV. For RDS Custom for Oracle, the default is the most recent AMI available, but you can specify an AMI ID that was used in a different Oracle CEV. Find the AMIs used by your CEVs by calling the DescribeDBEngineVersions operation.
iv_kmskeyid
TYPE /AWS1/RDSKMSKEYIDORARN
/AWS1/RDSKMSKEYIDORARN
¶
The Amazon Web Services 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 Amazon Web Services 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.
iv_description
TYPE /AWS1/RDSDESCRIPTION
/AWS1/RDSDESCRIPTION
¶
An optional description of your CEV.
iv_manifest
TYPE /AWS1/RDSCUSTDBENGINEVRSMANI00
/AWS1/RDSCUSTDBENGINEVRSMANI00
¶
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.
it_tags
TYPE /AWS1/CL_RDSTAG=>TT_TAGLIST
TT_TAGLIST
¶
Tags
iv_sourcecustomdbenginevrsid
TYPE /AWS1/RDSSTRING255
/AWS1/RDSSTRING255
¶
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
orUseAwsProvidedLatestImage
. You can't specify a different JSON manifest when you specifySourceCustomDbEngineVersionIdentifier
.
iv_useawsprovidedlatestimage
TYPE /AWS1/RDSBOOLEANOPTIONAL
/AWS1/RDSBOOLEANOPTIONAL
¶
Specifies whether to use the latest service-provided Amazon Machine Image (AMI) for the CEV. If you specify
UseAwsProvidedLatestImage
, you can't also specifyImageId
.
RETURNING¶
oo_output
TYPE REF TO /aws1/cl_rdsdbengineversion
/AWS1/CL_RDSDBENGINEVERSION
¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->/aws1/if_rds~createcustomdbengineversion(
it_tags = VALUE /aws1/cl_rdstag=>tt_taglist(
(
new /aws1/cl_rdstag(
iv_key = |string|
iv_value = |string|
)
)
)
iv_databaseinstallationfil00 = |string|
iv_databaseinstallationfil01 = |string|
iv_description = |string|
iv_engine = |string|
iv_engineversion = |string|
iv_imageid = |string|
iv_kmskeyid = |string|
iv_manifest = |string|
iv_sourcecustomdbenginevrsid = |string|
iv_useawsprovidedlatestimage = ABAP_TRUE
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_string = lo_result->get_engine( ).
lv_string = lo_result->get_engineversion( ).
lv_string = lo_result->get_dbparametergroupfamily( ).
lv_string = lo_result->get_dbenginedescription( ).
lv_string = lo_result->get_dbengineversiondesc( ).
lo_characterset = lo_result->get_defaultcharacterset( ).
IF lo_characterset IS NOT INITIAL.
lv_string = lo_characterset->get_charactersetname( ).
lv_string = lo_characterset->get_charactersetdescription( ).
ENDIF.
lo_customdbengineversionam = lo_result->get_image( ).
IF lo_customdbengineversionam IS NOT INITIAL.
lv_string = lo_customdbengineversionam->get_imageid( ).
lv_string = lo_customdbengineversionam->get_status( ).
ENDIF.
lv_string = lo_result->get_dbenginemediatype( ).
LOOP AT lo_result->get_supportedcharactersets( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_string = lo_row_1->get_charactersetname( ).
lv_string = lo_row_1->get_charactersetdescription( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_suppedncharcharactersets( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_string = lo_row_1->get_charactersetname( ).
lv_string = lo_row_1->get_charactersetdescription( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_validupgradetarget( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_string = lo_row_3->get_engine( ).
lv_string = lo_row_3->get_engineversion( ).
lv_string = lo_row_3->get_description( ).
lv_boolean = lo_row_3->get_autoupgrade( ).
lv_boolean = lo_row_3->get_ismajorversionupgrade( ).
LOOP AT lo_row_3->get_supportedenginemodes( ) into lo_row_4.
lo_row_5 = lo_row_4.
IF lo_row_5 IS NOT INITIAL.
lv_string = lo_row_5->get_value( ).
ENDIF.
ENDLOOP.
lv_booleanoptional = lo_row_3->get_supportsparallelquery( ).
lv_booleanoptional = lo_row_3->get_supportsglobaldatabases( ).
lv_booleanoptional = lo_row_3->get_supportsbabelfish( ).
lv_booleanoptional = lo_row_3->get_suppslimitlessdatabase( ).
lv_booleanoptional = lo_row_3->get_suppslocalwriteforward00( ).
lv_booleanoptional = lo_row_3->get_supportsintegrations( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_supportedtimezones( ) into lo_row_6.
lo_row_7 = lo_row_6.
IF lo_row_7 IS NOT INITIAL.
lv_string = lo_row_7->get_timezonename( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_exportablelogtypes( ) into lo_row_8.
lo_row_9 = lo_row_8.
IF lo_row_9 IS NOT INITIAL.
lv_string = lo_row_9->get_value( ).
ENDIF.
ENDLOOP.
lv_boolean = lo_result->get_suppslogexptocloudwatc00( ).
lv_boolean = lo_result->get_supportsreadreplica( ).
LOOP AT lo_result->get_supportedenginemodes( ) into lo_row_4.
lo_row_5 = lo_row_4.
IF lo_row_5 IS NOT INITIAL.
lv_string = lo_row_5->get_value( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_supportedfeaturenames( ) into lo_row_10.
lo_row_11 = lo_row_10.
IF lo_row_11 IS NOT INITIAL.
lv_string = lo_row_11->get_value( ).
ENDIF.
ENDLOOP.
lv_string = lo_result->get_status( ).
lv_boolean = lo_result->get_supportsparallelquery( ).
lv_boolean = lo_result->get_supportsglobaldatabases( ).
lv_string = lo_result->get_majorengineversion( ).
lv_string = lo_result->get_databaseinstallationfi00( ).
lv_string = lo_result->get_databaseinstallationfi01( ).
lv_string = lo_result->get_dbengineversionarn( ).
lv_string = lo_result->get_kmskeyid( ).
lv_tstamp = lo_result->get_createtime( ).
LOOP AT lo_result->get_taglist( ) into lo_row_12.
lo_row_13 = lo_row_12.
IF lo_row_13 IS NOT INITIAL.
lv_string = lo_row_13->get_key( ).
lv_string = lo_row_13->get_value( ).
ENDIF.
ENDLOOP.
lv_boolean = lo_result->get_supportsbabelfish( ).
lv_customdbengineversionma = lo_result->get_custdbenginevrsmanifest( ).
lv_boolean = lo_result->get_suppslimitlessdatabase( ).
lv_booleanoptional = lo_result->get_suppscrtrotationwthout00( ).
LOOP AT lo_result->get_supportedcacertids( ) into lo_row_14.
lo_row_15 = lo_row_14.
IF lo_row_15 IS NOT INITIAL.
lv_string = lo_row_15->get_value( ).
ENDIF.
ENDLOOP.
lv_booleanoptional = lo_result->get_suppslocalwriteforward00( ).
lv_boolean = lo_result->get_supportsintegrations( ).
lo_serverlessv2featuressup = lo_result->get_serverlessv2featuressupp( ).
IF lo_serverlessv2featuressup IS NOT INITIAL.
lv_doubleoptional = lo_serverlessv2featuressup->get_mincapacity( ).
lv_doubleoptional = lo_serverlessv2featuressup->get_maxcapacity( ).
ENDIF.
ENDIF.