Skip to content

Commit 4e32b65

Browse files
author
awstools
committed
feat(client-billingconductor): This release adds support for Billing Transfers, enabling management of billing transfers with billing groups on AWS Billing Conductor.
1 parent 2a15be8 commit 4e32b65

File tree

7 files changed

+351
-37
lines changed

7 files changed

+351
-37
lines changed

clients/client-billingconductor/src/commands/CreateBillingGroupCommand.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,11 @@ export interface CreateBillingGroupCommandOutput extends CreateBillingGroupOutpu
4040
* ClientToken: "STRING_VALUE",
4141
* Name: "STRING_VALUE", // required
4242
* AccountGrouping: { // AccountGrouping
43-
* LinkedAccountIds: [ // AccountIdList // required
43+
* LinkedAccountIds: [ // AccountIdList
4444
* "STRING_VALUE",
4545
* ],
4646
* AutoAssociate: true || false,
47+
* ResponsibilityTransferArn: "STRING_VALUE",
4748
* },
4849
* ComputationPreference: { // ComputationPreference
4950
* PricingPlanArn: "STRING_VALUE", // required

clients/client-billingconductor/src/commands/ListBillingGroupsCommand.ts

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,24 @@ export interface ListBillingGroupsCommandOutput extends ListBillingGroupsOutput,
4646
* ],
4747
* PricingPlan: "STRING_VALUE",
4848
* Statuses: [ // BillingGroupStatusList
49-
* "ACTIVE" || "PRIMARY_ACCOUNT_MISSING",
49+
* "ACTIVE" || "PRIMARY_ACCOUNT_MISSING" || "PENDING",
5050
* ],
5151
* AutoAssociate: true || false,
52+
* PrimaryAccountIds: [ // PrimaryAccountIdList
53+
* "STRING_VALUE",
54+
* ],
55+
* BillingGroupTypes: [ // BillingGroupTypeList
56+
* "STANDARD" || "TRANSFER_BILLING",
57+
* ],
58+
* Names: [ // StringSearches
59+
* { // StringSearch
60+
* SearchOption: "STARTS_WITH", // required
61+
* SearchValue: "STRING_VALUE", // required
62+
* },
63+
* ],
64+
* ResponsibilityTransferArns: [ // ResponsibilityTransferArnsList
65+
* "STRING_VALUE",
66+
* ],
5267
* },
5368
* };
5469
* const command = new ListBillingGroupsCommand(input);
@@ -66,11 +81,13 @@ export interface ListBillingGroupsCommandOutput extends ListBillingGroupsOutput,
6681
* // Size: Number("long"),
6782
* // CreationTime: Number("long"),
6883
* // LastModifiedTime: Number("long"),
69-
* // Status: "ACTIVE" || "PRIMARY_ACCOUNT_MISSING",
84+
* // Status: "ACTIVE" || "PRIMARY_ACCOUNT_MISSING" || "PENDING",
7085
* // StatusReason: "STRING_VALUE",
7186
* // AccountGrouping: { // ListBillingGroupAccountGrouping
7287
* // AutoAssociate: true || false,
88+
* // ResponsibilityTransferArn: "STRING_VALUE",
7389
* // },
90+
* // BillingGroupType: "STANDARD" || "TRANSFER_BILLING",
7491
* // },
7592
* // ],
7693
* // NextToken: "STRING_VALUE",

