/AWS1/IF_PRN=>CREATESERVICE()¶
About CreateService¶
Create an Proton service. An Proton service is an instantiation of a service template and often includes several service instances and pipeline. For more information, see Services in the Proton User Guide.
Method Signature¶
METHODS /AWS1/IF_PRN~CREATESERVICE
IMPORTING
!IV_NAME TYPE /AWS1/PRNRESOURCENAME OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/PRNDESCRIPTION OPTIONAL
!IV_TEMPLATENAME TYPE /AWS1/PRNRESOURCENAME OPTIONAL
!IV_TEMPLATEMAJORVERSION TYPE /AWS1/PRNTEMPLATEVERSIONPART OPTIONAL
!IV_TEMPLATEMINORVERSION TYPE /AWS1/PRNTEMPLATEVERSIONPART OPTIONAL
!IV_SPEC TYPE /AWS1/PRNSPECCONTENTS OPTIONAL
!IV_REPOSITORYCONNECTIONARN TYPE /AWS1/PRNARN OPTIONAL
!IV_REPOSITORYID TYPE /AWS1/PRNREPOSITORYID OPTIONAL
!IV_BRANCHNAME TYPE /AWS1/PRNGITBRANCHNAME OPTIONAL
!IT_TAGS TYPE /AWS1/CL_PRNTAG=>TT_TAGLIST OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_prncreatesvcoutput
RAISING
/AWS1/CX_PRNACCESSDENIEDEX
/AWS1/CX_PRNCONFLICTEXCEPTION
/AWS1/CX_PRNINTERNALSERVEREX
/AWS1/CX_PRNRESOURCENOTFOUNDEX
/AWS1/CX_PRNSERVICEQUOTAEXCDEX
/AWS1/CX_PRNTHROTTLINGEX
/AWS1/CX_PRNVALIDATIONEX
/AWS1/CX_PRNCLIENTEXC
/AWS1/CX_PRNSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_name TYPE /AWS1/PRNRESOURCENAME /AWS1/PRNRESOURCENAME¶
The service name.
iv_templatename TYPE /AWS1/PRNRESOURCENAME /AWS1/PRNRESOURCENAME¶
The name of the service template that's used to create the service.
iv_templatemajorversion TYPE /AWS1/PRNTEMPLATEVERSIONPART /AWS1/PRNTEMPLATEVERSIONPART¶
The major version of the service template that was used to create the service.
iv_spec TYPE /AWS1/PRNSPECCONTENTS /AWS1/PRNSPECCONTENTS¶
A link to a spec file that provides inputs as defined in the service template bundle schema file. The spec file is in YAML format. Don’t include pipeline inputs in the spec if your service template doesn’t include a service pipeline. For more information, see Create a service in the Proton User Guide.
Optional arguments:¶
iv_description TYPE /AWS1/PRNDESCRIPTION /AWS1/PRNDESCRIPTION¶
A description of the Proton service.
iv_templateminorversion TYPE /AWS1/PRNTEMPLATEVERSIONPART /AWS1/PRNTEMPLATEVERSIONPART¶
The minor version of the service template that was used to create the service.
iv_repositoryconnectionarn TYPE /AWS1/PRNARN /AWS1/PRNARN¶
The Amazon Resource Name (ARN) of the repository connection. For more information, see Setting up an AWS CodeStar connection in the Proton User Guide. Don't include this parameter if your service template doesn't include a service pipeline.
iv_repositoryid TYPE /AWS1/PRNREPOSITORYID /AWS1/PRNREPOSITORYID¶
The ID of the code repository. Don't include this parameter if your service template doesn't include a service pipeline.
iv_branchname TYPE /AWS1/PRNGITBRANCHNAME /AWS1/PRNGITBRANCHNAME¶
The name of the code repository branch that holds the code that's deployed in Proton. Don't include this parameter if your service template doesn't include a service pipeline.
it_tags TYPE /AWS1/CL_PRNTAG=>TT_TAGLIST TT_TAGLIST¶
An optional list of metadata items that you can associate with the Proton service. A tag is a key-value pair.
For more information, see Proton resources and tagging in the Proton User Guide.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_prncreatesvcoutput /AWS1/CL_PRNCREATESVCOUTPUT¶
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->createservice(
it_tags = VALUE /aws1/cl_prntag=>tt_taglist(
(
new /aws1/cl_prntag(
iv_key = |string|
iv_value = |string|
)
)
)
iv_branchname = |string|
iv_description = |string|
iv_name = |string|
iv_repositoryconnectionarn = |string|
iv_repositoryid = |string|
iv_spec = |string|
iv_templatemajorversion = |string|
iv_templateminorversion = |string|
iv_templatename = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_service = lo_result->get_service( ).
IF lo_service IS NOT INITIAL.
lv_resourcename = lo_service->get_name( ).
lv_description = lo_service->get_description( ).
lv_servicearn = lo_service->get_arn( ).
lv_resourcename = lo_service->get_templatename( ).
lv_timestamp = lo_service->get_createdat( ).
lv_timestamp = lo_service->get_lastmodifiedat( ).
lv_servicestatus = lo_service->get_status( ).
lv_statusmessage = lo_service->get_statusmessage( ).
lv_speccontents = lo_service->get_spec( ).
lo_servicepipeline = lo_service->get_pipeline( ).
IF lo_servicepipeline IS NOT INITIAL.
lv_arn = lo_servicepipeline->get_arn( ).
lv_timestamp = lo_servicepipeline->get_createdat( ).
lv_timestamp = lo_servicepipeline->get_lastdeploymentattempte00( ).
lv_timestamp = lo_servicepipeline->get_lastdeploymentsuccat( ).
lv_resourcename = lo_servicepipeline->get_templatename( ).
lv_templateversionpart = lo_servicepipeline->get_templatemajorversion( ).
lv_templateversionpart = lo_servicepipeline->get_templateminorversion( ).
lv_deploymentstatus = lo_servicepipeline->get_deploymentstatus( ).
lv_statusmessage = lo_servicepipeline->get_deploymentstatusmessage( ).
lv_speccontents = lo_servicepipeline->get_spec( ).
lv_deploymentid = lo_servicepipeline->get_lastattempteddeploymen00( ).
lv_deploymentid = lo_servicepipeline->get_lastsuccdeploymentid( ).
ENDIF.
lv_arn = lo_service->get_repositoryconnectionarn( ).
lv_repositoryid = lo_service->get_repositoryid( ).
lv_gitbranchname = lo_service->get_branchname( ).
ENDIF.
ENDIF.