Module Smaws_Client_PartnerCentralSelling.Types

type nonrec website_url = string
type nonrec visibility =
  1. | LIMITED
  2. | FULL
type nonrec validation_exception_reason =
  1. | BUSINESS_VALIDATION_FAILED
  2. | REQUEST_VALIDATION_FAILED
type nonrec validation_exception_error_code =
  1. | ACTION_NOT_PERMITTED
  2. | VALUE_OUT_OF_RANGE
  3. | DUPLICATE_KEY_VALUE
  4. | INVALID_RESOURCE_STATE
  5. | TOO_MANY_VALUES
  6. | NOT_ENOUGH_VALUES
  7. | INVALID_VALUE
  8. | INVALID_STRING_FORMAT
  9. | INVALID_ENUM_VALUE
  10. | REQUIRED_FIELD_MISSING
type nonrec validation_exception_error = {
  1. code : validation_exception_error_code;
    (*

    Specifies the error code for the invalid field value.

    *)
  2. message : Smaws_Lib.Smithy_api.Types.string_;
    (*

    Specifies the detailed error message for the invalid field value.

    *)
  3. field_name : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Specifies the field name with the invalid value.

    *)
}

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.

  • NOT_ENOUGH_VALUES: There are not enough values in a field that expects more entries.

    Fix: Increase the number of values to match the expected threshold.

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

type nonrec validation_exception_error_list = validation_exception_error list
type nonrec validation_exception = {
  1. error_list : validation_exception_error_list option;
    (*

    A list of issues that were discovered in the submitted request or the resource state.

    *)
  2. reason : validation_exception_reason;
    (*

    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.

    *)
  3. message : Smaws_Lib.Smithy_api.Types.string_;
}

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.

type nonrec use_cases = Smaws_Lib.Smithy_api.Types.string_ list
type nonrec opportunity_identifier = string
type nonrec date_time = Smaws_Lib.CoreTypes.Timestamp.t
type nonrec update_opportunity_response = {
  1. last_modified_date : date_time;
    (*

    DateTime when the opportunity was last modified.

    *)
  2. id : opportunity_identifier;
    (*

    Read-only, system generated Opportunity unique identifier.

    *)
}
type nonrec catalog_identifier = string
type nonrec primary_need_from_aws =
  1. | CO_SELL_SUPPORT_FOR_PUBLIC_TENDER_RFX
  2. | CO_SELL_DEAL_SUPPORT
  3. | CO_SELL_TOTAL_COST_OF_OWNERSHIP_EVALUATION
  4. | CO_SELL_TECHNICAL_CONSULTATION
  5. | CO_SELL_PRICING_ASSISTANCE
  6. | CO_SELL_COMPETITIVE_INFORMATION
  7. | CO_SELL_BUSINESS_PRESENTATION
  8. | CO_SELL_ARCHITECTURAL_VALIDATION
type nonrec primary_needs_from_aws = primary_need_from_aws list
type nonrec national_security =
  1. | NO
  2. | YES
type nonrec industry =
  1. | OTHER
  2. | WHOLESALE_DISTRIBUTION
  3. | TRAVEL
  4. | TRANSPORTATION_LOGISTICS
  5. | TELECOMMUNICATIONS
  6. | SOFTWARE_INTERNET
  7. | RETAIL
  8. | REALESTATE_CONSTRUCTION
  9. | PROFESSIONAL_SERVICES
  10. | NON_PROFIT_ORGANIZATION
  11. | MINING
  12. | MEDIA_ENTERTAINMENT
  13. | MARKETING_ADVERTISING
  14. | MANUFACTURING
  15. | LIFE_SCIENCES
  16. | HOSPITALITY
  17. | HEALTHCARE
  18. | GOVERNMENT
  19. | GAMING
  20. | FINANCIAL_SERVICES
  21. | ENERGY_POWER_UTILITIES
  22. | ENERGY_OIL_GAS
  23. | EDUCATION
  24. | CONSUMER_GOODS
  25. | COMPUTERS_ELECTRONICS
  26. | AUTOMOTIVE
  27. | AGRICULTURE
  28. | AEROSPACE_SATELLITE
type nonrec name = string
type nonrec aws_account = string
type nonrec address_part = string
type nonrec country_code =
  1. | ZW
  2. | ZM
  3. | YE
  4. | EH
  5. | WF
  6. | VI
  7. | VG
  8. | VN
  9. | VE
  10. | VU
  11. | UZ
  12. | UY
  13. | UM
  14. | GB
  15. | AE
  16. | UA
  17. | UG
  18. | TV
  19. | TC
  20. | TM
  21. | TR
  22. | TN
  23. | TT
  24. | TO
  25. | TK
  26. | TG
  27. | TL
  28. | TH
  29. | TZ
  30. | TJ
  31. | TW
  32. | SY
  33. | CH
  34. | SE
  35. | SZ
  36. | SJ
  37. | SR
  38. | SD
  39. | LK
  40. | ES
  41. | SS
  42. | GS
  43. | ZA
  44. | SO
  45. | SB
  46. | SI
  47. | SK
  48. | SX
  49. | SG
  50. | SL
  51. | SC
  52. | RS
  53. | SN
  54. | SA
  55. | ST
  56. | SM
  57. | WS
  58. | VC
  59. | PM
  60. | MF
  61. | LC
  62. | KN
  63. | SH
  64. | BL
  65. | RW
  66. | RU
  67. | RO
  68. | RE
  69. | QA
  70. | PR
  71. | PT
  72. | PL
  73. | PN
  74. | PH
  75. | PE
  76. | PY
  77. | PG
  78. | PA
  79. | PS
  80. | PW
  81. | PK
  82. | OM
  83. | NO
  84. | MP
  85. | NF
  86. | NU
  87. | NG
  88. | NE
  89. | NI
  90. | NZ
  91. | NC
  92. | AN
  93. | NL
  94. | NP
  95. | NR
  96. | NA
  97. | MM
  98. | MZ
  99. | MA
  100. | MS
  101. | ME
  102. | MN
  103. | MC
  104. | MD
  105. | FM
  106. | MX
  107. | YT
  108. | MU
  109. | MR
  110. | MQ
  111. | MH
  112. | MT
  113. | ML
  114. | MV
  115. | MY
  116. | MW
  117. | MG
  118. | MK
  119. | MO
  120. | LU
  121. | LT
  122. | LI
  123. | LY
  124. | LR
  125. | LS
  126. | LB
  127. | LV
  128. | LA
  129. | KG
  130. | KW
  131. | KR
  132. | KI
  133. | KE
  134. | KZ
  135. | JO
  136. | JE
  137. | JP
  138. | JM
  139. | IT
  140. | IL
  141. | IM
  142. | IE
  143. | IQ
  144. | IR
  145. | ID
  146. | IN
  147. | IS
  148. | HU
  149. | HK
  150. | HN
  151. | VA
  152. | HM
  153. | HT
  154. | GY
  155. | GW
  156. | GN
  157. | GG
  158. | GT
  159. | GU
  160. | GP
  161. | GD
  162. | GL
  163. | GR
  164. | GI
  165. | GH
  166. | DE
  167. | GE
  168. | GM
  169. | GA
  170. | TF
  171. | PF
  172. | GF
  173. | FR
  174. | FI
  175. | FJ
  176. | FO
  177. | FK
  178. | ET
  179. | EE
  180. | ER
  181. | GQ
  182. | SV
  183. | EG
  184. | EC
  185. | DO
  186. | DM
  187. | DJ
  188. | DK
  189. | CD
  190. | CZ
  191. | CY
  192. | CW
  193. | CU
  194. | HR
  195. | CI
  196. | CR
  197. | CK
  198. | CG
  199. | KM
  200. | CO
  201. | CC
  202. | CX
  203. | CN
  204. | CL
  205. | TD
  206. | CF
  207. | KY
  208. | CV
  209. | CA
  210. | CM
  211. | KH
  212. | BI
  213. | BF
  214. | BG
  215. | BN
  216. | IO
  217. | BR
  218. | BV
  219. | BW
  220. | BA
  221. | BQ
  222. | BO
  223. | BT
  224. | BM
  225. | BJ
  226. | BZ
  227. | BE
  228. | BY
  229. | BB
  230. | BD
  231. | BH
  232. | BS
  233. | AZ
  234. | AT
  235. | AU
  236. | AW
  237. | AM
  238. | AR
  239. | AG
  240. | AQ
  241. | AI
  242. | AO
  243. | AD
  244. | AS
  245. | DZ
  246. | AL
  247. | AX
  248. | AF
  249. | US
type nonrec address = {
  1. street_address : address_part option;
    (*

    Specifies the end Customer's street address associated with the Opportunity.

    *)
  2. country_code : country_code option;
    (*

    Specifies the end Customer's country associated with the Opportunity.

    *)
  3. state_or_region : address_part option;
    (*

    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

    *)
  4. postal_code : address_part option;
    (*

    Specifies the end Customer's postal code associated with the Opportunity.

    *)
  5. city : address_part option;
    (*

    Specifies the end Customer's city associated with the Opportunity.

    *)
}

Specifies the end Customer's address details associated with the Opportunity.

type nonrec duns_number = string
type nonrec account = {
  1. duns : duns_number option;
    (*

    Indicates the Customer DUNS number, if available.

    *)
  2. address : address option;
    (*

    Specifies the end Customer's address details associated with the Opportunity.

    *)
  3. aws_account_id : aws_account option;
    (*

    Specifies the Customer Amazon Web Services account ID associated with the Opportunity.

    *)
  4. website_url : website_url option;
    (*

    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.

    *)
  5. company_name : name;
    (*

    Specifies the end Customer's company name associated with the Opportunity.

    *)
  6. other_industry : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Specifies the end Customer's industry associated with the Opportunity, when the selected value in the Industry field is Other.

    *)
  7. industry : industry option;
    (*

    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 Customer's account details associated with the Opportunity.

type nonrec email = string
type nonrec job_title = string
type nonrec phone_number = string
type nonrec contact = {
  1. phone : phone_number option;
    (*

    The contact's phone number associated with the Opportunity.

    *)
  2. business_title : job_title option;
    (*

    The partner contact's title (job title or role) associated with the Opportunity. BusinessTitle supports either PartnerAccountManager or OpportunityOwner.

    *)
  3. last_name : name option;
    (*

    The contact's last name associated with the Opportunity.

    *)
  4. first_name : name option;
    (*

    The contact's first name associated with the Opportunity.

    *)
  5. email : email option;
    (*

    The contact's email address associated with the Opportunity.

    *)
}

An object that contains a Customer Partner's contact details.

type nonrec customer_contacts_list = contact list
type nonrec customer = {
  1. contacts : customer_contacts_list option;
    (*

    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.

    *)
  2. account : account option;
    (*

    An object that contains the customer's account details.

    *)
}

An object that contains the customer's Account and Contact.

type nonrec delivery_model =
  1. | OTHER
  2. | RESELL
  3. | PROFESSIONAL_SERVICES
  4. | MANAGED_SERVICES
  5. | BYOL_OR_AMI
  6. | SAAS_OR_PAAS
type nonrec delivery_models = delivery_model list
type nonrec amount = string
type nonrec currency_code =
  1. | ZWL
  2. | ZMW
  3. | ZAR
  4. | YER
  5. | XUA
  6. | XSU
  7. | XPF
  8. | XOF
  9. | XDR
  10. | XCD
  11. | XAF
  12. | WST
  13. | VUV
  14. | VND
  15. | VEF
  16. | UZS
  17. | UYU
  18. | UYI
  19. | USN
  20. | UGX
  21. | UAH
  22. | TZS
  23. | TWD
  24. | TTD
  25. | TRY
  26. | TOP
  27. | TND
  28. | TMT
  29. | TJS
  30. | THB
  31. | SZL
  32. | SYP
  33. | SVC
  34. | STN
  35. | SSP
  36. | SRD
  37. | SOS
  38. | SLL
  39. | SHP
  40. | SGD
  41. | SDG
  42. | SCR
  43. | SBD
  44. | SAR
  45. | RWF
  46. | RUB
  47. | RSD
  48. | RON
  49. | QAR
  50. | PYG
  51. | PLN
  52. | PKR
  53. | PHP
  54. | PGK
  55. | PEN
  56. | PAB
  57. | OMR
  58. | NPR
  59. | NOK
  60. | NIO
  61. | NGN
  62. | NAD
  63. | MZN
  64. | MYR
  65. | MXV
  66. | MXN
  67. | MWK
  68. | MVR
  69. | MUR
  70. | MRU
  71. | MOP
  72. | MNT
  73. | MMK
  74. | MKD
  75. | MGA
  76. | MDL
  77. | MAD
  78. | LYD
  79. | LSL
  80. | LRD
  81. | LKR
  82. | LBP
  83. | LAK
  84. | KZT
  85. | KYD
  86. | KWD
  87. | KRW
  88. | KPW
  89. | KMF
  90. | KHR
  91. | KGS
  92. | KES
  93. | JOD
  94. | JMD
  95. | ISK
  96. | IRR
  97. | IQD
  98. | ILS
  99. | IDR
  100. | HUF
  101. | HTG
  102. | HRK
  103. | HNL
  104. | HKD
  105. | GYD
  106. | GTQ
  107. | GNF
  108. | GMD
  109. | GIP
  110. | GHS
  111. | GEL
  112. | FKP
  113. | FJD
  114. | ETB
  115. | ERN
  116. | EGP
  117. | DZD
  118. | DOP
  119. | DKK
  120. | DJF
  121. | CZK
  122. | CVE
  123. | CUP
  124. | CUC
  125. | CRC
  126. | COU
  127. | COP
  128. | CLP
  129. | CLF
  130. | CHW
  131. | CHE
  132. | CDF
  133. | BZD
  134. | BYN
  135. | BWP
  136. | BTN
  137. | BSD
  138. | BRL
  139. | BOV
  140. | BOB
  141. | BND
  142. | BMD
  143. | BIF
  144. | BHD
  145. | BGN
  146. | BDT
  147. | BBD
  148. | BAM
  149. | AZN
  150. | AWG
  151. | ARS
  152. | AOA
  153. | ANG
  154. | AMD
  155. | ALL
  156. | AFN
  157. | AED
  158. | SEK
  159. | CHF
  160. | JPY
  161. | INR
  162. | NZD
  163. | CNY
  164. | CAD
  165. | AUD
  166. | GBP
  167. | EUR
  168. | USD
type nonrec payment_frequency =
  1. | MONTHLY
type nonrec estimation_url = string
type nonrec expected_customer_spend = {
  1. estimation_url : estimation_url option;
    (*

    A URL providing additional information or context about the spend estimation.

    *)
  2. target_company : Smaws_Lib.Smithy_api.Types.string_;
    (*

    Specifies the entity associated with this spend entry. Use AWS for the system’s AWS Monthly Recurring Revenue (MRR) estimate. Use Self for the partner’s own deal value entry when providing Total Contract Value (TCV) for automatic MRR conversion. When ExpectedContractDuration is present on the Project, only AWS and Self are accepted. When ExpectedContractDuration is not present, only AWS is accepted and any other value will be automatically set to AWS.

    *)
  3. frequency : payment_frequency;
    (*

    Indicates how frequently the customer is expected to spend the projected amount. Use Monthly for recurring monthly spend (required for TargetCompany: "AWS" entries). Use None for one-time deal value entries (required for TargetCompany: "Self" entries when providing Total Contract Value).

    *)
  4. currency_code : currency_code;
    (*

    Indicates the currency in which the revenue estimate is provided. This helps in understanding the financial impact across different markets. Accepted values are USD (US Dollars) and EUR (Euros). If the AWS Partition is aws-eusc (AWS European Sovereign Cloud), the currency code must be EUR.

    *)
  5. amount : amount option;
    (*

    Represents the estimated monthly revenue that the partner expects to earn from the opportunity. This helps in forecasting financial returns.

    *)
}

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.

type nonrec expected_customer_spend_list = expected_customer_spend list
type nonrec expected_contract_duration_term =
  1. | MONTHS

The unit of measurement for the contract duration value. Currently accepts only Months.

type nonrec expected_contract_duration = {
  1. value : Smaws_Lib.Smithy_api.Types.string_;
    (*

    A String representation of the contract duration as an integer, expressed in the unit defined by Term. Valid values range from 1 to 144.

    *)
  2. term : expected_contract_duration_term;
    (*

    The unit of measurement for the contract duration value. Currently accepts only Months.

    *)
}

The expected duration of a partner's contract with the customer. Used to convert Total Contract Value (TCV) to Monthly Recurring Revenue (MRR) for opportunity dealsizing calculations.

type nonrec pii_string = string
type nonrec apn_programs = Smaws_Lib.Smithy_api.Types.string_ list
type nonrec sales_activity =
  1. | SOW_SIGNED
  2. | FINALIZED_DEPLOYMENT_NEEDS
  3. | COMPLETED_ACTION_PLAN
  4. | AGREED_ON_SOLUTION_TO_BUSINESS_PROBLEM
  5. | IN_EVALUATION_PLANNING_STAGE
  6. | CONDUCTED_POC_DEMO
  7. | CUSTOMER_HAS_SHOWN_INTEREST
  8. | INITIALIZED_DISCUSSIONS_WITH_CUSTOMER
type nonrec sales_activities = sales_activity list
type nonrec competitor_name =
  1. | OTHER
  2. | NO_COMPETITION
  3. | OTHER_COST_OPTIMIZATION
  4. | MICROSOFT_AZURE
  5. | IBM_SOFTLAYER
  6. | GOOGLE_CLOUD_PLATFORM
  7. | ALICLOUD
  8. | AKAMAI
  9. | CO_LOCATION
  10. | ON_PREM
  11. | ORACLE_CLOUD
type nonrec aws_partition =
  1. | AWS_EUSC
type nonrec project = {
  1. aws_partition : aws_partition option;
    (*

    AWS partition where the opportunity will be deployed. Possible values: aws-eusc for AWS European Sovereign Cloud, null for all other partitions.

    *)
  2. additional_comments : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Captures additional comments or information for the Opportunity that weren't captured in other fields.

    *)
  3. other_solution_description : pii_string option;
    (*

    Specifies the offered solution for the customer's business problem when the RelatedEntityIdentifiers.Solutions field value is Other.

    *)
  4. other_competitor_names : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Only allowed when CompetitorNames has Other selected.

    *)
  5. competitor_name : competitor_name option;
    (*

    Name of the Opportunity's competitor (if any). Use Other to submit a value not in the picklist.

    *)
  6. sales_activities : sales_activities option;
    (*

    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.
    *)
  7. related_opportunity_identifier : opportunity_identifier option;
    (*

    Specifies the current opportunity's parent opportunity identifier.

    *)
  8. customer_use_case : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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

    *)
  9. customer_business_problem : pii_string option;
    (*

    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.

    *)
  10. apn_programs : apn_programs option;
    (*

    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

    *)
  11. title : pii_string option;
    (*

    Specifies the Opportunity's title or name.

    *)
  12. expected_contract_duration : expected_contract_duration option;
    (*

    Optional. The expected duration of the contract associated with this opportunity. Partners use this value alongside expected customer spend to convert Total Contract Value (TCV) into Monthly Recurring Revenue (MRR).

    *)
  13. expected_customer_spend : expected_customer_spend_list option;
    (*

    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.

    *)
  14. delivery_models : delivery_models option;
    (*

    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 object that contains the Opportunity's project details.

type nonrec opportunity_type =
  1. | EXPANSION
  2. | FLAT_RENEWAL
  3. | NET_NEW_BUSINESS
type nonrec marketing_source =
  1. | NONE
  2. | MARKETING_ACTIVITY
type nonrec channel =
  1. | VIRTUAL_EVENT
  2. | VIDEO
  3. | TV
  4. | TELEMARKETING
  5. | SOCIAL
  6. | SEARCH
  7. | PRINT
  8. | OUT_OF_HOME
  9. | LIVE_EVENT
  10. | EMAIL
  11. | DISPLAY
  12. | CONTENT_SYNDICATION
  13. | AWS_MARKETING_CENTRAL
type nonrec channels = channel list
type nonrec aws_funding_used =
  1. | NO
  2. | YES
type nonrec marketing = {
  1. aws_funding_used : aws_funding_used option;
    (*

    Indicates if the Opportunity is a marketing development fund (MDF) funded activity.

    *)
  2. channels : channels option;
    (*

    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.

    *)
  3. use_cases : use_cases option;
    (*

    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

    *)
  4. source : marketing_source option;
    (*

    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.

    *)
  5. campaign_name : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
}

An object that contains marketing details for the Opportunity.

type nonrec revenue_model =
  1. | SUBSCRIPTION
  2. | PAY_AS_YOU_GO
  3. | CONTRACT
type nonrec monetary_value = {
  1. currency_code : currency_code;
    (*

    Specifies the payment currency. Accepted values are USD (US Dollars) and EUR (Euros). If the AWS Partition is aws-eusc (AWS European Sovereign Cloud), the currency code must be EUR.

    *)
  2. amount : Smaws_Lib.Smithy_api.Types.string_;
    (*

    Specifies the payment amount.

    *)
}

Specifies payments details.

type nonrec date = string
type nonrec software_revenue = {
  1. expiration_date : date option;
    (*

    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.

    *)
  2. effective_date : date option;
    (*

    Specifies the Opportunity's customer engagement start date for the contract's effectiveness.

    *)
  3. value : monetary_value option;
    (*

    Specifies the payment value (amount and currency).

    *)
  4. delivery_model : revenue_model option;
    (*

    Specifies the customer's intended payment type agreement or procurement method to acquire the solution or service outlined in the Opportunity.

    *)
}

Specifies a customer's procurement terms details. Required only for partners in eligible programs.

type nonrec stage =
  1. | CLOSED_LOST
  2. | LAUNCHED
  3. | COMMITTED
  4. | BUSINESS_VALIDATION
  5. | TECHNICAL_VALIDATION
  6. | QUALIFIED
  7. | PROSPECT
type nonrec closed_lost_reason =
  1. | FINANCIALCOMMERCIAL
  2. | PRODUCTTECHNOLOGY
  3. | PEOPLERELATIONSHIPGOVERNANCE
  4. | OTHER
  5. | CUSTOMER_EXPERIENCE
  6. | TECHNICAL_LIMITATIONS
  7. | SECURITY_COMPLIANCE
  8. | PRICE
  9. | PARTNER_GAP
  10. | ON_PREMISES_DEPLOYMENT
  11. | NO_OPPORTUNITY
  12. | LOST_TO_COMPETITOR_OTHER
  13. | LOST_TO_COMPETITOR_VMWARE
  14. | LOST_TO_COMPETITOR_SOFTLAYER
  15. | LOST_TO_COMPETITOR_MICROSOFT
  16. | LOST_TO_COMPETITOR_GOOGLE
  17. | LEGAL_TAX_REGULATORY
  18. | DELAY_CANCELLATION_OF_PROJECT
  19. | CUSTOMER_DEFICIENCY
type nonrec review_status =
  1. | ACTION_REQUIRED
  2. | REJECTED
  3. | APPROVED
  4. | IN_REVIEW
  5. | SUBMITTED
  6. | PENDING_SUBMISSION
type nonrec next_steps_history = {
  1. time : date_time;
    (*

    Indicates the step execution time.

    *)
  2. value : Smaws_Lib.Smithy_api.Types.string_;
    (*

    Indicates the step's execution details.

    *)
}

Read-only; shows the last 50 values and change dates for the NextSteps field.

type nonrec next_steps_histories = next_steps_history list
type nonrec life_cycle = {
  1. next_steps_history : next_steps_histories option;
    (*

    Captures a chronological record of the next steps or actions planned or taken for the current opportunity, along with the timestamp.

    *)
  2. review_status_reason : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Code indicating the validation decision during the Amazon Web Services opportunity review. Applies when status is Rejected or Action Required. Used to document validation results for AWS Partner Referrals and indicate when additional information is needed from partners as part of the APN Customer Engagement (ACE) program.

    *)
  3. review_comments : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Contains detailed feedback from Amazon Web Services when requesting additional information from partners. Provides specific guidance on what partners need to provide or clarify for opportunity validation, complementing the ReviewStatusReason field.

    *)
  4. review_status : review_status option;
    (*

    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).
    *)
  5. target_close_date : date option;
    (*

    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.

    *)
  6. next_steps : pii_string option;
    (*

    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.

    *)
  7. closed_lost_reason : closed_lost_reason option;
    (*

    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.
    *)
  8. stage : stage option;
    (*

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

An object that contains the Opportunity lifecycle's details.

type nonrec update_opportunity_request = {
  1. life_cycle : life_cycle option;
    (*

    An object that contains lifecycle details for the Opportunity.

    *)
  2. identifier : opportunity_identifier;
    (*

    Read-only, system generated Opportunity unique identifier.

    *)
  3. last_modified_date : date_time;
    (*

    DateTime when the opportunity was last modified.

    *)
  4. software_revenue : software_revenue option;
    (*

    Specifies details of a customer's procurement terms. Required only for partners in eligible programs.

    *)
  5. marketing : marketing option;
    (*

    An object that contains marketing details for the Opportunity.

    *)
  6. opportunity_type : opportunity_type option;
    (*

    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.
    *)
  7. project : project option;
    (*

    An object that contains project details summary for the Opportunity.

    *)
  8. customer : customer option;
    (*

    Specifies details of the customer associated with the Opportunity.

    *)
  9. partner_opportunity_identifier : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  10. national_security : national_security option;
    (*

    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.

    *)
  11. primary_needs_from_aws : primary_needs_from_aws option;
    (*

    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.
    *)
  12. catalog : catalog_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.

    *)
}
type nonrec throttling_exception = {
  1. message : Smaws_Lib.Smithy_api.Types.string_ option;
}

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.

