aws-sdk-billing 1.33.0 → 1.35.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: 9b7731c163a982e86fdafc9b1aab9a0c2f31647938d059e9eb61c89c0ef77bc4
4
- data.tar.gz: efb5487db5c5dfab3a38c80c11ee6c41b3ccc7122be55faad365bc8eeec68b97
3
+ metadata.gz: 4065e160315a6f4bd4ddd0d43243368b7e7eded71d8f55ddac3d03282aa09cec
4
+ data.tar.gz: dc911e408947711167e17c4372890ac90b55b65da3934005314e3ccddebc630d
5
5
  SHA512:
6
- metadata.gz: 2cf0cc86a5692da3599d18e862f5b07369fdf6693cae092b904776d864055ffe486b639e9ce0b3e45538e53fe17ccae231cd74965158e64b99dc140aaf734d7a
7
- data.tar.gz: 53a516214b4d59051881a3acdbf7572b1ae312078bca9b1f705aa9cf149a331e4f7f3c5c4e348b4d37e2728aab5657054cb24a8c6d7f6aa32fb4457947556283
6
+ metadata.gz: 1d46279548cdb61284f4db894b5fb2a597d07fdd23205bfe701150ed2017b3ec77ad764515efc0a6d0cab9392de3b0438cc61d24796fa6a18c430ea74db46ec7
7
+ data.tar.gz: cf4298e9659d323975e167a6b2a4916caa0513946df546ff1d7590045bcb9cfa7730b469a40de6f6f7f161548d360c0a7bd39d878f8c5659aaa58132d2b47914
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.35.0 (2026-09-28)
5
+ ------------------
6
+
7
+ * Feature - Adds support for (a) listing Business Support account charges via ListBusinessSupportAccountCharges and (b) subscription history via ListBusinessSupportSubscriptionHistory through the AWS Billing API.
8
+
9
+ 1.34.0 (2026-09-23)
10
+ ------------------
11
+
12
+ * Feature - Added the ListBillingViewSegments API, which returns billing view segment information for a specified billing view ARN and time range. This API enables customers and integrated tools to programmatically determine the billing context of their accounts.
13
+
4
14
  1.33.0 (2026-09-14)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.33.0
1
+ 1.35.0
@@ -1235,6 +1235,110 @@ module Aws::Billing
1235
1235
  req.send_request(options)
1236
1236
  end
1237
1237
 
1238
+ # Lists the segments of a billing view over a given time period. Each
1239
+ # segment identifies the billing domain (`PRO_FORMA` or `BILLABLE`) and
1240
+ # the account relationships that apply during its time range.
1241
+ #
1242
+ # If you don't provide an `arn`, the response includes segments for the
1243
+ # caller's `PRIMARY` billing view.
1244
+ #
1245
+ # If a mid-period change occurs, the response includes multiple
1246
+ # segments, each with its own time range. The response omits hidden
1247
+ # segments, so the segments it returns might not cover the entire
1248
+ # requested time period.
1249
+ #
1250
+ # @option params [Types::BillingViewSegmentTimeRange] :time_range
1251
+ # The billing period to query. If you don't provide a time range, the
1252
+ # current billing period, which is the calendar month in UTC, is used.
1253
+ #
1254
+ # @option params [String] :arn
1255
+ # The Amazon Resource Name (ARN) that uniquely identifies the billing
1256
+ # view to query. If you don't provide an ARN, the caller's `PRIMARY`
1257
+ # billing view is used. The ARN must reference a primary billing view.
1258
+ # Custom billing views aren't supported.
1259
+ #
1260
+ # @option params [Integer] :max_results
1261
+ # The number of entries a paginated response contains. Valid values
1262
+ # range from 1 to 100. The default is 100.
1263
+ #
1264
+ # @option params [String] :next_token
1265
+ # The pagination token that is used on subsequent calls to list billing
1266
+ # view segments.
1267
+ #
1268
+ # @return [Types::ListBillingViewSegmentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1269
+ #
1270
+ # * {Types::ListBillingViewSegmentsResponse#items #items} => Array<Types::BillingViewSegmentsListElement>
1271
+ # * {Types::ListBillingViewSegmentsResponse#next_token #next_token} => String
1272
+ #
1273
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1274
+ #
1275
+ #
1276
+ # @example Example: Invoke ListBillingViewSegments
1277
+ #
1278
+ # resp = client.list_billing_view_segments({
1279
+ # time_range: {
1280
+ # begin_date_inclusive: Time.parse(1719792000),
1281
+ # end_date_exclusive: Time.parse(1722470400),
1282
+ # },
1283
+ # })
1284
+ #
1285
+ # resp.to_h outputs the following:
1286
+ # {
1287
+ # items: [
1288
+ # {
1289
+ # billing_group_primary_account_id: "333333333333",
1290
+ # billing_transfer_account_id: "111111111111",
1291
+ # domain: "BILLABLE",
1292
+ # management_account_id: "222222222222",
1293
+ # time_range: {
1294
+ # begin_date_inclusive: Time.parse(1719792000),
1295
+ # end_date_exclusive: Time.parse(1722470400),
1296
+ # },
1297
+ # },
1298
+ # ],
1299
+ # }
1300
+ #
1301
+ # @example Example: Error example for ListBillingViewSegments
1302
+ #
1303
+ # resp = client.list_billing_view_segments({
1304
+ # time_range: {
1305
+ # begin_date_inclusive: Time.parse(1722470400),
1306
+ # end_date_exclusive: Time.parse(1719792000),
1307
+ # },
1308
+ # })
1309
+ #
1310
+ # @example Request syntax with placeholder values
1311
+ #
1312
+ # resp = client.list_billing_view_segments({
1313
+ # time_range: {
1314
+ # begin_date_inclusive: Time.now,
1315
+ # end_date_exclusive: Time.now,
1316
+ # },
1317
+ # arn: "BillingViewArn",
1318
+ # max_results: 1,
1319
+ # next_token: "PageToken",
1320
+ # })
1321
+ #
1322
+ # @example Response structure
1323
+ #
1324
+ # resp.items #=> Array
1325
+ # resp.items[0].domain #=> String, one of "BILLABLE", "PRO_FORMA"
1326
+ # resp.items[0].time_range.begin_date_inclusive #=> Time
1327
+ # resp.items[0].time_range.end_date_exclusive #=> Time
1328
+ # resp.items[0].billing_transfer_account_id #=> String
1329
+ # resp.items[0].management_account_id #=> String
1330
+ # resp.items[0].billing_group_primary_account_id #=> String
1331
+ # resp.next_token #=> String
1332
+ #
1333
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/ListBillingViewSegments AWS API Documentation
1334
+ #
1335
+ # @overload list_billing_view_segments(params = {})
1336
+ # @param [Hash] params ({})
1337
+ def list_billing_view_segments(params = {}, options = {})
1338
+ req = build_request(:list_billing_view_segments, params)
1339
+ req.send_request(options)
1340
+ end
1341
+
1238
1342
  # Lists the billing views available for a given time period.
1239
1343
  #
1240
1344
  # Every Amazon Web Services account has a unique `PRIMARY` billing view
@@ -1357,16 +1461,158 @@ module Aws::Billing
1357
1461
  req.send_request(options)
1358
1462
  end
1359
1463
 
