From e1c6f608c72ab71f118d1fa14e84ef4d2a04f74d Mon Sep 17 00:00:00 2001 From: awstools Date: Thu, 5 Dec 2024 01:24:03 +0000 Subject: [PATCH] feat(client-partnercentral-selling): Introducing the preview of new partner central selling APIs designed to transform how AWS partners collaborate and co-sell with multiple partners. This enables multiple partners to seamlessly engage and jointly pursue customer opportunities, fostering a new era of collaborative selling. --- .../client-partnercentral-selling/README.md | 251 +- .../src/PartnerCentralSelling.ts | 551 +- .../src/PartnerCentralSellingClient.ts | 191 +- .../AcceptEngagementInvitationCommand.ts | 128 + .../src/commands/AssignOpportunityCommand.ts | 59 +- .../commands/AssociateOpportunityCommand.ts | 86 +- .../src/commands/CreateEngagementCommand.ts | 165 + .../CreateEngagementInvitationCommand.ts | 187 + .../src/commands/CreateOpportunityCommand.ts | 86 +- .../commands/CreateResourceSnapshotCommand.ts | 142 + .../CreateResourceSnapshotJobCommand.ts | 144 + .../DeleteResourceSnapshotJobCommand.ts | 121 + .../DisassociateOpportunityCommand.ts | 63 +- .../GetAwsOpportunitySummaryCommand.ts | 52 +- .../src/commands/GetEngagementCommand.ts | 153 + .../GetEngagementInvitationCommand.ts | 58 +- .../src/commands/GetOpportunityCommand.ts | 53 +- .../commands/GetResourceSnapshotCommand.ts | 215 + .../commands/GetResourceSnapshotJobCommand.ts | 134 + .../GetSellingSystemSettingsCommand.ts | 120 + ...gementByAcceptingInvitationTasksCommand.ts | 162 + ...stEngagementFromOpportunityTasksCommand.ts | 162 + .../ListEngagementInvitationsCommand.ts | 62 +- .../commands/ListEngagementMembersCommand.ts | 138 + ...stEngagementResourceAssociationsCommand.ts | 150 + .../src/commands/ListEngagementsCommand.ts | 153 + .../src/commands/ListOpportunitiesCommand.ts | 74 +- .../ListResourceSnapshotJobsCommand.ts | 133 + .../commands/ListResourceSnapshotsCommand.ts | 143 + .../src/commands/ListSolutionsCommand.ts | 40 +- .../PutSellingSystemSettingsCommand.ts | 121 + .../RejectEngagementInvitationCommand.ts | 49 +- ...agementByAcceptingInvitationTaskCommand.ts | 72 +- ...artEngagementFromOpportunityTaskCommand.ts | 72 +- .../StartResourceSnapshotJobCommand.ts | 120 + .../StopResourceSnapshotJobCommand.ts | 120 + .../src/commands/SubmitOpportunityCommand.ts | 131 + .../src/commands/UpdateOpportunityCommand.ts | 68 +- .../src/commands/index.ts | 21 + .../src/index.ts | 77 +- .../src/models/models_0.ts | 7501 ++++++++++++----- ...mentByAcceptingInvitationTasksPaginator.ts | 24 + ...EngagementFromOpportunityTasksPaginator.ts | 24 + .../ListEngagementMembersPaginator.ts | 24 + ...EngagementResourceAssociationsPaginator.ts | 24 + .../pagination/ListEngagementsPaginator.ts | 24 + .../ListResourceSnapshotJobsPaginator.ts | 24 + .../ListResourceSnapshotsPaginator.ts | 24 + .../src/pagination/index.ts | 7 + .../src/protocols/Aws_json1_0.ts | 1303 ++- .../aws-models/partnercentral-selling.json | 4918 +++++++++-- 51 files changed, 15244 insertions(+), 3680 deletions(-) create mode 100644 clients/client-partnercentral-selling/src/commands/AcceptEngagementInvitationCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/CreateEngagementCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/CreateEngagementInvitationCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/CreateResourceSnapshotCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/CreateResourceSnapshotJobCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/DeleteResourceSnapshotJobCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/GetEngagementCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/GetResourceSnapshotCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/GetResourceSnapshotJobCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/GetSellingSystemSettingsCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/ListEngagementByAcceptingInvitationTasksCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/ListEngagementFromOpportunityTasksCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/ListEngagementMembersCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/ListEngagementResourceAssociationsCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/ListEngagementsCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/ListResourceSnapshotJobsCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/ListResourceSnapshotsCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/PutSellingSystemSettingsCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/StartResourceSnapshotJobCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/StopResourceSnapshotJobCommand.ts create mode 100644 clients/client-partnercentral-selling/src/commands/SubmitOpportunityCommand.ts create mode 100644 clients/client-partnercentral-selling/src/pagination/ListEngagementByAcceptingInvitationTasksPaginator.ts create mode 100644 clients/client-partnercentral-selling/src/pagination/ListEngagementFromOpportunityTasksPaginator.ts create mode 100644 clients/client-partnercentral-selling/src/pagination/ListEngagementMembersPaginator.ts create mode 100644 clients/client-partnercentral-selling/src/pagination/ListEngagementResourceAssociationsPaginator.ts create mode 100644 clients/client-partnercentral-selling/src/pagination/ListEngagementsPaginator.ts create mode 100644 clients/client-partnercentral-selling/src/pagination/ListResourceSnapshotJobsPaginator.ts create mode 100644 clients/client-partnercentral-selling/src/pagination/ListResourceSnapshotsPaginator.ts diff --git a/clients/client-partnercentral-selling/README.md b/clients/client-partnercentral-selling/README.md index 77a795c279b5..5fc98dcbd658 100644 --- a/clients/client-partnercentral-selling/README.md +++ b/clients/client-partnercentral-selling/README.md @@ -9,70 +9,63 @@ AWS SDK for JavaScript PartnerCentralSelling Client for Node.js, Browser and Rea AWS Partner Central API for Selling

-AWS Partner Central API for Selling Reference Guide +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.

+

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

  1. -Opportunity management: -Manages coselling opportunities through API actions such as -CreateOpportunity, UpdateOpportunity, -ListOpportunities, GetOpportunity, and -AssignOpportunity.

    +Opportunity management: Manages coselling +opportunities through API actions such as CreateOpportunity, +UpdateOpportunity, ListOpportunities, +GetOpportunity, and AssignOpportunity.

  2. -AWS referral management: -Manages referrals shared by AWS using actions such as -ListEngagementInvitations, +AWS referral management: Manages referrals +shared by AWS using actions such as ListEngagementInvitations, GetEngagementInvitation, StartEngagementByAcceptingInvitation, and RejectEngagementInvitation.

  3. -Entity association: -Associates related entities such as AWS Products, -Partner Solutions, and AWS -Marketplace Private Offers with opportunities using the -actions AssociateOpportunity, and +Entity association: Associates related +entities such as AWS Products, Partner +Solutions, and AWS Marketplace Private +Offers with opportunities using the actions +AssociateOpportunity, and DisassociateOpportunity.

  4. -View AWS opportunity -details: Retrieves real-time summaries of AWS -opportunities using the GetAWSOpportunitySummary -action.

    +View AWS opportunity details: Retrieves +real-time summaries of AWS opportunities using the +GetAWSOpportunitySummary action.

  5. -List solutions: Provides -list APIs for listing partner offers using -ListSolutions.

    +List solutions: Provides list APIs for +listing partner offers using ListSolutions.

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

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

@@ -91,16 +84,16 @@ using your favorite package manager: The AWS SDK is modulized by clients and commands. To send a request, you only need to import the `PartnerCentralSellingClient` and -the commands you need, for example `ListOpportunitiesCommand`: +the commands you need, for example `ListEngagementsCommand`: ```js // ES5 example -const { PartnerCentralSellingClient, ListOpportunitiesCommand } = require("@aws-sdk/client-partnercentral-selling"); +const { PartnerCentralSellingClient, ListEngagementsCommand } = require("@aws-sdk/client-partnercentral-selling"); ``` ```ts // ES6+ example -import { PartnerCentralSellingClient, ListOpportunitiesCommand } from "@aws-sdk/client-partnercentral-selling"; +import { PartnerCentralSellingClient, ListEngagementsCommand } from "@aws-sdk/client-partnercentral-selling"; ``` ### Usage @@ -119,7 +112,7 @@ const client = new PartnerCentralSellingClient({ region: "REGION" }); const params = { /** input parameters */ }; -const command = new ListOpportunitiesCommand(params); +const command = new ListEngagementsCommand(params); ``` #### Async/await @@ -198,7 +191,7 @@ const client = new AWS.PartnerCentralSelling({ region: "REGION" }); // async/await. try { - const data = await client.listOpportunities(params); + const data = await client.listEngagements(params); // process data. } catch (error) { // error handling. @@ -206,7 +199,7 @@ try { // Promises. client - .listOpportunities(params) + .listEngagements(params) .then((data) => { // process data. }) @@ -215,7 +208,7 @@ client }); // callbacks. -client.listOpportunities(params, (err, data) => { +client.listEngagements(params, (err, data) => { // process err and data. }); ``` @@ -271,6 +264,14 @@ see LICENSE for more information. ## Client Commands (Operations List) +
+ +AcceptEngagementInvitation + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/AcceptEngagementInvitationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/AcceptEngagementInvitationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/AcceptEngagementInvitationCommandOutput/) + +
AssignOpportunity @@ -286,6 +287,22 @@ AssociateOpportunity [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/AssociateOpportunityCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/AssociateOpportunityCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/AssociateOpportunityCommandOutput/) +
+
+ +CreateEngagement + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/CreateEngagementCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/CreateEngagementCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/CreateEngagementCommandOutput/) + +
+
+ +CreateEngagementInvitation + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/CreateEngagementInvitationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/CreateEngagementInvitationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/CreateEngagementInvitationCommandOutput/) +
@@ -294,6 +311,30 @@ CreateOpportunity [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/CreateOpportunityCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/CreateOpportunityCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/CreateOpportunityCommandOutput/) +
+
+ +CreateResourceSnapshot + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/CreateResourceSnapshotCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/CreateResourceSnapshotCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/CreateResourceSnapshotCommandOutput/) + +
+
+ +CreateResourceSnapshotJob + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/CreateResourceSnapshotJobCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/CreateResourceSnapshotJobCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/CreateResourceSnapshotJobCommandOutput/) + +
+
+ +DeleteResourceSnapshotJob + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/DeleteResourceSnapshotJobCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/DeleteResourceSnapshotJobCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/DeleteResourceSnapshotJobCommandOutput/) +
@@ -310,6 +351,14 @@ GetAwsOpportunitySummary [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/GetAwsOpportunitySummaryCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/GetAwsOpportunitySummaryCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/GetAwsOpportunitySummaryCommandOutput/) +
+
+ +GetEngagement + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/GetEngagementCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/GetEngagementCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/GetEngagementCommandOutput/) +
@@ -326,6 +375,46 @@ GetOpportunity [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/GetOpportunityCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/GetOpportunityCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/GetOpportunityCommandOutput/) +
+
+ +GetResourceSnapshot + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/GetResourceSnapshotCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/GetResourceSnapshotCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/GetResourceSnapshotCommandOutput/) + +
+
+ +GetResourceSnapshotJob + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/GetResourceSnapshotJobCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/GetResourceSnapshotJobCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/GetResourceSnapshotJobCommandOutput/) + +
+
+ +GetSellingSystemSettings + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/GetSellingSystemSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/GetSellingSystemSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/GetSellingSystemSettingsCommandOutput/) + +
+
+ +ListEngagementByAcceptingInvitationTasks + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/ListEngagementByAcceptingInvitationTasksCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListEngagementByAcceptingInvitationTasksCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListEngagementByAcceptingInvitationTasksCommandOutput/) + +
+
+ +ListEngagementFromOpportunityTasks + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/ListEngagementFromOpportunityTasksCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListEngagementFromOpportunityTasksCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListEngagementFromOpportunityTasksCommandOutput/) +
@@ -334,6 +423,30 @@ ListEngagementInvitations [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/ListEngagementInvitationsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListEngagementInvitationsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListEngagementInvitationsCommandOutput/) +
+
+ +ListEngagementMembers + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/ListEngagementMembersCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListEngagementMembersCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListEngagementMembersCommandOutput/) + +
+
+ +ListEngagementResourceAssociations + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/ListEngagementResourceAssociationsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListEngagementResourceAssociationsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListEngagementResourceAssociationsCommandOutput/) + +
+
+ +ListEngagements + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/ListEngagementsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListEngagementsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListEngagementsCommandOutput/) +
@@ -342,6 +455,22 @@ ListOpportunities [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/ListOpportunitiesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListOpportunitiesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListOpportunitiesCommandOutput/) +
+
+ +ListResourceSnapshotJobs + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/ListResourceSnapshotJobsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListResourceSnapshotJobsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListResourceSnapshotJobsCommandOutput/) + +
+
+ +ListResourceSnapshots + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/ListResourceSnapshotsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListResourceSnapshotsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListResourceSnapshotsCommandOutput/) +
@@ -350,6 +479,14 @@ ListSolutions [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/ListSolutionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListSolutionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/ListSolutionsCommandOutput/) +
+
+ +PutSellingSystemSettings + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/PutSellingSystemSettingsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/PutSellingSystemSettingsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/PutSellingSystemSettingsCommandOutput/) +
@@ -374,6 +511,30 @@ StartEngagementFromOpportunityTask [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/StartEngagementFromOpportunityTaskCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/StartEngagementFromOpportunityTaskCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/StartEngagementFromOpportunityTaskCommandOutput/) +
+
+ +StartResourceSnapshotJob + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/StartResourceSnapshotJobCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/StartResourceSnapshotJobCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/StartResourceSnapshotJobCommandOutput/) + +
+
+ +StopResourceSnapshotJob + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/StopResourceSnapshotJobCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/StopResourceSnapshotJobCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/StopResourceSnapshotJobCommandOutput/) + +
+
+ +SubmitOpportunity + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/partnercentral-selling/command/SubmitOpportunityCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/SubmitOpportunityCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-partnercentral-selling/Interface/SubmitOpportunityCommandOutput/) +
diff --git a/clients/client-partnercentral-selling/src/PartnerCentralSelling.ts b/clients/client-partnercentral-selling/src/PartnerCentralSelling.ts index 46d6e1e78f6a..eaa30338c49c 100644 --- a/clients/client-partnercentral-selling/src/PartnerCentralSelling.ts +++ b/clients/client-partnercentral-selling/src/PartnerCentralSelling.ts @@ -2,6 +2,11 @@ import { createAggregatedClient } from "@smithy/smithy-client"; import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types"; +import { + AcceptEngagementInvitationCommand, + AcceptEngagementInvitationCommandInput, + AcceptEngagementInvitationCommandOutput, +} from "./commands/AcceptEngagementInvitationCommand"; import { AssignOpportunityCommand, AssignOpportunityCommandInput, @@ -12,11 +17,36 @@ import { AssociateOpportunityCommandInput, AssociateOpportunityCommandOutput, } from "./commands/AssociateOpportunityCommand"; +import { + CreateEngagementCommand, + CreateEngagementCommandInput, + CreateEngagementCommandOutput, +} from "./commands/CreateEngagementCommand"; +import { + CreateEngagementInvitationCommand, + CreateEngagementInvitationCommandInput, + CreateEngagementInvitationCommandOutput, +} from "./commands/CreateEngagementInvitationCommand"; import { CreateOpportunityCommand, CreateOpportunityCommandInput, CreateOpportunityCommandOutput, } from "./commands/CreateOpportunityCommand"; +import { + CreateResourceSnapshotCommand, + CreateResourceSnapshotCommandInput, + CreateResourceSnapshotCommandOutput, +} from "./commands/CreateResourceSnapshotCommand"; +import { + CreateResourceSnapshotJobCommand, + CreateResourceSnapshotJobCommandInput, + CreateResourceSnapshotJobCommandOutput, +} from "./commands/CreateResourceSnapshotJobCommand"; +import { + DeleteResourceSnapshotJobCommand, + DeleteResourceSnapshotJobCommandInput, + DeleteResourceSnapshotJobCommandOutput, +} from "./commands/DeleteResourceSnapshotJobCommand"; import { DisassociateOpportunityCommand, DisassociateOpportunityCommandInput, @@ -27,6 +57,11 @@ import { GetAwsOpportunitySummaryCommandInput, GetAwsOpportunitySummaryCommandOutput, } from "./commands/GetAwsOpportunitySummaryCommand"; +import { + GetEngagementCommand, + GetEngagementCommandInput, + GetEngagementCommandOutput, +} from "./commands/GetEngagementCommand"; import { GetEngagementInvitationCommand, GetEngagementInvitationCommandInput, @@ -37,21 +72,76 @@ import { GetOpportunityCommandInput, GetOpportunityCommandOutput, } from "./commands/GetOpportunityCommand"; +import { + GetResourceSnapshotCommand, + GetResourceSnapshotCommandInput, + GetResourceSnapshotCommandOutput, +} from "./commands/GetResourceSnapshotCommand"; +import { + GetResourceSnapshotJobCommand, + GetResourceSnapshotJobCommandInput, + GetResourceSnapshotJobCommandOutput, +} from "./commands/GetResourceSnapshotJobCommand"; +import { + GetSellingSystemSettingsCommand, + GetSellingSystemSettingsCommandInput, + GetSellingSystemSettingsCommandOutput, +} from "./commands/GetSellingSystemSettingsCommand"; +import { + ListEngagementByAcceptingInvitationTasksCommand, + ListEngagementByAcceptingInvitationTasksCommandInput, + ListEngagementByAcceptingInvitationTasksCommandOutput, +} from "./commands/ListEngagementByAcceptingInvitationTasksCommand"; +import { + ListEngagementFromOpportunityTasksCommand, + ListEngagementFromOpportunityTasksCommandInput, + ListEngagementFromOpportunityTasksCommandOutput, +} from "./commands/ListEngagementFromOpportunityTasksCommand"; import { ListEngagementInvitationsCommand, ListEngagementInvitationsCommandInput, ListEngagementInvitationsCommandOutput, } from "./commands/ListEngagementInvitationsCommand"; +import { + ListEngagementMembersCommand, + ListEngagementMembersCommandInput, + ListEngagementMembersCommandOutput, +} from "./commands/ListEngagementMembersCommand"; +import { + ListEngagementResourceAssociationsCommand, + ListEngagementResourceAssociationsCommandInput, + ListEngagementResourceAssociationsCommandOutput, +} from "./commands/ListEngagementResourceAssociationsCommand"; +import { + ListEngagementsCommand, + ListEngagementsCommandInput, + ListEngagementsCommandOutput, +} from "./commands/ListEngagementsCommand"; import { ListOpportunitiesCommand, ListOpportunitiesCommandInput, ListOpportunitiesCommandOutput, } from "./commands/ListOpportunitiesCommand"; +import { + ListResourceSnapshotJobsCommand, + ListResourceSnapshotJobsCommandInput, + ListResourceSnapshotJobsCommandOutput, +} from "./commands/ListResourceSnapshotJobsCommand"; +import { + ListResourceSnapshotsCommand, + ListResourceSnapshotsCommandInput, + ListResourceSnapshotsCommandOutput, +} from "./commands/ListResourceSnapshotsCommand"; import { ListSolutionsCommand, ListSolutionsCommandInput, ListSolutionsCommandOutput, } from "./commands/ListSolutionsCommand"; +import { + PutSellingSystemSettingsCommand, + PutSellingSystemSettingsCommandInput, + PutSellingSystemSettingsCommandOutput, +} from "./commands/PutSellingSystemSettingsCommand"; import { RejectEngagementInvitationCommand, RejectEngagementInvitationCommandInput, @@ -67,6 +157,21 @@ import { StartEngagementFromOpportunityTaskCommandInput, StartEngagementFromOpportunityTaskCommandOutput, } from "./commands/StartEngagementFromOpportunityTaskCommand"; +import { + StartResourceSnapshotJobCommand, + StartResourceSnapshotJobCommandInput, + StartResourceSnapshotJobCommandOutput, +} from "./commands/StartResourceSnapshotJobCommand"; +import { + StopResourceSnapshotJobCommand, + StopResourceSnapshotJobCommandInput, + StopResourceSnapshotJobCommandOutput, +} from "./commands/StopResourceSnapshotJobCommand"; +import { + SubmitOpportunityCommand, + SubmitOpportunityCommandInput, + SubmitOpportunityCommandOutput, +} from "./commands/SubmitOpportunityCommand"; import { UpdateOpportunityCommand, UpdateOpportunityCommandInput, @@ -75,23 +180,61 @@ import { import { PartnerCentralSellingClient, PartnerCentralSellingClientConfig } from "./PartnerCentralSellingClient"; const commands = { + AcceptEngagementInvitationCommand, AssignOpportunityCommand, AssociateOpportunityCommand, + CreateEngagementCommand, + CreateEngagementInvitationCommand, CreateOpportunityCommand, + CreateResourceSnapshotCommand, + CreateResourceSnapshotJobCommand, + DeleteResourceSnapshotJobCommand, DisassociateOpportunityCommand, GetAwsOpportunitySummaryCommand, + GetEngagementCommand, GetEngagementInvitationCommand, GetOpportunityCommand, + GetResourceSnapshotCommand, + GetResourceSnapshotJobCommand, + GetSellingSystemSettingsCommand, + ListEngagementByAcceptingInvitationTasksCommand, + ListEngagementFromOpportunityTasksCommand, ListEngagementInvitationsCommand, + ListEngagementMembersCommand, + ListEngagementResourceAssociationsCommand, + ListEngagementsCommand, ListOpportunitiesCommand, + ListResourceSnapshotJobsCommand, + ListResourceSnapshotsCommand, ListSolutionsCommand, + PutSellingSystemSettingsCommand, RejectEngagementInvitationCommand, StartEngagementByAcceptingInvitationTaskCommand, StartEngagementFromOpportunityTaskCommand, + StartResourceSnapshotJobCommand, + StopResourceSnapshotJobCommand, + SubmitOpportunityCommand, UpdateOpportunityCommand, }; export interface PartnerCentralSelling { + /** + * @see {@link AcceptEngagementInvitationCommand} + */ + acceptEngagementInvitation( + args: AcceptEngagementInvitationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + acceptEngagementInvitation( + args: AcceptEngagementInvitationCommandInput, + cb: (err: any, data?: AcceptEngagementInvitationCommandOutput) => void + ): void; + acceptEngagementInvitation( + args: AcceptEngagementInvitationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AcceptEngagementInvitationCommandOutput) => void + ): void; + /** * @see {@link AssignOpportunityCommand} */ @@ -126,6 +269,40 @@ export interface PartnerCentralSelling { cb: (err: any, data?: AssociateOpportunityCommandOutput) => void ): void; + /** + * @see {@link CreateEngagementCommand} + */ + createEngagement( + args: CreateEngagementCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createEngagement( + args: CreateEngagementCommandInput, + cb: (err: any, data?: CreateEngagementCommandOutput) => void + ): void; + createEngagement( + args: CreateEngagementCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateEngagementCommandOutput) => void + ): void; + + /** + * @see {@link CreateEngagementInvitationCommand} + */ + createEngagementInvitation( + args: CreateEngagementInvitationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createEngagementInvitation( + args: CreateEngagementInvitationCommandInput, + cb: (err: any, data?: CreateEngagementInvitationCommandOutput) => void + ): void; + createEngagementInvitation( + args: CreateEngagementInvitationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateEngagementInvitationCommandOutput) => void + ): void; + /** * @see {@link CreateOpportunityCommand} */ @@ -143,6 +320,57 @@ export interface PartnerCentralSelling { cb: (err: any, data?: CreateOpportunityCommandOutput) => void ): void; + /** + * @see {@link CreateResourceSnapshotCommand} + */ + createResourceSnapshot( + args: CreateResourceSnapshotCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createResourceSnapshot( + args: CreateResourceSnapshotCommandInput, + cb: (err: any, data?: CreateResourceSnapshotCommandOutput) => void + ): void; + createResourceSnapshot( + args: CreateResourceSnapshotCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateResourceSnapshotCommandOutput) => void + ): void; + + /** + * @see {@link CreateResourceSnapshotJobCommand} + */ + createResourceSnapshotJob( + args: CreateResourceSnapshotJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createResourceSnapshotJob( + args: CreateResourceSnapshotJobCommandInput, + cb: (err: any, data?: CreateResourceSnapshotJobCommandOutput) => void + ): void; + createResourceSnapshotJob( + args: CreateResourceSnapshotJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateResourceSnapshotJobCommandOutput) => void + ): void; + + /** + * @see {@link DeleteResourceSnapshotJobCommand} + */ + deleteResourceSnapshotJob( + args: DeleteResourceSnapshotJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteResourceSnapshotJob( + args: DeleteResourceSnapshotJobCommandInput, + cb: (err: any, data?: DeleteResourceSnapshotJobCommandOutput) => void + ): void; + deleteResourceSnapshotJob( + args: DeleteResourceSnapshotJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteResourceSnapshotJobCommandOutput) => void + ): void; + /** * @see {@link DisassociateOpportunityCommand} */ @@ -177,6 +405,17 @@ export interface PartnerCentralSelling { cb: (err: any, data?: GetAwsOpportunitySummaryCommandOutput) => void ): void; + /** + * @see {@link GetEngagementCommand} + */ + getEngagement(args: GetEngagementCommandInput, options?: __HttpHandlerOptions): Promise; + getEngagement(args: GetEngagementCommandInput, cb: (err: any, data?: GetEngagementCommandOutput) => void): void; + getEngagement( + args: GetEngagementCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetEngagementCommandOutput) => void + ): void; + /** * @see {@link GetEngagementInvitationCommand} */ @@ -208,6 +447,91 @@ export interface PartnerCentralSelling { cb: (err: any, data?: GetOpportunityCommandOutput) => void ): void; + /** + * @see {@link GetResourceSnapshotCommand} + */ + getResourceSnapshot( + args: GetResourceSnapshotCommandInput, + options?: __HttpHandlerOptions + ): Promise; + getResourceSnapshot( + args: GetResourceSnapshotCommandInput, + cb: (err: any, data?: GetResourceSnapshotCommandOutput) => void + ): void; + getResourceSnapshot( + args: GetResourceSnapshotCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetResourceSnapshotCommandOutput) => void + ): void; + + /** + * @see {@link GetResourceSnapshotJobCommand} + */ + getResourceSnapshotJob( + args: GetResourceSnapshotJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + getResourceSnapshotJob( + args: GetResourceSnapshotJobCommandInput, + cb: (err: any, data?: GetResourceSnapshotJobCommandOutput) => void + ): void; + getResourceSnapshotJob( + args: GetResourceSnapshotJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetResourceSnapshotJobCommandOutput) => void + ): void; + + /** + * @see {@link GetSellingSystemSettingsCommand} + */ + getSellingSystemSettings( + args: GetSellingSystemSettingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + getSellingSystemSettings( + args: GetSellingSystemSettingsCommandInput, + cb: (err: any, data?: GetSellingSystemSettingsCommandOutput) => void + ): void; + getSellingSystemSettings( + args: GetSellingSystemSettingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetSellingSystemSettingsCommandOutput) => void + ): void; + + /** + * @see {@link ListEngagementByAcceptingInvitationTasksCommand} + */ + listEngagementByAcceptingInvitationTasks( + args: ListEngagementByAcceptingInvitationTasksCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listEngagementByAcceptingInvitationTasks( + args: ListEngagementByAcceptingInvitationTasksCommandInput, + cb: (err: any, data?: ListEngagementByAcceptingInvitationTasksCommandOutput) => void + ): void; + listEngagementByAcceptingInvitationTasks( + args: ListEngagementByAcceptingInvitationTasksCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListEngagementByAcceptingInvitationTasksCommandOutput) => void + ): void; + + /** + * @see {@link ListEngagementFromOpportunityTasksCommand} + */ + listEngagementFromOpportunityTasks( + args: ListEngagementFromOpportunityTasksCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listEngagementFromOpportunityTasks( + args: ListEngagementFromOpportunityTasksCommandInput, + cb: (err: any, data?: ListEngagementFromOpportunityTasksCommandOutput) => void + ): void; + listEngagementFromOpportunityTasks( + args: ListEngagementFromOpportunityTasksCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListEngagementFromOpportunityTasksCommandOutput) => void + ): void; + /** * @see {@link ListEngagementInvitationsCommand} */ @@ -225,6 +549,54 @@ export interface PartnerCentralSelling { cb: (err: any, data?: ListEngagementInvitationsCommandOutput) => void ): void; + /** + * @see {@link ListEngagementMembersCommand} + */ + listEngagementMembers( + args: ListEngagementMembersCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listEngagementMembers( + args: ListEngagementMembersCommandInput, + cb: (err: any, data?: ListEngagementMembersCommandOutput) => void + ): void; + listEngagementMembers( + args: ListEngagementMembersCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListEngagementMembersCommandOutput) => void + ): void; + + /** + * @see {@link ListEngagementResourceAssociationsCommand} + */ + listEngagementResourceAssociations( + args: ListEngagementResourceAssociationsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listEngagementResourceAssociations( + args: ListEngagementResourceAssociationsCommandInput, + cb: (err: any, data?: ListEngagementResourceAssociationsCommandOutput) => void + ): void; + listEngagementResourceAssociations( + args: ListEngagementResourceAssociationsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListEngagementResourceAssociationsCommandOutput) => void + ): void; + + /** + * @see {@link ListEngagementsCommand} + */ + listEngagements( + args: ListEngagementsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listEngagements(args: ListEngagementsCommandInput, cb: (err: any, data?: ListEngagementsCommandOutput) => void): void; + listEngagements( + args: ListEngagementsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListEngagementsCommandOutput) => void + ): void; + /** * @see {@link ListOpportunitiesCommand} */ @@ -242,6 +614,40 @@ export interface PartnerCentralSelling { cb: (err: any, data?: ListOpportunitiesCommandOutput) => void ): void; + /** + * @see {@link ListResourceSnapshotJobsCommand} + */ + listResourceSnapshotJobs( + args: ListResourceSnapshotJobsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listResourceSnapshotJobs( + args: ListResourceSnapshotJobsCommandInput, + cb: (err: any, data?: ListResourceSnapshotJobsCommandOutput) => void + ): void; + listResourceSnapshotJobs( + args: ListResourceSnapshotJobsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListResourceSnapshotJobsCommandOutput) => void + ): void; + + /** + * @see {@link ListResourceSnapshotsCommand} + */ + listResourceSnapshots( + args: ListResourceSnapshotsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listResourceSnapshots( + args: ListResourceSnapshotsCommandInput, + cb: (err: any, data?: ListResourceSnapshotsCommandOutput) => void + ): void; + listResourceSnapshots( + args: ListResourceSnapshotsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListResourceSnapshotsCommandOutput) => void + ): void; + /** * @see {@link ListSolutionsCommand} */ @@ -253,6 +659,23 @@ export interface PartnerCentralSelling { cb: (err: any, data?: ListSolutionsCommandOutput) => void ): void; + /** + * @see {@link PutSellingSystemSettingsCommand} + */ + putSellingSystemSettings( + args: PutSellingSystemSettingsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + putSellingSystemSettings( + args: PutSellingSystemSettingsCommandInput, + cb: (err: any, data?: PutSellingSystemSettingsCommandOutput) => void + ): void; + putSellingSystemSettings( + args: PutSellingSystemSettingsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutSellingSystemSettingsCommandOutput) => void + ): void; + /** * @see {@link RejectEngagementInvitationCommand} */ @@ -304,6 +727,57 @@ export interface PartnerCentralSelling { cb: (err: any, data?: StartEngagementFromOpportunityTaskCommandOutput) => void ): void; + /** + * @see {@link StartResourceSnapshotJobCommand} + */ + startResourceSnapshotJob( + args: StartResourceSnapshotJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + startResourceSnapshotJob( + args: StartResourceSnapshotJobCommandInput, + cb: (err: any, data?: StartResourceSnapshotJobCommandOutput) => void + ): void; + startResourceSnapshotJob( + args: StartResourceSnapshotJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartResourceSnapshotJobCommandOutput) => void + ): void; + + /** + * @see {@link StopResourceSnapshotJobCommand} + */ + stopResourceSnapshotJob( + args: StopResourceSnapshotJobCommandInput, + options?: __HttpHandlerOptions + ): Promise; + stopResourceSnapshotJob( + args: StopResourceSnapshotJobCommandInput, + cb: (err: any, data?: StopResourceSnapshotJobCommandOutput) => void + ): void; + stopResourceSnapshotJob( + args: StopResourceSnapshotJobCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StopResourceSnapshotJobCommandOutput) => void + ): void; + + /** + * @see {@link SubmitOpportunityCommand} + */ + submitOpportunity( + args: SubmitOpportunityCommandInput, + options?: __HttpHandlerOptions + ): Promise; + submitOpportunity( + args: SubmitOpportunityCommandInput, + cb: (err: any, data?: SubmitOpportunityCommandOutput) => void + ): void; + submitOpportunity( + args: SubmitOpportunityCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: SubmitOpportunityCommandOutput) => void + ): void; + /** * @see {@link UpdateOpportunityCommand} */ @@ -325,70 +799,63 @@ export interface PartnerCentralSelling { /** * AWS Partner Central API for Selling *

- * AWS Partner Central API for Selling Reference Guide + * 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.

+ *

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 *

*
    *
  1. *

    - * Opportunity management: - * Manages coselling opportunities through API actions such as - * CreateOpportunity, UpdateOpportunity, - * ListOpportunities, GetOpportunity, and - * AssignOpportunity.

    + * Opportunity management: Manages coselling + * opportunities through API actions such as CreateOpportunity, + * UpdateOpportunity, ListOpportunities, + * GetOpportunity, and AssignOpportunity.

    *
  2. *
  3. *

    - * AWS referral management: - * Manages referrals shared by AWS using actions such as - * ListEngagementInvitations, - * GetEngagementInvitation, - * StartEngagementByAcceptingInvitation, and - * RejectEngagementInvitation.

    + * AWS referral management: Manages referrals + * shared by AWS using actions such as ListEngagementInvitations, + * GetEngagementInvitation, + * StartEngagementByAcceptingInvitation, and + * RejectEngagementInvitation.

    *
  4. *
  5. *

    - * Entity association: - * Associates related entities such as AWS Products, - * Partner Solutions, and AWS - * Marketplace Private Offers with opportunities using the - * actions AssociateOpportunity, and - * DisassociateOpportunity.

    + * Entity association: Associates related + * entities such as AWS Products, Partner + * Solutions, and AWS Marketplace Private + * Offers with opportunities using the actions + * AssociateOpportunity, and + * DisassociateOpportunity.

    *
  6. *
  7. *

    - * View AWS opportunity - * details: Retrieves real-time summaries of AWS - * opportunities using the GetAWSOpportunitySummary - * action.

    + * View AWS opportunity details: Retrieves + * real-time summaries of AWS opportunities using the + * GetAWSOpportunitySummary action.

    *
  8. *
  9. *

    - * List solutions: Provides - * list APIs for listing partner offers using - * ListSolutions.

    + * List solutions: Provides list APIs for + * listing partner offers using ListSolutions.

    *
  10. *
  11. *

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

    + * 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.

    *
  12. *
* @public diff --git a/clients/client-partnercentral-selling/src/PartnerCentralSellingClient.ts b/clients/client-partnercentral-selling/src/PartnerCentralSellingClient.ts index f709e8862eff..3eb8c0bd088c 100644 --- a/clients/client-partnercentral-selling/src/PartnerCentralSellingClient.ts +++ b/clients/client-partnercentral-selling/src/PartnerCentralSellingClient.ts @@ -53,12 +53,33 @@ import { HttpAuthSchemeResolvedConfig, resolveHttpAuthSchemeConfig, } from "./auth/httpAuthSchemeProvider"; +import { + AcceptEngagementInvitationCommandInput, + AcceptEngagementInvitationCommandOutput, +} from "./commands/AcceptEngagementInvitationCommand"; import { AssignOpportunityCommandInput, AssignOpportunityCommandOutput } from "./commands/AssignOpportunityCommand"; import { AssociateOpportunityCommandInput, AssociateOpportunityCommandOutput, } from "./commands/AssociateOpportunityCommand"; +import { CreateEngagementCommandInput, CreateEngagementCommandOutput } from "./commands/CreateEngagementCommand"; +import { + CreateEngagementInvitationCommandInput, + CreateEngagementInvitationCommandOutput, +} from "./commands/CreateEngagementInvitationCommand"; import { CreateOpportunityCommandInput, CreateOpportunityCommandOutput } from "./commands/CreateOpportunityCommand"; +import { + CreateResourceSnapshotCommandInput, + CreateResourceSnapshotCommandOutput, +} from "./commands/CreateResourceSnapshotCommand"; +import { + CreateResourceSnapshotJobCommandInput, + CreateResourceSnapshotJobCommandOutput, +} from "./commands/CreateResourceSnapshotJobCommand"; +import { + DeleteResourceSnapshotJobCommandInput, + DeleteResourceSnapshotJobCommandOutput, +} from "./commands/DeleteResourceSnapshotJobCommand"; import { DisassociateOpportunityCommandInput, DisassociateOpportunityCommandOutput, @@ -67,17 +88,59 @@ import { GetAwsOpportunitySummaryCommandInput, GetAwsOpportunitySummaryCommandOutput, } from "./commands/GetAwsOpportunitySummaryCommand"; +import { GetEngagementCommandInput, GetEngagementCommandOutput } from "./commands/GetEngagementCommand"; import { GetEngagementInvitationCommandInput, GetEngagementInvitationCommandOutput, } from "./commands/GetEngagementInvitationCommand"; import { GetOpportunityCommandInput, GetOpportunityCommandOutput } from "./commands/GetOpportunityCommand"; +import { + GetResourceSnapshotCommandInput, + GetResourceSnapshotCommandOutput, +} from "./commands/GetResourceSnapshotCommand"; +import { + GetResourceSnapshotJobCommandInput, + GetResourceSnapshotJobCommandOutput, +} from "./commands/GetResourceSnapshotJobCommand"; +import { + GetSellingSystemSettingsCommandInput, + GetSellingSystemSettingsCommandOutput, +} from "./commands/GetSellingSystemSettingsCommand"; +import { + ListEngagementByAcceptingInvitationTasksCommandInput, + ListEngagementByAcceptingInvitationTasksCommandOutput, +} from "./commands/ListEngagementByAcceptingInvitationTasksCommand"; +import { + ListEngagementFromOpportunityTasksCommandInput, + ListEngagementFromOpportunityTasksCommandOutput, +} from "./commands/ListEngagementFromOpportunityTasksCommand"; import { ListEngagementInvitationsCommandInput, ListEngagementInvitationsCommandOutput, } from "./commands/ListEngagementInvitationsCommand"; +import { + ListEngagementMembersCommandInput, + ListEngagementMembersCommandOutput, +} from "./commands/ListEngagementMembersCommand"; +import { + ListEngagementResourceAssociationsCommandInput, + ListEngagementResourceAssociationsCommandOutput, +} from "./commands/ListEngagementResourceAssociationsCommand"; +import { ListEngagementsCommandInput, ListEngagementsCommandOutput } from "./commands/ListEngagementsCommand"; import { ListOpportunitiesCommandInput, ListOpportunitiesCommandOutput } from "./commands/ListOpportunitiesCommand"; +import { + ListResourceSnapshotJobsCommandInput, + ListResourceSnapshotJobsCommandOutput, +} from "./commands/ListResourceSnapshotJobsCommand"; +import { + ListResourceSnapshotsCommandInput, + ListResourceSnapshotsCommandOutput, +} from "./commands/ListResourceSnapshotsCommand"; import { ListSolutionsCommandInput, ListSolutionsCommandOutput } from "./commands/ListSolutionsCommand"; +import { + PutSellingSystemSettingsCommandInput, + PutSellingSystemSettingsCommandOutput, +} from "./commands/PutSellingSystemSettingsCommand"; import { RejectEngagementInvitationCommandInput, RejectEngagementInvitationCommandOutput, @@ -90,6 +153,15 @@ import { StartEngagementFromOpportunityTaskCommandInput, StartEngagementFromOpportunityTaskCommandOutput, } from "./commands/StartEngagementFromOpportunityTaskCommand"; +import { + StartResourceSnapshotJobCommandInput, + StartResourceSnapshotJobCommandOutput, +} from "./commands/StartResourceSnapshotJobCommand"; +import { + StopResourceSnapshotJobCommandInput, + StopResourceSnapshotJobCommandOutput, +} from "./commands/StopResourceSnapshotJobCommand"; +import { SubmitOpportunityCommandInput, SubmitOpportunityCommandOutput } from "./commands/SubmitOpportunityCommand"; import { UpdateOpportunityCommandInput, UpdateOpportunityCommandOutput } from "./commands/UpdateOpportunityCommand"; import { ClientInputEndpointParameters, @@ -106,38 +178,80 @@ export { __Client }; * @public */ export type ServiceInputTypes = + | AcceptEngagementInvitationCommandInput | AssignOpportunityCommandInput | AssociateOpportunityCommandInput + | CreateEngagementCommandInput + | CreateEngagementInvitationCommandInput | CreateOpportunityCommandInput + | CreateResourceSnapshotCommandInput + | CreateResourceSnapshotJobCommandInput + | DeleteResourceSnapshotJobCommandInput | DisassociateOpportunityCommandInput | GetAwsOpportunitySummaryCommandInput + | GetEngagementCommandInput | GetEngagementInvitationCommandInput | GetOpportunityCommandInput + | GetResourceSnapshotCommandInput + | GetResourceSnapshotJobCommandInput + | GetSellingSystemSettingsCommandInput + | ListEngagementByAcceptingInvitationTasksCommandInput + | ListEngagementFromOpportunityTasksCommandInput | ListEngagementInvitationsCommandInput + | ListEngagementMembersCommandInput + | ListEngagementResourceAssociationsCommandInput + | ListEngagementsCommandInput | ListOpportunitiesCommandInput + | ListResourceSnapshotJobsCommandInput + | ListResourceSnapshotsCommandInput | ListSolutionsCommandInput + | PutSellingSystemSettingsCommandInput | RejectEngagementInvitationCommandInput | StartEngagementByAcceptingInvitationTaskCommandInput | StartEngagementFromOpportunityTaskCommandInput + | StartResourceSnapshotJobCommandInput + | StopResourceSnapshotJobCommandInput + | SubmitOpportunityCommandInput | UpdateOpportunityCommandInput; /** * @public */ export type ServiceOutputTypes = + | AcceptEngagementInvitationCommandOutput | AssignOpportunityCommandOutput | AssociateOpportunityCommandOutput + | CreateEngagementCommandOutput + | CreateEngagementInvitationCommandOutput | CreateOpportunityCommandOutput + | CreateResourceSnapshotCommandOutput + | CreateResourceSnapshotJobCommandOutput + | DeleteResourceSnapshotJobCommandOutput | DisassociateOpportunityCommandOutput | GetAwsOpportunitySummaryCommandOutput + | GetEngagementCommandOutput | GetEngagementInvitationCommandOutput | GetOpportunityCommandOutput + | GetResourceSnapshotCommandOutput + | GetResourceSnapshotJobCommandOutput + | GetSellingSystemSettingsCommandOutput + | ListEngagementByAcceptingInvitationTasksCommandOutput + | ListEngagementFromOpportunityTasksCommandOutput | ListEngagementInvitationsCommandOutput + | ListEngagementMembersCommandOutput + | ListEngagementResourceAssociationsCommandOutput + | ListEngagementsCommandOutput | ListOpportunitiesCommandOutput + | ListResourceSnapshotJobsCommandOutput + | ListResourceSnapshotsCommandOutput | ListSolutionsCommandOutput + | PutSellingSystemSettingsCommandOutput | RejectEngagementInvitationCommandOutput | StartEngagementByAcceptingInvitationTaskCommandOutput | StartEngagementFromOpportunityTaskCommandOutput + | StartResourceSnapshotJobCommandOutput + | StopResourceSnapshotJobCommandOutput + | SubmitOpportunityCommandOutput | UpdateOpportunityCommandOutput; /** @@ -314,70 +428,63 @@ export interface PartnerCentralSellingClientResolvedConfig extends PartnerCentra /** * AWS Partner Central API for Selling *

- * AWS Partner Central API for Selling Reference Guide + * 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.

+ *

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 *

*
    *
  1. *

    - * Opportunity management: - * Manages coselling opportunities through API actions such as - * CreateOpportunity, UpdateOpportunity, - * ListOpportunities, GetOpportunity, and - * AssignOpportunity.

    + * Opportunity management: Manages coselling + * opportunities through API actions such as CreateOpportunity, + * UpdateOpportunity, ListOpportunities, + * GetOpportunity, and AssignOpportunity.

    *
  2. *
  3. *

    - * AWS referral management: - * Manages referrals shared by AWS using actions such as - * ListEngagementInvitations, - * GetEngagementInvitation, - * StartEngagementByAcceptingInvitation, and - * RejectEngagementInvitation.

    + * AWS referral management: Manages referrals + * shared by AWS using actions such as ListEngagementInvitations, + * GetEngagementInvitation, + * StartEngagementByAcceptingInvitation, and + * RejectEngagementInvitation.

    *
  4. *
  5. *

    - * Entity association: - * Associates related entities such as AWS Products, - * Partner Solutions, and AWS - * Marketplace Private Offers with opportunities using the - * actions AssociateOpportunity, and - * DisassociateOpportunity.

    + * Entity association: Associates related + * entities such as AWS Products, Partner + * Solutions, and AWS Marketplace Private + * Offers with opportunities using the actions + * AssociateOpportunity, and + * DisassociateOpportunity.

    *
  6. *
  7. *

    - * View AWS opportunity - * details: Retrieves real-time summaries of AWS - * opportunities using the GetAWSOpportunitySummary - * action.

    + * View AWS opportunity details: Retrieves + * real-time summaries of AWS opportunities using the + * GetAWSOpportunitySummary action.

    *
  8. *
  9. *

    - * List solutions: Provides - * list APIs for listing partner offers using - * ListSolutions.

    + * List solutions: Provides list APIs for + * listing partner offers using ListSolutions.

    *
  10. *
  11. *

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

    + * 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.

    *
  12. *
* @public diff --git a/clients/client-partnercentral-selling/src/commands/AcceptEngagementInvitationCommand.ts b/clients/client-partnercentral-selling/src/commands/AcceptEngagementInvitationCommand.ts new file mode 100644 index 000000000000..70b07ec530bf --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/AcceptEngagementInvitationCommand.ts @@ -0,0 +1,128 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { AcceptEngagementInvitationRequest } from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_AcceptEngagementInvitationCommand, se_AcceptEngagementInvitationCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link AcceptEngagementInvitationCommand}. + */ +export interface AcceptEngagementInvitationCommandInput extends AcceptEngagementInvitationRequest {} +/** + * @public + * + * The output of {@link AcceptEngagementInvitationCommand}. + */ +export interface AcceptEngagementInvitationCommandOutput extends __MetadataBearer {} + +/** + *

+ * 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. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, AcceptEngagementInvitationCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, AcceptEngagementInvitationCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // AcceptEngagementInvitationRequest + * Catalog: "STRING_VALUE", // required + * Identifier: "STRING_VALUE", // required + * }; + * const command = new AcceptEngagementInvitationCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param AcceptEngagementInvitationCommandInput - {@link AcceptEngagementInvitationCommandInput} + * @returns {@link AcceptEngagementInvitationCommandOutput} + * @see {@link AcceptEngagementInvitationCommandInput} for command's `input` shape. + * @see {@link AcceptEngagementInvitationCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

This error occurs when you don't have permission to perform the requested + * action.

+ *

You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

+ * + * @throws {@link InternalServerException} (server fault) + *

This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

+ *

Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

+ *

Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

+ * + * @throws {@link ThrottlingException} (client fault) + *

This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

+ *

This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by the service or business + * validation rules.

+ *

Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

+ * + * @throws {@link PartnerCentralSellingServiceException} + *

Base exception class for all service exceptions from PartnerCentralSelling service.

+ * + * @public + */ +export class AcceptEngagementInvitationCommand extends $Command + .classBuilder< + AcceptEngagementInvitationCommandInput, + AcceptEngagementInvitationCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "AcceptEngagementInvitation", {}) + .n("PartnerCentralSellingClient", "AcceptEngagementInvitationCommand") + .f(void 0, void 0) + .ser(se_AcceptEngagementInvitationCommand) + .de(de_AcceptEngagementInvitationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: AcceptEngagementInvitationRequest; + output: {}; + }; + sdk: { + input: AcceptEngagementInvitationCommandInput; + output: AcceptEngagementInvitationCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/AssignOpportunityCommand.ts b/clients/client-partnercentral-selling/src/commands/AssignOpportunityCommand.ts index a3f1d6cdf125..3b2568e52cf0 100644 --- a/clients/client-partnercentral-selling/src/commands/AssignOpportunityCommand.ts +++ b/clients/client-partnercentral-selling/src/commands/AssignOpportunityCommand.ts @@ -32,15 +32,14 @@ export interface AssignOpportunityCommandInput extends AssignOpportunityRequest export interface AssignOpportunityCommandOutput extends __MetadataBearer {} /** - *

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

+ *

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.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -70,37 +69,33 @@ export interface AssignOpportunityCommandOutput extends __MetadataBearer {} * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) - *

This error occurs when you don't have permission to perform the - * requested action. - *

- *

You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance. - *

+ *

This error occurs when you don't have permission to perform the requested + * action.

+ *

You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

* * @throws {@link InternalServerException} (server fault) - *

This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect. - *

- *

Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support. - *

+ *

This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

+ *

Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

* * @throws {@link ResourceNotFoundException} (client fault) - *

This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials. - *

- *

Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource. - *

+ *

This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

+ *

Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

* * @throws {@link ThrottlingException} (client fault) - *

This error occurs when there are too many requests sent. Review the provided quotas and adapt your - * usage to avoid throttling. - *

- *

This error occurs when there are too many requests sent. Review the provided - * Quotas and retry after the provided delay. - *

+ *

This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

+ *

This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

* * @throws {@link ValidationException} (client fault) - *

The input fails to satisfy the constraints specified by the service or business validation rules. - *

- *

Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload. - *

+ *

The input fails to satisfy the constraints specified by the service or business + * validation rules.

+ *

Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

* * @throws {@link PartnerCentralSellingServiceException} *

Base exception class for all service exceptions from PartnerCentralSelling service.

diff --git a/clients/client-partnercentral-selling/src/commands/AssociateOpportunityCommand.ts b/clients/client-partnercentral-selling/src/commands/AssociateOpportunityCommand.ts index 684b7030542c..1c924bf0868f 100644 --- a/clients/client-partnercentral-selling/src/commands/AssociateOpportunityCommand.ts +++ b/clients/client-partnercentral-selling/src/commands/AssociateOpportunityCommand.ts @@ -32,29 +32,28 @@ export interface AssociateOpportunityCommandInput extends AssociateOpportunityRe export interface AssociateOpportunityCommandOutput extends __MetadataBearer {} /** - *

- * 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: - *

+ *

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

    + *

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

    + *

    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:

@@ -63,14 +62,13 @@ export interface AssociateOpportunityCommandOutput extends __MetadataBearer {} *

Solution: Use the ListSolutions operation.

* *
  • - *

    - * AWS Products: For the latest list of Amazon Web Services products, see Amazon Web Services products. - *

    + *

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

    + *

    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.

    *
  • * * @example @@ -98,37 +96,33 @@ export interface AssociateOpportunityCommandOutput extends __MetadataBearer {} * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) - *

    This error occurs when you don't have permission to perform the - * requested action. - *

    - *

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance. - *

    + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    * * @throws {@link InternalServerException} (server fault) - *

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect. - *

    - *

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support. - *

    + *

    This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

    + *

    Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

    * * @throws {@link ResourceNotFoundException} (client fault) - *

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials. - *

    - *

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource. - *

    + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    * * @throws {@link ThrottlingException} (client fault) - *

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your - * usage to avoid throttling. - *

    - *

    This error occurs when there are too many requests sent. Review the provided - * Quotas and retry after the provided delay. - *

    + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    * * @throws {@link ValidationException} (client fault) - *

    The input fails to satisfy the constraints specified by the service or business validation rules. - *

    - *

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload. - *

    + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    * * @throws {@link PartnerCentralSellingServiceException} *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    diff --git a/clients/client-partnercentral-selling/src/commands/CreateEngagementCommand.ts b/clients/client-partnercentral-selling/src/commands/CreateEngagementCommand.ts new file mode 100644 index 000000000000..ff4c20cc22fe --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/CreateEngagementCommand.ts @@ -0,0 +1,165 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + CreateEngagementRequest, + CreateEngagementRequestFilterSensitiveLog, + CreateEngagementResponse, +} from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_CreateEngagementCommand, se_CreateEngagementCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateEngagementCommand}. + */ +export interface CreateEngagementCommandInput extends CreateEngagementRequest {} +/** + * @public + * + * The output of {@link CreateEngagementCommand}. + */ +export interface CreateEngagementCommandOutput extends CreateEngagementResponse, __MetadataBearer {} + +/** + *

    + * 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. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, CreateEngagementCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, CreateEngagementCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // CreateEngagementRequest + * Catalog: "STRING_VALUE", // required + * ClientToken: "STRING_VALUE", // required + * Title: "STRING_VALUE", // required + * Description: "STRING_VALUE", // required + * Contexts: [ // EngagementContexts + * { // EngagementContextDetails + * Type: "CustomerProject", // required + * Payload: { // EngagementContextPayload Union: only one key present + * CustomerProject: { // CustomerProjectsContext + * Customer: { // EngagementCustomer + * 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", // required + * CompanyName: "STRING_VALUE", // required + * WebsiteUrl: "STRING_VALUE", // required + * 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", // required + * }, + * Project: { // EngagementCustomerProjectDetails + * Title: "STRING_VALUE", // required + * BusinessProblem: "STRING_VALUE", // required + * TargetCompletionDate: "STRING_VALUE", // required + * }, + * }, + * }, + * }, + * ], + * }; + * const command = new CreateEngagementCommand(input); + * const response = await client.send(command); + * // { // CreateEngagementResponse + * // Id: "STRING_VALUE", + * // Arn: "STRING_VALUE", + * // }; + * + * ``` + * + * @param CreateEngagementCommandInput - {@link CreateEngagementCommandInput} + * @returns {@link CreateEngagementCommandOutput} + * @see {@link CreateEngagementCommandInput} for command's `input` shape. + * @see {@link CreateEngagementCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ConflictException} (client fault) + *

    This error occurs when the request can’t be processed due to a conflict with the + * target resource's current state, which could result from updating or deleting the + * resource.

    + *

    Suggested action: Fetch the latest state of the resource, verify the state, and retry + * the request.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ServiceQuotaExceededException} (client fault) + *

    This error occurs when the request would cause a service quota to be exceeded. Service + * quotas represent the maximum allowed use of a specific resource, and this error + * indicates that the request would surpass that limit.

    + *

    Suggested action: Review the Quotas for the + * resource, and either reduce usage or request a quota increase.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class CreateEngagementCommand extends $Command + .classBuilder< + CreateEngagementCommandInput, + CreateEngagementCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "CreateEngagement", {}) + .n("PartnerCentralSellingClient", "CreateEngagementCommand") + .f(CreateEngagementRequestFilterSensitiveLog, void 0) + .ser(se_CreateEngagementCommand) + .de(de_CreateEngagementCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateEngagementRequest; + output: CreateEngagementResponse; + }; + sdk: { + input: CreateEngagementCommandInput; + output: CreateEngagementCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/CreateEngagementInvitationCommand.ts b/clients/client-partnercentral-selling/src/commands/CreateEngagementInvitationCommand.ts new file mode 100644 index 000000000000..b4269c341b55 --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/CreateEngagementInvitationCommand.ts @@ -0,0 +1,187 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + CreateEngagementInvitationRequest, + CreateEngagementInvitationRequestFilterSensitiveLog, + CreateEngagementInvitationResponse, +} from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_CreateEngagementInvitationCommand, se_CreateEngagementInvitationCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateEngagementInvitationCommand}. + */ +export interface CreateEngagementInvitationCommandInput extends CreateEngagementInvitationRequest {} +/** + * @public + * + * The output of {@link CreateEngagementInvitationCommand}. + */ +export interface CreateEngagementInvitationCommandOutput extends CreateEngagementInvitationResponse, __MetadataBearer {} + +/** + *

    + * This action creates an invitation from a sender to a single receiver to join an engagement. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, CreateEngagementInvitationCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, CreateEngagementInvitationCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // CreateEngagementInvitationRequest + * Catalog: "STRING_VALUE", // required + * ClientToken: "STRING_VALUE", // required + * EngagementIdentifier: "STRING_VALUE", // required + * Invitation: { // Invitation + * Message: "STRING_VALUE", // required + * Receiver: { // Receiver Union: only one key present + * Account: { // AccountReceiver + * Alias: "STRING_VALUE", + * AwsAccountId: "STRING_VALUE", // required + * }, + * }, + * Payload: { // Payload Union: only one key present + * OpportunityInvitation: { // OpportunityInvitationPayload + * SenderContacts: [ // SenderContactList + * { // SenderContact + * Email: "STRING_VALUE", // required + * FirstName: "STRING_VALUE", + * LastName: "STRING_VALUE", + * BusinessTitle: "STRING_VALUE", + * Phone: "STRING_VALUE", + * }, + * ], + * ReceiverResponsibilities: [ // ReceiverResponsibilityList // required + * "Distributor" || "Reseller" || "Hardware Partner" || "Managed Service Provider" || "Software Partner" || "Services Partner" || "Training Partner" || "Co-Sell Facilitator" || "Facilitator", + * ], + * Customer: { // EngagementCustomer + * 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", // required + * CompanyName: "STRING_VALUE", // required + * WebsiteUrl: "STRING_VALUE", // required + * 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", // required + * }, + * Project: { // ProjectDetails + * BusinessProblem: "STRING_VALUE", // required + * Title: "STRING_VALUE", // required + * TargetCompletionDate: "STRING_VALUE", // required + * ExpectedCustomerSpend: [ // ExpectedCustomerSpendList // required + * { // ExpectedCustomerSpend + * Amount: "STRING_VALUE", // required + * 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", // required + * Frequency: "Monthly", // required + * TargetCompany: "STRING_VALUE", // required + * EstimationUrl: "STRING_VALUE", + * }, + * ], + * }, + * }, + * }, + * }, + * }; + * const command = new CreateEngagementInvitationCommand(input); + * const response = await client.send(command); + * // { // CreateEngagementInvitationResponse + * // Id: "STRING_VALUE", // required + * // Arn: "STRING_VALUE", // required + * // }; + * + * ``` + * + * @param CreateEngagementInvitationCommandInput - {@link CreateEngagementInvitationCommandInput} + * @returns {@link CreateEngagementInvitationCommandOutput} + * @see {@link CreateEngagementInvitationCommandInput} for command's `input` shape. + * @see {@link CreateEngagementInvitationCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ConflictException} (client fault) + *

    This error occurs when the request can’t be processed due to a conflict with the + * target resource's current state, which could result from updating or deleting the + * resource.

    + *

    Suggested action: Fetch the latest state of the resource, verify the state, and retry + * the request.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ServiceQuotaExceededException} (client fault) + *

    This error occurs when the request would cause a service quota to be exceeded. Service + * quotas represent the maximum allowed use of a specific resource, and this error + * indicates that the request would surpass that limit.

    + *

    Suggested action: Review the Quotas for the + * resource, and either reduce usage or request a quota increase.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class CreateEngagementInvitationCommand extends $Command + .classBuilder< + CreateEngagementInvitationCommandInput, + CreateEngagementInvitationCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "CreateEngagementInvitation", {}) + .n("PartnerCentralSellingClient", "CreateEngagementInvitationCommand") + .f(CreateEngagementInvitationRequestFilterSensitiveLog, void 0) + .ser(se_CreateEngagementInvitationCommand) + .de(de_CreateEngagementInvitationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateEngagementInvitationRequest; + output: CreateEngagementInvitationResponse; + }; + sdk: { + input: CreateEngagementInvitationCommandInput; + output: CreateEngagementInvitationCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/CreateOpportunityCommand.ts b/clients/client-partnercentral-selling/src/commands/CreateOpportunityCommand.ts index 3997adeeca06..d8983aa505dc 100644 --- a/clients/client-partnercentral-selling/src/commands/CreateOpportunityCommand.ts +++ b/clients/client-partnercentral-selling/src/commands/CreateOpportunityCommand.ts @@ -36,34 +36,30 @@ export interface CreateOpportunityCommandInput extends CreateOpportunityRequest export interface CreateOpportunityCommandOutput extends CreateOpportunityResponse, __MetadataBearer {} /** - *

    - * 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: - *

    + *

    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:

    *
      *
    1. *

      To create the opportunity, use CreateOpportunity.

      *
    2. *
    3. - *

      To associate a solution with the opportunity, use AssociateOpportunity.

      + *

      To associate a solution with the opportunity, use + * AssociateOpportunity.

      *
    4. *
    5. - *

      To submit the opportunity, use StartEngagementFromOpportunityTask.

      + *

      To submit the opportunity, use + * StartEngagementFromOpportunityTask.

      *
    6. *
    - *

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

    + *

    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.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -113,6 +109,7 @@ export interface CreateOpportunityCommandOutput extends CreateOpportunityRespons * 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", // required * Frequency: "Monthly", // required * TargetCompany: "STRING_VALUE", // required + * EstimationUrl: "STRING_VALUE", * }, * ], * Title: "STRING_VALUE", @@ -195,43 +192,40 @@ export interface CreateOpportunityCommandOutput extends CreateOpportunityRespons * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) - *

    This error occurs when you don't have permission to perform the - * requested action. - *

    - *

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance. - *

    + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    * * @throws {@link ConflictException} (client fault) - *

    This error occurs when the request can’t be processed due to a conflict with the target resource's current state, which could result from updating or deleting the resource. - *

    - *

    Suggested action: Fetch the latest state of the resource, verify the state, and retry the request. - *

    + *

    This error occurs when the request can’t be processed due to a conflict with the + * target resource's current state, which could result from updating or deleting the + * resource.

    + *

    Suggested action: Fetch the latest state of the resource, verify the state, and retry + * the request.

    * * @throws {@link InternalServerException} (server fault) - *

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect. - *

    - *

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support. - *

    + *

    This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

    + *

    Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

    * * @throws {@link ResourceNotFoundException} (client fault) - *

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials. - *

    - *

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource. - *

    + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    * * @throws {@link ThrottlingException} (client fault) - *

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your - * usage to avoid throttling. - *

    - *

    This error occurs when there are too many requests sent. Review the provided - * Quotas and retry after the provided delay. - *

    + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    * * @throws {@link ValidationException} (client fault) - *

    The input fails to satisfy the constraints specified by the service or business validation rules. - *

    - *

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload. - *

    + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    * * @throws {@link PartnerCentralSellingServiceException} *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    diff --git a/clients/client-partnercentral-selling/src/commands/CreateResourceSnapshotCommand.ts b/clients/client-partnercentral-selling/src/commands/CreateResourceSnapshotCommand.ts new file mode 100644 index 000000000000..29b7b278ce32 --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/CreateResourceSnapshotCommand.ts @@ -0,0 +1,142 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { CreateResourceSnapshotRequest, CreateResourceSnapshotResponse } from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_CreateResourceSnapshotCommand, se_CreateResourceSnapshotCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateResourceSnapshotCommand}. + */ +export interface CreateResourceSnapshotCommandInput extends CreateResourceSnapshotRequest {} +/** + * @public + * + * The output of {@link CreateResourceSnapshotCommand}. + */ +export interface CreateResourceSnapshotCommandOutput extends CreateResourceSnapshotResponse, __MetadataBearer {} + +/** + *

    + * 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.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, CreateResourceSnapshotCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, CreateResourceSnapshotCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // CreateResourceSnapshotRequest + * Catalog: "STRING_VALUE", // required + * EngagementIdentifier: "STRING_VALUE", // required + * ResourceType: "Opportunity", // required + * ResourceIdentifier: "STRING_VALUE", // required + * ResourceSnapshotTemplateIdentifier: "STRING_VALUE", // required + * ClientToken: "STRING_VALUE", // required + * }; + * const command = new CreateResourceSnapshotCommand(input); + * const response = await client.send(command); + * // { // CreateResourceSnapshotResponse + * // Arn: "STRING_VALUE", + * // Revision: Number("int"), + * // }; + * + * ``` + * + * @param CreateResourceSnapshotCommandInput - {@link CreateResourceSnapshotCommandInput} + * @returns {@link CreateResourceSnapshotCommandOutput} + * @see {@link CreateResourceSnapshotCommandInput} for command's `input` shape. + * @see {@link CreateResourceSnapshotCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ConflictException} (client fault) + *

    This error occurs when the request can’t be processed due to a conflict with the + * target resource's current state, which could result from updating or deleting the + * resource.

    + *

    Suggested action: Fetch the latest state of the resource, verify the state, and retry + * the request.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ServiceQuotaExceededException} (client fault) + *

    This error occurs when the request would cause a service quota to be exceeded. Service + * quotas represent the maximum allowed use of a specific resource, and this error + * indicates that the request would surpass that limit.

    + *

    Suggested action: Review the Quotas for the + * resource, and either reduce usage or request a quota increase.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class CreateResourceSnapshotCommand extends $Command + .classBuilder< + CreateResourceSnapshotCommandInput, + CreateResourceSnapshotCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "CreateResourceSnapshot", {}) + .n("PartnerCentralSellingClient", "CreateResourceSnapshotCommand") + .f(void 0, void 0) + .ser(se_CreateResourceSnapshotCommand) + .de(de_CreateResourceSnapshotCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateResourceSnapshotRequest; + output: CreateResourceSnapshotResponse; + }; + sdk: { + input: CreateResourceSnapshotCommandInput; + output: CreateResourceSnapshotCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/CreateResourceSnapshotJobCommand.ts b/clients/client-partnercentral-selling/src/commands/CreateResourceSnapshotJobCommand.ts new file mode 100644 index 000000000000..34993cc5621f --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/CreateResourceSnapshotJobCommand.ts @@ -0,0 +1,144 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { CreateResourceSnapshotJobRequest, CreateResourceSnapshotJobResponse } from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_CreateResourceSnapshotJobCommand, se_CreateResourceSnapshotJobCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateResourceSnapshotJobCommand}. + */ +export interface CreateResourceSnapshotJobCommandInput extends CreateResourceSnapshotJobRequest {} +/** + * @public + * + * The output of {@link CreateResourceSnapshotJobCommand}. + */ +export interface CreateResourceSnapshotJobCommandOutput extends CreateResourceSnapshotJobResponse, __MetadataBearer {} + +/** + *

    + * 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. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, CreateResourceSnapshotJobCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, CreateResourceSnapshotJobCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // CreateResourceSnapshotJobRequest + * Catalog: "STRING_VALUE", // required + * ClientToken: "STRING_VALUE", // required + * EngagementIdentifier: "STRING_VALUE", // required + * ResourceType: "Opportunity", // required + * ResourceIdentifier: "STRING_VALUE", // required + * ResourceSnapshotTemplateIdentifier: "STRING_VALUE", // required + * }; + * const command = new CreateResourceSnapshotJobCommand(input); + * const response = await client.send(command); + * // { // CreateResourceSnapshotJobResponse + * // Id: "STRING_VALUE", + * // Arn: "STRING_VALUE", + * // }; + * + * ``` + * + * @param CreateResourceSnapshotJobCommandInput - {@link CreateResourceSnapshotJobCommandInput} + * @returns {@link CreateResourceSnapshotJobCommandOutput} + * @see {@link CreateResourceSnapshotJobCommandInput} for command's `input` shape. + * @see {@link CreateResourceSnapshotJobCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ConflictException} (client fault) + *

    This error occurs when the request can’t be processed due to a conflict with the + * target resource's current state, which could result from updating or deleting the + * resource.

    + *

    Suggested action: Fetch the latest state of the resource, verify the state, and retry + * the request.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ServiceQuotaExceededException} (client fault) + *

    This error occurs when the request would cause a service quota to be exceeded. Service + * quotas represent the maximum allowed use of a specific resource, and this error + * indicates that the request would surpass that limit.

    + *

    Suggested action: Review the Quotas for the + * resource, and either reduce usage or request a quota increase.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class CreateResourceSnapshotJobCommand extends $Command + .classBuilder< + CreateResourceSnapshotJobCommandInput, + CreateResourceSnapshotJobCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "CreateResourceSnapshotJob", {}) + .n("PartnerCentralSellingClient", "CreateResourceSnapshotJobCommand") + .f(void 0, void 0) + .ser(se_CreateResourceSnapshotJobCommand) + .de(de_CreateResourceSnapshotJobCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateResourceSnapshotJobRequest; + output: CreateResourceSnapshotJobResponse; + }; + sdk: { + input: CreateResourceSnapshotJobCommandInput; + output: CreateResourceSnapshotJobCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/DeleteResourceSnapshotJobCommand.ts b/clients/client-partnercentral-selling/src/commands/DeleteResourceSnapshotJobCommand.ts new file mode 100644 index 000000000000..5dc482489d9e --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/DeleteResourceSnapshotJobCommand.ts @@ -0,0 +1,121 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteResourceSnapshotJobRequest } from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_DeleteResourceSnapshotJobCommand, se_DeleteResourceSnapshotJobCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteResourceSnapshotJobCommand}. + */ +export interface DeleteResourceSnapshotJobCommandInput extends DeleteResourceSnapshotJobRequest {} +/** + * @public + * + * The output of {@link DeleteResourceSnapshotJobCommand}. + */ +export interface DeleteResourceSnapshotJobCommandOutput extends __MetadataBearer {} + +/** + *

    + * Use this action to deletes a previously created resource snapshot job. The job must be + * in a stopped state before it can be deleted. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, DeleteResourceSnapshotJobCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, DeleteResourceSnapshotJobCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // DeleteResourceSnapshotJobRequest + * Catalog: "STRING_VALUE", // required + * ResourceSnapshotJobIdentifier: "STRING_VALUE", // required + * }; + * const command = new DeleteResourceSnapshotJobCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteResourceSnapshotJobCommandInput - {@link DeleteResourceSnapshotJobCommandInput} + * @returns {@link DeleteResourceSnapshotJobCommandOutput} + * @see {@link DeleteResourceSnapshotJobCommandInput} for command's `input` shape. + * @see {@link DeleteResourceSnapshotJobCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class DeleteResourceSnapshotJobCommand extends $Command + .classBuilder< + DeleteResourceSnapshotJobCommandInput, + DeleteResourceSnapshotJobCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "DeleteResourceSnapshotJob", {}) + .n("PartnerCentralSellingClient", "DeleteResourceSnapshotJobCommand") + .f(void 0, void 0) + .ser(se_DeleteResourceSnapshotJobCommand) + .de(de_DeleteResourceSnapshotJobCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteResourceSnapshotJobRequest; + output: {}; + }; + sdk: { + input: DeleteResourceSnapshotJobCommandInput; + output: DeleteResourceSnapshotJobCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/DisassociateOpportunityCommand.ts b/clients/client-partnercentral-selling/src/commands/DisassociateOpportunityCommand.ts index dce348fc6616..903e5d103fa4 100644 --- a/clients/client-partnercentral-selling/src/commands/DisassociateOpportunityCommand.ts +++ b/clients/client-partnercentral-selling/src/commands/DisassociateOpportunityCommand.ts @@ -32,17 +32,16 @@ export interface DisassociateOpportunityCommandInput extends DisassociateOpportu export interface DisassociateOpportunityCommandOutput extends __MetadataBearer {} /** - *

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

    + *

    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.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -68,37 +67,33 @@ export interface DisassociateOpportunityCommandOutput extends __MetadataBearer { * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) - *

    This error occurs when you don't have permission to perform the - * requested action. - *

    - *

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance. - *

    + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    * * @throws {@link InternalServerException} (server fault) - *

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect. - *

    - *

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support. - *

    + *

    This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

    + *

    Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

    * * @throws {@link ResourceNotFoundException} (client fault) - *

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials. - *

    - *

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource. - *

    + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    * * @throws {@link ThrottlingException} (client fault) - *

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your - * usage to avoid throttling. - *

    - *

    This error occurs when there are too many requests sent. Review the provided - * Quotas and retry after the provided delay. - *

    + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    * * @throws {@link ValidationException} (client fault) - *

    The input fails to satisfy the constraints specified by the service or business validation rules. - *

    - *

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload. - *

    + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    * * @throws {@link PartnerCentralSellingServiceException} *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    diff --git a/clients/client-partnercentral-selling/src/commands/GetAwsOpportunitySummaryCommand.ts b/clients/client-partnercentral-selling/src/commands/GetAwsOpportunitySummaryCommand.ts index 6f08b4e6eaff..1fe0062e91bf 100644 --- a/clients/client-partnercentral-selling/src/commands/GetAwsOpportunitySummaryCommand.ts +++ b/clients/client-partnercentral-selling/src/commands/GetAwsOpportunitySummaryCommand.ts @@ -36,11 +36,10 @@ export interface GetAwsOpportunitySummaryCommandInput extends GetAwsOpportunityS export interface GetAwsOpportunitySummaryCommandOutput extends GetAwsOpportunitySummaryResponse, __MetadataBearer {} /** - *

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

    + *

    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.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -110,6 +109,7 @@ export interface GetAwsOpportunitySummaryCommandOutput extends GetAwsOpportunity * // 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", // required * // Frequency: "Monthly", // required * // TargetCompany: "STRING_VALUE", // required + * // EstimationUrl: "STRING_VALUE", * // }, * // ], * // }, @@ -124,37 +124,33 @@ export interface GetAwsOpportunitySummaryCommandOutput extends GetAwsOpportunity * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) - *

    This error occurs when you don't have permission to perform the - * requested action. - *

    - *

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance. - *

    + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    * * @throws {@link InternalServerException} (server fault) - *

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect. - *

    - *

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support. - *

    + *

    This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

    + *

    Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

    * * @throws {@link ResourceNotFoundException} (client fault) - *

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials. - *

    - *

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource. - *

    + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    * * @throws {@link ThrottlingException} (client fault) - *

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your - * usage to avoid throttling. - *

    - *

    This error occurs when there are too many requests sent. Review the provided - * Quotas and retry after the provided delay. - *

    + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    * * @throws {@link ValidationException} (client fault) - *

    The input fails to satisfy the constraints specified by the service or business validation rules. - *

    - *

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload. - *

    + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    * * @throws {@link PartnerCentralSellingServiceException} *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    diff --git a/clients/client-partnercentral-selling/src/commands/GetEngagementCommand.ts b/clients/client-partnercentral-selling/src/commands/GetEngagementCommand.ts new file mode 100644 index 000000000000..3766d1b5aac1 --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/GetEngagementCommand.ts @@ -0,0 +1,153 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + GetEngagementRequest, + GetEngagementResponse, + GetEngagementResponseFilterSensitiveLog, +} from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_GetEngagementCommand, se_GetEngagementCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetEngagementCommand}. + */ +export interface GetEngagementCommandInput extends GetEngagementRequest {} +/** + * @public + * + * The output of {@link GetEngagementCommand}. + */ +export interface GetEngagementCommandOutput extends GetEngagementResponse, __MetadataBearer {} + +/** + *

    + * Use this action to retrieve the engagement record for a given + * EngagementIdentifier. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, GetEngagementCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, GetEngagementCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // GetEngagementRequest + * Catalog: "STRING_VALUE", // required + * Identifier: "STRING_VALUE", // required + * }; + * const command = new GetEngagementCommand(input); + * const response = await client.send(command); + * // { // GetEngagementResponse + * // Id: "STRING_VALUE", + * // Arn: "STRING_VALUE", + * // Title: "STRING_VALUE", + * // Description: "STRING_VALUE", + * // CreatedAt: new Date("TIMESTAMP"), + * // CreatedBy: "STRING_VALUE", + * // MemberCount: Number("int"), + * // Contexts: [ // EngagementContexts + * // { // EngagementContextDetails + * // Type: "CustomerProject", // required + * // Payload: { // EngagementContextPayload Union: only one key present + * // CustomerProject: { // CustomerProjectsContext + * // Customer: { // EngagementCustomer + * // 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", // required + * // CompanyName: "STRING_VALUE", // required + * // WebsiteUrl: "STRING_VALUE", // required + * // 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", // required + * // }, + * // Project: { // EngagementCustomerProjectDetails + * // Title: "STRING_VALUE", // required + * // BusinessProblem: "STRING_VALUE", // required + * // TargetCompletionDate: "STRING_VALUE", // required + * // }, + * // }, + * // }, + * // }, + * // ], + * // }; + * + * ``` + * + * @param GetEngagementCommandInput - {@link GetEngagementCommandInput} + * @returns {@link GetEngagementCommandOutput} + * @see {@link GetEngagementCommandInput} for command's `input` shape. + * @see {@link GetEngagementCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class GetEngagementCommand extends $Command + .classBuilder< + GetEngagementCommandInput, + GetEngagementCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "GetEngagement", {}) + .n("PartnerCentralSellingClient", "GetEngagementCommand") + .f(void 0, GetEngagementResponseFilterSensitiveLog) + .ser(se_GetEngagementCommand) + .de(de_GetEngagementCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetEngagementRequest; + output: GetEngagementResponse; + }; + sdk: { + input: GetEngagementCommandInput; + output: GetEngagementCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/GetEngagementInvitationCommand.ts b/clients/client-partnercentral-selling/src/commands/GetEngagementInvitationCommand.ts index 727357877465..bddbbfb67321 100644 --- a/clients/client-partnercentral-selling/src/commands/GetEngagementInvitationCommand.ts +++ b/clients/client-partnercentral-selling/src/commands/GetEngagementInvitationCommand.ts @@ -36,7 +36,11 @@ export interface GetEngagementInvitationCommandInput extends GetEngagementInvita export interface GetEngagementInvitationCommandOutput extends GetEngagementInvitationResponse, __MetadataBearer {} /** - *

    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.

    + *

    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.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -53,6 +57,7 @@ export interface GetEngagementInvitationCommandOutput extends GetEngagementInvit * // Arn: "STRING_VALUE", * // PayloadType: "OpportunityInvitation", * // Id: "STRING_VALUE", // required + * // EngagementId: "STRING_VALUE", * // EngagementTitle: "STRING_VALUE", * // Status: "ACCEPTED" || "PENDING" || "REJECTED" || "EXPIRED", * // InvitationDate: new Date("TIMESTAMP"), @@ -97,11 +102,20 @@ export interface GetEngagementInvitationCommandOutput extends GetEngagementInvit * // 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", // required * // Frequency: "Monthly", // required * // TargetCompany: "STRING_VALUE", // required + * // EstimationUrl: "STRING_VALUE", * // }, * // ], * // }, * // }, * // }, + * // InvitationMessage: "STRING_VALUE", + * // EngagementDescription: "STRING_VALUE", + * // ExistingMembers: [ // EngagementMemberSummaries + * // { // EngagementMemberSummary + * // CompanyName: "STRING_VALUE", + * // WebsiteUrl: "STRING_VALUE", + * // }, + * // ], * // }; * * ``` @@ -113,37 +127,33 @@ export interface GetEngagementInvitationCommandOutput extends GetEngagementInvit * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) - *

    This error occurs when you don't have permission to perform the - * requested action. - *

    - *

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance. - *

    + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    * * @throws {@link InternalServerException} (server fault) - *

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect. - *

    - *

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support. - *

    + *

    This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

    + *

    Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

    * * @throws {@link ResourceNotFoundException} (client fault) - *

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials. - *

    - *

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource. - *

    + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    * * @throws {@link ThrottlingException} (client fault) - *

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your - * usage to avoid throttling. - *

    - *

    This error occurs when there are too many requests sent. Review the provided - * Quotas and retry after the provided delay. - *

    + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    * * @throws {@link ValidationException} (client fault) - *

    The input fails to satisfy the constraints specified by the service or business validation rules. - *

    - *

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload. - *

    + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    * * @throws {@link PartnerCentralSellingServiceException} *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    diff --git a/clients/client-partnercentral-selling/src/commands/GetOpportunityCommand.ts b/clients/client-partnercentral-selling/src/commands/GetOpportunityCommand.ts index 6af86f63be89..342d9027b74e 100644 --- a/clients/client-partnercentral-selling/src/commands/GetOpportunityCommand.ts +++ b/clients/client-partnercentral-selling/src/commands/GetOpportunityCommand.ts @@ -36,12 +36,9 @@ export interface GetOpportunityCommandInput extends GetOpportunityRequest {} export interface GetOpportunityCommandOutput extends GetOpportunityResponse, __MetadataBearer {} /** - *

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

    + *

    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.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -97,6 +94,7 @@ export interface GetOpportunityCommandOutput extends GetOpportunityResponse, __M * // 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", // required * // Frequency: "Monthly", // required * // TargetCompany: "STRING_VALUE", // required + * // EstimationUrl: "STRING_VALUE", * // }, * // ], * // Title: "STRING_VALUE", @@ -136,6 +134,7 @@ export interface GetOpportunityCommandOutput extends GetOpportunityResponse, __M * // ExpirationDate: "STRING_VALUE", * // }, * // Id: "STRING_VALUE", // required + * // Arn: "STRING_VALUE", * // LastModifiedDate: new Date("TIMESTAMP"), // required * // CreatedDate: new Date("TIMESTAMP"), // required * // RelatedEntityIdentifiers: { // RelatedEntityIdentifiers @@ -184,37 +183,33 @@ export interface GetOpportunityCommandOutput extends GetOpportunityResponse, __M * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) - *

    This error occurs when you don't have permission to perform the - * requested action. - *

    - *

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance. - *

    + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    * * @throws {@link InternalServerException} (server fault) - *

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect. - *

    - *

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support. - *

    + *

    This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

    + *

    Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

    * * @throws {@link ResourceNotFoundException} (client fault) - *

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials. - *

    - *

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource. - *

    + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    * * @throws {@link ThrottlingException} (client fault) - *

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your - * usage to avoid throttling. - *

    - *

    This error occurs when there are too many requests sent. Review the provided - * Quotas and retry after the provided delay. - *

    + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    * * @throws {@link ValidationException} (client fault) - *

    The input fails to satisfy the constraints specified by the service or business validation rules. - *

    - *

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload. - *

    + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    * * @throws {@link PartnerCentralSellingServiceException} *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    diff --git a/clients/client-partnercentral-selling/src/commands/GetResourceSnapshotCommand.ts b/clients/client-partnercentral-selling/src/commands/GetResourceSnapshotCommand.ts new file mode 100644 index 000000000000..71207bfdcb2a --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/GetResourceSnapshotCommand.ts @@ -0,0 +1,215 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + GetResourceSnapshotRequest, + GetResourceSnapshotResponse, + GetResourceSnapshotResponseFilterSensitiveLog, +} from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_GetResourceSnapshotCommand, se_GetResourceSnapshotCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetResourceSnapshotCommand}. + */ +export interface GetResourceSnapshotCommandInput extends GetResourceSnapshotRequest {} +/** + * @public + * + * The output of {@link GetResourceSnapshotCommand}. + */ +export interface GetResourceSnapshotCommandOutput extends GetResourceSnapshotResponse, __MetadataBearer {} + +/** + *

    Use this action to retrieve a specific snapshot record.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, GetResourceSnapshotCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, GetResourceSnapshotCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // GetResourceSnapshotRequest + * Catalog: "STRING_VALUE", // required + * EngagementIdentifier: "STRING_VALUE", // required + * ResourceType: "Opportunity", // required + * ResourceIdentifier: "STRING_VALUE", // required + * ResourceSnapshotTemplateIdentifier: "STRING_VALUE", // required + * Revision: Number("int"), + * }; + * const command = new GetResourceSnapshotCommand(input); + * const response = await client.send(command); + * // { // GetResourceSnapshotResponse + * // Catalog: "STRING_VALUE", // required + * // Arn: "STRING_VALUE", + * // CreatedBy: "STRING_VALUE", + * // CreatedAt: new Date("TIMESTAMP"), + * // EngagementId: "STRING_VALUE", + * // ResourceType: "Opportunity", + * // ResourceId: "STRING_VALUE", + * // ResourceSnapshotTemplateName: "STRING_VALUE", + * // Revision: Number("int"), + * // Payload: { // ResourceSnapshotPayload Union: only one key present + * // OpportunitySummary: { // OpportunitySummaryView + * // OpportunityType: "Net New Business" || "Flat Renewal" || "Expansion", + * // Lifecycle: { // LifeCycleForView + * // TargetCloseDate: "STRING_VALUE", + * // ReviewStatus: "Pending Submission" || "Submitted" || "In review" || "Approved" || "Rejected" || "Action Required", + * // Stage: "Prospect" || "Qualified" || "Technical Validation" || "Business Validation" || "Committed" || "Launched" || "Closed Lost", + * // NextSteps: "STRING_VALUE", + * // }, + * // OpportunityTeam: [ // PartnerOpportunityTeamMembersList + * // { // Contact + * // Email: "STRING_VALUE", + * // FirstName: "STRING_VALUE", + * // LastName: "STRING_VALUE", + * // BusinessTitle: "STRING_VALUE", + * // Phone: "STRING_VALUE", + * // }, + * // ], + * // PrimaryNeedsFromAws: [ // 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", + * // ], + * // Customer: { // Customer + * // Account: { // Account + * // 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_VALUE", + * // CompanyName: "STRING_VALUE", // required + * // WebsiteUrl: "STRING_VALUE", + * // AwsAccountId: "STRING_VALUE", + * // Address: { // Address + * // City: "STRING_VALUE", + * // PostalCode: "STRING_VALUE", + * // StateOrRegion: "STRING_VALUE", + * // 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", + * // StreetAddress: "STRING_VALUE", + * // }, + * // Duns: "STRING_VALUE", + * // }, + * // Contacts: [ // CustomerContactsList + * // { + * // Email: "STRING_VALUE", + * // FirstName: "STRING_VALUE", + * // LastName: "STRING_VALUE", + * // BusinessTitle: "STRING_VALUE", + * // Phone: "STRING_VALUE", + * // }, + * // ], + * // }, + * // Project: { // ProjectView + * // DeliveryModels: [ // DeliveryModels + * // "SaaS or PaaS" || "BYOL or AMI" || "Managed Services" || "Professional Services" || "Resell" || "Other", + * // ], + * // ExpectedCustomerSpend: [ // ExpectedCustomerSpendList + * // { // ExpectedCustomerSpend + * // Amount: "STRING_VALUE", // required + * // 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", // required + * // Frequency: "Monthly", // required + * // TargetCompany: "STRING_VALUE", // required + * // EstimationUrl: "STRING_VALUE", + * // }, + * // ], + * // CustomerUseCase: "STRING_VALUE", + * // SalesActivities: [ // 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", + * // ], + * // OtherSolutionDescription: "STRING_VALUE", + * // }, + * // RelatedEntityIdentifiers: { // RelatedEntityIdentifiers + * // AwsMarketplaceOffers: [ // AwsMarketplaceOfferIdentifiers + * // "STRING_VALUE", + * // ], + * // Solutions: [ // SolutionIdentifiers + * // "STRING_VALUE", + * // ], + * // AwsProducts: [ // AwsProductIdentifiers + * // "STRING_VALUE", + * // ], + * // }, + * // }, + * // }, + * // }; + * + * ``` + * + * @param GetResourceSnapshotCommandInput - {@link GetResourceSnapshotCommandInput} + * @returns {@link GetResourceSnapshotCommandOutput} + * @see {@link GetResourceSnapshotCommandInput} for command's `input` shape. + * @see {@link GetResourceSnapshotCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class GetResourceSnapshotCommand extends $Command + .classBuilder< + GetResourceSnapshotCommandInput, + GetResourceSnapshotCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "GetResourceSnapshot", {}) + .n("PartnerCentralSellingClient", "GetResourceSnapshotCommand") + .f(void 0, GetResourceSnapshotResponseFilterSensitiveLog) + .ser(se_GetResourceSnapshotCommand) + .de(de_GetResourceSnapshotCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetResourceSnapshotRequest; + output: GetResourceSnapshotResponse; + }; + sdk: { + input: GetResourceSnapshotCommandInput; + output: GetResourceSnapshotCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/GetResourceSnapshotJobCommand.ts b/clients/client-partnercentral-selling/src/commands/GetResourceSnapshotJobCommand.ts new file mode 100644 index 000000000000..a2e4993dac5b --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/GetResourceSnapshotJobCommand.ts @@ -0,0 +1,134 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetResourceSnapshotJobRequest, GetResourceSnapshotJobResponse } from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_GetResourceSnapshotJobCommand, se_GetResourceSnapshotJobCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetResourceSnapshotJobCommand}. + */ +export interface GetResourceSnapshotJobCommandInput extends GetResourceSnapshotJobRequest {} +/** + * @public + * + * The output of {@link GetResourceSnapshotJobCommand}. + */ +export interface GetResourceSnapshotJobCommandOutput extends GetResourceSnapshotJobResponse, __MetadataBearer {} + +/** + *

    + * Use this action to retrieves information about a specific resource snapshot + * job. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, GetResourceSnapshotJobCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, GetResourceSnapshotJobCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // GetResourceSnapshotJobRequest + * Catalog: "STRING_VALUE", // required + * ResourceSnapshotJobIdentifier: "STRING_VALUE", // required + * }; + * const command = new GetResourceSnapshotJobCommand(input); + * const response = await client.send(command); + * // { // GetResourceSnapshotJobResponse + * // Catalog: "STRING_VALUE", // required + * // Id: "STRING_VALUE", + * // Arn: "STRING_VALUE", + * // EngagementId: "STRING_VALUE", + * // ResourceType: "Opportunity", + * // ResourceId: "STRING_VALUE", + * // ResourceArn: "STRING_VALUE", + * // ResourceSnapshotTemplateName: "STRING_VALUE", + * // CreatedAt: new Date("TIMESTAMP"), + * // Status: "Running" || "Stopped", + * // LastSuccessfulExecutionDate: new Date("TIMESTAMP"), + * // LastFailure: "STRING_VALUE", + * // }; + * + * ``` + * + * @param GetResourceSnapshotJobCommandInput - {@link GetResourceSnapshotJobCommandInput} + * @returns {@link GetResourceSnapshotJobCommandOutput} + * @see {@link GetResourceSnapshotJobCommandInput} for command's `input` shape. + * @see {@link GetResourceSnapshotJobCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class GetResourceSnapshotJobCommand extends $Command + .classBuilder< + GetResourceSnapshotJobCommandInput, + GetResourceSnapshotJobCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "GetResourceSnapshotJob", {}) + .n("PartnerCentralSellingClient", "GetResourceSnapshotJobCommand") + .f(void 0, void 0) + .ser(se_GetResourceSnapshotJobCommand) + .de(de_GetResourceSnapshotJobCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetResourceSnapshotJobRequest; + output: GetResourceSnapshotJobResponse; + }; + sdk: { + input: GetResourceSnapshotJobCommandInput; + output: GetResourceSnapshotJobCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/GetSellingSystemSettingsCommand.ts b/clients/client-partnercentral-selling/src/commands/GetSellingSystemSettingsCommand.ts new file mode 100644 index 000000000000..81a0c5217dda --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/GetSellingSystemSettingsCommand.ts @@ -0,0 +1,120 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetSellingSystemSettingsRequest, GetSellingSystemSettingsResponse } from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_GetSellingSystemSettingsCommand, se_GetSellingSystemSettingsCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetSellingSystemSettingsCommand}. + */ +export interface GetSellingSystemSettingsCommandInput extends GetSellingSystemSettingsRequest {} +/** + * @public + * + * The output of {@link GetSellingSystemSettingsCommand}. + */ +export interface GetSellingSystemSettingsCommandOutput extends GetSellingSystemSettingsResponse, __MetadataBearer {} + +/** + *

    Retrieves the currently set system settings, which include the IAM Role used for resource snapshot jobs.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, GetSellingSystemSettingsCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, GetSellingSystemSettingsCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // GetSellingSystemSettingsRequest + * Catalog: "STRING_VALUE", // required + * }; + * const command = new GetSellingSystemSettingsCommand(input); + * const response = await client.send(command); + * // { // GetSellingSystemSettingsResponse + * // Catalog: "STRING_VALUE", // required + * // ResourceSnapshotJobRoleArn: "STRING_VALUE", + * // }; + * + * ``` + * + * @param GetSellingSystemSettingsCommandInput - {@link GetSellingSystemSettingsCommandInput} + * @returns {@link GetSellingSystemSettingsCommandOutput} + * @see {@link GetSellingSystemSettingsCommandInput} for command's `input` shape. + * @see {@link GetSellingSystemSettingsCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class GetSellingSystemSettingsCommand extends $Command + .classBuilder< + GetSellingSystemSettingsCommandInput, + GetSellingSystemSettingsCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "GetSellingSystemSettings", {}) + .n("PartnerCentralSellingClient", "GetSellingSystemSettingsCommand") + .f(void 0, void 0) + .ser(se_GetSellingSystemSettingsCommand) + .de(de_GetSellingSystemSettingsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetSellingSystemSettingsRequest; + output: GetSellingSystemSettingsResponse; + }; + sdk: { + input: GetSellingSystemSettingsCommandInput; + output: GetSellingSystemSettingsCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/ListEngagementByAcceptingInvitationTasksCommand.ts b/clients/client-partnercentral-selling/src/commands/ListEngagementByAcceptingInvitationTasksCommand.ts new file mode 100644 index 000000000000..fdb2e25f1ff2 --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/ListEngagementByAcceptingInvitationTasksCommand.ts @@ -0,0 +1,162 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + ListEngagementByAcceptingInvitationTasksRequest, + ListEngagementByAcceptingInvitationTasksResponse, +} from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { + de_ListEngagementByAcceptingInvitationTasksCommand, + se_ListEngagementByAcceptingInvitationTasksCommand, +} from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListEngagementByAcceptingInvitationTasksCommand}. + */ +export interface ListEngagementByAcceptingInvitationTasksCommandInput + extends ListEngagementByAcceptingInvitationTasksRequest {} +/** + * @public + * + * The output of {@link ListEngagementByAcceptingInvitationTasksCommand}. + */ +export interface ListEngagementByAcceptingInvitationTasksCommandOutput + extends ListEngagementByAcceptingInvitationTasksResponse, + __MetadataBearer {} + +/** + *

    + * Lists all in-progress, completed, or failed StartEngagementByAcceptingInvitationTask + * tasks that were initiated by the caller's account. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, ListEngagementByAcceptingInvitationTasksCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, ListEngagementByAcceptingInvitationTasksCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // ListEngagementByAcceptingInvitationTasksRequest + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * Sort: { // ListTasksSortBase + * SortOrder: "ASCENDING" || "DESCENDING", // required + * SortBy: "StartTime", // required + * }, + * Catalog: "STRING_VALUE", // required + * TaskStatus: [ // TaskStatuses + * "IN_PROGRESS" || "COMPLETE" || "FAILED", + * ], + * OpportunityIdentifier: [ // OpportunityIdentifiers + * "STRING_VALUE", + * ], + * EngagementInvitationIdentifier: [ // EngagementInvitationIdentifiers + * "STRING_VALUE", + * ], + * TaskIdentifier: [ // TaskIdentifiers + * "STRING_VALUE", + * ], + * }; + * const command = new ListEngagementByAcceptingInvitationTasksCommand(input); + * const response = await client.send(command); + * // { // ListEngagementByAcceptingInvitationTasksResponse + * // TaskSummaries: [ // ListEngagementByAcceptingInvitationTaskSummaries + * // { // ListEngagementByAcceptingInvitationTaskSummary + * // TaskId: "STRING_VALUE", + * // TaskArn: "STRING_VALUE", + * // StartTime: new Date("TIMESTAMP"), + * // TaskStatus: "IN_PROGRESS" || "COMPLETE" || "FAILED", + * // Message: "STRING_VALUE", + * // ReasonCode: "InvitationAccessDenied" || "InvitationValidationFailed" || "EngagementAccessDenied" || "OpportunityAccessDenied" || "ResourceSnapshotJobAccessDenied" || "ResourceSnapshotJobValidationFailed" || "ResourceSnapshotJobConflict" || "EngagementValidationFailed" || "EngagementConflict" || "OpportunitySubmissionFailed" || "EngagementInvitationConflict" || "OpportunityValidationFailed" || "OpportunityConflict" || "ResourceSnapshotAccessDenied" || "ResourceSnapshotValidationFailed" || "ResourceSnapshotConflict" || "InternalError" || "ServiceQuotaExceeded" || "RequestThrottled", + * // OpportunityId: "STRING_VALUE", + * // ResourceSnapshotJobId: "STRING_VALUE", + * // EngagementInvitationId: "STRING_VALUE", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListEngagementByAcceptingInvitationTasksCommandInput - {@link ListEngagementByAcceptingInvitationTasksCommandInput} + * @returns {@link ListEngagementByAcceptingInvitationTasksCommandOutput} + * @see {@link ListEngagementByAcceptingInvitationTasksCommandInput} for command's `input` shape. + * @see {@link ListEngagementByAcceptingInvitationTasksCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class ListEngagementByAcceptingInvitationTasksCommand extends $Command + .classBuilder< + ListEngagementByAcceptingInvitationTasksCommandInput, + ListEngagementByAcceptingInvitationTasksCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "ListEngagementByAcceptingInvitationTasks", {}) + .n("PartnerCentralSellingClient", "ListEngagementByAcceptingInvitationTasksCommand") + .f(void 0, void 0) + .ser(se_ListEngagementByAcceptingInvitationTasksCommand) + .de(de_ListEngagementByAcceptingInvitationTasksCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListEngagementByAcceptingInvitationTasksRequest; + output: ListEngagementByAcceptingInvitationTasksResponse; + }; + sdk: { + input: ListEngagementByAcceptingInvitationTasksCommandInput; + output: ListEngagementByAcceptingInvitationTasksCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/ListEngagementFromOpportunityTasksCommand.ts b/clients/client-partnercentral-selling/src/commands/ListEngagementFromOpportunityTasksCommand.ts new file mode 100644 index 000000000000..be047615dd5f --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/ListEngagementFromOpportunityTasksCommand.ts @@ -0,0 +1,162 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + ListEngagementFromOpportunityTasksRequest, + ListEngagementFromOpportunityTasksResponse, +} from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { + de_ListEngagementFromOpportunityTasksCommand, + se_ListEngagementFromOpportunityTasksCommand, +} from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListEngagementFromOpportunityTasksCommand}. + */ +export interface ListEngagementFromOpportunityTasksCommandInput extends ListEngagementFromOpportunityTasksRequest {} +/** + * @public + * + * The output of {@link ListEngagementFromOpportunityTasksCommand}. + */ +export interface ListEngagementFromOpportunityTasksCommandOutput + extends ListEngagementFromOpportunityTasksResponse, + __MetadataBearer {} + +/** + *

    + * Lists all in-progress, completed, or failed EngagementFromOpportunity tasks that were + * initiated by the caller's account. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, ListEngagementFromOpportunityTasksCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, ListEngagementFromOpportunityTasksCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // ListEngagementFromOpportunityTasksRequest + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * Sort: { // ListTasksSortBase + * SortOrder: "ASCENDING" || "DESCENDING", // required + * SortBy: "StartTime", // required + * }, + * Catalog: "STRING_VALUE", // required + * TaskStatus: [ // TaskStatuses + * "IN_PROGRESS" || "COMPLETE" || "FAILED", + * ], + * TaskIdentifier: [ // TaskIdentifiers + * "STRING_VALUE", + * ], + * OpportunityIdentifier: [ // OpportunityIdentifiers + * "STRING_VALUE", + * ], + * EngagementIdentifier: [ // EngagementIdentifiers + * "STRING_VALUE", + * ], + * }; + * const command = new ListEngagementFromOpportunityTasksCommand(input); + * const response = await client.send(command); + * // { // ListEngagementFromOpportunityTasksResponse + * // TaskSummaries: [ // ListEngagementFromOpportunityTaskSummaries + * // { // ListEngagementFromOpportunityTaskSummary + * // TaskId: "STRING_VALUE", + * // TaskArn: "STRING_VALUE", + * // StartTime: new Date("TIMESTAMP"), + * // TaskStatus: "IN_PROGRESS" || "COMPLETE" || "FAILED", + * // Message: "STRING_VALUE", + * // ReasonCode: "InvitationAccessDenied" || "InvitationValidationFailed" || "EngagementAccessDenied" || "OpportunityAccessDenied" || "ResourceSnapshotJobAccessDenied" || "ResourceSnapshotJobValidationFailed" || "ResourceSnapshotJobConflict" || "EngagementValidationFailed" || "EngagementConflict" || "OpportunitySubmissionFailed" || "EngagementInvitationConflict" || "OpportunityValidationFailed" || "OpportunityConflict" || "ResourceSnapshotAccessDenied" || "ResourceSnapshotValidationFailed" || "ResourceSnapshotConflict" || "InternalError" || "ServiceQuotaExceeded" || "RequestThrottled", + * // OpportunityId: "STRING_VALUE", + * // ResourceSnapshotJobId: "STRING_VALUE", + * // EngagementId: "STRING_VALUE", + * // EngagementInvitationId: "STRING_VALUE", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListEngagementFromOpportunityTasksCommandInput - {@link ListEngagementFromOpportunityTasksCommandInput} + * @returns {@link ListEngagementFromOpportunityTasksCommandOutput} + * @see {@link ListEngagementFromOpportunityTasksCommandInput} for command's `input` shape. + * @see {@link ListEngagementFromOpportunityTasksCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class ListEngagementFromOpportunityTasksCommand extends $Command + .classBuilder< + ListEngagementFromOpportunityTasksCommandInput, + ListEngagementFromOpportunityTasksCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "ListEngagementFromOpportunityTasks", {}) + .n("PartnerCentralSellingClient", "ListEngagementFromOpportunityTasksCommand") + .f(void 0, void 0) + .ser(se_ListEngagementFromOpportunityTasksCommand) + .de(de_ListEngagementFromOpportunityTasksCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListEngagementFromOpportunityTasksRequest; + output: ListEngagementFromOpportunityTasksResponse; + }; + sdk: { + input: ListEngagementFromOpportunityTasksCommandInput; + output: ListEngagementFromOpportunityTasksCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/ListEngagementInvitationsCommand.ts b/clients/client-partnercentral-selling/src/commands/ListEngagementInvitationsCommand.ts index 6f53f0ff65cd..20f87f12bcd7 100644 --- a/clients/client-partnercentral-selling/src/commands/ListEngagementInvitationsCommand.ts +++ b/clients/client-partnercentral-selling/src/commands/ListEngagementInvitationsCommand.ts @@ -7,6 +7,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; import { ListEngagementInvitationsRequest, + ListEngagementInvitationsRequestFilterSensitiveLog, ListEngagementInvitationsResponse, ListEngagementInvitationsResponseFilterSensitiveLog, } from "../models/models_0"; @@ -36,7 +37,9 @@ export interface ListEngagementInvitationsCommandInput extends ListEngagementInv export interface ListEngagementInvitationsCommandOutput extends ListEngagementInvitationsResponse, __MetadataBearer {} /** - *

    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.

    + *

    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.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -54,7 +57,16 @@ export interface ListEngagementInvitationsCommandOutput extends ListEngagementIn * PayloadType: [ // EngagementInvitationsPayloadType * "OpportunityInvitation", * ], - * ParticipantType: "RECEIVER", // required + * ParticipantType: "SENDER" || "RECEIVER", // required + * Status: [ // InvitationStatusList + * "ACCEPTED" || "PENDING" || "REJECTED" || "EXPIRED", + * ], + * EngagementIdentifier: [ // EngagementIdentifiers + * "STRING_VALUE", + * ], + * SenderAwsAccountId: [ // AwsAccountIdOrAliasList + * "STRING_VALUE", + * ], * }; * const command = new ListEngagementInvitationsCommand(input); * const response = await client.send(command); @@ -64,6 +76,7 @@ export interface ListEngagementInvitationsCommandOutput extends ListEngagementIn * // Arn: "STRING_VALUE", * // PayloadType: "OpportunityInvitation", * // Id: "STRING_VALUE", // required + * // EngagementId: "STRING_VALUE", * // EngagementTitle: "STRING_VALUE", * // Status: "ACCEPTED" || "PENDING" || "REJECTED" || "EXPIRED", * // InvitationDate: new Date("TIMESTAMP"), @@ -77,6 +90,7 @@ export interface ListEngagementInvitationsCommandOutput extends ListEngagementIn * // }, * // }, * // Catalog: "STRING_VALUE", // required + * // ParticipantType: "SENDER" || "RECEIVER", * // }, * // ], * // NextToken: "STRING_VALUE", @@ -91,37 +105,33 @@ export interface ListEngagementInvitationsCommandOutput extends ListEngagementIn * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) - *

    This error occurs when you don't have permission to perform the - * requested action. - *

    - *

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance. - *

    + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    * * @throws {@link InternalServerException} (server fault) - *

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect. - *

    - *

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support. - *

    + *

    This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

    + *

    Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

    * * @throws {@link ResourceNotFoundException} (client fault) - *

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials. - *

    - *

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource. - *

    + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    * * @throws {@link ThrottlingException} (client fault) - *

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your - * usage to avoid throttling. - *

    - *

    This error occurs when there are too many requests sent. Review the provided - * Quotas and retry after the provided delay. - *

    + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    * * @throws {@link ValidationException} (client fault) - *

    The input fails to satisfy the constraints specified by the service or business validation rules. - *

    - *

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload. - *

    + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    * * @throws {@link PartnerCentralSellingServiceException} *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    @@ -145,7 +155,7 @@ export class ListEngagementInvitationsCommand extends $Command }) .s("AWSPartnerCentralSelling", "ListEngagementInvitations", {}) .n("PartnerCentralSellingClient", "ListEngagementInvitationsCommand") - .f(void 0, ListEngagementInvitationsResponseFilterSensitiveLog) + .f(ListEngagementInvitationsRequestFilterSensitiveLog, ListEngagementInvitationsResponseFilterSensitiveLog) .ser(se_ListEngagementInvitationsCommand) .de(de_ListEngagementInvitationsCommand) .build() { diff --git a/clients/client-partnercentral-selling/src/commands/ListEngagementMembersCommand.ts b/clients/client-partnercentral-selling/src/commands/ListEngagementMembersCommand.ts new file mode 100644 index 000000000000..c5a78541360e --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/ListEngagementMembersCommand.ts @@ -0,0 +1,138 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + ListEngagementMembersRequest, + ListEngagementMembersResponse, + ListEngagementMembersResponseFilterSensitiveLog, +} from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_ListEngagementMembersCommand, se_ListEngagementMembersCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListEngagementMembersCommand}. + */ +export interface ListEngagementMembersCommandInput extends ListEngagementMembersRequest {} +/** + * @public + * + * The output of {@link ListEngagementMembersCommand}. + */ +export interface ListEngagementMembersCommandOutput extends ListEngagementMembersResponse, __MetadataBearer {} + +/** + *

    + * 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. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, ListEngagementMembersCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, ListEngagementMembersCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // ListEngagementMembersRequest + * Catalog: "STRING_VALUE", // required + * Identifier: "STRING_VALUE", // required + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * }; + * const command = new ListEngagementMembersCommand(input); + * const response = await client.send(command); + * // { // ListEngagementMembersResponse + * // EngagementMemberList: [ // EngagementMembers // required + * // { // EngagementMember + * // CompanyName: "STRING_VALUE", + * // WebsiteUrl: "STRING_VALUE", + * // AccountId: "STRING_VALUE", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListEngagementMembersCommandInput - {@link ListEngagementMembersCommandInput} + * @returns {@link ListEngagementMembersCommandOutput} + * @see {@link ListEngagementMembersCommandInput} for command's `input` shape. + * @see {@link ListEngagementMembersCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class ListEngagementMembersCommand extends $Command + .classBuilder< + ListEngagementMembersCommandInput, + ListEngagementMembersCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "ListEngagementMembers", {}) + .n("PartnerCentralSellingClient", "ListEngagementMembersCommand") + .f(void 0, ListEngagementMembersResponseFilterSensitiveLog) + .ser(se_ListEngagementMembersCommand) + .de(de_ListEngagementMembersCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListEngagementMembersRequest; + output: ListEngagementMembersResponse; + }; + sdk: { + input: ListEngagementMembersCommandInput; + output: ListEngagementMembersCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/ListEngagementResourceAssociationsCommand.ts b/clients/client-partnercentral-selling/src/commands/ListEngagementResourceAssociationsCommand.ts new file mode 100644 index 000000000000..c758d22c71e3 --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/ListEngagementResourceAssociationsCommand.ts @@ -0,0 +1,150 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + ListEngagementResourceAssociationsRequest, + ListEngagementResourceAssociationsRequestFilterSensitiveLog, + ListEngagementResourceAssociationsResponse, + ListEngagementResourceAssociationsResponseFilterSensitiveLog, +} from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { + de_ListEngagementResourceAssociationsCommand, + se_ListEngagementResourceAssociationsCommand, +} from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListEngagementResourceAssociationsCommand}. + */ +export interface ListEngagementResourceAssociationsCommandInput extends ListEngagementResourceAssociationsRequest {} +/** + * @public + * + * The output of {@link ListEngagementResourceAssociationsCommand}. + */ +export interface ListEngagementResourceAssociationsCommandOutput + extends ListEngagementResourceAssociationsResponse, + __MetadataBearer {} + +/** + *

    + * Lists the associations between resources and engagements where the caller is a member + * and has at least one snapshot in the engagement. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, ListEngagementResourceAssociationsCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, ListEngagementResourceAssociationsCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // ListEngagementResourceAssociationsRequest + * Catalog: "STRING_VALUE", // required + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * EngagementIdentifier: "STRING_VALUE", + * ResourceType: "Opportunity", + * ResourceIdentifier: "STRING_VALUE", + * CreatedBy: "STRING_VALUE", + * }; + * const command = new ListEngagementResourceAssociationsCommand(input); + * const response = await client.send(command); + * // { // ListEngagementResourceAssociationsResponse + * // EngagementResourceAssociationSummaries: [ // EngagementResourceAssociationSummaryList // required + * // { // EngagementResourceAssociationSummary + * // Catalog: "STRING_VALUE", // required + * // EngagementId: "STRING_VALUE", + * // ResourceType: "Opportunity", + * // ResourceId: "STRING_VALUE", + * // CreatedBy: "STRING_VALUE", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListEngagementResourceAssociationsCommandInput - {@link ListEngagementResourceAssociationsCommandInput} + * @returns {@link ListEngagementResourceAssociationsCommandOutput} + * @see {@link ListEngagementResourceAssociationsCommandInput} for command's `input` shape. + * @see {@link ListEngagementResourceAssociationsCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class ListEngagementResourceAssociationsCommand extends $Command + .classBuilder< + ListEngagementResourceAssociationsCommandInput, + ListEngagementResourceAssociationsCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "ListEngagementResourceAssociations", {}) + .n("PartnerCentralSellingClient", "ListEngagementResourceAssociationsCommand") + .f( + ListEngagementResourceAssociationsRequestFilterSensitiveLog, + ListEngagementResourceAssociationsResponseFilterSensitiveLog + ) + .ser(se_ListEngagementResourceAssociationsCommand) + .de(de_ListEngagementResourceAssociationsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListEngagementResourceAssociationsRequest; + output: ListEngagementResourceAssociationsResponse; + }; + sdk: { + input: ListEngagementResourceAssociationsCommandInput; + output: ListEngagementResourceAssociationsCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/ListEngagementsCommand.ts b/clients/client-partnercentral-selling/src/commands/ListEngagementsCommand.ts new file mode 100644 index 000000000000..a2b8f5dfe396 --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/ListEngagementsCommand.ts @@ -0,0 +1,153 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + ListEngagementsRequest, + ListEngagementsRequestFilterSensitiveLog, + ListEngagementsResponse, + ListEngagementsResponseFilterSensitiveLog, +} from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_ListEngagementsCommand, se_ListEngagementsCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListEngagementsCommand}. + */ +export interface ListEngagementsCommandInput extends ListEngagementsRequest {} +/** + * @public + * + * The output of {@link ListEngagementsCommand}. + */ +export interface ListEngagementsCommandOutput extends ListEngagementsResponse, __MetadataBearer {} + +/** + *

    + * 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. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, ListEngagementsCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, ListEngagementsCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // ListEngagementsRequest + * Catalog: "STRING_VALUE", // required + * CreatedBy: [ // AwsAccountList + * "STRING_VALUE", + * ], + * ExcludeCreatedBy: [ + * "STRING_VALUE", + * ], + * Sort: { // EngagementSort + * SortOrder: "ASCENDING" || "DESCENDING", // required + * SortBy: "CreatedDate", // required + * }, + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * EngagementIdentifier: [ // EngagementIdentifiers + * "STRING_VALUE", + * ], + * }; + * const command = new ListEngagementsCommand(input); + * const response = await client.send(command); + * // { // ListEngagementsResponse + * // EngagementSummaryList: [ // EngagementSummaryList // required + * // { // EngagementSummary + * // Arn: "STRING_VALUE", + * // Id: "STRING_VALUE", + * // Title: "STRING_VALUE", + * // CreatedAt: new Date("TIMESTAMP"), + * // CreatedBy: "STRING_VALUE", + * // MemberCount: Number("int"), + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListEngagementsCommandInput - {@link ListEngagementsCommandInput} + * @returns {@link ListEngagementsCommandOutput} + * @see {@link ListEngagementsCommandInput} for command's `input` shape. + * @see {@link ListEngagementsCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class ListEngagementsCommand extends $Command + .classBuilder< + ListEngagementsCommandInput, + ListEngagementsCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "ListEngagements", {}) + .n("PartnerCentralSellingClient", "ListEngagementsCommand") + .f(ListEngagementsRequestFilterSensitiveLog, ListEngagementsResponseFilterSensitiveLog) + .ser(se_ListEngagementsCommand) + .de(de_ListEngagementsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListEngagementsRequest; + output: ListEngagementsResponse; + }; + sdk: { + input: ListEngagementsCommandInput; + output: ListEngagementsCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/ListOpportunitiesCommand.ts b/clients/client-partnercentral-selling/src/commands/ListOpportunitiesCommand.ts index 7f64b2252355..d58cb4bb6279 100644 --- a/clients/client-partnercentral-selling/src/commands/ListOpportunitiesCommand.ts +++ b/clients/client-partnercentral-selling/src/commands/ListOpportunitiesCommand.ts @@ -36,29 +36,27 @@ export interface ListOpportunitiesCommandInput extends ListOpportunitiesRequest export interface ListOpportunitiesCommandOutput extends ListOpportunitiesResponse, __MetadataBearer {} /** - *

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

    + *

    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:

    *
      *
    1. - *

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

      + *

      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.

      *
    2. *
    3. - *

      When you send a ListOpportunities request, submit the date in ISO 8601 format in the AfterLastModifiedDate filter. - *

      + *

      When you send a ListOpportunities request, submit the date in ISO + * 8601 format in the AfterLastModifiedDate filter.

      *
    4. *
    5. - *

      Amazon Web Services only returns opportunities created or updated on or after that date and time. Use NextToken to iterate over all pages. - *

      + *

      Amazon Web Services only returns opportunities created or updated on or after + * that date and time. Use NextToken to iterate over all pages.

      *
    6. *
    * @example @@ -99,6 +97,7 @@ export interface ListOpportunitiesCommandOutput extends ListOpportunitiesRespons * // { // OpportunitySummary * // Catalog: "STRING_VALUE", // required * // Id: "STRING_VALUE", + * // Arn: "STRING_VALUE", * // PartnerOpportunityIdentifier: "STRING_VALUE", * // OpportunityType: "Net New Business" || "Flat Renewal" || "Expansion", * // LastModifiedDate: new Date("TIMESTAMP"), @@ -136,6 +135,7 @@ export interface ListOpportunitiesCommandOutput extends ListOpportunitiesRespons * // 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", // required * // Frequency: "Monthly", // required * // TargetCompany: "STRING_VALUE", // required + * // EstimationUrl: "STRING_VALUE", * // }, * // ], * // }, @@ -153,37 +153,33 @@ export interface ListOpportunitiesCommandOutput extends ListOpportunitiesRespons * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) - *

    This error occurs when you don't have permission to perform the - * requested action. - *

    - *

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance. - *

    + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    * * @throws {@link InternalServerException} (server fault) - *

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect. - *

    - *

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support. - *

    + *

    This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

    + *

    Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

    * * @throws {@link ResourceNotFoundException} (client fault) - *

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials. - *

    - *

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource. - *

    + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    * * @throws {@link ThrottlingException} (client fault) - *

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your - * usage to avoid throttling. - *

    - *

    This error occurs when there are too many requests sent. Review the provided - * Quotas and retry after the provided delay. - *

    + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    * * @throws {@link ValidationException} (client fault) - *

    The input fails to satisfy the constraints specified by the service or business validation rules. - *

    - *

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload. - *

    + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    * * @throws {@link PartnerCentralSellingServiceException} *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    diff --git a/clients/client-partnercentral-selling/src/commands/ListResourceSnapshotJobsCommand.ts b/clients/client-partnercentral-selling/src/commands/ListResourceSnapshotJobsCommand.ts new file mode 100644 index 000000000000..9001a77ce34f --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/ListResourceSnapshotJobsCommand.ts @@ -0,0 +1,133 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListResourceSnapshotJobsRequest, ListResourceSnapshotJobsResponse } from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_ListResourceSnapshotJobsCommand, se_ListResourceSnapshotJobsCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListResourceSnapshotJobsCommand}. + */ +export interface ListResourceSnapshotJobsCommandInput extends ListResourceSnapshotJobsRequest {} +/** + * @public + * + * The output of {@link ListResourceSnapshotJobsCommand}. + */ +export interface ListResourceSnapshotJobsCommandOutput extends ListResourceSnapshotJobsResponse, __MetadataBearer {} + +/** + *

    + * 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. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, ListResourceSnapshotJobsCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, ListResourceSnapshotJobsCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // ListResourceSnapshotJobsRequest + * Catalog: "STRING_VALUE", // required + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * EngagementIdentifier: "STRING_VALUE", + * Status: "Running" || "Stopped", + * Sort: { // SortObject + * SortBy: "CreatedDate", + * SortOrder: "ASCENDING" || "DESCENDING", + * }, + * }; + * const command = new ListResourceSnapshotJobsCommand(input); + * const response = await client.send(command); + * // { // ListResourceSnapshotJobsResponse + * // ResourceSnapshotJobSummaries: [ // ResourceSnapshotJobSummaryList // required + * // { // ResourceSnapshotJobSummary + * // Id: "STRING_VALUE", + * // Arn: "STRING_VALUE", + * // EngagementId: "STRING_VALUE", + * // Status: "Running" || "Stopped", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListResourceSnapshotJobsCommandInput - {@link ListResourceSnapshotJobsCommandInput} + * @returns {@link ListResourceSnapshotJobsCommandOutput} + * @see {@link ListResourceSnapshotJobsCommandInput} for command's `input` shape. + * @see {@link ListResourceSnapshotJobsCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class ListResourceSnapshotJobsCommand extends $Command + .classBuilder< + ListResourceSnapshotJobsCommandInput, + ListResourceSnapshotJobsCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "ListResourceSnapshotJobs", {}) + .n("PartnerCentralSellingClient", "ListResourceSnapshotJobsCommand") + .f(void 0, void 0) + .ser(se_ListResourceSnapshotJobsCommand) + .de(de_ListResourceSnapshotJobsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListResourceSnapshotJobsRequest; + output: ListResourceSnapshotJobsResponse; + }; + sdk: { + input: ListResourceSnapshotJobsCommandInput; + output: ListResourceSnapshotJobsCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/ListResourceSnapshotsCommand.ts b/clients/client-partnercentral-selling/src/commands/ListResourceSnapshotsCommand.ts new file mode 100644 index 000000000000..7affcc7bc679 --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/ListResourceSnapshotsCommand.ts @@ -0,0 +1,143 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + ListResourceSnapshotsRequest, + ListResourceSnapshotsRequestFilterSensitiveLog, + ListResourceSnapshotsResponse, + ListResourceSnapshotsResponseFilterSensitiveLog, +} from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_ListResourceSnapshotsCommand, se_ListResourceSnapshotsCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListResourceSnapshotsCommand}. + */ +export interface ListResourceSnapshotsCommandInput extends ListResourceSnapshotsRequest {} +/** + * @public + * + * The output of {@link ListResourceSnapshotsCommand}. + */ +export interface ListResourceSnapshotsCommandOutput extends ListResourceSnapshotsResponse, __MetadataBearer {} + +/** + *

    + * Retrieves a list of resource view snapshots based on specified criteria. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, ListResourceSnapshotsCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, ListResourceSnapshotsCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // ListResourceSnapshotsRequest + * Catalog: "STRING_VALUE", // required + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * EngagementIdentifier: "STRING_VALUE", // required + * ResourceType: "Opportunity", + * ResourceIdentifier: "STRING_VALUE", + * ResourceSnapshotTemplateIdentifier: "STRING_VALUE", + * CreatedBy: "STRING_VALUE", + * }; + * const command = new ListResourceSnapshotsCommand(input); + * const response = await client.send(command); + * // { // ListResourceSnapshotsResponse + * // ResourceSnapshotSummaries: [ // ResourceSnapshotSummaryList // required + * // { // ResourceSnapshotSummary + * // Arn: "STRING_VALUE", + * // Revision: Number("int"), + * // ResourceType: "Opportunity", + * // ResourceId: "STRING_VALUE", + * // ResourceSnapshotTemplateName: "STRING_VALUE", + * // CreatedBy: "STRING_VALUE", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListResourceSnapshotsCommandInput - {@link ListResourceSnapshotsCommandInput} + * @returns {@link ListResourceSnapshotsCommandOutput} + * @see {@link ListResourceSnapshotsCommandInput} for command's `input` shape. + * @see {@link ListResourceSnapshotsCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class ListResourceSnapshotsCommand extends $Command + .classBuilder< + ListResourceSnapshotsCommandInput, + ListResourceSnapshotsCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "ListResourceSnapshots", {}) + .n("PartnerCentralSellingClient", "ListResourceSnapshotsCommand") + .f(ListResourceSnapshotsRequestFilterSensitiveLog, ListResourceSnapshotsResponseFilterSensitiveLog) + .ser(se_ListResourceSnapshotsCommand) + .de(de_ListResourceSnapshotsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListResourceSnapshotsRequest; + output: ListResourceSnapshotsResponse; + }; + sdk: { + input: ListResourceSnapshotsCommandInput; + output: ListResourceSnapshotsCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/ListSolutionsCommand.ts b/clients/client-partnercentral-selling/src/commands/ListSolutionsCommand.ts index fa39b5a8d9ea..1c1f91e92728 100644 --- a/clients/client-partnercentral-selling/src/commands/ListSolutionsCommand.ts +++ b/clients/client-partnercentral-selling/src/commands/ListSolutionsCommand.ts @@ -32,9 +32,9 @@ export interface ListSolutionsCommandInput extends ListSolutionsRequest {} export interface ListSolutionsCommandOutput extends ListSolutionsResponse, __MetadataBearer {} /** - *

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

    + *

    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.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -66,6 +66,7 @@ export interface ListSolutionsCommandOutput extends ListSolutionsResponse, __Met * // { // SolutionBase * // Catalog: "STRING_VALUE", // required * // Id: "STRING_VALUE", // required + * // Arn: "STRING_VALUE", * // Name: "STRING_VALUE", // required * // Status: "Active" || "Inactive" || "Draft", // required * // Category: "STRING_VALUE", // required @@ -84,29 +85,28 @@ export interface ListSolutionsCommandOutput extends ListSolutionsResponse, __Met * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) - *

    This error occurs when you don't have permission to perform the - * requested action. - *

    - *

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance. - *

    + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    * * @throws {@link InternalServerException} (server fault) - *

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect. - *

    - *

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support. - *

    + *

    This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

    + *

    Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

    * * @throws {@link ResourceNotFoundException} (client fault) - *

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials. - *

    - *

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource. - *

    + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    * * @throws {@link ValidationException} (client fault) - *

    The input fails to satisfy the constraints specified by the service or business validation rules. - *

    - *

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload. - *

    + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    * * @throws {@link PartnerCentralSellingServiceException} *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    diff --git a/clients/client-partnercentral-selling/src/commands/PutSellingSystemSettingsCommand.ts b/clients/client-partnercentral-selling/src/commands/PutSellingSystemSettingsCommand.ts new file mode 100644 index 000000000000..110a15763082 --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/PutSellingSystemSettingsCommand.ts @@ -0,0 +1,121 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { PutSellingSystemSettingsRequest, PutSellingSystemSettingsResponse } from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_PutSellingSystemSettingsCommand, se_PutSellingSystemSettingsCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link PutSellingSystemSettingsCommand}. + */ +export interface PutSellingSystemSettingsCommandInput extends PutSellingSystemSettingsRequest {} +/** + * @public + * + * The output of {@link PutSellingSystemSettingsCommand}. + */ +export interface PutSellingSystemSettingsCommandOutput extends PutSellingSystemSettingsResponse, __MetadataBearer {} + +/** + *

    Updates the currently set system settings, which include the IAM Role used for resource snapshot jobs.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, PutSellingSystemSettingsCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, PutSellingSystemSettingsCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // PutSellingSystemSettingsRequest + * Catalog: "STRING_VALUE", // required + * ResourceSnapshotJobRoleIdentifier: "STRING_VALUE", + * }; + * const command = new PutSellingSystemSettingsCommand(input); + * const response = await client.send(command); + * // { // PutSellingSystemSettingsResponse + * // Catalog: "STRING_VALUE", // required + * // ResourceSnapshotJobRoleArn: "STRING_VALUE", + * // }; + * + * ``` + * + * @param PutSellingSystemSettingsCommandInput - {@link PutSellingSystemSettingsCommandInput} + * @returns {@link PutSellingSystemSettingsCommandOutput} + * @see {@link PutSellingSystemSettingsCommandInput} for command's `input` shape. + * @see {@link PutSellingSystemSettingsCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class PutSellingSystemSettingsCommand extends $Command + .classBuilder< + PutSellingSystemSettingsCommandInput, + PutSellingSystemSettingsCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "PutSellingSystemSettings", {}) + .n("PartnerCentralSellingClient", "PutSellingSystemSettingsCommand") + .f(void 0, void 0) + .ser(se_PutSellingSystemSettingsCommand) + .de(de_PutSellingSystemSettingsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: PutSellingSystemSettingsRequest; + output: PutSellingSystemSettingsResponse; + }; + sdk: { + input: PutSellingSystemSettingsCommandInput; + output: PutSellingSystemSettingsCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/RejectEngagementInvitationCommand.ts b/clients/client-partnercentral-selling/src/commands/RejectEngagementInvitationCommand.ts index efda804f96c5..385a55cc8a45 100644 --- a/clients/client-partnercentral-selling/src/commands/RejectEngagementInvitationCommand.ts +++ b/clients/client-partnercentral-selling/src/commands/RejectEngagementInvitationCommand.ts @@ -32,10 +32,9 @@ export interface RejectEngagementInvitationCommandInput extends RejectEngagement export interface RejectEngagementInvitationCommandOutput extends __MetadataBearer {} /** - *

    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.

    + *

    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.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -60,37 +59,33 @@ export interface RejectEngagementInvitationCommandOutput extends __MetadataBeare * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) - *

    This error occurs when you don't have permission to perform the - * requested action. - *

    - *

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance. - *

    + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    * * @throws {@link InternalServerException} (server fault) - *

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect. - *

    - *

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support. - *

    + *

    This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

    + *

    Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

    * * @throws {@link ResourceNotFoundException} (client fault) - *

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials. - *

    - *

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource. - *

    + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    * * @throws {@link ThrottlingException} (client fault) - *

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your - * usage to avoid throttling. - *

    - *

    This error occurs when there are too many requests sent. Review the provided - * Quotas and retry after the provided delay. - *

    + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    * * @throws {@link ValidationException} (client fault) - *

    The input fails to satisfy the constraints specified by the service or business validation rules. - *

    - *

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload. - *

    + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    * * @throws {@link PartnerCentralSellingServiceException} *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    diff --git a/clients/client-partnercentral-selling/src/commands/StartEngagementByAcceptingInvitationTaskCommand.ts b/clients/client-partnercentral-selling/src/commands/StartEngagementByAcceptingInvitationTaskCommand.ts index 7a647c8e23f6..756fcdb176a7 100644 --- a/clients/client-partnercentral-selling/src/commands/StartEngagementByAcceptingInvitationTaskCommand.ts +++ b/clients/client-partnercentral-selling/src/commands/StartEngagementByAcceptingInvitationTaskCommand.ts @@ -41,7 +41,12 @@ export interface StartEngagementByAcceptingInvitationTaskCommandOutput __MetadataBearer {} /** - *

    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.

    + *

    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.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -61,8 +66,9 @@ export interface StartEngagementByAcceptingInvitationTaskCommandOutput * // StartTime: new Date("TIMESTAMP"), * // TaskStatus: "IN_PROGRESS" || "COMPLETE" || "FAILED", * // Message: "STRING_VALUE", - * // ReasonCode: "InvitationAccessDenied" || "EngagementAccessDenied" || "OpportunityAccessDenied" || "ResourceSnapshotJobAccessDenied" || "EngagementValidationFailed" || "OpportunitySubmissionFailed" || "EngagementInvitationConflict" || "InternalError" || "OpportunityValidationFailed" || "OpportunityConflict" || "ResourceSnapshotAccessDenied", + * // ReasonCode: "InvitationAccessDenied" || "InvitationValidationFailed" || "EngagementAccessDenied" || "OpportunityAccessDenied" || "ResourceSnapshotJobAccessDenied" || "ResourceSnapshotJobValidationFailed" || "ResourceSnapshotJobConflict" || "EngagementValidationFailed" || "EngagementConflict" || "OpportunitySubmissionFailed" || "EngagementInvitationConflict" || "OpportunityValidationFailed" || "OpportunityConflict" || "ResourceSnapshotAccessDenied" || "ResourceSnapshotValidationFailed" || "ResourceSnapshotConflict" || "InternalError" || "ServiceQuotaExceeded" || "RequestThrottled", * // OpportunityId: "STRING_VALUE", + * // ResourceSnapshotJobId: "STRING_VALUE", * // EngagementInvitationId: "STRING_VALUE", * // }; * @@ -75,51 +81,47 @@ export interface StartEngagementByAcceptingInvitationTaskCommandOutput * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) - *

    This error occurs when you don't have permission to perform the - * requested action. - *

    - *

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance. - *

    + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    * * @throws {@link ConflictException} (client fault) - *

    This error occurs when the request can’t be processed due to a conflict with the target resource's current state, which could result from updating or deleting the resource. - *

    - *

    Suggested action: Fetch the latest state of the resource, verify the state, and retry the request. - *

    + *

    This error occurs when the request can’t be processed due to a conflict with the + * target resource's current state, which could result from updating or deleting the + * resource.

    + *

    Suggested action: Fetch the latest state of the resource, verify the state, and retry + * the request.

    * * @throws {@link InternalServerException} (server fault) - *

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect. - *

    - *

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support. - *

    + *

    This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

    + *

    Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

    * * @throws {@link ResourceNotFoundException} (client fault) - *

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials. - *

    - *

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource. - *

    + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    * * @throws {@link ServiceQuotaExceededException} (client fault) - *

    This error occurs when the request would cause a service quota to be exceeded. - * Service quotas represent the maximum allowed use of a specific resource, and this error indicates that the request would surpass that limit. - *

    - *

    Suggested action: Review the - * Quotas for the resource, and either reduce usage or request a quota increase. - *

    + *

    This error occurs when the request would cause a service quota to be exceeded. Service + * quotas represent the maximum allowed use of a specific resource, and this error + * indicates that the request would surpass that limit.

    + *

    Suggested action: Review the Quotas for the + * resource, and either reduce usage or request a quota increase.

    * * @throws {@link ThrottlingException} (client fault) - *

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your - * usage to avoid throttling. - *

    - *

    This error occurs when there are too many requests sent. Review the provided - * Quotas and retry after the provided delay. - *

    + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    * * @throws {@link ValidationException} (client fault) - *

    The input fails to satisfy the constraints specified by the service or business validation rules. - *

    - *

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload. - *

    + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    * * @throws {@link PartnerCentralSellingServiceException} *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    diff --git a/clients/client-partnercentral-selling/src/commands/StartEngagementFromOpportunityTaskCommand.ts b/clients/client-partnercentral-selling/src/commands/StartEngagementFromOpportunityTaskCommand.ts index 1c0760ff230f..cdbc91245307 100644 --- a/clients/client-partnercentral-selling/src/commands/StartEngagementFromOpportunityTaskCommand.ts +++ b/clients/client-partnercentral-selling/src/commands/StartEngagementFromOpportunityTaskCommand.ts @@ -40,7 +40,10 @@ export interface StartEngagementFromOpportunityTaskCommandOutput __MetadataBearer {} /** - *

    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.

    + *

    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.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -64,8 +67,11 @@ export interface StartEngagementFromOpportunityTaskCommandOutput * // StartTime: new Date("TIMESTAMP"), * // TaskStatus: "IN_PROGRESS" || "COMPLETE" || "FAILED", * // Message: "STRING_VALUE", - * // ReasonCode: "InvitationAccessDenied" || "EngagementAccessDenied" || "OpportunityAccessDenied" || "ResourceSnapshotJobAccessDenied" || "EngagementValidationFailed" || "OpportunitySubmissionFailed" || "EngagementInvitationConflict" || "InternalError" || "OpportunityValidationFailed" || "OpportunityConflict" || "ResourceSnapshotAccessDenied", + * // ReasonCode: "InvitationAccessDenied" || "InvitationValidationFailed" || "EngagementAccessDenied" || "OpportunityAccessDenied" || "ResourceSnapshotJobAccessDenied" || "ResourceSnapshotJobValidationFailed" || "ResourceSnapshotJobConflict" || "EngagementValidationFailed" || "EngagementConflict" || "OpportunitySubmissionFailed" || "EngagementInvitationConflict" || "OpportunityValidationFailed" || "OpportunityConflict" || "ResourceSnapshotAccessDenied" || "ResourceSnapshotValidationFailed" || "ResourceSnapshotConflict" || "InternalError" || "ServiceQuotaExceeded" || "RequestThrottled", * // OpportunityId: "STRING_VALUE", + * // ResourceSnapshotJobId: "STRING_VALUE", + * // EngagementId: "STRING_VALUE", + * // EngagementInvitationId: "STRING_VALUE", * // }; * * ``` @@ -77,51 +83,47 @@ export interface StartEngagementFromOpportunityTaskCommandOutput * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) - *

    This error occurs when you don't have permission to perform the - * requested action. - *

    - *

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance. - *

    + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    * * @throws {@link ConflictException} (client fault) - *

    This error occurs when the request can’t be processed due to a conflict with the target resource's current state, which could result from updating or deleting the resource. - *

    - *

    Suggested action: Fetch the latest state of the resource, verify the state, and retry the request. - *

    + *

    This error occurs when the request can’t be processed due to a conflict with the + * target resource's current state, which could result from updating or deleting the + * resource.

    + *

    Suggested action: Fetch the latest state of the resource, verify the state, and retry + * the request.

    * * @throws {@link InternalServerException} (server fault) - *

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect. - *

    - *

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support. - *

    + *

    This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

    + *

    Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

    * * @throws {@link ResourceNotFoundException} (client fault) - *

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials. - *

    - *

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource. - *

    + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    * * @throws {@link ServiceQuotaExceededException} (client fault) - *

    This error occurs when the request would cause a service quota to be exceeded. - * Service quotas represent the maximum allowed use of a specific resource, and this error indicates that the request would surpass that limit. - *

    - *

    Suggested action: Review the - * Quotas for the resource, and either reduce usage or request a quota increase. - *

    + *

    This error occurs when the request would cause a service quota to be exceeded. Service + * quotas represent the maximum allowed use of a specific resource, and this error + * indicates that the request would surpass that limit.

    + *

    Suggested action: Review the Quotas for the + * resource, and either reduce usage or request a quota increase.

    * * @throws {@link ThrottlingException} (client fault) - *

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your - * usage to avoid throttling. - *

    - *

    This error occurs when there are too many requests sent. Review the provided - * Quotas and retry after the provided delay. - *

    + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    * * @throws {@link ValidationException} (client fault) - *

    The input fails to satisfy the constraints specified by the service or business validation rules. - *

    - *

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload. - *

    + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    * * @throws {@link PartnerCentralSellingServiceException} *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    diff --git a/clients/client-partnercentral-selling/src/commands/StartResourceSnapshotJobCommand.ts b/clients/client-partnercentral-selling/src/commands/StartResourceSnapshotJobCommand.ts new file mode 100644 index 000000000000..c2545fd4848c --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/StartResourceSnapshotJobCommand.ts @@ -0,0 +1,120 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { StartResourceSnapshotJobRequest } from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_StartResourceSnapshotJobCommand, se_StartResourceSnapshotJobCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link StartResourceSnapshotJobCommand}. + */ +export interface StartResourceSnapshotJobCommandInput extends StartResourceSnapshotJobRequest {} +/** + * @public + * + * The output of {@link StartResourceSnapshotJobCommand}. + */ +export interface StartResourceSnapshotJobCommandOutput extends __MetadataBearer {} + +/** + *

    + * Starts a resource snapshot job that has been previously created. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, StartResourceSnapshotJobCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, StartResourceSnapshotJobCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // StartResourceSnapshotJobRequest + * Catalog: "STRING_VALUE", // required + * ResourceSnapshotJobIdentifier: "STRING_VALUE", // required + * }; + * const command = new StartResourceSnapshotJobCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param StartResourceSnapshotJobCommandInput - {@link StartResourceSnapshotJobCommandInput} + * @returns {@link StartResourceSnapshotJobCommandOutput} + * @see {@link StartResourceSnapshotJobCommandInput} for command's `input` shape. + * @see {@link StartResourceSnapshotJobCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class StartResourceSnapshotJobCommand extends $Command + .classBuilder< + StartResourceSnapshotJobCommandInput, + StartResourceSnapshotJobCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "StartResourceSnapshotJob", {}) + .n("PartnerCentralSellingClient", "StartResourceSnapshotJobCommand") + .f(void 0, void 0) + .ser(se_StartResourceSnapshotJobCommand) + .de(de_StartResourceSnapshotJobCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: StartResourceSnapshotJobRequest; + output: {}; + }; + sdk: { + input: StartResourceSnapshotJobCommandInput; + output: StartResourceSnapshotJobCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/StopResourceSnapshotJobCommand.ts b/clients/client-partnercentral-selling/src/commands/StopResourceSnapshotJobCommand.ts new file mode 100644 index 000000000000..b57ec340c91d --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/StopResourceSnapshotJobCommand.ts @@ -0,0 +1,120 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { StopResourceSnapshotJobRequest } from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_StopResourceSnapshotJobCommand, se_StopResourceSnapshotJobCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link StopResourceSnapshotJobCommand}. + */ +export interface StopResourceSnapshotJobCommandInput extends StopResourceSnapshotJobRequest {} +/** + * @public + * + * The output of {@link StopResourceSnapshotJobCommand}. + */ +export interface StopResourceSnapshotJobCommandOutput extends __MetadataBearer {} + +/** + *

    + * Stops a resource snapshot job. The job must be started prior to being stopped. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, StopResourceSnapshotJobCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, StopResourceSnapshotJobCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // StopResourceSnapshotJobRequest + * Catalog: "STRING_VALUE", // required + * ResourceSnapshotJobIdentifier: "STRING_VALUE", // required + * }; + * const command = new StopResourceSnapshotJobCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param StopResourceSnapshotJobCommandInput - {@link StopResourceSnapshotJobCommandInput} + * @returns {@link StopResourceSnapshotJobCommandOutput} + * @see {@link StopResourceSnapshotJobCommandInput} for command's `input` shape. + * @see {@link StopResourceSnapshotJobCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class StopResourceSnapshotJobCommand extends $Command + .classBuilder< + StopResourceSnapshotJobCommandInput, + StopResourceSnapshotJobCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "StopResourceSnapshotJob", {}) + .n("PartnerCentralSellingClient", "StopResourceSnapshotJobCommand") + .f(void 0, void 0) + .ser(se_StopResourceSnapshotJobCommand) + .de(de_StopResourceSnapshotJobCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: StopResourceSnapshotJobRequest; + output: {}; + }; + sdk: { + input: StopResourceSnapshotJobCommandInput; + output: StopResourceSnapshotJobCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/SubmitOpportunityCommand.ts b/clients/client-partnercentral-selling/src/commands/SubmitOpportunityCommand.ts new file mode 100644 index 000000000000..8fe939d0ccd6 --- /dev/null +++ b/clients/client-partnercentral-selling/src/commands/SubmitOpportunityCommand.ts @@ -0,0 +1,131 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { SubmitOpportunityRequest } from "../models/models_0"; +import { + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../PartnerCentralSellingClient"; +import { de_SubmitOpportunityCommand, se_SubmitOpportunityCommand } from "../protocols/Aws_json1_0"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link SubmitOpportunityCommand}. + */ +export interface SubmitOpportunityCommandInput extends SubmitOpportunityRequest {} +/** + * @public + * + * The output of {@link SubmitOpportunityCommand}. + */ +export interface SubmitOpportunityCommandOutput extends __MetadataBearer {} + +/** + *

    + * 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. + *

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { PartnerCentralSellingClient, SubmitOpportunityCommand } from "@aws-sdk/client-partnercentral-selling"; // ES Modules import + * // const { PartnerCentralSellingClient, SubmitOpportunityCommand } = require("@aws-sdk/client-partnercentral-selling"); // CommonJS import + * const client = new PartnerCentralSellingClient(config); + * const input = { // SubmitOpportunityRequest + * Catalog: "STRING_VALUE", // required + * Identifier: "STRING_VALUE", // required + * InvolvementType: "For Visibility Only" || "Co-Sell", // required + * Visibility: "Full" || "Limited", + * }; + * const command = new SubmitOpportunityCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param SubmitOpportunityCommandInput - {@link SubmitOpportunityCommandInput} + * @returns {@link SubmitOpportunityCommandOutput} + * @see {@link SubmitOpportunityCommandInput} for command's `input` shape. + * @see {@link SubmitOpportunityCommandOutput} for command's `response` shape. + * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    + * + * @throws {@link InternalServerException} (server fault) + *

    This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

    + *

    Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

    + * + * @throws {@link ResourceNotFoundException} (client fault) + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * + * @throws {@link ThrottlingException} (client fault) + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * + * @throws {@link ValidationException} (client fault) + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * + * @throws {@link PartnerCentralSellingServiceException} + *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    + * + * @public + */ +export class SubmitOpportunityCommand extends $Command + .classBuilder< + SubmitOpportunityCommandInput, + SubmitOpportunityCommandOutput, + PartnerCentralSellingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: PartnerCentralSellingClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AWSPartnerCentralSelling", "SubmitOpportunity", {}) + .n("PartnerCentralSellingClient", "SubmitOpportunityCommand") + .f(void 0, void 0) + .ser(se_SubmitOpportunityCommand) + .de(de_SubmitOpportunityCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: SubmitOpportunityRequest; + output: {}; + }; + sdk: { + input: SubmitOpportunityCommandInput; + output: SubmitOpportunityCommandOutput; + }; + }; +} diff --git a/clients/client-partnercentral-selling/src/commands/UpdateOpportunityCommand.ts b/clients/client-partnercentral-selling/src/commands/UpdateOpportunityCommand.ts index 954110a6d123..123a35585630 100644 --- a/clients/client-partnercentral-selling/src/commands/UpdateOpportunityCommand.ts +++ b/clients/client-partnercentral-selling/src/commands/UpdateOpportunityCommand.ts @@ -36,14 +36,14 @@ export interface UpdateOpportunityCommandInput extends UpdateOpportunityRequest export interface UpdateOpportunityCommandOutput extends UpdateOpportunityResponse, __MetadataBearer {} /** - *

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

    + *

    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.

    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -93,6 +93,7 @@ export interface UpdateOpportunityCommandOutput extends UpdateOpportunityRespons * 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", // required * Frequency: "Monthly", // required * TargetCompany: "STRING_VALUE", // required + * EstimationUrl: "STRING_VALUE", * }, * ], * Title: "STRING_VALUE", @@ -165,43 +166,40 @@ export interface UpdateOpportunityCommandOutput extends UpdateOpportunityRespons * @see {@link PartnerCentralSellingClientResolvedConfig | config} for PartnerCentralSellingClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) - *

    This error occurs when you don't have permission to perform the - * requested action. - *

    - *

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance. - *

    + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    * * @throws {@link ConflictException} (client fault) - *

    This error occurs when the request can’t be processed due to a conflict with the target resource's current state, which could result from updating or deleting the resource. - *

    - *

    Suggested action: Fetch the latest state of the resource, verify the state, and retry the request. - *

    + *

    This error occurs when the request can’t be processed due to a conflict with the + * target resource's current state, which could result from updating or deleting the + * resource.

    + *

    Suggested action: Fetch the latest state of the resource, verify the state, and retry + * the request.

    * * @throws {@link InternalServerException} (server fault) - *

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect. - *

    - *

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support. - *

    + *

    This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

    + *

    Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

    * * @throws {@link ResourceNotFoundException} (client fault) - *

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials. - *

    - *

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource. - *

    + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    * * @throws {@link ThrottlingException} (client fault) - *

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your - * usage to avoid throttling. - *

    - *

    This error occurs when there are too many requests sent. Review the provided - * Quotas and retry after the provided delay. - *

    + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    * * @throws {@link ValidationException} (client fault) - *

    The input fails to satisfy the constraints specified by the service or business validation rules. - *

    - *

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload. - *

    + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    * * @throws {@link PartnerCentralSellingServiceException} *

    Base exception class for all service exceptions from PartnerCentralSelling service.

    diff --git a/clients/client-partnercentral-selling/src/commands/index.ts b/clients/client-partnercentral-selling/src/commands/index.ts index d25555103d1b..b6a38c7e2874 100644 --- a/clients/client-partnercentral-selling/src/commands/index.ts +++ b/clients/client-partnercentral-selling/src/commands/index.ts @@ -1,15 +1,36 @@ // smithy-typescript generated code +export * from "./AcceptEngagementInvitationCommand"; export * from "./AssignOpportunityCommand"; export * from "./AssociateOpportunityCommand"; +export * from "./CreateEngagementCommand"; +export * from "./CreateEngagementInvitationCommand"; export * from "./CreateOpportunityCommand"; +export * from "./CreateResourceSnapshotCommand"; +export * from "./CreateResourceSnapshotJobCommand"; +export * from "./DeleteResourceSnapshotJobCommand"; export * from "./DisassociateOpportunityCommand"; export * from "./GetAwsOpportunitySummaryCommand"; +export * from "./GetEngagementCommand"; export * from "./GetEngagementInvitationCommand"; export * from "./GetOpportunityCommand"; +export * from "./GetResourceSnapshotCommand"; +export * from "./GetResourceSnapshotJobCommand"; +export * from "./GetSellingSystemSettingsCommand"; +export * from "./ListEngagementByAcceptingInvitationTasksCommand"; +export * from "./ListEngagementFromOpportunityTasksCommand"; export * from "./ListEngagementInvitationsCommand"; +export * from "./ListEngagementMembersCommand"; +export * from "./ListEngagementResourceAssociationsCommand"; +export * from "./ListEngagementsCommand"; export * from "./ListOpportunitiesCommand"; +export * from "./ListResourceSnapshotJobsCommand"; +export * from "./ListResourceSnapshotsCommand"; export * from "./ListSolutionsCommand"; +export * from "./PutSellingSystemSettingsCommand"; export * from "./RejectEngagementInvitationCommand"; export * from "./StartEngagementByAcceptingInvitationTaskCommand"; export * from "./StartEngagementFromOpportunityTaskCommand"; +export * from "./StartResourceSnapshotJobCommand"; +export * from "./StopResourceSnapshotJobCommand"; +export * from "./SubmitOpportunityCommand"; export * from "./UpdateOpportunityCommand"; diff --git a/clients/client-partnercentral-selling/src/index.ts b/clients/client-partnercentral-selling/src/index.ts index d0b6697b95cd..5768bdae2bfa 100644 --- a/clients/client-partnercentral-selling/src/index.ts +++ b/clients/client-partnercentral-selling/src/index.ts @@ -3,70 +3,63 @@ /** * AWS Partner Central API for Selling *

    - * AWS Partner Central API for Selling Reference Guide + * 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.

    + *

    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 *

    *
      *
    1. *

      - * Opportunity management: - * Manages coselling opportunities through API actions such as - * CreateOpportunity, UpdateOpportunity, - * ListOpportunities, GetOpportunity, and - * AssignOpportunity.

      + * Opportunity management: Manages coselling + * opportunities through API actions such as CreateOpportunity, + * UpdateOpportunity, ListOpportunities, + * GetOpportunity, and AssignOpportunity.

      *
    2. *
    3. *

      - * AWS referral management: - * Manages referrals shared by AWS using actions such as - * ListEngagementInvitations, - * GetEngagementInvitation, - * StartEngagementByAcceptingInvitation, and - * RejectEngagementInvitation.

      + * AWS referral management: Manages referrals + * shared by AWS using actions such as ListEngagementInvitations, + * GetEngagementInvitation, + * StartEngagementByAcceptingInvitation, and + * RejectEngagementInvitation.

      *
    4. *
    5. *

      - * Entity association: - * Associates related entities such as AWS Products, - * Partner Solutions, and AWS - * Marketplace Private Offers with opportunities using the - * actions AssociateOpportunity, and - * DisassociateOpportunity.

      + * Entity association: Associates related + * entities such as AWS Products, Partner + * Solutions, and AWS Marketplace Private + * Offers with opportunities using the actions + * AssociateOpportunity, and + * DisassociateOpportunity.

      *
    6. *
    7. *

      - * View AWS opportunity - * details: Retrieves real-time summaries of AWS - * opportunities using the GetAWSOpportunitySummary - * action.

      + * View AWS opportunity details: Retrieves + * real-time summaries of AWS opportunities using the + * GetAWSOpportunitySummary action.

      *
    8. *
    9. *

      - * List solutions: Provides - * list APIs for listing partner offers using - * ListSolutions.

      + * List solutions: Provides list APIs for + * listing partner offers using ListSolutions.

      *
    10. *
    11. *

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

      + * 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.

      *
    12. *
    * diff --git a/clients/client-partnercentral-selling/src/models/models_0.ts b/clients/client-partnercentral-selling/src/models/models_0.ts index edca3c3ded3b..0942acf821ea 100644 --- a/clients/client-partnercentral-selling/src/models/models_0.ts +++ b/clients/client-partnercentral-selling/src/models/models_0.ts @@ -4,11 +4,35 @@ import { ExceptionOptionType as __ExceptionOptionType, SENSITIVE_STRING } from " import { PartnerCentralSellingServiceException as __BaseException } from "./PartnerCentralSellingServiceException"; /** - *

    This error occurs when you don't have permission to perform the - * requested action. - *

    - *

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance. - *

    + * @public + */ +export interface AcceptEngagementInvitationRequest { + /** + *

    + * 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. + *

    + * @public + */ + Catalog: string | undefined; + + /** + *

    + * 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. + *

    + * @public + */ + Identifier: string | undefined; +} + +/** + *

    This error occurs when you don't have permission to perform the requested + * action.

    + *

    You don’t have access to this action or resource. Review IAM policies or contact your + * AWS administrator for assistance.

    * @public */ export class AccessDeniedException extends __BaseException { @@ -29,6 +53,243 @@ export class AccessDeniedException extends __BaseException { } } +/** + *

    This error occurs when the specified resource can’t be found or doesn't exist. + * Resource ID and type might be incorrect.

    + *

    Suggested action: This is usually a transient error. Retry after the provided retry + * delay or a short interval. If the problem persists, contact AWS support.

    + * @public + */ +export class InternalServerException extends __BaseException { + readonly name: "InternalServerException" = "InternalServerException"; + readonly $fault: "server" = "server"; + Message?: string | undefined; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "InternalServerException", + $fault: "server", + ...opts, + }); + Object.setPrototypeOf(this, InternalServerException.prototype); + this.Message = opts.Message; + } +} + +/** + *

    This error occurs when the specified resource can't be found. The resource might not + * exist, or isn't visible with the current credentials.

    + *

    Suggested action: Verify that the resource ID is correct and the resource is in the + * expected AWS region. Check IAM permissions for accessing the resource.

    + * @public + */ +export class ResourceNotFoundException extends __BaseException { + readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; + readonly $fault: "client" = "client"; + Message?: string | undefined; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ResourceNotFoundException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ResourceNotFoundException.prototype); + this.Message = opts.Message; + } +} + +/** + *

    This error occurs when there are too many requests sent. Review the provided quotas + * and adapt your usage to avoid throttling.

    + *

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    + * @public + */ +export class ThrottlingException extends __BaseException { + readonly name: "ThrottlingException" = "ThrottlingException"; + readonly $fault: "client" = "client"; + Message?: string | undefined; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ThrottlingException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ThrottlingException.prototype); + this.Message = opts.Message; + } +} + +/** + * @public + * @enum + */ +export const ValidationExceptionErrorCode = { + ACTION_NOT_PERMITTED: "ACTION_NOT_PERMITTED", + DUPLICATE_KEY_VALUE: "DUPLICATE_KEY_VALUE", + INVALID_ENUM_VALUE: "INVALID_ENUM_VALUE", + INVALID_RESOURCE_STATE: "INVALID_RESOURCE_STATE", + INVALID_STRING_FORMAT: "INVALID_STRING_FORMAT", + INVALID_VALUE: "INVALID_VALUE", + REQUIRED_FIELD_MISSING: "REQUIRED_FIELD_MISSING", + TOO_MANY_VALUES: "TOO_MANY_VALUES", + VALUE_OUT_OF_RANGE: "VALUE_OUT_OF_RANGE", +} as const; + +/** + * @public + */ +export type ValidationExceptionErrorCode = + (typeof ValidationExceptionErrorCode)[keyof typeof ValidationExceptionErrorCode]; + +/** + *

    Indicates an invalid value for a field.

    + *
      + *
    • + *

      + * REQUIRED_FIELD_MISSING: The request is missing a required + * field.

      + *

      Fix: Verify your request payload includes all required fields.

      + *
    • + *
    • + *

      + * INVALID_ENUM_VALUE: The enum field value isn't an + * accepted values.

      + *

      Fix: Check the documentation for the list of valid enum values, and update + * your request with a valid value.

      + *
    • + *
    • + *

      + * INVALID_STRING_FORMAT: The string format is + * invalid.

      + *

      Fix: Confirm that the string is in the expected format (For example: email + * address, date).

      + *
    • + *
    • + *

      + * INVALID_VALUE: The value isn't valid.

      + *

      Fix: Confirm that the value meets the expected criteria and is within the + * allowable range or set.

      + *
    • + *
    • + *

      + * TOO_MANY_VALUES: There are too many values in a field + * that expects fewer entries.

      + *

      Fix: Reduce the number of values to match the expected limit.

      + *
    • + *
    • + *

      + * ACTION_NOT_PERMITTED: The action isn't permitted due to + * current state or permissions.

      + *

      Fix: Verify that the action is appropriate for the current state, and that you + * have the necessary permissions to perform it.

      + *
    • + *
    • + *

      + * DUPLICATE_KEY_VALUE: The value in a field duplicates a + * value that must be unique.

      + *

      Fix: Verify that the value is unique and doesn't duplicate an existing value + * in the system.

      + *
    • + *
    + * @public + */ +export interface ValidationExceptionError { + /** + *

    Specifies the field name with the invalid value.

    + * @public + */ + FieldName?: string | undefined; + + /** + *

    Specifies the detailed error message for the invalid field value.

    + * @public + */ + Message: string | undefined; + + /** + *

    Specifies the error code for the invalid field value.

    + * @public + */ + Code: ValidationExceptionErrorCode | undefined; +} + +/** + * @public + * @enum + */ +export const ValidationExceptionReason = { + BUSINESS_VALIDATION_FAILED: "BUSINESS_VALIDATION_FAILED", + REQUEST_VALIDATION_FAILED: "REQUEST_VALIDATION_FAILED", +} as const; + +/** + * @public + */ +export type ValidationExceptionReason = (typeof ValidationExceptionReason)[keyof typeof ValidationExceptionReason]; + +/** + *

    The input fails to satisfy the constraints specified by the service or business + * validation rules.

    + *

    Suggested action: Review the error message, including the failed fields and reasons, + * to correct the request payload.

    + * @public + */ +export class ValidationException extends __BaseException { + readonly name: "ValidationException" = "ValidationException"; + readonly $fault: "client" = "client"; + Message: string | undefined; + /** + *

    The primary reason for this validation exception to occur.

    + *
      + *
    • + *

      + * REQUEST_VALIDATION_FAILED: The request format is not + * valid.

      + *

      Fix: Verify your request payload includes all required fields, uses correct + * data types and string formats.

      + *
    • + *
    • + *

      + * BUSINESS_VALIDATION_FAILED: The requested change doesn't + * pass the business validation rules.

      + *

      Fix: Check that your change aligns with the business rules defined by AWS + * Partner Central.

      + *
    • + *
    + * @public + */ + Reason: ValidationExceptionReason | undefined; + + /** + *

    A list of issues that were discovered in the submitted request or the resource + * state.

    + * @public + */ + ErrorList?: ValidationExceptionError[] | undefined; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ValidationException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ValidationException.prototype); + this.Message = opts.Message; + this.Reason = opts.Reason; + this.ErrorList = opts.ErrorList; + } +} + /** * @public * @enum @@ -291,44 +552,53 @@ export const CountryCode = { export type CountryCode = (typeof CountryCode)[keyof typeof CountryCode]; /** - *

    Specifies the end Customer's address details associated with the Opportunity. - *

    + *

    Specifies the end Customer's address details associated with the + * Opportunity.

    * @public */ export interface Address { /** - *

    Specifies the end Customer's city associated with the Opportunity. - *

    + *

    Specifies the end Customer's city associated with the + * Opportunity.

    * @public */ City?: string | undefined; /** - *

    Specifies the end Customer's postal code associated with the Opportunity. - *

    + *

    Specifies the end Customer's postal code associated with the + * Opportunity.

    * @public */ PostalCode?: string | undefined; /** - *

    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 + *

    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 *

    * @public */ StateOrRegion?: string | undefined; /** - *

    Specifies the end Customer's country associated with the Opportunity. - *

    + *

    Specifies the end Customer's country associated with the + * Opportunity.

    * @public */ CountryCode?: CountryCode | undefined; /** - *

    Specifies the end Customer's street address associated with the Opportunity. - *

    + *

    Specifies the end Customer's street address associated with the + * Opportunity.

    * @public */ StreetAddress?: string | undefined; @@ -375,194 +645,213 @@ export const Industry = { export type Industry = (typeof Industry)[keyof typeof Industry]; /** - *

    Specifies the Customer's account details associated with the Opportunity. - *

    + *

    Specifies the Customer's account details associated with the + * Opportunity.

    * @public */ export interface Account { /** - *

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

    + *

    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.

    * @public */ Industry?: Industry | undefined; /** - *

    Specifies the end Customer's industry associated with the Opportunity, when the selected value in the Industry field is Other. - *

    + *

    Specifies the end Customer's industry associated with the + * Opportunity, when the selected value in the Industry field + * is Other.

    * @public */ OtherIndustry?: string | undefined; /** - *

    Specifies the end Customer's company name associated with the Opportunity. - *

    + *

    Specifies the end Customer's company name associated with the + * Opportunity.

    * @public */ CompanyName: string | undefined; /** - *

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

    + *

    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.

    * @public */ WebsiteUrl?: string | undefined; /** - *

    Specifies the Customer Amazon Web Services account ID associated with the Opportunity. - *

    + *

    Specifies the Customer + * Amazon Web Services account ID associated with the Opportunity.

    * @public */ AwsAccountId?: string | undefined; /** - *

    Specifies the end Customer's address details associated with the Opportunity. - *

    + *

    Specifies the end Customer's address details associated with the + * Opportunity.

    * @public */ Address?: Address | undefined; /** - *

    Indicates the Customer DUNS number, if available. - *

    + *

    Indicates the Customer DUNS number, if available.

    * @public */ Duns?: string | undefined; } /** - *

    Contains the account details of the partner who received the Engagement Invitation, including the AWS account ID and company name.

    + *

    Contains the account details of the partner who received the Engagement Invitation, + * including the AWS account ID and company name.

    * @public */ export interface AccountReceiver { /** - *

    Represents the alias of the partner account receiving the Engagement Invitation, making it easier to identify and track the recipient in reports or logs.

    + *

    Represents the alias of the partner account receiving the Engagement Invitation, + * making it easier to identify and track the recipient in reports or logs.

    * @public */ Alias?: string | undefined; /** - *

    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.

    + *

    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.

    * @public */ AwsAccountId: string | undefined; } /** - *

    An object that contains an Address object's subset of fields. - *

    + *

    An object that contains an Address object's subset of fields.

    * @public */ export interface AddressSummary { /** - *

    Specifies the end Customer's city associated with the Opportunity. - *

    + *

    Specifies the end Customer's city associated with the + * Opportunity.

    * @public */ City?: string | undefined; /** - *

    Specifies the end Customer's postal code associated with the Opportunity. - *

    + *

    Specifies the end Customer's postal code associated with the + * Opportunity.

    * @public */ PostalCode?: string | undefined; /** - *

    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 + *

    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 *

    * @public */ StateOrRegion?: string | undefined; /** - *

    Specifies the end Customer's country associated with the Opportunity. - *

    + *

    Specifies the end Customer's country associated with the + * Opportunity.

    * @public */ CountryCode?: CountryCode | undefined; } /** - *

    An object that contains an Account's subset of fields. - *

    + *

    An object that contains an Account's subset of fields.

    * @public */ export interface AccountSummary { /** - *

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

    + *

    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.

    * @public */ Industry?: Industry | undefined; /** *

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

    + * 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.

    * @public */ OtherIndustry?: string | undefined; /** - *

    Specifies the end Customer's company name associated with the Opportunity. - *

    + *

    Specifies the end Customer's company name associated with the + * Opportunity.

    * @public */ CompanyName: string | undefined; /** - *

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

    + *

    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.

    * @public */ WebsiteUrl?: string | undefined; /** - *

    Specifies the end Customer's address details associated with the Opportunity. - *

    + *

    Specifies the end Customer's address details associated with the + * Opportunity.

    * @public */ Address?: AddressSummary | undefined; } /** - *

    Represents the contact details of the individual assigned to manage the opportunity within the partner organization. This helps to ensure that there is a point of contact for the opportunity's progress.

    + *

    Represents the contact details of the individual assigned to manage the opportunity + * within the partner organization. This helps to ensure that there is a point of contact + * for the opportunity's progress.

    * @public */ export interface AssigneeContact { /** - *

    Provides the email address of the assignee. This email is used for communications and notifications related to the opportunity.

    + *

    Provides the email address of the assignee. This email is used for communications and + * notifications related to the opportunity.

    * @public */ Email: string | undefined; /** - *

    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.

    + *

    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.

    * @public */ FirstName: string | undefined; /** - *

    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.

    + *

    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.

    * @public */ LastName: string | undefined; /** - *

    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.

    + *

    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.

    * @public */ BusinessTitle: string | undefined; @@ -573,323 +862,82 @@ export interface AssigneeContact { */ export interface AssignOpportunityRequest { /** - *

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

    + *

    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.

    * @public */ Catalog: string | undefined; /** - *

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

    + *

    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.

    * @public */ Identifier: string | undefined; /** - *

    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.

    + *

    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.

    * @public */ Assignee: AssigneeContact | undefined; } /** - *

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect. - *

    - *

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support. - *

    * @public + * @enum */ -export class InternalServerException extends __BaseException { - readonly name: "InternalServerException" = "InternalServerException"; - readonly $fault: "server" = "server"; - Message?: string | undefined; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "InternalServerException", - $fault: "server", - ...opts, - }); - Object.setPrototypeOf(this, InternalServerException.prototype); - this.Message = opts.Message; - } -} +export const RelatedEntityType = { + AWS_MARKETPLACE_OFFERS: "AwsMarketplaceOffers", + AWS_PRODUCTS: "AwsProducts", + SOLUTIONS: "Solutions", +} as const; /** - *

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials. - *

    - *

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource. - *

    * @public */ -export class ResourceNotFoundException extends __BaseException { - readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; - readonly $fault: "client" = "client"; - Message?: string | undefined; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ResourceNotFoundException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ResourceNotFoundException.prototype); - this.Message = opts.Message; - } -} +export type RelatedEntityType = (typeof RelatedEntityType)[keyof typeof RelatedEntityType]; /** - *

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your - * usage to avoid throttling. - *

    - *

    This error occurs when there are too many requests sent. Review the provided - * Quotas and retry after the provided delay. - *

    * @public */ -export class ThrottlingException extends __BaseException { - readonly name: "ThrottlingException" = "ThrottlingException"; - readonly $fault: "client" = "client"; - Message?: string | undefined; +export interface AssociateOpportunityRequest { /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ThrottlingException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ThrottlingException.prototype); - this.Message = opts.Message; - } -} - -/** - * @public - * @enum - */ -export const ValidationExceptionErrorCode = { - ACTION_NOT_PERMITTED: "ACTION_NOT_PERMITTED", - DUPLICATE_KEY_VALUE: "DUPLICATE_KEY_VALUE", - INVALID_ENUM_VALUE: "INVALID_ENUM_VALUE", - INVALID_RESOURCE_STATE: "INVALID_RESOURCE_STATE", - INVALID_STRING_FORMAT: "INVALID_STRING_FORMAT", - INVALID_VALUE: "INVALID_VALUE", - REQUIRED_FIELD_MISSING: "REQUIRED_FIELD_MISSING", - TOO_MANY_VALUES: "TOO_MANY_VALUES", - VALUE_OUT_OF_RANGE: "VALUE_OUT_OF_RANGE", -} as const; - -/** - * @public - */ -export type ValidationExceptionErrorCode = - (typeof ValidationExceptionErrorCode)[keyof typeof ValidationExceptionErrorCode]; - -/** - *

    - * Indicates an invalid value for a field. - *

    - *
      - *
    • - *

      - * REQUIRED_FIELD_MISSING: The request is missing a required field.

      - *

      Fix: Verify your request payload includes all required fields. - *

      - *
    • - *
    • - *

      - * INVALID_ENUM_VALUE: The enum field value isn't an accepted values.

      - *

      Fix: Check the documentation for the list of valid enum values, and update your request with a valid value. - *

      - *
    • - *
    • - *

      - * INVALID_STRING_FORMAT: The string format is invalid.

      - *

      Fix: Confirm that the string is in the expected format (For example: email address, date). - *

      - *
    • - *
    • - *

      - * INVALID_VALUE: The value isn't valid.

      - *

      Fix: Confirm that the value meets the expected criteria and is within the allowable range or set. - *

      - *
    • - *
    • - *

      - * TOO_MANY_VALUES: There are too many values in a field that expects fewer entries.

      - *

      Fix: Reduce the number of values to match the expected limit. - *

      - *
    • - *
    • - *

      - * ACTION_NOT_PERMITTED: The action isn't permitted due to current state or permissions.

      - *

      Fix: Verify that the action is appropriate for the current state, and that you have the necessary permissions to perform it. - *

      - *
    • - *
    • - *

      - * DUPLICATE_KEY_VALUE: The value in a field duplicates a value that must be unique.

      - *

      Fix: Verify that the value is unique and doesn't duplicate an existing value in the system. - *

      - *
    • - *
    - * @public - */ -export interface ValidationExceptionError { - /** - *

    Specifies the field name with the invalid value.

    - * @public - */ - FieldName?: string | undefined; - - /** - *

    Specifies the detailed error message for the invalid field value.

    - * @public - */ - Message: string | undefined; - - /** - *

    Specifies the error code for the invalid field value.

    - * @public - */ - Code: ValidationExceptionErrorCode | undefined; -} - -/** - * @public - * @enum - */ -export const ValidationExceptionReason = { - BUSINESS_VALIDATION_FAILED: "BUSINESS_VALIDATION_FAILED", - REQUEST_VALIDATION_FAILED: "REQUEST_VALIDATION_FAILED", -} as const; - -/** - * @public - */ -export type ValidationExceptionReason = (typeof ValidationExceptionReason)[keyof typeof ValidationExceptionReason]; - -/** - *

    The input fails to satisfy the constraints specified by the service or business validation rules. - *

    - *

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload. - *

    - * @public - */ -export class ValidationException extends __BaseException { - readonly name: "ValidationException" = "ValidationException"; - readonly $fault: "client" = "client"; - Message: string | undefined; - /** - *

    - * The primary reason for this validation exception to occur. - *

    - *
      - *
    • - *

      - * REQUEST_VALIDATION_FAILED: The request format is not valid.

      - *

      Fix: Verify your request payload includes all required fields, uses correct data types and string formats. - *

      - *
    • - *
    • - *

      - * BUSINESS_VALIDATION_FAILED: The requested change doesn't pass the business validation rules.

      - *

      Fix: Check that your change aligns with the business rules defined by AWS Partner Central. - *

      - *
    • - *
    - * @public - */ - Reason: ValidationExceptionReason | undefined; - - /** - *

    A list of issues that were discovered in the submitted request or the resource state. - *

    - * @public - */ - ErrorList?: ValidationExceptionError[] | undefined; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ValidationException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ValidationException.prototype); - this.Message = opts.Message; - this.Reason = opts.Reason; - this.ErrorList = opts.ErrorList; - } -} - -/** - * @public - * @enum - */ -export const RelatedEntityType = { - AWS_MARKETPLACE_OFFERS: "AwsMarketplaceOffers", - AWS_PRODUCTS: "AwsProducts", - SOLUTIONS: "Solutions", -} as const; - -/** - * @public - */ -export type RelatedEntityType = (typeof RelatedEntityType)[keyof typeof RelatedEntityType]; - -/** - * @public - */ -export interface AssociateOpportunityRequest { - /** - *

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

    - * @public + *

    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.

    + * @public */ Catalog: string | undefined; /** - *

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

    + *

    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.

    * @public */ OpportunityIdentifier: string | undefined; /** - *

    Specifies the entity type that you're associating with the - * Opportunity. This helps to categorize and properly process the association. - *

    + *

    Specifies the entity type that you're associating with the Opportunity. + * This helps to categorize and properly process the association.

    * @public */ RelatedEntityType: RelatedEntityType | undefined; /** - *

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

    + *

    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.

    * @public */ RelatedEntityIdentifier: string | undefined; @@ -988,54 +1036,53 @@ export const AwsMemberBusinessTitle = { export type AwsMemberBusinessTitle = (typeof AwsMemberBusinessTitle)[keyof typeof AwsMemberBusinessTitle]; /** - *

    An object that contains a Customer Partner's contact details. - *

    + *

    An object that contains a Customer Partner's contact details.

    * @public */ export interface Contact { /** - *

    The contact's email address associated with the Opportunity. - *

    + *

    The contact's email address associated with the Opportunity.

    * @public */ Email?: string | undefined; /** - *

    The contact's first name associated with the Opportunity. - *

    + *

    The contact's first name associated with the Opportunity.

    * @public */ FirstName?: string | undefined; /** - *

    The contact's last name associated with the Opportunity. - *

    + *

    The contact's last name associated with the Opportunity.

    * @public */ LastName?: string | undefined; /** - *

    The partner contact's title (job title or role) associated with the Opportunity. BusinessTitle supports either PartnerAccountManager or OpportunityOwner. - *

    + *

    The partner contact's title (job title or role) associated with the + * Opportunity. BusinessTitle supports either + * PartnerAccountManager or OpportunityOwner.

    * @public */ BusinessTitle?: string | undefined; /** - *

    The contact's phone number associated with the Opportunity. - *

    + *

    The contact's phone number associated with the Opportunity.

    * @public */ Phone?: string | undefined; } /** - *

    Represents the customer associated with the AWS opportunity. This field captures key details about the customer that are necessary for managing the opportunity.

    + *

    Represents the customer associated with the AWS opportunity. This field captures key + * details about the customer that are necessary for managing the opportunity.

    * @public */ export interface AwsOpportunityCustomer { /** - *

    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.

    + *

    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.

    * @public */ Contacts?: Contact[] | undefined; @@ -1057,36 +1104,43 @@ export const EngagementScore = { export type EngagementScore = (typeof EngagementScore)[keyof typeof EngagementScore]; /** - *

    Contains insights provided by AWS for the opportunity, offering recommendations and analysis that can help the partner optimize their engagement and strategy.

    + *

    Contains insights provided by AWS for the opportunity, offering recommendations and + * analysis that can help the partner optimize their engagement and strategy.

    * @public */ export interface AwsOpportunityInsights { /** - *

    Provides recommendations from AWS on the next best actions to take in order to move the opportunity forward and increase the likelihood of success.

    + *

    Provides recommendations from AWS on the next best actions to take in order to move + * the opportunity forward and increase the likelihood of success.

    * @public */ NextBestActions?: string | undefined; /** - *

    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.

    + *

    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.

    * @public */ EngagementScore?: EngagementScore | undefined; } /** - *

    Tracks the history of next steps associated with the opportunity. This field captures the actions planned for the future and their timeline.

    + *

    Tracks the history of next steps associated with the opportunity. This field captures + * the actions planned for the future and their timeline.

    * @public */ export interface ProfileNextStepsHistory { /** - *

    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.

    + *

    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.

    * @public */ Value: string | undefined; /** - *

    Indicates the date and time when a particular next step was recorded or planned. This helps in managing the timeline for the opportunity.

    + *

    Indicates the date and time when a particular next step was recorded or planned. This + * helps in managing the timeline for the opportunity.

    * @public */ Time: Date | undefined; @@ -1129,36 +1183,46 @@ export const AwsOpportunityStage = { export type AwsOpportunityStage = (typeof AwsOpportunityStage)[keyof typeof AwsOpportunityStage]; /** - *

    Tracks the lifecycle of the AWS opportunity, including stages such as qualification, validation, and closure. This field helps partners understand the current status and progression of the opportunity.

    + *

    Tracks the lifecycle of the AWS opportunity, including stages such as qualification, + * validation, and closure. This field helps partners understand the current status and + * progression of the opportunity.

    * @public */ export interface AwsOpportunityLifeCycle { /** - *

    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.

    + *

    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.

    * @public */ TargetCloseDate?: string | undefined; /** - *

    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.

    + *

    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.

    * @public */ ClosedLostReason?: AwsClosedLostReason | undefined; /** - *

    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.

    + *

    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.

    * @public */ Stage?: AwsOpportunityStage | undefined; /** - *

    Specifies the immediate next steps required to progress the opportunity. These steps are based on AWS guidance and the current stage of the opportunity.

    + *

    Specifies the immediate next steps required to progress the opportunity. These steps + * are based on AWS guidance and the current stage of the opportunity.

    * @public */ NextSteps?: string | undefined; /** - *

    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.

    + *

    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.

    * @public */ NextStepsHistory?: ProfileNextStepsHistory[] | undefined; @@ -1358,110 +1422,130 @@ export const PaymentFrequency = { export type PaymentFrequency = (typeof PaymentFrequency)[keyof typeof PaymentFrequency]; /** - *

    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.

    + *

    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.

    * @public */ export interface ExpectedCustomerSpend { /** - *

    Represents the estimated monthly revenue that the partner expects to earn from the opportunity. This helps in forecasting financial returns.

    + *

    Represents the estimated monthly revenue that the partner expects to earn from the + * opportunity. This helps in forecasting financial returns.

    * @public */ Amount: string | undefined; /** - *

    Indicates the currency in which the revenue estimate is provided. This helps in understanding the financial impact across different markets.

    + *

    Indicates the currency in which the revenue estimate is provided. This helps in + * understanding the financial impact across different markets.

    * @public */ CurrencyCode: CurrencyCode | undefined; /** - *

    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.

    + *

    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.

    * @public */ Frequency: PaymentFrequency | undefined; /** - *

    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.

    + *

    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.

    * @public */ TargetCompany: string | undefined; + + /** + *

    + * A URL providing additional information or context about the spend estimation. + *

    + * @public + */ + EstimationUrl?: string | undefined; } /** - *

    Captures details about the project associated with the opportunity, including objectives, scope, and customer requirements.

    + *

    Captures details about the project associated with the opportunity, including + * objectives, scope, and customer requirements.

    * @public */ export interface AwsOpportunityProject { /** - *

    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.

    + *

    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.

    * @public */ ExpectedCustomerSpend?: ExpectedCustomerSpend[] | undefined; } /** - *

    Represents other entities related to the AWS opportunity, such as AWS products, partner solutions, and marketplace offers. These associations help build a complete picture of the solution being sold.

    + *

    Represents other entities related to the AWS opportunity, such as AWS products, + * partner solutions, and marketplace offers. These associations help build a complete + * picture of the solution being sold.

    * @public */ export interface AwsOpportunityRelatedEntities { /** - *

    Specifies the AWS products associated with the opportunity. This field helps track the specific products that are part of the proposed solution.

    + *

    Specifies the AWS products associated with the opportunity. This field helps track the + * specific products that are part of the proposed solution.

    * @public */ AwsProducts?: string[] | undefined; /** - *

    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.

    + *

    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.

    * @public */ Solutions?: string[] | undefined; } /** - *

    - * Represents an Amazon Web Services team member for the engagement. This structure includes details such as name, email, and business title. - *

    + *

    Represents an Amazon Web Services team member for the engagement. This structure + * includes details such as name, email, and business title.

    * @public */ export interface AwsTeamMember { /** - *

    - * Provides the Amazon Web Services team member's email address. - *

    + *

    Provides the Amazon Web Services team member's email address.

    * @public */ Email?: string | undefined; /** - *

    - * Provides the Amazon Web Services team member's first name. - *

    + *

    Provides the Amazon Web Services team member's first name.

    * @public */ FirstName?: string | undefined; /** - *

    - * Provides the Amazon Web Services team member's last name. - *

    + *

    Provides the Amazon Web Services team member's last name.

    * @public */ LastName?: string | undefined; /** - *

    - * Specifies the Amazon Web Services team member's business title and indicates their organizational role. - *

    + *

    Specifies the Amazon Web Services team member's business title and indicates their + * organizational role.

    * @public */ BusinessTitle?: AwsMemberBusinessTitle | undefined; } /** - *

    This error occurs when the request can’t be processed due to a conflict with the target resource's current state, which could result from updating or deleting the resource. - *

    - *

    Suggested action: Fetch the latest state of the resource, verify the state, and retry the request. - *

    + *

    This error occurs when the request can’t be processed due to a conflict with the + * target resource's current state, which could result from updating or deleting the + * resource.

    + *

    Suggested action: Fetch the latest state of the resource, verify the state, and retry + * the request.

    * @public */ export class ConflictException extends __BaseException { @@ -1483,813 +1567,958 @@ export class ConflictException extends __BaseException { } /** - *

    This error occurs when the request would cause a service quota to be exceeded. - * Service quotas represent the maximum allowed use of a specific resource, and this error indicates that the request would surpass that limit. - *

    - *

    Suggested action: Review the - * Quotas for the resource, and either reduce usage or request a quota increase. - *

    + *

    Contains details about the customer associated with the Engagement Invitation, + * including company information and industry.

    * @public */ -export class ServiceQuotaExceededException extends __BaseException { - readonly name: "ServiceQuotaExceededException" = "ServiceQuotaExceededException"; - readonly $fault: "client" = "client"; - Message?: string | undefined; +export interface EngagementCustomer { /** - * @internal + *

    Specifies the industry to which the customer’s company belongs. This field helps + * categorize the opportunity based on the customer’s business sector.

    + * @public */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ServiceQuotaExceededException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ServiceQuotaExceededException.prototype); - this.Message = opts.Message; - } -} + Industry: Industry | undefined; -/** - * @public - */ -export interface StartEngagementByAcceptingInvitationTaskRequest { /** - *

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

    + *

    Represents the name of the customer’s company associated with the Engagement + * Invitation. This field is used to identify the customer.

    * @public */ - Catalog: string | undefined; + CompanyName: string | undefined; /** - *

    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.

    + *

    Provides the website URL of the customer’s company. This field helps partners verify + * the legitimacy and size of the customer organization.

    * @public */ - ClientToken?: string | undefined; + WebsiteUrl: string | undefined; /** - *

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

    + *

    Indicates the country in which the customer’s company operates. This field is useful + * for understanding regional requirements or compliance needs.

    * @public */ - Identifier: string | undefined; + CountryCode: CountryCode | undefined; } /** - * @public - * @enum - */ -export const ReasonCode = { - ENGAGEMENT_ACCESS_DENIED: "EngagementAccessDenied", - ENGAGEMENT_INVITATION_CONFLICT: "EngagementInvitationConflict", - ENGAGEMENT_VALIDATION_FAILED: "EngagementValidationFailed", - INTERNAL_ERROR: "InternalError", - INVITATION_ACCESS_DENIED: "InvitationAccessDenied", - OPPORTUNITY_ACCESS_DENIED: "OpportunityAccessDenied", - OPPORTUNITY_CONFLICT: "OpportunityConflict", - OPPORTUNITY_SUBMISSION_FAILED: "OpportunitySubmissionFailed", - OPPORTUNITY_VALIDATION_FAILED: "OpportunityValidationFailed", - RESOURCE_SNAPSHOT_ACCESS_DENIED: "ResourceSnapshotAccessDenied", - RESOURCE_SNAPSHOT_JOB_ACCESS_DENIED: "ResourceSnapshotJobAccessDenied", -} as const; - -/** - * @public - */ -export type ReasonCode = (typeof ReasonCode)[keyof typeof ReasonCode]; - -/** - * @public - * @enum - */ -export const TaskStatus = { - COMPLETE: "COMPLETE", - FAILED: "FAILED", - IN_PROGRESS: "IN_PROGRESS", -} as const; - -/** - * @public - */ -export type TaskStatus = (typeof TaskStatus)[keyof typeof TaskStatus]; - -/** + *

    + * Provides comprehensive details about a customer project associated with an Engagement. + * This may include information such as project goals, timelines, and specific customer + * requirements. + *

    * @public */ -export interface StartEngagementByAcceptingInvitationTaskResponse { +export interface EngagementCustomerProjectDetails { /** - *

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

    + *

    + * The title of the project. + *

    * @public */ - TaskId?: string | undefined; + Title: string | undefined; /** - *

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

    + *

    + * A description of the business problem the project aims to solve. + *

    * @public */ - TaskArn?: string | undefined; + BusinessProblem: string | undefined; /** - *

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

    + *

    + * The target completion date for the customer's project. + *

    * @public */ - StartTime?: Date | undefined; + TargetCompletionDate: string | undefined; +} +/** + *

    + * The CustomerProjects structure in Engagements offers a flexible framework for managing + * customer-project relationships. It supports multiple customers per Engagement and + * multiple projects per customer, while also allowing for customers without projects and + * projects without specific customers. + *

    + *

    All Engagement members have full visibility of customers and their associated + * projects, enabling the capture of relevant context even when project details are not + * fully defined. This structure also facilitates targeted invitations, allowing partners + * to focus on specific customers and their business problems when sending Engagement + * invitations.

    + * @public + */ +export interface CustomerProjectsContext { /** - *

    Indicates the current status of the task.

    + *

    Contains details about the customer associated with the Engagement Invitation, + * including company information and industry.

    * @public */ - TaskStatus?: TaskStatus | undefined; + Customer?: EngagementCustomer | undefined; /** - *

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

    + *

    + * Information about the customer project associated with the Engagement. + *

    * @public */ - Message?: string | undefined; + Project?: EngagementCustomerProjectDetails | undefined; +} - /** - *

    Indicates the reason for task failure using an enumerated code.

    - * @public - */ - ReasonCode?: ReasonCode | undefined; +/** + *

    + * Represents the payload of an Engagement context. The structure of this payload varies + * based on the context type specified in the EngagementContextDetails. + *

    + * @public + */ +export type EngagementContextPayload = + | EngagementContextPayload.CustomerProjectMember + | EngagementContextPayload.$UnknownMember; +/** + * @public + */ +export namespace EngagementContextPayload { /** - *

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

    + *

    + * 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". + *

    * @public */ - OpportunityId?: string | undefined; + export interface CustomerProjectMember { + CustomerProject: CustomerProjectsContext; + $unknown?: never; + } /** - *

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

    * @public */ - EngagementInvitationId?: string | undefined; -} + export interface $UnknownMember { + CustomerProject?: never; + $unknown: [string, any]; + } -/** - * @public - * @enum - */ -export const SalesInvolvementType = { - CO_SELL: "Co-Sell", - FOR_VISIBILITY_ONLY: "For Visibility Only", -} as const; + export interface Visitor { + CustomerProject: (value: CustomerProjectsContext) => T; + _: (name: string, value: any) => T; + } -/** - * @public - */ -export type SalesInvolvementType = (typeof SalesInvolvementType)[keyof typeof SalesInvolvementType]; + export const visit = (value: EngagementContextPayload, visitor: Visitor): T => { + if (value.CustomerProject !== undefined) return visitor.CustomerProject(value.CustomerProject); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; +} /** * @public * @enum */ -export const Visibility = { - FULL: "Full", - LIMITED: "Limited", +export const EngagementContextType = { + CUSTOMER_PROJECT: "CustomerProject", } as const; /** * @public */ -export type Visibility = (typeof Visibility)[keyof typeof Visibility]; +export type EngagementContextType = (typeof EngagementContextType)[keyof typeof EngagementContextType]; /** - *

    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.

    + *

    + * Provides detailed context information for an Engagement. This structure allows for + * specifying the type of context and its associated payload. + *

    * @public */ -export interface AwsSubmission { +export interface EngagementContextDetails { /** - *

    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.

    + *

    + * 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. + *

    * @public */ - InvolvementType: SalesInvolvementType | undefined; + Type: EngagementContextType | undefined; /** - *

    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.

    + *

    + * Contains the specific details of the Engagement context. The structure of this payload + * varies depending on the Type field. + *

    * @public */ - Visibility?: Visibility | undefined; + Payload?: EngagementContextPayload | undefined; } /** * @public */ -export interface StartEngagementFromOpportunityTaskRequest { +export interface CreateEngagementRequest { /** - *

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

    + *

    + * 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. + *

    * @public */ Catalog: string | undefined; /** - *

    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.

    + *

    + * 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. + *

    * @public */ ClientToken?: string | undefined; /** - *

    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.

    - * @public - */ - Identifier: string | undefined; - - /** - *

    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.

    + *

    + * Specifies the title of the Engagement. + *

    * @public */ - AwsSubmission: AwsSubmission | undefined; -} + Title: string | undefined; -/** - * @public - */ -export interface StartEngagementFromOpportunityTaskResponse { /** - *

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

    + *

    + * Provides a description of the Engagement. + *

    * @public */ - TaskId?: string | undefined; + Description: string | undefined; /** - *

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

    + *

    + * 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. + *

    * @public */ - TaskArn?: string | undefined; + Contexts?: EngagementContextDetails[] | undefined; +} +/** + * @public + */ +export interface CreateEngagementResponse { /** - *

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

    + *

    + * Unique identifier assigned to the newly created engagement. + *

    * @public */ - StartTime?: Date | undefined; + Id?: string | undefined; /** - *

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

    + *

    + * The Amazon Resource Name (ARN) that identifies the engagement. + *

    * @public */ - TaskStatus?: TaskStatus | undefined; + Arn?: string | undefined; +} - /** - *

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

    - * @public - */ +/** + *

    This error occurs when the request would cause a service quota to be exceeded. Service + * quotas represent the maximum allowed use of a specific resource, and this error + * indicates that the request would surpass that limit.

    + *

    Suggested action: Review the Quotas for the + * resource, and either reduce usage or request a quota increase.

    + * @public + */ +export class ServiceQuotaExceededException extends __BaseException { + readonly name: "ServiceQuotaExceededException" = "ServiceQuotaExceededException"; + readonly $fault: "client" = "client"; Message?: string | undefined; - /** - *

    Indicates the reason for task failure using an enumerated code.

    - * @public - */ - ReasonCode?: ReasonCode | undefined; - - /** - *

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

    - * @public + * @internal */ - OpportunityId?: string | undefined; + constructor(opts: __ExceptionOptionType) { + super({ + name: "ServiceQuotaExceededException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ServiceQuotaExceededException.prototype); + this.Message = opts.Message; + } } /** * @public */ -export interface GetEngagementInvitationRequest { +export interface GetEngagementRequest { /** - *

    Specifies the catalog associated with the request. The field accepts values from the predefined set: AWS for live operations or Sandbox for testing environments.

    + *

    + * Specifies the catalog related to the engagement request. Valid values are + * AWS and Sandbox. + *

    * @public */ Catalog: string | undefined; /** - *

    Specifies the unique identifier for the retrieved engagement - * invitation.

    + *

    + * Specifies the identifier of the Engagement record to retrieve. + *

    * @public */ Identifier: string | undefined; } /** - *

    Contains details about the customer associated with the Engagement Invitation, including company information and industry.

    * @public */ -export interface EngagementCustomer { +export interface GetEngagementResponse { /** - *

    Specifies the industry to which the customer’s company belongs. This field helps categorize the opportunity based on the customer’s business sector.

    + *

    + * The unique resource identifier of the engagement retrieved. + *

    * @public */ - Industry: Industry | undefined; + Id?: string | undefined; /** - *

    Represents the name of the customer’s company associated with the Engagement Invitation. This field is used to identify the customer.

    + *

    + * The Amazon Resource Name (ARN) of the engagement retrieved. + *

    * @public */ - CompanyName: string | undefined; + Arn?: string | undefined; /** - *

    Provides the website URL of the customer’s company. This field helps partners verify the legitimacy and size of the customer organization.

    + *

    + * The title of the engagement. It provides a brief, descriptive name for the engagement + * that is meaningful and easily recognizable. + *

    * @public */ - WebsiteUrl: string | undefined; + Title?: string | undefined; /** - *

    Indicates the country in which the customer’s company operates. This field is useful for understanding regional requirements or compliance needs.

    + *

    + * A more detailed description of the engagement. This provides additional context or + * information about the engagement's purpose or scope. + *

    * @public */ - CountryCode: CountryCode | undefined; -} + Description?: string | undefined; -/** - *

    Contains details about the project associated with the Engagement Invitation, including the business problem and expected outcomes.

    - * @public - */ -export interface ProjectDetails { /** - *

    Describes the business problem that the project aims to solve. This information is crucial for understanding the project’s goals and objectives.

    + *

    + * 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. + *

    * @public */ - BusinessProblem: string | undefined; + CreatedAt?: Date | undefined; /** - *

    Specifies the title of the project. This title helps partners quickly identify and understand the focus of the project.

    + *

    + * The AWS account ID of the user who originally created the engagement. This field helps + * in tracking the origin of the engagement. + *

    * @public */ - Title: string | undefined; + CreatedBy?: string | undefined; /** - *

    Specifies the estimated date of project completion. This field helps track the project timeline and manage expectations.

    + *

    + * 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. + *

    * @public */ - TargetCompletionDate: string | undefined; + MemberCount?: number | undefined; /** - *

    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.

    + *

    + * A list of context objects associated with the engagement. Each context provides + * additional information related to the Engagement, such as customer projects or + * documents. + *

    * @public */ - ExpectedCustomerSpend: ExpectedCustomerSpend[] | undefined; + Contexts?: EngagementContextDetails[] | undefined; } /** - * @public - * @enum - */ -export const ReceiverResponsibility = { - CO_SELL_FACILITATOR: "Co-Sell Facilitator", - DISTRIBUTOR: "Distributor", - FACILITATOR: "Facilitator", - HARDWARE_PARTNER: "Hardware Partner", - MANAGED_SERVICE_PROVIDER: "Managed Service Provider", - RESELLER: "Reseller", - SERVICES_PARTNER: "Services Partner", - SOFTWARE_PARTNER: "Software Partner", - TRAINING_PARTNER: "Training Partner", -} as const; - -/** - * @public - */ -export type ReceiverResponsibility = (typeof ReceiverResponsibility)[keyof typeof ReceiverResponsibility]; - -/** - *

    An object that contains the details of the sender-provided contact person for the EngagementInvitation. - *

    * @public */ -export interface SenderContact { - /** - *

    The sender-provided contact's email address associated with the EngagementInvitation. - *

    - * @public - */ - Email: string | undefined; - +export interface ListEngagementMembersRequest { /** - *

    The sender-provided contact's last name associated with the EngagementInvitation. - *

    + *

    + * The catalog related to the request. + *

    * @public */ - FirstName?: string | undefined; + Catalog: string | undefined; /** - *

    The sender-provided contact's first name associated with the EngagementInvitation. - *

    + *

    + * Identifier of the engagement record to retrieve members from. + *

    * @public */ - LastName?: string | undefined; + Identifier: string | undefined; /** - *

    The sender-provided contact's title (job title or role) associated with the EngagementInvitation. - *

    + *

    + * The maximum number of results to return in a single call. + *

    * @public */ - BusinessTitle?: string | undefined; + MaxResults?: number | undefined; /** - *

    The sender-provided contact's phone number associated with the EngagementInvitation. - *

    + *

    + * The token for the next set of results. + *

    * @public */ - Phone?: string | undefined; + NextToken?: string | undefined; } /** - *

    Represents the data payload of an Engagement Invitation for a specific opportunity. This contains detailed information that partners use to evaluate the engagement.

    + *

    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.

    * @public */ -export interface OpportunityInvitationPayload { - /** - *

    Represents the contact details of the AWS representatives involved in sending the Engagement Invitation. These contacts are opportunity stakeholders.

    - * @public - */ - SenderContacts?: SenderContact[] | undefined; - +export interface EngagementMember { /** - *

    Outlines the responsibilities or expectations of the receiver in the context of the invitation.

    + *

    + * The official name of the member's company or organization. + *

    * @public */ - ReceiverResponsibilities: ReceiverResponsibility[] | undefined; + CompanyName?: string | undefined; /** - *

    Contains information about the customer related to the opportunity in the Engagement Invitation. This data helps partners understand the customer’s profile and requirements.

    + *

    + * 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. + *

    * @public */ - Customer: EngagementCustomer | undefined; + WebsiteUrl?: string | undefined; /** - *

    Describes the project details associated with the opportunity, including the customer’s needs and the scope of work expected to be performed.

    + *

    + * This is the unique identifier for the AWS account associated with the member + * organization. It's used for AWS-related operations and identity verification. + *

    * @public */ - Project: ProjectDetails | undefined; + AccountId?: string | undefined; } -/** - *

    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.

    - * @public - */ -export type Payload = Payload.OpportunityInvitationMember | Payload.$UnknownMember; - /** * @public */ -export namespace Payload { +export interface ListEngagementMembersResponse { /** - *

    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.

    + *

    + * Provides a list of engagement members. + *

    * @public */ - export interface OpportunityInvitationMember { - OpportunityInvitation: OpportunityInvitationPayload; - $unknown?: never; - } + EngagementMemberList: EngagementMember[] | undefined; /** + *

    + * 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. + *

    * @public */ - export interface $UnknownMember { - OpportunityInvitation?: never; - $unknown: [string, any]; - } - - export interface Visitor { - OpportunityInvitation: (value: OpportunityInvitationPayload) => T; - _: (name: string, value: any) => T; - } - - export const visit = (value: Payload, visitor: Visitor): T => { - if (value.OpportunityInvitation !== undefined) return visitor.OpportunityInvitation(value.OpportunityInvitation); - return visitor._(value.$unknown[0], value.$unknown[1]); - }; + NextToken?: string | undefined; } /** * @public * @enum */ -export const EngagementInvitationPayloadType = { - OPPORTUNITY_INVITATION: "OpportunityInvitation", +export const EngagementSortName = { + CreatedDate: "CreatedDate", } as const; /** * @public */ -export type EngagementInvitationPayloadType = - (typeof EngagementInvitationPayloadType)[keyof typeof EngagementInvitationPayloadType]; +export type EngagementSortName = (typeof EngagementSortName)[keyof typeof EngagementSortName]; /** - *

    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.

    * @public + * @enum */ -export type Receiver = Receiver.AccountMember | Receiver.$UnknownMember; +export const SortOrder = { + ASCENDING: "ASCENDING", + DESCENDING: "DESCENDING", +} as const; /** * @public */ -export namespace Receiver { +export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder]; + +/** + *

    + * Specifies the sorting parameters for listing Engagements. + *

    + * @public + */ +export interface EngagementSort { /** - *

    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.

    + *

    + * The order in which to sort the results. + *

    * @public */ - export interface AccountMember { - Account: AccountReceiver; - $unknown?: never; - } + SortOrder: SortOrder | undefined; /** + *

    + * The field by which to sort the results. + *

    * @public */ - export interface $UnknownMember { - Account?: never; - $unknown: [string, any]; - } - - export interface Visitor { - Account: (value: AccountReceiver) => T; - _: (name: string, value: any) => T; - } - - export const visit = (value: Receiver, visitor: Visitor): T => { - if (value.Account !== undefined) return visitor.Account(value.Account); - return visitor._(value.$unknown[0], value.$unknown[1]); - }; + SortBy: EngagementSortName | undefined; } /** * @public - * @enum */ -export const InvitationStatus = { - ACCEPTED: "ACCEPTED", - EXPIRED: "EXPIRED", - PENDING: "PENDING", - REJECTED: "REJECTED", -} as const; +export interface ListEngagementsRequest { + /** + *

    + * Specifies the catalog related to the request. + *

    + * @public + */ + Catalog: string | undefined; -/** - * @public - */ -export type InvitationStatus = (typeof InvitationStatus)[keyof typeof InvitationStatus]; + /** + *

    + * 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. + *

    + * @public + */ + CreatedBy?: string[] | undefined; -/** - * @public - */ -export interface GetEngagementInvitationResponse { /** - *

    The Amazon Resource Name (ARN) that identifies the engagement - * invitation.

    + *

    + * An array of strings representing AWS Account IDs. Use this to exclude engagements + * created by specific users. + *

    * @public */ - Arn?: string | undefined; + ExcludeCreatedBy?: string[] | undefined; /** - *

    The type of payload contained in the engagement invitation, indicating what data or context the payload covers.

    + *

    + * An object that specifies the sort order of the results. + *

    * @public */ - PayloadType?: EngagementInvitationPayloadType | undefined; + Sort?: EngagementSort | undefined; /** - *

    Unique identifier assigned to the engagement invitation being retrieved.

    + *

    + * The maximum number of results to return in a single call. + *

    * @public */ - Id: string | undefined; + MaxResults?: number | undefined; /** - *

    The title of the engagement invitation, summarizing the purpose or objectives of the opportunity shared by AWS.

    + *

    + * The token for the next set of results. This value is returned from a previous + * call. + *

    * @public */ - EngagementTitle?: string | undefined; + NextToken?: string | undefined; /** - *

    The current status of the engagement invitation.

    + *

    + * An array of strings representing engagement identifiers to retrieve. + *

    * @public */ - Status?: InvitationStatus | undefined; + EngagementIdentifier?: string[] | undefined; +} +/** + *

    + * An object that contains an Engagement's subset of fields. + *

    + * @public + */ +export interface EngagementSummary { /** - *

    The date when the engagement invitation was sent to the partner.

    + *

    + * The Amazon Resource Name (ARN) of the created engagement. + *

    * @public */ - InvitationDate?: Date | undefined; + Arn?: string | undefined; /** - *

    Indicates the date on which the engagement invitation will expire if not accepted by the partner.

    + *

    + * The unique identifier for the engagement. + *

    * @public */ - ExpirationDate?: Date | undefined; + Id?: string | undefined; /** - *

    Specifies the AWS Account ID of the sender, which identifies the AWS team responsible for sharing the engagement invitation.

    + *

    + * The title of the engagement. + *

    * @public */ - SenderAwsAccountId?: string | undefined; + Title?: string | undefined; /** - *

    The name of the AWS organization or team that sent the engagement invitation.

    + *

    + * The date and time when the engagement was created. + *

    * @public */ - SenderCompanyName?: string | undefined; + CreatedAt?: Date | undefined; /** - *

    Information about the partner organization or team that received the engagement invitation, including contact details and identifiers.

    + *

    + * The AWS account ID of the engagement creator. + *

    * @public */ - Receiver?: Receiver | undefined; + CreatedBy?: string | undefined; /** - *

    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.

    + *

    + * The number of members in the engagement. + *

    * @public */ - Catalog: string | undefined; + MemberCount?: number | undefined; +} +/** + * @public + */ +export interface ListEngagementsResponse { /** - *

    If the engagement invitation was rejected, this field specifies the reason provided by the partner for the rejection.

    + *

    + * An array of engagement summary objects. + *

    * @public */ - RejectionReason?: string | undefined; + EngagementSummaryList: EngagementSummary[] | undefined; /** - *

    Details of the engagement invitation payload, including specific data relevant to the invitation's contents, such as customer information and opportunity insights.

    + *

    + * The token to retrieve the next set of results. This field will be null if there are no + * more results. + *

    * @public */ - Payload?: Payload | undefined; + NextToken?: string | undefined; } /** * @public * @enum */ -export const ParticipantType = { - RECEIVER: "RECEIVER", +export const ListTasksSortName = { + START_TIME: "StartTime", } as const; /** * @public */ -export type ParticipantType = (typeof ParticipantType)[keyof typeof ParticipantType]; +export type ListTasksSortName = (typeof ListTasksSortName)[keyof typeof ListTasksSortName]; /** + *

    + * Defines the sorting parameters for listing tasks. This structure allows for specifying + * the field to sort by and the order of sorting. + *

    * @public - * @enum */ -export const OpportunityEngagementInvitationSortName = { - INVITATION_DATE: "InvitationDate", -} as const; +export interface ListTasksSortBase { + /** + *

    + * Determines the order in which the sorted results are presented. + *

    + * @public + */ + SortOrder: SortOrder | undefined; -/** - * @public - */ -export type OpportunityEngagementInvitationSortName = - (typeof OpportunityEngagementInvitationSortName)[keyof typeof OpportunityEngagementInvitationSortName]; + /** + *

    + * Specifies the field by which the task list should be sorted. + *

    + * @public + */ + SortBy: ListTasksSortName | undefined; +} /** * @public * @enum */ -export const SortOrder = { - ASCENDING: "ASCENDING", - DESCENDING: "DESCENDING", +export const TaskStatus = { + COMPLETE: "COMPLETE", + FAILED: "FAILED", + IN_PROGRESS: "IN_PROGRESS", } as const; /** * @public */ -export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder]; +export type TaskStatus = (typeof TaskStatus)[keyof typeof TaskStatus]; /** - *

    Defines sorting options for retrieving Engagement Invitations. Sorting can be done based on various criteria like the invitation date or status.

    * @public */ -export interface OpportunityEngagementInvitationSort { +export interface ListEngagementByAcceptingInvitationTasksRequest { /** - *

    Defines the order in which the Engagement Invitations are sorted. The values can be ASC (ascending) or DESC (descending).

    + *

    + * 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. + *

    * @public */ - SortOrder: SortOrder | undefined; + MaxResults?: number | undefined; /** - *

    Specifies the field by which the Engagement Invitations are sorted. Common values include InvitationDate and Status.

    + *

    + * 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. + *

    * @public */ - SortBy: OpportunityEngagementInvitationSortName | undefined; -} + NextToken?: string | undefined; -/** - * @public - */ -export interface ListEngagementInvitationsRequest { /** - *

    Specifies the catalog from which to list the engagement invitations. Use AWS for production invitations or Sandbox for testing environments.

    + *

    + * Specifies the sorting criteria for the returned results. This allows you to order the + * tasks based on specific attributes. + *

    * @public */ - Catalog: string | undefined; + Sort?: ListTasksSortBase | undefined; /** - *

    Specifies the maximum number of engagement invitations to return in the response. If more results are available, a pagination token will be provided.

    + *

    + * 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.

      + *
    • + *
    * @public */ - MaxResults?: number | undefined; + Catalog: string | undefined; /** - *

    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.

    + *

    + * Filters the tasks based on their current status. This allows you to focus on tasks in + * specific states. + *

    * @public */ - NextToken?: string | undefined; + TaskStatus?: TaskStatus[] | undefined; /** - *

    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.

    + *

    + * Filters tasks by the identifiers of the opportunities they created or are associated + * with. + *

    * @public */ - Sort?: OpportunityEngagementInvitationSort | undefined; + OpportunityIdentifier?: string[] | undefined; /** - *

    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.

    + *

    + * Filters tasks by the identifiers of the engagement invitations they are + * processing. + *

    * @public */ - PayloadType?: EngagementInvitationPayloadType[] | undefined; + EngagementInvitationIdentifier?: string[] | undefined; /** - *

    Specifies the type of participant for which to list engagement invitations. Identifies the role of the participant.

    + *

    + * Filters tasks by their unique identifiers. Use this when you want to retrieve + * information about specific tasks. + *

    * @public */ - ParticipantType: ParticipantType | undefined; + TaskIdentifier?: string[] | undefined; } /** - *

    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.

    * @public + * @enum */ -export interface EngagementInvitationSummary { - /** - *

    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.

    - * @public - */ - Arn?: string | undefined; +export const ReasonCode = { + ENGAGEMENT_ACCESS_DENIED: "EngagementAccessDenied", + ENGAGEMENT_CONFLICT: "EngagementConflict", + ENGAGEMENT_INVITATION_CONFLICT: "EngagementInvitationConflict", + ENGAGEMENT_VALIDATION_FAILED: "EngagementValidationFailed", + INTERNAL_ERROR: "InternalError", + INVITATION_ACCESS_DENIED: "InvitationAccessDenied", + INVITATION_VALIDATION_FAILED: "InvitationValidationFailed", + OPPORTUNITY_ACCESS_DENIED: "OpportunityAccessDenied", + OPPORTUNITY_CONFLICT: "OpportunityConflict", + OPPORTUNITY_SUBMISSION_FAILED: "OpportunitySubmissionFailed", + OPPORTUNITY_VALIDATION_FAILED: "OpportunityValidationFailed", + REQUEST_THROTTLED: "RequestThrottled", + RESOURCE_SNAPSHOT_ACCESS_DENIED: "ResourceSnapshotAccessDenied", + RESOURCE_SNAPSHOT_CONFLICT: "ResourceSnapshotConflict", + RESOURCE_SNAPSHOT_JOB_ACCESS_DENIED: "ResourceSnapshotJobAccessDenied", + RESOURCE_SNAPSHOT_JOB_CONFLICT: "ResourceSnapshotJobConflict", + RESOURCE_SNAPSHOT_JOB_VALIDATION_FAILED: "ResourceSnapshotJobValidationFailed", + RESOURCE_SNAPSHOT_VALIDATION_FAILED: "ResourceSnapshotValidationFailed", + SERVICE_QUOTA_EXCEEDED: "ServiceQuotaExceeded", +} as const; - /** - *

    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.

    - * @public - */ - PayloadType?: EngagementInvitationPayloadType | undefined; +/** + * @public + */ +export type ReasonCode = (typeof ReasonCode)[keyof typeof ReasonCode]; +/** + *

    + * Specifies a subset of fields associated with tasks related to accepting an engagement + * invitation. + *

    + * @public + */ +export interface ListEngagementByAcceptingInvitationTaskSummary { /** - *

    Represents the unique identifier of the Engagement Invitation. This identifier is used to track the invitation and to manage responses like acceptance or rejection.

    + *

    + * Unique identifier of the task. + *

    * @public */ - Id: string | undefined; + TaskId?: string | undefined; /** - *

    Provides a short title or description of the Engagement Invitation. This title helps partners quickly identify and differentiate between multiple engagement opportunities.

    + *

    + * The Amazon Resource Name (ARN) that uniquely identifies the task. + *

    * @public */ - EngagementTitle?: string | undefined; + TaskArn?: string | undefined; /** - *

    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.

    + *

    + * Task start timestamp. + *

    * @public */ - Status?: InvitationStatus | undefined; + StartTime?: Date | undefined; /** - *

    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.

    + *

    + * Status of the task. + *

    * @public */ - InvitationDate?: Date | undefined; + TaskStatus?: TaskStatus | undefined; /** - *

    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.

    + *

    + * Detailed message describing the failure and possible recovery steps. + *

    * @public */ - ExpirationDate?: Date | undefined; + Message?: string | undefined; /** - *

    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.

    + *

    + * A code pointing to the specific reason for the failure. + *

    * @public */ - SenderAwsAccountId?: string | undefined; + ReasonCode?: ReasonCode | undefined; /** - *

    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.

    + *

    + * Unique identifier of opportunity that was created. + *

    * @public */ - SenderCompanyName?: string | undefined; + OpportunityId?: string | undefined; /** - *

    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.

    + *

    + * Unique identifier of the resource snapshot job that was created. + *

    * @public */ - Receiver?: Receiver | undefined; + ResourceSnapshotJobId?: string | undefined; /** - *

    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.

    + *

    + * The unique identifier of the engagement invitation that was accepted. + *

    * @public */ - Catalog: string | undefined; + EngagementInvitationId?: string | undefined; } /** * @public */ -export interface ListEngagementInvitationsResponse { +export interface ListEngagementByAcceptingInvitationTasksResponse { /** - *

    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.

    + *

    + * 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. + *

    * @public */ - EngagementInvitationSummaries?: EngagementInvitationSummary[] | undefined; + TaskSummaries?: ListEngagementByAcceptingInvitationTaskSummary[] | undefined; /** - *

    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.

    + *

    + * 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. + *

    * @public */ NextToken?: string | undefined; @@ -2298,336 +2527,3019 @@ export interface ListEngagementInvitationsResponse { /** * @public */ -export interface RejectEngagementInvitationRequest { +export interface StartEngagementByAcceptingInvitationTaskRequest { /** - *

    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.

    + *

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

    * @public */ Catalog: string | undefined; /** - *

    This is the unique identifier of the rejected - * EngagementInvitation. Providing the correct identifier - * helps to ensure that the intended invitation is rejected.

    + *

    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.

    * @public */ - Identifier: string | undefined; + ClientToken?: string | undefined; /** - *

    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.

      - *
    • - *
    + *

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

    * @public */ - RejectionReason?: string | undefined; + Identifier: string | undefined; } /** - *

    An object that contains the customer's Account and Contact. - *

    * @public */ -export interface Customer { +export interface StartEngagementByAcceptingInvitationTaskResponse { /** - *

    An object that contains the customer's account details.

    + *

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

    * @public */ - Account?: Account | undefined; + TaskId?: string | undefined; /** - *

    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.

    + *

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

    * @public */ - Contacts?: Contact[] | undefined; -} - -/** - * @public - * @enum - */ -export const ClosedLostReason = { - CUSTOMER_DEFICIENCY: "Customer Deficiency", - CUSTOMER_EXPERIENCE: "Customer Experience", - DELAY_CANCELLATION_OF_PROJECT: "Delay / Cancellation of Project", - FINANCIALCOMMERCIAL: "Financial/Commercial", - LEGAL_TAX_REGULATORY: "Legal / Tax / Regulatory", - LOST_TO_COMPETITOR_GOOGLE: "Lost to Competitor - Google", - LOST_TO_COMPETITOR_MICROSOFT: "Lost to Competitor - Microsoft", - LOST_TO_COMPETITOR_OTHER: "Lost to Competitor - Other", - LOST_TO_COMPETITOR_SOFTLAYER: "Lost to Competitor - SoftLayer", - LOST_TO_COMPETITOR_VMWARE: "Lost to Competitor - VMWare", - NO_OPPORTUNITY: "No Opportunity", - ON_PREMISES_DEPLOYMENT: "On Premises Deployment", - OTHER: "Other", - PARTNER_GAP: "Partner Gap", - PEOPLERELATIONSHIPGOVERNANCE: "People/Relationship/Governance", - PRICE: "Price", - PRODUCTTECHNOLOGY: "Product/Technology", - SECURITY_COMPLIANCE: "Security / Compliance", - TECHNICAL_LIMITATIONS: "Technical Limitations", -} as const; - -/** - * @public - */ -export type ClosedLostReason = (typeof ClosedLostReason)[keyof typeof ClosedLostReason]; + TaskArn?: string | undefined; -/** - *

    Read-only; shows the last 50 values and change dates for the NextSteps field.

    - * @public - */ -export interface NextStepsHistory { /** - *

    Indicates the step's execution details.

    + *

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

    * @public */ - Value: string | undefined; + StartTime?: Date | undefined; /** - *

    Indicates the step execution time.

    + *

    Indicates the current status of the task.

    * @public */ - Time: Date | undefined; + TaskStatus?: TaskStatus | undefined; + + /** + *

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

    + * @public + */ + Message?: string | undefined; + + /** + *

    Indicates the reason for task failure using an enumerated code.

    + * @public + */ + ReasonCode?: ReasonCode | undefined; + + /** + *

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

    + * @public + */ + OpportunityId?: string | undefined; + + /** + *

    + * The identifier of the resource snapshot job created as part of this task. + *

    + * @public + */ + ResourceSnapshotJobId?: string | undefined; + + /** + *

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

    + * @public + */ + EngagementInvitationId?: string | undefined; +} + +/** + * @public + */ +export interface ListEngagementFromOpportunityTasksRequest { + /** + *

    + * 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. + *

    + * @public + */ + MaxResults?: number | undefined; + + /** + *

    + * 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. + *

    + * @public + */ + NextToken?: string | undefined; + + /** + *

    + * Specifies the sorting criteria for the returned results. This allows you to order the + * tasks based on specific attributes. + *

    + * @public + */ + Sort?: ListTasksSortBase | undefined; + + /** + *

    + * 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.

      + *
    • + *
    + * @public + */ + Catalog: string | undefined; + + /** + *

    + * Filters the tasks based on their current status. This allows you to focus on tasks in + * specific states. + *

    + * @public + */ + TaskStatus?: TaskStatus[] | undefined; + + /** + *

    + * Filters tasks by their unique identifiers. Use this when you want to retrieve + * information about specific tasks. + *

    + * @public + */ + TaskIdentifier?: string[] | undefined; + + /** + *

    + * The identifier of the original opportunity associated with this task. + *

    + * @public + */ + OpportunityIdentifier?: string[] | undefined; + + /** + *

    + * Filters tasks by the identifiers of the engagements they created or are associated + * with. + *

    + * @public + */ + EngagementIdentifier?: string[] | undefined; +} + +/** + *

    + * 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. + *

    + * @public + */ +export interface ListEngagementFromOpportunityTaskSummary { + /** + *

    + * A unique identifier for a specific task. + *

    + * @public + */ + TaskId?: string | undefined; + + /** + *

    + * 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. + *

    + * @public + */ + TaskArn?: string | undefined; + + /** + *

    + * The timestamp indicating when the task was initiated, in RFC 3339 5.6 date-time + * format. + *

    + * @public + */ + StartTime?: Date | undefined; + + /** + *

    + * The current status of the task. + *

    + * @public + */ + TaskStatus?: TaskStatus | undefined; + + /** + *

    + * 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 + *

    + * @public + */ + Message?: string | undefined; + + /** + *

    + * 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. + *

    + * @public + */ + ReasonCode?: ReasonCode | undefined; + + /** + *

    + * 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. + *

    + * @public + */ + OpportunityId?: string | undefined; + + /** + *

    + * The identifier of the resource snapshot job associated with this task, if a snapshot + * was created as part of the Engagement creation process. + *

    + * @public + */ + ResourceSnapshotJobId?: string | undefined; + + /** + *

    + * The unique identifier of the engagement created as a result of the task. This field is + * populated when the task is completed successfully. + *

    + * @public + */ + EngagementId?: string | undefined; + + /** + *

    + * The unique identifier of the engagement identifier created as a result of the task. This field is + * populated when the task is completed successfully. + *

    + * @public + */ + EngagementInvitationId?: string | undefined; +} + +/** + * @public + */ +export interface ListEngagementFromOpportunityTasksResponse { + /** + *

    + * TaskSummaries An array of TaskSummary objects containing details about each + * task. + *

    + * @public + */ + TaskSummaries?: ListEngagementFromOpportunityTaskSummary[] | undefined; + + /** + *

    + * 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. + *

    + * @public + */ + NextToken?: string | undefined; } /** * @public * @enum */ -export const ReviewStatus = { - ACTION_REQUIRED: "Action Required", - APPROVED: "Approved", - IN_REVIEW: "In review", - PENDING_SUBMISSION: "Pending Submission", - REJECTED: "Rejected", - SUBMITTED: "Submitted", +export const SalesInvolvementType = { + CO_SELL: "Co-Sell", + FOR_VISIBILITY_ONLY: "For Visibility Only", } as const; /** * @public */ -export type ReviewStatus = (typeof ReviewStatus)[keyof typeof ReviewStatus]; +export type SalesInvolvementType = (typeof SalesInvolvementType)[keyof typeof SalesInvolvementType]; /** * @public * @enum */ -export const Stage = { - BUSINESS_VALIDATION: "Business Validation", - CLOSED_LOST: "Closed Lost", - COMMITTED: "Committed", - LAUNCHED: "Launched", - PROSPECT: "Prospect", - QUALIFIED: "Qualified", - TECHNICAL_VALIDATION: "Technical Validation", +export const Visibility = { + FULL: "Full", + LIMITED: "Limited", } as const; /** * @public */ -export type Stage = (typeof Stage)[keyof typeof Stage]; +export type Visibility = (typeof Visibility)[keyof typeof Visibility]; + +/** + *

    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.

    + * @public + */ +export interface AwsSubmission { + /** + *

    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.

    + * @public + */ + InvolvementType: SalesInvolvementType | undefined; + + /** + *

    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.

    + * @public + */ + Visibility?: Visibility | undefined; +} + +/** + * @public + */ +export interface StartEngagementFromOpportunityTaskRequest { + /** + *

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

    + * @public + */ + Catalog: string | undefined; + + /** + *

    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.

    + * @public + */ + ClientToken?: string | undefined; + + /** + *

    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.

    + * @public + */ + Identifier: string | undefined; + + /** + *

    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.

    + * @public + */ + AwsSubmission: AwsSubmission | undefined; +} + +/** + * @public + */ +export interface StartEngagementFromOpportunityTaskResponse { + /** + *

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

    + * @public + */ + TaskId?: string | undefined; + + /** + *

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

    + * @public + */ + TaskArn?: string | undefined; + + /** + *

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

    + * @public + */ + StartTime?: Date | undefined; + + /** + *

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

    + * @public + */ + TaskStatus?: TaskStatus | undefined; + + /** + *

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

    + * @public + */ + Message?: string | undefined; + + /** + *

    Indicates the reason for task failure using an enumerated code.

    + * @public + */ + ReasonCode?: ReasonCode | undefined; + + /** + *

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

    + * @public + */ + OpportunityId?: string | undefined; + + /** + *

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

    + * @public + */ + ResourceSnapshotJobId?: string | undefined; + + /** + *

    + * The identifier of the newly created engagement. Only populated if TaskStatus is + * COMPLETE. + *

    + * @public + */ + EngagementId?: string | undefined; + + /** + *

    + * The identifier of the new engagement invitation. Only populated if TaskStatus is + * COMPLETE. + *

    + * @public + */ + EngagementInvitationId?: string | undefined; +} + +/** + *

    Contains details about the project associated with the Engagement Invitation, + * including the business problem and expected outcomes.

    + * @public + */ +export interface ProjectDetails { + /** + *

    Describes the business problem that the project aims to solve. This information is + * crucial for understanding the project’s goals and objectives.

    + * @public + */ + BusinessProblem: string | undefined; + + /** + *

    Specifies the title of the project. This title helps partners quickly identify and + * understand the focus of the project.

    + * @public + */ + Title: string | undefined; + + /** + *

    Specifies the estimated date of project completion. This field helps track the project + * timeline and manage expectations.

    + * @public + */ + TargetCompletionDate: string | undefined; + + /** + *

    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.

    + * @public + */ + ExpectedCustomerSpend: ExpectedCustomerSpend[] | undefined; +} + +/** + * @public + * @enum + */ +export const ReceiverResponsibility = { + CO_SELL_FACILITATOR: "Co-Sell Facilitator", + DISTRIBUTOR: "Distributor", + FACILITATOR: "Facilitator", + HARDWARE_PARTNER: "Hardware Partner", + MANAGED_SERVICE_PROVIDER: "Managed Service Provider", + RESELLER: "Reseller", + SERVICES_PARTNER: "Services Partner", + SOFTWARE_PARTNER: "Software Partner", + TRAINING_PARTNER: "Training Partner", +} as const; + +/** + * @public + */ +export type ReceiverResponsibility = (typeof ReceiverResponsibility)[keyof typeof ReceiverResponsibility]; + +/** + *

    An object that contains the details of the sender-provided contact person for the + * EngagementInvitation.

    + * @public + */ +export interface SenderContact { + /** + *

    The sender-provided contact's email address associated with the + * EngagementInvitation.

    + * @public + */ + Email: string | undefined; + + /** + *

    The sender-provided contact's last name associated with the + * EngagementInvitation.

    + * @public + */ + FirstName?: string | undefined; + + /** + *

    The sender-provided contact's first name associated with the + * EngagementInvitation.

    + * @public + */ + LastName?: string | undefined; + + /** + *

    The sender-provided contact's title (job title or role) associated with the + * EngagementInvitation.

    + * @public + */ + BusinessTitle?: string | undefined; + + /** + *

    The sender-provided contact's phone number associated with the + * EngagementInvitation.

    + * @public + */ + Phone?: string | undefined; +} + +/** + *

    Represents the data payload of an Engagement Invitation for a specific opportunity. + * This contains detailed information that partners use to evaluate the engagement.

    + * @public + */ +export interface OpportunityInvitationPayload { + /** + *

    Represents the contact details of the AWS representatives involved in sending the + * Engagement Invitation. These contacts are opportunity stakeholders.

    + * @public + */ + SenderContacts?: SenderContact[] | undefined; + + /** + *

    Outlines the responsibilities or expectations of the receiver in the context of the + * invitation.

    + * @public + */ + ReceiverResponsibilities: ReceiverResponsibility[] | undefined; + + /** + *

    Contains information about the customer related to the opportunity in the Engagement + * Invitation. This data helps partners understand the customer’s profile and + * requirements.

    + * @public + */ + Customer: EngagementCustomer | undefined; + + /** + *

    Describes the project details associated with the opportunity, including the + * customer’s needs and the scope of work expected to be performed.

    + * @public + */ + Project: ProjectDetails | undefined; +} + +/** + *

    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.

    + * @public + */ +export type Payload = Payload.OpportunityInvitationMember | Payload.$UnknownMember; + +/** + * @public + */ +export namespace Payload { + /** + *

    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.

    + * @public + */ + export interface OpportunityInvitationMember { + OpportunityInvitation: OpportunityInvitationPayload; + $unknown?: never; + } + + /** + * @public + */ + export interface $UnknownMember { + OpportunityInvitation?: never; + $unknown: [string, any]; + } + + export interface Visitor { + OpportunityInvitation: (value: OpportunityInvitationPayload) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: Payload, visitor: Visitor): T => { + if (value.OpportunityInvitation !== undefined) return visitor.OpportunityInvitation(value.OpportunityInvitation); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; +} + +/** + *

    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.

    + * @public + */ +export type Receiver = Receiver.AccountMember | Receiver.$UnknownMember; + +/** + * @public + */ +export namespace Receiver { + /** + *

    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.

    + * @public + */ + export interface AccountMember { + Account: AccountReceiver; + $unknown?: never; + } + + /** + * @public + */ + export interface $UnknownMember { + Account?: never; + $unknown: [string, any]; + } + + export interface Visitor { + Account: (value: AccountReceiver) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: Receiver, visitor: Visitor): T => { + if (value.Account !== undefined) return visitor.Account(value.Account); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; +} + +/** + *

    + * The Invitation structure represents an invitation exchanged between partners and AWS. + * It includes a message, receiver information, and a payload providing context for the + * invitation. + *

    + * @public + */ +export interface Invitation { + /** + *

    + * A message accompanying the invitation. + *

    + * @public + */ + Message: string | undefined; + + /** + *

    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.

    + * @public + */ + Receiver: Receiver | undefined; + + /** + *

    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.

    + * @public + */ + Payload: Payload | undefined; +} + +/** + * @public + */ +export interface CreateEngagementInvitationRequest { + /** + *

    + * Specifies the catalog related to the engagement. + * Accepted values are AWS and Sandbox, + * which determine the environment in which the engagement is managed. + *

    + * @public + */ + Catalog: string | undefined; + + /** + *

    + * Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. + * This token helps prevent duplicate invitation creations. + *

    + * @public + */ + ClientToken?: string | undefined; + + /** + *

    + * The unique identifier of the Engagement associated with the invitation. + * This parameter ensures the invitation is created within the correct Engagement context. + *

    + * @public + */ + EngagementIdentifier: string | undefined; + + /** + *

    + * 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.

    + * @public + */ + Invitation: Invitation | undefined; +} + +/** + * @public + */ +export interface CreateEngagementInvitationResponse { + /** + *

    + * Unique identifier assigned to the newly created engagement invitation. + *

    + * @public + */ + Id: string | undefined; + + /** + *

    + * The Amazon Resource Name (ARN) that uniquely identifies the engagement + * invitation. + *

    + * @public + */ + Arn: string | undefined; +} + +/** + * @public + */ +export interface GetEngagementInvitationRequest { + /** + *

    Specifies the catalog associated with the request. The field accepts values from the + * predefined set: AWS for live operations or Sandbox for testing + * environments.

    + * @public + */ + Catalog: string | undefined; + + /** + *

    Specifies the unique identifier for the retrieved engagement invitation.

    + * @public + */ + Identifier: string | undefined; +} + +/** + *

    + * 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. + *

    + * @public + */ +export interface EngagementMemberSummary { + /** + *

    + * The official name of the member's company or organization. + *

    + * @public + */ + CompanyName?: string | undefined; + + /** + *

    + * 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. + *

    + * @public + */ + WebsiteUrl?: string | undefined; +} + +/** + * @public + * @enum + */ +export const EngagementInvitationPayloadType = { + OPPORTUNITY_INVITATION: "OpportunityInvitation", +} as const; + +/** + * @public + */ +export type EngagementInvitationPayloadType = + (typeof EngagementInvitationPayloadType)[keyof typeof EngagementInvitationPayloadType]; + +/** + * @public + * @enum + */ +export const InvitationStatus = { + ACCEPTED: "ACCEPTED", + EXPIRED: "EXPIRED", + PENDING: "PENDING", + REJECTED: "REJECTED", +} as const; + +/** + * @public + */ +export type InvitationStatus = (typeof InvitationStatus)[keyof typeof InvitationStatus]; + +/** + * @public + */ +export interface GetEngagementInvitationResponse { + /** + *

    The Amazon Resource Name (ARN) that identifies the engagement invitation.

    + * @public + */ + Arn?: string | undefined; + + /** + *

    The type of payload contained in the engagement invitation, indicating what data or + * context the payload covers.

    + * @public + */ + PayloadType?: EngagementInvitationPayloadType | undefined; + + /** + *

    Unique identifier assigned to the engagement invitation being retrieved.

    + * @public + */ + Id: string | undefined; + + /** + *

    + * The identifier of the engagement associated with this invitation.This ID links the + * invitation to its corresponding engagement. + *

    + * @public + */ + EngagementId?: string | undefined; + + /** + *

    The title of the engagement invitation, summarizing the purpose or objectives of the + * opportunity shared by AWS.

    + * @public + */ + EngagementTitle?: string | undefined; + + /** + *

    The current status of the engagement invitation.

    + * @public + */ + Status?: InvitationStatus | undefined; + + /** + *

    The date when the engagement invitation was sent to the partner.

    + * @public + */ + InvitationDate?: Date | undefined; + + /** + *

    Indicates the date on which the engagement invitation will expire if not accepted by + * the partner.

    + * @public + */ + ExpirationDate?: Date | undefined; + + /** + *

    Specifies the AWS Account ID of the sender, which identifies the AWS team responsible + * for sharing the engagement invitation.

    + * @public + */ + SenderAwsAccountId?: string | undefined; + + /** + *

    The name of the AWS organization or team that sent the engagement invitation.

    + * @public + */ + SenderCompanyName?: string | undefined; + + /** + *

    Information about the partner organization or team that received the engagement + * invitation, including contact details and identifiers.

    + * @public + */ + Receiver?: Receiver | undefined; + + /** + *

    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.

    + * @public + */ + Catalog: string | undefined; + + /** + *

    If the engagement invitation was rejected, this field specifies the reason provided by + * the partner for the rejection.

    + * @public + */ + RejectionReason?: string | undefined; + + /** + *

    Details of the engagement invitation payload, including specific data relevant to the + * invitation's contents, such as customer information and opportunity insights.

    + * @public + */ + Payload?: Payload | undefined; + + /** + *

    + * The message sent to the invited partner when the invitation was created. + *

    + * @public + */ + InvitationMessage?: string | undefined; + + /** + *

    + * The description of the engagement associated with this invitation. + *

    + * @public + */ + EngagementDescription?: string | undefined; + + /** + *

    + * 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. + *

      + *
    • + *
    + * @public + */ + ExistingMembers?: EngagementMemberSummary[] | undefined; +} + +/** + * @public + * @enum + */ +export const ParticipantType = { + RECEIVER: "RECEIVER", + SENDER: "SENDER", +} as const; + +/** + * @public + */ +export type ParticipantType = (typeof ParticipantType)[keyof typeof ParticipantType]; + +/** + * @public + * @enum + */ +export const OpportunityEngagementInvitationSortName = { + INVITATION_DATE: "InvitationDate", +} as const; + +/** + * @public + */ +export type OpportunityEngagementInvitationSortName = + (typeof OpportunityEngagementInvitationSortName)[keyof typeof OpportunityEngagementInvitationSortName]; + +/** + *

    Defines sorting options for retrieving Engagement Invitations. Sorting can be done + * based on various criteria like the invitation date or status.

    + * @public + */ +export interface OpportunityEngagementInvitationSort { + /** + *

    Defines the order in which the Engagement Invitations are sorted. The values can be + * ASC (ascending) or DESC (descending).

    + * @public + */ + SortOrder: SortOrder | undefined; + + /** + *

    Specifies the field by which the Engagement Invitations are sorted. Common values + * include InvitationDate and Status.

    + * @public + */ + SortBy: OpportunityEngagementInvitationSortName | undefined; +} + +/** + * @public + */ +export interface ListEngagementInvitationsRequest { + /** + *

    Specifies the catalog from which to list the engagement invitations. Use + * AWS for production invitations or Sandbox for testing + * environments.

    + * @public + */ + Catalog: string | undefined; + + /** + *

    Specifies the maximum number of engagement invitations to return in the response. If + * more results are available, a pagination token will be provided.

    + * @public + */ + MaxResults?: number | undefined; + + /** + *

    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.

    + * @public + */ + NextToken?: string | undefined; + + /** + *

    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.

    + * @public + */ + Sort?: OpportunityEngagementInvitationSort | undefined; + + /** + *

    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.

    + * @public + */ + PayloadType?: EngagementInvitationPayloadType[] | undefined; + + /** + *

    Specifies the type of participant for which to list engagement invitations. Identifies + * the role of the participant.

    + * @public + */ + ParticipantType: ParticipantType | undefined; + + /** + *

    + * Status values to filter the invitations. + *

    + * @public + */ + Status?: InvitationStatus[] | undefined; + + /** + *

    + * 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. + *

    + * @public + */ + EngagementIdentifier?: string[] | undefined; + + /** + *

    + * List of sender AWS account IDs to filter the invitations. + *

    + * @public + */ + SenderAwsAccountId?: string[] | undefined; +} + +/** + *

    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.

    + * @public + */ +export interface EngagementInvitationSummary { + /** + *

    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.

    + * @public + */ + Arn?: string | undefined; + + /** + *

    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.

    + * @public + */ + PayloadType?: EngagementInvitationPayloadType | undefined; + + /** + *

    Represents the unique identifier of the Engagement Invitation. This identifier is used + * to track the invitation and to manage responses like acceptance or rejection.

    + * @public + */ + Id: string | undefined; + + /** + *

    + * The identifier of the Engagement associated with this invitation. This links the + * invitation to its parent Engagement. + *

    + * @public + */ + EngagementId?: string | undefined; + + /** + *

    Provides a short title or description of the Engagement Invitation. This title helps + * partners quickly identify and differentiate between multiple engagement + * opportunities.

    + * @public + */ + EngagementTitle?: string | undefined; + + /** + *

    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.

    + * @public + */ + Status?: InvitationStatus | undefined; + + /** + *

    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.

    + * @public + */ + InvitationDate?: Date | undefined; + + /** + *

    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.

    + * @public + */ + ExpirationDate?: Date | undefined; + + /** + *

    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.

    + * @public + */ + SenderAwsAccountId?: string | undefined; + + /** + *

    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.

    + * @public + */ + SenderCompanyName?: string | undefined; + + /** + *

    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.

    + * @public + */ + Receiver?: Receiver | undefined; + + /** + *

    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.

    + * @public + */ + Catalog: string | undefined; + + /** + *

    Identifies the role of the caller in the engagement invitation.

    + * @public + */ + ParticipantType?: ParticipantType | undefined; +} + +/** + * @public + */ +export interface ListEngagementInvitationsResponse { + /** + *

    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.

    + * @public + */ + EngagementInvitationSummaries?: EngagementInvitationSummary[] | undefined; + + /** + *

    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.

    + * @public + */ + NextToken?: string | undefined; +} + +/** + * @public + */ +export interface RejectEngagementInvitationRequest { + /** + *

    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.

    + * @public + */ + Catalog: string | undefined; + + /** + *

    This is the unique identifier of the rejected EngagementInvitation. + * Providing the correct identifier helps to ensure that the intended invitation is + * rejected.

    + * @public + */ + Identifier: string | undefined; + + /** + *

    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.

      + *
    • + *
    + * @public + */ + RejectionReason?: string | undefined; +} + +/** + *

    An object that contains the customer's Account and + * Contact.

    + * @public + */ +export interface Customer { + /** + *

    An object that contains the customer's account details.

    + * @public + */ + Account?: Account | undefined; + + /** + *

    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.

    + * @public + */ + Contacts?: Contact[] | undefined; +} + +/** + * @public + * @enum + */ +export const ClosedLostReason = { + CUSTOMER_DEFICIENCY: "Customer Deficiency", + CUSTOMER_EXPERIENCE: "Customer Experience", + DELAY_CANCELLATION_OF_PROJECT: "Delay / Cancellation of Project", + FINANCIALCOMMERCIAL: "Financial/Commercial", + LEGAL_TAX_REGULATORY: "Legal / Tax / Regulatory", + LOST_TO_COMPETITOR_GOOGLE: "Lost to Competitor - Google", + LOST_TO_COMPETITOR_MICROSOFT: "Lost to Competitor - Microsoft", + LOST_TO_COMPETITOR_OTHER: "Lost to Competitor - Other", + LOST_TO_COMPETITOR_SOFTLAYER: "Lost to Competitor - SoftLayer", + LOST_TO_COMPETITOR_VMWARE: "Lost to Competitor - VMWare", + NO_OPPORTUNITY: "No Opportunity", + ON_PREMISES_DEPLOYMENT: "On Premises Deployment", + OTHER: "Other", + PARTNER_GAP: "Partner Gap", + PEOPLERELATIONSHIPGOVERNANCE: "People/Relationship/Governance", + PRICE: "Price", + PRODUCTTECHNOLOGY: "Product/Technology", + SECURITY_COMPLIANCE: "Security / Compliance", + TECHNICAL_LIMITATIONS: "Technical Limitations", +} as const; + +/** + * @public + */ +export type ClosedLostReason = (typeof ClosedLostReason)[keyof typeof ClosedLostReason]; + +/** + *

    Read-only; shows the last 50 values and change dates for the NextSteps + * field.

    + * @public + */ +export interface NextStepsHistory { + /** + *

    Indicates the step's execution details.

    + * @public + */ + Value: string | undefined; + + /** + *

    Indicates the step execution time.

    + * @public + */ + Time: Date | undefined; +} + +/** + * @public + * @enum + */ +export const ReviewStatus = { + ACTION_REQUIRED: "Action Required", + APPROVED: "Approved", + IN_REVIEW: "In review", + PENDING_SUBMISSION: "Pending Submission", + REJECTED: "Rejected", + SUBMITTED: "Submitted", +} as const; + +/** + * @public + */ +export type ReviewStatus = (typeof ReviewStatus)[keyof typeof ReviewStatus]; + +/** + * @public + * @enum + */ +export const Stage = { + BUSINESS_VALIDATION: "Business Validation", + CLOSED_LOST: "Closed Lost", + COMMITTED: "Committed", + LAUNCHED: "Launched", + PROSPECT: "Prospect", + QUALIFIED: "Qualified", + TECHNICAL_VALIDATION: "Technical Validation", +} as const; + +/** + * @public + */ +export type Stage = (typeof Stage)[keyof typeof Stage]; + +/** + *

    An object that contains the Opportunity lifecycle's details.

    + * @public + */ +export interface LifeCycle { + /** + *

    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.

    + * + *

    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.

      + *
    • + *
    + * @public + */ + Stage?: Stage | undefined; + + /** + *

    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.

      + *
    • + *
    + * @public + */ + ClosedLostReason?: ClosedLostReason | undefined; + + /** + *

    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.

    + * @public + */ + NextSteps?: string | undefined; + + /** + *

    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.

    + * @public + */ + TargetCloseDate?: string | undefined; + + /** + *

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

      + *
    • + *
    + * @public + */ + ReviewStatus?: ReviewStatus | undefined; + + /** + *

    Indicates why an opportunity was sent back for further details. Partners must take + * corrective action based on the ReviewComments.

    + * @public + */ + ReviewComments?: string | undefined; + + /** + *

    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.

    + * @public + */ + ReviewStatusReason?: string | undefined; + + /** + *

    Captures a chronological record of the next steps or actions planned or taken for the + * current opportunity, along with the timestamp.

    + * @public + */ + NextStepsHistory?: NextStepsHistory[] | undefined; +} + +/** + * @public + * @enum + */ +export const Channel = { + AWS_MARKETING_CENTRAL: "AWS Marketing Central", + CONTENT_SYNDICATION: "Content Syndication", + DISPLAY: "Display", + EMAIL: "Email", + LIVE_EVENT: "Live Event", + OUT_OF_HOME: "Out Of Home (OOH)", + PRINT: "Print", + SEARCH: "Search", + SOCIAL: "Social", + TELEMARKETING: "Telemarketing", + TV: "TV", + VIDEO: "Video", + VIRTUAL_EVENT: "Virtual Event", +} as const; + +/** + * @public + */ +export type Channel = (typeof Channel)[keyof typeof Channel]; + +/** + * @public + * @enum + */ +export const MarketingSource = { + MARKETING_ACTIVITY: "Marketing Activity", + NONE: "None", +} as const; + +/** + * @public + */ +export type MarketingSource = (typeof MarketingSource)[keyof typeof MarketingSource]; + +/** + *

    An object that contains marketing details for the Opportunity.

    + * @public + */ +export interface Marketing { + /** + *

    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.

    + * @public + */ + CampaignName?: string | undefined; + + /** + *

    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.

    + * @public + */ + Source?: MarketingSource | undefined; + + /** + *

    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 + *

    + * @public + */ + UseCases?: string[] | undefined; + + /** + *

    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.

    + * @public + */ + Channels?: Channel[] | undefined; + + /** + *

    Indicates if the Opportunity is a marketing development fund (MDF) funded + * activity.

    + * @public + */ + AwsFundingUsed?: AwsFundingUsed | undefined; +} + +/** + * @public + * @enum + */ +export const NationalSecurity = { + NO: "No", + YES: "Yes", +} as const; + +/** + * @public + */ +export type NationalSecurity = (typeof NationalSecurity)[keyof typeof NationalSecurity]; + +/** + * @public + * @enum + */ +export const OpportunityType = { + EXPANSION: "Expansion", + FLAT_RENEWAL: "Flat Renewal", + NET_NEW_BUSINESS: "Net New Business", +} as const; + +/** + * @public + */ +export type OpportunityType = (typeof OpportunityType)[keyof typeof OpportunityType]; + +/** + * @public + * @enum + */ +export const OpportunityOrigin = { + AWS_REFERRAL: "AWS Referral", + PARTNER_REFERRAL: "Partner Referral", +} as const; + +/** + * @public + */ +export type OpportunityOrigin = (typeof OpportunityOrigin)[keyof typeof OpportunityOrigin]; + +/** + * @public + * @enum + */ +export const PrimaryNeedFromAws = { + CO_SELL_ARCHITECTURAL_VALIDATION: "Co-Sell - Architectural Validation", + CO_SELL_BUSINESS_PRESENTATION: "Co-Sell - Business Presentation", + CO_SELL_COMPETITIVE_INFORMATION: "Co-Sell - Competitive Information", + CO_SELL_DEAL_SUPPORT: "Co-Sell - Deal Support", + CO_SELL_PRICING_ASSISTANCE: "Co-Sell - Pricing Assistance", + CO_SELL_SUPPORT_FOR_PUBLIC_TENDER_RFX: "Co-Sell - Support for Public Tender / RFx", + CO_SELL_TECHNICAL_CONSULTATION: "Co-Sell - Technical Consultation", + CO_SELL_TOTAL_COST_OF_OWNERSHIP_EVALUATION: "Co-Sell - Total Cost of Ownership Evaluation", +} as const; + +/** + * @public + */ +export type PrimaryNeedFromAws = (typeof PrimaryNeedFromAws)[keyof typeof PrimaryNeedFromAws]; + +/** + * @public + * @enum + */ +export const CompetitorName = { + AKAMAI: "Akamai", + ALICLOUD: "AliCloud", + CO_LOCATION: "Co-location", + GOOGLE_CLOUD_PLATFORM: "Google Cloud Platform", + IBM_SOFTLAYER: "IBM Softlayer", + MICROSOFT_AZURE: "Microsoft Azure", + NO_COMPETITION: "No Competition", + ON_PREM: "On-Prem", + ORACLE_CLOUD: "Oracle Cloud", + OTHER: "*Other", + OTHER_COST_OPTIMIZATION: "Other- Cost Optimization", +} as const; + +/** + * @public + */ +export type CompetitorName = (typeof CompetitorName)[keyof typeof CompetitorName]; + +/** + * @public + * @enum + */ +export const DeliveryModel = { + BYOL_OR_AMI: "BYOL or AMI", + MANAGED_SERVICES: "Managed Services", + OTHER: "Other", + PROFESSIONAL_SERVICES: "Professional Services", + RESELL: "Resell", + SAAS_OR_PAAS: "SaaS or PaaS", +} as const; + +/** + * @public + */ +export type DeliveryModel = (typeof DeliveryModel)[keyof typeof DeliveryModel]; + +/** + * @public + * @enum + */ +export const SalesActivity = { + AGREED_ON_SOLUTION_TO_BUSINESS_PROBLEM: "Agreed on solution to Business Problem", + COMPLETED_ACTION_PLAN: "Completed Action Plan", + CONDUCTED_POC_DEMO: "Conducted POC / Demo", + CUSTOMER_HAS_SHOWN_INTEREST: "Customer has shown interest in solution", + FINALIZED_DEPLOYMENT_NEEDS: "Finalized Deployment Need", + INITIALIZED_DISCUSSIONS_WITH_CUSTOMER: "Initialized discussions with customer", + IN_EVALUATION_PLANNING_STAGE: "In evaluation / planning stage", + SOW_SIGNED: "SOW Signed", +} as const; + +/** + * @public + */ +export type SalesActivity = (typeof SalesActivity)[keyof typeof SalesActivity]; + +/** + *

    An object that contains the Opportunity's project details.

    + * @public + */ +export interface Project { + /** + *

    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.

      + *
    • + *
    + * @public + */ + DeliveryModels?: DeliveryModel[] | undefined; + + /** + *

    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.

    + * @public + */ + ExpectedCustomerSpend?: ExpectedCustomerSpend[] | undefined; + + /** + *

    Specifies the Opportunity's title or name.

    + * @public + */ + Title?: string | undefined; + + /** + *

    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 + *

    + * @public + */ + ApnPrograms?: string[] | undefined; + + /** + *

    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.

    + * @public + */ + CustomerBusinessProblem?: string | undefined; + + /** + *

    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 + *

    + * @public + */ + CustomerUseCase?: string | undefined; + + /** + *

    Specifies the current opportunity's parent opportunity identifier.

    + * @public + */ + RelatedOpportunityIdentifier?: string | undefined; + + /** + *

    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.

      + *
    • + *
    + * @public + */ + SalesActivities?: SalesActivity[] | undefined; + + /** + *

    Name of the Opportunity's competitor (if any). Use Other to + * submit a value not in the picklist.

    + * @public + */ + CompetitorName?: CompetitorName | undefined; + + /** + *

    Only allowed when CompetitorNames has Other selected.

    + * @public + */ + OtherCompetitorNames?: string | undefined; + + /** + *

    Specifies the offered solution for the customer's business problem when the + * RelatedEntityIdentifiers.Solutions field value is Other.

    + * @public + */ + OtherSolutionDescription?: string | undefined; + + /** + *

    Captures additional comments or information for the Opportunity that + * weren't captured in other fields.

    + * @public + */ + AdditionalComments?: string | undefined; +} + +/** + * @public + * @enum + */ +export const RevenueModel = { + CONTRACT: "Contract", + PAY_AS_YOU_GO: "Pay-as-you-go", + SUBSCRIPTION: "Subscription", +} as const; + +/** + * @public + */ +export type RevenueModel = (typeof RevenueModel)[keyof typeof RevenueModel]; + +/** + *

    Specifies payments details.

    + * @public + */ +export interface MonetaryValue { + /** + *

    Specifies the payment amount.

    + * @public + */ + Amount: string | undefined; + + /** + *

    Specifies the payment currency.

    + * @public + */ + CurrencyCode: CurrencyCode | undefined; +} + +/** + *

    Specifies a customer's procurement terms details. Required only for partners in + * eligible programs.

    + * @public + */ +export interface SoftwareRevenue { + /** + *

    Specifies the customer's intended payment type agreement or procurement method to + * acquire the solution or service outlined in the Opportunity.

    + * @public + */ + DeliveryModel?: RevenueModel | undefined; + + /** + *

    Specifies the payment value (amount and currency).

    + * @public + */ + Value?: MonetaryValue | undefined; + + /** + *

    Specifies the Opportunity's customer engagement start date for the + * contract's effectiveness.

    + * @public + */ + EffectiveDate?: string | undefined; + + /** + *

    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.

    + * @public + */ + ExpirationDate?: string | undefined; +} + +/** + * @public + */ +export interface CreateOpportunityRequest { + /** + *

    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.

    + * @public + */ + Catalog: string | undefined; + + /** + *

    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.

      + *
    • + *
    • + *

      Do Not Need Support from AWS Sales Rep: Indicates that a partner doesn't need + * support from an Amazon Web Services sales representative, and the partner solely + * manages the opportunity. It's possible to request coselling support on these + * opportunities at any stage during their lifecycles. This is also known as a + * for-visibility-only (FVO) opportunity.

      + *
    • + *
    + * @public + */ + PrimaryNeedsFromAws?: PrimaryNeedFromAws[] | undefined; + + /** + *

    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.

    + * @public + */ + NationalSecurity?: NationalSecurity | undefined; + + /** + *

    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.

    + * @public + */ + PartnerOpportunityIdentifier?: string | undefined; + + /** + *

    Specifies customer details associated with the Opportunity.

    + * @public + */ + Customer?: Customer | undefined; + + /** + *

    An object that contains project details for the Opportunity.

    + * @public + */ + Project?: Project | undefined; + + /** + *

    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.

      + *
    • + *
    + * @public + */ + OpportunityType?: OpportunityType | undefined; + + /** + *

    This object contains marketing details and is optional for an opportunity.

    + * @public + */ + Marketing?: Marketing | undefined; + + /** + *

    Specifies details of a customer's procurement terms. This is required only for + * partners in eligible programs.

    + * @public + */ + SoftwareRevenue?: SoftwareRevenue | undefined; + + /** + *

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

    + * @public + */ + ClientToken?: string | undefined; + + /** + *

    An object that contains lifecycle details for the Opportunity.

    + * @public + */ + LifeCycle?: LifeCycle | undefined; + + /** + *

    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.

    + * @public + */ + Origin?: OpportunityOrigin | undefined; + + /** + *

    Represents the internal team handling the opportunity. Specify collaborating members + * of this opportunity who are within the partner's organization.

    + * @public + */ + OpportunityTeam?: Contact[] | undefined; +} + +/** + * @public + */ +export interface CreateOpportunityResponse { + /** + *

    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.

    + * @public + */ + Id: string | undefined; + + /** + *

    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.

    + * @public + */ + PartnerOpportunityIdentifier?: string | undefined; + + /** + *

    + * DateTime when the opportunity was last modified. When the + * Opportunity is created, its value is CreatedDate.

    + * @public + */ + LastModifiedDate?: Date | undefined; +} + +/** + * @public + */ +export interface DisassociateOpportunityRequest { + /** + *

    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.

    + * @public + */ + Catalog: string | undefined; + + /** + *

    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.

    + * @public + */ + OpportunityIdentifier: string | undefined; + + /** + *

    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.

    + * @public + */ + RelatedEntityType: RelatedEntityType | undefined; + + /** + *

    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.

    + * @public + */ + RelatedEntityIdentifier: string | undefined; +} + +/** + * @public + */ +export interface GetAwsOpportunitySummaryRequest { + /** + *

    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.

    + * @public + */ + Catalog: string | undefined; + + /** + *

    The unique identifier for the related partner opportunity. Use this field to correlate + * an AWS opportunity with its corresponding partner opportunity.

    + * @public + */ + RelatedOpportunityIdentifier: string | undefined; +} + +/** + * @public + * @enum + */ +export const InvolvementTypeChangeReason = { + CHANGE_IN_DEAL_INFORMATION: "Change in Deal Information", + CUSTOMER_REQUESTED: "Customer Requested", + EXPANSION_OPPORTUNITY: "Expansion Opportunity", + RISK_MITIGATION: "Risk Mitigation", + TECHNICAL_COMPLEXITY: "Technical Complexity", +} as const; + +/** + * @public + */ +export type InvolvementTypeChangeReason = + (typeof InvolvementTypeChangeReason)[keyof typeof InvolvementTypeChangeReason]; + +/** + * @public + */ +export interface GetAwsOpportunitySummaryResponse { + /** + *

    Specifies the catalog in which the AWS Opportunity exists. This is the environment + * (e.g., AWS or Sandbox) where the opportunity is being + * managed.

    + * @public + */ + Catalog: string | undefined; + + /** + *

    Provides the unique identifier of the related partner opportunity, allowing partners + * to link the AWS Opportunity to their corresponding opportunity in their CRM + * system.

    + * @public + */ + RelatedOpportunityId?: string | undefined; + + /** + *

    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.

    + * @public + */ + Origin?: OpportunityOrigin | undefined; + + /** + *

    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.

    + * @public + */ + InvolvementType?: SalesInvolvementType | undefined; + + /** + *

    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.

    + * @public + */ + Visibility?: Visibility | undefined; + + /** + *

    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.

    + * @public + */ + LifeCycle?: AwsOpportunityLifeCycle | undefined; + + /** + *

    Details the AWS opportunity team, including members involved. This information helps + * partners know who from AWS is engaged and what their role is.

    + * @public + */ + OpportunityTeam?: AwsTeamMember[] | undefined; + + /** + *

    Provides insights into the AWS Opportunity, including engagement score and recommended + * actions that AWS suggests for the partner.

    + * @public + */ + Insights?: AwsOpportunityInsights | undefined; + + /** + *

    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.

    + * @public + */ + InvolvementTypeChangeReason?: InvolvementTypeChangeReason | undefined; + + /** + *

    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.

    + * @public + */ + RelatedEntityIds?: AwsOpportunityRelatedEntities | undefined; + + /** + *

    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.

    + * @public + */ + Customer?: AwsOpportunityCustomer | undefined; + + /** + *

    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.

    + * @public + */ + Project?: AwsOpportunityProject | undefined; +} + +/** + * @public + */ +export interface GetOpportunityRequest { + /** + *

    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.

    + * @public + */ + Catalog: string | undefined; + + /** + *

    Read-only, system generated Opportunity unique identifier.

    + * @public + */ + Identifier: string | undefined; +} + +/** + *

    This field provides the associations' information for other entities with the + * opportunity. These entities include identifiers for AWSProducts, + * Partner Solutions, and AWSMarketplaceOffers.

    + * @public + */ +export interface RelatedEntityIdentifiers { + /** + *

    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.

    + * @public + */ + AwsMarketplaceOffers?: string[] | undefined; + + /** + *

    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.

    + * @public + */ + Solutions?: string[] | undefined; + + /** + *

    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.

    + * @public + */ + AwsProducts?: string[] | undefined; +} /** - *

    An object that contains the Opportunity lifecycle's details. - *

    * @public */ -export interface LifeCycle { +export interface GetOpportunityResponse { /** - *

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

    - * - *

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

      - *
    • - *
    + *

    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.

    * @public */ - Stage?: Stage | undefined; + Catalog: string | undefined; /** - *

    - * 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: - *

    + *

    Identifies the type of support the partner needs from Amazon Web Services.

    + *

    Valid values:

    *
      *
    • - *

      Customer Deficiency: The customer lacked necessary resources or capabilities.

      + *

      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.

      *
    • *
    • - *

      Delay/Cancellation of Project: The project was delayed or canceled.

      + *

      Cosell—Business Presentation: Request Amazon Web Services seller's + * participation in a joint customer presentation.

      *
    • *
    • - *

      Legal/Tax/Regulatory: Legal, tax, or regulatory issues prevented progress.

      + *

      Cosell—Competitive Information: Access to Amazon Web Services competitive + * resources and support for the partner's proposed solution.

      *
    • *
    • - *

      Lost to Competitor—Google: The opportunity was lost to Google.

      + *

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

      *
    • *
    • - *

      Lost to Competitor—Microsoft: The opportunity was lost to Microsoft.

      + *

      Cosell—Technical Consultation: Connect with an Amazon Web Services Solutions + * Architect to address the partner's questions about the proposed solution.

      *
    • *
    • - *

      Lost to Competitor—SoftLayer: The opportunity was lost to SoftLayer.

      + *

      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.

      *
    • *
    • - *

      Lost to Competitor—VMWare: The opportunity was lost to VMWare.

      + *

      Cosell—Deal Support: Request Amazon Web Services seller's support to progress + * the opportunity (for example: joint customer call, strategic + * positioning).

      *
    • *
    • - *

      Lost to Competitor—Other: The opportunity was lost to a competitor not listed above.

      + *

      Cosell—Support for Public Tender/RFx: Opportunity related to the public sector + * where the partner needs Amazon Web Services RFx support.

      *
    • *
    • - *

      No Opportunity: There was no opportunity to pursue.

      + *

      Do Not Need Support from Amazon Web Services Sales Rep: Indicates that a + * partner doesn't need support from an Amazon Web Services sales representative, + * and the partner solely manages the opportunity. It's possible to request + * coselling support on these opportunities at any stage during their lifecycle. + * Also known as, for-visibility-only (FVO) opportunity.

      *
    • + *
    + * @public + */ + PrimaryNeedsFromAws?: PrimaryNeedFromAws[] | undefined; + + /** + *

    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.

    + * @public + */ + NationalSecurity?: NationalSecurity | undefined; + + /** + *

    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.

    + * @public + */ + PartnerOpportunityIdentifier?: string | undefined; + + /** + *

    Specifies details of the customer associated with the Opportunity.

    + * @public + */ + Customer?: Customer | undefined; + + /** + *

    An object that contains project details summary for the + * Opportunity.

    + * @public + */ + Project?: Project | undefined; + + /** + *

    Specifies the opportunity type as renewal, new, or expansion.

    + *

    Opportunity types:

    + *
      *
    • - *

      On Premises Deployment: The customer chose an on-premises solution.

      + *

      New opportunity: Represents a new business opportunity with a potential + * customer that's not previously engaged with your solutions or services.

      *
    • *
    • - *

      Partner Gap: The partner lacked necessary resources or capabilities.

      + *

      Renewal opportunity: Represents an opportunity to renew an existing contract + * or subscription with a current customer, which helps to ensure service + * continuity.

      *
    • *
    • - *

      Price: The price was not competitive or acceptable to the customer.

      + *

      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.

      *
    • + *
    + * @public + */ + OpportunityType?: OpportunityType | undefined; + + /** + *

    An object that contains marketing details for the Opportunity.

    + * @public + */ + Marketing?: Marketing | undefined; + + /** + *

    Specifies details of a customer's procurement terms. Required only for partners in + * eligible programs.

    + * @public + */ + SoftwareRevenue?: SoftwareRevenue | undefined; + + /** + *

    Read-only, system generated Opportunity unique identifier.

    + * @public + */ + Id: string | undefined; + + /** + *

    The Amazon Resource Name (ARN) that uniquely identifies the opportunity.

    + * @public + */ + Arn?: string | undefined; + + /** + *

    + * DateTime when the opportunity was last modified.

    + * @public + */ + LastModifiedDate: Date | undefined; + + /** + *

    + * DateTime when the Opportunity was last created.

    + * @public + */ + CreatedDate: Date | undefined; + + /** + *

    Provides information about the associations of other entities with the opportunity. + * These entities include identifiers for AWSProducts, Partner + * Solutions, and AWSMarketplaceOffers.

    + * @public + */ + RelatedEntityIdentifiers: RelatedEntityIdentifiers | undefined; + + /** + *

    An object that contains lifecycle details for the Opportunity.

    + * @public + */ + LifeCycle?: LifeCycle | undefined; + + /** + *

    Represents the internal team handling the opportunity. Specify the members involved in + * collaborating on this opportunity within the partner's organization.

    + * @public + */ + OpportunityTeam?: Contact[] | undefined; +} + +/** + *

    Defines a filter to retrieve opportunities based on the last modified date. This + * filter is useful for tracking changes or updates to opportunities over time.

    + * @public + */ +export interface LastModifiedDate { + /** + *

    Specifies the date after which the opportunities were modified. Use this filter to + * retrieve only those opportunities that were modified after a given timestamp.

    + * @public + */ + AfterLastModifiedDate?: Date | undefined; + + /** + *

    Specifies the date before which the opportunities were modified. Use this filter to + * retrieve only those opportunities that were modified before a given timestamp.

    + * @public + */ + BeforeLastModifiedDate?: Date | undefined; +} + +/** + * @public + * @enum + */ +export const OpportunitySortName = { + CUSTOMER_COMPANY_NAME: "CustomerCompanyName", + IDENTIFIER: "Identifier", + LAST_MODIFIEDDATE: "LastModifiedDate", +} as const; + +/** + * @public + */ +export type OpportunitySortName = (typeof OpportunitySortName)[keyof typeof OpportunitySortName]; + +/** + *

    Object that configures response sorting.

    + * @public + */ +export interface OpportunitySort { + /** + *

    Sort order.

    + *

    Default: Descending + *

    + * @public + */ + SortOrder: SortOrder | undefined; + + /** + *

    Field name to sort by.

    + * @public + */ + SortBy: OpportunitySortName | undefined; +} + +/** + * @public + */ +export interface ListOpportunitiesRequest { + /** + *

    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.

    + * @public + */ + Catalog: string | undefined; + + /** + *

    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

    + * @public + */ + MaxResults?: number | undefined; + + /** + *

    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.

    + * @public + */ + NextToken?: string | undefined; + + /** + *

    An object that specifies how the response is sorted. The default + * Sort.SortBy value is LastModifiedDate.

    + * @public + */ + Sort?: OpportunitySort | undefined; + + /** + *

    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.

    + * @public + */ + LastModifiedDate?: LastModifiedDate | undefined; + + /** + *

    Filters the opportunities based on the opportunity identifier. This allows partners to + * retrieve specific opportunities by providing their unique identifiers, ensuring precise + * results.

    + * @public + */ + Identifier?: string[] | undefined; + + /** + *

    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.

    + * @public + */ + LifeCycleStage?: Stage[] | undefined; + + /** + *

    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.

    + * @public + */ + LifeCycleReviewStatus?: ReviewStatus[] | undefined; + + /** + *

    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.

    + * @public + */ + CustomerCompanyName?: string[] | undefined; +} + +/** + *

    An object that contains a Customer object's subset of fields.

    + * @public + */ +export interface CustomerSummary { + /** + *

    An object that contains a customer's account details.

    + * @public + */ + Account?: AccountSummary | undefined; +} + +/** + *

    An object that contains a LifeCycle object's subset of fields.

    + * @public + */ +export interface LifeCycleSummary { + /** + *

    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.

    + * + *

    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:

    + *
      *
    • - *

      Security/Compliance: Security or compliance issues prevented progress.

      + *

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

      *
    • *
    • - *

      Technical Limitations: Technical limitations prevented progress.

      + *

      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.

      *
    • *
    • - *

      Customer Experience: Issues related to the customer's experience impacted the decision.

      + *

      Technical Validation: All parties understand the implementation plan.

      *
    • *
    • - *

      Other: Any reason not covered by the other values.

      + *

      Business Validation: Pricing was proposed, and all parties agree to the steps + * to close.

      *
    • *
    • - *

      People/Relationship/Governance: Issues related to people, relationships, or governance.

      + *

      Committed: The customer signed the contract, but Amazon Web Services hasn't + * started billing.

      *
    • *
    • - *

      Product/Technology: Issues related to the product or technology.

      + *

      Launched: The workload is complete, and Amazon Web Services has started + * billing.

      *
    • *
    • - *

      Financial/Commercial: Financial or commercial issues impacted the decision.

      + *

      Closed Lost: The opportunity is lost, and there are no steps to move + * forward.

      *
    • *
    * @public */ + Stage?: Stage | undefined; + + /** + *

    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.

    + * @public + */ ClosedLostReason?: ClosedLostReason | undefined; /** - *

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

    + *

    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.

    * @public */ NextSteps?: string | undefined; /** - *

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

    + *

    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.

    * @public */ TargetCloseDate?: string | undefined; /** - *

    - * 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: - *

    + *

    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). - *

      + *

      Pending Submission: Not submitted for validation (editable).

      *
    • *
    • - *

      - * Submitted: Submitted for validation, and Amazon Web Services hasn't reviewed it (read-only). - *

      + *

      Submitted: Submitted for validation and not yet Amazon Web Services reviewed + * (read-only).

      *
    • *
    • - *

      - * In Review: Amazon Web Services is validating (read-only). - *

      + *

      In Review: Undergoing Amazon Web Services validation (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: - *

      + *

      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

        @@ -2651,10 +5563,10 @@ export interface LifeCycle { *

        LifeCycle.TargetCloseDate

        *
      • *
      • - *

        Project.ExpectedMonthlyAWSRevenue.Amount

        + *

        Project.ExpectedCustomerSpend.Amount

        *
      • *
      • - *

        Project.ExpectedMonthlyAWSRevenue.CurrencyCode

        + *

        Project.ExpectedCustomerSpend.CurrencyCode

        *
      • *
      • *

        Project.CustomerBusinessProblem

        @@ -2663,19 +5575,17 @@ export interface LifeCycle { *

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

      + *

      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). - *

      + *

      Approved: Validated and converted into the Amazon Web Services seller's + * pipeline (editable).

      *
    • *
    • - *

      - * Rejected: Disqualified (read-only). - *

      + *

      Rejected: Disqualified (read-only).

      *
    • *
    * @public @@ -2683,1863 +5593,1675 @@ export interface LifeCycle { ReviewStatus?: ReviewStatus | undefined; /** - *

    Indicates why an opportunity was sent back for further details. Partners must take corrective action based on the ReviewComments.

    + *

    Indicates why an opportunity was sent back for further details. Partners must take + * corrective action based on the ReviewComments.

    * @public */ ReviewComments?: string | undefined; /** - *

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

    + *

    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.

    * @public */ ReviewStatusReason?: string | undefined; - - /** - *

    Captures a chronological record of the next steps or actions planned or taken for the current opportunity, - * along with the timestamp. - *

    - * @public - */ - NextStepsHistory?: NextStepsHistory[] | undefined; } /** + *

    An object that contains a Project object's subset of fields.

    * @public - * @enum - */ -export const Channel = { - AWS_MARKETING_CENTRAL: "AWS Marketing Central", - CONTENT_SYNDICATION: "Content Syndication", - DISPLAY: "Display", - EMAIL: "Email", - LIVE_EVENT: "Live Event", - OUT_OF_HOME: "Out Of Home (OOH)", - PRINT: "Print", - SEARCH: "Search", - SOCIAL: "Social", - TELEMARKETING: "Telemarketing", - TV: "TV", - VIDEO: "Video", - VIRTUAL_EVENT: "Virtual Event", -} as const; - -/** - * @public - */ -export type Channel = (typeof Channel)[keyof typeof Channel]; - -/** - * @public - * @enum */ -export const MarketingSource = { - MARKETING_ACTIVITY: "Marketing Activity", - NONE: "None", -} as const; +export interface ProjectSummary { + /** + *

    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.

      + *
    • + *
    + * @public + */ + DeliveryModels?: DeliveryModel[] | undefined; -/** - * @public - */ -export type MarketingSource = (typeof MarketingSource)[keyof typeof MarketingSource]; + /** + *

    Provides a summary of the expected customer spend for the project, offering a + * high-level view of the potential financial impact.

    + * @public + */ + ExpectedCustomerSpend?: ExpectedCustomerSpend[] | undefined; +} /** - *

    An object that contains marketing details for the Opportunity. - *

    + *

    An object that contains an Opportunity's subset of fields.

    * @public */ -export interface Marketing { +export interface OpportunitySummary { /** - *

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

    + *

    Specifies the catalog associated with the opportunity, either AWS or + * Sandbox. This indicates the environment in which the opportunity is + * managed.

    * @public */ - CampaignName?: string | undefined; + Catalog: string | undefined; /** - *

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

    + *

    Read-only, system-generated Opportunity unique identifier.

    * @public */ - Source?: MarketingSource | undefined; + Id?: string | undefined; /** *

    - * 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 - *

    + * The Amazon Resource Name (ARN) for the opportunity. This globally unique identifier + * can be used for IAM policies and cross-service references. + *

    * @public */ - UseCases?: string[] | undefined; + Arn?: string | undefined; /** - *

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

    + *

    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.

    * @public */ - Channels?: Channel[] | undefined; + PartnerOpportunityIdentifier?: string | undefined; /** - *

    Indicates if the Opportunity is a marketing development fund (MDF) funded - * activity. - *

    + *

    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.

      + *
    • + *
    * @public */ - AwsFundingUsed?: AwsFundingUsed | undefined; -} - -/** - * @public - * @enum - */ -export const NationalSecurity = { - NO: "No", - YES: "Yes", -} as const; - -/** - * @public - */ -export type NationalSecurity = (typeof NationalSecurity)[keyof typeof NationalSecurity]; - -/** - * @public - * @enum - */ -export const OpportunityType = { - EXPANSION: "Expansion", - FLAT_RENEWAL: "Flat Renewal", - NET_NEW_BUSINESS: "Net New Business", -} as const; - -/** - * @public - */ -export type OpportunityType = (typeof OpportunityType)[keyof typeof OpportunityType]; - -/** - * @public - * @enum - */ -export const OpportunityOrigin = { - AWS_REFERRAL: "AWS Referral", - PARTNER_REFERRAL: "Partner Referral", -} as const; - -/** - * @public - */ -export type OpportunityOrigin = (typeof OpportunityOrigin)[keyof typeof OpportunityOrigin]; - -/** - * @public - * @enum - */ -export const PrimaryNeedFromAws = { - CO_SELL_ARCHITECTURAL_VALIDATION: "Co-Sell - Architectural Validation", - CO_SELL_BUSINESS_PRESENTATION: "Co-Sell - Business Presentation", - CO_SELL_COMPETITIVE_INFORMATION: "Co-Sell - Competitive Information", - CO_SELL_DEAL_SUPPORT: "Co-Sell - Deal Support", - CO_SELL_PRICING_ASSISTANCE: "Co-Sell - Pricing Assistance", - CO_SELL_SUPPORT_FOR_PUBLIC_TENDER_RFX: "Co-Sell - Support for Public Tender / RFx", - CO_SELL_TECHNICAL_CONSULTATION: "Co-Sell - Technical Consultation", - CO_SELL_TOTAL_COST_OF_OWNERSHIP_EVALUATION: "Co-Sell - Total Cost of Ownership Evaluation", -} as const; - -/** - * @public - */ -export type PrimaryNeedFromAws = (typeof PrimaryNeedFromAws)[keyof typeof PrimaryNeedFromAws]; - -/** - * @public - * @enum - */ -export const CompetitorName = { - AKAMAI: "Akamai", - ALICLOUD: "AliCloud", - CO_LOCATION: "Co-location", - GOOGLE_CLOUD_PLATFORM: "Google Cloud Platform", - IBM_SOFTLAYER: "IBM Softlayer", - MICROSOFT_AZURE: "Microsoft Azure", - NO_COMPETITION: "No Competition", - ON_PREM: "On-Prem", - ORACLE_CLOUD: "Oracle Cloud", - OTHER: "*Other", - OTHER_COST_OPTIMIZATION: "Other- Cost Optimization", -} as const; + OpportunityType?: OpportunityType | undefined; -/** - * @public - */ -export type CompetitorName = (typeof CompetitorName)[keyof typeof CompetitorName]; + /** + *

    + * DateTime when the Opportunity was last modified.

    + * @public + */ + LastModifiedDate?: Date | undefined; -/** - * @public - * @enum - */ -export const DeliveryModel = { - BYOL_OR_AMI: "BYOL or AMI", - MANAGED_SERVICES: "Managed Services", - OTHER: "Other", - PROFESSIONAL_SERVICES: "Professional Services", - RESELL: "Resell", - SAAS_OR_PAAS: "SaaS or PaaS", -} as const; + /** + *

    + * DateTime when the Opportunity was last created.

    + * @public + */ + CreatedDate?: Date | undefined; -/** - * @public - */ -export type DeliveryModel = (typeof DeliveryModel)[keyof typeof DeliveryModel]; + /** + *

    An object that contains the Opportunity's lifecycle details.

    + * @public + */ + LifeCycle?: LifeCycleSummary | undefined; -/** - * @public - * @enum - */ -export const SalesActivity = { - AGREED_ON_SOLUTION_TO_BUSINESS_PROBLEM: "Agreed on solution to Business Problem", - COMPLETED_ACTION_PLAN: "Completed Action Plan", - CONDUCTED_POC_DEMO: "Conducted POC / Demo", - CUSTOMER_HAS_SHOWN_INTEREST: "Customer has shown interest in solution", - FINALIZED_DEPLOYMENT_NEEDS: "Finalized Deployment Need", - INITIALIZED_DISCUSSIONS_WITH_CUSTOMER: "Initialized discussions with customer", - IN_EVALUATION_PLANNING_STAGE: "In evaluation / planning stage", - SOW_SIGNED: "SOW Signed", -} as const; + /** + *

    An object that contains the Opportunity's customer details.

    + * @public + */ + Customer?: CustomerSummary | undefined; -/** - * @public - */ -export type SalesActivity = (typeof SalesActivity)[keyof typeof SalesActivity]; + /** + *

    An object that contains the Opportunity's project details summary.

    + * @public + */ + Project?: ProjectSummary | undefined; +} /** - *

    An object that contains the - * Opportunity's project details. - *

    * @public */ -export interface Project { +export interface ListOpportunitiesResponse { /** - *

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

      - *
    • - *
    + *

    An array that contains minimal details for opportunities that match the request + * criteria. This summary view provides a quick overview of relevant opportunities.

    * @public */ - DeliveryModels?: DeliveryModel[] | undefined; + OpportunitySummaries: OpportunitySummary[] | undefined; /** - *

    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.

    + *

    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.

    * @public */ - ExpectedCustomerSpend?: ExpectedCustomerSpend[] | undefined; + NextToken?: string | undefined; +} +/** + * @public + */ +export interface SubmitOpportunityRequest { /** - *

    Specifies the Opportunity's title or name. - *

    + *

    + * Specifies the catalog related to the request. + *

    * @public */ - Title?: string | undefined; + Catalog: string | undefined; /** *

    - * 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 - *

    + * The identifier of the opportunity previously created by partner and needs to be + * submitted. + *

    * @public */ - ApnPrograms?: string[] | undefined; + Identifier: string | undefined; /** - *

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

    + *

    + * Specifies the level of AWS sellers' involvement on the opportunity. + *

    * @public */ - CustomerBusinessProblem?: string | undefined; + InvolvementType: SalesInvolvementType | undefined; /** *

    - * 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 - *

    + * Determines whether to restrict visibility of the opportunity from AWS sales. Default + * value is Full. + *

    * @public */ - CustomerUseCase?: string | undefined; + Visibility?: Visibility | undefined; +} +/** + * @public + */ +export interface UpdateOpportunityRequest { /** - *

    Specifies the current opportunity's parent opportunity identifier. - *

    + *

    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.

    * @public */ - RelatedOpportunityIdentifier?: string | undefined; + Catalog: string | undefined; /** - *

    - * Specifies the Opportunity's sales activities conducted with the end customer. - * These activities help drive Amazon Web Services assignment priority. - *

    - *

    - * Valid values: - *

    + *

    Identifies the type of support the partner needs from Amazon Web Services.

    + *

    Valid values:

    *
      *
    • - *

      - * Initialized discussions with customer: Initial conversations with the customer to understand their needs and introduce your solution. - *

      + *

      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.

      *
    • *
    • - *

      - * Customer has shown interest in solution: After initial discussions, the customer is interested in your solution. - *

      + *

      Cosell—Business Presentation: Request Amazon Web Services seller's + * participation in a joint customer presentation.

      *
    • *
    • - *

      - * Conducted POC/demo: You conducted a proof of concept (POC) or demonstration of the solution for the customer. - *

      + *

      Cosell—Competitive Information: Access to Amazon Web Services competitive + * resources and support for the partner's proposed solution.

      *
    • *
    • - *

      - * In evaluation/planning stage: The customer is evaluating the solution and planning potential implementation. - *

      + *

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

      *
    • *
    • - *

      - * Agreed on solution to Business Problem: Both parties agree on how the solution addresses the customer's business problem. - *

      + *

      Cosell—Technical Consultation: Connection with an Amazon Web Services Solutions + * Architect to address the partner's questions about the proposed solution.

      *
    • *
    • - *

      - * Completed Action Plan: A detailed action plan is complete and outlines the steps for implementation. - *

      + *

      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.

      *
    • *
    • - *

      - * Finalized Deployment Need: Both parties agree with and finalized the deployment needs. - *

      + *

      Cosell—Deal Support: Request Amazon Web Services seller's support to progress + * the opportunity (for example: joint customer call, strategic + * positioning).

      *
    • *
    • - *

      - * SOW Signed: Both parties signed a statement of work (SOW), and formalize the agreement and detail the project scope and deliverables. - *

      + *

      Cosell—Support for Public Tender/RFx: Opportunity related to the public sector + * where the partner needs RFx support from Amazon Web Services.

      + *
    • + *
    • + *

      Do Not Need Support from AWS Sales Rep: Indicates that a partner doesn't need + * support from an Amazon Web Services Sales representative. The opportunity is + * managed solely by the partner. It's possible to request coselling support on + * these opportunities at any stage during their lifecycle. Also known as, + * for-visibility-only (FVO) opportunity.

      *
    • *
    * @public */ - SalesActivities?: SalesActivity[] | undefined; + PrimaryNeedsFromAws?: PrimaryNeedFromAws[] | undefined; /** - *

    Name of the Opportunity's competitor (if any). Use Other to submit a value not in - * the picklist. - *

    + *

    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.

    * @public */ - CompetitorName?: CompetitorName | undefined; + NationalSecurity?: NationalSecurity | undefined; /** - *

    Only allowed when CompetitorNames has Other selected. - *

    + *

    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.

    * @public */ - OtherCompetitorNames?: string | undefined; + PartnerOpportunityIdentifier?: string | undefined; /** - *

    Specifies the offered solution for the customer's business problem when the - * RelatedEntityIdentifiers.Solutions field value is Other. - *

    + *

    Specifies details of the customer associated with the Opportunity.

    * @public */ - OtherSolutionDescription?: string | undefined; + Customer?: Customer | undefined; /** - *

    Captures additional comments or information for the Opportunity that weren't captured in other fields. - *

    + *

    An object that contains project details summary for the + * Opportunity.

    * @public */ - AdditionalComments?: string | undefined; + Project?: Project | undefined; + + /** + *

    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.

      + *
    • + *
    + * @public + */ + OpportunityType?: OpportunityType | undefined; + + /** + *

    An object that contains marketing details for the Opportunity.

    + * @public + */ + Marketing?: Marketing | undefined; + + /** + *

    Specifies details of a customer's procurement terms. Required only for partners in + * eligible programs.

    + * @public + */ + SoftwareRevenue?: SoftwareRevenue | undefined; + + /** + *

    + * DateTime when the opportunity was last modified.

    + * @public + */ + LastModifiedDate: Date | undefined; + + /** + *

    Read-only, system generated Opportunity unique identifier.

    + * @public + */ + Identifier: string | undefined; + + /** + *

    An object that contains lifecycle details for the Opportunity.

    + * @public + */ + LifeCycle?: LifeCycle | undefined; +} + +/** + * @public + */ +export interface UpdateOpportunityResponse { + /** + *

    Read-only, system generated Opportunity unique identifier.

    + * @public + */ + Id: string | undefined; + + /** + *

    + * DateTime when the opportunity was last modified.

    + * @public + */ + LastModifiedDate: Date | undefined; } /** * @public * @enum */ -export const RevenueModel = { - CONTRACT: "Contract", - PAY_AS_YOU_GO: "Pay-as-you-go", - SUBSCRIPTION: "Subscription", +export const ResourceType = { + OPPORTUNITY: "Opportunity", } as const; /** * @public */ -export type RevenueModel = (typeof RevenueModel)[keyof typeof RevenueModel]; +export type ResourceType = (typeof ResourceType)[keyof typeof ResourceType]; /** - *

    Specifies payments details.

    * @public */ -export interface MonetaryValue { +export interface CreateResourceSnapshotRequest { /** - *

    Specifies the payment amount.

    + *

    + * Specifies the catalog where the snapshot is created. Valid values are + * AWS and Sandbox. + *

    * @public */ - Amount: string | undefined; + Catalog: string | undefined; /** - *

    Specifies the payment currency.

    + *

    + * The unique identifier of the engagement associated with this snapshot. This field + * links the snapshot to a specific engagement context. + *

    * @public */ - CurrencyCode: CurrencyCode | undefined; -} + EngagementIdentifier: string | undefined; -/** - *

    Specifies a customer's procurement terms details. Required only for partners in eligible programs.

    - * @public - */ -export interface SoftwareRevenue { /** - *

    Specifies the customer's intended payment type agreement or procurement method to acquire the solution or service outlined in the Opportunity. - *

    + *

    + * 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. + *

    * @public */ - DeliveryModel?: RevenueModel | undefined; + ResourceType: ResourceType | undefined; /** - *

    Specifies the payment value (amount and currency).

    + *

    + * 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. + *

    * @public */ - Value?: MonetaryValue | undefined; + ResourceIdentifier: string | undefined; /** - *

    Specifies the Opportunity's customer engagement start date for the contract's effectiveness. - *

    + *

    + * 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. + *

    * @public */ - EffectiveDate?: string | undefined; + ResourceSnapshotTemplateIdentifier: string | undefined; /** - *

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

    + *

    + * Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. + * This token helps prevent duplicate snapshot creations. + *

    * @public */ - ExpirationDate?: string | undefined; + ClientToken?: string | undefined; } /** * @public */ -export interface CreateOpportunityRequest { +export interface CreateResourceSnapshotResponse { /** *

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

    + * Specifies the Amazon Resource Name (ARN) that uniquely identifies the snapshot + * created. + *

    * @public */ - Catalog: string | undefined; + Arn?: string | undefined; /** *

    - * Identifies the type of support the partner needs from Amazon Web Services. - *

    - *

    - * Valid values: - *

    + * 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. + *

    + * @public + */ + Revision?: number | undefined; +} + +/** + * @public + */ +export interface GetResourceSnapshotRequest { + /** + *

    Specifies the catalog related to the request. Valid values are:

    *
      *
    • - *

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

      + *

      AWS: Retrieves the snapshot from the production AWS environment.

      *
    • *
    • - *

      - * Do Not Need Support from AWS Sales Rep: Indicates that a partner doesn't need support from an Amazon Web Services sales representative, and the partner solely manages the opportunity. It's possible to request coselling support on these opportunities at any stage during their lifecycles. This is also known as a for-visibility-only (FVO) opportunity. - *

      + *

      Sandbox: Retrieves the snapshot from a sandbox environment used for testing or + * development purposes.

      *
    • *
    * @public */ - PrimaryNeedsFromAws?: PrimaryNeedFromAws[] | undefined; + Catalog: string | undefined; /** - *

    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.

    + *

    The unique identifier of the engagement associated with the snapshot. This field links + * the snapshot to a specific engagement context.

    * @public */ - NationalSecurity?: NationalSecurity | undefined; + EngagementIdentifier: string | undefined; + + /** + *

    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.

    + * @public + */ + ResourceType: ResourceType | undefined; + + /** + *

    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 + *

    + * @public + */ + ResourceIdentifier: string | undefined; + + /** + *

    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.

    + * @public + */ + ResourceSnapshotTemplateIdentifier: string | undefined; + + /** + *

    Specifies which revision of the snapshot to retrieve. If omitted returns the latest + * revision.

    + * @public + */ + Revision?: number | undefined; +} + +/** + *

    + * Provides the lifecycle view of an opportunity resource shared through a + * snapshot. + *

    + * @public + */ +export interface LifeCycleForView { + /** + *

    + * The projected launch date of the opportunity shared through a snapshot. + *

    + * @public + */ + TargetCloseDate?: string | undefined; + + /** + *

    + * Defines the approval status of the opportunity shared through a snapshot. + *

    + * @public + */ + ReviewStatus?: ReviewStatus | undefined; + + /** + *

    + * Defines the current stage of the opportunity shared through a snapshot. + *

    + * @public + */ + Stage?: Stage | undefined; + + /** + *

    + * Describes the next steps for the opportunity shared through a snapshot. + *

    + * @public + */ + NextSteps?: string | undefined; +} + +/** + *

    + * Provides the project view of an opportunity resource shared through a snapshot. + *

    + * @public + */ +export interface ProjectView { + /** + *

    + * 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. + *

    + * @public + */ + DeliveryModels?: DeliveryModel[] | undefined; + + /** + *

    + * Provides information about the anticipated customer spend related to this project. + * This may include details such as amount, frequency, and currency of expected + * expenditure. + *

    + * @public + */ + ExpectedCustomerSpend?: ExpectedCustomerSpend[] | undefined; /** *

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

    + * Specifies the proposed solution focus or type of workload for the project. + *

    * @public */ - PartnerOpportunityIdentifier?: string | undefined; + CustomerUseCase?: string | undefined; /** - *

    Specifies customer details associated with the Opportunity. - *

    + *

    + * 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. + *

    * @public */ - Customer?: Customer | undefined; + SalesActivities?: SalesActivity[] | undefined; /** - *

    An object that contains project details for the - * Opportunity. - *

    + *

    + * Offers a description of other solutions if the standard solutions do not adequately + * cover the project's scope. + *

    * @public */ - Project?: Project | undefined; + OtherSolutionDescription?: string | undefined; +} +/** + *

    + * Provides a comprehensive view of an opportunity summary, including lifecycle + * information, team details, opportunity type, primary needs from AWS, and associated + * project information. + *

    + * @public + */ +export interface OpportunitySummaryView { /** *

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

      - *
    • - *
    + * Specifies the opportunity type. + *

    * @public */ OpportunityType?: OpportunityType | undefined; /** - *

    This object contains marketing details and is optional for an opportunity.

    + *

    + * Contains information about the opportunity's lifecycle, including its current stage, + * status, and important dates such as creation and last modification times. + *

    * @public */ - Marketing?: Marketing | undefined; + Lifecycle?: LifeCycleForView | undefined; /** - *

    Specifies details of a customer's procurement terms. This is required only for partners in eligible programs.

    + *

    + * Represents the internal team handling the opportunity. Specify the members involved in + * collaborating on an opportunity within the partner's organization. + *

    * @public */ - SoftwareRevenue?: SoftwareRevenue | undefined; + OpportunityTeam?: Contact[] | undefined; /** *

    - * 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." - *

    + * Identifies the type of support the partner needs from AWS. + *

    * @public */ - ClientToken?: string | undefined; + PrimaryNeedsFromAws?: PrimaryNeedFromAws[] | undefined; /** - *

    An object that contains lifecycle details for the Opportunity. - *

    + *

    An object that contains the customer's Account and + * Contact.

    * @public */ - LifeCycle?: LifeCycle | undefined; + Customer?: Customer | undefined; /** *

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

    + * Contains summary information about the project associated with the opportunity, + * including project name, description, timeline, and other relevant details. + *

    * @public */ - Origin?: OpportunityOrigin | undefined; + Project?: ProjectView | undefined; /** - *

    Represents the internal team handling the opportunity. Specify collaborating members of this opportunity who are within the partner's organization.

    + *

    This field provides the associations' information for other entities with the + * opportunity. These entities include identifiers for AWSProducts, + * Partner Solutions, and AWSMarketplaceOffers.

    * @public */ - OpportunityTeam?: Contact[] | undefined; + RelatedEntityIdentifiers?: RelatedEntityIdentifiers | undefined; } /** + *

    + * Represents the payload of a resource snapshot. This structure is designed to + * accommodate different types of resource snapshots, currently supporting opportunity + * summaries. + *

    * @public */ -export interface CreateOpportunityResponse { +export type ResourceSnapshotPayload = + | ResourceSnapshotPayload.OpportunitySummaryMember + | ResourceSnapshotPayload.$UnknownMember; + +/** + * @public + */ +export namespace ResourceSnapshotPayload { /** *

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

    + * An object that contains an opportunity's subset of fields. + *

    * @public */ - Id: string | undefined; + export interface OpportunitySummaryMember { + OpportunitySummary: OpportunitySummaryView; + $unknown?: never; + } /** - *

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

    * @public */ - PartnerOpportunityIdentifier?: string | undefined; + export interface $UnknownMember { + OpportunitySummary?: never; + $unknown: [string, any]; + } - /** - *

    - * DateTime - * when the opportunity was last modified. When the Opportunity is created, its value is CreatedDate. - *

    - * @public - */ - LastModifiedDate?: Date | undefined; + export interface Visitor { + OpportunitySummary: (value: OpportunitySummaryView) => T; + _: (name: string, value: any) => T; + } + + export const visit = (value: ResourceSnapshotPayload, visitor: Visitor): T => { + if (value.OpportunitySummary !== undefined) return visitor.OpportunitySummary(value.OpportunitySummary); + return visitor._(value.$unknown[0], value.$unknown[1]); + }; } /** * @public */ -export interface DisassociateOpportunityRequest { +export interface GetResourceSnapshotResponse { /** - *

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

    + *

    The catalog in which the snapshot was created. Matches the Catalog specified in the + * request.

    * @public */ Catalog: string | undefined; /** - *

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

    - * @public - */ - OpportunityIdentifier: string | undefined; - - /** - *

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

    + *

    + * The Amazon Resource Name (ARN) of the snapshot. This globally unique identifier can be + * used for resource-specific operations across AWS services. + *

    * @public */ - RelatedEntityType: RelatedEntityType | undefined; + Arn?: string | undefined; /** - *

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

    + *

    The AWS account ID of the principal (user or role) who created the snapshot. This + * helps in tracking the origin of the snapshot.

    * @public */ - RelatedEntityIdentifier: string | undefined; -} + CreatedBy?: string | undefined; -/** - * @public - */ -export interface GetAwsOpportunitySummaryRequest { /** - *

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

    + *

    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.

    * @public */ - Catalog: string | undefined; + CreatedAt?: Date | undefined; /** - *

    - * The unique identifier for the related partner opportunity. Use this field to correlate an AWS - * opportunity with its corresponding partner opportunity. - *

    + *

    The identifier of the engagement associated with this snapshot. Matches the + * EngagementIdentifier specified in the request.

    * @public */ - RelatedOpportunityIdentifier: string | undefined; -} - -/** - * @public - * @enum - */ -export const InvolvementTypeChangeReason = { - CHANGE_IN_DEAL_INFORMATION: "Change in Deal Information", - CUSTOMER_REQUESTED: "Customer Requested", - EXPANSION_OPPORTUNITY: "Expansion Opportunity", - RISK_MITIGATION: "Risk Mitigation", - TECHNICAL_COMPLEXITY: "Technical Complexity", -} as const; - -/** - * @public - */ -export type InvolvementTypeChangeReason = - (typeof InvolvementTypeChangeReason)[keyof typeof InvolvementTypeChangeReason]; + EngagementId?: string | undefined; -/** - * @public - */ -export interface GetAwsOpportunitySummaryResponse { /** *

    - * Specifies the catalog in which the AWS Opportunity exists. This is the environment (e.g., AWS - * or Sandbox) where the opportunity is being managed. - *

    + * The type of the resource that was snapshotted. Matches the ResourceType specified in + * the request. + *

    * @public */ - Catalog: string | undefined; + ResourceType?: ResourceType | undefined; /** *

    - * Provides the unique identifier of the related partner opportunity, allowing partners to link the AWS - * Opportunity to their corresponding opportunity in their CRM system. - *

    + * The identifier of the specific resource that was snapshotted. Matches the + * ResourceIdentifier specified in the request. + *

    * @public */ - RelatedOpportunityId?: string | undefined; + ResourceId?: string | undefined; /** *

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

    + * The name of the view used for this snapshot. This is the same as the template + * name. + *

    * @public */ - Origin?: OpportunityOrigin | undefined; + ResourceSnapshotTemplateName?: string | undefined; /** *

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

    + * The revision number of this snapshot. This is a positive integer that is sequential + * and unique within the context of a resource view. + *

    * @public */ - InvolvementType?: SalesInvolvementType | undefined; + Revision?: number | undefined; /** *

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

    + * Represents the payload of a resource snapshot. This structure is designed to + * accommodate different types of resource snapshots, currently supporting opportunity + * summaries. + *

    * @public */ - Visibility?: Visibility | undefined; + Payload?: ResourceSnapshotPayload | undefined; +} +/** + * @public + */ +export interface ListEngagementResourceAssociationsRequest { /** *

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

    + * Specifies the catalog in which to search for engagement-resource associations. + *

    * @public */ - LifeCycle?: AwsOpportunityLifeCycle | undefined; + Catalog: string | undefined; /** *

    - * Details the AWS opportunity team, including members involved. This information - * helps partners know who from AWS is engaged and what their role is. - *

    + * Limits the number of results returned in a single call. Use this to control the number + * of results returned, especially useful for pagination. + *

    * @public */ - OpportunityTeam?: AwsTeamMember[] | undefined; + MaxResults?: number | undefined; /** *

    - * Provides insights into the AWS Opportunity, including engagement score and recommended actions that AWS suggests - * for the partner. - *

    + * A token used for pagination of results. Include this token in subsequent requests to + * retrieve the next set of results. + *

    * @public */ - Insights?: AwsOpportunityInsights | undefined; + NextToken?: string | undefined; /** *

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

    + * 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. + *

    * @public */ - InvolvementTypeChangeReason?: InvolvementTypeChangeReason | undefined; + EngagementIdentifier?: string | undefined; /** *

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

    + * Filters the results to include only associations with resources of the specified type. + *

    * @public */ - RelatedEntityIds?: AwsOpportunityRelatedEntities | undefined; + ResourceType?: ResourceType | undefined; /** *

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

    + * 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. + *

    * @public */ - Customer?: AwsOpportunityCustomer | undefined; + ResourceIdentifier?: string | undefined; /** *

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

    + * Filters the results to include only associations with resources owned by the specified + * AWS account. Use this when you want to find associations related to resources owned by a + * particular account. + *

    * @public */ - Project?: AwsOpportunityProject | undefined; + CreatedBy?: string | undefined; } /** + *

    + * 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. + *

    * @public */ -export interface GetOpportunityRequest { +export interface EngagementResourceAssociationSummary { /** *

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

    + * Indicates the environment in which the resource and engagement exist. + *

    * @public */ Catalog: string | undefined; /** - *

    Read-only, system generated Opportunity unique identifier. - *

    + *

    + * A unique identifier for the engagement associated with the resource. + *

    * @public */ - Identifier: string | undefined; -} + EngagementId?: string | undefined; -/** - *

    - * This field provides the associations' information for other entities with the opportunity. These entities include identifiers for - * AWSProducts, Partner Solutions, and AWSMarketplaceOffers. - *

    - * @public - */ -export interface RelatedEntityIdentifiers { /** *

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

    + * Categorizes the type of resource associated with the engagement. + *

    * @public */ - AwsMarketplaceOffers?: string[] | undefined; + ResourceType?: ResourceType | undefined; /** *

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

    + * A unique identifier for the specific resource. Varies depending on the resource + * type. + *

    * @public */ - Solutions?: string[] | undefined; + ResourceId?: string | undefined; /** *

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

    + * The AWS account ID of the entity that created the association. + *

    * @public */ - AwsProducts?: string[] | undefined; + CreatedBy?: string | undefined; } /** * @public */ -export interface GetOpportunityResponse { +export interface ListEngagementResourceAssociationsResponse { /** *

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

    + * A list of engagement-resource association summaries. + *

    * @public */ - Catalog: string | undefined; + EngagementResourceAssociationSummaries: EngagementResourceAssociationSummary[] | undefined; /** *

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

      - *
    • - *
    • - *

      - * Do Not Need Support from Amazon Web Services Sales Rep: Indicates that a partner doesn't need support from an Amazon Web Services sales representative, and the partner solely manages the opportunity. It's possible to request coselling support on these opportunities at any stage during their lifecycle. Also known as, for-visibility-only (FVO) opportunity. - *

      - *
    • - *
    - * @public - */ - PrimaryNeedsFromAws?: PrimaryNeedFromAws[] | undefined; - - /** - *

    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.

    + * 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. + *

    * @public */ - NationalSecurity?: NationalSecurity | undefined; + NextToken?: string | undefined; +} +/** + * @public + */ +export interface ListResourceSnapshotsRequest { /** - *

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

    + *

    + * Specifies the catalog related to the request. + *

    * @public */ - PartnerOpportunityIdentifier?: string | undefined; + Catalog: string | undefined; /** - *

    Specifies details of the customer associated with the Opportunity. - *

    + *

    + * The maximum number of results to return in a single call. + *

    * @public */ - Customer?: Customer | undefined; + MaxResults?: number | undefined; /** - *

    An object that contains project details summary for the Opportunity. - *

    + *

    + * The token for the next set of results. + *

    * @public */ - Project?: Project | undefined; + NextToken?: string | undefined; /** *

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

      - *
    • - *
    + * The unique identifier of the engagement associated with the snapshots. + *

    * @public */ - OpportunityType?: OpportunityType | undefined; + EngagementIdentifier: string | undefined; /** - *

    An object that contains marketing details for the Opportunity. - *

    + *

    + * Filters the response to include only snapshots of the specified resource type. + *

    * @public */ - Marketing?: Marketing | undefined; + ResourceType?: ResourceType | undefined; /** - *

    Specifies details of a customer's procurement terms. Required only for partners in eligible programs.

    + *

    + * Filters the response to include only snapshots of the specified resource. + *

    * @public */ - SoftwareRevenue?: SoftwareRevenue | undefined; + ResourceIdentifier?: string | undefined; /** - *

    Read-only, system generated Opportunity unique identifier. - *

    + *

    + * Filters the response to include only snapshots created using the specified + * template. + *

    * @public */ - Id: string | undefined; + ResourceSnapshotTemplateIdentifier?: string | undefined; /** *

    - * DateTime - * when the opportunity was last modified. - *

    + * Filters the response to include only snapshots of resources created by the specified AWS + * account. + *

    * @public */ - LastModifiedDate: Date | undefined; + CreatedBy?: string | undefined; +} +/** + *

    + * 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. + *

    + * @public + */ +export interface ResourceSnapshotSummary { /** *

    - * DateTime when the Opportunity was last created. - *

    + * The Amazon Resource Name (ARN) of the snapshot. This globally unique identifier can be + * used for cross-service references and in IAM policies. + *

    * @public */ - CreatedDate: Date | undefined; + Arn?: string | undefined; /** *

    - * Provides information about the associations of other entities with the opportunity. These entities include identifiers for - * AWSProducts, Partner Solutions, and AWSMarketplaceOffers. - *

    + * 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. + *

    * @public */ - RelatedEntityIdentifiers: RelatedEntityIdentifiers | undefined; + Revision?: number | undefined; /** - *

    An object that contains lifecycle details for the Opportunity. - *

    + *

    The type of resource snapshotted.

    * @public */ - LifeCycle?: LifeCycle | undefined; + ResourceType?: ResourceType | undefined; /** - *

    Represents the internal team handling the opportunity. Specify the members involved in collaborating on this opportunity within the partner's organization.

    + *

    The identifier of the specific resource snapshotted. The format might vary depending + * on the ResourceType.

    * @public */ - OpportunityTeam?: Contact[] | undefined; -} + ResourceId?: string | undefined; -/** - *

    Defines a filter to retrieve opportunities based on the last modified date. This filter is useful for tracking changes or updates to opportunities over time.

    - * @public - */ -export interface LastModifiedDate { /** - *

    Specifies the date after which the opportunities were modified. Use this filter to retrieve only those opportunities that were modified after a given timestamp.

    + *

    The name of the template used to create the snapshot.

    * @public */ - AfterLastModifiedDate?: Date | undefined; + ResourceSnapshotTemplateName?: string | undefined; /** - *

    Specifies the date before which the opportunities were modified. Use this filter to retrieve only those opportunities that were modified before a given timestamp.

    + *

    The AWS account ID of the principal (user or role) who created the snapshot. This + * helps in tracking the origin of the snapshot.

    * @public */ - BeforeLastModifiedDate?: Date | undefined; + CreatedBy?: string | undefined; } -/** - * @public - * @enum - */ -export const OpportunitySortName = { - CUSTOMER_COMPANY_NAME: "CustomerCompanyName", - IDENTIFIER: "Identifier", - LAST_MODIFIEDDATE: "LastModifiedDate", -} as const; - /** * @public */ -export type OpportunitySortName = (typeof OpportunitySortName)[keyof typeof OpportunitySortName]; - -/** - *

    Object that configures response sorting.

    - * @public - */ -export interface OpportunitySort { +export interface ListResourceSnapshotsResponse { /** - *

    Sort order.

    - *

    Default: - * Descending - *

    + *

    + * An array of resource snapshot summary objects. + *

    * @public */ - SortOrder: SortOrder | undefined; + ResourceSnapshotSummaries: ResourceSnapshotSummary[] | undefined; /** - *

    Field name to sort by.

    + *

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

    * @public */ - SortBy: OpportunitySortName | undefined; + NextToken?: string | undefined; } /** * @public */ -export interface ListOpportunitiesRequest { +export interface CreateResourceSnapshotJobRequest { /** *

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

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

    * @public */ Catalog: string | undefined; /** *

    - * 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 - *

    + * Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. + * This token helps prevent duplicate snapshot job creations. + *

    * @public */ - MaxResults?: number | undefined; + ClientToken?: string | undefined; /** *

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

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

    * @public */ - NextToken?: string | undefined; + EngagementIdentifier: string | undefined; /** *

    - * An object that specifies how the response is sorted. The default Sort.SortBy value is LastModifiedDate. - *

    - * @public - */ - Sort?: OpportunitySort | undefined; - - /** - *

    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.

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

    * @public */ - LastModifiedDate?: LastModifiedDate | undefined; + ResourceType: ResourceType | undefined; /** - *

    Filters the opportunities based on the opportunity identifier. This allows partners to retrieve specific opportunities by providing their unique identifiers, ensuring precise results.

    + *

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

    * @public */ - Identifier?: string[] | undefined; + ResourceIdentifier: string | undefined; /** - *

    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.

    + *

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

    * @public */ - LifeCycleStage?: Stage[] | undefined; + ResourceSnapshotTemplateIdentifier: string | undefined; +} +/** + * @public + */ +export interface CreateResourceSnapshotJobResponse { /** - *

    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.

    + *

    + * The unique identifier for the created snapshot job. + *

    * @public */ - LifeCycleReviewStatus?: ReviewStatus[] | undefined; + Id?: string | undefined; /** - *

    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.

    + *

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

    * @public */ - CustomerCompanyName?: string[] | undefined; + Arn?: string | undefined; } /** - *

    An object that contains a Customer object's subset of fields. - *

    * @public */ -export interface CustomerSummary { +export interface DeleteResourceSnapshotJobRequest { /** - *

    An object that contains a customer's account details.

    + *

    + * Specifies the catalog from which to delete the snapshot job. Valid values are + * AWS and Sandbox. + *

    * @public */ - Account?: AccountSummary | undefined; + Catalog: string | undefined; + + /** + *

    + * The unique identifier of the resource snapshot job to be deleted. + *

    + * @public + */ + ResourceSnapshotJobIdentifier: string | undefined; } /** - *

    An object that contains a LifeCycle object's subset of fields. - *

    * @public */ -export interface LifeCycleSummary { +export interface GetResourceSnapshotJobRequest { /** *

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

    - * - *

    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: - *

    + * Specifies the catalog related to the request. Valid values 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. - *

      + *

      AWS: Retrieves the snapshot job from the production AWS environment.

      *
    • *
    • - *

      - * Closed Lost: The opportunity is lost, and there are no steps to move forward. - *

      + *

      Sandbox: Retrieves the snapshot job from a sandbox environment used for + * testing or development purposes.

      *
    • *
    * @public */ - Stage?: Stage | undefined; + Catalog: string | undefined; /** - *

    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 unique identifier of the resource snapshot job to be retrieved. This identifier is + * crucial for pinpointing the specific job you want to query. + *

    * @public */ - ClosedLostReason?: ClosedLostReason | undefined; + ResourceSnapshotJobIdentifier: string | undefined; +} - /** - *

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

    - * @public - */ - NextSteps?: string | undefined; +/** + * @public + * @enum + */ +export const ResourceSnapshotJobStatus = { + RUNNING: "Running", + STOPPED: "Stopped", +} as const; + +/** + * @public + */ +export type ResourceSnapshotJobStatus = (typeof ResourceSnapshotJobStatus)[keyof typeof ResourceSnapshotJobStatus]; +/** + * @public + */ +export interface GetResourceSnapshotJobResponse { /** *

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

    + * The catalog in which the snapshot job was created. This will match the catalog + * specified in the request. + *

    * @public */ - TargetCloseDate?: string | undefined; + Catalog: string | undefined; /** *

    - * 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). - *

      - *
    • - *
    + * The unique identifier of the snapshot job. This matches the + * ResourceSnapshotJobIdentifier provided in the request. + *

    * @public */ - ReviewStatus?: ReviewStatus | undefined; + Id?: string | undefined; /** - *

    Indicates why an opportunity was sent back for further details. Partners must take corrective action based on the ReviewComments.

    + *

    + * he Amazon Resource Name (ARN) of the snapshot job. This globally unique identifier + * can be used for resource-specific operations across AWS services. + *

    * @public */ - ReviewComments?: string | undefined; + Arn?: string | undefined; /** *

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

    + * The identifier of the engagement associated with this snapshot job. This links the job + * to a specific engagement context. + *

    * @public */ - ReviewStatusReason?: string | undefined; -} + EngagementId?: string | undefined; -/** - *

    An object that contains a Project object's subset of fields. - *

    - * @public - */ -export interface ProjectSummary { /** *

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

      - *
    • - *
    + * The type of resource being snapshotted. This would have Opportunity as a value as it + * is dependent on the supported resource type. + *

    * @public */ - DeliveryModels?: DeliveryModel[] | undefined; + ResourceType?: ResourceType | undefined; /** - *

    Provides a summary of the expected customer spend for the project, offering a high-level view of the potential financial impact.

    + *

    + * The identifier of the specific resource being snapshotted. The format may vary + * depending on the ResourceType. + *

    * @public */ - ExpectedCustomerSpend?: ExpectedCustomerSpend[] | undefined; -} + ResourceId?: string | undefined; -/** - *

    An object that contains an Opportunity's subset of fields. - *

    - * @public - */ -export interface OpportunitySummary { /** - *

    Specifies the catalog associated with the opportunity, either AWS or Sandbox. This indicates the environment in which the opportunity is managed.

    + *

    + * The Amazon Resource Name (ARN) of the resource being snapshotted. This provides a + * globally unique identifier for the resource across AWS. + *

    * @public */ - Catalog: string | undefined; + ResourceArn?: string | undefined; /** - *

    Read-only, system-generated Opportunity unique identifier. - *

    + *

    + * 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. + *

    * @public */ - Id?: string | undefined; + ResourceSnapshotTemplateName?: string | undefined; /** - *

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

    + *

    + * The date and time when the snapshot job was created, in ISO 8601 format (UTC). + * Example: "2023-05-01T20:37:46Z" + *

    * @public */ - PartnerOpportunityIdentifier?: string | undefined; + CreatedAt?: Date | undefined; /** *

    - * Specifies opportunity type as a renewal, new, or expansion. - *

    - *

    - * Opportunity types: - *

    + * The current status of the snapshot job. Valid values: + *

    *
      *
    • - *

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

      + *

      STOPPED: The job is not currently running.

      *
    • *
    • - *

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

      + *

      RUNNING: The job is actively executing.

      *
    • *
    * @public */ - OpportunityType?: OpportunityType | undefined; + Status?: ResourceSnapshotJobStatus | undefined; /** *

    - * DateTime - * when the Opportunity was last modified. - *

    + * The date and time of the last successful execution of the job, in ISO 8601 format + * (UTC). Example: "2023-05-01T20:37:46Z" + *

    * @public */ - LastModifiedDate?: Date | undefined; + LastSuccessfulExecutionDate?: Date | undefined; /** *

    - * DateTime - * when the Opportunity was last created. - *

    + * 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. + *

    * @public */ - CreatedDate?: Date | undefined; + LastFailure?: string | undefined; +} - /** - *

    An object that contains the Opportunity's lifecycle details. - *

    - * @public - */ - LifeCycle?: LifeCycleSummary | undefined; +/** + * @public + * @enum + */ +export const SortBy = { + CREATED_DATE: "CreatedDate", +} as const; + +/** + * @public + */ +export type SortBy = (typeof SortBy)[keyof typeof SortBy]; +/** + *

    + * Defines the sorting parameters for listing resource snapshot jobs. This structure + * allows you to specify the field to sort by and the order of sorting. + *

    + * @public + */ +export interface SortObject { /** - *

    An object that contains the Opportunity's customer details. - *

    + *

    + * Specifies the field by which to sort the resource snapshot jobs. + *

    * @public */ - Customer?: CustomerSummary | undefined; + SortBy?: SortBy | undefined; /** - *

    An object that contains the Opportunity's project details summary. - *

    + *

    + * Determines the order in which the sorted results are presented. + *

    * @public */ - Project?: ProjectSummary | undefined; + SortOrder?: SortOrder | undefined; } /** * @public */ -export interface ListOpportunitiesResponse { +export interface ListResourceSnapshotJobsRequest { /** *

    - * An array that contains minimal details for opportunities that match the request criteria. This summary view provides a quick overview of relevant opportunities. - *

    + * Specifies the catalog related to the request. + *

    * @public */ - OpportunitySummaries: OpportunitySummary[] | undefined; + Catalog: string | undefined; + + /** + *

    + * The maximum number of results to return in a single call. If omitted, defaults to + * 50. + *

    + * @public + */ + MaxResults?: number | undefined; /** *

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

    + * The token for the next set of results. + *

    * @public */ NextToken?: string | undefined; + + /** + *

    + * The identifier of the engagement to filter the response. + *

    + * @public + */ + EngagementIdentifier?: string | undefined; + + /** + *

    + * The status of the jobs to filter the response. + *

    + * @public + */ + Status?: ResourceSnapshotJobStatus | undefined; + + /** + *

    + * Configures the sorting of the response. If omitted, results are sorted by CreatedDate + * in descending order. + *

    + * @public + */ + Sort?: SortObject | undefined; } /** + *

    + * An object that contains a Resource Snapshot Job's subset of fields. + *

    * @public */ -export interface UpdateOpportunityRequest { +export interface ResourceSnapshotJobSummary { /** *

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

    + * 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. + *

    * @public */ - Catalog: string | undefined; + Id?: string | undefined; /** *

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

      - *
    • - *
    • - *

      - * Do Not Need Support from AWS Sales Rep: Indicates that a partner doesn't need support from an Amazon Web Services Sales representative. The opportunity is managed solely by the partner. It's possible to request coselling support on these opportunities at any stage during their lifecycle. Also known as, for-visibility-only (FVO) opportunity. - *

      - *
    • - *
    + * The Amazon Resource Name (ARN) for the resource snapshot job. + *

    + * @public + */ + Arn?: string | undefined; + + /** + *

    + * The unique identifier for the engagement within the AWS Partner Central + * system. This ID is used for direct references to the engagement within the service. + *

    * @public */ - PrimaryNeedsFromAws?: PrimaryNeedFromAws[] | undefined; + EngagementId?: string | undefined; /** - *

    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.

    + *

    + * Represents the current status of the resource snapshot job. + *

    * @public */ - NationalSecurity?: NationalSecurity | undefined; + Status?: ResourceSnapshotJobStatus | undefined; +} +/** + * @public + */ +export interface ListResourceSnapshotJobsResponse { /** - *

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

    + *

    + * An array of resource snapshot job summary objects. + *

    * @public */ - PartnerOpportunityIdentifier?: string | undefined; + ResourceSnapshotJobSummaries: ResourceSnapshotJobSummary[] | undefined; /** - *

    Specifies details of the customer associated with the Opportunity. - *

    + *

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

    * @public */ - Customer?: Customer | undefined; + NextToken?: string | undefined; +} +/** + * @public + */ +export interface StartResourceSnapshotJobRequest { /** - *

    An object that contains project details summary for the Opportunity. - *

    + *

    + * Specifies the catalog related to the request. + *

    * @public */ - Project?: Project | undefined; + Catalog: string | undefined; /** *

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

      - *
    • - *
    + * The identifier of the resource snapshot job to start. + *

    * @public */ - OpportunityType?: OpportunityType | undefined; + ResourceSnapshotJobIdentifier: string | undefined; +} +/** + * @public + */ +export interface StopResourceSnapshotJobRequest { /** - *

    An object that contains marketing details for the Opportunity. - *

    + *

    + * Specifies the catalog related to the request. + *

    * @public */ - Marketing?: Marketing | undefined; + Catalog: string | undefined; /** - *

    Specifies details of a customer's procurement terms. Required only for partners in eligible programs.

    + *

    + * The identifier of the job to stop. + *

    * @public */ - SoftwareRevenue?: SoftwareRevenue | undefined; + ResourceSnapshotJobIdentifier: string | undefined; +} +/** + * @public + */ +export interface GetSellingSystemSettingsRequest { /** - *

    - * DateTime when the opportunity was last modified. - *

    + *

    Specifies the catalog in which the settings are defined. Acceptable values include + * AWS for production and Sandbox for testing + * environments.

    * @public */ - LastModifiedDate: Date | undefined; + Catalog: string | undefined; +} +/** + * @public + */ +export interface GetSellingSystemSettingsResponse { /** - *

    Read-only, system generated Opportunity unique identifier. - *

    + *

    Specifies the catalog in which the settings are defined. Acceptable values include + * AWS for production and Sandbox for testing + * environments.

    * @public */ - Identifier: string | undefined; + Catalog: string | undefined; /** - *

    An object that contains lifecycle details for the Opportunity. - *

    + *

    Specifies the ARN of the IAM Role used for resource snapshot job executions.

    * @public */ - LifeCycle?: LifeCycle | undefined; + ResourceSnapshotJobRoleArn?: string | undefined; } /** * @public */ -export interface UpdateOpportunityResponse { +export interface PutSellingSystemSettingsRequest { /** - *

    Read-only, system generated Opportunity unique identifier. - *

    + *

    Specifies the catalog in which the settings will be updated. Acceptable values include + * AWS for production and Sandbox for testing + * environments.

    * @public */ - Id: string | undefined; + Catalog: string | undefined; /** - *

    - * DateTime - * when the opportunity was last modified. - *

    + *

    Specifies the ARN of the IAM Role used for resource snapshot job executions.

    * @public */ - LastModifiedDate: Date | undefined; + ResourceSnapshotJobRoleIdentifier?: string | undefined; +} + +/** + * @public + */ +export interface PutSellingSystemSettingsResponse { + /** + *

    Specifies the catalog in which the settings are defined. Acceptable values include + * AWS for production and Sandbox for testing + * environments.

    + * @public + */ + Catalog: string | undefined; + + /** + *

    Specifies the ARN of the IAM Role used for resource snapshot job executions.

    + * @public + */ + ResourceSnapshotJobRoleArn?: string | undefined; } /** @@ -4560,24 +7282,21 @@ export const SolutionSortName = { export type SolutionSortName = (typeof SolutionSortName)[keyof typeof SolutionSortName]; /** - *

    - * Configures the solutions' response sorting that enables partners to order solutions based on specified attributes. - *

    + *

    Configures the solutions' response sorting that enables partners to order solutions + * based on specified attributes.

    * @public */ export interface SolutionSort { /** - *

    - * Specifies the sorting order, either Ascending or Descending. The default is Descending. - *

    + *

    Specifies the sorting order, either Ascending or Descending. + * The default is Descending.

    * @public */ SortOrder: SortOrder | undefined; /** - *

    - * Specifies the attribute to sort by, such as Name, CreatedDate, or Status. - *

    + *

    Specifies the attribute to sort by, such as Name, + * CreatedDate, or Status.

    * @public */ SortBy: SolutionSortName | undefined; @@ -4603,66 +7322,71 @@ export type SolutionStatus = (typeof SolutionStatus)[keyof typeof SolutionStatus */ export interface ListSolutionsRequest { /** - *

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

    + *

    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.

    * @public */ Catalog: string | undefined; /** - *

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

    + *

    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

    * @public */ MaxResults?: number | undefined; /** - *

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

    + *

    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.

    * @public */ NextToken?: string | undefined; /** - *

    Object that configures sorting done on the response. Default Sort.SortBy is Identifier. - *

    + *

    Object that configures sorting done on the response. Default Sort.SortBy + * is Identifier.

    * @public */ Sort?: SolutionSort | undefined; /** - *

    Filters solutions based on their status. This filter helps partners manage their solution portfolios effectively.

    + *

    Filters solutions based on their status. This filter helps partners manage their + * solution portfolios effectively.

    * @public */ Status?: SolutionStatus[] | undefined; /** - *

    Filters the solutions based on their unique identifier. Use this filter to retrieve specific solutions by providing the solution's identifier for accurate results.

    + *

    Filters the solutions based on their unique identifier. Use this filter to retrieve + * specific solutions by providing the solution's identifier for accurate results.

    * @public */ Identifier?: string[] | undefined; /** - *

    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.

    + *

    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.

    * @public */ Category?: string[] | undefined; } /** - *

    Specifies minimal information for the solution offered to solve the customer's business problem.

    + *

    Specifies minimal information for the solution offered to solve the customer's + * business problem.

    * @public */ export interface SolutionBase { /** - *

    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.

    + *

    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.

    * @public */ Catalog: string | undefined; @@ -4673,6 +7397,14 @@ export interface SolutionBase { */ Id: string | undefined; + /** + *

    + * The SolutionBase structure provides essential information about a solution. + *

    + * @public + */ + Arn?: string | undefined; + /** *

    Specifies the solution name.

    * @public @@ -4680,24 +7412,23 @@ export interface SolutionBase { Name: string | undefined; /** - *

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

    + *

    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.

    * @public */ Status: SolutionStatus | undefined; /** - *

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

    + *

    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.

    * @public */ Category: string | undefined; @@ -4720,9 +7451,9 @@ export interface ListSolutionsResponse { SolutionSummaries: SolutionBase[] | undefined; /** - *

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

    + *

    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.

    * @public */ NextToken?: string | undefined; @@ -4834,6 +7565,7 @@ export const AwsOpportunityLifeCycleFilterSensitiveLog = (obj: AwsOpportunityLif export const ExpectedCustomerSpendFilterSensitiveLog = (obj: ExpectedCustomerSpend): any => ({ ...obj, ...(obj.CurrencyCode && { CurrencyCode: SENSITIVE_STRING }), + ...(obj.EstimationUrl && { EstimationUrl: SENSITIVE_STRING }), }); /** @@ -4865,6 +7597,102 @@ export const EngagementCustomerFilterSensitiveLog = (obj: EngagementCustomer): a ...(obj.CountryCode && { CountryCode: SENSITIVE_STRING }), }); +/** + * @internal + */ +export const EngagementCustomerProjectDetailsFilterSensitiveLog = (obj: EngagementCustomerProjectDetails): any => ({ + ...obj, + ...(obj.BusinessProblem && { BusinessProblem: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const CustomerProjectsContextFilterSensitiveLog = (obj: CustomerProjectsContext): any => ({ + ...obj, + ...(obj.Customer && { Customer: EngagementCustomerFilterSensitiveLog(obj.Customer) }), + ...(obj.Project && { Project: EngagementCustomerProjectDetailsFilterSensitiveLog(obj.Project) }), +}); + +/** + * @internal + */ +export const EngagementContextPayloadFilterSensitiveLog = (obj: EngagementContextPayload): any => { + if (obj.CustomerProject !== undefined) + return { CustomerProject: CustomerProjectsContextFilterSensitiveLog(obj.CustomerProject) }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; +}; + +/** + * @internal + */ +export const EngagementContextDetailsFilterSensitiveLog = (obj: EngagementContextDetails): any => ({ + ...obj, + ...(obj.Payload && { Payload: EngagementContextPayloadFilterSensitiveLog(obj.Payload) }), +}); + +/** + * @internal + */ +export const CreateEngagementRequestFilterSensitiveLog = (obj: CreateEngagementRequest): any => ({ + ...obj, + ...(obj.Contexts && { Contexts: obj.Contexts.map((item) => EngagementContextDetailsFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const GetEngagementResponseFilterSensitiveLog = (obj: GetEngagementResponse): any => ({ + ...obj, + ...(obj.CreatedBy && { CreatedBy: SENSITIVE_STRING }), + ...(obj.Contexts && { Contexts: obj.Contexts.map((item) => EngagementContextDetailsFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const EngagementMemberFilterSensitiveLog = (obj: EngagementMember): any => ({ + ...obj, + ...(obj.AccountId && { AccountId: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const ListEngagementMembersResponseFilterSensitiveLog = (obj: ListEngagementMembersResponse): any => ({ + ...obj, + ...(obj.EngagementMemberList && { + EngagementMemberList: obj.EngagementMemberList.map((item) => EngagementMemberFilterSensitiveLog(item)), + }), +}); + +/** + * @internal + */ +export const ListEngagementsRequestFilterSensitiveLog = (obj: ListEngagementsRequest): any => ({ + ...obj, + ...(obj.CreatedBy && { CreatedBy: SENSITIVE_STRING }), + ...(obj.ExcludeCreatedBy && { ExcludeCreatedBy: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const EngagementSummaryFilterSensitiveLog = (obj: EngagementSummary): any => ({ + ...obj, + ...(obj.CreatedBy && { CreatedBy: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const ListEngagementsResponseFilterSensitiveLog = (obj: ListEngagementsResponse): any => ({ + ...obj, + ...(obj.EngagementSummaryList && { + EngagementSummaryList: obj.EngagementSummaryList.map((item) => EngagementSummaryFilterSensitiveLog(item)), + }), +}); + /** * @internal */ @@ -4917,6 +7745,23 @@ export const ReceiverFilterSensitiveLog = (obj: Receiver): any => { if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; }; +/** + * @internal + */ +export const InvitationFilterSensitiveLog = (obj: Invitation): any => ({ + ...obj, + ...(obj.Receiver && { Receiver: ReceiverFilterSensitiveLog(obj.Receiver) }), + ...(obj.Payload && { Payload: PayloadFilterSensitiveLog(obj.Payload) }), +}); + +/** + * @internal + */ +export const CreateEngagementInvitationRequestFilterSensitiveLog = (obj: CreateEngagementInvitationRequest): any => ({ + ...obj, + ...(obj.Invitation && { Invitation: InvitationFilterSensitiveLog(obj.Invitation) }), +}); + /** * @internal */ @@ -4927,6 +7772,14 @@ export const GetEngagementInvitationResponseFilterSensitiveLog = (obj: GetEngage ...(obj.Payload && { Payload: PayloadFilterSensitiveLog(obj.Payload) }), }); +/** + * @internal + */ +export const ListEngagementInvitationsRequestFilterSensitiveLog = (obj: ListEngagementInvitationsRequest): any => ({ + ...obj, + ...(obj.SenderAwsAccountId && { SenderAwsAccountId: SENSITIVE_STRING }), +}); + /** * @internal */ @@ -5087,3 +7940,113 @@ export const UpdateOpportunityRequestFilterSensitiveLog = (obj: UpdateOpportunit ...(obj.SoftwareRevenue && { SoftwareRevenue: SoftwareRevenueFilterSensitiveLog(obj.SoftwareRevenue) }), ...(obj.LifeCycle && { LifeCycle: LifeCycleFilterSensitiveLog(obj.LifeCycle) }), }); + +/** + * @internal + */ +export const LifeCycleForViewFilterSensitiveLog = (obj: LifeCycleForView): any => ({ + ...obj, + ...(obj.NextSteps && { NextSteps: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const ProjectViewFilterSensitiveLog = (obj: ProjectView): any => ({ + ...obj, + ...(obj.ExpectedCustomerSpend && { + ExpectedCustomerSpend: obj.ExpectedCustomerSpend.map((item) => ExpectedCustomerSpendFilterSensitiveLog(item)), + }), + ...(obj.OtherSolutionDescription && { OtherSolutionDescription: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const OpportunitySummaryViewFilterSensitiveLog = (obj: OpportunitySummaryView): any => ({ + ...obj, + ...(obj.Lifecycle && { Lifecycle: LifeCycleForViewFilterSensitiveLog(obj.Lifecycle) }), + ...(obj.OpportunityTeam && { OpportunityTeam: obj.OpportunityTeam.map((item) => ContactFilterSensitiveLog(item)) }), + ...(obj.Customer && { Customer: CustomerFilterSensitiveLog(obj.Customer) }), + ...(obj.Project && { Project: ProjectViewFilterSensitiveLog(obj.Project) }), +}); + +/** + * @internal + */ +export const ResourceSnapshotPayloadFilterSensitiveLog = (obj: ResourceSnapshotPayload): any => { + if (obj.OpportunitySummary !== undefined) + return { OpportunitySummary: OpportunitySummaryViewFilterSensitiveLog(obj.OpportunitySummary) }; + if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" }; +}; + +/** + * @internal + */ +export const GetResourceSnapshotResponseFilterSensitiveLog = (obj: GetResourceSnapshotResponse): any => ({ + ...obj, + ...(obj.CreatedBy && { CreatedBy: SENSITIVE_STRING }), + ...(obj.Payload && { Payload: ResourceSnapshotPayloadFilterSensitiveLog(obj.Payload) }), +}); + +/** + * @internal + */ +export const ListEngagementResourceAssociationsRequestFilterSensitiveLog = ( + obj: ListEngagementResourceAssociationsRequest +): any => ({ + ...obj, + ...(obj.CreatedBy && { CreatedBy: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const EngagementResourceAssociationSummaryFilterSensitiveLog = ( + obj: EngagementResourceAssociationSummary +): any => ({ + ...obj, + ...(obj.CreatedBy && { CreatedBy: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const ListEngagementResourceAssociationsResponseFilterSensitiveLog = ( + obj: ListEngagementResourceAssociationsResponse +): any => ({ + ...obj, + ...(obj.EngagementResourceAssociationSummaries && { + EngagementResourceAssociationSummaries: obj.EngagementResourceAssociationSummaries.map((item) => + EngagementResourceAssociationSummaryFilterSensitiveLog(item) + ), + }), +}); + +/** + * @internal + */ +export const ListResourceSnapshotsRequestFilterSensitiveLog = (obj: ListResourceSnapshotsRequest): any => ({ + ...obj, + ...(obj.CreatedBy && { CreatedBy: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const ResourceSnapshotSummaryFilterSensitiveLog = (obj: ResourceSnapshotSummary): any => ({ + ...obj, + ...(obj.CreatedBy && { CreatedBy: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const ListResourceSnapshotsResponseFilterSensitiveLog = (obj: ListResourceSnapshotsResponse): any => ({ + ...obj, + ...(obj.ResourceSnapshotSummaries && { + ResourceSnapshotSummaries: obj.ResourceSnapshotSummaries.map((item) => + ResourceSnapshotSummaryFilterSensitiveLog(item) + ), + }), +}); diff --git a/clients/client-partnercentral-selling/src/pagination/ListEngagementByAcceptingInvitationTasksPaginator.ts b/clients/client-partnercentral-selling/src/pagination/ListEngagementByAcceptingInvitationTasksPaginator.ts new file mode 100644 index 000000000000..f2cc4b2a958c --- /dev/null +++ b/clients/client-partnercentral-selling/src/pagination/ListEngagementByAcceptingInvitationTasksPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListEngagementByAcceptingInvitationTasksCommand, + ListEngagementByAcceptingInvitationTasksCommandInput, + ListEngagementByAcceptingInvitationTasksCommandOutput, +} from "../commands/ListEngagementByAcceptingInvitationTasksCommand"; +import { PartnerCentralSellingClient } from "../PartnerCentralSellingClient"; +import { PartnerCentralSellingPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListEngagementByAcceptingInvitationTasks: ( + config: PartnerCentralSellingPaginationConfiguration, + input: ListEngagementByAcceptingInvitationTasksCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + PartnerCentralSellingPaginationConfiguration, + ListEngagementByAcceptingInvitationTasksCommandInput, + ListEngagementByAcceptingInvitationTasksCommandOutput +>(PartnerCentralSellingClient, ListEngagementByAcceptingInvitationTasksCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-partnercentral-selling/src/pagination/ListEngagementFromOpportunityTasksPaginator.ts b/clients/client-partnercentral-selling/src/pagination/ListEngagementFromOpportunityTasksPaginator.ts new file mode 100644 index 000000000000..195e060b0f9c --- /dev/null +++ b/clients/client-partnercentral-selling/src/pagination/ListEngagementFromOpportunityTasksPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListEngagementFromOpportunityTasksCommand, + ListEngagementFromOpportunityTasksCommandInput, + ListEngagementFromOpportunityTasksCommandOutput, +} from "../commands/ListEngagementFromOpportunityTasksCommand"; +import { PartnerCentralSellingClient } from "../PartnerCentralSellingClient"; +import { PartnerCentralSellingPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListEngagementFromOpportunityTasks: ( + config: PartnerCentralSellingPaginationConfiguration, + input: ListEngagementFromOpportunityTasksCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + PartnerCentralSellingPaginationConfiguration, + ListEngagementFromOpportunityTasksCommandInput, + ListEngagementFromOpportunityTasksCommandOutput +>(PartnerCentralSellingClient, ListEngagementFromOpportunityTasksCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-partnercentral-selling/src/pagination/ListEngagementMembersPaginator.ts b/clients/client-partnercentral-selling/src/pagination/ListEngagementMembersPaginator.ts new file mode 100644 index 000000000000..e3d626498cf5 --- /dev/null +++ b/clients/client-partnercentral-selling/src/pagination/ListEngagementMembersPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListEngagementMembersCommand, + ListEngagementMembersCommandInput, + ListEngagementMembersCommandOutput, +} from "../commands/ListEngagementMembersCommand"; +import { PartnerCentralSellingClient } from "../PartnerCentralSellingClient"; +import { PartnerCentralSellingPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListEngagementMembers: ( + config: PartnerCentralSellingPaginationConfiguration, + input: ListEngagementMembersCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + PartnerCentralSellingPaginationConfiguration, + ListEngagementMembersCommandInput, + ListEngagementMembersCommandOutput +>(PartnerCentralSellingClient, ListEngagementMembersCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-partnercentral-selling/src/pagination/ListEngagementResourceAssociationsPaginator.ts b/clients/client-partnercentral-selling/src/pagination/ListEngagementResourceAssociationsPaginator.ts new file mode 100644 index 000000000000..efa92b1290b2 --- /dev/null +++ b/clients/client-partnercentral-selling/src/pagination/ListEngagementResourceAssociationsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListEngagementResourceAssociationsCommand, + ListEngagementResourceAssociationsCommandInput, + ListEngagementResourceAssociationsCommandOutput, +} from "../commands/ListEngagementResourceAssociationsCommand"; +import { PartnerCentralSellingClient } from "../PartnerCentralSellingClient"; +import { PartnerCentralSellingPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListEngagementResourceAssociations: ( + config: PartnerCentralSellingPaginationConfiguration, + input: ListEngagementResourceAssociationsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + PartnerCentralSellingPaginationConfiguration, + ListEngagementResourceAssociationsCommandInput, + ListEngagementResourceAssociationsCommandOutput +>(PartnerCentralSellingClient, ListEngagementResourceAssociationsCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-partnercentral-selling/src/pagination/ListEngagementsPaginator.ts b/clients/client-partnercentral-selling/src/pagination/ListEngagementsPaginator.ts new file mode 100644 index 000000000000..e1111aa5fab6 --- /dev/null +++ b/clients/client-partnercentral-selling/src/pagination/ListEngagementsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListEngagementsCommand, + ListEngagementsCommandInput, + ListEngagementsCommandOutput, +} from "../commands/ListEngagementsCommand"; +import { PartnerCentralSellingClient } from "../PartnerCentralSellingClient"; +import { PartnerCentralSellingPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListEngagements: ( + config: PartnerCentralSellingPaginationConfiguration, + input: ListEngagementsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + PartnerCentralSellingPaginationConfiguration, + ListEngagementsCommandInput, + ListEngagementsCommandOutput +>(PartnerCentralSellingClient, ListEngagementsCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-partnercentral-selling/src/pagination/ListResourceSnapshotJobsPaginator.ts b/clients/client-partnercentral-selling/src/pagination/ListResourceSnapshotJobsPaginator.ts new file mode 100644 index 000000000000..79353e8720b4 --- /dev/null +++ b/clients/client-partnercentral-selling/src/pagination/ListResourceSnapshotJobsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListResourceSnapshotJobsCommand, + ListResourceSnapshotJobsCommandInput, + ListResourceSnapshotJobsCommandOutput, +} from "../commands/ListResourceSnapshotJobsCommand"; +import { PartnerCentralSellingClient } from "../PartnerCentralSellingClient"; +import { PartnerCentralSellingPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListResourceSnapshotJobs: ( + config: PartnerCentralSellingPaginationConfiguration, + input: ListResourceSnapshotJobsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + PartnerCentralSellingPaginationConfiguration, + ListResourceSnapshotJobsCommandInput, + ListResourceSnapshotJobsCommandOutput +>(PartnerCentralSellingClient, ListResourceSnapshotJobsCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-partnercentral-selling/src/pagination/ListResourceSnapshotsPaginator.ts b/clients/client-partnercentral-selling/src/pagination/ListResourceSnapshotsPaginator.ts new file mode 100644 index 000000000000..8b30f30bad8a --- /dev/null +++ b/clients/client-partnercentral-selling/src/pagination/ListResourceSnapshotsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListResourceSnapshotsCommand, + ListResourceSnapshotsCommandInput, + ListResourceSnapshotsCommandOutput, +} from "../commands/ListResourceSnapshotsCommand"; +import { PartnerCentralSellingClient } from "../PartnerCentralSellingClient"; +import { PartnerCentralSellingPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListResourceSnapshots: ( + config: PartnerCentralSellingPaginationConfiguration, + input: ListResourceSnapshotsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + PartnerCentralSellingPaginationConfiguration, + ListResourceSnapshotsCommandInput, + ListResourceSnapshotsCommandOutput +>(PartnerCentralSellingClient, ListResourceSnapshotsCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-partnercentral-selling/src/pagination/index.ts b/clients/client-partnercentral-selling/src/pagination/index.ts index 5761aeaa3c25..d7a256b85bd2 100644 --- a/clients/client-partnercentral-selling/src/pagination/index.ts +++ b/clients/client-partnercentral-selling/src/pagination/index.ts @@ -1,5 +1,12 @@ // smithy-typescript generated code export * from "./Interfaces"; +export * from "./ListEngagementByAcceptingInvitationTasksPaginator"; +export * from "./ListEngagementFromOpportunityTasksPaginator"; export * from "./ListEngagementInvitationsPaginator"; +export * from "./ListEngagementMembersPaginator"; +export * from "./ListEngagementResourceAssociationsPaginator"; +export * from "./ListEngagementsPaginator"; export * from "./ListOpportunitiesPaginator"; +export * from "./ListResourceSnapshotJobsPaginator"; +export * from "./ListResourceSnapshotsPaginator"; export * from "./ListSolutionsPaginator"; diff --git a/clients/client-partnercentral-selling/src/protocols/Aws_json1_0.ts b/clients/client-partnercentral-selling/src/protocols/Aws_json1_0.ts index 073fcf3f49fa..942c2125d939 100644 --- a/clients/client-partnercentral-selling/src/protocols/Aws_json1_0.ts +++ b/clients/client-partnercentral-selling/src/protocols/Aws_json1_0.ts @@ -10,6 +10,7 @@ import { _json, collectBody, decorateServiceException as __decorateServiceException, + expectInt32 as __expectInt32, expectNonNull as __expectNonNull, expectString as __expectString, parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, @@ -25,12 +26,33 @@ import { } from "@smithy/types"; import { v4 as generateIdempotencyToken } from "uuid"; +import { + AcceptEngagementInvitationCommandInput, + AcceptEngagementInvitationCommandOutput, +} from "../commands/AcceptEngagementInvitationCommand"; import { AssignOpportunityCommandInput, AssignOpportunityCommandOutput } from "../commands/AssignOpportunityCommand"; import { AssociateOpportunityCommandInput, AssociateOpportunityCommandOutput, } from "../commands/AssociateOpportunityCommand"; +import { CreateEngagementCommandInput, CreateEngagementCommandOutput } from "../commands/CreateEngagementCommand"; +import { + CreateEngagementInvitationCommandInput, + CreateEngagementInvitationCommandOutput, +} from "../commands/CreateEngagementInvitationCommand"; import { CreateOpportunityCommandInput, CreateOpportunityCommandOutput } from "../commands/CreateOpportunityCommand"; +import { + CreateResourceSnapshotCommandInput, + CreateResourceSnapshotCommandOutput, +} from "../commands/CreateResourceSnapshotCommand"; +import { + CreateResourceSnapshotJobCommandInput, + CreateResourceSnapshotJobCommandOutput, +} from "../commands/CreateResourceSnapshotJobCommand"; +import { + DeleteResourceSnapshotJobCommandInput, + DeleteResourceSnapshotJobCommandOutput, +} from "../commands/DeleteResourceSnapshotJobCommand"; import { DisassociateOpportunityCommandInput, DisassociateOpportunityCommandOutput, @@ -39,17 +61,59 @@ import { GetAwsOpportunitySummaryCommandInput, GetAwsOpportunitySummaryCommandOutput, } from "../commands/GetAwsOpportunitySummaryCommand"; +import { GetEngagementCommandInput, GetEngagementCommandOutput } from "../commands/GetEngagementCommand"; import { GetEngagementInvitationCommandInput, GetEngagementInvitationCommandOutput, } from "../commands/GetEngagementInvitationCommand"; import { GetOpportunityCommandInput, GetOpportunityCommandOutput } from "../commands/GetOpportunityCommand"; +import { + GetResourceSnapshotCommandInput, + GetResourceSnapshotCommandOutput, +} from "../commands/GetResourceSnapshotCommand"; +import { + GetResourceSnapshotJobCommandInput, + GetResourceSnapshotJobCommandOutput, +} from "../commands/GetResourceSnapshotJobCommand"; +import { + GetSellingSystemSettingsCommandInput, + GetSellingSystemSettingsCommandOutput, +} from "../commands/GetSellingSystemSettingsCommand"; +import { + ListEngagementByAcceptingInvitationTasksCommandInput, + ListEngagementByAcceptingInvitationTasksCommandOutput, +} from "../commands/ListEngagementByAcceptingInvitationTasksCommand"; +import { + ListEngagementFromOpportunityTasksCommandInput, + ListEngagementFromOpportunityTasksCommandOutput, +} from "../commands/ListEngagementFromOpportunityTasksCommand"; import { ListEngagementInvitationsCommandInput, ListEngagementInvitationsCommandOutput, } from "../commands/ListEngagementInvitationsCommand"; +import { + ListEngagementMembersCommandInput, + ListEngagementMembersCommandOutput, +} from "../commands/ListEngagementMembersCommand"; +import { + ListEngagementResourceAssociationsCommandInput, + ListEngagementResourceAssociationsCommandOutput, +} from "../commands/ListEngagementResourceAssociationsCommand"; +import { ListEngagementsCommandInput, ListEngagementsCommandOutput } from "../commands/ListEngagementsCommand"; import { ListOpportunitiesCommandInput, ListOpportunitiesCommandOutput } from "../commands/ListOpportunitiesCommand"; +import { + ListResourceSnapshotJobsCommandInput, + ListResourceSnapshotJobsCommandOutput, +} from "../commands/ListResourceSnapshotJobsCommand"; +import { + ListResourceSnapshotsCommandInput, + ListResourceSnapshotsCommandOutput, +} from "../commands/ListResourceSnapshotsCommand"; import { ListSolutionsCommandInput, ListSolutionsCommandOutput } from "../commands/ListSolutionsCommand"; +import { + PutSellingSystemSettingsCommandInput, + PutSellingSystemSettingsCommandOutput, +} from "../commands/PutSellingSystemSettingsCommand"; import { RejectEngagementInvitationCommandInput, RejectEngagementInvitationCommandOutput, @@ -62,10 +126,21 @@ import { StartEngagementFromOpportunityTaskCommandInput, StartEngagementFromOpportunityTaskCommandOutput, } from "../commands/StartEngagementFromOpportunityTaskCommand"; +import { + StartResourceSnapshotJobCommandInput, + StartResourceSnapshotJobCommandOutput, +} from "../commands/StartResourceSnapshotJobCommand"; +import { + StopResourceSnapshotJobCommandInput, + StopResourceSnapshotJobCommandOutput, +} from "../commands/StopResourceSnapshotJobCommand"; +import { SubmitOpportunityCommandInput, SubmitOpportunityCommandOutput } from "../commands/SubmitOpportunityCommand"; import { UpdateOpportunityCommandInput, UpdateOpportunityCommandOutput } from "../commands/UpdateOpportunityCommand"; import { + AcceptEngagementInvitationRequest, AccessDeniedException, Account, + AccountReceiver, Address, AssigneeContact, AssignOpportunityRequest, @@ -75,52 +150,98 @@ import { Channel, ConflictException, Contact, + CreateEngagementInvitationRequest, + CreateEngagementRequest, CreateOpportunityRequest, CreateOpportunityResponse, + CreateResourceSnapshotJobRequest, + CreateResourceSnapshotRequest, Customer, + CustomerProjectsContext, + DeleteResourceSnapshotJobRequest, DeliveryModel, DisassociateOpportunityRequest, + EngagementContextDetails, + EngagementContextPayload, + EngagementCustomer, + EngagementCustomerProjectDetails, EngagementInvitationPayloadType, EngagementInvitationSummary, + EngagementSort, + EngagementSummary, ExpectedCustomerSpend, GetAwsOpportunitySummaryRequest, GetAwsOpportunitySummaryResponse, GetEngagementInvitationRequest, GetEngagementInvitationResponse, + GetEngagementRequest, + GetEngagementResponse, GetOpportunityRequest, GetOpportunityResponse, + GetResourceSnapshotJobRequest, + GetResourceSnapshotJobResponse, + GetResourceSnapshotRequest, + GetResourceSnapshotResponse, + GetSellingSystemSettingsRequest, InternalServerException, + Invitation, + InvitationStatus, LastModifiedDate, LifeCycle, + ListEngagementByAcceptingInvitationTasksRequest, + ListEngagementByAcceptingInvitationTasksResponse, + ListEngagementByAcceptingInvitationTaskSummary, + ListEngagementFromOpportunityTasksRequest, + ListEngagementFromOpportunityTasksResponse, + ListEngagementFromOpportunityTaskSummary, ListEngagementInvitationsRequest, ListEngagementInvitationsResponse, + ListEngagementMembersRequest, + ListEngagementResourceAssociationsRequest, + ListEngagementsRequest, + ListEngagementsResponse, ListOpportunitiesRequest, ListOpportunitiesResponse, + ListResourceSnapshotJobsRequest, + ListResourceSnapshotsRequest, ListSolutionsRequest, ListSolutionsResponse, + ListTasksSortBase, Marketing, MonetaryValue, NextStepsHistory, OpportunityEngagementInvitationSort, + OpportunityInvitationPayload, OpportunitySort, OpportunitySummary, + Payload, PrimaryNeedFromAws, ProfileNextStepsHistory, Project, + ProjectDetails, + PutSellingSystemSettingsRequest, + Receiver, + ReceiverResponsibility, RejectEngagementInvitationRequest, ResourceNotFoundException, ReviewStatus, SalesActivity, + SenderContact, ServiceQuotaExceededException, SoftwareRevenue, SolutionBase, SolutionSort, SolutionStatus, + SortObject, Stage, StartEngagementByAcceptingInvitationTaskRequest, StartEngagementByAcceptingInvitationTaskResponse, StartEngagementFromOpportunityTaskRequest, StartEngagementFromOpportunityTaskResponse, + StartResourceSnapshotJobRequest, + StopResourceSnapshotJobRequest, + SubmitOpportunityRequest, + TaskStatus, ThrottlingException, UpdateOpportunityRequest, UpdateOpportunityResponse, @@ -128,6 +249,19 @@ import { } from "../models/models_0"; import { PartnerCentralSellingServiceException as __BaseException } from "../models/PartnerCentralSellingServiceException"; +/** + * serializeAws_json1_0AcceptEngagementInvitationCommand + */ +export const se_AcceptEngagementInvitationCommand = async ( + input: AcceptEngagementInvitationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("AcceptEngagementInvitation"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_0AssignOpportunityCommand */ @@ -154,6 +288,32 @@ export const se_AssociateOpportunityCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_0CreateEngagementCommand + */ +export const se_CreateEngagementCommand = async ( + input: CreateEngagementCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("CreateEngagement"); + let body: any; + body = JSON.stringify(se_CreateEngagementRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_0CreateEngagementInvitationCommand + */ +export const se_CreateEngagementInvitationCommand = async ( + input: CreateEngagementInvitationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("CreateEngagementInvitation"); + let body: any; + body = JSON.stringify(se_CreateEngagementInvitationRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_0CreateOpportunityCommand */ @@ -167,6 +327,45 @@ export const se_CreateOpportunityCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_0CreateResourceSnapshotCommand + */ +export const se_CreateResourceSnapshotCommand = async ( + input: CreateResourceSnapshotCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("CreateResourceSnapshot"); + let body: any; + body = JSON.stringify(se_CreateResourceSnapshotRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_0CreateResourceSnapshotJobCommand + */ +export const se_CreateResourceSnapshotJobCommand = async ( + input: CreateResourceSnapshotJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("CreateResourceSnapshotJob"); + let body: any; + body = JSON.stringify(se_CreateResourceSnapshotJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_0DeleteResourceSnapshotJobCommand + */ +export const se_DeleteResourceSnapshotJobCommand = async ( + input: DeleteResourceSnapshotJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DeleteResourceSnapshotJob"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_0DisassociateOpportunityCommand */ @@ -193,6 +392,19 @@ export const se_GetAwsOpportunitySummaryCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_0GetEngagementCommand + */ +export const se_GetEngagementCommand = async ( + input: GetEngagementCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("GetEngagement"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_0GetEngagementInvitationCommand */ @@ -219,6 +431,71 @@ export const se_GetOpportunityCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_0GetResourceSnapshotCommand + */ +export const se_GetResourceSnapshotCommand = async ( + input: GetResourceSnapshotCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("GetResourceSnapshot"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_0GetResourceSnapshotJobCommand + */ +export const se_GetResourceSnapshotJobCommand = async ( + input: GetResourceSnapshotJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("GetResourceSnapshotJob"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_0GetSellingSystemSettingsCommand + */ +export const se_GetSellingSystemSettingsCommand = async ( + input: GetSellingSystemSettingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("GetSellingSystemSettings"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_0ListEngagementByAcceptingInvitationTasksCommand + */ +export const se_ListEngagementByAcceptingInvitationTasksCommand = async ( + input: ListEngagementByAcceptingInvitationTasksCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("ListEngagementByAcceptingInvitationTasks"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_0ListEngagementFromOpportunityTasksCommand + */ +export const se_ListEngagementFromOpportunityTasksCommand = async ( + input: ListEngagementFromOpportunityTasksCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("ListEngagementFromOpportunityTasks"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_0ListEngagementInvitationsCommand */ @@ -232,6 +509,45 @@ export const se_ListEngagementInvitationsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_0ListEngagementMembersCommand + */ +export const se_ListEngagementMembersCommand = async ( + input: ListEngagementMembersCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("ListEngagementMembers"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_0ListEngagementResourceAssociationsCommand + */ +export const se_ListEngagementResourceAssociationsCommand = async ( + input: ListEngagementResourceAssociationsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("ListEngagementResourceAssociations"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_0ListEngagementsCommand + */ +export const se_ListEngagementsCommand = async ( + input: ListEngagementsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("ListEngagements"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_0ListOpportunitiesCommand */ @@ -245,6 +561,32 @@ export const se_ListOpportunitiesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_0ListResourceSnapshotJobsCommand + */ +export const se_ListResourceSnapshotJobsCommand = async ( + input: ListResourceSnapshotJobsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("ListResourceSnapshotJobs"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_0ListResourceSnapshotsCommand + */ +export const se_ListResourceSnapshotsCommand = async ( + input: ListResourceSnapshotsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("ListResourceSnapshots"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_0ListSolutionsCommand */ @@ -258,6 +600,19 @@ export const se_ListSolutionsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_0PutSellingSystemSettingsCommand + */ +export const se_PutSellingSystemSettingsCommand = async ( + input: PutSellingSystemSettingsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("PutSellingSystemSettings"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_0RejectEngagementInvitationCommand */ @@ -297,6 +652,45 @@ export const se_StartEngagementFromOpportunityTaskCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_0StartResourceSnapshotJobCommand + */ +export const se_StartResourceSnapshotJobCommand = async ( + input: StartResourceSnapshotJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("StartResourceSnapshotJob"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_0StopResourceSnapshotJobCommand + */ +export const se_StopResourceSnapshotJobCommand = async ( + input: StopResourceSnapshotJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("StopResourceSnapshotJob"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_0SubmitOpportunityCommand + */ +export const se_SubmitOpportunityCommand = async ( + input: SubmitOpportunityCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("SubmitOpportunity"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_0UpdateOpportunityCommand */ @@ -310,6 +704,23 @@ export const se_UpdateOpportunityCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * deserializeAws_json1_0AcceptEngagementInvitationCommand + */ +export const de_AcceptEngagementInvitationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + await collectBody(output.body, context); + const response: AcceptEngagementInvitationCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return response; +}; + /** * deserializeAws_json1_0AssignOpportunityCommand */ @@ -345,19 +756,19 @@ export const de_AssociateOpportunityCommand = async ( }; /** - * deserializeAws_json1_0CreateOpportunityCommand + * deserializeAws_json1_0CreateEngagementCommand */ -export const de_CreateOpportunityCommand = async ( +export const de_CreateEngagementCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { return de_CommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = de_CreateOpportunityResponse(data, context); - const response: CreateOpportunityCommandOutput = { + contents = _json(data); + const response: CreateEngagementCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; @@ -365,36 +776,39 @@ export const de_CreateOpportunityCommand = async ( }; /** - * deserializeAws_json1_0DisassociateOpportunityCommand + * deserializeAws_json1_0CreateEngagementInvitationCommand */ -export const de_DisassociateOpportunityCommand = async ( +export const de_CreateEngagementInvitationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { return de_CommandError(output, context); } - await collectBody(output.body, context); - const response: DisassociateOpportunityCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: CreateEngagementInvitationCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return response; }; /** - * deserializeAws_json1_0GetAwsOpportunitySummaryCommand + * deserializeAws_json1_0CreateOpportunityCommand */ -export const de_GetAwsOpportunitySummaryCommand = async ( +export const de_CreateOpportunityCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { return de_CommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = de_GetAwsOpportunitySummaryResponse(data, context); - const response: GetAwsOpportunitySummaryCommandOutput = { + contents = de_CreateOpportunityResponse(data, context); + const response: CreateOpportunityCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; @@ -402,19 +816,19 @@ export const de_GetAwsOpportunitySummaryCommand = async ( }; /** - * deserializeAws_json1_0GetEngagementInvitationCommand + * deserializeAws_json1_0CreateResourceSnapshotCommand */ -export const de_GetEngagementInvitationCommand = async ( +export const de_CreateResourceSnapshotCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { return de_CommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = de_GetEngagementInvitationResponse(data, context); - const response: GetEngagementInvitationCommandOutput = { + contents = _json(data); + const response: CreateResourceSnapshotCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; @@ -422,19 +836,19 @@ export const de_GetEngagementInvitationCommand = async ( }; /** - * deserializeAws_json1_0GetOpportunityCommand + * deserializeAws_json1_0CreateResourceSnapshotJobCommand */ -export const de_GetOpportunityCommand = async ( +export const de_CreateResourceSnapshotJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { return de_CommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = de_GetOpportunityResponse(data, context); - const response: GetOpportunityCommandOutput = { + contents = _json(data); + const response: CreateResourceSnapshotJobCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; @@ -442,19 +856,293 @@ export const de_GetOpportunityCommand = async ( }; /** - * deserializeAws_json1_0ListEngagementInvitationsCommand + * deserializeAws_json1_0DeleteResourceSnapshotJobCommand */ -export const de_ListEngagementInvitationsCommand = async ( +export const de_DeleteResourceSnapshotJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { return de_CommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = de_ListEngagementInvitationsResponse(data, context); - const response: ListEngagementInvitationsCommandOutput = { + await collectBody(output.body, context); + const response: DeleteResourceSnapshotJobCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return response; +}; + +/** + * deserializeAws_json1_0DisassociateOpportunityCommand + */ +export const de_DisassociateOpportunityCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + await collectBody(output.body, context); + const response: DisassociateOpportunityCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return response; +}; + +/** + * deserializeAws_json1_0GetAwsOpportunitySummaryCommand + */ +export const de_GetAwsOpportunitySummaryCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_GetAwsOpportunitySummaryResponse(data, context); + const response: GetAwsOpportunitySummaryCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0GetEngagementCommand + */ +export const de_GetEngagementCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_GetEngagementResponse(data, context); + const response: GetEngagementCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0GetEngagementInvitationCommand + */ +export const de_GetEngagementInvitationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_GetEngagementInvitationResponse(data, context); + const response: GetEngagementInvitationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0GetOpportunityCommand + */ +export const de_GetOpportunityCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_GetOpportunityResponse(data, context); + const response: GetOpportunityCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0GetResourceSnapshotCommand + */ +export const de_GetResourceSnapshotCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_GetResourceSnapshotResponse(data, context); + const response: GetResourceSnapshotCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0GetResourceSnapshotJobCommand + */ +export const de_GetResourceSnapshotJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_GetResourceSnapshotJobResponse(data, context); + const response: GetResourceSnapshotJobCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0GetSellingSystemSettingsCommand + */ +export const de_GetSellingSystemSettingsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: GetSellingSystemSettingsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0ListEngagementByAcceptingInvitationTasksCommand + */ +export const de_ListEngagementByAcceptingInvitationTasksCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_ListEngagementByAcceptingInvitationTasksResponse(data, context); + const response: ListEngagementByAcceptingInvitationTasksCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0ListEngagementFromOpportunityTasksCommand + */ +export const de_ListEngagementFromOpportunityTasksCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_ListEngagementFromOpportunityTasksResponse(data, context); + const response: ListEngagementFromOpportunityTasksCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0ListEngagementInvitationsCommand + */ +export const de_ListEngagementInvitationsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_ListEngagementInvitationsResponse(data, context); + const response: ListEngagementInvitationsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0ListEngagementMembersCommand + */ +export const de_ListEngagementMembersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: ListEngagementMembersCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0ListEngagementResourceAssociationsCommand + */ +export const de_ListEngagementResourceAssociationsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: ListEngagementResourceAssociationsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0ListEngagementsCommand + */ +export const de_ListEngagementsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_ListEngagementsResponse(data, context); + const response: ListEngagementsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; @@ -481,6 +1169,46 @@ export const de_ListOpportunitiesCommand = async ( return response; }; +/** + * deserializeAws_json1_0ListResourceSnapshotJobsCommand + */ +export const de_ListResourceSnapshotJobsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: ListResourceSnapshotJobsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0ListResourceSnapshotsCommand + */ +export const de_ListResourceSnapshotsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: ListResourceSnapshotsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_json1_0ListSolutionsCommand */ @@ -502,58 +1230,129 @@ export const de_ListSolutionsCommand = async ( }; /** - * deserializeAws_json1_0RejectEngagementInvitationCommand + * deserializeAws_json1_0PutSellingSystemSettingsCommand + */ +export const de_PutSellingSystemSettingsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: PutSellingSystemSettingsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0RejectEngagementInvitationCommand + */ +export const de_RejectEngagementInvitationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + await collectBody(output.body, context); + const response: RejectEngagementInvitationCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return response; +}; + +/** + * deserializeAws_json1_0StartEngagementByAcceptingInvitationTaskCommand + */ +export const de_StartEngagementByAcceptingInvitationTaskCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_StartEngagementByAcceptingInvitationTaskResponse(data, context); + const response: StartEngagementByAcceptingInvitationTaskCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0StartEngagementFromOpportunityTaskCommand + */ +export const de_StartEngagementFromOpportunityTaskCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_StartEngagementFromOpportunityTaskResponse(data, context); + const response: StartEngagementFromOpportunityTaskCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0StartResourceSnapshotJobCommand */ -export const de_RejectEngagementInvitationCommand = async ( +export const de_StartResourceSnapshotJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { return de_CommandError(output, context); } await collectBody(output.body, context); - const response: RejectEngagementInvitationCommandOutput = { + const response: StartResourceSnapshotJobCommandOutput = { $metadata: deserializeMetadata(output), }; return response; }; /** - * deserializeAws_json1_0StartEngagementByAcceptingInvitationTaskCommand + * deserializeAws_json1_0StopResourceSnapshotJobCommand */ -export const de_StartEngagementByAcceptingInvitationTaskCommand = async ( +export const de_StopResourceSnapshotJobCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { return de_CommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = de_StartEngagementByAcceptingInvitationTaskResponse(data, context); - const response: StartEngagementByAcceptingInvitationTaskCommandOutput = { + await collectBody(output.body, context); + const response: StopResourceSnapshotJobCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return response; }; /** - * deserializeAws_json1_0StartEngagementFromOpportunityTaskCommand + * deserializeAws_json1_0SubmitOpportunityCommand */ -export const de_StartEngagementFromOpportunityTaskCommand = async ( +export const de_SubmitOpportunityCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { return de_CommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = de_StartEngagementFromOpportunityTaskResponse(data, context); - const response: StartEngagementFromOpportunityTaskCommandOutput = { + await collectBody(output.body, context); + const response: SubmitOpportunityCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return response; }; @@ -722,8 +1521,12 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont return __decorateServiceException(exception, body); }; +// se_AcceptEngagementInvitationRequest omitted. + // se_Account omitted. +// se_AccountReceiver omitted. + // se_Address omitted. // se_ApnPrograms omitted. @@ -734,12 +1537,44 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // se_AssociateOpportunityRequest omitted. +// se_AwsAccountIdOrAliasList omitted. + +// se_AwsAccountList omitted. + // se_AwsSubmission omitted. // se_Channels omitted. // se_Contact omitted. +/** + * serializeAws_json1_0CreateEngagementInvitationRequest + */ +const se_CreateEngagementInvitationRequest = ( + input: CreateEngagementInvitationRequest, + context: __SerdeContext +): any => { + return take(input, { + Catalog: [], + ClientToken: [true, (_) => _ ?? generateIdempotencyToken()], + EngagementIdentifier: [], + Invitation: _json, + }); +}; + +/** + * serializeAws_json1_0CreateEngagementRequest + */ +const se_CreateEngagementRequest = (input: CreateEngagementRequest, context: __SerdeContext): any => { + return take(input, { + Catalog: [], + ClientToken: [true, (_) => _ ?? generateIdempotencyToken()], + Contexts: _json, + Description: [], + Title: [], + }); +}; + /** * serializeAws_json1_0CreateOpportunityRequest */ @@ -761,16 +1596,64 @@ const se_CreateOpportunityRequest = (input: CreateOpportunityRequest, context: _ }); }; +/** + * serializeAws_json1_0CreateResourceSnapshotJobRequest + */ +const se_CreateResourceSnapshotJobRequest = (input: CreateResourceSnapshotJobRequest, context: __SerdeContext): any => { + return take(input, { + Catalog: [], + ClientToken: [true, (_) => _ ?? generateIdempotencyToken()], + EngagementIdentifier: [], + ResourceIdentifier: [], + ResourceSnapshotTemplateIdentifier: [], + ResourceType: [], + }); +}; + +/** + * serializeAws_json1_0CreateResourceSnapshotRequest + */ +const se_CreateResourceSnapshotRequest = (input: CreateResourceSnapshotRequest, context: __SerdeContext): any => { + return take(input, { + Catalog: [], + ClientToken: [true, (_) => _ ?? generateIdempotencyToken()], + EngagementIdentifier: [], + ResourceIdentifier: [], + ResourceSnapshotTemplateIdentifier: [], + ResourceType: [], + }); +}; + // se_Customer omitted. // se_CustomerContactsList omitted. +// se_CustomerProjectsContext omitted. + +// se_DeleteResourceSnapshotJobRequest omitted. + // se_DeliveryModels omitted. // se_DisassociateOpportunityRequest omitted. +// se_EngagementContextDetails omitted. + +// se_EngagementContextPayload omitted. + +// se_EngagementContexts omitted. + +// se_EngagementCustomer omitted. + +// se_EngagementCustomerProjectDetails omitted. + +// se_EngagementIdentifiers omitted. + +// se_EngagementInvitationIdentifiers omitted. + // se_EngagementInvitationsPayloadType omitted. +// se_EngagementSort omitted. + // se_ExpectedCustomerSpend omitted. // se_ExpectedCustomerSpendList omitted. @@ -787,8 +1670,20 @@ const se_CreateOpportunityRequest = (input: CreateOpportunityRequest, context: _ // se_GetEngagementInvitationRequest omitted. +// se_GetEngagementRequest omitted. + // se_GetOpportunityRequest omitted. +// se_GetResourceSnapshotJobRequest omitted. + +// se_GetResourceSnapshotRequest omitted. + +// se_GetSellingSystemSettingsRequest omitted. + +// se_Invitation omitted. + +// se_InvitationStatusList omitted. + /** * serializeAws_json1_0LastModifiedDate */ @@ -815,8 +1710,18 @@ const se_LifeCycle = (input: LifeCycle, context: __SerdeContext): any => { }); }; +// se_ListEngagementByAcceptingInvitationTasksRequest omitted. + +// se_ListEngagementFromOpportunityTasksRequest omitted. + // se_ListEngagementInvitationsRequest omitted. +// se_ListEngagementMembersRequest omitted. + +// se_ListEngagementResourceAssociationsRequest omitted. + +// se_ListEngagementsRequest omitted. + /** * serializeAws_json1_0ListOpportunitiesRequest */ @@ -834,8 +1739,14 @@ const se_ListOpportunitiesRequest = (input: ListOpportunitiesRequest, context: _ }); }; +// se_ListResourceSnapshotJobsRequest omitted. + +// se_ListResourceSnapshotsRequest omitted. + // se_ListSolutionsRequest omitted. +// se_ListTasksSortBase omitted. + // se_Marketing omitted. // se_MonetaryValue omitted. @@ -863,24 +1774,44 @@ const se_NextStepsHistory = (input: NextStepsHistory, context: __SerdeContext): // se_OpportunityEngagementInvitationSort omitted. +// se_OpportunityIdentifiers omitted. + +// se_OpportunityInvitationPayload omitted. + // se_OpportunitySort omitted. // se_PartnerOpportunityTeamMembersList omitted. +// se_Payload omitted. + // se_PrimaryNeedsFromAws omitted. // se_Project omitted. +// se_ProjectDetails omitted. + +// se_PutSellingSystemSettingsRequest omitted. + +// se_Receiver omitted. + +// se_ReceiverResponsibilityList omitted. + // se_RejectEngagementInvitationRequest omitted. // se_SalesActivities omitted. +// se_SenderContact omitted. + +// se_SenderContactList omitted. + // se_SoftwareRevenue omitted. // se_SolutionIdentifiers omitted. // se_SolutionSort omitted. +// se_SortObject omitted. + /** * serializeAws_json1_0StartEngagementByAcceptingInvitationTaskRequest */ @@ -910,8 +1841,18 @@ const se_StartEngagementFromOpportunityTaskRequest = ( }); }; +// se_StartResourceSnapshotJobRequest omitted. + +// se_StopResourceSnapshotJobRequest omitted. + // se_StringList omitted. +// se_SubmitOpportunityRequest omitted. + +// se_TaskIdentifiers omitted. + +// se_TaskStatuses omitted. + /** * serializeAws_json1_0UpdateOpportunityRequest */ @@ -983,6 +1924,10 @@ const de_AwsOpportunityLifeCycle = (output: any, context: __SerdeContext): AwsOp // de_Contact omitted. +// de_CreateEngagementInvitationResponse omitted. + +// de_CreateEngagementResponse omitted. + /** * deserializeAws_json1_0CreateOpportunityResponse */ @@ -994,16 +1939,30 @@ const de_CreateOpportunityResponse = (output: any, context: __SerdeContext): Cre }) as any; }; +// de_CreateResourceSnapshotJobResponse omitted. + +// de_CreateResourceSnapshotResponse omitted. + // de_Customer omitted. // de_CustomerContactsList omitted. +// de_CustomerProjectsContext omitted. + // de_CustomerSummary omitted. // de_DeliveryModels omitted. +// de_EngagementContextDetails omitted. + +// de_EngagementContextPayload omitted. + +// de_EngagementContexts omitted. + // de_EngagementCustomer omitted. +// de_EngagementCustomerProjectDetails omitted. + /** * deserializeAws_json1_0EngagementInvitationSummaries */ @@ -1023,10 +1982,12 @@ const de_EngagementInvitationSummary = (output: any, context: __SerdeContext): E return take(output, { Arn: __expectString, Catalog: __expectString, + EngagementId: __expectString, EngagementTitle: __expectString, ExpirationDate: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), Id: __expectString, InvitationDate: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + ParticipantType: __expectString, PayloadType: __expectString, Receiver: (_: any) => _json(__expectUnion(_)), SenderAwsAccountId: __expectString, @@ -1035,6 +1996,44 @@ const de_EngagementInvitationSummary = (output: any, context: __SerdeContext): E }) as any; }; +// de_EngagementMember omitted. + +// de_EngagementMembers omitted. + +// de_EngagementMemberSummaries omitted. + +// de_EngagementMemberSummary omitted. + +// de_EngagementResourceAssociationSummary omitted. + +// de_EngagementResourceAssociationSummaryList omitted. + +/** + * deserializeAws_json1_0EngagementSummary + */ +const de_EngagementSummary = (output: any, context: __SerdeContext): EngagementSummary => { + return take(output, { + Arn: __expectString, + CreatedAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + CreatedBy: __expectString, + Id: __expectString, + MemberCount: __expectInt32, + Title: __expectString, + }) as any; +}; + +/** + * deserializeAws_json1_0EngagementSummaryList + */ +const de_EngagementSummaryList = (output: any, context: __SerdeContext): EngagementSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_EngagementSummary(entry, context); + }); + return retVal; +}; + // de_ExpectedCustomerSpend omitted. // de_ExpectedCustomerSpendList omitted. @@ -1069,10 +2068,14 @@ const de_GetEngagementInvitationResponse = (output: any, context: __SerdeContext return take(output, { Arn: __expectString, Catalog: __expectString, + EngagementDescription: __expectString, + EngagementId: __expectString, EngagementTitle: __expectString, + ExistingMembers: _json, ExpirationDate: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), Id: __expectString, InvitationDate: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + InvitationMessage: __expectString, Payload: (_: any) => _json(__expectUnion(_)), PayloadType: __expectString, Receiver: (_: any) => _json(__expectUnion(_)), @@ -1083,11 +2086,28 @@ const de_GetEngagementInvitationResponse = (output: any, context: __SerdeContext }) as any; }; +/** + * deserializeAws_json1_0GetEngagementResponse + */ +const de_GetEngagementResponse = (output: any, context: __SerdeContext): GetEngagementResponse => { + return take(output, { + Arn: __expectString, + Contexts: _json, + CreatedAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + CreatedBy: __expectString, + Description: __expectString, + Id: __expectString, + MemberCount: __expectInt32, + Title: __expectString, + }) as any; +}; + /** * deserializeAws_json1_0GetOpportunityResponse */ const de_GetOpportunityResponse = (output: any, context: __SerdeContext): GetOpportunityResponse => { return take(output, { + Arn: __expectString, Catalog: __expectString, CreatedDate: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), Customer: _json, @@ -1106,6 +2126,46 @@ const de_GetOpportunityResponse = (output: any, context: __SerdeContext): GetOpp }) as any; }; +/** + * deserializeAws_json1_0GetResourceSnapshotJobResponse + */ +const de_GetResourceSnapshotJobResponse = (output: any, context: __SerdeContext): GetResourceSnapshotJobResponse => { + return take(output, { + Arn: __expectString, + Catalog: __expectString, + CreatedAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + EngagementId: __expectString, + Id: __expectString, + LastFailure: __expectString, + LastSuccessfulExecutionDate: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + ResourceArn: __expectString, + ResourceId: __expectString, + ResourceSnapshotTemplateName: __expectString, + ResourceType: __expectString, + Status: __expectString, + }) as any; +}; + +/** + * deserializeAws_json1_0GetResourceSnapshotResponse + */ +const de_GetResourceSnapshotResponse = (output: any, context: __SerdeContext): GetResourceSnapshotResponse => { + return take(output, { + Arn: __expectString, + Catalog: __expectString, + CreatedAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + CreatedBy: __expectString, + EngagementId: __expectString, + Payload: (_: any) => _json(__expectUnion(_)), + ResourceId: __expectString, + ResourceSnapshotTemplateName: __expectString, + ResourceType: __expectString, + Revision: __expectInt32, + }) as any; +}; + +// de_GetSellingSystemSettingsResponse omitted. + // de_InternalServerException omitted. /** @@ -1124,8 +2184,107 @@ const de_LifeCycle = (output: any, context: __SerdeContext): LifeCycle => { }) as any; }; +// de_LifeCycleForView omitted. + // de_LifeCycleSummary omitted. +/** + * deserializeAws_json1_0ListEngagementByAcceptingInvitationTasksResponse + */ +const de_ListEngagementByAcceptingInvitationTasksResponse = ( + output: any, + context: __SerdeContext +): ListEngagementByAcceptingInvitationTasksResponse => { + return take(output, { + NextToken: __expectString, + TaskSummaries: (_: any) => de_ListEngagementByAcceptingInvitationTaskSummaries(_, context), + }) as any; +}; + +/** + * deserializeAws_json1_0ListEngagementByAcceptingInvitationTaskSummaries + */ +const de_ListEngagementByAcceptingInvitationTaskSummaries = ( + output: any, + context: __SerdeContext +): ListEngagementByAcceptingInvitationTaskSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_ListEngagementByAcceptingInvitationTaskSummary(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_json1_0ListEngagementByAcceptingInvitationTaskSummary + */ +const de_ListEngagementByAcceptingInvitationTaskSummary = ( + output: any, + context: __SerdeContext +): ListEngagementByAcceptingInvitationTaskSummary => { + return take(output, { + EngagementInvitationId: __expectString, + Message: __expectString, + OpportunityId: __expectString, + ReasonCode: __expectString, + ResourceSnapshotJobId: __expectString, + StartTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + TaskArn: __expectString, + TaskId: __expectString, + TaskStatus: __expectString, + }) as any; +}; + +/** + * deserializeAws_json1_0ListEngagementFromOpportunityTasksResponse + */ +const de_ListEngagementFromOpportunityTasksResponse = ( + output: any, + context: __SerdeContext +): ListEngagementFromOpportunityTasksResponse => { + return take(output, { + NextToken: __expectString, + TaskSummaries: (_: any) => de_ListEngagementFromOpportunityTaskSummaries(_, context), + }) as any; +}; + +/** + * deserializeAws_json1_0ListEngagementFromOpportunityTaskSummaries + */ +const de_ListEngagementFromOpportunityTaskSummaries = ( + output: any, + context: __SerdeContext +): ListEngagementFromOpportunityTaskSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_ListEngagementFromOpportunityTaskSummary(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_json1_0ListEngagementFromOpportunityTaskSummary + */ +const de_ListEngagementFromOpportunityTaskSummary = ( + output: any, + context: __SerdeContext +): ListEngagementFromOpportunityTaskSummary => { + return take(output, { + EngagementId: __expectString, + EngagementInvitationId: __expectString, + Message: __expectString, + OpportunityId: __expectString, + ReasonCode: __expectString, + ResourceSnapshotJobId: __expectString, + StartTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + TaskArn: __expectString, + TaskId: __expectString, + TaskStatus: __expectString, + }) as any; +}; + /** * deserializeAws_json1_0ListEngagementInvitationsResponse */ @@ -1139,6 +2298,20 @@ const de_ListEngagementInvitationsResponse = ( }) as any; }; +// de_ListEngagementMembersResponse omitted. + +// de_ListEngagementResourceAssociationsResponse omitted. + +/** + * deserializeAws_json1_0ListEngagementsResponse + */ +const de_ListEngagementsResponse = (output: any, context: __SerdeContext): ListEngagementsResponse => { + return take(output, { + EngagementSummaryList: (_: any) => de_EngagementSummaryList(_, context), + NextToken: __expectString, + }) as any; +}; + /** * deserializeAws_json1_0ListOpportunitiesResponse */ @@ -1149,6 +2322,10 @@ const de_ListOpportunitiesResponse = (output: any, context: __SerdeContext): Lis }) as any; }; +// de_ListResourceSnapshotJobsResponse omitted. + +// de_ListResourceSnapshotsResponse omitted. + /** * deserializeAws_json1_0ListSolutionsResponse */ @@ -1204,6 +2381,7 @@ const de_OpportunitySummaries = (output: any, context: __SerdeContext): Opportun */ const de_OpportunitySummary = (output: any, context: __SerdeContext): OpportunitySummary => { return take(output, { + Arn: __expectString, Catalog: __expectString, CreatedDate: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), Customer: _json, @@ -1216,6 +2394,8 @@ const de_OpportunitySummary = (output: any, context: __SerdeContext): Opportunit }) as any; }; +// de_OpportunitySummaryView omitted. + // de_PartnerOpportunityTeamMembersList omitted. // de_Payload omitted. @@ -1250,6 +2430,10 @@ const de_ProfileNextStepsHistory = (output: any, context: __SerdeContext): Profi // de_ProjectSummary omitted. +// de_ProjectView omitted. + +// de_PutSellingSystemSettingsResponse omitted. + // de_Receiver omitted. // de_ReceiverResponsibilityList omitted. @@ -1258,6 +2442,16 @@ const de_ProfileNextStepsHistory = (output: any, context: __SerdeContext): Profi // de_ResourceNotFoundException omitted. +// de_ResourceSnapshotJobSummary omitted. + +// de_ResourceSnapshotJobSummaryList omitted. + +// de_ResourceSnapshotPayload omitted. + +// de_ResourceSnapshotSummary omitted. + +// de_ResourceSnapshotSummaryList omitted. + // de_SalesActivities omitted. // de_SenderContact omitted. @@ -1273,6 +2467,7 @@ const de_ProfileNextStepsHistory = (output: any, context: __SerdeContext): Profi */ const de_SolutionBase = (output: any, context: __SerdeContext): SolutionBase => { return take(output, { + Arn: __expectString, Catalog: __expectString, Category: __expectString, CreatedDate: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), @@ -1308,6 +2503,7 @@ const de_StartEngagementByAcceptingInvitationTaskResponse = ( Message: __expectString, OpportunityId: __expectString, ReasonCode: __expectString, + ResourceSnapshotJobId: __expectString, StartTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), TaskArn: __expectString, TaskId: __expectString, @@ -1323,9 +2519,12 @@ const de_StartEngagementFromOpportunityTaskResponse = ( context: __SerdeContext ): StartEngagementFromOpportunityTaskResponse => { return take(output, { + EngagementId: __expectString, + EngagementInvitationId: __expectString, Message: __expectString, OpportunityId: __expectString, ReasonCode: __expectString, + ResourceSnapshotJobId: __expectString, StartTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), TaskArn: __expectString, TaskId: __expectString, diff --git a/codegen/sdk-codegen/aws-models/partnercentral-selling.json b/codegen/sdk-codegen/aws-models/partnercentral-selling.json index 653f8409369f..018c95e84c04 100644 --- a/codegen/sdk-codegen/aws-models/partnercentral-selling.json +++ b/codegen/sdk-codegen/aws-models/partnercentral-selling.json @@ -5,6 +5,9 @@ "type": "service", "version": "2022-07-26", "resources": [ + { + "target": "com.amazonaws.partnercentralselling#Engagement" + }, { "target": "com.amazonaws.partnercentralselling#EngagementByAcceptingInvitationTask" }, @@ -17,6 +20,15 @@ { "target": "com.amazonaws.partnercentralselling#Opportunity" }, + { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshot" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJob" + }, + { + "target": "com.amazonaws.partnercentralselling#SellingSystemSettings" + }, { "target": "com.amazonaws.partnercentralselling#Solution" } @@ -47,7 +59,7 @@ }, "aws.iam#supportedPrincipalTypes": ["Root", "IAMUser", "IAMRole", "FederatedUser"], "aws.protocols#awsJson1_0": {}, - "smithy.api#documentation": "AWS Partner Central API for Selling\n

    \n AWS Partner Central API for Selling Reference Guide\n

    \n

    This Amazon Web Services (AWS) Partner Central API reference is\n designed to help AWS\n Partners integrate Customer Relationship Management (CRM)\n systems with AWS Partner Central. Partners can automate interactions with\n AWS Partner Central, which helps to ensure effective engagements in joint\n business activities.

    \n

    The API provides standard AWS API functionality. Access it by\n either using API Actions or by using an AWS SDK that's tailored to your\n programming language or platform. For more information, see Getting Started with\n AWS and Tools to Build on AWS.

    \n

    \n Features offered by AWS Partner Central API\n

    \n
      \n
    1. \n

      \n Opportunity management:\n Manages coselling opportunities through API actions such as\n CreateOpportunity, UpdateOpportunity,\n ListOpportunities, GetOpportunity, and\n AssignOpportunity.

      \n
    2. \n
    3. \n

      \n AWS referral management:\n Manages referrals shared by AWS using actions such as\n ListEngagementInvitations,\n GetEngagementInvitation,\n StartEngagementByAcceptingInvitation, and\n RejectEngagementInvitation.

      \n
    4. \n
    5. \n

      \n Entity association:\n Associates related entities such as AWS Products,\n Partner Solutions, and AWS\n Marketplace Private Offers with opportunities using the\n actions AssociateOpportunity, and\n DisassociateOpportunity.

      \n
    6. \n
    7. \n

      \n View AWS opportunity\n details: Retrieves real-time summaries of AWS\n opportunities using the GetAWSOpportunitySummary\n action.

      \n
    8. \n
    9. \n

      \n List solutions: Provides\n list APIs for listing partner offers using\n ListSolutions.

      \n
    10. \n
    11. \n

      \n Event subscription:\n Subscribe to real-time opportunity updates through AWS EventBridge by\n using actions such as Opportunity Created,\n Opportunity Updated, Engagement\n Invitation Accepted, Engagement Invitation\n Rejected, and Engagement Invitation\n Created.

      \n
    12. \n
    ", + "smithy.api#documentation": "AWS Partner Central API for Selling\n

    \n AWS Partner Central API for Selling Reference\n Guide\n

    \n

    This Amazon Web Services (AWS) Partner Central API reference is designed to help\n AWS Partners integrate\n Customer Relationship Management (CRM) systems with AWS Partner Central. Partners can\n automate interactions with AWS Partner Central, which helps to ensure effective\n engagements in joint business activities.

    \n

    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\n or platform. For more information, see Getting Started with AWS and Tools to Build on AWS.

    \n

    \n Features offered by AWS Partner Central API\n

    \n
      \n
    1. \n

      \n Opportunity management: Manages coselling\n opportunities through API actions such as CreateOpportunity,\n UpdateOpportunity, ListOpportunities,\n GetOpportunity, and AssignOpportunity.

      \n
    2. \n
    3. \n

      \n AWS referral management: Manages referrals\n shared by AWS using actions such as ListEngagementInvitations,\n GetEngagementInvitation,\n StartEngagementByAcceptingInvitation, and\n RejectEngagementInvitation.

      \n
    4. \n
    5. \n

      \n Entity association: Associates related\n entities such as AWS Products, Partner\n Solutions, and AWS Marketplace Private\n Offers with opportunities using the actions\n AssociateOpportunity, and\n DisassociateOpportunity.

      \n
    6. \n
    7. \n

      \n View AWS opportunity details: Retrieves\n real-time summaries of AWS opportunities using the\n GetAWSOpportunitySummary action.

      \n
    8. \n
    9. \n

      \n List solutions: Provides list APIs for\n listing partner offers using ListSolutions.

      \n
    10. \n
    11. \n

      \n Event subscription: Subscribe to real-time\n opportunity updates through AWS EventBridge by using actions such as\n Opportunity Created, Opportunity\n Updated, Engagement Invitation Accepted,\n Engagement Invitation Rejected, and\n Engagement Invitation Created.

      \n
    12. \n
    ", "smithy.api#title": "Partner Central Selling API", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -389,6 +401,66 @@ } } }, + "com.amazonaws.partnercentralselling#AcceptEngagementInvitation": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#AcceptEngagementInvitationRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#InternalServerException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to accept Engagement Invitations on AWS Partner Central" + }, + "smithy.api#documentation": "

    \n Use the AcceptEngagementInvitation action to accept an engagement invitation shared by AWS. \n Accepting the invitation indicates your willingness to participate in the engagement, \n granting you access to all engagement-related data.\n

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/AcceptEngagementInvitation", + "code": 200 + } + } + }, + "com.amazonaws.partnercentralselling#AcceptEngagementInvitationRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The CatalogType parameter specifies the catalog associated with the engagement invitation. \n Accepted values are AWS and Sandbox, \n which determine the environment in which the engagement invitation is managed.\n

    ", + "smithy.api#required": {} + } + }, + "Identifier": { + "target": "com.amazonaws.partnercentralselling#EngagementInvitationArnOrIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The Identifier parameter in the AcceptEngagementInvitationRequest specifies the unique \n identifier of the EngagementInvitation to be accepted. \n Providing the correct identifier ensures that the intended invitation is accepted.\n

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.partnercentralselling#AccessDeniedException": { "type": "structure", "members": { @@ -397,7 +469,7 @@ } }, "traits": { - "smithy.api#documentation": "

    This error occurs when you don't have permission to perform the\n requested action.\n

    \n

    You don’t have access to this action or resource. Review IAM policies or contact your AWS administrator for assistance.\n

    ", + "smithy.api#documentation": "

    This error occurs when you don't have permission to perform the requested\n action.

    \n

    You don’t have access to this action or resource. Review IAM policies or contact your\n AWS administrator for assistance.

    ", "smithy.api#error": "client", "smithy.api#httpError": 403 } @@ -408,13 +480,13 @@ "Industry": { "target": "com.amazonaws.partnercentralselling#Industry", "traits": { - "smithy.api#documentation": "

    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.\n

    " + "smithy.api#documentation": "

    Specifies the industry the end Customer belongs to that's associated with\n the Opportunity. It refers to the category or sector where the customer's\n business operates. This is a required field.

    " } }, "OtherIndustry": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's industry associated with the Opportunity, when the selected value in the Industry field is Other.\n

    ", + "smithy.api#documentation": "

    Specifies the end Customer's industry associated with the\n Opportunity, when the selected value in the Industry field\n is Other.

    ", "smithy.api#length": { "max": 255 } @@ -423,7 +495,7 @@ "CompanyName": { "target": "com.amazonaws.partnercentralselling#Name", "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's company name associated with the Opportunity.\n

    ", + "smithy.api#documentation": "

    Specifies the end Customer's company name associated with the\n Opportunity.

    ", "smithy.api#length": { "max": 120 }, @@ -433,30 +505,30 @@ "WebsiteUrl": { "target": "com.amazonaws.partnercentralselling#WebsiteUrl", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    " + "smithy.api#documentation": "

    Specifies the end customer's company website URL associated with the\n Opportunity. This value is crucial to map the customer within the\n Amazon Web Services CRM system. This field is required in all cases except when the\n opportunity is related to national security.

    " } }, "AwsAccountId": { "target": "com.amazonaws.partnercentralselling#AwsAccount", "traits": { - "smithy.api#documentation": "

    Specifies the Customer Amazon Web Services account ID associated with the Opportunity.\n

    " + "smithy.api#documentation": "

    Specifies the Customer\n Amazon Web Services account ID associated with the Opportunity.

    " } }, "Address": { "target": "com.amazonaws.partnercentralselling#Address", "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's address details associated with the Opportunity.\n

    " + "smithy.api#documentation": "

    Specifies the end Customer's address details associated with the\n Opportunity.

    " } }, "Duns": { "target": "com.amazonaws.partnercentralselling#DunsNumber", "traits": { - "smithy.api#documentation": "

    Indicates the Customer DUNS number, if available.\n

    " + "smithy.api#documentation": "

    Indicates the Customer DUNS number, if available.

    " } } }, "traits": { - "smithy.api#documentation": "

    Specifies the Customer's account details associated with the Opportunity.\n

    " + "smithy.api#documentation": "

    Specifies the Customer's account details associated with the\n Opportunity.

    " } }, "com.amazonaws.partnercentralselling#AccountReceiver": { @@ -465,19 +537,19 @@ "Alias": { "target": "com.amazonaws.partnercentralselling#Alias", "traits": { - "smithy.api#documentation": "

    Represents the alias of the partner account receiving the Engagement Invitation, making it easier to identify and track the recipient in reports or logs.

    " + "smithy.api#documentation": "

    Represents the alias of the partner account receiving the Engagement Invitation,\n making it easier to identify and track the recipient in reports or logs.

    " } }, "AwsAccountId": { "target": "com.amazonaws.partnercentralselling#AwsAccount", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

    Indicates the AWS account ID of the partner who received the Engagement Invitation.\n This is a unique identifier for managing engagements with specific AWS accounts.

    ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    Contains the account details of the partner who received the Engagement Invitation, including the AWS account ID and company name.

    " + "smithy.api#documentation": "

    Contains the account details of the partner who received the Engagement Invitation,\n including the AWS account ID and company name.

    " } }, "com.amazonaws.partnercentralselling#AccountSummary": { @@ -486,13 +558,13 @@ "Industry": { "target": "com.amazonaws.partnercentralselling#Industry", "traits": { - "smithy.api#documentation": "

    Specifies which industry the end Customer belongs to associated with the Opportunity.\n It refers to the category or sector that the customer's business operates in.\n

    \n

    To submit a value outside the picklist, use\n Other.\n

    \n

    Conditionally mandatory if Other is selected for Industry Vertical in LOVs.\n

    " + "smithy.api#documentation": "

    Specifies which industry the end Customer belongs to associated with the\n Opportunity. It refers to the category or sector that the customer's\n business operates in.

    \n

    To submit a value outside the picklist, use Other.

    \n

    Conditionally mandatory if Other is selected for Industry Vertical in\n LOVs.

    " } }, "OtherIndustry": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's industry associated with the \n Opportunity, when the selected value in the Industry field is Other. This field is relevant\n when the customer's industry doesn't fall under the predefined picklist values and requires a custom\n description.\n

    ", + "smithy.api#documentation": "

    Specifies the end Customer's industry associated with the \n Opportunity, when the selected value in the Industry field is\n Other. This field is relevant when the customer's industry doesn't fall\n under the predefined picklist values and requires a custom description.

    ", "smithy.api#length": { "max": 255 } @@ -501,7 +573,7 @@ "CompanyName": { "target": "com.amazonaws.partnercentralselling#Name", "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's company name associated with the Opportunity.\n

    ", + "smithy.api#documentation": "

    Specifies the end Customer's company name associated with the\n Opportunity.

    ", "smithy.api#length": { "max": 120 }, @@ -511,18 +583,18 @@ "WebsiteUrl": { "target": "com.amazonaws.partnercentralselling#WebsiteUrl", "traits": { - "smithy.api#documentation": "

    Specifies the end customer's company website URL associated with the Opportunity. This\n value is crucial to map the customer within the Amazon Web Services CRM system.\n

    " + "smithy.api#documentation": "

    Specifies the end customer's company website URL associated with the\n Opportunity. This value is crucial to map the customer within the\n Amazon Web Services CRM system.

    " } }, "Address": { "target": "com.amazonaws.partnercentralselling#AddressSummary", "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's address details associated with the Opportunity.\n

    " + "smithy.api#documentation": "

    Specifies the end Customer's address details associated with the\n Opportunity.

    " } } }, "traits": { - "smithy.api#documentation": "

    An object that contains an Account's subset of fields.\n

    " + "smithy.api#documentation": "

    An object that contains an Account's subset of fields.

    " } }, "com.amazonaws.partnercentralselling#Address": { @@ -531,7 +603,7 @@ "City": { "target": "com.amazonaws.partnercentralselling#AddressPart", "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's city associated with the Opportunity.\n

    ", + "smithy.api#documentation": "

    Specifies the end Customer's city associated with the\n Opportunity.

    ", "smithy.api#length": { "max": 255 } @@ -540,7 +612,7 @@ "PostalCode": { "target": "com.amazonaws.partnercentralselling#AddressPart", "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's postal code associated with the Opportunity.\n

    ", + "smithy.api#documentation": "

    Specifies the end Customer's postal code associated with the\n Opportunity.

    ", "smithy.api#length": { "max": 20 } @@ -549,19 +621,19 @@ "StateOrRegion": { "target": "com.amazonaws.partnercentralselling#AddressPart", "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's state or region associated with the Opportunity.\n

    \n

    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\n

    " + "smithy.api#documentation": "

    Specifies the end Customer's state or region associated with the\n Opportunity.

    \n

    Valid values: Alabama | Alaska | American Samoa | Arizona | Arkansas |\n California | Colorado | Connecticut | Delaware | Dist. of Columbia | Federated\n States of Micronesia | Florida | Georgia | Guam | Hawaii | Idaho | Illinois |\n Indiana | Iowa | Kansas | Kentucky | Louisiana | Maine | Marshall Islands | Maryland\n | Massachusetts | Michigan | Minnesota | Mississippi | Missouri | Montana | Nebraska\n | Nevada | New Hampshire | New Jersey | New Mexico | New York | North Carolina |\n North Dakota | Northern Mariana Islands | Ohio | Oklahoma | Oregon | Palau |\n Pennsylvania | Puerto Rico | Rhode Island | South Carolina | South Dakota |\n Tennessee | Texas | Utah | Vermont | Virginia | Virgin Islands | Washington | West\n Virginia | Wisconsin | Wyoming | APO/AE | AFO/FPO | FPO, AP\n

    " } }, "CountryCode": { "target": "com.amazonaws.partnercentralselling#CountryCode", "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's country associated with the Opportunity.\n

    " + "smithy.api#documentation": "

    Specifies the end Customer's country associated with the\n Opportunity.

    " } }, "StreetAddress": { "target": "com.amazonaws.partnercentralselling#AddressPart", "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's street address associated with the Opportunity.\n

    ", + "smithy.api#documentation": "

    Specifies the end Customer's street address associated with the\n Opportunity.

    ", "smithy.api#length": { "max": 255 } @@ -569,7 +641,7 @@ } }, "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's address details associated with the Opportunity.\n

    " + "smithy.api#documentation": "

    Specifies the end Customer's address details associated with the\n Opportunity.

    " } }, "com.amazonaws.partnercentralselling#AddressPart": { @@ -584,7 +656,7 @@ "City": { "target": "com.amazonaws.partnercentralselling#AddressPart", "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's city associated with the Opportunity.\n

    ", + "smithy.api#documentation": "

    Specifies the end Customer's city associated with the\n Opportunity.

    ", "smithy.api#length": { "max": 255 } @@ -593,7 +665,7 @@ "PostalCode": { "target": "com.amazonaws.partnercentralselling#AddressPart", "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's postal code associated with the Opportunity.\n

    ", + "smithy.api#documentation": "

    Specifies the end Customer's postal code associated with the\n Opportunity.

    ", "smithy.api#length": { "max": 20 } @@ -602,18 +674,18 @@ "StateOrRegion": { "target": "com.amazonaws.partnercentralselling#AddressPart", "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's state or region associated with the Opportunity.\n

    \n

    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\n

    " + "smithy.api#documentation": "

    Specifies the end Customer's state or region associated with the\n Opportunity.

    \n

    Valid values: Alabama | Alaska | American Samoa | Arizona | Arkansas |\n California | Colorado | Connecticut | Delaware | Dist. of Columbia | Federated\n States of Micronesia | Florida | Georgia | Guam | Hawaii | Idaho | Illinois |\n Indiana | Iowa | Kansas | Kentucky | Louisiana | Maine | Marshall Islands | Maryland\n | Massachusetts | Michigan | Minnesota | Mississippi | Missouri | Montana | Nebraska\n | Nevada | New Hampshire | New Jersey | New Mexico | New York | North Carolina |\n North Dakota | Northern Mariana Islands | Ohio | Oklahoma | Oregon | Palau |\n Pennsylvania | Puerto Rico | Rhode Island | South Carolina | South Dakota |\n Tennessee | Texas | Utah | Vermont | Virginia | Virgin Islands | Washington | West\n Virginia | Wisconsin | Wyoming | APO/AE | AFO/FPO | FPO, AP\n

    " } }, "CountryCode": { "target": "com.amazonaws.partnercentralselling#CountryCode", "traits": { - "smithy.api#documentation": "

    Specifies the end Customer's country associated with the Opportunity.\n

    " + "smithy.api#documentation": "

    Specifies the end Customer's country associated with the\n Opportunity.

    " } } }, "traits": { - "smithy.api#documentation": "

    An object that contains an Address object's subset of fields.\n

    " + "smithy.api#documentation": "

    An object that contains an Address object's subset of fields.

    " } }, "com.amazonaws.partnercentralselling#Alias": { @@ -662,7 +734,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to assign Opportunities on AWS Partner Central" }, - "smithy.api#documentation": "

    \n Enables you to reassign an existing Opportunity to another user within your\n Partner Central account. The specified user receives the opportunity, and it appears on their\n Partner Central dashboard, allowing them to take necessary actions or proceed with the opportunity.\n

    \n

    \n This is useful for distributing opportunities to the appropriate team members\n 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.\n

    ", + "smithy.api#documentation": "

    Enables you to reassign an existing Opportunity to another user within\n your Partner Central account. The specified user receives the opportunity, and it\n appears on their Partner Central dashboard, allowing them to take necessary actions or\n proceed with the opportunity.

    \n

    This is useful for distributing opportunities to the appropriate team members or\n departments within your organization, ensuring that each opportunity is handled by the\n right person. By default, the opportunity owner is the one who creates it. Currently,\n there's no API to enumerate the list of available users.

    ", "smithy.api#http": { "method": "POST", "uri": "/AssignOpportunity", @@ -676,14 +748,14 @@ "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    \n Specifies the catalog associated with the request. This field takes a string value from a predefined list:\n AWS or Sandbox. The catalog determines which environment the opportunity\n is assigned in. Use AWS to assign real opportunities in the Amazon Web Services catalog,\n and Sandbox for testing in secure, isolated environments.\n

    ", + "smithy.api#documentation": "

    Specifies the catalog associated with the request. This field takes a string value\n from a predefined list: AWS or Sandbox. The catalog determines\n which environment the opportunity is assigned in. Use AWS to assign real\n opportunities in the Amazon Web Services catalog, and Sandbox for testing in\n secure, isolated environments.

    ", "smithy.api#required": {} } }, "Identifier": { "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", "traits": { - "smithy.api#documentation": "

    \n Requires the Opportunity's unique identifier when you want to\n assign it to another user. Provide the correct identifier so the intended opportunity is\n reassigned.\n

    ", + "smithy.api#documentation": "

    Requires the Opportunity's unique identifier when you want to assign it\n to another user. Provide the correct identifier so the intended opportunity is\n reassigned.

    ", "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Identifier" } @@ -691,7 +763,7 @@ "Assignee": { "target": "com.amazonaws.partnercentralselling#AssigneeContact", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

    Specifies the user or team member responsible for managing the assigned opportunity.\n This field identifies the Assignee based on the partner's internal\n team structure. Ensure that the email address is associated with a registered user in\n your Partner Central account.

    ", "smithy.api#required": {} } } @@ -706,14 +778,14 @@ "Email": { "target": "com.amazonaws.partnercentralselling#Email", "traits": { - "smithy.api#documentation": "

    Provides the email address of the assignee. This email is used for communications and notifications related to the opportunity.

    ", + "smithy.api#documentation": "

    Provides the email address of the assignee. This email is used for communications and\n notifications related to the opportunity.

    ", "smithy.api#required": {} } }, "FirstName": { "target": "com.amazonaws.partnercentralselling#Name", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

    Specifies the first name of the assignee managing the opportunity. The system\n automatically retrieves this value from the user profile by referencing the associated\n email address.

    ", "smithy.api#length": { "max": 80 }, @@ -723,7 +795,7 @@ "LastName": { "target": "com.amazonaws.partnercentralselling#Name", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

    Specifies the last name of the assignee managing the opportunity. The system\n automatically retrieves this value from the user profile by referencing the associated\n email address.

    ", "smithy.api#length": { "max": 80 }, @@ -733,13 +805,13 @@ "BusinessTitle": { "target": "com.amazonaws.partnercentralselling#JobTitle", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

    Specifies the business title of the assignee managing the opportunity. This helps\n clarify the individual's role and responsibilities within the organization. Use the\n value PartnerAccountManager to update details of the opportunity\n owner.

    ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    Represents the contact details of the individual assigned to manage the opportunity within the partner organization. This helps to ensure that there is a point of contact for the opportunity's progress.

    " + "smithy.api#documentation": "

    Represents the contact details of the individual assigned to manage the opportunity\n within the partner organization. This helps to ensure that there is a point of contact\n for the opportunity's progress.

    " } }, "com.amazonaws.partnercentralselling#AssociateOpportunity": { @@ -772,7 +844,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to associate Opportunities on AWS Partner Central with other entities" }, - "smithy.api#documentation": "

    \n Enables you to create a formal association between an Opportunity and various\n related entities, enriching the context and details of the opportunity for better collaboration and\n decision making. You can associate an opportunity with the following entity types:\n

    \n
      \n
    • \n

      \n Partner Solution:\n A software product or consulting practice created and delivered by Partners. Partner Solutions help customers address business challenges using Amazon Web Services services.\n

      \n
    • \n
    • \n

      \n Amazon Web Services Products:\n 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.\n

      \n
    • \n
    • \n

      \n Amazon Web Services Marketplace private offer:\n 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.\n

      \n
    • \n
    \n

    To obtain identifiers for these entities, use the following methods:

    \n
      \n
    • \n

      Solution: Use the ListSolutions operation.

      \n
    • \n
    • \n

      \n AWS Products: For the latest list of Amazon Web Services products, see Amazon Web Services products.\n

      \n
    • \n
    • \n

      \n 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.\n

      \n
    • \n
    ", + "smithy.api#documentation": "

    Enables you to create a formal association between an Opportunity and\n various related entities, enriching the context and details of the opportunity for\n better collaboration and decision making. You can associate an opportunity with the\n following entity types:

    \n
      \n
    • \n

      Partner Solution: A software product or consulting practice created and\n delivered by Partners. Partner Solutions help customers address\n business challenges using Amazon Web Services services.

      \n
    • \n
    • \n

      Amazon Web Services Products: Amazon Web Services offers many products and\n services that provide scalable, reliable, and cost-effective infrastructure\n solutions. For the latest list of Amazon Web Services products, see Amazon Web Services products.

      \n
    • \n
    • \n

      Amazon Web Services Marketplace private offer: Allows Amazon Web Services Marketplace sellers to extend\n custom pricing and terms to individual Amazon Web Services customers. Sellers can\n negotiate custom prices, payment schedules, and end user license terms through\n private offers, enabling Amazon Web Services customers to acquire software\n solutions tailored to their specific needs. For more information, see Private offers\n in Amazon Web Services Marketplace.

      \n
    • \n
    \n

    To obtain identifiers for these entities, use the following methods:

    \n
      \n
    • \n

      Solution: Use the ListSolutions operation.

      \n
    • \n
    • \n

      AWS Products: For the latest list of Amazon Web Services products, see Amazon Web Services products.

      \n
    • \n
    • \n

      Amazon Web Services Marketplace private offer: Use the Using the Amazon Web Services Marketplace Catalog API to list entities. Specifically, use the\n ListEntities operation to retrieve a list of private offers.\n The request returns the details of available private offers. For more\n information, see ListEntities.

      \n
    • \n
    ", "smithy.api#http": { "method": "POST", "uri": "/AssociateOpportunity", @@ -786,14 +858,14 @@ "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    \n Specifies the catalog associated with the request. This field takes a string value from a predefined list:\n AWS or Sandbox. The catalog determines which environment the opportunity\n association is made in. Use AWS to associate opportunities in the Amazon Web Services catalog,\n and Sandbox for testing in secure, isolated environments.\n

    ", + "smithy.api#documentation": "

    Specifies the catalog associated with the request. This field takes a string value\n from a predefined list: AWS or Sandbox. The catalog determines\n which environment the opportunity association is made in. Use AWS to\n associate opportunities in the Amazon Web Services catalog, and Sandbox for\n testing in secure, isolated environments.

    ", "smithy.api#required": {} } }, "OpportunityIdentifier": { "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", "traits": { - "smithy.api#documentation": "

    Requires the Opportunity's unique identifier when you want to\n associate it with a related entity. Provide the correct identifier so the intended opportunity is\n updated with the association.\n

    ", + "smithy.api#documentation": "

    Requires the Opportunity's unique identifier when you want to associate\n it with a related entity. Provide the correct identifier so the intended opportunity is\n updated with the association.

    ", "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Identifier" } @@ -801,14 +873,14 @@ "RelatedEntityType": { "target": "com.amazonaws.partnercentralselling#RelatedEntityType", "traits": { - "smithy.api#documentation": "

    Specifies the entity type that you're associating with the \n Opportunity. This helps to categorize and properly process the association.\n

    ", + "smithy.api#documentation": "

    Specifies the entity type that you're associating with the Opportunity.\n This helps to categorize and properly process the association.

    ", "smithy.api#required": {} } }, "RelatedEntityIdentifier": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Requires the related entity's unique identifier when you want to associate it with the \n Opportunity. For Amazon Web Services Marketplace entities, provide the Amazon Resource Name (ARN). Use the \n Amazon Web Services Marketplace API to obtain the ARN.\n

    ", + "smithy.api#documentation": "

    Requires the related entity's unique identifier when you want to associate it with the\n Opportunity. For Amazon Web Services Marketplace entities, provide the Amazon\n Resource Name (ARN). Use the \n Amazon Web Services Marketplace API to obtain the ARN.

    ", "smithy.api#length": { "min": 1, "max": 255 @@ -824,15 +896,32 @@ "com.amazonaws.partnercentralselling#AwsAccount": { "type": "string", "traits": { - "smithy.api#pattern": "^[0-9]{12}$", + "smithy.api#pattern": "^([0-9]{12}|\\w{1,12})$", "smithy.api#sensitive": {} } }, - "com.amazonaws.partnercentralselling#AwsAccountIdOrLabel": { - "type": "string", + "com.amazonaws.partnercentralselling#AwsAccountIdOrAliasList": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#AwsAccount" + }, "traits": { - "smithy.api#pattern": "^(aws|[0-9]{12})$", - "smithy.api#sensitive": {} + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.partnercentralselling#AwsAccountList": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#AwsAccount" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } } }, "com.amazonaws.partnercentralselling#AwsClosedLostReason": { @@ -1204,12 +1293,12 @@ "Contacts": { "target": "com.amazonaws.partnercentralselling#CustomerContactsList", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Provides a list of customer contacts involved in the opportunity. These contacts may\n include decision makers, influencers, and other stakeholders within the customer's\n organization.

    " } } }, "traits": { - "smithy.api#documentation": "

    Represents the customer associated with the AWS opportunity. This field captures key details about the customer that are necessary for managing the opportunity.

    " + "smithy.api#documentation": "

    Represents the customer associated with the AWS opportunity. This field captures key\n details about the customer that are necessary for managing the opportunity.

    " } }, "com.amazonaws.partnercentralselling#AwsOpportunityInsights": { @@ -1218,18 +1307,18 @@ "NextBestActions": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Provides recommendations from AWS on the next best actions to take in order to move the opportunity forward and increase the likelihood of success.

    " + "smithy.api#documentation": "

    Provides recommendations from AWS on the next best actions to take in order to move\n the opportunity forward and increase the likelihood of success.

    " } }, "EngagementScore": { "target": "com.amazonaws.partnercentralselling#EngagementScore", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Represents a score assigned by AWS to indicate the level of engagement and potential\n success for the opportunity. This score helps partners prioritize their efforts.

    " } } }, "traits": { - "smithy.api#documentation": "

    Contains insights provided by AWS for the opportunity, offering recommendations and analysis that can help the partner optimize their engagement and strategy.

    " + "smithy.api#documentation": "

    Contains insights provided by AWS for the opportunity, offering recommendations and\n analysis that can help the partner optimize their engagement and strategy.

    " } }, "com.amazonaws.partnercentralselling#AwsOpportunityLifeCycle": { @@ -1238,25 +1327,25 @@ "TargetCloseDate": { "target": "com.amazonaws.partnercentralselling#Date", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Indicates the expected date by which the opportunity is projected to close. This field\n helps in planning resources and timelines for both the partner and AWS.

    " } }, "ClosedLostReason": { "target": "com.amazonaws.partnercentralselling#AwsClosedLostReason", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Indicates the reason why an opportunity was marked as Closed Lost. This\n helps in understanding the context behind the lost opportunity and aids in refining\n future strategies.

    " } }, "Stage": { "target": "com.amazonaws.partnercentralselling#AwsOpportunityStage", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Represents the current stage of the opportunity in its lifecycle, such as\n Qualification, Validation, or Closed Won.\n This helps in understanding the opportunity's progress.

    " } }, "NextSteps": { "target": "com.amazonaws.partnercentralselling#PiiString", "traits": { - "smithy.api#documentation": "

    Specifies the immediate next steps required to progress the opportunity. These steps are based on AWS guidance and the current stage of the opportunity.

    ", + "smithy.api#documentation": "

    Specifies the immediate next steps required to progress the opportunity. These steps\n are based on AWS guidance and the current stage of the opportunity.

    ", "smithy.api#length": { "max": 255 } @@ -1265,7 +1354,7 @@ "NextStepsHistory": { "target": "com.amazonaws.partnercentralselling#ProfileNextStepsHistories", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

    Provides a historical log of previous next steps that were taken to move the\n opportunity forward. This helps in tracking the decision-making process and identifying\n any delays or obstacles encountered.

    ", "smithy.api#length": { "max": 50 } @@ -1273,7 +1362,7 @@ } }, "traits": { - "smithy.api#documentation": "

    Tracks the lifecycle of the AWS opportunity, including stages such as qualification, validation, and closure. This field helps partners understand the current status and progression of the opportunity.

    " + "smithy.api#documentation": "

    Tracks the lifecycle of the AWS opportunity, including stages such as qualification,\n validation, and closure. This field helps partners understand the current status and\n progression of the opportunity.

    " } }, "com.amazonaws.partnercentralselling#AwsOpportunityProject": { @@ -1282,12 +1371,12 @@ "ExpectedCustomerSpend": { "target": "com.amazonaws.partnercentralselling#ExpectedCustomerSpendList", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Indicates the expected spending by the customer over the course of the project. This\n value helps partners and AWS estimate the financial impact of the opportunity. Use the\n AWS Pricing Calculator to create an\n estimate of the customer’s total spend. If only annual recurring revenue (ARR) is\n available, distribute it across 12 months to provide an average monthly value.

    " } } }, "traits": { - "smithy.api#documentation": "

    Captures details about the project associated with the opportunity, including objectives, scope, and customer requirements.

    " + "smithy.api#documentation": "

    Captures details about the project associated with the opportunity, including\n objectives, scope, and customer requirements.

    " } }, "com.amazonaws.partnercentralselling#AwsOpportunityRelatedEntities": { @@ -1296,18 +1385,18 @@ "AwsProducts": { "target": "com.amazonaws.partnercentralselling#AwsProductIdentifiers", "traits": { - "smithy.api#documentation": "

    Specifies the AWS products associated with the opportunity. This field helps track the specific products that are part of the proposed solution.

    " + "smithy.api#documentation": "

    Specifies the AWS products associated with the opportunity. This field helps track the\n specific products that are part of the proposed solution.

    " } }, "Solutions": { "target": "com.amazonaws.partnercentralselling#SolutionIdentifiers", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Specifies the partner solutions related to the opportunity. These solutions represent\n the partner's offerings that are being positioned as part of the overall AWS\n opportunity.

    " } } }, "traits": { - "smithy.api#documentation": "

    Represents other entities related to the AWS opportunity, such as AWS products, partner solutions, and marketplace offers. These associations help build a complete picture of the solution being sold.

    " + "smithy.api#documentation": "

    Represents other entities related to the AWS opportunity, such as AWS products,\n partner solutions, and marketplace offers. These associations help build a complete\n picture of the solution being sold.

    " } }, "com.amazonaws.partnercentralselling#AwsOpportunityStage": { @@ -1480,19 +1569,19 @@ "InvolvementType": { "target": "com.amazonaws.partnercentralselling#SalesInvolvementType", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

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

    ", "smithy.api#required": {} } }, "Visibility": { "target": "com.amazonaws.partnercentralselling#Visibility", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

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

    " } } }, "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

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

    " } }, "com.amazonaws.partnercentralselling#AwsTeamMember": { @@ -1501,13 +1590,13 @@ "Email": { "target": "com.amazonaws.partnercentralselling#Email", "traits": { - "smithy.api#documentation": "

    \n Provides the Amazon Web Services team member's email address.\n

    " + "smithy.api#documentation": "

    Provides the Amazon Web Services team member's email address.

    " } }, "FirstName": { "target": "com.amazonaws.partnercentralselling#Name", "traits": { - "smithy.api#documentation": "

    \n Provides the Amazon Web Services team member's first name.\n

    ", + "smithy.api#documentation": "

    Provides the Amazon Web Services team member's first name.

    ", "smithy.api#length": { "max": 80 } @@ -1516,7 +1605,7 @@ "LastName": { "target": "com.amazonaws.partnercentralselling#Name", "traits": { - "smithy.api#documentation": "

    \n Provides the Amazon Web Services team member's last name.\n

    ", + "smithy.api#documentation": "

    Provides the Amazon Web Services team member's last name.

    ", "smithy.api#length": { "max": 80 } @@ -1525,12 +1614,12 @@ "BusinessTitle": { "target": "com.amazonaws.partnercentralselling#AwsMemberBusinessTitle", "traits": { - "smithy.api#documentation": "

    \n Specifies the Amazon Web Services team member's business title and indicates their organizational role.\n

    " + "smithy.api#documentation": "

    Specifies the Amazon Web Services team member's business title and indicates their\n organizational role.

    " } } }, "traits": { - "smithy.api#documentation": "

    \n Represents an Amazon Web Services team member for the engagement. This structure includes details such as name, email, and business title.\n

    " + "smithy.api#documentation": "

    Represents an Amazon Web Services team member for the engagement. This structure\n includes details such as name, email, and business title.

    " } }, "com.amazonaws.partnercentralselling#CatalogIdentifier": { @@ -1853,7 +1942,7 @@ } }, "traits": { - "smithy.api#documentation": "

    This error occurs when the request can’t be processed due to a conflict with the target resource's current state, which could result from updating or deleting the resource.\n

    \n

    Suggested action: Fetch the latest state of the resource, verify the state, and retry the request.\n

    ", + "smithy.api#documentation": "

    This error occurs when the request can’t be processed due to a conflict with the\n target resource's current state, which could result from updating or deleting the\n resource.

    \n

    Suggested action: Fetch the latest state of the resource, verify the state, and retry\n the request.

    ", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -1864,13 +1953,13 @@ "Email": { "target": "com.amazonaws.partnercentralselling#Email", "traits": { - "smithy.api#documentation": "

    The contact's email address associated with the Opportunity.\n

    " + "smithy.api#documentation": "

    The contact's email address associated with the Opportunity.

    " } }, "FirstName": { "target": "com.amazonaws.partnercentralselling#Name", "traits": { - "smithy.api#documentation": "

    The contact's first name associated with the Opportunity.\n

    ", + "smithy.api#documentation": "

    The contact's first name associated with the Opportunity.

    ", "smithy.api#length": { "max": 80 } @@ -1879,7 +1968,7 @@ "LastName": { "target": "com.amazonaws.partnercentralselling#Name", "traits": { - "smithy.api#documentation": "

    The contact's last name associated with the Opportunity.\n

    ", + "smithy.api#documentation": "

    The contact's last name associated with the Opportunity.

    ", "smithy.api#length": { "max": 80 } @@ -1888,18 +1977,18 @@ "BusinessTitle": { "target": "com.amazonaws.partnercentralselling#JobTitle", "traits": { - "smithy.api#documentation": "

    The partner contact's title (job title or role) associated with the Opportunity. BusinessTitle supports either PartnerAccountManager or OpportunityOwner.\n

    " + "smithy.api#documentation": "

    The partner contact's title (job title or role) associated with the\n Opportunity. BusinessTitle supports either\n PartnerAccountManager or OpportunityOwner.

    " } }, "Phone": { "target": "com.amazonaws.partnercentralselling#PhoneNumber", "traits": { - "smithy.api#documentation": "

    The contact's phone number associated with the Opportunity.\n

    " + "smithy.api#documentation": "

    The contact's phone number associated with the Opportunity.

    " } } }, "traits": { - "smithy.api#documentation": "

    An object that contains a Customer Partner's contact details.\n

    " + "smithy.api#documentation": "

    An object that contains a Customer Partner's contact details.

    " } }, "com.amazonaws.partnercentralselling#CountryCode": { @@ -3404,6 +3493,213 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.partnercentralselling#CreateEngagement": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#CreateEngagementRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#CreateEngagementResponse" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ConflictException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to creating engagements in AWS Partner Central" + }, + "smithy.api#documentation": "

    \n The CreateEngagement action allows you to create an Engagement, \n which serves as a collaborative space between different parties such as AWS Partners and AWS Sellers. \n This action automatically adds the caller's AWS account as an active member of the newly created Engagement.\n

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/CreateEngagement", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.partnercentralselling#CreateEngagementInvitation": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#CreateEngagementInvitationRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#CreateEngagementInvitationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ConflictException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to creating engagement invitations in AWS Partner Central" + }, + "smithy.api#documentation": "

    \nThis action creates an invitation from a sender to a single receiver to join an engagement.\n

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/CreateEngagementInvitation", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.partnercentralselling#CreateEngagementInvitationRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Specifies the catalog related to the engagement. \n Accepted values are AWS and Sandbox, \n which determine the environment in which the engagement is managed.\n

    ", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.partnercentralselling#ClientToken", + "traits": { + "smithy.api#documentation": "

    \n Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. \n This token helps prevent duplicate invitation creations.\n

    ", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "EngagementIdentifier": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The unique identifier of the Engagement associated with the invitation. \n This parameter ensures the invitation is created within the correct Engagement context.\n

    ", + "smithy.api#required": {} + } + }, + "Invitation": { + "target": "com.amazonaws.partnercentralselling#Invitation", + "traits": { + "smithy.api#documentation": "

    \nThe Invitation object all information necessary to initiate an engagement invitation to a partner. \nIt contains a personalized message from the sender, the invitation's receiver, and a payload. The Payload can \nbe the OpportunityInvitation, which includes detailed structures for sender contacts, partner responsibilities, customer \ninformation, and project details.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.partnercentralselling#CreateEngagementInvitationResponse": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.partnercentralselling#EngagementInvitationIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Unique identifier assigned to the newly created engagement invitation.\n

    ", + "smithy.api#required": {} + } + }, + "Arn": { + "target": "com.amazonaws.partnercentralselling#EngagementInvitationArn", + "traits": { + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) that uniquely identifies the engagement\n invitation.\n

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.partnercentralselling#CreateEngagementRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The CreateEngagementRequest$Catalog parameter specifies the catalog related to the engagement. \n Accepted values are AWS and Sandbox, \n which determine the environment in which the engagement is managed.\n

    ", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    \n The CreateEngagementRequest$ClientToken parameter specifies a unique, case-sensitive identifier to ensure that the request is handled exactly once. \n The value must not exceed sixty-four alphanumeric characters.\n

    ", + "smithy.api#idempotencyToken": {}, + "smithy.api#pattern": "^[!-~]{1,64}$", + "smithy.api#required": {} + } + }, + "Title": { + "target": "com.amazonaws.partnercentralselling#EngagementTitle", + "traits": { + "smithy.api#documentation": "

    \nSpecifies the title of the Engagement.\n

    ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.partnercentralselling#EngagementDescription", + "traits": { + "smithy.api#documentation": "

    \nProvides a description of the Engagement.\n

    ", + "smithy.api#required": {} + } + }, + "Contexts": { + "target": "com.amazonaws.partnercentralselling#EngagementContexts", + "traits": { + "smithy.api#documentation": "

    \n The Contexts field is a required array of objects, with a maximum of 5 contexts allowed, \n specifying detailed information about customer projects associated with the Engagement. \n Each context object contains a Type field indicating the context type, \n 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, \n facilitating effective collaboration between parties by providing relevant customer and project information.\n

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.partnercentralselling#CreateEngagementResponse": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", + "traits": { + "smithy.api#documentation": "

    \nUnique identifier assigned to the newly created engagement.\n

    " + } + }, + "Arn": { + "target": "com.amazonaws.partnercentralselling#EngagementArn", + "traits": { + "smithy.api#documentation": "

    \nThe Amazon Resource Name (ARN) that identifies the engagement.\n

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.partnercentralselling#CreateOpportunity": { "type": "operation", "input": { @@ -3437,7 +3733,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to create new Opportunities on AWS Partner Central" }, - "smithy.api#documentation": "

    \n Creates an Opportunity record in Partner Central. Use this operation to create\n a potential business opportunity for submission to Amazon Web Services. Creating an opportunity sets Lifecycle.ReviewStatus to\n Pending Submission.\n

    \n

    \n To submit an opportunity, follow these steps:\n

    \n
      \n
    1. \n

      To create the opportunity, use CreateOpportunity.

      \n
    2. \n
    3. \n

      To associate a solution with the opportunity, use AssociateOpportunity.

      \n
    4. \n
    5. \n

      To submit the opportunity, use StartEngagementFromOpportunityTask.

      \n
    6. \n
    \n

    \n After submission, you can't edit the opportunity until the review is complete. But opportunities in the\n Pending Submission state must have complete details. You can update\n the opportunity while it's in the Pending Submission state.\n

    \n

    \n There's a set of mandatory fields to create opportunities, but consider providing optional fields to\n enrich the opportunity record.\n

    ", + "smithy.api#documentation": "

    Creates an Opportunity record in Partner Central. Use this operation to\n create a potential business opportunity for submission to Amazon Web Services. Creating\n an opportunity sets Lifecycle.ReviewStatus to Pending\n Submission.

    \n

    To submit an opportunity, follow these steps:

    \n
      \n
    1. \n

      To create the opportunity, use CreateOpportunity.

      \n
    2. \n
    3. \n

      To associate a solution with the opportunity, use\n AssociateOpportunity.

      \n
    4. \n
    5. \n

      To submit the opportunity, use\n StartEngagementFromOpportunityTask.

      \n
    6. \n
    \n

    After submission, you can't edit the opportunity until the review is complete. But\n opportunities in the Pending Submission state must have complete details.\n You can update the opportunity while it's in the Pending Submission\n state.

    \n

    There's a set of mandatory fields to create opportunities, but consider providing\n optional fields to enrich the opportunity record.

    ", "smithy.api#http": { "method": "POST", "uri": "/CreateOpportunity", @@ -3452,26 +3748,26 @@ "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    \n Specifies the catalog associated with the request. This field takes a string value from a predefined list:\n AWS or Sandbox. The catalog determines which environment the opportunity\n is created in. Use AWS to create opportunities in the Amazon Web Services catalog,\n and Sandbox for testing in secure, isolated environments.\n

    ", + "smithy.api#documentation": "

    Specifies the catalog associated with the request. This field takes a string value\n from a predefined list: AWS or Sandbox. The catalog determines\n which environment the opportunity is created in. Use AWS to create\n opportunities in the Amazon Web Services catalog, and Sandbox for testing in\n secure, isolated environments.

    ", "smithy.api#required": {} } }, "PrimaryNeedsFromAws": { "target": "com.amazonaws.partnercentralselling#PrimaryNeedsFromAws", "traits": { - "smithy.api#documentation": "

    \n Identifies the type of support the partner needs from Amazon Web Services.\n

    \n

    \n Valid values:\n

    \n
      \n
    • \n

      \n 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.\n

      \n
    • \n
    • \n

      \n Cosell—Business Presentation: Request Amazon Web Services seller's participation in a joint customer presentation.\n

      \n
    • \n
    • \n

      \n Cosell—Competitive Information: Access to Amazon Web Services competitive resources and support for the partner's proposed solution.\n

      \n
    • \n
    • \n

      \n 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).\n

      \n
    • \n
    • \n

      \n Cosell—Technical Consultation: Connect with an Amazon Web Services Solutions Architect to address the partner's questions about the proposed solution.\n

      \n
    • \n
    • \n

      \n 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.\n

      \n
    • \n
    • \n

      \n Cosell—Deal Support: Request Amazon Web Services seller's support to progress the opportunity (for example: joint customer call, strategic positioning).\n

      \n
    • \n
    • \n

      \n Cosell—Support for Public Tender/RFx: Opportunity related to the public sector where the partner needs Amazon Web Services RFx support.\n

      \n
    • \n
    • \n

      \n Do Not Need Support from AWS Sales Rep: Indicates that a partner doesn't need support from an Amazon Web Services sales representative, and the partner solely manages the opportunity. It's possible to request coselling support on these opportunities at any stage during their lifecycles. This is also known as a for-visibility-only (FVO) opportunity.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    Identifies the type of support the partner needs from Amazon Web Services.

    \n

    Valid values:

    \n
      \n
    • \n

      Cosell—Architectural Validation: Confirmation from Amazon Web Services that the\n partner's proposed solution architecture is aligned with Amazon Web Services best\n practices and poses minimal architectural risks.

      \n
    • \n
    • \n

      Cosell—Business Presentation: Request Amazon Web Services seller's\n participation in a joint customer presentation.

      \n
    • \n
    • \n

      Cosell—Competitive Information: Access to Amazon Web Services competitive\n resources and support for the partner's proposed solution.

      \n
    • \n
    • \n

      Cosell—Pricing Assistance: Connect with an Amazon Web Services seller for\n support situations where a partner may be receiving an upfront discount on a\n service (for example: EDP deals).

      \n
    • \n
    • \n

      Cosell—Technical Consultation: Connect with an Amazon Web Services Solutions\n Architect to address the partner's questions about the proposed solution.

      \n
    • \n
    • \n

      Cosell—Total Cost of Ownership Evaluation: Assistance with quoting different\n cost savings of proposed solutions on Amazon Web Services versus on-premises or a\n traditional hosting environment.

      \n
    • \n
    • \n

      Cosell—Deal Support: Request Amazon Web Services seller's support to progress\n the opportunity (for example: joint customer call, strategic\n positioning).

      \n
    • \n
    • \n

      Cosell—Support for Public Tender/RFx: Opportunity related to the public sector\n where the partner needs Amazon Web Services RFx support.

      \n
    • \n
    • \n

      Do Not Need Support from AWS Sales Rep: Indicates that a partner doesn't need\n support from an Amazon Web Services sales representative, and the partner solely\n manages the opportunity. It's possible to request coselling support on these\n opportunities at any stage during their lifecycles. This is also known as a\n for-visibility-only (FVO) opportunity.

      \n
    • \n
    " } }, "NationalSecurity": { "target": "com.amazonaws.partnercentralselling#NationalSecurity", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Indicates whether the Opportunity pertains to a national security\n project. This field must be set to true only when the customer's industry\n is Government. Additional privacy and security measures apply\n during the review and management process for opportunities marked as\n NationalSecurity.

    " } }, "PartnerOpportunityIdentifier": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    \n Specifies the opportunity's unique identifier in the partner's CRM system. This value is essential\n to track and reconcile because it's included in the outbound payload to the partner.\n

    \n

    \n 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.\n

    ", + "smithy.api#documentation": "

    Specifies the opportunity's unique identifier in the partner's CRM system. This value\n is essential to track and reconcile because it's included in the outbound payload to the\n partner.

    \n

    This field allows partners to link an opportunity to their CRM, which helps to ensure\n seamless integration and accurate synchronization between the Partner Central API and\n the partner's internal systems.

    ", "smithy.api#length": { "max": 64 } @@ -3480,19 +3776,19 @@ "Customer": { "target": "com.amazonaws.partnercentralselling#Customer", "traits": { - "smithy.api#documentation": "

    Specifies customer details associated with the Opportunity.\n

    " + "smithy.api#documentation": "

    Specifies customer details associated with the Opportunity.

    " } }, "Project": { "target": "com.amazonaws.partnercentralselling#Project", "traits": { - "smithy.api#documentation": "

    An object that contains project details for the\n Opportunity.\n

    " + "smithy.api#documentation": "

    An object that contains project details for the Opportunity.

    " } }, "OpportunityType": { "target": "com.amazonaws.partnercentralselling#OpportunityType", "traits": { - "smithy.api#documentation": "

    \n Specifies the opportunity type as a renewal, new, or expansion.\n

    \n

    \n Opportunity types:\n

    \n
      \n
    • \n

      \n New opportunity:\n Represents a new business opportunity with a potential customer that's not previously engaged with your solutions or services.\n

      \n
    • \n
    • \n

      \n Renewal opportunity:\n Represents an opportunity to renew an existing contract or subscription with a current customer, ensuring continuity of service.\n

      \n
    • \n
    • \n

      \n Expansion opportunity:\n 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.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    Specifies the opportunity type as a renewal, new, or expansion.

    \n

    Opportunity types:

    \n
      \n
    • \n

      New opportunity: Represents a new business opportunity with a potential\n customer that's not previously engaged with your solutions or services.

      \n
    • \n
    • \n

      Renewal opportunity: Represents an opportunity to renew an existing contract\n or subscription with a current customer, ensuring continuity of service.

      \n
    • \n
    • \n

      Expansion opportunity: Represents an opportunity to expand the scope of an\n existing contract or subscription, either by adding new services or increasing\n the volume of existing services for a current customer.

      \n
    • \n
    " } }, "Marketing": { @@ -3504,13 +3800,13 @@ "SoftwareRevenue": { "target": "com.amazonaws.partnercentralselling#SoftwareRevenue", "traits": { - "smithy.api#documentation": "

    Specifies details of a customer's procurement terms. This is required only for partners in eligible programs.

    " + "smithy.api#documentation": "

    Specifies details of a customer's procurement terms. This is required only for\n partners in eligible programs.

    " } }, "ClientToken": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    \n Required to be unique, and should be unchanging, it can be randomly generated or a meaningful string.\n

    \n

    \n Default: None\n

    \n

    \n 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.\"\n

    ", + "smithy.api#documentation": "

    Required to be unique, and should be unchanging, it can be randomly generated or a\n meaningful string.

    \n

    Default: None

    \n

    Best practice: To help ensure uniqueness and avoid conflicts, use a Universally Unique\n Identifier (UUID) as the ClientToken. You can use standard libraries from\n most programming languages to generate this. If you use the same client token, the API\n returns the following error: \"Conflicting client token submitted for a new request\n body.\"

    ", "smithy.api#idempotencyToken": {}, "smithy.api#length": { "min": 1 @@ -3521,19 +3817,19 @@ "LifeCycle": { "target": "com.amazonaws.partnercentralselling#LifeCycle", "traits": { - "smithy.api#documentation": "

    An object that contains lifecycle details for the Opportunity.\n

    " + "smithy.api#documentation": "

    An object that contains lifecycle details for the Opportunity.

    " } }, "Origin": { "target": "com.amazonaws.partnercentralselling#OpportunityOrigin", "traits": { - "smithy.api#documentation": "

    \n Specifies the origin of the opportunity, indicating if it was sourced from Amazon Web Services or the partner.\n For all opportunities created with Catalog: AWS, this field must only be Partner Referral.\n However, when using Catalog: Sandbox, you can set this field to AWS Referral\n to simulate Amazon Web Services referral creation. This allows Amazon Web Services-originated flows testing in the sandbox catalog.\n

    " + "smithy.api#documentation": "

    Specifies the origin of the opportunity, indicating if it was sourced from Amazon Web Services or the partner. For all opportunities created with Catalog:\n AWS, this field must only be Partner Referral. However, when\n using Catalog: Sandbox, you can set this field to AWS Referral\n to simulate Amazon Web Services referral creation. This allows Amazon Web Services-originated flows testing in the sandbox catalog.

    " } }, "OpportunityTeam": { "target": "com.amazonaws.partnercentralselling#PartnerOpportunityTeamMembersList", "traits": { - "smithy.api#documentation": "

    Represents the internal team handling the opportunity. Specify collaborating members of this opportunity who are within the partner's organization.

    " + "smithy.api#documentation": "

    Represents the internal team handling the opportunity. Specify collaborating members\n of this opportunity who are within the partner's organization.

    " } } }, @@ -3547,20 +3843,20 @@ "Id": { "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    ", + "smithy.api#documentation": "

    Read-only, system-generated Opportunity unique identifier. Amazon Web Services creates this identifier, and it's used for all subsequent opportunity\n actions, such as updates, associations, and submissions. It helps to ensure that each\n opportunity is accurately tracked and managed.

    ", "smithy.api#required": {} } }, "PartnerOpportunityIdentifier": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Specifies the opportunity's unique identifier in the partner's CRM system. This value is essential to\n track and reconcile because it's included in the outbound payload sent back to the partner.\n

    " + "smithy.api#documentation": "

    Specifies the opportunity's unique identifier in the partner's CRM system. This value\n is essential to track and reconcile because it's included in the outbound payload sent\n back to the partner.

    " } }, "LastModifiedDate": { "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#documentation": "

    \n DateTime\n when the opportunity was last modified. When the Opportunity is created, its value is CreatedDate.\n

    " + "smithy.api#documentation": "

    \n DateTime when the opportunity was last modified. When the\n Opportunity is created, its value is CreatedDate.

    " } } }, @@ -3568,19 +3864,246 @@ "smithy.api#output": {} } }, - "com.amazonaws.partnercentralselling#CurrencyCode": { - "type": "enum", - "members": { - "USD": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "USD" - } - }, - "EUR": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "EUR" + "com.amazonaws.partnercentralselling#CreateResourceSnapshot": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#CreateResourceSnapshotRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#CreateResourceSnapshotResponse" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ConflictException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to creating resource snapshots in AWS Partner Central" + }, + "smithy.api#documentation": "

    \n This action allows you to create an immutable snapshot of a specific resource, such as an opportunity, \n within the context of an engagement. \n The snapshot captures a subset of the resource's data based on the schema defined by the provided template.

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/CreateResourceSnapshot", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.partnercentralselling#CreateResourceSnapshotJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#CreateResourceSnapshotJobRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#CreateResourceSnapshotJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ConflictException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to creating resource snapshot jobs in AWS Partner Central" + }, + "smithy.api#documentation": "

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

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/CreateResourceSnapshotJob", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.partnercentralselling#CreateResourceSnapshotJobRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

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

    ", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.partnercentralselling#ClientToken", + "traits": { + "smithy.api#documentation": "

    \n Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. \n This token helps prevent duplicate snapshot job creations.\n

    ", + "smithy.api#idempotencyToken": {}, + "smithy.api#pattern": "^[!-~]{1,64}$", + "smithy.api#required": {} + } + }, + "EngagementIdentifier": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", + "traits": { + "smithy.api#documentation": "

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

    ", + "smithy.api#required": {} + } + }, + "ResourceType": { + "target": "com.amazonaws.partnercentralselling#ResourceType", + "traits": { + "smithy.api#documentation": "

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

    ", + "smithy.api#required": {} + } + }, + "ResourceIdentifier": { + "target": "com.amazonaws.partnercentralselling#ResourceIdentifier", + "traits": { + "smithy.api#documentation": "

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

    ", + "smithy.api#required": {} + } + }, + "ResourceSnapshotTemplateIdentifier": { + "target": "com.amazonaws.partnercentralselling#ResourceTemplateName", + "traits": { + "smithy.api#documentation": "

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

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.partnercentralselling#CreateResourceSnapshotJobResponse": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The unique identifier for the created snapshot job.\n

    " + } + }, + "Arn": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobArn", + "traits": { + "smithy.api#documentation": "

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

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.partnercentralselling#CreateResourceSnapshotRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Specifies the catalog where the snapshot is created. Valid values are\n AWS and Sandbox.\n

    ", + "smithy.api#required": {} + } + }, + "EngagementIdentifier": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The unique identifier of the engagement associated with this snapshot. This field\n links the snapshot to a specific engagement context.\n

    ", + "smithy.api#required": {} + } + }, + "ResourceType": { + "target": "com.amazonaws.partnercentralselling#ResourceType", + "traits": { + "smithy.api#documentation": "

    \n Specifies the type of resource for which the snapshot is being created. This field\n determines the structure and content of the snapshot. Must be one of the supported\n resource types, such as: Opportunity.\n

    ", + "smithy.api#required": {} + } + }, + "ResourceIdentifier": { + "target": "com.amazonaws.partnercentralselling#ResourceIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The unique identifier of the specific resource to be snapshotted. The format and\n constraints of this identifier depend on the ResourceType specified. For example: For\n Opportunity type, it will be an opportunity ID.\n

    ", + "smithy.api#required": {} + } + }, + "ResourceSnapshotTemplateIdentifier": { + "target": "com.amazonaws.partnercentralselling#ResourceTemplateName", + "traits": { + "smithy.api#documentation": "

    \n The name of the template that defines the schema for the snapshot. This template\n determines which subset of the resource data will be included in the snapshot. Must\n correspond to an existing and valid template for the specified ResourceType.\n

    ", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.partnercentralselling#ClientToken", + "traits": { + "smithy.api#documentation": "

    \n Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. \n This token helps prevent duplicate snapshot creations.\n

    ", + "smithy.api#idempotencyToken": {}, + "smithy.api#pattern": "^[!-~]{1,64}$", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.partnercentralselling#CreateResourceSnapshotResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.partnercentralselling#ResourceArn", + "traits": { + "smithy.api#documentation": "

    \n Specifies the Amazon Resource Name (ARN) that uniquely identifies the snapshot\n created.\n

    " + } + }, + "Revision": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotRevision", + "traits": { + "smithy.api#documentation": "

    \n Specifies the revision number of the created snapshot. This field provides important\n information about the snapshot's place in the sequence of snapshots for the given\n resource.\n

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.partnercentralselling#CurrencyCode": { + "type": "enum", + "members": { + "USD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USD" + } + }, + "EUR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EUR" } }, "GBP": { @@ -4596,12 +5119,12 @@ "Contacts": { "target": "com.amazonaws.partnercentralselling#CustomerContactsList", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Represents the contact details for individuals associated with the customer of the\n Opportunity. This field captures relevant contacts, including\n decision-makers, influencers, and technical stakeholders within the customer\n organization. These contacts are key to progressing the opportunity.

    " } } }, "traits": { - "smithy.api#documentation": "

    An object that contains the customer's Account and Contact.\n

    " + "smithy.api#documentation": "

    An object that contains the customer's Account and\n Contact.

    " } }, "com.amazonaws.partnercentralselling#CustomerContactsList": { @@ -4610,6 +5133,23 @@ "target": "com.amazonaws.partnercentralselling#Contact" } }, + "com.amazonaws.partnercentralselling#CustomerProjectsContext": { + "type": "structure", + "members": { + "Customer": { + "target": "com.amazonaws.partnercentralselling#EngagementCustomer" + }, + "Project": { + "target": "com.amazonaws.partnercentralselling#EngagementCustomerProjectDetails", + "traits": { + "smithy.api#documentation": "

    \n Information about the customer project associated with the Engagement.\n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n The CustomerProjects structure in Engagements offers a flexible framework for managing\n customer-project relationships. It supports multiple customers per Engagement and\n multiple projects per customer, while also allowing for customers without projects and\n projects without specific customers.\n

    \n

    All Engagement members have full visibility of customers and their associated\n projects, enabling the capture of relevant context even when project details are not\n fully defined. This structure also facilitates targeted invitations, allowing partners\n to focus on specific customers and their business problems when sending Engagement\n invitations.

    " + } + }, "com.amazonaws.partnercentralselling#CustomerSummary": { "type": "structure", "members": { @@ -4621,7 +5161,7 @@ } }, "traits": { - "smithy.api#documentation": "

    An object that contains a Customer object's subset of fields.\n

    " + "smithy.api#documentation": "

    An object that contains a Customer object's subset of fields.

    " } }, "com.amazonaws.partnercentralselling#Date": { @@ -4636,6 +5176,64 @@ "smithy.api#timestampFormat": "date-time" } }, + "com.amazonaws.partnercentralselling#DeleteResourceSnapshotJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#DeleteResourceSnapshotJobRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to deleting resource snapshot jobs on AWS Partner Central" + }, + "smithy.api#documentation": "

    \n Use this action to deletes a previously created resource snapshot job. The job must be\n in a stopped state before it can be deleted.\n

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/DeleteResourceSnapshotJob", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.partnercentralselling#DeleteResourceSnapshotJobRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Specifies the catalog from which to delete the snapshot job. Valid values are\n AWS and Sandbox. \n

    ", + "smithy.api#required": {} + } + }, + "ResourceSnapshotJobIdentifier": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The unique identifier of the resource snapshot job to be deleted.\n

    ", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "Identifier" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.partnercentralselling#DeliveryModel": { "type": "enum", "members": { @@ -4713,7 +5311,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to disassociate Opportunities on AWS Partner Central from other entities" }, - "smithy.api#documentation": "

    \n 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.\n This operation is the counterpart to AssociateOpportunity, and it provides flexibility to manage\n associations as business needs change.\n

    \n

    \n Use this operation to update the associations of an Opportunity due to changes in the related entities,\n or if an association was made in error. Ensuring accurate associations helps maintain clarity and accuracy to track\n and manage business opportunities. When you replace an entity, first attach the new entity and then disassociate the\n one to be removed, especially if it's the last remaining entity that's required.\n

    ", + "smithy.api#documentation": "

    Allows you to remove an existing association between an Opportunity and\n related entities, such as a Partner Solution, Amazon Web Services product, or an Amazon Web Services Marketplace offer. This operation is the counterpart to\n AssociateOpportunity, and it provides flexibility to manage\n associations as business needs change.

    \n

    Use this operation to update the associations of an Opportunity due to\n changes in the related entities, or if an association was made in error. Ensuring\n accurate associations helps maintain clarity and accuracy to track and manage business\n opportunities. When you replace an entity, first attach the new entity and then\n disassociate the one to be removed, especially if it's the last remaining entity that's\n required.

    ", "smithy.api#http": { "method": "POST", "uri": "/DisassociateOpportunity", @@ -4727,14 +5325,14 @@ "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    \n Specifies the catalog associated with the request. This field takes a string value from a predefined list:\n AWS or Sandbox. The catalog determines which environment the opportunity\n disassociation is made in. Use AWS to disassociate opportunities in the Amazon Web Services catalog,\n and Sandbox for testing in secure, isolated environments.\n

    ", + "smithy.api#documentation": "

    Specifies the catalog associated with the request. This field takes a string value\n from a predefined list: AWS or Sandbox. The catalog determines\n which environment the opportunity disassociation is made in. Use AWS to\n disassociate opportunities in the Amazon Web Services catalog, and Sandbox\n for testing in secure, isolated environments.

    ", "smithy.api#required": {} } }, "OpportunityIdentifier": { "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", "traits": { - "smithy.api#documentation": "

    The opportunity's unique identifier for when you want to disassociate it from related entities. This identifier\n helps to ensure that the correct opportunity is updated.\n

    \n

    Validation: Ensure that the provided identifier corresponds to an existing opportunity in the Amazon Web Services system because\n incorrect identifiers result in an error and no changes are made.\n

    ", + "smithy.api#documentation": "

    The opportunity's unique identifier for when you want to disassociate it from related\n entities. This identifier helps to ensure that the correct opportunity is\n updated.

    \n

    Validation: Ensure that the provided identifier corresponds to an existing opportunity\n in the Amazon Web Services system because incorrect identifiers result in an error and no\n changes are made.

    ", "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Identifier" } @@ -4742,14 +5340,14 @@ "RelatedEntityType": { "target": "com.amazonaws.partnercentralselling#RelatedEntityType", "traits": { - "smithy.api#documentation": "

    The type of the entity that you're disassociating from the opportunity. When you specify the entity type, it helps\n the system correctly process the disassociation request to ensure that the right connections are removed.\n

    \n

    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.\n

    \n

    Validation: Provide a valid entity type to help ensure successful disassociation. An invalid or incorrect entity type results in an error.\n

    ", + "smithy.api#documentation": "

    The type of the entity that you're disassociating from the opportunity. When you\n specify the entity type, it helps the system correctly process the disassociation\n request to ensure that the right connections are removed.

    \n

    Examples of entity types include Partner Solution, Amazon Web Services product, and\n Amazon Web Services Marketplaceoffer. Ensure that the value matches one of the expected entity\n types.

    \n

    Validation: Provide a valid entity type to help ensure successful disassociation. An\n invalid or incorrect entity type results in an error.

    ", "smithy.api#required": {} } }, "RelatedEntityIdentifier": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    The related entity's identifier that you want to disassociate from the opportunity. Depending on the\n type of entity, this could be a simple identifier or an Amazon Resource Name (ARN) for entities managed\n through Amazon Web Services Marketplace.\n

    \n

    For Amazon Web Services Marketplace entities, use the Amazon Web Services Marketplace API to obtain the necessary ARNs.\n For guidance on retrieving these ARNs, see \n Amazon Web Services MarketplaceUsing the Amazon Web Services Marketplace Catalog API.\n

    \n

    Validation: Ensure the identifier or ARN is valid and corresponds to an existing entity.\n An incorrect or invalid identifier results in an error.\n

    ", + "smithy.api#documentation": "

    The related entity's identifier that you want to disassociate from the opportunity.\n Depending on the type of entity, this could be a simple identifier or an Amazon Resource\n Name (ARN) for entities managed through Amazon Web Services Marketplace.

    \n

    For Amazon Web Services Marketplace entities, use the Amazon Web Services Marketplace API to obtain the\n necessary ARNs. For guidance on retrieving these ARNs, see \n Amazon Web Services MarketplaceUsing the Amazon Web Services Marketplace Catalog API.

    \n

    Validation: Ensure the identifier or ARN is valid and corresponds to an existing\n entity. An incorrect or invalid identifier results in an error.

    ", "smithy.api#length": { "min": 1, "max": 255 @@ -4779,24 +5377,75 @@ "smithy.api#sensitive": {} } }, - "com.amazonaws.partnercentralselling#EngagementByAcceptingInvitationTask": { + "com.amazonaws.partnercentralselling#Engagement": { "type": "resource", "identifiers": { + "Identifier": { + "target": "com.amazonaws.partnercentralselling#EngagementArnOrIdentifier" + }, "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier" - }, - "TaskId": { - "target": "com.amazonaws.partnercentralselling#TaskIdentifier" } }, "create": { - "target": "com.amazonaws.partnercentralselling#StartEngagementByAcceptingInvitationTask" + "target": "com.amazonaws.partnercentralselling#CreateEngagement" }, - "traits": { - "aws.api#arn": { - "template": "catalog/{Catalog}/engagement-by-accepting-invitation-task/{TaskId}", - "noAccount": true - }, + "read": { + "target": "com.amazonaws.partnercentralselling#GetEngagement" + }, + "list": { + "target": "com.amazonaws.partnercentralselling#ListEngagements" + }, + "operations": [ + { + "target": "com.amazonaws.partnercentralselling#ListEngagementMembers" + } + ], + "traits": { + "aws.api#arn": { + "template": "catalog/{Catalog}/engagement/{Identifier}", + "noAccount": true + }, + "aws.iam#disableConditionKeyInference": {}, + "aws.iam#iamResource": { + "relativeDocumentation": "/working-with-engagements.html" + }, + "smithy.api#documentation": "Represents an engagement in AWS Partner Central" + } + }, + "com.amazonaws.partnercentralselling#EngagementArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:.*" + } + }, + "com.amazonaws.partnercentralselling#EngagementArnOrIdentifier": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(arn:.*|eng-[0-9a-z]{14})$" + } + }, + "com.amazonaws.partnercentralselling#EngagementByAcceptingInvitationTask": { + "type": "resource", + "identifiers": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier" + }, + "TaskId": { + "target": "com.amazonaws.partnercentralselling#TaskIdentifier" + } + }, + "create": { + "target": "com.amazonaws.partnercentralselling#StartEngagementByAcceptingInvitationTask" + }, + "list": { + "target": "com.amazonaws.partnercentralselling#ListEngagementByAcceptingInvitationTasks" + }, + "traits": { + "aws.api#arn": { + "template": "catalog/{Catalog}/engagement-by-accepting-invitation-task/{TaskId}", + "noAccount": true + }, "aws.iam#disableConditionKeyInference": {}, "aws.iam#iamResource": { "name": "engagement-by-accepting-invitation-task", @@ -4805,40 +5454,97 @@ "smithy.api#documentation": "Represents a task that starts an Engagement by accepting an Engagement Invitation in AWS Partner Central" } }, + "com.amazonaws.partnercentralselling#EngagementContextDetails": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.partnercentralselling#EngagementContextType", + "traits": { + "smithy.api#documentation": "

    \n Specifies the type of Engagement context. Valid values are \"CustomerProject\" or\n \"Document\", indicating whether the context relates to a customer project or a document\n respectively. \n

    ", + "smithy.api#required": {} + } + }, + "Payload": { + "target": "com.amazonaws.partnercentralselling#EngagementContextPayload", + "traits": { + "smithy.api#documentation": "

    \n Contains the specific details of the Engagement context. The structure of this payload\n varies depending on the Type field. \n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n Provides detailed context information for an Engagement. This structure allows for\n specifying the type of context and its associated payload. \n

    " + } + }, + "com.amazonaws.partnercentralselling#EngagementContextPayload": { + "type": "union", + "members": { + "CustomerProject": { + "target": "com.amazonaws.partnercentralselling#CustomerProjectsContext", + "traits": { + "smithy.api#documentation": "

    \n Contains detailed information about a customer project when the context type is\n \"CustomerProject\". This field is present only when the Type in EngagementContextDetails\n is set to \"CustomerProject\".\n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n Represents the payload of an Engagement context. The structure of this payload varies\n based on the context type specified in the EngagementContextDetails.\n

    " + } + }, + "com.amazonaws.partnercentralselling#EngagementContextType": { + "type": "enum", + "members": { + "CUSTOMER_PROJECT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CustomerProject" + } + } + } + }, + "com.amazonaws.partnercentralselling#EngagementContexts": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#EngagementContextDetails" + }, + "traits": { + "smithy.api#length": { + "max": 5 + } + } + }, "com.amazonaws.partnercentralselling#EngagementCustomer": { "type": "structure", "members": { "Industry": { "target": "com.amazonaws.partnercentralselling#Industry", "traits": { - "smithy.api#documentation": "

    Specifies the industry to which the customer’s company belongs. This field helps categorize the opportunity based on the customer’s business sector.

    ", + "smithy.api#documentation": "

    Specifies the industry to which the customer’s company belongs. This field helps\n categorize the opportunity based on the customer’s business sector.

    ", "smithy.api#required": {} } }, "CompanyName": { "target": "com.amazonaws.partnercentralselling#CompanyName", "traits": { - "smithy.api#documentation": "

    Represents the name of the customer’s company associated with the Engagement Invitation. This field is used to identify the customer.

    ", + "smithy.api#documentation": "

    Represents the name of the customer’s company associated with the Engagement\n Invitation. This field is used to identify the customer.

    ", "smithy.api#required": {} } }, "WebsiteUrl": { "target": "com.amazonaws.partnercentralselling#CompanyWebsiteUrl", "traits": { - "smithy.api#documentation": "

    Provides the website URL of the customer’s company. This field helps partners verify the legitimacy and size of the customer organization.

    ", + "smithy.api#documentation": "

    Provides the website URL of the customer’s company. This field helps partners verify\n the legitimacy and size of the customer organization.

    ", "smithy.api#required": {} } }, "CountryCode": { "target": "com.amazonaws.partnercentralselling#CountryCode", "traits": { - "smithy.api#documentation": "

    Indicates the country in which the customer’s company operates. This field is useful for understanding regional requirements or compliance needs.

    ", + "smithy.api#documentation": "

    Indicates the country in which the customer’s company operates. This field is useful\n for understanding regional requirements or compliance needs.

    ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    Contains details about the customer associated with the Engagement Invitation, including company information and industry.

    " + "smithy.api#documentation": "

    Contains details about the customer associated with the Engagement Invitation,\n including company information and industry.

    " } }, "com.amazonaws.partnercentralselling#EngagementCustomerBusinessProblem": { @@ -4851,6 +5557,53 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.partnercentralselling#EngagementCustomerProjectDetails": { + "type": "structure", + "members": { + "Title": { + "target": "com.amazonaws.partnercentralselling#EngagementCustomerProjectTitle", + "traits": { + "smithy.api#documentation": "

    \n The title of the project.\n

    ", + "smithy.api#required": {} + } + }, + "BusinessProblem": { + "target": "com.amazonaws.partnercentralselling#EngagementCustomerBusinessProblem", + "traits": { + "smithy.api#documentation": "

    \n A description of the business problem the project aims to solve.\n

    ", + "smithy.api#required": {} + } + }, + "TargetCompletionDate": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    \n The target completion date for the customer's project.\n

    ", + "smithy.api#pattern": "^[1-9][0-9]{3}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n Provides comprehensive details about a customer project associated with an Engagement.\n This may include information such as project goals, timelines, and specific customer\n requirements.\n

    " + } + }, + "com.amazonaws.partnercentralselling#EngagementCustomerProjectTitle": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + } + } + }, + "com.amazonaws.partnercentralselling#EngagementDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 255 + } + } + }, "com.amazonaws.partnercentralselling#EngagementFromOpportunityTask": { "type": "resource", "identifiers": { @@ -4864,6 +5617,9 @@ "create": { "target": "com.amazonaws.partnercentralselling#StartEngagementFromOpportunityTask" }, + "list": { + "target": "com.amazonaws.partnercentralselling#ListEngagementFromOpportunityTasks" + }, "traits": { "aws.api#arn": { "template": "catalog/{Catalog}/engagement-from-opportunity-task/{TaskId}", @@ -4877,6 +5633,24 @@ "smithy.api#documentation": "Represents a task that starts an Engagement from an Opportunity in AWS Partner Central" } }, + "com.amazonaws.partnercentralselling#EngagementIdentifier": { + "type": "string", + "traits": { + "smithy.api#pattern": "^eng-[0-9a-z]{14}$" + } + }, + "com.amazonaws.partnercentralselling#EngagementIdentifiers": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#EngagementArnOrIdentifier" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.partnercentralselling#EngagementInvitation": { "type": "resource", "identifiers": { @@ -4887,6 +5661,9 @@ "target": "com.amazonaws.partnercentralselling#CatalogIdentifier" } }, + "create": { + "target": "com.amazonaws.partnercentralselling#CreateEngagementInvitation" + }, "read": { "target": "com.amazonaws.partnercentralselling#GetEngagementInvitation" }, @@ -4894,6 +5671,9 @@ "target": "com.amazonaws.partnercentralselling#ListEngagementInvitations" }, "operations": [ + { + "target": "com.amazonaws.partnercentralselling#AcceptEngagementInvitation" + }, { "target": "com.amazonaws.partnercentralselling#RejectEngagementInvitation" } @@ -4911,6 +5691,12 @@ "smithy.api#documentation": "Represents an Engagement Invitation that allows to join an Engagement on AWS Partner Central" } }, + "com.amazonaws.partnercentralselling#EngagementInvitationArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:aws:partnercentral::[0-9]{12}:[a-zA-Z]+/engagement-invitation/engi-[0-9,a-z]{13}$" + } + }, "com.amazonaws.partnercentralselling#EngagementInvitationArnOrIdentifier": { "type": "string", "traits": { @@ -4930,6 +5716,18 @@ "smithy.api#pattern": "^engi-[0-9,a-z]{13}$" } }, + "com.amazonaws.partnercentralselling#EngagementInvitationIdentifiers": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#EngagementInvitationArnOrIdentifier" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.partnercentralselling#EngagementInvitationPayloadType": { "type": "enum", "members": { @@ -4953,56 +5751,62 @@ "Arn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) of the Engagement Invitation. The ARN is a unique\n identifier that allows partners to reference the invitation in their system and manage\n its lifecycle.

    " } }, "PayloadType": { "target": "com.amazonaws.partnercentralselling#EngagementInvitationPayloadType", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Describes the type of payload associated with the Engagement Invitation, such as\n Opportunity or MarketplaceOffer. This helps partners\n understand the nature of the engagement request from AWS.

    " } }, "Id": { "target": "com.amazonaws.partnercentralselling#EngagementInvitationArnOrIdentifier", "traits": { - "smithy.api#documentation": "

    Represents the unique identifier of the Engagement Invitation. This identifier is used to track the invitation and to manage responses like acceptance or rejection.

    ", + "smithy.api#documentation": "

    Represents the unique identifier of the Engagement Invitation. This identifier is used\n to track the invitation and to manage responses like acceptance or rejection.

    ", "smithy.api#required": {} } }, + "EngagementId": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The identifier of the Engagement associated with this invitation. This links the\n invitation to its parent Engagement. \n

    " + } + }, "EngagementTitle": { "target": "com.amazonaws.partnercentralselling#EngagementTitle", "traits": { - "smithy.api#documentation": "

    Provides a short title or description of the Engagement Invitation. This title helps partners quickly identify and differentiate between multiple engagement opportunities.

    " + "smithy.api#documentation": "

    Provides a short title or description of the Engagement Invitation. This title helps\n partners quickly identify and differentiate between multiple engagement\n opportunities.

    " } }, "Status": { "target": "com.amazonaws.partnercentralselling#InvitationStatus", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Represents the current status of the Engagement Invitation, such as\n Pending, Accepted, or Rejected. The status\n helps track the progress and response to the invitation.

    " } }, "InvitationDate": { "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Indicates the date when the Engagement Invitation was sent to the partner. This\n provides context for when the opportunity was shared and helps in tracking the timeline\n for engagement.

    " } }, "ExpirationDate": { "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Indicates the date and time when the Engagement Invitation will expire. After this\n date, the invitation can no longer be accepted, and the opportunity will be unavailable\n to the partner.

    " } }, "SenderAwsAccountId": { - "target": "com.amazonaws.partnercentralselling#AwsAccountIdOrLabel", + "target": "com.amazonaws.partnercentralselling#AwsAccount", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Specifies the AWS account ID of the sender who initiated the Engagement Invitation.\n This allows the partner to identify the AWS entity or representative responsible for\n sharing the opportunity.

    " } }, "SenderCompanyName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

    Indicates the name of the company or AWS division that sent the Engagement Invitation.\n This information is useful for partners to know which part of AWS is requesting\n engagement.

    ", "smithy.api#length": { "max": 120 } @@ -5011,19 +5815,25 @@ "Receiver": { "target": "com.amazonaws.partnercentralselling#Receiver", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Specifies the partner company or individual that received the Engagement Invitation.\n This field is important for tracking who the invitation was sent to within the partner\n organization.

    " } }, "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

    Specifies the catalog in which the Engagement Invitation resides. This can be either\n the AWS or Sandbox catalog, indicating whether the opportunity\n is live or being tested.

    ", "smithy.api#required": {} } + }, + "ParticipantType": { + "target": "com.amazonaws.partnercentralselling#ParticipantType", + "traits": { + "smithy.api#documentation": "

    Identifies the role of the caller in the engagement invitation.

    " + } } }, "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Provides a summarized view of the Engagement Invitation, including details like the\n identifier, status, and sender. This summary helps partners track and manage AWS\n originated opportunities.

    " } }, "com.amazonaws.partnercentralselling#EngagementInvitationsPayloadType": { @@ -5032,100 +5842,307 @@ "target": "com.amazonaws.partnercentralselling#EngagementInvitationPayloadType" } }, - "com.amazonaws.partnercentralselling#EngagementScore": { - "type": "enum", + "com.amazonaws.partnercentralselling#EngagementMember": { + "type": "structure", "members": { - "HIGH": { - "target": "smithy.api#Unit", + "CompanyName": { + "target": "com.amazonaws.partnercentralselling#MemberCompanyName", "traits": { - "smithy.api#enumValue": "High" + "smithy.api#documentation": "

    \n The official name of the member's company or organization.\n

    " } }, - "MEDIUM": { - "target": "smithy.api#Unit", + "WebsiteUrl": { + "target": "smithy.api#String", "traits": { - "smithy.api#enumValue": "Medium" + "smithy.api#documentation": "

    \n The URL of the member company's website. This offers a way to find more information\n about the member organization and serves as an additional identifier.\n

    " } }, - "LOW": { - "target": "smithy.api#Unit", + "AccountId": { + "target": "com.amazonaws.partnercentralselling#AwsAccount", "traits": { - "smithy.api#enumValue": "Low" + "smithy.api#documentation": "

    \n This is the unique identifier for the AWS account associated with the member\n organization. It's used for AWS-related operations and identity verification. \n

    " } } + }, + "traits": { + "smithy.api#documentation": "

    Engagement members are the participants in an Engagement, which is likely a\n collaborative project or business opportunity within the AWS partner network. Members\n can be different partner organizations or AWS accounts that are working together on a\n specific engagement.

    \n

    Each member is represented by their AWS Account ID, Company Name, and associated\n details. Members have a status within the Engagement (PENDING, ACCEPTED, REJECTED, or\n WITHDRAWN), indicating their current state of participation. Only existing members of an\n Engagement can view the list of other members. This implies a level of privacy and\n access control within the Engagement structure.

    " } }, - "com.amazonaws.partnercentralselling#EngagementTitle": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 40 - } + "com.amazonaws.partnercentralselling#EngagementMemberSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#EngagementMemberSummary" } }, - "com.amazonaws.partnercentralselling#ExpectedCustomerSpend": { + "com.amazonaws.partnercentralselling#EngagementMemberSummary": { "type": "structure", "members": { - "Amount": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

    Represents the estimated monthly revenue that the partner expects to earn from the opportunity. This helps in forecasting financial returns.

    ", - "smithy.api#required": {} - } - }, - "CurrencyCode": { - "target": "com.amazonaws.partnercentralselling#CurrencyCode", - "traits": { - "smithy.api#documentation": "

    Indicates the currency in which the revenue estimate is provided. This helps in understanding the financial impact across different markets.

    ", - "smithy.api#pattern": "^USD$", - "smithy.api#required": {} - } - }, - "Frequency": { - "target": "com.amazonaws.partnercentralselling#PaymentFrequency", + "CompanyName": { + "target": "com.amazonaws.partnercentralselling#MemberCompanyName", "traits": { - "smithy.api#documentation": "

    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.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The official name of the member's company or organization.\n

    " } }, - "TargetCompany": { + "WebsiteUrl": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    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.

    ", - "smithy.api#length": { - "min": 1, - "max": 80 - }, - "smithy.api#required": {} + "smithy.api#documentation": "

    \n The URL of the member company's website. This offers a way to find more information\n about the member organization and serves as an additional identifier.\n

    " } } }, "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    \n The EngagementMemberSummary provides a snapshot of essential information about\n participants in an AWS Partner Central Engagement. This compact data structure\n encapsulates key details of each member, facilitating efficient collaboration and\n management within the Engagement.\n

    " } }, - "com.amazonaws.partnercentralselling#ExpectedCustomerSpendList": { + "com.amazonaws.partnercentralselling#EngagementMembers": { "type": "list", "member": { - "target": "com.amazonaws.partnercentralselling#ExpectedCustomerSpend" + "target": "com.amazonaws.partnercentralselling#EngagementMember" }, "traits": { "smithy.api#length": { - "min": 1 + "max": 10 } } }, - "com.amazonaws.partnercentralselling#FilterIdentifier": { - "type": "list", - "member": { - "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier" + "com.amazonaws.partnercentralselling#EngagementPageSize": { + "type": "integer", + "traits": { + "smithy.api#default": 20, + "smithy.api#range": { + "min": 1, + "max": 100 + } } }, - "com.amazonaws.partnercentralselling#FilterLifeCycleReviewStatus": { + "com.amazonaws.partnercentralselling#EngagementResourceAssociationSummary": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Indicates the environment in which the resource and engagement exist.\n

    ", + "smithy.api#required": {} + } + }, + "EngagementId": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", + "traits": { + "smithy.api#documentation": "

    \n A unique identifier for the engagement associated with the resource.\n

    " + } + }, + "ResourceType": { + "target": "com.amazonaws.partnercentralselling#ResourceType", + "traits": { + "smithy.api#documentation": "

    \n Categorizes the type of resource associated with the engagement.\n

    " + } + }, + "ResourceId": { + "target": "com.amazonaws.partnercentralselling#ResourceIdentifier", + "traits": { + "smithy.api#documentation": "

    \n A unique identifier for the specific resource. Varies depending on the resource\n type.\n

    " + } + }, + "CreatedBy": { + "target": "com.amazonaws.partnercentralselling#AwsAccount", + "traits": { + "smithy.api#documentation": "

    \n The AWS account ID of the entity that created the association.\n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n This provide a streamlined view of the relationships between engagements and\n resources. These summaries offer a crucial link between collaborative engagements and\n the specific resources involved, such as opportunities.These summaries are particularly\n valuable for partners navigating complex engagements with multiple resources. They\n enable quick insights into resource distribution across engagements, support efficient\n resource management, and help maintain a clear overview of collaborative activities.\n

    " + } + }, + "com.amazonaws.partnercentralselling#EngagementResourceAssociationSummaryList": { "type": "list", "member": { - "target": "com.amazonaws.partnercentralselling#ReviewStatus" + "target": "com.amazonaws.partnercentralselling#EngagementResourceAssociationSummary" + } + }, + "com.amazonaws.partnercentralselling#EngagementScore": { + "type": "enum", + "members": { + "HIGH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "High" + } + }, + "MEDIUM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Medium" + } + }, + "LOW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Low" + } + } + } + }, + "com.amazonaws.partnercentralselling#EngagementSort": { + "type": "structure", + "members": { + "SortOrder": { + "target": "com.amazonaws.partnercentralselling#SortOrder", + "traits": { + "smithy.api#documentation": "

    \n The order in which to sort the results.\n

    ", + "smithy.api#required": {} + } + }, + "SortBy": { + "target": "com.amazonaws.partnercentralselling#EngagementSortName", + "traits": { + "smithy.api#documentation": "

    \n The field by which to sort the results.\n

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n Specifies the sorting parameters for listing Engagements.\n

    " + } + }, + "com.amazonaws.partnercentralselling#EngagementSortName": { + "type": "enum", + "members": { + "CreatedDate": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CreatedDate" + } + } + } + }, + "com.amazonaws.partnercentralselling#EngagementSummary": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.partnercentralselling#EngagementArn", + "traits": { + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) of the created engagement.\n

    " + } + }, + "Id": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The unique identifier for the engagement.\n

    " + } + }, + "Title": { + "target": "com.amazonaws.partnercentralselling#EngagementTitle", + "traits": { + "smithy.api#documentation": "

    \n The title of the engagement.\n

    " + } + }, + "CreatedAt": { + "target": "com.amazonaws.partnercentralselling#DateTime", + "traits": { + "smithy.api#documentation": "

    \n The date and time when the engagement was created.\n

    " + } + }, + "CreatedBy": { + "target": "com.amazonaws.partnercentralselling#AwsAccount", + "traits": { + "smithy.api#documentation": "

    \n The AWS account ID of the engagement creator.\n

    " + } + }, + "MemberCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

    \n The number of members in the engagement.\n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n An object that contains an Engagement's subset of fields.\n

    " + } + }, + "com.amazonaws.partnercentralselling#EngagementSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#EngagementSummary" + } + }, + "com.amazonaws.partnercentralselling#EngagementTitle": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 40 + } + } + }, + "com.amazonaws.partnercentralselling#ExpectedCustomerSpend": { + "type": "structure", + "members": { + "Amount": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    Represents the estimated monthly revenue that the partner expects to earn from the\n opportunity. This helps in forecasting financial returns.

    ", + "smithy.api#required": {} + } + }, + "CurrencyCode": { + "target": "com.amazonaws.partnercentralselling#CurrencyCode", + "traits": { + "smithy.api#documentation": "

    Indicates the currency in which the revenue estimate is provided. This helps in\n understanding the financial impact across different markets.

    ", + "smithy.api#pattern": "^USD$", + "smithy.api#required": {} + } + }, + "Frequency": { + "target": "com.amazonaws.partnercentralselling#PaymentFrequency", + "traits": { + "smithy.api#documentation": "

    Indicates how frequently the customer is expected to spend the projected amount. This\n can include values such as Monthly, Quarterly, or\n Annually. The default value is Monthly, representing\n recurring monthly spend.

    ", + "smithy.api#required": {} + } + }, + "TargetCompany": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    Specifies the name of the partner company that is expected to generate revenue from\n the opportunity. This field helps track the partner’s involvement in the\n opportunity.

    ", + "smithy.api#length": { + "min": 1, + "max": 80 + }, + "smithy.api#required": {} + } + }, + "EstimationUrl": { + "target": "com.amazonaws.partnercentralselling#WebsiteUrl", + "traits": { + "smithy.api#documentation": "

    \n A URL providing additional information or context about the spend estimation.\n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Provides an estimate of the revenue that the partner is expected to generate from the\n opportunity. This information helps partners assess the financial value of the\n project.

    " + } + }, + "com.amazonaws.partnercentralselling#ExpectedCustomerSpendList": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#ExpectedCustomerSpend" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.partnercentralselling#FilterIdentifier": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier" + } + }, + "com.amazonaws.partnercentralselling#FilterLifeCycleReviewStatus": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#ReviewStatus" } }, "com.amazonaws.partnercentralselling#FilterLifeCycleStage": { @@ -5170,7 +6187,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to retrieve AWS Opportunity Summaries for Opportunities on AWS Partner Central" }, - "smithy.api#documentation": "

    \n Retrieves a summary of an AWS Opportunity. This summary includes high-level details about the opportunity\n sourced from AWS, such as lifecycle information, customer details, and involvement type.\n It is useful for tracking updates on the AWS opportunity corresponding to an opportunity in the partner's account.\n

    ", + "smithy.api#documentation": "

    Retrieves a summary of an AWS Opportunity. This summary includes high-level details\n about the opportunity sourced from AWS, such as lifecycle information, customer details,\n and involvement type. It is useful for tracking updates on the AWS opportunity\n corresponding to an opportunity in the partner's account.

    ", "smithy.api#http": { "method": "POST", "uri": "/GetAwsOpportunitySummary", @@ -5185,14 +6202,14 @@ "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    \n Specifies the catalog in which the AWS Opportunity is located. Accepted values include AWS\n for production opportunities or Sandbox for testing purposes. The catalog determines\n which environment the opportunity data is pulled from.\n

    ", + "smithy.api#documentation": "

    Specifies the catalog in which the AWS Opportunity is located. Accepted values include\n AWS for production opportunities or Sandbox for testing\n purposes. The catalog determines which environment the opportunity data is pulled\n from.

    ", "smithy.api#required": {} } }, "RelatedOpportunityIdentifier": { "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", "traits": { - "smithy.api#documentation": "

    \n The unique identifier for the related partner opportunity. Use this field to correlate an AWS\n opportunity with its corresponding partner opportunity.\n

    ", + "smithy.api#documentation": "

    The unique identifier for the related partner opportunity. Use this field to correlate\n an AWS opportunity with its corresponding partner opportunity.

    ", "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Identifier" } @@ -5208,74 +6225,74 @@ "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    \n Specifies the catalog in which the AWS Opportunity exists. This is the environment (e.g., AWS\n or Sandbox) where the opportunity is being managed.\n

    ", + "smithy.api#documentation": "

    Specifies the catalog in which the AWS Opportunity exists. This is the environment\n (e.g., AWS or Sandbox) where the opportunity is being\n managed.

    ", "smithy.api#required": {} } }, "RelatedOpportunityId": { "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", "traits": { - "smithy.api#documentation": "

    \n Provides the unique identifier of the related partner opportunity, allowing partners to link the AWS\n Opportunity to their corresponding opportunity in their CRM system.\n

    " + "smithy.api#documentation": "

    Provides the unique identifier of the related partner opportunity, allowing partners\n to link the AWS Opportunity to their corresponding opportunity in their CRM\n system.

    " } }, "Origin": { "target": "com.amazonaws.partnercentralselling#OpportunityOrigin", "traits": { - "smithy.api#documentation": "

    \n Specifies whether the AWS Opportunity originated from AWS or the partner. This helps distinguish between\n opportunities that were sourced by AWS and those referred by the partner.\n

    " + "smithy.api#documentation": "

    Specifies whether the AWS Opportunity originated from AWS or the partner. This helps\n distinguish between opportunities that were sourced by AWS and those referred by the\n partner.

    " } }, "InvolvementType": { "target": "com.amazonaws.partnercentralselling#SalesInvolvementType", "traits": { - "smithy.api#documentation": "

    \n Specifies the type of involvement AWS has in the opportunity, such as direct cosell or advisory support.\n This field helps partners understand the role AWS plays in advancing the opportunity.\n

    " + "smithy.api#documentation": "

    Specifies the type of involvement AWS has in the opportunity, such as direct cosell or\n advisory support. This field helps partners understand the role AWS plays in advancing\n the opportunity.

    " } }, "Visibility": { "target": "com.amazonaws.partnercentralselling#Visibility", "traits": { - "smithy.api#documentation": "

    \n Defines the visibility level for the AWS Opportunity. Use Full visibility for most cases,\n while Limited visibility is reserved for special programs or sensitive opportunities.\n

    " + "smithy.api#documentation": "

    Defines the visibility level for the AWS Opportunity. Use Full visibility\n for most cases, while Limited visibility is reserved for special programs\n or sensitive opportunities.

    " } }, "LifeCycle": { "target": "com.amazonaws.partnercentralselling#AwsOpportunityLifeCycle", "traits": { - "smithy.api#documentation": "

    \n Contains lifecycle information for the AWS Opportunity, including review status, stage, and target close date.\n This field is crucial for partners to monitor the progression of the opportunity.\n

    " + "smithy.api#documentation": "

    Contains lifecycle information for the AWS Opportunity, including review status,\n stage, and target close date. This field is crucial for partners to monitor the\n progression of the opportunity.

    " } }, "OpportunityTeam": { "target": "com.amazonaws.partnercentralselling#AwsOpportunityTeamMembersList", "traits": { - "smithy.api#documentation": "

    \n Details the AWS opportunity team, including members involved. This information\n helps partners know who from AWS is engaged and what their role is.\n

    " + "smithy.api#documentation": "

    Details the AWS opportunity team, including members involved. This information helps\n partners know who from AWS is engaged and what their role is.

    " } }, "Insights": { "target": "com.amazonaws.partnercentralselling#AwsOpportunityInsights", "traits": { - "smithy.api#documentation": "

    \n Provides insights into the AWS Opportunity, including engagement score and recommended actions that AWS suggests\n for the partner.\n

    " + "smithy.api#documentation": "

    Provides insights into the AWS Opportunity, including engagement score and recommended\n actions that AWS suggests for the partner.

    " } }, "InvolvementTypeChangeReason": { "target": "com.amazonaws.partnercentralselling#InvolvementTypeChangeReason", "traits": { - "smithy.api#documentation": "

    \n Provides a reason for any changes in the involvement type of AWS in the opportunity. This field is used to\n track why the level of AWS engagement has changed from For Visibility Only to Co-sell offering transparency into the partnership dynamics.\n

    " + "smithy.api#documentation": "

    Provides a reason for any changes in the involvement type of AWS in the opportunity.\n This field is used to track why the level of AWS engagement has changed from For\n Visibility Only to Co-sell offering transparency into the\n partnership dynamics.

    " } }, "RelatedEntityIds": { "target": "com.amazonaws.partnercentralselling#AwsOpportunityRelatedEntities", "traits": { - "smithy.api#documentation": "

    \n Lists related entity identifiers, such as AWS products or partner solutions, associated with the AWS\n Opportunity. These identifiers provide additional context and help partners understand which AWS services\n are involved.\n

    " + "smithy.api#documentation": "

    Lists related entity identifiers, such as AWS products or partner solutions,\n associated with the AWS Opportunity. These identifiers provide additional context and\n help partners understand which AWS services are involved.

    " } }, "Customer": { "target": "com.amazonaws.partnercentralselling#AwsOpportunityCustomer", "traits": { - "smithy.api#documentation": "

    \n Provides details about the customer associated with the AWS Opportunity, including account information,\n industry, and other customer data. These details help partners understand the business context of the\n opportunity.\n

    " + "smithy.api#documentation": "

    Provides details about the customer associated with the AWS Opportunity, including\n account information, industry, and other customer data. These details help partners\n understand the business context of the opportunity.

    " } }, "Project": { "target": "com.amazonaws.partnercentralselling#AwsOpportunityProject", "traits": { - "smithy.api#documentation": "

    \n Provides details about the project associated with the AWS Opportunity, including the customer’s business\n problem, expected outcomes, and project scope. This information is crucial for understanding the broader\n context of the opportunity.\n

    " + "smithy.api#documentation": "

    Provides details about the project associated with the AWS Opportunity, including the\n customer’s business problem, expected outcomes, and project scope. This information is\n crucial for understanding the broader context of the opportunity.

    " } } }, @@ -5283,6 +6300,42 @@ "smithy.api#output": {} } }, + "com.amazonaws.partnercentralselling#GetEngagement": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#GetEngagementRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#GetEngagementResponse" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to retrieval of engagement details in AWS Partner Central" + }, + "smithy.api#documentation": "

    \n Use this action to retrieve the engagement record for a given\n EngagementIdentifier.\n

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/GetEngagement", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, "com.amazonaws.partnercentralselling#GetEngagementInvitation": { "type": "operation", "input": { @@ -5313,7 +6366,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to retrieve details of Engagement Invitations on AWS Partner Central" }, - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

    Retrieves the details of an engagement invitation shared by AWS with a partner. The\n information includes aspects such as customer, project details, and lifecycle\n information. To connect an engagement invitation with an opportunity, match the\n invitation’s Payload.Project.Title with opportunity\n Project.Title.

    ", "smithy.api#http": { "method": "POST", "uri": "/GetEngagementInvitation", @@ -5328,14 +6381,14 @@ "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    Specifies the catalog associated with the request. The field accepts values from the predefined set: AWS for live operations or Sandbox for testing environments.

    ", + "smithy.api#documentation": "

    Specifies the catalog associated with the request. The field accepts values from the\n predefined set: AWS for live operations or Sandbox for testing\n environments.

    ", "smithy.api#required": {} } }, "Identifier": { "target": "com.amazonaws.partnercentralselling#EngagementInvitationArnOrIdentifier", "traits": { - "smithy.api#documentation": "

    Specifies the unique identifier for the retrieved engagement\n invitation.

    ", + "smithy.api#documentation": "

    Specifies the unique identifier for the retrieved engagement invitation.

    ", "smithy.api#required": {} } } @@ -5350,13 +6403,13 @@ "Arn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the engagement\n invitation.

    " + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that identifies the engagement invitation.

    " } }, "PayloadType": { "target": "com.amazonaws.partnercentralselling#EngagementInvitationPayloadType", "traits": { - "smithy.api#documentation": "

    The type of payload contained in the engagement invitation, indicating what data or context the payload covers.

    " + "smithy.api#documentation": "

    The type of payload contained in the engagement invitation, indicating what data or\n context the payload covers.

    " } }, "Id": { @@ -5366,10 +6419,16 @@ "smithy.api#required": {} } }, + "EngagementId": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The identifier of the engagement associated with this invitation.This ID links the\n invitation to its corresponding engagement.\n

    " + } + }, "EngagementTitle": { "target": "com.amazonaws.partnercentralselling#EngagementTitle", "traits": { - "smithy.api#documentation": "

    The title of the engagement invitation, summarizing the purpose or objectives of the opportunity shared by AWS.

    " + "smithy.api#documentation": "

    The title of the engagement invitation, summarizing the purpose or objectives of the\n opportunity shared by AWS.

    " } }, "Status": { @@ -5387,13 +6446,13 @@ "ExpirationDate": { "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#documentation": "

    Indicates the date on which the engagement invitation will expire if not accepted by the partner.

    " + "smithy.api#documentation": "

    Indicates the date on which the engagement invitation will expire if not accepted by\n the partner.

    " } }, "SenderAwsAccountId": { - "target": "com.amazonaws.partnercentralselling#AwsAccountIdOrLabel", + "target": "com.amazonaws.partnercentralselling#AwsAccount", "traits": { - "smithy.api#documentation": "

    Specifies the AWS Account ID of the sender, which identifies the AWS team responsible for sharing the engagement invitation.

    " + "smithy.api#documentation": "

    Specifies the AWS Account ID of the sender, which identifies the AWS team responsible\n for sharing the engagement invitation.

    " } }, "SenderCompanyName": { @@ -5408,26 +6467,122 @@ "Receiver": { "target": "com.amazonaws.partnercentralselling#Receiver", "traits": { - "smithy.api#documentation": "

    Information about the partner organization or team that received the engagement invitation, including contact details and identifiers.

    " + "smithy.api#documentation": "

    Information about the partner organization or team that received the engagement\n invitation, including contact details and identifiers.

    " } }, "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

    Indicates the catalog from which the engagement invitation details are retrieved. This\n field helps in identifying the appropriate catalog (e.g., AWS or\n Sandbox) used in the request.

    ", "smithy.api#required": {} } }, "RejectionReason": { "target": "com.amazonaws.partnercentralselling#RejectionReasonString", "traits": { - "smithy.api#documentation": "

    If the engagement invitation was rejected, this field specifies the reason provided by the partner for the rejection.

    " + "smithy.api#documentation": "

    If the engagement invitation was rejected, this field specifies the reason provided by\n the partner for the rejection.

    " } }, "Payload": { "target": "com.amazonaws.partnercentralselling#Payload", "traits": { - "smithy.api#documentation": "

    Details of the engagement invitation payload, including specific data relevant to the invitation's contents, such as customer information and opportunity insights.

    " + "smithy.api#documentation": "

    Details of the engagement invitation payload, including specific data relevant to the\n invitation's contents, such as customer information and opportunity insights.

    " + } + }, + "InvitationMessage": { + "target": "com.amazonaws.partnercentralselling#InvitationMessage", + "traits": { + "smithy.api#documentation": "

    \n The message sent to the invited partner when the invitation was created.\n

    " + } + }, + "EngagementDescription": { + "target": "com.amazonaws.partnercentralselling#EngagementDescription", + "traits": { + "smithy.api#documentation": "

    \n The description of the engagement associated with this invitation.\n

    " + } + }, + "ExistingMembers": { + "target": "com.amazonaws.partnercentralselling#EngagementMemberSummaries", + "traits": { + "smithy.api#documentation": "

    \n A list of active members currently part of the Engagement. This array contains a\n maximum of 10 members, each represented by an object with the following\n properties.\n

    \n
      \n
    • \n

      \n CompanyName: The name of the member's company. \n

      \n
    • \n
    • \n

      \n WebsiteUrl: The website URL of the member's company. \n

      \n
    • \n
    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.partnercentralselling#GetEngagementRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Specifies the catalog related to the engagement request. Valid values are\n AWS and Sandbox.\n

    ", + "smithy.api#required": {} + } + }, + "Identifier": { + "target": "com.amazonaws.partnercentralselling#EngagementArnOrIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Specifies the identifier of the Engagement record to retrieve.\n

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.partnercentralselling#GetEngagementResponse": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The unique resource identifier of the engagement retrieved.\n

    " + } + }, + "Arn": { + "target": "com.amazonaws.partnercentralselling#EngagementArn", + "traits": { + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) of the engagement retrieved.\n

    " + } + }, + "Title": { + "target": "com.amazonaws.partnercentralselling#EngagementTitle", + "traits": { + "smithy.api#documentation": "

    \n The title of the engagement. It provides a brief, descriptive name for the engagement\n that is meaningful and easily recognizable.\n

    " + } + }, + "Description": { + "target": "com.amazonaws.partnercentralselling#EngagementDescription", + "traits": { + "smithy.api#documentation": "

    \n A more detailed description of the engagement. This provides additional context or\n information about the engagement's purpose or scope. \n

    " + } + }, + "CreatedAt": { + "target": "com.amazonaws.partnercentralselling#DateTime", + "traits": { + "smithy.api#documentation": "

    \n The date and time when the Engagement was created, presented in ISO 8601 format (UTC).\n For example: \"2023-05-01T20:37:46Z\". This timestamp helps track the lifecycle of the\n Engagement.\n

    " + } + }, + "CreatedBy": { + "target": "com.amazonaws.partnercentralselling#AwsAccount", + "traits": { + "smithy.api#documentation": "

    \n The AWS account ID of the user who originally created the engagement. This field helps\n in tracking the origin of the engagement.\n

    " + } + }, + "MemberCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

    \n Specifies the current count of members participating in the Engagement. This count\n includes all active members regardless of their roles or permissions within the\n Engagement.\n

    " + } + }, + "Contexts": { + "target": "com.amazonaws.partnercentralselling#EngagementContexts", + "traits": { + "smithy.api#documentation": "

    \n A list of context objects associated with the engagement. Each context provides\n additional information related to the Engagement, such as customer projects or\n documents.\n

    " } } }, @@ -5465,7 +6620,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to retrieve details of Opportunities on AWS Partner Central" }, - "smithy.api#documentation": "

    \n Fetches the Opportunity record from Partner Central by a given Identifier.\n

    \n

    \n Use the ListOpportunities action or the event notification (from Amazon EventBridge) to obtain this identifier.\n

    ", + "smithy.api#documentation": "

    Fetches the Opportunity record from Partner Central by a given\n Identifier.

    \n

    Use the ListOpportunities action or the event notification (from Amazon EventBridge) to obtain this identifier.

    ", "smithy.api#http": { "method": "POST", "uri": "/GetOpportunity", @@ -5480,14 +6635,14 @@ "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    \n Specifies the catalog associated with the request. This field takes a string value from a predefined list:\n AWS or Sandbox. The catalog determines which environment the opportunity\n is fetched from. Use AWS to retrieve opportunities in the Amazon Web Services catalog,\n and Sandbox to retrieve opportunities in a secure, isolated testing environment.\n

    ", + "smithy.api#documentation": "

    Specifies the catalog associated with the request. This field takes a string value\n from a predefined list: AWS or Sandbox. The catalog determines\n which environment the opportunity is fetched from. Use AWS to retrieve\n opportunities in the Amazon Web Services catalog, and Sandbox to retrieve\n opportunities in a secure, isolated testing environment.

    ", "smithy.api#required": {} } }, "Identifier": { "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", "traits": { - "smithy.api#documentation": "

    Read-only, system generated Opportunity unique identifier.\n

    ", + "smithy.api#documentation": "

    Read-only, system generated Opportunity unique identifier.

    ", "smithy.api#required": {} } } @@ -5502,26 +6657,26 @@ "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    \n Specifies the catalog associated with the request. This field takes a string value from a predefined list:\n AWS or Sandbox. The catalog determines which environment the opportunity\n information is retrieved from. Use AWS to retrieve opportunities in the Amazon Web Services catalog,\n and Sandbox to retrieve opportunities in a secure and isolated testing environment.\n

    ", + "smithy.api#documentation": "

    Specifies the catalog associated with the request. This field takes a string value\n from a predefined list: AWS or Sandbox. The catalog determines\n which environment the opportunity information is retrieved from. Use AWS to\n retrieve opportunities in the Amazon Web Services catalog, and Sandbox to\n retrieve opportunities in a secure and isolated testing environment.

    ", "smithy.api#required": {} } }, "PrimaryNeedsFromAws": { "target": "com.amazonaws.partnercentralselling#PrimaryNeedsFromAws", "traits": { - "smithy.api#documentation": "

    \n Identifies the type of support the partner needs from Amazon Web Services.\n

    \n

    \n Valid values:\n

    \n
      \n
    • \n

      \n 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.\n

      \n
    • \n
    • \n

      \n Cosell—Business Presentation: Request Amazon Web Services seller's participation in a joint customer presentation.\n

      \n
    • \n
    • \n

      \n Cosell—Competitive Information: Access to Amazon Web Services competitive resources and support for the partner's proposed solution.\n

      \n
    • \n
    • \n

      \n 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).\n

      \n
    • \n
    • \n

      \n Cosell—Technical Consultation: Connect with an Amazon Web Services Solutions Architect to address the partner's questions about the proposed solution.\n

      \n
    • \n
    • \n

      \n 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.\n

      \n
    • \n
    • \n

      \n Cosell—Deal Support: Request Amazon Web Services seller's support to progress the opportunity (for example: joint customer call, strategic positioning).\n

      \n
    • \n
    • \n

      \n Cosell—Support for Public Tender/RFx: Opportunity related to the public sector where the partner needs Amazon Web Services RFx support.\n

      \n
    • \n
    • \n

      \n Do Not Need Support from Amazon Web Services Sales Rep: Indicates that a partner doesn't need support from an Amazon Web Services sales representative, and the partner solely manages the opportunity. It's possible to request coselling support on these opportunities at any stage during their lifecycle. Also known as, for-visibility-only (FVO) opportunity.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    Identifies the type of support the partner needs from Amazon Web Services.

    \n

    Valid values:

    \n
      \n
    • \n

      Cosell—Architectural Validation: Confirmation from Amazon Web Services that the\n partner's proposed solution architecture is aligned with Amazon Web Services best\n practices and poses minimal architectural risks.

      \n
    • \n
    • \n

      Cosell—Business Presentation: Request Amazon Web Services seller's\n participation in a joint customer presentation.

      \n
    • \n
    • \n

      Cosell—Competitive Information: Access to Amazon Web Services competitive\n resources and support for the partner's proposed solution.

      \n
    • \n
    • \n

      Cosell—Pricing Assistance: Connect with an Amazon Web Services seller for\n support situations where a partner may be receiving an upfront discount on a\n service (for example: EDP deals).

      \n
    • \n
    • \n

      Cosell—Technical Consultation: Connect with an Amazon Web Services Solutions\n Architect to address the partner's questions about the proposed solution.

      \n
    • \n
    • \n

      Cosell—Total Cost of Ownership Evaluation: Assistance with quoting different\n cost savings of proposed solutions on Amazon Web Services versus on-premises or a\n traditional hosting environment.

      \n
    • \n
    • \n

      Cosell—Deal Support: Request Amazon Web Services seller's support to progress\n the opportunity (for example: joint customer call, strategic\n positioning).

      \n
    • \n
    • \n

      Cosell—Support for Public Tender/RFx: Opportunity related to the public sector\n where the partner needs Amazon Web Services RFx support.

      \n
    • \n
    • \n

      Do Not Need Support from Amazon Web Services Sales Rep: Indicates that a\n partner doesn't need support from an Amazon Web Services sales representative,\n and the partner solely manages the opportunity. It's possible to request\n coselling support on these opportunities at any stage during their lifecycle.\n Also known as, for-visibility-only (FVO) opportunity.

      \n
    • \n
    " } }, "NationalSecurity": { "target": "com.amazonaws.partnercentralselling#NationalSecurity", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Indicates whether the Opportunity pertains to a national security\n project. This field must be set to true only when the customer's industry\n is Government. Additional privacy and security measures apply\n during the review and management process for opportunities marked as\n NationalSecurity.

    " } }, "PartnerOpportunityIdentifier": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Specifies the opportunity's unique identifier in the partner's CRM system. This value is essential\n to track and reconcile because it's included in the outbound payload sent back to the partner.\n

    ", + "smithy.api#documentation": "

    Specifies the opportunity's unique identifier in the partner's CRM system. This value\n is essential to track and reconcile because it's included in the outbound payload sent\n back to the partner.

    ", "smithy.api#length": { "max": 64 } @@ -5530,71 +6685,77 @@ "Customer": { "target": "com.amazonaws.partnercentralselling#Customer", "traits": { - "smithy.api#documentation": "

    Specifies details of the customer associated with the Opportunity.\n

    " + "smithy.api#documentation": "

    Specifies details of the customer associated with the Opportunity.

    " } }, "Project": { "target": "com.amazonaws.partnercentralselling#Project", "traits": { - "smithy.api#documentation": "

    An object that contains project details summary for the Opportunity.\n

    " + "smithy.api#documentation": "

    An object that contains project details summary for the\n Opportunity.

    " } }, "OpportunityType": { "target": "com.amazonaws.partnercentralselling#OpportunityType", "traits": { - "smithy.api#documentation": "

    \n Specifies the opportunity type as renewal, new, or expansion.\n

    \n

    \n Opportunity types:\n

    \n
      \n
    • \n

      \n New opportunity:\n Represents a new business opportunity with a potential customer that's not previously engaged with your solutions or services.\n

      \n
    • \n
    • \n

      \n Renewal opportunity:\n Represents an opportunity to renew an existing contract or subscription with a current customer, which helps to ensure service continuity.\n

      \n
    • \n
    • \n

      \n Expansion opportunity:\n 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.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    Specifies the opportunity type as renewal, new, or expansion.

    \n

    Opportunity types:

    \n
      \n
    • \n

      New opportunity: Represents a new business opportunity with a potential\n customer that's not previously engaged with your solutions or services.

      \n
    • \n
    • \n

      Renewal opportunity: Represents an opportunity to renew an existing contract\n or subscription with a current customer, which helps to ensure service\n continuity.

      \n
    • \n
    • \n

      Expansion opportunity: Represents an opportunity to expand the scope of a\n customer's contract or subscription, either by adding new services or increasing\n the volume of existing services.

      \n
    • \n
    " } }, "Marketing": { "target": "com.amazonaws.partnercentralselling#Marketing", "traits": { - "smithy.api#documentation": "

    An object that contains marketing details for the Opportunity.\n

    " + "smithy.api#documentation": "

    An object that contains marketing details for the Opportunity.

    " } }, "SoftwareRevenue": { "target": "com.amazonaws.partnercentralselling#SoftwareRevenue", "traits": { - "smithy.api#documentation": "

    Specifies details of a customer's procurement terms. Required only for partners in eligible programs.

    " + "smithy.api#documentation": "

    Specifies details of a customer's procurement terms. Required only for partners in\n eligible programs.

    " } }, "Id": { "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", "traits": { - "smithy.api#documentation": "

    Read-only, system generated Opportunity unique identifier.\n

    ", + "smithy.api#documentation": "

    Read-only, system generated Opportunity unique identifier.

    ", "smithy.api#required": {} } }, - "LastModifiedDate": { - "target": "com.amazonaws.partnercentralselling#DateTime", + "Arn": { + "target": "com.amazonaws.partnercentralselling#OpportunityArn", + "traits": { + "smithy.api#documentation": "

    The Amazon Resource Name (ARN) that uniquely identifies the opportunity.

    " + } + }, + "LastModifiedDate": { + "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#documentation": "

    \n DateTime\n when the opportunity was last modified.\n

    ", + "smithy.api#documentation": "

    \n DateTime when the opportunity was last modified.

    ", "smithy.api#required": {} } }, "CreatedDate": { "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#documentation": "

    \n DateTime when the Opportunity was last created.\n

    ", + "smithy.api#documentation": "

    \n DateTime when the Opportunity was last created.

    ", "smithy.api#required": {} } }, "RelatedEntityIdentifiers": { "target": "com.amazonaws.partnercentralselling#RelatedEntityIdentifiers", "traits": { - "smithy.api#documentation": "

    \n Provides information about the associations of other entities with the opportunity. These entities include identifiers for\n AWSProducts, Partner Solutions, and AWSMarketplaceOffers.\n

    ", + "smithy.api#documentation": "

    Provides information about the associations of other entities with the opportunity.\n These entities include identifiers for AWSProducts, Partner\n Solutions, and AWSMarketplaceOffers.

    ", "smithy.api#required": {} } }, "LifeCycle": { "target": "com.amazonaws.partnercentralselling#LifeCycle", "traits": { - "smithy.api#documentation": "

    An object that contains lifecycle details for the Opportunity.\n

    " + "smithy.api#documentation": "

    An object that contains lifecycle details for the Opportunity.

    " } }, "OpportunityTeam": { "target": "com.amazonaws.partnercentralselling#PartnerOpportunityTeamMembersList", "traits": { - "smithy.api#documentation": "

    Represents the internal team handling the opportunity. Specify the members involved in collaborating on this opportunity within the partner's organization.

    " + "smithy.api#documentation": "

    Represents the internal team handling the opportunity. Specify the members involved in\n collaborating on this opportunity within the partner's organization.

    " } } }, @@ -5602,199 +6763,598 @@ "smithy.api#output": {} } }, - "com.amazonaws.partnercentralselling#Industry": { - "type": "enum", + "com.amazonaws.partnercentralselling#GetResourceSnapshot": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#GetResourceSnapshotRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#GetResourceSnapshotResponse" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to retrieving resource snapshot details in AWS Partner Central" + }, + "smithy.api#documentation": "

    Use this action to retrieve a specific snapshot record.

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/GetResourceSnapshot", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.partnercentralselling#GetResourceSnapshotJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#GetResourceSnapshotJobRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#GetResourceSnapshotJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to retrieving resource snapshot job details in AWS Partner Central" + }, + "smithy.api#documentation": "

    \n Use this action to retrieves information about a specific resource snapshot\n job.\n

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/GetResourceSnapshotJob", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.partnercentralselling#GetResourceSnapshotJobRequest": { + "type": "structure", "members": { - "AEROSPACE_SATELLITE": { - "target": "smithy.api#Unit", + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#enumValue": "Aerospace" + "smithy.api#documentation": "

    \n Specifies the catalog related to the request. Valid values are:\n

    \n
      \n
    • \n

      AWS: Retrieves the snapshot job from the production AWS environment.

      \n
    • \n
    • \n

      Sandbox: Retrieves the snapshot job from a sandbox environment used for\n testing or development purposes.

      \n
    • \n
    ", + "smithy.api#required": {} } }, - "AGRICULTURE": { - "target": "smithy.api#Unit", + "ResourceSnapshotJobIdentifier": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobIdentifier", "traits": { - "smithy.api#enumValue": "Agriculture" + "smithy.api#documentation": "

    \n The unique identifier of the resource snapshot job to be retrieved. This identifier is\n crucial for pinpointing the specific job you want to query.\n

    ", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "Identifier" } - }, - "AUTOMOTIVE": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.partnercentralselling#GetResourceSnapshotJobResponse": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#enumValue": "Automotive" + "smithy.api#documentation": "

    \n The catalog in which the snapshot job was created. This will match the catalog\n specified in the request.\n

    ", + "smithy.api#required": {} } }, - "COMPUTERS_ELECTRONICS": { - "target": "smithy.api#Unit", + "Id": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobIdentifier", "traits": { - "smithy.api#enumValue": "Computers and Electronics" + "smithy.api#documentation": "

    \n The unique identifier of the snapshot job. This matches the\n ResourceSnapshotJobIdentifier provided in the request. \n

    " } }, - "CONSUMER_GOODS": { - "target": "smithy.api#Unit", + "Arn": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobArn", "traits": { - "smithy.api#enumValue": "Consumer Goods" + "smithy.api#documentation": "

    \n he Amazon Resource Name (ARN) of the snapshot job. This globally unique identifier\n can be used for resource-specific operations across AWS services. \n

    " } }, - "EDUCATION": { - "target": "smithy.api#Unit", + "EngagementId": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", "traits": { - "smithy.api#enumValue": "Education" + "smithy.api#documentation": "

    \n The identifier of the engagement associated with this snapshot job. This links the job\n to a specific engagement context. \n

    " } }, - "ENERGY_OIL_GAS": { - "target": "smithy.api#Unit", + "ResourceType": { + "target": "com.amazonaws.partnercentralselling#ResourceType", "traits": { - "smithy.api#enumValue": "Energy - Oil and Gas" + "smithy.api#documentation": "

    \n The type of resource being snapshotted. This would have Opportunity as a value as it\n is dependent on the supported resource type. \n

    " } }, - "ENERGY_POWER_UTILITIES": { - "target": "smithy.api#Unit", + "ResourceId": { + "target": "com.amazonaws.partnercentralselling#ResourceIdentifier", "traits": { - "smithy.api#enumValue": "Energy - Power and Utilities" + "smithy.api#documentation": "

    \n The identifier of the specific resource being snapshotted. The format may vary\n depending on the ResourceType.\n

    " } }, - "FINANCIAL_SERVICES": { - "target": "smithy.api#Unit", + "ResourceArn": { + "target": "com.amazonaws.partnercentralselling#ResourceArn", "traits": { - "smithy.api#enumValue": "Financial Services" + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) of the resource being snapshotted. This provides a\n globally unique identifier for the resource across AWS.\n

    " } }, - "GAMING": { - "target": "smithy.api#Unit", + "ResourceSnapshotTemplateName": { + "target": "com.amazonaws.partnercentralselling#ResourceTemplateName", "traits": { - "smithy.api#enumValue": "Gaming" + "smithy.api#documentation": "

    \n The name of the template used for creating the snapshot. This is the same as the\n template name. It defines the structure and content of the snapshot.\n

    " } }, - "GOVERNMENT": { - "target": "smithy.api#Unit", + "CreatedAt": { + "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#enumValue": "Government" + "smithy.api#documentation": "

    \n The date and time when the snapshot job was created, in ISO 8601 format (UTC).\n Example: \"2023-05-01T20:37:46Z\"\n

    " } }, - "HEALTHCARE": { - "target": "smithy.api#Unit", + "Status": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobStatus", "traits": { - "smithy.api#enumValue": "Healthcare" + "smithy.api#documentation": "

    \n The current status of the snapshot job. Valid values:\n

    \n
      \n
    • \n

      STOPPED: The job is not currently running.

      \n
    • \n
    • \n

      RUNNING: The job is actively executing.

      \n
    • \n
    " } }, - "HOSPITALITY": { - "target": "smithy.api#Unit", + "LastSuccessfulExecutionDate": { + "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#enumValue": "Hospitality" + "smithy.api#documentation": "

    \n The date and time of the last successful execution of the job, in ISO 8601 format\n (UTC). Example: \"2023-05-01T20:37:46Z\"\n

    " } }, - "LIFE_SCIENCES": { - "target": "smithy.api#Unit", + "LastFailure": { + "target": "smithy.api#String", "traits": { - "smithy.api#enumValue": "Life Sciences" + "smithy.api#documentation": "

    \n If the job has encountered any failures, this field contains the error message from\n the most recent failure. This can be useful for troubleshooting issues with the job.\n

    " } - }, - "MANUFACTURING": { - "target": "smithy.api#Unit", + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.partnercentralselling#GetResourceSnapshotRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#enumValue": "Manufacturing" + "smithy.api#documentation": "

    Specifies the catalog related to the request. Valid values are:

    \n
      \n
    • \n

      AWS: Retrieves the snapshot from the production AWS environment.

      \n
    • \n
    • \n

      Sandbox: Retrieves the snapshot from a sandbox environment used for testing or\n development purposes.

      \n
    • \n
    ", + "smithy.api#required": {} } }, - "MARKETING_ADVERTISING": { - "target": "smithy.api#Unit", + "EngagementIdentifier": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", "traits": { - "smithy.api#enumValue": "Marketing and Advertising" + "smithy.api#documentation": "

    The unique identifier of the engagement associated with the snapshot. This field links\n the snapshot to a specific engagement context.

    ", + "smithy.api#required": {} } }, - "MEDIA_ENTERTAINMENT": { - "target": "smithy.api#Unit", + "ResourceType": { + "target": "com.amazonaws.partnercentralselling#ResourceType", "traits": { - "smithy.api#enumValue": "Media and Entertainment" + "smithy.api#documentation": "

    Specifies the type of resource that was snapshotted. This field determines the\n structure and content of the snapshot payload. Valid value\n includes:Opportunity: For opportunity-related data.

    ", + "smithy.api#required": {} } }, - "MINING": { - "target": "smithy.api#Unit", + "ResourceIdentifier": { + "target": "com.amazonaws.partnercentralselling#ResourceIdentifier", "traits": { - "smithy.api#enumValue": "Mining" + "smithy.api#documentation": "

    The unique identifier of the specific resource that was snapshotted. The format and\n constraints of this identifier depend on the ResourceType specified. For\n Opportunity type, it will be an opportunity ID\n

    ", + "smithy.api#required": {} } }, - "NON_PROFIT_ORGANIZATION": { - "target": "smithy.api#Unit", + "ResourceSnapshotTemplateIdentifier": { + "target": "com.amazonaws.partnercentralselling#ResourceTemplateName", "traits": { - "smithy.api#enumValue": "Non-Profit Organization" + "smithy.api#documentation": "

    he name of the template that defines the schema for the snapshot. This template\n determines which subset of the resource data is included in the snapshot and must\n correspond to an existing and valid template for the specified\n ResourceType.

    ", + "smithy.api#required": {} } }, - "PROFESSIONAL_SERVICES": { - "target": "smithy.api#Unit", + "Revision": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotRevision", "traits": { - "smithy.api#enumValue": "Professional Services" + "smithy.api#documentation": "

    Specifies which revision of the snapshot to retrieve. If omitted returns the latest\n revision.

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.partnercentralselling#GetResourceSnapshotResponse": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    The catalog in which the snapshot was created. Matches the Catalog specified in the\n request.

    ", + "smithy.api#required": {} } }, - "REALESTATE_CONSTRUCTION": { - "target": "smithy.api#Unit", + "Arn": { + "target": "com.amazonaws.partnercentralselling#ResourceArn", "traits": { - "smithy.api#enumValue": "Real Estate and Construction" + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) of the snapshot. This globally unique identifier can be\n used for resource-specific operations across AWS services.\n

    " } }, - "RETAIL": { - "target": "smithy.api#Unit", + "CreatedBy": { + "target": "com.amazonaws.partnercentralselling#AwsAccount", "traits": { - "smithy.api#enumValue": "Retail" + "smithy.api#documentation": "

    The AWS account ID of the principal (user or role) who created the snapshot. This\n helps in tracking the origin of the snapshot.

    " } }, - "SOFTWARE_INTERNET": { - "target": "smithy.api#Unit", + "CreatedAt": { + "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#enumValue": "Software and Internet" + "smithy.api#documentation": "

    The timestamp when the snapshot was created, in ISO 8601 format (e.g.,\n \"2023-06-01T14:30:00Z\"). This allows for precise tracking of when the snapshot was\n taken.

    " } }, - "TELECOMMUNICATIONS": { - "target": "smithy.api#Unit", + "EngagementId": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", "traits": { - "smithy.api#enumValue": "Telecommunications" + "smithy.api#documentation": "

    The identifier of the engagement associated with this snapshot. Matches the\n EngagementIdentifier specified in the request.

    " } }, - "TRANSPORTATION_LOGISTICS": { - "target": "smithy.api#Unit", + "ResourceType": { + "target": "com.amazonaws.partnercentralselling#ResourceType", "traits": { - "smithy.api#enumValue": "Transportation and Logistics" + "smithy.api#documentation": "

    \n The type of the resource that was snapshotted. Matches the ResourceType specified in\n the request.\n

    " } }, - "TRAVEL": { - "target": "smithy.api#Unit", + "ResourceId": { + "target": "com.amazonaws.partnercentralselling#ResourceIdentifier", "traits": { - "smithy.api#enumValue": "Travel" + "smithy.api#documentation": "

    \n The identifier of the specific resource that was snapshotted. Matches the\n ResourceIdentifier specified in the request.\n

    " } }, - "WHOLESALE_DISTRIBUTION": { - "target": "smithy.api#Unit", + "ResourceSnapshotTemplateName": { + "target": "com.amazonaws.partnercentralselling#ResourceTemplateName", "traits": { - "smithy.api#enumValue": "Wholesale and Distribution" + "smithy.api#documentation": "

    \n The name of the view used for this snapshot. This is the same as the template\n name.\n

    " } }, - "OTHER": { - "target": "smithy.api#Unit", + "Revision": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotRevision", "traits": { - "smithy.api#enumValue": "Other" + "smithy.api#documentation": "

    \n The revision number of this snapshot. This is a positive integer that is sequential\n and unique within the context of a resource view.\n

    " } + }, + "Payload": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotPayload" } + }, + "traits": { + "smithy.api#output": {} } }, - "com.amazonaws.partnercentralselling#InternalServerException": { - "type": "structure", - "members": { - "Message": { - "target": "smithy.api#String" - } + "com.amazonaws.partnercentralselling#GetSellingSystemSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#GetSellingSystemSettingsRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#GetSellingSystemSettingsResponse" }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], "traits": { - "smithy.api#documentation": "

    This error occurs when the specified resource can’t be found or doesn't exist. Resource ID and type might be incorrect.\n

    \n

    Suggested action: This is usually a transient error. Retry after the provided retry delay or a short interval. If the problem persists, contact AWS support.\n

    ", - "smithy.api#error": "server", - "smithy.api#httpError": 500 + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to retrieving system settings settings in AWS Partner Central" + }, + "smithy.api#documentation": "

    Retrieves the currently set system settings, which include the IAM Role used for resource snapshot jobs.

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/GetSellingSystemSettings", + "code": 200 + }, + "smithy.api#readonly": {} } }, - "com.amazonaws.partnercentralselling#InvitationStatus": { - "type": "enum", + "com.amazonaws.partnercentralselling#GetSellingSystemSettingsRequest": { + "type": "structure", "members": { - "ACCEPTED": { - "target": "smithy.api#Unit", + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#enumValue": "ACCEPTED" + "smithy.api#documentation": "

    Specifies the catalog in which the settings are defined. Acceptable values include\n AWS for production and Sandbox for testing\n environments.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.partnercentralselling#GetSellingSystemSettingsResponse": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    Specifies the catalog in which the settings are defined. Acceptable values include\n AWS for production and Sandbox for testing\n environments.

    ", + "smithy.api#required": {} + } + }, + "ResourceSnapshotJobRoleArn": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobRoleArn", + "traits": { + "smithy.api#documentation": "

    Specifies the ARN of the IAM Role used for resource snapshot job executions.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.partnercentralselling#Industry": { + "type": "enum", + "members": { + "AEROSPACE_SATELLITE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Aerospace" + } + }, + "AGRICULTURE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Agriculture" + } + }, + "AUTOMOTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Automotive" + } + }, + "COMPUTERS_ELECTRONICS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Computers and Electronics" + } + }, + "CONSUMER_GOODS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Consumer Goods" + } + }, + "EDUCATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Education" + } + }, + "ENERGY_OIL_GAS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Energy - Oil and Gas" + } + }, + "ENERGY_POWER_UTILITIES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Energy - Power and Utilities" + } + }, + "FINANCIAL_SERVICES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Financial Services" + } + }, + "GAMING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Gaming" + } + }, + "GOVERNMENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Government" + } + }, + "HEALTHCARE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Healthcare" + } + }, + "HOSPITALITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Hospitality" + } + }, + "LIFE_SCIENCES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Life Sciences" + } + }, + "MANUFACTURING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Manufacturing" + } + }, + "MARKETING_ADVERTISING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Marketing and Advertising" + } + }, + "MEDIA_ENTERTAINMENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Media and Entertainment" + } + }, + "MINING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Mining" + } + }, + "NON_PROFIT_ORGANIZATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Non-Profit Organization" + } + }, + "PROFESSIONAL_SERVICES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Professional Services" + } + }, + "REALESTATE_CONSTRUCTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Real Estate and Construction" + } + }, + "RETAIL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Retail" + } + }, + "SOFTWARE_INTERNET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Software and Internet" + } + }, + "TELECOMMUNICATIONS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Telecommunications" + } + }, + "TRANSPORTATION_LOGISTICS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Transportation and Logistics" + } + }, + "TRAVEL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Travel" + } + }, + "WHOLESALE_DISTRIBUTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Wholesale and Distribution" + } + }, + "OTHER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Other" + } + } + } + }, + "com.amazonaws.partnercentralselling#InternalServerException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

    This error occurs when the specified resource can’t be found or doesn't exist.\n Resource ID and type might be incorrect.

    \n

    Suggested action: This is usually a transient error. Retry after the provided retry\n delay or a short interval. If the problem persists, contact AWS support.

    ", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.partnercentralselling#Invitation": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.partnercentralselling#InvitationMessage", + "traits": { + "smithy.api#documentation": "

    \n A message accompanying the invitation.\n

    ", + "smithy.api#required": {} + } + }, + "Receiver": { + "target": "com.amazonaws.partnercentralselling#Receiver", + "traits": { + "smithy.api#required": {} + } + }, + "Payload": { + "target": "com.amazonaws.partnercentralselling#Payload", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n The Invitation structure represents an invitation exchanged between partners and AWS.\n It includes a message, receiver information, and a payload providing context for the\n invitation.\n

    " + } + }, + "com.amazonaws.partnercentralselling#InvitationMessage": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + } + } + }, + "com.amazonaws.partnercentralselling#InvitationStatus": { + "type": "enum", + "members": { + "ACCEPTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACCEPTED" } }, "PENDING": { @@ -5814,206 +7374,1258 @@ "traits": { "smithy.api#enumValue": "EXPIRED" } - } - } - }, - "com.amazonaws.partnercentralselling#InvolvementTypeChangeReason": { - "type": "enum", - "members": { - "EXPANSION_OPPORTUNITY": { - "target": "smithy.api#Unit", + } + } + }, + "com.amazonaws.partnercentralselling#InvitationStatusList": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#InvitationStatus" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.partnercentralselling#InvolvementTypeChangeReason": { + "type": "enum", + "members": { + "EXPANSION_OPPORTUNITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Expansion Opportunity" + } + }, + "CHANGE_IN_DEAL_INFORMATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Change in Deal Information" + } + }, + "CUSTOMER_REQUESTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Customer Requested" + } + }, + "TECHNICAL_COMPLEXITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Technical Complexity" + } + }, + "RISK_MITIGATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Risk Mitigation" + } + } + } + }, + "com.amazonaws.partnercentralselling#JobTitle": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 80 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.partnercentralselling#LastModifiedDate": { + "type": "structure", + "members": { + "AfterLastModifiedDate": { + "target": "com.amazonaws.partnercentralselling#DateTime", + "traits": { + "smithy.api#documentation": "

    Specifies the date after which the opportunities were modified. Use this filter to\n retrieve only those opportunities that were modified after a given timestamp.

    " + } + }, + "BeforeLastModifiedDate": { + "target": "com.amazonaws.partnercentralselling#DateTime", + "traits": { + "smithy.api#documentation": "

    Specifies the date before which the opportunities were modified. Use this filter to\n retrieve only those opportunities that were modified before a given timestamp.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    Defines a filter to retrieve opportunities based on the last modified date. This\n filter is useful for tracking changes or updates to opportunities over time.

    " + } + }, + "com.amazonaws.partnercentralselling#LifeCycle": { + "type": "structure", + "members": { + "Stage": { + "target": "com.amazonaws.partnercentralselling#Stage", + "traits": { + "smithy.api#documentation": "

    Specifies the current stage of the Opportunity's lifecycle as it maps to\n Amazon Web Services stages from the current stage in the partner CRM. This field\n provides a translated value of the stage, and offers insight into the\n Opportunity's progression in the sales cycle, according to Amazon Web Services definitions.

    \n \n

    A lead and a prospect must be further matured to a Qualified\n opportunity before submission. Opportunities that were closed/lost before submission\n aren't suitable for submission.

    \n
    \n

    The descriptions of each sales stage are:

    \n
      \n
    • \n

      Prospect: Amazon Web Services identifies the opportunity. It can be active\n (Comes directly from the end customer through a lead) or latent (Your account\n team believes it exists based on research, account plans, sales plays).

      \n
    • \n
    • \n

      Qualified: Your account team engaged with the customer to discuss viability\n and requirements. The customer agreed that the opportunity is real, of interest,\n and may solve business/technical needs.

      \n
    • \n
    • \n

      Technical Validation: All parties understand the implementation plan.

      \n
    • \n
    • \n

      Business Validation: Pricing was proposed, and all parties agree to the steps\n to close.

      \n
    • \n
    • \n

      Committed: The customer signed the contract, but Amazon Web Services hasn't\n started billing.

      \n
    • \n
    • \n

      Launched: The workload is complete, and Amazon Web Services has started\n billing.

      \n
    • \n
    • \n

      Closed Lost: The opportunity is lost, and there are no steps to move\n forward.

      \n
    • \n
    " + } + }, + "ClosedLostReason": { + "target": "com.amazonaws.partnercentralselling#ClosedLostReason", + "traits": { + "smithy.api#documentation": "

    Specifies the reason code when an opportunity is marked as Closed\n Lost. When you select an appropriate reason code, you communicate the\n context for closing the Opportunity, and aid in accurate reports and\n analysis of opportunity outcomes. The possible values are:

    \n
      \n
    • \n

      Customer Deficiency: The customer lacked necessary resources or\n capabilities.

      \n
    • \n
    • \n

      Delay/Cancellation of Project: The project was delayed or canceled.

      \n
    • \n
    • \n

      Legal/Tax/Regulatory: Legal, tax, or regulatory issues prevented\n progress.

      \n
    • \n
    • \n

      Lost to Competitor—Google: The opportunity was lost to Google.

      \n
    • \n
    • \n

      Lost to Competitor—Microsoft: The opportunity was lost to Microsoft.

      \n
    • \n
    • \n

      Lost to Competitor—SoftLayer: The opportunity was lost to SoftLayer.

      \n
    • \n
    • \n

      Lost to Competitor—VMWare: The opportunity was lost to VMWare.

      \n
    • \n
    • \n

      Lost to Competitor—Other: The opportunity was lost to a competitor not listed\n above.

      \n
    • \n
    • \n

      No Opportunity: There was no opportunity to pursue.

      \n
    • \n
    • \n

      On Premises Deployment: The customer chose an on-premises solution.

      \n
    • \n
    • \n

      Partner Gap: The partner lacked necessary resources or capabilities.

      \n
    • \n
    • \n

      Price: The price was not competitive or acceptable to the customer.

      \n
    • \n
    • \n

      Security/Compliance: Security or compliance issues prevented progress.

      \n
    • \n
    • \n

      Technical Limitations: Technical limitations prevented progress.

      \n
    • \n
    • \n

      Customer Experience: Issues related to the customer's experience impacted the\n decision.

      \n
    • \n
    • \n

      Other: Any reason not covered by the other values.

      \n
    • \n
    • \n

      People/Relationship/Governance: Issues related to people, relationships, or\n governance.

      \n
    • \n
    • \n

      Product/Technology: Issues related to the product or technology.

      \n
    • \n
    • \n

      Financial/Commercial: Financial or commercial issues impacted the\n decision.

      \n
    • \n
    " + } + }, + "NextSteps": { + "target": "com.amazonaws.partnercentralselling#PiiString", + "traits": { + "smithy.api#documentation": "

    Specifies the upcoming actions or tasks for the Opportunity. Use this\n field to communicate with Amazon Web Services about the next actions required for the\n Opportunity.

    ", + "smithy.api#length": { + "max": 255 + } + } + }, + "TargetCloseDate": { + "target": "com.amazonaws.partnercentralselling#Date", + "traits": { + "smithy.api#documentation": "

    Specifies the date when Amazon Web Services expects to start significant billing, when\n 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.

    \n

    Ensure the Target Close Date isn't in the past.

    " + } + }, + "ReviewStatus": { + "target": "com.amazonaws.partnercentralselling#ReviewStatus", + "traits": { + "smithy.api#documentation": "

    Indicates the review status of an opportunity referred by a partner. This field is\n read-only and only applicable for partner referrals. The possible values are:

    \n
      \n
    • \n

      Pending Submission: Not submitted for validation (editable).

      \n
    • \n
    • \n

      Submitted: Submitted for validation, and Amazon Web Services hasn't reviewed it\n (read-only).

      \n
    • \n
    • \n

      In Review: Amazon Web Services is validating (read-only).

      \n
    • \n
    • \n

      Action Required: Issues that Amazon Web Services highlights need to be\n addressed. Partners should use the UpdateOpportunity API action to\n update the opportunity and helps to ensure that all required changes are made.\n Only the following fields are editable when the\n Lifecycle.ReviewStatus is Action Required:

      \n
        \n
      • \n

        Customer.Account.Address.City

        \n
      • \n
      • \n

        Customer.Account.Address.CountryCode

        \n
      • \n
      • \n

        Customer.Account.Address.PostalCode

        \n
      • \n
      • \n

        Customer.Account.Address.StateOrRegion

        \n
      • \n
      • \n

        Customer.Account.Address.StreetAddress

        \n
      • \n
      • \n

        Customer.Account.WebsiteUrl

        \n
      • \n
      • \n

        LifeCycle.TargetCloseDate

        \n
      • \n
      • \n

        Project.ExpectedMonthlyAWSRevenue.Amount

        \n
      • \n
      • \n

        Project.ExpectedMonthlyAWSRevenue.CurrencyCode

        \n
      • \n
      • \n

        Project.CustomerBusinessProblem

        \n
      • \n
      • \n

        PartnerOpportunityIdentifier

        \n
      • \n
      \n

      After updates, the opportunity re-enters the validation phase. This process\n repeats until all issues are resolved, and the opportunity's\n Lifecycle.ReviewStatus is set to Approved or\n Rejected.

      \n
    • \n
    • \n

      Approved: Validated and converted into the Amazon Web Services seller's\n pipeline (editable).

      \n
    • \n
    • \n

      Rejected: Disqualified (read-only).

      \n
    • \n
    " + } + }, + "ReviewComments": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    Indicates why an opportunity was sent back for further details. Partners must take\n corrective action based on the ReviewComments.

    " + } + }, + "ReviewStatusReason": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    Indicates the reason a decision was made during the opportunity review process. This\n field combines the reasons for both disqualified and action required statuses, and\n provide clarity for why an opportunity was disqualified or requires further\n action.

    " + } + }, + "NextStepsHistory": { + "target": "com.amazonaws.partnercentralselling#NextStepsHistories", + "traits": { + "smithy.api#documentation": "

    Captures a chronological record of the next steps or actions planned or taken for the\n current opportunity, along with the timestamp.

    ", + "smithy.api#length": { + "max": 50 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

    An object that contains the Opportunity lifecycle's details.

    " + } + }, + "com.amazonaws.partnercentralselling#LifeCycleForView": { + "type": "structure", + "members": { + "TargetCloseDate": { + "target": "com.amazonaws.partnercentralselling#Date", + "traits": { + "smithy.api#documentation": "

    \n The projected launch date of the opportunity shared through a snapshot.\n

    " + } + }, + "ReviewStatus": { + "target": "com.amazonaws.partnercentralselling#ReviewStatus", + "traits": { + "smithy.api#documentation": "

    \n Defines the approval status of the opportunity shared through a snapshot.\n

    " + } + }, + "Stage": { + "target": "com.amazonaws.partnercentralselling#Stage", + "traits": { + "smithy.api#documentation": "

    \n Defines the current stage of the opportunity shared through a snapshot.\n

    " + } + }, + "NextSteps": { + "target": "com.amazonaws.partnercentralselling#PiiString", + "traits": { + "smithy.api#documentation": "

    \n Describes the next steps for the opportunity shared through a snapshot.\n

    ", + "smithy.api#length": { + "max": 255 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n Provides the lifecycle view of an opportunity resource shared through a\n snapshot.\n

    " + } + }, + "com.amazonaws.partnercentralselling#LifeCycleSummary": { + "type": "structure", + "members": { + "Stage": { + "target": "com.amazonaws.partnercentralselling#Stage", + "traits": { + "smithy.api#documentation": "

    Specifies the current stage of the Opportunity's lifecycle as it maps to\n Amazon Web Services stages from the current stage in the partner CRM. This field\n provides a translated value of the stage, and offers insight into the\n Opportunity's progression in the sales cycle, according to Amazon Web Services definitions.

    \n \n

    A lead and a prospect must be further matured to a Qualified\n opportunity before submission. Opportunities that were closed/lost before submission\n aren't suitable for submission.

    \n
    \n

    The descriptions of each sales stage are:

    \n
      \n
    • \n

      Prospect: Amazon Web Services identifies the opportunity. It can be active\n (Comes directly from the end customer through a lead) or latent (Your account\n team believes it exists based on research, account plans, sales plays).

      \n
    • \n
    • \n

      Qualified: Your account team engaged with the customer to discuss viability\n and understand requirements. The customer agreed that the opportunity is real,\n of interest, and may solve business/technical needs.

      \n
    • \n
    • \n

      Technical Validation: All parties understand the implementation plan.

      \n
    • \n
    • \n

      Business Validation: Pricing was proposed, and all parties agree to the steps\n to close.

      \n
    • \n
    • \n

      Committed: The customer signed the contract, but Amazon Web Services hasn't\n started billing.

      \n
    • \n
    • \n

      Launched: The workload is complete, and Amazon Web Services has started\n billing.

      \n
    • \n
    • \n

      Closed Lost: The opportunity is lost, and there are no steps to move\n forward.

      \n
    • \n
    " + } + }, + "ClosedLostReason": { + "target": "com.amazonaws.partnercentralselling#ClosedLostReason", + "traits": { + "smithy.api#documentation": "

    Specifies the reason code when an opportunity is marked as Closed\n Lost. When you select an appropriate reason code, you communicate the\n context for closing the Opportunity, and aid in accurate reports and\n analysis of opportunity outcomes.

    " + } + }, + "NextSteps": { + "target": "com.amazonaws.partnercentralselling#PiiString", + "traits": { + "smithy.api#documentation": "

    Specifies the upcoming actions or tasks for the Opportunity. This field\n is utilized to communicate to Amazon Web Services the next actions required for the\n Opportunity.

    ", + "smithy.api#length": { + "max": 255 + } + } + }, + "TargetCloseDate": { + "target": "com.amazonaws.partnercentralselling#Date", + "traits": { + "smithy.api#documentation": "

    Specifies the date when Amazon Web Services expects to start significant billing, when\n 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.

    \n

    Ensure the Target Close Date isn't in the past.

    " + } + }, + "ReviewStatus": { + "target": "com.amazonaws.partnercentralselling#ReviewStatus", + "traits": { + "smithy.api#documentation": "

    Indicates the review status of a partner referred opportunity. This field is read-only\n and only applicable for partner referrals. Valid values:

    \n
      \n
    • \n

      Pending Submission: Not submitted for validation (editable).

      \n
    • \n
    • \n

      Submitted: Submitted for validation and not yet Amazon Web Services reviewed\n (read-only).

      \n
    • \n
    • \n

      In Review: Undergoing Amazon Web Services validation (read-only).

      \n
    • \n
    • \n

      Action Required: Address any issues Amazon Web Services highlights. Use the\n UpdateOpportunity API action to update the opportunity, and\n ensure you make all required changes. Only these fields are editable when the\n Lifecycle.ReviewStatus is Action Required:

      \n
        \n
      • \n

        Customer.Account.Address.City

        \n
      • \n
      • \n

        Customer.Account.Address.CountryCode

        \n
      • \n
      • \n

        Customer.Account.Address.PostalCode

        \n
      • \n
      • \n

        Customer.Account.Address.StateOrRegion

        \n
      • \n
      • \n

        Customer.Account.Address.StreetAddress

        \n
      • \n
      • \n

        Customer.Account.WebsiteUrl

        \n
      • \n
      • \n

        LifeCycle.TargetCloseDate

        \n
      • \n
      • \n

        Project.ExpectedCustomerSpend.Amount

        \n
      • \n
      • \n

        Project.ExpectedCustomerSpend.CurrencyCode

        \n
      • \n
      • \n

        Project.CustomerBusinessProblem

        \n
      • \n
      • \n

        PartnerOpportunityIdentifier

        \n
      • \n
      \n

      After updates, the opportunity re-enters the validation phase. This process\n repeats until all issues are resolved, and the opportunity's\n Lifecycle.ReviewStatus is set to Approved or\n Rejected.

      \n
    • \n
    • \n

      Approved: Validated and converted into the Amazon Web Services seller's\n pipeline (editable).

      \n
    • \n
    • \n

      Rejected: Disqualified (read-only).

      \n
    • \n
    " + } + }, + "ReviewComments": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    Indicates why an opportunity was sent back for further details. Partners must take\n corrective action based on the ReviewComments.

    " + } + }, + "ReviewStatusReason": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    Indicates the reason a specific decision was taken during the opportunity review\n process. This field combines the reasons for both disqualified and action required\n statuses, and provides clarity for why an opportunity was disqualified or required\n further action.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    An object that contains a LifeCycle object's subset of fields.

    " + } + }, + "com.amazonaws.partnercentralselling#ListEngagementByAcceptingInvitationTaskSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#ListEngagementByAcceptingInvitationTaskSummary" + } + }, + "com.amazonaws.partnercentralselling#ListEngagementByAcceptingInvitationTaskSummary": { + "type": "structure", + "members": { + "TaskId": { + "target": "com.amazonaws.partnercentralselling#TaskIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Unique identifier of the task.\n

    " + } + }, + "TaskArn": { + "target": "com.amazonaws.partnercentralselling#TaskArn", + "traits": { + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) that uniquely identifies the task.\n

    " + } + }, + "StartTime": { + "target": "com.amazonaws.partnercentralselling#DateTime", + "traits": { + "smithy.api#documentation": "

    \n Task start timestamp.\n

    " + } + }, + "TaskStatus": { + "target": "com.amazonaws.partnercentralselling#TaskStatus", + "traits": { + "smithy.api#documentation": "

    \n Status of the task.\n

    " + } + }, + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    \n Detailed message describing the failure and possible recovery steps.\n

    " + } + }, + "ReasonCode": { + "target": "com.amazonaws.partnercentralselling#ReasonCode", + "traits": { + "smithy.api#documentation": "

    \n A code pointing to the specific reason for the failure.\n

    " + } + }, + "OpportunityId": { + "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Unique identifier of opportunity that was created.\n

    " + } + }, + "ResourceSnapshotJobId": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Unique identifier of the resource snapshot job that was created.\n

    " + } + }, + "EngagementInvitationId": { + "target": "com.amazonaws.partnercentralselling#EngagementInvitationIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The unique identifier of the engagement invitation that was accepted.\n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n Specifies a subset of fields associated with tasks related to accepting an engagement\n invitation.\n

    " + } + }, + "com.amazonaws.partnercentralselling#ListEngagementByAcceptingInvitationTasks": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#ListEngagementByAcceptingInvitationTasksRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#ListEngagementByAcceptingInvitationTasksResponse" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to listing engagements by accepting invitation tasks in AWS Partner\nCentral" + }, + "smithy.api#documentation": "

    \n Lists all in-progress, completed, or failed StartEngagementByAcceptingInvitationTask\n tasks that were initiated by the caller's account. \n

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/ListEngagementByAcceptingInvitationTasks", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "TaskSummaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagementByAcceptingInvitationTasksRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

    \n Use this parameter to control the number of items returned in each request, which can\n be useful for performance tuning and managing large result sets.\n

    ", + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    \n Use this parameter for pagination when the result set spans multiple pages. This value\n is obtained from the NextToken field in the response of a previous call to this API.\n

    ", + "smithy.api#length": { + "min": 1, + "max": 2048 + } + } + }, + "Sort": { + "target": "com.amazonaws.partnercentralselling#ListTasksSortBase", + "traits": { + "smithy.api#documentation": "

    \n Specifies the sorting criteria for the returned results. This allows you to order the\n tasks based on specific attributes.\n

    " + } + }, + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Specifies the catalog related to the request. Valid values are:\n

    \n
      \n
    • \n

      AWS: Retrieves the request from the production AWS environment.

      \n
    • \n
    • \n

      Sandbox: Retrieves the request from a sandbox environment used for testing or\n development purposes.

      \n
    • \n
    ", + "smithy.api#required": {} + } + }, + "TaskStatus": { + "target": "com.amazonaws.partnercentralselling#TaskStatuses", + "traits": { + "smithy.api#documentation": "

    \n Filters the tasks based on their current status. This allows you to focus on tasks in\n specific states.\n

    " + } + }, + "OpportunityIdentifier": { + "target": "com.amazonaws.partnercentralselling#OpportunityIdentifiers", + "traits": { + "smithy.api#documentation": "

    \n Filters tasks by the identifiers of the opportunities they created or are associated\n with.\n

    " + } + }, + "EngagementInvitationIdentifier": { + "target": "com.amazonaws.partnercentralselling#EngagementInvitationIdentifiers", + "traits": { + "smithy.api#documentation": "

    \n Filters tasks by the identifiers of the engagement invitations they are\n processing.\n

    " + } + }, + "TaskIdentifier": { + "target": "com.amazonaws.partnercentralselling#TaskIdentifiers", + "traits": { + "smithy.api#documentation": "

    \n Filters tasks by their unique identifiers. Use this when you want to retrieve\n information about specific tasks. \n

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagementByAcceptingInvitationTasksResponse": { + "type": "structure", + "members": { + "TaskSummaries": { + "target": "com.amazonaws.partnercentralselling#ListEngagementByAcceptingInvitationTaskSummaries", + "traits": { + "smithy.api#documentation": "

    \n An array of EngagementByAcceptingInvitationTaskSummary objects, each representing a\n task that matches the specified filters. The array may be empty if no tasks match the\n criteria.\n

    " + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    \n A token used for pagination to retrieve the next page of results.If there are more\n results available, this field will contain a token that can be used in a subsequent API\n call to retrieve the next page. If there are no more results, this field will be null or\n an empty string.\n

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagementFromOpportunityTaskSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#ListEngagementFromOpportunityTaskSummary" + } + }, + "com.amazonaws.partnercentralselling#ListEngagementFromOpportunityTaskSummary": { + "type": "structure", + "members": { + "TaskId": { + "target": "com.amazonaws.partnercentralselling#TaskIdentifier", + "traits": { + "smithy.api#documentation": "

    \n A unique identifier for a specific task.\n

    " + } + }, + "TaskArn": { + "target": "com.amazonaws.partnercentralselling#TaskArn", + "traits": { + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) uniquely identifying this task within AWS. This ARN can\n be used for referencing the task in other AWS services or APIs.\n

    " + } + }, + "StartTime": { + "target": "com.amazonaws.partnercentralselling#DateTime", + "traits": { + "smithy.api#documentation": "

    \n The timestamp indicating when the task was initiated, in RFC 3339 5.6 date-time\n format.\n

    " + } + }, + "TaskStatus": { + "target": "com.amazonaws.partnercentralselling#TaskStatus", + "traits": { + "smithy.api#documentation": "

    \n The current status of the task.\n

    " + } + }, + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    \n A detailed message providing additional information about the task, especially useful\n in case of failures. This field may contain error details or other relevant information\n about the task's execution\n

    " + } + }, + "ReasonCode": { + "target": "com.amazonaws.partnercentralselling#ReasonCode", + "traits": { + "smithy.api#documentation": "

    \n A code indicating the specific reason for a task failure. This field is populated when\n the task status is FAILED and provides a categorized reason for the failure.\n

    " + } + }, + "OpportunityId": { + "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The unique identifier of the original Opportunity from which the Engagement is being\n created. This field helps track the source of the Engagement creation task. \n

    " + } + }, + "ResourceSnapshotJobId": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The identifier of the resource snapshot job associated with this task, if a snapshot\n was created as part of the Engagement creation process.\n

    " + } + }, + "EngagementId": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The unique identifier of the engagement created as a result of the task. This field is\n populated when the task is completed successfully. \n

    " + } + }, + "EngagementInvitationId": { + "target": "com.amazonaws.partnercentralselling#EngagementInvitationIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The unique identifier of the engagement identifier created as a result of the task. This field is\n populated when the task is completed successfully.\n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n Provides a summary of a task related to creating an engagement from an opportunity.\n This structure contains key information about the task's status, associated identifiers,\n and any failure details.\n

    " + } + }, + "com.amazonaws.partnercentralselling#ListEngagementFromOpportunityTasks": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#ListEngagementFromOpportunityTasksRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#ListEngagementFromOpportunityTasksResponse" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to listing engagements from opportunity tasks in AWS Partner Central" + }, + "smithy.api#documentation": "

    \n Lists all in-progress, completed, or failed EngagementFromOpportunity tasks that were\n initiated by the caller's account.\n

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/ListEngagementFromOpportunityTasks", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "TaskSummaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagementFromOpportunityTasksRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

    \n Specifies the maximum number of results to return in a single page of the response.Use\n this parameter to control the number of items returned in each request, which can be\n useful for performance tuning and managing large result sets. \n

    ", + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    \n The token for requesting the next page of results. This value is obtained from the\n NextToken field in the response of a previous call to this API. Use this parameter for\n pagination when the result set spans multiple pages.\n

    ", + "smithy.api#length": { + "min": 1, + "max": 2048 + } + } + }, + "Sort": { + "target": "com.amazonaws.partnercentralselling#ListTasksSortBase", + "traits": { + "smithy.api#documentation": "

    \n Specifies the sorting criteria for the returned results. This allows you to order the\n tasks based on specific attributes. \n

    " + } + }, + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Specifies the catalog related to the request. Valid values are:\n

    \n
      \n
    • \n

      AWS: Retrieves the request from the production AWS environment.

      \n
    • \n
    • \n

      Sandbox: Retrieves the request from a sandbox environment used for testing or\n development purposes.

      \n
    • \n
    ", + "smithy.api#required": {} + } + }, + "TaskStatus": { + "target": "com.amazonaws.partnercentralselling#TaskStatuses", + "traits": { + "smithy.api#documentation": "

    \n Filters the tasks based on their current status. This allows you to focus on tasks in\n specific states.\n

    " + } + }, + "TaskIdentifier": { + "target": "com.amazonaws.partnercentralselling#TaskIdentifiers", + "traits": { + "smithy.api#documentation": "

    \n Filters tasks by their unique identifiers. Use this when you want to retrieve\n information about specific tasks. \n

    " + } + }, + "OpportunityIdentifier": { + "target": "com.amazonaws.partnercentralselling#OpportunityIdentifiers", + "traits": { + "smithy.api#documentation": "

    \n The identifier of the original opportunity associated with this task.\n

    " + } + }, + "EngagementIdentifier": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifiers", + "traits": { + "smithy.api#documentation": "

    \n Filters tasks by the identifiers of the engagements they created or are associated\n with.\n

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagementFromOpportunityTasksResponse": { + "type": "structure", + "members": { + "TaskSummaries": { + "target": "com.amazonaws.partnercentralselling#ListEngagementFromOpportunityTaskSummaries", + "traits": { + "smithy.api#documentation": "

    \n TaskSummaries An array of TaskSummary objects containing details about each\n task.\n

    " + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    \n A token used for pagination to retrieve the next page of results. If there are more\n results available, this field will contain a token that can be used in a subsequent API\n call to retrieve the next page. If there are no more results, this field will be null or\n an empty string.\n

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagementInvitations": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#ListEngagementInvitationsRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#ListEngagementInvitationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#InternalServerException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to list Engagement Invitations on AWS Partner Central" + }, + "smithy.api#documentation": "

    Retrieves a list of engagement invitations sent to the partner. This allows partners\n to view all pending or past engagement invitations, helping them track opportunities\n shared by AWS.

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/ListEngagementInvitations", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "EngagementInvitationSummaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagementInvitationsRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    Specifies the catalog from which to list the engagement invitations. Use\n AWS for production invitations or Sandbox for testing\n environments.

    ", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.partnercentralselling#PageSize", + "traits": { + "smithy.api#documentation": "

    Specifies the maximum number of engagement invitations to return in the response. If\n more results are available, a pagination token will be provided.

    " + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    A pagination token used to retrieve additional pages of results when the response to a\n previous request was truncated. Pass this token to continue listing invitations from\n where the previous call left off.

    " + } + }, + "Sort": { + "target": "com.amazonaws.partnercentralselling#OpportunityEngagementInvitationSort", + "traits": { + "smithy.api#documentation": "

    Specifies the sorting options for listing engagement invitations. Invitations can be\n sorted by fields such as InvitationDate or Status to help\n partners view results in their preferred order.

    " + } + }, + "PayloadType": { + "target": "com.amazonaws.partnercentralselling#EngagementInvitationsPayloadType", + "traits": { + "smithy.api#documentation": "

    Defines the type of payload associated with the engagement invitations to be listed.\n The attributes in this payload help decide on acceptance or rejection of the\n invitation.

    " + } + }, + "ParticipantType": { + "target": "com.amazonaws.partnercentralselling#ParticipantType", + "traits": { + "smithy.api#documentation": "

    Specifies the type of participant for which to list engagement invitations. Identifies\n the role of the participant.

    ", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.partnercentralselling#InvitationStatusList", + "traits": { + "smithy.api#documentation": "

    \n Status values to filter the invitations.\n

    " + } + }, + "EngagementIdentifier": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifiers", + "traits": { + "smithy.api#documentation": "

    \n Retrieves a list of engagement invitation summaries based on specified filters. The\n ListEngagementInvitations operation allows you to view all invitations that you have\n sent or received. You must specify the ParticipantType to filter invitations where you\n are either the SENDER or the RECEIVER. Invitations will automatically expire if not\n accepted within 15 days.\n

    " + } + }, + "SenderAwsAccountId": { + "target": "com.amazonaws.partnercentralselling#AwsAccountIdOrAliasList", + "traits": { + "smithy.api#documentation": "

    \n List of sender AWS account IDs to filter the invitations.\n

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagementInvitationsResponse": { + "type": "structure", + "members": { + "EngagementInvitationSummaries": { + "target": "com.amazonaws.partnercentralselling#EngagementInvitationSummaries", + "traits": { + "smithy.api#documentation": "

    An array containing summaries of engagement invitations. Each summary includes\n information such as the invitation title, invitation date, and the current status of the\n invitation.

    " + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    A pagination token returned when there are more results available than can be returned\n in a single call. Use this token to retrieve additional pages of engagement invitation\n summaries.

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagementMembers": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#ListEngagementMembersRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#ListEngagementMembersResponse" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to listing engagement members in AWS Partner Central" + }, + "smithy.api#documentation": "

    \n Retrieves the details of member partners in an engagement. This operation can only be\n invoked by members of the engagement. The ListEngagementMembers operation allows you to\n fetch information about the members of a specific engagement. This action is restricted\n to members of the engagement being queried.\n

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/ListEngagementMembers", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "EngagementMemberList" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagementMembersRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The catalog related to the request. \n

    ", + "smithy.api#required": {} + } + }, + "Identifier": { + "target": "com.amazonaws.partnercentralselling#EngagementArnOrIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Identifier of the engagement record to retrieve members from.\n

    ", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.partnercentralselling#MemberPageSize", + "traits": { + "smithy.api#default": 5, + "smithy.api#documentation": "

    \n The maximum number of results to return in a single call.\n

    " + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    \n The token for the next set of results.\n

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagementMembersResponse": { + "type": "structure", + "members": { + "EngagementMemberList": { + "target": "com.amazonaws.partnercentralselling#EngagementMembers", + "traits": { + "smithy.api#documentation": "

    \nProvides a list of engagement members.\n

    ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    \n A pagination token used to retrieve the next set of results. If there are more results\n available than can be returned in a single response, this token will be present. Use\n this token in a subsequent request to retrieve the next page of results. If there are no\n more results, this value will be null.\n

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagementResourceAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#ListEngagementResourceAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#ListEngagementResourceAssociationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to listing engagement resource associations in AWS Partner Central" + }, + "smithy.api#documentation": "

    \n Lists the associations between resources and engagements where the caller is a member\n and has at least one snapshot in the engagement. \n

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/ListEngagementResourceAssociations", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "EngagementResourceAssociationSummaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagementResourceAssociationsRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Specifies the catalog in which to search for engagement-resource associations.\n

    ", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.partnercentralselling#PageSize", + "traits": { + "smithy.api#default": 100, + "smithy.api#documentation": "

    \n Limits the number of results returned in a single call. Use this to control the number\n of results returned, especially useful for pagination.\n

    ", + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    \n A token used for pagination of results. Include this token in subsequent requests to\n retrieve the next set of results.\n

    " + } + }, + "EngagementIdentifier": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Filters the results to include only associations related to the specified engagement.\n Use this when you want to find all resources associated with a specific engagement.\n

    " + } + }, + "ResourceType": { + "target": "com.amazonaws.partnercentralselling#ResourceType", + "traits": { + "smithy.api#documentation": "

    \n Filters the results to include only associations with resources of the specified type.\n

    " + } + }, + "ResourceIdentifier": { + "target": "com.amazonaws.partnercentralselling#ResourceIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Filters the results to include only associations with the specified resource. Varies\n depending on the resource type. Use this when you want to find all engagements\n associated with a specific resource.\n

    " + } + }, + "CreatedBy": { + "target": "com.amazonaws.partnercentralselling#AwsAccount", + "traits": { + "smithy.api#documentation": "

    \n Filters the results to include only associations with resources owned by the specified\n AWS account. Use this when you want to find associations related to resources owned by a\n particular account.\n

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagementResourceAssociationsResponse": { + "type": "structure", + "members": { + "EngagementResourceAssociationSummaries": { + "target": "com.amazonaws.partnercentralselling#EngagementResourceAssociationSummaryList", + "traits": { + "smithy.api#documentation": "

    \n A list of engagement-resource association summaries.\n

    ", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    \n A token to retrieve the next set of results. Use this token in a subsequent request to\n retrieve additional results if the response was truncated.\n

    " + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagements": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#ListEngagementsRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#ListEngagementsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to listing engagements in AWS Partner Central" + }, + "smithy.api#documentation": "

    \n This action allows users to retrieve a list of engagement records from Partner\n Central. This action can be used to manage and track various engagements across\n different stages of the partner selling process.\n

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/ListEngagements", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "EngagementSummaryList" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.partnercentralselling#ListEngagementsRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Specifies the catalog related to the request.\n

    ", + "smithy.api#required": {} + } + }, + "CreatedBy": { + "target": "com.amazonaws.partnercentralselling#AwsAccountList", + "traits": { + "smithy.api#documentation": "

    \n A list of AWS account IDs. When specified, the response includes engagements created\n by these accounts. This filter is useful for finding engagements created by specific\n team members.\n

    " + } + }, + "ExcludeCreatedBy": { + "target": "com.amazonaws.partnercentralselling#AwsAccountList", "traits": { - "smithy.api#enumValue": "Expansion Opportunity" + "smithy.api#documentation": "

    \n An array of strings representing AWS Account IDs. Use this to exclude engagements\n created by specific users.\n

    " } }, - "CHANGE_IN_DEAL_INFORMATION": { - "target": "smithy.api#Unit", + "Sort": { + "target": "com.amazonaws.partnercentralselling#EngagementSort", "traits": { - "smithy.api#enumValue": "Change in Deal Information" + "smithy.api#documentation": "

    \n An object that specifies the sort order of the results.\n

    " } }, - "CUSTOMER_REQUESTED": { - "target": "smithy.api#Unit", + "MaxResults": { + "target": "com.amazonaws.partnercentralselling#EngagementPageSize", "traits": { - "smithy.api#enumValue": "Customer Requested" + "smithy.api#default": 20, + "smithy.api#documentation": "

    \n The maximum number of results to return in a single call.\n

    " } }, - "TECHNICAL_COMPLEXITY": { - "target": "smithy.api#Unit", + "NextToken": { + "target": "smithy.api#String", "traits": { - "smithy.api#enumValue": "Technical Complexity" + "smithy.api#documentation": "

    \n The token for the next set of results. This value is returned from a previous\n call.\n

    " } }, - "RISK_MITIGATION": { - "target": "smithy.api#Unit", + "EngagementIdentifier": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifiers", "traits": { - "smithy.api#enumValue": "Risk Mitigation" + "smithy.api#documentation": "

    \n An array of strings representing engagement identifiers to retrieve.\n

    " } } - } - }, - "com.amazonaws.partnercentralselling#JobTitle": { - "type": "string", + }, "traits": { - "smithy.api#length": { - "max": 80 - }, - "smithy.api#sensitive": {} + "smithy.api#input": {} } }, - "com.amazonaws.partnercentralselling#LastModifiedDate": { + "com.amazonaws.partnercentralselling#ListEngagementsResponse": { "type": "structure", "members": { - "AfterLastModifiedDate": { - "target": "com.amazonaws.partnercentralselling#DateTime", + "EngagementSummaryList": { + "target": "com.amazonaws.partnercentralselling#EngagementSummaryList", "traits": { - "smithy.api#documentation": "

    Specifies the date after which the opportunities were modified. Use this filter to retrieve only those opportunities that were modified after a given timestamp.

    " + "smithy.api#documentation": "

    \n An array of engagement summary objects.\n

    ", + "smithy.api#required": {} } }, - "BeforeLastModifiedDate": { - "target": "com.amazonaws.partnercentralselling#DateTime", + "NextToken": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Specifies the date before which the opportunities were modified. Use this filter to retrieve only those opportunities that were modified before a given timestamp.

    " + "smithy.api#documentation": "

    \n The token to retrieve the next set of results. This field will be null if there are no\n more results.\n

    " } } }, "traits": { - "smithy.api#documentation": "

    Defines a filter to retrieve opportunities based on the last modified date. This filter is useful for tracking changes or updates to opportunities over time.

    " + "smithy.api#output": {} } }, - "com.amazonaws.partnercentralselling#LifeCycle": { + "com.amazonaws.partnercentralselling#ListOpportunities": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#ListOpportunitiesRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#ListOpportunitiesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#InternalServerException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to list Opportunities on AWS Partner Central" + }, + "smithy.api#documentation": "

    This request accepts a list of filters that retrieve opportunity subsets as well as\n sort options. This feature is available to partners from Partner Central using the\n ListOpportunities API action.

    \n

    To synchronize your system with Amazon Web Services, only list the opportunities that\n were newly created or updated. We recommend you rely on events emitted by the service\n into your Amazon Web Services account’s Amazon EventBridge default event bus, you can\n also use the ListOpportunities action.

    \n

    We recommend the following approach:

    \n
      \n
    1. \n

      Find the latest LastModifiedDate that you stored, and only use\n the values that came from Amazon Web Services. Don’t use values generated by your\n system.

      \n
    2. \n
    3. \n

      When you send a ListOpportunities request, submit the date in ISO\n 8601 format in the AfterLastModifiedDate filter.

      \n
    4. \n
    5. \n

      Amazon Web Services only returns opportunities created or updated on or after\n that date and time. Use NextToken to iterate over all pages.

      \n
    6. \n
    ", + "smithy.api#http": { + "method": "POST", + "uri": "/ListOpportunities", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "OpportunitySummaries" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "ListOpportunitiesError", + "params": { + "Catalog": null + }, + "expect": { + "failure": { + "errorId": "com.amazonaws.partnercentralselling#ValidationException" + } + } + } + ] + } + }, + "com.amazonaws.partnercentralselling#ListOpportunitiesRequest": { "type": "structure", "members": { - "Stage": { - "target": "com.amazonaws.partnercentralselling#Stage", + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    \n \n

    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.

    \n
    \n

    \n The descriptions of each sales stage are:\n

    \n
      \n
    • \n

      \n 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).\n

      \n
    • \n
    • \n

      \n 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.\n

      \n
    • \n
    • \n

      \n Technical Validation: All parties understand the implementation plan.\n

      \n
    • \n
    • \n

      \n Business Validation: Pricing was proposed, and all parties agree to the steps to close.\n

      \n
    • \n
    • \n

      \n Committed: The customer signed the contract, but Amazon Web Services hasn't started billing.\n

      \n
    • \n
    • \n

      \n Launched: The workload is complete, and Amazon Web Services has started billing.\n

      \n
    • \n
    • \n

      \n Closed Lost: The opportunity is lost, and there are no steps to move forward.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    Specifies the catalog associated with the request. This field takes a string value\n from a predefined list: AWS or Sandbox. The catalog determines\n which environment the opportunities are listed in. Use AWS for listing real\n opportunities in the Amazon Web Services catalog, and Sandbox for testing in\n secure, isolated environments.

    ", + "smithy.api#required": {} } }, - "ClosedLostReason": { - "target": "com.amazonaws.partnercentralselling#ClosedLostReason", + "MaxResults": { + "target": "com.amazonaws.partnercentralselling#PageSize", "traits": { - "smithy.api#documentation": "

    \n Specifies the reason code when an opportunity is marked as Closed Lost. When you select an\n appropriate reason code, you communicate the context for closing the Opportunity,\n and aid in accurate reports and analysis of opportunity outcomes. The possible values are:\n

    \n
      \n
    • \n

      Customer Deficiency: The customer lacked necessary resources or capabilities.

      \n
    • \n
    • \n

      Delay/Cancellation of Project: The project was delayed or canceled.

      \n
    • \n
    • \n

      Legal/Tax/Regulatory: Legal, tax, or regulatory issues prevented progress.

      \n
    • \n
    • \n

      Lost to Competitor—Google: The opportunity was lost to Google.

      \n
    • \n
    • \n

      Lost to Competitor—Microsoft: The opportunity was lost to Microsoft.

      \n
    • \n
    • \n

      Lost to Competitor—SoftLayer: The opportunity was lost to SoftLayer.

      \n
    • \n
    • \n

      Lost to Competitor—VMWare: The opportunity was lost to VMWare.

      \n
    • \n
    • \n

      Lost to Competitor—Other: The opportunity was lost to a competitor not listed above.

      \n
    • \n
    • \n

      No Opportunity: There was no opportunity to pursue.

      \n
    • \n
    • \n

      On Premises Deployment: The customer chose an on-premises solution.

      \n
    • \n
    • \n

      Partner Gap: The partner lacked necessary resources or capabilities.

      \n
    • \n
    • \n

      Price: The price was not competitive or acceptable to the customer.

      \n
    • \n
    • \n

      Security/Compliance: Security or compliance issues prevented progress.

      \n
    • \n
    • \n

      Technical Limitations: Technical limitations prevented progress.

      \n
    • \n
    • \n

      Customer Experience: Issues related to the customer's experience impacted the decision.

      \n
    • \n
    • \n

      Other: Any reason not covered by the other values.

      \n
    • \n
    • \n

      People/Relationship/Governance: Issues related to people, relationships, or governance.

      \n
    • \n
    • \n

      Product/Technology: Issues related to the product or technology.

      \n
    • \n
    • \n

      Financial/Commercial: Financial or commercial issues impacted the decision.

      \n
    • \n
    " + "smithy.api#documentation": "

    Specifies the maximum number of results to return in a single call. This limits the\n number of opportunities returned in the response to avoid providing too many results at\n once.

    \n

    Default: 20

    " } }, - "NextSteps": { - "target": "com.amazonaws.partnercentralselling#PiiString", + "NextToken": { + "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Specifies the upcoming actions or tasks for the Opportunity. Use this field\n to communicate with Amazon Web Services about the next actions required for the Opportunity.\n

    ", - "smithy.api#length": { - "max": 255 - } + "smithy.api#documentation": "

    A pagination token used to retrieve the next set of results in subsequent calls. This\n token is included in the response only if there are additional result pages\n available.

    " } }, - "TargetCloseDate": { - "target": "com.amazonaws.partnercentralselling#Date", + "Sort": { + "target": "com.amazonaws.partnercentralselling#OpportunitySort", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    \n

    \n Ensure the Target Close Date isn't in the past.\n

    " + "smithy.api#documentation": "

    An object that specifies how the response is sorted. The default\n Sort.SortBy value is LastModifiedDate.

    " } }, - "ReviewStatus": { - "target": "com.amazonaws.partnercentralselling#ReviewStatus", + "LastModifiedDate": { + "target": "com.amazonaws.partnercentralselling#LastModifiedDate", "traits": { - "smithy.api#documentation": "

    \n Indicates the review status of an opportunity referred by a partner. This field is read-only\n and only applicable for partner referrals. The possible values are:\n

    \n
      \n
    • \n

      \n Pending Submission: Not submitted for validation (editable).\n

      \n
    • \n
    • \n

      \n Submitted: Submitted for validation, and Amazon Web Services hasn't reviewed it (read-only).\n

      \n
    • \n
    • \n

      \n In Review: Amazon Web Services is validating (read-only).\n

      \n
    • \n
    • \n

      \n Action Required: Issues that Amazon Web Services highlights need to be addressed.\n Partners should use the UpdateOpportunity API action to update the opportunity and helps to ensure that all required changes are made.\n Only the following fields are editable when the Lifecycle.ReviewStatus is Action Required:\n

      \n
        \n
      • \n

        Customer.Account.Address.City

        \n
      • \n
      • \n

        Customer.Account.Address.CountryCode

        \n
      • \n
      • \n

        Customer.Account.Address.PostalCode

        \n
      • \n
      • \n

        Customer.Account.Address.StateOrRegion

        \n
      • \n
      • \n

        Customer.Account.Address.StreetAddress

        \n
      • \n
      • \n

        Customer.Account.WebsiteUrl

        \n
      • \n
      • \n

        LifeCycle.TargetCloseDate

        \n
      • \n
      • \n

        Project.ExpectedMonthlyAWSRevenue.Amount

        \n
      • \n
      • \n

        Project.ExpectedMonthlyAWSRevenue.CurrencyCode

        \n
      • \n
      • \n

        Project.CustomerBusinessProblem

        \n
      • \n
      • \n

        PartnerOpportunityIdentifier

        \n
      • \n
      \n

      \n 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.\n

      \n
    • \n
    • \n

      \n Approved: Validated and converted into the Amazon Web Services seller's pipeline (editable).\n

      \n
    • \n
    • \n

      \n Rejected: Disqualified (read-only).\n

      \n
    • \n
    " + "smithy.api#documentation": "

    Filters the opportunities based on their last modified date. This filter helps\n retrieve opportunities that were updated after the specified date, allowing partners to\n track recent changes or updates.

    " } }, - "ReviewComments": { - "target": "smithy.api#String", + "Identifier": { + "target": "com.amazonaws.partnercentralselling#FilterIdentifier", "traits": { - "smithy.api#documentation": "

    Indicates why an opportunity was sent back for further details. Partners must take corrective action based on the ReviewComments.

    " + "smithy.api#documentation": "

    Filters the opportunities based on the opportunity identifier. This allows partners to\n retrieve specific opportunities by providing their unique identifiers, ensuring precise\n results.

    ", + "smithy.api#length": { + "max": 20 + } } }, - "ReviewStatusReason": { - "target": "smithy.api#String", + "LifeCycleStage": { + "target": "com.amazonaws.partnercentralselling#FilterLifeCycleStage", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    " + "smithy.api#documentation": "

    Filters the opportunities based on their lifecycle stage. This filter allows partners\n to retrieve opportunities at various stages in the sales cycle, such as\n Qualified, Technical Validation, Business\n Validation, or Closed Won.

    ", + "smithy.api#length": { + "max": 10 + } } }, - "NextStepsHistory": { - "target": "com.amazonaws.partnercentralselling#NextStepsHistories", + "LifeCycleReviewStatus": { + "target": "com.amazonaws.partnercentralselling#FilterLifeCycleReviewStatus", "traits": { - "smithy.api#documentation": "

    Captures a chronological record of the next steps or actions planned or taken for the current opportunity,\n along with the timestamp.\n

    ", + "smithy.api#documentation": "

    Filters the opportunities based on their current lifecycle approval status. Use this\n filter to retrieve opportunities with statuses such as Pending Submission,\n In Review, Action Required, or\n Approved.

    ", "smithy.api#length": { - "max": 50 + "max": 10 + } + } + }, + "CustomerCompanyName": { + "target": "com.amazonaws.partnercentralselling#StringList", + "traits": { + "smithy.api#documentation": "

    Filters the opportunities based on the customer's company name. This allows partners\n to search for opportunities associated with a specific customer by matching the provided\n company name string.

    ", + "smithy.api#length": { + "max": 10 } } } }, "traits": { - "smithy.api#documentation": "

    An object that contains the Opportunity lifecycle's details.\n

    " + "smithy.api#input": {} } }, - "com.amazonaws.partnercentralselling#LifeCycleSummary": { + "com.amazonaws.partnercentralselling#ListOpportunitiesResponse": { "type": "structure", "members": { - "Stage": { - "target": "com.amazonaws.partnercentralselling#Stage", - "traits": { - "smithy.api#documentation": "

    \n 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.\n

    \n \n

    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.

    \n
    \n

    \n The descriptions of each sales stage are:\n

    \n
      \n
    • \n

      \n 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).\n

      \n
    • \n
    • \n

      \n 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.\n

      \n
    • \n
    • \n

      \n Technical Validation: All parties understand the implementation plan.\n

      \n
    • \n
    • \n

      \n Business Validation: Pricing was proposed, and all parties agree to the steps to close.\n

      \n
    • \n
    • \n

      \n Committed: The customer signed the contract, but Amazon Web Services hasn't started billing.\n

      \n
    • \n
    • \n

      \n Launched: The workload is complete, and Amazon Web Services has started billing.\n

      \n
    • \n
    • \n

      \n Closed Lost: The opportunity is lost, and there are no steps to move forward.\n

      \n
    • \n
    " - } - }, - "ClosedLostReason": { - "target": "com.amazonaws.partnercentralselling#ClosedLostReason", - "traits": { - "smithy.api#documentation": "

    Specifies the reason code when an opportunity is marked as Closed Lost. When you select an\n appropriate reason code, you communicate the context for closing the Opportunity,\n and aid in accurate reports and analysis of opportunity outcomes.\n

    " - } - }, - "NextSteps": { - "target": "com.amazonaws.partnercentralselling#PiiString", - "traits": { - "smithy.api#documentation": "

    Specifies the upcoming actions or tasks for the Opportunity. This field\n is utilized to communicate to Amazon Web Services the next actions required for the Opportunity.\n

    ", - "smithy.api#length": { - "max": 255 - } - } - }, - "TargetCloseDate": { - "target": "com.amazonaws.partnercentralselling#Date", - "traits": { - "smithy.api#documentation": "

    \n 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.\n

    \n

    \n Ensure the Target Close Date isn't in the past.\n

    " - } - }, - "ReviewStatus": { - "target": "com.amazonaws.partnercentralselling#ReviewStatus", - "traits": { - "smithy.api#documentation": "

    \n Indicates the review status of a partner referred opportunity. This field is read-only\n and only applicable for partner referrals. Valid values:\n

    \n
      \n
    • \n

      \n Pending Submission: Not submitted for validation (editable).\n

      \n
    • \n
    • \n

      \n Submitted: Submitted for validation and not yet Amazon Web Services reviewed (read-only).\n

      \n
    • \n
    • \n

      \n In Review: Undergoing Amazon Web Services validation (read-only).\n

      \n
    • \n
    • \n

      \n Action Required: Address any issues Amazon Web Services highlights.\n Use the UpdateOpportunity API action to update the opportunity, and ensure you make all required changes.\n Only these fields are editable when the Lifecycle.ReviewStatus is Action Required:\n

      \n
        \n
      • \n

        Customer.Account.Address.City

        \n
      • \n
      • \n

        Customer.Account.Address.CountryCode

        \n
      • \n
      • \n

        Customer.Account.Address.PostalCode

        \n
      • \n
      • \n

        Customer.Account.Address.StateOrRegion

        \n
      • \n
      • \n

        Customer.Account.Address.StreetAddress

        \n
      • \n
      • \n

        Customer.Account.WebsiteUrl

        \n
      • \n
      • \n

        LifeCycle.TargetCloseDate

        \n
      • \n
      • \n

        Project.ExpectedCustomerSpend.Amount

        \n
      • \n
      • \n

        Project.ExpectedCustomerSpend.CurrencyCode

        \n
      • \n
      • \n

        Project.CustomerBusinessProblem

        \n
      • \n
      • \n

        PartnerOpportunityIdentifier

        \n
      • \n
      \n

      \n 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.\n

      \n
    • \n
    • \n

      \n Approved: Validated and converted into the Amazon Web Services seller's pipeline (editable).\n

      \n
    • \n
    • \n

      \n Rejected: Disqualified (read-only).\n

      \n
    • \n
    " - } - }, - "ReviewComments": { - "target": "smithy.api#String", + "OpportunitySummaries": { + "target": "com.amazonaws.partnercentralselling#OpportunitySummaries", "traits": { - "smithy.api#documentation": "

    Indicates why an opportunity was sent back for further details. Partners must take corrective action based on the ReviewComments.

    " + "smithy.api#documentation": "

    An array that contains minimal details for opportunities that match the request\n criteria. This summary view provides a quick overview of relevant opportunities.

    ", + "smithy.api#required": {} } }, - "ReviewStatusReason": { + "NextToken": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    " + "smithy.api#documentation": "

    A pagination token used to retrieve the next set of results in subsequent calls. This\n token is included in the response only if there are additional result pages\n available.

    " } } }, "traits": { - "smithy.api#documentation": "

    An object that contains a LifeCycle object's subset of fields.\n

    " + "smithy.api#output": {} } }, - "com.amazonaws.partnercentralselling#ListEngagementInvitations": { + "com.amazonaws.partnercentralselling#ListResourceSnapshotJobs": { "type": "operation", "input": { - "target": "com.amazonaws.partnercentralselling#ListEngagementInvitationsRequest" + "target": "com.amazonaws.partnercentralselling#ListResourceSnapshotJobsRequest" }, "output": { - "target": "com.amazonaws.partnercentralselling#ListEngagementInvitationsResponse" + "target": "com.amazonaws.partnercentralselling#ListResourceSnapshotJobsResponse" }, "errors": [ { "target": "com.amazonaws.partnercentralselling#AccessDeniedException" }, - { - "target": "com.amazonaws.partnercentralselling#InternalServerException" - }, - { - "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" - }, { "target": "com.amazonaws.partnercentralselling#ThrottlingException" }, @@ -6024,62 +8636,66 @@ "traits": { "aws.iam#conditionKeys": ["partnercentral:Catalog"], "aws.iam#iamAction": { - "documentation": "Grants permission to list Engagement Invitations on AWS Partner Central" + "documentation": "Grants permission to listing resource snapshot jobs in AWS Partner Central" }, - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

    \n Lists resource snapshot jobs owned by the customer. This operation supports various\n filtering scenarios, including listing all jobs owned by the caller, jobs for a specific\n engagement, jobs with a specific status, or any combination of these filters.\n

    ", "smithy.api#http": { "method": "POST", - "uri": "/ListEngagementInvitations", + "uri": "/ListResourceSnapshotJobs", "code": 200 }, "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", "pageSize": "MaxResults", - "items": "EngagementInvitationSummaries" + "items": "ResourceSnapshotJobSummaries" }, "smithy.api#readonly": {} } }, - "com.amazonaws.partnercentralselling#ListEngagementInvitationsRequest": { + "com.amazonaws.partnercentralselling#ListResourceSnapshotJobsRequest": { "type": "structure", "members": { "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    Specifies the catalog from which to list the engagement invitations. Use AWS for production invitations or Sandbox for testing environments.

    ", + "smithy.api#documentation": "

    \n Specifies the catalog related to the request.\n

    ", "smithy.api#required": {} } }, "MaxResults": { "target": "com.amazonaws.partnercentralselling#PageSize", "traits": { - "smithy.api#documentation": "

    Specifies the maximum number of engagement invitations to return in the response. If more results are available, a pagination token will be provided.

    " + "smithy.api#default": 100, + "smithy.api#documentation": "

    \n The maximum number of results to return in a single call. If omitted, defaults to\n 50.\n

    ", + "smithy.api#range": { + "min": 1, + "max": 1000 + } } }, "NextToken": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    \n The token for the next set of results.\n

    " } }, - "Sort": { - "target": "com.amazonaws.partnercentralselling#OpportunityEngagementInvitationSort", + "EngagementIdentifier": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    \n The identifier of the engagement to filter the response.\n

    " } }, - "PayloadType": { - "target": "com.amazonaws.partnercentralselling#EngagementInvitationsPayloadType", + "Status": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobStatus", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    \n The status of the jobs to filter the response.\n

    " } }, - "ParticipantType": { - "target": "com.amazonaws.partnercentralselling#ParticipantType", + "Sort": { + "target": "com.amazonaws.partnercentralselling#SortObject", "traits": { - "smithy.api#documentation": "

    Specifies the type of participant for which to list engagement invitations. Identifies the role of the participant.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    \n Configures the sorting of the response. If omitted, results are sorted by CreatedDate\n in descending order.\n

    " } } }, @@ -6087,19 +8703,20 @@ "smithy.api#input": {} } }, - "com.amazonaws.partnercentralselling#ListEngagementInvitationsResponse": { + "com.amazonaws.partnercentralselling#ListResourceSnapshotJobsResponse": { "type": "structure", "members": { - "EngagementInvitationSummaries": { - "target": "com.amazonaws.partnercentralselling#EngagementInvitationSummaries", + "ResourceSnapshotJobSummaries": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobSummaryList", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    \n An array of resource snapshot job summary objects.\n

    ", + "smithy.api#required": {} } }, "NextToken": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

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

    " } } }, @@ -6107,21 +8724,18 @@ "smithy.api#output": {} } }, - "com.amazonaws.partnercentralselling#ListOpportunities": { + "com.amazonaws.partnercentralselling#ListResourceSnapshots": { "type": "operation", "input": { - "target": "com.amazonaws.partnercentralselling#ListOpportunitiesRequest" + "target": "com.amazonaws.partnercentralselling#ListResourceSnapshotsRequest" }, "output": { - "target": "com.amazonaws.partnercentralselling#ListOpportunitiesResponse" + "target": "com.amazonaws.partnercentralselling#ListResourceSnapshotsResponse" }, "errors": [ { "target": "com.amazonaws.partnercentralselling#AccessDeniedException" }, - { - "target": "com.amazonaws.partnercentralselling#InternalServerException" - }, { "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" }, @@ -6135,104 +8749,79 @@ "traits": { "aws.iam#conditionKeys": ["partnercentral:Catalog"], "aws.iam#iamAction": { - "documentation": "Grants permission to list Opportunities on AWS Partner Central" - }, - "smithy.api#documentation": "

    This request accepts a list of filters that retrieve opportunity subsets as well as sort options. This feature is available to partners from\n Partner Central\n using the ListOpportunities API action.\n

    \n

    To synchronize your system with Amazon Web Services, only list the opportunities that were\n newly created or updated.\n We recommend you rely on events emitted by the service into your Amazon Web Services account’s Amazon EventBridge default\n event bus, you can also use the ListOpportunities action.\n

    \n

    We recommend the following approach:

    \n
      \n
    1. \n

      Find the latest LastModifiedDate that you stored, and only use the values that came\n from Amazon Web Services. Don’t use values generated by your system.\n

      \n
    2. \n
    3. \n

      When you send a ListOpportunities request, submit the date in ISO 8601 format in the AfterLastModifiedDate filter.\n

      \n
    4. \n
    5. \n

      Amazon Web Services only returns opportunities created or updated on or after that date and time. Use NextToken to iterate over all pages.\n

      \n
    6. \n
    ", - "smithy.api#http": { - "method": "POST", - "uri": "/ListOpportunities", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults", - "items": "OpportunitySummaries" - }, - "smithy.api#readonly": {}, - "smithy.test#smokeTests": [ - { - "id": "ListOpportunitiesError", - "params": { - "Catalog": null - }, - "expect": { - "failure": { - "errorId": "com.amazonaws.partnercentralselling#ValidationException" - } - } - } - ] + "documentation": "Grants permission to listing resource snapshots in AWS Partner Central" + }, + "smithy.api#documentation": "

    \n Retrieves a list of resource view snapshots based on specified criteria. \n

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/ListResourceSnapshots", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "ResourceSnapshotSummaries" + }, + "smithy.api#readonly": {} } }, - "com.amazonaws.partnercentralselling#ListOpportunitiesRequest": { + "com.amazonaws.partnercentralselling#ListResourceSnapshotsRequest": { "type": "structure", "members": { "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    \n Specifies the catalog associated with the request. This field takes a string value from a predefined list:\n AWS or Sandbox. The catalog determines which environment the opportunities are listed in.\n Use AWS for listing real opportunities in the Amazon Web Services catalog, and Sandbox\n for testing in secure, isolated environments.\n

    ", + "smithy.api#documentation": "

    \n Specifies the catalog related to the request.\n

    ", "smithy.api#required": {} } }, "MaxResults": { "target": "com.amazonaws.partnercentralselling#PageSize", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    \n

    \n Default: 20\n

    " + "smithy.api#default": 100, + "smithy.api#documentation": "

    \n The maximum number of results to return in a single call.\n

    ", + "smithy.api#range": { + "min": 1, + "max": 1000 + } } }, "NextToken": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    " - } - }, - "Sort": { - "target": "com.amazonaws.partnercentralselling#OpportunitySort", - "traits": { - "smithy.api#documentation": "

    \n An object that specifies how the response is sorted. The default Sort.SortBy value is LastModifiedDate.\n

    " + "smithy.api#documentation": "

    \n The token for the next set of results.\n

    " } }, - "LastModifiedDate": { - "target": "com.amazonaws.partnercentralselling#LastModifiedDate", + "EngagementIdentifier": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    \n The unique identifier of the engagement associated with the snapshots.\n

    ", + "smithy.api#required": {} } }, - "Identifier": { - "target": "com.amazonaws.partnercentralselling#FilterIdentifier", + "ResourceType": { + "target": "com.amazonaws.partnercentralselling#ResourceType", "traits": { - "smithy.api#documentation": "

    Filters the opportunities based on the opportunity identifier. This allows partners to retrieve specific opportunities by providing their unique identifiers, ensuring precise results.

    ", - "smithy.api#length": { - "max": 20 - } + "smithy.api#documentation": "

    \n Filters the response to include only snapshots of the specified resource type.\n

    " } }, - "LifeCycleStage": { - "target": "com.amazonaws.partnercentralselling#FilterLifeCycleStage", + "ResourceIdentifier": { + "target": "com.amazonaws.partnercentralselling#ResourceIdentifier", "traits": { - "smithy.api#documentation": "

    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.

    ", - "smithy.api#length": { - "max": 10 - } + "smithy.api#documentation": "

    \n Filters the response to include only snapshots of the specified resource.\n

    " } }, - "LifeCycleReviewStatus": { - "target": "com.amazonaws.partnercentralselling#FilterLifeCycleReviewStatus", + "ResourceSnapshotTemplateIdentifier": { + "target": "com.amazonaws.partnercentralselling#ResourceTemplateName", "traits": { - "smithy.api#documentation": "

    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.

    ", - "smithy.api#length": { - "max": 10 - } + "smithy.api#documentation": "

    \n Filters the response to include only snapshots created using the specified\n template.\n

    " } }, - "CustomerCompanyName": { - "target": "com.amazonaws.partnercentralselling#StringList", + "CreatedBy": { + "target": "com.amazonaws.partnercentralselling#AwsAccount", "traits": { - "smithy.api#documentation": "

    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.

    ", - "smithy.api#length": { - "max": 10 - } + "smithy.api#documentation": "

    \n Filters the response to include only snapshots of resources created by the specified AWS\n account.\n

    " } } }, @@ -6240,20 +8829,20 @@ "smithy.api#input": {} } }, - "com.amazonaws.partnercentralselling#ListOpportunitiesResponse": { + "com.amazonaws.partnercentralselling#ListResourceSnapshotsResponse": { "type": "structure", "members": { - "OpportunitySummaries": { - "target": "com.amazonaws.partnercentralselling#OpportunitySummaries", + "ResourceSnapshotSummaries": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotSummaryList", "traits": { - "smithy.api#documentation": "

    \n An array that contains minimal details for opportunities that match the request criteria. This summary view provides a quick overview of relevant opportunities.\n

    ", + "smithy.api#documentation": "

    \n An array of resource snapshot summary objects.\n

    ", "smithy.api#required": {} } }, "NextToken": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    " + "smithy.api#documentation": "

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

    " } } }, @@ -6288,7 +8877,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to list Solutions on AWS Partner Central" }, - "smithy.api#documentation": "

    \n 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.\n

    ", + "smithy.api#documentation": "

    Retrieves a list of Partner Solutions that the partner registered on Partner Central.\n This API is used to generate a list of solutions that an end user selects from for\n association with an opportunity.

    ", "smithy.api#http": { "method": "POST", "uri": "/ListSolutions", @@ -6309,32 +8898,32 @@ "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    \n Specifies the catalog associated with the request. This field takes a string value from a predefined list:\n AWS or Sandbox. The catalog determines which environment the solutions are listed in.\n Use AWS to list solutions in the Amazon Web Services catalog, and Sandbox to list solutions\n in a secure and isolated testing environment.\n

    ", + "smithy.api#documentation": "

    Specifies the catalog associated with the request. This field takes a string value\n from a predefined list: AWS or Sandbox. The catalog determines\n which environment the solutions are listed in. Use AWS to list solutions in\n the Amazon Web Services catalog, and Sandbox to list solutions in a secure\n and isolated testing environment.

    ", "smithy.api#required": {} } }, "MaxResults": { "target": "com.amazonaws.partnercentralselling#PageSize", "traits": { - "smithy.api#documentation": "

    The maximum number of results returned by a single call. This value must be provided in the next call to\n retrieve the next set of results.\n

    \n

    Default: 20

    " + "smithy.api#documentation": "

    The maximum number of results returned by a single call. This value must be provided\n in the next call to retrieve the next set of results.

    \n

    Default: 20

    " } }, "NextToken": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    " + "smithy.api#documentation": "

    A pagination token used to retrieve the next set of results in subsequent calls. This\n token is included in the response only if there are additional result pages\n available.

    " } }, "Sort": { "target": "com.amazonaws.partnercentralselling#SolutionSort", "traits": { - "smithy.api#documentation": "

    Object that configures sorting done on the response. Default Sort.SortBy is Identifier.\n

    " + "smithy.api#documentation": "

    Object that configures sorting done on the response. Default Sort.SortBy\n is Identifier.

    " } }, "Status": { "target": "com.amazonaws.partnercentralselling#FilterStatus", "traits": { - "smithy.api#documentation": "

    Filters solutions based on their status. This filter helps partners manage their solution portfolios effectively.

    ", + "smithy.api#documentation": "

    Filters solutions based on their status. This filter helps partners manage their\n solution portfolios effectively.

    ", "smithy.api#length": { "max": 10 } @@ -6343,7 +8932,7 @@ "Identifier": { "target": "com.amazonaws.partnercentralselling#SolutionIdentifiers", "traits": { - "smithy.api#documentation": "

    Filters the solutions based on their unique identifier. Use this filter to retrieve specific solutions by providing the solution's identifier for accurate results.

    ", + "smithy.api#documentation": "

    Filters the solutions based on their unique identifier. Use this filter to retrieve\n specific solutions by providing the solution's identifier for accurate results.

    ", "smithy.api#length": { "max": 20 } @@ -6352,7 +8941,7 @@ "Category": { "target": "com.amazonaws.partnercentralselling#StringList", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

    Filters the solutions based on the category to which they belong. This allows partners\n to search for solutions within specific categories, such as Software,\n Consulting, or Managed Services.

    ", "smithy.api#length": { "max": 10 } @@ -6376,7 +8965,7 @@ "NextToken": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    " + "smithy.api#documentation": "

    A pagination token used to retrieve the next set of results in subsequent calls. This\n token is included in the response only if there are additional result pages\n available.

    " } } }, @@ -6384,42 +8973,75 @@ "smithy.api#output": {} } }, + "com.amazonaws.partnercentralselling#ListTasksSortBase": { + "type": "structure", + "members": { + "SortOrder": { + "target": "com.amazonaws.partnercentralselling#SortOrder", + "traits": { + "smithy.api#documentation": "

    \n Determines the order in which the sorted results are presented.\n

    ", + "smithy.api#required": {} + } + }, + "SortBy": { + "target": "com.amazonaws.partnercentralselling#ListTasksSortName", + "traits": { + "smithy.api#documentation": "

    \n Specifies the field by which the task list should be sorted.\n

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n Defines the sorting parameters for listing tasks. This structure allows for specifying\n the field to sort by and the order of sorting.\n

    " + } + }, + "com.amazonaws.partnercentralselling#ListTasksSortName": { + "type": "enum", + "members": { + "START_TIME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "StartTime" + } + } + } + }, "com.amazonaws.partnercentralselling#Marketing": { "type": "structure", "members": { "CampaignName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Specifies the Opportunity marketing campaign code. The Amazon Web Services\n campaign code is a reference to specific marketing initiatives, promotions, or\n activities. This field captures the identifier used to track and\n categorize the Opportunity within marketing campaigns. If you don't have a campaign\n code, contact your Amazon Web Services point of contact to obtain one.\n

    " + "smithy.api#documentation": "

    Specifies the Opportunity marketing campaign code. The Amazon Web Services\n campaign code is a reference to specific marketing initiatives, promotions, or\n activities. This field captures the identifier used to track and categorize the\n Opportunity within marketing campaigns. If you don't have a campaign\n code, contact your Amazon Web Services point of contact to obtain one.

    " } }, "Source": { "target": "com.amazonaws.partnercentralselling#MarketingSource", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    " + "smithy.api#documentation": "

    Indicates if the Opportunity was sourced from an Amazon Web Services\n marketing activity. Use the value Marketing Activity. Use None\n if it's not associated with an Amazon Web Services marketing activity. This field helps\n Amazon Web Services track the return on marketing investments and enables better\n distribution of marketing budgets among partners.

    " } }, "UseCases": { "target": "com.amazonaws.partnercentralselling#UseCases", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    \n

    \n 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\n

    " + "smithy.api#documentation": "

    Specifies the marketing activity use case or purpose that led to the\n Opportunity's creation or contact. This field captures the context or\n marketing activity's execution's intention and the direct correlation to the generated\n opportunity or contact. Must be empty when Marketing.AWSFundingUsed =\n No.

    \n

    Valid values: AI/ML | Analytics | Application Integration | Blockchain |\n Business Applications | Cloud Financial Management | Compute | Containers | Customer\n Engagement | Databases | Developer Tools | End User Computing | Front End Web &\n Mobile | Game Tech | IoT | Management & Governance | Media Services | Migration\n & Transfer | Networking & Content Delivery | Quantum Technologies | Robotics\n | Satellite | Security | Serverless | Storage | VR & AR\n

    " } }, "Channels": { "target": "com.amazonaws.partnercentralselling#Channels", "traits": { - "smithy.api#documentation": "

    Specifies the Opportunity's channel that the marketing activity is associated with or\n was contacted through. This field provides information about the specific marketing\n channel that contributed to the generation of the lead or contact.\n

    " + "smithy.api#documentation": "

    Specifies the Opportunity's channel that the marketing activity is\n associated with or was contacted through. This field provides information about the\n specific marketing channel that contributed to the generation of the lead or\n contact.

    " } }, "AwsFundingUsed": { "target": "com.amazonaws.partnercentralselling#AwsFundingUsed", "traits": { - "smithy.api#documentation": "

    Indicates if the Opportunity is a marketing development fund (MDF) funded\n activity.\n

    " + "smithy.api#documentation": "

    Indicates if the Opportunity is a marketing development fund (MDF) funded\n activity.

    " } } }, "traits": { - "smithy.api#documentation": "

    An object that contains marketing details for the Opportunity.\n

    " + "smithy.api#documentation": "

    An object that contains marketing details for the Opportunity.

    " } }, "com.amazonaws.partnercentralselling#MarketingSource": { @@ -6439,6 +9061,25 @@ } } }, + "com.amazonaws.partnercentralselling#MemberCompanyName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 120 + } + } + }, + "com.amazonaws.partnercentralselling#MemberPageSize": { + "type": "integer", + "traits": { + "smithy.api#default": 5, + "smithy.api#range": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.partnercentralselling#MonetaryValue": { "type": "structure", "members": { @@ -6513,7 +9154,7 @@ } }, "traits": { - "smithy.api#documentation": "

    Read-only; shows the last 50 values and change dates for the NextSteps field.

    " + "smithy.api#documentation": "

    Read-only; shows the last 50 values and change dates for the NextSteps\n field.

    " } }, "com.amazonaws.partnercentralselling#Opportunity": { @@ -6550,6 +9191,9 @@ }, { "target": "com.amazonaws.partnercentralselling#GetAwsOpportunitySummary" + }, + { + "target": "com.amazonaws.partnercentralselling#SubmitOpportunity" } ], "traits": { @@ -6563,26 +9207,32 @@ "smithy.api#documentation": "Represents an Opportunity that captures deal details in AWS Partner Central" } }, + "com.amazonaws.partnercentralselling#OpportunityArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:.*$" + } + }, "com.amazonaws.partnercentralselling#OpportunityEngagementInvitationSort": { "type": "structure", "members": { "SortOrder": { "target": "com.amazonaws.partnercentralselling#SortOrder", "traits": { - "smithy.api#documentation": "

    Defines the order in which the Engagement Invitations are sorted. The values can be ASC (ascending) or DESC (descending).

    ", + "smithy.api#documentation": "

    Defines the order in which the Engagement Invitations are sorted. The values can be\n ASC (ascending) or DESC (descending).

    ", "smithy.api#required": {} } }, "SortBy": { "target": "com.amazonaws.partnercentralselling#OpportunityEngagementInvitationSortName", "traits": { - "smithy.api#documentation": "

    Specifies the field by which the Engagement Invitations are sorted. Common values include InvitationDate and Status.

    ", + "smithy.api#documentation": "

    Specifies the field by which the Engagement Invitations are sorted. Common values\n include InvitationDate and Status.

    ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    Defines sorting options for retrieving Engagement Invitations. Sorting can be done based on various criteria like the invitation date or status.

    " + "smithy.api#documentation": "

    Defines sorting options for retrieving Engagement Invitations. Sorting can be done\n based on various criteria like the invitation date or status.

    " } }, "com.amazonaws.partnercentralselling#OpportunityEngagementInvitationSortName": { @@ -6602,39 +9252,51 @@ "smithy.api#pattern": "^O[0-9]{1,19}$" } }, + "com.amazonaws.partnercentralselling#OpportunityIdentifiers": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.partnercentralselling#OpportunityInvitationPayload": { "type": "structure", "members": { "SenderContacts": { "target": "com.amazonaws.partnercentralselling#SenderContactList", "traits": { - "smithy.api#documentation": "

    Represents the contact details of the AWS representatives involved in sending the Engagement Invitation. These contacts are opportunity stakeholders.

    " + "smithy.api#documentation": "

    Represents the contact details of the AWS representatives involved in sending the\n Engagement Invitation. These contacts are opportunity stakeholders.

    " } }, "ReceiverResponsibilities": { "target": "com.amazonaws.partnercentralselling#ReceiverResponsibilityList", "traits": { - "smithy.api#documentation": "

    Outlines the responsibilities or expectations of the receiver in the context of the invitation.

    ", + "smithy.api#documentation": "

    Outlines the responsibilities or expectations of the receiver in the context of the\n invitation.

    ", "smithy.api#required": {} } }, "Customer": { "target": "com.amazonaws.partnercentralselling#EngagementCustomer", "traits": { - "smithy.api#documentation": "

    Contains information about the customer related to the opportunity in the Engagement Invitation. This data helps partners understand the customer’s profile and requirements.

    ", + "smithy.api#documentation": "

    Contains information about the customer related to the opportunity in the Engagement\n Invitation. This data helps partners understand the customer’s profile and\n requirements.

    ", "smithy.api#required": {} } }, "Project": { "target": "com.amazonaws.partnercentralselling#ProjectDetails", "traits": { - "smithy.api#documentation": "

    Describes the project details associated with the opportunity, including the customer’s needs and the scope of work expected to be performed.

    ", + "smithy.api#documentation": "

    Describes the project details associated with the opportunity, including the\n customer’s needs and the scope of work expected to be performed.

    ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    Represents the data payload of an Engagement Invitation for a specific opportunity. This contains detailed information that partners use to evaluate the engagement.

    " + "smithy.api#documentation": "

    Represents the data payload of an Engagement Invitation for a specific opportunity.\n This contains detailed information that partners use to evaluate the engagement.

    " } }, "com.amazonaws.partnercentralselling#OpportunityOrigin": { @@ -6660,7 +9322,7 @@ "SortOrder": { "target": "com.amazonaws.partnercentralselling#SortOrder", "traits": { - "smithy.api#documentation": "

    Sort order.

    \n

    Default:\n Descending\n

    ", + "smithy.api#documentation": "

    Sort order.

    \n

    Default: Descending\n

    ", "smithy.api#required": {} } }, @@ -6711,61 +9373,111 @@ "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    Specifies the catalog associated with the opportunity, either AWS or Sandbox. This indicates the environment in which the opportunity is managed.

    ", + "smithy.api#documentation": "

    Specifies the catalog associated with the opportunity, either AWS or\n Sandbox. This indicates the environment in which the opportunity is\n managed.

    ", "smithy.api#required": {} } }, "Id": { "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", "traits": { - "smithy.api#documentation": "

    Read-only, system-generated Opportunity unique identifier.\n

    " + "smithy.api#documentation": "

    Read-only, system-generated Opportunity unique identifier.

    " + } + }, + "Arn": { + "target": "com.amazonaws.partnercentralselling#OpportunityArn", + "traits": { + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) for the opportunity. This globally unique identifier\n can be used for IAM policies and cross-service references. \n

    " } }, "PartnerOpportunityIdentifier": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Specifies the Opportunity's unique identifier in the partner's CRM system. This value is\n essential to track and reconcile because it's included in the outbound payload sent back to the partner. It allows partners to link\n an opportunity to\n their CRM.\n

    " + "smithy.api#documentation": "

    Specifies the Opportunity's unique identifier in the partner's CRM\n system. This value is essential to track and reconcile because it's included in the\n outbound payload sent back to the partner. It allows partners to link an opportunity to\n their CRM.

    " } }, "OpportunityType": { "target": "com.amazonaws.partnercentralselling#OpportunityType", "traits": { - "smithy.api#documentation": "

    \n Specifies opportunity type as a renewal, new, or expansion.\n

    \n

    \n Opportunity types:\n

    \n
      \n
    • \n

      \n New Opportunity:\n Represents a new business opportunity with a potential customer that's not previously engaged with your solutions or services.\n

      \n
    • \n
    • \n

      \n Renewal Opportunity:\n Represents an opportunity to renew an existing contract or subscription with a current customer, ensuring continuity of service.\n

      \n
    • \n
    • \n

      \n Expansion Opportunity:\n 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.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    Specifies opportunity type as a renewal, new, or expansion.

    \n

    Opportunity types:

    \n
      \n
    • \n

      New Opportunity: Represents a new business opportunity with a potential\n customer that's not previously engaged with your solutions or services.

      \n
    • \n
    • \n

      Renewal Opportunity: Represents an opportunity to renew an existing contract\n or subscription with a current customer, ensuring continuity of service.

      \n
    • \n
    • \n

      Expansion Opportunity: Represents an opportunity to expand the scope of an\n existing contract or subscription, either by adding new services or increasing\n the volume of existing services for a current customer.

      \n
    • \n
    " } }, "LastModifiedDate": { "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#documentation": "

    \n DateTime\n when the Opportunity was last modified.\n

    " + "smithy.api#documentation": "

    \n DateTime when the Opportunity was last modified.

    " } }, "CreatedDate": { "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#documentation": "

    \n DateTime\n when the Opportunity was last created.\n

    " + "smithy.api#documentation": "

    \n DateTime when the Opportunity was last created.

    " } }, "LifeCycle": { "target": "com.amazonaws.partnercentralselling#LifeCycleSummary", "traits": { - "smithy.api#documentation": "

    An object that contains the Opportunity's lifecycle details.\n

    " + "smithy.api#documentation": "

    An object that contains the Opportunity's lifecycle details.

    " } }, "Customer": { "target": "com.amazonaws.partnercentralselling#CustomerSummary", "traits": { - "smithy.api#documentation": "

    An object that contains the Opportunity's customer details.\n

    " + "smithy.api#documentation": "

    An object that contains the Opportunity's customer details.

    " } }, "Project": { "target": "com.amazonaws.partnercentralselling#ProjectSummary", "traits": { - "smithy.api#documentation": "

    An object that contains the Opportunity's project details summary.\n

    " + "smithy.api#documentation": "

    An object that contains the Opportunity's project details summary.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    An object that contains an Opportunity's subset of fields.

    " + } + }, + "com.amazonaws.partnercentralselling#OpportunitySummaryView": { + "type": "structure", + "members": { + "OpportunityType": { + "target": "com.amazonaws.partnercentralselling#OpportunityType", + "traits": { + "smithy.api#documentation": "

    \n Specifies the opportunity type.\n

    " + } + }, + "Lifecycle": { + "target": "com.amazonaws.partnercentralselling#LifeCycleForView", + "traits": { + "smithy.api#documentation": "

    \n Contains information about the opportunity's lifecycle, including its current stage,\n status, and important dates such as creation and last modification times.\n

    " + } + }, + "OpportunityTeam": { + "target": "com.amazonaws.partnercentralselling#PartnerOpportunityTeamMembersList", + "traits": { + "smithy.api#documentation": "

    \n Represents the internal team handling the opportunity. Specify the members involved in\n collaborating on an opportunity within the partner's organization. \n

    " + } + }, + "PrimaryNeedsFromAws": { + "target": "com.amazonaws.partnercentralselling#PrimaryNeedsFromAws", + "traits": { + "smithy.api#documentation": "

    \n Identifies the type of support the partner needs from AWS.\n

    " + } + }, + "Customer": { + "target": "com.amazonaws.partnercentralselling#Customer" + }, + "Project": { + "target": "com.amazonaws.partnercentralselling#ProjectView", + "traits": { + "smithy.api#documentation": "

    \n Contains summary information about the project associated with the opportunity,\n including project name, description, timeline, and other relevant details.\n

    " } + }, + "RelatedEntityIdentifiers": { + "target": "com.amazonaws.partnercentralselling#RelatedEntityIdentifiers" } }, "traits": { - "smithy.api#documentation": "

    An object that contains an Opportunity's subset of fields.\n

    " + "smithy.api#documentation": "

    \n Provides a comprehensive view of an opportunity summary, including lifecycle\n information, team details, opportunity type, primary needs from AWS, and associated\n project information.\n

    " } }, "com.amazonaws.partnercentralselling#OpportunityType": { @@ -6803,6 +9515,12 @@ "com.amazonaws.partnercentralselling#ParticipantType": { "type": "enum", "members": { + "SENDER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SENDER" + } + }, "RECEIVER": { "target": "smithy.api#Unit", "traits": { @@ -6828,12 +9546,12 @@ "OpportunityInvitation": { "target": "com.amazonaws.partnercentralselling#OpportunityInvitationPayload", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Specifies the details of the opportunity invitation within the Engagement Invitation\n payload. This data helps partners understand the context, scope, and expected\n involvement for the opportunity from AWS.

    " } } }, "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Contains the data payload associated with the Engagement Invitation. This payload\n includes essential details related to the AWS opportunity and is used by partners to\n evaluate whether to accept or reject the engagement.

    " } }, "com.amazonaws.partnercentralselling#PaymentFrequency": { @@ -6934,20 +9652,20 @@ "Value": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

    Represents the details of the next step recorded, such as follow-up actions or\n decisions made. This field helps in tracking progress and ensuring alignment with\n project goals.

    ", "smithy.api#required": {} } }, "Time": { "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#documentation": "

    Indicates the date and time when a particular next step was recorded or planned. This helps in managing the timeline for the opportunity.

    ", + "smithy.api#documentation": "

    Indicates the date and time when a particular next step was recorded or planned. This\n helps in managing the timeline for the opportunity.

    ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    Tracks the history of next steps associated with the opportunity. This field captures the actions planned for the future and their timeline.

    " + "smithy.api#documentation": "

    Tracks the history of next steps associated with the opportunity. This field captures\n the actions planned for the future and their timeline.

    " } }, "com.amazonaws.partnercentralselling#Project": { @@ -6956,19 +9674,19 @@ "DeliveryModels": { "target": "com.amazonaws.partnercentralselling#DeliveryModels", "traits": { - "smithy.api#documentation": "

    \n Specifies the deployment or consumption model for your solution or service in the Opportunity's context. You can select multiple options.\n

    \n

    \n Options' descriptions from the Delivery Model field are:\n

    \n
      \n
    • \n

      SaaS or PaaS: Your Amazon Web Services based solution deployed as SaaS or PaaS in your Amazon Web Services environment.

      \n
    • \n
    • \n

      BYOL or AMI: Your Amazon Web Services based solution deployed as BYOL or AMI in the end customer's Amazon Web Services environment.

      \n
    • \n
    • \n

      Managed Services: The end customer's Amazon Web Services business management (For example: Consulting, design, implementation, billing support, cost optimization, technical support).

      \n
    • \n
    • \n

      Professional Services: Offerings to help enterprise end customers achieve specific business outcomes for enterprise cloud adoption (For example: Advisory or transformation planning).

      \n
    • \n
    • \n

      Resell: Amazon Web Services accounts and billing management for your customers.

      \n
    • \n
    • \n

      Other: Delivery model not described above.

      \n
    • \n
    " + "smithy.api#documentation": "

    Specifies the deployment or consumption model for your solution or service in the\n Opportunity's context. You can select multiple options.

    \n

    Options' descriptions from the Delivery Model field are:

    \n
      \n
    • \n

      SaaS or PaaS: Your Amazon Web Services based solution deployed as SaaS or PaaS\n in your Amazon Web Services environment.

      \n
    • \n
    • \n

      BYOL or AMI: Your Amazon Web Services based solution deployed as BYOL or AMI in\n the end customer's Amazon Web Services environment.

      \n
    • \n
    • \n

      Managed Services: The end customer's Amazon Web Services business management\n (For example: Consulting, design, implementation, billing support, cost\n optimization, technical support).

      \n
    • \n
    • \n

      Professional Services: Offerings to help enterprise end customers achieve\n specific business outcomes for enterprise cloud adoption (For example: Advisory\n or transformation planning).

      \n
    • \n
    • \n

      Resell: Amazon Web Services accounts and billing management for your\n customers.

      \n
    • \n
    • \n

      Other: Delivery model not described above.

      \n
    • \n
    " } }, "ExpectedCustomerSpend": { "target": "com.amazonaws.partnercentralselling#ExpectedCustomerSpendList", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Represents the estimated amount that the customer is expected to spend on AWS services\n related to the opportunity. This helps in evaluating the potential financial value of\n the opportunity for AWS.

    " } }, "Title": { "target": "com.amazonaws.partnercentralselling#PiiString", "traits": { - "smithy.api#documentation": "

    Specifies the Opportunity's title or name.\n

    ", + "smithy.api#documentation": "

    Specifies the Opportunity's title or name.

    ", "smithy.api#length": { "max": 255 } @@ -6977,13 +9695,13 @@ "ApnPrograms": { "target": "com.amazonaws.partnercentralselling#ApnPrograms", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    \n

    \n 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\n

    " + "smithy.api#documentation": "

    Specifies the Amazon Partner Network (APN) program that influenced the\n Opportunity. APN programs refer to specific partner programs or\n initiatives that can impact the Opportunity.

    \n

    Valid values: APN Immersion Days | APN Solution Space | ATO (Authority to\n Operate) | AWS Marketplace Campaign | IS Immersion Day SFID Program | ISV Workload\n Migration | Migration Acceleration Program | P3 | Partner Launch Initiative |\n Partner Opportunity Acceleration Funded | The Next Smart | VMware Cloud on AWS |\n Well-Architected | Windows | Workspaces/AppStream Accelerator Program | WWPS\n NDPP\n

    " } }, "CustomerBusinessProblem": { "target": "com.amazonaws.partnercentralselling#PiiString", "traits": { - "smithy.api#documentation": "

    Describes the problem the end customer has, and how the partner is helping.\n Utilize this field to provide a concise narrative that outlines the customer's business challenge or\n issue.\n Elaborate on how the partner's solution or offerings align to resolve the customer's business problem.\n Include relevant information about the partner's value proposition, unique selling points, and expertise to tackle the issue.\n Offer insights on how the proposed solution meets the customer's needs and provides value. Use concise\n language and precise descriptions to convey the context and significance of the Opportunity.\n The content in this field helps Amazon Web Services understand the nature of the Opportunity and the strategic\n fit of the partner's solution.\n

    ", + "smithy.api#documentation": "

    Describes the problem the end customer has, and how the partner is helping. Utilize\n this field to provide a concise narrative that outlines the customer's business\n challenge or issue. Elaborate on how the partner's solution or offerings align to\n resolve the customer's business problem. Include relevant information about the\n partner's value proposition, unique selling points, and expertise to tackle the issue.\n Offer insights on how the proposed solution meets the customer's needs and provides\n value. Use concise language and precise descriptions to convey the context and\n significance of the Opportunity. The content in this field helps Amazon Web Services understand the nature of the Opportunity and the strategic\n fit of the partner's solution.

    ", "smithy.api#length": { "min": 20, "max": 2000 @@ -6993,31 +9711,31 @@ "CustomerUseCase": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    \n

    \n 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\n

    " + "smithy.api#documentation": "

    Specifies the proposed solution focus or type of workload for the Opportunity. This\n field captures the primary use case or objective of the proposed solution, and provides\n context and clarity to the addressed workload.

    \n

    Valid values: AI Machine Learning and Analytics | Archiving | Big Data: Data\n Warehouse/Data Integration/ETL/Data Lake/BI | Blockchain | Business Applications:\n Mainframe Modernization | Business Applications & Contact Center | Business\n Applications & SAP Production | Centralized Operations Management | Cloud\n Management Tools | Cloud Management Tools & DevOps with Continuous Integration\n & Continuous Delivery (CICD) | Configuration, Compliance & Auditing |\n Connected Services | Containers & Serverless | Content Delivery & Edge\n Services | Database | Edge Computing/End User Computing | Energy | Enterprise\n Governance & Controls | Enterprise Resource Planning | Financial Services |\n Healthcare and Life Sciences | High Performance Computing | Hybrid Application\n Platform | Industrial Software | IOT | Manufacturing, Supply Chain and Operations |\n Media & High performance computing (HPC) | Migration/Database Migration |\n Monitoring, logging and performance | Monitoring & Observability | Networking |\n Outpost | SAP | Security & Compliance | Storage & Backup | Training | VMC |\n VMWare | Web development & DevOps\n

    " } }, "RelatedOpportunityIdentifier": { "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", "traits": { - "smithy.api#documentation": "

    Specifies the current opportunity's parent opportunity identifier.\n

    " + "smithy.api#documentation": "

    Specifies the current opportunity's parent opportunity identifier.

    " } }, "SalesActivities": { "target": "com.amazonaws.partnercentralselling#SalesActivities", "traits": { - "smithy.api#documentation": "

    \n Specifies the Opportunity's sales activities conducted with the end customer.\n These activities help drive Amazon Web Services assignment priority.\n

    \n

    \n Valid values:\n

    \n
      \n
    • \n

      \n Initialized discussions with customer: Initial conversations with the customer to understand their needs and introduce your solution.\n

      \n
    • \n
    • \n

      \n Customer has shown interest in solution: After initial discussions, the customer is interested in your solution.\n

      \n
    • \n
    • \n

      \n Conducted POC/demo: You conducted a proof of concept (POC) or demonstration of the solution for the customer.\n

      \n
    • \n
    • \n

      \n In evaluation/planning stage: The customer is evaluating the solution and planning potential implementation.\n

      \n
    • \n
    • \n

      \n Agreed on solution to Business Problem: Both parties agree on how the solution addresses the customer's business problem.\n

      \n
    • \n
    • \n

      \n Completed Action Plan: A detailed action plan is complete and outlines the steps for implementation.\n

      \n
    • \n
    • \n

      \n Finalized Deployment Need: Both parties agree with and finalized the deployment needs.\n

      \n
    • \n
    • \n

      \n SOW Signed: Both parties signed a statement of work (SOW), and formalize the agreement and detail the project scope and deliverables.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    Specifies the Opportunity's sales activities conducted with the end\n customer. These activities help drive Amazon Web Services assignment priority.

    \n

    Valid values:

    \n
      \n
    • \n

      Initialized discussions with customer: Initial conversations with the customer\n to understand their needs and introduce your solution.

      \n
    • \n
    • \n

      Customer has shown interest in solution: After initial discussions, the\n customer is interested in your solution.

      \n
    • \n
    • \n

      Conducted POC/demo: You conducted a proof of concept (POC) or demonstration of\n the solution for the customer.

      \n
    • \n
    • \n

      In evaluation/planning stage: The customer is evaluating the solution and\n planning potential implementation.

      \n
    • \n
    • \n

      Agreed on solution to Business Problem: Both parties agree on how the solution\n addresses the customer's business problem.

      \n
    • \n
    • \n

      Completed Action Plan: A detailed action plan is complete and outlines the\n steps for implementation.

      \n
    • \n
    • \n

      Finalized Deployment Need: Both parties agree with and finalized the\n deployment needs.

      \n
    • \n
    • \n

      SOW Signed: Both parties signed a statement of work (SOW), and formalize the\n agreement and detail the project scope and deliverables.

      \n
    • \n
    " } }, "CompetitorName": { "target": "com.amazonaws.partnercentralselling#CompetitorName", "traits": { - "smithy.api#documentation": "

    Name of the Opportunity's competitor (if any). Use Other to submit a value not in\n the picklist.\n

    " + "smithy.api#documentation": "

    Name of the Opportunity's competitor (if any). Use Other to\n submit a value not in the picklist.

    " } }, "OtherCompetitorNames": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Only allowed when CompetitorNames has Other selected.\n

    ", + "smithy.api#documentation": "

    Only allowed when CompetitorNames has Other selected.

    ", "smithy.api#length": { "max": 255 } @@ -7026,7 +9744,7 @@ "OtherSolutionDescription": { "target": "com.amazonaws.partnercentralselling#PiiString", "traits": { - "smithy.api#documentation": "

    Specifies the offered solution for the customer's business problem when the \n RelatedEntityIdentifiers.Solutions field value is Other.\n

    ", + "smithy.api#documentation": "

    Specifies the offered solution for the customer's business problem when the \n RelatedEntityIdentifiers.Solutions field value is Other.

    ", "smithy.api#length": { "max": 255 } @@ -7035,7 +9753,7 @@ "AdditionalComments": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Captures additional comments or information for the Opportunity that weren't captured in other fields.\n

    ", + "smithy.api#documentation": "

    Captures additional comments or information for the Opportunity that\n weren't captured in other fields.

    ", "smithy.api#length": { "min": 1, "max": 255 @@ -7044,67 +9762,185 @@ } }, "traits": { - "smithy.api#documentation": "

    An object that contains the\n Opportunity's project details.\n

    " + "smithy.api#documentation": "

    An object that contains the Opportunity's project details.

    " } }, "com.amazonaws.partnercentralselling#ProjectDetails": { "type": "structure", "members": { - "BusinessProblem": { - "target": "com.amazonaws.partnercentralselling#EngagementCustomerBusinessProblem", - "traits": { - "smithy.api#documentation": "

    Describes the business problem that the project aims to solve. This information is crucial for understanding the project’s goals and objectives.

    ", - "smithy.api#required": {} - } - }, - "Title": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

    Specifies the title of the project. This title helps partners quickly identify and understand the focus of the project.

    ", - "smithy.api#length": { - "min": 1, - "max": 255 - }, - "smithy.api#required": {} - } - }, - "TargetCompletionDate": { - "target": "com.amazonaws.partnercentralselling#Date", + "BusinessProblem": { + "target": "com.amazonaws.partnercentralselling#EngagementCustomerBusinessProblem", + "traits": { + "smithy.api#documentation": "

    Describes the business problem that the project aims to solve. This information is\n crucial for understanding the project’s goals and objectives.

    ", + "smithy.api#required": {} + } + }, + "Title": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    Specifies the title of the project. This title helps partners quickly identify and\n understand the focus of the project.

    ", + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#required": {} + } + }, + "TargetCompletionDate": { + "target": "com.amazonaws.partnercentralselling#Date", + "traits": { + "smithy.api#documentation": "

    Specifies the estimated date of project completion. This field helps track the project\n timeline and manage expectations.

    ", + "smithy.api#required": {} + } + }, + "ExpectedCustomerSpend": { + "target": "com.amazonaws.partnercentralselling#ExpectedCustomerSpendList", + "traits": { + "smithy.api#documentation": "

    Contains revenue estimates for the partner related to the project. This field provides\n an idea of the financial potential of the opportunity for the partner.

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

    Contains details about the project associated with the Engagement Invitation,\n including the business problem and expected outcomes.

    " + } + }, + "com.amazonaws.partnercentralselling#ProjectSummary": { + "type": "structure", + "members": { + "DeliveryModels": { + "target": "com.amazonaws.partnercentralselling#DeliveryModels", + "traits": { + "smithy.api#documentation": "

    Specifies your solution or service's deployment or consumption model in the\n Opportunity's context. You can select multiple options.

    \n

    Options' descriptions from the Delivery Model field are:

    \n
      \n
    • \n

      SaaS or PaaS: Your Amazon Web Services based solution deployed as SaaS or PaaS\n in your Amazon Web Services environment.

      \n
    • \n
    • \n

      BYOL or AMI: Your Amazon Web Services based solution deployed as BYOL or AMI in\n the end customer's Amazon Web Services environment.

      \n
    • \n
    • \n

      Managed Services: The end customer's Amazon Web Services business management\n (For example: Consulting, design, implementation, billing support, cost\n optimization, technical support).

      \n
    • \n
    • \n

      Professional Services: Offerings to help enterprise end customers achieve\n specific business outcomes for enterprise cloud adoption (For example: Advisory\n or transformation planning).

      \n
    • \n
    • \n

      Resell: Amazon Web Services accounts and billing management for your\n customers.

      \n
    • \n
    • \n

      Other: Delivery model not described above.

      \n
    • \n
    " + } + }, + "ExpectedCustomerSpend": { + "target": "com.amazonaws.partnercentralselling#ExpectedCustomerSpendList", + "traits": { + "smithy.api#documentation": "

    Provides a summary of the expected customer spend for the project, offering a\n high-level view of the potential financial impact.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    An object that contains a Project object's subset of fields.

    " + } + }, + "com.amazonaws.partnercentralselling#ProjectView": { + "type": "structure", + "members": { + "DeliveryModels": { + "target": "com.amazonaws.partnercentralselling#DeliveryModels", + "traits": { + "smithy.api#documentation": "

    \n Describes the deployment or consumption model for the partner solution or offering.\n This field indicates how the project's solution will be delivered or implemented for the\n customer.\n

    " + } + }, + "ExpectedCustomerSpend": { + "target": "com.amazonaws.partnercentralselling#ExpectedCustomerSpendList", + "traits": { + "smithy.api#documentation": "

    \n Provides information about the anticipated customer spend related to this project.\n This may include details such as amount, frequency, and currency of expected\n expenditure.\n

    " + } + }, + "CustomerUseCase": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

    \n Specifies the proposed solution focus or type of workload for the project.\n

    " + } + }, + "SalesActivities": { + "target": "com.amazonaws.partnercentralselling#SalesActivities", + "traits": { + "smithy.api#documentation": "

    \n Lists the pre-sales activities that have occurred with the end-customer related to the\n opportunity. This field is conditionally mandatory when the project is qualified for\n Co-Sell and helps drive assignment priority on the AWS side. It provides insight into\n the engagement level with the customer. \n

    " + } + }, + "OtherSolutionDescription": { + "target": "com.amazonaws.partnercentralselling#PiiString", + "traits": { + "smithy.api#documentation": "

    \n Offers a description of other solutions if the standard solutions do not adequately\n cover the project's scope.\n

    ", + "smithy.api#length": { + "max": 255 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n Provides the project view of an opportunity resource shared through a snapshot.\n

    " + } + }, + "com.amazonaws.partnercentralselling#PutSellingSystemSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#PutSellingSystemSettingsRequest" + }, + "output": { + "target": "com.amazonaws.partnercentralselling#PutSellingSystemSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to put system settings settings in AWS Partner Central" + }, + "smithy.api#documentation": "

    Updates the currently set system settings, which include the IAM Role used for resource snapshot jobs.

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/PutSellingSystemSettings", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.partnercentralselling#PutSellingSystemSettingsRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    Specifies the estimated date of project completion. This field helps track the project timeline and manage expectations.

    ", + "smithy.api#documentation": "

    Specifies the catalog in which the settings will be updated. Acceptable values include\n AWS for production and Sandbox for testing\n environments.

    ", "smithy.api#required": {} } }, - "ExpectedCustomerSpend": { - "target": "com.amazonaws.partnercentralselling#ExpectedCustomerSpendList", + "ResourceSnapshotJobRoleIdentifier": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobRoleIdentifier", "traits": { - "smithy.api#documentation": "

    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.

    ", - "smithy.api#required": {} + "smithy.api#documentation": "

    Specifies the ARN of the IAM Role used for resource snapshot job executions.

    " } } }, "traits": { - "smithy.api#documentation": "

    Contains details about the project associated with the Engagement Invitation, including the business problem and expected outcomes.

    " + "smithy.api#input": {} } }, - "com.amazonaws.partnercentralselling#ProjectSummary": { + "com.amazonaws.partnercentralselling#PutSellingSystemSettingsResponse": { "type": "structure", "members": { - "DeliveryModels": { - "target": "com.amazonaws.partnercentralselling#DeliveryModels", + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    \n Specifies your solution or service's deployment or consumption model in the Opportunity's context. You can select multiple options.\n

    \n

    \n Options' descriptions from the Delivery Model field are:\n

    \n
      \n
    • \n

      SaaS or PaaS: Your Amazon Web Services based solution deployed as SaaS or PaaS in your Amazon Web Services environment.

      \n
    • \n
    • \n

      BYOL or AMI: Your Amazon Web Services based solution deployed as BYOL or AMI in the end customer's Amazon Web Services environment.

      \n
    • \n
    • \n

      Managed Services: The end customer's Amazon Web Services business management (For example: Consulting, design, implementation, billing support, cost optimization, technical support).

      \n
    • \n
    • \n

      Professional Services: Offerings to help enterprise end customers achieve specific business outcomes for enterprise cloud adoption (For example: Advisory or transformation planning).

      \n
    • \n
    • \n

      Resell: Amazon Web Services accounts and billing management for your customers.

      \n
    • \n
    • \n

      Other: Delivery model not described above.

      \n
    • \n
    " + "smithy.api#documentation": "

    Specifies the catalog in which the settings are defined. Acceptable values include\n AWS for production and Sandbox for testing\n environments.

    ", + "smithy.api#required": {} } }, - "ExpectedCustomerSpend": { - "target": "com.amazonaws.partnercentralselling#ExpectedCustomerSpendList", + "ResourceSnapshotJobRoleArn": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobRoleArn", "traits": { - "smithy.api#documentation": "

    Provides a summary of the expected customer spend for the project, offering a high-level view of the potential financial impact.

    " + "smithy.api#documentation": "

    Specifies the ARN of the IAM Role used for resource snapshot job executions.

    " } } }, "traits": { - "smithy.api#documentation": "

    An object that contains a Project object's subset of fields.\n

    " + "smithy.api#output": {} } }, "com.amazonaws.partnercentralselling#ReasonCode": { @@ -7116,6 +9952,12 @@ "smithy.api#enumValue": "InvitationAccessDenied" } }, + "INVITATION_VALIDATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InvitationValidationFailed" + } + }, "ENGAGEMENT_ACCESS_DENIED": { "target": "smithy.api#Unit", "traits": { @@ -7134,28 +9976,40 @@ "smithy.api#enumValue": "ResourceSnapshotJobAccessDenied" } }, + "RESOURCE_SNAPSHOT_JOB_VALIDATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ResourceSnapshotJobValidationFailed" + } + }, + "RESOURCE_SNAPSHOT_JOB_CONFLICT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ResourceSnapshotJobConflict" + } + }, "ENGAGEMENT_VALIDATION_FAILED": { "target": "smithy.api#Unit", "traits": { "smithy.api#enumValue": "EngagementValidationFailed" } }, - "OPPORTUNITY_SUBMISSION_FAILED": { + "ENGAGEMENT_CONFLICT": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "OpportunitySubmissionFailed" + "smithy.api#enumValue": "EngagementConflict" } }, - "ENGAGEMENT_INVITATION_CONFLICT": { + "OPPORTUNITY_SUBMISSION_FAILED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "EngagementInvitationConflict" + "smithy.api#enumValue": "OpportunitySubmissionFailed" } }, - "INTERNAL_ERROR": { + "ENGAGEMENT_INVITATION_CONFLICT": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "InternalError" + "smithy.api#enumValue": "EngagementInvitationConflict" } }, "OPPORTUNITY_VALIDATION_FAILED": { @@ -7175,6 +10029,36 @@ "traits": { "smithy.api#enumValue": "ResourceSnapshotAccessDenied" } + }, + "RESOURCE_SNAPSHOT_VALIDATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ResourceSnapshotValidationFailed" + } + }, + "RESOURCE_SNAPSHOT_CONFLICT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ResourceSnapshotConflict" + } + }, + "INTERNAL_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InternalError" + } + }, + "SERVICE_QUOTA_EXCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ServiceQuotaExceeded" + } + }, + "REQUEST_THROTTLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RequestThrottled" + } } } }, @@ -7184,12 +10068,12 @@ "Account": { "target": "com.amazonaws.partnercentralselling#AccountReceiver", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Specifies the AWS account of the partner who received the Engagement Invitation. This\n field is used to track the invitation recipient within the AWS ecosystem.

    " } } }, "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Represents the entity that received the Engagement Invitation, including account and\n company details. This field is essential for tracking the partner who is being invited\n to collaborate.

    " } }, "com.amazonaws.partnercentralselling#ReceiverResponsibility": { @@ -7287,7 +10171,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to reject Engagement Invitations on AWS Partner Central" }, - "smithy.api#documentation": "

    This action rejects an EngagementInvitation that AWS\n shared. Rejecting an invitation indicates that the partner doesn't want to\n pursue the opportunity, and all related data will become inaccessible\n thereafter.

    ", + "smithy.api#documentation": "

    This action rejects an EngagementInvitation that AWS shared. Rejecting an\n invitation indicates that the partner doesn't want to pursue the opportunity, and all\n related data will become inaccessible thereafter.

    ", "smithy.api#http": { "method": "POST", "uri": "/RejectEngagementInvitation", @@ -7301,21 +10185,21 @@ "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    This is the catalog that's associated with the engagement\n invitation. Acceptable values are AWS or\n Sandbox, and these values determine the environment in which\n the opportunity is managed.

    ", + "smithy.api#documentation": "

    This is the catalog that's associated with the engagement invitation. Acceptable\n values are AWS or Sandbox, and these values determine the\n environment in which the opportunity is managed.

    ", "smithy.api#required": {} } }, "Identifier": { "target": "com.amazonaws.partnercentralselling#EngagementInvitationArnOrIdentifier", "traits": { - "smithy.api#documentation": "

    This is the unique identifier of the rejected\n EngagementInvitation. Providing the correct identifier\n helps to ensure that the intended invitation is rejected.

    ", + "smithy.api#documentation": "

    This is the unique identifier of the rejected EngagementInvitation.\n Providing the correct identifier helps to ensure that the intended invitation is\n rejected.

    ", "smithy.api#required": {} } }, "RejectionReason": { "target": "com.amazonaws.partnercentralselling#RejectionReasonString", "traits": { - "smithy.api#documentation": "

    This describes the reason for rejecting the engagement invitation,\n which helps AWS track usage patterns. Acceptable values include the\n following:

    \n
      \n
    • \n

      \n Customer problem unclear: The\n customer's problem isn't understood.

      \n
    • \n
    • \n

      \n Next steps unclear: The next steps\n required to proceed aren't understood.

      \n
    • \n
    • \n

      \n Unable to support: The partner is unable to provide support due to resource or capability constraints.

      \n
    • \n
    • \n

      \n Duplicate of partner referral: The\n opportunity is a duplicate of an existing referral.

      \n
    • \n
    • \n

      \n Other: Any reason not covered by\n other values.

      \n
    • \n
    " + "smithy.api#documentation": "

    This describes the reason for rejecting the engagement invitation, which helps AWS\n track usage patterns. Acceptable values include the following:

    \n
      \n
    • \n

      \n Customer problem unclear: The customer's problem isn't\n understood.

      \n
    • \n
    • \n

      \n Next steps unclear: The next steps required to proceed\n aren't understood.

      \n
    • \n
    • \n

      \n Unable to support: The partner is unable to provide\n support due to resource or capability constraints.

      \n
    • \n
    • \n

      \n Duplicate of partner referral: The opportunity is a\n duplicate of an existing referral.

      \n
    • \n
    • \n

      \n Other: Any reason not covered by other values.

      \n
    • \n
    " } } }, @@ -7335,24 +10219,24 @@ "AwsMarketplaceOffers": { "target": "com.amazonaws.partnercentralselling#AwsMarketplaceOfferIdentifiers", "traits": { - "smithy.api#documentation": "

    \n 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\"].\n

    \n

    \n Use the ListEntities action in the Marketplace Catalog APIs for a list of offers in the associated Marketplace seller account.\n

    " + "smithy.api#documentation": "

    Takes one value per opportunity. Each value is an Amazon Resource Name (ARN), in this\n format: \"offers\":\n [\"arn:aws:aws-marketplace:us-east-1:999999999999:AWSMarketplace/Offer/offer-sampleOffer32\"].

    \n

    Use the ListEntities action in the Marketplace Catalog APIs for a list of offers in\n the associated Marketplace seller account.

    " } }, "Solutions": { "target": "com.amazonaws.partnercentralselling#SolutionIdentifiers", "traits": { - "smithy.api#documentation": "

    \n 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.\n

    \n

    \n 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.\n

    \n

    \n 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.\n

    " + "smithy.api#documentation": "

    Enables partner solutions or offerings' association with an opportunity. To associate\n a solution, provide the solution's unique identifier, which you can obtain with the\n ListSolutions operation.

    \n

    If the specific solution identifier is not available, you can use the value\n Other and provide details about the solution in the\n otherSolutionOffered field. But when the opportunity reaches the\n Committed stage or beyond, the Other value cannot be used,\n and a valid solution identifier must be provided.

    \n

    By associating the relevant solutions with the opportunity, you can communicate the\n offerings that are being considered or implemented to address the customer's business\n problem.

    " } }, "AwsProducts": { "target": "com.amazonaws.partnercentralselling#AwsProductIdentifiers", "traits": { - "smithy.api#documentation": "

    \n Enables the association of specific Amazon Web Services products with the Opportunity. Partners can indicate\n the relevant Amazon Web Services products for the Opportunity's solution and align with the customer's\n needs. Returns multiple values separated by commas. For example, \"AWSProducts\" : [\"AmazonRedshift\", \"AWSAppFabric\", \"AWSCleanRooms\"].\n

    \n

    \n Use the file with the list of Amazon Web Services products hosted on GitHub:\n \n Amazon Web Services products.\n

    " + "smithy.api#documentation": "

    Enables the association of specific Amazon Web Services products with the\n Opportunity. Partners can indicate the relevant Amazon Web Services\n products for the Opportunity's solution and align with the customer's\n needs. Returns multiple values separated by commas. For example, \"AWSProducts\" :\n [\"AmazonRedshift\", \"AWSAppFabric\", \"AWSCleanRooms\"].

    \n

    Use the file with the list of Amazon Web Services products hosted on GitHub: \n Amazon Web Services products.

    " } } }, "traits": { - "smithy.api#documentation": "

    \n This field provides the associations' information for other entities with the opportunity. These entities include identifiers for\n AWSProducts, Partner Solutions, and AWSMarketplaceOffers.\n

    " + "smithy.api#documentation": "

    This field provides the associations' information for other entities with the\n opportunity. These entities include identifiers for AWSProducts,\n Partner Solutions, and AWSMarketplaceOffers.

    " } }, "com.amazonaws.partnercentralselling#RelatedEntityType": { @@ -7378,17 +10262,275 @@ } } }, + "com.amazonaws.partnercentralselling#ResourceArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:.*" + } + }, + "com.amazonaws.partnercentralselling#ResourceIdentifier": { + "type": "string", + "traits": { + "smithy.api#pattern": "^O[0-9]{1,19}$" + } + }, "com.amazonaws.partnercentralselling#ResourceNotFoundException": { "type": "structure", "members": { - "Message": { - "target": "smithy.api#String" + "Message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

    This error occurs when the specified resource can't be found. The resource might not\n exist, or isn't visible with the current credentials.

    \n

    Suggested action: Verify that the resource ID is correct and the resource is in the\n expected AWS region. Check IAM permissions for accessing the resource.

    ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.partnercentralselling#ResourceSnapshot": { + "type": "resource", + "operations": [ + { + "target": "com.amazonaws.partnercentralselling#CreateResourceSnapshot" + }, + { + "target": "com.amazonaws.partnercentralselling#GetResourceSnapshot" + }, + { + "target": "com.amazonaws.partnercentralselling#ListEngagementResourceAssociations" + }, + { + "target": "com.amazonaws.partnercentralselling#ListResourceSnapshots" + } + ], + "traits": { + "aws.iam#disableConditionKeyInference": {}, + "aws.iam#iamResource": { + "relativeDocumentation": "page.html#my-resource" + }, + "smithy.api#documentation": "Represents snapshot of a resource in AWS Partner Central" + } + }, + "com.amazonaws.partnercentralselling#ResourceSnapshotArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:.*" + } + }, + "com.amazonaws.partnercentralselling#ResourceSnapshotJob": { + "type": "resource", + "identifiers": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier" + }, + "Identifier": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobIdentifier" + } + }, + "create": { + "target": "com.amazonaws.partnercentralselling#CreateResourceSnapshotJob" + }, + "read": { + "target": "com.amazonaws.partnercentralselling#GetResourceSnapshotJob" + }, + "delete": { + "target": "com.amazonaws.partnercentralselling#DeleteResourceSnapshotJob" + }, + "list": { + "target": "com.amazonaws.partnercentralselling#ListResourceSnapshotJobs" + }, + "operations": [ + { + "target": "com.amazonaws.partnercentralselling#StartResourceSnapshotJob" + }, + { + "target": "com.amazonaws.partnercentralselling#StopResourceSnapshotJob" + } + ], + "traits": { + "aws.api#arn": { + "template": "catalog/{Catalog}/resource-snapshot-job/{Identifier}" + }, + "aws.iam#disableConditionKeyInference": {}, + "aws.iam#iamResource": { + "relativeDocumentation": "page.html#my-resource", + "name": "resource-snapshot-job" + }, + "smithy.api#documentation": "Represents a job of snapshot resource in AWS Partner Central" + } + }, + "com.amazonaws.partnercentralselling#ResourceSnapshotJobArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:.*" + } + }, + "com.amazonaws.partnercentralselling#ResourceSnapshotJobIdentifier": { + "type": "string", + "traits": { + "smithy.api#pattern": "^job-[0-9a-z]{13}$" + } + }, + "com.amazonaws.partnercentralselling#ResourceSnapshotJobRoleArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 2048 + }, + "smithy.api#pattern": "^arn:aws:iam::\\d{12}:role/([-+=,.@_a-zA-Z0-9]+/)*[-+=,.@_a-zA-Z0-9]{1,64}$" + } + }, + "com.amazonaws.partnercentralselling#ResourceSnapshotJobRoleIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 2048 + }, + "smithy.api#pattern": "^(arn:aws:iam::\\d{12}:role/([-+=,.@_a-zA-Z0-9]+/)*)?[-+=,.@_a-zA-Z0-9]{1,64}$" + } + }, + "com.amazonaws.partnercentralselling#ResourceSnapshotJobStatus": { + "type": "enum", + "members": { + "RUNNING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Running" + } + }, + "STOPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Stopped" + } + } + } + }, + "com.amazonaws.partnercentralselling#ResourceSnapshotJobSummary": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The unique identifier for the resource snapshot job within the AWS Partner Central\n system. This ID is used for direct references to the job within the service.\n

    " + } + }, + "Arn": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobArn", + "traits": { + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) for the resource snapshot job.\n

    " + } + }, + "EngagementId": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The unique identifier for the engagement within the AWS Partner Central\n system. This ID is used for direct references to the engagement within the service.\n

    " + } + }, + "Status": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobStatus", + "traits": { + "smithy.api#documentation": "

    \n Represents the current status of the resource snapshot job.\n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n An object that contains a Resource Snapshot Job's subset of fields.\n

    " + } + }, + "com.amazonaws.partnercentralselling#ResourceSnapshotJobSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobSummary" + } + }, + "com.amazonaws.partnercentralselling#ResourceSnapshotPayload": { + "type": "union", + "members": { + "OpportunitySummary": { + "target": "com.amazonaws.partnercentralselling#OpportunitySummaryView", + "traits": { + "smithy.api#documentation": "

    \n An object that contains an opportunity's subset of fields. \n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n Represents the payload of a resource snapshot. This structure is designed to\n accommodate different types of resource snapshots, currently supporting opportunity\n summaries.\n

    " + } + }, + "com.amazonaws.partnercentralselling#ResourceSnapshotRevision": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1 + } + } + }, + "com.amazonaws.partnercentralselling#ResourceSnapshotSummary": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotArn", + "traits": { + "smithy.api#documentation": "

    \n The Amazon Resource Name (ARN) of the snapshot. This globally unique identifier can be\n used for cross-service references and in IAM policies.\n

    " + } + }, + "Revision": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotRevision", + "traits": { + "smithy.api#documentation": "

    \n The revision number of the snapshot. This integer value is incremented each time the\n snapshot is updated, allowing for version tracking of the resource snapshot.\n

    " + } + }, + "ResourceType": { + "target": "com.amazonaws.partnercentralselling#ResourceType", + "traits": { + "smithy.api#documentation": "

    The type of resource snapshotted.

    " + } + }, + "ResourceId": { + "target": "com.amazonaws.partnercentralselling#ResourceIdentifier", + "traits": { + "smithy.api#documentation": "

    The identifier of the specific resource snapshotted. The format might vary depending\n on the ResourceType.

    " + } + }, + "ResourceSnapshotTemplateName": { + "target": "com.amazonaws.partnercentralselling#ResourceTemplateName", + "traits": { + "smithy.api#documentation": "

    The name of the template used to create the snapshot.

    " + } + }, + "CreatedBy": { + "target": "com.amazonaws.partnercentralselling#AwsAccount", + "traits": { + "smithy.api#documentation": "

    The AWS account ID of the principal (user or role) who created the snapshot. This\n helps in tracking the origin of the snapshot.

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n Provides a concise summary of a resource snapshot, including its unique identifier and\n version information. This structure is used to quickly reference and identify specific\n versions of resource snapshots. \n

    " + } + }, + "com.amazonaws.partnercentralselling#ResourceSnapshotSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotSummary" + } + }, + "com.amazonaws.partnercentralselling#ResourceTemplateName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-zA-Z0-9]{3,80}$" + } + }, + "com.amazonaws.partnercentralselling#ResourceType": { + "type": "enum", + "members": { + "OPPORTUNITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Opportunity" + } } - }, - "traits": { - "smithy.api#documentation": "

    This error occurs when the specified resource can't be found. The resource might not exist, or isn't visible with the current credentials.\n

    \n

    Suggested action: Verify that the resource ID is correct and the resource is in the expected AWS region. Check IAM permissions for accessing the resource.\n

    ", - "smithy.api#error": "client", - "smithy.api#httpError": 404 } }, "com.amazonaws.partnercentralselling#RevenueModel": { @@ -7531,43 +10673,68 @@ } } }, + "com.amazonaws.partnercentralselling#SellingSystemSettings": { + "type": "resource", + "identifiers": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier" + } + }, + "read": { + "target": "com.amazonaws.partnercentralselling#GetSellingSystemSettings" + }, + "update": { + "target": "com.amazonaws.partnercentralselling#PutSellingSystemSettings" + }, + "traits": { + "aws.api#arn": { + "template": "catalog/{Catalog}/selling-system-settings" + }, + "aws.iam#disableConditionKeyInference": {}, + "aws.iam#iamResource": { + "relativeDocumentation": "page.html#my-resource", + "name": "selling-system-settings" + }, + "smithy.api#documentation": "Represents a partner selling system settings in AWS Partner Central" + } + }, "com.amazonaws.partnercentralselling#SenderContact": { "type": "structure", "members": { "Email": { "target": "com.amazonaws.partnercentralselling#SenderContactEmail", "traits": { - "smithy.api#documentation": "

    The sender-provided contact's email address associated with the EngagementInvitation.\n

    ", + "smithy.api#documentation": "

    The sender-provided contact's email address associated with the\n EngagementInvitation.

    ", "smithy.api#required": {} } }, "FirstName": { "target": "com.amazonaws.partnercentralselling#Name", "traits": { - "smithy.api#documentation": "

    The sender-provided contact's last name associated with the EngagementInvitation.\n

    " + "smithy.api#documentation": "

    The sender-provided contact's last name associated with the\n EngagementInvitation.

    " } }, "LastName": { "target": "com.amazonaws.partnercentralselling#Name", "traits": { - "smithy.api#documentation": "

    The sender-provided contact's first name associated with the EngagementInvitation.\n

    " + "smithy.api#documentation": "

    The sender-provided contact's first name associated with the\n EngagementInvitation.

    " } }, "BusinessTitle": { "target": "com.amazonaws.partnercentralselling#JobTitle", "traits": { - "smithy.api#documentation": "

    The sender-provided contact's title (job title or role) associated with the EngagementInvitation.\n

    " + "smithy.api#documentation": "

    The sender-provided contact's title (job title or role) associated with the\n EngagementInvitation.

    " } }, "Phone": { "target": "com.amazonaws.partnercentralselling#PhoneNumber", "traits": { - "smithy.api#documentation": "

    The sender-provided contact's phone number associated with the EngagementInvitation.\n

    " + "smithy.api#documentation": "

    The sender-provided contact's phone number associated with the\n EngagementInvitation.

    " } } }, "traits": { - "smithy.api#documentation": "

    An object that contains the details of the sender-provided contact person for the EngagementInvitation.\n

    " + "smithy.api#documentation": "

    An object that contains the details of the sender-provided contact person for the\n EngagementInvitation.

    " } }, "com.amazonaws.partnercentralselling#SenderContactEmail": { @@ -7600,7 +10767,7 @@ } }, "traits": { - "smithy.api#documentation": "

    This error occurs when the request would cause a service quota to be exceeded.\n Service quotas represent the maximum allowed use of a specific resource, and this error indicates that the request would surpass that limit.\n

    \n

    Suggested action: Review the\n Quotas for the resource, and either reduce usage or request a quota increase.\n

    ", + "smithy.api#documentation": "

    This error occurs when the request would cause a service quota to be exceeded. Service\n quotas represent the maximum allowed use of a specific resource, and this error\n indicates that the request would surpass that limit.

    \n

    Suggested action: Review the Quotas for the\n resource, and either reduce usage or request a quota increase.

    ", "smithy.api#error": "client", "smithy.api#httpError": 402 } @@ -7611,7 +10778,7 @@ "DeliveryModel": { "target": "com.amazonaws.partnercentralselling#RevenueModel", "traits": { - "smithy.api#documentation": "

    Specifies the customer's intended payment type agreement or procurement method to acquire the solution or service outlined in the Opportunity.\n

    " + "smithy.api#documentation": "

    Specifies the customer's intended payment type agreement or procurement method to\n acquire the solution or service outlined in the Opportunity.

    " } }, "Value": { @@ -7623,18 +10790,18 @@ "EffectiveDate": { "target": "com.amazonaws.partnercentralselling#Date", "traits": { - "smithy.api#documentation": "

    Specifies the Opportunity's customer engagement start date for the contract's effectiveness.\n

    " + "smithy.api#documentation": "

    Specifies the Opportunity's customer engagement start date for the\n contract's effectiveness.

    " } }, "ExpirationDate": { "target": "com.amazonaws.partnercentralselling#Date", "traits": { - "smithy.api#documentation": "

    Specifies the expiration date for the contract between the customer and\n Amazon Web Services partner. It signifies the termination date of the agreed-upon engagement period between\n both parties.\n

    " + "smithy.api#documentation": "

    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\n period between both parties.

    " } } }, "traits": { - "smithy.api#documentation": "

    Specifies a customer's procurement terms details. Required only for partners in eligible programs.

    " + "smithy.api#documentation": "

    Specifies a customer's procurement terms details. Required only for partners in\n eligible programs.

    " } }, "com.amazonaws.partnercentralselling#Solution": { @@ -7661,13 +10828,19 @@ "smithy.api#documentation": "Represents a Solution that is listed on AWS Partner Central" } }, + "com.amazonaws.partnercentralselling#SolutionArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^S-[0-9]{1,19}$" + } + }, "com.amazonaws.partnercentralselling#SolutionBase": { "type": "structure", "members": { "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

    Specifies the catalog in which the solution is hosted, either AWS or\n Sandbox. This helps partners differentiate between live solutions and\n those in testing environments.

    ", "smithy.api#required": {} } }, @@ -7678,6 +10851,12 @@ "smithy.api#required": {} } }, + "Arn": { + "target": "com.amazonaws.partnercentralselling#SolutionArn", + "traits": { + "smithy.api#documentation": "

    \n The SolutionBase structure provides essential information about a solution.\n

    " + } + }, "Name": { "target": "smithy.api#String", "traits": { @@ -7688,14 +10867,14 @@ "Status": { "target": "com.amazonaws.partnercentralselling#SolutionStatus", "traits": { - "smithy.api#documentation": "

    \n Specifies the solution's current status, which indicates its state in the system.\n Valid values: Active | Inactive | Draft.\n The status helps partners and Amazon Web Services track the solution's lifecycle and availability. Filter for Active solutions for association to an opportunity.\n

    ", + "smithy.api#documentation": "

    Specifies the solution's current status, which indicates its state in the system.\n Valid values: Active | Inactive | Draft. The\n status helps partners and Amazon Web Services track the solution's lifecycle and\n availability. Filter for Active solutions for association to an\n opportunity.

    ", "smithy.api#required": {} } }, "Category": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    \n Specifies the solution category, which helps to categorize and organize the solutions partners offer.\n Valid values: Software Product | Consulting Service |\n Hardware Product | Communications Product |\n Professional Service | Managed Service |\n Value-Added Resale Amazon Web Services Service | Distribution Service |\n Training Service | Merger and Acquisition Advising Service.\n

    ", + "smithy.api#documentation": "

    Specifies the solution category, which helps to categorize and organize the solutions\n partners offer. Valid values: Software Product | Consulting\n Service | Hardware Product | Communications Product\n | Professional Service | Managed Service | Value-Added\n Resale Amazon Web Services Service | Distribution Service |\n Training Service | Merger and Acquisition Advising\n Service.

    ", "smithy.api#required": {} } }, @@ -7708,7 +10887,7 @@ } }, "traits": { - "smithy.api#documentation": "

    Specifies minimal information for the solution offered to solve the customer's business problem.

    " + "smithy.api#documentation": "

    Specifies minimal information for the solution offered to solve the customer's\n business problem.

    " } }, "com.amazonaws.partnercentralselling#SolutionIdentifier": { @@ -7735,20 +10914,20 @@ "SortOrder": { "target": "com.amazonaws.partnercentralselling#SortOrder", "traits": { - "smithy.api#documentation": "

    \n Specifies the sorting order, either Ascending or Descending. The default is Descending.\n

    ", + "smithy.api#documentation": "

    Specifies the sorting order, either Ascending or Descending.\n The default is Descending.

    ", "smithy.api#required": {} } }, "SortBy": { "target": "com.amazonaws.partnercentralselling#SolutionSortName", "traits": { - "smithy.api#documentation": "

    \n Specifies the attribute to sort by, such as Name, CreatedDate, or Status.\n

    ", + "smithy.api#documentation": "

    Specifies the attribute to sort by, such as Name,\n CreatedDate, or Status.

    ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

    \n Configures the solutions' response sorting that enables partners to order solutions based on specified attributes.\n

    " + "smithy.api#documentation": "

    Configures the solutions' response sorting that enables partners to order solutions\n based on specified attributes.

    " } }, "com.amazonaws.partnercentralselling#SolutionSortName": { @@ -7809,6 +10988,37 @@ } } }, + "com.amazonaws.partnercentralselling#SortBy": { + "type": "enum", + "members": { + "CREATED_DATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CreatedDate" + } + } + } + }, + "com.amazonaws.partnercentralselling#SortObject": { + "type": "structure", + "members": { + "SortBy": { + "target": "com.amazonaws.partnercentralselling#SortBy", + "traits": { + "smithy.api#documentation": "

    \n Specifies the field by which to sort the resource snapshot jobs.\n

    " + } + }, + "SortOrder": { + "target": "com.amazonaws.partnercentralselling#SortOrder", + "traits": { + "smithy.api#documentation": "

    \n Determines the order in which the sorted results are presented.\n

    " + } + } + }, + "traits": { + "smithy.api#documentation": "

    \n Defines the sorting parameters for listing resource snapshot jobs. This structure\n allows you to specify the field to sort by and the order of sorting. \n

    " + } + }, "com.amazonaws.partnercentralselling#SortOrder": { "type": "enum", "members": { @@ -7917,7 +11127,7 @@ ], "documentation": "Grants permission to initiate tasks that start Engagements on AWS Partner Central by accepting an Engagement Invitation" }, - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

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

    ", "smithy.api#http": { "method": "POST", "uri": "/StartEngagementByAcceptingInvitationTask", @@ -7931,14 +11141,14 @@ "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

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

    ", + "smithy.api#documentation": "

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

    ", "smithy.api#required": {} } }, "ClientToken": { "target": "com.amazonaws.partnercentralselling#ClientToken", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

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

    ", "smithy.api#idempotencyToken": {}, "smithy.api#length": { "min": 1 @@ -7949,7 +11159,7 @@ "Identifier": { "target": "com.amazonaws.partnercentralselling#EngagementInvitationArnOrIdentifier", "traits": { - "smithy.api#documentation": "

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

    ", + "smithy.api#documentation": "

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

    ", "smithy.api#required": {} } } @@ -7970,13 +11180,13 @@ "TaskArn": { "target": "com.amazonaws.partnercentralselling#TaskArn", "traits": { - "smithy.api#documentation": "

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

    " + "smithy.api#documentation": "

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

    " } }, "StartTime": { "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#documentation": "

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

    " + "smithy.api#documentation": "

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

    " } }, "TaskStatus": { @@ -7988,7 +11198,7 @@ "Message": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

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

    " + "smithy.api#documentation": "

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

    " } }, "ReasonCode": { @@ -8000,13 +11210,19 @@ "OpportunityId": { "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", "traits": { - "smithy.api#documentation": "

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

    " + "smithy.api#documentation": "

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

    " + } + }, + "ResourceSnapshotJobId": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The identifier of the resource snapshot job created as part of this task.\n

    " } }, "EngagementInvitationId": { "target": "com.amazonaws.partnercentralselling#EngagementInvitationIdentifier", "traits": { - "smithy.api#documentation": "

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

    " + "smithy.api#documentation": "

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

    " } } }, @@ -8058,7 +11274,7 @@ ], "documentation": "Grants permission to initiate tasks that start Engagements from Opportunities on AWS Partner Central" }, - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

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

    ", "smithy.api#http": { "method": "POST", "uri": "/StartEngagementFromOpportunityTask", @@ -8072,14 +11288,14 @@ "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

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

    ", + "smithy.api#documentation": "

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

    ", "smithy.api#required": {} } }, "ClientToken": { "target": "com.amazonaws.partnercentralselling#ClientToken", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

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

    ", "smithy.api#idempotencyToken": {}, "smithy.api#length": { "min": 1 @@ -8090,7 +11306,7 @@ "Identifier": { "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", "traits": { - "smithy.api#documentation": "

    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.

    ", + "smithy.api#documentation": "

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

    ", "smithy.api#required": {} } }, @@ -8111,31 +11327,31 @@ "TaskId": { "target": "com.amazonaws.partnercentralselling#TaskIdentifier", "traits": { - "smithy.api#documentation": "

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

    " + "smithy.api#documentation": "

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

    " } }, "TaskArn": { "target": "com.amazonaws.partnercentralselling#TaskArn", "traits": { - "smithy.api#documentation": "

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

    " + "smithy.api#documentation": "

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

    " } }, "StartTime": { "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#documentation": "

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

    " + "smithy.api#documentation": "

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

    " } }, "TaskStatus": { "target": "com.amazonaws.partnercentralselling#TaskStatus", "traits": { - "smithy.api#documentation": "

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

    " + "smithy.api#documentation": "

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

    " } }, "Message": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

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

    " + "smithy.api#documentation": "

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

    " } }, "ReasonCode": { @@ -8147,7 +11363,25 @@ "OpportunityId": { "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", "traits": { - "smithy.api#documentation": "

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

    " + "smithy.api#documentation": "

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

    " + } + }, + "ResourceSnapshotJobId": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobIdentifier", + "traits": { + "smithy.api#documentation": "

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

    " + } + }, + "EngagementId": { + "target": "com.amazonaws.partnercentralselling#EngagementIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The identifier of the newly created engagement. Only populated if TaskStatus is\n COMPLETE.\n

    " + } + }, + "EngagementInvitationId": { + "target": "com.amazonaws.partnercentralselling#EngagementInvitationIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The identifier of the new engagement invitation. Only populated if TaskStatus is\n COMPLETE.\n

    " } } }, @@ -8155,24 +11389,232 @@ "smithy.api#output": {} } }, + "com.amazonaws.partnercentralselling#StartResourceSnapshotJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#StartResourceSnapshotJobRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to starting resource snapshot jobs in AWS Partner Central" + }, + "smithy.api#documentation": "

    \n Starts a resource snapshot job that has been previously created.\n

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/StartResourceSnapshotJob", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.partnercentralselling#StartResourceSnapshotJobRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Specifies the catalog related to the request.\n

    ", + "smithy.api#required": {} + } + }, + "ResourceSnapshotJobIdentifier": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The identifier of the resource snapshot job to start.\n

    ", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "Identifier" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.partnercentralselling#StopResourceSnapshotJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#StopResourceSnapshotJobRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to stopping resource snapshot jobs in AWS Partner Central" + }, + "smithy.api#documentation": "

    \n Stops a resource snapshot job. The job must be started prior to being stopped.\n

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/StopResourceSnapshotJob", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.partnercentralselling#StopResourceSnapshotJobRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Specifies the catalog related to the request. \n

    ", + "smithy.api#required": {} + } + }, + "ResourceSnapshotJobIdentifier": { + "target": "com.amazonaws.partnercentralselling#ResourceSnapshotJobIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The identifier of the job to stop.\n

    ", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "Identifier" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.partnercentralselling#StringList": { "type": "list", "member": { "target": "smithy.api#String" } }, + "com.amazonaws.partnercentralselling#SubmitOpportunity": { + "type": "operation", + "input": { + "target": "com.amazonaws.partnercentralselling#SubmitOpportunityRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.partnercentralselling#AccessDeniedException" + }, + { + "target": "com.amazonaws.partnercentralselling#InternalServerException" + }, + { + "target": "com.amazonaws.partnercentralselling#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.partnercentralselling#ThrottlingException" + }, + { + "target": "com.amazonaws.partnercentralselling#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": ["partnercentral:Catalog"], + "aws.iam#iamAction": { + "documentation": "Grants permission to submit Opportunities on AWS Partner Central" + }, + "smithy.api#documentation": "

    \n Use this action to submit an opportunity that was previously created by partner for\n AWS review. After you perform this action, the opportunity becomes non-editable until it\n is reviewed by AWS and has LifeCycle.ReviewStatus as either\n Approved or Action Required. \n

    ", + "smithy.api#http": { + "method": "POST", + "uri": "/SubmitOpportunity", + "code": 200 + } + } + }, + "com.amazonaws.partnercentralselling#SubmitOpportunityRequest": { + "type": "structure", + "members": { + "Catalog": { + "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", + "traits": { + "smithy.api#documentation": "

    \n Specifies the catalog related to the request. \n

    ", + "smithy.api#required": {} + } + }, + "Identifier": { + "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", + "traits": { + "smithy.api#documentation": "

    \n The identifier of the opportunity previously created by partner and needs to be\n submitted.\n

    ", + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "Identifier" + } + }, + "InvolvementType": { + "target": "com.amazonaws.partnercentralselling#SalesInvolvementType", + "traits": { + "smithy.api#documentation": "

    \n Specifies the level of AWS sellers' involvement on the opportunity. \n

    ", + "smithy.api#required": {} + } + }, + "Visibility": { + "target": "com.amazonaws.partnercentralselling#Visibility", + "traits": { + "smithy.api#documentation": "

    \n Determines whether to restrict visibility of the opportunity from AWS sales. Default\n value is Full. \n

    " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.partnercentralselling#TaskArn": { "type": "string", "traits": { "smithy.api#pattern": "^arn:.*" } }, + "com.amazonaws.partnercentralselling#TaskArnOrIdentifier": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(arn:.*|task-[0-9a-z]{13})$" + } + }, "com.amazonaws.partnercentralselling#TaskIdentifier": { "type": "string", "traits": { "smithy.api#pattern": "task-[0-9a-z]{13}$" } }, + "com.amazonaws.partnercentralselling#TaskIdentifiers": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#TaskArnOrIdentifier" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.partnercentralselling#TaskStatus": { "type": "enum", "members": { @@ -8196,6 +11638,18 @@ } } }, + "com.amazonaws.partnercentralselling#TaskStatuses": { + "type": "list", + "member": { + "target": "com.amazonaws.partnercentralselling#TaskStatus" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 3 + } + } + }, "com.amazonaws.partnercentralselling#ThrottlingException": { "type": "structure", "members": { @@ -8204,7 +11658,7 @@ } }, "traits": { - "smithy.api#documentation": "

    This error occurs when there are too many requests sent. Review the provided quotas and adapt your\n usage to avoid throttling.\n

    \n

    This error occurs when there are too many requests sent. Review the provided\n Quotas and retry after the provided delay.\n

    ", + "smithy.api#documentation": "

    This error occurs when there are too many requests sent. Review the provided quotas\n and adapt your usage to avoid throttling.

    \n

    This error occurs when there are too many requests sent. Review the provided Quotas and retry after the provided delay.

    ", "smithy.api#error": "client", "smithy.api#httpError": 429 } @@ -8242,7 +11696,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to update Opportunities on AWS Partner Central" }, - "smithy.api#documentation": "

    \n Updates the Opportunity record identified by a given Identifier.\n This operation allows you to modify the details of an existing opportunity to reflect the latest information\n and progress. Use this action to keep the opportunity record up-to-date and accurate.\n

    \n

    \n 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.\n

    ", + "smithy.api#documentation": "

    Updates the Opportunity record identified by a given\n Identifier. This operation allows you to modify the details of an\n existing opportunity to reflect the latest information and progress. Use this action to\n keep the opportunity record up-to-date and accurate.

    \n

    When you perform updates, include the entire payload with each request. If any field\n is omitted, the API assumes that the field is set to null. The best\n practice is to always perform a GetOpportunity to retrieve the latest\n values, then send the complete payload with the updated values to be changed.

    ", "smithy.api#http": { "method": "POST", "uri": "/UpdateOpportunity", @@ -8256,26 +11710,26 @@ "Catalog": { "target": "com.amazonaws.partnercentralselling#CatalogIdentifier", "traits": { - "smithy.api#documentation": "

    \n Specifies the catalog associated with the request. This field takes a string value from a predefined list:\n AWS or Sandbox. The catalog determines which environment the opportunity is updated in.\n Use AWS to update real opportunities in the production\n environment, and Sandbox for testing in secure, isolated environments.\n When you use the Sandbox catalog, it allows you to simulate and validate your interactions\n with Amazon Web Services services without affecting live data or operations.\n

    ", + "smithy.api#documentation": "

    Specifies the catalog associated with the request. This field takes a string value\n from a predefined list: AWS or Sandbox. The catalog determines\n which environment the opportunity is updated in. Use AWS to update real\n opportunities in the production environment, and Sandbox for testing in\n secure, isolated environments. When you use the Sandbox catalog, it allows\n you to simulate and validate your interactions with Amazon Web Services services without\n affecting live data or operations.

    ", "smithy.api#required": {} } }, "PrimaryNeedsFromAws": { "target": "com.amazonaws.partnercentralselling#PrimaryNeedsFromAws", "traits": { - "smithy.api#documentation": "

    \n Identifies the type of support the partner needs from Amazon Web Services.\n

    \n

    \n Valid values:\n

    \n
      \n
    • \n

      \n 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.\n

      \n
    • \n
    • \n

      \n Cosell—Business Presentation: Request Amazon Web Services seller's participation in a joint customer presentation.\n

      \n
    • \n
    • \n

      \n Cosell—Competitive Information: Access to Amazon Web Services competitive resources and support for the partner's proposed solution.\n

      \n
    • \n
    • \n

      \n 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).\n

      \n
    • \n
    • \n

      \n Cosell—Technical Consultation: Connection with an Amazon Web Services Solutions Architect to address the partner's questions about the proposed solution.\n

      \n
    • \n
    • \n

      \n 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.\n

      \n
    • \n
    • \n

      \n Cosell—Deal Support: Request Amazon Web Services seller's support to progress the opportunity (for example: joint customer call, strategic positioning).\n

      \n
    • \n
    • \n

      \n Cosell—Support for Public Tender/RFx: Opportunity related to the public sector where the partner needs RFx support from Amazon Web Services.\n

      \n
    • \n
    • \n

      \n Do Not Need Support from AWS Sales Rep: Indicates that a partner doesn't need support from an Amazon Web Services Sales representative. The opportunity is managed solely by the partner. It's possible to request coselling support on these opportunities at any stage during their lifecycle. Also known as, for-visibility-only (FVO) opportunity.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    Identifies the type of support the partner needs from Amazon Web Services.

    \n

    Valid values:

    \n
      \n
    • \n

      Cosell—Architectural Validation: Confirmation from Amazon Web Services that the\n partner's proposed solution architecture is aligned with Amazon Web Services best\n practices and poses minimal architectural risks.

      \n
    • \n
    • \n

      Cosell—Business Presentation: Request Amazon Web Services seller's\n participation in a joint customer presentation.

      \n
    • \n
    • \n

      Cosell—Competitive Information: Access to Amazon Web Services competitive\n resources and support for the partner's proposed solution.

      \n
    • \n
    • \n

      Cosell—Pricing Assistance: Connect with an AWS seller for support situations\n where a partner may be receiving an upfront discount on a service (for example:\n EDP deals).

      \n
    • \n
    • \n

      Cosell—Technical Consultation: Connection with an Amazon Web Services Solutions\n Architect to address the partner's questions about the proposed solution.

      \n
    • \n
    • \n

      Cosell—Total Cost of Ownership Evaluation: Assistance with quoting different\n cost savings of proposed solutions on Amazon Web Services versus on-premises or a\n traditional hosting environment.

      \n
    • \n
    • \n

      Cosell—Deal Support: Request Amazon Web Services seller's support to progress\n the opportunity (for example: joint customer call, strategic\n positioning).

      \n
    • \n
    • \n

      Cosell—Support for Public Tender/RFx: Opportunity related to the public sector\n where the partner needs RFx support from Amazon Web Services.

      \n
    • \n
    • \n

      Do Not Need Support from AWS Sales Rep: Indicates that a partner doesn't need\n support from an Amazon Web Services Sales representative. The opportunity is\n managed solely by the partner. It's possible to request coselling support on\n these opportunities at any stage during their lifecycle. Also known as,\n for-visibility-only (FVO) opportunity.

      \n
    • \n
    " } }, "NationalSecurity": { "target": "com.amazonaws.partnercentralselling#NationalSecurity", "traits": { - "smithy.api#documentation": "

    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.

    " + "smithy.api#documentation": "

    Specifies if the opportunity is associated with national security concerns. This flag\n is only applicable when the industry is Government. For\n national-security-related opportunities, validation and compliance rules may apply,\n impacting the opportunity's visibility and processing.

    " } }, "PartnerOpportunityIdentifier": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

    Specifies the opportunity's unique identifier in the partner's CRM system. This value is essential\n to track and reconcile because it's included in the outbound payload sent back to the partner.\n

    ", + "smithy.api#documentation": "

    Specifies the opportunity's unique identifier in the partner's CRM system. This value\n is essential to track and reconcile because it's included in the outbound payload sent\n back to the partner.

    ", "smithy.api#length": { "max": 64 } @@ -8284,51 +11738,51 @@ "Customer": { "target": "com.amazonaws.partnercentralselling#Customer", "traits": { - "smithy.api#documentation": "

    Specifies details of the customer associated with the Opportunity.\n

    " + "smithy.api#documentation": "

    Specifies details of the customer associated with the Opportunity.

    " } }, "Project": { "target": "com.amazonaws.partnercentralselling#Project", "traits": { - "smithy.api#documentation": "

    An object that contains project details summary for the Opportunity.\n

    " + "smithy.api#documentation": "

    An object that contains project details summary for the\n Opportunity.

    " } }, "OpportunityType": { "target": "com.amazonaws.partnercentralselling#OpportunityType", "traits": { - "smithy.api#documentation": "

    \n Specifies the opportunity type as a renewal, new, or expansion.\n

    \n

    \n Opportunity types:\n

    \n
      \n
    • \n

      \n New opportunity:\n Represents a new business opportunity with a potential customer that's not previously engaged with your solutions or services.\n

      \n
    • \n
    • \n

      \n Renewal opportunity:\n Represents an opportunity to renew an existing contract or subscription with a current customer, ensuring continuity of service.\n

      \n
    • \n
    • \n

      \n Expansion opportunity:\n 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.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    Specifies the opportunity type as a renewal, new, or expansion.

    \n

    Opportunity types:

    \n
      \n
    • \n

      New opportunity: Represents a new business opportunity with a potential\n customer that's not previously engaged with your solutions or services.

      \n
    • \n
    • \n

      Renewal opportunity: Represents an opportunity to renew an existing contract\n or subscription with a current customer, ensuring continuity of service.

      \n
    • \n
    • \n

      Expansion opportunity: Represents an opportunity to expand the scope of an\n existing contract or subscription, either by adding new services or increasing\n the volume of existing services for a current customer.

      \n
    • \n
    " } }, "Marketing": { "target": "com.amazonaws.partnercentralselling#Marketing", "traits": { - "smithy.api#documentation": "

    An object that contains marketing details for the Opportunity.\n

    " + "smithy.api#documentation": "

    An object that contains marketing details for the Opportunity.

    " } }, "SoftwareRevenue": { "target": "com.amazonaws.partnercentralselling#SoftwareRevenue", "traits": { - "smithy.api#documentation": "

    Specifies details of a customer's procurement terms. Required only for partners in eligible programs.

    " + "smithy.api#documentation": "

    Specifies details of a customer's procurement terms. Required only for partners in\n eligible programs.

    " } }, "LastModifiedDate": { "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#documentation": "

    \n DateTime when the opportunity was last modified.\n

    ", + "smithy.api#documentation": "

    \n DateTime when the opportunity was last modified.

    ", "smithy.api#required": {} } }, "Identifier": { "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", "traits": { - "smithy.api#documentation": "

    Read-only, system generated Opportunity unique identifier.\n

    ", + "smithy.api#documentation": "

    Read-only, system generated Opportunity unique identifier.

    ", "smithy.api#required": {} } }, "LifeCycle": { "target": "com.amazonaws.partnercentralselling#LifeCycle", "traits": { - "smithy.api#documentation": "

    An object that contains lifecycle details for the Opportunity.\n

    " + "smithy.api#documentation": "

    An object that contains lifecycle details for the Opportunity.

    " } } }, @@ -8342,14 +11796,14 @@ "Id": { "target": "com.amazonaws.partnercentralselling#OpportunityIdentifier", "traits": { - "smithy.api#documentation": "

    Read-only, system generated Opportunity unique identifier.\n

    ", + "smithy.api#documentation": "

    Read-only, system generated Opportunity unique identifier.

    ", "smithy.api#required": {} } }, "LastModifiedDate": { "target": "com.amazonaws.partnercentralselling#DateTime", "traits": { - "smithy.api#documentation": "

    \n DateTime\n when the opportunity was last modified.\n

    ", + "smithy.api#documentation": "

    \n DateTime when the opportunity was last modified.

    ", "smithy.api#required": {} } } @@ -8376,19 +11830,19 @@ "Reason": { "target": "com.amazonaws.partnercentralselling#ValidationExceptionReason", "traits": { - "smithy.api#documentation": "

    \n The primary reason for this validation exception to occur.\n

    \n
      \n
    • \n

      \n REQUEST_VALIDATION_FAILED: The request format is not valid.

      \n

      Fix: Verify your request payload includes all required fields, uses correct data types and string formats.\n

      \n
    • \n
    • \n

      \n BUSINESS_VALIDATION_FAILED: The requested change doesn't pass the business validation rules.

      \n

      Fix: Check that your change aligns with the business rules defined by AWS Partner Central.\n

      \n
    • \n
    ", + "smithy.api#documentation": "

    The primary reason for this validation exception to occur.

    \n
      \n
    • \n

      \n REQUEST_VALIDATION_FAILED: The request format is not\n valid.

      \n

      Fix: Verify your request payload includes all required fields, uses correct\n data types and string formats.

      \n
    • \n
    • \n

      \n BUSINESS_VALIDATION_FAILED: The requested change doesn't\n pass the business validation rules.

      \n

      Fix: Check that your change aligns with the business rules defined by AWS\n Partner Central.

      \n
    • \n
    ", "smithy.api#required": {} } }, "ErrorList": { "target": "com.amazonaws.partnercentralselling#ValidationExceptionErrorList", "traits": { - "smithy.api#documentation": "

    A list of issues that were discovered in the submitted request or the resource state.\n

    " + "smithy.api#documentation": "

    A list of issues that were discovered in the submitted request or the resource\n state.

    " } } }, "traits": { - "smithy.api#documentation": "

    The input fails to satisfy the constraints specified by the service or business validation rules.\n

    \n

    Suggested action: Review the error message, including the failed fields and reasons, to correct the request payload.\n

    ", + "smithy.api#documentation": "

    The input fails to satisfy the constraints specified by the service or business\n validation rules.

    \n

    Suggested action: Review the error message, including the failed fields and reasons,\n to correct the request payload.

    ", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -8418,7 +11872,7 @@ } }, "traits": { - "smithy.api#documentation": "

    \n Indicates an invalid value for a field.\n

    \n
      \n
    • \n

      \n REQUIRED_FIELD_MISSING: The request is missing a required field.

      \n

      Fix: Verify your request payload includes all required fields.\n

      \n
    • \n
    • \n

      \n INVALID_ENUM_VALUE: The enum field value isn't an accepted values.

      \n

      Fix: Check the documentation for the list of valid enum values, and update your request with a valid value.\n

      \n
    • \n
    • \n

      \n INVALID_STRING_FORMAT: The string format is invalid.

      \n

      Fix: Confirm that the string is in the expected format (For example: email address, date).\n

      \n
    • \n
    • \n

      \n INVALID_VALUE: The value isn't valid.

      \n

      Fix: Confirm that the value meets the expected criteria and is within the allowable range or set.\n

      \n
    • \n
    • \n

      \n TOO_MANY_VALUES: There are too many values in a field that expects fewer entries.

      \n

      Fix: Reduce the number of values to match the expected limit.\n

      \n
    • \n
    • \n

      \n ACTION_NOT_PERMITTED: The action isn't permitted due to current state or permissions.

      \n

      Fix: Verify that the action is appropriate for the current state, and that you have the necessary permissions to perform it.\n

      \n
    • \n
    • \n

      \n DUPLICATE_KEY_VALUE: The value in a field duplicates a value that must be unique.

      \n

      Fix: Verify that the value is unique and doesn't duplicate an existing value in the system.\n

      \n
    • \n
    " + "smithy.api#documentation": "

    Indicates an invalid value for a field.

    \n
      \n
    • \n

      \n REQUIRED_FIELD_MISSING: The request is missing a required\n field.

      \n

      Fix: Verify your request payload includes all required fields.

      \n
    • \n
    • \n

      \n INVALID_ENUM_VALUE: The enum field value isn't an\n accepted values.

      \n

      Fix: Check the documentation for the list of valid enum values, and update\n your request with a valid value.

      \n
    • \n
    • \n

      \n INVALID_STRING_FORMAT: The string format is\n invalid.

      \n

      Fix: Confirm that the string is in the expected format (For example: email\n address, date).

      \n
    • \n
    • \n

      \n INVALID_VALUE: The value isn't valid.

      \n

      Fix: Confirm that the value meets the expected criteria and is within the\n allowable range or set.

      \n
    • \n
    • \n

      \n TOO_MANY_VALUES: There are too many values in a field\n that expects fewer entries.

      \n

      Fix: Reduce the number of values to match the expected limit.

      \n
    • \n
    • \n

      \n ACTION_NOT_PERMITTED: The action isn't permitted due to\n current state or permissions.

      \n

      Fix: Verify that the action is appropriate for the current state, and that you\n have the necessary permissions to perform it.

      \n
    • \n
    • \n

      \n DUPLICATE_KEY_VALUE: The value in a field duplicates a\n value that must be unique.

      \n

      Fix: Verify that the value is unique and doesn't duplicate an existing value\n in the system.

      \n
    • \n
    " } }, "com.amazonaws.partnercentralselling#ValidationExceptionErrorCode": {