aws-sdk-billingconductor 1.17.0 → 1.19.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f938856c5ad9eb17255ab658ea49935ce68472e9c3eacb96d7ab8660ccddaef
4
- data.tar.gz: 7353a191067127cd3b8480a616132be9322141a75bfe939e986b3e21d7b777ac
3
+ metadata.gz: b792d769e4dbc91a7104a520e6ff25b236cc9f275f84c6e800cc7d5fe5b419f7
4
+ data.tar.gz: ed59f60bfd1789aefae2743fc0ff3ad0cfc1bdbe7a7f54f1e60ab52c49ab4345
5
5
  SHA512:
6
- metadata.gz: 452f58c84c9818629aa8caa24b809986ede32d9aae611ee5f9338aa35164a792216751108a0b70abea9f9ace03bb6b46a627378680f8fe246de6e086c22625fc
7
- data.tar.gz: ddad6051c852f245c021fe92c12b0cf76d014c2da53f4fde929e132cb4c2b0b2d03610a9df9ae441461243572d7404d9f9ce56d515b49f6cd5d63427e2dcf9e7
6
+ metadata.gz: e0d86edb633f6ae518084e4ea7b330fa1910aba1001c15b37f429a8f604541306d76d807a15118481f5b1560290f4f1dbf25965abf2c63c3faaa65acd194638d
7
+ data.tar.gz: 611ab7c4d4fdf8541bd2f158d93330c2c8b09440ee22468e03f2f173cfb4aba25899f24c1fd6a144632835dda9ab144a4827368c566bcde61cce35ded4d440f7
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.19.0 (2023-12-14)
5
+ ------------------
6
+
7
+ * Feature - Billing Conductor is releasing a new API, GetBillingGroupCostReport, which provides the ability to retrieve/view the Billing Group Cost Report broken down by attributes for a specific billing group.
8
+
9
+ 1.18.0 (2023-12-04)
10
+ ------------------
11
+
12
+ * Feature - This release adds the ability to specify a linked account of the billing group for the custom line item resource.
13
+
4
14
  1.17.0 (2023-11-28)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.17.0
1
+ 1.19.0
@@ -658,6 +658,10 @@ module Aws::BillingConductor
658
658
  # A `CustomLineItemChargeDetails` that describes the charge details for
659
659
  # a custom line item.
660
660
  #
661
+ # @option params [String] :account_id
662
+ # The Amazon Web Services account in which this custom line item will be
663
+ # applied to.
664
+ #
661
665
  # @return [Types::CreateCustomLineItemOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
662
666
  #
663
667
  # * {Types::CreateCustomLineItemOutput#arn #arn} => String
@@ -693,6 +697,7 @@ module Aws::BillingConductor
693
697
  # },
694
698
  # ],
695
699
  # },
700
+ # account_id: "AccountId",
696
701
  # })
697
702
  #
698
703
  # @example Response structure
@@ -1056,6 +1061,71 @@ module Aws::BillingConductor
1056
1061
  req.send_request(options)
1057
1062
  end
1058
1063
 
