/AWS1/IF_BTC=>REGISTERJOBDEFINITION()¶
About RegisterJobDefinition¶
Registers an Batch job definition.
Method Signature¶
METHODS /AWS1/IF_BTC~REGISTERJOBDEFINITION
IMPORTING
!IV_JOBDEFINITIONNAME TYPE /AWS1/BTCSTRING OPTIONAL
!IV_TYPE TYPE /AWS1/BTCJOBDEFINITIONTYPE OPTIONAL
!IT_PARAMETERS TYPE /AWS1/CL_BTCPARAMETERSMAP_W=>TT_PARAMETERSMAP OPTIONAL
!IV_SCHEDULINGPRIORITY TYPE /AWS1/BTCINTEGER OPTIONAL
!IO_CONTAINERPROPERTIES TYPE REF TO /AWS1/CL_BTCCONTAINERPRPS OPTIONAL
!IO_NODEPROPERTIES TYPE REF TO /AWS1/CL_BTCNODEPROPERTIES OPTIONAL
!IO_RETRYSTRATEGY TYPE REF TO /AWS1/CL_BTCRETRYSTRATEGY OPTIONAL
!IV_PROPAGATETAGS TYPE /AWS1/BTCBOOLEAN OPTIONAL
!IO_TIMEOUT TYPE REF TO /AWS1/CL_BTCJOBTIMEOUT OPTIONAL
!IT_TAGS TYPE /AWS1/CL_BTCTAGRISTAGSMAP_W=>TT_TAGRISTAGSMAP OPTIONAL
!IT_PLATFORMCAPABILITIES TYPE /AWS1/CL_BTCPLATFORMCAPABILI00=>TT_PLATFORMCAPABILITYLIST OPTIONAL
!IO_EKSPROPERTIES TYPE REF TO /AWS1/CL_BTCEKSPROPERTIES OPTIONAL
!IO_ECSPROPERTIES TYPE REF TO /AWS1/CL_BTCECSPROPERTIES OPTIONAL
!IO_CONSUMABLERESOURCEPRPS TYPE REF TO /AWS1/CL_BTCCONSUMABLERESRCP00 OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_btcregjobdefnresponse
RAISING
/AWS1/CX_BTCCLIENTEXCEPTION
/AWS1/CX_BTCSERVEREXCEPTION
/AWS1/CX_BTCCLIENTEXC
/AWS1/CX_BTCSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_jobdefinitionname TYPE /AWS1/BTCSTRING /AWS1/BTCSTRING¶
The name of the job definition to register. It can be up to 128 letters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_).
iv_type TYPE /AWS1/BTCJOBDEFINITIONTYPE /AWS1/BTCJOBDEFINITIONTYPE¶
The type of job definition. For more information about multi-node parallel jobs, see Creating a multi-node parallel job definition in the Batch User Guide.
If the value is
container, then one of the following is required:containerProperties,ecsProperties, oreksProperties.If the value is
multinode, thennodePropertiesis required.If the job is run on Fargate resources, then
multinodeisn't supported.
Optional arguments:¶
it_parameters TYPE /AWS1/CL_BTCPARAMETERSMAP_W=>TT_PARAMETERSMAP TT_PARAMETERSMAP¶
Default parameter substitution placeholders to set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a
SubmitJobrequest override any corresponding parameter defaults from the job definition.
iv_schedulingpriority TYPE /AWS1/BTCINTEGER /AWS1/BTCINTEGER¶
The scheduling priority for jobs that are submitted with this job definition. This only affects jobs in job queues with a fair-share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority.
The minimum supported value is 0 and the maximum supported value is 9999.
io_containerproperties TYPE REF TO /AWS1/CL_BTCCONTAINERPRPS /AWS1/CL_BTCCONTAINERPRPS¶
An object with properties specific to Amazon ECS-based single-node container-based jobs. If the job definition's
typeparameter iscontainer, then you must specify eithercontainerPropertiesornodeProperties. This must not be specified for Amazon EKS-based job definitions.If the job runs on Fargate resources, then you must not specify
nodeProperties; use onlycontainerProperties.
io_nodeproperties TYPE REF TO /AWS1/CL_BTCNODEPROPERTIES /AWS1/CL_BTCNODEPROPERTIES¶
An object with properties specific to multi-node parallel jobs. If you specify node properties for a job, it becomes a multi-node parallel job. For more information, see Multi-node Parallel Jobs in the Batch User Guide.
If the job runs on Fargate resources, then you must not specify
nodeProperties; usecontainerPropertiesinstead.If the job runs on Amazon EKS resources, then you must not specify
nodeProperties.
io_retrystrategy TYPE REF TO /AWS1/CL_BTCRETRYSTRATEGY /AWS1/CL_BTCRETRYSTRATEGY¶
The retry strategy to use for failed jobs that are submitted with this job definition. Any retry strategy that's specified during a SubmitJob operation overrides the retry strategy defined here. If a job is terminated due to a timeout, it isn't retried.
iv_propagatetags TYPE /AWS1/BTCBOOLEAN /AWS1/BTCBOOLEAN¶
Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task. If no value is specified, the tags are not propagated. Tags can only be propagated to the tasks during task creation. For tags with the same name, job tags are given priority over job definitions tags. If the total number of combined tags from the job and job definition is over 50, the job is moved to the
FAILEDstate.If the job runs on Amazon EKS resources, then you must not specify
propagateTags.
io_timeout TYPE REF TO /AWS1/CL_BTCJOBTIMEOUT /AWS1/CL_BTCJOBTIMEOUT¶
The timeout configuration for jobs that are submitted with this job definition, after which Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it isn't retried. The minimum value for the timeout is 60 seconds. Any timeout configuration that's specified during a SubmitJob operation overrides the timeout configuration defined here. For more information, see Job Timeouts in the Batch User Guide.
it_tags TYPE /AWS1/CL_BTCTAGRISTAGSMAP_W=>TT_TAGRISTAGSMAP TT_TAGRISTAGSMAP¶
The tags that you apply to the job definition to help you categorize and organize your resources. Each tag consists of a key and an optional value. For more information, see Tagging Amazon Web Services Resources in Batch User Guide.
it_platformcapabilities TYPE /AWS1/CL_BTCPLATFORMCAPABILI00=>TT_PLATFORMCAPABILITYLIST TT_PLATFORMCAPABILITYLIST¶
The platform capabilities required by the job definition. If no value is specified, it defaults to
EC2. To run the job on Fargate resources, specifyFARGATE.If the job runs on Amazon EKS resources, then you must not specify
platformCapabilities.
io_eksproperties TYPE REF TO /AWS1/CL_BTCEKSPROPERTIES /AWS1/CL_BTCEKSPROPERTIES¶
An object with properties that are specific to Amazon EKS-based jobs. This must not be specified for Amazon ECS based job definitions.
io_ecsproperties TYPE REF TO /AWS1/CL_BTCECSPROPERTIES /AWS1/CL_BTCECSPROPERTIES¶
An object with properties that are specific to Amazon ECS-based jobs. This must not be specified for Amazon EKS-based job definitions.
io_consumableresourceprps TYPE REF TO /AWS1/CL_BTCCONSUMABLERESRCP00 /AWS1/CL_BTCCONSUMABLERESRCP00¶
Contains a list of consumable resources required by the job.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_btcregjobdefnresponse /AWS1/CL_BTCREGJOBDEFNRESPONSE¶
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->registerjobdefinition(
io_consumableresourceprps = new /aws1/cl_btcconsumableresrcp00(
it_consumableresourcelist = VALUE /aws1/cl_btcconsumableresrcr00=>tt_consumableresourcelist(
(
new /aws1/cl_btcconsumableresrcr00(
iv_consumableresource = |string|
iv_quantity = 123
)
)
)
)
io_containerproperties = new /aws1/cl_btccontainerprps(
io_ephemeralstorage = new /aws1/cl_btcephemeralstorage( 123 )
io_fargateplatformconf = new /aws1/cl_btcfargateplatformc00( |string| )
io_linuxparameters = new /aws1/cl_btclinuxparameters(
it_devices = VALUE /aws1/cl_btcdevice=>tt_deviceslist(
(
new /aws1/cl_btcdevice(
it_permissions = VALUE /aws1/cl_btcdevcgroupperms_w=>tt_devicecgrouppermissions(
( new /aws1/cl_btcdevcgroupperms_w( |string| ) )
)
iv_containerpath = |string|
iv_hostpath = |string|
)
)
)
it_tmpfs = VALUE /aws1/cl_btctmpfs=>tt_tmpfslist(
(
new /aws1/cl_btctmpfs(
it_mountoptions = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
iv_containerpath = |string|
iv_size = 123
)
)
)
iv_initprocessenabled = ABAP_TRUE
iv_maxswap = 123
iv_sharedmemorysize = 123
iv_swappiness = 123
)
io_logconfiguration = new /aws1/cl_btclogconfiguration(
it_options = VALUE /aws1/cl_btclogconfoptsmap_w=>tt_logconfigurationoptionsmap(
(
VALUE /aws1/cl_btclogconfoptsmap_w=>ts_logconfoptionsmap_maprow(
value = new /aws1/cl_btclogconfoptsmap_w( |string| )
key = |string|
)
)
)
it_secretoptions = VALUE /aws1/cl_btcsecret=>tt_secretlist(
(
new /aws1/cl_btcsecret(
iv_name = |string|
iv_valuefrom = |string|
)
)
)
iv_logdriver = |string|
)
io_networkconfiguration = new /aws1/cl_btcnetworkconf( |string| )
io_repositorycredentials = new /aws1/cl_btcrepositorycreds( |string| )
io_runtimeplatform = new /aws1/cl_btcruntimeplatform(
iv_cpuarchitecture = |string|
iv_operatingsystemfamily = |string|
)
it_command = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
it_environment = VALUE /aws1/cl_btckeyvaluepair=>tt_environmentvariables(
(
new /aws1/cl_btckeyvaluepair(
iv_name = |string|
iv_value = |string|
)
)
)
it_mountpoints = VALUE /aws1/cl_btcmountpoint=>tt_mountpoints(
(
new /aws1/cl_btcmountpoint(
iv_containerpath = |string|
iv_readonly = ABAP_TRUE
iv_sourcevolume = |string|
)
)
)
it_resourcerequirements = VALUE /aws1/cl_btcresrcrequirement=>tt_resourcerequirements(
(
new /aws1/cl_btcresrcrequirement(
iv_type = |string|
iv_value = |string|
)
)
)
it_secrets = VALUE /aws1/cl_btcsecret=>tt_secretlist(
(
new /aws1/cl_btcsecret(
iv_name = |string|
iv_valuefrom = |string|
)
)
)
it_ulimits = VALUE /aws1/cl_btculimit=>tt_ulimits(
(
new /aws1/cl_btculimit(
iv_hardlimit = 123
iv_name = |string|
iv_softlimit = 123
)
)
)
it_volumes = VALUE /aws1/cl_btcvolume=>tt_volumes(
(
new /aws1/cl_btcvolume(
io_efsvolumeconfiguration = new /aws1/cl_btcefsvolumeconf(
io_authorizationconfig = new /aws1/cl_btcefsauthconfig(
iv_accesspointid = |string|
iv_iam = |string|
)
iv_filesystemid = |string|
iv_rootdirectory = |string|
iv_transitencryption = |string|
iv_transitencryptionport = 123
)
io_host = new /aws1/cl_btchost( |string| )
iv_name = |string|
)
)
)
iv_enableexecutecommand = ABAP_TRUE
iv_executionrolearn = |string|
iv_image = |string|
iv_instancetype = |string|
iv_jobrolearn = |string|
iv_memory = 123
iv_privileged = ABAP_TRUE
iv_readonlyrootfilesystem = ABAP_TRUE
iv_user = |string|
iv_vcpus = 123
)
io_ecsproperties = new /aws1/cl_btcecsproperties(
it_taskproperties = VALUE /aws1/cl_btcecstaskproperties=>tt_listecstaskproperties(
(
new /aws1/cl_btcecstaskproperties(
io_ephemeralstorage = new /aws1/cl_btcephemeralstorage( 123 )
io_networkconfiguration = new /aws1/cl_btcnetworkconf( |string| )
io_runtimeplatform = new /aws1/cl_btcruntimeplatform(
iv_cpuarchitecture = |string|
iv_operatingsystemfamily = |string|
)
it_containers = VALUE /aws1/cl_btctaskcontainerprps=>tt_listtaskcontainerproperties(
(
new /aws1/cl_btctaskcontainerprps(
io_firelensconfiguration = new /aws1/cl_btcfirelensconf(
it_options = VALUE /aws1/cl_btcfirelensconfopts00=>tt_firelensconfoptionsmap(
(
VALUE /aws1/cl_btcfirelensconfopts00=>ts_firelensconfoptsmap_maprow(
value = new /aws1/cl_btcfirelensconfopts00( |string| )
key = |string|
)
)
)
iv_type = |string|
)
io_linuxparameters = new /aws1/cl_btclinuxparameters(
it_devices = VALUE /aws1/cl_btcdevice=>tt_deviceslist(
(
new /aws1/cl_btcdevice(
it_permissions = VALUE /aws1/cl_btcdevcgroupperms_w=>tt_devicecgrouppermissions(
( new /aws1/cl_btcdevcgroupperms_w( |string| ) )
)
iv_containerpath = |string|
iv_hostpath = |string|
)
)
)
it_tmpfs = VALUE /aws1/cl_btctmpfs=>tt_tmpfslist(
(
new /aws1/cl_btctmpfs(
it_mountoptions = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
iv_containerpath = |string|
iv_size = 123
)
)
)
iv_initprocessenabled = ABAP_TRUE
iv_maxswap = 123
iv_sharedmemorysize = 123
iv_swappiness = 123
)
io_logconfiguration = new /aws1/cl_btclogconfiguration(
it_options = VALUE /aws1/cl_btclogconfoptsmap_w=>tt_logconfigurationoptionsmap(
(
VALUE /aws1/cl_btclogconfoptsmap_w=>ts_logconfoptionsmap_maprow(
value = new /aws1/cl_btclogconfoptsmap_w( |string| )
key = |string|
)
)
)
it_secretoptions = VALUE /aws1/cl_btcsecret=>tt_secretlist(
(
new /aws1/cl_btcsecret(
iv_name = |string|
iv_valuefrom = |string|
)
)
)
iv_logdriver = |string|
)
io_repositorycredentials = new /aws1/cl_btcrepositorycreds( |string| )
it_command = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
it_dependson = VALUE /aws1/cl_btctskcontainerdepe00=>tt_taskcontainerdependencylist(
(
new /aws1/cl_btctskcontainerdepe00(
iv_condition = |string|
iv_containername = |string|
)
)
)
it_environment = VALUE /aws1/cl_btckeyvaluepair=>tt_environmentvariables(
(
new /aws1/cl_btckeyvaluepair(
iv_name = |string|
iv_value = |string|
)
)
)
it_mountpoints = VALUE /aws1/cl_btcmountpoint=>tt_mountpoints(
(
new /aws1/cl_btcmountpoint(
iv_containerpath = |string|
iv_readonly = ABAP_TRUE
iv_sourcevolume = |string|
)
)
)
it_resourcerequirements = VALUE /aws1/cl_btcresrcrequirement=>tt_resourcerequirements(
(
new /aws1/cl_btcresrcrequirement(
iv_type = |string|
iv_value = |string|
)
)
)
it_secrets = VALUE /aws1/cl_btcsecret=>tt_secretlist(
(
new /aws1/cl_btcsecret(
iv_name = |string|
iv_valuefrom = |string|
)
)
)
it_ulimits = VALUE /aws1/cl_btculimit=>tt_ulimits(
(
new /aws1/cl_btculimit(
iv_hardlimit = 123
iv_name = |string|
iv_softlimit = 123
)
)
)
iv_essential = ABAP_TRUE
iv_image = |string|
iv_name = |string|
iv_privileged = ABAP_TRUE
iv_readonlyrootfilesystem = ABAP_TRUE
iv_user = |string|
)
)
)
it_volumes = VALUE /aws1/cl_btcvolume=>tt_volumes(
(
new /aws1/cl_btcvolume(
io_efsvolumeconfiguration = new /aws1/cl_btcefsvolumeconf(
io_authorizationconfig = new /aws1/cl_btcefsauthconfig(
iv_accesspointid = |string|
iv_iam = |string|
)
iv_filesystemid = |string|
iv_rootdirectory = |string|
iv_transitencryption = |string|
iv_transitencryptionport = 123
)
io_host = new /aws1/cl_btchost( |string| )
iv_name = |string|
)
)
)
iv_enableexecutecommand = ABAP_TRUE
iv_executionrolearn = |string|
iv_ipcmode = |string|
iv_pidmode = |string|
iv_platformversion = |string|
iv_taskrolearn = |string|
)
)
)
)
io_eksproperties = new /aws1/cl_btceksproperties(
io_podproperties = new /aws1/cl_btcekspodproperties(
io_metadata = new /aws1/cl_btceksmetadata(
it_annotations = VALUE /aws1/cl_btceksannotationsma00=>tt_eksannotationsmap(
(
VALUE /aws1/cl_btceksannotationsma00=>ts_eksannotationsmap_maprow(
key = |string|
value = new /aws1/cl_btceksannotationsma00( |string| )
)
)
)
it_labels = VALUE /aws1/cl_btcekslabelsmap_w=>tt_ekslabelsmap(
(
VALUE /aws1/cl_btcekslabelsmap_w=>ts_ekslabelsmap_maprow(
value = new /aws1/cl_btcekslabelsmap_w( |string| )
key = |string|
)
)
)
iv_namespace = |string|
)
it_containers = VALUE /aws1/cl_btcekscontainer=>tt_ekscontainers(
(
new /aws1/cl_btcekscontainer(
io_resources = new /aws1/cl_btcekscontainerresr00(
it_limits = VALUE /aws1/cl_btcekslimits_w=>tt_ekslimits(
(
VALUE /aws1/cl_btcekslimits_w=>ts_ekslimits_maprow(
value = new /aws1/cl_btcekslimits_w( |string| )
key = |string|
)
)
)
it_requests = VALUE /aws1/cl_btceksrequests_w=>tt_eksrequests(
(
VALUE /aws1/cl_btceksrequests_w=>ts_eksrequests_maprow(
key = |string|
value = new /aws1/cl_btceksrequests_w( |string| )
)
)
)
)
io_securitycontext = new /aws1/cl_btcekscontainersecctx(
iv_allowprivilegeescalation = ABAP_TRUE
iv_privileged = ABAP_TRUE
iv_readonlyrootfilesystem = ABAP_TRUE
iv_runasgroup = 123
iv_runasnonroot = ABAP_TRUE
iv_runasuser = 123
)
it_args = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
it_command = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
it_env = VALUE /aws1/cl_btcekscontainerenvi00=>tt_ekscontainerenvironmentva00(
(
new /aws1/cl_btcekscontainerenvi00(
iv_name = |string|
iv_value = |string|
)
)
)
it_volumemounts = VALUE /aws1/cl_btcekscontainervolm00=>tt_ekscontainervolumemounts(
(
new /aws1/cl_btcekscontainervolm00(
iv_mountpath = |string|
iv_name = |string|
iv_readonly = ABAP_TRUE
iv_subpath = |string|
)
)
)
iv_image = |string|
iv_imagepullpolicy = |string|
iv_name = |string|
)
)
)
it_imagepullsecrets = VALUE /aws1/cl_btcimagepullsecret=>tt_imagepullsecrets(
( new /aws1/cl_btcimagepullsecret( |string| ) )
)
it_initcontainers = VALUE /aws1/cl_btcekscontainer=>tt_ekscontainers(
(
new /aws1/cl_btcekscontainer(
io_resources = new /aws1/cl_btcekscontainerresr00(
it_limits = VALUE /aws1/cl_btcekslimits_w=>tt_ekslimits(
(
VALUE /aws1/cl_btcekslimits_w=>ts_ekslimits_maprow(
value = new /aws1/cl_btcekslimits_w( |string| )
key = |string|
)
)
)
it_requests = VALUE /aws1/cl_btceksrequests_w=>tt_eksrequests(
(
VALUE /aws1/cl_btceksrequests_w=>ts_eksrequests_maprow(
key = |string|
value = new /aws1/cl_btceksrequests_w( |string| )
)
)
)
)
io_securitycontext = new /aws1/cl_btcekscontainersecctx(
iv_allowprivilegeescalation = ABAP_TRUE
iv_privileged = ABAP_TRUE
iv_readonlyrootfilesystem = ABAP_TRUE
iv_runasgroup = 123
iv_runasnonroot = ABAP_TRUE
iv_runasuser = 123
)
it_args = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
it_command = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
it_env = VALUE /aws1/cl_btcekscontainerenvi00=>tt_ekscontainerenvironmentva00(
(
new /aws1/cl_btcekscontainerenvi00(
iv_name = |string|
iv_value = |string|
)
)
)
it_volumemounts = VALUE /aws1/cl_btcekscontainervolm00=>tt_ekscontainervolumemounts(
(
new /aws1/cl_btcekscontainervolm00(
iv_mountpath = |string|
iv_name = |string|
iv_readonly = ABAP_TRUE
iv_subpath = |string|
)
)
)
iv_image = |string|
iv_imagepullpolicy = |string|
iv_name = |string|
)
)
)
it_volumes = VALUE /aws1/cl_btceksvolume=>tt_eksvolumes(
(
new /aws1/cl_btceksvolume(
io_emptydir = new /aws1/cl_btceksemptydir(
iv_medium = |string|
iv_sizelimit = |string|
)
io_hostpath = new /aws1/cl_btcekshostpath( |string| )
io_persistentvolumeclaim = new /aws1/cl_btcekspersistentvol00(
iv_claimname = |string|
iv_readonly = ABAP_TRUE
)
io_secret = new /aws1/cl_btcekssecret(
iv_optional = ABAP_TRUE
iv_secretname = |string|
)
iv_name = |string|
)
)
)
iv_dnspolicy = |string|
iv_hostnetwork = ABAP_TRUE
iv_serviceaccountname = |string|
iv_shareprocessnamespace = ABAP_TRUE
)
)
io_nodeproperties = new /aws1/cl_btcnodeproperties(
it_noderangeproperties = VALUE /aws1/cl_btcnoderangeproperty=>tt_noderangeproperties(
(
new /aws1/cl_btcnoderangeproperty(
io_consumableresourceprps = new /aws1/cl_btcconsumableresrcp00(
it_consumableresourcelist = VALUE /aws1/cl_btcconsumableresrcr00=>tt_consumableresourcelist(
(
new /aws1/cl_btcconsumableresrcr00(
iv_consumableresource = |string|
iv_quantity = 123
)
)
)
)
io_container = new /aws1/cl_btccontainerprps(
io_ephemeralstorage = new /aws1/cl_btcephemeralstorage( 123 )
io_fargateplatformconf = new /aws1/cl_btcfargateplatformc00( |string| )
io_linuxparameters = new /aws1/cl_btclinuxparameters(
it_devices = VALUE /aws1/cl_btcdevice=>tt_deviceslist(
(
new /aws1/cl_btcdevice(
it_permissions = VALUE /aws1/cl_btcdevcgroupperms_w=>tt_devicecgrouppermissions(
( new /aws1/cl_btcdevcgroupperms_w( |string| ) )
)
iv_containerpath = |string|
iv_hostpath = |string|
)
)
)
it_tmpfs = VALUE /aws1/cl_btctmpfs=>tt_tmpfslist(
(
new /aws1/cl_btctmpfs(
it_mountoptions = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
iv_containerpath = |string|
iv_size = 123
)
)
)
iv_initprocessenabled = ABAP_TRUE
iv_maxswap = 123
iv_sharedmemorysize = 123
iv_swappiness = 123
)
io_logconfiguration = new /aws1/cl_btclogconfiguration(
it_options = VALUE /aws1/cl_btclogconfoptsmap_w=>tt_logconfigurationoptionsmap(
(
VALUE /aws1/cl_btclogconfoptsmap_w=>ts_logconfoptionsmap_maprow(
value = new /aws1/cl_btclogconfoptsmap_w( |string| )
key = |string|
)
)
)
it_secretoptions = VALUE /aws1/cl_btcsecret=>tt_secretlist(
(
new /aws1/cl_btcsecret(
iv_name = |string|
iv_valuefrom = |string|
)
)
)
iv_logdriver = |string|
)
io_networkconfiguration = new /aws1/cl_btcnetworkconf( |string| )
io_repositorycredentials = new /aws1/cl_btcrepositorycreds( |string| )
io_runtimeplatform = new /aws1/cl_btcruntimeplatform(
iv_cpuarchitecture = |string|
iv_operatingsystemfamily = |string|
)
it_command = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
it_environment = VALUE /aws1/cl_btckeyvaluepair=>tt_environmentvariables(
(
new /aws1/cl_btckeyvaluepair(
iv_name = |string|
iv_value = |string|
)
)
)
it_mountpoints = VALUE /aws1/cl_btcmountpoint=>tt_mountpoints(
(
new /aws1/cl_btcmountpoint(
iv_containerpath = |string|
iv_readonly = ABAP_TRUE
iv_sourcevolume = |string|
)
)
)
it_resourcerequirements = VALUE /aws1/cl_btcresrcrequirement=>tt_resourcerequirements(
(
new /aws1/cl_btcresrcrequirement(
iv_type = |string|
iv_value = |string|
)
)
)
it_secrets = VALUE /aws1/cl_btcsecret=>tt_secretlist(
(
new /aws1/cl_btcsecret(
iv_name = |string|
iv_valuefrom = |string|
)
)
)
it_ulimits = VALUE /aws1/cl_btculimit=>tt_ulimits(
(
new /aws1/cl_btculimit(
iv_hardlimit = 123
iv_name = |string|
iv_softlimit = 123
)
)
)
it_volumes = VALUE /aws1/cl_btcvolume=>tt_volumes(
(
new /aws1/cl_btcvolume(
io_efsvolumeconfiguration = new /aws1/cl_btcefsvolumeconf(
io_authorizationconfig = new /aws1/cl_btcefsauthconfig(
iv_accesspointid = |string|
iv_iam = |string|
)
iv_filesystemid = |string|
iv_rootdirectory = |string|
iv_transitencryption = |string|
iv_transitencryptionport = 123
)
io_host = new /aws1/cl_btchost( |string| )
iv_name = |string|
)
)
)
iv_enableexecutecommand = ABAP_TRUE
iv_executionrolearn = |string|
iv_image = |string|
iv_instancetype = |string|
iv_jobrolearn = |string|
iv_memory = 123
iv_privileged = ABAP_TRUE
iv_readonlyrootfilesystem = ABAP_TRUE
iv_user = |string|
iv_vcpus = 123
)
io_ecsproperties = new /aws1/cl_btcecsproperties(
it_taskproperties = VALUE /aws1/cl_btcecstaskproperties=>tt_listecstaskproperties(
(
new /aws1/cl_btcecstaskproperties(
io_ephemeralstorage = new /aws1/cl_btcephemeralstorage( 123 )
io_networkconfiguration = new /aws1/cl_btcnetworkconf( |string| )
io_runtimeplatform = new /aws1/cl_btcruntimeplatform(
iv_cpuarchitecture = |string|
iv_operatingsystemfamily = |string|
)
it_containers = VALUE /aws1/cl_btctaskcontainerprps=>tt_listtaskcontainerproperties(
(
new /aws1/cl_btctaskcontainerprps(
io_firelensconfiguration = new /aws1/cl_btcfirelensconf(
it_options = VALUE /aws1/cl_btcfirelensconfopts00=>tt_firelensconfoptionsmap(
(
VALUE /aws1/cl_btcfirelensconfopts00=>ts_firelensconfoptsmap_maprow(
value = new /aws1/cl_btcfirelensconfopts00( |string| )
key = |string|
)
)
)
iv_type = |string|
)
io_linuxparameters = new /aws1/cl_btclinuxparameters(
it_devices = VALUE /aws1/cl_btcdevice=>tt_deviceslist(
(
new /aws1/cl_btcdevice(
it_permissions = VALUE /aws1/cl_btcdevcgroupperms_w=>tt_devicecgrouppermissions(
( new /aws1/cl_btcdevcgroupperms_w( |string| ) )
)
iv_containerpath = |string|
iv_hostpath = |string|
)
)
)
it_tmpfs = VALUE /aws1/cl_btctmpfs=>tt_tmpfslist(
(
new /aws1/cl_btctmpfs(
it_mountoptions = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
iv_containerpath = |string|
iv_size = 123
)
)
)
iv_initprocessenabled = ABAP_TRUE
iv_maxswap = 123
iv_sharedmemorysize = 123
iv_swappiness = 123
)
io_logconfiguration = new /aws1/cl_btclogconfiguration(
it_options = VALUE /aws1/cl_btclogconfoptsmap_w=>tt_logconfigurationoptionsmap(
(
VALUE /aws1/cl_btclogconfoptsmap_w=>ts_logconfoptionsmap_maprow(
value = new /aws1/cl_btclogconfoptsmap_w( |string| )
key = |string|
)
)
)
it_secretoptions = VALUE /aws1/cl_btcsecret=>tt_secretlist(
(
new /aws1/cl_btcsecret(
iv_name = |string|
iv_valuefrom = |string|
)
)
)
iv_logdriver = |string|
)
io_repositorycredentials = new /aws1/cl_btcrepositorycreds( |string| )
it_command = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
it_dependson = VALUE /aws1/cl_btctskcontainerdepe00=>tt_taskcontainerdependencylist(
(
new /aws1/cl_btctskcontainerdepe00(
iv_condition = |string|
iv_containername = |string|
)
)
)
it_environment = VALUE /aws1/cl_btckeyvaluepair=>tt_environmentvariables(
(
new /aws1/cl_btckeyvaluepair(
iv_name = |string|
iv_value = |string|
)
)
)
it_mountpoints = VALUE /aws1/cl_btcmountpoint=>tt_mountpoints(
(
new /aws1/cl_btcmountpoint(
iv_containerpath = |string|
iv_readonly = ABAP_TRUE
iv_sourcevolume = |string|
)
)
)
it_resourcerequirements = VALUE /aws1/cl_btcresrcrequirement=>tt_resourcerequirements(
(
new /aws1/cl_btcresrcrequirement(
iv_type = |string|
iv_value = |string|
)
)
)
it_secrets = VALUE /aws1/cl_btcsecret=>tt_secretlist(
(
new /aws1/cl_btcsecret(
iv_name = |string|
iv_valuefrom = |string|
)
)
)
it_ulimits = VALUE /aws1/cl_btculimit=>tt_ulimits(
(
new /aws1/cl_btculimit(
iv_hardlimit = 123
iv_name = |string|
iv_softlimit = 123
)
)
)
iv_essential = ABAP_TRUE
iv_image = |string|
iv_name = |string|
iv_privileged = ABAP_TRUE
iv_readonlyrootfilesystem = ABAP_TRUE
iv_user = |string|
)
)
)
it_volumes = VALUE /aws1/cl_btcvolume=>tt_volumes(
(
new /aws1/cl_btcvolume(
io_efsvolumeconfiguration = new /aws1/cl_btcefsvolumeconf(
io_authorizationconfig = new /aws1/cl_btcefsauthconfig(
iv_accesspointid = |string|
iv_iam = |string|
)
iv_filesystemid = |string|
iv_rootdirectory = |string|
iv_transitencryption = |string|
iv_transitencryptionport = 123
)
io_host = new /aws1/cl_btchost( |string| )
iv_name = |string|
)
)
)
iv_enableexecutecommand = ABAP_TRUE
iv_executionrolearn = |string|
iv_ipcmode = |string|
iv_pidmode = |string|
iv_platformversion = |string|
iv_taskrolearn = |string|
)
)
)
)
io_eksproperties = new /aws1/cl_btceksproperties(
io_podproperties = new /aws1/cl_btcekspodproperties(
io_metadata = new /aws1/cl_btceksmetadata(
it_annotations = VALUE /aws1/cl_btceksannotationsma00=>tt_eksannotationsmap(
(
VALUE /aws1/cl_btceksannotationsma00=>ts_eksannotationsmap_maprow(
key = |string|
value = new /aws1/cl_btceksannotationsma00( |string| )
)
)
)
it_labels = VALUE /aws1/cl_btcekslabelsmap_w=>tt_ekslabelsmap(
(
VALUE /aws1/cl_btcekslabelsmap_w=>ts_ekslabelsmap_maprow(
value = new /aws1/cl_btcekslabelsmap_w( |string| )
key = |string|
)
)
)
iv_namespace = |string|
)
it_containers = VALUE /aws1/cl_btcekscontainer=>tt_ekscontainers(
(
new /aws1/cl_btcekscontainer(
io_resources = new /aws1/cl_btcekscontainerresr00(
it_limits = VALUE /aws1/cl_btcekslimits_w=>tt_ekslimits(
(
VALUE /aws1/cl_btcekslimits_w=>ts_ekslimits_maprow(
value = new /aws1/cl_btcekslimits_w( |string| )
key = |string|
)
)
)
it_requests = VALUE /aws1/cl_btceksrequests_w=>tt_eksrequests(
(
VALUE /aws1/cl_btceksrequests_w=>ts_eksrequests_maprow(
key = |string|
value = new /aws1/cl_btceksrequests_w( |string| )
)
)
)
)
io_securitycontext = new /aws1/cl_btcekscontainersecctx(
iv_allowprivilegeescalation = ABAP_TRUE
iv_privileged = ABAP_TRUE
iv_readonlyrootfilesystem = ABAP_TRUE
iv_runasgroup = 123
iv_runasnonroot = ABAP_TRUE
iv_runasuser = 123
)
it_args = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
it_command = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
it_env = VALUE /aws1/cl_btcekscontainerenvi00=>tt_ekscontainerenvironmentva00(
(
new /aws1/cl_btcekscontainerenvi00(
iv_name = |string|
iv_value = |string|
)
)
)
it_volumemounts = VALUE /aws1/cl_btcekscontainervolm00=>tt_ekscontainervolumemounts(
(
new /aws1/cl_btcekscontainervolm00(
iv_mountpath = |string|
iv_name = |string|
iv_readonly = ABAP_TRUE
iv_subpath = |string|
)
)
)
iv_image = |string|
iv_imagepullpolicy = |string|
iv_name = |string|
)
)
)
it_imagepullsecrets = VALUE /aws1/cl_btcimagepullsecret=>tt_imagepullsecrets(
( new /aws1/cl_btcimagepullsecret( |string| ) )
)
it_initcontainers = VALUE /aws1/cl_btcekscontainer=>tt_ekscontainers(
(
new /aws1/cl_btcekscontainer(
io_resources = new /aws1/cl_btcekscontainerresr00(
it_limits = VALUE /aws1/cl_btcekslimits_w=>tt_ekslimits(
(
VALUE /aws1/cl_btcekslimits_w=>ts_ekslimits_maprow(
value = new /aws1/cl_btcekslimits_w( |string| )
key = |string|
)
)
)
it_requests = VALUE /aws1/cl_btceksrequests_w=>tt_eksrequests(
(
VALUE /aws1/cl_btceksrequests_w=>ts_eksrequests_maprow(
key = |string|
value = new /aws1/cl_btceksrequests_w( |string| )
)
)
)
)
io_securitycontext = new /aws1/cl_btcekscontainersecctx(
iv_allowprivilegeescalation = ABAP_TRUE
iv_privileged = ABAP_TRUE
iv_readonlyrootfilesystem = ABAP_TRUE
iv_runasgroup = 123
iv_runasnonroot = ABAP_TRUE
iv_runasuser = 123
)
it_args = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
it_command = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
it_env = VALUE /aws1/cl_btcekscontainerenvi00=>tt_ekscontainerenvironmentva00(
(
new /aws1/cl_btcekscontainerenvi00(
iv_name = |string|
iv_value = |string|
)
)
)
it_volumemounts = VALUE /aws1/cl_btcekscontainervolm00=>tt_ekscontainervolumemounts(
(
new /aws1/cl_btcekscontainervolm00(
iv_mountpath = |string|
iv_name = |string|
iv_readonly = ABAP_TRUE
iv_subpath = |string|
)
)
)
iv_image = |string|
iv_imagepullpolicy = |string|
iv_name = |string|
)
)
)
it_volumes = VALUE /aws1/cl_btceksvolume=>tt_eksvolumes(
(
new /aws1/cl_btceksvolume(
io_emptydir = new /aws1/cl_btceksemptydir(
iv_medium = |string|
iv_sizelimit = |string|
)
io_hostpath = new /aws1/cl_btcekshostpath( |string| )
io_persistentvolumeclaim = new /aws1/cl_btcekspersistentvol00(
iv_claimname = |string|
iv_readonly = ABAP_TRUE
)
io_secret = new /aws1/cl_btcekssecret(
iv_optional = ABAP_TRUE
iv_secretname = |string|
)
iv_name = |string|
)
)
)
iv_dnspolicy = |string|
iv_hostnetwork = ABAP_TRUE
iv_serviceaccountname = |string|
iv_shareprocessnamespace = ABAP_TRUE
)
)
it_instancetypes = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |string| ) )
)
iv_targetnodes = |string|
)
)
)
iv_mainnode = 123
iv_numnodes = 123
)
io_retrystrategy = new /aws1/cl_btcretrystrategy(
it_evaluateonexit = VALUE /aws1/cl_btcevaluateonexit=>tt_evaluateonexitlist(
(
new /aws1/cl_btcevaluateonexit(
iv_action = |string|
iv_onexitcode = |string|
iv_onreason = |string|
iv_onstatusreason = |string|
)
)
)
iv_attempts = 123
)
io_timeout = new /aws1/cl_btcjobtimeout( 123 )
it_parameters = VALUE /aws1/cl_btcparametersmap_w=>tt_parametersmap(
(
VALUE /aws1/cl_btcparametersmap_w=>ts_parametersmap_maprow(
key = |string|
value = new /aws1/cl_btcparametersmap_w( |string| )
)
)
)
it_platformcapabilities = VALUE /aws1/cl_btcplatformcapabili00=>tt_platformcapabilitylist(
( new /aws1/cl_btcplatformcapabili00( |string| ) )
)
it_tags = VALUE /aws1/cl_btctagristagsmap_w=>tt_tagristagsmap(
(
VALUE /aws1/cl_btctagristagsmap_w=>ts_tagristagsmap_maprow(
value = new /aws1/cl_btctagristagsmap_w( |string| )
key = |string|
)
)
)
iv_jobdefinitionname = |string|
iv_propagatetags = ABAP_TRUE
iv_schedulingpriority = 123
iv_type = |string|
).
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_jobdefinitionname( ).
lv_string = lo_result->get_jobdefinitionarn( ).
lv_integer = lo_result->get_revision( ).
ENDIF.
RegisterJobDefinition with tags¶
This demonstrates calling the RegisterJobDefinition action, including tags.
DATA(lo_result) = lo_client->registerjobdefinition(
io_containerproperties = new /aws1/cl_btccontainerprps(
it_command = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |sleep| ) )
( new /aws1/cl_btcstringlist_w( |30| ) )
)
it_resourcerequirements = VALUE /aws1/cl_btcresrcrequirement=>tt_resourcerequirements(
(
new /aws1/cl_btcresrcrequirement(
iv_type = |MEMORY|
iv_value = |128|
)
)
(
new /aws1/cl_btcresrcrequirement(
iv_type = |VCPU|
iv_value = |1|
)
)
)
iv_image = |busybox|
)
it_tags = VALUE /aws1/cl_btctagristagsmap_w=>tt_tagristagsmap(
(
VALUE /aws1/cl_btctagristagsmap_w=>ts_tagristagsmap_maprow(
value = new /aws1/cl_btctagristagsmap_w( |Engineering| )
key = |Department|
)
)
(
VALUE /aws1/cl_btctagristagsmap_w=>ts_tagristagsmap_maprow(
value = new /aws1/cl_btctagristagsmap_w( |JaneDoe| )
key = |User|
)
)
)
iv_jobdefinitionname = |sleep30|
iv_type = |container|
).
To register a job definition¶
This example registers a job definition for a simple container job.
DATA(lo_result) = lo_client->registerjobdefinition(
io_containerproperties = new /aws1/cl_btccontainerprps(
it_command = VALUE /aws1/cl_btcstringlist_w=>tt_stringlist(
( new /aws1/cl_btcstringlist_w( |sleep| ) )
( new /aws1/cl_btcstringlist_w( |10| ) )
)
it_resourcerequirements = VALUE /aws1/cl_btcresrcrequirement=>tt_resourcerequirements(
(
new /aws1/cl_btcresrcrequirement(
iv_type = |MEMORY|
iv_value = |128|
)
)
(
new /aws1/cl_btcresrcrequirement(
iv_type = |VCPU|
iv_value = |1|
)
)
)
iv_image = |busybox|
)
iv_jobdefinitionname = |sleep10|
iv_type = |container|
).