1464
+ # Returns Business Support charges broken down at the linked account
1465
+ # level for a given billing month.
1466
+ #
1467
+ # @option params [required, String] :billing_month
1468
+ # The billing month to retrieve Business Support charges for, in YYYY-MM
1469
+ # format. You can request the current month (charges will be estimated)
1470
+ # or a past month (charges will be finalized).
1471
+ #
1472
+ # @option params [String] :account_id
1473
+ # The linked account ID to filter results to a specific account. If you
1474
+ # don't specify a value, the response includes charges for all linked
1475
+ # accounts.
1476
+ #
1477
+ # @option params [Integer] :max_results
1478
+ # The maximum number of results to return per page. Default is 100.
1479
+ #
1480
+ # @option params [String] :next_token
1481
+ # The pagination token for the next page of results.
1482
+ #
1483
+ # @return [Types::ListBusinessSupportAccountChargesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1484
+ #
1485
+ # * {Types::ListBusinessSupportAccountChargesResponse#billing_month #billing_month} => String
1486
+ # * {Types::ListBusinessSupportAccountChargesResponse#is_estimated #is_estimated} => Boolean
1487
+ # * {Types::ListBusinessSupportAccountChargesResponse#total_support_charge #total_support_charge} => String
1488
+ # * {Types::ListBusinessSupportAccountChargesResponse#total_support_eligible_spend #total_support_eligible_spend} => String
1489
+ # * {Types::ListBusinessSupportAccountChargesResponse#account_count #account_count} => Integer
1490
+ # * {Types::ListBusinessSupportAccountChargesResponse#account_charges #account_charges} => Array<Types::BusinessSupportAccountCharge>
1491
+ # * {Types::ListBusinessSupportAccountChargesResponse#next_token #next_token} => String
1492
+ #
1493
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1494
+ #
1495
+ # @example Request syntax with placeholder values
1496
+ #
1497
+ # resp = client.list_business_support_account_charges({
1498
+ # billing_month: "BusinessSupportBillingMonth", # required
1499
+ # account_id: "AccountId",
1500
+ # max_results: 1,
1501
+ # next_token: "PageToken",
1502
+ # })
1503
+ #
1504
+ # @example Response structure
1505
+ #
1506
+ # resp.billing_month #=> String
1507
+ # resp.is_estimated #=> Boolean
1508
+ # resp.total_support_charge #=> String
1509
+ # resp.total_support_eligible_spend #=> String
1510
+ # resp.account_count #=> Integer
1511
+ # resp.account_charges #=> Array
1512
+ # resp.account_charges[0].account_id #=> String
1513
+ # resp.account_charges[0].support_plan_name #=> String
1514
+ # resp.account_charges[0].total_charge #=> String
1515
+ # resp.account_charges[0].total_usage_basis #=> String
1516
+ # resp.account_charges[0].tier_charges #=> Array
1517
+ # resp.account_charges[0].tier_charges[0].tier_description #=> String
1518
+ # resp.account_charges[0].tier_charges[0].tier_rate #=> String
1519
+ # resp.account_charges[0].tier_charges[0].usage_slice #=> String
1520
+ # resp.account_charges[0].tier_charges[0].tier_charge #=> String
1521
+ # resp.account_charges[0].tier_charges[0].charge_period_start_date #=> Time
1522
+ # resp.account_charges[0].tier_charges[0].charge_period_end_date #=> Time
1523
+ # resp.account_charges[0].support_discount.discount_amount #=> String
1524
+ # resp.account_charges[0].support_discount.discount_percentage #=> String
1525
+ # resp.account_charges[0].support_discount.discount_type #=> String
1526
+ # resp.account_charges[0].support_discount.discount_source #=> String
1527
+ # resp.account_charges[0].support_eligible_spend_by_service #=> Array
1528
+ # resp.account_charges[0].support_eligible_spend_by_service[0].contributing_service #=> String
1529
+ # resp.account_charges[0].support_eligible_spend_by_service[0].item_type #=> String
1530
+ # resp.account_charges[0].support_eligible_spend_by_service[0].description #=> String
1531
+ # resp.account_charges[0].support_eligible_spend_by_service[0].charge_amount #=> String
1532
+ # resp.account_charges[0].support_eligible_spend_by_service[0].currency #=> String
1533
+ # resp.next_token #=> String
1534
+ #
1535
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/ListBusinessSupportAccountCharges AWS API Documentation
1536
+ #
1537
+ # @overload list_business_support_account_charges(params = {})
1538
+ # @param [Hash] params ({})
1539
+ def list_business_support_account_charges(params = {}, options = {})
1540
+ req = build_request(:list_business_support_account_charges, params)
1541
+ req.send_request(options)
1542
+ end
1543
+
1544
+ # Returns the history of Business Support subscription contracts across
1545
+ # accounts.
1546
+ #
1547
+ # @option params [String] :billing_month
1548
+ # The billing month to retrieve subscription contracts for, in YYYY-MM
1549
+ # format. If you don't specify a value, defaults to the current month.
1550
+ #
1551
+ # @option params [String] :account_id
1552
+ # The account ID to filter results to a specific account. If you don't
1553
+ # specify a value, the response includes subscription history for all
1554
+ # accounts.
1555
+ #
1556
+ # @option params [Time,DateTime,Date,Integer,String] :start_date
1557
+ # The start date to filter subscription contracts from.
1558
+ #
1559
+ # @option params [Time,DateTime,Date,Integer,String] :end_date
1560
+ # The end date to filter subscription contracts to.
1561
+ #
1562
+ # @option params [Integer] :max_results
1563
+ # The maximum number of results to return per page. Default is 100.
1564
+ #
1565
+ # @option params [String] :next_token
1566
+ # The pagination token for the next page of results.
1567
+ #
1568
+ # @return [Types::ListBusinessSupportSubscriptionHistoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1569
+ #
1570
+ # * {Types::ListBusinessSupportSubscriptionHistoryResponse#subscription_contracts #subscription_contracts} => Array<Types::BusinessSupportSubscriptionContract>
1571
+ # * {Types::ListBusinessSupportSubscriptionHistoryResponse#next_token #next_token} => String
1572
+ #
1573
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1574
+ #
1575
+ # @example Request syntax with placeholder values
1576
+ #
1577
+ # resp = client.list_business_support_subscription_history({
1578
+ # billing_month: "BusinessSupportBillingMonth",
1579
+ # account_id: "AccountId",
1580
+ # start_date: Time.now,
1581
+ # end_date: Time.now,
1582
+ # max_results: 1,
1583
+ # next_token: "PageToken",
1584
+ # })
1585
+ #
1586
+ # @example Response structure
1587
+ #
1588
+ # resp.subscription_contracts #=> Array
1589
+ # resp.subscription_contracts[0].account_id #=> String
1590
+ # resp.subscription_contracts[0].plan_name #=> String
1591
+ # resp.subscription_contracts[0].contract_start_date #=> Time
1592
+ # resp.subscription_contracts[0].contract_end_date #=> Time
1593
+ # resp.next_token #=> String
1594
+ #
1595
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/ListBusinessSupportSubscriptionHistory AWS API Documentation
1596
+ #
1597
+ # @overload list_business_support_subscription_history(params = {})
1598
+ # @param [Hash] params ({})
1599
+ def list_business_support_subscription_history(params = {}, options = {})
1600
+ req = build_request(:list_business_support_subscription_history, params)
1601
+ req.send_request(options)
1602
+ end
1603
+
1360
1604
  # Returns Support-eligible spend broken down at linked account level.
1361
1605
  #
1362
1606
  # @option params [required, String] :billing_month
1363
1607
  # The billing month in YYYY-MM format. This must be a month in the past.
1364
1608
  #
1365
1609
  # @option params [String] :account_id
1366
- # An optional linked account ID to filter results to a specific account.
1610
+ # The linked account ID to filter results to a specific account. If you
1611
+ # don't specify a value, the response includes charges for all linked
1612
+ # accounts.
1367
1613
  #
1368
1614
  # @option params [Integer] :max_results
1369
- # The maximum number of results to return per page.
1615
+ # The maximum number of results to return per page. Default is 100.
1370
1616
  #
1371
1617
  # @option params [String] :next_token
1372
1618
  # The pagination token for the next page of results.
@@ -1794,7 +2040,7 @@ module Aws::Billing
1794
2040
  tracer: tracer
1795
2041
  )
1796
2042
  context[:gem_name] = 'aws-sdk-billing'
1797
- context[:gem_version] = '1.33.0'
2043
+ context[:gem_version] = '1.35.0'
1798
2044
  Seahorse::Client::Request.new(handlers, context)
1799
2045
  end
1800
2046
 
@@ -24,6 +24,7 @@ module Aws::Billing
24
24
  ApplicationType = Shapes::StringShape.new(name: 'ApplicationType')
25
25
  AssociateSourceViewsRequest = Shapes::StructureShape.new(name: 'AssociateSourceViewsRequest')
26
26
  AssociateSourceViewsResponse = Shapes::StructureShape.new(name: 'AssociateSourceViewsResponse')
27
+ BillingDomain = Shapes::StringShape.new(name: 'BillingDomain')
27
28
  BillingFeature = Shapes::StringShape.new(name: 'BillingFeature')
28
29
  BillingFeatureFilter = Shapes::StructureShape.new(name: 'BillingFeatureFilter')
29
30
  BillingFeatureFilterName = Shapes::StringShape.new(name: 'BillingFeatureFilterName')
@@ -44,6 +45,9 @@ module Aws::Billing
44
45
  BillingViewList = Shapes::ListShape.new(name: 'BillingViewList')