clients/client-billingconductor/src/commands/UpdateBillingGroupCommand.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,14 @@ export interface UpdateBillingGroupCommandOutput extends UpdateBillingGroupOutpu
3939
* const input = { // UpdateBillingGroupInput
4040
* Arn: "STRING_VALUE", // required
4141
* Name: "STRING_VALUE",
42-
* Status: "ACTIVE" || "PRIMARY_ACCOUNT_MISSING",
42+
* Status: "ACTIVE" || "PRIMARY_ACCOUNT_MISSING" || "PENDING",
4343
* ComputationPreference: { // ComputationPreference
4444
* PricingPlanArn: "STRING_VALUE", // required
4545
* },
4646
* Description: "STRING_VALUE",
4747
* AccountGrouping: { // UpdateBillingGroupAccountGrouping
4848
* AutoAssociate: true || false,
49+
* ResponsibilityTransferArn: "STRING_VALUE",
4950
* },
5051
* };
5152
* const command = new UpdateBillingGroupCommand(input);
@@ -58,10 +59,11 @@ export interface UpdateBillingGroupCommandOutput extends UpdateBillingGroupOutpu
5859
* // PricingPlanArn: "STRING_VALUE",
5960
* // Size: Number("long"),
6061
* // LastModifiedTime: Number("long"),
61-
* // Status: "ACTIVE" || "PRIMARY_ACCOUNT_MISSING",
62+
* // Status: "ACTIVE" || "PRIMARY_ACCOUNT_MISSING" || "PENDING",
6263
* // StatusReason: "STRING_VALUE",
6364
* // AccountGrouping: { // UpdateBillingGroupAccountGrouping
6465
* // AutoAssociate: true || false,
66+
* // ResponsibilityTransferArn: "STRING_VALUE",
6567
* // },
6668
* // };
6769
*

clients/client-billingconductor/src/models/enums.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ export const ValidationExceptionReason = {
3232
ILLEGAL_ACCOUNTS: "ILLEGAL_ACCOUNTS",
3333
ILLEGAL_ACCOUNT_ID: "ILLEGAL_ACCOUNT_ID",
3434
ILLEGAL_BILLING_ENTITY: "ILLEGAL_BILLING_ENTITY",
35+
ILLEGAL_BILLING_GROUP_TYPE: "ILLEGAL_BILLING_GROUP_TYPE",
3536
ILLEGAL_BILLING_PERIOD: "ILLEGAL_BILLING_PERIOD",
3637
ILLEGAL_BILLING_PERIOD_RANGE: "ILLEGAL_BILLING_PERIOD_RANGE",
3738
ILLEGAL_CHARGE_DETAILS: "ILLEGAL_CHARGE_DETAILS",
@@ -107,12 +108,38 @@ export const AssociateResourceErrorReason = {
107108
export type AssociateResourceErrorReason =
108109
(typeof AssociateResourceErrorReason)[keyof typeof AssociateResourceErrorReason];
109110

111+
/**
112+
* @public
113+
* @enum
114+
*/
115+
export const BillingGroupType = {
116+
STANDARD: "STANDARD",
117+
TRANSFER_BILLING: "TRANSFER_BILLING",
118+
} as const;
119+
/**
120+
* @public
121+
*/
122+
export type BillingGroupType = (typeof BillingGroupType)[keyof typeof BillingGroupType];
123+
124+
/**
125+
* @public
126+
* @enum
127+
*/
128+
export const SearchOption = {
129+
STARTS_WITH: "STARTS_WITH",
130+
} as const;
131+
/**
132+
* @public
133+
*/
134+
export type SearchOption = (typeof SearchOption)[keyof typeof SearchOption];
135+
110136
/**
111137
* @public
112138
* @enum
113139
*/
114140
export const BillingGroupStatus = {
115141
ACTIVE: "ACTIVE",
142+
PENDING: "PENDING",
116143
PRIMARY_ACCOUNT_MISSING: "PRIMARY_ACCOUNT_MISSING",
117144
} as const;
118145
/**

clients/client-billingconductor/src/models/models_0.ts

Lines changed: 79 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import {
33
AssociateResourceErrorReason,
44
BillingGroupStatus,
5+
BillingGroupType,
56
ComputationRuleEnum,
67
CurrencyCode,
78
CustomLineItemRelationship,
@@ -12,6 +13,7 @@ import {
1213
MatchOption,
1314
PricingRuleScope,
1415
PricingRuleType,
16+
SearchOption,
1517
} from "./enums";
1618

1719
/**
@@ -53,13 +55,19 @@ export interface AccountGrouping {
5355
* <p>The account IDs that make up the billing group. Account IDs must be a part of the consolidated billing family, and not associated with another billing group.</p>
5456
* @public
5557
*/
56-
LinkedAccountIds: string[] | undefined;
58+
LinkedAccountIds?: string[] | undefined;
5759

5860
/**
5961
* <p>Specifies if this billing group will automatically associate newly added Amazon Web Services accounts that join your consolidated billing family.</p>
6062
* @public
6163
*/
6264
AutoAssociate?: boolean | undefined;
65+
66+
/**
67+
* <p> The Amazon Resource Name (ARN) that identifies the transfer relationship owned by the Bill Transfer account (caller account). When specified, the PrimaryAccountId is no longer required. </p>
68+
* @public
69+
*/
70+
ResponsibilityTransferArn?: string | undefined;
6371
}
6472

6573
/**
@@ -310,6 +318,24 @@ export interface DisassociateAccountsOutput {
310318
Arn?: string | undefined;
311319
}
312320

321+
/**
322+
* <p> A structure that defines string search parameters. </p>
323+
* @public
324+
*/
325+
export interface StringSearch {
326+
/**
327+
* <p> The search option to be applied when performing the string search. </p>
328+
* @public
329+
*/
330+
SearchOption: SearchOption | undefined;
331+
332+
/**
333+
* <p> The value to search for within the specified string field. </p>
334+
* @public
335+
*/
336+
SearchValue: string | undefined;
337+
}
338+
313339
/**
314340
* <p>The filter that specifies the billing groups and pricing plans to retrieve billing group information.</p>
315341
* @public
@@ -338,6 +364,30 @@ export interface ListBillingGroupsFilter {
338364
* @public
339365
*/
340366
AutoAssociate?: boolean | undefined;
367+
368+
/**
369+
* <p> A list of primary account IDs to filter the billing groups. </p>
370+
* @public
371+
*/
372+
PrimaryAccountIds?: string[] | undefined;
373+
374+
/**
375+
* <p> Filter billing groups by their type. </p>
376+
* @public
377+
*/
378+
BillingGroupTypes?: BillingGroupType[] | undefined;
379+
380+
/**
381+
* <p> Filter billing groups by their names. </p>
382+
* @public
383+
*/
384+
Names?: StringSearch[] | undefined;
385+
386+
/**
387+
* <p> Filter billing groups by their responsibility transfer ARNs. </p>
388+
* @public
389+
*/
390+
ResponsibilityTransferArns?: string[] | undefined;
341391
}
342392

