@aws-sdk/client-billing 3.1155.0 → 3.1157.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +63 -0
  2. package/dist-cjs/index.js +531 -43
  3. package/dist-es/Billing.js +26 -0
  4. package/dist-es/commands/AssociateContractCommand.js +4 -0
  5. package/dist-es/commands/CancelContractualInvestmentAttestationCommand.js +4 -0
  6. package/dist-es/commands/CreateContractualInvestmentAttestationCommand.js +4 -0
  7. package/dist-es/commands/DisassociateContractCommand.js +4 -0
  8. package/dist-es/commands/GetContractInformationCommand.js +4 -0
  9. package/dist-es/commands/ListContractsCommand.js +4 -0
  10. package/dist-es/commands/ListContractualInvestmentAttestationsCommand.js +4 -0
  11. package/dist-es/commands/ListContractualInvestmentSummariesCommand.js +4 -0
  12. package/dist-es/commands/ListContractualInvestmentsCommand.js +4 -0
  13. package/dist-es/commands/index.js +9 -0
  14. package/dist-es/models/enums.js +28 -0
  15. package/dist-es/models/errors.js +34 -34
  16. package/dist-es/pagination/ListContractsPaginator.js +4 -0
  17. package/dist-es/pagination/ListContractualInvestmentAttestationsPaginator.js +4 -0
  18. package/dist-es/pagination/ListContractualInvestmentSummariesPaginator.js +4 -0
  19. package/dist-es/pagination/ListContractualInvestmentsPaginator.js +4 -0
  20. package/dist-es/pagination/index.js +4 -0
  21. package/dist-es/schemas/schemas_0.js +359 -8
  22. package/dist-types/Billing.d.ts +92 -0
  23. package/dist-types/BillingClient.d.ts +11 -2
  24. package/dist-types/commands/AssociateContractCommand.d.ts +102 -0
  25. package/dist-types/commands/CancelContractualInvestmentAttestationCommand.d.ts +104 -0
  26. package/dist-types/commands/CreateContractualInvestmentAttestationCommand.d.ts +262 -0
  27. package/dist-types/commands/DisassociateContractCommand.d.ts +97 -0
  28. package/dist-types/commands/GetContractInformationCommand.d.ts +143 -0
  29. package/dist-types/commands/ListContractsCommand.d.ts +121 -0
  30. package/dist-types/commands/ListContractualInvestmentAttestationsCommand.d.ts +164 -0
  31. package/dist-types/commands/ListContractualInvestmentSummariesCommand.d.ts +125 -0
  32. package/dist-types/commands/ListContractualInvestmentsCommand.d.ts +168 -0
  33. package/dist-types/commands/index.d.ts +9 -0
  34. package/dist-types/models/enums.d.ts +76 -0
  35. package/dist-types/models/errors.d.ts +41 -41
  36. package/dist-types/models/models_0.d.ts +775 -7
  37. package/dist-types/pagination/ListContractsPaginator.d.ts +7 -0
  38. package/dist-types/pagination/ListContractualInvestmentAttestationsPaginator.d.ts +7 -0
  39. package/dist-types/pagination/ListContractualInvestmentSummariesPaginator.d.ts +7 -0
  40. package/dist-types/pagination/ListContractualInvestmentsPaginator.d.ts +7 -0
  41. package/dist-types/pagination/index.d.ts +4 -0
  42. package/dist-types/schemas/schemas_0.d.ts +46 -1
  43. package/dist-types/ts3.4/Billing.d.ts +182 -0
  44. package/dist-types/ts3.4/BillingClient.d.ts +54 -0
  45. package/dist-types/ts3.4/commands/AssociateContractCommand.d.ts +39 -0
  46. package/dist-types/ts3.4/commands/CancelContractualInvestmentAttestationCommand.d.ts +42 -0
  47. package/dist-types/ts3.4/commands/CreateContractualInvestmentAttestationCommand.d.ts +42 -0
  48. package/dist-types/ts3.4/commands/DisassociateContractCommand.d.ts +39 -0
  49. package/dist-types/ts3.4/commands/GetContractInformationCommand.d.ts +39 -0
  50. package/dist-types/ts3.4/commands/ListContractsCommand.d.ts +38 -0
  51. package/dist-types/ts3.4/commands/ListContractualInvestmentAttestationsCommand.d.ts +42 -0
  52. package/dist-types/ts3.4/commands/ListContractualInvestmentSummariesCommand.d.ts +42 -0
  53. package/dist-types/ts3.4/commands/ListContractualInvestmentsCommand.d.ts +42 -0
  54. package/dist-types/ts3.4/commands/index.d.ts +9 -0
  55. package/dist-types/ts3.4/models/enums.d.ts +35 -0
  56. package/dist-types/ts3.4/models/errors.d.ts +16 -16
  57. package/dist-types/ts3.4/models/models_0.d.ts +234 -3
  58. package/dist-types/ts3.4/pagination/ListContractsPaginator.d.ts +11 -0
  59. package/dist-types/ts3.4/pagination/ListContractualInvestmentAttestationsPaginator.d.ts +11 -0
  60. package/dist-types/ts3.4/pagination/ListContractualInvestmentSummariesPaginator.d.ts +11 -0
  61. package/dist-types/ts3.4/pagination/ListContractualInvestmentsPaginator.d.ts +11 -0
  62. package/dist-types/ts3.4/pagination/index.d.ts +4 -0
  63. package/dist-types/ts3.4/schemas/schemas_0.d.ts +51 -1
  64. package/package.json +5 -5
