ServiceCatalog / Client / provision_product

provision_product#

ServiceCatalog.Client.provision_product(**kwargs)#

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

Note

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.

See also: AWS API Documentation

Request Syntax

response = 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'
)
Parameters:
  • AcceptLanguage (string) –

    The language code.

    • jp - Japanese

    • zh - Chinese

  • ProductId (string) – The product identifier. You must provide the name or ID, but not both.

  • ProductName (string) – The name of the product. You must provide the name or ID, but not both.

  • ProvisioningArtifactId (string) – The identifier of the provisioning artifact. You must provide the name or ID, but not both.

  • ProvisioningArtifactName (string) – The name of the provisioning artifact. You must provide the name or ID, but not both.

  • PathId (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. You must provide the name or ID, but not both.

  • PathName (string) – The name of the path. You must provide the name or ID, but not both.

  • ProvisionedProductName (string) –

    [REQUIRED]

    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.

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

  • ProvisioningPreferences (dict) –

    An object that contains information about the provisioning preferences for a stack set.

    • StackSetAccounts (list) –

      One or more Amazon Web Services accounts where the provisioned product will be available.

      Applicable only to a CFN_STACKSET provisioned product type.

      The specified accounts should be within the list of accounts from 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 acounts from the STACKSET constraint.

      • (string) –

    • StackSetRegions (list) –

      One or more Amazon Web Services 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 Service Catalog stops the operation in that Region. If the operation is stopped in a Region, 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 Service Catalog stops the operation in that Region. If the operation is stopped in a Region, Service Catalog doesn’t attempt the operation in any subsequent Regions.

      When calculating the number of accounts based on the specified percentage, 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, 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, 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.

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

  • NotificationArns (list) –

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

    • (string) –

  • ProvisionToken (string) –

    [REQUIRED]

    An idempotency token that uniquely identifies the provisioning request.

    This field is autopopulated if not provided.

Return type:

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'
            },
        ],
        'LaunchRoleArn': '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, CFN_STACKSET, TERRAFORM_OPEN_SOURCE, TERRAFORM_CLOUD, and EXTERNAL.

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

      • LaunchRoleArn (string) –

        The ARN of the launch role associated with the provisioned product.

Exceptions

  • ServiceCatalog.Client.exceptions.InvalidParametersException

  • ServiceCatalog.Client.exceptions.ResourceNotFoundException

  • ServiceCatalog.Client.exceptions.DuplicateResourceException