1064
+ # Retrieves the margin summary report, which includes the Amazon Web
1065
+ # Services cost and charged amount (pro forma cost) by Amazon Web
1066
+ # Service for a specific billing group.
1067
+ #
1068
+ # @option params [required, String] :arn
1069
+ # The Amazon Resource Number (ARN) that uniquely identifies the billing
1070
+ # group.
1071
+ #
1072
+ # @option params [Types::BillingPeriodRange] :billing_period_range
1073
+ # A time range for which the margin summary is effective. You can
1074
+ # specify up to 12 months.
1075
+ #
1076
+ # @option params [Array<String>] :group_by
1077
+ # A list of strings that specify the attributes that are used to break
1078
+ # down costs in the margin summary reports for the billing group. For
1079
+ # example, you can view your costs by the Amazon Web Service name or the
1080
+ # billing period.
1081
+ #
1082
+ # @option params [Integer] :max_results
1083
+ # The maximum number of margin summary reports to retrieve.
1084
+ #
1085
+ # @option params [String] :next_token
1086
+ # The pagination token used on subsequent calls to get reports.
1087
+ #
1088
+ # @return [Types::GetBillingGroupCostReportOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1089
+ #
1090
+ # * {Types::GetBillingGroupCostReportOutput#billing_group_cost_report_results #billing_group_cost_report_results} => Array&lt;Types::BillingGroupCostReportResultElement&gt;
1091
+ # * {Types::GetBillingGroupCostReportOutput#next_token #next_token} => String
1092
+ #
1093
+ # @example Request syntax with placeholder values
1094
+ #
1095
+ # resp = client.get_billing_group_cost_report({
1096
+ # arn: "BillingGroupArn", # required
1097
+ # billing_period_range: {
1098
+ # inclusive_start_billing_period: "BillingPeriod", # required
1099
+ # exclusive_end_billing_period: "BillingPeriod", # required
1100
+ # },
1101
+ # group_by: ["PRODUCT_NAME"], # accepts PRODUCT_NAME, BILLING_PERIOD
1102
+ # max_results: 1,
1103
+ # next_token: "Token",
1104
+ # })
1105
+ #
1106
+ # @example Response structure
1107
+ #
1108
+ # resp.billing_group_cost_report_results #=> Array
1109
+ # resp.billing_group_cost_report_results[0].arn #=> String
1110
+ # resp.billing_group_cost_report_results[0].aws_cost #=> String
1111
+ # resp.billing_group_cost_report_results[0].proforma_cost #=> String
1112
+ # resp.billing_group_cost_report_results[0].margin #=> String
1113
+ # resp.billing_group_cost_report_results[0].margin_percentage #=> String
1114
+ # resp.billing_group_cost_report_results[0].currency #=> String
1115
+ # resp.billing_group_cost_report_results[0].attributes #=> Array
1116
+ # resp.billing_group_cost_report_results[0].attributes[0].key #=> String
1117
+ # resp.billing_group_cost_report_results[0].attributes[0].value #=> String
1118
+ # resp.next_token #=> String
1119
+ #
1120
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/GetBillingGroupCostReport AWS API Documentation
1121
+ #
1122
+ # @overload get_billing_group_cost_report(params = {})
1123
+ # @param [Hash] params ({})
1124
+ def get_billing_group_cost_report(params = {}, options = {})
1125
+ req = build_request(:get_billing_group_cost_report, params)
1126
+ req.send_request(options)
1127
+ end
1128
+
1059
1129
  # This is a paginated call to list linked accounts that are linked to
1060
1130
  # the payer account for the specified time period. If no information is
1061
1131
  # provided, the current billing period is used. The response will
@@ -1297,6 +1367,7 @@ module Aws::BillingConductor
1297
1367
  # resp.custom_line_item_versions[0].end_billing_period #=> String
1298
1368
  # resp.custom_line_item_versions[0].arn #=> String
1299
1369
  # resp.custom_line_item_versions[0].start_time #=> Integer
1370
+ # resp.custom_line_item_versions[0].account_id #=> String
1300
1371
  # resp.next_token #=> String
1301
1372
  #
1302
1373
  # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListCustomLineItemVersions AWS API Documentation
@@ -1344,6 +1415,7 @@ module Aws::BillingConductor
1344
1415
  # names: ["CustomLineItemName"],
1345
1416
  # billing_groups: ["BillingGroupArn"],
1346
1417
  # arns: ["CustomLineItemArn"],
1418
+ # account_ids: ["AccountId"],
1347
1419
  # },
1348
1420
  # })
1349
1421
  #
@@ -1367,6 +1439,7 @@ module Aws::BillingConductor
1367
1439
  # resp.custom_line_items[0].creation_time #=> Integer
1368
1440
  # resp.custom_line_items[0].last_modified_time #=> Integer
1369
1441
  # resp.custom_line_items[0].association_size #=> Integer
1442
+ # resp.custom_line_items[0].account_id #=> String
1370
1443
  # resp.next_token #=> String
1371
1444
  #
1372
1445
  # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListCustomLineItems AWS API Documentation
@@ -2041,7 +2114,7 @@ module Aws::BillingConductor
2041
2114
  params: params,
2042
2115
  config: config)
2043
2116
  context[:gem_name] = 'aws-sdk-billingconductor'
2044
- context[:gem_version] = '1.17.0'
2117
+ context[:gem_version] = '1.19.0'
2045
2118
  Seahorse::Client::Request.new(handlers, context)
2046
2119
  end
2047
2120
 
@@ -33,6 +33,8 @@ module Aws::BillingConductor
33
33
  AssociateResourceResponseElement = Shapes::StructureShape.new(name: 'AssociateResourceResponseElement')
34
34
  AssociateResourcesResponseList = Shapes::ListShape.new(name: 'AssociateResourcesResponseList')
35
35
  Association = Shapes::StringShape.new(name: 'Association')
36
+ Attribute = Shapes::StructureShape.new(name: 'Attribute')
37
+ AttributesList = Shapes::ListShape.new(name: 'AttributesList')
36
38
  BatchAssociateResourcesToCustomLineItemInput = Shapes::StructureShape.new(name: 'BatchAssociateResourcesToCustomLineItemInput')