type nonrec resource_not_found_exception = {
  1. message : Smaws_Lib.Smithy_api.Types.string_ option;
}

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.

type nonrec internal_server_exception = {
  1. message : Smaws_Lib.Smithy_api.Types.string_ option;
}

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.

type nonrec conflict_exception = {
  1. message : Smaws_Lib.Smithy_api.Types.string_ option;
}

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.

type nonrec access_denied_exception_error_code =
  1. | INCOMPATIBLE_BENEFIT_AWS_PARTNER_STATE
type nonrec access_denied_exception = {
  1. reason : access_denied_exception_error_code option;
    (*

    The reason why access was denied for the requested operation.

    *)
  2. message : Smaws_Lib.Smithy_api.Types.string_ option;
}

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.

type nonrec lead_qualification_status = string
type nonrec company_name = string
type nonrec company_website_url = string
type nonrec address_summary = {
  1. country_code : country_code option;
    (*

    Specifies the end Customer's country associated with the Opportunity.

    *)
  2. state_or_region : address_part option;
    (*

    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

    *)
  3. postal_code : address_part option;
    (*

    Specifies the end Customer's postal code associated with the Opportunity.

    *)
  4. city : address_part option;
    (*

    Specifies the end Customer's city associated with the Opportunity.

    *)
}

An object that contains an Address object's subset of fields.

type nonrec aws_maturity = string
type nonrec market_segment =
  1. | MICRO
  2. | SMALL
  3. | MEDIUM
  4. | LARGE
  5. | ENTERPRISE
type nonrec lead_customer = {
  1. market_segment : market_segment option;
    (*

    Specifies the market segment classification of the lead customer, such as enterprise, mid-market, or small business. This segmentation helps in targeting appropriate solutions and engagement strategies.

    *)
  2. aws_maturity : aws_maturity option;
    (*

    Indicates the customer's level of experience and adoption with AWS services. This assessment helps determine the appropriate engagement approach and solution complexity.

    *)
  3. address : address_summary;
  4. website_url : company_website_url option;
    (*

    The website URL of the lead customer's company. This provides additional context about the customer organization and helps verify company legitimacy and size.

    *)
  5. company_name : company_name;
    (*

    The name of the lead customer's company. This field is essential for identifying and tracking the customer organization associated with the lead.

    *)
  6. industry : industry option;
    (*

    Specifies the industry sector to which the lead customer's company belongs. This categorization helps in understanding the customer's business context and tailoring appropriate solutions.

    *)
}

Contains detailed information about the customer associated with the lead, including company details, industry classification, and AWS maturity level. This information helps qualify and categorize the lead for appropriate engagement strategies.

type nonrec lead_source_type = string
type nonrec lead_source_id = string
type nonrec lead_source_name = string
type nonrec engagement_use_case = string
type nonrec customer_action = string
type nonrec engagement_customer_business_problem = string
type nonrec lead_contact = {
  1. phone : phone_number option;
    (*

    The lead contact's phone number associated with the engagement.

    *)
  2. last_name : name;
    (*

    The lead contact's last name associated with the engagement.

    *)
  3. first_name : name;
    (*

    The lead contact's first name associated with the engagement.

    *)
  4. email : email;
    (*

    The lead contact's email address associated with the engagement.

    *)
  5. business_title : job_title;
    (*

    The lead contact's business title or job role associated with the engagement.

    *)
}

An object that contains a lead contact's details associated with the engagement. This provides contact information for individuals involved in lead-related activities.

type nonrec lead_interaction = {
  1. contact : lead_contact;
    (*

    Contains contact information for the customer representative involved in the lead interaction, including their name, title, and contact details.

    *)
  2. business_problem : engagement_customer_business_problem option;
    (*

    Describes the business problem or challenge that the customer discussed during the interaction. This information helps qualify the lead and identify appropriate solutions.

    *)
  3. customer_action : customer_action;
    (*

    Describes the action taken by the customer during or as a result of the interaction, such as requesting information, scheduling a meeting, or expressing interest in a solution.

    *)
  4. interaction_date : date_time option;
    (*

    The date and time when the lead interaction occurred, in ISO 8601 format (UTC). This timestamp helps track the chronology of lead engagement activities.

    *)
  5. usecase : engagement_use_case option;
    (*

    Describes the specific use case or business scenario discussed during the lead interaction. This helps categorize the customer's interests and potential solutions.

    *)
  6. source_name : lead_source_name;
    (*

    The descriptive name of the source that generated the lead interaction, providing a human-readable identifier for the lead generation channel or activity.

    *)
  7. source_id : lead_source_id;
    (*

    The unique identifier of the specific source that generated the lead interaction. This ID provides traceability back to the original lead generation activity.

    *)
  8. source_type : lead_source_type;
    (*

    Specifies the type of source that generated the lead interaction, such as "Event", "Website", "Referral", or "Campaign". This categorization helps track lead generation effectiveness across different channels.

    *)
}

Represents a specific interaction or touchpoint with a lead customer. This structure captures details about communications, meetings, or other engagement activities that help track the lead's progression and engagement history.

type nonrec lead_insights = {
  1. lead_readiness_score : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A score that indicates the lead's readiness for engagement. Valid values are Low, Medium, and High. Use this score to prioritize leads based on their likelihood of conversion.

    *)
}

Contains insights that AI generates for a lead. These insights provide automated analysis to help partners evaluate the lead quality and prioritize engagement efforts.

type nonrec update_lead_context = {
  1. insights : lead_insights option;
    (*

    Insights that AI generates and associates with the lead. These insights provide automated analysis to help partners assess the lead quality and readiness.

    *)
  2. interaction : lead_interaction option;
    (*

    Updated interaction details for the lead context.

    *)
  3. customer : lead_customer;
    (*

    Updated customer information associated with the lead.

    *)
  4. qualification_status : lead_qualification_status option;
    (*

    The updated qualification status of the lead.

    *)
}

Updates the context information for a lead with qualification status, customer details, and interaction data.

type nonrec engagement_identifier = string
type nonrec engagement_arn = string
type nonrec engagement_context_identifier = string
type nonrec update_engagement_context_response = {
  1. context_id : engagement_context_identifier;
    (*

    The unique identifier of the engagement context that was updated.

    *)
  2. engagement_last_modified_at : date_time;
    (*

    The timestamp when the engagement context was last modified.

    *)
  3. engagement_arn : engagement_arn;
    (*

    The Amazon Resource Name (ARN) of the updated engagement.

    *)
  4. engagement_id : engagement_identifier;
    (*

    The unique identifier of the engagement that was updated.

    *)
}
type nonrec engagement_arn_or_identifier = string
type nonrec engagement_context_type =
  1. | PROSPECTING_RESULT
  2. | LEAD
  3. | CUSTOMER_PROJECT
type nonrec engagement_customer = {
  1. country_code : country_code;
    (*

    Indicates the country in which the customer’s company operates. This field is useful for understanding regional requirements or compliance needs.

    *)
  2. website_url : company_website_url;
    (*

    Provides the website URL of the customer’s company. This field helps partners verify the legitimacy and size of the customer organization.

    *)
  3. company_name : company_name;
    (*

    Represents the name of the customer’s company associated with the Engagement Invitation. This field is used to identify the customer.

    *)
  4. industry : industry;
    (*

    Specifies the industry to which the customer’s company belongs. This field helps categorize the opportunity based on the customer’s business sector.

    *)
}

Contains details about the customer associated with the Engagement Invitation, including company information and industry.

type nonrec engagement_customer_project_title = string
type nonrec engagement_customer_project_details = {
  1. target_completion_date : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The target completion date for the customer's project.

    *)
  2. business_problem : engagement_customer_business_problem;
    (*

    A description of the business problem the project aims to solve.

    *)
  3. title : engagement_customer_project_title;
    (*

    The title of the project.

    *)
}

Provides comprehensive details about a customer project associated with an Engagement. This may include information such as project goals, timelines, and specific customer requirements.

type nonrec customer_projects_context = {
  1. project : engagement_customer_project_details option;
    (*

    Information about the customer project associated with the Engagement.

    *)
  2. customer : engagement_customer option;
}

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.

type nonrec prospecting_task_identifier = string
type nonrec task_arn = string
type nonrec task_name = string
type nonrec prospecting_account_name = string
type nonrec prospecting_geo = string
type nonrec prospecting_region = string
type nonrec prospecting_sub_region = string
type nonrec prospecting_sub_industry = string
type nonrec prospecting_segment = string
type nonrec prospecting_company_size = string
type nonrec eligible_programs_list = Smaws_Lib.Smithy_api.Types.string_ list
type nonrec prospecting_public_profile_summary = string
type nonrec prospecting_result_customer = {
  1. public_profile_summary : prospecting_public_profile_summary option;
    (*

    A summary of publicly available information about the prospected customer. The system uses this summary to generate customer insights and inform engagement strategies.

    *)
  2. eligible_programs : eligible_programs_list option;
    (*

    A list of AWS Greenfield programs that the prospected customer is eligible for. Use this list to identify relevant go-to-market opportunities.

    *)
  3. company_size : prospecting_company_size option;
    (*

    The company size classification of the prospected customer account.

    *)
  4. segment : prospecting_segment option;
    (*

    The market segment classification of the prospected customer account.

    *)
  5. sub_industry : prospecting_sub_industry option;
    (*

    The sub-industry classification of the prospected customer account. This provides more granular categorization within the primary industry.

    *)
  6. industry : industry option;
    (*

    The industry classification of the prospected customer account.

    *)
  7. country : country_code option;
    (*

    The country code of the prospected customer account.

    *)
  8. sub_region : prospecting_sub_region option;
    (*

    The subregion classification of the prospected customer account.

    *)
  9. region : prospecting_region option;
    (*

    The specific region of the prospected customer account.

    *)
  10. geo : prospecting_geo option;
    (*

    The geographic region classification of the prospected customer account.

    *)
  11. account_name : prospecting_account_name option;
    (*

    The name of the prospected customer account.

    *)
}

