PartnerCentralSellingAPI ************************ Client ====== class PartnerCentralSellingAPI.Client A low-level client representing Partner Central Selling API **AWS Partner Central API for Selling Reference Guide** This Amazon Web Services (AWS) Partner Central API reference is designed to help AWS Partners integrate Customer Relationship Management (CRM) systems with AWS Partner Central. Partners can automate interactions with AWS Partner Central, which helps to ensure effective engagements in joint business activities. The API provides standard AWS API functionality. Access it by either using API Actions or by using an AWS SDK that's tailored to your programming language or platform. For more information, see Getting Started with AWS and Tools to Build on AWS. **Features offered by AWS Partner Central API** * **Opportunity management:** Manages coselling opportunities through API actions such as "CreateOpportunity", "UpdateOpportunity", "ListOpportunities", "GetOpportunity", and "AssignOpportunity". * **AWS referral management:** Manages referrals shared by AWS using actions such as "ListEngagementInvitations", "GetEngagementInvitation", "StartEngagementByAcceptingInvitation", and "RejectEngagementInvitation". * **Entity association:** Associates related entities such as *AWS Products*, *Partner Solutions*, and *AWS Marketplace Private Offers* with opportunities using the actions "AssociateOpportunity", and "DisassociateOpportunity". * **View AWS opportunity details:** Retrieves real-time summaries of AWS opportunities using the "GetAWSOpportunitySummary" action. * **List solutions:** Provides list APIs for listing partner offers using "ListSolutions". * **Event subscription:** Subscribe to real-time opportunity updates through AWS EventBridge by using actions such as *Opportunity Created*, *Opportunity Updated*, *Engagement Invitation Accepted*, *Engagement Invitation Rejected*, and *Engagement Invitation Created*. import boto3 client = boto3.client('partnercentral-selling') These are the available methods: * accept_engagement_invitation * assign_opportunity * associate_opportunity * can_paginate * close * create_engagement * create_engagement_invitation * create_opportunity * create_resource_snapshot * create_resource_snapshot_job * delete_resource_snapshot_job * disassociate_opportunity * get_aws_opportunity_summary * get_engagement * get_engagement_invitation * get_opportunity * get_paginator * get_resource_snapshot * get_resource_snapshot_job * get_selling_system_settings * get_waiter * list_engagement_by_accepting_invitation_tasks * list_engagement_from_opportunity_tasks * list_engagement_invitations * list_engagement_members * list_engagement_resource_associations * list_engagements * list_opportunities * list_resource_snapshot_jobs * list_resource_snapshots * list_solutions * list_tags_for_resource * put_selling_system_settings * reject_engagement_invitation * start_engagement_by_accepting_invitation_task * start_engagement_from_opportunity_task * start_resource_snapshot_job * stop_resource_snapshot_job * submit_opportunity * tag_resource * untag_resource * update_opportunity Paginators ========== Paginators are available on a client instance via the "get_paginator" method. For more detailed instructions and examples on the usage of paginators, see the paginators user guide. The available paginators are: * ListEngagementByAcceptingInvitationTasks * ListEngagementFromOpportunityTasks * ListEngagementInvitations * ListEngagementMembers * ListEngagementResourceAssociations * ListEngagements * ListOpportunities * ListResourceSnapshotJobs * ListResourceSnapshots * ListSolutions PartnerCentralSellingAPI / Paginator / ListEngagementResourceAssociations ListEngagementResourceAssociations ********************************** class PartnerCentralSellingAPI.Paginator.ListEngagementResourceAssociations paginator = client.get_paginator('list_engagement_resource_associations') paginate(**kwargs) Creates an iterator that will paginate through responses from " PartnerCentralSellingAPI.Client.list_engagement_resource_associ ations()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( Catalog='string', CreatedBy='string', EngagementIdentifier='string', ResourceIdentifier='string', ResourceType='Opportunity', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog in which to search for engagement- resource associations. Valid Values: "AWS" or "Sandbox" * "AWS" for production environments. * "Sandbox" for testing and development purposes. * **CreatedBy** (*string*) -- Filters the response to include only snapshots of resources owned by the specified AWS account ID. Use this when you want to find associations related to resources owned by a particular account. * **EngagementIdentifier** (*string*) -- Filters the results to include only associations related to the specified engagement. Use this when you want to find all resources associated with a specific engagement. * **ResourceIdentifier** (*string*) -- Filters the results to include only associations with the specified resource. Varies depending on the resource type. Use this when you want to find all engagements associated with a specific resource. * **ResourceType** (*string*) -- Filters the results to include only associations with resources of the specified type. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'EngagementResourceAssociationSummaries': [ { 'Catalog': 'string', 'CreatedBy': 'string', 'EngagementId': 'string', 'ResourceId': 'string', 'ResourceType': 'Opportunity' }, ], } **Response Structure** * *(dict) --* * **EngagementResourceAssociationSummaries** *(list) --* A list of engagement-resource association summaries. * *(dict) --* This provide a streamlined view of the relationships between engagements and resources. These summaries offer a crucial link between collaborative engagements and the specific resources involved, such as opportunities.These summaries are particularly valuable for partners navigating complex engagements with multiple resources. They enable quick insights into resource distribution across engagements, support efficient resource management, and help maintain a clear overview of collaborative activities. * **Catalog** *(string) --* Indicates the environment in which the resource and engagement exist. * **CreatedBy** *(string) --* The AWS account ID of the entity that owns the resource. Identifies the account responsible for or having primary control over the resource. * **EngagementId** *(string) --* A unique identifier for the engagement associated with the resource. * **ResourceId** *(string) --* A unique identifier for the specific resource. Varies depending on the resource type. * **ResourceType** *(string) --* Categorizes the type of resource associated with the engagement. PartnerCentralSellingAPI / Paginator / ListEngagementFromOpportunityTasks ListEngagementFromOpportunityTasks ********************************** class PartnerCentralSellingAPI.Paginator.ListEngagementFromOpportunityTasks paginator = client.get_paginator('list_engagement_from_opportunity_tasks') paginate(**kwargs) Creates an iterator that will paginate through responses from " PartnerCentralSellingAPI.Client.list_engagement_from_opportunit y_tasks()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( Catalog='string', EngagementIdentifier=[ 'string', ], OpportunityIdentifier=[ 'string', ], Sort={ 'SortBy': 'StartTime', 'SortOrder': 'ASCENDING'|'DESCENDING' }, TaskIdentifier=[ 'string', ], TaskStatus=[ 'IN_PROGRESS'|'COMPLETE'|'FAILED', ], PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the request. Valid values are: * AWS: Retrieves the request from the production AWS environment. * Sandbox: Retrieves the request from a sandbox environment used for testing or development purposes. * **EngagementIdentifier** (*list*) -- Filters tasks by the identifiers of the engagements they created or are associated with. * *(string) --* * **OpportunityIdentifier** (*list*) -- The identifier of the original opportunity associated with this task. * *(string) --* * **Sort** (*dict*) -- Specifies the sorting criteria for the returned results. This allows you to order the tasks based on specific attributes. * **SortBy** *(string) --* **[REQUIRED]** Specifies the field by which the task list should be sorted. * **SortOrder** *(string) --* **[REQUIRED]** Determines the order in which the sorted results are presented. * **TaskIdentifier** (*list*) -- Filters tasks by their unique identifiers. Use this when you want to retrieve information about specific tasks. * *(string) --* * **TaskStatus** (*list*) -- Filters the tasks based on their current status. This allows you to focus on tasks in specific states. * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'TaskSummaries': [ { '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) --* * **TaskSummaries** *(list) --* TaskSummaries An array of TaskSummary objects containing details about each task. * *(dict) --* Provides a summary of a task related to creating an engagement from an opportunity. This structure contains key information about the task's status, associated identifiers, and any failure details. * **EngagementId** *(string) --* The unique identifier of the engagement created as a result of the task. This field is populated when the task is completed successfully. * **EngagementInvitationId** *(string) --* The unique identifier of the Engagement Invitation. * **Message** *(string) --* A detailed message providing additional information about the task, especially useful in case of failures. This field may contain error details or other relevant information about the task's execution * **OpportunityId** *(string) --* The unique identifier of the original Opportunity from which the Engagement is being created. This field helps track the source of the Engagement creation task. * **ReasonCode** *(string) --* A code indicating the specific reason for a task failure. This field is populated when the task status is FAILED and provides a categorized reason for the failure. * **ResourceSnapshotJobId** *(string) --* The identifier of the resource snapshot job associated with this task, if a snapshot was created as part of the Engagement creation process. * **StartTime** *(datetime) --* The timestamp indicating when the task was initiated, in RFC 3339 5.6 date-time format. * **TaskArn** *(string) --* The Amazon Resource Name (ARN) uniquely identifying this task within AWS. This ARN can be used for referencing the task in other AWS services or APIs. * **TaskId** *(string) --* A unique identifier for a specific task. * **TaskStatus** *(string) --* The current status of the task. PartnerCentralSellingAPI / Paginator / ListResourceSnapshotJobs ListResourceSnapshotJobs ************************ class PartnerCentralSellingAPI.Paginator.ListResourceSnapshotJobs paginator = client.get_paginator('list_resource_snapshot_jobs') paginate(**kwargs) Creates an iterator that will paginate through responses from "PartnerCentralSellingAPI.Client.list_resource_snapshot_jobs()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( Catalog='string', EngagementIdentifier='string', Sort={ 'SortBy': 'CreatedDate', 'SortOrder': 'ASCENDING'|'DESCENDING' }, Status='Running'|'Stopped', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the request. * **EngagementIdentifier** (*string*) -- The identifier of the engagement to filter the response. * **Sort** (*dict*) -- Configures the sorting of the response. If omitted, results are sorted by "CreatedDate" in descending order. * **SortBy** *(string) --* Specifies the field by which to sort the resource snapshot jobs. * **SortOrder** *(string) --* Determines the order in which the sorted results are presented. * **Status** (*string*) -- The status of the jobs to filter the response. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'ResourceSnapshotJobSummaries': [ { 'Arn': 'string', 'EngagementId': 'string', 'Id': 'string', 'Status': 'Running'|'Stopped' }, ] } **Response Structure** * *(dict) --* * **ResourceSnapshotJobSummaries** *(list) --* An array of resource snapshot job summary objects. * *(dict) --* An object that contains a "Resource Snapshot Job"'s subset of fields. * **Arn** *(string) --* The Amazon Resource Name (ARN) for the resource snapshot job. * **EngagementId** *(string) --* The unique identifier of the Engagement. * **Id** *(string) --* The unique identifier for the resource snapshot job within the AWS Partner Central system. This ID is used for direct references to the job within the service. * **Status** *(string) --* The current status of the snapshot job. Valid values: * STOPPED: The job is not currently running. * RUNNING: The job is actively executing. PartnerCentralSellingAPI / Paginator / ListEngagementMembers ListEngagementMembers ********************* class PartnerCentralSellingAPI.Paginator.ListEngagementMembers paginator = client.get_paginator('list_engagement_members') paginate(**kwargs) Creates an iterator that will paginate through responses from "PartnerCentralSellingAPI.Client.list_engagement_members()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( Catalog='string', Identifier='string', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** The catalog related to the request. * **Identifier** (*string*) -- **[REQUIRED]** Identifier of the Engagement record to retrieve members from. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'EngagementMemberList': [ { 'AccountId': 'string', 'CompanyName': 'string', 'WebsiteUrl': 'string' }, ], } **Response Structure** * *(dict) --* * **EngagementMemberList** *(list) --* Provides a list of engagement members. * *(dict) --* Engagement members are the participants in an Engagement, which is likely a collaborative project or business opportunity within the AWS partner network. Members can be different partner organizations or AWS accounts that are working together on a specific engagement. Each member is represented by their AWS Account ID, Company Name, and associated details. Members have a status within the Engagement (PENDING, ACCEPTED, REJECTED, or WITHDRAWN), indicating their current state of participation. Only existing members of an Engagement can view the list of other members. This implies a level of privacy and access control within the Engagement structure. * **AccountId** *(string) --* This is the unique identifier for the AWS account associated with the member organization. It's used for AWS-related operations and identity verification. * **CompanyName** *(string) --* The official name of the member's company or organization. * **WebsiteUrl** *(string) --* The URL of the member company's website. This offers a way to find more information about the member organization and serves as an additional identifier. PartnerCentralSellingAPI / Paginator / ListResourceSnapshots ListResourceSnapshots ********************* class PartnerCentralSellingAPI.Paginator.ListResourceSnapshots paginator = client.get_paginator('list_resource_snapshots') paginate(**kwargs) Creates an iterator that will paginate through responses from "PartnerCentralSellingAPI.Client.list_resource_snapshots()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( Catalog='string', CreatedBy='string', EngagementIdentifier='string', ResourceIdentifier='string', ResourceSnapshotTemplateIdentifier='string', ResourceType='Opportunity', PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the request. * **CreatedBy** (*string*) -- Filters the response to include only snapshots of resources owned by the specified AWS account. * **EngagementIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the engagement associated with the snapshots. * **ResourceIdentifier** (*string*) -- Filters the response to include only snapshots of the specified resource. * **ResourceSnapshotTemplateIdentifier** (*string*) -- Filters the response to include only snapshots created using the specified template. * **ResourceType** (*string*) -- Filters the response to include only snapshots of the specified resource type. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'ResourceSnapshotSummaries': [ { 'Arn': 'string', 'CreatedBy': 'string', 'ResourceId': 'string', 'ResourceSnapshotTemplateName': 'string', 'ResourceType': 'Opportunity', 'Revision': 123 }, ] } **Response Structure** * *(dict) --* * **ResourceSnapshotSummaries** *(list) --* An array of resource snapshot summary objects. * *(dict) --* Provides a concise summary of a resource snapshot, including its unique identifier and version information. This structure is used to quickly reference and identify specific versions of resource snapshots. * **Arn** *(string) --* The Amazon Resource Name (ARN) of the snapshot. This globally unique identifier can be used for cross- service references and in IAM policies. * **CreatedBy** *(string) --* The AWS account ID of the entity that owns the resource from which the snapshot was created. * **ResourceId** *(string) --* The identifier of the specific resource snapshotted. The format might vary depending on the ResourceType. * **ResourceSnapshotTemplateName** *(string) --* The name of the template used to create the snapshot. * **ResourceType** *(string) --* The type of resource snapshotted. * **Revision** *(integer) --* The revision number of the snapshot. This integer value is incremented each time the snapshot is updated, allowing for version tracking of the resource snapshot. PartnerCentralSellingAPI / Paginator / ListSolutions ListSolutions ************* class PartnerCentralSellingAPI.Paginator.ListSolutions paginator = client.get_paginator('list_solutions') paginate(**kwargs) Creates an iterator that will paginate through responses from "PartnerCentralSellingAPI.Client.list_solutions()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( Catalog='string', Category=[ 'string', ], Identifier=[ 'string', ], Sort={ 'SortBy': 'Identifier'|'Name'|'Status'|'Category'|'CreatedDate', 'SortOrder': 'ASCENDING'|'DESCENDING' }, Status=[ 'Active'|'Inactive'|'Draft', ], PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog associated with the request. This field takes a string value from a predefined list: "AWS" or "Sandbox". The catalog determines which environment the solutions are listed in. Use "AWS" to list solutions in the Amazon Web Services catalog, and "Sandbox" to list solutions in a secure and isolated testing environment. * **Category** (*list*) -- Filters the solutions based on the category to which they belong. This allows partners to search for solutions within specific categories, such as "Software", "Consulting", or "Managed Services". * *(string) --* * **Identifier** (*list*) -- Filters the solutions based on their unique identifier. Use this filter to retrieve specific solutions by providing the solution's identifier for accurate results. * *(string) --* * **Sort** (*dict*) -- Object that configures sorting done on the response. Default "Sort.SortBy" is "Identifier". * **SortBy** *(string) --* **[REQUIRED]** Specifies the attribute to sort by, such as "Name", "CreatedDate", or "Status". * **SortOrder** *(string) --* **[REQUIRED]** Specifies the sorting order, either "Ascending" or "Descending". The default is "Descending". * **Status** (*list*) -- Filters solutions based on their status. This filter helps partners manage their solution portfolios effectively. * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'SolutionSummaries': [ { 'Arn': 'string', 'Catalog': 'string', 'Category': 'string', 'CreatedDate': datetime(2015, 1, 1), 'Id': 'string', 'Name': 'string', 'Status': 'Active'|'Inactive'|'Draft' }, ] } **Response Structure** * *(dict) --* * **SolutionSummaries** *(list) --* An array with minimal details for solutions matching the request criteria. * *(dict) --* Specifies minimal information for the solution offered to solve the customer's business problem. * **Arn** *(string) --* The SolutionBase structure provides essential information about a solution. * **Catalog** *(string) --* Specifies the catalog in which the solution is hosted, either "AWS" or "Sandbox". This helps partners differentiate between live solutions and those in testing environments. * **Category** *(string) --* Specifies the solution category, which helps to categorize and organize the solutions partners offer. Valid values: "Software Product" | "Consulting Service" | "Hardware Product" | "Communications Product" | "Professional Service" | "Managed Service" | "Value-Added Resale Amazon Web Services Service" | "Distribution Service" | "Training Service" | "Merger and Acquisition Advising Service". * **CreatedDate** *(datetime) --* Indicates the solution creation date. This is useful to track and audit. * **Id** *(string) --* Enables the association of solutions (offerings) to opportunities. * **Name** *(string) --* Specifies the solution name. * **Status** *(string) --* Specifies the solution's current status, which indicates its state in the system. Valid values: "Active" | "Inactive" | "Draft". The status helps partners and Amazon Web Services track the solution's lifecycle and availability. Filter for "Active" solutions for association to an opportunity. PartnerCentralSellingAPI / Paginator / ListEngagements ListEngagements *************** class PartnerCentralSellingAPI.Paginator.ListEngagements paginator = client.get_paginator('list_engagements') paginate(**kwargs) Creates an iterator that will paginate through responses from "PartnerCentralSellingAPI.Client.list_engagements()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( Catalog='string', CreatedBy=[ 'string', ], EngagementIdentifier=[ 'string', ], ExcludeCreatedBy=[ 'string', ], Sort={ 'SortBy': 'CreatedDate', 'SortOrder': 'ASCENDING'|'DESCENDING' }, PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the request. * **CreatedBy** (*list*) -- A list of AWS account IDs. When specified, the response includes engagements created by these accounts. This filter is useful for finding engagements created by specific team members. * *(string) --* * **EngagementIdentifier** (*list*) -- An array of strings representing engagement identifiers to retrieve. * *(string) --* * **ExcludeCreatedBy** (*list*) -- An array of strings representing AWS Account IDs. Use this to exclude engagements created by specific users. * *(string) --* * **Sort** (*dict*) -- Specifies the sorting parameters for listing Engagements. * **SortBy** *(string) --* **[REQUIRED]** The field by which to sort the results. * **SortOrder** *(string) --* **[REQUIRED]** The order in which to sort the results. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'EngagementSummaryList': [ { 'Arn': 'string', 'CreatedAt': datetime(2015, 1, 1), 'CreatedBy': 'string', 'Id': 'string', 'MemberCount': 123, 'Title': 'string' }, ], } **Response Structure** * *(dict) --* * **EngagementSummaryList** *(list) --* An array of engagement summary objects. * *(dict) --* An object that contains an "Engagement"'s subset of fields. * **Arn** *(string) --* The Amazon Resource Name (ARN) of the created Engagement. * **CreatedAt** *(datetime) --* The date and time when the Engagement was created. * **CreatedBy** *(string) --* The AWS Account ID of the Engagement creator. * **Id** *(string) --* The unique identifier for the Engagement. * **MemberCount** *(integer) --* The number of members in the Engagement. * **Title** *(string) --* The title of the Engagement. PartnerCentralSellingAPI / Paginator / ListEngagementByAcceptingInvitationTasks ListEngagementByAcceptingInvitationTasks **************************************** class PartnerCentralSellingAPI.Paginator.ListEngagementByAcceptingInvitationTasks paginator = client.get_paginator('list_engagement_by_accepting_invitation_tasks') paginate(**kwargs) Creates an iterator that will paginate through responses from " PartnerCentralSellingAPI.Client.list_engagement_by_accepting_in vitation_tasks()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( Catalog='string', EngagementInvitationIdentifier=[ 'string', ], OpportunityIdentifier=[ 'string', ], Sort={ 'SortBy': 'StartTime', 'SortOrder': 'ASCENDING'|'DESCENDING' }, TaskIdentifier=[ 'string', ], TaskStatus=[ 'IN_PROGRESS'|'COMPLETE'|'FAILED', ], PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the request. Valid values are: * AWS: Retrieves the request from the production AWS environment. * Sandbox: Retrieves the request from a sandbox environment used for testing or development purposes. * **EngagementInvitationIdentifier** (*list*) -- Filters tasks by the identifiers of the engagement invitations they are processing. * *(string) --* * **OpportunityIdentifier** (*list*) -- Filters tasks by the identifiers of the opportunities they created or are associated with. * *(string) --* * **Sort** (*dict*) -- Specifies the sorting criteria for the returned results. This allows you to order the tasks based on specific attributes. * **SortBy** *(string) --* **[REQUIRED]** Specifies the field by which the task list should be sorted. * **SortOrder** *(string) --* **[REQUIRED]** Determines the order in which the sorted results are presented. * **TaskIdentifier** (*list*) -- Filters tasks by their unique identifiers. Use this when you want to retrieve information about specific tasks. * *(string) --* * **TaskStatus** (*list*) -- Filters the tasks based on their current status. This allows you to focus on tasks in specific states. * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'TaskSummaries': [ { '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) --* * **TaskSummaries** *(list) --* An array of "EngagementByAcceptingInvitationTaskSummary" objects, each representing a task that matches the specified filters. The array may be empty if no tasks match the criteria. * *(dict) --* Specifies a subset of fields associated with tasks related to accepting an engagement invitation. * **EngagementInvitationId** *(string) --* The unique identifier of the engagement invitation that was accepted. * **Message** *(string) --* Detailed message describing the failure and possible recovery steps. * **OpportunityId** *(string) --* Unique identifier of opportunity that was created. * **ReasonCode** *(string) --* A code pointing to the specific reason for the failure. * **ResourceSnapshotJobId** *(string) --* Unique identifier of the resource snapshot job that was created. * **StartTime** *(datetime) --* Task start timestamp. * **TaskArn** *(string) --* The Amazon Resource Name (ARN) that uniquely identifies the task. * **TaskId** *(string) --* Unique identifier of the task. * **TaskStatus** *(string) --* Status of the task. PartnerCentralSellingAPI / Paginator / ListOpportunities ListOpportunities ***************** class PartnerCentralSellingAPI.Paginator.ListOpportunities paginator = client.get_paginator('list_opportunities') paginate(**kwargs) Creates an iterator that will paginate through responses from "PartnerCentralSellingAPI.Client.list_opportunities()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( Catalog='string', CustomerCompanyName=[ 'string', ], Identifier=[ 'string', ], LastModifiedDate={ 'AfterLastModifiedDate': datetime(2015, 1, 1), 'BeforeLastModifiedDate': datetime(2015, 1, 1) }, LifeCycleReviewStatus=[ 'Pending Submission'|'Submitted'|'In review'|'Approved'|'Rejected'|'Action Required', ], LifeCycleStage=[ 'Prospect'|'Qualified'|'Technical Validation'|'Business Validation'|'Committed'|'Launched'|'Closed Lost', ], Sort={ 'SortBy': 'LastModifiedDate'|'Identifier'|'CustomerCompanyName', 'SortOrder': 'ASCENDING'|'DESCENDING' }, PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog associated with the request. This field takes a string value from a predefined list: "AWS" or "Sandbox". The catalog determines which environment the opportunities are listed in. Use "AWS" for listing real opportunities in the Amazon Web Services catalog, and "Sandbox" for testing in secure, isolated environments. * **CustomerCompanyName** (*list*) -- Filters the opportunities based on the customer's company name. This allows partners to search for opportunities associated with a specific customer by matching the provided company name string. * *(string) --* * **Identifier** (*list*) -- Filters the opportunities based on the opportunity identifier. This allows partners to retrieve specific opportunities by providing their unique identifiers, ensuring precise results. * *(string) --* * **LastModifiedDate** (*dict*) -- Filters the opportunities based on their last modified date. This filter helps retrieve opportunities that were updated after the specified date, allowing partners to track recent changes or updates. * **AfterLastModifiedDate** *(datetime) --* Specifies the date after which the opportunities were modified. Use this filter to retrieve only those opportunities that were modified after a given timestamp. * **BeforeLastModifiedDate** *(datetime) --* Specifies the date before which the opportunities were modified. Use this filter to retrieve only those opportunities that were modified before a given timestamp. * **LifeCycleReviewStatus** (*list*) -- Filters the opportunities based on their current lifecycle approval status. Use this filter to retrieve opportunities with statuses such as "Pending Submission", "In Review", "Action Required", or "Approved". * *(string) --* * **LifeCycleStage** (*list*) -- Filters the opportunities based on their lifecycle stage. This filter allows partners to retrieve opportunities at various stages in the sales cycle, such as "Qualified", "Technical Validation", "Business Validation", or "Closed Won". * *(string) --* * **Sort** (*dict*) -- An object that specifies how the response is sorted. The default "Sort.SortBy" value is "LastModifiedDate". * **SortBy** *(string) --* **[REQUIRED]** Field name to sort by. * **SortOrder** *(string) --* **[REQUIRED]** Sort order. Default: "Descending" * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'OpportunitySummaries': [ { 'Arn': 'string', 'Catalog': 'string', 'CreatedDate': datetime(2015, 1, 1), 'Customer': { 'Account': { 'Address': { 'City': 'string', 'CountryCode': 'US'|'AF'|'AX'|'AL'|'DZ'|'AS'|'AD'|'AO'|'AI'|'AQ'|'AG'|'AR'|'AM'|'AW'|'AU'|'AT'|'AZ'|'BS'|'BH'|'BD'|'BB'|'BY'|'BE'|'BZ'|'BJ'|'BM'|'BT'|'BO'|'BQ'|'BA'|'BW'|'BV'|'BR'|'IO'|'BN'|'BG'|'BF'|'BI'|'KH'|'CM'|'CA'|'CV'|'KY'|'CF'|'TD'|'CL'|'CN'|'CX'|'CC'|'CO'|'KM'|'CG'|'CK'|'CR'|'CI'|'HR'|'CU'|'CW'|'CY'|'CZ'|'CD'|'DK'|'DJ'|'DM'|'DO'|'EC'|'EG'|'SV'|'GQ'|'ER'|'EE'|'ET'|'FK'|'FO'|'FJ'|'FI'|'FR'|'GF'|'PF'|'TF'|'GA'|'GM'|'GE'|'DE'|'GH'|'GI'|'GR'|'GL'|'GD'|'GP'|'GU'|'GT'|'GG'|'GN'|'GW'|'GY'|'HT'|'HM'|'VA'|'HN'|'HK'|'HU'|'IS'|'IN'|'ID'|'IR'|'IQ'|'IE'|'IM'|'IL'|'IT'|'JM'|'JP'|'JE'|'JO'|'KZ'|'KE'|'KI'|'KR'|'KW'|'KG'|'LA'|'LV'|'LB'|'LS'|'LR'|'LY'|'LI'|'LT'|'LU'|'MO'|'MK'|'MG'|'MW'|'MY'|'MV'|'ML'|'MT'|'MH'|'MQ'|'MR'|'MU'|'YT'|'MX'|'FM'|'MD'|'MC'|'MN'|'ME'|'MS'|'MA'|'MZ'|'MM'|'NA'|'NR'|'NP'|'NL'|'AN'|'NC'|'NZ'|'NI'|'NE'|'NG'|'NU'|'NF'|'MP'|'NO'|'OM'|'PK'|'PW'|'PS'|'PA'|'PG'|'PY'|'PE'|'PH'|'PN'|'PL'|'PT'|'PR'|'QA'|'RE'|'RO'|'RU'|'RW'|'BL'|'SH'|'KN'|'LC'|'MF'|'PM'|'VC'|'WS'|'SM'|'ST'|'SA'|'SN'|'RS'|'SC'|'SL'|'SG'|'SX'|'SK'|'SI'|'SB'|'SO'|'ZA'|'GS'|'SS'|'ES'|'LK'|'SD'|'SR'|'SJ'|'SZ'|'SE'|'CH'|'SY'|'TW'|'TJ'|'TZ'|'TH'|'TL'|'TG'|'TK'|'TO'|'TT'|'TN'|'TR'|'TM'|'TC'|'TV'|'UG'|'UA'|'AE'|'GB'|'UM'|'UY'|'UZ'|'VU'|'VE'|'VN'|'VG'|'VI'|'WF'|'EH'|'YE'|'ZM'|'ZW', 'PostalCode': 'string', 'StateOrRegion': 'string' }, 'CompanyName': 'string', 'Industry': 'Aerospace'|'Agriculture'|'Automotive'|'Computers and Electronics'|'Consumer Goods'|'Education'|'Energy - Oil and Gas'|'Energy - Power and Utilities'|'Financial Services'|'Gaming'|'Government'|'Healthcare'|'Hospitality'|'Life Sciences'|'Manufacturing'|'Marketing and Advertising'|'Media and Entertainment'|'Mining'|'Non-Profit Organization'|'Professional Services'|'Real Estate and Construction'|'Retail'|'Software and Internet'|'Telecommunications'|'Transportation and Logistics'|'Travel'|'Wholesale and Distribution'|'Other', 'OtherIndustry': 'string', 'WebsiteUrl': 'string' } }, 'Id': 'string', 'LastModifiedDate': datetime(2015, 1, 1), 'LifeCycle': { 'ClosedLostReason': 'Customer Deficiency'|'Delay / Cancellation of Project'|'Legal / Tax / Regulatory'|'Lost to Competitor - Google'|'Lost to Competitor - Microsoft'|'Lost to Competitor - SoftLayer'|'Lost to Competitor - VMWare'|'Lost to Competitor - Other'|'No Opportunity'|'On Premises Deployment'|'Partner Gap'|'Price'|'Security / Compliance'|'Technical Limitations'|'Customer Experience'|'Other'|'People/Relationship/Governance'|'Product/Technology'|'Financial/Commercial', 'NextSteps': 'string', 'ReviewComments': 'string', 'ReviewStatus': 'Pending Submission'|'Submitted'|'In review'|'Approved'|'Rejected'|'Action Required', 'ReviewStatusReason': 'string', 'Stage': 'Prospect'|'Qualified'|'Technical Validation'|'Business Validation'|'Committed'|'Launched'|'Closed Lost', 'TargetCloseDate': 'string' }, 'OpportunityType': 'Net New Business'|'Flat Renewal'|'Expansion', 'PartnerOpportunityIdentifier': 'string', 'Project': { 'DeliveryModels': [ 'SaaS or PaaS'|'BYOL or AMI'|'Managed Services'|'Professional Services'|'Resell'|'Other', ], 'ExpectedCustomerSpend': [ { 'Amount': 'string', 'CurrencyCode': 'USD'|'EUR'|'GBP'|'AUD'|'CAD'|'CNY'|'NZD'|'INR'|'JPY'|'CHF'|'SEK'|'AED'|'AFN'|'ALL'|'AMD'|'ANG'|'AOA'|'ARS'|'AWG'|'AZN'|'BAM'|'BBD'|'BDT'|'BGN'|'BHD'|'BIF'|'BMD'|'BND'|'BOB'|'BOV'|'BRL'|'BSD'|'BTN'|'BWP'|'BYN'|'BZD'|'CDF'|'CHE'|'CHW'|'CLF'|'CLP'|'COP'|'COU'|'CRC'|'CUC'|'CUP'|'CVE'|'CZK'|'DJF'|'DKK'|'DOP'|'DZD'|'EGP'|'ERN'|'ETB'|'FJD'|'FKP'|'GEL'|'GHS'|'GIP'|'GMD'|'GNF'|'GTQ'|'GYD'|'HKD'|'HNL'|'HRK'|'HTG'|'HUF'|'IDR'|'ILS'|'IQD'|'IRR'|'ISK'|'JMD'|'JOD'|'KES'|'KGS'|'KHR'|'KMF'|'KPW'|'KRW'|'KWD'|'KYD'|'KZT'|'LAK'|'LBP'|'LKR'|'LRD'|'LSL'|'LYD'|'MAD'|'MDL'|'MGA'|'MKD'|'MMK'|'MNT'|'MOP'|'MRU'|'MUR'|'MVR'|'MWK'|'MXN'|'MXV'|'MYR'|'MZN'|'NAD'|'NGN'|'NIO'|'NOK'|'NPR'|'OMR'|'PAB'|'PEN'|'PGK'|'PHP'|'PKR'|'PLN'|'PYG'|'QAR'|'RON'|'RSD'|'RUB'|'RWF'|'SAR'|'SBD'|'SCR'|'SDG'|'SGD'|'SHP'|'SLL'|'SOS'|'SRD'|'SSP'|'STN'|'SVC'|'SYP'|'SZL'|'THB'|'TJS'|'TMT'|'TND'|'TOP'|'TRY'|'TTD'|'TWD'|'TZS'|'UAH'|'UGX'|'USN'|'UYI'|'UYU'|'UZS'|'VEF'|'VND'|'VUV'|'WST'|'XAF'|'XCD'|'XDR'|'XOF'|'XPF'|'XSU'|'XUA'|'YER'|'ZAR'|'ZMW'|'ZWL', 'EstimationUrl': 'string', 'Frequency': 'Monthly', 'TargetCompany': 'string' }, ] } }, ] } **Response Structure** * *(dict) --* * **OpportunitySummaries** *(list) --* An array that contains minimal details for opportunities that match the request criteria. This summary view provides a quick overview of relevant opportunities. * *(dict) --* An object that contains an "Opportunity"'s subset of fields. * **Arn** *(string) --* The Amazon Resource Name (ARN) for the opportunity. This globally unique identifier can be used for IAM policies and cross-service references. * **Catalog** *(string) --* Specifies the catalog associated with the opportunity, either "AWS" or "Sandbox". This indicates the environment in which the opportunity is managed. * **CreatedDate** *(datetime) --* "DateTime" when the "Opportunity" was last created. * **Customer** *(dict) --* An object that contains the "Opportunity"'s customer details. * **Account** *(dict) --* An object that contains a customer's account details. * **Address** *(dict) --* Specifies the end "Customer"'s address details associated with the "Opportunity". * **City** *(string) --* Specifies the end "Customer"'s city associated with the "Opportunity". * **CountryCode** *(string) --* Specifies the end "Customer"'s country associated with the "Opportunity". * **PostalCode** *(string) --* Specifies the end "Customer"'s postal code associated with the "Opportunity". * **StateOrRegion** *(string) --* Specifies the end "Customer"'s state or region associated with the "Opportunity". Valid values: "Alabama | Alaska | American Samoa | Arizona | Arkansas | California | Colorado | Connecticut | Delaware | Dist. of Columbia | Federated States of Micronesia | Florida | Georgia | Guam | Hawaii | Idaho | Illinois | Indiana | Iowa | Kansas | Kentucky | Louisiana | Maine | Marshall Islands | Maryland | Massachusetts | Michigan | Minnesota | Mississippi | Missouri | Montana | Nebraska | Nevada | New Hampshire | New Jersey | New Mexico | New York | North Carolina | North Dakota | Northern Mariana Islands | Ohio | Oklahoma | Oregon | Palau | Pennsylvania | Puerto Rico | Rhode Island | South Carolina | South Dakota | Tennessee | Texas | Utah | Vermont | Virginia | Virgin Islands | Washington | West Virginia | Wisconsin | Wyoming | APO/AE | AFO/FPO | FPO, AP" * **CompanyName** *(string) --* Specifies the end "Customer"'s company name associated with the "Opportunity". * **Industry** *(string) --* Specifies which industry the end "Customer" belongs to associated with the "Opportunity". It refers to the category or sector that the customer's business operates in. To submit a value outside the picklist, use "Other". Conditionally mandatory if "Other" is selected for Industry Vertical in LOVs. * **OtherIndustry** *(string) --* Specifies the end "Customer"'s industry associated with the "Opportunity", when the selected value in the "Industry" field is "Other". This field is relevant when the customer's industry doesn't fall under the predefined picklist values and requires a custom description. * **WebsiteUrl** *(string) --* Specifies the end customer's company website URL associated with the "Opportunity". This value is crucial to map the customer within the Amazon Web Services CRM system. * **Id** *(string) --* Read-only, system-generated "Opportunity" unique identifier. * **LastModifiedDate** *(datetime) --* "DateTime" when the "Opportunity" was last modified. * **LifeCycle** *(dict) --* An object that contains the "Opportunity"'s lifecycle details. * **ClosedLostReason** *(string) --* Specifies the reason code when an opportunity is marked as *Closed Lost*. When you select an appropriate reason code, you communicate the context for closing the "Opportunity", and aid in accurate reports and analysis of opportunity outcomes. * **NextSteps** *(string) --* Specifies the upcoming actions or tasks for the "Opportunity". This field is utilized to communicate to Amazon Web Services the next actions required for the "Opportunity". * **ReviewComments** *(string) --* Indicates why an opportunity was sent back for further details. Partners must take corrective action based on the "ReviewComments". * **ReviewStatus** *(string) --* Indicates the review status of a partner referred opportunity. This field is read-only and only applicable for partner referrals. Valid values: * Pending Submission: Not submitted for validation (editable). * Submitted: Submitted for validation and not yet Amazon Web Services reviewed (read-only). * In Review: Undergoing Amazon Web Services validation (read-only). * Action Required: Address any issues Amazon Web Services highlights. Use the "UpdateOpportunity" API action to update the opportunity, and ensure you make all required changes. Only these fields are editable when the "Lifecycle.ReviewStatus" is "Action Required": * Customer.Account.Address.City * Customer.Account.Address.CountryCode * Customer.Account.Address.PostalCode * Customer.Account.Address.StateOrRegion * Customer.Account.Address.StreetAddress * Customer.Account.WebsiteUrl * LifeCycle.TargetCloseDate * Project.ExpectedCustomerSpend.Amount * Project.ExpectedCustomerSpend.CurrencyCode * Project.CustomerBusinessProblem * PartnerOpportunityIdentifier After updates, the opportunity re-enters the validation phase. This process repeats until all issues are resolved, and the opportunity's "Lifecycle.ReviewStatus" is set to "Approved" or "Rejected". * Approved: Validated and converted into the Amazon Web Services seller's pipeline (editable). * Rejected: Disqualified (read-only). * **ReviewStatusReason** *(string) --* Indicates the reason a specific decision was taken during the opportunity review process. This field combines the reasons for both disqualified and action required statuses, and provides clarity for why an opportunity was disqualified or required further action. * **Stage** *(string) --* Specifies the current stage of the "Opportunity"'s lifecycle as it maps to Amazon Web Services stages from the current stage in the partner CRM. This field provides a translated value of the stage, and offers insight into the "Opportunity"'s progression in the sales cycle, according to Amazon Web Services definitions. Note: A lead and a prospect must be further matured to a "Qualified" opportunity before submission. Opportunities that were closed/lost before submission aren't suitable for submission. The descriptions of each sales stage are: * Prospect: Amazon Web Services identifies the opportunity. It can be active (Comes directly from the end customer through a lead) or latent (Your account team believes it exists based on research, account plans, sales plays). * Qualified: Your account team engaged with the customer to discuss viability and understand requirements. The customer agreed that the opportunity is real, of interest, and may solve business/technical needs. * Technical Validation: All parties understand the implementation plan. * Business Validation: Pricing was proposed, and all parties agree to the steps to close. * Committed: The customer signed the contract, but Amazon Web Services hasn't started billing. * Launched: The workload is complete, and Amazon Web Services has started billing. * Closed Lost: The opportunity is lost, and there are no steps to move forward. * **TargetCloseDate** *(string) --* Specifies the date when Amazon Web Services expects to start significant billing, when the project finishes, and when it moves into production. This field informs the Amazon Web Services seller about when the opportunity launches and starts to incur Amazon Web Services usage. Ensure the "Target Close Date" isn't in the past. * **OpportunityType** *(string) --* Specifies opportunity type as a renewal, new, or expansion. Opportunity types: * New Opportunity: Represents a new business opportunity with a potential customer that's not previously engaged with your solutions or services. * Renewal Opportunity: Represents an opportunity to renew an existing contract or subscription with a current customer, ensuring continuity of service. * Expansion Opportunity: Represents an opportunity to expand the scope of an existing contract or subscription, either by adding new services or increasing the volume of existing services for a current customer. * **PartnerOpportunityIdentifier** *(string) --* Specifies the "Opportunity"'s unique identifier in the partner's CRM system. This value is essential to track and reconcile because it's included in the outbound payload sent back to the partner. It allows partners to link an opportunity to their CRM. * **Project** *(dict) --* An object that contains the "Opportunity"'s project details summary. * **DeliveryModels** *(list) --* Specifies your solution or service's deployment or consumption model in the "Opportunity"'s context. You can select multiple options. Options' descriptions from the "Delivery Model" field are: * SaaS or PaaS: Your Amazon Web Services based solution deployed as SaaS or PaaS in your Amazon Web Services environment. * BYOL or AMI: Your Amazon Web Services based solution deployed as BYOL or AMI in the end customer's Amazon Web Services environment. * Managed Services: The end customer's Amazon Web Services business management (For example: Consulting, design, implementation, billing support, cost optimization, technical support). * Professional Services: Offerings to help enterprise end customers achieve specific business outcomes for enterprise cloud adoption (For example: Advisory or transformation planning). * Resell: Amazon Web Services accounts and billing management for your customers. * Other: Delivery model not described above. * *(string) --* * **ExpectedCustomerSpend** *(list) --* Provides a summary of the expected customer spend for the project, offering a high-level view of the potential financial impact. * *(dict) --* Provides an estimate of the revenue that the partner is expected to generate from the opportunity. This information helps partners assess the financial value of the project. * **Amount** *(string) --* Represents the estimated monthly revenue that the partner expects to earn from the opportunity. This helps in forecasting financial returns. * **CurrencyCode** *(string) --* Indicates the currency in which the revenue estimate is provided. This helps in understanding the financial impact across different markets. * **EstimationUrl** *(string) --* A URL providing additional information or context about the spend estimation. * **Frequency** *(string) --* Indicates how frequently the customer is expected to spend the projected amount. This can include values such as "Monthly", "Quarterly", or "Annually". The default value is "Monthly", representing recurring monthly spend. * **TargetCompany** *(string) --* Specifies the name of the partner company that is expected to generate revenue from the opportunity. This field helps track the partner’s involvement in the opportunity. PartnerCentralSellingAPI / Paginator / ListEngagementInvitations ListEngagementInvitations ************************* class PartnerCentralSellingAPI.Paginator.ListEngagementInvitations paginator = client.get_paginator('list_engagement_invitations') paginate(**kwargs) Creates an iterator that will paginate through responses from "PartnerCentralSellingAPI.Client.list_engagement_invitations()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( Catalog='string', EngagementIdentifier=[ 'string', ], ParticipantType='SENDER'|'RECEIVER', PayloadType=[ 'OpportunityInvitation', ], SenderAwsAccountId=[ 'string', ], Sort={ 'SortBy': 'InvitationDate', 'SortOrder': 'ASCENDING'|'DESCENDING' }, Status=[ 'ACCEPTED'|'PENDING'|'REJECTED'|'EXPIRED', ], PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog from which to list the engagement invitations. Use "AWS" for production invitations or "Sandbox" for testing environments. * **EngagementIdentifier** (*list*) -- Retrieves a list of engagement invitation summaries based on specified filters. The ListEngagementInvitations operation allows you to view all invitations that you have sent or received. You must specify the ParticipantType to filter invitations where you are either the SENDER or the RECEIVER. Invitations will automatically expire if not accepted within 15 days. * *(string) --* * **ParticipantType** (*string*) -- **[REQUIRED]** Specifies the type of participant for which to list engagement invitations. Identifies the role of the participant. * **PayloadType** (*list*) -- Defines the type of payload associated with the engagement invitations to be listed. The attributes in this payload help decide on acceptance or rejection of the invitation. * *(string) --* * **SenderAwsAccountId** (*list*) -- List of sender AWS account IDs to filter the invitations. * *(string) --* * **Sort** (*dict*) -- Specifies the sorting options for listing engagement invitations. Invitations can be sorted by fields such as "InvitationDate" or "Status" to help partners view results in their preferred order. * **SortBy** *(string) --* **[REQUIRED]** Specifies the field by which the Engagement Invitations are sorted. Common values include "InvitationDate" and "Status". * **SortOrder** *(string) --* **[REQUIRED]** Defines the order in which the Engagement Invitations are sorted. The values can be "ASC" (ascending) or "DESC" (descending). * **Status** (*list*) -- Status values to filter the invitations. * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'EngagementInvitationSummaries': [ { 'Arn': 'string', 'Catalog': 'string', 'EngagementId': 'string', 'EngagementTitle': 'string', 'ExpirationDate': datetime(2015, 1, 1), 'Id': 'string', 'InvitationDate': datetime(2015, 1, 1), 'ParticipantType': 'SENDER'|'RECEIVER', 'PayloadType': 'OpportunityInvitation', 'Receiver': { 'Account': { 'Alias': 'string', 'AwsAccountId': 'string' } }, 'SenderAwsAccountId': 'string', 'SenderCompanyName': 'string', 'Status': 'ACCEPTED'|'PENDING'|'REJECTED'|'EXPIRED' }, ], } **Response Structure** * *(dict) --* * **EngagementInvitationSummaries** *(list) --* An array containing summaries of engagement invitations. Each summary includes information such as the invitation title, invitation date, and the current status of the invitation. * *(dict) --* Provides a summarized view of the Engagement Invitation, including details like the identifier, status, and sender. This summary helps partners track and manage AWS originated opportunities. * **Arn** *(string) --* The Amazon Resource Name (ARN) of the Engagement Invitation. The ARN is a unique identifier that allows partners to reference the invitation in their system and manage its lifecycle. * **Catalog** *(string) --* Specifies the catalog in which the Engagement Invitation resides. This can be either the "AWS" or "Sandbox" catalog, indicating whether the opportunity is live or being tested. * **EngagementId** *(string) --* The identifier of the Engagement associated with this invitation. This links the invitation to its parent Engagement. * **EngagementTitle** *(string) --* Provides a short title or description of the Engagement Invitation. This title helps partners quickly identify and differentiate between multiple engagement opportunities. * **ExpirationDate** *(datetime) --* Indicates the date and time when the Engagement Invitation will expire. After this date, the invitation can no longer be accepted, and the opportunity will be unavailable to the partner. * **Id** *(string) --* Represents the unique identifier of the Engagement Invitation. This identifier is used to track the invitation and to manage responses like acceptance or rejection. * **InvitationDate** *(datetime) --* Indicates the date when the Engagement Invitation was sent to the partner. This provides context for when the opportunity was shared and helps in tracking the timeline for engagement. * **ParticipantType** *(string) --* Identifies the role of the caller in the engagement invitation. * **PayloadType** *(string) --* Describes the type of payload associated with the Engagement Invitation, such as "Opportunity" or "MarketplaceOffer". This helps partners understand the nature of the engagement request from AWS. * **Receiver** *(dict) --* Specifies the partner company or individual that received the Engagement Invitation. This field is important for tracking who the invitation was sent to within the partner organization. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "Account". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **Account** *(dict) --* Specifies the AWS account of the partner who received the Engagement Invitation. This field is used to track the invitation recipient within the AWS ecosystem. * **Alias** *(string) --* Represents the alias of the partner account receiving the Engagement Invitation, making it easier to identify and track the recipient in reports or logs. * **AwsAccountId** *(string) --* Indicates the AWS account ID of the partner who received the Engagement Invitation. This is a unique identifier for managing engagements with specific AWS accounts. * **SenderAwsAccountId** *(string) --* Specifies the AWS account ID of the sender who initiated the Engagement Invitation. This allows the partner to identify the AWS entity or representative responsible for sharing the opportunity. * **SenderCompanyName** *(string) --* Indicates the name of the company or AWS division that sent the Engagement Invitation. This information is useful for partners to know which part of AWS is requesting engagement. * **Status** *(string) --* Represents the current status of the Engagement Invitation, such as "Pending", "Accepted", or "Rejected". The status helps track the progress and response to the invitation. PartnerCentralSellingAPI / Client / create_engagement create_engagement ***************** PartnerCentralSellingAPI.Client.create_engagement(**kwargs) The "CreateEngagement" action allows you to create an "Engagement", which serves as a collaborative space between different parties such as AWS Partners and AWS Sellers. This action automatically adds the caller's AWS account as an active member of the newly created "Engagement". See also: AWS API Documentation **Request Syntax** response = client.create_engagement( Catalog='string', ClientToken='string', Contexts=[ { 'Payload': { 'CustomerProject': { 'Customer': { 'CompanyName': 'string', 'CountryCode': 'US'|'AF'|'AX'|'AL'|'DZ'|'AS'|'AD'|'AO'|'AI'|'AQ'|'AG'|'AR'|'AM'|'AW'|'AU'|'AT'|'AZ'|'BS'|'BH'|'BD'|'BB'|'BY'|'BE'|'BZ'|'BJ'|'BM'|'BT'|'BO'|'BQ'|'BA'|'BW'|'BV'|'BR'|'IO'|'BN'|'BG'|'BF'|'BI'|'KH'|'CM'|'CA'|'CV'|'KY'|'CF'|'TD'|'CL'|'CN'|'CX'|'CC'|'CO'|'KM'|'CG'|'CK'|'CR'|'CI'|'HR'|'CU'|'CW'|'CY'|'CZ'|'CD'|'DK'|'DJ'|'DM'|'DO'|'EC'|'EG'|'SV'|'GQ'|'ER'|'EE'|'ET'|'FK'|'FO'|'FJ'|'FI'|'FR'|'GF'|'PF'|'TF'|'GA'|'GM'|'GE'|'DE'|'GH'|'GI'|'GR'|'GL'|'GD'|'GP'|'GU'|'GT'|'GG'|'GN'|'GW'|'GY'|'HT'|'HM'|'VA'|'HN'|'HK'|'HU'|'IS'|'IN'|'ID'|'IR'|'IQ'|'IE'|'IM'|'IL'|'IT'|'JM'|'JP'|'JE'|'JO'|'KZ'|'KE'|'KI'|'KR'|'KW'|'KG'|'LA'|'LV'|'LB'|'LS'|'LR'|'LY'|'LI'|'LT'|'LU'|'MO'|'MK'|'MG'|'MW'|'MY'|'MV'|'ML'|'MT'|'MH'|'MQ'|'MR'|'MU'|'YT'|'MX'|'FM'|'MD'|'MC'|'MN'|'ME'|'MS'|'MA'|'MZ'|'MM'|'NA'|'NR'|'NP'|'NL'|'AN'|'NC'|'NZ'|'NI'|'NE'|'NG'|'NU'|'NF'|'MP'|'NO'|'OM'|'PK'|'PW'|'PS'|'PA'|'PG'|'PY'|'PE'|'PH'|'PN'|'PL'|'PT'|'PR'|'QA'|'RE'|'RO'|'RU'|'RW'|'BL'|'SH'|'KN'|'LC'|'MF'|'PM'|'VC'|'WS'|'SM'|'ST'|'SA'|'SN'|'RS'|'SC'|'SL'|'SG'|'SX'|'SK'|'SI'|'SB'|'SO'|'ZA'|'GS'|'SS'|'ES'|'LK'|'SD'|'SR'|'SJ'|'SZ'|'SE'|'CH'|'SY'|'TW'|'TJ'|'TZ'|'TH'|'TL'|'TG'|'TK'|'TO'|'TT'|'TN'|'TR'|'TM'|'TC'|'TV'|'UG'|'UA'|'AE'|'GB'|'UM'|'UY'|'UZ'|'VU'|'VE'|'VN'|'VG'|'VI'|'WF'|'EH'|'YE'|'ZM'|'ZW', 'Industry': 'Aerospace'|'Agriculture'|'Automotive'|'Computers and Electronics'|'Consumer Goods'|'Education'|'Energy - Oil and Gas'|'Energy - Power and Utilities'|'Financial Services'|'Gaming'|'Government'|'Healthcare'|'Hospitality'|'Life Sciences'|'Manufacturing'|'Marketing and Advertising'|'Media and Entertainment'|'Mining'|'Non-Profit Organization'|'Professional Services'|'Real Estate and Construction'|'Retail'|'Software and Internet'|'Telecommunications'|'Transportation and Logistics'|'Travel'|'Wholesale and Distribution'|'Other', 'WebsiteUrl': 'string' }, 'Project': { 'BusinessProblem': 'string', 'TargetCompletionDate': 'string', 'Title': 'string' } } }, 'Type': 'CustomerProject' }, ], Description='string', Title='string' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** The "CreateEngagementRequest$Catalog" parameter specifies the catalog related to the engagement. Accepted values are "AWS" and "Sandbox", which determine the environment in which the engagement is managed. * **ClientToken** (*string*) -- **[REQUIRED]** The "CreateEngagementRequest$ClientToken" parameter specifies a unique, case-sensitive identifier to ensure that the request is handled exactly once. The value must not exceed sixty-four alphanumeric characters. This field is autopopulated if not provided. * **Contexts** (*list*) -- The "Contexts" field is a required array of objects, with a maximum of 5 contexts allowed, specifying detailed information about customer projects associated with the Engagement. Each context object contains a "Type" field indicating the context type, which must be "CustomerProject" in this version, and a "Payload" field containing the "CustomerProject" details. The "CustomerProject" object is composed of two main components: "Customer" and "Project". The "Customer" object includes information such as "CompanyName", "WebsiteUrl", "Industry", and "CountryCode", providing essential details about the customer. The "Project" object contains "Title", "BusinessProblem", and "TargetCompletionDate", offering insights into the specific project associated with the customer. This structure allows comprehensive context to be included within the Engagement, facilitating effective collaboration between parties by providing relevant customer and project information. * *(dict) --* Provides detailed context information for an Engagement. This structure allows for specifying the type of context and its associated payload. * **Payload** *(dict) --* Contains the specific details of the Engagement context. The structure of this payload varies depending on the Type field. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "CustomerProject". * **CustomerProject** *(dict) --* Contains detailed information about a customer project when the context type is "CustomerProject". This field is present only when the Type in EngagementContextDetails is set to "CustomerProject". * **Customer** *(dict) --* Contains details about the customer associated with the Engagement Invitation, including company information and industry. * **CompanyName** *(string) --* **[REQUIRED]** Represents the name of the customer’s company associated with the Engagement Invitation. This field is used to identify the customer. * **CountryCode** *(string) --* **[REQUIRED]** Indicates the country in which the customer’s company operates. This field is useful for understanding regional requirements or compliance needs. * **Industry** *(string) --* **[REQUIRED]** Specifies the industry to which the customer’s company belongs. This field helps categorize the opportunity based on the customer’s business sector. * **WebsiteUrl** *(string) --* **[REQUIRED]** Provides the website URL of the customer’s company. This field helps partners verify the legitimacy and size of the customer organization. * **Project** *(dict) --* Information about the customer project associated with the Engagement. * **BusinessProblem** *(string) --* **[REQUIRED]** A description of the business problem the project aims to solve. * **TargetCompletionDate** *(string) --* **[REQUIRED]** The target completion date for the customer's project. * **Title** *(string) --* **[REQUIRED]** The title of the project. * **Type** *(string) --* **[REQUIRED]** Specifies the type of Engagement context. Valid values are "CustomerProject" or "Document", indicating whether the context relates to a customer project or a document respectively. * **Description** (*string*) -- **[REQUIRED]** Provides a description of the "Engagement". * **Title** (*string*) -- **[REQUIRED]** Specifies the title of the "Engagement". Return type: dict Returns: **Response Syntax** { 'Arn': 'string', 'Id': 'string' } **Response Structure** * *(dict) --* * **Arn** *(string) --* The Amazon Resource Name (ARN) that identifies the engagement. * **Id** *(string) --* Unique identifier assigned to the newly created engagement. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ConflictException" * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ServiceQuotaExceeded Exception" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / get_resource_snapshot_job get_resource_snapshot_job ************************* PartnerCentralSellingAPI.Client.get_resource_snapshot_job(**kwargs) Use this action to retrieves information about a specific resource snapshot job. See also: AWS API Documentation **Request Syntax** response = client.get_resource_snapshot_job( Catalog='string', ResourceSnapshotJobIdentifier='string' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the request. Valid values are: * AWS: Retrieves the snapshot job from the production AWS environment. * Sandbox: Retrieves the snapshot job from a sandbox environment used for testing or development purposes. * **ResourceSnapshotJobIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the resource snapshot job to be retrieved. This identifier is crucial for pinpointing the specific job you want to query. Return type: dict Returns: **Response Syntax** { 'Arn': 'string', 'Catalog': 'string', 'CreatedAt': datetime(2015, 1, 1), 'EngagementId': 'string', 'Id': 'string', 'LastFailure': 'string', 'LastSuccessfulExecutionDate': datetime(2015, 1, 1), 'ResourceArn': 'string', 'ResourceId': 'string', 'ResourceSnapshotTemplateName': 'string', 'ResourceType': 'Opportunity', 'Status': 'Running'|'Stopped' } **Response Structure** * *(dict) --* * **Arn** *(string) --* The Amazon Resource Name (ARN) of the snapshot job. This globally unique identifier can be used for resource-specific operations across AWS services. * **Catalog** *(string) --* The catalog in which the snapshot job was created. This will match the Catalog specified in the request. * **CreatedAt** *(datetime) --* The date and time when the snapshot job was created in ISO 8601 format (UTC). Example: "2023-05-01T20:37:46Z" * **EngagementId** *(string) --* The identifier of the engagement associated with this snapshot job. This links the job to a specific engagement context. * **Id** *(string) --* The unique identifier of the snapshot job. This matches the ResourceSnapshotJobIdentifier provided in the request. * **LastFailure** *(string) --* If the job has encountered any failures, this field contains the error message from the most recent failure. This can be useful for troubleshooting issues with the job. * **LastSuccessfulExecutionDate** *(datetime) --* The date and time of the last successful execution of the job, in ISO 8601 format (UTC). Example: "2023-05-01T20:37:46Z" * **ResourceArn** *(string) --* The Amazon Resource Name (ARN) of the resource being snapshotted. This provides a globally unique identifier for the resource across AWS. * **ResourceId** *(string) --* The identifier of the specific resource being snapshotted. The format might vary depending on the ResourceType. * **ResourceSnapshotTemplateName** *(string) --* The name of the template used for creating the snapshot. This is the same as the template name. It defines the structure and content of the snapshot. * **ResourceType** *(string) --* The type of resource being snapshotted. This would have "Opportunity" as a value as it is dependent on the supported resource type. * **Status** *(string) --* The current status of the snapshot job. Valid values: * STOPPED: The job is not currently running. * RUNNING: The job is actively executing. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / create_resource_snapshot create_resource_snapshot ************************ PartnerCentralSellingAPI.Client.create_resource_snapshot(**kwargs) This action allows you to create an immutable snapshot of a specific resource, such as an opportunity, within the context of an engagement. The snapshot captures a subset of the resource's data based on the schema defined by the provided template. See also: AWS API Documentation **Request Syntax** response = client.create_resource_snapshot( Catalog='string', ClientToken='string', EngagementIdentifier='string', ResourceIdentifier='string', ResourceSnapshotTemplateIdentifier='string', ResourceType='Opportunity' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog where the snapshot is created. Valid values are "AWS" and "Sandbox". * **ClientToken** (*string*) -- **[REQUIRED]** Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. This token helps prevent duplicate snapshot creations. This field is autopopulated if not provided. * **EngagementIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the engagement associated with this snapshot. This field links the snapshot to a specific engagement context. * **ResourceIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the specific resource to be snapshotted. The format and constraints of this identifier depend on the "ResourceType" specified. For example: For "Opportunity" type, it will be an opportunity ID. * **ResourceSnapshotTemplateIdentifier** (*string*) -- **[REQUIRED]** The name of the template that defines the schema for the snapshot. This template determines which subset of the resource data will be included in the snapshot. Must correspond to an existing and valid template for the specified "ResourceType". * **ResourceType** (*string*) -- **[REQUIRED]** Specifies the type of resource for which the snapshot is being created. This field determines the structure and content of the snapshot. Must be one of the supported resource types, such as: "Opportunity". Return type: dict Returns: **Response Syntax** { 'Arn': 'string', 'Revision': 123 } **Response Structure** * *(dict) --* * **Arn** *(string) --* Specifies the Amazon Resource Name (ARN) that uniquely identifies the snapshot created. * **Revision** *(integer) --* Specifies the revision number of the created snapshot. This field provides important information about the snapshot's place in the sequence of snapshots for the given resource. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ConflictException" * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ServiceQuotaExceeded Exception" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / accept_engagement_invitation accept_engagement_invitation **************************** PartnerCentralSellingAPI.Client.accept_engagement_invitation(**kwargs) Use the "AcceptEngagementInvitation" action to accept an engagement invitation shared by AWS. Accepting the invitation indicates your willingness to participate in the engagement, granting you access to all engagement-related data. See also: AWS API Documentation **Request Syntax** response = client.accept_engagement_invitation( Catalog='string', Identifier='string' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** The "CatalogType" parameter specifies the catalog associated with the engagement invitation. Accepted values are "AWS" and "Sandbox", which determine the environment in which the engagement invitation is managed. * **Identifier** (*string*) -- **[REQUIRED]** The "Identifier" parameter in the "AcceptEngagementInvitationRequest" specifies the unique identifier of the "EngagementInvitation" to be accepted. Providing the correct identifier ensures that the intended invitation is accepted. Returns: None **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ConflictException" * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / get_paginator get_paginator ************* PartnerCentralSellingAPI.Client.get_paginator(operation_name) Create a paginator for an operation. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Raises: **OperationNotPageableError** -- Raised if the operation is not pageable. You can use the "client.can_paginate" method to check if an operation is pageable. Return type: "botocore.paginate.Paginator" Returns: A paginator object. PartnerCentralSellingAPI / Client / can_paginate can_paginate ************ PartnerCentralSellingAPI.Client.can_paginate(operation_name) Check if an operation can be paginated. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Returns: "True" if the operation can be paginated, "False" otherwise. PartnerCentralSellingAPI / Client / list_resource_snapshots list_resource_snapshots *********************** PartnerCentralSellingAPI.Client.list_resource_snapshots(**kwargs) Retrieves a list of resource view snapshots based on specified criteria. This operation supports various use cases, including: * Fetching all snapshots associated with an engagement. * Retrieving snapshots of a specific resource type within an engagement. * Obtaining snapshots for a particular resource using a specified template. * Accessing the latest snapshot of a resource within an engagement. * Filtering snapshots by resource owner. See also: AWS API Documentation **Request Syntax** response = client.list_resource_snapshots( Catalog='string', CreatedBy='string', EngagementIdentifier='string', MaxResults=123, NextToken='string', ResourceIdentifier='string', ResourceSnapshotTemplateIdentifier='string', ResourceType='Opportunity' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the request. * **CreatedBy** (*string*) -- Filters the response to include only snapshots of resources owned by the specified AWS account. * **EngagementIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the engagement associated with the snapshots. * **MaxResults** (*integer*) -- The maximum number of results to return in a single call. * **NextToken** (*string*) -- The token for the next set of results. * **ResourceIdentifier** (*string*) -- Filters the response to include only snapshots of the specified resource. * **ResourceSnapshotTemplateIdentifier** (*string*) -- Filters the response to include only snapshots created using the specified template. * **ResourceType** (*string*) -- Filters the response to include only snapshots of the specified resource type. Return type: dict Returns: **Response Syntax** { 'NextToken': 'string', 'ResourceSnapshotSummaries': [ { 'Arn': 'string', 'CreatedBy': 'string', 'ResourceId': 'string', 'ResourceSnapshotTemplateName': 'string', 'ResourceType': 'Opportunity', 'Revision': 123 }, ] } **Response Structure** * *(dict) --* * **NextToken** *(string) --* The token to retrieve the next set of results. If there are no additional results, this value is null. * **ResourceSnapshotSummaries** *(list) --* An array of resource snapshot summary objects. * *(dict) --* Provides a concise summary of a resource snapshot, including its unique identifier and version information. This structure is used to quickly reference and identify specific versions of resource snapshots. * **Arn** *(string) --* The Amazon Resource Name (ARN) of the snapshot. This globally unique identifier can be used for cross-service references and in IAM policies. * **CreatedBy** *(string) --* The AWS account ID of the entity that owns the resource from which the snapshot was created. * **ResourceId** *(string) --* The identifier of the specific resource snapshotted. The format might vary depending on the ResourceType. * **ResourceSnapshotTemplateName** *(string) --* The name of the template used to create the snapshot. * **ResourceType** *(string) --* The type of resource snapshotted. * **Revision** *(integer) --* The revision number of the snapshot. This integer value is incremented each time the snapshot is updated, allowing for version tracking of the resource snapshot. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / get_engagement_invitation get_engagement_invitation ************************* PartnerCentralSellingAPI.Client.get_engagement_invitation(**kwargs) Retrieves the details of an engagement invitation shared by AWS with a partner. The information includes aspects such as customer, project details, and lifecycle information. To connect an engagement invitation with an opportunity, match the invitation’s "Payload.Project.Title" with opportunity "Project.Title". See also: AWS API Documentation **Request Syntax** response = client.get_engagement_invitation( Catalog='string', Identifier='string' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog associated with the request. The field accepts values from the predefined set: "AWS" for live operations or "Sandbox" for testing environments. * **Identifier** (*string*) -- **[REQUIRED]** Specifies the unique identifier for the retrieved engagement invitation. Return type: dict Returns: **Response Syntax** { 'Arn': 'string', 'Catalog': 'string', 'EngagementDescription': 'string', 'EngagementId': 'string', 'EngagementTitle': 'string', 'ExistingMembers': [ { 'CompanyName': 'string', 'WebsiteUrl': 'string' }, ], 'ExpirationDate': datetime(2015, 1, 1), 'Id': 'string', 'InvitationDate': datetime(2015, 1, 1), 'InvitationMessage': 'string', 'Payload': { 'OpportunityInvitation': { 'Customer': { 'CompanyName': 'string', 'CountryCode': 'US'|'AF'|'AX'|'AL'|'DZ'|'AS'|'AD'|'AO'|'AI'|'AQ'|'AG'|'AR'|'AM'|'AW'|'AU'|'AT'|'AZ'|'BS'|'BH'|'BD'|'BB'|'BY'|'BE'|'BZ'|'BJ'|'BM'|'BT'|'BO'|'BQ'|'BA'|'BW'|'BV'|'BR'|'IO'|'BN'|'BG'|'BF'|'BI'|'KH'|'CM'|'CA'|'CV'|'KY'|'CF'|'TD'|'CL'|'CN'|'CX'|'CC'|'CO'|'KM'|'CG'|'CK'|'CR'|'CI'|'HR'|'CU'|'CW'|'CY'|'CZ'|'CD'|'DK'|'DJ'|'DM'|'DO'|'EC'|'EG'|'SV'|'GQ'|'ER'|'EE'|'ET'|'FK'|'FO'|'FJ'|'FI'|'FR'|'GF'|'PF'|'TF'|'GA'|'GM'|'GE'|'DE'|'GH'|'GI'|'GR'|'GL'|'GD'|'GP'|'GU'|'GT'|'GG'|'GN'|'GW'|'GY'|'HT'|'HM'|'VA'|'HN'|'HK'|'HU'|'IS'|'IN'|'ID'|'IR'|'IQ'|'IE'|'IM'|'IL'|'IT'|'JM'|'JP'|'JE'|'JO'|'KZ'|'KE'|'KI'|'KR'|'KW'|'KG'|'LA'|'LV'|'LB'|'LS'|'LR'|'LY'|'LI'|'LT'|'LU'|'MO'|'MK'|'MG'|'MW'|'MY'|'MV'|'ML'|'MT'|'MH'|'MQ'|'MR'|'MU'|'YT'|'MX'|'FM'|'MD'|'MC'|'MN'|'ME'|'MS'|'MA'|'MZ'|'MM'|'NA'|'NR'|'NP'|'NL'|'AN'|'NC'|'NZ'|'NI'|'NE'|'NG'|'NU'|'NF'|'MP'|'NO'|'OM'|'PK'|'PW'|'PS'|'PA'|'PG'|'PY'|'PE'|'PH'|'PN'|'PL'|'PT'|'PR'|'QA'|'RE'|'RO'|'RU'|'RW'|'BL'|'SH'|'KN'|'LC'|'MF'|'PM'|'VC'|'WS'|'SM'|'ST'|'SA'|'SN'|'RS'|'SC'|'SL'|'SG'|'SX'|'SK'|'SI'|'SB'|'SO'|'ZA'|'GS'|'SS'|'ES'|'LK'|'SD'|'SR'|'SJ'|'SZ'|'SE'|'CH'|'SY'|'TW'|'TJ'|'TZ'|'TH'|'TL'|'TG'|'TK'|'TO'|'TT'|'TN'|'TR'|'TM'|'TC'|'TV'|'UG'|'UA'|'AE'|'GB'|'UM'|'UY'|'UZ'|'VU'|'VE'|'VN'|'VG'|'VI'|'WF'|'EH'|'YE'|'ZM'|'ZW', 'Industry': 'Aerospace'|'Agriculture'|'Automotive'|'Computers and Electronics'|'Consumer Goods'|'Education'|'Energy - Oil and Gas'|'Energy - Power and Utilities'|'Financial Services'|'Gaming'|'Government'|'Healthcare'|'Hospitality'|'Life Sciences'|'Manufacturing'|'Marketing and Advertising'|'Media and Entertainment'|'Mining'|'Non-Profit Organization'|'Professional Services'|'Real Estate and Construction'|'Retail'|'Software and Internet'|'Telecommunications'|'Transportation and Logistics'|'Travel'|'Wholesale and Distribution'|'Other', 'WebsiteUrl': 'string' }, 'Project': { 'BusinessProblem': 'string', 'ExpectedCustomerSpend': [ { 'Amount': 'string', 'CurrencyCode': 'USD'|'EUR'|'GBP'|'AUD'|'CAD'|'CNY'|'NZD'|'INR'|'JPY'|'CHF'|'SEK'|'AED'|'AFN'|'ALL'|'AMD'|'ANG'|'AOA'|'ARS'|'AWG'|'AZN'|'BAM'|'BBD'|'BDT'|'BGN'|'BHD'|'BIF'|'BMD'|'BND'|'BOB'|'BOV'|'BRL'|'BSD'|'BTN'|'BWP'|'BYN'|'BZD'|'CDF'|'CHE'|'CHW'|'CLF'|'CLP'|'COP'|'COU'|'CRC'|'CUC'|'CUP'|'CVE'|'CZK'|'DJF'|'DKK'|'DOP'|'DZD'|'EGP'|'ERN'|'ETB'|'FJD'|'FKP'|'GEL'|'GHS'|'GIP'|'GMD'|'GNF'|'GTQ'|'GYD'|'HKD'|'HNL'|'HRK'|'HTG'|'HUF'|'IDR'|'ILS'|'IQD'|'IRR'|'ISK'|'JMD'|'JOD'|'KES'|'KGS'|'KHR'|'KMF'|'KPW'|'KRW'|'KWD'|'KYD'|'KZT'|'LAK'|'LBP'|'LKR'|'LRD'|'LSL'|'LYD'|'MAD'|'MDL'|'MGA'|'MKD'|'MMK'|'MNT'|'MOP'|'MRU'|'MUR'|'MVR'|'MWK'|'MXN'|'MXV'|'MYR'|'MZN'|'NAD'|'NGN'|'NIO'|'NOK'|'NPR'|'OMR'|'PAB'|'PEN'|'PGK'|'PHP'|'PKR'|'PLN'|'PYG'|'QAR'|'RON'|'RSD'|'RUB'|'RWF'|'SAR'|'SBD'|'SCR'|'SDG'|'SGD'|'SHP'|'SLL'|'SOS'|'SRD'|'SSP'|'STN'|'SVC'|'SYP'|'SZL'|'THB'|'TJS'|'TMT'|'TND'|'TOP'|'TRY'|'TTD'|'TWD'|'TZS'|'UAH'|'UGX'|'USN'|'UYI'|'UYU'|'UZS'|'VEF'|'VND'|'VUV'|'WST'|'XAF'|'XCD'|'XDR'|'XOF'|'XPF'|'XSU'|'XUA'|'YER'|'ZAR'|'ZMW'|'ZWL', 'EstimationUrl': 'string', 'Frequency': 'Monthly', 'TargetCompany': 'string' }, ], 'TargetCompletionDate': 'string', 'Title': 'string' }, 'ReceiverResponsibilities': [ 'Distributor'|'Reseller'|'Hardware Partner'|'Managed Service Provider'|'Software Partner'|'Services Partner'|'Training Partner'|'Co-Sell Facilitator'|'Facilitator', ], 'SenderContacts': [ { 'BusinessTitle': 'string', 'Email': 'string', 'FirstName': 'string', 'LastName': 'string', 'Phone': 'string' }, ] } }, 'PayloadType': 'OpportunityInvitation', 'Receiver': { 'Account': { 'Alias': 'string', 'AwsAccountId': 'string' } }, 'RejectionReason': 'string', 'SenderAwsAccountId': 'string', 'SenderCompanyName': 'string', 'Status': 'ACCEPTED'|'PENDING'|'REJECTED'|'EXPIRED' } **Response Structure** * *(dict) --* * **Arn** *(string) --* The Amazon Resource Name (ARN) that identifies the engagement invitation. * **Catalog** *(string) --* Indicates the catalog from which the engagement invitation details are retrieved. This field helps in identifying the appropriate catalog (e.g., "AWS" or "Sandbox") used in the request. * **EngagementDescription** *(string) --* The description of the engagement associated with this invitation. * **EngagementId** *(string) --* The identifier of the engagement associated with this invitation.This ID links the invitation to its corresponding engagement. * **EngagementTitle** *(string) --* The title of the engagement invitation, summarizing the purpose or objectives of the opportunity shared by AWS. * **ExistingMembers** *(list) --* A list of active members currently part of the Engagement. This array contains a maximum of 10 members, each represented by an object with the following properties. * CompanyName: The name of the member's company. * WebsiteUrl: The website URL of the member's company. * *(dict) --* The EngagementMemberSummary provides a snapshot of essential information about participants in an AWS Partner Central Engagement. This compact data structure encapsulates key details of each member, facilitating efficient collaboration and management within the Engagement. * **CompanyName** *(string) --* The official name of the member's company or organization. * **WebsiteUrl** *(string) --* The URL of the member company's website. This offers a way to find more information about the member organization and serves as an additional identifier. * **ExpirationDate** *(datetime) --* Indicates the date on which the engagement invitation will expire if not accepted by the partner. * **Id** *(string) --* Unique identifier assigned to the engagement invitation being retrieved. * **InvitationDate** *(datetime) --* The date when the engagement invitation was sent to the partner. * **InvitationMessage** *(string) --* The message sent to the invited partner when the invitation was created. * **Payload** *(dict) --* Details of the engagement invitation payload, including specific data relevant to the invitation's contents, such as customer information and opportunity insights. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "OpportunityInvitation". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **OpportunityInvitation** *(dict) --* Specifies the details of the opportunity invitation within the Engagement Invitation payload. This data helps partners understand the context, scope, and expected involvement for the opportunity from AWS. * **Customer** *(dict) --* Contains information about the customer related to the opportunity in the Engagement Invitation. This data helps partners understand the customer’s profile and requirements. * **CompanyName** *(string) --* Represents the name of the customer’s company associated with the Engagement Invitation. This field is used to identify the customer. * **CountryCode** *(string) --* Indicates the country in which the customer’s company operates. This field is useful for understanding regional requirements or compliance needs. * **Industry** *(string) --* Specifies the industry to which the customer’s company belongs. This field helps categorize the opportunity based on the customer’s business sector. * **WebsiteUrl** *(string) --* Provides the website URL of the customer’s company. This field helps partners verify the legitimacy and size of the customer organization. * **Project** *(dict) --* Describes the project details associated with the opportunity, including the customer’s needs and the scope of work expected to be performed. * **BusinessProblem** *(string) --* Describes the business problem that the project aims to solve. This information is crucial for understanding the project’s goals and objectives. * **ExpectedCustomerSpend** *(list) --* Contains revenue estimates for the partner related to the project. This field provides an idea of the financial potential of the opportunity for the partner. * *(dict) --* Provides an estimate of the revenue that the partner is expected to generate from the opportunity. This information helps partners assess the financial value of the project. * **Amount** *(string) --* Represents the estimated monthly revenue that the partner expects to earn from the opportunity. This helps in forecasting financial returns. * **CurrencyCode** *(string) --* Indicates the currency in which the revenue estimate is provided. This helps in understanding the financial impact across different markets. * **EstimationUrl** *(string) --* A URL providing additional information or context about the spend estimation. * **Frequency** *(string) --* Indicates how frequently the customer is expected to spend the projected amount. This can include values such as "Monthly", "Quarterly", or "Annually". The default value is "Monthly", representing recurring monthly spend. * **TargetCompany** *(string) --* Specifies the name of the partner company that is expected to generate revenue from the opportunity. This field helps track the partner’s involvement in the opportunity. * **TargetCompletionDate** *(string) --* Specifies the estimated date of project completion. This field helps track the project timeline and manage expectations. * **Title** *(string) --* Specifies the title of the project. This title helps partners quickly identify and understand the focus of the project. * **ReceiverResponsibilities** *(list) --* Outlines the responsibilities or expectations of the receiver in the context of the invitation. * *(string) --* * **SenderContacts** *(list) --* Represents the contact details of the AWS representatives involved in sending the Engagement Invitation. These contacts are opportunity stakeholders. * *(dict) --* An object that contains the details of the sender- provided contact person for the "EngagementInvitation". * **BusinessTitle** *(string) --* The sender-provided contact's title (job title or role) associated with the "EngagementInvitation". * **Email** *(string) --* The sender-provided contact's email address associated with the "EngagementInvitation". * **FirstName** *(string) --* The sender-provided contact's last name associated with the "EngagementInvitation". * **LastName** *(string) --* The sender-provided contact's first name associated with the "EngagementInvitation". * **Phone** *(string) --* The sender-provided contact's phone number associated with the "EngagementInvitation". * **PayloadType** *(string) --* The type of payload contained in the engagement invitation, indicating what data or context the payload covers. * **Receiver** *(dict) --* Information about the partner organization or team that received the engagement invitation, including contact details and identifiers. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "Account". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **Account** *(dict) --* Specifies the AWS account of the partner who received the Engagement Invitation. This field is used to track the invitation recipient within the AWS ecosystem. * **Alias** *(string) --* Represents the alias of the partner account receiving the Engagement Invitation, making it easier to identify and track the recipient in reports or logs. * **AwsAccountId** *(string) --* Indicates the AWS account ID of the partner who received the Engagement Invitation. This is a unique identifier for managing engagements with specific AWS accounts. * **RejectionReason** *(string) --* If the engagement invitation was rejected, this field specifies the reason provided by the partner for the rejection. * **SenderAwsAccountId** *(string) --* Specifies the AWS Account ID of the sender, which identifies the AWS team responsible for sharing the engagement invitation. * **SenderCompanyName** *(string) --* The name of the AWS organization or team that sent the engagement invitation. * **Status** *(string) --* The current status of the engagement invitation. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / assign_opportunity assign_opportunity ****************** PartnerCentralSellingAPI.Client.assign_opportunity(**kwargs) Enables you to reassign an existing "Opportunity" to another user within your Partner Central account. The specified user receives the opportunity, and it appears on their Partner Central dashboard, allowing them to take necessary actions or proceed with the opportunity. This is useful for distributing opportunities to the appropriate team members or departments within your organization, ensuring that each opportunity is handled by the right person. By default, the opportunity owner is the one who creates it. Currently, there's no API to enumerate the list of available users. See also: AWS API Documentation **Request Syntax** response = client.assign_opportunity( Assignee={ 'BusinessTitle': 'string', 'Email': 'string', 'FirstName': 'string', 'LastName': 'string' }, Catalog='string', Identifier='string' ) Parameters: * **Assignee** (*dict*) -- **[REQUIRED]** Specifies the user or team member responsible for managing the assigned opportunity. This field identifies the *Assignee* based on the partner's internal team structure. Ensure that the email address is associated with a registered user in your Partner Central account. * **BusinessTitle** *(string) --* **[REQUIRED]** Specifies the business title of the assignee managing the opportunity. This helps clarify the individual's role and responsibilities within the organization. Use the value "PartnerAccountManager" to update details of the opportunity owner. * **Email** *(string) --* **[REQUIRED]** Provides the email address of the assignee. This email is used for communications and notifications related to the opportunity. * **FirstName** *(string) --* **[REQUIRED]** Specifies the first name of the assignee managing the opportunity. The system automatically retrieves this value from the user profile by referencing the associated email address. * **LastName** *(string) --* **[REQUIRED]** Specifies the last name of the assignee managing the opportunity. The system automatically retrieves this value from the user profile by referencing the associated email address. * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog associated with the request. This field takes a string value from a predefined list: "AWS" or "Sandbox". The catalog determines which environment the opportunity is assigned in. Use "AWS" to assign real opportunities in the Amazon Web Services catalog, and "Sandbox" for testing in secure, isolated environments. * **Identifier** (*string*) -- **[REQUIRED]** Requires the "Opportunity"'s unique identifier when you want to assign it to another user. Provide the correct identifier so the intended opportunity is reassigned. Returns: None **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / list_solutions list_solutions ************** PartnerCentralSellingAPI.Client.list_solutions(**kwargs) Retrieves a list of Partner Solutions that the partner registered on Partner Central. This API is used to generate a list of solutions that an end user selects from for association with an opportunity. See also: AWS API Documentation **Request Syntax** response = client.list_solutions( Catalog='string', Category=[ 'string', ], Identifier=[ 'string', ], MaxResults=123, NextToken='string', Sort={ 'SortBy': 'Identifier'|'Name'|'Status'|'Category'|'CreatedDate', 'SortOrder': 'ASCENDING'|'DESCENDING' }, Status=[ 'Active'|'Inactive'|'Draft', ] ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog associated with the request. This field takes a string value from a predefined list: "AWS" or "Sandbox". The catalog determines which environment the solutions are listed in. Use "AWS" to list solutions in the Amazon Web Services catalog, and "Sandbox" to list solutions in a secure and isolated testing environment. * **Category** (*list*) -- Filters the solutions based on the category to which they belong. This allows partners to search for solutions within specific categories, such as "Software", "Consulting", or "Managed Services". * *(string) --* * **Identifier** (*list*) -- Filters the solutions based on their unique identifier. Use this filter to retrieve specific solutions by providing the solution's identifier for accurate results. * *(string) --* * **MaxResults** (*integer*) -- The maximum number of results returned by a single call. This value must be provided in the next call to retrieve the next set of results. Default: 20 * **NextToken** (*string*) -- A pagination token used to retrieve the next set of results in subsequent calls. This token is included in the response only if there are additional result pages available. * **Sort** (*dict*) -- Object that configures sorting done on the response. Default "Sort.SortBy" is "Identifier". * **SortBy** *(string) --* **[REQUIRED]** Specifies the attribute to sort by, such as "Name", "CreatedDate", or "Status". * **SortOrder** *(string) --* **[REQUIRED]** Specifies the sorting order, either "Ascending" or "Descending". The default is "Descending". * **Status** (*list*) -- Filters solutions based on their status. This filter helps partners manage their solution portfolios effectively. * *(string) --* Return type: dict Returns: **Response Syntax** { 'NextToken': 'string', 'SolutionSummaries': [ { 'Arn': 'string', 'Catalog': 'string', 'Category': 'string', 'CreatedDate': datetime(2015, 1, 1), 'Id': 'string', 'Name': 'string', 'Status': 'Active'|'Inactive'|'Draft' }, ] } **Response Structure** * *(dict) --* * **NextToken** *(string) --* A pagination token used to retrieve the next set of results in subsequent calls. This token is included in the response only if there are additional result pages available. * **SolutionSummaries** *(list) --* An array with minimal details for solutions matching the request criteria. * *(dict) --* Specifies minimal information for the solution offered to solve the customer's business problem. * **Arn** *(string) --* The SolutionBase structure provides essential information about a solution. * **Catalog** *(string) --* Specifies the catalog in which the solution is hosted, either "AWS" or "Sandbox". This helps partners differentiate between live solutions and those in testing environments. * **Category** *(string) --* Specifies the solution category, which helps to categorize and organize the solutions partners offer. Valid values: "Software Product" | "Consulting Service" | "Hardware Product" | "Communications Product" | "Professional Service" | "Managed Service" | "Value- Added Resale Amazon Web Services Service" | "Distribution Service" | "Training Service" | "Merger and Acquisition Advising Service". * **CreatedDate** *(datetime) --* Indicates the solution creation date. This is useful to track and audit. * **Id** *(string) --* Enables the association of solutions (offerings) to opportunities. * **Name** *(string) --* Specifies the solution name. * **Status** *(string) --* Specifies the solution's current status, which indicates its state in the system. Valid values: "Active" | "Inactive" | "Draft". The status helps partners and Amazon Web Services track the solution's lifecycle and availability. Filter for "Active" solutions for association to an opportunity. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / start_resource_snapshot_job start_resource_snapshot_job *************************** PartnerCentralSellingAPI.Client.start_resource_snapshot_job(**kwargs) Starts a resource snapshot job that has been previously created. See also: AWS API Documentation **Request Syntax** response = client.start_resource_snapshot_job( Catalog='string', ResourceSnapshotJobIdentifier='string' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the request. Valid values are: * AWS: Starts the request from the production AWS environment. * Sandbox: Starts the request from a sandbox environment used for testing or development purposes. * **ResourceSnapshotJobIdentifier** (*string*) -- **[REQUIRED]** The identifier of the resource snapshot job to start. Returns: None **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / start_engagement_by_accepting_invitation_task start_engagement_by_accepting_invitation_task ********************************************* PartnerCentralSellingAPI.Client.start_engagement_by_accepting_invitation_task(**kwargs) 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** response = client.start_engagement_by_accepting_invitation_task( Catalog='string', ClientToken='string', Identifier='string', Tags=[ { 'Key': 'string', 'Value': 'string' }, ] ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the task. Use "AWS" for production engagements and "Sandbox" for testing scenarios. * **ClientToken** (*string*) -- **[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. * **Identifier** (*string*) -- **[REQUIRED]** Specifies the unique identifier of the "EngagementInvitation" to be accepted. Providing the correct identifier helps ensure that the correct engagement is processed. * **Tags** (*list*) -- A map of the key-value pairs of the tag or tags to assign. * *(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. Return type: 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. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ConflictException" * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ServiceQuotaExceeded Exception" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / list_engagement_by_accepting_invitation_tasks list_engagement_by_accepting_invitation_tasks ********************************************* PartnerCentralSellingAPI.Client.list_engagement_by_accepting_invitation_tasks(**kwargs) Lists all in-progress, completed, or failed StartEngagementByAcceptingInvitationTask tasks that were initiated by the caller's account. See also: AWS API Documentation **Request Syntax** response = client.list_engagement_by_accepting_invitation_tasks( Catalog='string', EngagementInvitationIdentifier=[ 'string', ], MaxResults=123, NextToken='string', OpportunityIdentifier=[ 'string', ], Sort={ 'SortBy': 'StartTime', 'SortOrder': 'ASCENDING'|'DESCENDING' }, TaskIdentifier=[ 'string', ], TaskStatus=[ 'IN_PROGRESS'|'COMPLETE'|'FAILED', ] ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the request. Valid values are: * AWS: Retrieves the request from the production AWS environment. * Sandbox: Retrieves the request from a sandbox environment used for testing or development purposes. * **EngagementInvitationIdentifier** (*list*) -- Filters tasks by the identifiers of the engagement invitations they are processing. * *(string) --* * **MaxResults** (*integer*) -- Use this parameter to control the number of items returned in each request, which can be useful for performance tuning and managing large result sets. * **NextToken** (*string*) -- Use this parameter for pagination when the result set spans multiple pages. This value is obtained from the NextToken field in the response of a previous call to this API. * **OpportunityIdentifier** (*list*) -- Filters tasks by the identifiers of the opportunities they created or are associated with. * *(string) --* * **Sort** (*dict*) -- Specifies the sorting criteria for the returned results. This allows you to order the tasks based on specific attributes. * **SortBy** *(string) --* **[REQUIRED]** Specifies the field by which the task list should be sorted. * **SortOrder** *(string) --* **[REQUIRED]** Determines the order in which the sorted results are presented. * **TaskIdentifier** (*list*) -- Filters tasks by their unique identifiers. Use this when you want to retrieve information about specific tasks. * *(string) --* * **TaskStatus** (*list*) -- Filters the tasks based on their current status. This allows you to focus on tasks in specific states. * *(string) --* Return type: dict Returns: **Response Syntax** { 'NextToken': 'string', 'TaskSummaries': [ { '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) --* * **NextToken** *(string) --* A token used for pagination to retrieve the next page of results.If there are more results available, this field will contain a token that can be used in a subsequent API call to retrieve the next page. If there are no more results, this field will be null or an empty string. * **TaskSummaries** *(list) --* An array of "EngagementByAcceptingInvitationTaskSummary" objects, each representing a task that matches the specified filters. The array may be empty if no tasks match the criteria. * *(dict) --* Specifies a subset of fields associated with tasks related to accepting an engagement invitation. * **EngagementInvitationId** *(string) --* The unique identifier of the engagement invitation that was accepted. * **Message** *(string) --* Detailed message describing the failure and possible recovery steps. * **OpportunityId** *(string) --* Unique identifier of opportunity that was created. * **ReasonCode** *(string) --* A code pointing to the specific reason for the failure. * **ResourceSnapshotJobId** *(string) --* Unique identifier of the resource snapshot job that was created. * **StartTime** *(datetime) --* Task start timestamp. * **TaskArn** *(string) --* The Amazon Resource Name (ARN) that uniquely identifies the task. * **TaskId** *(string) --* Unique identifier of the task. * **TaskStatus** *(string) --* Status of the task. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / list_engagement_members list_engagement_members *********************** PartnerCentralSellingAPI.Client.list_engagement_members(**kwargs) Retrieves the details of member partners in an Engagement. This operation can only be invoked by members of the Engagement. The "ListEngagementMembers" operation allows you to fetch information about the members of a specific Engagement. This action is restricted to members of the Engagement being queried. See also: AWS API Documentation **Request Syntax** response = client.list_engagement_members( Catalog='string', Identifier='string', MaxResults=123, NextToken='string' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** The catalog related to the request. * **Identifier** (*string*) -- **[REQUIRED]** Identifier of the Engagement record to retrieve members from. * **MaxResults** (*integer*) -- The maximum number of results to return in a single call. * **NextToken** (*string*) -- The token for the next set of results. Return type: dict Returns: **Response Syntax** { 'EngagementMemberList': [ { 'AccountId': 'string', 'CompanyName': 'string', 'WebsiteUrl': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **EngagementMemberList** *(list) --* Provides a list of engagement members. * *(dict) --* Engagement members are the participants in an Engagement, which is likely a collaborative project or business opportunity within the AWS partner network. Members can be different partner organizations or AWS accounts that are working together on a specific engagement. Each member is represented by their AWS Account ID, Company Name, and associated details. Members have a status within the Engagement (PENDING, ACCEPTED, REJECTED, or WITHDRAWN), indicating their current state of participation. Only existing members of an Engagement can view the list of other members. This implies a level of privacy and access control within the Engagement structure. * **AccountId** *(string) --* This is the unique identifier for the AWS account associated with the member organization. It's used for AWS-related operations and identity verification. * **CompanyName** *(string) --* The official name of the member's company or organization. * **WebsiteUrl** *(string) --* The URL of the member company's website. This offers a way to find more information about the member organization and serves as an additional identifier. * **NextToken** *(string) --* A pagination token used to retrieve the next set of results. If there are more results available than can be returned in a single response, this token will be present. Use this token in a subsequent request to retrieve the next page of results. If there are no more results, this value will be null. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / list_tags_for_resource list_tags_for_resource ********************** PartnerCentralSellingAPI.Client.list_tags_for_resource(**kwargs) Returns a list of tags for a resource. See also: AWS API Documentation **Request Syntax** response = client.list_tags_for_resource( ResourceArn='string' ) Parameters: **ResourceArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the resource for which you want to retrieve tags. Return type: 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. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / list_engagement_invitations list_engagement_invitations *************************** PartnerCentralSellingAPI.Client.list_engagement_invitations(**kwargs) Retrieves a list of engagement invitations sent to the partner. This allows partners to view all pending or past engagement invitations, helping them track opportunities shared by AWS. See also: AWS API Documentation **Request Syntax** response = client.list_engagement_invitations( Catalog='string', EngagementIdentifier=[ 'string', ], MaxResults=123, NextToken='string', ParticipantType='SENDER'|'RECEIVER', PayloadType=[ 'OpportunityInvitation', ], SenderAwsAccountId=[ 'string', ], Sort={ 'SortBy': 'InvitationDate', 'SortOrder': 'ASCENDING'|'DESCENDING' }, Status=[ 'ACCEPTED'|'PENDING'|'REJECTED'|'EXPIRED', ] ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog from which to list the engagement invitations. Use "AWS" for production invitations or "Sandbox" for testing environments. * **EngagementIdentifier** (*list*) -- Retrieves a list of engagement invitation summaries based on specified filters. The ListEngagementInvitations operation allows you to view all invitations that you have sent or received. You must specify the ParticipantType to filter invitations where you are either the SENDER or the RECEIVER. Invitations will automatically expire if not accepted within 15 days. * *(string) --* * **MaxResults** (*integer*) -- Specifies the maximum number of engagement invitations to return in the response. If more results are available, a pagination token will be provided. * **NextToken** (*string*) -- A pagination token used to retrieve additional pages of results when the response to a previous request was truncated. Pass this token to continue listing invitations from where the previous call left off. * **ParticipantType** (*string*) -- **[REQUIRED]** Specifies the type of participant for which to list engagement invitations. Identifies the role of the participant. * **PayloadType** (*list*) -- Defines the type of payload associated with the engagement invitations to be listed. The attributes in this payload help decide on acceptance or rejection of the invitation. * *(string) --* * **SenderAwsAccountId** (*list*) -- List of sender AWS account IDs to filter the invitations. * *(string) --* * **Sort** (*dict*) -- Specifies the sorting options for listing engagement invitations. Invitations can be sorted by fields such as "InvitationDate" or "Status" to help partners view results in their preferred order. * **SortBy** *(string) --* **[REQUIRED]** Specifies the field by which the Engagement Invitations are sorted. Common values include "InvitationDate" and "Status". * **SortOrder** *(string) --* **[REQUIRED]** Defines the order in which the Engagement Invitations are sorted. The values can be "ASC" (ascending) or "DESC" (descending). * **Status** (*list*) -- Status values to filter the invitations. * *(string) --* Return type: dict Returns: **Response Syntax** { 'EngagementInvitationSummaries': [ { 'Arn': 'string', 'Catalog': 'string', 'EngagementId': 'string', 'EngagementTitle': 'string', 'ExpirationDate': datetime(2015, 1, 1), 'Id': 'string', 'InvitationDate': datetime(2015, 1, 1), 'ParticipantType': 'SENDER'|'RECEIVER', 'PayloadType': 'OpportunityInvitation', 'Receiver': { 'Account': { 'Alias': 'string', 'AwsAccountId': 'string' } }, 'SenderAwsAccountId': 'string', 'SenderCompanyName': 'string', 'Status': 'ACCEPTED'|'PENDING'|'REJECTED'|'EXPIRED' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **EngagementInvitationSummaries** *(list) --* An array containing summaries of engagement invitations. Each summary includes information such as the invitation title, invitation date, and the current status of the invitation. * *(dict) --* Provides a summarized view of the Engagement Invitation, including details like the identifier, status, and sender. This summary helps partners track and manage AWS originated opportunities. * **Arn** *(string) --* The Amazon Resource Name (ARN) of the Engagement Invitation. The ARN is a unique identifier that allows partners to reference the invitation in their system and manage its lifecycle. * **Catalog** *(string) --* Specifies the catalog in which the Engagement Invitation resides. This can be either the "AWS" or "Sandbox" catalog, indicating whether the opportunity is live or being tested. * **EngagementId** *(string) --* The identifier of the Engagement associated with this invitation. This links the invitation to its parent Engagement. * **EngagementTitle** *(string) --* Provides a short title or description of the Engagement Invitation. This title helps partners quickly identify and differentiate between multiple engagement opportunities. * **ExpirationDate** *(datetime) --* Indicates the date and time when the Engagement Invitation will expire. After this date, the invitation can no longer be accepted, and the opportunity will be unavailable to the partner. * **Id** *(string) --* Represents the unique identifier of the Engagement Invitation. This identifier is used to track the invitation and to manage responses like acceptance or rejection. * **InvitationDate** *(datetime) --* Indicates the date when the Engagement Invitation was sent to the partner. This provides context for when the opportunity was shared and helps in tracking the timeline for engagement. * **ParticipantType** *(string) --* Identifies the role of the caller in the engagement invitation. * **PayloadType** *(string) --* Describes the type of payload associated with the Engagement Invitation, such as "Opportunity" or "MarketplaceOffer". This helps partners understand the nature of the engagement request from AWS. * **Receiver** *(dict) --* Specifies the partner company or individual that received the Engagement Invitation. This field is important for tracking who the invitation was sent to within the partner organization. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "Account". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **Account** *(dict) --* Specifies the AWS account of the partner who received the Engagement Invitation. This field is used to track the invitation recipient within the AWS ecosystem. * **Alias** *(string) --* Represents the alias of the partner account receiving the Engagement Invitation, making it easier to identify and track the recipient in reports or logs. * **AwsAccountId** *(string) --* Indicates the AWS account ID of the partner who received the Engagement Invitation. This is a unique identifier for managing engagements with specific AWS accounts. * **SenderAwsAccountId** *(string) --* Specifies the AWS account ID of the sender who initiated the Engagement Invitation. This allows the partner to identify the AWS entity or representative responsible for sharing the opportunity. * **SenderCompanyName** *(string) --* Indicates the name of the company or AWS division that sent the Engagement Invitation. This information is useful for partners to know which part of AWS is requesting engagement. * **Status** *(string) --* Represents the current status of the Engagement Invitation, such as "Pending", "Accepted", or "Rejected". The status helps track the progress and response to the invitation. * **NextToken** *(string) --* A pagination token returned when there are more results available than can be returned in a single call. Use this token to retrieve additional pages of engagement invitation summaries. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / get_engagement get_engagement ************** PartnerCentralSellingAPI.Client.get_engagement(**kwargs) Use this action to retrieve the engagement record for a given "EngagementIdentifier". See also: AWS API Documentation **Request Syntax** response = client.get_engagement( Catalog='string', Identifier='string' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the engagement request. Valid values are "AWS" and "Sandbox". * **Identifier** (*string*) -- **[REQUIRED]** Specifies the identifier of the Engagement record to retrieve. Return type: dict Returns: **Response Syntax** { 'Arn': 'string', 'Contexts': [ { 'Payload': { 'CustomerProject': { 'Customer': { 'CompanyName': 'string', 'CountryCode': 'US'|'AF'|'AX'|'AL'|'DZ'|'AS'|'AD'|'AO'|'AI'|'AQ'|'AG'|'AR'|'AM'|'AW'|'AU'|'AT'|'AZ'|'BS'|'BH'|'BD'|'BB'|'BY'|'BE'|'BZ'|'BJ'|'BM'|'BT'|'BO'|'BQ'|'BA'|'BW'|'BV'|'BR'|'IO'|'BN'|'BG'|'BF'|'BI'|'KH'|'CM'|'CA'|'CV'|'KY'|'CF'|'TD'|'CL'|'CN'|'CX'|'CC'|'CO'|'KM'|'CG'|'CK'|'CR'|'CI'|'HR'|'CU'|'CW'|'CY'|'CZ'|'CD'|'DK'|'DJ'|'DM'|'DO'|'EC'|'EG'|'SV'|'GQ'|'ER'|'EE'|'ET'|'FK'|'FO'|'FJ'|'FI'|'FR'|'GF'|'PF'|'TF'|'GA'|'GM'|'GE'|'DE'|'GH'|'GI'|'GR'|'GL'|'GD'|'GP'|'GU'|'GT'|'GG'|'GN'|'GW'|'GY'|'HT'|'HM'|'VA'|'HN'|'HK'|'HU'|'IS'|'IN'|'ID'|'IR'|'IQ'|'IE'|'IM'|'IL'|'IT'|'JM'|'JP'|'JE'|'JO'|'KZ'|'KE'|'KI'|'KR'|'KW'|'KG'|'LA'|'LV'|'LB'|'LS'|'LR'|'LY'|'LI'|'LT'|'LU'|'MO'|'MK'|'MG'|'MW'|'MY'|'MV'|'ML'|'MT'|'MH'|'MQ'|'MR'|'MU'|'YT'|'MX'|'FM'|'MD'|'MC'|'MN'|'ME'|'MS'|'MA'|'MZ'|'MM'|'NA'|'NR'|'NP'|'NL'|'AN'|'NC'|'NZ'|'NI'|'NE'|'NG'|'NU'|'NF'|'MP'|'NO'|'OM'|'PK'|'PW'|'PS'|'PA'|'PG'|'PY'|'PE'|'PH'|'PN'|'PL'|'PT'|'PR'|'QA'|'RE'|'RO'|'RU'|'RW'|'BL'|'SH'|'KN'|'LC'|'MF'|'PM'|'VC'|'WS'|'SM'|'ST'|'SA'|'SN'|'RS'|'SC'|'SL'|'SG'|'SX'|'SK'|'SI'|'SB'|'SO'|'ZA'|'GS'|'SS'|'ES'|'LK'|'SD'|'SR'|'SJ'|'SZ'|'SE'|'CH'|'SY'|'TW'|'TJ'|'TZ'|'TH'|'TL'|'TG'|'TK'|'TO'|'TT'|'TN'|'TR'|'TM'|'TC'|'TV'|'UG'|'UA'|'AE'|'GB'|'UM'|'UY'|'UZ'|'VU'|'VE'|'VN'|'VG'|'VI'|'WF'|'EH'|'YE'|'ZM'|'ZW', 'Industry': 'Aerospace'|'Agriculture'|'Automotive'|'Computers and Electronics'|'Consumer Goods'|'Education'|'Energy - Oil and Gas'|'Energy - Power and Utilities'|'Financial Services'|'Gaming'|'Government'|'Healthcare'|'Hospitality'|'Life Sciences'|'Manufacturing'|'Marketing and Advertising'|'Media and Entertainment'|'Mining'|'Non-Profit Organization'|'Professional Services'|'Real Estate and Construction'|'Retail'|'Software and Internet'|'Telecommunications'|'Transportation and Logistics'|'Travel'|'Wholesale and Distribution'|'Other', 'WebsiteUrl': 'string' }, 'Project': { 'BusinessProblem': 'string', 'TargetCompletionDate': 'string', 'Title': 'string' } } }, 'Type': 'CustomerProject' }, ], 'CreatedAt': datetime(2015, 1, 1), 'CreatedBy': 'string', 'Description': 'string', 'Id': 'string', 'MemberCount': 123, 'Title': 'string' } **Response Structure** * *(dict) --* * **Arn** *(string) --* The Amazon Resource Name (ARN) of the engagement retrieved. * **Contexts** *(list) --* A list of context objects associated with the engagement. Each context provides additional information related to the Engagement, such as customer projects or documents. * *(dict) --* Provides detailed context information for an Engagement. This structure allows for specifying the type of context and its associated payload. * **Payload** *(dict) --* Contains the specific details of the Engagement context. The structure of this payload varies depending on the Type field. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "CustomerProject". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **CustomerProject** *(dict) --* Contains detailed information about a customer project when the context type is "CustomerProject". This field is present only when the Type in EngagementContextDetails is set to "CustomerProject". * **Customer** *(dict) --* Contains details about the customer associated with the Engagement Invitation, including company information and industry. * **CompanyName** *(string) --* Represents the name of the customer’s company associated with the Engagement Invitation. This field is used to identify the customer. * **CountryCode** *(string) --* Indicates the country in which the customer’s company operates. This field is useful for understanding regional requirements or compliance needs. * **Industry** *(string) --* Specifies the industry to which the customer’s company belongs. This field helps categorize the opportunity based on the customer’s business sector. * **WebsiteUrl** *(string) --* Provides the website URL of the customer’s company. This field helps partners verify the legitimacy and size of the customer organization. * **Project** *(dict) --* Information about the customer project associated with the Engagement. * **BusinessProblem** *(string) --* A description of the business problem the project aims to solve. * **TargetCompletionDate** *(string) --* The target completion date for the customer's project. * **Title** *(string) --* The title of the project. * **Type** *(string) --* Specifies the type of Engagement context. Valid values are "CustomerProject" or "Document", indicating whether the context relates to a customer project or a document respectively. * **CreatedAt** *(datetime) --* The date and time when the Engagement was created, presented in ISO 8601 format (UTC). For example: "2023-05-01T20:37:46Z". This timestamp helps track the lifecycle of the Engagement. * **CreatedBy** *(string) --* The AWS account ID of the user who originally created the engagement. This field helps in tracking the origin of the engagement. * **Description** *(string) --* A more detailed description of the engagement. This provides additional context or information about the engagement's purpose or scope. * **Id** *(string) --* The unique resource identifier of the engagement retrieved. * **MemberCount** *(integer) --* Specifies the current count of members participating in the Engagement. This count includes all active members regardless of their roles or permissions within the Engagement. * **Title** *(string) --* The title of the engagement. It provides a brief, descriptive name for the engagement that is meaningful and easily recognizable. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / untag_resource untag_resource ************** PartnerCentralSellingAPI.Client.untag_resource(**kwargs) Removes a tag or tags from a resource. See also: AWS API Documentation **Request Syntax** response = client.untag_resource( ResourceArn='string', TagKeys=[ 'string', ] ) Parameters: * **ResourceArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the resource that you want to untag. * **TagKeys** (*list*) -- **[REQUIRED]** The keys of the key-value pairs for the tag or tags you want to remove from the specified resource. * *(string) --* Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ConflictException" * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / put_selling_system_settings put_selling_system_settings *************************** PartnerCentralSellingAPI.Client.put_selling_system_settings(**kwargs) Updates the currently set system settings, which include the IAM Role used for resource snapshot jobs. See also: AWS API Documentation **Request Syntax** response = client.put_selling_system_settings( Catalog='string', ResourceSnapshotJobRoleIdentifier='string' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog in which the settings will be updated. Acceptable values include "AWS" for production and "Sandbox" for testing environments. * **ResourceSnapshotJobRoleIdentifier** (*string*) -- Specifies the ARN of the IAM Role used for resource snapshot job executions. Return type: dict Returns: **Response Syntax** { 'Catalog': 'string', 'ResourceSnapshotJobRoleArn': 'string' } **Response Structure** * *(dict) --* * **Catalog** *(string) --* Specifies the catalog in which the settings are defined. Acceptable values include "AWS" for production and "Sandbox" for testing environments. * **ResourceSnapshotJobRoleArn** *(string) --* Specifies the ARN of the IAM Role used for resource snapshot job executions. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / get_waiter get_waiter ********** PartnerCentralSellingAPI.Client.get_waiter(waiter_name) Returns an object that can wait for some condition. Parameters: **waiter_name** (*str*) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters. Returns: The specified waiter object. Return type: "botocore.waiter.Waiter" PartnerCentralSellingAPI / Client / list_resource_snapshot_jobs list_resource_snapshot_jobs *************************** PartnerCentralSellingAPI.Client.list_resource_snapshot_jobs(**kwargs) Lists resource snapshot jobs owned by the customer. This operation supports various filtering scenarios, including listing all jobs owned by the caller, jobs for a specific engagement, jobs with a specific status, or any combination of these filters. See also: AWS API Documentation **Request Syntax** response = client.list_resource_snapshot_jobs( Catalog='string', EngagementIdentifier='string', MaxResults=123, NextToken='string', Sort={ 'SortBy': 'CreatedDate', 'SortOrder': 'ASCENDING'|'DESCENDING' }, Status='Running'|'Stopped' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the request. * **EngagementIdentifier** (*string*) -- The identifier of the engagement to filter the response. * **MaxResults** (*integer*) -- The maximum number of results to return in a single call. If omitted, defaults to 50. * **NextToken** (*string*) -- The token for the next set of results. * **Sort** (*dict*) -- Configures the sorting of the response. If omitted, results are sorted by "CreatedDate" in descending order. * **SortBy** *(string) --* Specifies the field by which to sort the resource snapshot jobs. * **SortOrder** *(string) --* Determines the order in which the sorted results are presented. * **Status** (*string*) -- The status of the jobs to filter the response. Return type: dict Returns: **Response Syntax** { 'NextToken': 'string', 'ResourceSnapshotJobSummaries': [ { 'Arn': 'string', 'EngagementId': 'string', 'Id': 'string', 'Status': 'Running'|'Stopped' }, ] } **Response Structure** * *(dict) --* * **NextToken** *(string) --* The token to retrieve the next set of results. If there are no additional results, this value is null. * **ResourceSnapshotJobSummaries** *(list) --* An array of resource snapshot job summary objects. * *(dict) --* An object that contains a "Resource Snapshot Job"'s subset of fields. * **Arn** *(string) --* The Amazon Resource Name (ARN) for the resource snapshot job. * **EngagementId** *(string) --* The unique identifier of the Engagement. * **Id** *(string) --* The unique identifier for the resource snapshot job within the AWS Partner Central system. This ID is used for direct references to the job within the service. * **Status** *(string) --* The current status of the snapshot job. Valid values: * STOPPED: The job is not currently running. * RUNNING: The job is actively executing. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / get_selling_system_settings get_selling_system_settings *************************** PartnerCentralSellingAPI.Client.get_selling_system_settings(**kwargs) Retrieves the currently set system settings, which include the IAM Role used for resource snapshot jobs. See also: AWS API Documentation **Request Syntax** response = client.get_selling_system_settings( Catalog='string' ) Parameters: **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog in which the settings are defined. Acceptable values include "AWS" for production and "Sandbox" for testing environments. Return type: dict Returns: **Response Syntax** { 'Catalog': 'string', 'ResourceSnapshotJobRoleArn': 'string' } **Response Structure** * *(dict) --* * **Catalog** *(string) --* Specifies the catalog in which the settings are defined. Acceptable values include "AWS" for production and "Sandbox" for testing environments. * **ResourceSnapshotJobRoleArn** *(string) --* Specifies the ARN of the IAM Role used for resource snapshot job executions. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / get_aws_opportunity_summary get_aws_opportunity_summary *************************** PartnerCentralSellingAPI.Client.get_aws_opportunity_summary(**kwargs) Retrieves a summary of an AWS Opportunity. This summary includes high-level details about the opportunity sourced from AWS, such as lifecycle information, customer details, and involvement type. It is useful for tracking updates on the AWS opportunity corresponding to an opportunity in the partner's account. See also: AWS API Documentation **Request Syntax** response = client.get_aws_opportunity_summary( Catalog='string', RelatedOpportunityIdentifier='string' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog in which the AWS Opportunity is located. Accepted values include "AWS" for production opportunities or "Sandbox" for testing purposes. The catalog determines which environment the opportunity data is pulled from. * **RelatedOpportunityIdentifier** (*string*) -- **[REQUIRED]** The unique identifier for the related partner opportunity. Use this field to correlate an AWS opportunity with its corresponding partner opportunity. Return type: dict Returns: **Response Syntax** { 'Catalog': 'string', 'Customer': { 'Contacts': [ { 'BusinessTitle': 'string', 'Email': 'string', 'FirstName': 'string', 'LastName': 'string', 'Phone': 'string' }, ] }, 'Insights': { 'EngagementScore': 'High'|'Medium'|'Low', 'NextBestActions': 'string' }, 'InvolvementType': 'For Visibility Only'|'Co-Sell', 'InvolvementTypeChangeReason': 'Expansion Opportunity'|'Change in Deal Information'|'Customer Requested'|'Technical Complexity'|'Risk Mitigation', 'LifeCycle': { 'ClosedLostReason': 'Administrative'|'Business Associate Agreement'|'Company Acquired/Dissolved'|'Competitive Offering'|'Customer Data Requirement'|'Customer Deficiency'|'Customer Experience'|'Delay / Cancellation of Project'|'Duplicate'|'Duplicate Opportunity'|'Executive Blocker'|'Failed Vetting'|'Feature Limitation'|'Financial/Commercial'|'Insufficient Amazon Value'|'Insufficient AWS Value'|'International Constraints'|'Legal / Tax / Regulatory'|'Legal Terms and Conditions'|'Lost to Competitor'|'Lost to Competitor - Google'|'Lost to Competitor - Microsoft'|'Lost to Competitor - Other'|'Lost to Competitor - Rackspace'|'Lost to Competitor - SoftLayer'|'Lost to Competitor - VMWare'|'No Customer Reference'|'No Integration Resources'|'No Opportunity'|'No Perceived Value of MP'|'No Response'|'Not Committed to AWS'|'No Update'|'On Premises Deployment'|'Other'|'Other (Details in Description)'|'Partner Gap'|'Past Due'|'People/Relationship/Governance'|'Platform Technology Limitation'|'Preference for Competitor'|'Price'|'Product/Technology'|'Product Not on AWS'|'Security / Compliance'|'Self-Service'|'Technical Limitations'|'Term Sheet Impasse', 'NextSteps': 'string', 'NextStepsHistory': [ { 'Time': datetime(2015, 1, 1), 'Value': 'string' }, ], 'Stage': 'Not Started'|'In Progress'|'Prospect'|'Engaged'|'Identified'|'Qualify'|'Research'|'Seller Engaged'|'Evaluating'|'Seller Registered'|'Term Sheet Negotiation'|'Contract Negotiation'|'Onboarding'|'Building Integration'|'Qualified'|'On-hold'|'Technical Validation'|'Business Validation'|'Committed'|'Launched'|'Deferred to Partner'|'Closed Lost'|'Completed'|'Closed Incomplete', 'TargetCloseDate': 'string' }, 'OpportunityTeam': [ { 'BusinessTitle': 'AWSSalesRep'|'AWSAccountOwner'|'WWPSPDM'|'PDM'|'PSM'|'ISVSM', 'Email': 'string', 'FirstName': 'string', 'LastName': 'string' }, ], 'Origin': 'AWS Referral'|'Partner Referral', 'Project': { 'ExpectedCustomerSpend': [ { 'Amount': 'string', 'CurrencyCode': 'USD'|'EUR'|'GBP'|'AUD'|'CAD'|'CNY'|'NZD'|'INR'|'JPY'|'CHF'|'SEK'|'AED'|'AFN'|'ALL'|'AMD'|'ANG'|'AOA'|'ARS'|'AWG'|'AZN'|'BAM'|'BBD'|'BDT'|'BGN'|'BHD'|'BIF'|'BMD'|'BND'|'BOB'|'BOV'|'BRL'|'BSD'|'BTN'|'BWP'|'BYN'|'BZD'|'CDF'|'CHE'|'CHW'|'CLF'|'CLP'|'COP'|'COU'|'CRC'|'CUC'|'CUP'|'CVE'|'CZK'|'DJF'|'DKK'|'DOP'|'DZD'|'EGP'|'ERN'|'ETB'|'FJD'|'FKP'|'GEL'|'GHS'|'GIP'|'GMD'|'GNF'|'GTQ'|'GYD'|'HKD'|'HNL'|'HRK'|'HTG'|'HUF'|'IDR'|'ILS'|'IQD'|'IRR'|'ISK'|'JMD'|'JOD'|'KES'|'KGS'|'KHR'|'KMF'|'KPW'|'KRW'|'KWD'|'KYD'|'KZT'|'LAK'|'LBP'|'LKR'|'LRD'|'LSL'|'LYD'|'MAD'|'MDL'|'MGA'|'MKD'|'MMK'|'MNT'|'MOP'|'MRU'|'MUR'|'MVR'|'MWK'|'MXN'|'MXV'|'MYR'|'MZN'|'NAD'|'NGN'|'NIO'|'NOK'|'NPR'|'OMR'|'PAB'|'PEN'|'PGK'|'PHP'|'PKR'|'PLN'|'PYG'|'QAR'|'RON'|'RSD'|'RUB'|'RWF'|'SAR'|'SBD'|'SCR'|'SDG'|'SGD'|'SHP'|'SLL'|'SOS'|'SRD'|'SSP'|'STN'|'SVC'|'SYP'|'SZL'|'THB'|'TJS'|'TMT'|'TND'|'TOP'|'TRY'|'TTD'|'TWD'|'TZS'|'UAH'|'UGX'|'USN'|'UYI'|'UYU'|'UZS'|'VEF'|'VND'|'VUV'|'WST'|'XAF'|'XCD'|'XDR'|'XOF'|'XPF'|'XSU'|'XUA'|'YER'|'ZAR'|'ZMW'|'ZWL', 'EstimationUrl': 'string', 'Frequency': 'Monthly', 'TargetCompany': 'string' }, ] }, 'RelatedEntityIds': { 'AwsProducts': [ 'string', ], 'Solutions': [ 'string', ] }, 'RelatedOpportunityId': 'string', 'Visibility': 'Full'|'Limited' } **Response Structure** * *(dict) --* * **Catalog** *(string) --* Specifies the catalog in which the AWS Opportunity exists. This is the environment (e.g., "AWS" or "Sandbox") where the opportunity is being managed. * **Customer** *(dict) --* Provides details about the customer associated with the AWS Opportunity, including account information, industry, and other customer data. These details help partners understand the business context of the opportunity. * **Contacts** *(list) --* Provides a list of customer contacts involved in the opportunity. These contacts may include decision makers, influencers, and other stakeholders within the customer's organization. * *(dict) --* An object that contains a "Customer Partner"'s contact details. * **BusinessTitle** *(string) --* The partner contact's title (job title or role) associated with the "Opportunity". "BusinessTitle" supports either "PartnerAccountManager" or "OpportunityOwner". * **Email** *(string) --* The contact's email address associated with the "Opportunity". * **FirstName** *(string) --* The contact's first name associated with the "Opportunity". * **LastName** *(string) --* The contact's last name associated with the "Opportunity". * **Phone** *(string) --* The contact's phone number associated with the "Opportunity". * **Insights** *(dict) --* Provides insights into the AWS Opportunity, including engagement score and recommended actions that AWS suggests for the partner. * **EngagementScore** *(string) --* Represents a score assigned by AWS to indicate the level of engagement and potential success for the opportunity. This score helps partners prioritize their efforts. * **NextBestActions** *(string) --* Provides recommendations from AWS on the next best actions to take in order to move the opportunity forward and increase the likelihood of success. * **InvolvementType** *(string) --* Specifies the type of involvement AWS has in the opportunity, such as direct cosell or advisory support. This field helps partners understand the role AWS plays in advancing the opportunity. * **InvolvementTypeChangeReason** *(string) --* Provides a reason for any changes in the involvement type of AWS in the opportunity. This field is used to track why the level of AWS engagement has changed from "For Visibility Only" to "Co-sell" offering transparency into the partnership dynamics. * **LifeCycle** *(dict) --* Contains lifecycle information for the AWS Opportunity, including review status, stage, and target close date. This field is crucial for partners to monitor the progression of the opportunity. * **ClosedLostReason** *(string) --* Indicates the reason why an opportunity was marked as "Closed Lost". This helps in understanding the context behind the lost opportunity and aids in refining future strategies. * **NextSteps** *(string) --* Specifies the immediate next steps required to progress the opportunity. These steps are based on AWS guidance and the current stage of the opportunity. * **NextStepsHistory** *(list) --* Provides a historical log of previous next steps that were taken to move the opportunity forward. This helps in tracking the decision-making process and identifying any delays or obstacles encountered. * *(dict) --* Tracks the history of next steps associated with the opportunity. This field captures the actions planned for the future and their timeline. * **Time** *(datetime) --* Indicates the date and time when a particular next step was recorded or planned. This helps in managing the timeline for the opportunity. * **Value** *(string) --* Represents the details of the next step recorded, such as follow-up actions or decisions made. This field helps in tracking progress and ensuring alignment with project goals. * **Stage** *(string) --* Represents the current stage of the opportunity in its lifecycle, such as "Qualification", "Validation", or "Closed Won". This helps in understanding the opportunity's progress. * **TargetCloseDate** *(string) --* Indicates the expected date by which the opportunity is projected to close. This field helps in planning resources and timelines for both the partner and AWS. * **OpportunityTeam** *(list) --* Details the AWS opportunity team, including members involved. This information helps partners know who from AWS is engaged and what their role is. * *(dict) --* Represents an Amazon Web Services team member for the engagement. This structure includes details such as name, email, and business title. * **BusinessTitle** *(string) --* Specifies the Amazon Web Services team member's business title and indicates their organizational role. * **Email** *(string) --* Provides the Amazon Web Services team member's email address. * **FirstName** *(string) --* Provides the Amazon Web Services team member's first name. * **LastName** *(string) --* Provides the Amazon Web Services team member's last name. * **Origin** *(string) --* Specifies whether the AWS Opportunity originated from AWS or the partner. This helps distinguish between opportunities that were sourced by AWS and those referred by the partner. * **Project** *(dict) --* Provides details about the project associated with the AWS Opportunity, including the customer’s business problem, expected outcomes, and project scope. This information is crucial for understanding the broader context of the opportunity. * **ExpectedCustomerSpend** *(list) --* Indicates the expected spending by the customer over the course of the project. This value helps partners and AWS estimate the financial impact of the opportunity. Use the AWS Pricing Calculator to create an estimate of the customer’s total spend. If only annual recurring revenue (ARR) is available, distribute it across 12 months to provide an average monthly value. * *(dict) --* Provides an estimate of the revenue that the partner is expected to generate from the opportunity. This information helps partners assess the financial value of the project. * **Amount** *(string) --* Represents the estimated monthly revenue that the partner expects to earn from the opportunity. This helps in forecasting financial returns. * **CurrencyCode** *(string) --* Indicates the currency in which the revenue estimate is provided. This helps in understanding the financial impact across different markets. * **EstimationUrl** *(string) --* A URL providing additional information or context about the spend estimation. * **Frequency** *(string) --* Indicates how frequently the customer is expected to spend the projected amount. This can include values such as "Monthly", "Quarterly", or "Annually". The default value is "Monthly", representing recurring monthly spend. * **TargetCompany** *(string) --* Specifies the name of the partner company that is expected to generate revenue from the opportunity. This field helps track the partner’s involvement in the opportunity. * **RelatedEntityIds** *(dict) --* Lists related entity identifiers, such as AWS products or partner solutions, associated with the AWS Opportunity. These identifiers provide additional context and help partners understand which AWS services are involved. * **AwsProducts** *(list) --* Specifies the AWS products associated with the opportunity. This field helps track the specific products that are part of the proposed solution. * *(string) --* * **Solutions** *(list) --* Specifies the partner solutions related to the opportunity. These solutions represent the partner's offerings that are being positioned as part of the overall AWS opportunity. * *(string) --* * **RelatedOpportunityId** *(string) --* Provides the unique identifier of the related partner opportunity, allowing partners to link the AWS Opportunity to their corresponding opportunity in their CRM system. * **Visibility** *(string) --* Defines the visibility level for the AWS Opportunity. Use "Full" visibility for most cases, while "Limited" visibility is reserved for special programs or sensitive opportunities. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / list_engagement_from_opportunity_tasks list_engagement_from_opportunity_tasks ************************************** PartnerCentralSellingAPI.Client.list_engagement_from_opportunity_tasks(**kwargs) Lists all in-progress, completed, or failed "EngagementFromOpportunity" tasks that were initiated by the caller's account. See also: AWS API Documentation **Request Syntax** response = client.list_engagement_from_opportunity_tasks( Catalog='string', EngagementIdentifier=[ 'string', ], MaxResults=123, NextToken='string', OpportunityIdentifier=[ 'string', ], Sort={ 'SortBy': 'StartTime', 'SortOrder': 'ASCENDING'|'DESCENDING' }, TaskIdentifier=[ 'string', ], TaskStatus=[ 'IN_PROGRESS'|'COMPLETE'|'FAILED', ] ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the request. Valid values are: * AWS: Retrieves the request from the production AWS environment. * Sandbox: Retrieves the request from a sandbox environment used for testing or development purposes. * **EngagementIdentifier** (*list*) -- Filters tasks by the identifiers of the engagements they created or are associated with. * *(string) --* * **MaxResults** (*integer*) -- Specifies the maximum number of results to return in a single page of the response.Use this parameter to control the number of items returned in each request, which can be useful for performance tuning and managing large result sets. * **NextToken** (*string*) -- The token for requesting the next page of results. This value is obtained from the NextToken field in the response of a previous call to this API. Use this parameter for pagination when the result set spans multiple pages. * **OpportunityIdentifier** (*list*) -- The identifier of the original opportunity associated with this task. * *(string) --* * **Sort** (*dict*) -- Specifies the sorting criteria for the returned results. This allows you to order the tasks based on specific attributes. * **SortBy** *(string) --* **[REQUIRED]** Specifies the field by which the task list should be sorted. * **SortOrder** *(string) --* **[REQUIRED]** Determines the order in which the sorted results are presented. * **TaskIdentifier** (*list*) -- Filters tasks by their unique identifiers. Use this when you want to retrieve information about specific tasks. * *(string) --* * **TaskStatus** (*list*) -- Filters the tasks based on their current status. This allows you to focus on tasks in specific states. * *(string) --* Return type: dict Returns: **Response Syntax** { 'NextToken': 'string', 'TaskSummaries': [ { '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) --* * **NextToken** *(string) --* A token used for pagination to retrieve the next page of results. If there are more results available, this field will contain a token that can be used in a subsequent API call to retrieve the next page. If there are no more results, this field will be null or an empty string. * **TaskSummaries** *(list) --* TaskSummaries An array of TaskSummary objects containing details about each task. * *(dict) --* Provides a summary of a task related to creating an engagement from an opportunity. This structure contains key information about the task's status, associated identifiers, and any failure details. * **EngagementId** *(string) --* The unique identifier of the engagement created as a result of the task. This field is populated when the task is completed successfully. * **EngagementInvitationId** *(string) --* The unique identifier of the Engagement Invitation. * **Message** *(string) --* A detailed message providing additional information about the task, especially useful in case of failures. This field may contain error details or other relevant information about the task's execution * **OpportunityId** *(string) --* The unique identifier of the original Opportunity from which the Engagement is being created. This field helps track the source of the Engagement creation task. * **ReasonCode** *(string) --* A code indicating the specific reason for a task failure. This field is populated when the task status is FAILED and provides a categorized reason for the failure. * **ResourceSnapshotJobId** *(string) --* The identifier of the resource snapshot job associated with this task, if a snapshot was created as part of the Engagement creation process. * **StartTime** *(datetime) --* The timestamp indicating when the task was initiated, in RFC 3339 5.6 date-time format. * **TaskArn** *(string) --* The Amazon Resource Name (ARN) uniquely identifying this task within AWS. This ARN can be used for referencing the task in other AWS services or APIs. * **TaskId** *(string) --* A unique identifier for a specific task. * **TaskStatus** *(string) --* The current status of the task. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / stop_resource_snapshot_job stop_resource_snapshot_job ************************** PartnerCentralSellingAPI.Client.stop_resource_snapshot_job(**kwargs) Stops a resource snapshot job. The job must be started prior to being stopped. See also: AWS API Documentation **Request Syntax** response = client.stop_resource_snapshot_job( Catalog='string', ResourceSnapshotJobIdentifier='string' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the request. Valid values are: * AWS: Stops the request from the production AWS environment. * Sandbox: Stops the request from a sandbox environment used for testing or development purposes. * **ResourceSnapshotJobIdentifier** (*string*) -- **[REQUIRED]** The identifier of the job to stop. Returns: None **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / delete_resource_snapshot_job delete_resource_snapshot_job **************************** PartnerCentralSellingAPI.Client.delete_resource_snapshot_job(**kwargs) Use this action to deletes a previously created resource snapshot job. The job must be in a stopped state before it can be deleted. See also: AWS API Documentation **Request Syntax** response = client.delete_resource_snapshot_job( Catalog='string', ResourceSnapshotJobIdentifier='string' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog from which to delete the snapshot job. Valid values are "AWS" and "Sandbox". * **ResourceSnapshotJobIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the resource snapshot job to be deleted. Returns: None **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ConflictException" * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / update_opportunity update_opportunity ****************** PartnerCentralSellingAPI.Client.update_opportunity(**kwargs) Updates the "Opportunity" record identified by a given "Identifier". This operation allows you to modify the details of an existing opportunity to reflect the latest information and progress. Use this action to keep the opportunity record up-to-date and accurate. When you perform updates, include the entire payload with each request. If any field is omitted, the API assumes that the field is set to "null". The best practice is to always perform a "GetOpportunity" to retrieve the latest values, then send the complete payload with the updated values to be changed. See also: AWS API Documentation **Request Syntax** response = client.update_opportunity( Catalog='string', Customer={ 'Account': { 'Address': { 'City': 'string', 'CountryCode': 'US'|'AF'|'AX'|'AL'|'DZ'|'AS'|'AD'|'AO'|'AI'|'AQ'|'AG'|'AR'|'AM'|'AW'|'AU'|'AT'|'AZ'|'BS'|'BH'|'BD'|'BB'|'BY'|'BE'|'BZ'|'BJ'|'BM'|'BT'|'BO'|'BQ'|'BA'|'BW'|'BV'|'BR'|'IO'|'BN'|'BG'|'BF'|'BI'|'KH'|'CM'|'CA'|'CV'|'KY'|'CF'|'TD'|'CL'|'CN'|'CX'|'CC'|'CO'|'KM'|'CG'|'CK'|'CR'|'CI'|'HR'|'CU'|'CW'|'CY'|'CZ'|'CD'|'DK'|'DJ'|'DM'|'DO'|'EC'|'EG'|'SV'|'GQ'|'ER'|'EE'|'ET'|'FK'|'FO'|'FJ'|'FI'|'FR'|'GF'|'PF'|'TF'|'GA'|'GM'|'GE'|'DE'|'GH'|'GI'|'GR'|'GL'|'GD'|'GP'|'GU'|'GT'|'GG'|'GN'|'GW'|'GY'|'HT'|'HM'|'VA'|'HN'|'HK'|'HU'|'IS'|'IN'|'ID'|'IR'|'IQ'|'IE'|'IM'|'IL'|'IT'|'JM'|'JP'|'JE'|'JO'|'KZ'|'KE'|'KI'|'KR'|'KW'|'KG'|'LA'|'LV'|'LB'|'LS'|'LR'|'LY'|'LI'|'LT'|'LU'|'MO'|'MK'|'MG'|'MW'|'MY'|'MV'|'ML'|'MT'|'MH'|'MQ'|'MR'|'MU'|'YT'|'MX'|'FM'|'MD'|'MC'|'MN'|'ME'|'MS'|'MA'|'MZ'|'MM'|'NA'|'NR'|'NP'|'NL'|'AN'|'NC'|'NZ'|'NI'|'NE'|'NG'|'NU'|'NF'|'MP'|'NO'|'OM'|'PK'|'PW'|'PS'|'PA'|'PG'|'PY'|'PE'|'PH'|'PN'|'PL'|'PT'|'PR'|'QA'|'RE'|'RO'|'RU'|'RW'|'BL'|'SH'|'KN'|'LC'|'MF'|'PM'|'VC'|'WS'|'SM'|'ST'|'SA'|'SN'|'RS'|'SC'|'SL'|'SG'|'SX'|'SK'|'SI'|'SB'|'SO'|'ZA'|'GS'|'SS'|'ES'|'LK'|'SD'|'SR'|'SJ'|'SZ'|'SE'|'CH'|'SY'|'TW'|'TJ'|'TZ'|'TH'|'TL'|'TG'|'TK'|'TO'|'TT'|'TN'|'TR'|'TM'|'TC'|'TV'|'UG'|'UA'|'AE'|'GB'|'UM'|'UY'|'UZ'|'VU'|'VE'|'VN'|'VG'|'VI'|'WF'|'EH'|'YE'|'ZM'|'ZW', 'PostalCode': 'string', 'StateOrRegion': 'string', 'StreetAddress': 'string' }, 'AwsAccountId': 'string', 'CompanyName': 'string', 'Duns': 'string', 'Industry': 'Aerospace'|'Agriculture'|'Automotive'|'Computers and Electronics'|'Consumer Goods'|'Education'|'Energy - Oil and Gas'|'Energy - Power and Utilities'|'Financial Services'|'Gaming'|'Government'|'Healthcare'|'Hospitality'|'Life Sciences'|'Manufacturing'|'Marketing and Advertising'|'Media and Entertainment'|'Mining'|'Non-Profit Organization'|'Professional Services'|'Real Estate and Construction'|'Retail'|'Software and Internet'|'Telecommunications'|'Transportation and Logistics'|'Travel'|'Wholesale and Distribution'|'Other', 'OtherIndustry': 'string', 'WebsiteUrl': 'string' }, 'Contacts': [ { 'BusinessTitle': 'string', 'Email': 'string', 'FirstName': 'string', 'LastName': 'string', 'Phone': 'string' }, ] }, Identifier='string', LastModifiedDate=datetime(2015, 1, 1), LifeCycle={ 'ClosedLostReason': 'Customer Deficiency'|'Delay / Cancellation of Project'|'Legal / Tax / Regulatory'|'Lost to Competitor - Google'|'Lost to Competitor - Microsoft'|'Lost to Competitor - SoftLayer'|'Lost to Competitor - VMWare'|'Lost to Competitor - Other'|'No Opportunity'|'On Premises Deployment'|'Partner Gap'|'Price'|'Security / Compliance'|'Technical Limitations'|'Customer Experience'|'Other'|'People/Relationship/Governance'|'Product/Technology'|'Financial/Commercial', 'NextSteps': 'string', 'NextStepsHistory': [ { 'Time': datetime(2015, 1, 1), 'Value': 'string' }, ], 'ReviewComments': 'string', 'ReviewStatus': 'Pending Submission'|'Submitted'|'In review'|'Approved'|'Rejected'|'Action Required', 'ReviewStatusReason': 'string', 'Stage': 'Prospect'|'Qualified'|'Technical Validation'|'Business Validation'|'Committed'|'Launched'|'Closed Lost', 'TargetCloseDate': 'string' }, Marketing={ 'AwsFundingUsed': 'Yes'|'No', 'CampaignName': 'string', 'Channels': [ 'AWS Marketing Central'|'Content Syndication'|'Display'|'Email'|'Live Event'|'Out Of Home (OOH)'|'Print'|'Search'|'Social'|'Telemarketing'|'TV'|'Video'|'Virtual Event', ], 'Source': 'Marketing Activity'|'None', 'UseCases': [ 'string', ] }, NationalSecurity='Yes'|'No', OpportunityType='Net New Business'|'Flat Renewal'|'Expansion', PartnerOpportunityIdentifier='string', PrimaryNeedsFromAws=[ 'Co-Sell - Architectural Validation'|'Co-Sell - Business Presentation'|'Co-Sell - Competitive Information'|'Co-Sell - Pricing Assistance'|'Co-Sell - Technical Consultation'|'Co-Sell - Total Cost of Ownership Evaluation'|'Co-Sell - Deal Support'|'Co-Sell - Support for Public Tender / RFx', ], Project={ 'AdditionalComments': 'string', 'ApnPrograms': [ 'string', ], 'CompetitorName': 'Oracle Cloud'|'On-Prem'|'Co-location'|'Akamai'|'AliCloud'|'Google Cloud Platform'|'IBM Softlayer'|'Microsoft Azure'|'Other- Cost Optimization'|'No Competition'|'*Other', 'CustomerBusinessProblem': 'string', 'CustomerUseCase': 'string', 'DeliveryModels': [ 'SaaS or PaaS'|'BYOL or AMI'|'Managed Services'|'Professional Services'|'Resell'|'Other', ], 'ExpectedCustomerSpend': [ { 'Amount': 'string', 'CurrencyCode': 'USD'|'EUR'|'GBP'|'AUD'|'CAD'|'CNY'|'NZD'|'INR'|'JPY'|'CHF'|'SEK'|'AED'|'AFN'|'ALL'|'AMD'|'ANG'|'AOA'|'ARS'|'AWG'|'AZN'|'BAM'|'BBD'|'BDT'|'BGN'|'BHD'|'BIF'|'BMD'|'BND'|'BOB'|'BOV'|'BRL'|'BSD'|'BTN'|'BWP'|'BYN'|'BZD'|'CDF'|'CHE'|'CHW'|'CLF'|'CLP'|'COP'|'COU'|'CRC'|'CUC'|'CUP'|'CVE'|'CZK'|'DJF'|'DKK'|'DOP'|'DZD'|'EGP'|'ERN'|'ETB'|'FJD'|'FKP'|'GEL'|'GHS'|'GIP'|'GMD'|'GNF'|'GTQ'|'GYD'|'HKD'|'HNL'|'HRK'|'HTG'|'HUF'|'IDR'|'ILS'|'IQD'|'IRR'|'ISK'|'JMD'|'JOD'|'KES'|'KGS'|'KHR'|'KMF'|'KPW'|'KRW'|'KWD'|'KYD'|'KZT'|'LAK'|'LBP'|'LKR'|'LRD'|'LSL'|'LYD'|'MAD'|'MDL'|'MGA'|'MKD'|'MMK'|'MNT'|'MOP'|'MRU'|'MUR'|'MVR'|'MWK'|'MXN'|'MXV'|'MYR'|'MZN'|'NAD'|'NGN'|'NIO'|'NOK'|'NPR'|'OMR'|'PAB'|'PEN'|'PGK'|'PHP'|'PKR'|'PLN'|'PYG'|'QAR'|'RON'|'RSD'|'RUB'|'RWF'|'SAR'|'SBD'|'SCR'|'SDG'|'SGD'|'SHP'|'SLL'|'SOS'|'SRD'|'SSP'|'STN'|'SVC'|'SYP'|'SZL'|'THB'|'TJS'|'TMT'|'TND'|'TOP'|'TRY'|'TTD'|'TWD'|'TZS'|'UAH'|'UGX'|'USN'|'UYI'|'UYU'|'UZS'|'VEF'|'VND'|'VUV'|'WST'|'XAF'|'XCD'|'XDR'|'XOF'|'XPF'|'XSU'|'XUA'|'YER'|'ZAR'|'ZMW'|'ZWL', 'EstimationUrl': 'string', 'Frequency': 'Monthly', 'TargetCompany': 'string' }, ], 'OtherCompetitorNames': 'string', 'OtherSolutionDescription': 'string', 'RelatedOpportunityIdentifier': 'string', 'SalesActivities': [ 'Initialized discussions with customer'|'Customer has shown interest in solution'|'Conducted POC / Demo'|'In evaluation / planning stage'|'Agreed on solution to Business Problem'|'Completed Action Plan'|'Finalized Deployment Need'|'SOW Signed', ], 'Title': 'string' }, SoftwareRevenue={ 'DeliveryModel': 'Contract'|'Pay-as-you-go'|'Subscription', 'EffectiveDate': 'string', 'ExpirationDate': 'string', 'Value': { 'Amount': 'string', 'CurrencyCode': 'USD'|'EUR'|'GBP'|'AUD'|'CAD'|'CNY'|'NZD'|'INR'|'JPY'|'CHF'|'SEK'|'AED'|'AFN'|'ALL'|'AMD'|'ANG'|'AOA'|'ARS'|'AWG'|'AZN'|'BAM'|'BBD'|'BDT'|'BGN'|'BHD'|'BIF'|'BMD'|'BND'|'BOB'|'BOV'|'BRL'|'BSD'|'BTN'|'BWP'|'BYN'|'BZD'|'CDF'|'CHE'|'CHW'|'CLF'|'CLP'|'COP'|'COU'|'CRC'|'CUC'|'CUP'|'CVE'|'CZK'|'DJF'|'DKK'|'DOP'|'DZD'|'EGP'|'ERN'|'ETB'|'FJD'|'FKP'|'GEL'|'GHS'|'GIP'|'GMD'|'GNF'|'GTQ'|'GYD'|'HKD'|'HNL'|'HRK'|'HTG'|'HUF'|'IDR'|'ILS'|'IQD'|'IRR'|'ISK'|'JMD'|'JOD'|'KES'|'KGS'|'KHR'|'KMF'|'KPW'|'KRW'|'KWD'|'KYD'|'KZT'|'LAK'|'LBP'|'LKR'|'LRD'|'LSL'|'LYD'|'MAD'|'MDL'|'MGA'|'MKD'|'MMK'|'MNT'|'MOP'|'MRU'|'MUR'|'MVR'|'MWK'|'MXN'|'MXV'|'MYR'|'MZN'|'NAD'|'NGN'|'NIO'|'NOK'|'NPR'|'OMR'|'PAB'|'PEN'|'PGK'|'PHP'|'PKR'|'PLN'|'PYG'|'QAR'|'RON'|'RSD'|'RUB'|'RWF'|'SAR'|'SBD'|'SCR'|'SDG'|'SGD'|'SHP'|'SLL'|'SOS'|'SRD'|'SSP'|'STN'|'SVC'|'SYP'|'SZL'|'THB'|'TJS'|'TMT'|'TND'|'TOP'|'TRY'|'TTD'|'TWD'|'TZS'|'UAH'|'UGX'|'USN'|'UYI'|'UYU'|'UZS'|'VEF'|'VND'|'VUV'|'WST'|'XAF'|'XCD'|'XDR'|'XOF'|'XPF'|'XSU'|'XUA'|'YER'|'ZAR'|'ZMW'|'ZWL' } } ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog associated with the request. This field takes a string value from a predefined list: "AWS" or "Sandbox". The catalog determines which environment the opportunity is updated in. Use "AWS" to update real opportunities in the production environment, and "Sandbox" for testing in secure, isolated environments. When you use the "Sandbox" catalog, it allows you to simulate and validate your interactions with Amazon Web Services services without affecting live data or operations. * **Customer** (*dict*) -- Specifies details of the customer associated with the "Opportunity". * **Account** *(dict) --* An object that contains the customer's account details. * **Address** *(dict) --* Specifies the end "Customer"'s address details associated with the "Opportunity". * **City** *(string) --* Specifies the end "Customer"'s city associated with the "Opportunity". * **CountryCode** *(string) --* Specifies the end "Customer"'s country associated with the "Opportunity". * **PostalCode** *(string) --* Specifies the end "Customer"'s postal code associated with the "Opportunity". * **StateOrRegion** *(string) --* Specifies the end "Customer"'s state or region associated with the "Opportunity". Valid values: "Alabama | Alaska | American Samoa | Arizona | Arkansas | California | Colorado | Connecticut | Delaware | Dist. of Columbia | Federated States of Micronesia | Florida | Georgia | Guam | Hawaii | Idaho | Illinois | Indiana | Iowa | Kansas | Kentucky | Louisiana | Maine | Marshall Islands | Maryland | Massachusetts | Michigan | Minnesota | Mississippi | Missouri | Montana | Nebraska | Nevada | New Hampshire | New Jersey | New Mexico | New York | North Carolina | North Dakota | Northern Mariana Islands | Ohio | Oklahoma | Oregon | Palau | Pennsylvania | Puerto Rico | Rhode Island | South Carolina | South Dakota | Tennessee | Texas | Utah | Vermont | Virginia | Virgin Islands | Washington | West Virginia | Wisconsin | Wyoming | APO/AE | AFO/FPO | FPO, AP" * **StreetAddress** *(string) --* Specifies the end "Customer"'s street address associated with the "Opportunity". * **AwsAccountId** *(string) --* Specifies the "Customer" Amazon Web Services account ID associated with the "Opportunity". * **CompanyName** *(string) --* **[REQUIRED]** Specifies the end "Customer"'s company name associated with the "Opportunity". * **Duns** *(string) --* Indicates the "Customer" DUNS number, if available. * **Industry** *(string) --* Specifies the industry the end "Customer" belongs to that's associated with the "Opportunity". It refers to the category or sector where the customer's business operates. This is a required field. * **OtherIndustry** *(string) --* Specifies the end "Customer"'s industry associated with the "Opportunity", when the selected value in the "Industry" field is "Other". * **WebsiteUrl** *(string) --* Specifies the end customer's company website URL associated with the "Opportunity". This value is crucial to map the customer within the Amazon Web Services CRM system. This field is required in all cases except when the opportunity is related to national security. * **Contacts** *(list) --* Represents the contact details for individuals associated with the customer of the "Opportunity". This field captures relevant contacts, including decision-makers, influencers, and technical stakeholders within the customer organization. These contacts are key to progressing the opportunity. * *(dict) --* An object that contains a "Customer Partner"'s contact details. * **BusinessTitle** *(string) --* The partner contact's title (job title or role) associated with the "Opportunity". "BusinessTitle" supports either "PartnerAccountManager" or "OpportunityOwner". * **Email** *(string) --* The contact's email address associated with the "Opportunity". * **FirstName** *(string) --* The contact's first name associated with the "Opportunity". * **LastName** *(string) --* The contact's last name associated with the "Opportunity". * **Phone** *(string) --* The contact's phone number associated with the "Opportunity". * **Identifier** (*string*) -- **[REQUIRED]** Read-only, system generated "Opportunity" unique identifier. * **LastModifiedDate** (*datetime*) -- **[REQUIRED]** "DateTime" when the opportunity was last modified. * **LifeCycle** (*dict*) -- An object that contains lifecycle details for the "Opportunity". * **ClosedLostReason** *(string) --* Specifies the reason code when an opportunity is marked as *Closed Lost*. When you select an appropriate reason code, you communicate the context for closing the "Opportunity", and aid in accurate reports and analysis of opportunity outcomes. The possible values are: * Customer Deficiency: The customer lacked necessary resources or capabilities. * Delay/Cancellation of Project: The project was delayed or canceled. * Legal/Tax/Regulatory: Legal, tax, or regulatory issues prevented progress. * Lost to Competitor—Google: The opportunity was lost to Google. * Lost to Competitor—Microsoft: The opportunity was lost to Microsoft. * Lost to Competitor—SoftLayer: The opportunity was lost to SoftLayer. * Lost to Competitor—VMWare: The opportunity was lost to VMWare. * Lost to Competitor—Other: The opportunity was lost to a competitor not listed above. * No Opportunity: There was no opportunity to pursue. * On Premises Deployment: The customer chose an on-premises solution. * Partner Gap: The partner lacked necessary resources or capabilities. * Price: The price was not competitive or acceptable to the customer. * Security/Compliance: Security or compliance issues prevented progress. * Technical Limitations: Technical limitations prevented progress. * Customer Experience: Issues related to the customer's experience impacted the decision. * Other: Any reason not covered by the other values. * People/Relationship/Governance: Issues related to people, relationships, or governance. * Product/Technology: Issues related to the product or technology. * Financial/Commercial: Financial or commercial issues impacted the decision. * **NextSteps** *(string) --* Specifies the upcoming actions or tasks for the "Opportunity". Use this field to communicate with Amazon Web Services about the next actions required for the "Opportunity". * **NextStepsHistory** *(list) --* Captures a chronological record of the next steps or actions planned or taken for the current opportunity, along with the timestamp. * *(dict) --* Read-only; shows the last 50 values and change dates for the "NextSteps" field. * **Time** *(datetime) --* **[REQUIRED]** Indicates the step execution time. * **Value** *(string) --* **[REQUIRED]** Indicates the step's execution details. * **ReviewComments** *(string) --* Indicates why an opportunity was sent back for further details. Partners must take corrective action based on the "ReviewComments". * **ReviewStatus** *(string) --* Indicates the review status of an opportunity referred by a partner. This field is read-only and only applicable for partner referrals. The possible values are: * Pending Submission: Not submitted for validation (editable). * Submitted: Submitted for validation, and Amazon Web Services hasn't reviewed it (read-only). * In Review: Amazon Web Services is validating (read-only). * Action Required: Issues that Amazon Web Services highlights need to be addressed. Partners should use the "UpdateOpportunity" API action to update the opportunity and helps to ensure that all required changes are made. Only the following fields are editable when the "Lifecycle.ReviewStatus" is "Action Required": * Customer.Account.Address.City * Customer.Account.Address.CountryCode * Customer.Account.Address.PostalCode * Customer.Account.Address.StateOrRegion * Customer.Account.Address.StreetAddress * Customer.Account.WebsiteUrl * LifeCycle.TargetCloseDate * Project.ExpectedMonthlyAWSRevenue.Amount * Project.ExpectedMonthlyAWSRevenue.CurrencyCode * Project.CustomerBusinessProblem * PartnerOpportunityIdentifier After updates, the opportunity re-enters the validation phase. This process repeats until all issues are resolved, and the opportunity's "Lifecycle.ReviewStatus" is set to "Approved" or "Rejected". * Approved: Validated and converted into the Amazon Web Services seller's pipeline (editable). * Rejected: Disqualified (read-only). * **ReviewStatusReason** *(string) --* Indicates the reason a decision was made during the opportunity review process. This field combines the reasons for both disqualified and action required statuses, and provide clarity for why an opportunity was disqualified or requires further action. * **Stage** *(string) --* Specifies the current stage of the "Opportunity"'s lifecycle as it maps to Amazon Web Services stages from the current stage in the partner CRM. This field provides a translated value of the stage, and offers insight into the "Opportunity"'s progression in the sales cycle, according to Amazon Web Services definitions. Note: A lead and a prospect must be further matured to a "Qualified" opportunity before submission. Opportunities that were closed/lost before submission aren't suitable for submission. The descriptions of each sales stage are: * Prospect: Amazon Web Services identifies the opportunity. It can be active (Comes directly from the end customer through a lead) or latent (Your account team believes it exists based on research, account plans, sales plays). * Qualified: Your account team engaged with the customer to discuss viability and requirements. The customer agreed that the opportunity is real, of interest, and may solve business/technical needs. * Technical Validation: All parties understand the implementation plan. * Business Validation: Pricing was proposed, and all parties agree to the steps to close. * Committed: The customer signed the contract, but Amazon Web Services hasn't started billing. * Launched: The workload is complete, and Amazon Web Services has started billing. * Closed Lost: The opportunity is lost, and there are no steps to move forward. * **TargetCloseDate** *(string) --* Specifies the date when Amazon Web Services expects to start significant billing, when the project finishes, and when it moves into production. This field informs the Amazon Web Services seller about when the opportunity launches and starts to incur Amazon Web Services usage. Ensure the "Target Close Date" isn't in the past. * **Marketing** (*dict*) -- An object that contains marketing details for the "Opportunity". * **AwsFundingUsed** *(string) --* Indicates if the "Opportunity" is a marketing development fund (MDF) funded activity. * **CampaignName** *(string) --* Specifies the "Opportunity" marketing campaign code. The Amazon Web Services campaign code is a reference to specific marketing initiatives, promotions, or activities. This field captures the identifier used to track and categorize the "Opportunity" within marketing campaigns. If you don't have a campaign code, contact your Amazon Web Services point of contact to obtain one. * **Channels** *(list) --* Specifies the "Opportunity"'s channel that the marketing activity is associated with or was contacted through. This field provides information about the specific marketing channel that contributed to the generation of the lead or contact. * *(string) --* * **Source** *(string) --* Indicates if the "Opportunity" was sourced from an Amazon Web Services marketing activity. Use the value "Marketing Activity". Use "None" if it's not associated with an Amazon Web Services marketing activity. This field helps Amazon Web Services track the return on marketing investments and enables better distribution of marketing budgets among partners. * **UseCases** *(list) --* Specifies the marketing activity use case or purpose that led to the "Opportunity"'s creation or contact. This field captures the context or marketing activity's execution's intention and the direct correlation to the generated opportunity or contact. Must be empty when "Marketing.AWSFundingUsed = No". Valid values: "AI/ML | Analytics | Application Integration | Blockchain | Business Applications | Cloud Financial Management | Compute | Containers | Customer Engagement | Databases | Developer Tools | End User Computing | Front End Web & Mobile | Game Tech | IoT | Management & Governance | Media Services | Migration & Transfer | Networking & Content Delivery | Quantum Technologies | Robotics | Satellite | Security | Serverless | Storage | VR & AR" * *(string) --* * **NationalSecurity** (*string*) -- Specifies if the opportunity is associated with national security concerns. This flag is only applicable when the industry is "Government". For national-security-related opportunities, validation and compliance rules may apply, impacting the opportunity's visibility and processing. * **OpportunityType** (*string*) -- Specifies the opportunity type as a renewal, new, or expansion. Opportunity types: * New opportunity: Represents a new business opportunity with a potential customer that's not previously engaged with your solutions or services. * Renewal opportunity: Represents an opportunity to renew an existing contract or subscription with a current customer, ensuring continuity of service. * Expansion opportunity: Represents an opportunity to expand the scope of an existing contract or subscription, either by adding new services or increasing the volume of existing services for a current customer. * **PartnerOpportunityIdentifier** (*string*) -- Specifies the opportunity's unique identifier in the partner's CRM system. This value is essential to track and reconcile because it's included in the outbound payload sent back to the partner. * **PrimaryNeedsFromAws** (*list*) -- Identifies the type of support the partner needs from Amazon Web Services. Valid values: * Cosell—Architectural Validation: Confirmation from Amazon Web Services that the partner's proposed solution architecture is aligned with Amazon Web Services best practices and poses minimal architectural risks. * Cosell—Business Presentation: Request Amazon Web Services seller's participation in a joint customer presentation. * Cosell—Competitive Information: Access to Amazon Web Services competitive resources and support for the partner's proposed solution. * Cosell—Pricing Assistance: Connect with an AWS seller for support situations where a partner may be receiving an upfront discount on a service (for example: EDP deals). * Cosell—Technical Consultation: Connection with an Amazon Web Services Solutions Architect to address the partner's questions about the proposed solution. * Cosell—Total Cost of Ownership Evaluation: Assistance with quoting different cost savings of proposed solutions on Amazon Web Services versus on-premises or a traditional hosting environment. * Cosell—Deal Support: Request Amazon Web Services seller's support to progress the opportunity (for example: joint customer call, strategic positioning). * Cosell—Support for Public Tender/RFx: Opportunity related to the public sector where the partner needs RFx support from Amazon Web Services. * *(string) --* * **Project** (*dict*) -- An object that contains project details summary for the "Opportunity". * **AdditionalComments** *(string) --* Captures additional comments or information for the "Opportunity" that weren't captured in other fields. * **ApnPrograms** *(list) --* Specifies the Amazon Partner Network (APN) program that influenced the "Opportunity". APN programs refer to specific partner programs or initiatives that can impact the "Opportunity". Valid values: "APN Immersion Days | APN Solution Space | ATO (Authority to Operate) | AWS Marketplace Campaign | IS Immersion Day SFID Program | ISV Workload Migration | Migration Acceleration Program | P3 | Partner Launch Initiative | Partner Opportunity Acceleration Funded | The Next Smart | VMware Cloud on AWS | Well-Architected | Windows | Workspaces/AppStream Accelerator Program | WWPS NDPP" * *(string) --* * **CompetitorName** *(string) --* Name of the "Opportunity"'s competitor (if any). Use "Other" to submit a value not in the picklist. * **CustomerBusinessProblem** *(string) --* Describes the problem the end customer has, and how the partner is helping. Utilize this field to provide a concise narrative that outlines the customer's business challenge or issue. Elaborate on how the partner's solution or offerings align to resolve the customer's business problem. Include relevant information about the partner's value proposition, unique selling points, and expertise to tackle the issue. Offer insights on how the proposed solution meets the customer's needs and provides value. Use concise language and precise descriptions to convey the context and significance of the "Opportunity". The content in this field helps Amazon Web Services understand the nature of the "Opportunity" and the strategic fit of the partner's solution. * **CustomerUseCase** *(string) --* Specifies the proposed solution focus or type of workload for the Opportunity. This field captures the primary use case or objective of the proposed solution, and provides context and clarity to the addressed workload. Valid values: "AI Machine Learning and Analytics | Archiving | Big Data: Data Warehouse/Data Integration/ETL/Data Lake/BI | Blockchain | Business Applications: Mainframe Modernization | Business Applications & Contact Center | Business Applications & SAP Production | Centralized Operations Management | Cloud Management Tools | Cloud Management Tools & DevOps with Continuous Integration & Continuous Delivery (CICD) | Configuration, Compliance & Auditing | Connected Services | Containers & Serverless | Content Delivery & Edge Services | Database | Edge Computing/End User Computing | Energy | Enterprise Governance & Controls | Enterprise Resource Planning | Financial Services | Healthcare and Life Sciences | High Performance Computing | Hybrid Application Platform | Industrial Software | IOT | Manufacturing, Supply Chain and Operations | Media & High performance computing (HPC) | Migration/Database Migration | Monitoring, logging and performance | Monitoring & Observability | Networking | Outpost | SAP | Security & Compliance | Storage & Backup | Training | VMC | VMWare | Web development & DevOps" * **DeliveryModels** *(list) --* Specifies the deployment or consumption model for your solution or service in the "Opportunity"'s context. You can select multiple options. Options' descriptions from the "Delivery Model" field are: * SaaS or PaaS: Your Amazon Web Services based solution deployed as SaaS or PaaS in your Amazon Web Services environment. * BYOL or AMI: Your Amazon Web Services based solution deployed as BYOL or AMI in the end customer's Amazon Web Services environment. * Managed Services: The end customer's Amazon Web Services business management (For example: Consulting, design, implementation, billing support, cost optimization, technical support). * Professional Services: Offerings to help enterprise end customers achieve specific business outcomes for enterprise cloud adoption (For example: Advisory or transformation planning). * Resell: Amazon Web Services accounts and billing management for your customers. * Other: Delivery model not described above. * *(string) --* * **ExpectedCustomerSpend** *(list) --* Represents the estimated amount that the customer is expected to spend on AWS services related to the opportunity. This helps in evaluating the potential financial value of the opportunity for AWS. * *(dict) --* Provides an estimate of the revenue that the partner is expected to generate from the opportunity. This information helps partners assess the financial value of the project. * **Amount** *(string) --* **[REQUIRED]** Represents the estimated monthly revenue that the partner expects to earn from the opportunity. This helps in forecasting financial returns. * **CurrencyCode** *(string) --* **[REQUIRED]** Indicates the currency in which the revenue estimate is provided. This helps in understanding the financial impact across different markets. * **EstimationUrl** *(string) --* A URL providing additional information or context about the spend estimation. * **Frequency** *(string) --* **[REQUIRED]** Indicates how frequently the customer is expected to spend the projected amount. This can include values such as "Monthly", "Quarterly", or "Annually". The default value is "Monthly", representing recurring monthly spend. * **TargetCompany** *(string) --* **[REQUIRED]** Specifies the name of the partner company that is expected to generate revenue from the opportunity. This field helps track the partner’s involvement in the opportunity. * **OtherCompetitorNames** *(string) --* Only allowed when "CompetitorNames" has "Other" selected. * **OtherSolutionDescription** *(string) --* Specifies the offered solution for the customer's business problem when the "RelatedEntityIdentifiers.Solutions" field value is "Other". * **RelatedOpportunityIdentifier** *(string) --* Specifies the current opportunity's parent opportunity identifier. * **SalesActivities** *(list) --* Specifies the "Opportunity"'s sales activities conducted with the end customer. These activities help drive Amazon Web Services assignment priority. Valid values: * Initialized discussions with customer: Initial conversations with the customer to understand their needs and introduce your solution. * Customer has shown interest in solution: After initial discussions, the customer is interested in your solution. * Conducted POC/demo: You conducted a proof of concept (POC) or demonstration of the solution for the customer. * In evaluation/planning stage: The customer is evaluating the solution and planning potential implementation. * Agreed on solution to Business Problem: Both parties agree on how the solution addresses the customer's business problem. * Completed Action Plan: A detailed action plan is complete and outlines the steps for implementation. * Finalized Deployment Need: Both parties agree with and finalized the deployment needs. * SOW Signed: Both parties signed a statement of work (SOW), and formalize the agreement and detail the project scope and deliverables. * *(string) --* * **Title** *(string) --* Specifies the "Opportunity"'s title or name. * **SoftwareRevenue** (*dict*) -- Specifies details of a customer's procurement terms. Required only for partners in eligible programs. * **DeliveryModel** *(string) --* Specifies the customer's intended payment type agreement or procurement method to acquire the solution or service outlined in the "Opportunity". * **EffectiveDate** *(string) --* Specifies the "Opportunity"'s customer engagement start date for the contract's effectiveness. * **ExpirationDate** *(string) --* Specifies the expiration date for the contract between the customer and Amazon Web Services partner. It signifies the termination date of the agreed-upon engagement period between both parties. * **Value** *(dict) --* Specifies the payment value (amount and currency). * **Amount** *(string) --* **[REQUIRED]** Specifies the payment amount. * **CurrencyCode** *(string) --* **[REQUIRED]** Specifies the payment currency. Return type: dict Returns: **Response Syntax** { 'Id': 'string', 'LastModifiedDate': datetime(2015, 1, 1) } **Response Structure** * *(dict) --* * **Id** *(string) --* Read-only, system generated "Opportunity" unique identifier. * **LastModifiedDate** *(datetime) --* "DateTime" when the opportunity was last modified. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ConflictException" * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / reject_engagement_invitation reject_engagement_invitation **************************** PartnerCentralSellingAPI.Client.reject_engagement_invitation(**kwargs) This action rejects an "EngagementInvitation" that AWS shared. Rejecting an invitation indicates that the partner doesn't want to pursue the opportunity, and all related data will become inaccessible thereafter. See also: AWS API Documentation **Request Syntax** response = client.reject_engagement_invitation( Catalog='string', Identifier='string', RejectionReason='string' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** This is the catalog that's associated with the engagement invitation. Acceptable values are "AWS" or "Sandbox", and these values determine the environment in which the opportunity is managed. * **Identifier** (*string*) -- **[REQUIRED]** This is the unique identifier of the rejected "EngagementInvitation". Providing the correct identifier helps to ensure that the intended invitation is rejected. * **RejectionReason** (*string*) -- This describes the reason for rejecting the engagement invitation, which helps AWS track usage patterns. Acceptable values include the following: * *Customer problem unclear:* The customer's problem isn't understood. * *Next steps unclear:* The next steps required to proceed aren't understood. * *Unable to support:* The partner is unable to provide support due to resource or capability constraints. * *Duplicate of partner referral:* The opportunity is a duplicate of an existing referral. * *Other:* Any reason not covered by other values. Returns: None **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ConflictException" * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / close close ***** PartnerCentralSellingAPI.Client.close() Closes underlying endpoint connections. PartnerCentralSellingAPI / Client / disassociate_opportunity disassociate_opportunity ************************ PartnerCentralSellingAPI.Client.disassociate_opportunity(**kwargs) Allows you to remove an existing association between an "Opportunity" and related entities, such as a Partner Solution, Amazon Web Services product, or an Amazon Web Services Marketplace offer. This operation is the counterpart to "AssociateOpportunity", and it provides flexibility to manage associations as business needs change. Use this operation to update the associations of an "Opportunity" due to changes in the related entities, or if an association was made in error. Ensuring accurate associations helps maintain clarity and accuracy to track and manage business opportunities. When you replace an entity, first attach the new entity and then disassociate the one to be removed, especially if it's the last remaining entity that's required. See also: AWS API Documentation **Request Syntax** response = client.disassociate_opportunity( Catalog='string', OpportunityIdentifier='string', RelatedEntityIdentifier='string', RelatedEntityType='Solutions'|'AwsProducts'|'AwsMarketplaceOffers' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog associated with the request. This field takes a string value from a predefined list: "AWS" or "Sandbox". The catalog determines which environment the opportunity disassociation is made in. Use "AWS" to disassociate opportunities in the Amazon Web Services catalog, and "Sandbox" for testing in secure, isolated environments. * **OpportunityIdentifier** (*string*) -- **[REQUIRED]** The opportunity's unique identifier for when you want to disassociate it from related entities. This identifier helps to ensure that the correct opportunity is updated. Validation: Ensure that the provided identifier corresponds to an existing opportunity in the Amazon Web Services system because incorrect identifiers result in an error and no changes are made. * **RelatedEntityIdentifier** (*string*) -- **[REQUIRED]** The related entity's identifier that you want to disassociate from the opportunity. Depending on the type of entity, this could be a simple identifier or an Amazon Resource Name (ARN) for entities managed through Amazon Web Services Marketplace. For Amazon Web Services Marketplace entities, use the Amazon Web Services Marketplace API to obtain the necessary ARNs. For guidance on retrieving these ARNs, see Amazon Web Services MarketplaceUsing the Amazon Web Services Marketplace Catalog API. Validation: Ensure the identifier or ARN is valid and corresponds to an existing entity. An incorrect or invalid identifier results in an error. * **RelatedEntityType** (*string*) -- **[REQUIRED]** The type of the entity that you're disassociating from the opportunity. When you specify the entity type, it helps the system correctly process the disassociation request to ensure that the right connections are removed. Examples of entity types include Partner Solution, Amazon Web Services product, and Amazon Web Services Marketplaceoffer. Ensure that the value matches one of the expected entity types. Validation: Provide a valid entity type to help ensure successful disassociation. An invalid or incorrect entity type results in an error. Returns: None **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / list_opportunities list_opportunities ****************** PartnerCentralSellingAPI.Client.list_opportunities(**kwargs) This request accepts a list of filters that retrieve opportunity subsets as well as sort options. This feature is available to partners from Partner Central using the "ListOpportunities" API action. To synchronize your system with Amazon Web Services, only list the opportunities that were newly created or updated. We recommend you rely on events emitted by the service into your Amazon Web Services account’s Amazon EventBridge default event bus, you can also use the "ListOpportunities" action. We recommend the following approach: * Find the latest "LastModifiedDate" that you stored, and only use the values that came from Amazon Web Services. Don’t use values generated by your system. * When you send a "ListOpportunities" request, submit the date in ISO 8601 format in the "AfterLastModifiedDate" filter. * Amazon Web Services only returns opportunities created or updated on or after that date and time. Use "NextToken" to iterate over all pages. See also: AWS API Documentation **Request Syntax** response = client.list_opportunities( Catalog='string', CustomerCompanyName=[ 'string', ], Identifier=[ 'string', ], LastModifiedDate={ 'AfterLastModifiedDate': datetime(2015, 1, 1), 'BeforeLastModifiedDate': datetime(2015, 1, 1) }, LifeCycleReviewStatus=[ 'Pending Submission'|'Submitted'|'In review'|'Approved'|'Rejected'|'Action Required', ], LifeCycleStage=[ 'Prospect'|'Qualified'|'Technical Validation'|'Business Validation'|'Committed'|'Launched'|'Closed Lost', ], MaxResults=123, NextToken='string', Sort={ 'SortBy': 'LastModifiedDate'|'Identifier'|'CustomerCompanyName', 'SortOrder': 'ASCENDING'|'DESCENDING' } ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog associated with the request. This field takes a string value from a predefined list: "AWS" or "Sandbox". The catalog determines which environment the opportunities are listed in. Use "AWS" for listing real opportunities in the Amazon Web Services catalog, and "Sandbox" for testing in secure, isolated environments. * **CustomerCompanyName** (*list*) -- Filters the opportunities based on the customer's company name. This allows partners to search for opportunities associated with a specific customer by matching the provided company name string. * *(string) --* * **Identifier** (*list*) -- Filters the opportunities based on the opportunity identifier. This allows partners to retrieve specific opportunities by providing their unique identifiers, ensuring precise results. * *(string) --* * **LastModifiedDate** (*dict*) -- Filters the opportunities based on their last modified date. This filter helps retrieve opportunities that were updated after the specified date, allowing partners to track recent changes or updates. * **AfterLastModifiedDate** *(datetime) --* Specifies the date after which the opportunities were modified. Use this filter to retrieve only those opportunities that were modified after a given timestamp. * **BeforeLastModifiedDate** *(datetime) --* Specifies the date before which the opportunities were modified. Use this filter to retrieve only those opportunities that were modified before a given timestamp. * **LifeCycleReviewStatus** (*list*) -- Filters the opportunities based on their current lifecycle approval status. Use this filter to retrieve opportunities with statuses such as "Pending Submission", "In Review", "Action Required", or "Approved". * *(string) --* * **LifeCycleStage** (*list*) -- Filters the opportunities based on their lifecycle stage. This filter allows partners to retrieve opportunities at various stages in the sales cycle, such as "Qualified", "Technical Validation", "Business Validation", or "Closed Won". * *(string) --* * **MaxResults** (*integer*) -- Specifies the maximum number of results to return in a single call. This limits the number of opportunities returned in the response to avoid providing too many results at once. Default: 20 * **NextToken** (*string*) -- A pagination token used to retrieve the next set of results in subsequent calls. This token is included in the response only if there are additional result pages available. * **Sort** (*dict*) -- An object that specifies how the response is sorted. The default "Sort.SortBy" value is "LastModifiedDate". * **SortBy** *(string) --* **[REQUIRED]** Field name to sort by. * **SortOrder** *(string) --* **[REQUIRED]** Sort order. Default: "Descending" Return type: dict Returns: **Response Syntax** { 'NextToken': 'string', 'OpportunitySummaries': [ { 'Arn': 'string', 'Catalog': 'string', 'CreatedDate': datetime(2015, 1, 1), 'Customer': { 'Account': { 'Address': { 'City': 'string', 'CountryCode': 'US'|'AF'|'AX'|'AL'|'DZ'|'AS'|'AD'|'AO'|'AI'|'AQ'|'AG'|'AR'|'AM'|'AW'|'AU'|'AT'|'AZ'|'BS'|'BH'|'BD'|'BB'|'BY'|'BE'|'BZ'|'BJ'|'BM'|'BT'|'BO'|'BQ'|'BA'|'BW'|'BV'|'BR'|'IO'|'BN'|'BG'|'BF'|'BI'|'KH'|'CM'|'CA'|'CV'|'KY'|'CF'|'TD'|'CL'|'CN'|'CX'|'CC'|'CO'|'KM'|'CG'|'CK'|'CR'|'CI'|'HR'|'CU'|'CW'|'CY'|'CZ'|'CD'|'DK'|'DJ'|'DM'|'DO'|'EC'|'EG'|'SV'|'GQ'|'ER'|'EE'|'ET'|'FK'|'FO'|'FJ'|'FI'|'FR'|'GF'|'PF'|'TF'|'GA'|'GM'|'GE'|'DE'|'GH'|'GI'|'GR'|'GL'|'GD'|'GP'|'GU'|'GT'|'GG'|'GN'|'GW'|'GY'|'HT'|'HM'|'VA'|'HN'|'HK'|'HU'|'IS'|'IN'|'ID'|'IR'|'IQ'|'IE'|'IM'|'IL'|'IT'|'JM'|'JP'|'JE'|'JO'|'KZ'|'KE'|'KI'|'KR'|'KW'|'KG'|'LA'|'LV'|'LB'|'LS'|'LR'|'LY'|'LI'|'LT'|'LU'|'MO'|'MK'|'MG'|'MW'|'MY'|'MV'|'ML'|'MT'|'MH'|'MQ'|'MR'|'MU'|'YT'|'MX'|'FM'|'MD'|'MC'|'MN'|'ME'|'MS'|'MA'|'MZ'|'MM'|'NA'|'NR'|'NP'|'NL'|'AN'|'NC'|'NZ'|'NI'|'NE'|'NG'|'NU'|'NF'|'MP'|'NO'|'OM'|'PK'|'PW'|'PS'|'PA'|'PG'|'PY'|'PE'|'PH'|'PN'|'PL'|'PT'|'PR'|'QA'|'RE'|'RO'|'RU'|'RW'|'BL'|'SH'|'KN'|'LC'|'MF'|'PM'|'VC'|'WS'|'SM'|'ST'|'SA'|'SN'|'RS'|'SC'|'SL'|'SG'|'SX'|'SK'|'SI'|'SB'|'SO'|'ZA'|'GS'|'SS'|'ES'|'LK'|'SD'|'SR'|'SJ'|'SZ'|'SE'|'CH'|'SY'|'TW'|'TJ'|'TZ'|'TH'|'TL'|'TG'|'TK'|'TO'|'TT'|'TN'|'TR'|'TM'|'TC'|'TV'|'UG'|'UA'|'AE'|'GB'|'UM'|'UY'|'UZ'|'VU'|'VE'|'VN'|'VG'|'VI'|'WF'|'EH'|'YE'|'ZM'|'ZW', 'PostalCode': 'string', 'StateOrRegion': 'string' }, 'CompanyName': 'string', 'Industry': 'Aerospace'|'Agriculture'|'Automotive'|'Computers and Electronics'|'Consumer Goods'|'Education'|'Energy - Oil and Gas'|'Energy - Power and Utilities'|'Financial Services'|'Gaming'|'Government'|'Healthcare'|'Hospitality'|'Life Sciences'|'Manufacturing'|'Marketing and Advertising'|'Media and Entertainment'|'Mining'|'Non-Profit Organization'|'Professional Services'|'Real Estate and Construction'|'Retail'|'Software and Internet'|'Telecommunications'|'Transportation and Logistics'|'Travel'|'Wholesale and Distribution'|'Other', 'OtherIndustry': 'string', 'WebsiteUrl': 'string' } }, 'Id': 'string', 'LastModifiedDate': datetime(2015, 1, 1), 'LifeCycle': { 'ClosedLostReason': 'Customer Deficiency'|'Delay / Cancellation of Project'|'Legal / Tax / Regulatory'|'Lost to Competitor - Google'|'Lost to Competitor - Microsoft'|'Lost to Competitor - SoftLayer'|'Lost to Competitor - VMWare'|'Lost to Competitor - Other'|'No Opportunity'|'On Premises Deployment'|'Partner Gap'|'Price'|'Security / Compliance'|'Technical Limitations'|'Customer Experience'|'Other'|'People/Relationship/Governance'|'Product/Technology'|'Financial/Commercial', 'NextSteps': 'string', 'ReviewComments': 'string', 'ReviewStatus': 'Pending Submission'|'Submitted'|'In review'|'Approved'|'Rejected'|'Action Required', 'ReviewStatusReason': 'string', 'Stage': 'Prospect'|'Qualified'|'Technical Validation'|'Business Validation'|'Committed'|'Launched'|'Closed Lost', 'TargetCloseDate': 'string' }, 'OpportunityType': 'Net New Business'|'Flat Renewal'|'Expansion', 'PartnerOpportunityIdentifier': 'string', 'Project': { 'DeliveryModels': [ 'SaaS or PaaS'|'BYOL or AMI'|'Managed Services'|'Professional Services'|'Resell'|'Other', ], 'ExpectedCustomerSpend': [ { 'Amount': 'string', 'CurrencyCode': 'USD'|'EUR'|'GBP'|'AUD'|'CAD'|'CNY'|'NZD'|'INR'|'JPY'|'CHF'|'SEK'|'AED'|'AFN'|'ALL'|'AMD'|'ANG'|'AOA'|'ARS'|'AWG'|'AZN'|'BAM'|'BBD'|'BDT'|'BGN'|'BHD'|'BIF'|'BMD'|'BND'|'BOB'|'BOV'|'BRL'|'BSD'|'BTN'|'BWP'|'BYN'|'BZD'|'CDF'|'CHE'|'CHW'|'CLF'|'CLP'|'COP'|'COU'|'CRC'|'CUC'|'CUP'|'CVE'|'CZK'|'DJF'|'DKK'|'DOP'|'DZD'|'EGP'|'ERN'|'ETB'|'FJD'|'FKP'|'GEL'|'GHS'|'GIP'|'GMD'|'GNF'|'GTQ'|'GYD'|'HKD'|'HNL'|'HRK'|'HTG'|'HUF'|'IDR'|'ILS'|'IQD'|'IRR'|'ISK'|'JMD'|'JOD'|'KES'|'KGS'|'KHR'|'KMF'|'KPW'|'KRW'|'KWD'|'KYD'|'KZT'|'LAK'|'LBP'|'LKR'|'LRD'|'LSL'|'LYD'|'MAD'|'MDL'|'MGA'|'MKD'|'MMK'|'MNT'|'MOP'|'MRU'|'MUR'|'MVR'|'MWK'|'MXN'|'MXV'|'MYR'|'MZN'|'NAD'|'NGN'|'NIO'|'NOK'|'NPR'|'OMR'|'PAB'|'PEN'|'PGK'|'PHP'|'PKR'|'PLN'|'PYG'|'QAR'|'RON'|'RSD'|'RUB'|'RWF'|'SAR'|'SBD'|'SCR'|'SDG'|'SGD'|'SHP'|'SLL'|'SOS'|'SRD'|'SSP'|'STN'|'SVC'|'SYP'|'SZL'|'THB'|'TJS'|'TMT'|'TND'|'TOP'|'TRY'|'TTD'|'TWD'|'TZS'|'UAH'|'UGX'|'USN'|'UYI'|'UYU'|'UZS'|'VEF'|'VND'|'VUV'|'WST'|'XAF'|'XCD'|'XDR'|'XOF'|'XPF'|'XSU'|'XUA'|'YER'|'ZAR'|'ZMW'|'ZWL', 'EstimationUrl': 'string', 'Frequency': 'Monthly', 'TargetCompany': 'string' }, ] } }, ] } **Response Structure** * *(dict) --* * **NextToken** *(string) --* A pagination token used to retrieve the next set of results in subsequent calls. This token is included in the response only if there are additional result pages available. * **OpportunitySummaries** *(list) --* An array that contains minimal details for opportunities that match the request criteria. This summary view provides a quick overview of relevant opportunities. * *(dict) --* An object that contains an "Opportunity"'s subset of fields. * **Arn** *(string) --* The Amazon Resource Name (ARN) for the opportunity. This globally unique identifier can be used for IAM policies and cross-service references. * **Catalog** *(string) --* Specifies the catalog associated with the opportunity, either "AWS" or "Sandbox". This indicates the environment in which the opportunity is managed. * **CreatedDate** *(datetime) --* "DateTime" when the "Opportunity" was last created. * **Customer** *(dict) --* An object that contains the "Opportunity"'s customer details. * **Account** *(dict) --* An object that contains a customer's account details. * **Address** *(dict) --* Specifies the end "Customer"'s address details associated with the "Opportunity". * **City** *(string) --* Specifies the end "Customer"'s city associated with the "Opportunity". * **CountryCode** *(string) --* Specifies the end "Customer"'s country associated with the "Opportunity". * **PostalCode** *(string) --* Specifies the end "Customer"'s postal code associated with the "Opportunity". * **StateOrRegion** *(string) --* Specifies the end "Customer"'s state or region associated with the "Opportunity". Valid values: "Alabama | Alaska | American Samoa | Arizona | Arkansas | California | Colorado | Connecticut | Delaware | Dist. of Columbia | Federated States of Micronesia | Florida | Georgia | Guam | Hawaii | Idaho | Illinois | Indiana | Iowa | Kansas | Kentucky | Louisiana | Maine | Marshall Islands | Maryland | Massachusetts | Michigan | Minnesota | Mississippi | Missouri | Montana | Nebraska | Nevada | New Hampshire | New Jersey | New Mexico | New York | North Carolina | North Dakota | Northern Mariana Islands | Ohio | Oklahoma | Oregon | Palau | Pennsylvania | Puerto Rico | Rhode Island | South Carolina | South Dakota | Tennessee | Texas | Utah | Vermont | Virginia | Virgin Islands | Washington | West Virginia | Wisconsin | Wyoming | APO/AE | AFO/FPO | FPO, AP" * **CompanyName** *(string) --* Specifies the end "Customer"'s company name associated with the "Opportunity". * **Industry** *(string) --* Specifies which industry the end "Customer" belongs to associated with the "Opportunity". It refers to the category or sector that the customer's business operates in. To submit a value outside the picklist, use "Other". Conditionally mandatory if "Other" is selected for Industry Vertical in LOVs. * **OtherIndustry** *(string) --* Specifies the end "Customer"'s industry associated with the "Opportunity", when the selected value in the "Industry" field is "Other". This field is relevant when the customer's industry doesn't fall under the predefined picklist values and requires a custom description. * **WebsiteUrl** *(string) --* Specifies the end customer's company website URL associated with the "Opportunity". This value is crucial to map the customer within the Amazon Web Services CRM system. * **Id** *(string) --* Read-only, system-generated "Opportunity" unique identifier. * **LastModifiedDate** *(datetime) --* "DateTime" when the "Opportunity" was last modified. * **LifeCycle** *(dict) --* An object that contains the "Opportunity"'s lifecycle details. * **ClosedLostReason** *(string) --* Specifies the reason code when an opportunity is marked as *Closed Lost*. When you select an appropriate reason code, you communicate the context for closing the "Opportunity", and aid in accurate reports and analysis of opportunity outcomes. * **NextSteps** *(string) --* Specifies the upcoming actions or tasks for the "Opportunity". This field is utilized to communicate to Amazon Web Services the next actions required for the "Opportunity". * **ReviewComments** *(string) --* Indicates why an opportunity was sent back for further details. Partners must take corrective action based on the "ReviewComments". * **ReviewStatus** *(string) --* Indicates the review status of a partner referred opportunity. This field is read-only and only applicable for partner referrals. Valid values: * Pending Submission: Not submitted for validation (editable). * Submitted: Submitted for validation and not yet Amazon Web Services reviewed (read-only). * In Review: Undergoing Amazon Web Services validation (read-only). * Action Required: Address any issues Amazon Web Services highlights. Use the "UpdateOpportunity" API action to update the opportunity, and ensure you make all required changes. Only these fields are editable when the "Lifecycle.ReviewStatus" is "Action Required": * Customer.Account.Address.City * Customer.Account.Address.CountryCode * Customer.Account.Address.PostalCode * Customer.Account.Address.StateOrRegion * Customer.Account.Address.StreetAddress * Customer.Account.WebsiteUrl * LifeCycle.TargetCloseDate * Project.ExpectedCustomerSpend.Amount * Project.ExpectedCustomerSpend.CurrencyCode * Project.CustomerBusinessProblem * PartnerOpportunityIdentifier After updates, the opportunity re-enters the validation phase. This process repeats until all issues are resolved, and the opportunity's "Lifecycle.ReviewStatus" is set to "Approved" or "Rejected". * Approved: Validated and converted into the Amazon Web Services seller's pipeline (editable). * Rejected: Disqualified (read-only). * **ReviewStatusReason** *(string) --* Indicates the reason a specific decision was taken during the opportunity review process. This field combines the reasons for both disqualified and action required statuses, and provides clarity for why an opportunity was disqualified or required further action. * **Stage** *(string) --* Specifies the current stage of the "Opportunity"'s lifecycle as it maps to Amazon Web Services stages from the current stage in the partner CRM. This field provides a translated value of the stage, and offers insight into the "Opportunity"'s progression in the sales cycle, according to Amazon Web Services definitions. Note: A lead and a prospect must be further matured to a "Qualified" opportunity before submission. Opportunities that were closed/lost before submission aren't suitable for submission. The descriptions of each sales stage are: * Prospect: Amazon Web Services identifies the opportunity. It can be active (Comes directly from the end customer through a lead) or latent (Your account team believes it exists based on research, account plans, sales plays). * Qualified: Your account team engaged with the customer to discuss viability and understand requirements. The customer agreed that the opportunity is real, of interest, and may solve business/technical needs. * Technical Validation: All parties understand the implementation plan. * Business Validation: Pricing was proposed, and all parties agree to the steps to close. * Committed: The customer signed the contract, but Amazon Web Services hasn't started billing. * Launched: The workload is complete, and Amazon Web Services has started billing. * Closed Lost: The opportunity is lost, and there are no steps to move forward. * **TargetCloseDate** *(string) --* Specifies the date when Amazon Web Services expects to start significant billing, when the project finishes, and when it moves into production. This field informs the Amazon Web Services seller about when the opportunity launches and starts to incur Amazon Web Services usage. Ensure the "Target Close Date" isn't in the past. * **OpportunityType** *(string) --* Specifies opportunity type as a renewal, new, or expansion. Opportunity types: * New Opportunity: Represents a new business opportunity with a potential customer that's not previously engaged with your solutions or services. * Renewal Opportunity: Represents an opportunity to renew an existing contract or subscription with a current customer, ensuring continuity of service. * Expansion Opportunity: Represents an opportunity to expand the scope of an existing contract or subscription, either by adding new services or increasing the volume of existing services for a current customer. * **PartnerOpportunityIdentifier** *(string) --* Specifies the "Opportunity"'s unique identifier in the partner's CRM system. This value is essential to track and reconcile because it's included in the outbound payload sent back to the partner. It allows partners to link an opportunity to their CRM. * **Project** *(dict) --* An object that contains the "Opportunity"'s project details summary. * **DeliveryModels** *(list) --* Specifies your solution or service's deployment or consumption model in the "Opportunity"'s context. You can select multiple options. Options' descriptions from the "Delivery Model" field are: * SaaS or PaaS: Your Amazon Web Services based solution deployed as SaaS or PaaS in your Amazon Web Services environment. * BYOL or AMI: Your Amazon Web Services based solution deployed as BYOL or AMI in the end customer's Amazon Web Services environment. * Managed Services: The end customer's Amazon Web Services business management (For example: Consulting, design, implementation, billing support, cost optimization, technical support). * Professional Services: Offerings to help enterprise end customers achieve specific business outcomes for enterprise cloud adoption (For example: Advisory or transformation planning). * Resell: Amazon Web Services accounts and billing management for your customers. * Other: Delivery model not described above. * *(string) --* * **ExpectedCustomerSpend** *(list) --* Provides a summary of the expected customer spend for the project, offering a high-level view of the potential financial impact. * *(dict) --* Provides an estimate of the revenue that the partner is expected to generate from the opportunity. This information helps partners assess the financial value of the project. * **Amount** *(string) --* Represents the estimated monthly revenue that the partner expects to earn from the opportunity. This helps in forecasting financial returns. * **CurrencyCode** *(string) --* Indicates the currency in which the revenue estimate is provided. This helps in understanding the financial impact across different markets. * **EstimationUrl** *(string) --* A URL providing additional information or context about the spend estimation. * **Frequency** *(string) --* Indicates how frequently the customer is expected to spend the projected amount. This can include values such as "Monthly", "Quarterly", or "Annually". The default value is "Monthly", representing recurring monthly spend. * **TargetCompany** *(string) --* Specifies the name of the partner company that is expected to generate revenue from the opportunity. This field helps track the partner’s involvement in the opportunity. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / create_opportunity create_opportunity ****************** PartnerCentralSellingAPI.Client.create_opportunity(**kwargs) Creates an "Opportunity" record in Partner Central. Use this operation to create a potential business opportunity for submission to Amazon Web Services. Creating an opportunity sets "Lifecycle.ReviewStatus" to "Pending Submission". To submit an opportunity, follow these steps: * To create the opportunity, use "CreateOpportunity". * To associate a solution with the opportunity, use "AssociateOpportunity". * To start the engagement with AWS, use "StartEngagementFromOpportunity". After submission, you can't edit the opportunity until the review is complete. But opportunities in the "Pending Submission" state must have complete details. You can update the opportunity while it's in the "Pending Submission" state. There's a set of mandatory fields to create opportunities, but consider providing optional fields to enrich the opportunity record. See also: AWS API Documentation **Request Syntax** response = client.create_opportunity( Catalog='string', ClientToken='string', Customer={ 'Account': { 'Address': { 'City': 'string', 'CountryCode': 'US'|'AF'|'AX'|'AL'|'DZ'|'AS'|'AD'|'AO'|'AI'|'AQ'|'AG'|'AR'|'AM'|'AW'|'AU'|'AT'|'AZ'|'BS'|'BH'|'BD'|'BB'|'BY'|'BE'|'BZ'|'BJ'|'BM'|'BT'|'BO'|'BQ'|'BA'|'BW'|'BV'|'BR'|'IO'|'BN'|'BG'|'BF'|'BI'|'KH'|'CM'|'CA'|'CV'|'KY'|'CF'|'TD'|'CL'|'CN'|'CX'|'CC'|'CO'|'KM'|'CG'|'CK'|'CR'|'CI'|'HR'|'CU'|'CW'|'CY'|'CZ'|'CD'|'DK'|'DJ'|'DM'|'DO'|'EC'|'EG'|'SV'|'GQ'|'ER'|'EE'|'ET'|'FK'|'FO'|'FJ'|'FI'|'FR'|'GF'|'PF'|'TF'|'GA'|'GM'|'GE'|'DE'|'GH'|'GI'|'GR'|'GL'|'GD'|'GP'|'GU'|'GT'|'GG'|'GN'|'GW'|'GY'|'HT'|'HM'|'VA'|'HN'|'HK'|'HU'|'IS'|'IN'|'ID'|'IR'|'IQ'|'IE'|'IM'|'IL'|'IT'|'JM'|'JP'|'JE'|'JO'|'KZ'|'KE'|'KI'|'KR'|'KW'|'KG'|'LA'|'LV'|'LB'|'LS'|'LR'|'LY'|'LI'|'LT'|'LU'|'MO'|'MK'|'MG'|'MW'|'MY'|'MV'|'ML'|'MT'|'MH'|'MQ'|'MR'|'MU'|'YT'|'MX'|'FM'|'MD'|'MC'|'MN'|'ME'|'MS'|'MA'|'MZ'|'MM'|'NA'|'NR'|'NP'|'NL'|'AN'|'NC'|'NZ'|'NI'|'NE'|'NG'|'NU'|'NF'|'MP'|'NO'|'OM'|'PK'|'PW'|'PS'|'PA'|'PG'|'PY'|'PE'|'PH'|'PN'|'PL'|'PT'|'PR'|'QA'|'RE'|'RO'|'RU'|'RW'|'BL'|'SH'|'KN'|'LC'|'MF'|'PM'|'VC'|'WS'|'SM'|'ST'|'SA'|'SN'|'RS'|'SC'|'SL'|'SG'|'SX'|'SK'|'SI'|'SB'|'SO'|'ZA'|'GS'|'SS'|'ES'|'LK'|'SD'|'SR'|'SJ'|'SZ'|'SE'|'CH'|'SY'|'TW'|'TJ'|'TZ'|'TH'|'TL'|'TG'|'TK'|'TO'|'TT'|'TN'|'TR'|'TM'|'TC'|'TV'|'UG'|'UA'|'AE'|'GB'|'UM'|'UY'|'UZ'|'VU'|'VE'|'VN'|'VG'|'VI'|'WF'|'EH'|'YE'|'ZM'|'ZW', 'PostalCode': 'string', 'StateOrRegion': 'string', 'StreetAddress': 'string' }, 'AwsAccountId': 'string', 'CompanyName': 'string', 'Duns': 'string', 'Industry': 'Aerospace'|'Agriculture'|'Automotive'|'Computers and Electronics'|'Consumer Goods'|'Education'|'Energy - Oil and Gas'|'Energy - Power and Utilities'|'Financial Services'|'Gaming'|'Government'|'Healthcare'|'Hospitality'|'Life Sciences'|'Manufacturing'|'Marketing and Advertising'|'Media and Entertainment'|'Mining'|'Non-Profit Organization'|'Professional Services'|'Real Estate and Construction'|'Retail'|'Software and Internet'|'Telecommunications'|'Transportation and Logistics'|'Travel'|'Wholesale and Distribution'|'Other', 'OtherIndustry': 'string', 'WebsiteUrl': 'string' }, 'Contacts': [ { 'BusinessTitle': 'string', 'Email': 'string', 'FirstName': 'string', 'LastName': 'string', 'Phone': 'string' }, ] }, LifeCycle={ 'ClosedLostReason': 'Customer Deficiency'|'Delay / Cancellation of Project'|'Legal / Tax / Regulatory'|'Lost to Competitor - Google'|'Lost to Competitor - Microsoft'|'Lost to Competitor - SoftLayer'|'Lost to Competitor - VMWare'|'Lost to Competitor - Other'|'No Opportunity'|'On Premises Deployment'|'Partner Gap'|'Price'|'Security / Compliance'|'Technical Limitations'|'Customer Experience'|'Other'|'People/Relationship/Governance'|'Product/Technology'|'Financial/Commercial', 'NextSteps': 'string', 'NextStepsHistory': [ { 'Time': datetime(2015, 1, 1), 'Value': 'string' }, ], 'ReviewComments': 'string', 'ReviewStatus': 'Pending Submission'|'Submitted'|'In review'|'Approved'|'Rejected'|'Action Required', 'ReviewStatusReason': 'string', 'Stage': 'Prospect'|'Qualified'|'Technical Validation'|'Business Validation'|'Committed'|'Launched'|'Closed Lost', 'TargetCloseDate': 'string' }, Marketing={ 'AwsFundingUsed': 'Yes'|'No', 'CampaignName': 'string', 'Channels': [ 'AWS Marketing Central'|'Content Syndication'|'Display'|'Email'|'Live Event'|'Out Of Home (OOH)'|'Print'|'Search'|'Social'|'Telemarketing'|'TV'|'Video'|'Virtual Event', ], 'Source': 'Marketing Activity'|'None', 'UseCases': [ 'string', ] }, NationalSecurity='Yes'|'No', OpportunityTeam=[ { 'BusinessTitle': 'string', 'Email': 'string', 'FirstName': 'string', 'LastName': 'string', 'Phone': 'string' }, ], OpportunityType='Net New Business'|'Flat Renewal'|'Expansion', Origin='AWS Referral'|'Partner Referral', PartnerOpportunityIdentifier='string', PrimaryNeedsFromAws=[ 'Co-Sell - Architectural Validation'|'Co-Sell - Business Presentation'|'Co-Sell - Competitive Information'|'Co-Sell - Pricing Assistance'|'Co-Sell - Technical Consultation'|'Co-Sell - Total Cost of Ownership Evaluation'|'Co-Sell - Deal Support'|'Co-Sell - Support for Public Tender / RFx', ], Project={ 'AdditionalComments': 'string', 'ApnPrograms': [ 'string', ], 'CompetitorName': 'Oracle Cloud'|'On-Prem'|'Co-location'|'Akamai'|'AliCloud'|'Google Cloud Platform'|'IBM Softlayer'|'Microsoft Azure'|'Other- Cost Optimization'|'No Competition'|'*Other', 'CustomerBusinessProblem': 'string', 'CustomerUseCase': 'string', 'DeliveryModels': [ 'SaaS or PaaS'|'BYOL or AMI'|'Managed Services'|'Professional Services'|'Resell'|'Other', ], 'ExpectedCustomerSpend': [ { 'Amount': 'string', 'CurrencyCode': 'USD'|'EUR'|'GBP'|'AUD'|'CAD'|'CNY'|'NZD'|'INR'|'JPY'|'CHF'|'SEK'|'AED'|'AFN'|'ALL'|'AMD'|'ANG'|'AOA'|'ARS'|'AWG'|'AZN'|'BAM'|'BBD'|'BDT'|'BGN'|'BHD'|'BIF'|'BMD'|'BND'|'BOB'|'BOV'|'BRL'|'BSD'|'BTN'|'BWP'|'BYN'|'BZD'|'CDF'|'CHE'|'CHW'|'CLF'|'CLP'|'COP'|'COU'|'CRC'|'CUC'|'CUP'|'CVE'|'CZK'|'DJF'|'DKK'|'DOP'|'DZD'|'EGP'|'ERN'|'ETB'|'FJD'|'FKP'|'GEL'|'GHS'|'GIP'|'GMD'|'GNF'|'GTQ'|'GYD'|'HKD'|'HNL'|'HRK'|'HTG'|'HUF'|'IDR'|'ILS'|'IQD'|'IRR'|'ISK'|'JMD'|'JOD'|'KES'|'KGS'|'KHR'|'KMF'|'KPW'|'KRW'|'KWD'|'KYD'|'KZT'|'LAK'|'LBP'|'LKR'|'LRD'|'LSL'|'LYD'|'MAD'|'MDL'|'MGA'|'MKD'|'MMK'|'MNT'|'MOP'|'MRU'|'MUR'|'MVR'|'MWK'|'MXN'|'MXV'|'MYR'|'MZN'|'NAD'|'NGN'|'NIO'|'NOK'|'NPR'|'OMR'|'PAB'|'PEN'|'PGK'|'PHP'|'PKR'|'PLN'|'PYG'|'QAR'|'RON'|'RSD'|'RUB'|'RWF'|'SAR'|'SBD'|'SCR'|'SDG'|'SGD'|'SHP'|'SLL'|'SOS'|'SRD'|'SSP'|'STN'|'SVC'|'SYP'|'SZL'|'THB'|'TJS'|'TMT'|'TND'|'TOP'|'TRY'|'TTD'|'TWD'|'TZS'|'UAH'|'UGX'|'USN'|'UYI'|'UYU'|'UZS'|'VEF'|'VND'|'VUV'|'WST'|'XAF'|'XCD'|'XDR'|'XOF'|'XPF'|'XSU'|'XUA'|'YER'|'ZAR'|'ZMW'|'ZWL', 'EstimationUrl': 'string', 'Frequency': 'Monthly', 'TargetCompany': 'string' }, ], 'OtherCompetitorNames': 'string', 'OtherSolutionDescription': 'string', 'RelatedOpportunityIdentifier': 'string', 'SalesActivities': [ 'Initialized discussions with customer'|'Customer has shown interest in solution'|'Conducted POC / Demo'|'In evaluation / planning stage'|'Agreed on solution to Business Problem'|'Completed Action Plan'|'Finalized Deployment Need'|'SOW Signed', ], 'Title': 'string' }, SoftwareRevenue={ 'DeliveryModel': 'Contract'|'Pay-as-you-go'|'Subscription', 'EffectiveDate': 'string', 'ExpirationDate': 'string', 'Value': { 'Amount': 'string', 'CurrencyCode': 'USD'|'EUR'|'GBP'|'AUD'|'CAD'|'CNY'|'NZD'|'INR'|'JPY'|'CHF'|'SEK'|'AED'|'AFN'|'ALL'|'AMD'|'ANG'|'AOA'|'ARS'|'AWG'|'AZN'|'BAM'|'BBD'|'BDT'|'BGN'|'BHD'|'BIF'|'BMD'|'BND'|'BOB'|'BOV'|'BRL'|'BSD'|'BTN'|'BWP'|'BYN'|'BZD'|'CDF'|'CHE'|'CHW'|'CLF'|'CLP'|'COP'|'COU'|'CRC'|'CUC'|'CUP'|'CVE'|'CZK'|'DJF'|'DKK'|'DOP'|'DZD'|'EGP'|'ERN'|'ETB'|'FJD'|'FKP'|'GEL'|'GHS'|'GIP'|'GMD'|'GNF'|'GTQ'|'GYD'|'HKD'|'HNL'|'HRK'|'HTG'|'HUF'|'IDR'|'ILS'|'IQD'|'IRR'|'ISK'|'JMD'|'JOD'|'KES'|'KGS'|'KHR'|'KMF'|'KPW'|'KRW'|'KWD'|'KYD'|'KZT'|'LAK'|'LBP'|'LKR'|'LRD'|'LSL'|'LYD'|'MAD'|'MDL'|'MGA'|'MKD'|'MMK'|'MNT'|'MOP'|'MRU'|'MUR'|'MVR'|'MWK'|'MXN'|'MXV'|'MYR'|'MZN'|'NAD'|'NGN'|'NIO'|'NOK'|'NPR'|'OMR'|'PAB'|'PEN'|'PGK'|'PHP'|'PKR'|'PLN'|'PYG'|'QAR'|'RON'|'RSD'|'RUB'|'RWF'|'SAR'|'SBD'|'SCR'|'SDG'|'SGD'|'SHP'|'SLL'|'SOS'|'SRD'|'SSP'|'STN'|'SVC'|'SYP'|'SZL'|'THB'|'TJS'|'TMT'|'TND'|'TOP'|'TRY'|'TTD'|'TWD'|'TZS'|'UAH'|'UGX'|'USN'|'UYI'|'UYU'|'UZS'|'VEF'|'VND'|'VUV'|'WST'|'XAF'|'XCD'|'XDR'|'XOF'|'XPF'|'XSU'|'XUA'|'YER'|'ZAR'|'ZMW'|'ZWL' } } ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog associated with the request. This field takes a string value from a predefined list: "AWS" or "Sandbox". The catalog determines which environment the opportunity is created in. Use "AWS" to create opportunities in the Amazon Web Services catalog, and "Sandbox" for testing in secure, isolated environments. * **ClientToken** (*string*) -- **[REQUIRED]** Required to be unique, and should be unchanging, it can be randomly generated or a meaningful string. Default: None Best practice: To help ensure uniqueness and avoid conflicts, use a Universally Unique Identifier (UUID) as the "ClientToken". You can use standard libraries from most programming languages to generate this. If you use the same client token, the API returns the following error: "Conflicting client token submitted for a new request body." This field is autopopulated if not provided. * **Customer** (*dict*) -- Specifies customer details associated with the "Opportunity". * **Account** *(dict) --* An object that contains the customer's account details. * **Address** *(dict) --* Specifies the end "Customer"'s address details associated with the "Opportunity". * **City** *(string) --* Specifies the end "Customer"'s city associated with the "Opportunity". * **CountryCode** *(string) --* Specifies the end "Customer"'s country associated with the "Opportunity". * **PostalCode** *(string) --* Specifies the end "Customer"'s postal code associated with the "Opportunity". * **StateOrRegion** *(string) --* Specifies the end "Customer"'s state or region associated with the "Opportunity". Valid values: "Alabama | Alaska | American Samoa | Arizona | Arkansas | California | Colorado | Connecticut | Delaware | Dist. of Columbia | Federated States of Micronesia | Florida | Georgia | Guam | Hawaii | Idaho | Illinois | Indiana | Iowa | Kansas | Kentucky | Louisiana | Maine | Marshall Islands | Maryland | Massachusetts | Michigan | Minnesota | Mississippi | Missouri | Montana | Nebraska | Nevada | New Hampshire | New Jersey | New Mexico | New York | North Carolina | North Dakota | Northern Mariana Islands | Ohio | Oklahoma | Oregon | Palau | Pennsylvania | Puerto Rico | Rhode Island | South Carolina | South Dakota | Tennessee | Texas | Utah | Vermont | Virginia | Virgin Islands | Washington | West Virginia | Wisconsin | Wyoming | APO/AE | AFO/FPO | FPO, AP" * **StreetAddress** *(string) --* Specifies the end "Customer"'s street address associated with the "Opportunity". * **AwsAccountId** *(string) --* Specifies the "Customer" Amazon Web Services account ID associated with the "Opportunity". * **CompanyName** *(string) --* **[REQUIRED]** Specifies the end "Customer"'s company name associated with the "Opportunity". * **Duns** *(string) --* Indicates the "Customer" DUNS number, if available. * **Industry** *(string) --* Specifies the industry the end "Customer" belongs to that's associated with the "Opportunity". It refers to the category or sector where the customer's business operates. This is a required field. * **OtherIndustry** *(string) --* Specifies the end "Customer"'s industry associated with the "Opportunity", when the selected value in the "Industry" field is "Other". * **WebsiteUrl** *(string) --* Specifies the end customer's company website URL associated with the "Opportunity". This value is crucial to map the customer within the Amazon Web Services CRM system. This field is required in all cases except when the opportunity is related to national security. * **Contacts** *(list) --* Represents the contact details for individuals associated with the customer of the "Opportunity". This field captures relevant contacts, including decision-makers, influencers, and technical stakeholders within the customer organization. These contacts are key to progressing the opportunity. * *(dict) --* An object that contains a "Customer Partner"'s contact details. * **BusinessTitle** *(string) --* The partner contact's title (job title or role) associated with the "Opportunity". "BusinessTitle" supports either "PartnerAccountManager" or "OpportunityOwner". * **Email** *(string) --* The contact's email address associated with the "Opportunity". * **FirstName** *(string) --* The contact's first name associated with the "Opportunity". * **LastName** *(string) --* The contact's last name associated with the "Opportunity". * **Phone** *(string) --* The contact's phone number associated with the "Opportunity". * **LifeCycle** (*dict*) -- An object that contains lifecycle details for the "Opportunity". * **ClosedLostReason** *(string) --* Specifies the reason code when an opportunity is marked as *Closed Lost*. When you select an appropriate reason code, you communicate the context for closing the "Opportunity", and aid in accurate reports and analysis of opportunity outcomes. The possible values are: * Customer Deficiency: The customer lacked necessary resources or capabilities. * Delay/Cancellation of Project: The project was delayed or canceled. * Legal/Tax/Regulatory: Legal, tax, or regulatory issues prevented progress. * Lost to Competitor—Google: The opportunity was lost to Google. * Lost to Competitor—Microsoft: The opportunity was lost to Microsoft. * Lost to Competitor—SoftLayer: The opportunity was lost to SoftLayer. * Lost to Competitor—VMWare: The opportunity was lost to VMWare. * Lost to Competitor—Other: The opportunity was lost to a competitor not listed above. * No Opportunity: There was no opportunity to pursue. * On Premises Deployment: The customer chose an on-premises solution. * Partner Gap: The partner lacked necessary resources or capabilities. * Price: The price was not competitive or acceptable to the customer. * Security/Compliance: Security or compliance issues prevented progress. * Technical Limitations: Technical limitations prevented progress. * Customer Experience: Issues related to the customer's experience impacted the decision. * Other: Any reason not covered by the other values. * People/Relationship/Governance: Issues related to people, relationships, or governance. * Product/Technology: Issues related to the product or technology. * Financial/Commercial: Financial or commercial issues impacted the decision. * **NextSteps** *(string) --* Specifies the upcoming actions or tasks for the "Opportunity". Use this field to communicate with Amazon Web Services about the next actions required for the "Opportunity". * **NextStepsHistory** *(list) --* Captures a chronological record of the next steps or actions planned or taken for the current opportunity, along with the timestamp. * *(dict) --* Read-only; shows the last 50 values and change dates for the "NextSteps" field. * **Time** *(datetime) --* **[REQUIRED]** Indicates the step execution time. * **Value** *(string) --* **[REQUIRED]** Indicates the step's execution details. * **ReviewComments** *(string) --* Indicates why an opportunity was sent back for further details. Partners must take corrective action based on the "ReviewComments". * **ReviewStatus** *(string) --* Indicates the review status of an opportunity referred by a partner. This field is read-only and only applicable for partner referrals. The possible values are: * Pending Submission: Not submitted for validation (editable). * Submitted: Submitted for validation, and Amazon Web Services hasn't reviewed it (read-only). * In Review: Amazon Web Services is validating (read-only). * Action Required: Issues that Amazon Web Services highlights need to be addressed. Partners should use the "UpdateOpportunity" API action to update the opportunity and helps to ensure that all required changes are made. Only the following fields are editable when the "Lifecycle.ReviewStatus" is "Action Required": * Customer.Account.Address.City * Customer.Account.Address.CountryCode * Customer.Account.Address.PostalCode * Customer.Account.Address.StateOrRegion * Customer.Account.Address.StreetAddress * Customer.Account.WebsiteUrl * LifeCycle.TargetCloseDate * Project.ExpectedMonthlyAWSRevenue.Amount * Project.ExpectedMonthlyAWSRevenue.CurrencyCode * Project.CustomerBusinessProblem * PartnerOpportunityIdentifier After updates, the opportunity re-enters the validation phase. This process repeats until all issues are resolved, and the opportunity's "Lifecycle.ReviewStatus" is set to "Approved" or "Rejected". * Approved: Validated and converted into the Amazon Web Services seller's pipeline (editable). * Rejected: Disqualified (read-only). * **ReviewStatusReason** *(string) --* Indicates the reason a decision was made during the opportunity review process. This field combines the reasons for both disqualified and action required statuses, and provide clarity for why an opportunity was disqualified or requires further action. * **Stage** *(string) --* Specifies the current stage of the "Opportunity"'s lifecycle as it maps to Amazon Web Services stages from the current stage in the partner CRM. This field provides a translated value of the stage, and offers insight into the "Opportunity"'s progression in the sales cycle, according to Amazon Web Services definitions. Note: A lead and a prospect must be further matured to a "Qualified" opportunity before submission. Opportunities that were closed/lost before submission aren't suitable for submission. The descriptions of each sales stage are: * Prospect: Amazon Web Services identifies the opportunity. It can be active (Comes directly from the end customer through a lead) or latent (Your account team believes it exists based on research, account plans, sales plays). * Qualified: Your account team engaged with the customer to discuss viability and requirements. The customer agreed that the opportunity is real, of interest, and may solve business/technical needs. * Technical Validation: All parties understand the implementation plan. * Business Validation: Pricing was proposed, and all parties agree to the steps to close. * Committed: The customer signed the contract, but Amazon Web Services hasn't started billing. * Launched: The workload is complete, and Amazon Web Services has started billing. * Closed Lost: The opportunity is lost, and there are no steps to move forward. * **TargetCloseDate** *(string) --* Specifies the date when Amazon Web Services expects to start significant billing, when the project finishes, and when it moves into production. This field informs the Amazon Web Services seller about when the opportunity launches and starts to incur Amazon Web Services usage. Ensure the "Target Close Date" isn't in the past. * **Marketing** (*dict*) -- This object contains marketing details and is optional for an opportunity. * **AwsFundingUsed** *(string) --* Indicates if the "Opportunity" is a marketing development fund (MDF) funded activity. * **CampaignName** *(string) --* Specifies the "Opportunity" marketing campaign code. The Amazon Web Services campaign code is a reference to specific marketing initiatives, promotions, or activities. This field captures the identifier used to track and categorize the "Opportunity" within marketing campaigns. If you don't have a campaign code, contact your Amazon Web Services point of contact to obtain one. * **Channels** *(list) --* Specifies the "Opportunity"'s channel that the marketing activity is associated with or was contacted through. This field provides information about the specific marketing channel that contributed to the generation of the lead or contact. * *(string) --* * **Source** *(string) --* Indicates if the "Opportunity" was sourced from an Amazon Web Services marketing activity. Use the value "Marketing Activity". Use "None" if it's not associated with an Amazon Web Services marketing activity. This field helps Amazon Web Services track the return on marketing investments and enables better distribution of marketing budgets among partners. * **UseCases** *(list) --* Specifies the marketing activity use case or purpose that led to the "Opportunity"'s creation or contact. This field captures the context or marketing activity's execution's intention and the direct correlation to the generated opportunity or contact. Must be empty when "Marketing.AWSFundingUsed = No". Valid values: "AI/ML | Analytics | Application Integration | Blockchain | Business Applications | Cloud Financial Management | Compute | Containers | Customer Engagement | Databases | Developer Tools | End User Computing | Front End Web & Mobile | Game Tech | IoT | Management & Governance | Media Services | Migration & Transfer | Networking & Content Delivery | Quantum Technologies | Robotics | Satellite | Security | Serverless | Storage | VR & AR" * *(string) --* * **NationalSecurity** (*string*) -- Indicates whether the "Opportunity" pertains to a national security project. This field must be set to "true" only when the customer's industry is *Government*. Additional privacy and security measures apply during the review and management process for opportunities marked as "NationalSecurity". * **OpportunityTeam** (*list*) -- Represents the internal team handling the opportunity. Specify collaborating members of this opportunity who are within the partner's organization. * *(dict) --* An object that contains a "Customer Partner"'s contact details. * **BusinessTitle** *(string) --* The partner contact's title (job title or role) associated with the "Opportunity". "BusinessTitle" supports either "PartnerAccountManager" or "OpportunityOwner". * **Email** *(string) --* The contact's email address associated with the "Opportunity". * **FirstName** *(string) --* The contact's first name associated with the "Opportunity". * **LastName** *(string) --* The contact's last name associated with the "Opportunity". * **Phone** *(string) --* The contact's phone number associated with the "Opportunity". * **OpportunityType** (*string*) -- Specifies the opportunity type as a renewal, new, or expansion. Opportunity types: * New opportunity: Represents a new business opportunity with a potential customer that's not previously engaged with your solutions or services. * Renewal opportunity: Represents an opportunity to renew an existing contract or subscription with a current customer, ensuring continuity of service. * Expansion opportunity: Represents an opportunity to expand the scope of an existing contract or subscription, either by adding new services or increasing the volume of existing services for a current customer. * **Origin** (*string*) -- Specifies the origin of the opportunity, indicating if it was sourced from Amazon Web Services or the partner. For all opportunities created with "Catalog: AWS", this field must only be "Partner Referral". However, when using "Catalog: Sandbox", you can set this field to "AWS Referral" to simulate Amazon Web Services referral creation. This allows Amazon Web Services-originated flows testing in the sandbox catalog. * **PartnerOpportunityIdentifier** (*string*) -- Specifies the opportunity's unique identifier in the partner's CRM system. This value is essential to track and reconcile because it's included in the outbound payload to the partner. This field allows partners to link an opportunity to their CRM, which helps to ensure seamless integration and accurate synchronization between the Partner Central API and the partner's internal systems. * **PrimaryNeedsFromAws** (*list*) -- Identifies the type of support the partner needs from Amazon Web Services. Valid values: * Cosell—Architectural Validation: Confirmation from Amazon Web Services that the partner's proposed solution architecture is aligned with Amazon Web Services best practices and poses minimal architectural risks. * Cosell—Business Presentation: Request Amazon Web Services seller's participation in a joint customer presentation. * Cosell—Competitive Information: Access to Amazon Web Services competitive resources and support for the partner's proposed solution. * Cosell—Pricing Assistance: Connect with an Amazon Web Services seller for support situations where a partner may be receiving an upfront discount on a service (for example: EDP deals). * Cosell—Technical Consultation: Connect with an Amazon Web Services Solutions Architect to address the partner's questions about the proposed solution. * Cosell—Total Cost of Ownership Evaluation: Assistance with quoting different cost savings of proposed solutions on Amazon Web Services versus on-premises or a traditional hosting environment. * Cosell—Deal Support: Request Amazon Web Services seller's support to progress the opportunity (for example: joint customer call, strategic positioning). * Cosell—Support for Public Tender/RFx: Opportunity related to the public sector where the partner needs Amazon Web Services RFx support. * *(string) --* * **Project** (*dict*) -- An object that contains project details for the "Opportunity". * **AdditionalComments** *(string) --* Captures additional comments or information for the "Opportunity" that weren't captured in other fields. * **ApnPrograms** *(list) --* Specifies the Amazon Partner Network (APN) program that influenced the "Opportunity". APN programs refer to specific partner programs or initiatives that can impact the "Opportunity". Valid values: "APN Immersion Days | APN Solution Space | ATO (Authority to Operate) | AWS Marketplace Campaign | IS Immersion Day SFID Program | ISV Workload Migration | Migration Acceleration Program | P3 | Partner Launch Initiative | Partner Opportunity Acceleration Funded | The Next Smart | VMware Cloud on AWS | Well-Architected | Windows | Workspaces/AppStream Accelerator Program | WWPS NDPP" * *(string) --* * **CompetitorName** *(string) --* Name of the "Opportunity"'s competitor (if any). Use "Other" to submit a value not in the picklist. * **CustomerBusinessProblem** *(string) --* Describes the problem the end customer has, and how the partner is helping. Utilize this field to provide a concise narrative that outlines the customer's business challenge or issue. Elaborate on how the partner's solution or offerings align to resolve the customer's business problem. Include relevant information about the partner's value proposition, unique selling points, and expertise to tackle the issue. Offer insights on how the proposed solution meets the customer's needs and provides value. Use concise language and precise descriptions to convey the context and significance of the "Opportunity". The content in this field helps Amazon Web Services understand the nature of the "Opportunity" and the strategic fit of the partner's solution. * **CustomerUseCase** *(string) --* Specifies the proposed solution focus or type of workload for the Opportunity. This field captures the primary use case or objective of the proposed solution, and provides context and clarity to the addressed workload. Valid values: "AI Machine Learning and Analytics | Archiving | Big Data: Data Warehouse/Data Integration/ETL/Data Lake/BI | Blockchain | Business Applications: Mainframe Modernization | Business Applications & Contact Center | Business Applications & SAP Production | Centralized Operations Management | Cloud Management Tools | Cloud Management Tools & DevOps with Continuous Integration & Continuous Delivery (CICD) | Configuration, Compliance & Auditing | Connected Services | Containers & Serverless | Content Delivery & Edge Services | Database | Edge Computing/End User Computing | Energy | Enterprise Governance & Controls | Enterprise Resource Planning | Financial Services | Healthcare and Life Sciences | High Performance Computing | Hybrid Application Platform | Industrial Software | IOT | Manufacturing, Supply Chain and Operations | Media & High performance computing (HPC) | Migration/Database Migration | Monitoring, logging and performance | Monitoring & Observability | Networking | Outpost | SAP | Security & Compliance | Storage & Backup | Training | VMC | VMWare | Web development & DevOps" * **DeliveryModels** *(list) --* Specifies the deployment or consumption model for your solution or service in the "Opportunity"'s context. You can select multiple options. Options' descriptions from the "Delivery Model" field are: * SaaS or PaaS: Your Amazon Web Services based solution deployed as SaaS or PaaS in your Amazon Web Services environment. * BYOL or AMI: Your Amazon Web Services based solution deployed as BYOL or AMI in the end customer's Amazon Web Services environment. * Managed Services: The end customer's Amazon Web Services business management (For example: Consulting, design, implementation, billing support, cost optimization, technical support). * Professional Services: Offerings to help enterprise end customers achieve specific business outcomes for enterprise cloud adoption (For example: Advisory or transformation planning). * Resell: Amazon Web Services accounts and billing management for your customers. * Other: Delivery model not described above. * *(string) --* * **ExpectedCustomerSpend** *(list) --* Represents the estimated amount that the customer is expected to spend on AWS services related to the opportunity. This helps in evaluating the potential financial value of the opportunity for AWS. * *(dict) --* Provides an estimate of the revenue that the partner is expected to generate from the opportunity. This information helps partners assess the financial value of the project. * **Amount** *(string) --* **[REQUIRED]** Represents the estimated monthly revenue that the partner expects to earn from the opportunity. This helps in forecasting financial returns. * **CurrencyCode** *(string) --* **[REQUIRED]** Indicates the currency in which the revenue estimate is provided. This helps in understanding the financial impact across different markets. * **EstimationUrl** *(string) --* A URL providing additional information or context about the spend estimation. * **Frequency** *(string) --* **[REQUIRED]** Indicates how frequently the customer is expected to spend the projected amount. This can include values such as "Monthly", "Quarterly", or "Annually". The default value is "Monthly", representing recurring monthly spend. * **TargetCompany** *(string) --* **[REQUIRED]** Specifies the name of the partner company that is expected to generate revenue from the opportunity. This field helps track the partner’s involvement in the opportunity. * **OtherCompetitorNames** *(string) --* Only allowed when "CompetitorNames" has "Other" selected. * **OtherSolutionDescription** *(string) --* Specifies the offered solution for the customer's business problem when the "RelatedEntityIdentifiers.Solutions" field value is "Other". * **RelatedOpportunityIdentifier** *(string) --* Specifies the current opportunity's parent opportunity identifier. * **SalesActivities** *(list) --* Specifies the "Opportunity"'s sales activities conducted with the end customer. These activities help drive Amazon Web Services assignment priority. Valid values: * Initialized discussions with customer: Initial conversations with the customer to understand their needs and introduce your solution. * Customer has shown interest in solution: After initial discussions, the customer is interested in your solution. * Conducted POC/demo: You conducted a proof of concept (POC) or demonstration of the solution for the customer. * In evaluation/planning stage: The customer is evaluating the solution and planning potential implementation. * Agreed on solution to Business Problem: Both parties agree on how the solution addresses the customer's business problem. * Completed Action Plan: A detailed action plan is complete and outlines the steps for implementation. * Finalized Deployment Need: Both parties agree with and finalized the deployment needs. * SOW Signed: Both parties signed a statement of work (SOW), and formalize the agreement and detail the project scope and deliverables. * *(string) --* * **Title** *(string) --* Specifies the "Opportunity"'s title or name. * **SoftwareRevenue** (*dict*) -- Specifies details of a customer's procurement terms. This is required only for partners in eligible programs. * **DeliveryModel** *(string) --* Specifies the customer's intended payment type agreement or procurement method to acquire the solution or service outlined in the "Opportunity". * **EffectiveDate** *(string) --* Specifies the "Opportunity"'s customer engagement start date for the contract's effectiveness. * **ExpirationDate** *(string) --* Specifies the expiration date for the contract between the customer and Amazon Web Services partner. It signifies the termination date of the agreed-upon engagement period between both parties. * **Value** *(dict) --* Specifies the payment value (amount and currency). * **Amount** *(string) --* **[REQUIRED]** Specifies the payment amount. * **CurrencyCode** *(string) --* **[REQUIRED]** Specifies the payment currency. Return type: dict Returns: **Response Syntax** { 'Id': 'string', 'LastModifiedDate': datetime(2015, 1, 1), 'PartnerOpportunityIdentifier': 'string' } **Response Structure** * *(dict) --* * **Id** *(string) --* Read-only, system-generated "Opportunity" unique identifier. Amazon Web Services creates this identifier, and it's used for all subsequent opportunity actions, such as updates, associations, and submissions. It helps to ensure that each opportunity is accurately tracked and managed. * **LastModifiedDate** *(datetime) --* "DateTime" when the opportunity was last modified. When the "Opportunity" is created, its value is "CreatedDate". * **PartnerOpportunityIdentifier** *(string) --* Specifies the opportunity's unique identifier in the partner's CRM system. This value is essential to track and reconcile because it's included in the outbound payload sent back to the partner. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ConflictException" * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / create_resource_snapshot_job create_resource_snapshot_job **************************** PartnerCentralSellingAPI.Client.create_resource_snapshot_job(**kwargs) 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** response = client.create_resource_snapshot_job( Catalog='string', ClientToken='string', EngagementIdentifier='string', ResourceIdentifier='string', ResourceSnapshotTemplateIdentifier='string', ResourceType='Opportunity', Tags=[ { 'Key': 'string', 'Value': 'string' }, ] ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog in which to create the snapshot job. Valid values are "AWS" and "Sandbox". * **ClientToken** (*string*) -- **[REQUIRED]** A client-generated UUID used for idempotency check. The token helps prevent duplicate job creations. This field is autopopulated if not provided. * **EngagementIdentifier** (*string*) -- **[REQUIRED]** Specifies the identifier of the engagement associated with the resource to be snapshotted. * **ResourceIdentifier** (*string*) -- **[REQUIRED]** Specifies the identifier of the specific resource to be snapshotted. The format depends on the "ResourceType". * **ResourceSnapshotTemplateIdentifier** (*string*) -- **[REQUIRED]** Specifies the name of the template that defines the schema for the snapshot. * **ResourceType** (*string*) -- **[REQUIRED]** The type of resource for which the snapshot job is being created. Must be one of the supported resource types i.e. "Opportunity" * **Tags** (*list*) -- A map of the key-value pairs of the tag or tags to assign. * *(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. Return type: 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. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ConflictException" * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ServiceQuotaExceeded Exception" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / start_engagement_from_opportunity_task start_engagement_from_opportunity_task ************************************** PartnerCentralSellingAPI.Client.start_engagement_from_opportunity_task(**kwargs) 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** response = 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' }, ] ) Parameters: * **AwsSubmission** (*dict*) -- **[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. * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog in which the engagement is tracked. Acceptable values include "AWS" for production and "Sandbox" for testing environments. * **ClientToken** (*string*) -- **[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. * **Identifier** (*string*) -- **[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. * **Tags** (*list*) -- A map of the key-value pairs of the tag or tags to assign. * *(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. Return type: 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". **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ConflictException" * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ServiceQuotaExceeded Exception" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / get_resource_snapshot get_resource_snapshot ********************* PartnerCentralSellingAPI.Client.get_resource_snapshot(**kwargs) Use this action to retrieve a specific snapshot record. See also: AWS API Documentation **Request Syntax** response = client.get_resource_snapshot( Catalog='string', EngagementIdentifier='string', ResourceIdentifier='string', ResourceSnapshotTemplateIdentifier='string', ResourceType='Opportunity', Revision=123 ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the request. Valid values are: * AWS: Retrieves the snapshot from the production AWS environment. * Sandbox: Retrieves the snapshot from a sandbox environment used for testing or development purposes. * **EngagementIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the engagement associated with the snapshot. This field links the snapshot to a specific engagement context. * **ResourceIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the specific resource that was snapshotted. The format and constraints of this identifier depend on the ResourceType specified. For "Opportunity" type, it will be an "opportunity ID" * **ResourceSnapshotTemplateIdentifier** (*string*) -- **[REQUIRED]** he name of the template that defines the schema for the snapshot. This template determines which subset of the resource data is included in the snapshot and must correspond to an existing and valid template for the specified "ResourceType". * **ResourceType** (*string*) -- **[REQUIRED]** Specifies the type of resource that was snapshotted. This field determines the structure and content of the snapshot payload. Valid value includes: "Opportunity": For opportunity- related data. * **Revision** (*integer*) -- Specifies which revision of the snapshot to retrieve. If omitted returns the latest revision. Return type: dict Returns: **Response Syntax** { 'Arn': 'string', 'Catalog': 'string', 'CreatedAt': datetime(2015, 1, 1), 'CreatedBy': 'string', 'EngagementId': 'string', 'Payload': { 'OpportunitySummary': { 'Customer': { 'Account': { 'Address': { 'City': 'string', 'CountryCode': 'US'|'AF'|'AX'|'AL'|'DZ'|'AS'|'AD'|'AO'|'AI'|'AQ'|'AG'|'AR'|'AM'|'AW'|'AU'|'AT'|'AZ'|'BS'|'BH'|'BD'|'BB'|'BY'|'BE'|'BZ'|'BJ'|'BM'|'BT'|'BO'|'BQ'|'BA'|'BW'|'BV'|'BR'|'IO'|'BN'|'BG'|'BF'|'BI'|'KH'|'CM'|'CA'|'CV'|'KY'|'CF'|'TD'|'CL'|'CN'|'CX'|'CC'|'CO'|'KM'|'CG'|'CK'|'CR'|'CI'|'HR'|'CU'|'CW'|'CY'|'CZ'|'CD'|'DK'|'DJ'|'DM'|'DO'|'EC'|'EG'|'SV'|'GQ'|'ER'|'EE'|'ET'|'FK'|'FO'|'FJ'|'FI'|'FR'|'GF'|'PF'|'TF'|'GA'|'GM'|'GE'|'DE'|'GH'|'GI'|'GR'|'GL'|'GD'|'GP'|'GU'|'GT'|'GG'|'GN'|'GW'|'GY'|'HT'|'HM'|'VA'|'HN'|'HK'|'HU'|'IS'|'IN'|'ID'|'IR'|'IQ'|'IE'|'IM'|'IL'|'IT'|'JM'|'JP'|'JE'|'JO'|'KZ'|'KE'|'KI'|'KR'|'KW'|'KG'|'LA'|'LV'|'LB'|'LS'|'LR'|'LY'|'LI'|'LT'|'LU'|'MO'|'MK'|'MG'|'MW'|'MY'|'MV'|'ML'|'MT'|'MH'|'MQ'|'MR'|'MU'|'YT'|'MX'|'FM'|'MD'|'MC'|'MN'|'ME'|'MS'|'MA'|'MZ'|'MM'|'NA'|'NR'|'NP'|'NL'|'AN'|'NC'|'NZ'|'NI'|'NE'|'NG'|'NU'|'NF'|'MP'|'NO'|'OM'|'PK'|'PW'|'PS'|'PA'|'PG'|'PY'|'PE'|'PH'|'PN'|'PL'|'PT'|'PR'|'QA'|'RE'|'RO'|'RU'|'RW'|'BL'|'SH'|'KN'|'LC'|'MF'|'PM'|'VC'|'WS'|'SM'|'ST'|'SA'|'SN'|'RS'|'SC'|'SL'|'SG'|'SX'|'SK'|'SI'|'SB'|'SO'|'ZA'|'GS'|'SS'|'ES'|'LK'|'SD'|'SR'|'SJ'|'SZ'|'SE'|'CH'|'SY'|'TW'|'TJ'|'TZ'|'TH'|'TL'|'TG'|'TK'|'TO'|'TT'|'TN'|'TR'|'TM'|'TC'|'TV'|'UG'|'UA'|'AE'|'GB'|'UM'|'UY'|'UZ'|'VU'|'VE'|'VN'|'VG'|'VI'|'WF'|'EH'|'YE'|'ZM'|'ZW', 'PostalCode': 'string', 'StateOrRegion': 'string', 'StreetAddress': 'string' }, 'AwsAccountId': 'string', 'CompanyName': 'string', 'Duns': 'string', 'Industry': 'Aerospace'|'Agriculture'|'Automotive'|'Computers and Electronics'|'Consumer Goods'|'Education'|'Energy - Oil and Gas'|'Energy - Power and Utilities'|'Financial Services'|'Gaming'|'Government'|'Healthcare'|'Hospitality'|'Life Sciences'|'Manufacturing'|'Marketing and Advertising'|'Media and Entertainment'|'Mining'|'Non-Profit Organization'|'Professional Services'|'Real Estate and Construction'|'Retail'|'Software and Internet'|'Telecommunications'|'Transportation and Logistics'|'Travel'|'Wholesale and Distribution'|'Other', 'OtherIndustry': 'string', 'WebsiteUrl': 'string' }, 'Contacts': [ { 'BusinessTitle': 'string', 'Email': 'string', 'FirstName': 'string', 'LastName': 'string', 'Phone': 'string' }, ] }, 'Lifecycle': { 'NextSteps': 'string', 'ReviewStatus': 'Pending Submission'|'Submitted'|'In review'|'Approved'|'Rejected'|'Action Required', 'Stage': 'Prospect'|'Qualified'|'Technical Validation'|'Business Validation'|'Committed'|'Launched'|'Closed Lost', 'TargetCloseDate': 'string' }, 'OpportunityTeam': [ { 'BusinessTitle': 'string', 'Email': 'string', 'FirstName': 'string', 'LastName': 'string', 'Phone': 'string' }, ], 'OpportunityType': 'Net New Business'|'Flat Renewal'|'Expansion', 'PrimaryNeedsFromAws': [ 'Co-Sell - Architectural Validation'|'Co-Sell - Business Presentation'|'Co-Sell - Competitive Information'|'Co-Sell - Pricing Assistance'|'Co-Sell - Technical Consultation'|'Co-Sell - Total Cost of Ownership Evaluation'|'Co-Sell - Deal Support'|'Co-Sell - Support for Public Tender / RFx', ], 'Project': { 'CustomerUseCase': 'string', 'DeliveryModels': [ 'SaaS or PaaS'|'BYOL or AMI'|'Managed Services'|'Professional Services'|'Resell'|'Other', ], 'ExpectedCustomerSpend': [ { 'Amount': 'string', 'CurrencyCode': 'USD'|'EUR'|'GBP'|'AUD'|'CAD'|'CNY'|'NZD'|'INR'|'JPY'|'CHF'|'SEK'|'AED'|'AFN'|'ALL'|'AMD'|'ANG'|'AOA'|'ARS'|'AWG'|'AZN'|'BAM'|'BBD'|'BDT'|'BGN'|'BHD'|'BIF'|'BMD'|'BND'|'BOB'|'BOV'|'BRL'|'BSD'|'BTN'|'BWP'|'BYN'|'BZD'|'CDF'|'CHE'|'CHW'|'CLF'|'CLP'|'COP'|'COU'|'CRC'|'CUC'|'CUP'|'CVE'|'CZK'|'DJF'|'DKK'|'DOP'|'DZD'|'EGP'|'ERN'|'ETB'|'FJD'|'FKP'|'GEL'|'GHS'|'GIP'|'GMD'|'GNF'|'GTQ'|'GYD'|'HKD'|'HNL'|'HRK'|'HTG'|'HUF'|'IDR'|'ILS'|'IQD'|'IRR'|'ISK'|'JMD'|'JOD'|'KES'|'KGS'|'KHR'|'KMF'|'KPW'|'KRW'|'KWD'|'KYD'|'KZT'|'LAK'|'LBP'|'LKR'|'LRD'|'LSL'|'LYD'|'MAD'|'MDL'|'MGA'|'MKD'|'MMK'|'MNT'|'MOP'|'MRU'|'MUR'|'MVR'|'MWK'|'MXN'|'MXV'|'MYR'|'MZN'|'NAD'|'NGN'|'NIO'|'NOK'|'NPR'|'OMR'|'PAB'|'PEN'|'PGK'|'PHP'|'PKR'|'PLN'|'PYG'|'QAR'|'RON'|'RSD'|'RUB'|'RWF'|'SAR'|'SBD'|'SCR'|'SDG'|'SGD'|'SHP'|'SLL'|'SOS'|'SRD'|'SSP'|'STN'|'SVC'|'SYP'|'SZL'|'THB'|'TJS'|'TMT'|'TND'|'TOP'|'TRY'|'TTD'|'TWD'|'TZS'|'UAH'|'UGX'|'USN'|'UYI'|'UYU'|'UZS'|'VEF'|'VND'|'VUV'|'WST'|'XAF'|'XCD'|'XDR'|'XOF'|'XPF'|'XSU'|'XUA'|'YER'|'ZAR'|'ZMW'|'ZWL', 'EstimationUrl': 'string', 'Frequency': 'Monthly', 'TargetCompany': 'string' }, ], 'OtherSolutionDescription': 'string', 'SalesActivities': [ 'Initialized discussions with customer'|'Customer has shown interest in solution'|'Conducted POC / Demo'|'In evaluation / planning stage'|'Agreed on solution to Business Problem'|'Completed Action Plan'|'Finalized Deployment Need'|'SOW Signed', ] }, 'RelatedEntityIdentifiers': { 'AwsMarketplaceOffers': [ 'string', ], 'AwsProducts': [ 'string', ], 'Solutions': [ 'string', ] } } }, 'ResourceId': 'string', 'ResourceSnapshotTemplateName': 'string', 'ResourceType': 'Opportunity', 'Revision': 123 } **Response Structure** * *(dict) --* * **Arn** *(string) --* The Amazon Resource Name (ARN) that uniquely identifies the resource snapshot. * **Catalog** *(string) --* The catalog in which the snapshot was created. Matches the Catalog specified in the request. * **CreatedAt** *(datetime) --* The timestamp when the snapshot was created, in ISO 8601 format (e.g., "2023-06-01T14:30:00Z"). This allows for precise tracking of when the snapshot was taken. * **CreatedBy** *(string) --* The AWS account ID of the principal (user or role) who created the snapshot. This helps in tracking the origin of the snapshot. * **EngagementId** *(string) --* The identifier of the engagement associated with this snapshot. Matches the EngagementIdentifier specified in the request. * **Payload** *(dict) --* Represents the payload of a resource snapshot. This structure is designed to accommodate different types of resource snapshots, currently supporting opportunity summaries. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "OpportunitySummary". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **OpportunitySummary** *(dict) --* An object that contains an "opportunity"'s subset of fields. * **Customer** *(dict) --* An object that contains the customer's "Account" and "Contact". * **Account** *(dict) --* An object that contains the customer's account details. * **Address** *(dict) --* Specifies the end "Customer"'s address details associated with the "Opportunity". * **City** *(string) --* Specifies the end "Customer"'s city associated with the "Opportunity". * **CountryCode** *(string) --* Specifies the end "Customer"'s country associated with the "Opportunity". * **PostalCode** *(string) --* Specifies the end "Customer"'s postal code associated with the "Opportunity". * **StateOrRegion** *(string) --* Specifies the end "Customer"'s state or region associated with the "Opportunity". Valid values: "Alabama | Alaska | American Samoa | Arizona | Arkansas | California | Colorado | Connecticut | Delaware | Dist. of Columbia | Federated States of Micronesia | Florida | Georgia | Guam | Hawaii | Idaho | Illinois | Indiana | Iowa | Kansas | Kentucky | Louisiana | Maine | Marshall Islands | Maryland | Massachusetts | Michigan | Minnesota | Mississippi | Missouri | Montana | Nebraska | Nevada | New Hampshire | New Jersey | New Mexico | New York | North Carolina | North Dakota | Northern Mariana Islands | Ohio | Oklahoma | Oregon | Palau | Pennsylvania | Puerto Rico | Rhode Island | South Carolina | South Dakota | Tennessee | Texas | Utah | Vermont | Virginia | Virgin Islands | Washington | West Virginia | Wisconsin | Wyoming | APO/AE | AFO/FPO | FPO, AP" * **StreetAddress** *(string) --* Specifies the end "Customer"'s street address associated with the "Opportunity". * **AwsAccountId** *(string) --* Specifies the "Customer" Amazon Web Services account ID associated with the "Opportunity". * **CompanyName** *(string) --* Specifies the end "Customer"'s company name associated with the "Opportunity". * **Duns** *(string) --* Indicates the "Customer" DUNS number, if available. * **Industry** *(string) --* Specifies the industry the end "Customer" belongs to that's associated with the "Opportunity". It refers to the category or sector where the customer's business operates. This is a required field. * **OtherIndustry** *(string) --* Specifies the end "Customer"'s industry associated with the "Opportunity", when the selected value in the "Industry" field is "Other". * **WebsiteUrl** *(string) --* Specifies the end customer's company website URL associated with the "Opportunity". This value is crucial to map the customer within the Amazon Web Services CRM system. This field is required in all cases except when the opportunity is related to national security. * **Contacts** *(list) --* Represents the contact details for individuals associated with the customer of the "Opportunity". This field captures relevant contacts, including decision-makers, influencers, and technical stakeholders within the customer organization. These contacts are key to progressing the opportunity. * *(dict) --* An object that contains a "Customer Partner"'s contact details. * **BusinessTitle** *(string) --* The partner contact's title (job title or role) associated with the "Opportunity". "BusinessTitle" supports either "PartnerAccountManager" or "OpportunityOwner". * **Email** *(string) --* The contact's email address associated with the "Opportunity". * **FirstName** *(string) --* The contact's first name associated with the "Opportunity". * **LastName** *(string) --* The contact's last name associated with the "Opportunity". * **Phone** *(string) --* The contact's phone number associated with the "Opportunity". * **Lifecycle** *(dict) --* Contains information about the opportunity's lifecycle, including its current stage, status, and important dates such as creation and last modification times. * **NextSteps** *(string) --* Describes the next steps for the opportunity shared through a snapshot. * **ReviewStatus** *(string) --* Defines the approval status of the opportunity shared through a snapshot. * **Stage** *(string) --* Defines the current stage of the opportunity shared through a snapshot. * **TargetCloseDate** *(string) --* The projected launch date of the opportunity shared through a snapshot. * **OpportunityTeam** *(list) --* Represents the internal team handling the opportunity. Specify the members involved in collaborating on an opportunity within the partner's organization. * *(dict) --* An object that contains a "Customer Partner"'s contact details. * **BusinessTitle** *(string) --* The partner contact's title (job title or role) associated with the "Opportunity". "BusinessTitle" supports either "PartnerAccountManager" or "OpportunityOwner". * **Email** *(string) --* The contact's email address associated with the "Opportunity". * **FirstName** *(string) --* The contact's first name associated with the "Opportunity". * **LastName** *(string) --* The contact's last name associated with the "Opportunity". * **Phone** *(string) --* The contact's phone number associated with the "Opportunity". * **OpportunityType** *(string) --* Specifies the opportunity type. * **PrimaryNeedsFromAws** *(list) --* Identifies the type of support the partner needs from AWS. * *(string) --* * **Project** *(dict) --* Contains summary information about the project associated with the opportunity, including project name, description, timeline, and other relevant details. * **CustomerUseCase** *(string) --* Specifies the proposed solution focus or type of workload for the project. * **DeliveryModels** *(list) --* Describes the deployment or consumption model for the partner solution or offering. This field indicates how the project's solution will be delivered or implemented for the customer. * *(string) --* * **ExpectedCustomerSpend** *(list) --* Provides information about the anticipated customer spend related to this project. This may include details such as amount, frequency, and currency of expected expenditure. * *(dict) --* Provides an estimate of the revenue that the partner is expected to generate from the opportunity. This information helps partners assess the financial value of the project. * **Amount** *(string) --* Represents the estimated monthly revenue that the partner expects to earn from the opportunity. This helps in forecasting financial returns. * **CurrencyCode** *(string) --* Indicates the currency in which the revenue estimate is provided. This helps in understanding the financial impact across different markets. * **EstimationUrl** *(string) --* A URL providing additional information or context about the spend estimation. * **Frequency** *(string) --* Indicates how frequently the customer is expected to spend the projected amount. This can include values such as "Monthly", "Quarterly", or "Annually". The default value is "Monthly", representing recurring monthly spend. * **TargetCompany** *(string) --* Specifies the name of the partner company that is expected to generate revenue from the opportunity. This field helps track the partner’s involvement in the opportunity. * **OtherSolutionDescription** *(string) --* Offers a description of other solutions if the standard solutions do not adequately cover the project's scope. * **SalesActivities** *(list) --* Lists the pre-sales activities that have occurred with the end-customer related to the opportunity. This field is conditionally mandatory when the project is qualified for Co-Sell and helps drive assignment priority on the AWS side. It provides insight into the engagement level with the customer. * *(string) --* * **RelatedEntityIdentifiers** *(dict) --* This field provides the associations' information for other entities with the opportunity. These entities include identifiers for "AWSProducts", "Partner Solutions", and "AWSMarketplaceOffers". * **AwsMarketplaceOffers** *(list) --* Takes one value per opportunity. Each value is an Amazon Resource Name (ARN), in this format: ""offers": ["arn:aws:aws-marketplace:us- east-1:999999999999:AWSMarketplace/Offer/offer- sampleOffer32"]". Use the ListEntities action in the Marketplace Catalog APIs for a list of offers in the associated Marketplace seller account. * *(string) --* * **AwsProducts** *(list) --* Enables the association of specific Amazon Web Services products with the "Opportunity". Partners can indicate the relevant Amazon Web Services products for the "Opportunity"'s solution and align with the customer's needs. Returns multiple values separated by commas. For example, ""AWSProducts" : ["AmazonRedshift", "AWSAppFabric", "AWSCleanRooms"]". Use the file with the list of Amazon Web Services products hosted on GitHub: Amazon Web Services products. * *(string) --* * **Solutions** *(list) --* Enables partner solutions or offerings' association with an opportunity. To associate a solution, provide the solution's unique identifier, which you can obtain with the "ListSolutions" operation. If the specific solution identifier is not available, you can use the value "Other" and provide details about the solution in the "otherSolutionOffered" field. But when the opportunity reaches the "Committed" stage or beyond, the "Other" value cannot be used, and a valid solution identifier must be provided. By associating the relevant solutions with the opportunity, you can communicate the offerings that are being considered or implemented to address the customer's business problem. * *(string) --* * **ResourceId** *(string) --* The identifier of the specific resource that was snapshotted. Matches the ResourceIdentifier specified in the request. * **ResourceSnapshotTemplateName** *(string) --* The name of the view used for this snapshot. This is the same as the template name. * **ResourceType** *(string) --* The type of the resource that was snapshotted. Matches the ResourceType specified in the request. * **Revision** *(integer) --* The revision number of this snapshot. This is a positive integer that is sequential and unique within the context of a resource view. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / tag_resource tag_resource ************ PartnerCentralSellingAPI.Client.tag_resource(**kwargs) Assigns one or more tags (key-value pairs) to the specified resource. See also: AWS API Documentation **Request Syntax** response = client.tag_resource( ResourceArn='string', Tags=[ { 'Key': 'string', 'Value': 'string' }, ] ) Parameters: * **ResourceArn** (*string*) -- **[REQUIRED]** The Amazon Resource Name (ARN) of the resource that you want to tag. * **Tags** (*list*) -- **[REQUIRED]** A map of the key-value pairs of the tag or tags to assign. * *(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. Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ConflictException" * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / list_engagement_resource_associations list_engagement_resource_associations ************************************* PartnerCentralSellingAPI.Client.list_engagement_resource_associations(**kwargs) Lists the associations between resources and engagements where the caller is a member and has at least one snapshot in the engagement. See also: AWS API Documentation **Request Syntax** response = client.list_engagement_resource_associations( Catalog='string', CreatedBy='string', EngagementIdentifier='string', MaxResults=123, NextToken='string', ResourceIdentifier='string', ResourceType='Opportunity' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog in which to search for engagement- resource associations. Valid Values: "AWS" or "Sandbox" * "AWS" for production environments. * "Sandbox" for testing and development purposes. * **CreatedBy** (*string*) -- Filters the response to include only snapshots of resources owned by the specified AWS account ID. Use this when you want to find associations related to resources owned by a particular account. * **EngagementIdentifier** (*string*) -- Filters the results to include only associations related to the specified engagement. Use this when you want to find all resources associated with a specific engagement. * **MaxResults** (*integer*) -- Limits the number of results returned in a single call. Use this to control the number of results returned, especially useful for pagination. * **NextToken** (*string*) -- A token used for pagination of results. Include this token in subsequent requests to retrieve the next set of results. * **ResourceIdentifier** (*string*) -- Filters the results to include only associations with the specified resource. Varies depending on the resource type. Use this when you want to find all engagements associated with a specific resource. * **ResourceType** (*string*) -- Filters the results to include only associations with resources of the specified type. Return type: dict Returns: **Response Syntax** { 'EngagementResourceAssociationSummaries': [ { 'Catalog': 'string', 'CreatedBy': 'string', 'EngagementId': 'string', 'ResourceId': 'string', 'ResourceType': 'Opportunity' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **EngagementResourceAssociationSummaries** *(list) --* A list of engagement-resource association summaries. * *(dict) --* This provide a streamlined view of the relationships between engagements and resources. These summaries offer a crucial link between collaborative engagements and the specific resources involved, such as opportunities.These summaries are particularly valuable for partners navigating complex engagements with multiple resources. They enable quick insights into resource distribution across engagements, support efficient resource management, and help maintain a clear overview of collaborative activities. * **Catalog** *(string) --* Indicates the environment in which the resource and engagement exist. * **CreatedBy** *(string) --* The AWS account ID of the entity that owns the resource. Identifies the account responsible for or having primary control over the resource. * **EngagementId** *(string) --* A unique identifier for the engagement associated with the resource. * **ResourceId** *(string) --* A unique identifier for the specific resource. Varies depending on the resource type. * **ResourceType** *(string) --* Categorizes the type of resource associated with the engagement. * **NextToken** *(string) --* A token to retrieve the next set of results. Use this token in a subsequent request to retrieve additional results if the response was truncated. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / get_opportunity get_opportunity *************** PartnerCentralSellingAPI.Client.get_opportunity(**kwargs) Fetches the "Opportunity" record from Partner Central by a given "Identifier". Use the "ListOpportunities" action or the event notification (from Amazon EventBridge) to obtain this identifier. See also: AWS API Documentation **Request Syntax** response = client.get_opportunity( Catalog='string', Identifier='string' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog associated with the request. This field takes a string value from a predefined list: "AWS" or "Sandbox". The catalog determines which environment the opportunity is fetched from. Use "AWS" to retrieve opportunities in the Amazon Web Services catalog, and "Sandbox" to retrieve opportunities in a secure, isolated testing environment. * **Identifier** (*string*) -- **[REQUIRED]** Read-only, system generated "Opportunity" unique identifier. Return type: dict Returns: **Response Syntax** { 'Arn': 'string', 'Catalog': 'string', 'CreatedDate': datetime(2015, 1, 1), 'Customer': { 'Account': { 'Address': { 'City': 'string', 'CountryCode': 'US'|'AF'|'AX'|'AL'|'DZ'|'AS'|'AD'|'AO'|'AI'|'AQ'|'AG'|'AR'|'AM'|'AW'|'AU'|'AT'|'AZ'|'BS'|'BH'|'BD'|'BB'|'BY'|'BE'|'BZ'|'BJ'|'BM'|'BT'|'BO'|'BQ'|'BA'|'BW'|'BV'|'BR'|'IO'|'BN'|'BG'|'BF'|'BI'|'KH'|'CM'|'CA'|'CV'|'KY'|'CF'|'TD'|'CL'|'CN'|'CX'|'CC'|'CO'|'KM'|'CG'|'CK'|'CR'|'CI'|'HR'|'CU'|'CW'|'CY'|'CZ'|'CD'|'DK'|'DJ'|'DM'|'DO'|'EC'|'EG'|'SV'|'GQ'|'ER'|'EE'|'ET'|'FK'|'FO'|'FJ'|'FI'|'FR'|'GF'|'PF'|'TF'|'GA'|'GM'|'GE'|'DE'|'GH'|'GI'|'GR'|'GL'|'GD'|'GP'|'GU'|'GT'|'GG'|'GN'|'GW'|'GY'|'HT'|'HM'|'VA'|'HN'|'HK'|'HU'|'IS'|'IN'|'ID'|'IR'|'IQ'|'IE'|'IM'|'IL'|'IT'|'JM'|'JP'|'JE'|'JO'|'KZ'|'KE'|'KI'|'KR'|'KW'|'KG'|'LA'|'LV'|'LB'|'LS'|'LR'|'LY'|'LI'|'LT'|'LU'|'MO'|'MK'|'MG'|'MW'|'MY'|'MV'|'ML'|'MT'|'MH'|'MQ'|'MR'|'MU'|'YT'|'MX'|'FM'|'MD'|'MC'|'MN'|'ME'|'MS'|'MA'|'MZ'|'MM'|'NA'|'NR'|'NP'|'NL'|'AN'|'NC'|'NZ'|'NI'|'NE'|'NG'|'NU'|'NF'|'MP'|'NO'|'OM'|'PK'|'PW'|'PS'|'PA'|'PG'|'PY'|'PE'|'PH'|'PN'|'PL'|'PT'|'PR'|'QA'|'RE'|'RO'|'RU'|'RW'|'BL'|'SH'|'KN'|'LC'|'MF'|'PM'|'VC'|'WS'|'SM'|'ST'|'SA'|'SN'|'RS'|'SC'|'SL'|'SG'|'SX'|'SK'|'SI'|'SB'|'SO'|'ZA'|'GS'|'SS'|'ES'|'LK'|'SD'|'SR'|'SJ'|'SZ'|'SE'|'CH'|'SY'|'TW'|'TJ'|'TZ'|'TH'|'TL'|'TG'|'TK'|'TO'|'TT'|'TN'|'TR'|'TM'|'TC'|'TV'|'UG'|'UA'|'AE'|'GB'|'UM'|'UY'|'UZ'|'VU'|'VE'|'VN'|'VG'|'VI'|'WF'|'EH'|'YE'|'ZM'|'ZW', 'PostalCode': 'string', 'StateOrRegion': 'string', 'StreetAddress': 'string' }, 'AwsAccountId': 'string', 'CompanyName': 'string', 'Duns': 'string', 'Industry': 'Aerospace'|'Agriculture'|'Automotive'|'Computers and Electronics'|'Consumer Goods'|'Education'|'Energy - Oil and Gas'|'Energy - Power and Utilities'|'Financial Services'|'Gaming'|'Government'|'Healthcare'|'Hospitality'|'Life Sciences'|'Manufacturing'|'Marketing and Advertising'|'Media and Entertainment'|'Mining'|'Non-Profit Organization'|'Professional Services'|'Real Estate and Construction'|'Retail'|'Software and Internet'|'Telecommunications'|'Transportation and Logistics'|'Travel'|'Wholesale and Distribution'|'Other', 'OtherIndustry': 'string', 'WebsiteUrl': 'string' }, 'Contacts': [ { 'BusinessTitle': 'string', 'Email': 'string', 'FirstName': 'string', 'LastName': 'string', 'Phone': 'string' }, ] }, 'Id': 'string', 'LastModifiedDate': datetime(2015, 1, 1), 'LifeCycle': { 'ClosedLostReason': 'Customer Deficiency'|'Delay / Cancellation of Project'|'Legal / Tax / Regulatory'|'Lost to Competitor - Google'|'Lost to Competitor - Microsoft'|'Lost to Competitor - SoftLayer'|'Lost to Competitor - VMWare'|'Lost to Competitor - Other'|'No Opportunity'|'On Premises Deployment'|'Partner Gap'|'Price'|'Security / Compliance'|'Technical Limitations'|'Customer Experience'|'Other'|'People/Relationship/Governance'|'Product/Technology'|'Financial/Commercial', 'NextSteps': 'string', 'NextStepsHistory': [ { 'Time': datetime(2015, 1, 1), 'Value': 'string' }, ], 'ReviewComments': 'string', 'ReviewStatus': 'Pending Submission'|'Submitted'|'In review'|'Approved'|'Rejected'|'Action Required', 'ReviewStatusReason': 'string', 'Stage': 'Prospect'|'Qualified'|'Technical Validation'|'Business Validation'|'Committed'|'Launched'|'Closed Lost', 'TargetCloseDate': 'string' }, 'Marketing': { 'AwsFundingUsed': 'Yes'|'No', 'CampaignName': 'string', 'Channels': [ 'AWS Marketing Central'|'Content Syndication'|'Display'|'Email'|'Live Event'|'Out Of Home (OOH)'|'Print'|'Search'|'Social'|'Telemarketing'|'TV'|'Video'|'Virtual Event', ], 'Source': 'Marketing Activity'|'None', 'UseCases': [ 'string', ] }, 'NationalSecurity': 'Yes'|'No', 'OpportunityTeam': [ { 'BusinessTitle': 'string', 'Email': 'string', 'FirstName': 'string', 'LastName': 'string', 'Phone': 'string' }, ], 'OpportunityType': 'Net New Business'|'Flat Renewal'|'Expansion', 'PartnerOpportunityIdentifier': 'string', 'PrimaryNeedsFromAws': [ 'Co-Sell - Architectural Validation'|'Co-Sell - Business Presentation'|'Co-Sell - Competitive Information'|'Co-Sell - Pricing Assistance'|'Co-Sell - Technical Consultation'|'Co-Sell - Total Cost of Ownership Evaluation'|'Co-Sell - Deal Support'|'Co-Sell - Support for Public Tender / RFx', ], 'Project': { 'AdditionalComments': 'string', 'ApnPrograms': [ 'string', ], 'CompetitorName': 'Oracle Cloud'|'On-Prem'|'Co-location'|'Akamai'|'AliCloud'|'Google Cloud Platform'|'IBM Softlayer'|'Microsoft Azure'|'Other- Cost Optimization'|'No Competition'|'*Other', 'CustomerBusinessProblem': 'string', 'CustomerUseCase': 'string', 'DeliveryModels': [ 'SaaS or PaaS'|'BYOL or AMI'|'Managed Services'|'Professional Services'|'Resell'|'Other', ], 'ExpectedCustomerSpend': [ { 'Amount': 'string', 'CurrencyCode': 'USD'|'EUR'|'GBP'|'AUD'|'CAD'|'CNY'|'NZD'|'INR'|'JPY'|'CHF'|'SEK'|'AED'|'AFN'|'ALL'|'AMD'|'ANG'|'AOA'|'ARS'|'AWG'|'AZN'|'BAM'|'BBD'|'BDT'|'BGN'|'BHD'|'BIF'|'BMD'|'BND'|'BOB'|'BOV'|'BRL'|'BSD'|'BTN'|'BWP'|'BYN'|'BZD'|'CDF'|'CHE'|'CHW'|'CLF'|'CLP'|'COP'|'COU'|'CRC'|'CUC'|'CUP'|'CVE'|'CZK'|'DJF'|'DKK'|'DOP'|'DZD'|'EGP'|'ERN'|'ETB'|'FJD'|'FKP'|'GEL'|'GHS'|'GIP'|'GMD'|'GNF'|'GTQ'|'GYD'|'HKD'|'HNL'|'HRK'|'HTG'|'HUF'|'IDR'|'ILS'|'IQD'|'IRR'|'ISK'|'JMD'|'JOD'|'KES'|'KGS'|'KHR'|'KMF'|'KPW'|'KRW'|'KWD'|'KYD'|'KZT'|'LAK'|'LBP'|'LKR'|'LRD'|'LSL'|'LYD'|'MAD'|'MDL'|'MGA'|'MKD'|'MMK'|'MNT'|'MOP'|'MRU'|'MUR'|'MVR'|'MWK'|'MXN'|'MXV'|'MYR'|'MZN'|'NAD'|'NGN'|'NIO'|'NOK'|'NPR'|'OMR'|'PAB'|'PEN'|'PGK'|'PHP'|'PKR'|'PLN'|'PYG'|'QAR'|'RON'|'RSD'|'RUB'|'RWF'|'SAR'|'SBD'|'SCR'|'SDG'|'SGD'|'SHP'|'SLL'|'SOS'|'SRD'|'SSP'|'STN'|'SVC'|'SYP'|'SZL'|'THB'|'TJS'|'TMT'|'TND'|'TOP'|'TRY'|'TTD'|'TWD'|'TZS'|'UAH'|'UGX'|'USN'|'UYI'|'UYU'|'UZS'|'VEF'|'VND'|'VUV'|'WST'|'XAF'|'XCD'|'XDR'|'XOF'|'XPF'|'XSU'|'XUA'|'YER'|'ZAR'|'ZMW'|'ZWL', 'EstimationUrl': 'string', 'Frequency': 'Monthly', 'TargetCompany': 'string' }, ], 'OtherCompetitorNames': 'string', 'OtherSolutionDescription': 'string', 'RelatedOpportunityIdentifier': 'string', 'SalesActivities': [ 'Initialized discussions with customer'|'Customer has shown interest in solution'|'Conducted POC / Demo'|'In evaluation / planning stage'|'Agreed on solution to Business Problem'|'Completed Action Plan'|'Finalized Deployment Need'|'SOW Signed', ], 'Title': 'string' }, 'RelatedEntityIdentifiers': { 'AwsMarketplaceOffers': [ 'string', ], 'AwsProducts': [ 'string', ], 'Solutions': [ 'string', ] }, 'SoftwareRevenue': { 'DeliveryModel': 'Contract'|'Pay-as-you-go'|'Subscription', 'EffectiveDate': 'string', 'ExpirationDate': 'string', 'Value': { 'Amount': 'string', 'CurrencyCode': 'USD'|'EUR'|'GBP'|'AUD'|'CAD'|'CNY'|'NZD'|'INR'|'JPY'|'CHF'|'SEK'|'AED'|'AFN'|'ALL'|'AMD'|'ANG'|'AOA'|'ARS'|'AWG'|'AZN'|'BAM'|'BBD'|'BDT'|'BGN'|'BHD'|'BIF'|'BMD'|'BND'|'BOB'|'BOV'|'BRL'|'BSD'|'BTN'|'BWP'|'BYN'|'BZD'|'CDF'|'CHE'|'CHW'|'CLF'|'CLP'|'COP'|'COU'|'CRC'|'CUC'|'CUP'|'CVE'|'CZK'|'DJF'|'DKK'|'DOP'|'DZD'|'EGP'|'ERN'|'ETB'|'FJD'|'FKP'|'GEL'|'GHS'|'GIP'|'GMD'|'GNF'|'GTQ'|'GYD'|'HKD'|'HNL'|'HRK'|'HTG'|'HUF'|'IDR'|'ILS'|'IQD'|'IRR'|'ISK'|'JMD'|'JOD'|'KES'|'KGS'|'KHR'|'KMF'|'KPW'|'KRW'|'KWD'|'KYD'|'KZT'|'LAK'|'LBP'|'LKR'|'LRD'|'LSL'|'LYD'|'MAD'|'MDL'|'MGA'|'MKD'|'MMK'|'MNT'|'MOP'|'MRU'|'MUR'|'MVR'|'MWK'|'MXN'|'MXV'|'MYR'|'MZN'|'NAD'|'NGN'|'NIO'|'NOK'|'NPR'|'OMR'|'PAB'|'PEN'|'PGK'|'PHP'|'PKR'|'PLN'|'PYG'|'QAR'|'RON'|'RSD'|'RUB'|'RWF'|'SAR'|'SBD'|'SCR'|'SDG'|'SGD'|'SHP'|'SLL'|'SOS'|'SRD'|'SSP'|'STN'|'SVC'|'SYP'|'SZL'|'THB'|'TJS'|'TMT'|'TND'|'TOP'|'TRY'|'TTD'|'TWD'|'TZS'|'UAH'|'UGX'|'USN'|'UYI'|'UYU'|'UZS'|'VEF'|'VND'|'VUV'|'WST'|'XAF'|'XCD'|'XDR'|'XOF'|'XPF'|'XSU'|'XUA'|'YER'|'ZAR'|'ZMW'|'ZWL' } } } **Response Structure** * *(dict) --* * **Arn** *(string) --* The Amazon Resource Name (ARN) that uniquely identifies the opportunity. * **Catalog** *(string) --* Specifies the catalog associated with the request. This field takes a string value from a predefined list: "AWS" or "Sandbox". The catalog determines which environment the opportunity information is retrieved from. Use "AWS" to retrieve opportunities in the Amazon Web Services catalog, and "Sandbox" to retrieve opportunities in a secure and isolated testing environment. * **CreatedDate** *(datetime) --* "DateTime" when the "Opportunity" was last created. * **Customer** *(dict) --* Specifies details of the customer associated with the "Opportunity". * **Account** *(dict) --* An object that contains the customer's account details. * **Address** *(dict) --* Specifies the end "Customer"'s address details associated with the "Opportunity". * **City** *(string) --* Specifies the end "Customer"'s city associated with the "Opportunity". * **CountryCode** *(string) --* Specifies the end "Customer"'s country associated with the "Opportunity". * **PostalCode** *(string) --* Specifies the end "Customer"'s postal code associated with the "Opportunity". * **StateOrRegion** *(string) --* Specifies the end "Customer"'s state or region associated with the "Opportunity". Valid values: "Alabama | Alaska | American Samoa | Arizona | Arkansas | California | Colorado | Connecticut | Delaware | Dist. of Columbia | Federated States of Micronesia | Florida | Georgia | Guam | Hawaii | Idaho | Illinois | Indiana | Iowa | Kansas | Kentucky | Louisiana | Maine | Marshall Islands | Maryland | Massachusetts | Michigan | Minnesota | Mississippi | Missouri | Montana | Nebraska | Nevada | New Hampshire | New Jersey | New Mexico | New York | North Carolina | North Dakota | Northern Mariana Islands | Ohio | Oklahoma | Oregon | Palau | Pennsylvania | Puerto Rico | Rhode Island | South Carolina | South Dakota | Tennessee | Texas | Utah | Vermont | Virginia | Virgin Islands | Washington | West Virginia | Wisconsin | Wyoming | APO/AE | AFO/FPO | FPO, AP" * **StreetAddress** *(string) --* Specifies the end "Customer"'s street address associated with the "Opportunity". * **AwsAccountId** *(string) --* Specifies the "Customer" Amazon Web Services account ID associated with the "Opportunity". * **CompanyName** *(string) --* Specifies the end "Customer"'s company name associated with the "Opportunity". * **Duns** *(string) --* Indicates the "Customer" DUNS number, if available. * **Industry** *(string) --* Specifies the industry the end "Customer" belongs to that's associated with the "Opportunity". It refers to the category or sector where the customer's business operates. This is a required field. * **OtherIndustry** *(string) --* Specifies the end "Customer"'s industry associated with the "Opportunity", when the selected value in the "Industry" field is "Other". * **WebsiteUrl** *(string) --* Specifies the end customer's company website URL associated with the "Opportunity". This value is crucial to map the customer within the Amazon Web Services CRM system. This field is required in all cases except when the opportunity is related to national security. * **Contacts** *(list) --* Represents the contact details for individuals associated with the customer of the "Opportunity". This field captures relevant contacts, including decision-makers, influencers, and technical stakeholders within the customer organization. These contacts are key to progressing the opportunity. * *(dict) --* An object that contains a "Customer Partner"'s contact details. * **BusinessTitle** *(string) --* The partner contact's title (job title or role) associated with the "Opportunity". "BusinessTitle" supports either "PartnerAccountManager" or "OpportunityOwner". * **Email** *(string) --* The contact's email address associated with the "Opportunity". * **FirstName** *(string) --* The contact's first name associated with the "Opportunity". * **LastName** *(string) --* The contact's last name associated with the "Opportunity". * **Phone** *(string) --* The contact's phone number associated with the "Opportunity". * **Id** *(string) --* Read-only, system generated "Opportunity" unique identifier. * **LastModifiedDate** *(datetime) --* "DateTime" when the opportunity was last modified. * **LifeCycle** *(dict) --* An object that contains lifecycle details for the "Opportunity". * **ClosedLostReason** *(string) --* Specifies the reason code when an opportunity is marked as *Closed Lost*. When you select an appropriate reason code, you communicate the context for closing the "Opportunity", and aid in accurate reports and analysis of opportunity outcomes. The possible values are: * Customer Deficiency: The customer lacked necessary resources or capabilities. * Delay/Cancellation of Project: The project was delayed or canceled. * Legal/Tax/Regulatory: Legal, tax, or regulatory issues prevented progress. * Lost to Competitor—Google: The opportunity was lost to Google. * Lost to Competitor—Microsoft: The opportunity was lost to Microsoft. * Lost to Competitor—SoftLayer: The opportunity was lost to SoftLayer. * Lost to Competitor—VMWare: The opportunity was lost to VMWare. * Lost to Competitor—Other: The opportunity was lost to a competitor not listed above. * No Opportunity: There was no opportunity to pursue. * On Premises Deployment: The customer chose an on- premises solution. * Partner Gap: The partner lacked necessary resources or capabilities. * Price: The price was not competitive or acceptable to the customer. * Security/Compliance: Security or compliance issues prevented progress. * Technical Limitations: Technical limitations prevented progress. * Customer Experience: Issues related to the customer's experience impacted the decision. * Other: Any reason not covered by the other values. * People/Relationship/Governance: Issues related to people, relationships, or governance. * Product/Technology: Issues related to the product or technology. * Financial/Commercial: Financial or commercial issues impacted the decision. * **NextSteps** *(string) --* Specifies the upcoming actions or tasks for the "Opportunity". Use this field to communicate with Amazon Web Services about the next actions required for the "Opportunity". * **NextStepsHistory** *(list) --* Captures a chronological record of the next steps or actions planned or taken for the current opportunity, along with the timestamp. * *(dict) --* Read-only; shows the last 50 values and change dates for the "NextSteps" field. * **Time** *(datetime) --* Indicates the step execution time. * **Value** *(string) --* Indicates the step's execution details. * **ReviewComments** *(string) --* Indicates why an opportunity was sent back for further details. Partners must take corrective action based on the "ReviewComments". * **ReviewStatus** *(string) --* Indicates the review status of an opportunity referred by a partner. This field is read-only and only applicable for partner referrals. The possible values are: * Pending Submission: Not submitted for validation (editable). * Submitted: Submitted for validation, and Amazon Web Services hasn't reviewed it (read-only). * In Review: Amazon Web Services is validating (read- only). * Action Required: Issues that Amazon Web Services highlights need to be addressed. Partners should use the "UpdateOpportunity" API action to update the opportunity and helps to ensure that all required changes are made. Only the following fields are editable when the "Lifecycle.ReviewStatus" is "Action Required": * Customer.Account.Address.City * Customer.Account.Address.CountryCode * Customer.Account.Address.PostalCode * Customer.Account.Address.StateOrRegion * Customer.Account.Address.StreetAddress * Customer.Account.WebsiteUrl * LifeCycle.TargetCloseDate * Project.ExpectedMonthlyAWSRevenue.Amount * Project.ExpectedMonthlyAWSRevenue.CurrencyCode * Project.CustomerBusinessProblem * PartnerOpportunityIdentifier After updates, the opportunity re-enters the validation phase. This process repeats until all issues are resolved, and the opportunity's "Lifecycle.ReviewStatus" is set to "Approved" or "Rejected". * Approved: Validated and converted into the Amazon Web Services seller's pipeline (editable). * Rejected: Disqualified (read-only). * **ReviewStatusReason** *(string) --* Indicates the reason a decision was made during the opportunity review process. This field combines the reasons for both disqualified and action required statuses, and provide clarity for why an opportunity was disqualified or requires further action. * **Stage** *(string) --* Specifies the current stage of the "Opportunity"'s lifecycle as it maps to Amazon Web Services stages from the current stage in the partner CRM. This field provides a translated value of the stage, and offers insight into the "Opportunity"'s progression in the sales cycle, according to Amazon Web Services definitions. Note: A lead and a prospect must be further matured to a "Qualified" opportunity before submission. Opportunities that were closed/lost before submission aren't suitable for submission. The descriptions of each sales stage are: * Prospect: Amazon Web Services identifies the opportunity. It can be active (Comes directly from the end customer through a lead) or latent (Your account team believes it exists based on research, account plans, sales plays). * Qualified: Your account team engaged with the customer to discuss viability and requirements. The customer agreed that the opportunity is real, of interest, and may solve business/technical needs. * Technical Validation: All parties understand the implementation plan. * Business Validation: Pricing was proposed, and all parties agree to the steps to close. * Committed: The customer signed the contract, but Amazon Web Services hasn't started billing. * Launched: The workload is complete, and Amazon Web Services has started billing. * Closed Lost: The opportunity is lost, and there are no steps to move forward. * **TargetCloseDate** *(string) --* Specifies the date when Amazon Web Services expects to start significant billing, when the project finishes, and when it moves into production. This field informs the Amazon Web Services seller about when the opportunity launches and starts to incur Amazon Web Services usage. Ensure the "Target Close Date" isn't in the past. * **Marketing** *(dict) --* An object that contains marketing details for the "Opportunity". * **AwsFundingUsed** *(string) --* Indicates if the "Opportunity" is a marketing development fund (MDF) funded activity. * **CampaignName** *(string) --* Specifies the "Opportunity" marketing campaign code. The Amazon Web Services campaign code is a reference to specific marketing initiatives, promotions, or activities. This field captures the identifier used to track and categorize the "Opportunity" within marketing campaigns. If you don't have a campaign code, contact your Amazon Web Services point of contact to obtain one. * **Channels** *(list) --* Specifies the "Opportunity"'s channel that the marketing activity is associated with or was contacted through. This field provides information about the specific marketing channel that contributed to the generation of the lead or contact. * *(string) --* * **Source** *(string) --* Indicates if the "Opportunity" was sourced from an Amazon Web Services marketing activity. Use the value "Marketing Activity". Use "None" if it's not associated with an Amazon Web Services marketing activity. This field helps Amazon Web Services track the return on marketing investments and enables better distribution of marketing budgets among partners. * **UseCases** *(list) --* Specifies the marketing activity use case or purpose that led to the "Opportunity"'s creation or contact. This field captures the context or marketing activity's execution's intention and the direct correlation to the generated opportunity or contact. Must be empty when "Marketing.AWSFundingUsed = No". Valid values: "AI/ML | Analytics | Application Integration | Blockchain | Business Applications | Cloud Financial Management | Compute | Containers | Customer Engagement | Databases | Developer Tools | End User Computing | Front End Web & Mobile | Game Tech | IoT | Management & Governance | Media Services | Migration & Transfer | Networking & Content Delivery | Quantum Technologies | Robotics | Satellite | Security | Serverless | Storage | VR & AR" * *(string) --* * **NationalSecurity** *(string) --* Indicates whether the "Opportunity" pertains to a national security project. This field must be set to "true" only when the customer's industry is *Government*. Additional privacy and security measures apply during the review and management process for opportunities marked as "NationalSecurity". * **OpportunityTeam** *(list) --* Represents the internal team handling the opportunity. Specify the members involved in collaborating on this opportunity within the partner's organization. * *(dict) --* An object that contains a "Customer Partner"'s contact details. * **BusinessTitle** *(string) --* The partner contact's title (job title or role) associated with the "Opportunity". "BusinessTitle" supports either "PartnerAccountManager" or "OpportunityOwner". * **Email** *(string) --* The contact's email address associated with the "Opportunity". * **FirstName** *(string) --* The contact's first name associated with the "Opportunity". * **LastName** *(string) --* The contact's last name associated with the "Opportunity". * **Phone** *(string) --* The contact's phone number associated with the "Opportunity". * **OpportunityType** *(string) --* Specifies the opportunity type as renewal, new, or expansion. Opportunity types: * New opportunity: Represents a new business opportunity with a potential customer that's not previously engaged with your solutions or services. * Renewal opportunity: Represents an opportunity to renew an existing contract or subscription with a current customer, which helps to ensure service continuity. * Expansion opportunity: Represents an opportunity to expand the scope of a customer's contract or subscription, either by adding new services or increasing the volume of existing services. * **PartnerOpportunityIdentifier** *(string) --* Specifies the opportunity's unique identifier in the partner's CRM system. This value is essential to track and reconcile because it's included in the outbound payload sent back to the partner. * **PrimaryNeedsFromAws** *(list) --* Identifies the type of support the partner needs from Amazon Web Services. Valid values: * Cosell—Architectural Validation: Confirmation from Amazon Web Services that the partner's proposed solution architecture is aligned with Amazon Web Services best practices and poses minimal architectural risks. * Cosell—Business Presentation: Request Amazon Web Services seller's participation in a joint customer presentation. * Cosell—Competitive Information: Access to Amazon Web Services competitive resources and support for the partner's proposed solution. * Cosell—Pricing Assistance: Connect with an Amazon Web Services seller for support situations where a partner may be receiving an upfront discount on a service (for example: EDP deals). * Cosell—Technical Consultation: Connect with an Amazon Web Services Solutions Architect to address the partner's questions about the proposed solution. * Cosell—Total Cost of Ownership Evaluation: Assistance with quoting different cost savings of proposed solutions on Amazon Web Services versus on-premises or a traditional hosting environment. * Cosell—Deal Support: Request Amazon Web Services seller's support to progress the opportunity (for example: joint customer call, strategic positioning). * Cosell—Support for Public Tender/RFx: Opportunity related to the public sector where the partner needs Amazon Web Services RFx support. * *(string) --* * **Project** *(dict) --* An object that contains project details summary for the "Opportunity". * **AdditionalComments** *(string) --* Captures additional comments or information for the "Opportunity" that weren't captured in other fields. * **ApnPrograms** *(list) --* Specifies the Amazon Partner Network (APN) program that influenced the "Opportunity". APN programs refer to specific partner programs or initiatives that can impact the "Opportunity". Valid values: "APN Immersion Days | APN Solution Space | ATO (Authority to Operate) | AWS Marketplace Campaign | IS Immersion Day SFID Program | ISV Workload Migration | Migration Acceleration Program | P3 | Partner Launch Initiative | Partner Opportunity Acceleration Funded | The Next Smart | VMware Cloud on AWS | Well-Architected | Windows | Workspaces/AppStream Accelerator Program | WWPS NDPP" * *(string) --* * **CompetitorName** *(string) --* Name of the "Opportunity"'s competitor (if any). Use "Other" to submit a value not in the picklist. * **CustomerBusinessProblem** *(string) --* Describes the problem the end customer has, and how the partner is helping. Utilize this field to provide a concise narrative that outlines the customer's business challenge or issue. Elaborate on how the partner's solution or offerings align to resolve the customer's business problem. Include relevant information about the partner's value proposition, unique selling points, and expertise to tackle the issue. Offer insights on how the proposed solution meets the customer's needs and provides value. Use concise language and precise descriptions to convey the context and significance of the "Opportunity". The content in this field helps Amazon Web Services understand the nature of the "Opportunity" and the strategic fit of the partner's solution. * **CustomerUseCase** *(string) --* Specifies the proposed solution focus or type of workload for the Opportunity. This field captures the primary use case or objective of the proposed solution, and provides context and clarity to the addressed workload. Valid values: "AI Machine Learning and Analytics | Archiving | Big Data: Data Warehouse/Data Integration/ETL/Data Lake/BI | Blockchain | Business Applications: Mainframe Modernization | Business Applications & Contact Center | Business Applications & SAP Production | Centralized Operations Management | Cloud Management Tools | Cloud Management Tools & DevOps with Continuous Integration & Continuous Delivery (CICD) | Configuration, Compliance & Auditing | Connected Services | Containers & Serverless | Content Delivery & Edge Services | Database | Edge Computing/End User Computing | Energy | Enterprise Governance & Controls | Enterprise Resource Planning | Financial Services | Healthcare and Life Sciences | High Performance Computing | Hybrid Application Platform | Industrial Software | IOT | Manufacturing, Supply Chain and Operations | Media & High performance computing (HPC) | Migration/Database Migration | Monitoring, logging and performance | Monitoring & Observability | Networking | Outpost | SAP | Security & Compliance | Storage & Backup | Training | VMC | VMWare | Web development & DevOps" * **DeliveryModels** *(list) --* Specifies the deployment or consumption model for your solution or service in the "Opportunity"'s context. You can select multiple options. Options' descriptions from the "Delivery Model" field are: * SaaS or PaaS: Your Amazon Web Services based solution deployed as SaaS or PaaS in your Amazon Web Services environment. * BYOL or AMI: Your Amazon Web Services based solution deployed as BYOL or AMI in the end customer's Amazon Web Services environment. * Managed Services: The end customer's Amazon Web Services business management (For example: Consulting, design, implementation, billing support, cost optimization, technical support). * Professional Services: Offerings to help enterprise end customers achieve specific business outcomes for enterprise cloud adoption (For example: Advisory or transformation planning). * Resell: Amazon Web Services accounts and billing management for your customers. * Other: Delivery model not described above. * *(string) --* * **ExpectedCustomerSpend** *(list) --* Represents the estimated amount that the customer is expected to spend on AWS services related to the opportunity. This helps in evaluating the potential financial value of the opportunity for AWS. * *(dict) --* Provides an estimate of the revenue that the partner is expected to generate from the opportunity. This information helps partners assess the financial value of the project. * **Amount** *(string) --* Represents the estimated monthly revenue that the partner expects to earn from the opportunity. This helps in forecasting financial returns. * **CurrencyCode** *(string) --* Indicates the currency in which the revenue estimate is provided. This helps in understanding the financial impact across different markets. * **EstimationUrl** *(string) --* A URL providing additional information or context about the spend estimation. * **Frequency** *(string) --* Indicates how frequently the customer is expected to spend the projected amount. This can include values such as "Monthly", "Quarterly", or "Annually". The default value is "Monthly", representing recurring monthly spend. * **TargetCompany** *(string) --* Specifies the name of the partner company that is expected to generate revenue from the opportunity. This field helps track the partner’s involvement in the opportunity. * **OtherCompetitorNames** *(string) --* Only allowed when "CompetitorNames" has "Other" selected. * **OtherSolutionDescription** *(string) --* Specifies the offered solution for the customer's business problem when the "RelatedEntityIdentifiers.Solutions" field value is "Other". * **RelatedOpportunityIdentifier** *(string) --* Specifies the current opportunity's parent opportunity identifier. * **SalesActivities** *(list) --* Specifies the "Opportunity"'s sales activities conducted with the end customer. These activities help drive Amazon Web Services assignment priority. Valid values: * Initialized discussions with customer: Initial conversations with the customer to understand their needs and introduce your solution. * Customer has shown interest in solution: After initial discussions, the customer is interested in your solution. * Conducted POC/demo: You conducted a proof of concept (POC) or demonstration of the solution for the customer. * In evaluation/planning stage: The customer is evaluating the solution and planning potential implementation. * Agreed on solution to Business Problem: Both parties agree on how the solution addresses the customer's business problem. * Completed Action Plan: A detailed action plan is complete and outlines the steps for implementation. * Finalized Deployment Need: Both parties agree with and finalized the deployment needs. * SOW Signed: Both parties signed a statement of work (SOW), and formalize the agreement and detail the project scope and deliverables. * *(string) --* * **Title** *(string) --* Specifies the "Opportunity"'s title or name. * **RelatedEntityIdentifiers** *(dict) --* Provides information about the associations of other entities with the opportunity. These entities include identifiers for "AWSProducts", "Partner Solutions", and "AWSMarketplaceOffers". * **AwsMarketplaceOffers** *(list) --* Takes one value per opportunity. Each value is an Amazon Resource Name (ARN), in this format: ""offers": ["arn:aws :aws-marketplace:us- east-1:999999999999:AWSMarketplace/Offer/offer- sampleOffer32"]". Use the ListEntities action in the Marketplace Catalog APIs for a list of offers in the associated Marketplace seller account. * *(string) --* * **AwsProducts** *(list) --* Enables the association of specific Amazon Web Services products with the "Opportunity". Partners can indicate the relevant Amazon Web Services products for the "Opportunity"'s solution and align with the customer's needs. Returns multiple values separated by commas. For example, ""AWSProducts" : ["AmazonRedshift", "AWSAppFabric", "AWSCleanRooms"]". Use the file with the list of Amazon Web Services products hosted on GitHub: Amazon Web Services products. * *(string) --* * **Solutions** *(list) --* Enables partner solutions or offerings' association with an opportunity. To associate a solution, provide the solution's unique identifier, which you can obtain with the "ListSolutions" operation. If the specific solution identifier is not available, you can use the value "Other" and provide details about the solution in the "otherSolutionOffered" field. But when the opportunity reaches the "Committed" stage or beyond, the "Other" value cannot be used, and a valid solution identifier must be provided. By associating the relevant solutions with the opportunity, you can communicate the offerings that are being considered or implemented to address the customer's business problem. * *(string) --* * **SoftwareRevenue** *(dict) --* Specifies details of a customer's procurement terms. Required only for partners in eligible programs. * **DeliveryModel** *(string) --* Specifies the customer's intended payment type agreement or procurement method to acquire the solution or service outlined in the "Opportunity". * **EffectiveDate** *(string) --* Specifies the "Opportunity"'s customer engagement start date for the contract's effectiveness. * **ExpirationDate** *(string) --* Specifies the expiration date for the contract between the customer and Amazon Web Services partner. It signifies the termination date of the agreed-upon engagement period between both parties. * **Value** *(dict) --* Specifies the payment value (amount and currency). * **Amount** *(string) --* Specifies the payment amount. * **CurrencyCode** *(string) --* Specifies the payment currency. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / associate_opportunity associate_opportunity ********************* PartnerCentralSellingAPI.Client.associate_opportunity(**kwargs) Enables you to create a formal association between an "Opportunity" and various related entities, enriching the context and details of the opportunity for better collaboration and decision making. You can associate an opportunity with the following entity types: * Partner Solution: A software product or consulting practice created and delivered by Partners. Partner Solutions help customers address business challenges using Amazon Web Services services. * Amazon Web Services Products: Amazon Web Services offers many products and services that provide scalable, reliable, and cost- effective infrastructure solutions. For the latest list of Amazon Web Services products, see Amazon Web Services products. * Amazon Web Services Marketplace private offer: Allows Amazon Web Services Marketplace sellers to extend custom pricing and terms to individual Amazon Web Services customers. Sellers can negotiate custom prices, payment schedules, and end user license terms through private offers, enabling Amazon Web Services customers to acquire software solutions tailored to their specific needs. For more information, see Private offers in Amazon Web Services Marketplace. To obtain identifiers for these entities, use the following methods: * Solution: Use the "ListSolutions" operation. * AWS Products: For the latest list of Amazon Web Services products, see Amazon Web Services products. * Amazon Web Services Marketplace private offer: Use the Using the Amazon Web Services Marketplace Catalog API to list entities. Specifically, use the "ListEntities" operation to retrieve a list of private offers. The request returns the details of available private offers. For more information, see ListEntities. See also: AWS API Documentation **Request Syntax** response = client.associate_opportunity( Catalog='string', OpportunityIdentifier='string', RelatedEntityIdentifier='string', RelatedEntityType='Solutions'|'AwsProducts'|'AwsMarketplaceOffers' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog associated with the request. This field takes a string value from a predefined list: "AWS" or "Sandbox". The catalog determines which environment the opportunity association is made in. Use "AWS" to associate opportunities in the Amazon Web Services catalog, and "Sandbox" for testing in secure, isolated environments. * **OpportunityIdentifier** (*string*) -- **[REQUIRED]** Requires the "Opportunity"'s unique identifier when you want to associate it with a related entity. Provide the correct identifier so the intended opportunity is updated with the association. * **RelatedEntityIdentifier** (*string*) -- **[REQUIRED]** Requires the related entity's unique identifier when you want to associate it with the "Opportunity". For Amazon Web Services Marketplace entities, provide the Amazon Resource Name (ARN). Use the Amazon Web Services Marketplace API to obtain the ARN. * **RelatedEntityType** (*string*) -- **[REQUIRED]** Specifies the entity type that you're associating with the "Opportunity". This helps to categorize and properly process the association. Returns: None **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / create_engagement_invitation create_engagement_invitation **************************** PartnerCentralSellingAPI.Client.create_engagement_invitation(**kwargs) This action creates an invitation from a sender to a single receiver to join an engagement. See also: AWS API Documentation **Request Syntax** response = client.create_engagement_invitation( Catalog='string', ClientToken='string', EngagementIdentifier='string', Invitation={ 'Message': 'string', 'Payload': { 'OpportunityInvitation': { 'Customer': { 'CompanyName': 'string', 'CountryCode': 'US'|'AF'|'AX'|'AL'|'DZ'|'AS'|'AD'|'AO'|'AI'|'AQ'|'AG'|'AR'|'AM'|'AW'|'AU'|'AT'|'AZ'|'BS'|'BH'|'BD'|'BB'|'BY'|'BE'|'BZ'|'BJ'|'BM'|'BT'|'BO'|'BQ'|'BA'|'BW'|'BV'|'BR'|'IO'|'BN'|'BG'|'BF'|'BI'|'KH'|'CM'|'CA'|'CV'|'KY'|'CF'|'TD'|'CL'|'CN'|'CX'|'CC'|'CO'|'KM'|'CG'|'CK'|'CR'|'CI'|'HR'|'CU'|'CW'|'CY'|'CZ'|'CD'|'DK'|'DJ'|'DM'|'DO'|'EC'|'EG'|'SV'|'GQ'|'ER'|'EE'|'ET'|'FK'|'FO'|'FJ'|'FI'|'FR'|'GF'|'PF'|'TF'|'GA'|'GM'|'GE'|'DE'|'GH'|'GI'|'GR'|'GL'|'GD'|'GP'|'GU'|'GT'|'GG'|'GN'|'GW'|'GY'|'HT'|'HM'|'VA'|'HN'|'HK'|'HU'|'IS'|'IN'|'ID'|'IR'|'IQ'|'IE'|'IM'|'IL'|'IT'|'JM'|'JP'|'JE'|'JO'|'KZ'|'KE'|'KI'|'KR'|'KW'|'KG'|'LA'|'LV'|'LB'|'LS'|'LR'|'LY'|'LI'|'LT'|'LU'|'MO'|'MK'|'MG'|'MW'|'MY'|'MV'|'ML'|'MT'|'MH'|'MQ'|'MR'|'MU'|'YT'|'MX'|'FM'|'MD'|'MC'|'MN'|'ME'|'MS'|'MA'|'MZ'|'MM'|'NA'|'NR'|'NP'|'NL'|'AN'|'NC'|'NZ'|'NI'|'NE'|'NG'|'NU'|'NF'|'MP'|'NO'|'OM'|'PK'|'PW'|'PS'|'PA'|'PG'|'PY'|'PE'|'PH'|'PN'|'PL'|'PT'|'PR'|'QA'|'RE'|'RO'|'RU'|'RW'|'BL'|'SH'|'KN'|'LC'|'MF'|'PM'|'VC'|'WS'|'SM'|'ST'|'SA'|'SN'|'RS'|'SC'|'SL'|'SG'|'SX'|'SK'|'SI'|'SB'|'SO'|'ZA'|'GS'|'SS'|'ES'|'LK'|'SD'|'SR'|'SJ'|'SZ'|'SE'|'CH'|'SY'|'TW'|'TJ'|'TZ'|'TH'|'TL'|'TG'|'TK'|'TO'|'TT'|'TN'|'TR'|'TM'|'TC'|'TV'|'UG'|'UA'|'AE'|'GB'|'UM'|'UY'|'UZ'|'VU'|'VE'|'VN'|'VG'|'VI'|'WF'|'EH'|'YE'|'ZM'|'ZW', 'Industry': 'Aerospace'|'Agriculture'|'Automotive'|'Computers and Electronics'|'Consumer Goods'|'Education'|'Energy - Oil and Gas'|'Energy - Power and Utilities'|'Financial Services'|'Gaming'|'Government'|'Healthcare'|'Hospitality'|'Life Sciences'|'Manufacturing'|'Marketing and Advertising'|'Media and Entertainment'|'Mining'|'Non-Profit Organization'|'Professional Services'|'Real Estate and Construction'|'Retail'|'Software and Internet'|'Telecommunications'|'Transportation and Logistics'|'Travel'|'Wholesale and Distribution'|'Other', 'WebsiteUrl': 'string' }, 'Project': { 'BusinessProblem': 'string', 'ExpectedCustomerSpend': [ { 'Amount': 'string', 'CurrencyCode': 'USD'|'EUR'|'GBP'|'AUD'|'CAD'|'CNY'|'NZD'|'INR'|'JPY'|'CHF'|'SEK'|'AED'|'AFN'|'ALL'|'AMD'|'ANG'|'AOA'|'ARS'|'AWG'|'AZN'|'BAM'|'BBD'|'BDT'|'BGN'|'BHD'|'BIF'|'BMD'|'BND'|'BOB'|'BOV'|'BRL'|'BSD'|'BTN'|'BWP'|'BYN'|'BZD'|'CDF'|'CHE'|'CHW'|'CLF'|'CLP'|'COP'|'COU'|'CRC'|'CUC'|'CUP'|'CVE'|'CZK'|'DJF'|'DKK'|'DOP'|'DZD'|'EGP'|'ERN'|'ETB'|'FJD'|'FKP'|'GEL'|'GHS'|'GIP'|'GMD'|'GNF'|'GTQ'|'GYD'|'HKD'|'HNL'|'HRK'|'HTG'|'HUF'|'IDR'|'ILS'|'IQD'|'IRR'|'ISK'|'JMD'|'JOD'|'KES'|'KGS'|'KHR'|'KMF'|'KPW'|'KRW'|'KWD'|'KYD'|'KZT'|'LAK'|'LBP'|'LKR'|'LRD'|'LSL'|'LYD'|'MAD'|'MDL'|'MGA'|'MKD'|'MMK'|'MNT'|'MOP'|'MRU'|'MUR'|'MVR'|'MWK'|'MXN'|'MXV'|'MYR'|'MZN'|'NAD'|'NGN'|'NIO'|'NOK'|'NPR'|'OMR'|'PAB'|'PEN'|'PGK'|'PHP'|'PKR'|'PLN'|'PYG'|'QAR'|'RON'|'RSD'|'RUB'|'RWF'|'SAR'|'SBD'|'SCR'|'SDG'|'SGD'|'SHP'|'SLL'|'SOS'|'SRD'|'SSP'|'STN'|'SVC'|'SYP'|'SZL'|'THB'|'TJS'|'TMT'|'TND'|'TOP'|'TRY'|'TTD'|'TWD'|'TZS'|'UAH'|'UGX'|'USN'|'UYI'|'UYU'|'UZS'|'VEF'|'VND'|'VUV'|'WST'|'XAF'|'XCD'|'XDR'|'XOF'|'XPF'|'XSU'|'XUA'|'YER'|'ZAR'|'ZMW'|'ZWL', 'EstimationUrl': 'string', 'Frequency': 'Monthly', 'TargetCompany': 'string' }, ], 'TargetCompletionDate': 'string', 'Title': 'string' }, 'ReceiverResponsibilities': [ 'Distributor'|'Reseller'|'Hardware Partner'|'Managed Service Provider'|'Software Partner'|'Services Partner'|'Training Partner'|'Co-Sell Facilitator'|'Facilitator', ], 'SenderContacts': [ { 'BusinessTitle': 'string', 'Email': 'string', 'FirstName': 'string', 'LastName': 'string', 'Phone': 'string' }, ] } }, 'Receiver': { 'Account': { 'Alias': 'string', 'AwsAccountId': 'string' } } } ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the engagement. Accepted values are "AWS" and "Sandbox", which determine the environment in which the engagement is managed. * **ClientToken** (*string*) -- **[REQUIRED]** Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. This token helps prevent duplicate invitation creations. This field is autopopulated if not provided. * **EngagementIdentifier** (*string*) -- **[REQUIRED]** The unique identifier of the "Engagement" associated with the invitation. This parameter ensures the invitation is created within the correct "Engagement" context. * **Invitation** (*dict*) -- **[REQUIRED]** The "Invitation" object all information necessary to initiate an engagement invitation to a partner. It contains a personalized message from the sender, the invitation's receiver, and a payload. The "Payload" can be the "OpportunityInvitation", which includes detailed structures for sender contacts, partner responsibilities, customer information, and project details. * **Message** *(string) --* **[REQUIRED]** A message accompanying the invitation. * **Payload** *(dict) --* **[REQUIRED]** Contains the data payload associated with the Engagement Invitation. This payload includes essential details related to the AWS opportunity and is used by partners to evaluate whether to accept or reject the engagement. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "OpportunityInvitation". * **OpportunityInvitation** *(dict) --* Specifies the details of the opportunity invitation within the Engagement Invitation payload. This data helps partners understand the context, scope, and expected involvement for the opportunity from AWS. * **Customer** *(dict) --* **[REQUIRED]** Contains information about the customer related to the opportunity in the Engagement Invitation. This data helps partners understand the customer’s profile and requirements. * **CompanyName** *(string) --* **[REQUIRED]** Represents the name of the customer’s company associated with the Engagement Invitation. This field is used to identify the customer. * **CountryCode** *(string) --* **[REQUIRED]** Indicates the country in which the customer’s company operates. This field is useful for understanding regional requirements or compliance needs. * **Industry** *(string) --* **[REQUIRED]** Specifies the industry to which the customer’s company belongs. This field helps categorize the opportunity based on the customer’s business sector. * **WebsiteUrl** *(string) --* **[REQUIRED]** Provides the website URL of the customer’s company. This field helps partners verify the legitimacy and size of the customer organization. * **Project** *(dict) --* **[REQUIRED]** Describes the project details associated with the opportunity, including the customer’s needs and the scope of work expected to be performed. * **BusinessProblem** *(string) --* **[REQUIRED]** Describes the business problem that the project aims to solve. This information is crucial for understanding the project’s goals and objectives. * **ExpectedCustomerSpend** *(list) --* **[REQUIRED]** Contains revenue estimates for the partner related to the project. This field provides an idea of the financial potential of the opportunity for the partner. * *(dict) --* Provides an estimate of the revenue that the partner is expected to generate from the opportunity. This information helps partners assess the financial value of the project. * **Amount** *(string) --* **[REQUIRED]** Represents the estimated monthly revenue that the partner expects to earn from the opportunity. This helps in forecasting financial returns. * **CurrencyCode** *(string) --* **[REQUIRED]** Indicates the currency in which the revenue estimate is provided. This helps in understanding the financial impact across different markets. * **EstimationUrl** *(string) --* A URL providing additional information or context about the spend estimation. * **Frequency** *(string) --* **[REQUIRED]** Indicates how frequently the customer is expected to spend the projected amount. This can include values such as "Monthly", "Quarterly", or "Annually". The default value is "Monthly", representing recurring monthly spend. * **TargetCompany** *(string) --* **[REQUIRED]** Specifies the name of the partner company that is expected to generate revenue from the opportunity. This field helps track the partner’s involvement in the opportunity. * **TargetCompletionDate** *(string) --* **[REQUIRED]** Specifies the estimated date of project completion. This field helps track the project timeline and manage expectations. * **Title** *(string) --* **[REQUIRED]** Specifies the title of the project. This title helps partners quickly identify and understand the focus of the project. * **ReceiverResponsibilities** *(list) --* **[REQUIRED]** Outlines the responsibilities or expectations of the receiver in the context of the invitation. * *(string) --* * **SenderContacts** *(list) --* Represents the contact details of the AWS representatives involved in sending the Engagement Invitation. These contacts are opportunity stakeholders. * *(dict) --* An object that contains the details of the sender- provided contact person for the "EngagementInvitation". * **BusinessTitle** *(string) --* The sender-provided contact's title (job title or role) associated with the "EngagementInvitation". * **Email** *(string) --* **[REQUIRED]** The sender-provided contact's email address associated with the "EngagementInvitation". * **FirstName** *(string) --* The sender-provided contact's last name associated with the "EngagementInvitation". * **LastName** *(string) --* The sender-provided contact's first name associated with the "EngagementInvitation". * **Phone** *(string) --* The sender-provided contact's phone number associated with the "EngagementInvitation". * **Receiver** *(dict) --* **[REQUIRED]** Represents the entity that received the Engagement Invitation, including account and company details. This field is essential for tracking the partner who is being invited to collaborate. Note: This is a Tagged Union structure. Only one of the following top level keys can be set: "Account". * **Account** *(dict) --* Specifies the AWS account of the partner who received the Engagement Invitation. This field is used to track the invitation recipient within the AWS ecosystem. * **Alias** *(string) --* Represents the alias of the partner account receiving the Engagement Invitation, making it easier to identify and track the recipient in reports or logs. * **AwsAccountId** *(string) --* **[REQUIRED]** Indicates the AWS account ID of the partner who received the Engagement Invitation. This is a unique identifier for managing engagements with specific AWS accounts. Return type: dict Returns: **Response Syntax** { 'Arn': 'string', 'Id': 'string' } **Response Structure** * *(dict) --* * **Arn** *(string) --* The Amazon Resource Name (ARN) that uniquely identifies the engagement invitation. * **Id** *(string) --* Unique identifier assigned to the newly created engagement invitation. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ConflictException" * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ServiceQuotaExceeded Exception" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / list_engagements list_engagements **************** PartnerCentralSellingAPI.Client.list_engagements(**kwargs) This action allows users to retrieve a list of Engagement records from Partner Central. This action can be used to manage and track various engagements across different stages of the partner selling process. See also: AWS API Documentation **Request Syntax** response = client.list_engagements( Catalog='string', CreatedBy=[ 'string', ], EngagementIdentifier=[ 'string', ], ExcludeCreatedBy=[ 'string', ], MaxResults=123, NextToken='string', Sort={ 'SortBy': 'CreatedDate', 'SortOrder': 'ASCENDING'|'DESCENDING' } ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the request. * **CreatedBy** (*list*) -- A list of AWS account IDs. When specified, the response includes engagements created by these accounts. This filter is useful for finding engagements created by specific team members. * *(string) --* * **EngagementIdentifier** (*list*) -- An array of strings representing engagement identifiers to retrieve. * *(string) --* * **ExcludeCreatedBy** (*list*) -- An array of strings representing AWS Account IDs. Use this to exclude engagements created by specific users. * *(string) --* * **MaxResults** (*integer*) -- The maximum number of results to return in a single call. * **NextToken** (*string*) -- The token for the next set of results. This value is returned from a previous call. * **Sort** (*dict*) -- Specifies the sorting parameters for listing Engagements. * **SortBy** *(string) --* **[REQUIRED]** The field by which to sort the results. * **SortOrder** *(string) --* **[REQUIRED]** The order in which to sort the results. Return type: dict Returns: **Response Syntax** { 'EngagementSummaryList': [ { 'Arn': 'string', 'CreatedAt': datetime(2015, 1, 1), 'CreatedBy': 'string', 'Id': 'string', 'MemberCount': 123, 'Title': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **EngagementSummaryList** *(list) --* An array of engagement summary objects. * *(dict) --* An object that contains an "Engagement"'s subset of fields. * **Arn** *(string) --* The Amazon Resource Name (ARN) of the created Engagement. * **CreatedAt** *(datetime) --* The date and time when the Engagement was created. * **CreatedBy** *(string) --* The AWS Account ID of the Engagement creator. * **Id** *(string) --* The unique identifier for the Engagement. * **MemberCount** *(integer) --* The number of members in the Engagement. * **Title** *(string) --* The title of the Engagement. * **NextToken** *(string) --* The token to retrieve the next set of results. This field will be null if there are no more results. **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption" PartnerCentralSellingAPI / Client / submit_opportunity submit_opportunity ****************** PartnerCentralSellingAPI.Client.submit_opportunity(**kwargs) Use this action to submit an Opportunity that was previously created by partner for AWS review. After you perform this action, the Opportunity becomes non-editable until it is reviewed by AWS and has "LifeCycle.ReviewStatus" as either "Approved" or "Action Required". See also: AWS API Documentation **Request Syntax** response = client.submit_opportunity( Catalog='string', Identifier='string', InvolvementType='For Visibility Only'|'Co-Sell', Visibility='Full'|'Limited' ) Parameters: * **Catalog** (*string*) -- **[REQUIRED]** Specifies the catalog related to the request. Valid values are: * AWS: Submits the opportunity request from the production AWS environment. * Sandbox: Submits the opportunity request from a sandbox environment used for testing or development purposes. * **Identifier** (*string*) -- **[REQUIRED]** The identifier of the Opportunity previously created by partner and needs to be submitted. * **InvolvementType** (*string*) -- **[REQUIRED]** Specifies the level of AWS sellers' involvement on the opportunity. Valid values: * "Co-sell": Indicates the user wants to co-sell with AWS. Share the opportunity with AWS to receive deal assistance and support. * "For Visibility Only": Indicates that the user does not need support from AWS Sales Rep. Share this opportunity with AWS for visibility only, you will not receive deal assistance and support. * **Visibility** (*string*) -- Determines whether to restrict visibility of the opportunity from AWS sales. Default value is Full. Valid values: * "Full": The opportunity is fully visible to AWS sales. * "Limited": The opportunity has restricted visibility to AWS sales. Returns: None **Exceptions** * "PartnerCentralSellingAPI.Client.exceptions.ThrottlingException" * "PartnerCentralSellingAPI.Client.exceptions.AccessDeniedExceptio n" * "PartnerCentralSellingAPI.Client.exceptions.InternalServerExcept ion" * "PartnerCentralSellingAPI.Client.exceptions.ValidationException" * "PartnerCentralSellingAPI.Client.exceptions.ResourceNotFoundExce ption"