37
39
  BatchAssociateResourcesToCustomLineItemOutput = Shapes::StructureShape.new(name: 'BatchAssociateResourcesToCustomLineItemOutput')
38
40
  BatchDisassociateResourcesFromCustomLineItemInput = Shapes::StructureShape.new(name: 'BatchDisassociateResourcesFromCustomLineItemInput')
@@ -42,6 +44,8 @@ module Aws::BillingConductor
42
44
  BillingGroupArnList = Shapes::ListShape.new(name: 'BillingGroupArnList')
43
45
  BillingGroupCostReportElement = Shapes::StructureShape.new(name: 'BillingGroupCostReportElement')
44
46
  BillingGroupCostReportList = Shapes::ListShape.new(name: 'BillingGroupCostReportList')
47
+ BillingGroupCostReportResultElement = Shapes::StructureShape.new(name: 'BillingGroupCostReportResultElement')
48
+ BillingGroupCostReportResultsList = Shapes::ListShape.new(name: 'BillingGroupCostReportResultsList')
45
49
  BillingGroupDescription = Shapes::StringShape.new(name: 'BillingGroupDescription')
46
50
  BillingGroupFullArn = Shapes::StringShape.new(name: 'BillingGroupFullArn')
47
51
  BillingGroupList = Shapes::ListShape.new(name: 'BillingGroupList')
@@ -51,6 +55,7 @@ module Aws::BillingConductor
51
55
  BillingGroupStatusList = Shapes::ListShape.new(name: 'BillingGroupStatusList')
52
56
  BillingGroupStatusReason = Shapes::StringShape.new(name: 'BillingGroupStatusReason')
53
57
  BillingPeriod = Shapes::StringShape.new(name: 'BillingPeriod')
58
+ BillingPeriodRange = Shapes::StructureShape.new(name: 'BillingPeriodRange')
54
59
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
55
60
  ClientToken = Shapes::StringShape.new(name: 'ClientToken')
56
61
  ComputationPreference = Shapes::StructureShape.new(name: 'ComputationPreference')
@@ -105,6 +110,10 @@ module Aws::BillingConductor
105
110
  DisassociateResourceResponseElement = Shapes::StructureShape.new(name: 'DisassociateResourceResponseElement')
106
111
  DisassociateResourcesResponseList = Shapes::ListShape.new(name: 'DisassociateResourcesResponseList')
107
112
  FreeTierConfig = Shapes::StructureShape.new(name: 'FreeTierConfig')
113
+ GetBillingGroupCostReportInput = Shapes::StructureShape.new(name: 'GetBillingGroupCostReportInput')
114
+ GetBillingGroupCostReportOutput = Shapes::StructureShape.new(name: 'GetBillingGroupCostReportOutput')
115
+ GroupByAttributeName = Shapes::StringShape.new(name: 'GroupByAttributeName')
116
+ GroupByAttributesList = Shapes::ListShape.new(name: 'GroupByAttributesList')
108
117
  Instant = Shapes::IntegerShape.new(name: 'Instant')
109
118
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
110
119
  LineItemFilter = Shapes::StructureShape.new(name: 'LineItemFilter')
@@ -152,6 +161,7 @@ module Aws::BillingConductor
152
161
  Margin = Shapes::StringShape.new(name: 'Margin')
153
162
  MarginPercentage = Shapes::StringShape.new(name: 'MarginPercentage')
154
163
  MatchOption = Shapes::StringShape.new(name: 'MatchOption')
164
+ MaxBillingGroupCostReportResults = Shapes::IntegerShape.new(name: 'MaxBillingGroupCostReportResults')
155
165
  MaxBillingGroupResults = Shapes::IntegerShape.new(name: 'MaxBillingGroupResults')
156
166
  MaxCustomLineItemResults = Shapes::IntegerShape.new(name: 'MaxCustomLineItemResults')
157
167
  MaxPricingPlanResults = Shapes::IntegerShape.new(name: 'MaxPricingPlanResults')
@@ -260,6 +270,12 @@ module Aws::BillingConductor
260
270
 
261
271
  AssociateResourcesResponseList.member = Shapes::ShapeRef.new(shape: AssociateResourceResponseElement)
262
272
 
273
+ Attribute.add_member(:key, Shapes::ShapeRef.new(shape: String, location_name: "Key"))
274
+ Attribute.add_member(:value, Shapes::ShapeRef.new(shape: String, location_name: "Value"))
275
+ Attribute.struct_class = Types::Attribute
276
+
277
+ AttributesList.member = Shapes::ShapeRef.new(shape: Attribute)
278
+
263
279
  BatchAssociateResourcesToCustomLineItemInput.add_member(:target_arn, Shapes::ShapeRef.new(shape: CustomLineItemArn, required: true, location_name: "TargetArn"))