Contains detailed information about the prospected customer account, including company identifiers, geographic classification, industry segmentation, and program eligibility.

type nonrec engagement_score_level = string
type nonrec prospecting_insights = {
  1. solution_sub_category : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The solution sub-category classification for the prospected customer. This provides more granular categorization of the recommended solution type.

    *)
  2. solution_category : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The primary solution category classification for the prospected customer. This indicates the type of solution that best addresses their needs.

    *)
  3. solution_score : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A score that indicates how well the partner's solution fits the prospected customer's needs.

    *)
  4. marketplace_engagement_score : engagement_score_level option;
    (*

    A score that indicates the prospected customer's level of engagement with AWS Marketplace. Valid values are High, Medium, and Low.

    *)
}

Contains insights that AI generates from the prospecting analysis. These insights include marketplace engagement scoring, solution fit assessments, and solution categorization for the prospected customer.

type nonrec prospecting_result_aws = {
  1. insights : prospecting_insights option;
    (*

    Insights that AI generates from the prospecting analysis. These insights include engagement scores and solution fit assessments for the prospected customer.

    *)
  2. customer : prospecting_result_customer option;
    (*

    Contains details about the prospected customer account, including geographic, industry, and segment classifications.

    *)
  3. task_name : task_name option;
    (*

    The name that the user provides for the prospecting task that generates this result.

    *)
  4. task_arn : task_arn option;
    (*

    The Amazon Resource Name (ARN) of the prospecting task. Use this ARN to track and manage the task within AWS.

    *)
  5. task_id : prospecting_task_identifier option;
    (*

    The unique identifier of the prospecting task that generates this result.

    *)
  6. end_time : date_time option;
    (*

    The timestamp when the prospecting task completed processing. The format is ISO 8601 (UTC).

    *)
  7. start_time : date_time option;
    (*

    The timestamp when the prospecting result context was created. The format is ISO 8601 (UTC).

    *)
}

Contains the prospecting data that AWS sources. This includes task execution details, customer account information, and insights that AI generates from the prospecting analysis.

type nonrec prospecting_result = {
  1. aws : prospecting_result_aws option;
    (*

    Prospecting data and insights that AWS provides during the prospecting job. This includes customer details, task information, and scoring that AI generates.

    *)
}

Contains the results of an autonomous prospecting job. This includes data and insights that AWS provides about a prospected customer account.

type nonrec update_engagement_context_payload =
  1. | ProspectingResult of prospecting_result
    (*

    Contains updated prospecting result data when the context type is "ProspectingResult". This field includes enriched data and insights that the system generates when a partner runs an autonomous prospecting job on leads.

    *)
  2. | CustomerProject of customer_projects_context
  3. | Lead of update_lead_context
    (*

    Contains updated information about a lead when the context type is "Lead". This field is present only when updating a lead context within the engagement.

    *)

Represents the updated payload of an engagement context. The structure of this payload varies based on the context type being updated.

type nonrec update_engagement_context_request = {
  1. payload : update_engagement_context_payload;
    (*

    Contains the updated contextual information for the engagement. The structure of this payload varies based on the context type specified in the Type field.

    *)
  2. type_ : engagement_context_type;
    (*

    Specifies the type of context being updated within the engagement. This field determines the structure and content of the context payload being modified.

    *)
  3. engagement_last_modified_at : date_time;
    (*

    The timestamp when the engagement was last modified, used for optimistic concurrency control. This helps prevent conflicts when multiple users attempt to update the same engagement simultaneously.

    *)
  4. context_identifier : engagement_context_identifier;
    (*

    The unique identifier of the specific engagement context to be updated. This ensures that the correct context within the engagement is modified.

    *)
  5. engagement_identifier : engagement_arn_or_identifier;
    (*

    The unique identifier of the Engagement containing the context to be updated. This parameter ensures the context update is applied to the correct engagement.

    *)
  6. catalog : catalog_identifier;
    (*

    Specifies the catalog associated with the engagement context update request. This field takes a string value from a predefined list: AWS or Sandbox. The catalog determines which environment the engagement context is updated in.

    *)
}
type nonrec service_quota_exceeded_exception = {
  1. message : Smaws_Lib.Smithy_api.Types.string_ option;
}

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.

type nonrec untag_resource_response = unit
type nonrec taggable_resource_arn = string
type nonrec tag_key = string
type nonrec tag_key_list = tag_key list
type nonrec untag_resource_request = {
  1. tag_keys : tag_key_list;
    (*

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

    *)
  2. resource_arn : taggable_resource_arn;
    (*

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

    *)
}
type nonrec task_status =
  1. | FAILED
  2. | COMPLETE
  3. | IN_PROGRESS
type nonrec task_statuses = task_status list
type nonrec task_name_list = task_name list
type nonrec task_arn_or_identifier = string
type nonrec task_identifiers = task_arn_or_identifier list
type nonrec task_identifier_list = prospecting_task_identifier list
type nonrec task_identifier = string
type nonrec target_close_date_filter = {
  1. before_target_close_date : date option;
    (*

    Filters opportunities with a target close date before this date. Use the YYYY-MM-DD format.

    *)
  2. after_target_close_date : date option;
    (*

    Filters opportunities with a target close date after this date. Use the YYYY-MM-DD format.

    *)
}

Filters opportunities based on their target close date.

type nonrec tag_value = string
type nonrec tag_resource_response = unit
type nonrec tag = {
  1. value : tag_value;
    (*

    The value in the tag.

    *)
  2. key : tag_key;
    (*

    The key in the tag.

    *)
}

The key-value pair assigned to a specified resource.

type nonrec tag_list = tag list
type nonrec tag_resource_request = {
  1. tags : tag_list;
    (*

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

    *)
  2. resource_arn : taggable_resource_arn;
    (*

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

    *)
}
type nonrec sales_involvement_type =
  1. | CO_SELL
  2. | FOR_VISIBILITY_ONLY
type nonrec submit_opportunity_request = {
  1. visibility : visibility option;
    (*

    Determines whether to restrict visibility of the opportunity from AWS sales. Default value is Full. Valid values:

    • Full: The opportunity is fully visible to AWS sales.
    • Limited: The opportunity has restricted visibility to AWS sales.
    *)
  2. involvement_type : sales_involvement_type;
    (*

    Specifies the level of AWS sellers' involvement on the opportunity. Valid values:

    • Co-sell: Indicates the user wants to co-sell with AWS. Share the opportunity with AWS to receive deal assistance and support.
    • For Visibility Only: Indicates that the user does not need support from AWS Sales Rep. Share this opportunity with AWS for visibility only, you will not receive deal assistance and support.
    *)
  3. identifier : opportunity_identifier;
    (*

    The identifier of the Opportunity previously created by partner and needs to be submitted.

    *)
  4. catalog : catalog_identifier;
    (*

    Specifies the catalog related to the request. Valid values are:

    • AWS: Submits the opportunity request from the production AWS environment.
    • Sandbox: Submits the opportunity request from a sandbox environment used for testing or development purposes.
    *)
}
type nonrec string_list = Smaws_Lib.Smithy_api.Types.string_ list
type nonrec resource_snapshot_job_identifier = string
type nonrec stop_resource_snapshot_job_request = {
  1. resource_snapshot_job_identifier : resource_snapshot_job_identifier;
    (*

    The identifier of the job to stop.

    *)
  2. catalog : catalog_identifier;
    (*

    Specifies the catalog related to the request. Valid values are:

    • AWS: Stops the request from the production AWS environment.
    • Sandbox: Stops the request from a sandbox environment used for testing or development purposes.
    *)
}
type nonrec start_resource_snapshot_job_request = {
  1. resource_snapshot_job_identifier : resource_snapshot_job_identifier;
    (*

    The identifier of the resource snapshot job to start.

    *)
  2. catalog : catalog_identifier;
    (*

    Specifies the catalog related to the request. Valid values are:

    • AWS: Starts the request from the production AWS environment.
    • Sandbox: Starts the request from a sandbox environment used for testing or development purposes.
    *)
}
type nonrec engagement_identifier_list = engagement_identifier list
type nonrec prospecting_task_arn = string
type nonrec prospecting_task_status =
  1. | FAILED
  2. | COMPLETED
  3. | IN_PROGRESS
  4. | PENDING

The current execution state of a prospecting task. A task transitions from PENDING to IN_PROGRESS when processing begins, and then to either COMPLETED or FAILED when processing ends.

type nonrec start_prospecting_from_engagement_task_response = {
  1. task_status : prospecting_task_status;
    (*

    The current status of the task. Possible values: PENDING (waiting to run), IN_PROGRESS (actively processing), COMPLETED (successfully processed), and FAILED (unrecoverable error).

    *)
  2. task_arn : prospecting_task_arn option;
    (*

    The Amazon Resource Name (ARN) of the task. The ARN uniquely identifies the task across AWS and can be used for resource-level IAM policies.

    *)
  3. task_id : prospecting_task_identifier option;
    (*

    The unique identifier assigned to this task. Use this identifier with GetProspectingFromEngagementTask to retrieve task details and check status.

    *)
  4. start_time : date_time;
    (*

    The timestamp indicating when the task was initiated. The format follows ISO 8601 date-time notation.

    *)
  5. reason_code : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    An enumerated code identifying the reason for task failure. This field is only populated when the task has failed. Use the corresponding Message field for a human-readable description of the failure.

    *)
  6. message : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A message providing additional context about the task's current state. When the task fails, this field contains a detailed description of the failure and suggested recovery steps. This field is only populated for tasks in a failed state.

    *)
  7. task_name : task_name;
    (*

    The task name from the request.

    *)
  8. identifiers : engagement_identifier_list;
    (*

    The list of engagement identifiers that were accepted into the task queue for processing. This list matches the identifiers provided in the request.

    *)
}

Represents the response structure returned when a prospecting task is successfully submitted. Contains the task identifier, ARN, and initial status. Uses TaskId with GetProspectingFromEngagementTask to poll for completion.

type nonrec client_token = string
type nonrec start_prospecting_from_engagement_task_request = {
  1. client_token : client_token;
    (*

    A unique, case-sensitive identifier provided by the client to ensure idempotency. Making the same request with the same ClientToken returns the same response without creating a duplicate task.

    *)
  2. task_name : task_name;
    (*

    A descriptive name for the task. This name helps identify the task in list and get operations. The name must contain 1 to 128 characters.

    *)
  3. identifiers : engagement_identifier_list;
    (*

    The list of engagement identifiers to include in this prospecting task. Each identifier must correspond to an existing engagement in the specified catalog. Maximum of 100 identifiers per task.

    *)
  4. catalog : catalog_identifier;
    (*

    Specifies the catalog in which the task is initiated. Specify AWS for production environments and Sandbox for testing and development purposes.

    *)
}

Represents the request structure for starting a prospecting task. Includes up to 100 engagement identifiers and a task name. Uses ClientToken to ensure idempotency.

type nonrec reason_code =
  1. | DISQUALIFIED_LEAD_NOT_PERMITTED
  2. | CUSTOMER_PROJECT_CONTEXT_NOT_PERMITTED
  3. | CONTEXT_NOT_FOUND
  4. | REQUEST_THROTTLED
  5. | SERVICE_QUOTA_EXCEEDED
  6. | RESOURCE_SNAPSHOT_CONFLICT
  7. | RESOURCE_SNAPSHOT_VALIDATION_FAILED
  8. | RESOURCE_SNAPSHOT_ACCESS_DENIED
  9. | OPPORTUNITY_CONFLICT
  10. | OPPORTUNITY_VALIDATION_FAILED
  11. | INTERNAL_ERROR
  12. | ENGAGEMENT_INVITATION_CONFLICT
  13. | OPPORTUNITY_SUBMISSION_FAILED
  14. | ENGAGEMENT_CONFLICT
  15. | ENGAGEMENT_VALIDATION_FAILED
  16. | RESOURCE_SNAPSHOT_JOB_CONFLICT
  17. | RESOURCE_SNAPSHOT_JOB_VALIDATION_FAILED
  18. | RESOURCE_SNAPSHOT_JOB_ACCESS_DENIED
  19. | OPPORTUNITY_ACCESS_DENIED
  20. | ENGAGEMENT_ACCESS_DENIED
  21. | INVITATION_VALIDATION_FAILED
  22. | INVITATION_ACCESS_DENIED
type nonrec context_identifier = string
type nonrec start_opportunity_from_engagement_task_response = {
  1. context_id : context_identifier option;
    (*

    The unique identifier of the engagement context used to create the opportunity.

    *)
  2. engagement_id : engagement_identifier option;
    (*

    The unique identifier of the engagement from which the opportunity was created.

    *)
  3. resource_snapshot_job_id : resource_snapshot_job_identifier option;
    (*

    The identifier of the resource snapshot job created as part of the opportunity creation process.

    *)
  4. opportunity_id : opportunity_identifier option;
    (*

    The unique identifier of the opportunity created as a result of the task. This field is populated when the task is completed successfully.

    *)
  5. reason_code : reason_code option;
    (*

    Indicates the reason for task failure using an enumerated code.

    *)
  6. message : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

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

    *)
  7. task_status : task_status option;
    (*

    Indicates the current status of the task.

    *)
  8. start_time : date_time option;
    (*

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

    *)
  9. task_arn : task_arn option;
    (*

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

    *)
  10. task_id : task_identifier option;
    (*

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

    *)
}
type nonrec start_opportunity_from_engagement_task_request = {
  1. tags : tag_list option;
    (*

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

    *)
  2. context_identifier : context_identifier;
    (*

    The unique identifier of the engagement context from which to create the opportunity. This specifies the specific contextual information within the engagement that will be used for opportunity creation.

    *)
  3. identifier : engagement_arn_or_identifier;
    (*

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

    *)
  4. client_token : client_token;
    (*

    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.

    *)
  5. catalog : catalog_identifier;
    (*

    Specifies the catalog in which the opportunity creation task is executed. Acceptable values include AWS for production and Sandbox for testing environments.

    *)
}
type nonrec engagement_invitation_identifier = string
type nonrec start_engagement_from_opportunity_task_response = {
  1. engagement_invitation_id : engagement_invitation_identifier option;
    (*

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

    *)
  2. engagement_id : engagement_identifier option;
    (*

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

    *)
  3. resource_snapshot_job_id : resource_snapshot_job_identifier option;
    (*

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

    *)
  4. opportunity_id : opportunity_identifier option;
    (*

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

    *)
  5. reason_code : reason_code option;
    (*

    Indicates the reason for task failure using an enumerated code.

    *)
  6. message : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

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

    *)
  7. task_status : task_status option;
    (*

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

    *)
  8. start_time : date_time option;
    (*

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

    *)
  9. task_arn : task_arn option;
    (*

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

    *)
  10. task_id : task_identifier option;
    (*

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

    *)
}
type nonrec aws_submission = {
  1. visibility : visibility option;
    (*

    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.

    *)
  2. involvement_type : sales_involvement_type;
    (*

    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.

    *)
}

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.

type nonrec start_engagement_from_opportunity_task_request = {
  1. tags : tag_list option;
    (*

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

    *)
  2. aws_submission : aws_submission;
  3. identifier : opportunity_identifier;
    (*

    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.

    *)
  4. client_token : client_token;
    (*

    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.

    *)
  5. catalog : catalog_identifier;
    (*

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

    *)
}
type nonrec start_engagement_by_accepting_invitation_task_response = {
  1. engagement_invitation_id : engagement_invitation_identifier option;
    (*

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

    *)
  2. resource_snapshot_job_id : resource_snapshot_job_identifier option;
    (*

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

    *)
  3. opportunity_id : opportunity_identifier option;
    (*

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

    *)
  4. reason_code : reason_code option;
    (*

    Indicates the reason for task failure using an enumerated code.

    *)
  5. message : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

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

    *)
  6. task_status : task_status option;
    (*

    Indicates the current status of the task.

    *)
  7. start_time : date_time option;
    (*

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

    *)
  8. task_arn : task_arn option;
    (*

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

    *)
  9. task_id : task_identifier option;
    (*

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

    *)
}
type nonrec engagement_invitation_arn_or_identifier = string
type nonrec start_engagement_by_accepting_invitation_task_request = {
  1. tags : tag_list option;
    (*

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

    *)
  2. identifier : engagement_invitation_arn_or_identifier;
    (*

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

    *)
  3. client_token : client_token;
    (*

    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.

    *)
  4. catalog : catalog_identifier;
    (*

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

    *)
}
type nonrec sort_order =
  1. | DESCENDING
  2. | ASCENDING
type nonrec sort_by =
  1. | CREATED_DATE
type nonrec sort_object = {
  1. sort_order : sort_order option;
    (*

    Determines the order in which the sorted results are presented.

    *)
  2. sort_by : sort_by option;
    (*

    Specifies the field by which to sort the resource snapshot jobs.

    *)
}

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.

type nonrec solution_status =
  1. | DRAFT
  2. | INACTIVE
  3. | ACTIVE
type nonrec solution_sort_name =
  1. | CREATEDDATE
  2. | CATEGORY
  3. | STATUS
  4. | NAME
  5. | IDENTIFIER
type nonrec solution_sort = {
  1. sort_by : solution_sort_name;
    (*

    Specifies the attribute to sort by, such as Name, CreatedDate, or Status.

    *)
  2. sort_order : sort_order;
    (*

    Specifies the sorting order, either Ascending or Descending. The default is Descending.

    *)
}

Configures the solutions' response sorting that enables partners to order solutions based on specified attributes.