45
46
  BillingViewListElement = Shapes::StructureShape.new(name: 'BillingViewListElement')
46
47
  BillingViewName = Shapes::StringShape.new(name: 'BillingViewName')
48
+ BillingViewSegmentTimeRange = Shapes::StructureShape.new(name: 'BillingViewSegmentTimeRange')
49
+ BillingViewSegmentsList = Shapes::ListShape.new(name: 'BillingViewSegmentsList')
50
+ BillingViewSegmentsListElement = Shapes::StructureShape.new(name: 'BillingViewSegmentsListElement')
47
51
  BillingViewSourceViewsList = Shapes::ListShape.new(name: 'BillingViewSourceViewsList')
48
52
  BillingViewStatus = Shapes::StringShape.new(name: 'BillingViewStatus')
49
53
  BillingViewStatusReason = Shapes::StringShape.new(name: 'BillingViewStatusReason')
@@ -53,6 +57,16 @@ module Aws::Billing
53
57
  BillingViewsMaxResults = Shapes::IntegerShape.new(name: 'BillingViewsMaxResults')
54
58
  BillingYear = Shapes::IntegerShape.new(name: 'BillingYear')
55
59
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
60
+ BusinessSupportAccountCharge = Shapes::StructureShape.new(name: 'BusinessSupportAccountCharge')
61
+ BusinessSupportAccountChargeList = Shapes::ListShape.new(name: 'BusinessSupportAccountChargeList')
62
+ BusinessSupportBillingMonth = Shapes::StringShape.new(name: 'BusinessSupportBillingMonth')
63
+ BusinessSupportDiscount = Shapes::StructureShape.new(name: 'BusinessSupportDiscount')
64
+ BusinessSupportServiceSpend = Shapes::StructureShape.new(name: 'BusinessSupportServiceSpend')
65
+ BusinessSupportServiceSpendList = Shapes::ListShape.new(name: 'BusinessSupportServiceSpendList')
66
+ BusinessSupportSubscriptionContract = Shapes::StructureShape.new(name: 'BusinessSupportSubscriptionContract')
67
+ BusinessSupportSubscriptionContractList = Shapes::ListShape.new(name: 'BusinessSupportSubscriptionContractList')
68
+ BusinessSupportTierCharge = Shapes::StructureShape.new(name: 'BusinessSupportTierCharge')
69
+ BusinessSupportTierChargeList = Shapes::ListShape.new(name: 'BusinessSupportTierChargeList')
56
70
  ChargeAccount = Shapes::StructureShape.new(name: 'ChargeAccount')
57
71
  ChargeAccountList = Shapes::ListShape.new(name: 'ChargeAccountList')
58
72
  ClientToken = Shapes::StringShape.new(name: 'ClientToken')
@@ -106,8 +120,16 @@ module Aws::Billing
106
120
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
107
121
  LinkedAccountCharge = Shapes::StructureShape.new(name: 'LinkedAccountCharge')
108
122
  LinkedAccountChargeList = Shapes::ListShape.new(name: 'LinkedAccountChargeList')
123
+ ListBillingViewSegmentsRequest = Shapes::StructureShape.new(name: 'ListBillingViewSegmentsRequest')
124
+ ListBillingViewSegmentsResponse = Shapes::StructureShape.new(name: 'ListBillingViewSegmentsResponse')
109
125
  ListBillingViewsRequest = Shapes::StructureShape.new(name: 'ListBillingViewsRequest')
110
126
  ListBillingViewsResponse = Shapes::StructureShape.new(name: 'ListBillingViewsResponse')
127
+ ListBusinessSupportAccountChargesRequest = Shapes::StructureShape.new(name: 'ListBusinessSupportAccountChargesRequest')
128
+ ListBusinessSupportAccountChargesRequestMaxResultsInteger = Shapes::IntegerShape.new(name: 'ListBusinessSupportAccountChargesRequestMaxResultsInteger')
129
+ ListBusinessSupportAccountChargesResponse = Shapes::StructureShape.new(name: 'ListBusinessSupportAccountChargesResponse')
130
+ ListBusinessSupportSubscriptionHistoryRequest = Shapes::StructureShape.new(name: 'ListBusinessSupportSubscriptionHistoryRequest')
131
+ ListBusinessSupportSubscriptionHistoryRequestMaxResultsInteger = Shapes::IntegerShape.new(name: 'ListBusinessSupportSubscriptionHistoryRequestMaxResultsInteger')
132
+ ListBusinessSupportSubscriptionHistoryResponse = Shapes::StructureShape.new(name: 'ListBusinessSupportSubscriptionHistoryResponse')
111
133
  ListEnterpriseSupportLinkedAccountChargesRequest = Shapes::StructureShape.new(name: 'ListEnterpriseSupportLinkedAccountChargesRequest')
112
134
  ListEnterpriseSupportLinkedAccountChargesRequestMaxResultsInteger = Shapes::IntegerShape.new(name: 'ListEnterpriseSupportLinkedAccountChargesRequestMaxResultsInteger')
113
135
  ListEnterpriseSupportLinkedAccountChargesResponse = Shapes::StructureShape.new(name: 'ListEnterpriseSupportLinkedAccountChargesResponse')
@@ -259,12 +281,69 @@ module Aws::Billing
259
281
  BillingViewListElement.add_member(:health_status, Shapes::ShapeRef.new(shape: BillingViewHealthStatus, location_name: "healthStatus"))
260
282
  BillingViewListElement.struct_class = Types::BillingViewListElement
261
283
 
284
+ BillingViewSegmentTimeRange.add_member(:begin_date_inclusive, Shapes::ShapeRef.new(shape: Timestamp, location_name: "beginDateInclusive"))
285
+ BillingViewSegmentTimeRange.add_member(:end_date_exclusive, Shapes::ShapeRef.new(shape: Timestamp, location_name: "endDateExclusive"))
286
+ BillingViewSegmentTimeRange.struct_class = Types::BillingViewSegmentTimeRange
287
+
288
+ BillingViewSegmentsList.member = Shapes::ShapeRef.new(shape: BillingViewSegmentsListElement)
289
+
290
+ BillingViewSegmentsListElement.add_member(:domain, Shapes::ShapeRef.new(shape: BillingDomain, location_name: "domain"))
291
+ BillingViewSegmentsListElement.add_member(:time_range, Shapes::ShapeRef.new(shape: BillingViewSegmentTimeRange, location_name: "timeRange"))
292
+ BillingViewSegmentsListElement.add_member(:billing_transfer_account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "billingTransferAccountId"))
293
+ BillingViewSegmentsListElement.add_member(:management_account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "managementAccountId"))
294
+ BillingViewSegmentsListElement.add_member(:billing_group_primary_account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "billingGroupPrimaryAccountId"))
295
+ BillingViewSegmentsListElement.struct_class = Types::BillingViewSegmentsListElement
296
+
262
297
  BillingViewSourceViewsList.member = Shapes::ShapeRef.new(shape: BillingViewArn)
263
298
 
264
299
  BillingViewStatusReasons.member = Shapes::ShapeRef.new(shape: BillingViewStatusReason)
265
300
 
266
301
  BillingViewTypeList.member = Shapes::ShapeRef.new(shape: BillingViewType)
267
302
 