@@ -1,4 +1,4 @@
1
- import type { ApplicationType, BillingDomain, BillingFeature, BillingFeatureFilterName, BillingViewStatus, BillingViewStatusReason, BillingViewType, CreditSharingType, CreditStatus, Dimension, PreferenceValue, SearchOption } from "./enums";
1
+ import type { ApplicationType, AssociationStatus, BillingDomain, BillingFeature, BillingFeatureFilterName, BillingViewStatus, BillingViewStatusReason, BillingViewType, ContractRestriction, ContractType, CreditSharingType, CreditStatus, Dimension, InvestmentAttestationStatus, InvestmentType, MultiplierType, PreferenceValue, SearchOption } from "./enums";
2
2
  /**
3
3
  * <p>A time range with a start and end time.</p>
4
4
  * @public
@@ -36,6 +36,17 @@ export interface AdditionalCharge {
36
36
  */
37
37
  chargeType?: string | undefined;
38
38
  }
39
+ /**
40
+ * <p>A recipient copied as a viewer on the executive approval request, in addition to the approver.</p>
41
+ * @public
42
+ */
43
+ export interface AdditionalRecipient {
44
+ /**
45
+ * <p>The email address of the recipient. This value is 3–256 characters and must be a valid email address.</p>
46
+ * @public
47
+ */
48
+ email: string | undefined;
49
+ }
39
50
  /**
40
51
  * <p>A monetary amount with a currency code. Used throughout the Billing API to represent credit balances, allocations, and adjustments.</p>
41
52
  * @public
@@ -52,6 +63,63 @@ export interface Amount {
52
63
  */
53
64
  currencyAmount: string | undefined;
54
65
  }
66
+ /**
67
+ * <p>Information about the executive approver who signs off on an investment attestation.</p>
68
+ * @public
69
+ */
70
+ export interface ApproverDetails {
71
+ /**
72
+ * <p>The name of the approver as it appears on the contract. This value can be up to 256 characters.</p>
73
+ * @public
74
+ */
75
+ name: string | undefined;
76
+ /**
77
+ * <p>The title of the approver, such as <code>Chief Financial Officer</code>. This value can be up to 256 characters.</p>
78
+ * @public
79
+ */
80
+ title: string | undefined;
81
+ /**
82
+ * <p>The email address of the approver. This value is 3–256 characters and must be a valid email address.</p>
83
+ * @public
84
+ */
85
+ email: string | undefined;
86
+ }
87
+ /**
88
+ * @public
89
+ */
90
+ export interface AssociateContractRequest {
91
+ /**
92
+ * <p>The Amazon Resource Name (ARN) of the contract to associate with your account.</p>
93
+ * @public
94
+ */
95
+ contractArn: string | undefined;
96
+ /**
97
+ * <p>The contract ID from the contract document. It can be found in the top right corner of your contract's pages. This value confirms that you have access to the contract you are associating.</p>
98
+ * @public
99
+ */
100
+ contractDocumentId: string | undefined;
101
+ }
102
+ /**
103
+ * @public
104
+ */
105
+ export interface AssociateContractResponse {
106
+ }
107
+ /**
108
+ * <p>The field's information of a request that resulted in an exception. </p>
109
+ * @public
110
+ */
111
+ export interface ValidationExceptionField {
112
+ /**
113
+ * <p>The name of the field.</p>
114
+ * @public
115
+ */
116
+ name: string | undefined;
117
+ /**
118
+ * <p>The message describing why the field failed validation.</p>
119
+ * @public
120
+ */
121
+ message: string | undefined;
122
+ }
55
123
  /**
56
124
  * @public
57
125
  */
@@ -78,20 +146,122 @@ export interface AssociateSourceViewsResponse {
78
146
  arn: string | undefined;
79
147
  }
80
148
  /**
81
- * <p>The field's information of a request that resulted in an exception. </p>
149
+ * <p>A quantity-based attestation value, such as a count of workloads migrated.</p>
82
150
  * @public
83
151
  */