type nonrec solution_identifier = string
type nonrec solution_arn = string
type nonrec aws_marketplace_solution_arn = string
type nonrec solution_base = {
  1. aws_marketplace_solution_arn : aws_marketplace_solution_arn option;
    (*

    The Amazon Resource Name (ARN) of the AWS Marketplace solution associated with this partner solution.

    *)
  2. created_date : date_time;
    (*

    Indicates the solution creation date. This is useful to track and audit.

    *)
  3. category : Smaws_Lib.Smithy_api.Types.string_;
    (*

    Specifies the solution category, which helps to categorize and organize the solutions partners offer. Valid values: Software Product | Consulting Service | Hardware Product | Communications Product | Professional Service | Managed Service | Value-Added Resale Amazon Web Services Service | Distribution Service | Training Service | Merger and Acquisition Advising Service.

    *)
  4. status : solution_status;
    (*

    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.

    *)
  5. name : Smaws_Lib.Smithy_api.Types.string_;
    (*

    Specifies the solution name.

    *)
  6. arn : solution_arn option;
    (*

    The SolutionBase structure provides essential information about a solution.

    *)
  7. id : solution_identifier;
    (*

    Enables the association of solutions (offerings) to opportunities.

    *)
  8. catalog : catalog_identifier;
    (*

    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 minimal information for the solution offered to solve the customer's business problem.

type nonrec solution_list = solution_base list
type nonrec solution_identifiers = solution_identifier list
type nonrec solution = Smaws_Lib.CoreTypes.Resource.t
type nonrec sender_contact_email = string
type nonrec sender_contact = {
  1. phone : phone_number option;
    (*

    The sender-provided contact's phone number associated with the EngagementInvitation.

    *)
  2. business_title : job_title option;
    (*

    The sender-provided contact's title (job title or role) associated with the EngagementInvitation.

    *)
  3. last_name : name option;
    (*

    The sender-provided contact's first name associated with the EngagementInvitation.

    *)
  4. first_name : name option;
    (*

    The sender-provided contact's last name associated with the EngagementInvitation.

    *)
  5. email : sender_contact_email;
    (*

    The sender-provided contact's email address associated with the EngagementInvitation.

    *)
}

An object that contains the details of the sender-provided contact person for the EngagementInvitation.

type nonrec sender_contact_list = sender_contact list
type nonrec resource_type =
  1. | OPPORTUNITY
type nonrec resource_template_name = string
type nonrec resource_snapshot_arn = string
type nonrec resource_snapshot_revision = int
type nonrec resource_identifier = string
type nonrec resource_snapshot_summary = {
  1. created_by : aws_account option;
    (*

    The AWS account ID of the entity that owns the resource from which the snapshot was created.

    *)
  2. resource_snapshot_template_name : resource_template_name option;
    (*

    The name of the template used to create the snapshot.

    *)
  3. resource_id : resource_identifier option;
    (*

    The identifier of the specific resource snapshotted. The format might vary depending on the ResourceType.

    *)
  4. resource_type : resource_type option;
    (*

    The type of resource snapshotted.

    *)
  5. revision : resource_snapshot_revision option;
    (*

    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.

    *)
  6. arn : resource_snapshot_arn option;
    (*

    The Amazon Resource Name (ARN) of the snapshot. This globally unique identifier can be used for cross-service references and in IAM policies.

    *)
}

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.

type nonrec resource_snapshot_summary_list = resource_snapshot_summary list
type nonrec life_cycle_for_view = {
  1. next_steps : pii_string option;
    (*

    Describes the next steps for the opportunity shared through a snapshot.

    *)
  2. stage : stage option;
    (*

    Defines the current stage of the opportunity shared through a snapshot.

    *)
  3. review_status : review_status option;
    (*

    Defines the approval status of the opportunity shared through a snapshot.

    *)
  4. target_close_date : date option;
    (*

    The projected launch date of the opportunity shared through a snapshot.

    *)
}

Provides the lifecycle view of an opportunity resource shared through a snapshot.

type nonrec partner_opportunity_team_members_list = contact list
type nonrec project_view = {
  1. other_solution_description : pii_string option;
    (*

    Offers a description of other solutions if the standard solutions do not adequately cover the project's scope.

    *)
  2. sales_activities : sales_activities option;
    (*

    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.

    *)
  3. customer_use_case : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Specifies the proposed solution focus or type of workload for the project.

    *)
  4. expected_contract_duration : expected_contract_duration option;
    (*

    Optional. The expected contract duration for this opportunity, representing the anticipated length of the contract in the unit specified by Term.

    *)
  5. expected_customer_spend : expected_customer_spend_list option;
    (*

    Provides information about the anticipated customer spend related to this project. This may include details such as amount, frequency, and currency of expected expenditure.

    *)
  6. delivery_models : delivery_models option;
    (*

    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.

    *)
}

Provides the project view of an opportunity resource shared through a snapshot.

type nonrec aws_marketplace_offer_identifier = string
type nonrec aws_marketplace_offer_identifiers = aws_marketplace_offer_identifier list
type nonrec aws_marketplace_offer_set_identifier = string
type nonrec aws_marketplace_offer_set_identifiers = aws_marketplace_offer_set_identifier list
type nonrec aws_product_identifier = string
type nonrec aws_product_identifiers = aws_product_identifier list
type nonrec aws_marketplace_solution_identifier = string
type nonrec aws_marketplace_solution_identifiers = aws_marketplace_solution_identifier list
type nonrec aws_marketplace_product_arn = string
type nonrec aws_marketplace_product_identifiers = aws_marketplace_product_arn list

This field provides the associations' information for other entities with the opportunity. These entities include identifiers for AWSProducts, Partner Solutions, and AWSMarketplaceOffers.

type nonrec opportunity_summary_view = {
  1. related_entity_identifiers : related_entity_identifiers option;
  2. project : project_view option;
    (*

    Contains summary information about the project associated with the opportunity, including project name, description, timeline, and other relevant details.

    *)
  3. customer : customer option;
  4. primary_needs_from_aws : primary_needs_from_aws option;
    (*

    Identifies the type of support the partner needs from AWS.

    *)
  5. opportunity_team : partner_opportunity_team_members_list option;
    (*

    Represents the internal team handling the opportunity. Specify the members involved in collaborating on an opportunity within the partner's organization.

    *)
  6. lifecycle : life_cycle_for_view option;
    (*

    Contains information about the opportunity's lifecycle, including its current stage, status, and important dates such as creation and last modification times.

    *)
  7. opportunity_type : opportunity_type option;
    (*

    Specifies the opportunity type.

    *)
}

Provides a comprehensive view of an opportunity summary, including lifecycle information, team details, opportunity type, primary needs from AWS, and associated project information.

type nonrec opportunity_origin =
  1. | PARTNER_REFERRAL
  2. | AWS_REFERRAL
type nonrec aws_closed_lost_reason =
  1. | TERM_SHEET_IMPASSE
  2. | TECHNICAL_LIMITATIONS
  3. | SELF_SERVICE
  4. | SECURITY_COMPLIANCE
  5. | PRODUCT_NOT_ON_AWS
  6. | PRODUCT_TECHNOLOGY
  7. | PRICE
  8. | PREFERENCE_FOR_COMPETITOR
  9. | PLATFORM_TECHNOLOGY_LIMITATION
  10. | PEOPLE_RELATIONSHIP_GOVERNANCE
  11. | PAST_DUE
  12. | PARTNER_GAP
  13. | OTHER_DETAILS_IN_DESCRIPTION
  14. | OTHER
  15. | ON_PREMISES_DEPLOYMENT
  16. | NO_UPDATE
  17. | NOT_COMMITTED_TO_AWS
  18. | NO_RESPONSE
  19. | NO_PERCEIVED_VALUE_OF_MP
  20. | NO_OPPORTUNITY
  21. | NO_INTEGRATION_RESOURCES
  22. | NO_CUSTOMER_REFERENCE
  23. | LOST_TO_COMPETITOR_VMWARE
  24. | LOST_TO_COMPETITOR_SOFTLAYER
  25. | LOST_TO_COMPETITOR_RACKSPACE
  26. | LOST_TO_COMPETITOR_OTHER
  27. | LOST_TO_COMPETITOR_MICROSOFT
  28. | LOST_TO_COMPETITOR_GOOGLE
  29. | LOST_TO_COMPETITOR
  30. | LEGAL_TERMS_AND_CONDITIONS
  31. | LEGAL_TAX_REGULATORY
  32. | INTERNATIONAL_CONSTRAINTS
  33. | INSUFFICIENT_AWS_VALUE
  34. | INSUFFICIENT_AMAZON_VALUE
  35. | FINANCIAL_COMMERCIAL
  36. | FEATURE_LIMITATION
  37. | FAILED_VETTING
  38. | EXECUTIVE_BLOCKER
  39. | DUPLICATE_OPPORTUNITY
  40. | DUPLICATE
  41. | DELAY_CANCELLATION_OF_PROJECT
  42. | CUSTOMER_EXPERIENCE
  43. | CUSTOMER_DEFICIENCY
  44. | CUSTOMER_DATA_REQUIREMENT
  45. | COMPETITIVE_OFFERING
  46. | COMPANY_ACQUIRED_DISSOLVED
  47. | BUSINESS_ASSOCIATE_AGREEMENT
  48. | ADMINISTRATIVE
type nonrec aws_opportunity_stage =
  1. | CLOSED_INCOMPLETE
  2. | COMPLETED
  3. | CLOSED_LOST
  4. | DEFERRED_TO_PARTNER
  5. | LAUNCHED
  6. | COMMITTED
  7. | BUSINESS_VALIDATION
  8. | TECHNICAL_VALIDATION
  9. | ON_HOLD
  10. | QUALIFIED
  11. | BUILDING_INTEGRATION
  12. | ONBOARDING
  13. | CONTRACT_NEGOTIATION
  14. | TERM_SHEET_NEGOTIATION
  15. | SELLER_REGISTERED
  16. | EVALUATING
  17. | SELLER_ENGAGED
  18. | RESEARCH
  19. | QUALIFY
  20. | IDENTIFIED
  21. | ENGAGED
  22. | PROSPECT
  23. | IN_PROGRESS
  24. | NOT_STARTED
type nonrec profile_next_steps_history = {
  1. time : date_time;
    (*

    Indicates the date and time when a particular next step was recorded or planned. This helps in managing the timeline for the opportunity.

    *)
  2. value : Smaws_Lib.Smithy_api.Types.string_;
    (*

    Represents the details of the next step recorded, such as follow-up actions or decisions made. This field helps in tracking progress and ensuring alignment with project goals.

    *)
}

Tracks the history of next steps associated with the opportunity. This field captures the actions planned for the future and their timeline.

type nonrec profile_next_steps_histories = profile_next_steps_history list
type nonrec aws_opportunity_life_cycle = {
  1. next_steps_history : profile_next_steps_histories option;
    (*

    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.

    *)
  2. next_steps : pii_string option;
    (*

    Specifies the immediate next steps required to progress the opportunity. These steps are based on AWS guidance and the current stage of the opportunity.

    *)
  3. stage : aws_opportunity_stage option;
    (*

    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.

    *)
  4. closed_lost_reason : aws_closed_lost_reason option;
    (*

    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.

    *)
  5. target_close_date : date option;
    (*

    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.

    *)
}

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.

type nonrec aws_member_business_title =
  1. | ISVSM
  2. | PSM
  3. | PDM
  4. | WWPSPDM
  5. | AWS_ACCOUNT_OWNER
  6. | AWS_SALES_REP
type nonrec aws_team_member = {
  1. business_title : aws_member_business_title option;
    (*

    Specifies the Amazon Web Services team member's business title and indicates their organizational role.

    *)
  2. last_name : name option;
    (*

    Provides the Amazon Web Services team member's last name.

    *)
  3. first_name : name option;
    (*

    Provides the Amazon Web Services team member's first name.

    *)
  4. email : email option;
    (*

    Provides the Amazon Web Services team member's email address.

    *)
}

Represents an Amazon Web Services team member for the engagement. This structure includes details such as name, email, and business title.

type nonrec aws_opportunity_team_members_list = aws_team_member list
type nonrec engagement_score =
  1. | LOW
  2. | MEDIUM
  3. | HIGH
type nonrec monetary_amount = string
type nonrec amount_map = (Smaws_Lib.Smithy_api.Types.string_ * monetary_amount) list

Maps spend amounts to AWS programs and modernization pathways.

type nonrec aws_product_optimization = {
  1. savings_amount : monetary_amount;
    (*

    Quantified cost savings achievable by implementing this optimization.

    *)
  2. description : Smaws_Lib.Smithy_api.Types.string_;
    (*

    Human-readable explanation of the optimization strategy.

    *)
}

Specific optimization strategies partners can implement to reduce costs.

type nonrec aws_product_optimizations_list = aws_product_optimization list
type nonrec aws_product_details = {
  1. optimizations : aws_product_optimizations_list;
    (*

    List of specific optimization recommendations for this product.

    *)
  2. potential_savings_amount : monetary_amount option;
    (*

    Service-specific cost reduction through optimizations.

    *)
  3. optimized_amount : monetary_amount option;
    (*

    Service cost after applying optimizations.

    *)
  4. amount : monetary_amount option;
    (*

    Baseline service cost before optimizations.

    *)
  5. categories : string_list;
    (*

    List of program and pathway categories this product is eligible for.

    *)
  6. service_code : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Pricing Calculator service code.

    *)
  7. product_code : Smaws_Lib.Smithy_api.Types.string_;
    (*

    AWS Partner Central product identifier used for opportunity association.

    *)
}

List of AWS services with program eligibility indicators (MAP, modernization pathways), cost estimates, and optimization recommendations.

type nonrec aws_products_list = aws_product_details list
type nonrec aws_product_insights = {
  1. aws_products : aws_products_list;
    (*

    Product-level details including costs and optimization recommendations.

    *)
  2. total_amount_by_category : amount_map;
    (*

    Spend amounts mapped to AWS programs and modernization pathways.

    *)
  3. total_potential_savings_amount : monetary_amount option;
    (*

    Quantified savings achievable through implementing optimizations.

    *)
  4. total_optimized_amount : monetary_amount option;
    (*

    Total estimated spend after applying recommended optimizations.

    *)
  5. total_amount : monetary_amount option;
    (*

    Total estimated spend for this source before optimizations.

    *)
  6. frequency : payment_frequency;
    (*

    Time period for spend amounts.

    *)
  7. currency_code : currency_code;
    (*

    ISO 4217 currency code. Supported values are USD and EUR. Returns EUR when the opportunity is in the aws-eusc (AWS European Sovereign Cloud) partition.

    *)
}

Comprehensive spend analysis for a single source (AWS or Partner) including total amounts, optimization savings, program category breakdowns, and detailed product-level insights.

type nonrec aws_products_spend_insights_by_source = {
  1. aw_s : aws_product_insights option;
    (*

    AI-generated insights including recommended products from AWS.

    *)
  2. partner : aws_product_insights option;
    (*

    Partner-sourced insights derived from Pricing Calculator URLs.

    *)
}

Source-separated spend insights that provide independent analysis for AWS recommendations and partner estimates.

type nonrec opportunity_quality = {
  1. trend : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Direction of score change since last scoring iteration. Known values: Improving, Declining, No Change.

    *)
  2. score : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    Deal quality score based on opportunity content completeness and sales methodology criteria. Values range from 0 to 100.

    *)
}

Opportunity quality score and trend.

type nonrec recommendation_attribute_map = (Smaws_Lib.Smithy_api.Types.string_ * Smaws_Lib.Smithy_api.Types.string_) list
type nonrec recommendation = {
  1. attributes : recommendation_attribute_map option;
    (*

    Source-specific metadata as key-value pairs.

    *)
  2. details : Smaws_Lib.Smithy_api.Types.string_;
    (*

    Human-readable recommendation text from this source.

    *)
  3. type_ : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The recommendation source type. Known values: OpportunityQuality, SolutionRecommendation, SpecialistRecommendation.

    *)
}

A recommendation from an agent-driven source.

type nonrec recommendation_list = recommendation list
type nonrec aws_opportunity_insights = {
  1. recommendations : recommendation_list option;
    (*

    List of recommendations from various agent-driven sources.

    *)
  2. opportunity_quality : opportunity_quality option;
    (*

    Opportunity quality assessment. Null if not yet scored.

    *)
  3. aws_products_spend_insights_by_source : aws_products_spend_insights_by_source option;
    (*

    Source-separated spend insights that provide independent analysis for AWS recommendations and partner estimates.

    *)
  4. engagement_score : engagement_score option;
    (*

    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.

    *)
  5. next_best_actions : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Provides recommendations from AWS on the next best actions to take in order to move the opportunity forward and increase the likelihood of success.

    *)
}

Contains insights provided by AWS for the opportunity, offering recommendations and analysis that can help the partner optimize their engagement and strategy.

type nonrec involvement_type_change_reason =
  1. | RISK_MITIGATION
  2. | TECHNICAL_COMPLEXITY
  3. | CUSTOMER_REQUESTED
  4. | CHANGE_IN_DEAL_INFORMATION
  5. | EXPANSION_OPPORTUNITY

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.

type nonrec aws_opportunity_customer = {
  1. contacts : customer_contacts_list option;
    (*

    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.

    *)
}

Represents the customer associated with the AWS opportunity. This field captures key details about the customer that are necessary for managing the opportunity.

type nonrec aws_opportunity_project = {
  1. aws_partition : aws_partition option;
    (*

    AWS partition where the opportunity will be deployed. Possible values: aws-eusc for AWS European Sovereign Cloud, null for all other partitions.

    *)
  2. expected_customer_spend : expected_customer_spend_list option;
    (*

    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.

    *)
}

Captures details about the project associated with the opportunity, including objectives, scope, and customer requirements.