303
+ BusinessSupportAccountCharge.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "accountId"))
304
+ BusinessSupportAccountCharge.add_member(:support_plan_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "supportPlanName"))
305
+ BusinessSupportAccountCharge.add_member(:total_charge, Shapes::ShapeRef.new(shape: String, required: true, location_name: "totalCharge"))
306
+ BusinessSupportAccountCharge.add_member(:total_usage_basis, Shapes::ShapeRef.new(shape: String, required: true, location_name: "totalUsageBasis"))
307
+ BusinessSupportAccountCharge.add_member(:tier_charges, Shapes::ShapeRef.new(shape: BusinessSupportTierChargeList, location_name: "tierCharges"))
308
+ BusinessSupportAccountCharge.add_member(:support_discount, Shapes::ShapeRef.new(shape: BusinessSupportDiscount, location_name: "supportDiscount"))
309
+ BusinessSupportAccountCharge.add_member(:support_eligible_spend_by_service, Shapes::ShapeRef.new(shape: BusinessSupportServiceSpendList, location_name: "supportEligibleSpendByService"))
310
+ BusinessSupportAccountCharge.struct_class = Types::BusinessSupportAccountCharge
311
+
312
+ BusinessSupportAccountChargeList.member = Shapes::ShapeRef.new(shape: BusinessSupportAccountCharge)
313
+
314
+ BusinessSupportDiscount.add_member(:discount_amount, Shapes::ShapeRef.new(shape: String, location_name: "discountAmount"))
315
+ BusinessSupportDiscount.add_member(:discount_percentage, Shapes::ShapeRef.new(shape: String, location_name: "discountPercentage"))
316
+ BusinessSupportDiscount.add_member(:discount_type, Shapes::ShapeRef.new(shape: String, location_name: "discountType"))
317
+ BusinessSupportDiscount.add_member(:discount_source, Shapes::ShapeRef.new(shape: String, location_name: "discountSource"))
318
+ BusinessSupportDiscount.struct_class = Types::BusinessSupportDiscount
319
+
320
+ BusinessSupportServiceSpend.add_member(:contributing_service, Shapes::ShapeRef.new(shape: String, required: true, location_name: "contributingService"))
321
+ BusinessSupportServiceSpend.add_member(:item_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "itemType"))
322
+ BusinessSupportServiceSpend.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
323
+ BusinessSupportServiceSpend.add_member(:charge_amount, Shapes::ShapeRef.new(shape: String, required: true, location_name: "chargeAmount"))
324
+ BusinessSupportServiceSpend.add_member(:currency, Shapes::ShapeRef.new(shape: String, required: true, location_name: "currency"))
325
+ BusinessSupportServiceSpend.struct_class = Types::BusinessSupportServiceSpend
326
+
327
+ BusinessSupportServiceSpendList.member = Shapes::ShapeRef.new(shape: BusinessSupportServiceSpend)
328
+
329
+ BusinessSupportSubscriptionContract.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "accountId"))
330
+ BusinessSupportSubscriptionContract.add_member(:plan_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "planName"))
331
+ BusinessSupportSubscriptionContract.add_member(:contract_start_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "contractStartDate"))
332
+ BusinessSupportSubscriptionContract.add_member(:contract_end_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "contractEndDate"))
333
+ BusinessSupportSubscriptionContract.struct_class = Types::BusinessSupportSubscriptionContract
334
+
335
+ BusinessSupportSubscriptionContractList.member = Shapes::ShapeRef.new(shape: BusinessSupportSubscriptionContract)
336
+
337
+ BusinessSupportTierCharge.add_member(:tier_description, Shapes::ShapeRef.new(shape: String, required: true, location_name: "tierDescription"))
338
+ BusinessSupportTierCharge.add_member(:tier_rate, Shapes::ShapeRef.new(shape: String, required: true, location_name: "tierRate"))
339
+ BusinessSupportTierCharge.add_member(:usage_slice, Shapes::ShapeRef.new(shape: String, required: true, location_name: "usageSlice"))
340
+ BusinessSupportTierCharge.add_member(:tier_charge, Shapes::ShapeRef.new(shape: String, required: true, location_name: "tierCharge"))
341
+ BusinessSupportTierCharge.add_member(:charge_period_start_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "chargePeriodStartDate"))
342
+ BusinessSupportTierCharge.add_member(:charge_period_end_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "chargePeriodEndDate"))
343
+ BusinessSupportTierCharge.struct_class = Types::BusinessSupportTierCharge
344
+
345
+ BusinessSupportTierChargeList.member = Shapes::ShapeRef.new(shape: BusinessSupportTierCharge)
346
+
268
347
  ChargeAccount.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "accountId"))
269
348
  ChargeAccount.add_member(:charge_percentage, Shapes::ShapeRef.new(shape: String, required: true, location_name: "chargePercentage"))
270
349
  ChargeAccount.struct_class = Types::ChargeAccount
@@ -469,6 +548,16 @@ module Aws::Billing
469
548
 
470
549
  LinkedAccountChargeList.member = Shapes::ShapeRef.new(shape: LinkedAccountCharge)
471
550
 
551
+ ListBillingViewSegmentsRequest.add_member(:time_range, Shapes::ShapeRef.new(shape: BillingViewSegmentTimeRange, location_name: "timeRange"))
552
+ ListBillingViewSegmentsRequest.add_member(:arn, Shapes::ShapeRef.new(shape: BillingViewArn, location_name: "arn"))
553
+ ListBillingViewSegmentsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: BillingViewsMaxResults, location_name: "maxResults"))
554
+ ListBillingViewSegmentsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PageToken, location_name: "nextToken"))
555
+ ListBillingViewSegmentsRequest.struct_class = Types::ListBillingViewSegmentsRequest
556
+
557
+ ListBillingViewSegmentsResponse.add_member(:items, Shapes::ShapeRef.new(shape: BillingViewSegmentsList, required: true, location_name: "items"))
558
+ ListBillingViewSegmentsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PageToken, location_name: "nextToken"))
559
+ ListBillingViewSegmentsResponse.struct_class = Types::ListBillingViewSegmentsResponse
560
+
472
561
  ListBillingViewsRequest.add_member(:active_time_range, Shapes::ShapeRef.new(shape: ActiveTimeRange, location_name: "activeTimeRange"))
473
562
  ListBillingViewsRequest.add_member(:arns, Shapes::ShapeRef.new(shape: BillingViewArnList, location_name: "arns"))
474
563
  ListBillingViewsRequest.add_member(:billing_view_types, Shapes::ShapeRef.new(shape: BillingViewTypeList, location_name: "billingViewTypes"))
@@ -483,6 +572,33 @@ module Aws::Billing
483
572
  ListBillingViewsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PageToken, location_name: "nextToken"))
484
573
  ListBillingViewsResponse.struct_class = Types::ListBillingViewsResponse
485
574
 
575
+ ListBusinessSupportAccountChargesRequest.add_member(:billing_month, Shapes::ShapeRef.new(shape: BusinessSupportBillingMonth, required: true, location_name: "billingMonth"))
576
+ ListBusinessSupportAccountChargesRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
577
+ ListBusinessSupportAccountChargesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListBusinessSupportAccountChargesRequestMaxResultsInteger, location_name: "maxResults"))
578
+ ListBusinessSupportAccountChargesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PageToken, location_name: "nextToken"))
579
+ ListBusinessSupportAccountChargesRequest.struct_class = Types::ListBusinessSupportAccountChargesRequest
580
+
581
+ ListBusinessSupportAccountChargesResponse.add_member(:billing_month, Shapes::ShapeRef.new(shape: BusinessSupportBillingMonth, required: true, location_name: "billingMonth"))
582
+ ListBusinessSupportAccountChargesResponse.add_member(:is_estimated, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "isEstimated"))
583
+ ListBusinessSupportAccountChargesResponse.add_member(:total_support_charge, Shapes::ShapeRef.new(shape: String, required: true, location_name: "totalSupportCharge"))
584
+ ListBusinessSupportAccountChargesResponse.add_member(:total_support_eligible_spend, Shapes::ShapeRef.new(shape: String, required: true, location_name: "totalSupportEligibleSpend"))
585
+ ListBusinessSupportAccountChargesResponse.add_member(:account_count, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "accountCount"))
586
+ ListBusinessSupportAccountChargesResponse.add_member(:account_charges, Shapes::ShapeRef.new(shape: BusinessSupportAccountChargeList, required: true, location_name: "accountCharges"))
587
+ ListBusinessSupportAccountChargesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PageToken, location_name: "nextToken"))
588
+ ListBusinessSupportAccountChargesResponse.struct_class = Types::ListBusinessSupportAccountChargesResponse
589
+
590
+ ListBusinessSupportSubscriptionHistoryRequest.add_member(:billing_month, Shapes::ShapeRef.new(shape: BusinessSupportBillingMonth, location_name: "billingMonth"))
591
+ ListBusinessSupportSubscriptionHistoryRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
592
+ ListBusinessSupportSubscriptionHistoryRequest.add_member(:start_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "startDate"))
593
+ ListBusinessSupportSubscriptionHistoryRequest.add_member(:end_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "endDate"))
594
+ ListBusinessSupportSubscriptionHistoryRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListBusinessSupportSubscriptionHistoryRequestMaxResultsInteger, location_name: "maxResults"))
595
+ ListBusinessSupportSubscriptionHistoryRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PageToken, location_name: "nextToken"))
596
+ ListBusinessSupportSubscriptionHistoryRequest.struct_class = Types::ListBusinessSupportSubscriptionHistoryRequest
597
+
598
+ ListBusinessSupportSubscriptionHistoryResponse.add_member(:subscription_contracts, Shapes::ShapeRef.new(shape: BusinessSupportSubscriptionContractList, required: true, location_name: "subscriptionContracts"))
599
+ ListBusinessSupportSubscriptionHistoryResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PageToken, location_name: "nextToken"))
600
+ ListBusinessSupportSubscriptionHistoryResponse.struct_class = Types::ListBusinessSupportSubscriptionHistoryResponse
601
+
486
602
  ListEnterpriseSupportLinkedAccountChargesRequest.add_member(:billing_month, Shapes::ShapeRef.new(shape: EnterpriseSupportBillingMonth, required: true, location_name: "billingMonth"))