84
- export interface ValidationExceptionField {
152
+ export interface AttestationQuantity {
85
153
  /**
86
- * <p>The name of the field.</p>
154
+ * <p>The number of units being attested, expressed as a decimal string to preserve precision. The value is digits with an optional decimal point and is 1–1000 characters.</p>
87
155
  * @public
88
156
  */
89
- name: string | undefined;
157
+ attestationVolume: string | undefined;
90
158
  /**
91
- * <p>The message describing why the field failed validation.</p>
159
+ * <p>The unit of the attestation, such as <code>workloads migrated</code>. This value is 1–1000 characters.</p>
92
160
  * @public
93
161
  */
94
- message: string | undefined;
162
+ attestationUnit: string | undefined;
163
+ }
164
+ /**
165
+ * <p>The value being attested. This is a union in which exactly one member is set. Set <code>attestationAmount</code> to attest a monetary amount directly, or set <code>attestationQuantities</code> to attest one or more quantities that are converted to a value using the investment's multipliers.</p>
166
+ * @public
167
+ */
168
+ export type AttestationValue = AttestationValue.AttestationAmountMember | AttestationValue.AttestationQuantitiesMember | AttestationValue.$UnknownMember;
169
+ /**
170
+ * @public
171
+ */
172
+ export declare namespace AttestationValue {
173
+ /**
174
+ * <p>The value attested as a monetary amount. This form is valid only when the investment has no multiplier.</p>
175
+ * @public
176
+ */
177
+ interface AttestationAmountMember {
178
+ attestationAmount: Amount;
179
+ attestationQuantities?: never;
180
+ $unknown?: never;
181
+ }
182
+ /**
183
+ * <p>The value attested as one or more quantities, each with its own unit. The list contains at most 50 quantities.</p>
184
+ * @public
185
+ */
186
+ interface AttestationQuantitiesMember {
187
+ attestationAmount?: never;
188
+ attestationQuantities: AttestationQuantity[];
189
+ $unknown?: never;
190
+ }
191
+ /**
192
+ * @public
193
+ */
194
+ interface $UnknownMember {
195
+ attestationAmount?: never;
196
+ attestationQuantities?: never;
197
+ $unknown: [string, any];
198
+ }
199
+ /**
200
+ * @deprecated unused in schema-serde mode.
201
+ *
202
+ */
203
+ interface Visitor<T> {
204
+ attestationAmount: (value: Amount) => T;
205
+ attestationQuantities: (value: AttestationQuantity[]) => T;
206
+ _: (name: string, value: any) => T;
207
+ }
208
+ }
209
+ /**
210
+ * <p>An allocation of an investment disbursement to a specific recipient account. The account is the target account that receives the investment, not your account.</p>
211
+ * @public
212
+ */
213
+ export interface InvestmentDistribution {
214
+ /**
215
+ * <p>The recipient Amazon Web Services account ID that receives this portion of the investment. This must be one of the eligible investment accounts on the contract.</p>
216
+ * @public
217
+ */
218
+ accountId: string | undefined;
219
+ /**
220
+ * <p>The monetary value allocated to the recipient account.</p>
221
+ * @public
222
+ */
223
+ investmentAmount: Amount | undefined;
224
+ }
225
+ /**
226
+ * <p>The details of an investment attestation submission, including the value being attested and how the resulting investment is distributed.</p>
227
+ * @public
228
+ */
229
+ export interface AttestationDetails {
230
+ /**
231
+ * <p>The value being attested, expressed as either a monetary amount or one or more quantities. Exactly one form is set.</p>
232
+ * @public
233
+ */
234
+ attestationValue: AttestationValue | undefined;
235
+ /**
236
+ * <p>The distribution of the resulting investment across the eligible investment accounts on the contract. If you omit this value, the full investment is allocated to the single eligible investment account on the contract. This value is required when multiple investment accounts are eligible. When you provide this value, the sum of all distributions must equal the resulting monetary investment value (the attested amount, or the value computed from the attested quantities using the investment multipliers). The list contains at most 200 distributions.</p>
237
+ * @public
238
+ */
239
+ investmentDistributions?: InvestmentDistribution[] | undefined;
240
+ }
241
+ /**
242
+ * @public
243
+ */
244
+ export interface CancelContractualInvestmentAttestationRequest {
245
+ /**
246
+ * <p>The identifier of the investment attestation to cancel.</p>
247
+ * @public
248
+ */
249
+ attestationId: string | undefined;
250
+ /**
251
+ * <p>The Amazon Resource Name (ARN) of the contract that contains the attested investment.</p>
252
+ * @public
253
+ */
254
+ contractArn: string | undefined;
255
+ /**
256
+ * <p>The reason for the cancellation. This value can be 1 to 80 characters.</p>
257
+ * @public
258
+ */
259
+ reason: string | undefined;
260
+ }
261
+ /**
262
+ * @public
263
+ */
264
+ export interface CancelContractualInvestmentAttestationResponse {
95
265
  }
96
266
  /**
97
267
  * <p> The Cost Categories values used for filtering the costs. </p>
@@ -249,6 +419,66 @@ export interface CreateBillingViewResponse {
249
419
  */
250
420
  createdAt?: Date | undefined;
251
421
  }