264
280
  BatchAssociateResourcesToCustomLineItemInput.add_member(:resource_arns, Shapes::ShapeRef.new(shape: CustomLineItemBatchAssociationsList, required: true, location_name: "ResourceArns"))
265
281
  BatchAssociateResourcesToCustomLineItemInput.add_member(:billing_period_range, Shapes::ShapeRef.new(shape: CustomLineItemBillingPeriodRange, location_name: "BillingPeriodRange"))
@@ -290,6 +306,17 @@ module Aws::BillingConductor
290
306
 
291
307
  BillingGroupCostReportList.member = Shapes::ShapeRef.new(shape: BillingGroupCostReportElement)
292
308
 
309
+ BillingGroupCostReportResultElement.add_member(:arn, Shapes::ShapeRef.new(shape: BillingGroupArn, location_name: "Arn"))
310
+ BillingGroupCostReportResultElement.add_member(:aws_cost, Shapes::ShapeRef.new(shape: AWSCost, location_name: "AWSCost"))
311
+ BillingGroupCostReportResultElement.add_member(:proforma_cost, Shapes::ShapeRef.new(shape: ProformaCost, location_name: "ProformaCost"))
312
+ BillingGroupCostReportResultElement.add_member(:margin, Shapes::ShapeRef.new(shape: Margin, location_name: "Margin"))
313
+ BillingGroupCostReportResultElement.add_member(:margin_percentage, Shapes::ShapeRef.new(shape: MarginPercentage, location_name: "MarginPercentage"))
314
+ BillingGroupCostReportResultElement.add_member(:currency, Shapes::ShapeRef.new(shape: Currency, location_name: "Currency"))
315
+ BillingGroupCostReportResultElement.add_member(:attributes, Shapes::ShapeRef.new(shape: AttributesList, location_name: "Attributes"))
316
+ BillingGroupCostReportResultElement.struct_class = Types::BillingGroupCostReportResultElement
317
+
318
+ BillingGroupCostReportResultsList.member = Shapes::ShapeRef.new(shape: BillingGroupCostReportResultElement)
319
+
293
320
  BillingGroupList.member = Shapes::ShapeRef.new(shape: BillingGroupListElement)
294
321
 
295
322
  BillingGroupListElement.add_member(:name, Shapes::ShapeRef.new(shape: BillingGroupName, location_name: "Name"))
@@ -307,6 +334,10 @@ module Aws::BillingConductor
307
334
 
308
335
  BillingGroupStatusList.member = Shapes::ShapeRef.new(shape: BillingGroupStatus)
309
336
 
337
+ BillingPeriodRange.add_member(:inclusive_start_billing_period, Shapes::ShapeRef.new(shape: BillingPeriod, required: true, location_name: "InclusiveStartBillingPeriod"))
338
+ BillingPeriodRange.add_member(:exclusive_end_billing_period, Shapes::ShapeRef.new(shape: BillingPeriod, required: true, location_name: "ExclusiveEndBillingPeriod"))
339
+ BillingPeriodRange.struct_class = Types::BillingPeriodRange
340
+
310
341
  ComputationPreference.add_member(:pricing_plan_arn, Shapes::ShapeRef.new(shape: PricingPlanFullArn, required: true, location_name: "PricingPlanArn"))
311
342
  ComputationPreference.struct_class = Types::ComputationPreference
312
343
 
@@ -335,6 +366,7 @@ module Aws::BillingConductor
335
366
  CreateCustomLineItemInput.add_member(:billing_period_range, Shapes::ShapeRef.new(shape: CustomLineItemBillingPeriodRange, location_name: "BillingPeriodRange"))
336
367
  CreateCustomLineItemInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
337
368
  CreateCustomLineItemInput.add_member(:charge_details, Shapes::ShapeRef.new(shape: CustomLineItemChargeDetails, required: true, location_name: "ChargeDetails"))
369
+ CreateCustomLineItemInput.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "AccountId"))
338
370
  CreateCustomLineItemInput.struct_class = Types::CreateCustomLineItemInput
339
371
 
340
372
  CreateCustomLineItemOutput.add_member(:arn, Shapes::ShapeRef.new(shape: CustomLineItemArn, location_name: "Arn"))
@@ -406,6 +438,7 @@ module Aws::BillingConductor
406
438
  CustomLineItemListElement.add_member(:creation_time, Shapes::ShapeRef.new(shape: Instant, location_name: "CreationTime"))