343393
/**
@@ -379,6 +429,12 @@ export interface ListBillingGroupAccountGrouping {
379429
* @public
380430
*/
381431
AutoAssociate?: boolean | undefined;
432+
433+
/**
434+
* <p> The Amazon Resource Name (ARN) that identifies the transfer relationship for the billing group. </p>
435+
* @public
436+
*/
437+
ResponsibilityTransferArn?: string | undefined;
382438
}
383439

384440
/**
@@ -451,6 +507,12 @@ export interface BillingGroupListElement {
451507
* @public
452508
*/
453509
AccountGrouping?: ListBillingGroupAccountGrouping | undefined;
510+
511+
/**
512+
* <p> The type of billing group. </p>
513+
* @public
514+
*/
515+
BillingGroupType?: BillingGroupType | undefined;
454516
}
455517

456518
/**
@@ -480,6 +542,12 @@ export interface UpdateBillingGroupAccountGrouping {
480542
* @public
481543
*/
482544
AutoAssociate?: boolean | undefined;
545+
546+
/**
547+
* <p> The Amazon Resource Name (ARN) that identifies the transfer relationship. Note: Modifications to the ResponsibilityTransferArn are not permitted for existing billing groups. </p>
548+
* @public
549+
*/
550+
ResponsibilityTransferArn?: string | undefined;
483551
}
484552

