AWS Service Catalog

2022/11/18 - AWS Service Catalog - 14 updated api methods

Changes  This release 1. adds support for Principal Name Sharing with Service Catalog portfolio sharing. 2. Introduces repo sourced products which are created and managed with existing SC APIs. These products are synced to external repos and auto create new product versions based on changes in the repo.

AssociatePrincipalWithPortfolio (updated) Link ¶
Changes (request)
{'PrincipalType': {'IAM_PATTERN'}}

Associates the specified principal ARN with the specified portfolio.

If you share the portfolio with principal name sharing enabled, the PrincipalARN association is included in the share.

The PortfolioID , PrincipalARN , and PrincipalType parameters are required.

You can associate a maximum of 10 Principals with a portfolio using PrincipalType as IAM_PATTERN

Note

When you associate a principal with portfolio, a potential privilege escalation path may occur when that portfolio is then shared with other accounts. For a user in a recipient account who is not an Service Catalog Admin, but still has the ability to create Principals (Users/Groups/Roles), that user could create a role that matches a principal name association for the portfolio. Although this user may not know which principal names are associated through Service Catalog, they may be able to guess the user. If this potential escalation path is a concern, then Service Catalog recommends using PrincipalType as IAM . With this configuration, the PrincipalARN must already exist in the recipient account before it can be associated.

See also: AWS API Documentation

Request Syntax

