/AWS1/IF_SCG=>PROVISIONPRODUCT()¶
About ProvisionProduct¶
Provisions the specified product.
A provisioned product is a resourced instance of a product. For example, provisioning a product that's based on an CloudFormation template launches an CloudFormation stack and its underlying resources. You can check the status of this request using DescribeRecord.
If the request contains a tag key with an empty list of values, there's a tag conflict for that key. Don't include conflicted keys as tags, or this will cause the error "Parameter validation failed: Missing required parameter in Tags[N]:Value".
When provisioning a product that's been added to a portfolio, you must grant your user, group, or role access to the portfolio. For more information, see Granting users access in the Service Catalog User Guide.
Method Signature¶
METHODS /AWS1/IF_SCG~PROVISIONPRODUCT
IMPORTING
!IV_ACCEPTLANGUAGE TYPE /AWS1/SCGACCEPTLANGUAGE OPTIONAL
!IV_PRODUCTID TYPE /AWS1/SCGID OPTIONAL
!IV_PRODUCTNAME TYPE /AWS1/SCGPRODUCTVIEWNAME OPTIONAL
!IV_PROVISIONINGARTIFACTID TYPE /AWS1/SCGID OPTIONAL
!IV_PROVISIONINGARTIFACTNAME TYPE /AWS1/SCGPROVARTIFACTNAME OPTIONAL
!IV_PATHID TYPE /AWS1/SCGID OPTIONAL
!IV_PATHNAME TYPE /AWS1/SCGPORTFOLIODISPLAYNAME OPTIONAL
!IV_PROVISIONEDPRODUCTNAME TYPE /AWS1/SCGPROVPRODUCTNAME OPTIONAL
!IT_PROVISIONINGPARAMETERS TYPE /AWS1/CL_SCGPROVPARAMETER=>TT_PROVISIONINGPARAMETERS OPTIONAL
!IO_PROVISIONINGPREFERENCES TYPE REF TO /AWS1/CL_SCGPROVPREFERENCES OPTIONAL
!IT_TAGS TYPE /AWS1/CL_SCGTAG=>TT_TAGS OPTIONAL
!IT_NOTIFICATIONARNS TYPE /AWS1/CL_SCGNOTIFICATIONARNS_W=>TT_NOTIFICATIONARNS OPTIONAL
!IV_PROVISIONTOKEN TYPE /AWS1/SCGIDEMPOTENCYTOKEN OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_scgprovisionproduct01
RAISING
/AWS1/CX_SCGDUPLICATERESRCEX
/AWS1/CX_SCGINVALIDPARAMSEX
/AWS1/CX_SCGRESOURCENOTFOUNDEX
/AWS1/CX_SCGCLIENTEXC
/AWS1/CX_SCGSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_provisionedproductname TYPE /AWS1/SCGPROVPRODUCTNAME /AWS1/SCGPROVPRODUCTNAME¶
A user-friendly name for the provisioned product. This value must be unique for the Amazon Web Services account and cannot be updated after the product is provisioned.
iv_provisiontoken TYPE /AWS1/SCGIDEMPOTENCYTOKEN /AWS1/SCGIDEMPOTENCYTOKEN¶
An idempotency token that uniquely identifies the provisioning request.
Optional arguments:¶
iv_acceptlanguage TYPE /AWS1/SCGACCEPTLANGUAGE /AWS1/SCGACCEPTLANGUAGE¶
The language code.
jp- Japanese
zh- Chinese
iv_productid TYPE /AWS1/SCGID /AWS1/SCGID¶
The product identifier. You must provide the name or ID, but not both.
iv_productname TYPE /AWS1/SCGPRODUCTVIEWNAME /AWS1/SCGPRODUCTVIEWNAME¶
The name of the product. You must provide the name or ID, but not both.
iv_provisioningartifactid TYPE /AWS1/SCGID /AWS1/SCGID¶
The identifier of the provisioning artifact. You must provide the name or ID, but not both.
iv_provisioningartifactname TYPE /AWS1/SCGPROVARTIFACTNAME /AWS1/SCGPROVARTIFACTNAME¶
The name of the provisioning artifact. You must provide the name or ID, but not both.
iv_pathid TYPE /AWS1/SCGID /AWS1/SCGID¶
The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths. You must provide the name or ID, but not both.
iv_pathname TYPE /AWS1/SCGPORTFOLIODISPLAYNAME /AWS1/SCGPORTFOLIODISPLAYNAME¶
The name of the path. You must provide the name or ID, but not both.
it_provisioningparameters TYPE /AWS1/CL_SCGPROVPARAMETER=>TT_PROVISIONINGPARAMETERS TT_PROVISIONINGPARAMETERS¶
Parameters specified by the administrator that are required for provisioning the product.
io_provisioningpreferences TYPE REF TO /AWS1/CL_SCGPROVPREFERENCES /AWS1/CL_SCGPROVPREFERENCES¶
An object that contains information about the provisioning preferences for a stack set.
it_tags TYPE /AWS1/CL_SCGTAG=>TT_TAGS TT_TAGS¶
One or more tags.
it_notificationarns TYPE /AWS1/CL_SCGNOTIFICATIONARNS_W=>TT_NOTIFICATIONARNS TT_NOTIFICATIONARNS¶
Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_scgprovisionproduct01 /AWS1/CL_SCGPROVISIONPRODUCT01¶
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->provisionproduct(
io_provisioningpreferences = new /aws1/cl_scgprovpreferences(
it_stacksetaccounts = VALUE /aws1/cl_scgstacksetaccounts_w=>tt_stacksetaccounts(
( new /aws1/cl_scgstacksetaccounts_w( |string| ) )
)
it_stacksetregions = VALUE /aws1/cl_scgstacksetregions_w=>tt_stacksetregions(
( new /aws1/cl_scgstacksetregions_w( |string| ) )
)
iv_stacksetfailuretoleranc00 = 123
iv_stacksetfailuretoleranc01 = 123
iv_stacksetmaxconcurrencycnt = 123
iv_stacksetmaxconcurrencyp00 = 123
)
it_notificationarns = VALUE /aws1/cl_scgnotificationarns_w=>tt_notificationarns(
( new /aws1/cl_scgnotificationarns_w( |string| ) )
)
it_provisioningparameters = VALUE /aws1/cl_scgprovparameter=>tt_provisioningparameters(
(
new /aws1/cl_scgprovparameter(
iv_key = |string|
iv_value = |string|
)
)
)
it_tags = VALUE /aws1/cl_scgtag=>tt_tags(
(
new /aws1/cl_scgtag(
iv_key = |string|
iv_value = |string|
)
)
)
iv_acceptlanguage = |string|
iv_pathid = |string|
iv_pathname = |string|
iv_productid = |string|
iv_productname = |string|
iv_provisionedproductname = |string|
iv_provisioningartifactid = |string|
iv_provisioningartifactname = |string|
iv_provisiontoken = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_recorddetail = lo_result->get_recorddetail( ).
IF lo_recorddetail IS NOT INITIAL.
lv_id = lo_recorddetail->get_recordid( ).
lv_provisionedproductname = lo_recorddetail->get_provisionedproductname( ).
lv_recordstatus = lo_recorddetail->get_status( ).
lv_createdtime = lo_recorddetail->get_createdtime( ).
lv_updatedtime = lo_recorddetail->get_updatedtime( ).
lv_provisionedproducttype = lo_recorddetail->get_provisionedproducttype( ).
lv_recordtype = lo_recorddetail->get_recordtype( ).
lv_id = lo_recorddetail->get_provisionedproductid( ).
lv_id = lo_recorddetail->get_productid( ).
lv_id = lo_recorddetail->get_provisioningartifactid( ).
lv_id = lo_recorddetail->get_pathid( ).
LOOP AT lo_recorddetail->get_recorderrors( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_errorcode = lo_row_1->get_code( ).
lv_errordescription = lo_row_1->get_description( ).
ENDIF.
ENDLOOP.
LOOP AT lo_recorddetail->get_recordtags( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_recordtagkey = lo_row_3->get_key( ).
lv_recordtagvalue = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
lv_rolearn = lo_recorddetail->get_launchrolearn( ).
ENDIF.
ENDIF.