type nonrec aws_opportunity_summary_full_view = {
  1. cosell_motion : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Engagement classification for this opportunity. Read-only. Null before scoring. Known values: AWS Field-engaged, Agent-engaged, Partner-led.

    *)
  2. project : aws_opportunity_project option;
  3. customer : aws_opportunity_customer option;
  4. related_entity_ids : aws_opportunity_related_entities option;
  5. involvement_type_change_reason : involvement_type_change_reason option;
    (*

    Reason for changes in AWS involvement type for the opportunity.

    *)
  6. insights : aws_opportunity_insights option;
  7. opportunity_team : aws_opportunity_team_members_list option;
    (*

    AWS team members involved in the opportunity.

    *)
  8. life_cycle : aws_opportunity_life_cycle option;
  9. visibility : visibility option;
    (*

    Visibility level for the AWS opportunity.

    *)
  10. involvement_type : sales_involvement_type option;
    (*

    Type of AWS involvement in the opportunity.

    *)
  11. origin : opportunity_origin option;
    (*

    Source origin of the AWS opportunity.

    *)
  12. related_opportunity_id : opportunity_identifier option;
    (*

    Identifier of the related partner opportunity.

    *)
}

Provides a comprehensive view of AwsOpportunitySummaryFullView template.

type nonrec resource_snapshot_payload =
  1. | AwsOpportunitySummaryFullView of aws_opportunity_summary_full_view
    (*

    Provides a comprehensive view of AwsOpportunitySummaryFullView template.

    *)
  2. | OpportunitySummary of opportunity_summary_view
    (*

    An object that contains an opportunity's subset of fields.

    *)

Represents the payload of a resource snapshot. This structure is designed to accommodate different types of resource snapshots, currently supporting opportunity summaries.

type nonrec resource_snapshot_job_arn = string
type nonrec resource_snapshot_job_status =
  1. | STOPPED
  2. | RUNNING
type nonrec resource_snapshot_job_summary = {
  1. status : resource_snapshot_job_status option;
    (*

    The current status of the snapshot job.

    Valid values:

    • STOPPED: The job is not currently running.
    • RUNNING: The job is actively executing.
    *)
  2. engagement_id : engagement_identifier option;
    (*

    The unique identifier of the Engagement.

    *)
  3. arn : resource_snapshot_job_arn option;
    (*

    The Amazon Resource Name (ARN) for the resource snapshot job.

    *)
  4. id : resource_snapshot_job_identifier option;
    (*

    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.

    *)
}

An object that contains a Resource Snapshot Job's subset of fields.

type nonrec resource_snapshot_job_summary_list = resource_snapshot_job_summary list
type nonrec resource_snapshot_job_role_identifier = string
type nonrec resource_snapshot_job_role_arn = string
type nonrec resource_snapshot_job = Smaws_Lib.CoreTypes.Resource.t
type nonrec resource_snapshot = Smaws_Lib.CoreTypes.Resource.t
type nonrec resource_arn = string
type nonrec rejection_reason_string = string
type nonrec reject_engagement_invitation_request = {
  1. rejection_reason : rejection_reason_string option;
    (*

    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.
    *)
  2. identifier : engagement_invitation_arn_or_identifier;
    (*

    This is the unique identifier of the rejected EngagementInvitation. Providing the correct identifier helps to ensure that the intended invitation is rejected.

    *)
  3. catalog : catalog_identifier;
    (*

    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.

    *)
}
type nonrec receiver_responsibility =
  1. | FACILITATOR
  2. | CO_SELL_FACILITATOR
  3. | TRAINING_PARTNER
  4. | SERVICES_PARTNER
  5. | SOFTWARE_PARTNER
  6. | MANAGED_SERVICE_PROVIDER
  7. | HARDWARE_PARTNER
  8. | RESELLER
  9. | DISTRIBUTOR
type nonrec receiver_responsibility_list = receiver_responsibility list
type nonrec alias = string
type nonrec account_receiver = {
  1. aws_account_id : aws_account;
    (*

    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.

    *)
  2. alias : alias option;
    (*

    Represents the alias of the partner account receiving the Engagement Invitation, making it easier to identify and track the recipient in reports or logs.

    *)
}

Contains the account details of the partner who received the Engagement Invitation, including the AWS account ID and company name.

type nonrec receiver =
  1. | Account of account_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.

    *)

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.

type nonrec put_selling_system_settings_response = {
  1. resource_snapshot_job_role_arn : resource_snapshot_job_role_arn option;
    (*

    Specifies the ARN of the IAM Role used for resource snapshot job executions.

    *)
  2. catalog : catalog_identifier;
    (*

    Specifies the catalog in which the settings are defined. Acceptable values include AWS for production and Sandbox for testing environments.

    *)
}
type nonrec put_selling_system_settings_request = {
  1. resource_snapshot_job_role_identifier : resource_snapshot_job_role_identifier option;
    (*

    Specifies the ARN of the IAM Role used for resource snapshot job executions.

    *)
  2. catalog : catalog_identifier;
    (*

    Specifies the catalog in which the settings will be updated. Acceptable values include AWS for production and Sandbox for testing environments.

    *)
}
type nonrec prospecting_task_summary = {
  1. failed_engagement_count : Smaws_Lib.Smithy_api.Types.integer;
    (*

    The number of engagements that failed to be converted. Retrieve the full task details using GetProspectingFromEngagementTask for per-engagement error information.

    *)
  2. completed_engagement_count : Smaws_Lib.Smithy_api.Types.integer;
    (*

    The number of engagements that have been successfully converted into prospecting leads.

    *)
  3. total_engagement_count : Smaws_Lib.Smithy_api.Types.integer;
    (*

    The total number of engagements included in the task.

    *)
  4. end_time : date_time option;
    (*

    The timestamp indicating when the task finished processing. This field is absent if the task is still in progress. The format follows ISO 8601 date-time notation.

    *)
  5. start_time : date_time;
    (*

    The timestamp indicating when the task was initiated. The format follows ISO 8601 date-time notation.

    *)
  6. task_name : task_name;
    (*

    The descriptive name of the task provided when it was created.

    *)
  7. task_arn : prospecting_task_arn;
    (*

    The Amazon Resource Name (ARN) of the task.

    *)
  8. task_id : prospecting_task_identifier;
    (*

    The unique identifier of the task. Use this value with GetProspectingFromEngagementTask to retrieve full task details.

    *)
}

A summary of a single prospecting task, returned by ListProspectingFromEngagementTasks. Contains key metrics and status information without the full per-engagement detail available from GetProspectingFromEngagementTask.

type nonrec prospecting_task_summary_list = prospecting_task_summary list
type nonrec prospecting_from_engagement_task_sort_name =
  1. | FailedEngagementCount
  2. | TaskName
  3. | StartTime

The fields available for sorting results from ListProspectingFromEngagementTasks. Valid values are StartTime, TaskName, and FailedEngagementCount.

type nonrec prospecting_from_engagement_task_sort = {
  1. sort_by : prospecting_from_engagement_task_sort_name;
    (*

    The field by which to sort the returned tasks. Valid values: StartTime (task creation timestamp), TaskName (alphabetically by task name), and FailedEngagementCount (number of failed engagements).

    *)
  2. sort_order : sort_order;
    (*

    The direction in which to sort the results. Use ASCENDING to return the smallest or earliest values first, or DESCENDING to return the largest or most recent values first.

    *)
}

Specifies the sort configuration for ListProspectingFromEngagementTasks. Contains the field to sort by and the sort direction.

type nonrec prospecting_from_engagement_task = Smaws_Lib.CoreTypes.Resource.t
type nonrec project_summary = {
  1. expected_contract_duration : expected_contract_duration option;
    (*

    Optional. The expected contract duration for this opportunity, representing the anticipated length of the contract in the unit specified by Term.

    *)
  2. expected_customer_spend : expected_customer_spend_list option;
    (*

    Provides a summary of the expected customer spend for the project, offering a high-level view of the potential financial impact.

    *)
  3. delivery_models : delivery_models option;
    (*

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

An object that contains a Project object's subset of fields.

type nonrec project_details = {
  1. expected_customer_spend : expected_customer_spend_list;
    (*

    Contains revenue estimates for the partner related to the project. This field provides an idea of the financial potential of the opportunity for the partner.

    *)
  2. target_completion_date : date;
    (*

    Specifies the estimated date of project completion. This field helps track the project timeline and manage expectations.

    *)
  3. title : Smaws_Lib.Smithy_api.Types.string_;
    (*

    Specifies the title of the project. This title helps partners quickly identify and understand the focus of the project.

    *)
  4. business_problem : engagement_customer_business_problem;
    (*

    Describes the business problem that the project aims to solve. This information is crucial for understanding the project’s goals and objectives.

    *)
}

Contains details about the project associated with the Engagement Invitation, including the business problem and expected outcomes.

type nonrec opportunity_invitation_payload = {
  1. project : project_details;
    (*

    Describes the project details associated with the opportunity, including the customer’s needs and the scope of work expected to be performed.

    *)
  2. customer : engagement_customer;
    (*

    Contains information about the customer related to the opportunity in the Engagement Invitation. This data helps partners understand the customer’s profile and requirements.

    *)
  3. receiver_responsibilities : receiver_responsibility_list;
    (*

    Outlines the responsibilities or expectations of the receiver in the context of the invitation.

    *)
  4. sender_contacts : sender_contact_list option;
    (*

    Represents the contact details of the AWS representatives involved in sending the Engagement Invitation. These contacts are opportunity stakeholders.

    *)
}

Represents the data payload of an Engagement Invitation for a specific opportunity. This contains detailed information that partners use to evaluate the engagement.

type nonrec lead_invitation_customer = {
  1. market_segment : market_segment option;
    (*

    Specifies the market segment classification of the customer, such as enterprise, mid-market, or small business. This segmentation helps partners determine the appropriate solution complexity and engagement strategy.

    *)
  2. aws_maturity : aws_maturity option;
    (*

    Indicates the customer's level of experience and adoption with AWS services. This assessment helps partners understand the customer's cloud maturity and tailor their engagement approach accordingly.

    *)
  3. country_code : country_code;
    (*

    The country code indicating the geographic location of the customer company. This information helps partners understand regional requirements and assess their ability to serve the customer effectively.

    *)
  4. website_url : company_website_url option;
    (*

    The website URL of the customer company. This provides additional context about the customer organization and helps partners verify company details and assess business size and legitimacy.

    *)
  5. company_name : company_name;
    (*

    The name of the customer company associated with the lead invitation. This field identifies the target organization for the lead engagement opportunity.

    *)
  6. industry : industry option;
    (*

    Specifies the industry sector of the customer company associated with the lead invitation. This categorization helps partners understand the customer's business context and assess solution fit.

    *)
}

Contains customer information included in a lead invitation payload. This structure provides essential details about the customer to help partners evaluate the lead opportunity and determine their interest in engagement.

type nonrec lead_invitation_interaction = {
  1. contact_business_title : job_title;
    (*

    The business title or job role of the customer contact involved in the lead interaction. This helps partners identify the decision-making level and engagement approach for the lead.

    *)
  2. usecase : engagement_use_case option;
    (*

    Describes the specific use case or business scenario associated with the lead interaction. This information helps partners understand the customer's interests and potential solution requirements.

    *)
  3. source_name : lead_source_name;
    (*

    The descriptive name of the source that generated the lead interaction. This human-readable identifier helps partners understand the specific lead generation channel or campaign that created the opportunity.

    *)
  4. source_id : lead_source_id;
    (*

    The unique identifier of the specific source that generated the lead interaction. This provides traceability to the original lead generation activity for reference and follow-up purposes.

    *)
  5. source_type : lead_source_type;
    (*

    Specifies the type of source that generated the lead interaction, such as "Event", "Website", or "Campaign". This helps partners understand the lead generation channel and assess lead quality based on the source type.

    *)
}

Represents interaction details included in a lead invitation payload. This structure provides context about how the lead was generated and the customer's engagement history to help partners assess the opportunity quality.

type nonrec lead_invitation_payload = {
  1. interaction : lead_invitation_interaction;
    (*

    Describes the interaction details associated with the lead, including the source of the lead generation and customer engagement information. This context helps partners evaluate the lead quality and engagement approach.

    *)
  2. customer : lead_invitation_customer;
    (*

    Contains information about the customer associated with the lead invitation. This data helps partners understand the customer's profile, industry, and business context to assess the lead opportunity.

    *)
}

Represents the data payload of an engagement invitation for a lead opportunity. This contains detailed information about the customer and interaction history that partners use to evaluate whether to accept the lead engagement invitation.

type nonrec payload =
  1. | LeadInvitation of lead_invitation_payload
    (*

    Specifies the details of the lead invitation within the Engagement Invitation payload. This data helps partners understand the lead context, customer information, and interaction history for the lead opportunity from AWS.

    *)
  2. | OpportunityInvitation of opportunity_invitation_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.

    *)

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.

type nonrec participant_type =
  1. | RECEIVER
  2. | SENDER
type nonrec page_size = int
type nonrec opportunity_arn = string
type nonrec life_cycle_summary = {
  1. review_status_reason : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  2. review_comments : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Indicates why an opportunity was sent back for further details. Partners must take corrective action based on the ReviewComments.

    *)
  3. review_status : review_status option;
    (*

    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).
    *)
  4. target_close_date : date option;
    (*

    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.

    *)
  5. next_steps : pii_string option;
    (*

    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.

    *)
  6. closed_lost_reason : closed_lost_reason option;
    (*

    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.

    *)
  7. stage : stage option;
    (*

    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 understand requirements. The customer agreed that the opportunity is real, of interest, and may solve business/technical needs.
    • Technical Validation: All parties understand the implementation plan.
    • Business Validation: Pricing was proposed, and all parties agree to the steps to close.
    • Committed: The customer signed the contract, but Amazon Web Services hasn't started billing.
    • Launched: The workload is complete, and Amazon Web Services has started billing.
    • Closed Lost: The opportunity is lost, and there are no steps to move forward.
    *)
}

An object that contains a LifeCycle object's subset of fields.

type nonrec account_summary = {
  1. address : address_summary option;
    (*

    Specifies the end Customer's address details associated with the Opportunity.

    *)
  2. website_url : website_url option;
    (*

    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.

    *)
  3. company_name : name;
    (*

    Specifies the end Customer's company name associated with the Opportunity.

    *)
  4. other_industry : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  5. industry : industry option;
    (*

    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.

    *)
}

An object that contains an Account's subset of fields.

type nonrec customer_summary = {
  1. account : account_summary option;
    (*

    An object that contains a customer's account details.

    *)
}

An object that contains a Customer object's subset of fields.

type nonrec opportunity_summary = {
  1. project : project_summary option;
    (*

    An object that contains the Opportunity's project details summary.

    *)
  2. customer : customer_summary option;
    (*

    An object that contains the Opportunity's customer details.

    *)
  3. life_cycle : life_cycle_summary option;
    (*

    An object that contains the Opportunity's lifecycle details.

    *)
  4. created_date : date_time option;
    (*

    DateTime when the Opportunity was last created.

    *)
  5. last_modified_date : date_time option;
    (*

    DateTime when the Opportunity was last modified.

    *)
  6. opportunity_type : opportunity_type option;
    (*

    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.
    *)
  7. partner_opportunity_identifier : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  8. arn : opportunity_arn option;
    (*

    The Amazon Resource Name (ARN) for the opportunity. This globally unique identifier can be used for IAM policies and cross-service references.

    *)
  9. id : opportunity_identifier option;
    (*

    Read-only, system-generated Opportunity unique identifier.

    *)
  10. catalog : catalog_identifier;
    (*

    Specifies the catalog associated with the opportunity, either AWS or Sandbox. This indicates the environment in which the opportunity is managed.

    *)
}

An object that contains an Opportunity's subset of fields.

type nonrec opportunity_summaries = opportunity_summary list
type nonrec opportunity_sort_name =
  1. | TARGET_CLOSE_DATE
  2. | CREATED_DATE
  3. | CUSTOMER_COMPANY_NAME
  4. | IDENTIFIER
  5. | LAST_MODIFIEDDATE
type nonrec opportunity_sort = {
  1. sort_by : opportunity_sort_name;
    (*

    Field name to sort by.

    *)
  2. sort_order : sort_order;
    (*

    Sort order.

    Default: Descending

    *)
}

Object that configures response sorting.

type nonrec opportunity_identifiers = opportunity_identifier list
type nonrec opportunity_from_engagement_task = Smaws_Lib.CoreTypes.Resource.t
type nonrec opportunity_engagement_invitation_sort_name =
  1. | INVITATION_DATE
type nonrec opportunity_engagement_invitation_sort = {
  1. sort_by : opportunity_engagement_invitation_sort_name;
    (*

    Specifies the field by which the Engagement Invitations are sorted. Common values include InvitationDate and Status.

    *)
  2. sort_order : sort_order;
    (*

    Defines the order in which the Engagement Invitations are sorted. The values can be ASC (ascending) or DESC (descending).

    *)
}

Defines sorting options for retrieving Engagement Invitations. Sorting can be done based on various criteria like the invitation date or status.

type nonrec opportunity = Smaws_Lib.CoreTypes.Resource.t
type nonrec member_page_size = int
type nonrec member_company_name = string
type nonrec list_tasks_sort_name =
  1. | START_TIME
type nonrec list_tasks_sort_base = {
  1. sort_by : list_tasks_sort_name;
    (*

    Specifies the field by which the task list should be sorted.

    *)
  2. sort_order : sort_order;
    (*

    Determines the order in which the sorted results are presented.

    *)
}

Defines the sorting parameters for listing tasks. This structure allows for specifying the field to sort by and the order of sorting.

