Partner Central Selling API

2025/01/15 - Partner Central Selling API - 3 new3 updated api methods

Changes  Add Tagging support for ResourceSnapshotJob resources

TagResource (new) Link ¶

Assigns one or more tags (key-value pairs) to the specified resource.

See also: AWS API Documentation

Request Syntax

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

string

param ResourceArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the resource that you want to tag.

type Tags:

list

param Tags:

[REQUIRED]

A map of the key-value pairs of the tag or tags to assign to the resource.

  • (dict) --

    The key-value pair assigned to a specified resource.

    • Key (string) -- [REQUIRED]

      The key in the tag.

    • Value (string) -- [REQUIRED]

      The value in the tag.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

UntagResource (new) Link ¶

Removes a tag or tags from a resource.

See also: AWS API Documentation

Request Syntax

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

string

param ResourceArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the resource that you want to untag.

type TagKeys:

list

param TagKeys:

[REQUIRED]

The keys of the key-value pairs for the tag or tags you want to remove from the specified resource.

  • (string) --

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

ListTagsForResource (new) Link ¶

Returns a list of tags for a resource.

See also: AWS API Documentation

Request Syntax

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

string

param ResourceArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the resource for which you want to retrieve tags.

rtype:

dict

returns:

Response Syntax

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

Response Structure

  • (dict) --

    • Tags (list) --

      A map of the key-value pairs for the tag or tags assigned to the specified resource.

      • (dict) --

        The key-value pair assigned to a specified resource.

        • Key (string) --

          The key in the tag.

        • Value (string) --

          The value in the tag.

CreateResourceSnapshotJob (updated) Link ¶
Changes (request)
{'Tags': [{'Key': 'string', 'Value': 'string'}]}

Use this action to create a job to generate a snapshot of the specified resource within an engagement. It initiates an asynchronous process to create a resource snapshot. The job creates a new snapshot only if the resource state has changed, adhering to the same access control and immutability rules as direct snapshot creation.

See also: AWS API Documentation

Request Syntax

