AWS Service Catalog

2020/07/30 - AWS Service Catalog - 3 updated api methods

Changes  This release adds support for ProvisionProduct, UpdateProvisionedProduct & DescribeProvisioningParameters by product name, provisioning artifact name and path name. In addition DescribeProvisioningParameters now returns a list of provisioning artifact outputs.

DescribeProvisioningParameters (updated) Link ¶
Changes (request, response)
Request
{'PathName': 'string',
 'ProductName': 'string',
 'ProvisioningArtifactName': 'string'}
Response
{'ProvisioningArtifactOutputs': [{'Description': 'string', 'Key': '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',
    ProductName='string',
    ProvisioningArtifactId='string',
    ProvisioningArtifactName='string',
    PathId='string',
    PathName='string'
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type ProductId

string

param ProductId

The product identifier. You must provide the product name or ID, but not both.

type ProductName

string

param ProductName

The name of the product. You must provide the name or ID, but not both.

type ProvisioningArtifactId

string

param ProvisioningArtifactId

The identifier of the provisioning artifact. You must provide the name or ID, but not both.

type ProvisioningArtifactName

string

param ProvisioningArtifactName

The name of the provisioning artifact. You must provide the name or ID, but not both.

type PathId

string

param PathId

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.

type PathName

string

param PathName

The name of the path. You must provide the name or ID, but not both.

rtype

dict

returns

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',
        ]
    },
    'ProvisioningArtifactOutputs': [
        {
            'Key': 'string',
            'Description': '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

          • STACKSET

          • 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) --

    • ProvisioningArtifactOutputs (list) --

      The output of the provisioning artifact.

      • (dict) --

        Provisioning artifact output.

        • Key (string) --

          The provisioning artifact output key.

        • Description (string) --

          Description of the provisioning artifact output key.

ProvisionProduct (updated) Link ¶
Changes (request)
{'PathName': 'string',
 'ProductName': 'string',
 'ProvisioningArtifactName': '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',
    ProductName='string',
    ProvisioningArtifactId='string',
    ProvisioningArtifactName='string',
    PathId='string',
    PathName='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'
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type ProductId

string

param ProductId

The product identifier. You must provide the name or ID, but not both.

type ProductName

string

param ProductName

The name of the product. You must provide the name or ID, but not both.

type ProvisioningArtifactId

string

param ProvisioningArtifactId

The identifier of the provisioning artifact. You must provide the name or ID, but not both.

type ProvisioningArtifactName

string

param ProvisioningArtifactName

The name of the provisioning artifact. You must provide the name or ID, but not both.

type PathId

string

param PathId

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.

type PathName

string

param PathName

The name of the path. You must provide the name or ID, but not both.

type ProvisionedProductName

string

param ProvisionedProductName

[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.

type ProvisioningParameters

list

param ProvisioningParameters

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.

type ProvisioningPreferences

dict

param ProvisioningPreferences

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.

type Tags

list

param Tags

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.

type NotificationArns

list

param NotificationArns

Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.

  • (string) --

type ProvisionToken

string

param ProvisionToken

[REQUIRED]

An idempotency token that uniquely identifies the provisioning request.

This field is autopopulated if not provided.

rtype

dict

returns

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.

UpdateProvisionedProduct (updated) Link ¶
Changes (request)
{'PathName': 'string',
 'ProductName': 'string',
 'ProvisioningArtifactName': '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',
    ProductName='string',
    ProvisioningArtifactId='string',
    ProvisioningArtifactName='string',
    PathId='string',
    PathName='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'
    },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    UpdateToken='string'
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type ProvisionedProductName

string

param ProvisionedProductName

The name of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId .

type ProvisionedProductId

string

param ProvisionedProductId

The identifier of the provisioned product. You must provide the name or ID, but not both.

type ProductId

string

param ProductId

The identifier of the product. You must provide the name or ID, but not both.

type ProductName

string

param ProductName

The name of the product. You must provide the name or ID, but not both.

type ProvisioningArtifactId

string

param ProvisioningArtifactId

The identifier of the provisioning artifact.

type ProvisioningArtifactName

string

param ProvisioningArtifactName

The name of the provisioning artifact. You must provide the name or ID, but not both.

type PathId

string

param PathId

The path identifier. This value is optional if the product has a default path, and required if the product has more than one path. You must provide the name or ID, but not both.

type PathName

string

param PathName

The name of the path. You must provide the name or ID, but not both.

type ProvisioningParameters

list

param ProvisioningParameters

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.

type ProvisioningPreferences

dict

param ProvisioningPreferences

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.

type Tags

list

param Tags

One or more tags. Requires the product to have RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.

  • (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.

type UpdateToken

string

param UpdateToken

[REQUIRED]

The idempotency token that uniquely identifies the provisioning update request.

This field is autopopulated if not provided.

rtype

dict

returns

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.