type nonrec list_tags_for_resource_response = {
  1. tags : tag_list;
    (*

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

    *)
}
type nonrec list_tags_for_resource_request = {
  1. resource_arn : taggable_resource_arn;
    (*

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

    *)
}
type nonrec list_solutions_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  2. solution_summaries : solution_list;
    (*

    An array with minimal details for solutions matching the request criteria.

    *)
}
type nonrec filter_status = solution_status list
type nonrec aws_marketplace_solution_arn_list = aws_marketplace_solution_arn list
type nonrec list_solutions_request = {
  1. aws_marketplace_solution_arn : aws_marketplace_solution_arn_list option;
    (*

    Filters results by AWS Marketplace solution ARN. You can provide up to 10 ARNs.

    *)
  2. category : string_list option;
    (*

    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.

    *)
  3. identifier : solution_identifiers option;
    (*

    Filters the solutions based on their unique identifier. Use this filter to retrieve specific solutions by providing the solution's identifier for accurate results.

    *)
  4. status : filter_status option;
    (*

    Filters solutions based on their status. This filter helps partners manage their solution portfolios effectively.

    *)
  5. sort : solution_sort option;
    (*

    Object that configures sorting done on the response. Default Sort.SortBy is Identifier.

    *)
  6. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  7. max_results : page_size option;
    (*

    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

    *)
  8. catalog : catalog_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 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.

    *)
}
type nonrec list_resource_snapshots_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

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

    *)
  2. resource_snapshot_summaries : resource_snapshot_summary_list;
    (*

    An array of resource snapshot summary objects.

    *)
}
type nonrec list_resource_snapshots_request = {
  1. created_by : aws_account option;
    (*

    Filters the response to include only snapshots of resources owned by the specified AWS account.

    *)
  2. resource_snapshot_template_identifier : resource_template_name option;
    (*

    Filters the response to include only snapshots created using the specified template.

    *)
  3. resource_identifier : resource_identifier option;
    (*

    Filters the response to include only snapshots of the specified resource.

    *)
  4. resource_type : resource_type option;
    (*

    Filters the response to include only snapshots of the specified resource type.

    *)
  5. engagement_identifier : engagement_identifier;
    (*

    The unique identifier of the engagement associated with the snapshots.

    *)
  6. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The token for the next set of results.

    *)
  7. max_results : page_size option;
    (*

    The maximum number of results to return in a single call.

    *)
  8. catalog : catalog_identifier;
    (*

    Specifies the catalog related to the request.

    *)
}
type nonrec list_resource_snapshot_jobs_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

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

    *)
  2. resource_snapshot_job_summaries : resource_snapshot_job_summary_list;
    (*

    An array of resource snapshot job summary objects.

    *)
}
type nonrec list_resource_snapshot_jobs_request = {
  1. sort : sort_object option;
    (*

    Configures the sorting of the response. If omitted, results are sorted by CreatedDate in descending order.

    *)
  2. status : resource_snapshot_job_status option;
    (*

    The status of the jobs to filter the response.

    *)
  3. engagement_identifier : engagement_identifier option;
    (*

    The identifier of the engagement to filter the response.

    *)
  4. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The token for the next set of results.

    *)
  5. max_results : page_size option;
    (*

    The maximum number of results to return in a single call. If omitted, defaults to 50.

    *)
  6. catalog : catalog_identifier;
    (*

    Specifies the catalog related to the request.

    *)
}
type nonrec list_prospecting_from_engagement_tasks_response = {
  1. task_summaries : prospecting_task_summary_list;
    (*

    Prospecting task summaries matching the specified filters. Each summary includes the task identifier, name, status counters, and timing information. If no tasks match the filter criteria, the list is empty.

    *)
  2. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A pagination token used to retrieve the next page of results. If this field is present, pass its value as NextToken in the next call. If absent or empty, there are no further pages.

    *)
}

Represents the response structure containing a paginated list of prospecting task summaries matching the request filters. Indicates through NextToken when additional results are available.

type nonrec list_prospecting_from_engagement_tasks_request = {
  1. sort : prospecting_from_engagement_task_sort option;
    (*

    Specifies the field and order used to sort the returned tasks. If omitted, tasks are returned in the default sort order.

    *)
  2. start_before : date_time option;
    (*

    Filters tasks to include only those that started before the specified timestamp. Use this with StartAfter to define a start-time range for your query. The format follows ISO 8601 date-time notation.

    *)
  3. start_after : date_time option;
    (*

    Filters tasks to include only those that started after the specified timestamp. Use this with StartBefore to define a start-time range for your query. The format follows ISO 8601 date-time notation.

    *)
  4. task_name : task_name_list option;
    (*

    Filters the results to include only tasks with the specified names. Provide up to 10 task names to narrow the list. If omitted, tasks are not filtered by name.

    *)
  5. task_identifier : task_identifier_list option;
    (*

    Filters the results to include only the tasks with the specified identifiers. Provide up to 10 task IDs to narrow the list to specific tasks. If omitted, tasks are not filtered by identifier.

    *)
  6. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The pagination token from a previous call to this API. Include this value to retrieve the next page of results. If omitted, the first page is returned.

    *)
  7. max_results : page_size option;
    (*

    The maximum number of results to return in a single page. If additional results exist, the response includes a NextToken value for retrieving the next page. If omitted, the API uses a service-defined default page size.

    *)
  8. catalog : catalog_identifier;
    (*

    Specifies the catalog to list tasks from. Specify AWS for production environments and Sandbox for testing and development purposes.

    *)
}

Represents the request structure for listing prospecting tasks. All filter parameters are optional. Results are paginated — uses NextToken from the response to retrieve subsequent pages.

type nonrec list_opportunity_from_engagement_task_summary = {
  1. context_id : context_identifier option;
    (*

    The unique identifier of the engagement context associated with the opportunity creation task. This links the task to specific contextual information within the engagement.

    *)
  2. engagement_id : engagement_identifier option;
    (*

    The unique identifier of the engagement from which the opportunity is being created. This field helps track the source of the opportunity creation task.

    *)
  3. resource_snapshot_job_id : resource_snapshot_job_identifier option;
    (*

    The identifier of the resource snapshot job associated with this task, if a snapshot was created as part of the opportunity creation process.

    *)
  4. opportunity_id : opportunity_identifier option;
    (*

    The unique identifier of the opportunity created as a result of the task. This field is populated when the task is completed successfully.

    *)
  5. reason_code : reason_code option;
    (*

    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.

    *)
  6. message : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  7. task_status : task_status option;
    (*

    The current status of the task. Valid values are COMPLETE, INPROGRESS, or FAILED.

    *)
  8. start_time : date_time option;
    (*

    The timestamp indicating when the task was initiated, in RFC 3339 format.

    *)
  9. task_arn : task_arn option;
    (*

    The Amazon Resource Name (ARN) that uniquely identifies the task within AWS. This ARN can be used for referencing the task in other AWS services or APIs.

    *)
  10. task_id : task_identifier option;
    (*

    The unique identifier of the task for creating an opportunity from an engagement.

    *)
}

Provides a summary of a task related to creating an opportunity from an engagement. This structure contains key information about the task's status, associated identifiers, and any failure details for opportunity creation processes.

type nonrec list_opportunity_from_engagement_task_summaries = list_opportunity_from_engagement_task_summary list
type nonrec list_opportunity_from_engagement_tasks_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  2. task_summaries : list_opportunity_from_engagement_task_summaries option;
    (*

    An array of ListOpportunityFromEngagementTaskSummary objects, each representing a task that matches the specified filters. The array may be empty if no tasks match the criteria.

    *)
}
type nonrec engagement_identifiers = engagement_arn_or_identifier list
type nonrec context_identifiers = context_identifier list
type nonrec list_opportunity_from_engagement_tasks_request = {
  1. context_identifier : context_identifiers option;
    (*

    Filters tasks by the identifiers of the engagement contexts associated with the opportunity creation. Use this to find tasks related to specific contextual information within engagements that are being converted to opportunities.

    *)
  2. engagement_identifier : engagement_identifiers option;
    (*

    Filters tasks by the identifiers of the engagements from which opportunities are being created. Use this to find all opportunity creation tasks associated with a specific engagement.

    *)
  3. opportunity_identifier : opportunity_identifiers option;
    (*

    Filters tasks by the identifiers of the opportunities they created or are associated with. Use this to find tasks related to specific opportunity creation processes.

    *)
  4. task_identifier : task_identifiers option;
    (*

    Filters tasks by their unique identifiers. Use this when you want to retrieve information about specific tasks. Provide the task ID to get details about a particular opportunity creation task.

    *)
  5. task_status : task_statuses option;
    (*

    Filters the tasks based on their current status. This allows you to focus on tasks in specific states. Valid values are COMPLETE for tasks that have finished successfully, INPROGRESS for tasks that are currently running, and FAILED for tasks that have encountered an error and failed to complete.

    *)
  6. catalog : catalog_identifier;
    (*

    Specifies the catalog related to the request. Valid values are AWS for production environments and Sandbox for testing or development purposes. The catalog determines which environment the task data is retrieved from.

    *)
  7. sort : list_tasks_sort_base option;
  8. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  9. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    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.

    *)
}
type nonrec list_opportunities_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  2. opportunity_summaries : opportunity_summaries;
    (*

    An array that contains minimal details for opportunities that match the request criteria. This summary view provides a quick overview of relevant opportunities.

    *)
}
type nonrec last_modified_date = {
  1. before_last_modified_date : date_time option;
    (*

    Specifies the date before which the opportunities were modified. Use this filter to retrieve only those opportunities that were modified before a given timestamp.

    *)
  2. after_last_modified_date : date_time option;
    (*

    Specifies the date after which the opportunities were modified. Use this filter to retrieve only those opportunities that were modified after a given timestamp.

    *)
}

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.

type nonrec filter_identifier = opportunity_identifier list
type nonrec filter_life_cycle_stage = stage list
type nonrec filter_life_cycle_review_status = review_status list
type nonrec created_date_filter = {
  1. before_created_date : date_time option;
    (*

    Filter opportunities created before this date.

    *)
  2. after_created_date : date_time option;
    (*

    Filter opportunities created after this date.

    *)
}

Filter for opportunities based on creation date range.

type nonrec list_opportunities_request = {
  1. target_close_date : target_close_date_filter option;
    (*

    Filters opportunities based on their target close date. This filter helps retrieve opportunities with an expected close date before or after a specified date.

    *)
  2. created_date : created_date_filter option;
    (*

    Filter opportunities by creation date criteria.

    *)
  3. customer_company_name : string_list option;
    (*

    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.

    *)
  4. life_cycle_review_status : filter_life_cycle_review_status option;
    (*

    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.

    *)
  5. life_cycle_stage : filter_life_cycle_stage option;
    (*

    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.

    *)
  6. identifier : filter_identifier option;
    (*

    Filters the opportunities based on the opportunity identifier. This allows partners to retrieve specific opportunities by providing their unique identifiers, ensuring precise results.

    *)
  7. last_modified_date : last_modified_date option;
    (*

    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.

    *)
  8. sort : opportunity_sort option;
    (*

    An object that specifies how the response is sorted. The default Sort.SortBy value is LastModifiedDate.

    *)
  9. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  10. max_results : page_size option;
    (*

    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

    *)
  11. catalog : catalog_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 opportunities are listed in. Use AWS for listing real opportunities in the Amazon Web Services catalog, and Sandbox for testing in secure, isolated environments.

    *)
}
type nonrec engagement_title = string
type nonrec engagement_context_type_list = engagement_context_type list
type nonrec engagement_summary = {
  1. context_types : engagement_context_type_list option;
    (*

    An array of context types associated with the engagement, such as "CustomerProject" or "Lead". This provides a quick overview of the types of contexts included in the engagement.

    *)
  2. modified_by : aws_account option;
    (*

    The AWS account ID of the user who last modified the engagement. This field helps track who made the most recent changes to the engagement.

    *)
  3. modified_at : date_time option;
    (*

    The timestamp indicating when the engagement was last modified, in ISO 8601 format (UTC). Example: "2023-05-01T20:37:46Z".

    *)
  4. member_count : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The number of members in the Engagement.

    *)
  5. created_by : aws_account option;
    (*

    The AWS Account ID of the Engagement creator.

    *)
  6. created_at : date_time option;
    (*

    The date and time when the Engagement was created.

    *)
  7. title : engagement_title option;
    (*

    The title of the Engagement.

    *)
  8. id : engagement_identifier option;
    (*

    The unique identifier for the Engagement.

    *)
  9. arn : engagement_arn option;
    (*

    The Amazon Resource Name (ARN) of the created Engagement.

    *)
}

An object that contains an Engagement's subset of fields.

type nonrec engagement_summary_list = engagement_summary list
type nonrec list_engagements_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The token to retrieve the next set of results. This field will be null if there are no more results.

    *)
  2. engagement_summary_list : engagement_summary_list;
    (*

    An array of engagement summary objects.

    *)
}
type nonrec aws_account_list = aws_account list
type nonrec engagement_sort_name =
  1. | CreatedDate
type nonrec engagement_sort = {
  1. sort_by : engagement_sort_name;
    (*

    The field by which to sort the results.

    *)
  2. sort_order : sort_order;
    (*

    The order in which to sort the results.

    *)
}

Specifies the sorting parameters for listing Engagements.

type nonrec engagement_page_size = int
type nonrec list_engagements_request = {
  1. engagement_identifier : engagement_identifiers option;
    (*

    An array of strings representing engagement identifiers to retrieve.

    *)
  2. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The token for the next set of results. This value is returned from a previous call.

    *)
  3. max_results : engagement_page_size option;
    (*

    The maximum number of results to return in a single call.

    *)
  4. sort : engagement_sort option;
  5. exclude_context_types : engagement_context_type_list option;
    (*

    Filters engagements to exclude those containing the specified context types. Use this to find engagements that do not have certain types of contextual information, helping to narrow results based on context exclusion criteria.

    *)
  6. context_types : engagement_context_type_list option;
    (*

    Filters engagements to include only those containing the specified context types, such as "CustomerProject" or "Lead". Use this to find engagements that have specific types of contextual information associated with them.

    *)
  7. exclude_created_by : aws_account_list option;
    (*

    An array of strings representing AWS Account IDs. Use this to exclude engagements created by specific users.

    *)
  8. created_by : aws_account_list option;
    (*

    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.

    *)
  9. catalog : catalog_identifier;
    (*

    Specifies the catalog related to the request.

    *)
}
type nonrec engagement_resource_association_summary = {
  1. created_by : aws_account option;
    (*

    The AWS account ID of the entity that owns the resource. Identifies the account responsible for or having primary control over the resource.

    *)
  2. resource_id : resource_identifier option;
    (*

    A unique identifier for the specific resource. Varies depending on the resource type.

    *)
  3. resource_type : resource_type option;
    (*

    Categorizes the type of resource associated with the engagement.

    *)
  4. engagement_id : engagement_identifier option;
    (*

    A unique identifier for the engagement associated with the resource.

    *)
  5. catalog : catalog_identifier;
    (*

    Indicates the environment in which the resource and engagement exist.

    *)
}

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.

type nonrec engagement_resource_association_summary_list = engagement_resource_association_summary list
type nonrec list_engagement_resource_associations_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  2. engagement_resource_association_summaries : engagement_resource_association_summary_list;
    (*

    A list of engagement-resource association summaries.

    *)
}
type nonrec list_engagement_resource_associations_request = {
  1. created_by : aws_account option;
    (*

    Filters the response to include only snapshots of resources owned by the specified AWS account ID. Use this when you want to find associations related to resources owned by a particular account.

    *)
  2. resource_identifier : resource_identifier option;
    (*

    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.

    *)
  3. resource_type : resource_type option;
    (*

    Filters the results to include only associations with resources of the specified type.

    *)
  4. engagement_identifier : engagement_identifier option;
    (*

    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.

    *)
  5. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A token used for pagination of results. Include this token in subsequent requests to retrieve the next set of results.

    *)
  6. max_results : page_size option;
    (*

    Limits the number of results returned in a single call. Use this to control the number of results returned, especially useful for pagination.

    *)
  7. catalog : catalog_identifier;
    (*

    Specifies the catalog in which to search for engagement-resource associations. Valid Values: "AWS" or "Sandbox"

    • AWS for production environments.
    • Sandbox for testing and development purposes.
    *)
}
type nonrec engagement_member = {
  1. account_id : aws_account option;
    (*

    This is the unique identifier for the AWS account associated with the member organization. It's used for AWS-related operations and identity verification.

    *)
  2. website_url : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  3. company_name : member_company_name option;
    (*

    The official name of the member's company or organization.

    *)
}

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.

type nonrec engagement_members = engagement_member list
type nonrec list_engagement_members_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  2. engagement_member_list : engagement_members;
    (*

    Provides a list of engagement members.

    *)
}
type nonrec list_engagement_members_request = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The token for the next set of results.

    *)
  2. max_results : member_page_size option;
    (*

    The maximum number of results to return in a single call.

    *)
  3. identifier : engagement_arn_or_identifier;
    (*

    Identifier of the Engagement record to retrieve members from.

    *)
  4. catalog : catalog_identifier;
    (*

    The catalog related to the request.

    *)
}
type nonrec engagement_invitation_payload_type =
  1. | LEAD_INVITATION
  2. | OPPORTUNITY_INVITATION
type nonrec invitation_status =
  1. | EXPIRED
  2. | REJECTED
  3. | PENDING
  4. | ACCEPTED