487
603
  ListEnterpriseSupportLinkedAccountChargesRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
488
604
  ListEnterpriseSupportLinkedAccountChargesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListEnterpriseSupportLinkedAccountChargesRequestMaxResultsInteger, location_name: "maxResults"))
@@ -806,6 +922,26 @@ module Aws::Billing
806
922
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
807
923
  end)
808
924
 
925
+ api.add_operation(:list_billing_view_segments, Seahorse::Model::Operation.new.tap do |o|
926
+ o.name = "ListBillingViewSegments"
927
+ o.http_method = "POST"
928
+ o.http_request_uri = "/"
929
+ o.input = Shapes::ShapeRef.new(shape: ListBillingViewSegmentsRequest)
930
+ o.output = Shapes::ShapeRef.new(shape: ListBillingViewSegmentsResponse)
931
+ o.errors << Shapes::ShapeRef.new(shape: BillingViewHealthStatusException)
932
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
933
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
934
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
935
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
936
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
937
+ o[:pager] = Aws::Pager.new(
938
+ limit_key: "max_results",
939
+ tokens: {
940
+ "next_token" => "next_token"
941
+ }
942
+ )
943
+ end)
944
+
809
945
  api.add_operation(:list_billing_views, Seahorse::Model::Operation.new.tap do |o|
810
946
  o.name = "ListBillingViews"
811
947
  o.http_method = "POST"
@@ -824,6 +960,44 @@ module Aws::Billing
824
960
  )
825
961
  end)
826
962
 
