AWS Marketplace Catalog Service

2022/11/11 - AWS Marketplace Catalog Service - 3 new1 updated api methods

Changes  Added three new APIs to support tagging and tag-based authorization: TagResource, UntagResource, and ListTagsForResource. Added optional parameters to the StartChangeSet API to support tagging a resource while making a request to create it.

TagResource (new) Link ¶

Tags a resource (either an entity or change set).

See also: AWS API Documentation

Request Syntax

client.tag_resource(
    ResourceArn='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type ResourceArn:

string

param ResourceArn:

[REQUIRED]

Required. The Amazon Resource Name (ARN) associated with the resource you want to tag.

type Tags:

list

param Tags:

[REQUIRED]

Required. A list of objects specifying each key name and value. Number of objects allowed: 1-50.

  • (dict) --

    A list of objects specifying each key name and value.

    • Key (string) -- [REQUIRED]

      The key associated with the tag.

    • Value (string) -- [REQUIRED]

      The value associated with the tag.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

UntagResource (new) Link ¶

Removes a tag or list of tags from a resource (either an entity or change set).

See also: AWS API Documentation

Request Syntax

client.untag_resource(
    ResourceArn='string',
    TagKeys=[
        'string',
    ]
)
type ResourceArn:

string

param ResourceArn:

[REQUIRED]

Required. The Amazon Resource Name (ARN) associated with the resource you want to remove the tag from.

type TagKeys:

list

param TagKeys:

[REQUIRED]

Required. A list of key names of tags to be removed. Number of strings allowed: 0-256.

  • (string) --

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

ListTagsForResource (new) Link ¶

Lists all tags that have been added to a resource (either an entity or change set).

See also: AWS API Documentation

Request Syntax

client.list_tags_for_resource(
    ResourceArn='string'
)
type ResourceArn:

string

param ResourceArn:

[REQUIRED]

Required. The Amazon Resource Name (ARN) associated with the resource you want to list tags on.

rtype:

dict

returns:

Response Syntax

{
    'ResourceArn': 'string',
    'Tags': [
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • ResourceArn (string) --

      Required. The ARN associated with the resource you want to list tags on.

    • Tags (list) --

      Required. A list of objects specifying each key name and value. Number of objects allowed: 1-50.

      • (dict) --

        A list of objects specifying each key name and value.

        • Key (string) --

          The key associated with the tag.

        • Value (string) --

          The value associated with the tag.

StartChangeSet (updated) Link ¶
Changes (request)
{'ChangeSet': {'EntityTags': [{'Key': 'string', 'Value': 'string'}]},
 'ChangeSetTags': [{'Key': 'string', 'Value': 'string'}]}

Allows you to request changes for your entities. Within a single ChangeSet, you can't start the same change type against the same entity multiple times. Additionally, when a ChangeSet is running, all the entities targeted by the different changes are locked until the change set has completed (either succeeded, cancelled, or failed). If you try to start a change set containing a change against an entity that is already locked, you will receive a ResourceInUseException error.

For example, you can't start the ChangeSet described in the example later in this topic because it contains two changes to run the same change type ( AddRevisions) against the same entity ( entity-id@1).

For more information about working with change sets, see Working with change sets.

See also: AWS API Documentation

Request Syntax

client.start_change_set(
    Catalog='string',
    ChangeSet=[
        {
            'ChangeType': 'string',
            'Entity': {
                'Type': 'string',
                'Identifier': 'string'
            },
            'EntityTags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ],
            'Details': 'string',
            'ChangeName': 'string'
        },
    ],
    ChangeSetName='string',
    ClientRequestToken='string',
    ChangeSetTags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type Catalog:

string

param Catalog:

[REQUIRED]

The catalog related to the request. Fixed value: AWSMarketplace

type ChangeSet:

list

param ChangeSet:

[REQUIRED]

Array of change object.

  • (dict) --

    An object that contains the ChangeType, Details, and Entity.

    • ChangeType (string) -- [REQUIRED]

      Change types are single string values that describe your intention for the change. Each change type is unique for each EntityType provided in the change's scope.

    • Entity (dict) -- [REQUIRED]

      The entity to be changed.

      • Type (string) -- [REQUIRED]

        The type of entity.

      • Identifier (string) --

        The identifier for the entity.

    • EntityTags (list) --

      The tags associated with the change.

      • (dict) --

        A list of objects specifying each key name and value.

        • Key (string) -- [REQUIRED]

          The key associated with the tag.

        • Value (string) -- [REQUIRED]

          The value associated with the tag.

    • Details (string) -- [REQUIRED]

      This object contains details specific to the change type of the requested change.

    • ChangeName (string) --

      Optional name for the change.

type ChangeSetName:

string

param ChangeSetName:

Optional case sensitive string of up to 100 ASCII characters. The change set name can be used to filter the list of change sets.

type ClientRequestToken:

string

param ClientRequestToken:

A unique token to identify the request to ensure idempotency.

This field is autopopulated if not provided.

type ChangeSetTags:

list

param ChangeSetTags:

A list of objects specifying each key name and value for the ChangeSetTags property.

  • (dict) --

    A list of objects specifying each key name and value.

    • Key (string) -- [REQUIRED]

      The key associated with the tag.

    • Value (string) -- [REQUIRED]

      The value associated with the tag.

rtype:

dict

returns:

Response Syntax

{
    'ChangeSetId': 'string',
    'ChangeSetArn': 'string'
}

Response Structure

  • (dict) --

    • ChangeSetId (string) --

      Unique identifier generated for the request.

    • ChangeSetArn (string) --

      The ARN associated to the unique identifier generated for the request.