407
439
  CustomLineItemListElement.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: Instant, location_name: "LastModifiedTime"))
408
440
  CustomLineItemListElement.add_member(:association_size, Shapes::ShapeRef.new(shape: NumberOfAssociations, location_name: "AssociationSize"))
441
+ CustomLineItemListElement.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "AccountId"))
409
442
  CustomLineItemListElement.struct_class = Types::CustomLineItemListElement
410
443
 
411
444
  CustomLineItemNameList.member = Shapes::ShapeRef.new(shape: CustomLineItemName)
@@ -429,6 +462,7 @@ module Aws::BillingConductor
429
462
  CustomLineItemVersionListElement.add_member(:end_billing_period, Shapes::ShapeRef.new(shape: BillingPeriod, location_name: "EndBillingPeriod"))
430
463
  CustomLineItemVersionListElement.add_member(:arn, Shapes::ShapeRef.new(shape: CustomLineItemArn, location_name: "Arn"))
431
464
  CustomLineItemVersionListElement.add_member(:start_time, Shapes::ShapeRef.new(shape: Instant, location_name: "StartTime"))
465
+ CustomLineItemVersionListElement.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "AccountId"))
432
466
  CustomLineItemVersionListElement.struct_class = Types::CustomLineItemVersionListElement
433
467
 
434
468
  DeleteBillingGroupInput.add_member(:arn, Shapes::ShapeRef.new(shape: BillingGroupArn, required: true, location_name: "Arn"))
@@ -479,6 +513,19 @@ module Aws::BillingConductor
479
513
  FreeTierConfig.add_member(:activated, Shapes::ShapeRef.new(shape: TieringActivated, required: true, location_name: "Activated"))
480
514
  FreeTierConfig.struct_class = Types::FreeTierConfig
481
515
 
516
+ GetBillingGroupCostReportInput.add_member(:arn, Shapes::ShapeRef.new(shape: BillingGroupArn, required: true, location_name: "Arn"))
517
+ GetBillingGroupCostReportInput.add_member(:billing_period_range, Shapes::ShapeRef.new(shape: BillingPeriodRange, location_name: "BillingPeriodRange"))
518
+ GetBillingGroupCostReportInput.add_member(:group_by, Shapes::ShapeRef.new(shape: GroupByAttributesList, location_name: "GroupBy"))
519
+ GetBillingGroupCostReportInput.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxBillingGroupCostReportResults, location_name: "MaxResults"))
520
+ GetBillingGroupCostReportInput.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
521
+ GetBillingGroupCostReportInput.struct_class = Types::GetBillingGroupCostReportInput
522
+
523
+ GetBillingGroupCostReportOutput.add_member(:billing_group_cost_report_results, Shapes::ShapeRef.new(shape: BillingGroupCostReportResultsList, location_name: "BillingGroupCostReportResults"))
524
+ GetBillingGroupCostReportOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
525
+ GetBillingGroupCostReportOutput.struct_class = Types::GetBillingGroupCostReportOutput
526
+
527
+ GroupByAttributesList.member = Shapes::ShapeRef.new(shape: GroupByAttributeName)
528
+
482
529
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Message"))
483
530
  InternalServerException.add_member(:retry_after_seconds, Shapes::ShapeRef.new(shape: RetryAfterSeconds, location: "header", location_name: "Retry-After"))
484
531
  InternalServerException.struct_class = Types::InternalServerException
@@ -570,6 +617,7 @@ module Aws::BillingConductor
570
617
  ListCustomLineItemsFilter.add_member(:names, Shapes::ShapeRef.new(shape: CustomLineItemNameList, location_name: "Names"))
571
618
  ListCustomLineItemsFilter.add_member(:billing_groups, Shapes::ShapeRef.new(shape: BillingGroupArnList, location_name: "BillingGroups"))
572
619
  ListCustomLineItemsFilter.add_member(:arns, Shapes::ShapeRef.new(shape: CustomLineItemArns, location_name: "Arns"))
620
+ ListCustomLineItemsFilter.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIdList, location_name: "AccountIds"))
573
621
  ListCustomLineItemsFilter.struct_class = Types::ListCustomLineItemsFilter
574
622
 
575
623
  ListCustomLineItemsInput.add_member(:billing_period, Shapes::ShapeRef.new(shape: BillingPeriod, location_name: "BillingPeriod"))
@@ -1049,6 +1097,19 @@ module Aws::BillingConductor
1049
1097
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1050
1098
  end)
1051
1099
 
