/AWS1/IF_ECR=>CREATEREPOSITORYCREATIONTMPL()¶
About CreateRepositoryCreationTemplate¶
Creates a repository creation template. This template is used to define the settings for repositories created by Amazon ECR on your behalf. For example, repositories created through pull through cache actions. For more information, see Private repository creation templates in the Amazon Elastic Container Registry User Guide.
Method Signature¶
METHODS /AWS1/IF_ECR~CREATEREPOSITORYCREATIONTMPL
IMPORTING
!IV_PREFIX TYPE /AWS1/ECRPREFIX OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/ECRREPOSITORYTMPLDESC OPTIONAL
!IO_ENCRYPTIONCONFIGURATION TYPE REF TO /AWS1/CL_ECRENCCONFFORREPOSI00 OPTIONAL
!IT_RESOURCETAGS TYPE /AWS1/CL_ECRTAG=>TT_TAGLIST OPTIONAL
!IV_IMAGETAGMUTABILITY TYPE /AWS1/ECRIMAGETAGMUTABILITY OPTIONAL
!IT_IMAGETAGMUTABILITYEXCLU00 TYPE /AWS1/CL_ECRIMAGETAGMUTABILI00=>TT_IMAGETAGMUTABILITYEXCLUSI00 OPTIONAL
!IV_REPOSITORYPOLICY TYPE /AWS1/ECRREPOSITORYPOLICYTEXT OPTIONAL
!IV_LIFECYCLEPOLICY TYPE /AWS1/ECRLCPLYTXTFORREPOSITO00 OPTIONAL
!IT_APPLIEDFOR TYPE /AWS1/CL_ECRRCTAPPLIEDFORLST_W=>TT_RCTAPPLIEDFORLIST OPTIONAL
!IV_CUSTOMROLEARN TYPE /AWS1/ECRCUSTOMROLEARN OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_ecrcrerepositorycre01
RAISING
/AWS1/CX_ECRINVALIDPARAMETEREX
/AWS1/CX_ECRLIMITEXCEEDEDEX
/AWS1/CX_ECRSERVEREXCEPTION
/AWS1/CX_ECRTMPLALRDYEXISTSEX
/AWS1/CX_ECRVALIDATIONEX
/AWS1/CX_ECRCLIENTEXC
/AWS1/CX_ECRSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_prefix TYPE /AWS1/ECRPREFIX /AWS1/ECRPREFIX¶
The repository namespace prefix to associate with the template. All repositories created using this namespace prefix will have the settings defined in this template applied. For example, a prefix of
prodwould apply to all repositories beginning withprod/. Similarly, a prefix ofprod/teamwould apply to all repositories beginning withprod/team/.To apply a template to all repositories in your registry that don't have an associated creation template, you can use
ROOTas the prefix.There is always an assumed
/applied to the end of the prefix. If you specifyecr-publicas the prefix, Amazon ECR treats that asecr-public/. When using a pull through cache rule, the repository prefix you specify during rule creation is what you should specify as your repository creation template prefix as well.
it_appliedfor TYPE /AWS1/CL_ECRRCTAPPLIEDFORLST_W=>TT_RCTAPPLIEDFORLIST TT_RCTAPPLIEDFORLIST¶
A list of enumerable strings representing the Amazon ECR repository creation scenarios that this template will apply towards. The two supported scenarios are
PULL_THROUGH_CACHEandREPLICATION
Optional arguments:¶
iv_description TYPE /AWS1/ECRREPOSITORYTMPLDESC /AWS1/ECRREPOSITORYTMPLDESC¶
A description for the repository creation template.
io_encryptionconfiguration TYPE REF TO /AWS1/CL_ECRENCCONFFORREPOSI00 /AWS1/CL_ECRENCCONFFORREPOSI00¶
The encryption configuration to use for repositories created using the template.
it_resourcetags TYPE /AWS1/CL_ECRTAG=>TT_TAGLIST TT_TAGLIST¶
The metadata to apply to the repository to help you categorize and organize. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
iv_imagetagmutability TYPE /AWS1/ECRIMAGETAGMUTABILITY /AWS1/ECRIMAGETAGMUTABILITY¶
The tag mutability setting for the repository. If this parameter is omitted, the default setting of
MUTABLEwill be used which will allow image tags to be overwritten. IfIMMUTABLEis specified, all image tags within the repository will be immutable which will prevent them from being overwritten.
it_imagetagmutabilityexclu00 TYPE /AWS1/CL_ECRIMAGETAGMUTABILI00=>TT_IMAGETAGMUTABILITYEXCLUSI00 TT_IMAGETAGMUTABILITYEXCLUSI00¶
A list of filters that specify which image tags should be excluded from the repository creation template's image tag mutability setting.
iv_repositorypolicy TYPE /AWS1/ECRREPOSITORYPOLICYTEXT /AWS1/ECRREPOSITORYPOLICYTEXT¶
The repository policy to apply to repositories created using the template. A repository policy is a permissions policy associated with a repository to control access permissions.
iv_lifecyclepolicy TYPE /AWS1/ECRLCPLYTXTFORREPOSITO00 /AWS1/ECRLCPLYTXTFORREPOSITO00¶
The lifecycle policy to use for repositories created using the template.
iv_customrolearn TYPE /AWS1/ECRCUSTOMROLEARN /AWS1/ECRCUSTOMROLEARN¶
The ARN of the role to be assumed by Amazon ECR. This role must be in the same account as the registry that you are configuring. Amazon ECR will assume your supplied role when the customRoleArn is specified. When this field isn't specified, Amazon ECR will use the service-linked role for the repository creation template.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_ecrcrerepositorycre01 /AWS1/CL_ECRCREREPOSITORYCRE01¶
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->createrepositorycreationtmpl(
io_encryptionconfiguration = new /aws1/cl_ecrencconfforreposi00(
iv_encryptiontype = |string|
iv_kmskey = |string|
)
it_appliedfor = VALUE /aws1/cl_ecrrctappliedforlst_w=>tt_rctappliedforlist(
( new /aws1/cl_ecrrctappliedforlst_w( |string| ) )
)
it_imagetagmutabilityexclu00 = VALUE /aws1/cl_ecrimagetagmutabili00=>tt_imagetagmutabilityexclusi00(
(
new /aws1/cl_ecrimagetagmutabili00(
iv_filter = |string|
iv_filtertype = |string|
)
)
)
it_resourcetags = VALUE /aws1/cl_ecrtag=>tt_taglist(
(
new /aws1/cl_ecrtag(
iv_key = |string|
iv_value = |string|
)
)
)
iv_customrolearn = |string|
iv_description = |string|
iv_imagetagmutability = |string|
iv_lifecyclepolicy = |string|
iv_prefix = |string|
iv_repositorypolicy = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_registryid = lo_result->get_registryid( ).
lo_repositorycreationtempl = lo_result->get_repositorycreationtmpl( ).
IF lo_repositorycreationtempl IS NOT INITIAL.
lv_prefix = lo_repositorycreationtempl->get_prefix( ).
lv_repositorytemplatedescr = lo_repositorycreationtempl->get_description( ).
lo_encryptionconfiguration = lo_repositorycreationtempl->get_encryptionconfiguration( ).
IF lo_encryptionconfiguration IS NOT INITIAL.
lv_encryptiontype = lo_encryptionconfiguration->get_encryptiontype( ).
lv_kmskeyforrepositorycrea = lo_encryptionconfiguration->get_kmskey( ).
ENDIF.
LOOP AT lo_repositorycreationtempl->get_resourcetags( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_tagkey = lo_row_1->get_key( ).
lv_tagvalue = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
lv_imagetagmutability = lo_repositorycreationtempl->get_imagetagmutability( ).
LOOP AT lo_repositorycreationtempl->get_imagetagmutabilityexcl00( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_imagetagmutabilityexclu = lo_row_3->get_filtertype( ).
lv_imagetagmutabilityexclu_1 = lo_row_3->get_filter( ).
ENDIF.
ENDLOOP.
lv_repositorypolicytext = lo_repositorycreationtempl->get_repositorypolicy( ).
lv_lifecyclepolicytextforr = lo_repositorycreationtempl->get_lifecyclepolicy( ).
LOOP AT lo_repositorycreationtempl->get_appliedfor( ) into lo_row_4.
lo_row_5 = lo_row_4.
IF lo_row_5 IS NOT INITIAL.
lv_rctappliedfor = lo_row_5->get_value( ).
ENDIF.
ENDLOOP.
lv_customrolearn = lo_repositorycreationtempl->get_customrolearn( ).
lv_date = lo_repositorycreationtempl->get_createdat( ).
lv_date = lo_repositorycreationtempl->get_updatedat( ).
ENDIF.
ENDIF.