422
+ /**
423
+ * @public
424
+ */
425
+ export interface CreateContractualInvestmentAttestationRequest {
426
+ /**
427
+ * <p>The Amazon Resource Name (ARN) of the contract that contains the investment being attested.</p>
428
+ * @public
429
+ */
430
+ contractArn: string | undefined;
431
+ /**
432
+ * <p>The identifier of the investment summary being attested. This is the parent to the investmentId.</p>
433
+ * @public
434
+ */
435
+ investmentSummaryId: string | undefined;
436
+ /**
437
+ * <p>The identifier of the investment (outcome) being attested.</p>
438
+ * @public
439
+ */
440
+ investmentId: string | undefined;
441
+ /**
442
+ * <p>The contract ID from the contract document, located in the top-right corner of the private pricing contract pages. This value confirms that you have access to the contract.</p>
443
+ * @public
444
+ */
445
+ contractDocumentId: string | undefined;
446
+ /**
447
+ * <p>The details of the executive who authorized the attestation, under the terms of the private pricing contract. The executive receives a click-to-accept email to confirm the attestation.</p>
448
+ * @public
449
+ */
450
+ approverDetails: ApproverDetails | undefined;
451
+ /**
452
+ * <p>The date on which the investment is disbursed to the investment accounts. The disbursement date is subject to review timelines.</p>
453
+ * @public
454
+ */
455
+ investmentDisbursedAt?: Date | undefined;
456
+ /**
457
+ * <p>The details of the attestation, including the value being claimed and how the resulting investment is distributed across investment accounts.</p>
458
+ * @public
459
+ */
460
+ attestationDetails: AttestationDetails | undefined;
461
+ /**
462
+ * <p>The email addresses to copy as viewers on the executive approval request.</p>
463
+ * @public
464
+ */
465
+ additionalRecipients?: AdditionalRecipient[] | undefined;
466
+ /**
467
+ * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry completes without performing any further actions.</p>
468
+ * @public
469
+ */
470
+ clientToken?: string | undefined;
471
+ }
472
+ /**
473
+ * @public
474
+ */
475
+ export interface CreateContractualInvestmentAttestationResponse {
476
+ /**
477
+ * <p>The identifier of the submitted attestation.</p>
478
+ * @public
479
+ */
480
+ attestationId: string | undefined;
481
+ }
252
482
  /**
253
483
  * @public
254
484
  */
@@ -274,6 +504,21 @@ export interface DeleteBillingViewResponse {
274
504
  */
275
505
  arn: string | undefined;
276
506
  }
507
+ /**
508
+ * @public
509
+ */
510
+ export interface DisassociateContractRequest {
511
+ /**
512
+ * <p>The Amazon Resource Name (ARN) of the contract to disassociate from your account.</p>
513
+ * @public
514
+ */
515
+ contractArn: string | undefined;
516
+ }
517
+ /**
518
+ * @public
519
+ */
520
+ export interface DisassociateContractResponse {
521
+ }
277
522
  /**
278
523
  * @public
279
524
  */
@@ -514,6 +759,122 @@ export interface GetBillingViewResponse {
514
759
  */
515
760
  billingView: BillingViewElement | undefined;
516
761
  }
762
+ /**
763
+ * @public
764
+ */
765
+ export interface GetContractInformationRequest {
766
+ /**
767
+ * <p>The Amazon Resource Name (ARN) of the contract to retrieve information about.</p>
768
+ * @public
769
+ */
770
+ contractArn: string | undefined;
771
+ }
772
+ /**
773
+ * <p>A time period bounded by an inclusive start date and an inclusive end date.</p>
774
+ * @public
775
+ */
776
+ export interface Interval {
777
+ /**
778
+ * <p>The start date of the interval. This date is included in the interval.</p>
779
+ * @public
780
+ */
781
+ startDateInclusive: Date | undefined;
782
+ /**
783
+ * <p>The end date of the interval. This date is included in the interval.</p>
784
+ * @public
785
+ */
786
+ endDateInclusive: Date | undefined;
787
+ }
788
+ /**
789
+ * <p>A legal entity on a private pricing contract. It can be found on your contract's signature page.</p>
790
+ * @public
791
+ */
792
+ export interface LegalEntity {
793
+ /**
794
+ * <p>The name of the legal entity as it appears on the contract document. This value can be up to 256 characters.</p>
795
+ * @public
796
+ */
797
+ legalEntityName: string | undefined;
798
+ }
799
+ /**
800
+ * <p>The details of a private pricing addendum contract.</p>
801
+ * @public
802
+ */
803
+ export interface PrivatePricingAddendum {
804
+ /**
805
+ * <p>The Amazon Resource Name (ARN) of the private pricing addendum.</p>
806
+ * @public
807
+ */
808
+ contractArn: string | undefined;
809
+ /**
810
+ * <p>The contract term period of the private pricing addendum, expressed as an interval with an inclusive start date and an inclusive end date.</p>
811
+ * @public
812
+ */
813
+ contractTerm: Interval | undefined;
814
+ /**
815
+ * <p>The payer accounts that are eligible under the private pricing addendum. The list contains at most 100 account IDs.</p>
816
+ * @public
817
+ */
818
+ eligiblePayerAccounts: string[] | undefined;
819
+ /**
820
+ * <p>The accounts that are eligible to receive investments under the private pricing addendum. An <code>InvestmentDistribution</code> must target one of these accounts. The list contains at most 100 account IDs.</p>
821
+ * @public
822
+ */
823
+ investmentAccounts: string[] | undefined;
824
+ /**
825
+ * <p>The legal entities on the private pricing addendum. The list contains at most 10 legal entities.</p>
826
+ * @public
827
+ */
828
+ legalEntities: LegalEntity[] | undefined;
829
+ /**
830
+ * <p>The restrictions that limit the self-service actions you can take on the private pricing addendum. An empty or absent value indicates that no restrictions apply. The list contains at most 10 restrictions.</p>
831
+ * @public
832
+ */
833
+ contractRestrictions?: ContractRestriction[] | undefined;
834
+ }
835
+ /**
836
+ * <p>The details of a contract returned by <code>GetContractInformation</code>. This is a union in which exactly one member is set, corresponding to the contract type. For a private pricing addendum, the <code>privatePricingAddendum</code> member is set. Check which member is present to determine the contract type.</p>
837
+ * @public
838
+ */
839
+ export type ContractDetails = ContractDetails.PrivatePricingAddendumMember | ContractDetails.$UnknownMember;
840
+ /**
841
+ * @public
842
+ */
843
+ export declare namespace ContractDetails {
844
+ /**
845
+ * <p>The details of a private pricing addendum contract. This member is set when the contract is a private pricing addendum.</p>
846
+ * @public
847
+ */
848
+ interface PrivatePricingAddendumMember {
849
+ privatePricingAddendum: PrivatePricingAddendum;
850
+ $unknown?: never;
851
+ }
852
+ /**
853
+ * @public
854
+ */
855
+ interface $UnknownMember {
856
+ privatePricingAddendum?: never;
857
+ $unknown: [string, any];
858
+ }
859
+ /**
860
+ * @deprecated unused in schema-serde mode.
861
+ *
862
+ */
863
+ interface Visitor<T> {
864
+ privatePricingAddendum: (value: PrivatePricingAddendum) => T;
865
+ _: (name: string, value: any) => T;
866
+ }
867
+ }
868
+ /**
869
+ * @public
870
+ */
871
+ export interface GetContractInformationResponse {
872
+ /**
873
+ * <p>The contract details such as term (duration), eligible payer accounts, investment accounts, and legal entities.</p>
874
+ * @public
875
+ */
876
+ contract: ContractDetails | undefined;
877
+ }
517
878
  /**
518
879
  * @public
519
880
  */
