/AWS1/IF_RDS=>CREATECUSTOMDBENGINEVERSION()¶
About CreateCustomDBEngineVersion¶
Creates a custom DB engine version (CEV).
Method Signature¶
METHODS /AWS1/IF_RDS~CREATECUSTOMDBENGINEVERSION
IMPORTING
!IV_ENGINE TYPE /AWS1/RDSCUSTOMENGINENAME OPTIONAL
!IV_ENGINEVERSION TYPE /AWS1/RDSCUSTOMENGINEVERSION OPTIONAL
!IV_DATABASEINSTALLATIONFIL00 TYPE /AWS1/RDSBUCKETNAME OPTIONAL
!IV_DATABASEINSTALLATIONFIL01 TYPE /AWS1/RDSSTRING255 OPTIONAL
!IT_DATABASEINSTALLATIONFILES TYPE /AWS1/CL_RDSSTRINGLIST_W=>TT_STRINGLIST OPTIONAL
!IV_IMAGEID TYPE /AWS1/RDSSTRING255 OPTIONAL
!IV_KMSKEYID TYPE /AWS1/RDSKMSKEYIDORARN OPTIONAL
!IV_SOURCECUSTOMDBENGINEVRSID TYPE /AWS1/RDSSTRING255 OPTIONAL
!IV_USEAWSPROVIDEDLATESTIMAGE TYPE /AWS1/RDSBOOLEANOPTIONAL OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/RDSDESCRIPTION OPTIONAL
!IV_MANIFEST TYPE /AWS1/RDSCUSTDBENGINEVRSMANI00 OPTIONAL
!IT_TAGS TYPE /AWS1/CL_RDSTAG=>TT_TAGLIST OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_rdsdbengineversion
RAISING
/AWS1/CX_RDSCRECUSTDBENGINEV00
/AWS1/CX_RDSCUSTDBENGINEVRSA00
/AWS1/CX_RDSCUSTDBENGINEVRSN00
/AWS1/CX_RDSCUSTDBENGINEVRSQ00
/AWS1/CX_RDSEC2IMAGEPRPSNOTS00
/AWS1/CX_RDSINVCUSTDBENGINEV00
/AWS1/CX_RDSKMSKEYNOTACCIBLE00
/AWS1/CX_RDSCLIENTEXC
/AWS1/CX_RDSSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
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-cdbRDS Custom for SQL Server supports the following values:
custom-sqlserver-ee
custom-sqlserver-se
ccustom-sqlserver-web
custom-sqlserver-devRDS for SQL Server supports only
sqlserver-dev-ee.
iv_engineversion TYPE /AWS1/RDSCUSTOMENGINEVERSION /AWS1/RDSCUSTOMENGINEVERSION¶
The name of your custom engine version (CEV).
For RDS Custom for Oracle, the name format is
19.customized_string. For example, a valid CEV name is19.my_cev1.For RDS for SQL Server and RDS Custom for SQL Server, the name format is
major engine_version.minor_engine_version.customized_string*. For example, a valid CEV name is16.00.4215.2.my_cev1.The CEV name is unique per customer per Amazon Web Services Regions.
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.
it_databaseinstallationfiles TYPE /AWS1/CL_RDSSTRINGLIST_W=>TT_STRINGLIST TT_STRINGLIST¶
The database installation files (ISO and EXE) uploaded to Amazon S3 for your database engine version to import to Amazon RDS.
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_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
SourceorUseAwsProvidedLatestImage. 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.
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¶
A list of tags.
For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_rdsdbengineversion /AWS1/CL_RDSDBENGINEVERSION¶
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->createcustomdbengineversion(
it_databaseinstallationfiles = VALUE /aws1/cl_rdsstringlist_w=>tt_stringlist(
( new /aws1/cl_rdsstringlist_w( |string| ) )
)
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_majorengineversion( ).
lv_string = lo_result->get_engineversion( ).
lv_string = lo_result->get_databaseinstallationfi00( ).
lv_string = lo_result->get_databaseinstallationfi01( ).
LOOP AT lo_result->get_dbaseinstallationfiles( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_string = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
lv_customdbengineversionma = lo_result->get_custdbenginevrsmanifest( ).
lv_string = lo_result->get_dbparametergroupfamily( ).
lv_string = lo_result->get_dbenginedescription( ).
lv_string = lo_result->get_dbengineversionarn( ).
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.
lv_string = lo_result->get_failurereason( ).
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( ).
lv_string = lo_result->get_kmskeyid( ).
lv_tstamp = lo_result->get_createtime( ).
LOOP AT lo_result->get_supportedcharactersets( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_string = lo_row_3->get_charactersetname( ).
lv_string = lo_row_3->get_charactersetdescription( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_suppedncharcharactersets( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_string = lo_row_3->get_charactersetname( ).
lv_string = lo_row_3->get_charactersetdescription( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_validupgradetarget( ) into lo_row_4.
lo_row_5 = lo_row_4.
IF lo_row_5 IS NOT INITIAL.
lv_string = lo_row_5->get_engine( ).
lv_string = lo_row_5->get_engineversion( ).
lv_string = lo_row_5->get_description( ).
lv_boolean = lo_row_5->get_autoupgrade( ).
lv_boolean = lo_row_5->get_ismajorversionupgrade( ).
LOOP AT lo_row_5->get_supportedenginemodes( ) into lo_row_6.
lo_row_7 = lo_row_6.
IF lo_row_7 IS NOT INITIAL.
lv_string = lo_row_7->get_value( ).
ENDIF.
ENDLOOP.
lv_booleanoptional = lo_row_5->get_supportsparallelquery( ).
lv_booleanoptional = lo_row_5->get_supportsglobaldatabases( ).
lv_booleanoptional = lo_row_5->get_supportsbabelfish( ).
lv_booleanoptional = lo_row_5->get_suppslimitlessdatabase( ).
lv_booleanoptional = lo_row_5->get_suppslocalwriteforward00( ).
lv_booleanoptional = lo_row_5->get_supportsintegrations( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_supportedtimezones( ) into lo_row_8.
lo_row_9 = lo_row_8.
IF lo_row_9 IS NOT INITIAL.
lv_string = lo_row_9->get_timezonename( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_exportablelogtypes( ) 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_boolean = lo_result->get_suppslogexptocloudwatc00( ).
lv_boolean = lo_result->get_supportsreadreplica( ).
LOOP AT lo_result->get_supportedenginemodes( ) into lo_row_6.
lo_row_7 = lo_row_6.
IF lo_row_7 IS NOT INITIAL.
lv_string = lo_row_7->get_value( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_supportedfeaturenames( ) into lo_row_12.
lo_row_13 = lo_row_12.
IF lo_row_13 IS NOT INITIAL.
lv_string = lo_row_13->get_value( ).
ENDIF.
ENDLOOP.
lv_string = lo_result->get_status( ).
lv_boolean = lo_result->get_supportsparallelquery( ).
lv_boolean = lo_result->get_supportsglobaldatabases( ).
LOOP AT lo_result->get_taglist( ) into lo_row_14.
lo_row_15 = lo_row_14.
IF lo_row_15 IS NOT INITIAL.
lv_string = lo_row_15->get_key( ).
lv_string = lo_row_15->get_value( ).
ENDIF.
ENDLOOP.
lv_boolean = lo_result->get_supportsbabelfish( ).
lv_boolean = lo_result->get_suppslimitlessdatabase( ).
lv_booleanoptional = lo_result->get_suppscrtrotationwthout00( ).
LOOP AT lo_result->get_supportedcacertids( ) into lo_row_16.
lo_row_17 = lo_row_16.
IF lo_row_17 IS NOT INITIAL.
lv_string = lo_row_17->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.