2018/11/14 - AWS Service Catalog - 3 updated api methods
Changes Adds support for Cloudformation StackSets in Service Catalog
{'ProvisioningArtifactPreferences': {'StackSetAccounts': ['string'], 'StackSetRegions': ['string']}}
Gets information about the configuration required to provision the specified product using the specified provisioning artifact.
If the output contains a TagOption key with an empty list of values, there is a TagOption conflict for that key. The end user cannot take action to fix the conflict, and launch is not blocked. In subsequent calls to ProvisionProduct , do not include conflicted TagOption keys as tags, or this causes the error "Parameter validation failed: Missing required parameter in Tags[N ]:Value ". Tag the provisioned product with the value sc-tagoption-conflict-portfolioId-productId .
See also: AWS API Documentation
Request Syntax
client.describe_provisioning_parameters( AcceptLanguage='string', ProductId='string', ProvisioningArtifactId='string', PathId='string' )
string
The language code.
en - English (default)
jp - Japanese
zh - Chinese
string
[REQUIRED]
The product identifier.
string
[REQUIRED]
The identifier of the provisioning artifact.
string
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 .
dict
Response Syntax
{ 'ProvisioningArtifactParameters': [ { 'ParameterKey': 'string', 'DefaultValue': 'string', 'ParameterType': 'string', 'IsNoEcho': True|False, 'Description': 'string', 'ParameterConstraints': { 'AllowedValues': [ 'string', ] } }, ], 'ConstraintSummaries': [ { 'Type': 'string', 'Description': 'string' }, ], 'UsageInstructions': [ { 'Type': 'string', 'Value': 'string' }, ], 'TagOptions': [ { 'Key': 'string', 'Values': [ 'string', ] }, ], 'ProvisioningArtifactPreferences': { 'StackSetAccounts': [ 'string', ], 'StackSetRegions': [ 'string', ] } }
Response Structure
(dict) --
ProvisioningArtifactParameters (list) --
Information about the parameters used to provision the product.
(dict) --
Information about a parameter used to provision a product.
ParameterKey (string) --
The parameter key.
DefaultValue (string) --
The default value.
ParameterType (string) --
The parameter type.
IsNoEcho (boolean) --
If this value is true, the value for this parameter is obfuscated from view when the parameter is retrieved. This parameter is used to hide sensitive information.
Description (string) --
The description of the parameter.
ParameterConstraints (dict) --
Constraints that the administrator has put on a parameter.
AllowedValues (list) --
The values that the administrator has allowed for the parameter.
(string) --
ConstraintSummaries (list) --
Information about the constraints used to provision the product.
(dict) --
Summary information about a constraint.
Type (string) --
The type of constraint.
LAUNCH
NOTIFICATION
TEMPLATE
Description (string) --
The description of the constraint.
UsageInstructions (list) --
Any additional metadata specifically related to the provisioning of the product. For example, see the Version field of the CloudFormation template.
(dict) --
Additional information provided by the administrator.
Type (string) --
The usage instruction type for the value.
Value (string) --
The usage instruction value for this type.
TagOptions (list) --
Information about the TagOptions associated with the resource.
(dict) --
Summary information about a TagOption.
Key (string) --
The TagOption key.
Values (list) --
The TagOption value.
(string) --
ProvisioningArtifactPreferences (dict) --
An object that contains information about preferences, such as regions and accounts, for the provisioning artifact.
StackSetAccounts (list) --
One or more AWS accounts where stack instances are deployed from the stack set. These accounts can be scoped in ProvisioningPreferences$StackSetAccounts and UpdateProvisioningPreferences$StackSetAccounts .
Applicable only to a CFN_STACKSET provisioned product type.
(string) --
StackSetRegions (list) --
One or more AWS Regions where stack instances are deployed from the stack set. These regions can be scoped in ProvisioningPreferences$StackSetRegions and UpdateProvisioningPreferences$StackSetRegions .
Applicable only to a CFN_STACKSET provisioned product type.
(string) --
{'ProvisioningPreferences': {'StackSetAccounts': ['string'], 'StackSetFailureToleranceCount': 'integer', 'StackSetFailureTolerancePercentage': 'integer', 'StackSetMaxConcurrencyCount': 'integer', 'StackSetMaxConcurrencyPercentage': 'integer', 'StackSetRegions': ['string']}}
Provisions the specified product.
A provisioned product is a resourced instance of a product. For example, provisioning a product based on a CloudFormation template launches a 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 is a tag conflict for that key. Do not include conflicted keys as tags, or this causes the error "Parameter validation failed: Missing required parameter in Tags[N ]:Value ".
See also: AWS API Documentation
Request Syntax
client.provision_product( AcceptLanguage='string', ProductId='string', ProvisioningArtifactId='string', PathId='string', ProvisionedProductName='string', ProvisioningParameters=[ { 'Key': 'string', 'Value': 'string' }, ], ProvisioningPreferences={ 'StackSetAccounts': [ 'string', ], 'StackSetRegions': [ 'string', ], 'StackSetFailureToleranceCount': 123, 'StackSetFailureTolerancePercentage': 123, 'StackSetMaxConcurrencyCount': 123, 'StackSetMaxConcurrencyPercentage': 123 }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ], NotificationArns=[ 'string', ], ProvisionToken='string' )
string
The language code.
en - English (default)
jp - Japanese
zh - Chinese
string
[REQUIRED]
The product identifier.
string
[REQUIRED]
The identifier of the provisioning artifact.
string
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 .
string
[REQUIRED]
A user-friendly name for the provisioned product. This value must be unique for the AWS account and cannot be updated after the product is provisioned.
list
Parameters specified by the administrator that are required for provisioning the product.
(dict) --
Information about a parameter used to provision a product.
Key (string) --
The parameter key.
Value (string) --
The parameter value.
dict
An object that contains information about the provisioning preferences for a stack set.
StackSetAccounts (list) --
One or more AWS accounts that will have access to the provisioned product.
Applicable only to a CFN_STACKSET provisioned product type.
The AWS accounts specified should be within the list of accounts in the STACKSET constraint. To get the list of accounts in the STACKSET constraint, use the DescribeProvisioningParameters operation.
If no values are specified, the default value is all accounts from the STACKSET constraint.
(string) --
StackSetRegions (list) --
One or more AWS Regions where the provisioned product will be available.
Applicable only to a CFN_STACKSET provisioned product type.
The specified regions should be within the list of regions from the STACKSET constraint. To get the list of regions in the STACKSET constraint, use the DescribeProvisioningParameters operation.
If no values are specified, the default value is all regions from the STACKSET constraint.
(string) --
StackSetFailureToleranceCount (integer) --
The number of accounts, per region, for which this operation can fail before AWS Service Catalog stops the operation in that region. If the operation is stopped in a region, AWS Service Catalog doesn't attempt the operation in any subsequent regions.
Applicable only to a CFN_STACKSET provisioned product type.
Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage , but not both.
The default value is 0 if no value is specified.
StackSetFailureTolerancePercentage (integer) --
The percentage of accounts, per region, for which this stack operation can fail before AWS Service Catalog stops the operation in that region. If the operation is stopped in a region, AWS Service Catalog doesn't attempt the operation in any subsequent regions.
When calculating the number of accounts based on the specified percentage, AWS Service Catalog rounds down to the next whole number.
Applicable only to a CFN_STACKSET provisioned product type.
Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage , but not both.
StackSetMaxConcurrencyCount (integer) --
The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of StackSetFailureToleranceCount . StackSetMaxConcurrentCount is at most one more than the StackSetFailureToleranceCount .
Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.
Applicable only to a CFN_STACKSET provisioned product type.
Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage , but not both.
StackSetMaxConcurrencyPercentage (integer) --
The maximum percentage of accounts in which to perform this operation at one time.
When calculating the number of accounts based on the specified percentage, AWS Service Catalog rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, AWS Service Catalog sets the number as 1 instead.
Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.
Applicable only to a CFN_STACKSET provisioned product type.
Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage , but not both.
list
One or more tags.
(dict) --
Information about a tag. A tag is a key-value pair. Tags are propagated to the resources created when provisioning a product.
Key (string) -- [REQUIRED]
The tag key.
Value (string) -- [REQUIRED]
The value for this key.
list
Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.
(string) --
string
[REQUIRED]
An idempotency token that uniquely identifies the provisioning request.
This field is autopopulated if not provided.
dict
Response Syntax
{ 'RecordDetail': { 'RecordId': 'string', 'ProvisionedProductName': 'string', 'Status': 'CREATED'|'IN_PROGRESS'|'IN_PROGRESS_IN_ERROR'|'SUCCEEDED'|'FAILED', 'CreatedTime': datetime(2015, 1, 1), 'UpdatedTime': datetime(2015, 1, 1), 'ProvisionedProductType': 'string', 'RecordType': 'string', 'ProvisionedProductId': 'string', 'ProductId': 'string', 'ProvisioningArtifactId': 'string', 'PathId': 'string', 'RecordErrors': [ { 'Code': 'string', 'Description': 'string' }, ], 'RecordTags': [ { 'Key': 'string', 'Value': 'string' }, ] } }
Response Structure
(dict) --
RecordDetail (dict) --
Information about the result of provisioning the product.
RecordId (string) --
The identifier of the record.
ProvisionedProductName (string) --
The user-friendly name of the provisioned product.
Status (string) --
The status of the provisioned product.
CREATED - The request was created but the operation has not started.
IN_PROGRESS - The requested operation is in progress.
IN_PROGRESS_IN_ERROR - The provisioned product is under change but the requested operation failed and some remediation is occurring. For example, a rollback.
SUCCEEDED - The requested operation has successfully completed.
FAILED - The requested operation has unsuccessfully completed. Investigate using the error messages returned.
CreatedTime (datetime) --
The UTC time stamp of the creation time.
UpdatedTime (datetime) --
The time when the record was last updated.
ProvisionedProductType (string) --
The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET .
RecordType (string) --
The record type.
PROVISION_PRODUCT
UPDATE_PROVISIONED_PRODUCT
TERMINATE_PROVISIONED_PRODUCT
ProvisionedProductId (string) --
The identifier of the provisioned product.
ProductId (string) --
The product identifier.
ProvisioningArtifactId (string) --
The identifier of the provisioning artifact.
PathId (string) --
The path identifier.
RecordErrors (list) --
The errors that occurred.
(dict) --
The error code and description resulting from an operation.
Code (string) --
The numeric value of the error.
Description (string) --
The description of the error.
RecordTags (list) --
One or more tags.
(dict) --
Information about a tag, which is a key-value pair.
Key (string) --
The key for this tag.
Value (string) --
The value for this tag.
{'ProvisioningPreferences': {'StackSetAccounts': ['string'], 'StackSetFailureToleranceCount': 'integer', 'StackSetFailureTolerancePercentage': 'integer', 'StackSetMaxConcurrencyCount': 'integer', 'StackSetMaxConcurrencyPercentage': 'integer', 'StackSetOperationType': 'CREATE | UPDATE | ' 'DELETE', 'StackSetRegions': ['string']}}
Requests updates to the configuration of the specified provisioned product.
If there are tags associated with the object, they cannot be updated or added. Depending on the specific updates requested, this operation can update with no interruption, with some interruption, or replace the provisioned product entirely.
You can check the status of this request using DescribeRecord .
See also: AWS API Documentation
Request Syntax
client.update_provisioned_product( AcceptLanguage='string', ProvisionedProductName='string', ProvisionedProductId='string', ProductId='string', ProvisioningArtifactId='string', PathId='string', ProvisioningParameters=[ { 'Key': 'string', 'Value': 'string', 'UsePreviousValue': True|False }, ], ProvisioningPreferences={ 'StackSetAccounts': [ 'string', ], 'StackSetRegions': [ 'string', ], 'StackSetFailureToleranceCount': 123, 'StackSetFailureTolerancePercentage': 123, 'StackSetMaxConcurrencyCount': 123, 'StackSetMaxConcurrencyPercentage': 123, 'StackSetOperationType': 'CREATE'|'UPDATE'|'DELETE' }, UpdateToken='string' )
string
The language code.
en - English (default)
jp - Japanese
zh - Chinese
string
The updated name of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId .
string
The identifier of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId .
string
The identifier of the product.
string
The identifier of the provisioning artifact.
string
The new path identifier. This value is optional if the product has a default path, and required if the product has more than one path.
list
The new parameters.
(dict) --
The parameter key-value pair used to update a provisioned product.
Key (string) --
The parameter key.
Value (string) --
The parameter value.
UsePreviousValue (boolean) --
If set to true, Value is ignored and the previous parameter value is kept.
dict
An object that contains information about the provisioning preferences for a stack set.
StackSetAccounts (list) --
One or more AWS accounts that will have access to the provisioned product.
Applicable only to a CFN_STACKSET provisioned product type.
The AWS accounts specified should be within the list of accounts in the STACKSET constraint. To get the list of accounts in the STACKSET constraint, use the DescribeProvisioningParameters operation.
If no values are specified, the default value is all accounts from the STACKSET constraint.
(string) --
StackSetRegions (list) --
One or more AWS Regions where the provisioned product will be available.
Applicable only to a CFN_STACKSET provisioned product type.
The specified regions should be within the list of regions from the STACKSET constraint. To get the list of regions in the STACKSET constraint, use the DescribeProvisioningParameters operation.
If no values are specified, the default value is all regions from the STACKSET constraint.
(string) --
StackSetFailureToleranceCount (integer) --
The number of accounts, per region, for which this operation can fail before AWS Service Catalog stops the operation in that region. If the operation is stopped in a region, AWS Service Catalog doesn't attempt the operation in any subsequent regions.
Applicable only to a CFN_STACKSET provisioned product type.
Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage , but not both.
The default value is 0 if no value is specified.
StackSetFailureTolerancePercentage (integer) --
The percentage of accounts, per region, for which this stack operation can fail before AWS Service Catalog stops the operation in that region. If the operation is stopped in a region, AWS Service Catalog doesn't attempt the operation in any subsequent regions.
When calculating the number of accounts based on the specified percentage, AWS Service Catalog rounds down to the next whole number.
Applicable only to a CFN_STACKSET provisioned product type.
Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage , but not both.
StackSetMaxConcurrencyCount (integer) --
The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of StackSetFailureToleranceCount . StackSetMaxConcurrentCount is at most one more than the StackSetFailureToleranceCount .
Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.
Applicable only to a CFN_STACKSET provisioned product type.
Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage , but not both.
StackSetMaxConcurrencyPercentage (integer) --
The maximum percentage of accounts in which to perform this operation at one time.
When calculating the number of accounts based on the specified percentage, AWS Service Catalog rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, AWS Service Catalog sets the number as 1 instead.
Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.
Applicable only to a CFN_STACKSET provisioned product type.
Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage , but not both.
StackSetOperationType (string) --
Determines what action AWS Service Catalog performs to a stack set or a stack instance represented by the provisioned product. The default value is UPDATE if nothing is specified.
Applicable only to a CFN_STACKSET provisioned product type.
CREATE
Creates a new stack instance in the stack set represented by the provisioned product. In this case, only new stack instances are created based on accounts and regions; if new ProductId or ProvisioningArtifactID are passed, they will be ignored.
UPDATE
Updates the stack set represented by the provisioned product and also its stack instances.
DELETE
Deletes a stack instance in the stack set represented by the provisioned product.
string
[REQUIRED]
The idempotency token that uniquely identifies the provisioning update request.
This field is autopopulated if not provided.
dict
Response Syntax
{ 'RecordDetail': { 'RecordId': 'string', 'ProvisionedProductName': 'string', 'Status': 'CREATED'|'IN_PROGRESS'|'IN_PROGRESS_IN_ERROR'|'SUCCEEDED'|'FAILED', 'CreatedTime': datetime(2015, 1, 1), 'UpdatedTime': datetime(2015, 1, 1), 'ProvisionedProductType': 'string', 'RecordType': 'string', 'ProvisionedProductId': 'string', 'ProductId': 'string', 'ProvisioningArtifactId': 'string', 'PathId': 'string', 'RecordErrors': [ { 'Code': 'string', 'Description': 'string' }, ], 'RecordTags': [ { 'Key': 'string', 'Value': 'string' }, ] } }
Response Structure
(dict) --
RecordDetail (dict) --
Information about the result of the request.
RecordId (string) --
The identifier of the record.
ProvisionedProductName (string) --
The user-friendly name of the provisioned product.
Status (string) --
The status of the provisioned product.
CREATED - The request was created but the operation has not started.
IN_PROGRESS - The requested operation is in progress.
IN_PROGRESS_IN_ERROR - The provisioned product is under change but the requested operation failed and some remediation is occurring. For example, a rollback.
SUCCEEDED - The requested operation has successfully completed.
FAILED - The requested operation has unsuccessfully completed. Investigate using the error messages returned.
CreatedTime (datetime) --
The UTC time stamp of the creation time.
UpdatedTime (datetime) --
The time when the record was last updated.
ProvisionedProductType (string) --
The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET .
RecordType (string) --
The record type.
PROVISION_PRODUCT
UPDATE_PROVISIONED_PRODUCT
TERMINATE_PROVISIONED_PRODUCT
ProvisionedProductId (string) --
The identifier of the provisioned product.
ProductId (string) --
The product identifier.
ProvisioningArtifactId (string) --
The identifier of the provisioning artifact.
PathId (string) --
The path identifier.
RecordErrors (list) --
The errors that occurred.
(dict) --
The error code and description resulting from an operation.
Code (string) --
The numeric value of the error.
Description (string) --
The description of the error.
RecordTags (list) --
One or more tags.
(dict) --
Information about a tag, which is a key-value pair.
Key (string) --
The key for this tag.
Value (string) --
The value for this tag.