/AWS1/IF_PRN=>UPDATESERVICEINSTANCE()¶
About UpdateServiceInstance¶
Update a service instance.
There are a few modes for updating a service instance. The deploymentType
field defines the mode.
You can't update a service instance while its deployment status, or the deployment
status of a component attached to it, is IN_PROGRESS.
For more information about components, see Proton components in the Proton User Guide.
Method Signature¶
METHODS /AWS1/IF_PRN~UPDATESERVICEINSTANCE
IMPORTING
!IV_NAME TYPE /AWS1/PRNRESOURCENAME OPTIONAL
!IV_SERVICENAME TYPE /AWS1/PRNRESOURCENAME OPTIONAL
!IV_DEPLOYMENTTYPE TYPE /AWS1/PRNDEPLOYMENTUPDATETYPE OPTIONAL
!IV_SPEC TYPE /AWS1/PRNSPECCONTENTS OPTIONAL
!IV_TEMPLATEMAJORVERSION TYPE /AWS1/PRNTEMPLATEVERSIONPART OPTIONAL
!IV_TEMPLATEMINORVERSION TYPE /AWS1/PRNTEMPLATEVERSIONPART OPTIONAL
!IV_CLIENTTOKEN TYPE /AWS1/PRNCLIENTTOKEN OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_prnupdsvcinstoutput
RAISING
/AWS1/CX_PRNACCESSDENIEDEX
/AWS1/CX_PRNCONFLICTEXCEPTION
/AWS1/CX_PRNINTERNALSERVEREX
/AWS1/CX_PRNRESOURCENOTFOUNDEX
/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 name of the service instance to update.
iv_servicename TYPE /AWS1/PRNRESOURCENAME /AWS1/PRNRESOURCENAME¶
The name of the service that the service instance belongs to.
iv_deploymenttype TYPE /AWS1/PRNDEPLOYMENTUPDATETYPE /AWS1/PRNDEPLOYMENTUPDATETYPE¶
The deployment type. It defines the mode for updating a service instance, as follows:
NONEIn this mode, a deployment doesn't occur. Only the requested metadata parameters are updated.
CURRENT_VERSIONIn this mode, the service instance is deployed and updated with the new spec that you provide. Only requested parameters are updated. Don’t include major or minor version parameters when you use this deployment type.
MINOR_VERSIONIn this mode, the service instance is deployed and updated with the published, recommended (latest) minor version of the current major version in use, by default. You can also specify a different minor version of the current major version in use.
MAJOR_VERSIONIn this mode, the service instance is deployed and updated with the published, recommended (latest) major and minor version of the current template, by default. You can specify a different major version that's higher than the major version in use and a minor version.
Optional arguments:¶
iv_spec TYPE /AWS1/PRNSPECCONTENTS /AWS1/PRNSPECCONTENTS¶
The formatted specification that defines the service instance update.
iv_templatemajorversion TYPE /AWS1/PRNTEMPLATEVERSIONPART /AWS1/PRNTEMPLATEVERSIONPART¶
The major version of the service template to update.
iv_templateminorversion TYPE /AWS1/PRNTEMPLATEVERSIONPART /AWS1/PRNTEMPLATEVERSIONPART¶
The minor version of the service template to update.
iv_clienttoken TYPE /AWS1/PRNCLIENTTOKEN /AWS1/PRNCLIENTTOKEN¶
The client token of the service instance to update.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_prnupdsvcinstoutput /AWS1/CL_PRNUPDSVCINSTOUTPUT¶
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->updateserviceinstance(
iv_clienttoken = |string|
iv_deploymenttype = |string|
iv_name = |string|
iv_servicename = |string|
iv_spec = |string|
iv_templatemajorversion = |string|
iv_templateminorversion = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_serviceinstance = lo_result->get_serviceinstance( ).
IF lo_serviceinstance IS NOT INITIAL.
lv_resourcename = lo_serviceinstance->get_name( ).
lv_serviceinstancearn = lo_serviceinstance->get_arn( ).
lv_timestamp = lo_serviceinstance->get_createdat( ).
lv_timestamp = lo_serviceinstance->get_lastdeploymentattempte00( ).
lv_timestamp = lo_serviceinstance->get_lastdeploymentsuccat( ).
lv_resourcename = lo_serviceinstance->get_servicename( ).
lv_resourcename = lo_serviceinstance->get_environmentname( ).
lv_resourcename = lo_serviceinstance->get_templatename( ).
lv_templateversionpart = lo_serviceinstance->get_templatemajorversion( ).
lv_templateversionpart = lo_serviceinstance->get_templateminorversion( ).
lv_deploymentstatus = lo_serviceinstance->get_deploymentstatus( ).
lv_statusmessage = lo_serviceinstance->get_deploymentstatusmessage( ).
lv_speccontents = lo_serviceinstance->get_spec( ).
lv_string = lo_serviceinstance->get_lastclientrequesttoken( ).
lv_deploymentid = lo_serviceinstance->get_lastattempteddeploymen00( ).
lv_deploymentid = lo_serviceinstance->get_lastsuccdeploymentid( ).
ENDIF.
ENDIF.