client.associate_principal_with_portfolio(
    AcceptLanguage='string',
    PortfolioId='string',
    PrincipalARN='string',
    PrincipalType='IAM'|'IAM_PATTERN'
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type PortfolioId

string

param PortfolioId

[REQUIRED]

The portfolio identifier.

type PrincipalARN

string

param PrincipalARN

[REQUIRED]

The ARN of the principal (IAM user, role, or group). This field allows an ARN with no accountID if PrincipalType is IAM_PATTERN .

You can associate multiple IAM patterns even if the account has no principal with that name. This is useful in Principal Name Sharing if you want to share a principal without creating it in the account that owns the portfolio.

type PrincipalType

string

param PrincipalType

[REQUIRED]

The principal type. The supported value is IAM if you use a fully defined ARN, or IAM_PATTERN if you use an ARN with no accountID .

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

CreatePortfolioShare (updated) Link ¶
Changes (request)
{'SharePrincipals': 'boolean'}

Shares the specified portfolio with the specified account or organization node. Shares to an organization node can only be created by the management account of an organization or by a delegated administrator. You can share portfolios to an organization, an organizational unit, or a specific account.

Note that if a delegated admin is de-registered, they can no longer create portfolio shares.

AWSOrganizationsAccess must be enabled in order to create a portfolio share to an organization node.

You can't share a shared resource, including portfolios that contain a shared product.

If the portfolio share with the specified account or organization node already exists, this action will have no effect and will not return an error. To update an existing share, you must use the UpdatePortfolioShare API instead.

Note

When you associate a principal with portfolio, a potential privilege escalation path may occur when that portfolio is then shared with other accounts. For a user in a recipient account who is not an Service Catalog Admin, but still has the ability to create Principals (Users/Groups/Roles), that user could create a role that matches a principal name association for the portfolio. Although this user may not know which principal names are associated through Service Catalog, they may be able to guess the user. If this potential escalation path is a concern, then Service Catalog recommends using PrincipalType as IAM . With this configuration, the PrincipalARN must already exist in the recipient account before it can be associated.

See also: AWS API Documentation

Request Syntax

client.create_portfolio_share(
    AcceptLanguage='string',
    PortfolioId='string',
    AccountId='string',
    OrganizationNode={
        'Type': 'ORGANIZATION'|'ORGANIZATIONAL_UNIT'|'ACCOUNT',
        'Value': 'string'
    },
    ShareTagOptions=True|False,
    SharePrincipals=True|False
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type PortfolioId

string

param PortfolioId

[REQUIRED]

The portfolio identifier.

type AccountId

string

param AccountId

The Amazon Web Services account ID. For example, 123456789012 .

type OrganizationNode

dict

param OrganizationNode

The organization node to whom you are going to share. When you pass OrganizationNode , it creates PortfolioShare for all of the Amazon Web Services accounts that are associated to the OrganizationNode . The output returns a PortfolioShareToken , which enables the administrator to monitor the status of the PortfolioShare creation process.

  • Type (string) --

    The organization node type.

  • Value (string) --

    The identifier of the organization node.

type ShareTagOptions

boolean

param ShareTagOptions

Enables or disables TagOptions sharing when creating the portfolio share. If this flag is not provided, TagOptions sharing is disabled.

type SharePrincipals

boolean

param SharePrincipals

Enables or disables Principal sharing when creating the portfolio share. If this flag is not provided, principal sharing is disabled.

When you enable Principal Name Sharing for a portfolio share, the share recipient account end users with a principal that matches any of the associated IAM patterns can provision products from the portfolio. Once shared, the share recipient can view associations of PrincipalType : IAM_PATTERN on their portfolio. You can create the principals in the recipient account before or after creating the share.

rtype

dict

returns

Response Syntax

{
    'PortfolioShareToken': 'string'
}

Response Structure

  • (dict) --

    • PortfolioShareToken (string) --

      The portfolio shares a unique identifier that only returns if the portfolio is shared to an organization node.

CreateProduct (updated) Link ¶
Changes (request, response)
Request
{'SourceConnection': {'ConnectionParameters': {'CodeStar': {'ArtifactPath': 'string',
                                                            'Branch': 'string',
                                                            'ConnectionArn': 'string',
                                                            'Repository': 'string'}},
                      'Type': 'CODESTAR'}}
Response
{'ProductViewDetail': {'SourceConnection': {'ConnectionParameters': {'CodeStar': {'ArtifactPath': 'string',
                                                                                  'Branch': 'string',
                                                                                  'ConnectionArn': 'string',
                                                                                  'Repository': 'string'}},
                                            'LastSync': {'LastSuccessfulSyncProvisioningArtifactId': 'string',
                                                         'LastSuccessfulSyncTime': 'timestamp',
                                                         'LastSyncStatus': 'SUCCEEDED '
                                                                           '| '
                                                                           'FAILED',
                                                         'LastSyncStatusMessage': 'string',
                                                         'LastSyncTime': 'timestamp'},
                                            'Type': 'CODESTAR'}},
 'ProvisioningArtifactDetail': {'SourceRevision': 'string'}}

Creates a product.

A delegated admin is authorized to invoke this command.

The user or role that performs this operation must have the cloudformation:GetTemplate IAM policy permission. This policy permission is required when using the ImportFromPhysicalId template source in the information data section.

See also: AWS API Documentation

Request Syntax

client.create_product(
    AcceptLanguage='string',
    Name='string',
    Owner='string',
    Description='string',
    Distributor='string',
    SupportDescription='string',
    SupportEmail='string',
    SupportUrl='string',
    ProductType='CLOUD_FORMATION_TEMPLATE'|'MARKETPLACE',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    ProvisioningArtifactParameters={
        'Name': 'string',
        'Description': 'string',
        'Info': {
            'string': 'string'
        },
        'Type': 'CLOUD_FORMATION_TEMPLATE'|'MARKETPLACE_AMI'|'MARKETPLACE_CAR',
        'DisableTemplateValidation': True|False
    },
    IdempotencyToken='string',
    SourceConnection={
        'Type': 'CODESTAR',
        'ConnectionParameters': {
            'CodeStar': {
                'ConnectionArn': 'string',
                'Repository': 'string',
                'Branch': 'string',
                'ArtifactPath': 'string'
            }
        }
    }
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type Name

string

param Name

[REQUIRED]

The name of the product.

type Owner

string

param Owner

[REQUIRED]

The owner of the product.

type Description

string

param Description

The description of the product.

type Distributor

string

param Distributor

The distributor of the product.

type SupportDescription

string

param SupportDescription

The support information about the product.

type SupportEmail

string

param SupportEmail

The contact email for product support.

type SupportUrl

string

param SupportUrl

The contact URL for product support.

^https?:\/\// / is the pattern used to validate SupportUrl.

type ProductType

string

param ProductType

[REQUIRED]

The type of product.

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 ProvisioningArtifactParameters

dict

param ProvisioningArtifactParameters

The configuration of the provisioning artifact.

  • Name (string) --

    The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed.

  • Description (string) --

    The description of the provisioning artifact, including how it differs from the previous provisioning artifact.

  • Info (dict) --

    Specify the template source with one of the following options, but not both. Keys accepted: [ LoadTemplateFromURL , ImportFromPhysicalId ]

    The URL of the CloudFormation template in Amazon S3 or GitHub in JSON format. Specify the URL in JSON format as follows:

    "LoadTemplateFromURL": "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..."

    ImportFromPhysicalId : The physical id of the resource that contains the template. Currently only supports CloudFormation stack arn. Specify the physical id in JSON format as follows: ImportFromPhysicalId: “arn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId]

    • (string) --

      • (string) --

  • Type (string) --

    The type of provisioning artifact.

    • CLOUD_FORMATION_TEMPLATE - CloudFormation template

    • MARKETPLACE_AMI - Amazon Web Services Marketplace AMI

    • MARKETPLACE_CAR - Amazon Web Services Marketplace Clusters and Amazon Web Services Resources

  • DisableTemplateValidation (boolean) --

    If set to true, Service Catalog stops validating the specified provisioning artifact even if it is invalid.

type IdempotencyToken

string

param IdempotencyToken

[REQUIRED]

A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

This field is autopopulated if not provided.

type SourceConnection

dict

param SourceConnection

Specifies connection details for the created product and syncs the product to the connection source artifact. This automatically manages the product's artifacts based on changes to the source. The SourceConnection parameter consists of the following sub-fields.

  • Type

  • ConnectionParamters

  • Type (string) --

    The only supported SourceConnection type is Codestar.

  • ConnectionParameters (dict) -- [REQUIRED]

    The connection details based on the connection Type .

    • CodeStar (dict) --

      Provides ConnectionType details.

      • ConnectionArn (string) -- [REQUIRED]

        The CodeStar ARN, which is the connection between Service Catalog and the external repository.

      • Repository (string) -- [REQUIRED]

        The specific repository where the product’s artifact-to-be-synced resides, formatted as "Account/Repo."

      • Branch (string) -- [REQUIRED]

        The specific branch where the artifact resides.

      • ArtifactPath (string) -- [REQUIRED]

        The absolute path wehre the artifact resides within the repo and branch, formatted as "folder/file.json."

rtype

dict

returns

Response Syntax

{
    'ProductViewDetail': {
        'ProductViewSummary': {
            'Id': 'string',
            'ProductId': 'string',
            'Name': 'string',
            'Owner': 'string',
            'ShortDescription': 'string',
            'Type': 'CLOUD_FORMATION_TEMPLATE'|'MARKETPLACE',
            'Distributor': 'string',
            'HasDefaultPath': True|False,
            'SupportEmail': 'string',
            'SupportDescription': 'string',
            'SupportUrl': 'string'
        },
        'Status': 'AVAILABLE'|'CREATING'|'FAILED',
        'ProductARN': 'string',
        'CreatedTime': datetime(2015, 1, 1),
        'SourceConnection': {
            'Type': 'CODESTAR',
            'ConnectionParameters': {
                'CodeStar': {
                    'ConnectionArn': 'string',
                    'Repository': 'string',
                    'Branch': 'string',
                    'ArtifactPath': 'string'
                }
            },
            'LastSync': {
                'LastSyncTime': datetime(2015, 1, 1),
                'LastSyncStatus': 'SUCCEEDED'|'FAILED',
                'LastSyncStatusMessage': 'string',
                'LastSuccessfulSyncTime': datetime(2015, 1, 1),
                'LastSuccessfulSyncProvisioningArtifactId': 'string'
            }
        }
    },
    'ProvisioningArtifactDetail': {
        'Id': 'string',
        'Name': 'string',
        'Description': 'string',
        'Type': 'CLOUD_FORMATION_TEMPLATE'|'MARKETPLACE_AMI'|'MARKETPLACE_CAR',
        'CreatedTime': datetime(2015, 1, 1),
        'Active': True|False,
        'Guidance': 'DEFAULT'|'DEPRECATED',
        'SourceRevision': 'string'
    },
    'Tags': [
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • ProductViewDetail (dict) --

      Information about the product view.

      • ProductViewSummary (dict) --

        Summary information about the product view.

        • Id (string) --

          The product view identifier.

        • ProductId (string) --

          The product identifier.

        • Name (string) --

          The name of the product.

        • Owner (string) --

          The owner of the product. Contact the product administrator for the significance of this value.

        • ShortDescription (string) --

          Short description of the product.

        • Type (string) --

          The product type. Contact the product administrator for the significance of this value. If this value is MARKETPLACE , the product was created by Amazon Web Services Marketplace.

        • Distributor (string) --

          The distributor of the product. Contact the product administrator for the significance of this value.

        • HasDefaultPath (boolean) --

          Indicates whether the product has a default path. If the product does not have a default path, call ListLaunchPaths to disambiguate between paths. Otherwise, ListLaunchPaths is not required, and the output of ProductViewSummary can be used directly with DescribeProvisioningParameters.

        • SupportEmail (string) --

          The email contact information to obtain support for this Product.

        • SupportDescription (string) --

          The description of the support for this Product.

        • SupportUrl (string) --

          The URL information to obtain support for this Product.

      • Status (string) --

        The status of the product.

        • AVAILABLE - The product is ready for use.

        • CREATING - Product creation has started; the product is not ready for use.

        • FAILED - An action failed.

      • ProductARN (string) --

        The ARN of the product.

      • CreatedTime (datetime) --

        The UTC time stamp of the creation time.

      • SourceConnection (dict) --

        A top level ProductViewDetail response containing details about the product’s connection. Service Catalog returns this field for the CreateProduct , UpdateProduct , DescribeProductAsAdmin , and SearchProductAsAdmin APIs. This response contains the same fields as the ConnectionParameters request, with the addition of the LastSync response.

        • Type (string) --

          The only supported SourceConnection type is Codestar.

        • ConnectionParameters (dict) --

          The connection details based on the connection Type .

          • CodeStar (dict) --

            Provides ConnectionType details.

            • ConnectionArn (string) --

              The CodeStar ARN, which is the connection between Service Catalog and the external repository.

            • Repository (string) --

              The specific repository where the product’s artifact-to-be-synced resides, formatted as "Account/Repo."

            • Branch (string) --

              The specific branch where the artifact resides.

            • ArtifactPath (string) --

              The absolute path wehre the artifact resides within the repo and branch, formatted as "folder/file.json."

        • LastSync (dict) --

          Provides details about the product's connection sync and contains the following sub-fields.

          • LastSyncTime

          • LastSyncStatus

          • LastSyncStatusMessage

          • LastSuccessfulSyncTime

          • LastSuccessfulSyncProvisioningArtifactID

          • LastSyncTime (datetime) --

            The time of the last attempted sync from the repository to the Service Catalog product.

          • LastSyncStatus (string) --

            The current status of the sync. Responses include SUCCEEDED or FAILED .

          • LastSyncStatusMessage (string) --

            The sync's status message.

          • LastSuccessfulSyncTime (datetime) --

            The time of the latest successful sync from the source repo artifact to the Service Catalog product.

          • LastSuccessfulSyncProvisioningArtifactId (string) --

            The ProvisioningArtifactID of the ProvisioningArtifact created from the latest successful sync.

    • ProvisioningArtifactDetail (dict) --

      Information about the provisioning artifact.

      • Id (string) --

        The identifier of the provisioning artifact.

      • Name (string) --

        The name of the provisioning artifact.

      • Description (string) --

        The description of the provisioning artifact.

      • Type (string) --

        The type of provisioning artifact.

        • CLOUD_FORMATION_TEMPLATE - CloudFormation template

        • MARKETPLACE_AMI - Amazon Web Services Marketplace AMI

        • MARKETPLACE_CAR - Amazon Web Services Marketplace Clusters and Amazon Web Services Resources

      • CreatedTime (datetime) --

        The UTC time stamp of the creation time.

      • Active (boolean) --

        Indicates whether the product version is active.

      • Guidance (string) --

        Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

      • SourceRevision (string) --

        Specifies the revision of the external artifact that was used to automatically sync the Service Catalog product and create the provisioning artifact. Service Catalog includes this response parameter as a high level field to the existing ProvisioningArtifactDetail type, which is returned as part of the response for CreateProduct , UpdateProduct , DescribeProductAsAdmin , DescribeProvisioningArtifact , ListProvisioningArtifact , and UpdateProvisioningArticat APIs.

        This field only exists for Repo-Synced products.

    • Tags (list) --

      Information about the tags associated with the product.

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

          The tag key.

        • Value (string) --

          The value for this key.

CreateProvisioningArtifact (updated) Link ¶
Changes (response)
{'ProvisioningArtifactDetail': {'SourceRevision': 'string'}}

Creates a provisioning artifact (also known as a version) for the specified product.

You cannot create a provisioning artifact for a product that was shared with you.

The user or role that performs this operation must have the cloudformation:GetTemplate IAM policy permission. This policy permission is required when using the ImportFromPhysicalId template source in the information data section.

See also: AWS API Documentation

Request Syntax

client.create_provisioning_artifact(
    AcceptLanguage='string',
    ProductId='string',
    Parameters={
        'Name': 'string',
        'Description': 'string',
        'Info': {
            'string': 'string'
        },
        'Type': 'CLOUD_FORMATION_TEMPLATE'|'MARKETPLACE_AMI'|'MARKETPLACE_CAR',
        'DisableTemplateValidation': True|False
    },
    IdempotencyToken='string'
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type ProductId

string

param ProductId

[REQUIRED]

The product identifier.

type Parameters

dict

param Parameters

[REQUIRED]

The configuration for the provisioning artifact.

  • Name (string) --

    The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed.

  • Description (string) --

    The description of the provisioning artifact, including how it differs from the previous provisioning artifact.

  • Info (dict) --

    Specify the template source with one of the following options, but not both. Keys accepted: [ LoadTemplateFromURL , ImportFromPhysicalId ]

    The URL of the CloudFormation template in Amazon S3 or GitHub in JSON format. Specify the URL in JSON format as follows:

    "LoadTemplateFromURL": "https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/..."

    ImportFromPhysicalId : The physical id of the resource that contains the template. Currently only supports CloudFormation stack arn. Specify the physical id in JSON format as follows: ImportFromPhysicalId: “arn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId]

    • (string) --

      • (string) --

  • Type (string) --

    The type of provisioning artifact.

    • CLOUD_FORMATION_TEMPLATE - CloudFormation template

    • MARKETPLACE_AMI - Amazon Web Services Marketplace AMI

    • MARKETPLACE_CAR - Amazon Web Services Marketplace Clusters and Amazon Web Services Resources

  • DisableTemplateValidation (boolean) --

    If set to true, Service Catalog stops validating the specified provisioning artifact even if it is invalid.

type IdempotencyToken

string

param IdempotencyToken

[REQUIRED]

A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

This field is autopopulated if not provided.

rtype

dict

returns

Response Syntax

{
    'ProvisioningArtifactDetail': {
        'Id': 'string',
        'Name': 'string',
        'Description': 'string',
        'Type': 'CLOUD_FORMATION_TEMPLATE'|'MARKETPLACE_AMI'|'MARKETPLACE_CAR',
        'CreatedTime': datetime(2015, 1, 1),
        'Active': True|False,
        'Guidance': 'DEFAULT'|'DEPRECATED',
        'SourceRevision': 'string'
    },
    'Info': {
        'string': 'string'
    },
    'Status': 'AVAILABLE'|'CREATING'|'FAILED'
}

Response Structure

  • (dict) --

    • ProvisioningArtifactDetail (dict) --

      Information about the provisioning artifact.

      • Id (string) --

        The identifier of the provisioning artifact.

      • Name (string) --

        The name of the provisioning artifact.

      • Description (string) --

        The description of the provisioning artifact.

      • Type (string) --

        The type of provisioning artifact.

        • CLOUD_FORMATION_TEMPLATE - CloudFormation template

        • MARKETPLACE_AMI - Amazon Web Services Marketplace AMI

        • MARKETPLACE_CAR - Amazon Web Services Marketplace Clusters and Amazon Web Services Resources

      • CreatedTime (datetime) --

        The UTC time stamp of the creation time.

      • Active (boolean) --

        Indicates whether the product version is active.

      • Guidance (string) --

        Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

      • SourceRevision (string) --

        Specifies the revision of the external artifact that was used to automatically sync the Service Catalog product and create the provisioning artifact. Service Catalog includes this response parameter as a high level field to the existing ProvisioningArtifactDetail type, which is returned as part of the response for CreateProduct , UpdateProduct , DescribeProductAsAdmin , DescribeProvisioningArtifact , ListProvisioningArtifact , and UpdateProvisioningArticat APIs.

        This field only exists for Repo-Synced products.

    • Info (dict) --

      Specify the template source with one of the following options, but not both. Keys accepted: [ LoadTemplateFromURL , ImportFromPhysicalId ].

      Use the URL of the CloudFormation template in Amazon S3 or GitHub in JSON format.

      LoadTemplateFromURL

      Use the URL of the CloudFormation template in Amazon S3 or GitHub in JSON format.

      ImportFromPhysicalId

      Use the physical id of the resource that contains the template; currently supports CloudFormation stack ARN.

      • (string) --

        • (string) --

    • Status (string) --

      The status of the current request.

DescribePortfolioShares (updated) Link ¶
Changes (response)
{'PortfolioShareDetails': {'SharePrincipals': 'boolean'}}

Returns a summary of each of the portfolio shares that were created for the specified portfolio.

You can use this API to determine which accounts or organizational nodes this portfolio have been shared, whether the recipient entity has imported the share, and whether TagOptions are included with the share.

The PortfolioId and Type parameters are both required.

See also: AWS API Documentation

Request Syntax

client.describe_portfolio_shares(
    PortfolioId='string',
    Type='ACCOUNT'|'ORGANIZATION'|'ORGANIZATIONAL_UNIT'|'ORGANIZATION_MEMBER_ACCOUNT',
    PageToken='string',
    PageSize=123
)
type PortfolioId

string

param PortfolioId

[REQUIRED]

The unique identifier of the portfolio for which shares will be retrieved.

type Type

string

param Type

[REQUIRED]

The type of portfolio share to summarize. This field acts as a filter on the type of portfolio share, which can be one of the following:

  1. ACCOUNT - Represents an external account to account share.

  2. ORGANIZATION - Represents a share to an organization. This share is available to every account in the organization.

  3. ORGANIZATIONAL_UNIT - Represents a share to an organizational unit.

  4. ORGANIZATION_MEMBER_ACCOUNT - Represents a share to an account in the organization.

type PageToken

string

param PageToken

The page token for the next set of results. To retrieve the first set of results, use null.

type PageSize

integer

param PageSize

The maximum number of items to return with this call.

rtype

dict

returns

Response Syntax

{
    'NextPageToken': 'string',
    'PortfolioShareDetails': [
        {
            'PrincipalId': 'string',
            'Type': 'ACCOUNT'|'ORGANIZATION'|'ORGANIZATIONAL_UNIT'|'ORGANIZATION_MEMBER_ACCOUNT',
            'Accepted': True|False,
            'ShareTagOptions': True|False,
            'SharePrincipals': True|False
        },
    ]
}

Response Structure

  • (dict) --

    • NextPageToken (string) --

      The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    • PortfolioShareDetails (list) --

      Summaries about each of the portfolio shares.

      • (dict) --

        Information about the portfolio share.

        • PrincipalId (string) --

          The identifier of the recipient entity that received the portfolio share. The recipient entity can be one of the following:

          1. An external account.

          2. An organziation member account.

          3. An organzational unit (OU).

          4. The organization itself. (This shares with every account in the organization).

        • Type (string) --

          The type of the portfolio share.

        • Accepted (boolean) --

          Indicates whether the shared portfolio is imported by the recipient account. If the recipient is in an organization node, the share is automatically imported, and the field is always set to true.

        • ShareTagOptions (boolean) --

          Indicates whether TagOptions sharing is enabled or disabled for the portfolio share.

        • SharePrincipals (boolean) --

          Indicates if Principal sharing is enabled or disabled for the portfolio share.

DescribeProductAsAdmin (updated) Link ¶
Changes (response)
{'ProductViewDetail': {'SourceConnection': {'ConnectionParameters': {'CodeStar': {'ArtifactPath': 'string',
                                                                                  'Branch': 'string',
                                                                                  'ConnectionArn': 'string',
                                                                                  'Repository': 'string'}},
                                            'LastSync': {'LastSuccessfulSyncProvisioningArtifactId': 'string',
                                                         'LastSuccessfulSyncTime': 'timestamp',
                                                         'LastSyncStatus': 'SUCCEEDED '
                                                                           '| '
                                                                           'FAILED',
                                                         'LastSyncStatusMessage': 'string',
                                                         'LastSyncTime': 'timestamp'},
                                            'Type': 'CODESTAR'}}}

Gets information about the specified product. This operation is run with administrator access.

See also: AWS API Documentation

Request Syntax

client.describe_product_as_admin(
    AcceptLanguage='string',
    Id='string',
    Name='string',
    SourcePortfolioId='string'
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type Id

string

param Id

The product identifier.

type Name

string

param Name

The product name.

type SourcePortfolioId

string

param SourcePortfolioId

The unique identifier of the shared portfolio that the specified product is associated with.

You can provide this parameter to retrieve the shared TagOptions associated with the product. If this parameter is provided and if TagOptions sharing is enabled in the portfolio share, the API returns both local and shared TagOptions associated with the product. Otherwise only local TagOptions will be returned.

rtype

dict

returns

Response Syntax

{
    'ProductViewDetail': {
        'ProductViewSummary': {
            'Id': 'string',
            'ProductId': 'string',
            'Name': 'string',
            'Owner': 'string',
            'ShortDescription': 'string',
            'Type': 'CLOUD_FORMATION_TEMPLATE'|'MARKETPLACE',
            'Distributor': 'string',
            'HasDefaultPath': True|False,
            'SupportEmail': 'string',
            'SupportDescription': 'string',
            'SupportUrl': 'string'
        },
        'Status': 'AVAILABLE'|'CREATING'|'FAILED',
        'ProductARN': 'string',
        'CreatedTime': datetime(2015, 1, 1),
        'SourceConnection': {
            'Type': 'CODESTAR',
            'ConnectionParameters': {
                'CodeStar': {
                    'ConnectionArn': 'string',
                    'Repository': 'string',
                    'Branch': 'string',
                    'ArtifactPath': 'string'
                }
            },
            'LastSync': {
                'LastSyncTime': datetime(2015, 1, 1),
                'LastSyncStatus': 'SUCCEEDED'|'FAILED',
                'LastSyncStatusMessage': 'string',
                'LastSuccessfulSyncTime': datetime(2015, 1, 1),
                'LastSuccessfulSyncProvisioningArtifactId': 'string'
            }
        }
    },
    'ProvisioningArtifactSummaries': [
        {
            'Id': 'string',
            'Name': 'string',
            'Description': 'string',
            'CreatedTime': datetime(2015, 1, 1),
            'ProvisioningArtifactMetadata': {
                'string': 'string'
            }
        },
    ],
    'Tags': [
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    'TagOptions': [
        {
            'Key': 'string',
            'Value': 'string',
            'Active': True|False,
            'Id': 'string',
            'Owner': 'string'
        },
    ],
    'Budgets': [
        {
            'BudgetName': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • ProductViewDetail (dict) --

      Information about the product view.

      • ProductViewSummary (dict) --

        Summary information about the product view.

        • Id (string) --

          The product view identifier.

        • ProductId (string) --

          The product identifier.

        • Name (string) --

          The name of the product.

        • Owner (string) --

          The owner of the product. Contact the product administrator for the significance of this value.

        • ShortDescription (string) --

          Short description of the product.

        • Type (string) --

          The product type. Contact the product administrator for the significance of this value. If this value is MARKETPLACE , the product was created by Amazon Web Services Marketplace.

        • Distributor (string) --

          The distributor of the product. Contact the product administrator for the significance of this value.

        • HasDefaultPath (boolean) --

          Indicates whether the product has a default path. If the product does not have a default path, call ListLaunchPaths to disambiguate between paths. Otherwise, ListLaunchPaths is not required, and the output of ProductViewSummary can be used directly with DescribeProvisioningParameters.

        • SupportEmail (string) --

          The email contact information to obtain support for this Product.

        • SupportDescription (string) --

          The description of the support for this Product.

        • SupportUrl (string) --

          The URL information to obtain support for this Product.

      • Status (string) --

        The status of the product.

        • AVAILABLE - The product is ready for use.

        • CREATING - Product creation has started; the product is not ready for use.

        • FAILED - An action failed.

      • ProductARN (string) --

        The ARN of the product.

      • CreatedTime (datetime) --

        The UTC time stamp of the creation time.

      • SourceConnection (dict) --

        A top level ProductViewDetail response containing details about the product’s connection. Service Catalog returns this field for the CreateProduct , UpdateProduct , DescribeProductAsAdmin , and SearchProductAsAdmin APIs. This response contains the same fields as the ConnectionParameters request, with the addition of the LastSync response.

        • Type (string) --

          The only supported SourceConnection type is Codestar.

        • ConnectionParameters (dict) --

          The connection details based on the connection Type .

          • CodeStar (dict) --

            Provides ConnectionType details.

            • ConnectionArn (string) --

              The CodeStar ARN, which is the connection between Service Catalog and the external repository.

            • Repository (string) --

              The specific repository where the product’s artifact-to-be-synced resides, formatted as "Account/Repo."

            • Branch (string) --

              The specific branch where the artifact resides.

            • ArtifactPath (string) --

              The absolute path wehre the artifact resides within the repo and branch, formatted as "folder/file.json."

        • LastSync (dict) --

          Provides details about the product's connection sync and contains the following sub-fields.

          • LastSyncTime

          • LastSyncStatus

          • LastSyncStatusMessage

          • LastSuccessfulSyncTime

          • LastSuccessfulSyncProvisioningArtifactID

          • LastSyncTime (datetime) --

            The time of the last attempted sync from the repository to the Service Catalog product.

          • LastSyncStatus (string) --

            The current status of the sync. Responses include SUCCEEDED or FAILED .

          • LastSyncStatusMessage (string) --

            The sync's status message.

          • LastSuccessfulSyncTime (datetime) --

            The time of the latest successful sync from the source repo artifact to the Service Catalog product.

          • LastSuccessfulSyncProvisioningArtifactId (string) --

            The ProvisioningArtifactID of the ProvisioningArtifact created from the latest successful sync.

    • ProvisioningArtifactSummaries (list) --

      Information about the provisioning artifacts (also known as versions) for the specified product.

      • (dict) --

        Summary information about a provisioning artifact (also known as a version) for a product.

        • Id (string) --

          The identifier of the provisioning artifact.

        • Name (string) --

          The name of the provisioning artifact.

        • Description (string) --

          The description of the provisioning artifact.

        • CreatedTime (datetime) --

          The UTC time stamp of the creation time.

        • ProvisioningArtifactMetadata (dict) --

          The metadata for the provisioning artifact. This is used with Amazon Web Services Marketplace products.

          • (string) --

            • (string) --

    • Tags (list) --

      Information about the tags associated with the product.

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

          The tag key.

        • Value (string) --

          The value for this key.

    • TagOptions (list) --

      Information about the TagOptions associated with the product.

      • (dict) --

        Information about a TagOption.

        • Key (string) --

          The TagOption key.

        • Value (string) --

          The TagOption value.

        • Active (boolean) --

          The TagOption active state.

        • Id (string) --

          The TagOption identifier.

        • Owner (string) --

          The Amazon Web Services account Id of the owner account that created the TagOption.

    • Budgets (list) --

      Information about the associated budgets.

      • (dict) --

        Information about a budget.

        • BudgetName (string) --

          Name of the associated budget.

DescribeProvisioningArtifact (updated) Link ¶
Changes (response)
{'ProvisioningArtifactDetail': {'SourceRevision': 'string'}}

Gets information about the specified provisioning artifact (also known as a version) for the specified product.

See also: AWS API Documentation

Request Syntax

client.describe_provisioning_artifact(
    AcceptLanguage='string',
    ProvisioningArtifactId='string',
    ProductId='string',
    ProvisioningArtifactName='string',
    ProductName='string',
    Verbose=True|False
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type ProvisioningArtifactId

string

param ProvisioningArtifactId

The identifier of the provisioning artifact.

type ProductId

string

param ProductId

The product identifier.

type ProvisioningArtifactName

string

param ProvisioningArtifactName

The provisioning artifact name.

type ProductName

string

param ProductName

The product name.

type Verbose

boolean

param Verbose

Indicates whether a verbose level of detail is enabled.

rtype

dict

returns

Response Syntax

{
    'ProvisioningArtifactDetail': {
        'Id': 'string',
        'Name': 'string',
        'Description': 'string',
        'Type': 'CLOUD_FORMATION_TEMPLATE'|'MARKETPLACE_AMI'|'MARKETPLACE_CAR',
        'CreatedTime': datetime(2015, 1, 1),
        'Active': True|False,
        'Guidance': 'DEFAULT'|'DEPRECATED',
        'SourceRevision': 'string'
    },
    'Info': {
        'string': 'string'
    },
    'Status': 'AVAILABLE'|'CREATING'|'FAILED'
}

Response Structure

  • (dict) --

    • ProvisioningArtifactDetail (dict) --

      Information about the provisioning artifact.

      • Id (string) --

        The identifier of the provisioning artifact.

      • Name (string) --

        The name of the provisioning artifact.

      • Description (string) --

        The description of the provisioning artifact.

      • Type (string) --

        The type of provisioning artifact.

        • CLOUD_FORMATION_TEMPLATE - CloudFormation template

        • MARKETPLACE_AMI - Amazon Web Services Marketplace AMI

        • MARKETPLACE_CAR - Amazon Web Services Marketplace Clusters and Amazon Web Services Resources

      • CreatedTime (datetime) --

        The UTC time stamp of the creation time.

      • Active (boolean) --

        Indicates whether the product version is active.

      • Guidance (string) --

        Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

      • SourceRevision (string) --

        Specifies the revision of the external artifact that was used to automatically sync the Service Catalog product and create the provisioning artifact. Service Catalog includes this response parameter as a high level field to the existing ProvisioningArtifactDetail type, which is returned as part of the response for CreateProduct , UpdateProduct , DescribeProductAsAdmin , DescribeProvisioningArtifact , ListProvisioningArtifact , and UpdateProvisioningArticat APIs.

        This field only exists for Repo-Synced products.

    • Info (dict) --

      The URL of the CloudFormation template in Amazon S3 or GitHub in JSON format.

      • (string) --

        • (string) --

    • Status (string) --

      The status of the current request.

DisassociatePrincipalFromPortfolio (updated) Link ¶
Changes (request)
{'PrincipalType': 'IAM | IAM_PATTERN'}

Disassociates a previously associated principal ARN from a specified portfolio.

The PrincipalType and PrincipalARN must match the AssociatePrincipalWithPortfolio call request details. For example, to disassociate an association created with a PrincipalARN of PrincipalType IAM you must use the PrincipalType IAM when calling DisassociatePrincipalFromPortfolio .

For portfolios that have been shared with principal name sharing enabled: after disassociating a principal, share recipient accounts will no longer be able to provision products in this portfolio using a role matching the name of the associated principal.

See also: AWS API Documentation

Request Syntax

client.disassociate_principal_from_portfolio(
    AcceptLanguage='string',
    PortfolioId='string',
    PrincipalARN='string',
    PrincipalType='IAM'|'IAM_PATTERN'
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type PortfolioId

string

param PortfolioId

[REQUIRED]

The portfolio identifier.

type PrincipalARN

string

param PrincipalARN

[REQUIRED]

The ARN of the principal (IAM user, role, or group). This field allows an ARN with no accountID if PrincipalType is IAM_PATTERN .

type PrincipalType

string

param PrincipalType

The supported value is IAM if you use a fully defined ARN, or IAM_PATTERN if you use no accountID .

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

ListPrincipalsForPortfolio (updated) Link ¶
Changes (response)
{'Principals': {'PrincipalType': {'IAM_PATTERN'}}}

Lists all PrincipalARN s and corresponding PrincipalType s associated with the specified portfolio.

See also: AWS API Documentation

Request Syntax

client.list_principals_for_portfolio(
    AcceptLanguage='string',
    PortfolioId='string',
    PageSize=123,
    PageToken='string'
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type PortfolioId

string

param PortfolioId

[REQUIRED]

The portfolio identifier.

type PageSize

integer

param PageSize

The maximum number of items to return with this call.

type PageToken

string

param PageToken

The page token for the next set of results. To retrieve the first set of results, use null.

rtype

dict

returns

Response Syntax

{
    'Principals': [
        {
            'PrincipalARN': 'string',
            'PrincipalType': 'IAM'|'IAM_PATTERN'
        },
    ],
    'NextPageToken': 'string'
}

Response Structure

  • (dict) --

    • Principals (list) --

      The PrincipalARN s and corresponding PrincipalType s associated with the portfolio.

      • (dict) --

        Information about a principal.

        • PrincipalARN (string) --

          The ARN of the principal (IAM user, role, or group). This field allows for an ARN with no accountID if the PrincipalType is an IAM_PATTERN .

        • PrincipalType (string) --

          The principal type. The supported value is IAM if you use a fully defined ARN, or IAM_PATTERN if you use an ARN with no accountID .

    • NextPageToken (string) --

      The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

ListProvisioningArtifacts (updated) Link ¶
Changes (response)
{'ProvisioningArtifactDetails': {'SourceRevision': 'string'}}

Lists all provisioning artifacts (also known as versions) for the specified product.

See also: AWS API Documentation

Request Syntax

client.list_provisioning_artifacts(
    AcceptLanguage='string',
    ProductId='string'
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type ProductId

string

param ProductId

[REQUIRED]

The product identifier.

rtype

dict

returns

Response Syntax

{
    'ProvisioningArtifactDetails': [
        {
            'Id': 'string',
            'Name': 'string',
            'Description': 'string',
            'Type': 'CLOUD_FORMATION_TEMPLATE'|'MARKETPLACE_AMI'|'MARKETPLACE_CAR',
            'CreatedTime': datetime(2015, 1, 1),
            'Active': True|False,
            'Guidance': 'DEFAULT'|'DEPRECATED',
            'SourceRevision': 'string'
        },
    ],
    'NextPageToken': 'string'
}

Response Structure

  • (dict) --

    • ProvisioningArtifactDetails (list) --

      Information about the provisioning artifacts.

      • (dict) --

        Information about a provisioning artifact (also known as a version) for a product.

        • Id (string) --

          The identifier of the provisioning artifact.

        • Name (string) --

          The name of the provisioning artifact.

        • Description (string) --

          The description of the provisioning artifact.

        • Type (string) --

          The type of provisioning artifact.

          • CLOUD_FORMATION_TEMPLATE - CloudFormation template

          • MARKETPLACE_AMI - Amazon Web Services Marketplace AMI

          • MARKETPLACE_CAR - Amazon Web Services Marketplace Clusters and Amazon Web Services Resources

        • CreatedTime (datetime) --

          The UTC time stamp of the creation time.

        • Active (boolean) --

          Indicates whether the product version is active.

        • Guidance (string) --

          Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

        • SourceRevision (string) --

          Specifies the revision of the external artifact that was used to automatically sync the Service Catalog product and create the provisioning artifact. Service Catalog includes this response parameter as a high level field to the existing ProvisioningArtifactDetail type, which is returned as part of the response for CreateProduct , UpdateProduct , DescribeProductAsAdmin , DescribeProvisioningArtifact , ListProvisioningArtifact , and UpdateProvisioningArticat APIs.

          This field only exists for Repo-Synced products.

    • NextPageToken (string) --

      The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

SearchProductsAsAdmin (updated) Link ¶
Changes (response)
{'ProductViewDetails': {'SourceConnection': {'ConnectionParameters': {'CodeStar': {'ArtifactPath': 'string',
                                                                                   'Branch': 'string',
                                                                                   'ConnectionArn': 'string',
                                                                                   'Repository': 'string'}},
                                             'LastSync': {'LastSuccessfulSyncProvisioningArtifactId': 'string',
                                                          'LastSuccessfulSyncTime': 'timestamp',
                                                          'LastSyncStatus': 'SUCCEEDED '
                                                                            '| '
                                                                            'FAILED',
                                                          'LastSyncStatusMessage': 'string',
                                                          'LastSyncTime': 'timestamp'},
                                             'Type': 'CODESTAR'}}}

Gets information about the products for the specified portfolio or all products.

See also: AWS API Documentation

Request Syntax

client.search_products_as_admin(
    AcceptLanguage='string',
    PortfolioId='string',
    Filters={
        'string': [
            'string',
        ]
    },
    SortBy='Title'|'VersionCount'|'CreationDate',
    SortOrder='ASCENDING'|'DESCENDING',
    PageToken='string',
    PageSize=123,
    ProductSource='ACCOUNT'
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type PortfolioId

string

param PortfolioId

The portfolio identifier.

type Filters

dict

param Filters

The search filters. If no search filters are specified, the output includes all products to which the administrator has access.

  • (string) --

    • (list) --

      • (string) --

type SortBy

string

param SortBy

The sort field. If no value is specified, the results are not sorted.

type SortOrder

string

param SortOrder

The sort order. If no value is specified, the results are not sorted.

type PageToken

string

param PageToken

The page token for the next set of results. To retrieve the first set of results, use null.

type PageSize

integer

param PageSize

The maximum number of items to return with this call.

type ProductSource

string

param ProductSource

Access level of the source of the product.

rtype

dict

returns

Response Syntax

{
    'ProductViewDetails': [
        {
            'ProductViewSummary': {
                'Id': 'string',
                'ProductId': 'string',
                'Name': 'string',
                'Owner': 'string',
                'ShortDescription': 'string',
                'Type': 'CLOUD_FORMATION_TEMPLATE'|'MARKETPLACE',
                'Distributor': 'string',
                'HasDefaultPath': True|False,
                'SupportEmail': 'string',
                'SupportDescription': 'string',
                'SupportUrl': 'string'
            },
            'Status': 'AVAILABLE'|'CREATING'|'FAILED',
            'ProductARN': 'string',
            'CreatedTime': datetime(2015, 1, 1),
            'SourceConnection': {
                'Type': 'CODESTAR',
                'ConnectionParameters': {
                    'CodeStar': {
                        'ConnectionArn': 'string',
                        'Repository': 'string',
                        'Branch': 'string',
                        'ArtifactPath': 'string'
                    }
                },
                'LastSync': {
                    'LastSyncTime': datetime(2015, 1, 1),
                    'LastSyncStatus': 'SUCCEEDED'|'FAILED',
                    'LastSyncStatusMessage': 'string',
                    'LastSuccessfulSyncTime': datetime(2015, 1, 1),
                    'LastSuccessfulSyncProvisioningArtifactId': 'string'
                }
            }
        },
    ],
    'NextPageToken': 'string'
}

Response Structure

  • (dict) --

    • ProductViewDetails (list) --

      Information about the product views.

      • (dict) --

        Information about a product view.

        • ProductViewSummary (dict) --

          Summary information about the product view.

          • Id (string) --

            The product view identifier.

          • ProductId (string) --

            The product identifier.

          • Name (string) --

            The name of the product.

          • Owner (string) --

            The owner of the product. Contact the product administrator for the significance of this value.

          • ShortDescription (string) --

            Short description of the product.

          • Type (string) --

            The product type. Contact the product administrator for the significance of this value. If this value is MARKETPLACE , the product was created by Amazon Web Services Marketplace.

          • Distributor (string) --

            The distributor of the product. Contact the product administrator for the significance of this value.

          • HasDefaultPath (boolean) --

            Indicates whether the product has a default path. If the product does not have a default path, call ListLaunchPaths to disambiguate between paths. Otherwise, ListLaunchPaths is not required, and the output of ProductViewSummary can be used directly with DescribeProvisioningParameters.

          • SupportEmail (string) --

            The email contact information to obtain support for this Product.

          • SupportDescription (string) --

            The description of the support for this Product.

          • SupportUrl (string) --

            The URL information to obtain support for this Product.

        • Status (string) --

          The status of the product.

          • AVAILABLE - The product is ready for use.

          • CREATING - Product creation has started; the product is not ready for use.

          • FAILED - An action failed.

        • ProductARN (string) --

          The ARN of the product.

        • CreatedTime (datetime) --

          The UTC time stamp of the creation time.

        • SourceConnection (dict) --

          A top level ProductViewDetail response containing details about the product’s connection. Service Catalog returns this field for the CreateProduct , UpdateProduct , DescribeProductAsAdmin , and SearchProductAsAdmin APIs. This response contains the same fields as the ConnectionParameters request, with the addition of the LastSync response.

          • Type (string) --

            The only supported SourceConnection type is Codestar.

          • ConnectionParameters (dict) --

            The connection details based on the connection Type .

            • CodeStar (dict) --

              Provides ConnectionType details.

              • ConnectionArn (string) --

                The CodeStar ARN, which is the connection between Service Catalog and the external repository.

              • Repository (string) --

                The specific repository where the product’s artifact-to-be-synced resides, formatted as "Account/Repo."

              • Branch (string) --

                The specific branch where the artifact resides.

              • ArtifactPath (string) --

                The absolute path wehre the artifact resides within the repo and branch, formatted as "folder/file.json."

          • LastSync (dict) --

            Provides details about the product's connection sync and contains the following sub-fields.

            • LastSyncTime

            • LastSyncStatus

            • LastSyncStatusMessage

            • LastSuccessfulSyncTime

            • LastSuccessfulSyncProvisioningArtifactID

            • LastSyncTime (datetime) --

              The time of the last attempted sync from the repository to the Service Catalog product.

            • LastSyncStatus (string) --

              The current status of the sync. Responses include SUCCEEDED or FAILED .

            • LastSyncStatusMessage (string) --

              The sync's status message.

            • LastSuccessfulSyncTime (datetime) --

              The time of the latest successful sync from the source repo artifact to the Service Catalog product.

            • LastSuccessfulSyncProvisioningArtifactId (string) --

              The ProvisioningArtifactID of the ProvisioningArtifact created from the latest successful sync.

    • NextPageToken (string) --

      The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

UpdatePortfolioShare (updated) Link ¶
Changes (request)
{'SharePrincipals': 'boolean'}

Updates the specified portfolio share. You can use this API to enable or disable TagOptions sharing or Principal sharing for an existing portfolio share.

The portfolio share cannot be updated if the CreatePortfolioShare operation is IN_PROGRESS , as the share is not available to recipient entities. In this case, you must wait for the portfolio share to be COMPLETED.

You must provide the accountId or organization node in the input, but not both.

If the portfolio is shared to both an external account and an organization node, and both shares need to be updated, you must invoke UpdatePortfolioShare separately for each share type.

This API cannot be used for removing the portfolio share. You must use DeletePortfolioShare API for that action.

Note

When you associate a principal with portfolio, a potential privilege escalation path may occur when that portfolio is then shared with other accounts. For a user in a recipient account who is not an Service Catalog Admin, but still has the ability to create Principals (Users/Groups/Roles), that user could create a role that matches a principal name association for the portfolio. Although this user may not know which principal names are associated through Service Catalog, they may be able to guess the user. If this potential escalation path is a concern, then Service Catalog recommends using PrincipalType as IAM . With this configuration, the PrincipalARN must already exist in the recipient account before it can be associated.

See also: AWS API Documentation

Request Syntax

client.update_portfolio_share(
    AcceptLanguage='string',
    PortfolioId='string',
    AccountId='string',
    OrganizationNode={
        'Type': 'ORGANIZATION'|'ORGANIZATIONAL_UNIT'|'ACCOUNT',
        'Value': 'string'
    },
    ShareTagOptions=True|False,
    SharePrincipals=True|False
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type PortfolioId

string

param PortfolioId

[REQUIRED]

The unique identifier of the portfolio for which the share will be updated.

type AccountId

string

param AccountId

The Amazon Web Services account Id of the recipient account. This field is required when updating an external account to account type share.

type OrganizationNode

dict

param OrganizationNode

Information about the organization node.

  • Type (string) --

    The organization node type.

  • Value (string) --

    The identifier of the organization node.

type ShareTagOptions

boolean

param ShareTagOptions

Enables or disables TagOptions sharing for the portfolio share. If this field is not provided, the current state of TagOptions sharing on the portfolio share will not be modified.

type SharePrincipals

boolean

param SharePrincipals

A flag to enables or disables Principals sharing in the portfolio. If this field is not provided, the current state of the Principals sharing on the portfolio share will not be modified.

rtype

dict

returns

Response Syntax

{
    'PortfolioShareToken': 'string',
    'Status': 'NOT_STARTED'|'IN_PROGRESS'|'COMPLETED'|'COMPLETED_WITH_ERRORS'|'ERROR'
}

Response Structure

  • (dict) --

    • PortfolioShareToken (string) --

      The token that tracks the status of the UpdatePortfolioShare operation for external account to account or organizational type sharing.

    • Status (string) --

      The status of UpdatePortfolioShare operation. You can also obtain the operation status using DescribePortfolioShareStatus API.

UpdateProduct (updated) Link ¶
Changes (request, response)
Request
{'SourceConnection': {'ConnectionParameters': {'CodeStar': {'ArtifactPath': 'string',
                                                            'Branch': 'string',
                                                            'ConnectionArn': 'string',
                                                            'Repository': 'string'}},
                      'Type': 'CODESTAR'}}
Response
{'ProductViewDetail': {'SourceConnection': {'ConnectionParameters': {'CodeStar': {'ArtifactPath': 'string',
                                                                                  'Branch': 'string',
                                                                                  'ConnectionArn': 'string',
                                                                                  'Repository': 'string'}},
                                            'LastSync': {'LastSuccessfulSyncProvisioningArtifactId': 'string',
                                                         'LastSuccessfulSyncTime': 'timestamp',
                                                         'LastSyncStatus': 'SUCCEEDED '
                                                                           '| '
                                                                           'FAILED',
                                                         'LastSyncStatusMessage': 'string',
                                                         'LastSyncTime': 'timestamp'},
                                            'Type': 'CODESTAR'}}}

Updates the specified product.

See also: AWS API Documentation

Request Syntax

client.update_product(
    AcceptLanguage='string',
    Id='string',
    Name='string',
    Owner='string',
    Description='string',
    Distributor='string',
    SupportDescription='string',
    SupportEmail='string',
    SupportUrl='string',
    AddTags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    RemoveTags=[
        'string',
    ],
    SourceConnection={
        'Type': 'CODESTAR',
        'ConnectionParameters': {
            'CodeStar': {
                'ConnectionArn': 'string',
                'Repository': 'string',
                'Branch': 'string',
                'ArtifactPath': 'string'
            }
        }
    }
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type Id

string

param Id

[REQUIRED]

The product identifier.

type Name

string

param Name

The updated product name.

type Owner

string

param Owner

The updated owner of the product.

type Description

string

param Description

The updated description of the product.

type Distributor

string

param Distributor

The updated distributor of the product.

type SupportDescription

string

param SupportDescription

The updated support description for the product.

type SupportEmail

string

param SupportEmail

The updated support email for the product.

type SupportUrl

string

param SupportUrl

The updated support URL for the product.

type AddTags

list

param AddTags

The tags to add to the product.

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

list

param RemoveTags

The tags to remove from the product.

  • (string) --

type SourceConnection

dict

param SourceConnection

Specifies connection details for the updated product and syncs the product to the connection source artifact. This automatically manages the product's artifacts based on changes to the source. The SourceConnection parameter consists of the following sub-fields.

  • Type

  • ConnectionParamters

  • Type (string) --

    The only supported SourceConnection type is Codestar.

  • ConnectionParameters (dict) -- [REQUIRED]

    The connection details based on the connection Type .

    • CodeStar (dict) --

      Provides ConnectionType details.

      • ConnectionArn (string) -- [REQUIRED]

        The CodeStar ARN, which is the connection between Service Catalog and the external repository.

      • Repository (string) -- [REQUIRED]

        The specific repository where the product’s artifact-to-be-synced resides, formatted as "Account/Repo."

      • Branch (string) -- [REQUIRED]

        The specific branch where the artifact resides.

      • ArtifactPath (string) -- [REQUIRED]

        The absolute path wehre the artifact resides within the repo and branch, formatted as "folder/file.json."

rtype

dict

returns

Response Syntax

{
    'ProductViewDetail': {
        'ProductViewSummary': {
            'Id': 'string',
            'ProductId': 'string',
            'Name': 'string',
            'Owner': 'string',
            'ShortDescription': 'string',
            'Type': 'CLOUD_FORMATION_TEMPLATE'|'MARKETPLACE',
            'Distributor': 'string',
            'HasDefaultPath': True|False,
            'SupportEmail': 'string',
            'SupportDescription': 'string',
            'SupportUrl': 'string'
        },
        'Status': 'AVAILABLE'|'CREATING'|'FAILED',
        'ProductARN': 'string',
        'CreatedTime': datetime(2015, 1, 1),
        'SourceConnection': {
            'Type': 'CODESTAR',
            'ConnectionParameters': {
                'CodeStar': {
                    'ConnectionArn': 'string',
                    'Repository': 'string',
                    'Branch': 'string',
                    'ArtifactPath': 'string'
                }
            },
            'LastSync': {
                'LastSyncTime': datetime(2015, 1, 1),
                'LastSyncStatus': 'SUCCEEDED'|'FAILED',
                'LastSyncStatusMessage': 'string',
                'LastSuccessfulSyncTime': datetime(2015, 1, 1),
                'LastSuccessfulSyncProvisioningArtifactId': 'string'
            }
        }
    },
    'Tags': [
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • ProductViewDetail (dict) --

      Information about the product view.

      • ProductViewSummary (dict) --

        Summary information about the product view.

        • Id (string) --

          The product view identifier.

        • ProductId (string) --

          The product identifier.

        • Name (string) --

          The name of the product.

        • Owner (string) --

          The owner of the product. Contact the product administrator for the significance of this value.

        • ShortDescription (string) --

          Short description of the product.

        • Type (string) --

          The product type. Contact the product administrator for the significance of this value. If this value is MARKETPLACE , the product was created by Amazon Web Services Marketplace.

        • Distributor (string) --

          The distributor of the product. Contact the product administrator for the significance of this value.

        • HasDefaultPath (boolean) --

          Indicates whether the product has a default path. If the product does not have a default path, call ListLaunchPaths to disambiguate between paths. Otherwise, ListLaunchPaths is not required, and the output of ProductViewSummary can be used directly with DescribeProvisioningParameters.

        • SupportEmail (string) --

          The email contact information to obtain support for this Product.

        • SupportDescription (string) --

          The description of the support for this Product.

        • SupportUrl (string) --

          The URL information to obtain support for this Product.

      • Status (string) --

        The status of the product.

        • AVAILABLE - The product is ready for use.

        • CREATING - Product creation has started; the product is not ready for use.

        • FAILED - An action failed.

      • ProductARN (string) --

        The ARN of the product.

      • CreatedTime (datetime) --

        The UTC time stamp of the creation time.

      • SourceConnection (dict) --

        A top level ProductViewDetail response containing details about the product’s connection. Service Catalog returns this field for the CreateProduct , UpdateProduct , DescribeProductAsAdmin , and SearchProductAsAdmin APIs. This response contains the same fields as the ConnectionParameters request, with the addition of the LastSync response.

        • Type (string) --

          The only supported SourceConnection type is Codestar.

        • ConnectionParameters (dict) --

          The connection details based on the connection Type .

          • CodeStar (dict) --

            Provides ConnectionType details.

            • ConnectionArn (string) --

              The CodeStar ARN, which is the connection between Service Catalog and the external repository.

            • Repository (string) --

              The specific repository where the product’s artifact-to-be-synced resides, formatted as "Account/Repo."

            • Branch (string) --

              The specific branch where the artifact resides.

            • ArtifactPath (string) --

              The absolute path wehre the artifact resides within the repo and branch, formatted as "folder/file.json."

        • LastSync (dict) --

          Provides details about the product's connection sync and contains the following sub-fields.

          • LastSyncTime

          • LastSyncStatus

          • LastSyncStatusMessage

          • LastSuccessfulSyncTime

          • LastSuccessfulSyncProvisioningArtifactID

          • LastSyncTime (datetime) --

            The time of the last attempted sync from the repository to the Service Catalog product.

          • LastSyncStatus (string) --

            The current status of the sync. Responses include SUCCEEDED or FAILED .

          • LastSyncStatusMessage (string) --

            The sync's status message.

          • LastSuccessfulSyncTime (datetime) --

            The time of the latest successful sync from the source repo artifact to the Service Catalog product.

          • LastSuccessfulSyncProvisioningArtifactId (string) --

            The ProvisioningArtifactID of the ProvisioningArtifact created from the latest successful sync.

    • Tags (list) --

      Information about the tags associated with the product.

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

          The tag key.

        • Value (string) --

          The value for this key.

UpdateProvisioningArtifact (updated) Link ¶
Changes (response)
{'ProvisioningArtifactDetail': {'SourceRevision': 'string'}}

Updates the specified provisioning artifact (also known as a version) for the specified product.

You cannot update a provisioning artifact for a product that was shared with you.

See also: AWS API Documentation

Request Syntax

client.update_provisioning_artifact(
    AcceptLanguage='string',
    ProductId='string',
    ProvisioningArtifactId='string',
    Name='string',
    Description='string',
    Active=True|False,
    Guidance='DEFAULT'|'DEPRECATED'
)
type AcceptLanguage

string

param AcceptLanguage

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

type ProductId

string

param ProductId

[REQUIRED]

The product identifier.

type ProvisioningArtifactId

string

param ProvisioningArtifactId

[REQUIRED]

The identifier of the provisioning artifact.

type Name

string

param Name

The updated name of the provisioning artifact.

type Description

string

param Description

The updated description of the provisioning artifact.

type Active

boolean

param Active

Indicates whether the product version is active.

Inactive provisioning artifacts are invisible to end users. End users cannot launch or update a provisioned product from an inactive provisioning artifact.

type Guidance

string

param Guidance

Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

The DEFAULT value indicates that the product version is active.

The administrator can set the guidance to DEPRECATED to inform users that the product version is deprecated. Users are able to make updates to a provisioned product of a deprecated version but cannot launch new provisioned products using a deprecated version.

rtype

dict

returns

Response Syntax

{
    'ProvisioningArtifactDetail': {
        'Id': 'string',
        'Name': 'string',
        'Description': 'string',
        'Type': 'CLOUD_FORMATION_TEMPLATE'|'MARKETPLACE_AMI'|'MARKETPLACE_CAR',
        'CreatedTime': datetime(2015, 1, 1),
        'Active': True|False,
        'Guidance': 'DEFAULT'|'DEPRECATED',
        'SourceRevision': 'string'
    },
    'Info': {
        'string': 'string'
    },
    'Status': 'AVAILABLE'|'CREATING'|'FAILED'
}

Response Structure

  • (dict) --

    • ProvisioningArtifactDetail (dict) --

      Information about the provisioning artifact.

      • Id (string) --

        The identifier of the provisioning artifact.

      • Name (string) --

        The name of the provisioning artifact.

      • Description (string) --

        The description of the provisioning artifact.

      • Type (string) --

        The type of provisioning artifact.

        • CLOUD_FORMATION_TEMPLATE - CloudFormation template

        • MARKETPLACE_AMI - Amazon Web Services Marketplace AMI

        • MARKETPLACE_CAR - Amazon Web Services Marketplace Clusters and Amazon Web Services Resources

      • CreatedTime (datetime) --

        The UTC time stamp of the creation time.

      • Active (boolean) --

        Indicates whether the product version is active.

      • Guidance (string) --

        Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

      • SourceRevision (string) --

        Specifies the revision of the external artifact that was used to automatically sync the Service Catalog product and create the provisioning artifact. Service Catalog includes this response parameter as a high level field to the existing ProvisioningArtifactDetail type, which is returned as part of the response for CreateProduct , UpdateProduct , DescribeProductAsAdmin , DescribeProvisioningArtifact , ListProvisioningArtifact , and UpdateProvisioningArticat APIs.

        This field only exists for Repo-Synced products.

    • Info (dict) --

      The URL of the CloudFormation template in Amazon S3 or GitHub in JSON format.

      • (string) --

        • (string) --

    • Status (string) --

      The status of the current request.