@@ -1567,6 +1928,413 @@ export interface ListBusinessSupportSubscriptionHistoryResponse {
1567
1928
  */
1568
1929
  nextToken?: string | undefined;
1569
1930
  }
1931
+ /**
1932
+ * @public
1933
+ */
1934
+ export interface ListContractsRequest {
1935
+ /**
1936
+ * <p>The pagination token that indicates the next set of results to retrieve.</p>
1937
+ * @public
1938
+ */
1939
+ nextToken?: string | undefined;
1940
+ /**
1941
+ * <p>The maximum number of contracts to return in a single call. Minimum value of 1, maximum value of 100.</p>
1942
+ * @public
1943
+ */
1944
+ maxResults?: number | undefined;
1945
+ }
1946
+ /**
1947
+ * <p>A summary of a private pricing contract visible to your account. <code>ListContracts</code> returns these summaries.</p>
1948
+ * @public
1949
+ */
1950
+ export interface ContractSummary {
1951
+ /**
1952
+ * <p>The Amazon Resource Name (ARN) of the contract. Pass this value to operations such as <code>GetContractInformation</code>, <code>ListContractualInvestmentSummaries</code>, and <code>AssociateContract</code>.</p>
1953
+ * @public
1954
+ */
1955
+ contractArn: string | undefined;
1956
+ /**
1957
+ * <p>The contract term period of the contract, expressed as an interval with an inclusive start date and an inclusive end date.</p>
1958
+ * @public
1959
+ */
1960
+ contractTerm: Interval | undefined;
1961
+ /**
1962
+ * <p>The classification of the contract. Valid values are <code>Cross-Service</code>, <code>Service-Specific</code>, and <code>Other</code>. <code>Cross-Service</code> applies across multiple Amazon Web Services services. <code>Service-Specific</code> applies to a specific Amazon Web Services service. <code>Other</code> applies to other arrangements.</p>
1963
+ * @public
1964
+ */
1965
+ contractType?: ContractType | undefined;
1966
+ /**
1967
+ * <p>Indicates whether the contract is currently associated with your account. Valid values are <code>ASSOCIATED</code> and <code>NOT_ASSOCIATED</code>. <code>ASSOCIATED</code> means the contract is associated with your account. <code>NOT_ASSOCIATED</code> means the contract is not associated with your account.</p>
1968
+ * @public
1969
+ */
1970
+ associationStatus: AssociationStatus | undefined;
1971
+ /**
1972
+ * <p>The time when the contract was last associated with your account.</p>
1973
+ * @public
1974
+ */
1975
+ lastUpdatedAt?: Date | undefined;
1976
+ }
1977
+ /**
1978
+ * @public
1979
+ */
1980
+ export interface ListContractsResponse {
1981
+ /**
1982
+ * <p>The list of contracts that your Amazon Web Services account is an eligible payer account of.</p>
1983
+ * @public
1984
+ */
1985
+ items: ContractSummary[] | undefined;
1986
+ /**
1987
+ * <p>The pagination token to use on subsequent calls to retrieve the next set of results.</p>
1988
+ * @public
1989
+ */
1990
+ nextToken?: string | undefined;
1991
+ }
1992
+ /**
1993
+ * @public
1994
+ */
1995
+ export interface ListContractualInvestmentAttestationsRequest {
1996
+ /**
1997
+ * <p>The Amazon Resource Name (ARN) of the contract whose attestations you want to list.</p>
1998
+ * @public
1999
+ */
2000
+ contractArn: string | undefined;
2001
+ /**
2002
+ * <p>The identifier of a specific investment summary to filter the attestations by. If omitted, attestations for all investment summaries in the contract are returned.</p>
2003
+ * @public
2004
+ */
2005
+ investmentSummaryId?: string | undefined;
2006
+ /**
2007
+ * <p>The pagination token that indicates the next set of results to retrieve.</p>
2008
+ * @public
2009
+ */
2010
+ nextToken?: string | undefined;
2011
+ /**
2012
+ * <p>The maximum number of attestations to return in a single call. Minimum value of 1, maximum value of 100.</p>
2013
+ * @public
2014
+ */
2015
+ maxResults?: number | undefined;
2016
+ }
2017
+ /**
2018
+ * <p>A summary of a submitted investment attestation, as returned by <code>ListContractualInvestmentAttestations</code>.</p>
2019
+ * @public
2020
+ */
2021
+ export interface InvestmentAttestation {
2022
+ /**
2023
+ * <p>The identifier of the attestation. This value is returned by <code>CreateContractualInvestmentAttestation</code> and is used to cancel the attestation with <code>CancelContractualInvestmentAttestation</code>. This value is 1–36 characters.</p>
2024
+ * @public
2025
+ */
2026
+ attestationId: string | undefined;
2027
+ /**
2028
+ * <p>The name of the investment summary that contains the attested outcome. This value is 1–400 characters.</p>
2029
+ * @public
2030
+ */
2031
+ investmentName: string | undefined;
2032
+ /**
2033
+ * <p>The description of the attested outcome. This value is 1–2048 characters.</p>
2034
+ * @public
2035
+ */
2036
+ outcomeDescription: string | undefined;
2037
+ /**
2038
+ * <p>The identifier of the investment summary that was attested, as returned by <code>ListContractualInvestmentSummaries</code>.</p>
2039
+ * @public
2040
+ */
2041
+ investmentSummaryId: string | undefined;
2042
+ /**
2043
+ * <p>The identifier of the investment that was attested, as returned by <code>ListContractualInvestments</code>.</p>
2044
+ * @public
2045
+ */
2046
+ investmentId: string | undefined;
2047
+ /**
2048
+ * <p>The date on which the attestation was submitted.</p>
2049
+ * @public
2050
+ */
2051
+ attestedAt: Date | undefined;
2052
+ /**
2053
+ * <p>The date on which the attestation was last updated.</p>
2054
+ * @public
2055
+ */
2056
+ updatedAt: Date | undefined;
2057
+ /**
2058
+ * <p>The current status of the attestation. Valid values are <code>PENDING_REVIEW</code>, <code>PENDING_C_LEVEL_APPROVAL</code>, <code>PENDING_CANCELLATION</code>, <code>REJECTED</code>, <code>CANCELLED</code>, and <code>DISBURSED</code>. The values <code>DISBURSED</code>, <code>REJECTED</code>, and <code>CANCELLED</code> are terminal. The other values indicate the attestation is still in progress.</p>
2059
+ * @public
2060
+ */
2061
+ attestationStatus: InvestmentAttestationStatus | undefined;
2062
+ /**
2063
+ * <p>The start date on which the investment is disbursed to the investment accounts. This is not the same as the time of disbursement, but reflects the date you submitted with the attestation.</p>
2064
+ * @public
2065
+ */
2066
+ investmentDisbursedAt?: Date | undefined;
2067
+ /**
2068
+ * <p>The monetary value attested.</p>
2069
+ * @public
2070
+ */
2071
+ attestedValue?: Amount | undefined;
2072
+ /**
2073
+ * <p>The distribution of the attested investment across the eligible investment accounts. The list contains at most 200 distributions.</p>
2074
+ * @public
2075
+ */
2076
+ investmentDistributions?: InvestmentDistribution[] | undefined;
2077
+ /**
2078
+ * <p>The reasons the attestation was rejected. This value is present only when <code>attestationStatus</code> is <code>REJECTED</code>. The list contains at most 30 reasons.</p>
2079
+ * @public
2080
+ */
2081
+ rejectionReasons?: string[] | undefined;
2082
+ /**
2083
+ * <p>Indicates whether the attestation can be canceled with <code>CancelContractualInvestmentAttestation</code>.</p>
2084
+ * @public
2085
+ */
2086
+ isCancellable?: boolean | undefined;
2087
+ }
2088
+ /**
2089
+ * @public
2090
+ */
2091
+ export interface ListContractualInvestmentAttestationsResponse {
2092
+ /**
2093
+ * <p>The list of investment attestations submitted under the contract.</p>
2094
+ * @public
2095
+ */
2096
+ items: InvestmentAttestation[] | undefined;
2097
+ /**
2098
+ * <p>The pagination token to use on subsequent calls to retrieve the next set of results.</p>
2099
+ * @public
2100
+ */
2101
+ nextToken?: string | undefined;
2102
+ }
2103
+ /**
2104
+ * @public
2105
+ */
2106
+ export interface ListContractualInvestmentsRequest {
2107
+ /**
2108
+ * <p>The Amazon Resource Name (ARN) of the contract that contains the investment summary.</p>
2109
+ * @public
2110
+ */
2111
+ contractArn: string | undefined;
2112
+ /**
2113
+ * <p>The identifier of the investment summary whose investments you want to list.</p>
2114
+ * @public
2115
+ */
2116
+ investmentSummaryId: string | undefined;
2117
+ /**
2118
+ * <p>The pagination token that indicates the next set of results to retrieve.</p>
2119
+ * @public
2120
+ */
2121
+ nextToken?: string | undefined;
2122
+ /**
2123
+ * <p>The maximum number of investments to return in a single call. Minimum value of 1, maximum value of 100.</p>
2124
+ * @public
2125
+ */
2126
+ maxResults?: number | undefined;
2127
+ }
2128
+ /**
2129
+ * <p>An investment with a fixed value that is disbursed on a schedule. This corresponds to the <code>MILESTONE_BASED</code> investment type.</p>
2130
+ * @public
2131
+ */
2132
+ export interface MilestoneBasedInvestment {
2133
+ /**
2134
+ * <p>The identifier of the investment, as returned by <code>ListContractualInvestments</code>. This value is 1–36 characters.</p>
2135
+ * @public
2136
+ */
2137
+ investmentId: string | undefined;
2138
+ /**
2139
+ * <p>The total value of the investment, including its currency and amount.</p>
2140
+ * @public
2141
+ */
2142
+ investmentValue: Amount | undefined;
2143
+ /**
2144
+ * <p>The date on which the investment is disbursed to the investment accounts.</p>
2145
+ * @public
2146
+ */
2147
+ investmentDisbursedAt: Date | undefined;
2148
+ }
2149
+ /**
2150
+ * <p>A multiplier used to convert attestation input into an investment value.</p>
2151
+ * @public
2152
+ */
2153
+ export interface InvestmentMultiplier {
2154
+ /**
2155
+ * <p>The multiplier value, expressed as a decimal string to preserve precision. The value is digits with an optional decimal point and is 1–1000 characters. The terms of the contract define this value.</p>
2156
+ * @public
2157
+ */
2158
+ value: string | undefined;
2159
+ /**
2160
+ * <p>The unit of the attestation input that the multiplier applies to, such as <code>workloads migrated</code>. This value is 1–1000 characters. The terms of the contract define this value.</p>
2161
+ * @public
2162
+ */
2163
+ investmentAttestationInputUnit: string | undefined;
2164
+ /**
2165
+ * <p>The type of the multiplier. A value of <code>PERCENTAGE</code> applies a percentage of a value. A value of <code>CURRENCY_AMOUNT</code> applies a currency amount per unit of attestation input. The terms of the contract define this value.</p>
2166
+ * @public
2167
+ */
2168
+ multiplierType: MultiplierType | undefined;
2169
+ }
2170
+ /**
2171
+ * <p>A restriction that caps the value that can be disbursed for an investment. The cap applies for each attestation window.</p>
2172
+ * @public
2173
+ */
2174
+ export interface InvestmentRestriction {
2175
+ /**
2176
+ * <p>The maximum monetary amount allowed under the restriction.</p>
2177
+ * @public
2178
+ */
2179
+ amount: Amount | undefined;
2180
+ }
2181
+ /**
2182
+ * <p>An investment that is awarded upon completion of a defined outcome. This corresponds to the <code>OUTCOME_BASED</code> investment type and is claimed through <code>CreateContractualInvestmentAttestation</code>.</p>
2183
+ * @public
2184
+ */
2185
+ export interface OutcomeBasedInvestment {
2186
+ /**
2187
+ * <p>The identifier of the investment, as returned by <code>ListContractualInvestments</code>. This value is 1–36 characters.</p>
2188
+ * @public
2189
+ */
2190
+ investmentId: string | undefined;
2191
+ /**
2192
+ * <p>The description of what must be completed to attest the outcome. This value is 1–2048 characters.</p>
2193
+ * @public
2194
+ */
2195
+ outcomeDescription: string | undefined;
2196
+ /**
2197
+ * <p>The time window, expressed as an interval with inclusive start and end dates, during which outcomes can be attested to.</p>
2198
+ * @public
2199
+ */
2200
+ attestationWindow: Interval | undefined;
2201
+ /**
2202
+ * <p>The restrictions that cap the value that can be disbursed for the investment. The list contains at most 10 restrictions.</p>
2203
+ * @public
2204
+ */
2205
+ investmentRestrictions?: InvestmentRestriction[] | undefined;
2206
+ /**
2207
+ * <p>The multipliers used to compute the investment value from the attestation input. The list contains at most 200 multipliers. Multipliers are derived from the terms of the private pricing contract.</p>
2208
+ * @public
2209
+ */
2210
+ investmentMultipliers?: InvestmentMultiplier[] | undefined;
2211
+ /**
2212
+ * <p>The total value already disbursed against the investment. This value can be distributed among the investment accounts distribution.</p>
2213
+ * @public
2214
+ */
2215
+ disbursedValue: Amount | undefined;
2216
+ }
2217
+ /**
2218
+ * <p>An investment within an investment summary. This is a union in which exactly one member is set. The <code>milestoneBasedInvestment</code> member represents a fixed, scheduled investment. The <code>outcomeBasedInvestment</code> member represents an attestable investment awarded upon completion of a defined outcome. Check which member is present to determine the investment type.</p>
2219
+ * @public
2220
+ */
2221
+ export type Investment = Investment.MilestoneBasedInvestmentMember | Investment.OutcomeBasedInvestmentMember | Investment.$UnknownMember;
2222
+ /**
2223
+ * @public
2224
+ */
2225
+ export declare namespace Investment {
2226
+ /**
2227
+ * <p>An investment with a fixed value that is disbursed on a schedule. This member is set for a milestone-based investment and corresponds to the <code>MILESTONE_BASED</code> investment type.</p>
2228
+ * @public
2229
+ */
2230
+ interface MilestoneBasedInvestmentMember {
2231
+ milestoneBasedInvestment: MilestoneBasedInvestment;
2232
+ outcomeBasedInvestment?: never;
2233
+ $unknown?: never;
2234
+ }
2235
+ /**
2236
+ * <p>An investment that is awarded upon completion of a defined outcome. This member is set for an outcome-based (attestable) investment and corresponds to the <code>OUTCOME_BASED</code> investment type.</p>
2237
+ * @public
2238
+ */
2239
+ interface OutcomeBasedInvestmentMember {
2240
+ milestoneBasedInvestment?: never;
2241
+ outcomeBasedInvestment: OutcomeBasedInvestment;
2242
+ $unknown?: never;
2243
+ }
2244
+ /**
2245
+ * @public
2246
+ */
2247
+ interface $UnknownMember {
2248
+ milestoneBasedInvestment?: never;
2249
+ outcomeBasedInvestment?: never;
2250
+ $unknown: [string, any];
2251
+ }
2252
+ /**
2253
+ * @deprecated unused in schema-serde mode.
2254
+ *
2255
+ */
2256
+ interface Visitor<T> {
2257
+ milestoneBasedInvestment: (value: MilestoneBasedInvestment) => T;
2258
+ outcomeBasedInvestment: (value: OutcomeBasedInvestment) => T;
2259
+ _: (name: string, value: any) => T;
2260
+ }
2261
+ }
2262
+ /**
2263
+ * @public
2264
+ */
2265
+ export interface ListContractualInvestmentsResponse {
2266
+ /**
2267
+ * <p>The list of investments for the investment summary.</p>
2268
+ * @public
2269
+ */
2270
+ items: Investment[] | undefined;
2271
+ /**
2272
+ * <p>The pagination token to use on subsequent calls to retrieve the next set of results.</p>
2273
+ * @public
2274
+ */
2275
+ nextToken?: string | undefined;
2276
+ }
2277
+ /**
2278
+ * @public
2279
+ */
2280
+ export interface ListContractualInvestmentSummariesRequest {
2281
+ /**
2282
+ * <p>The Amazon Resource Name (ARN) of the contract whose investment summaries you want to list.</p>
2283
+ * @public
2284
+ */
2285
+ contractArn: string | undefined;
2286
+ /**
2287
+ * <p>The pagination token that indicates the next set of results to retrieve.</p>
2288
+ * @public
2289
+ */
2290
+ nextToken?: string | undefined;
2291
+ /**
2292
+ * <p>The maximum number of investment summaries to return in a single call. Minimum value of 1, maximum value of 100.</p>
2293
+ * @public
2294
+ */
2295
+ maxResults?: number | undefined;
2296
+ }
2297
+ /**
2298
+ * <p>Detailed information about an investment summary within a contract or a private pricing addendum.</p>
2299
+ * @public
2300
+ */
2301
+ export interface InvestmentSummary {
2302
+ /**
2303
+ * <p>The identifier of the investment summary. Pass this value to <code>ListContractualInvestments</code> to list the investments within the summary, and to <code>CreateContractualInvestmentAttestation</code> to attest an investment. This value is 1–36 characters.</p>
2304
+ * @public
2305
+ */
2306
+ investmentSummaryId: string | undefined;
2307
+ /**
2308
+ * <p>The name of the investment summary, used to reference the investment against a term in the physical contract. This value is 1–400 characters.</p>
2309
+ * @public
2310
+ */
2311
+ investmentName: string | undefined;
2312
+ /**
2313
+ * <p>The type of the investment summary. Valid values are <code>MILESTONE_BASED</code> and <code>OUTCOME_BASED</code>. <code>OUTCOME_BASED</code> investments can be attested to, upon completion of outcomes. <code>MILESTONE_BASED</code> are automatically triggered by Amazon Web Services, based on the time schedule in the contract.</p>
2314
+ * @public
2315
+ */
2316
+ investmentType: InvestmentType | undefined;
2317
+ /**
2318
+ * <p>The maximum monetary value that can be disbursed against the investment summary, inclusive of all outcomes combined under the summary.</p>
2319
+ * @public
2320
+ */
2321
+ maxAllowedInvestmentDisbursementValue?: Amount | undefined;
2322
+ }
2323
+ /**
2324
+ * @public
2325
+ */
2326
+ export interface ListContractualInvestmentSummariesResponse {
2327
+ /**
2328
+ * <p>The list of investment summaries under the contract. It includes the investment name, maximum investment amount, and investment type. It does not provide investment details. Use this to know if the contract has investment terms and what type.</p>
2329
+ * @public
2330
+ */
2331
+ items: InvestmentSummary[] | undefined;
2332
+ /**
2333
+ * <p>The pagination token to use on subsequent calls to retrieve the next set of results.</p>
2334
+ * @public
2335
+ */
2336
+ nextToken?: string | undefined;
2337
+ }
1570
2338
  /**
1571
2339
  * <p>The request structure for ListEnterpriseSupportLinkedAccountCharges.</p>
1572
2340
  * @public