type nonrec engagement_invitation_summary = {
  1. participant_type : participant_type option;
    (*

    Identifies the role of the caller in the engagement invitation.

    *)
  2. catalog : catalog_identifier;
    (*

    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.

    *)
  3. receiver : receiver option;
    (*

    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.

    *)
  4. sender_company_name : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  5. sender_aws_account_id : aws_account option;
    (*

    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.

    *)
  6. expiration_date : date_time option;
    (*

    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.

    *)
  7. invitation_date : date_time option;
    (*

    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.

    *)
  8. status : invitation_status option;
    (*

    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.

    *)
  9. engagement_title : engagement_title option;
    (*

    Provides a short title or description of the Engagement Invitation. This title helps partners quickly identify and differentiate between multiple engagement opportunities.

    *)
  10. engagement_id : engagement_identifier option;
    (*

    The identifier of the Engagement associated with this invitation. This links the invitation to its parent Engagement.

    *)
  11. id : engagement_invitation_arn_or_identifier;
    (*

    Represents the unique identifier of the Engagement Invitation. This identifier is used to track the invitation and to manage responses like acceptance or rejection.

    *)
  12. payload_type : engagement_invitation_payload_type option;
    (*

    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.

    *)
  13. arn : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
}

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.

type nonrec engagement_invitation_summaries = engagement_invitation_summary list
type nonrec list_engagement_invitations_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  2. engagement_invitation_summaries : engagement_invitation_summaries option;
    (*

    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.

    *)
}
type nonrec engagement_invitations_payload_type = engagement_invitation_payload_type list
type nonrec invitation_status_list = invitation_status list
type nonrec aws_account_id_or_alias_list = aws_account list
type nonrec list_engagement_invitations_request = {
  1. sender_aws_account_id : aws_account_id_or_alias_list option;
    (*

    List of sender AWS account IDs to filter the invitations.

    *)
  2. engagement_identifier : engagement_identifiers option;
    (*

    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.

    *)
  3. status : invitation_status_list option;
    (*

    Status values to filter the invitations.

    *)
  4. participant_type : participant_type;
    (*

    Specifies the type of participant for which to list engagement invitations. Identifies the role of the participant.

    *)
  5. payload_type : engagement_invitations_payload_type option;
    (*

    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.

    *)
  6. sort : opportunity_engagement_invitation_sort option;
    (*

    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.

    *)
  7. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  8. max_results : page_size option;
    (*

    Specifies the maximum number of engagement invitations to return in the response. If more results are available, a pagination token will be provided.

    *)
  9. catalog : catalog_identifier;
    (*

    Specifies the catalog from which to list the engagement invitations. Use AWS for production invitations or Sandbox for testing environments.

    *)
}
type nonrec list_engagement_from_opportunity_task_summary = {
  1. engagement_invitation_id : engagement_invitation_identifier option;
    (*

    The unique identifier of the Engagement Invitation.

    *)
  2. engagement_id : engagement_identifier option;
    (*

    The unique identifier of the engagement created as a result of the task. This field is populated when the task is completed successfully.

    *)
  3. resource_snapshot_job_id : resource_snapshot_job_identifier option;
    (*

    The identifier of the resource snapshot job associated with this task, if a snapshot was created as part of the Engagement creation process.

    *)
  4. opportunity_id : opportunity_identifier option;
    (*

    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.

    *)
  5. reason_code : reason_code option;
    (*

    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.

    *)
  6. message : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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

    *)
  7. task_status : task_status option;
    (*

    The current status of the task.

    *)
  8. start_time : date_time option;
    (*

    The timestamp indicating when the task was initiated, in RFC 3339 5.6 date-time format.

    *)
  9. task_arn : task_arn option;
    (*

    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.

    *)
  10. task_id : task_identifier option;
    (*

    A unique identifier for a specific task.

    *)
}

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.

type nonrec list_engagement_from_opportunity_task_summaries = list_engagement_from_opportunity_task_summary list
type nonrec list_engagement_from_opportunity_tasks_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  2. task_summaries : list_engagement_from_opportunity_task_summaries option;
    (*

    TaskSummaries An array of TaskSummary objects containing details about each task.

    *)
}
type nonrec list_engagement_from_opportunity_tasks_request = {
  1. engagement_identifier : engagement_identifiers option;
    (*

    Filters tasks by the identifiers of the engagements they created or are associated with.

    *)
  2. opportunity_identifier : opportunity_identifiers option;
    (*

    The identifier of the original opportunity associated with this task.

    *)
  3. task_identifier : task_identifiers option;
    (*

    Filters tasks by their unique identifiers. Use this when you want to retrieve information about specific tasks.

    *)
  4. task_status : task_statuses option;
    (*

    Filters the tasks based on their current status. This allows you to focus on tasks in specific states.

    *)
  5. catalog : catalog_identifier;
    (*

    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.
    *)
  6. sort : list_tasks_sort_base option;
    (*

    Specifies the sorting criteria for the returned results. This allows you to order the tasks based on specific attributes.

    *)
  7. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  8. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    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.

    *)
}
type nonrec list_engagement_by_accepting_invitation_task_summary = {
  1. engagement_invitation_id : engagement_invitation_identifier option;
    (*

    The unique identifier of the engagement invitation that was accepted.

    *)
  2. resource_snapshot_job_id : resource_snapshot_job_identifier option;
    (*

    Unique identifier of the resource snapshot job that was created.

    *)
  3. opportunity_id : opportunity_identifier option;
    (*

    Unique identifier of opportunity that was created.

    *)
  4. reason_code : reason_code option;
    (*

    A code pointing to the specific reason for the failure.

    *)
  5. message : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Detailed message describing the failure and possible recovery steps.

    *)
  6. task_status : task_status option;
    (*

    Status of the task.

    *)
  7. start_time : date_time option;
    (*

    Task start timestamp.

    *)
  8. task_arn : task_arn option;
    (*

    The Amazon Resource Name (ARN) that uniquely identifies the task.

    *)
  9. task_id : task_identifier option;
    (*

    Unique identifier of the task.

    *)
}

Specifies a subset of fields associated with tasks related to accepting an engagement invitation.

type nonrec list_engagement_by_accepting_invitation_task_summaries = list_engagement_by_accepting_invitation_task_summary list
type nonrec list_engagement_by_accepting_invitation_tasks_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  2. task_summaries : list_engagement_by_accepting_invitation_task_summaries option;
    (*

    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.

    *)
}
type nonrec engagement_invitation_identifiers = engagement_invitation_arn_or_identifier list
type nonrec list_engagement_by_accepting_invitation_tasks_request = {
  1. task_identifier : task_identifiers option;
    (*

    Filters tasks by their unique identifiers. Use this when you want to retrieve information about specific tasks.

    *)
  2. engagement_invitation_identifier : engagement_invitation_identifiers option;
    (*

    Filters tasks by the identifiers of the engagement invitations they are processing.

    *)
  3. opportunity_identifier : opportunity_identifiers option;
    (*

    Filters tasks by the identifiers of the opportunities they created or are associated with.

    *)
  4. task_status : task_statuses option;
    (*

    Filters the tasks based on their current status. This allows you to focus on tasks in specific states.

    *)
  5. catalog : catalog_identifier;
    (*

    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.
    *)
  6. sort : list_tasks_sort_base option;
    (*

    Specifies the sorting criteria for the returned results. This allows you to order the tasks based on specific attributes.

    *)
  7. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  8. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    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.

    *)
}
type nonrec lead_interaction_list = lead_interaction list
type nonrec lead_context = {
  1. interactions : lead_interaction_list;
    (*

    An array of interactions that have occurred with the lead, providing a history of communications, meetings, and other engagement activities related to the lead.

    *)
  2. customer : lead_customer;
    (*

    Contains detailed information about the customer associated with the lead, including company information, contact details, and other relevant customer data.

    *)
  3. qualification_status : lead_qualification_status option;
    (*

    Indicates the current qualification status of the lead, such as whether it has been qualified, disqualified, or is still under evaluation. This helps track the lead's progression through the qualification process.

    *)
  4. insights : lead_insights option;
    (*

    Insights that AI generates and associates with the lead. These insights provide automated analysis such as lead readiness scoring to help partners assess the lead quality.

    *)
}

Provides comprehensive details about a lead associated with an engagement. This structure contains information about lead qualification status, customer details, and interaction history to facilitate lead management and tracking within the engagement.

type nonrec invitation_message = string
type nonrec invitation = {
  1. payload : payload;
  2. receiver : receiver;
  3. message : invitation_message;
    (*

    A message accompanying the invitation.

    *)
}

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.

type nonrec get_selling_system_settings_response = {
  1. resource_snapshot_job_role_arn : resource_snapshot_job_role_arn option;
    (*

    Specifies the ARN of the IAM Role used for resource snapshot job executions.

    *)
  2. catalog : catalog_identifier;
    (*

    Specifies the catalog in which the settings are defined. Acceptable values include AWS for production and Sandbox for testing environments.

    *)
}
type nonrec get_selling_system_settings_request = {
  1. catalog : catalog_identifier;
    (*

    Specifies the catalog in which the settings are defined. Acceptable values include AWS for production and Sandbox for testing environments.

    *)
}
type nonrec get_resource_snapshot_response = {
  1. target_member_accounts : aws_account_id_or_alias_list option;
    (*

    Target member accounts associated with the resource snapshot.

    *)
  2. payload : resource_snapshot_payload option;
  3. revision : resource_snapshot_revision option;
    (*

    The revision number of this snapshot. This is a positive integer that is sequential and unique within the context of a resource view.

    *)
  4. resource_snapshot_template_name : resource_template_name option;
    (*

    The name of the view used for this snapshot. This is the same as the template name.

    *)
  5. resource_id : resource_identifier option;
    (*

    The identifier of the specific resource that was snapshotted. Matches the ResourceIdentifier specified in the request.

    *)
  6. resource_type : resource_type option;
    (*

    The type of the resource that was snapshotted. Matches the ResourceType specified in the request.

    *)
  7. engagement_id : engagement_identifier option;
    (*

    The identifier of the engagement associated with this snapshot. Matches the EngagementIdentifier specified in the request.

    *)
  8. created_at : date_time option;
    (*

    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.

    *)
  9. created_by : aws_account option;
    (*

    The AWS account ID of the principal (user or role) who created the snapshot. This helps in tracking the origin of the snapshot.

    *)
  10. arn : resource_arn option;
    (*

    The Amazon Resource Name (ARN) that uniquely identifies the resource snapshot.

    *)
  11. catalog : catalog_identifier;
    (*

    The catalog in which the snapshot was created. Matches the Catalog specified in the request.

    *)
}
type nonrec get_resource_snapshot_request = {
  1. revision : resource_snapshot_revision option;
    (*

    Specifies which revision of the snapshot to retrieve. If omitted returns the latest revision.

    *)
  2. resource_snapshot_template_identifier : resource_template_name;
    (*

    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.

    *)
  3. resource_identifier : resource_identifier;
    (*

    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

    *)
  4. resource_type : resource_type;
    (*

    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.

    *)
  5. engagement_identifier : engagement_identifier;
    (*

    The unique identifier of the engagement associated with the snapshot. This field links the snapshot to a specific engagement context.

    *)
  6. catalog : catalog_identifier;
    (*

    Specifies the catalog related to the request. Valid values are:

    • AWS: Retrieves the snapshot from the production AWS environment.
    • Sandbox: Retrieves the snapshot from a sandbox environment used for testing or development purposes.
    *)
}
type nonrec get_resource_snapshot_job_response = {
  1. last_failure : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  2. last_successful_execution_date : date_time option;
    (*

    The date and time of the last successful execution of the job, in ISO 8601 format (UTC). Example: "2023-05-01T20:37:46Z"

    *)
  3. status : resource_snapshot_job_status option;
    (*

    The current status of the snapshot job. Valid values:

    • STOPPED: The job is not currently running.
    • RUNNING: The job is actively executing.
    *)
  4. created_at : date_time option;
    (*

    The date and time when the snapshot job was created in ISO 8601 format (UTC). Example: "2023-05-01T20:37:46Z"

    *)
  5. resource_snapshot_template_name : resource_template_name option;
    (*

    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.

    *)
  6. resource_arn : resource_arn option;
    (*

    The Amazon Resource Name (ARN) of the resource being snapshotted. This provides a globally unique identifier for the resource across AWS.

    *)
  7. resource_id : resource_identifier option;
    (*

    The identifier of the specific resource being snapshotted. The format might vary depending on the ResourceType.

    *)
  8. resource_type : resource_type option;
    (*

    The type of resource being snapshotted. This would have "Opportunity" as a value as it is dependent on the supported resource type.

    *)
  9. engagement_id : engagement_identifier option;
    (*

    The identifier of the engagement associated with this snapshot job. This links the job to a specific engagement context.

    *)
  10. arn : resource_snapshot_job_arn option;
    (*

    The Amazon Resource Name (ARN) of the snapshot job. This globally unique identifier can be used for resource-specific operations across AWS services.

    *)
  11. id : resource_snapshot_job_identifier option;
    (*

    The unique identifier of the snapshot job. This matches the ResourceSnapshotJobIdentifier provided in the request.

    *)
  12. catalog : catalog_identifier;
    (*

    The catalog in which the snapshot job was created. This will match the Catalog specified in the request.

    *)
}
type nonrec get_resource_snapshot_job_request = {
  1. resource_snapshot_job_identifier : resource_snapshot_job_identifier;
    (*

    The unique identifier of the resource snapshot job to be retrieved. This identifier is crucial for pinpointing the specific job you want to query.

    *)
  2. catalog : catalog_identifier;
    (*

    Specifies the catalog related to the request. Valid values are:

    • AWS: Retrieves the snapshot job from the production AWS environment.
    • Sandbox: Retrieves the snapshot job from a sandbox environment used for testing or development purposes.
    *)
}
type nonrec engagement_prospecting_result = {
  1. message : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A human-readable description of the failure for this engagement, including suggested recovery steps. This field is only populated when Status is FAILED.

    *)
  2. reason_code : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    An enumerated code indicating the reason this engagement failed to process. This field is only populated when Status is FAILED.

    *)
  3. status : prospecting_task_status;
    (*

    The processing status of this specific engagement. Possible values are PENDING, IN_PROGRESS, COMPLETED, and FAILED.

    *)
  4. engagement_context_id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The identifier of the prospecting context created for this engagement. This field is only populated when the engagement was processed successfully (status is COMPLETED). Use this identifier to reference the prospecting context in subsequent operations.

    *)
  5. engagement_identifier : engagement_identifier;
    (*

    The unique identifier of the engagement that was processed.

    *)
}

Contains the result of processing a single engagement within a prospecting task. Each engagement is processed independently, so individual engagements can succeed or fail regardless of other engagements in the same task.

type nonrec engagement_prospecting_result_list = engagement_prospecting_result list
type nonrec get_prospecting_from_engagement_task_response = {
  1. engagements : engagement_prospecting_result_list;
    (*

    An array of EngagementProspectingResult entries for each engagement in the task. Each entry contains the processing status. For successfully completed engagements, includes the prospecting context identifier. For failed engagements, includes an error code and message.

    *)
  2. end_time : date_time option;
    (*

    The timestamp indicating when the task finished processing. This field is absent if the task is still in progress. The format follows ISO 8601 date-time notation.

    *)
  3. start_time : date_time;
    (*

    The timestamp indicating when the task was initiated. The format follows ISO 8601 date-time notation.

    *)
  4. task_name : task_name;
    (*

    The descriptive name of the task that you provided when you created it.

    *)
  5. task_arn : prospecting_task_arn;
    (*

    The Amazon Resource Name (ARN) of the task.

    *)
  6. task_id : prospecting_task_identifier;
    (*

    The unique identifier of the task.

    *)
}

Represents the response structure containing the full details of a prospecting task, including per-engagement processing results. Includes the Status field of each EngagementProspectingResult entry to determine individual outcomes.

type nonrec get_prospecting_from_engagement_task_request = {
  1. task_identifier : prospecting_task_identifier;
    (*

    The unique identifier of the prospecting task to retrieve. This value is returned in the TaskId field of the StartProspectingFromEngagementTask response.

    *)
  2. catalog : catalog_identifier;
    (*

    Specifies the catalog associated with the task. Specify AWS for production environments and Sandbox for testing and development purposes. The value must match the catalog used when the task was created.

    *)
}

Represents the request structure for retrieving the status and results of a prospecting task.

type nonrec get_opportunity_response = {
  1. opportunity_team : partner_opportunity_team_members_list option;
    (*

    Represents the internal team handling the opportunity. Specify the members involved in collaborating on this opportunity within the partner's organization.

    *)
  2. life_cycle : life_cycle option;
    (*

    An object that contains lifecycle details for the Opportunity.

    *)
  3. related_entity_identifiers : related_entity_identifiers;
    (*

    Provides information about the associations of other entities with the opportunity. These entities include identifiers for AWSProducts, Partner Solutions, and AWSMarketplaceOffers.

    *)
  4. created_date : date_time;
    (*

    DateTime when the Opportunity was last created.

    *)
  5. last_modified_date : date_time;
    (*

    DateTime when the opportunity was last modified.

    *)
  6. arn : opportunity_arn option;
    (*

    The Amazon Resource Name (ARN) that uniquely identifies the opportunity.

    *)
  7. id : opportunity_identifier;
    (*

    Read-only, system generated Opportunity unique identifier.

    *)
  8. software_revenue : software_revenue option;
    (*

    Specifies details of a customer's procurement terms. Required only for partners in eligible programs.

    *)
  9. marketing : marketing option;
    (*

    An object that contains marketing details for the Opportunity.

    *)
  10. opportunity_type : opportunity_type option;
    (*

    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.
    *)
  11. project : project option;
    (*

    An object that contains project details summary for the Opportunity.

    *)
  12. customer : customer option;
    (*

    Specifies details of the customer associated with the Opportunity.

    *)
  13. partner_opportunity_identifier : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  14. national_security : national_security option;
    (*

    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.

    *)
  15. primary_needs_from_aws : primary_needs_from_aws option;
    (*

    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.
    *)
  16. catalog : catalog_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 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.

    *)
}
type nonrec get_opportunity_request = {
  1. identifier : opportunity_identifier;
    (*

    Read-only, system generated Opportunity unique identifier.

    *)
  2. catalog : catalog_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 fetched from. Use AWS to retrieve opportunities in the Amazon Web Services catalog, and Sandbox to retrieve opportunities in a secure, isolated testing environment.

    *)
}
type nonrec engagement_description = string
type nonrec engagement_context_payload =
  1. | ProspectingResult of prospecting_result
    (*

    Contains prospecting result data with enriched insights. The system generates these insights when a partner runs an autonomous prospecting job on leads. This field appears only when the context type is "ProspectingResult".

    *)
  2. | Lead of lead_context
    (*

    Contains detailed information about a lead when the context type is "Lead". This field is present only when the Type in EngagementContextDetails is set to "Lead".

    *)
  3. | CustomerProject of customer_projects_context
    (*

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

    *)