1100
+ api.add_operation(:get_billing_group_cost_report, Seahorse::Model::Operation.new.tap do |o|
1101
+ o.name = "GetBillingGroupCostReport"
1102
+ o.http_method = "POST"
1103
+ o.http_request_uri = "/get-billing-group-cost-report"
1104
+ o.input = Shapes::ShapeRef.new(shape: GetBillingGroupCostReportInput)
1105
+ o.output = Shapes::ShapeRef.new(shape: GetBillingGroupCostReportOutput)
1106
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1107
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1108
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1109
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1110
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1111
+ end)
1112
+
1052
1113
  api.add_operation(:list_account_associations, Seahorse::Model::Operation.new.tap do |o|
1053
1114
  o.name = "ListAccountAssociations"
1054
1115
  o.http_method = "POST"
@@ -35,7 +35,7 @@ module Aws::BillingConductor
35
35
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
36
36
  end
37
37
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
38
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
38
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
39
39
  return Aws::Endpoints::Endpoint.new(url: "https://billingconductor-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
40
40
  end
41
41
  raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
@@ -208,6 +208,20 @@ module Aws::BillingConductor
208
208
  end
209
209
  end
210
210
 
211
+ class GetBillingGroupCostReport
212
+ def self.build(context)
213
+ unless context.config.regional_endpoint
214
+ endpoint = context.config.endpoint.to_s
215
+ end
216
+ Aws::BillingConductor::EndpointParameters.new(
217
+ region: context.config.region,
218
+ use_dual_stack: context.config.use_dualstack_endpoint,
219
+ use_fips: context.config.use_fips_endpoint,
220
+ endpoint: endpoint,
221
+ )
222
+ end
223
+ end
224
+
211
225
  class ListAccountAssociations
212
226
  def self.build(context)
213
227
  unless context.config.regional_endpoint
@@ -85,6 +85,8 @@ module Aws::BillingConductor
85
85
  Aws::BillingConductor::Endpoints::DisassociateAccounts.build(context)
86
86
  when :disassociate_pricing_rules
87
87
  Aws::BillingConductor::Endpoints::DisassociatePricingRules.build(context)
88
+ when :get_billing_group_cost_report
89
+ Aws::BillingConductor::Endpoints::GetBillingGroupCostReport.build(context)
88
90
  when :list_account_associations
89
91
  Aws::BillingConductor::Endpoints::ListAccountAssociations.build(context)
90
92
  when :list_billing_group_cost_reports
@@ -176,6 +176,29 @@ module Aws::BillingConductor
176
176
  include Aws::Structure
177
177
  end
178
178
 
179
+ # The key-value pair that represents the attribute by which the
180
+ # `BillingGroupCostReportResults` are grouped. For example, if you want
181
+ # a service-level breakdown for Amazon Simple Storage Service (Amazon
182
+ # S3) of the billing group, the attribute will be a key-value pair of
183
+ # `"PRODUCT_NAME"` and `"S3"`.
184
+ #
185
+ # @!attribute [rw] key
186
+ # The key in a key-value pair that describes the margin summary.
187
+ # @return [String]
188
+ #
189
+ # @!attribute [rw] value
190
+ # The value in a key-value pair that describes the margin summary.
191
+ # @return [String]
192
+ #
193
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/Attribute AWS API Documentation
194
+ #
195
+ class Attribute < Struct.new(
196
+ :key,
197
+ :value)
198
+ SENSITIVE = []
199
+ include Aws::Structure
200
+ end
201
+
179
202
  # @!attribute [rw] target_arn
180
203
  # A percentage custom line item ARN to associate the resources to.
181
204
  # @return [String]
@@ -305,6 +328,59 @@ module Aws::BillingConductor
305
328
  include Aws::Structure
306
329
  end
307
330
 
331
+ # A paginated call to retrieve a list of summary reports of actual
332
+ # Amazon Web Services charges and the calculated Amazon Web Services
333
+ # charges, broken down by attributes.
334
+ #
335
+ # @!attribute [rw] arn
336
+ # The Amazon Resource Number (ARN) that uniquely identifies the
337
+ # billing group.
338
+ # @return [String]
339
+ #
340
+ # @!attribute [rw] aws_cost
341
+ # The actual Amazon Web Services charges for the billing group.
342
+ # @return [String]
343
+ #
344
+ # @!attribute [rw] proforma_cost
345
+ # The hypothetical Amazon Web Services charges based on the associated
346
+ # pricing plan of a billing group.
347
+ # @return [String]
348
+ #
349
+ # @!attribute [rw] margin
350
+ # The billing group margin.
351
+ # @return [String]
352
+ #
353
+ # @!attribute [rw] margin_percentage
354
+ # The percentage of the billing group margin.
355
+ # @return [String]
356
+ #
357
+ # @!attribute [rw] currency
358
+ # The displayed currency.
359
+ # @return [String]
360
+ #
361
+ # @!attribute [rw] attributes
362
+ # The list of key-value pairs that represent the attributes by which
363
+ # the `BillingGroupCostReportResults` are grouped. For example, if you
364
+ # want the Amazon S3 service-level breakdown of a billing group for
365
+ # November 2023, the attributes list will contain a key-value pair of
366
+ # `"PRODUCT_NAME"` and `"S3"` and a key-value pair of
367
+ # `"BILLING_PERIOD"` and `"Nov 2023"`.
368
+ # @return [Array<Types::Attribute>]
369
+ #
370
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/BillingGroupCostReportResultElement AWS API Documentation
371
+ #
372
+ class BillingGroupCostReportResultElement < Struct.new(
373
+ :arn,
374
+ :aws_cost,
375
+ :proforma_cost,
376
+ :margin,
377
+ :margin_percentage,
378
+ :currency,
379
+ :attributes)
380
+ SENSITIVE = []
381
+ include Aws::Structure
382
+ end
383
+
308
384
  # A representation of a billing group.
309
385
  #
310
386
  # @!attribute [rw] name
@@ -372,6 +448,30 @@ module Aws::BillingConductor
372
448
  include Aws::Structure
373
449
  end
374
450
 
451
+ # A time range for which the margin summary is effective. The time range
452
+ # can be up to 12 months.
453
+ #
454
+ # @!attribute [rw] inclusive_start_billing_period
455
+ # The inclusive start billing period that defines a billing period
456
+ # range for the margin summary.
457
+ # @return [String]
458
+ #
459
+ # @!attribute [rw] exclusive_end_billing_period
460
+ # The exclusive end billing period that defines a billing period range
461
+ # for the margin summary. For example, if you choose a billing period
462
+ # that starts in October 2023 and ends in December 2023, the margin
463
+ # summary will only include data from October 2023 and November 2023.
464
+ # @return [String]
465
+ #
466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/BillingPeriodRange AWS API Documentation
467
+ #
468
+ class BillingPeriodRange < Struct.new(
469
+ :inclusive_start_billing_period,
470
+ :exclusive_end_billing_period)
471
+ SENSITIVE = []
472
+ include Aws::Structure
473
+ end
474
+
375
475
  # The preferences and settings that will be used to compute the Amazon
376
476
  # Web Services charges for a billing group.
377
477
  #
@@ -515,6 +615,11 @@ module Aws::BillingConductor
515
615
  # for a custom line item.
516
616
  # @return [Types::CustomLineItemChargeDetails]
517
617
  #
618
+ # @!attribute [rw] account_id
619
+ # The Amazon Web Services account in which this custom line item will
620
+ # be applied to.
621
+ # @return [String]
622
+ #
518
623
  # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CreateCustomLineItemInput AWS API Documentation
519
624
  #
520
625
  class CreateCustomLineItemInput < Struct.new(
@@ -524,7 +629,8 @@ module Aws::BillingConductor
524
629
  :billing_group_arn,
525
630
  :billing_period_range,
526
631
  :tags,
527
- :charge_details)
632
+ :charge_details,
633
+ :account_id)
528
634
  SENSITIVE = [:name, :description]
529
635
  include Aws::Structure
530
636
  end
@@ -837,6 +943,11 @@ module Aws::BillingConductor
837
943
  # The number of resources that are associated to the custom line item.
838
944
  # @return [Integer]
839
945
  #
946
+ # @!attribute [rw] account_id
947
+ # The Amazon Web Services account in which this custom line item will
948
+ # be applied to.
949
+ # @return [String]
950
+ #
840
951
  # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CustomLineItemListElement AWS API Documentation
841
952
  #
842
953
  class CustomLineItemListElement < Struct.new(
@@ -849,7 +960,8 @@ module Aws::BillingConductor
849
960
  :billing_group_arn,
850
961
  :creation_time,
851
962
  :last_modified_time,
852
- :association_size)
963
+ :association_size,
964
+ :account_id)
853
965
  SENSITIVE = [:name, :description]