client.create_resource_snapshot_job(
    Catalog='string',
    ClientToken='string',
    EngagementIdentifier='string',
    ResourceIdentifier='string',
    ResourceSnapshotTemplateIdentifier='string',
    ResourceType='Opportunity',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type Catalog:

string

param Catalog:

[REQUIRED]

Specifies the catalog in which to create the snapshot job. Valid values are AWS and Sandbox.

type ClientToken:

string

param ClientToken:

[REQUIRED]

A client-generated UUID used for idempotency check. The token helps prevent duplicate job creations.

This field is autopopulated if not provided.

type EngagementIdentifier:

string

param EngagementIdentifier:

[REQUIRED]

Specifies the identifier of the engagement associated with the resource to be snapshotted.

type ResourceIdentifier:

string

param ResourceIdentifier:

[REQUIRED]

Specifies the identifier of the specific resource to be snapshotted. The format depends on the ResourceType.

type ResourceSnapshotTemplateIdentifier:

string

param ResourceSnapshotTemplateIdentifier:

[REQUIRED]

Specifies the name of the template that defines the schema for the snapshot.

type ResourceType:

string

param ResourceType:

[REQUIRED]

The type of resource for which the snapshot job is being created. Must be one of the supported resource types i.e. Opportunity

type Tags:

list

param Tags:

A list of objects specifying each tag name and value.

  • (dict) --

    The key-value pair assigned to a specified resource.

    • Key (string) -- [REQUIRED]

      The key in the tag.

    • Value (string) -- [REQUIRED]

      The value in the tag.

rtype:

dict

returns:

Response Syntax

{
    'Arn': 'string',
    'Id': 'string'
}

Response Structure

  • (dict) --

    • Arn (string) --

      The Amazon Resource Name (ARN) of the created snapshot job.

    • Id (string) --

      The unique identifier for the created snapshot job.

StartEngagementByAcceptingInvitationTask (updated) Link ¶
Changes (request)
{'Tags': [{'Key': 'string', 'Value': 'string'}]}

This action starts the engagement by accepting an EngagementInvitation. The task is asynchronous and involves the following steps: accepting the invitation, creating an opportunity in the partner’s account from the AWS opportunity, and copying details for tracking. When completed, an Opportunity Created event is generated, indicating that the opportunity has been successfully created in the partner's account.

See also: AWS API Documentation

Request Syntax

client.start_engagement_by_accepting_invitation_task(
    Catalog='string',
    ClientToken='string',
    Identifier='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type Catalog:

string

param Catalog:

[REQUIRED]

Specifies the catalog related to the task. Use AWS for production engagements and Sandbox for testing scenarios.

type ClientToken:

string

param ClientToken:

[REQUIRED]

A unique, case-sensitive identifier provided by the client that helps to ensure the idempotency of the request. This can be a random or meaningful string but must be unique for each request.

This field is autopopulated if not provided.

type Identifier:

string

param Identifier:

[REQUIRED]

Specifies the unique identifier of the EngagementInvitation to be accepted. Providing the correct identifier helps ensure that the correct engagement is processed.

type Tags:

list

param Tags:

A list of objects specifying each tag name and value.

  • (dict) --

    The key-value pair assigned to a specified resource.

    • Key (string) -- [REQUIRED]

      The key in the tag.

    • Value (string) -- [REQUIRED]

      The value in the tag.

rtype:

dict

returns:

Response Syntax

{
    'EngagementInvitationId': 'string',
    'Message': 'string',
    'OpportunityId': 'string',
    'ReasonCode': 'InvitationAccessDenied'|'InvitationValidationFailed'|'EngagementAccessDenied'|'OpportunityAccessDenied'|'ResourceSnapshotJobAccessDenied'|'ResourceSnapshotJobValidationFailed'|'ResourceSnapshotJobConflict'|'EngagementValidationFailed'|'EngagementConflict'|'OpportunitySubmissionFailed'|'EngagementInvitationConflict'|'InternalError'|'OpportunityValidationFailed'|'OpportunityConflict'|'ResourceSnapshotAccessDenied'|'ResourceSnapshotValidationFailed'|'ResourceSnapshotConflict'|'ServiceQuotaExceeded'|'RequestThrottled',
    'ResourceSnapshotJobId': 'string',
    'StartTime': datetime(2015, 1, 1),
    'TaskArn': 'string',
    'TaskId': 'string',
    'TaskStatus': 'IN_PROGRESS'|'COMPLETE'|'FAILED'
}

Response Structure

  • (dict) --

    • EngagementInvitationId (string) --

      Returns the identifier of the engagement invitation that was accepted and used to create the opportunity.

    • Message (string) --

      If the task fails, this field contains a detailed message describing the failure and possible recovery steps.

    • OpportunityId (string) --

      Returns the original opportunity identifier passed in the request. This is the unique identifier for the opportunity.

    • ReasonCode (string) --

      Indicates the reason for task failure using an enumerated code.

    • ResourceSnapshotJobId (string) --

      The identifier of the Resource Snapshot Job created as part of this task.

    • StartTime (datetime) --

      The timestamp indicating when the task was initiated. The format follows RFC 3339 section 5.6.

    • TaskArn (string) --

      The Amazon Resource Name (ARN) of the task, used for tracking and managing the task within AWS.

    • TaskId (string) --

      The unique identifier of the task, used to track the task’s progress.

    • TaskStatus (string) --

      Indicates the current status of the task.

StartEngagementFromOpportunityTask (updated) Link ¶
Changes (request)
{'Tags': [{'Key': 'string', 'Value': 'string'}]}

This action initiates the engagement process from an existing opportunity by accepting the engagement invitation and creating a corresponding opportunity in the partner’s system. Similar to StartEngagementByAcceptingInvitationTask, this action is asynchronous and performs multiple steps before completion.

See also: AWS API Documentation

Request Syntax

client.start_engagement_from_opportunity_task(
    AwsSubmission={
        'InvolvementType': 'For Visibility Only'|'Co-Sell',
        'Visibility': 'Full'|'Limited'
    },
    Catalog='string',
    ClientToken='string',
    Identifier='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type AwsSubmission:

dict

param AwsSubmission:

[REQUIRED]

Indicates the level of AWS involvement in the opportunity. This field helps track AWS participation throughout the engagement, such as providing technical support, deal assistance, and sales support.

  • InvolvementType (string) -- [REQUIRED]

    Specifies the type of AWS involvement in the opportunity, such as coselling, deal support, or technical consultation. This helps categorize the nature of AWS participation.

  • Visibility (string) --

    Determines who can view AWS involvement in the opportunity. Typically, this field is set to Full for most cases, but it may be restricted based on special program requirements or confidentiality needs.

type Catalog:

string

param Catalog:

[REQUIRED]

Specifies the catalog in which the engagement is tracked. Acceptable values include AWS for production and Sandbox for testing environments.

type ClientToken:

string

param ClientToken:

[REQUIRED]

A unique token provided by the client to help ensure the idempotency of the request. It helps prevent the same task from being performed multiple times.

This field is autopopulated if not provided.

type Identifier:

string

param Identifier:

[REQUIRED]

The unique identifier of the opportunity from which the engagement task is to be initiated. This helps ensure that the task is applied to the correct opportunity.

type Tags:

list

param Tags:

A list of objects specifying each tag name and value.

  • (dict) --

    The key-value pair assigned to a specified resource.

    • Key (string) -- [REQUIRED]

      The key in the tag.

    • Value (string) -- [REQUIRED]

      The value in the tag.

rtype:

dict

returns:

Response Syntax

{
    'EngagementId': 'string',
    'EngagementInvitationId': 'string',
    'Message': 'string',
    'OpportunityId': 'string',
    'ReasonCode': 'InvitationAccessDenied'|'InvitationValidationFailed'|'EngagementAccessDenied'|'OpportunityAccessDenied'|'ResourceSnapshotJobAccessDenied'|'ResourceSnapshotJobValidationFailed'|'ResourceSnapshotJobConflict'|'EngagementValidationFailed'|'EngagementConflict'|'OpportunitySubmissionFailed'|'EngagementInvitationConflict'|'InternalError'|'OpportunityValidationFailed'|'OpportunityConflict'|'ResourceSnapshotAccessDenied'|'ResourceSnapshotValidationFailed'|'ResourceSnapshotConflict'|'ServiceQuotaExceeded'|'RequestThrottled',
    'ResourceSnapshotJobId': 'string',
    'StartTime': datetime(2015, 1, 1),
    'TaskArn': 'string',
    'TaskId': 'string',
    'TaskStatus': 'IN_PROGRESS'|'COMPLETE'|'FAILED'
}

Response Structure

  • (dict) --

    • EngagementId (string) --

      The identifier of the newly created Engagement. Only populated if TaskStatus is COMPLETE.

    • EngagementInvitationId (string) --

      The identifier of the new Engagement invitation. Only populated if TaskStatus is COMPLETE.

    • Message (string) --

      If the task fails, this field contains a detailed message describing the failure and possible recovery steps.

    • OpportunityId (string) --

      Returns the original opportunity identifier passed in the request, which is the unique identifier for the opportunity created in the partner’s system.

    • ReasonCode (string) --

      Indicates the reason for task failure using an enumerated code.

    • ResourceSnapshotJobId (string) --

      The identifier of the resource snapshot job created to add the opportunity resource snapshot to the Engagement. Only populated if TaskStatus is COMPLETE

    • StartTime (datetime) --

      The timestamp indicating when the task was initiated. The format follows RFC 3339 section 5.6.

    • TaskArn (string) --

      The Amazon Resource Name (ARN) of the task, used for tracking and managing the task within AWS.

    • TaskId (string) --

      The unique identifier of the task, used to track the task’s progress. This value follows a specific pattern: ^oit-[0-9a-z]{13}$.

    • TaskStatus (string) --

      Indicates the current status of the task. Valid values include IN_PROGRESS, COMPLETE, and FAILED.