485553
/**
@@ -717,7 +785,7 @@ export interface CustomLineItemFlatChargeDetails {
717785
}
718786

719787
/**
720-
* <p>A representation of the line item filter for your custom line item. You can use line item filters to include or exclude specific resource values from the billing group's total cost. For example, if you create a custom line item and you want to filter out a value, such as Savings Plan discounts, you can update <code>LineItemFilter</code> to exclude it.</p>
788+
* <p>A representation of the line item filter for your custom line item. You can use line item filters to include or exclude specific resource values from the billing group's total cost. For example, if you create a custom line item and you want to filter out a value, such as Savings Plans discounts, you can update <code>LineItemFilter</code> to exclude it.</p>
721789
* @public
722790
*/
723791
export interface LineItemFilter {
@@ -734,7 +802,7 @@ export interface LineItemFilter {
734802
MatchOption: MatchOption | undefined;
735803

736804
/**
737-
* <p>The values of the line item filter. This specifies the values to filter on. Currently, you can only exclude Savings Plan discounts.</p>
805+
* <p>The values of the line item filter. This specifies the values to filter on. Currently, you can only exclude Savings Plans discounts.</p>
738806
* @public
739807
*/
740808
Values: LineItemFilterValue[] | undefined;
@@ -789,12 +857,12 @@ export interface CustomLineItemChargeDetails {
789857
}
790858

791859
/**
792-
* The presentation configuration of the custom line item
860+
* <p> An object that defines how custom line item charges are presented in the bill, containing specifications for service presentation. </p>
793861
* @public
794862
*/
795863
export interface PresentationObject {
796864
/**
797-
* This defines the service of where the custom line item is presented
865+
* <p> The service under which the custom line item charges will be presented. Must be a string between 1 and 128 characters matching the pattern "<code>^[a-zA-Z0-9]+$</code>". </p>
798866
* @public
799867
*/
800868
Service: string | undefined;
@@ -853,13 +921,13 @@ export interface CreateCustomLineItemInput {
853921
AccountId?: string | undefined;
854922

855923
/**
856-
* The display settings of the custom line item
924+
* <p> Specifies how the custom line item charges are computed. </p>
857925
* @public
858926
*/
859927
ComputationRule?: ComputationRuleEnum | undefined;
860928

861929
/**
862-
* The presentation configuration of the custom line item
930+
* <p> Details controlling how the custom line item charges are presented in the bill. Contains specifications for which service the charges will be shown under. </p>
863931
* @public
864932
*/
865933
PresentationDetails?: PresentationObject | undefined;
@@ -1089,13 +1157,13 @@ export interface CustomLineItemListElement {
10891157
AccountId?: string | undefined;
10901158

10911159
/**
1092-
* The display settings of the custom line item
1160+
* <p> The computation rule that determines how the custom line item charges are computed and reflected in the bill. </p>
10931161
* @public
10941162
*/
10951163
ComputationRule?: ComputationRuleEnum | undefined;
10961164

10971165
/**
1098-
* The presentation configuration of the custom line item
1166+
* <p> Configuration details specifying how the custom line item charges are presented, including which service the charges are shown under. </p>
10991167
* @public
11001168
*/
11011169
PresentationDetails?: PresentationObject | undefined;
@@ -1267,13 +1335,13 @@ export interface CustomLineItemVersionListElement {
12671335
AccountId?: string | undefined;
12681336

12691337
/**
1270-
* The display settings of the custom line item
1338+
* <p> The computation rule for a specific version of a custom line item, determining how charges are computed and reflected in the bill. </p>
12711339
* @public
12721340
*/
12731341
ComputationRule?: ComputationRuleEnum | undefined;
12741342

12751343
/**
1276-
* The presentation configuration of the custom line item
1344+
* <p> Presentation configuration for a specific version of a custom line item, specifying how charges are displayed in the bill. </p>
12771345
* @public
12781346
*/
12791347
PresentationDetails?: PresentationObject | undefined;

0 commit comments

Comments
 (0)