854
966
  include Aws::Structure
855
967
  end
@@ -934,6 +1046,11 @@ module Aws::BillingConductor
934
1046
  # The inclusive start time.
935
1047
  # @return [Integer]
936
1048
  #
1049
+ # @!attribute [rw] account_id
1050
+ # The Amazon Web Services account in which this custom line item will
1051
+ # be applied to.
1052
+ # @return [String]
1053
+ #
937
1054
  # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CustomLineItemVersionListElement AWS API Documentation
938
1055
  #
939
1056
  class CustomLineItemVersionListElement < Struct.new(
@@ -949,7 +1066,8 @@ module Aws::BillingConductor
949
1066
  :start_billing_period,
950
1067
  :end_billing_period,
951
1068
  :arn,
952
- :start_time)
1069
+ :start_time,
1070
+ :account_id)
953
1071
  SENSITIVE = [:name, :description]
954
1072
  include Aws::Structure
955
1073
  end
@@ -998,7 +1116,7 @@ module Aws::BillingConductor
998
1116
  end
999
1117
 
1000
1118
  # @!attribute [rw] arn
1001
- # Then ARN of the deleted custom line item.
1119
+ # The ARN of the deleted custom line item.
1002
1120
  # @return [String]
1003
1121
  #
1004
1122
  # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/DeleteCustomLineItemOutput AWS API Documentation