963
+ api.add_operation(:list_business_support_account_charges, Seahorse::Model::Operation.new.tap do |o|
964
+ o.name = "ListBusinessSupportAccountCharges"
965
+ o.http_method = "POST"
966
+ o.http_request_uri = "/"
967
+ o.input = Shapes::ShapeRef.new(shape: ListBusinessSupportAccountChargesRequest)
968
+ o.output = Shapes::ShapeRef.new(shape: ListBusinessSupportAccountChargesResponse)
969
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
970
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
971
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
972
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
973
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
974
+ o[:pager] = Aws::Pager.new(
975
+ limit_key: "max_results",
976
+ tokens: {
977
+ "next_token" => "next_token"
978
+ }
979
+ )
980
+ end)
981
+
982
+ api.add_operation(:list_business_support_subscription_history, Seahorse::Model::Operation.new.tap do |o|
983
+ o.name = "ListBusinessSupportSubscriptionHistory"
984
+ o.http_method = "POST"
985
+ o.http_request_uri = "/"
986
+ o.input = Shapes::ShapeRef.new(shape: ListBusinessSupportSubscriptionHistoryRequest)
987
+ o.output = Shapes::ShapeRef.new(shape: ListBusinessSupportSubscriptionHistoryResponse)
988
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
989
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
990
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
991
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
992
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
993
+ o[:pager] = Aws::Pager.new(
994
+ limit_key: "max_results",
995
+ tokens: {
996
+ "next_token" => "next_token"
997
+ }
998
+ )
999
+ end)
1000
+
827
1001
  api.add_operation(:list_enterprise_support_linked_account_charges, Seahorse::Model::Operation.new.tap do |o|
828
1002
  o.name = "ListEnterpriseSupportLinkedAccountCharges"
829
1003
  o.http_method = "POST"
@@ -384,6 +384,276 @@ module Aws::Billing
384
384
  include Aws::Structure
385
385
  end
386
386
 
387
+ # Specifies a time range with an inclusive begin date and an exclusive
388
+ # end date.
389
+ #
390
+ # @!attribute [rw] begin_date_inclusive
391
+ # The inclusive start of the time range. This value can't be in the
392
+ # future.
393
+ # @return [Time]
394
+ #
395
+ # @!attribute [rw] end_date_exclusive
396
+ # The exclusive end of the time range. This value must be after
397
+ # `beginDateInclusive`.
398
+ # @return [Time]
399
+ #
400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/BillingViewSegmentTimeRange AWS API Documentation
401
+ #
402
+ class BillingViewSegmentTimeRange < Struct.new(
403
+ :begin_date_inclusive,
404
+ :end_date_exclusive)
405
+ SENSITIVE = []
406
+ include Aws::Structure
407
+ end
408
+
409
+ # A billing view segment. A segment represents a time range during which
410
+ # the billing domain and account relationships for a billing view
411
+ # remained unchanged.
412
+ #
413
+ # @!attribute [rw] domain
414
+ # The billing domain for this segment. The following values are valid:
415
+ #
416
+ # * `PRO_FORMA` - Data shaped by Billing Conductor that doesn't
417
+ # reflect the final charges owed to Amazon Web Services.
418
+ #
419
+ # * `BILLABLE` - Data that represents the final charges owed to Amazon
420
+ # Web Services.
421
+ # @return [String]
422
+ #
423
+ # @!attribute [rw] time_range
424
+ # The time range during which this segment is effective.
425
+ # @return [Types::BillingViewSegmentTimeRange]
426
+ #
427
+ # @!attribute [rw] billing_transfer_account_id
428
+ # The billing transfer account ID. The response includes this field
429
+ # only when the caller is a billing transfer source account. The
430
+ # response omits this field for billing group billing views.
431
+ # @return [String]
432
+ #
433
+ # @!attribute [rw] management_account_id
434
+ # The management account ID of the organization. The response includes
435
+ # this field for organization member accounts.
436
+ # @return [String]
437
+ #
438
+ # @!attribute [rw] billing_group_primary_account_id
439
+ # The billing group primary account ID. The response includes this
440
+ # field for billing group members. Compare this value to your own
441
+ # account ID to determine whether you are the primary account.
442
+ # @return [String]
443
+ #
444
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/BillingViewSegmentsListElement AWS API Documentation
445
+ #
446
+ class BillingViewSegmentsListElement < Struct.new(
447
+ :domain,
448
+ :time_range,
449
+ :billing_transfer_account_id,
450
+ :management_account_id,
451
+ :billing_group_primary_account_id)
452
+ SENSITIVE = []
453
+ include Aws::Structure
454
+ end
455
+
456
+ # Business Support charges for a linked account.
457
+ #
458
+ # @!attribute [rw] account_id
459
+ # The linked account ID.
460
+ # @return [String]
461
+ #
462
+ # @!attribute [rw] support_plan_name
463
+ # The Support plan name for this account. Valid values:
464
+ # `AWSSupportBusiness` (Business Support plan), `AWSSupportDeveloper`
465
+ # (Developer Support plan), `AWSSupportEssential` (Basic Support
466
+ # plan).
467
+ # @return [String]
468
+ #
469
+ # @!attribute [rw] total_charge
470
+ # The total Business Support charge amount for this account in the
471
+ # billing month.
472
+ # @return [String]
473
+ #
474
+ # @!attribute [rw] total_usage_basis
475
+ # The total Support-eligible spend used as the basis for calculating
476
+ # the Business Support charge for this account.
477
+ # @return [String]
478
+ #
479
+ # @!attribute [rw] tier_charges
480
+ # The tier-level charges that make up the total Business Support
481
+ # charge for this account. Each tier represents a spend range with its
482
+ # own rate.
483
+ # @return [Array<Types::BusinessSupportTierCharge>]
484
+ #
485
+ # @!attribute [rw] support_discount
486
+ # The discount applied to the Business Support charge for this
487
+ # account, if any. This field is absent when no discount applies.
488
+ # @return [Types::BusinessSupportDiscount]
489
+ #
490
+ # @!attribute [rw] support_eligible_spend_by_service
491
+ # The Support-eligible spend broken down by contributing service for
492
+ # this account.
493
+ # @return [Array<Types::BusinessSupportServiceSpend>]
494
+ #
495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/BusinessSupportAccountCharge AWS API Documentation
496
+ #
497
+ class BusinessSupportAccountCharge < Struct.new(
498
+ :account_id,
499
+ :support_plan_name,
500
+ :total_charge,
501
+ :total_usage_basis,
502
+ :tier_charges,
503
+ :support_discount,
504
+ :support_eligible_spend_by_service)
505
+ SENSITIVE = []
506
+ include Aws::Structure
507
+ end
508
+
509
+ # A discount applied to a Business Support account charge, including the
510
+ # discount amount, percentage, type, and source.
511
+ #
512
+ # @!attribute [rw] discount_amount
513
+ # The discount amount applied to the Business Support charge. This
514
+ # value is negative, representing a reduction in the charge.
515
+ # @return [String]
516
+ #
517
+ # @!attribute [rw] discount_percentage
518
+ # The discount percentage applied to the Business Support charge,
519
+ # expressed as a decimal (for example, `0.12` for a 12% discount).
520
+ # @return [String]
521
+ #
522
+ # @!attribute [rw] discount_type
523
+ # The type of discount applied. Valid values: `Distributor_Discount`
524
+ # (a discount applied through a distributor arrangement),
525
+ # `SPP_Discount` (a discount applied through the Solution Provider
526
+ # Program).
527
+ # @return [String]
528
+ #
529
+ # @!attribute [rw] discount_source
530
+ # The source or program through which the discount was applied.
531
+ # @return [String]
532
+ #
533
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/BusinessSupportDiscount AWS API Documentation
534
+ #
535
+ class BusinessSupportDiscount < Struct.new(
536
+ :discount_amount,
537
+ :discount_percentage,
538
+ :discount_type,
539
+ :discount_source)
540
+ SENSITIVE = []
541
+ include Aws::Structure
542
+ end
543
+
544
+ # A service-level spend entry contributing to Business Support eligible
545
+ # spend.
546
+ #
547
+ # @!attribute [rw] contributing_service
548
+ # The name of the Amazon Web Services service contributing to the
549
+ # Support-eligible spend.
550
+ # @return [String]
551
+ #
552
+ # @!attribute [rw] item_type
553
+ # The type of the line item. Valid values: `Usage`.
554
+ # @return [String]
555
+ #
556
+ # @!attribute [rw] description
557
+ # A human-readable description of the service spend entry.
558
+ # @return [String]
559
+ #
560
+ # @!attribute [rw] charge_amount
561
+ # The Support-eligible spend amount for this service.
562
+ # @return [String]
563
+ #
564
+ # @!attribute [rw] currency
565
+ # The ISO 4217 currency code for the charge amount (for example,
566
+ # `USD`).
567
+ # @return [String]
568
+ #
569
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/BusinessSupportServiceSpend AWS API Documentation
570
+ #
571
+ class BusinessSupportServiceSpend < Struct.new(
572
+ :contributing_service,
573
+ :item_type,
574
+ :description,
575
+ :charge_amount,
576
+ :currency)
577
+ SENSITIVE = []
578
+ include Aws::Structure
579
+ end
580
+
581
+ # A Business Support subscription contract for an account.
582
+ #
583
+ # @!attribute [rw] account_id
584
+ # The account ID associated with this subscription contract.
585
+ # @return [String]
586
+ #
587
+ # @!attribute [rw] plan_name
588
+ # The name of the Support plan for this subscription contract. Valid
589
+ # values: `AWSSupportBusiness` (Business Support plan),
590
+ # `AWSSupportDeveloper` (Developer Support plan),
591
+ # `AWSSupportEssential` (Basic Support plan).
592
+ # @return [String]
593
+ #
594
+ # @!attribute [rw] contract_start_date
595
+ # The start date of the subscription contract.
596
+ # @return [Time]
597
+ #
598
+ # @!attribute [rw] contract_end_date
599
+ # The end date of the subscription contract.
600
+ # @return [Time]
601
+ #
602
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/BusinessSupportSubscriptionContract AWS API Documentation
603
+ #
604
+ class BusinessSupportSubscriptionContract < Struct.new(
605
+ :account_id,
606
+ :plan_name,
607
+ :contract_start_date,
608
+ :contract_end_date)
609
+ SENSITIVE = []
610
+ include Aws::Structure
611
+ end
612
+
613
+ # A tier-level charge within a Business Support pricing plan. Business
614
+ # Support uses tiered pricing where different percentage rates apply to
615
+ # different ranges of Support-eligible spend.
616
+ #
617
+ # @!attribute [rw] tier_description
618
+ # A human-readable description of the pricing tier, including the
619
+ # spend range and percentage rate applied.
620
+ # @return [String]
621
+ #
622
+ # @!attribute [rw] tier_rate
623
+ # The percentage rate applied to Support-eligible spend within this
624
+ # pricing tier.
625
+ # @return [String]
626
+ #
627
+ # @!attribute [rw] usage_slice
628
+ # The amount of Support-eligible spend that falls within this pricing
629
+ # tier.
630
+ # @return [String]
631
+ #
632
+ # @!attribute [rw] tier_charge
633
+ # The Business Support charge amount calculated for this pricing tier.
634
+ # @return [String]
635
+ #
636
+ # @!attribute [rw] charge_period_start_date
637
+ # The start date of the charge period for this tier charge.
638
+ # @return [Time]
639
+ #
640
+ # @!attribute [rw] charge_period_end_date
641
+ # The end date of the charge period for this tier charge.
642
+ # @return [Time]
643
+ #
644
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/BusinessSupportTierCharge AWS API Documentation
645
+ #
646
+ class BusinessSupportTierCharge < Struct.new(
647
+ :tier_description,
648
+ :tier_rate,
649
+ :usage_slice,
650
+ :tier_charge,
651
+ :charge_period_start_date,
652
+ :charge_period_end_date)
653
+ SENSITIVE = []
654
+ include Aws::Structure
655
+ end
656
+
387
657
  # An account that is charged all or a portion of the total Support
388
658
  # charge and the percentage of the charge allocated to it.
389
659
  #
@@ -1077,8 +1347,8 @@ module Aws::Billing
1077
1347
  # @return [Time]
1078
1348
  #
1079
1349
  # @!attribute [rw] is_estimated
1080
- # When true, the Support charge amount is estimated. When false, the
1081
- # Support charge amount is finalized.
1350
+ # Specifies whether the Support charge amount is estimated. When
1351
+ # false, the charge amount is finalized.
1082
1352
  # @return [Boolean]
1083
1353
  #
1084
1354
  # @!attribute [rw] bill_date
@@ -1382,6 +1652,60 @@ module Aws::Billing
1382
1652
  include Aws::Structure
1383
1653
  end
1384
1654
 
1655
+ # @!attribute [rw] time_range
1656
+ # The billing period to query. If you don't provide a time range, the
1657
+ # current billing period, which is the calendar month in UTC, is used.
1658
+ # @return [Types::BillingViewSegmentTimeRange]
1659
+ #
1660
+ # @!attribute [rw] arn
1661
+ # The Amazon Resource Name (ARN) that uniquely identifies the billing
1662
+ # view to query. If you don't provide an ARN, the caller's `PRIMARY`
1663
+ # billing view is used. The ARN must reference a primary billing view.
1664
+ # Custom billing views aren't supported.
1665
+ # @return [String]
1666
+ #
1667
+ # @!attribute [rw] max_results
1668
+ # The number of entries a paginated response contains. Valid values
1669
+ # range from 1 to 100. The default is 100.
1670
+ # @return [Integer]
1671
+ #
1672
+ # @!attribute [rw] next_token
1673
+ # The pagination token that is used on subsequent calls to list
1674
+ # billing view segments.
1675
+ # @return [String]
1676
+ #
1677
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/ListBillingViewSegmentsRequest AWS API Documentation
1678
+ #
1679
+ class ListBillingViewSegmentsRequest < Struct.new(
1680
+ :time_range,
1681
+ :arn,
1682
+ :max_results,
1683
+ :next_token)
1684
+ SENSITIVE = []
1685
+ include Aws::Structure
1686
+ end
1687
+
1688
+ # @!attribute [rw] items
1689
+ # A list of billing view segments. Each segment covers a portion of
1690
+ # the requested time period. The response omits hidden segments, so
1691
+ # the segments it returns might not cover the entire requested time
1692
+ # period.
1693
+ # @return [Array<Types::BillingViewSegmentsListElement>]
1694
+ #
1695
+ # @!attribute [rw] next_token
1696
+ # The pagination token that is used on subsequent calls to list
1697
+ # billing view segments.
1698
+ # @return [String]
1699
+ #
1700
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/ListBillingViewSegmentsResponse AWS API Documentation
1701
+ #
1702
+ class ListBillingViewSegmentsResponse < Struct.new(
1703
+ :items,
1704
+ :next_token)
1705
+ SENSITIVE = []
1706
+ include Aws::Structure
1707
+ end
1708
+
1385
1709
  # @!attribute [rw] active_time_range
1386
1710
  # The time range for the billing views listed. `PRIMARY` billing view
1387
1711
  # is always listed. `BILLING_GROUP` billing views are listed for time
@@ -1456,6 +1780,154 @@ module Aws::Billing
1456
1780
  include Aws::Structure
1457
1781
  end
1458
1782
 
1783
+ # Contains the billing month and optional filters used to retrieve
1784
+ # Business Support charges broken down by linked account.
1785
+ #
1786
+ # @!attribute [rw] billing_month
1787
+ # The billing month to retrieve Business Support charges for, in
1788
+ # YYYY-MM format. You can request the current month (charges will be
1789
+ # estimated) or a past month (charges will be finalized).
1790
+ # @return [String]
1791
+ #
1792
+ # @!attribute [rw] account_id
1793
+ # The linked account ID to filter results to a specific account. If
1794
+ # you don't specify a value, the response includes charges for all
1795
+ # linked accounts.
1796
+ # @return [String]
1797
+ #
1798
+ # @!attribute [rw] max_results
1799
+ # The maximum number of results to return per page. Default is 100.
1800
+ # @return [Integer]
1801
+ #
1802
+ # @!attribute [rw] next_token
1803
+ # The pagination token for the next page of results.
1804
+ # @return [String]
1805
+ #
1806
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/ListBusinessSupportAccountChargesRequest AWS API Documentation
1807
+ #
1808
+ class ListBusinessSupportAccountChargesRequest < Struct.new(
1809
+ :billing_month,
1810
+ :account_id,
1811
+ :max_results,
1812
+ :next_token)
1813
+ SENSITIVE = []
1814
+ include Aws::Structure
1815
+ end
1816
+
1817
+ # Contains the Business Support charges broken down by linked account
1818
+ # for the specified billing month, along with account and spend totals.
1819
+ #
1820
+ # @!attribute [rw] billing_month
1821
+ # The billing month for the returned charges, in YYYY-MM format.
1822
+ # @return [String]
1823
+ #
1824
+ # @!attribute [rw] is_estimated
1825
+ # Specifies whether the Support charge amount is estimated. When
1826
+ # false, the charge amount is finalized.
1827
+ # @return [Boolean]
1828
+ #
1829
+ # @!attribute [rw] total_support_charge
1830
+ # The total Business Support charge amount for all accounts in the
1831
+ # billing month.
1832
+ # @return [String]
1833
+ #
1834
+ # @!attribute [rw] total_support_eligible_spend
1835
+ # The total Support-eligible spend from all accounts in the billing
1836
+ # month. This includes eligible spend from usage of Amazon Web
1837
+ # Services.
1838
+ # @return [String]
1839
+ #
1840
+ # @!attribute [rw] account_count
1841
+ # The total number of linked accounts with Business Support charges in
1842
+ # the billing month.
1843
+ # @return [Integer]
1844
+ #
1845
+ # @!attribute [rw] account_charges
1846
+ # The list of Business Support charges per linked account.
1847
+ # @return [Array<Types::BusinessSupportAccountCharge>]
1848
+ #
1849
+ # @!attribute [rw] next_token
1850
+ # The pagination token for the next page of results.
1851
+ # @return [String]
1852
+ #
1853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/ListBusinessSupportAccountChargesResponse AWS API Documentation
1854
+ #
1855
+ class ListBusinessSupportAccountChargesResponse < Struct.new(
1856
+ :billing_month,
1857
+ :is_estimated,
1858
+ :total_support_charge,
1859
+ :total_support_eligible_spend,
1860
+ :account_count,
1861
+ :account_charges,
1862
+ :next_token)
1863
+ SENSITIVE = []
1864
+ include Aws::Structure
1865
+ end
1866
+
1867
+ # Contains the optional filters used to retrieve the history of Business
1868
+ # Support subscription contracts across accounts.
1869
+ #
1870
+ # @!attribute [rw] billing_month
1871
+ # The billing month to retrieve subscription contracts for, in YYYY-MM
1872
+ # format. If you don't specify a value, defaults to the current
1873
+ # month.
1874
+ # @return [String]
1875
+ #
1876
+ # @!attribute [rw] account_id
1877
+ # The account ID to filter results to a specific account. If you
1878
+ # don't specify a value, the response includes subscription history
1879
+ # for all accounts.
1880
+ # @return [String]
1881
+ #
1882
+ # @!attribute [rw] start_date
1883
+ # The start date to filter subscription contracts from.
1884
+ # @return [Time]
1885
+ #
1886
+ # @!attribute [rw] end_date
1887
+ # The end date to filter subscription contracts to.
1888
+ # @return [Time]
1889
+ #
1890
+ # @!attribute [rw] max_results
1891
+ # The maximum number of results to return per page. Default is 100.
1892
+ # @return [Integer]
1893
+ #
1894
+ # @!attribute [rw] next_token
1895
+ # The pagination token for the next page of results.
1896
+ # @return [String]
1897
+ #
1898
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/ListBusinessSupportSubscriptionHistoryRequest AWS API Documentation
1899
+ #
1900
+ class ListBusinessSupportSubscriptionHistoryRequest < Struct.new(
1901
+ :billing_month,
1902
+ :account_id,
1903
+ :start_date,
1904
+ :end_date,
1905
+ :max_results,
1906
+ :next_token)
1907
+ SENSITIVE = []
1908
+ include Aws::Structure
1909
+ end
1910
+
1911
+ # Contains the list of Business Support subscription contracts that
1912
+ # match the request filters.
1913
+ #
1914
+ # @!attribute [rw] subscription_contracts
1915
+ # The list of Business Support subscription contracts.
1916
+ # @return [Array<Types::BusinessSupportSubscriptionContract>]
1917
+ #
1918
+ # @!attribute [rw] next_token
1919
+ # The pagination token for the next page of results.
1920
+ # @return [String]
1921
+ #
1922
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billing-2023-09-07/ListBusinessSupportSubscriptionHistoryResponse AWS API Documentation
1923
+ #
1924
+ class ListBusinessSupportSubscriptionHistoryResponse < Struct.new(
1925
+ :subscription_contracts,
1926
+ :next_token)
1927
+ SENSITIVE = []
1928
+ include Aws::Structure
1929
+ end
1930
+
1459
1931
  # The request structure for ListEnterpriseSupportLinkedAccountCharges.
1460
1932
  #
1461
1933
  # @!attribute [rw] billing_month
@@ -1464,12 +1936,13 @@ module Aws::Billing
1464
1936
  # @return [String]
1465
1937
  #
1466
1938
  # @!attribute [rw] account_id
1467
- # An optional linked account ID to filter results to a specific
1468
- # account.
1939
+ # The linked account ID to filter results to a specific account. If
1940
+ # you don't specify a value, the response includes charges for all
1941
+ # linked accounts.
1469
1942
  # @return [String]
1470
1943
  #
1471
1944
  # @!attribute [rw] max_results
1472
- # The maximum number of results to return per page.
1945
+ # The maximum number of results to return per page. Default is 100.
1473
1946
  # @return [Integer]
1474
1947
  #
1475
1948
  # @!attribute [rw] next_token
@@ -55,7 +55,7 @@ module Aws::Billing
55
55
  autoload :EndpointProvider, 'aws-sdk-billing/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-billing/endpoints'
57
57
 
58
- GEM_VERSION = '1.33.0'
58
+ GEM_VERSION = '1.35.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -249,6 +249,23 @@ module Aws
249
249
  ) -> _GetResourcePolicyResponseSuccess