Represents the payload of an Engagement context. The structure of this payload varies based on the context type specified in the EngagementContextDetails.

type nonrec engagement_context_details = {
  1. payload : engagement_context_payload option;
    (*

    Contains the specific details of the Engagement context. The structure of this payload varies depending on the Type field.

    *)
  2. type_ : engagement_context_type;
    (*

    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.

    *)
  3. id : engagement_context_identifier option;
    (*

    The unique identifier of the engagement context. This ID is used to reference and manage the specific context within the engagement.

    *)
}

Provides detailed context information for an Engagement. This structure allows for specifying the type of context and its associated payload.

type nonrec engagement_contexts = engagement_context_details list
type nonrec get_engagement_response = {
  1. contexts : engagement_contexts option;
    (*

    A list of context objects associated with the engagement. Each context provides additional information related to the Engagement, such as customer projects or documents.

    *)
  2. modified_by : aws_account option;
    (*

    The AWS account ID of the user who last modified the engagement. This field helps track who made the most recent changes to the engagement.

    *)
  3. modified_at : date_time option;
    (*

    The timestamp indicating when the engagement was last modified, in ISO 8601 format (UTC). Example: "2023-05-01T20:37:46Z". This helps track the most recent changes to the engagement.

    *)
  4. member_count : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    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.

    *)
  5. created_by : aws_account option;
    (*

    The AWS account ID of the user who originally created the engagement. This field helps in tracking the origin of the engagement.

    *)
  6. created_at : date_time option;
    (*

    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.

    *)
  7. description : engagement_description option;
    (*

    A more detailed description of the engagement. This provides additional context or information about the engagement's purpose or scope.

    *)
  8. title : engagement_title option;
    (*

    The title of the engagement. It provides a brief, descriptive name for the engagement that is meaningful and easily recognizable.

    *)
  9. arn : engagement_arn option;
    (*

    The Amazon Resource Name (ARN) of the engagement retrieved.

    *)
  10. id : engagement_identifier option;
    (*

    The unique resource identifier of the engagement retrieved.

    *)
}
type nonrec get_engagement_request = {
  1. identifier : engagement_arn_or_identifier;
    (*

    Specifies the identifier of the Engagement record to retrieve.

    *)
  2. catalog : catalog_identifier;
    (*

    Specifies the catalog related to the engagement request. Valid values are AWS and Sandbox.

    *)
}
type nonrec engagement_member_summary = {
  1. website_url : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  2. company_name : member_company_name option;
    (*

    The official name of the member's company or organization.

    *)
}

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.

type nonrec engagement_member_summaries = engagement_member_summary list
type nonrec get_engagement_invitation_response = {
  1. existing_members : engagement_member_summaries option;
    (*

    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.
    *)
  2. engagement_description : engagement_description option;
    (*

    The description of the engagement associated with this invitation.

    *)
  3. invitation_message : invitation_message option;
    (*

    The message sent to the invited partner when the invitation was created.

    *)
  4. payload : payload option;
    (*

    Details of the engagement invitation payload, including specific data relevant to the invitation's contents, such as customer information and opportunity insights.

    *)
  5. rejection_reason : rejection_reason_string option;
    (*

    If the engagement invitation was rejected, this field specifies the reason provided by the partner for the rejection.

    *)
  6. catalog : catalog_identifier;
    (*

    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.

    *)
  7. receiver : receiver option;
    (*

    Information about the partner organization or team that received the engagement invitation, including contact details and identifiers.

    *)
  8. sender_company_name : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The name of the AWS organization or team that sent the engagement invitation.

    *)
  9. sender_aws_account_id : aws_account option;
    (*

    Specifies the AWS Account ID of the sender, which identifies the AWS team responsible for sharing the engagement invitation.

    *)
  10. expiration_date : date_time option;
    (*

    Indicates the date on which the engagement invitation will expire if not accepted by the partner.

    *)
  11. invitation_date : date_time option;
    (*

    The date when the engagement invitation was sent to the partner.

    *)
  12. status : invitation_status option;
    (*

    The current status of the engagement invitation.

    *)
  13. engagement_title : engagement_title option;
    (*

    The title of the engagement invitation, summarizing the purpose or objectives of the opportunity shared by AWS.

    *)
  14. engagement_id : engagement_identifier option;
    (*

    The identifier of the engagement associated with this invitation.This ID links the invitation to its corresponding engagement.

    *)
  15. id : engagement_invitation_arn_or_identifier;
    (*

    Unique identifier assigned to the engagement invitation being retrieved.

    *)
  16. payload_type : engagement_invitation_payload_type option;
    (*

    The type of payload contained in the engagement invitation, indicating what data or context the payload covers.

    *)
  17. arn : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The Amazon Resource Name (ARN) that identifies the engagement invitation.

    *)
}
type nonrec get_engagement_invitation_request = {
  1. identifier : engagement_invitation_arn_or_identifier;
    (*

    Specifies the unique identifier for the retrieved engagement invitation.

    *)
  2. catalog : catalog_identifier;
    (*

    Specifies the catalog associated with the request. The field accepts values from the predefined set: AWS for live operations or Sandbox for testing environments.

    *)
}
type nonrec get_aws_opportunity_summary_response = {
  1. catalog : catalog_identifier;
    (*

    Specifies the catalog in which the AWS Opportunity exists. This is the environment (e.g., AWS or Sandbox) where the opportunity is being managed.

    *)
  2. cosell_motion : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Engagement classification for this opportunity. Read-only. Null before scoring. Known values: AWS Field-engaged, Agent-engaged, Partner-led.

    *)
  3. project : aws_opportunity_project option;
    (*

    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.

    *)
  4. customer : aws_opportunity_customer option;
    (*

    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.

    *)
  5. related_entity_ids : aws_opportunity_related_entities option;
    (*

    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.

    *)
  6. involvement_type_change_reason : involvement_type_change_reason option;
    (*

    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.

    *)
  7. insights : aws_opportunity_insights option;
    (*

    Provides insights into the AWS Opportunity, including engagement score and recommended actions that AWS suggests for the partner.

    *)
  8. opportunity_team : aws_opportunity_team_members_list option;
    (*

    Details the AWS opportunity team, including members involved. This information helps partners know who from AWS is engaged and what their role is.

    *)
  9. life_cycle : aws_opportunity_life_cycle option;
    (*

    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.

    *)
  10. visibility : visibility option;
    (*

    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.

    *)
  11. involvement_type : sales_involvement_type option;
    (*

    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.

    *)
  12. origin : opportunity_origin option;
    (*

    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.

    *)
  13. related_opportunity_id : opportunity_identifier option;
    (*

    Provides the unique identifier of the related partner opportunity, allowing partners to link the AWS Opportunity to their corresponding opportunity in their CRM system.

    *)
}
type nonrec get_aws_opportunity_summary_request = {
  1. related_opportunity_identifier : opportunity_identifier;
    (*

    The unique identifier for the related partner opportunity. Use this field to correlate an AWS opportunity with its corresponding partner opportunity.

    *)
  2. catalog : catalog_identifier;
    (*

    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.

    *)
}
type nonrec engagement_invitation_arn = string
type nonrec engagement_invitation = Smaws_Lib.CoreTypes.Resource.t
type nonrec engagement_from_opportunity_task = Smaws_Lib.CoreTypes.Resource.t
type nonrec engagement_by_accepting_invitation_task = Smaws_Lib.CoreTypes.Resource.t
type nonrec engagement = Smaws_Lib.CoreTypes.Resource.t
type nonrec disassociate_opportunity_request = {
  1. related_entity_identifier : Smaws_Lib.Smithy_api.Types.string_;
    (*

    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.

    *)
  2. related_entity_type : related_entity_type;
    (*

    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.

    *)
  3. opportunity_identifier : opportunity_identifier;
    (*

    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.

    *)
  4. catalog : catalog_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 disassociation is made in. Use AWS to disassociate opportunities in the Amazon Web Services catalog, and Sandbox for testing in secure, isolated environments.

    *)
}
type nonrec delete_resource_snapshot_job_request = {
  1. resource_snapshot_job_identifier : resource_snapshot_job_identifier;
    (*

    The unique identifier of the resource snapshot job to be deleted.

    *)
  2. catalog : catalog_identifier;
    (*

    Specifies the catalog from which to delete the snapshot job. Valid values are AWS and Sandbox.

    *)
}
type nonrec create_resource_snapshot_response = {
  1. revision : resource_snapshot_revision option;
    (*

    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.

    *)
  2. arn : resource_arn option;
    (*

    Specifies the Amazon Resource Name (ARN) that uniquely identifies the snapshot created.

    *)
}
type nonrec create_resource_snapshot_request = {
  1. client_token : client_token;
    (*

    Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. This token helps prevent duplicate snapshot creations.

    *)
  2. resource_snapshot_template_identifier : resource_template_name;
    (*

    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.

    *)
  3. resource_identifier : resource_identifier;
    (*

    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.

    *)
  4. resource_type : resource_type;
    (*

    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.

    *)
  5. engagement_identifier : engagement_identifier;
    (*

    The unique identifier of the engagement associated with this snapshot. This field links the snapshot to a specific engagement context.

    *)
  6. catalog : catalog_identifier;
    (*

    Specifies the catalog where the snapshot is created. Valid values are AWS and Sandbox.

    *)
}
type nonrec create_resource_snapshot_job_response = {
  1. arn : resource_snapshot_job_arn option;
    (*

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

    *)
  2. id : resource_snapshot_job_identifier option;
    (*

    The unique identifier for the created snapshot job.

    *)
}
type nonrec create_resource_snapshot_job_request = {
  1. tags : tag_list option;
    (*

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

    *)
  2. resource_snapshot_template_identifier : resource_template_name;
    (*

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

    *)
  3. resource_identifier : resource_identifier;
    (*

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

    *)
  4. resource_type : resource_type;
    (*

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

    *)
  5. engagement_identifier : engagement_identifier;
    (*

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

    *)
  6. client_token : client_token;
    (*

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

    *)
  7. catalog : catalog_identifier;
    (*

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

    *)
}
type nonrec create_opportunity_response = {
  1. last_modified_date : date_time option;
    (*

    DateTime when the opportunity was last modified. When the Opportunity is created, its value is CreatedDate.

    *)
  2. partner_opportunity_identifier : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  3. id : opportunity_identifier;
    (*

    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.

    *)
}
type nonrec create_opportunity_request = {
  1. tags : tag_list option;
    (*

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

    *)
  2. opportunity_team : partner_opportunity_team_members_list option;
    (*

    Represents the internal team handling the opportunity. Specify collaborating members of this opportunity who are within the partner's organization.

    *)
  3. origin : opportunity_origin option;
    (*

    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.

    *)
  4. life_cycle : life_cycle option;
    (*

    An object that contains lifecycle details for the Opportunity.

    *)
  5. client_token : client_token;
    (*

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

    *)
  6. software_revenue : software_revenue option;
    (*

    Specifies details of a customer's procurement terms. This is required only for partners in eligible programs.

    *)
  7. marketing : marketing option;
    (*

    This object contains marketing details and is optional for an opportunity.

    *)
  8. opportunity_type : opportunity_type option;
    (*

    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.
    *)
  9. project : project option;
    (*

    An object that contains project details for the Opportunity.

    *)
  10. customer : customer option;
    (*

    Specifies customer details associated with the Opportunity.

    *)
  11. partner_opportunity_identifier : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    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.

    *)
  12. national_security : national_security option;
    (*

    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.

    *)
  13. primary_needs_from_aws : primary_needs_from_aws option;
    (*

    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.
    *)
  14. catalog : catalog_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 created in. Use AWS to create opportunities in the Amazon Web Services catalog, and Sandbox for testing in secure, isolated environments.

    *)
}
type nonrec create_engagement_response = {
  1. modified_at : date_time option;
    (*

    The timestamp indicating when the engagement was last modified, in ISO 8601 format (UTC). For newly created engagements, this value matches the creation timestamp. Example: "2023-05-01T20:37:46Z".

    *)
  2. arn : engagement_arn option;
    (*

    The Amazon Resource Name (ARN) that identifies the engagement.

    *)
  3. id : engagement_identifier option;
    (*

    Unique identifier assigned to the newly created engagement.

    *)
}
type nonrec create_engagement_request = {
  1. contexts : engagement_contexts option;
    (*

    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.

    *)
  2. description : engagement_description;
    (*

    Provides a description of the Engagement.

    *)
  3. title : engagement_title;
    (*

    Specifies the title of the Engagement.

    *)
  4. client_token : client_token;
    (*

    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.

    *)
  5. catalog : catalog_identifier;
    (*

    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.

    *)
}
type nonrec create_engagement_invitation_response = {
  1. arn : engagement_invitation_arn;
    (*

    The Amazon Resource Name (ARN) that uniquely identifies the engagement invitation.

    *)
  2. id : engagement_invitation_identifier;
    (*

    Unique identifier assigned to the newly created engagement invitation.

    *)
}
type nonrec create_engagement_invitation_request = {
  1. invitation : invitation;
    (*

    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, or LeadInvitation, which includes structures for customer information and interaction details.

    *)
  2. engagement_identifier : engagement_identifier;
    (*

    The unique identifier of the Engagement associated with the invitation. This parameter ensures the invitation is created within the correct Engagement context.

    *)
  3. client_token : client_token;
    (*

    Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. This token helps prevent duplicate invitation creations.

    *)
  4. catalog : catalog_identifier;
    (*

    Specifies the catalog related to the engagement. Accepted values are AWS and Sandbox, which determine the environment in which the engagement is managed.

    *)
}
type nonrec create_engagement_context_response = {
  1. context_id : engagement_context_identifier option;
    (*

    The unique identifier assigned to the newly created engagement context. This ID can be used to reference the specific context within the engagement for future operations.

    *)
  2. engagement_last_modified_at : date_time option;
    (*

    The timestamp indicating when the engagement was last modified as a result of adding the context, in ISO 8601 format (UTC). Example: "2023-05-01T20:37:46Z".

    *)
  3. engagement_arn : engagement_arn option;
    (*

    The Amazon Resource Name (ARN) of the engagement to which the context was added. This globally unique identifier can be used for cross-service references and IAM policies.

    *)
  4. engagement_id : engagement_identifier option;
    (*

    The unique identifier of the engagement to which the context was added. This ID confirms the successful association of the context with the specified engagement.

    *)
}
type nonrec create_engagement_context_request = {
  1. payload : engagement_context_payload;
  2. type_ : engagement_context_type;
    (*

    Specifies the type of context being created for the engagement. This field determines the structure and content of the context payload. Valid values include CustomerProject for customer project-related contexts. The type field ensures that the context is properly categorized and processed according to its intended purpose.

    *)
  3. client_token : client_token;
    (*

    A unique, case-sensitive identifier provided by the client to ensure that the request is handled exactly once. This token helps prevent duplicate context creations and must not exceed sixty-four alphanumeric characters. Use a UUID or other unique string to ensure idempotency.

    *)
  4. engagement_identifier : engagement_arn_or_identifier;
    (*

    The unique identifier of the Engagement for which the context is being created. This parameter ensures the context is associated with the correct engagement and provides the necessary linkage between the engagement and its contextual information.

    *)
  5. catalog : catalog_identifier;
    (*

    Specifies the catalog associated with the engagement context request. This field takes a string value from a predefined list: AWS or Sandbox. The catalog determines which environment the engagement context is created in. Use AWS to create contexts in the production environment, and Sandbox for testing in secure, isolated environments.

    *)
}
type nonrec associate_opportunity_request = {
  1. related_entity_identifier : Smaws_Lib.Smithy_api.Types.string_;
    (*

    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.

    *)
  2. related_entity_type : related_entity_type;
    (*

    Specifies the entity type that you're associating with the Opportunity. This helps to categorize and properly process the association.

    *)
  3. opportunity_identifier : opportunity_identifier;
    (*

    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.

    *)
  4. catalog : catalog_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 association is made in. Use AWS to associate opportunities in the Amazon Web Services catalog, and Sandbox for testing in secure, isolated environments.

    *)
}
type nonrec assignee_contact = {
  1. business_title : job_title;
    (*

    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.

    *)
  2. phone : phone_number option;
    (*

    Specifies the contact phone number of the assignee responsible for the opportunity or engagement. This field enables direct communication for time-sensitive matters and facilitates coordination between AWS and partner teams.

    *)
  3. last_name : name;
    (*

    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.

    *)
  4. first_name : name;
    (*

    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.

    *)
  5. email : email;
    (*

    Provides the email address of the assignee. This email is used for communications and notifications related to the opportunity.

    *)
}

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.

type nonrec assign_opportunity_request = {
  1. assignee : assignee_contact;
    (*

    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.

    *)
  2. identifier : opportunity_identifier;
    (*

    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.

    *)
  3. catalog : catalog_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 assigned in. Use AWS to assign real opportunities in the Amazon Web Services catalog, and Sandbox for testing in secure, isolated environments.

    *)
}
type nonrec accept_engagement_invitation_request = {
  1. identifier : engagement_invitation_arn_or_identifier;
    (*

    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.

    *)
  2. catalog : catalog_identifier;
    (*

    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.

    *)
}