@@ -1156,6 +1274,60 @@ module Aws::BillingConductor
1156
1274
  include Aws::Structure
1157
1275
  end
1158
1276
 
1277
+ # @!attribute [rw] arn
1278
+ # The Amazon Resource Number (ARN) that uniquely identifies the
1279
+ # billing group.
1280
+ # @return [String]
1281
+ #
1282
+ # @!attribute [rw] billing_period_range
1283
+ # A time range for which the margin summary is effective. You can
1284
+ # specify up to 12 months.
1285
+ # @return [Types::BillingPeriodRange]
1286
+ #
1287
+ # @!attribute [rw] group_by
1288
+ # A list of strings that specify the attributes that are used to break
1289
+ # down costs in the margin summary reports for the billing group. For
1290
+ # example, you can view your costs by the Amazon Web Service name or
1291
+ # the billing period.
1292
+ # @return [Array<String>]
1293
+ #
1294
+ # @!attribute [rw] max_results
1295
+ # The maximum number of margin summary reports to retrieve.
1296
+ # @return [Integer]
1297
+ #
1298
+ # @!attribute [rw] next_token
1299
+ # The pagination token used on subsequent calls to get reports.
1300
+ # @return [String]
1301
+ #
1302
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/GetBillingGroupCostReportInput AWS API Documentation
1303
+ #
1304
+ class GetBillingGroupCostReportInput < Struct.new(
1305
+ :arn,
1306
+ :billing_period_range,
1307
+ :group_by,
1308
+ :max_results,
1309
+ :next_token)
1310
+ SENSITIVE = []
1311
+ include Aws::Structure
1312
+ end
1313
+
1314
+ # @!attribute [rw] billing_group_cost_report_results
1315
+ # The list of margin summary reports.
1316
+ # @return [Array<Types::BillingGroupCostReportResultElement>]
1317
+ #
1318
+ # @!attribute [rw] next_token
1319
+ # The pagination token used on subsequent calls to get reports.
1320
+ # @return [String]
1321
+ #
1322
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/GetBillingGroupCostReportOutput AWS API Documentation
1323
+ #
1324
+ class GetBillingGroupCostReportOutput < Struct.new(
1325
+ :billing_group_cost_report_results,
1326
+ :next_token)
1327
+ SENSITIVE = []
1328
+ include Aws::Structure
1329
+ end
1330
+
1159
1331
  # An unexpected error occurred while processing a request.
1160
1332
  #
1161
1333
  # @!attribute [rw] message
@@ -1621,12 +1793,18 @@ module Aws::BillingConductor
1621
1793
  # A list of custom line item ARNs to retrieve information.
1622
1794
  # @return [Array<String>]
1623
1795
  #
1796
+ # @!attribute [rw] account_ids
1797
+ # The Amazon Web Services accounts in which this custom line item will
1798
+ # be applied to.
1799
+ # @return [Array<String>]
1800
+ #
1624
1801
  # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListCustomLineItemsFilter AWS API Documentation
1625
1802
  #
1626
1803
  class ListCustomLineItemsFilter < Struct.new(
1627
1804
  :names,
1628
1805
  :billing_groups,
1629
- :arns)
1806
+ :arns,
1807
+ :account_ids)
1630
1808
  SENSITIVE = []
1631
1809
  include Aws::Structure
1632
1810
  end
@@ -53,6 +53,6 @@ require_relative 'aws-sdk-billingconductor/customizations'
53
53
  # @!group service
54
54
  module Aws::BillingConductor
55
55
 
56
- GEM_VERSION = '1.17.0'
56
+ GEM_VERSION = '1.19.0'
57
57
 
58
58
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-billingconductor
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.17.0
4
+ version: 1.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-28 00:00:00.000000000 Z
11
+ date: 2023-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core