250
250
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetResourcePolicyResponseSuccess
251
251
 
252
+ interface _ListBillingViewSegmentsResponseSuccess
253
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListBillingViewSegmentsResponse]
254
+ def items: () -> ::Array[Types::BillingViewSegmentsListElement]
255
+ def next_token: () -> ::String
256
+ end
257
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Billing/Client.html#list_billing_view_segments-instance_method
258
+ def list_billing_view_segments: (
259
+ ?time_range: {
260
+ begin_date_inclusive: ::Time?,
261
+ end_date_exclusive: ::Time?
262
+ },
263
+ ?arn: ::String,
264
+ ?max_results: ::Integer,
265
+ ?next_token: ::String
266
+ ) -> _ListBillingViewSegmentsResponseSuccess
267
+ | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListBillingViewSegmentsResponseSuccess
268
+
252
269
  interface _ListBillingViewsResponseSuccess
253
270
  include ::Seahorse::Client::_ResponseSuccess[Types::ListBillingViewsResponse]
254
271
  def billing_views: () -> ::Array[Types::BillingViewListElement]
@@ -275,6 +292,41 @@ module Aws
275
292
  ) -> _ListBillingViewsResponseSuccess
276
293
  | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListBillingViewsResponseSuccess
277
294
 
295
+ interface _ListBusinessSupportAccountChargesResponseSuccess
296
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListBusinessSupportAccountChargesResponse]
297
+ def billing_month: () -> ::String
298
+ def is_estimated: () -> bool
299
+ def total_support_charge: () -> ::String
300
+ def total_support_eligible_spend: () -> ::String
301
+ def account_count: () -> ::Integer
302
+ def account_charges: () -> ::Array[Types::BusinessSupportAccountCharge]
303
+ def next_token: () -> ::String
304
+ end
305
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Billing/Client.html#list_business_support_account_charges-instance_method
306
+ def list_business_support_account_charges: (
307
+ billing_month: ::String,
308
+ ?account_id: ::String,
309
+ ?max_results: ::Integer,
310
+ ?next_token: ::String
311
+ ) -> _ListBusinessSupportAccountChargesResponseSuccess
312
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListBusinessSupportAccountChargesResponseSuccess
313
+
314
+ interface _ListBusinessSupportSubscriptionHistoryResponseSuccess
315
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListBusinessSupportSubscriptionHistoryResponse]
316
+ def subscription_contracts: () -> ::Array[Types::BusinessSupportSubscriptionContract]
317
+ def next_token: () -> ::String
318
+ end
319
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Billing/Client.html#list_business_support_subscription_history-instance_method
320
+ def list_business_support_subscription_history: (
321
+ ?billing_month: ::String,
322
+ ?account_id: ::String,
323
+ ?start_date: ::Time,
324
+ ?end_date: ::Time,
325
+ ?max_results: ::Integer,
326
+ ?next_token: ::String
327
+ ) -> _ListBusinessSupportSubscriptionHistoryResponseSuccess
328
+ | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListBusinessSupportSubscriptionHistoryResponseSuccess
329
+
278
330
  interface _ListEnterpriseSupportLinkedAccountChargesResponseSuccess
279
331
  include ::Seahorse::Client::_ResponseSuccess[Types::ListEnterpriseSupportLinkedAccountChargesResponse]
280
332
  def linked_account: () -> ::Array[Types::LinkedAccountCharge]
data/sig/types.rbs CHANGED
@@ -110,6 +110,67 @@ module Aws::Billing
110
110
  SENSITIVE: [:name, :description]
111
111
  end
112
112
 
113
+ class BillingViewSegmentTimeRange
114
+ attr_accessor begin_date_inclusive: ::Time
115
+ attr_accessor end_date_exclusive: ::Time
116
+ SENSITIVE: []
117
+ end
118
+
119
+ class BillingViewSegmentsListElement
120
+ attr_accessor domain: ("BILLABLE" | "PRO_FORMA")
121
+ attr_accessor time_range: Types::BillingViewSegmentTimeRange
122
+ attr_accessor billing_transfer_account_id: ::String
123
+ attr_accessor management_account_id: ::String
124
+ attr_accessor billing_group_primary_account_id: ::String
125
+ SENSITIVE: []
126
+ end
127
+
128
+ class BusinessSupportAccountCharge
129
+ attr_accessor account_id: ::String
130
+ attr_accessor support_plan_name: ::String
131
+ attr_accessor total_charge: ::String
132
+ attr_accessor total_usage_basis: ::String
133
+ attr_accessor tier_charges: ::Array[Types::BusinessSupportTierCharge]
134
+ attr_accessor support_discount: Types::BusinessSupportDiscount
135
+ attr_accessor support_eligible_spend_by_service: ::Array[Types::BusinessSupportServiceSpend]
136
+ SENSITIVE: []
137
+ end
138
+
139
+ class BusinessSupportDiscount
140
+ attr_accessor discount_amount: ::String
141
+ attr_accessor discount_percentage: ::String
142
+ attr_accessor discount_type: ::String
143
+ attr_accessor discount_source: ::String
144
+ SENSITIVE: []
145
+ end
146
+
147
+ class BusinessSupportServiceSpend
148
+ attr_accessor contributing_service: ::String
149
+ attr_accessor item_type: ::String
150
+ attr_accessor description: ::String
151
+ attr_accessor charge_amount: ::String
152
+ attr_accessor currency: ::String
153
+ SENSITIVE: []
154
+ end
155
+
156
+ class BusinessSupportSubscriptionContract
157
+ attr_accessor account_id: ::String
158
+ attr_accessor plan_name: ::String
159
+ attr_accessor contract_start_date: ::Time
160
+ attr_accessor contract_end_date: ::Time
161
+ SENSITIVE: []
162
+ end
163
+
164
+ class BusinessSupportTierCharge
165
+ attr_accessor tier_description: ::String
166
+ attr_accessor tier_rate: ::String
167
+ attr_accessor usage_slice: ::String
168
+ attr_accessor tier_charge: ::String
169
+ attr_accessor charge_period_start_date: ::Time
170
+ attr_accessor charge_period_end_date: ::Time
171
+ SENSITIVE: []
172
+ end
173
+
113
174
  class ChargeAccount
114
175
  attr_accessor account_id: ::String
115
176
  attr_accessor charge_percentage: ::String
@@ -360,6 +421,20 @@ module Aws::Billing
360
421
  SENSITIVE: []
361
422
  end
362
423
 
424
+ class ListBillingViewSegmentsRequest
425
+ attr_accessor time_range: Types::BillingViewSegmentTimeRange
426
+ attr_accessor arn: ::String
427
+ attr_accessor max_results: ::Integer
428
+ attr_accessor next_token: ::String
429
+ SENSITIVE: []
430
+ end
431
+
432
+ class ListBillingViewSegmentsResponse
433
+ attr_accessor items: ::Array[Types::BillingViewSegmentsListElement]
434
+ attr_accessor next_token: ::String
435
+ SENSITIVE: []
436
+ end
437
+
363
438
  class ListBillingViewsRequest
364
439
  attr_accessor active_time_range: Types::ActiveTimeRange
365
440
  attr_accessor arns: ::Array[::String]
@@ -378,6 +453,41 @@ module Aws::Billing
378
453
  SENSITIVE: []
379
454
  end
380
455
 
456
+ class ListBusinessSupportAccountChargesRequest
457
+ attr_accessor billing_month: ::String
458
+ attr_accessor account_id: ::String
459
+ attr_accessor max_results: ::Integer
460
+ attr_accessor next_token: ::String
461
+ SENSITIVE: []
462
+ end
463
+
464
+ class ListBusinessSupportAccountChargesResponse
465
+ attr_accessor billing_month: ::String
466
+ attr_accessor is_estimated: bool
467
+ attr_accessor total_support_charge: ::String
468
+ attr_accessor total_support_eligible_spend: ::String
469
+ attr_accessor account_count: ::Integer
470
+ attr_accessor account_charges: ::Array[Types::BusinessSupportAccountCharge]
471
+ attr_accessor next_token: ::String
472
+ SENSITIVE: []
473
+ end
474
+
475
+ class ListBusinessSupportSubscriptionHistoryRequest
476
+ attr_accessor billing_month: ::String
477
+ attr_accessor account_id: ::String
478
+ attr_accessor start_date: ::Time
479
+ attr_accessor end_date: ::Time
480
+ attr_accessor max_results: ::Integer
481
+ attr_accessor next_token: ::String
482
+ SENSITIVE: []
483
+ end
484
+
485
+ class ListBusinessSupportSubscriptionHistoryResponse
486
+ attr_accessor subscription_contracts: ::Array[Types::BusinessSupportSubscriptionContract]
487
+ attr_accessor next_token: ::String
488
+ SENSITIVE: []
489
+ end
490
+
381
491
  class ListEnterpriseSupportLinkedAccountChargesRequest
382
492
  attr_accessor billing_month: ::String
383
493
  attr_accessor account_id: ::String
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-billing
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.33.0
4
+ version: 1.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services