aws-sdk-billingconductor 1.0.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.
@@ -0,0 +1,2835 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::BillingConductor
11
+ module Types
12
+
13
+ # You do not have sufficient access to perform this action.
14
+ #
15
+ # @!attribute [rw] message
16
+ # @return [String]
17
+ #
18
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/AccessDeniedException AWS API Documentation
19
+ #
20
+ class AccessDeniedException < Struct.new(
21
+ :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
26
+ # <i> <b>Amazon Web Services Billing Conductor is in beta release and is
27
+ # subject to change. Your use of Amazon Web Services Billing Conductor
28
+ # is subject to the Beta Service Participation terms of the <a
29
+ # href="https://aws.amazon.com/service-terms/">Amazon Web Services
30
+ # Service Terms</a> (Section 1.10).</b> </i>
31
+ #
32
+ # A representation of a linked account.
33
+ #
34
+ # @!attribute [rw] account_id
35
+ # The associating array of account IDs.
36
+ # @return [String]
37
+ #
38
+ # @!attribute [rw] billing_group_arn
39
+ # The Billing Group Arn that the linked account is associated to.
40
+ # @return [String]
41
+ #
42
+ # @!attribute [rw] account_name
43
+ # The Amazon Web Services account name.
44
+ # @return [String]
45
+ #
46
+ # @!attribute [rw] account_email
47
+ # The Amazon Web Services account email.
48
+ # @return [String]
49
+ #
50
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/AccountAssociationsListElement AWS API Documentation
51
+ #
52
+ class AccountAssociationsListElement < Struct.new(
53
+ :account_id,
54
+ :billing_group_arn,
55
+ :account_name,
56
+ :account_email)
57
+ SENSITIVE = [:account_name, :account_email]
58
+ include Aws::Structure
59
+ end
60
+
61
+ # The set of accounts that will be under the billing group. The set of
62
+ # accounts resemble the linked accounts in a consolidated family.
63
+ #
64
+ # @note When making an API call, you may pass AccountGrouping
65
+ # data as a hash:
66
+ #
67
+ # {
68
+ # linked_account_ids: ["AccountId"], # required
69
+ # }
70
+ #
71
+ # @!attribute [rw] linked_account_ids
72
+ # The account IDs that make up the billing group. Account IDs must be
73
+ # a part of the consolidated billing family, and not associated with
74
+ # another billing group.
75
+ # @return [Array<String>]
76
+ #
77
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/AccountGrouping AWS API Documentation
78
+ #
79
+ class AccountGrouping < Struct.new(
80
+ :linked_account_ids)
81
+ SENSITIVE = []
82
+ include Aws::Structure
83
+ end
84
+
85
+ # @note When making an API call, you may pass AssociateAccountsInput
86
+ # data as a hash:
87
+ #
88
+ # {
89
+ # arn: "BillingGroupArn", # required
90
+ # account_ids: ["AccountId"], # required
91
+ # }
92
+ #
93
+ # @!attribute [rw] arn
94
+ # The Amazon Resource Name (ARN) of the billing group that associates
95
+ # the array of account IDs.
96
+ # @return [String]
97
+ #
98
+ # @!attribute [rw] account_ids
99
+ # The associating array of account IDs.
100
+ # @return [Array<String>]
101
+ #
102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/AssociateAccountsInput AWS API Documentation
103
+ #
104
+ class AssociateAccountsInput < Struct.new(
105
+ :arn,
106
+ :account_ids)
107
+ SENSITIVE = []
108
+ include Aws::Structure
109
+ end
110
+
111
+ # @!attribute [rw] arn
112
+ # The Amazon Resource Name (ARN) of the billing group that associates
113
+ # the array of account IDs.
114
+ # @return [String]
115
+ #
116
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/AssociateAccountsOutput AWS API Documentation
117
+ #
118
+ class AssociateAccountsOutput < Struct.new(
119
+ :arn)
120
+ SENSITIVE = []
121
+ include Aws::Structure
122
+ end
123
+
124
+ # @note When making an API call, you may pass AssociatePricingRulesInput
125
+ # data as a hash:
126
+ #
127
+ # {
128
+ # arn: "PricingPlanArn", # required
129
+ # pricing_rule_arns: ["PricingRuleArn"], # required
130
+ # }
131
+ #
132
+ # @!attribute [rw] arn
133
+ # The `PricingPlanArn` that the `PricingRuleArns` are associated with.
134
+ # @return [String]
135
+ #
136
+ # @!attribute [rw] pricing_rule_arns
137
+ # The `PricingRuleArns` that are associated with the Pricing Plan.
138
+ # @return [Array<String>]
139
+ #
140
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/AssociatePricingRulesInput AWS API Documentation
141
+ #
142
+ class AssociatePricingRulesInput < Struct.new(
143
+ :arn,
144
+ :pricing_rule_arns)
145
+ SENSITIVE = []
146
+ include Aws::Structure
147
+ end
148
+
149
+ # @!attribute [rw] arn
150
+ # The `PricingPlanArn` that the `PricingRuleArns` are associated with.
151
+ # @return [String]
152
+ #
153
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/AssociatePricingRulesOutput AWS API Documentation
154
+ #
155
+ class AssociatePricingRulesOutput < Struct.new(
156
+ :arn)
157
+ SENSITIVE = []
158
+ include Aws::Structure
159
+ end
160
+
161
+ # A representation of a resource association error.
162
+ #
163
+ # @!attribute [rw] message
164
+ # The reason the resource association failed.
165
+ # @return [String]
166
+ #
167
+ # @!attribute [rw] reason
168
+ # A static error code that used to classify the type of failure.
169
+ # @return [String]
170
+ #
171
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/AssociateResourceError AWS API Documentation
172
+ #
173
+ class AssociateResourceError < Struct.new(
174
+ :message,
175
+ :reason)
176
+ SENSITIVE = []
177
+ include Aws::Structure
178
+ end
179
+
180
+ # A resource association result for a percentage custom line item.
181
+ #
182
+ # @!attribute [rw] arn
183
+ # The resource ARN that was associated to the custom line item.
184
+ # @return [String]
185
+ #
186
+ # @!attribute [rw] error
187
+ # An `AssociateResourceError` that will populate if the resource
188
+ # association fails.
189
+ # @return [Types::AssociateResourceError]
190
+ #
191
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/AssociateResourceResponseElement AWS API Documentation
192
+ #
193
+ class AssociateResourceResponseElement < Struct.new(
194
+ :arn,
195
+ :error)
196
+ SENSITIVE = []
197
+ include Aws::Structure
198
+ end
199
+
200
+ # @note When making an API call, you may pass BatchAssociateResourcesToCustomLineItemInput
201
+ # data as a hash:
202
+ #
203
+ # {
204
+ # target_arn: "CustomLineItemArn", # required
205
+ # resource_arns: ["CustomLineItemAssociationElement"], # required
206
+ # billing_period_range: {
207
+ # inclusive_start_billing_period: "BillingPeriod", # required
208
+ # exclusive_end_billing_period: "BillingPeriod", # required
209
+ # },
210
+ # }
211
+ #
212
+ # @!attribute [rw] target_arn
213
+ # A percentage custom line item ARN to associate the resources to.
214
+ # @return [String]
215
+ #
216
+ # @!attribute [rw] resource_arns
217
+ # A list containing the ARNs of the resources to be associated.
218
+ # @return [Array<String>]
219
+ #
220
+ # @!attribute [rw] billing_period_range
221
+ # The billing period range in which the custom line item request will
222
+ # be applied.
223
+ # @return [Types::CustomLineItemBillingPeriodRange]
224
+ #
225
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/BatchAssociateResourcesToCustomLineItemInput AWS API Documentation
226
+ #
227
+ class BatchAssociateResourcesToCustomLineItemInput < Struct.new(
228
+ :target_arn,
229
+ :resource_arns,
230
+ :billing_period_range)
231
+ SENSITIVE = []
232
+ include Aws::Structure
233
+ end
234
+
235
+ # @!attribute [rw] successfully_associated_resources
236
+ # A list of `AssociateResourceResponseElement` for each resource
237
+ # that's been associated to a percentage custom line item
238
+ # successfully.
239
+ # @return [Array<Types::AssociateResourceResponseElement>]
240
+ #
241
+ # @!attribute [rw] failed_associated_resources
242
+ # A list of `AssociateResourceResponseElement` for each resource that
243
+ # failed association to a percentage custom line item.
244
+ # @return [Array<Types::AssociateResourceResponseElement>]
245
+ #
246
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/BatchAssociateResourcesToCustomLineItemOutput AWS API Documentation
247
+ #
248
+ class BatchAssociateResourcesToCustomLineItemOutput < Struct.new(
249
+ :successfully_associated_resources,
250
+ :failed_associated_resources)
251
+ SENSITIVE = []
252
+ include Aws::Structure
253
+ end
254
+
255
+ # @note When making an API call, you may pass BatchDisassociateResourcesFromCustomLineItemInput
256
+ # data as a hash:
257
+ #
258
+ # {
259
+ # target_arn: "CustomLineItemArn", # required
260
+ # resource_arns: ["CustomLineItemAssociationElement"], # required
261
+ # billing_period_range: {
262
+ # inclusive_start_billing_period: "BillingPeriod", # required
263
+ # exclusive_end_billing_period: "BillingPeriod", # required
264
+ # },
265
+ # }
266
+ #
267
+ # @!attribute [rw] target_arn
268
+ # A percentage custom line item ARN to disassociate the resources
269
+ # from.
270
+ # @return [String]
271
+ #
272
+ # @!attribute [rw] resource_arns
273
+ # A list containing the ARNs of resources to be disassociated.
274
+ # @return [Array<String>]
275
+ #
276
+ # @!attribute [rw] billing_period_range
277
+ # The billing period range in which the custom line item request will
278
+ # be applied.
279
+ # @return [Types::CustomLineItemBillingPeriodRange]
280
+ #
281
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/BatchDisassociateResourcesFromCustomLineItemInput AWS API Documentation
282
+ #
283
+ class BatchDisassociateResourcesFromCustomLineItemInput < Struct.new(
284
+ :target_arn,
285
+ :resource_arns,
286
+ :billing_period_range)
287
+ SENSITIVE = []
288
+ include Aws::Structure
289
+ end
290
+
291
+ # @!attribute [rw] successfully_disassociated_resources
292
+ # A list of `DisassociateResourceResponseElement` for each resource
293
+ # that's been disassociated from a percentage custom line item
294
+ # successfully.
295
+ # @return [Array<Types::DisassociateResourceResponseElement>]
296
+ #
297
+ # @!attribute [rw] failed_disassociated_resources
298
+ # A list of `DisassociateResourceResponseElement` for each resource
299
+ # that failed disassociation from a percentage custom line item.
300
+ # @return [Array<Types::DisassociateResourceResponseElement>]
301
+ #
302
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/BatchDisassociateResourcesFromCustomLineItemOutput AWS API Documentation
303
+ #
304
+ class BatchDisassociateResourcesFromCustomLineItemOutput < Struct.new(
305
+ :successfully_disassociated_resources,
306
+ :failed_disassociated_resources)
307
+ SENSITIVE = []
308
+ include Aws::Structure
309
+ end
310
+
311
+ # A summary report of actual Amazon Web Services charges and calculated
312
+ # Amazon Web Services charges, based on the associated pricing plan of a
313
+ # billing group.
314
+ #
315
+ # @!attribute [rw] arn
316
+ # The Amazon Resource Name (ARN) of a billing group.
317
+ # @return [String]
318
+ #
319
+ # @!attribute [rw] aws_cost
320
+ # The actual Amazon Web Services charges for the billing group.
321
+ # @return [String]
322
+ #
323
+ # @!attribute [rw] proforma_cost
324
+ # The hypothetical Amazon Web Services charges based on the associated
325
+ # pricing plan of a billing group.
326
+ # @return [String]
327
+ #
328
+ # @!attribute [rw] margin
329
+ # The billing group margin.
330
+ # @return [String]
331
+ #
332
+ # @!attribute [rw] margin_percentage
333
+ # The percentage of billing group margin.
334
+ # @return [String]
335
+ #
336
+ # @!attribute [rw] currency
337
+ # The displayed currency.
338
+ # @return [String]
339
+ #
340
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/BillingGroupCostReportElement AWS API Documentation
341
+ #
342
+ class BillingGroupCostReportElement < Struct.new(
343
+ :arn,
344
+ :aws_cost,
345
+ :proforma_cost,
346
+ :margin,
347
+ :margin_percentage,
348
+ :currency)
349
+ SENSITIVE = []
350
+ include Aws::Structure
351
+ end
352
+
353
+ # A representation of a billing group.
354
+ #
355
+ # @!attribute [rw] name
356
+ # The billing group's name.
357
+ # @return [String]
358
+ #
359
+ # @!attribute [rw] arn
360
+ # The Amazon Resource Number (ARN) that can be used to uniquely
361
+ # identify the billing group.
362
+ # @return [String]
363
+ #
364
+ # @!attribute [rw] description
365
+ # The billing group description.
366
+ # @return [String]
367
+ #
368
+ # @!attribute [rw] primary_account_id
369
+ # The account ID that serves as the main account in a billing group.
370
+ # @return [String]
371
+ #
372
+ # @!attribute [rw] computation_preference
373
+ # The preferences and settings that will be used to compute the Amazon
374
+ # Web Services charges for a billing group.
375
+ # @return [Types::ComputationPreference]
376
+ #
377
+ # @!attribute [rw] size
378
+ # The number of accounts in the particular billing group.
379
+ # @return [Integer]
380
+ #
381
+ # @!attribute [rw] creation_time
382
+ # The time the billing group was created.
383
+ # @return [Integer]
384
+ #
385
+ # @!attribute [rw] last_modified_time
386
+ # The most recent time the billing group was modified.
387
+ # @return [Integer]
388
+ #
389
+ # @!attribute [rw] status
390
+ # The billing group status. Only one of the valid values can be used.
391
+ # @return [String]
392
+ #
393
+ # @!attribute [rw] status_reason
394
+ # The reason why the billing group is in its current status.
395
+ # @return [String]
396
+ #
397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/BillingGroupListElement AWS API Documentation
398
+ #
399
+ class BillingGroupListElement < Struct.new(
400
+ :name,
401
+ :arn,
402
+ :description,
403
+ :primary_account_id,
404
+ :computation_preference,
405
+ :size,
406
+ :creation_time,
407
+ :last_modified_time,
408
+ :status,
409
+ :status_reason)
410
+ SENSITIVE = [:name, :description]
411
+ include Aws::Structure
412
+ end
413
+
414
+ # The preferences and settings that will be used to compute the Amazon
415
+ # Web Services charges for a billing group.
416
+ #
417
+ # @note When making an API call, you may pass ComputationPreference
418
+ # data as a hash:
419
+ #
420
+ # {
421
+ # pricing_plan_arn: "PricingPlanFullArn", # required
422
+ # }
423
+ #
424
+ # @!attribute [rw] pricing_plan_arn
425
+ # The Amazon Resource Name (ARN) of the pricing plan used to compute
426
+ # the Amazon Web Services charges for a billing group.
427
+ # @return [String]
428
+ #
429
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ComputationPreference AWS API Documentation
430
+ #
431
+ class ComputationPreference < Struct.new(
432
+ :pricing_plan_arn)
433
+ SENSITIVE = []
434
+ include Aws::Structure
435
+ end
436
+
437
+ # You can cause an inconsistent state by updating or deleting a
438
+ # resource.
439
+ #
440
+ # @!attribute [rw] message
441
+ # @return [String]
442
+ #
443
+ # @!attribute [rw] resource_id
444
+ # Identifier of the resource in use.
445
+ # @return [String]
446
+ #
447
+ # @!attribute [rw] resource_type
448
+ # Type of the resource in use.
449
+ # @return [String]
450
+ #
451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ConflictException AWS API Documentation
452
+ #
453
+ class ConflictException < Struct.new(
454
+ :message,
455
+ :resource_id,
456
+ :resource_type)
457
+ SENSITIVE = []
458
+ include Aws::Structure
459
+ end
460
+
461
+ # @note When making an API call, you may pass CreateBillingGroupInput
462
+ # data as a hash:
463
+ #
464
+ # {
465
+ # client_token: "ClientToken",
466
+ # name: "BillingGroupName", # required
467
+ # account_grouping: { # required
468
+ # linked_account_ids: ["AccountId"], # required
469
+ # },
470
+ # computation_preference: { # required
471
+ # pricing_plan_arn: "PricingPlanFullArn", # required
472
+ # },
473
+ # primary_account_id: "AccountId",
474
+ # description: "BillingGroupDescription",
475
+ # tags: {
476
+ # "TagKey" => "TagValue",
477
+ # },
478
+ # }
479
+ #
480
+ # @!attribute [rw] client_token
481
+ # The token that is needed to support idempotency. Idempotency isn't
482
+ # currently supported, but will be implemented in a future update.
483
+ #
484
+ # **A suitable default value is auto-generated.** You should normally
485
+ # not need to pass this option.
486
+ # @return [String]
487
+ #
488
+ # @!attribute [rw] name
489
+ # The billing group name. The names must be unique.
490
+ # @return [String]
491
+ #
492
+ # @!attribute [rw] account_grouping
493
+ # The set of accounts that will be under the billing group. The set of
494
+ # accounts resemble the linked accounts in a consolidated family.
495
+ # @return [Types::AccountGrouping]
496
+ #
497
+ # @!attribute [rw] computation_preference
498
+ # The preferences and settings that will be used to compute the Amazon
499
+ # Web Services charges for a billing group.
500
+ # @return [Types::ComputationPreference]
501
+ #
502
+ # @!attribute [rw] primary_account_id
503
+ # The account ID that serves as the main account in a billing group.
504
+ # @return [String]
505
+ #
506
+ # @!attribute [rw] description
507
+ # The billing group description.
508
+ # @return [String]
509
+ #
510
+ # @!attribute [rw] tags
511
+ # A map that contains tag keys and tag values that are attached to a
512
+ # billing group. This feature isn't available during the beta.
513
+ # @return [Hash<String,String>]
514
+ #
515
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CreateBillingGroupInput AWS API Documentation
516
+ #
517
+ class CreateBillingGroupInput < Struct.new(
518
+ :client_token,
519
+ :name,
520
+ :account_grouping,
521
+ :computation_preference,
522
+ :primary_account_id,
523
+ :description,
524
+ :tags)
525
+ SENSITIVE = [:name, :description]
526
+ include Aws::Structure
527
+ end
528
+
529
+ # @!attribute [rw] arn
530
+ # The Amazon Resource Name (ARN) of the created billing group.
531
+ # @return [String]
532
+ #
533
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CreateBillingGroupOutput AWS API Documentation
534
+ #
535
+ class CreateBillingGroupOutput < Struct.new(
536
+ :arn)
537
+ SENSITIVE = []
538
+ include Aws::Structure
539
+ end
540
+
541
+ # @note When making an API call, you may pass CreateCustomLineItemInput
542
+ # data as a hash:
543
+ #
544
+ # {
545
+ # client_token: "ClientToken",
546
+ # name: "CustomLineItemName", # required
547
+ # description: "CustomLineItemDescription", # required
548
+ # billing_group_arn: "BillingGroupArn", # required
549
+ # billing_period_range: {
550
+ # inclusive_start_billing_period: "BillingPeriod", # required
551
+ # exclusive_end_billing_period: "BillingPeriod", # required
552
+ # },
553
+ # tags: {
554
+ # "TagKey" => "TagValue",
555
+ # },
556
+ # charge_details: { # required
557
+ # flat: {
558
+ # charge_value: 1.0, # required
559
+ # },
560
+ # percentage: {
561
+ # percentage_value: 1.0, # required
562
+ # associated_values: ["CustomLineItemAssociationElement"],
563
+ # },
564
+ # type: "CREDIT", # required, accepts CREDIT, FEE
565
+ # },
566
+ # }
567
+ #
568
+ # @!attribute [rw] client_token
569
+ # The token that is needed to support idempotency. Idempotency isn't
570
+ # currently supported, but will be implemented in a future update.
571
+ #
572
+ # **A suitable default value is auto-generated.** You should normally
573
+ # not need to pass this option.
574
+ # @return [String]
575
+ #
576
+ # @!attribute [rw] name
577
+ # The name of the custom line item.
578
+ # @return [String]
579
+ #
580
+ # @!attribute [rw] description
581
+ # The description of the custom line item. This is shown on the Bills
582
+ # page in association with the charge value.
583
+ # @return [String]
584
+ #
585
+ # @!attribute [rw] billing_group_arn
586
+ # The Amazon Resource Name (ARN) that references the billing group
587
+ # where the custom line item applies to.
588
+ # @return [String]
589
+ #
590
+ # @!attribute [rw] billing_period_range
591
+ # A time range for which the custom line item is effective.
592
+ # @return [Types::CustomLineItemBillingPeriodRange]
593
+ #
594
+ # @!attribute [rw] tags
595
+ # A map that contains tag keys and tag values that are attached to a
596
+ # custom line item.
597
+ # @return [Hash<String,String>]
598
+ #
599
+ # @!attribute [rw] charge_details
600
+ # A `CustomLineItemChargeDetails` that describes the charge details
601
+ # for a custom line item.
602
+ # @return [Types::CustomLineItemChargeDetails]
603
+ #
604
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CreateCustomLineItemInput AWS API Documentation
605
+ #
606
+ class CreateCustomLineItemInput < Struct.new(
607
+ :client_token,
608
+ :name,
609
+ :description,
610
+ :billing_group_arn,
611
+ :billing_period_range,
612
+ :tags,
613
+ :charge_details)
614
+ SENSITIVE = [:name, :description]
615
+ include Aws::Structure
616
+ end
617
+
618
+ # @!attribute [rw] arn
619
+ # The Amazon Resource Name (ARN) of the created custom line item.
620
+ # @return [String]
621
+ #
622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CreateCustomLineItemOutput AWS API Documentation
623
+ #
624
+ class CreateCustomLineItemOutput < Struct.new(
625
+ :arn)
626
+ SENSITIVE = []
627
+ include Aws::Structure
628
+ end
629
+
630
+ # @note When making an API call, you may pass CreatePricingPlanInput
631
+ # data as a hash:
632
+ #
633
+ # {
634
+ # client_token: "ClientToken",
635
+ # name: "PricingPlanName", # required
636
+ # description: "PricingPlanDescription",
637
+ # pricing_rule_arns: ["PricingRuleArn"],
638
+ # tags: {
639
+ # "TagKey" => "TagValue",
640
+ # },
641
+ # }
642
+ #
643
+ # @!attribute [rw] client_token
644
+ # The token that is needed to support idempotency. Idempotency isn't
645
+ # currently supported, but will be implemented in a future update.
646
+ #
647
+ # **A suitable default value is auto-generated.** You should normally
648
+ # not need to pass this option.
649
+ # @return [String]
650
+ #
651
+ # @!attribute [rw] name
652
+ # The pricing plan name. The names must be unique to each pricing
653
+ # plan.
654
+ # @return [String]
655
+ #
656
+ # @!attribute [rw] description
657
+ # The pricing plan description.
658
+ # @return [String]
659
+ #
660
+ # @!attribute [rw] pricing_rule_arns
661
+ # A list of Amazon Resource Names (ARNs) that define the pricing plan
662
+ # parameters.
663
+ # @return [Array<String>]
664
+ #
665
+ # @!attribute [rw] tags
666
+ # A map that contains tag keys and tag values that are attached to a
667
+ # pricing plan.
668
+ # @return [Hash<String,String>]
669
+ #
670
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CreatePricingPlanInput AWS API Documentation
671
+ #
672
+ class CreatePricingPlanInput < Struct.new(
673
+ :client_token,
674
+ :name,
675
+ :description,
676
+ :pricing_rule_arns,
677
+ :tags)
678
+ SENSITIVE = [:name, :description]
679
+ include Aws::Structure
680
+ end
681
+
682
+ # @!attribute [rw] arn
683
+ # The Amazon Resource Name (ARN) of the created pricing plan.
684
+ # @return [String]
685
+ #
686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CreatePricingPlanOutput AWS API Documentation
687
+ #
688
+ class CreatePricingPlanOutput < Struct.new(
689
+ :arn)
690
+ SENSITIVE = []
691
+ include Aws::Structure
692
+ end
693
+
694
+ # @note When making an API call, you may pass CreatePricingRuleInput
695
+ # data as a hash:
696
+ #
697
+ # {
698
+ # client_token: "ClientToken",
699
+ # name: "PricingRuleName", # required
700
+ # description: "PricingRuleDescription",
701
+ # scope: "GLOBAL", # required, accepts GLOBAL, SERVICE
702
+ # type: "MARKUP", # required, accepts MARKUP, DISCOUNT
703
+ # modifier_percentage: 1.0, # required
704
+ # service: "Service",
705
+ # tags: {
706
+ # "TagKey" => "TagValue",
707
+ # },
708
+ # }
709
+ #
710
+ # @!attribute [rw] client_token
711
+ # The token that is needed to support idempotency. Idempotency isn't
712
+ # currently supported, but will be implemented in a future update.
713
+ #
714
+ # **A suitable default value is auto-generated.** You should normally
715
+ # not need to pass this option.
716
+ # @return [String]
717
+ #
718
+ # @!attribute [rw] name
719
+ # The pricing rule name. The names must be unique to each pricing
720
+ # rule.
721
+ # @return [String]
722
+ #
723
+ # @!attribute [rw] description
724
+ # The pricing rule description.
725
+ # @return [String]
726
+ #
727
+ # @!attribute [rw] scope
728
+ # The scope of pricing rule that indicates if it is globally
729
+ # applicable, or is service-specific.
730
+ # @return [String]
731
+ #
732
+ # @!attribute [rw] type
733
+ # The type of pricing rule.
734
+ # @return [String]
735
+ #
736
+ # @!attribute [rw] modifier_percentage
737
+ # A percentage modifier applied on the public pricing rates.
738
+ # @return [Float]
739
+ #
740
+ # @!attribute [rw] service
741
+ # If the `Scope` attribute is set to `SERVICE`, the attribute
742
+ # indicates which service the `PricingRule` is applicable for.
743
+ # @return [String]
744
+ #
745
+ # @!attribute [rw] tags
746
+ # A map that contains tag keys and tag values that are attached to a
747
+ # pricing rule.
748
+ # @return [Hash<String,String>]
749
+ #
750
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CreatePricingRuleInput AWS API Documentation
751
+ #
752
+ class CreatePricingRuleInput < Struct.new(
753
+ :client_token,
754
+ :name,
755
+ :description,
756
+ :scope,
757
+ :type,
758
+ :modifier_percentage,
759
+ :service,
760
+ :tags)
761
+ SENSITIVE = [:name, :description]
762
+ include Aws::Structure
763
+ end
764
+
765
+ # @!attribute [rw] arn
766
+ # The Amazon Resource Name (ARN) of the created pricing rule.
767
+ # @return [String]
768
+ #
769
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CreatePricingRuleOutput AWS API Documentation
770
+ #
771
+ class CreatePricingRuleOutput < Struct.new(
772
+ :arn)
773
+ SENSITIVE = []
774
+ include Aws::Structure
775
+ end
776
+
777
+ # The billing period range in which the custom line item request will be
778
+ # applied.
779
+ #
780
+ # @note When making an API call, you may pass CustomLineItemBillingPeriodRange
781
+ # data as a hash:
782
+ #
783
+ # {
784
+ # inclusive_start_billing_period: "BillingPeriod", # required
785
+ # exclusive_end_billing_period: "BillingPeriod", # required
786
+ # }
787
+ #
788
+ # @!attribute [rw] inclusive_start_billing_period
789
+ # The inclusive start billing period that defines a billing period
790
+ # range where a custom line is applied.
791
+ # @return [String]
792
+ #
793
+ # @!attribute [rw] exclusive_end_billing_period
794
+ # The inclusive end billing period that defines a billing period range
795
+ # where a custom line is applied.
796
+ # @return [String]
797
+ #
798
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CustomLineItemBillingPeriodRange AWS API Documentation
799
+ #
800
+ class CustomLineItemBillingPeriodRange < Struct.new(
801
+ :inclusive_start_billing_period,
802
+ :exclusive_end_billing_period)
803
+ SENSITIVE = []
804
+ include Aws::Structure
805
+ end
806
+
807
+ # The charge details of a custom line item. It should contain only one
808
+ # of `Flat` or `Percentage`.
809
+ #
810
+ # @note When making an API call, you may pass CustomLineItemChargeDetails
811
+ # data as a hash:
812
+ #
813
+ # {
814
+ # flat: {
815
+ # charge_value: 1.0, # required
816
+ # },
817
+ # percentage: {
818
+ # percentage_value: 1.0, # required
819
+ # associated_values: ["CustomLineItemAssociationElement"],
820
+ # },
821
+ # type: "CREDIT", # required, accepts CREDIT, FEE
822
+ # }
823
+ #
824
+ # @!attribute [rw] flat
825
+ # A `CustomLineItemFlatChargeDetails` that describes the charge
826
+ # details of a flat custom line item.
827
+ # @return [Types::CustomLineItemFlatChargeDetails]
828
+ #
829
+ # @!attribute [rw] percentage
830
+ # A `CustomLineItemPercentageChargeDetails` that describes the charge
831
+ # details of a percentage custom line item.
832
+ # @return [Types::CustomLineItemPercentageChargeDetails]
833
+ #
834
+ # @!attribute [rw] type
835
+ # The type of the custom line item that indicates whether the charge
836
+ # is a fee or credit.
837
+ # @return [String]
838
+ #
839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CustomLineItemChargeDetails AWS API Documentation
840
+ #
841
+ class CustomLineItemChargeDetails < Struct.new(
842
+ :flat,
843
+ :percentage,
844
+ :type)
845
+ SENSITIVE = []
846
+ include Aws::Structure
847
+ end
848
+
849
+ # A representation of the charge details associated with a flat custom
850
+ # line item.
851
+ #
852
+ # @note When making an API call, you may pass CustomLineItemFlatChargeDetails
853
+ # data as a hash:
854
+ #
855
+ # {
856
+ # charge_value: 1.0, # required
857
+ # }
858
+ #
859
+ # @!attribute [rw] charge_value
860
+ # The custom line item's fixed charge value in USD.
861
+ # @return [Float]
862
+ #
863
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CustomLineItemFlatChargeDetails AWS API Documentation
864
+ #
865
+ class CustomLineItemFlatChargeDetails < Struct.new(
866
+ :charge_value)
867
+ SENSITIVE = []
868
+ include Aws::Structure
869
+ end
870
+
871
+ # A representation of a custom line item.
872
+ #
873
+ # @!attribute [rw] arn
874
+ # The Amazon Resource Names (ARNs) for custom line items.
875
+ # @return [String]
876
+ #
877
+ # @!attribute [rw] name
878
+ # The custom line item's name.
879
+ # @return [String]
880
+ #
881
+ # @!attribute [rw] charge_details
882
+ # A `ListCustomLineItemChargeDetails` that describes the charge
883
+ # details of a custom line item.
884
+ # @return [Types::ListCustomLineItemChargeDetails]
885
+ #
886
+ # @!attribute [rw] currency_code
887
+ # The custom line item's charge value currency. Only one of the valid
888
+ # values can be used.
889
+ # @return [String]
890
+ #
891
+ # @!attribute [rw] description
892
+ # The custom line item's description. This is shown on the Bills page
893
+ # in association with the charge value.
894
+ # @return [String]
895
+ #
896
+ # @!attribute [rw] product_code
897
+ # The product code associated with the custom line item.
898
+ # @return [String]
899
+ #
900
+ # @!attribute [rw] billing_group_arn
901
+ # The Amazon Resource Name (ARN) that references the billing group
902
+ # where the custom line item applies to.
903
+ # @return [String]
904
+ #
905
+ # @!attribute [rw] creation_time
906
+ # The time created.
907
+ # @return [Integer]
908
+ #
909
+ # @!attribute [rw] last_modified_time
910
+ # The most recent time the custom line item was modified.
911
+ # @return [Integer]
912
+ #
913
+ # @!attribute [rw] association_size
914
+ # The number of resources that are associated to the custom line item.
915
+ # @return [Integer]
916
+ #
917
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CustomLineItemListElement AWS API Documentation
918
+ #
919
+ class CustomLineItemListElement < Struct.new(
920
+ :arn,
921
+ :name,
922
+ :charge_details,
923
+ :currency_code,
924
+ :description,
925
+ :product_code,
926
+ :billing_group_arn,
927
+ :creation_time,
928
+ :last_modified_time,
929
+ :association_size)
930
+ SENSITIVE = [:name, :description]
931
+ include Aws::Structure
932
+ end
933
+
934
+ # A representation of the charge details associated with a percentage
935
+ # custom line item.
936
+ #
937
+ # @note When making an API call, you may pass CustomLineItemPercentageChargeDetails
938
+ # data as a hash:
939
+ #
940
+ # {
941
+ # percentage_value: 1.0, # required
942
+ # associated_values: ["CustomLineItemAssociationElement"],
943
+ # }
944
+ #
945
+ # @!attribute [rw] percentage_value
946
+ # The custom line item's percentage value. This will be multiplied
947
+ # against the combined value of its associated resources to determine
948
+ # its charge value.
949
+ # @return [Float]
950
+ #
951
+ # @!attribute [rw] associated_values
952
+ # A list of resource ARNs to associate to the percentage custom line
953
+ # item.
954
+ # @return [Array<String>]
955
+ #
956
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/CustomLineItemPercentageChargeDetails AWS API Documentation
957
+ #
958
+ class CustomLineItemPercentageChargeDetails < Struct.new(
959
+ :percentage_value,
960
+ :associated_values)
961
+ SENSITIVE = []
962
+ include Aws::Structure
963
+ end
964
+
965
+ # @note When making an API call, you may pass DeleteBillingGroupInput
966
+ # data as a hash:
967
+ #
968
+ # {
969
+ # arn: "BillingGroupArn", # required
970
+ # }
971
+ #
972
+ # @!attribute [rw] arn
973
+ # The Amazon Resource Name (ARN) of the billing group you're
974
+ # deleting.
975
+ # @return [String]
976
+ #
977
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/DeleteBillingGroupInput AWS API Documentation
978
+ #
979
+ class DeleteBillingGroupInput < Struct.new(
980
+ :arn)
981
+ SENSITIVE = []
982
+ include Aws::Structure
983
+ end
984
+
985
+ # @!attribute [rw] arn
986
+ # The Amazon Resource Name (ARN) of the deleted billing group.
987
+ # @return [String]
988
+ #
989
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/DeleteBillingGroupOutput AWS API Documentation
990
+ #
991
+ class DeleteBillingGroupOutput < Struct.new(
992
+ :arn)
993
+ SENSITIVE = []
994
+ include Aws::Structure
995
+ end
996
+
997
+ # @note When making an API call, you may pass DeleteCustomLineItemInput
998
+ # data as a hash:
999
+ #
1000
+ # {
1001
+ # arn: "CustomLineItemArn", # required
1002
+ # billing_period_range: {
1003
+ # inclusive_start_billing_period: "BillingPeriod", # required
1004
+ # exclusive_end_billing_period: "BillingPeriod", # required
1005
+ # },
1006
+ # }
1007
+ #
1008
+ # @!attribute [rw] arn
1009
+ # The ARN of the custom line item to be deleted.
1010
+ # @return [String]
1011
+ #
1012
+ # @!attribute [rw] billing_period_range
1013
+ # The billing period range in which the custom line item request will
1014
+ # be applied.
1015
+ # @return [Types::CustomLineItemBillingPeriodRange]
1016
+ #
1017
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/DeleteCustomLineItemInput AWS API Documentation
1018
+ #
1019
+ class DeleteCustomLineItemInput < Struct.new(
1020
+ :arn,
1021
+ :billing_period_range)
1022
+ SENSITIVE = []
1023
+ include Aws::Structure
1024
+ end
1025
+
1026
+ # @!attribute [rw] arn
1027
+ # Then ARN of the deleted custom line item.
1028
+ # @return [String]
1029
+ #
1030
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/DeleteCustomLineItemOutput AWS API Documentation
1031
+ #
1032
+ class DeleteCustomLineItemOutput < Struct.new(
1033
+ :arn)
1034
+ SENSITIVE = []
1035
+ include Aws::Structure
1036
+ end
1037
+
1038
+ # @note When making an API call, you may pass DeletePricingPlanInput
1039
+ # data as a hash:
1040
+ #
1041
+ # {
1042
+ # arn: "PricingPlanArn", # required
1043
+ # }
1044
+ #
1045
+ # @!attribute [rw] arn
1046
+ # The Amazon Resource Name (ARN) of the pricing plan you're deleting.
1047
+ # @return [String]
1048
+ #
1049
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/DeletePricingPlanInput AWS API Documentation
1050
+ #
1051
+ class DeletePricingPlanInput < Struct.new(
1052
+ :arn)
1053
+ SENSITIVE = []
1054
+ include Aws::Structure
1055
+ end
1056
+
1057
+ # @!attribute [rw] arn
1058
+ # The Amazon Resource Name (ARN) of the deleted pricing plan.
1059
+ # @return [String]
1060
+ #
1061
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/DeletePricingPlanOutput AWS API Documentation
1062
+ #
1063
+ class DeletePricingPlanOutput < Struct.new(
1064
+ :arn)
1065
+ SENSITIVE = []
1066
+ include Aws::Structure
1067
+ end
1068
+
1069
+ # @note When making an API call, you may pass DeletePricingRuleInput
1070
+ # data as a hash:
1071
+ #
1072
+ # {
1073
+ # arn: "PricingRuleArn", # required
1074
+ # }
1075
+ #
1076
+ # @!attribute [rw] arn
1077
+ # The Amazon Resource Name (ARN) of the pricing rule you are deleting.
1078
+ # @return [String]
1079
+ #
1080
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/DeletePricingRuleInput AWS API Documentation
1081
+ #
1082
+ class DeletePricingRuleInput < Struct.new(
1083
+ :arn)
1084
+ SENSITIVE = []
1085
+ include Aws::Structure
1086
+ end
1087
+
1088
+ # @!attribute [rw] arn
1089
+ # The Amazon Resource Name (ARN) of the deleted pricing rule.
1090
+ # @return [String]
1091
+ #
1092
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/DeletePricingRuleOutput AWS API Documentation
1093
+ #
1094
+ class DeletePricingRuleOutput < Struct.new(
1095
+ :arn)
1096
+ SENSITIVE = []
1097
+ include Aws::Structure
1098
+ end
1099
+
1100
+ # @note When making an API call, you may pass DisassociateAccountsInput
1101
+ # data as a hash:
1102
+ #
1103
+ # {
1104
+ # arn: "BillingGroupArn", # required
1105
+ # account_ids: ["AccountId"], # required
1106
+ # }
1107
+ #
1108
+ # @!attribute [rw] arn
1109
+ # The Amazon Resource Name (ARN) of the billing group that the array
1110
+ # of account IDs will disassociate from.
1111
+ # @return [String]
1112
+ #
1113
+ # @!attribute [rw] account_ids
1114
+ # The array of account IDs to disassociate.
1115
+ # @return [Array<String>]
1116
+ #
1117
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/DisassociateAccountsInput AWS API Documentation
1118
+ #
1119
+ class DisassociateAccountsInput < Struct.new(
1120
+ :arn,
1121
+ :account_ids)
1122
+ SENSITIVE = []
1123
+ include Aws::Structure
1124
+ end
1125
+
1126
+ # @!attribute [rw] arn
1127
+ # The Amazon Resource Name (ARN) of the billing group that the array
1128
+ # of account IDs is disassociated from.
1129
+ # @return [String]
1130
+ #
1131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/DisassociateAccountsOutput AWS API Documentation
1132
+ #
1133
+ class DisassociateAccountsOutput < Struct.new(
1134
+ :arn)
1135
+ SENSITIVE = []
1136
+ include Aws::Structure
1137
+ end
1138
+
1139
+ # @note When making an API call, you may pass DisassociatePricingRulesInput
1140
+ # data as a hash:
1141
+ #
1142
+ # {
1143
+ # arn: "PricingPlanArn", # required
1144
+ # pricing_rule_arns: ["PricingRuleArn"], # required
1145
+ # }
1146
+ #
1147
+ # @!attribute [rw] arn
1148
+ # The pricing plan Amazon Resource Name (ARN) to disassociate pricing
1149
+ # rules from.
1150
+ # @return [String]
1151
+ #
1152
+ # @!attribute [rw] pricing_rule_arns
1153
+ # A list containing the Amazon Resource Name (ARN) of the pricing
1154
+ # rules that will be disassociated.
1155
+ # @return [Array<String>]
1156
+ #
1157
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/DisassociatePricingRulesInput AWS API Documentation
1158
+ #
1159
+ class DisassociatePricingRulesInput < Struct.new(
1160
+ :arn,
1161
+ :pricing_rule_arns)
1162
+ SENSITIVE = []
1163
+ include Aws::Structure
1164
+ end
1165
+
1166
+ # @!attribute [rw] arn
1167
+ # The Amazon Resource Name (ARN) of the pricing plan that the pricing
1168
+ # rules successfully disassociated from.
1169
+ # @return [String]
1170
+ #
1171
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/DisassociatePricingRulesOutput AWS API Documentation
1172
+ #
1173
+ class DisassociatePricingRulesOutput < Struct.new(
1174
+ :arn)
1175
+ SENSITIVE = []
1176
+ include Aws::Structure
1177
+ end
1178
+
1179
+ # A resource disassociation result for a percentage custom line item.
1180
+ #
1181
+ # @!attribute [rw] arn
1182
+ # The resource ARN that was disassociated from the custom line item.
1183
+ # @return [String]
1184
+ #
1185
+ # @!attribute [rw] error
1186
+ # An `AssociateResourceError` shown if the resource disassociation
1187
+ # fails.
1188
+ # @return [Types::AssociateResourceError]
1189
+ #
1190
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/DisassociateResourceResponseElement AWS API Documentation
1191
+ #
1192
+ class DisassociateResourceResponseElement < Struct.new(
1193
+ :arn,
1194
+ :error)
1195
+ SENSITIVE = []
1196
+ include Aws::Structure
1197
+ end
1198
+
1199
+ # An unexpected error occurred while processing a request.
1200
+ #
1201
+ # @!attribute [rw] message
1202
+ # @return [String]
1203
+ #
1204
+ # @!attribute [rw] retry_after_seconds
1205
+ # Number of seconds you can retry after the call.
1206
+ # @return [Integer]
1207
+ #
1208
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/InternalServerException AWS API Documentation
1209
+ #
1210
+ class InternalServerException < Struct.new(
1211
+ :message,
1212
+ :retry_after_seconds)
1213
+ SENSITIVE = []
1214
+ include Aws::Structure
1215
+ end
1216
+
1217
+ # The filter on the account ID of the linked account, or any of the
1218
+ # following:
1219
+ #
1220
+ # `MONITORED`\: linked accounts that are associated to billing groups.
1221
+ #
1222
+ # `UNMONITORED`\: linked accounts that are not associated to billing
1223
+ # groups.
1224
+ #
1225
+ # `Billing Group Arn`\: linked accounts that are associated to the
1226
+ # provided Billing Group Arn.
1227
+ #
1228
+ # @note When making an API call, you may pass ListAccountAssociationsFilter
1229
+ # data as a hash:
1230
+ #
1231
+ # {
1232
+ # association: "Association",
1233
+ # account_id: "AccountId",
1234
+ # }
1235
+ #
1236
+ # @!attribute [rw] association
1237
+ # `MONITORED`\: linked accounts that are associated to billing groups.
1238
+ #
1239
+ # `UNMONITORED`\: linked accounts that are not associated to billing
1240
+ # groups.
1241
+ #
1242
+ # `Billing Group Arn`\: linked accounts that are associated to the
1243
+ # provided Billing Group Arn.
1244
+ # @return [String]
1245
+ #
1246
+ # @!attribute [rw] account_id
1247
+ # The Amazon Web Services account ID to filter on.
1248
+ # @return [String]
1249
+ #
1250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListAccountAssociationsFilter AWS API Documentation
1251
+ #
1252
+ class ListAccountAssociationsFilter < Struct.new(
1253
+ :association,
1254
+ :account_id)
1255
+ SENSITIVE = []
1256
+ include Aws::Structure
1257
+ end
1258
+
1259
+ # @note When making an API call, you may pass ListAccountAssociationsInput
1260
+ # data as a hash:
1261
+ #
1262
+ # {
1263
+ # billing_period: "BillingPeriod",
1264
+ # filters: {
1265
+ # association: "Association",
1266
+ # account_id: "AccountId",
1267
+ # },
1268
+ # next_token: "Token",
1269
+ # }
1270
+ #
1271
+ # @!attribute [rw] billing_period
1272
+ # The preferred billing period to get account associations.
1273
+ # @return [String]
1274
+ #
1275
+ # @!attribute [rw] filters
1276
+ # The filter on the account ID of the linked account, or any of the
1277
+ # following:
1278
+ #
1279
+ # `MONITORED`\: linked accounts that are associated to billing groups.
1280
+ #
1281
+ # `UNMONITORED`\: linked accounts that are not associated to billing
1282
+ # groups.
1283
+ #
1284
+ # `Billing Group Arn`\: linked accounts that are associated to the
1285
+ # provided billing group Arn.
1286
+ # @return [Types::ListAccountAssociationsFilter]
1287
+ #
1288
+ # @!attribute [rw] next_token
1289
+ # The pagination token used on subsequent calls to retrieve accounts.
1290
+ # @return [String]
1291
+ #
1292
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListAccountAssociationsInput AWS API Documentation
1293
+ #
1294
+ class ListAccountAssociationsInput < Struct.new(
1295
+ :billing_period,
1296
+ :filters,
1297
+ :next_token)
1298
+ SENSITIVE = []
1299
+ include Aws::Structure
1300
+ end
1301
+
1302
+ # @!attribute [rw] linked_accounts
1303
+ # The list of linked accounts in the payer account.
1304
+ # @return [Array<Types::AccountAssociationsListElement>]
1305
+ #
1306
+ # @!attribute [rw] next_token
1307
+ # The pagination token used on subsequent calls to get accounts.
1308
+ # @return [String]
1309
+ #
1310
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListAccountAssociationsOutput AWS API Documentation
1311
+ #
1312
+ class ListAccountAssociationsOutput < Struct.new(
1313
+ :linked_accounts,
1314
+ :next_token)
1315
+ SENSITIVE = []
1316
+ include Aws::Structure
1317
+ end
1318
+
1319
+ # The filter used to retrieve specific `BillingGroupCostReportElements`.
1320
+ #
1321
+ # @note When making an API call, you may pass ListBillingGroupCostReportsFilter
1322
+ # data as a hash:
1323
+ #
1324
+ # {
1325
+ # billing_group_arns: ["BillingGroupArn"],
1326
+ # }
1327
+ #
1328
+ # @!attribute [rw] billing_group_arns
1329
+ # The list of Amazon Resource Names (ARNs) used to filter billing
1330
+ # groups to retrieve reports.
1331
+ # @return [Array<String>]
1332
+ #
1333
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListBillingGroupCostReportsFilter AWS API Documentation
1334
+ #
1335
+ class ListBillingGroupCostReportsFilter < Struct.new(
1336
+ :billing_group_arns)
1337
+ SENSITIVE = []
1338
+ include Aws::Structure
1339
+ end
1340
+
1341
+ # @note When making an API call, you may pass ListBillingGroupCostReportsInput
1342
+ # data as a hash:
1343
+ #
1344
+ # {
1345
+ # billing_period: "BillingPeriod",
1346
+ # max_results: 1,
1347
+ # next_token: "Token",
1348
+ # filters: {
1349
+ # billing_group_arns: ["BillingGroupArn"],
1350
+ # },
1351
+ # }
1352
+ #
1353
+ # @!attribute [rw] billing_period
1354
+ # The preferred billing period for your report.
1355
+ # @return [String]
1356
+ #
1357
+ # @!attribute [rw] max_results
1358
+ # The maximum number of reports to retrieve.
1359
+ # @return [Integer]
1360
+ #
1361
+ # @!attribute [rw] next_token
1362
+ # The pagination token used on subsequent calls to get reports.
1363
+ # @return [String]
1364
+ #
1365
+ # @!attribute [rw] filters
1366
+ # A `ListBillingGroupCostReportsFilter` to specify billing groups to
1367
+ # retrieve reports from.
1368
+ # @return [Types::ListBillingGroupCostReportsFilter]
1369
+ #
1370
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListBillingGroupCostReportsInput AWS API Documentation
1371
+ #
1372
+ class ListBillingGroupCostReportsInput < Struct.new(
1373
+ :billing_period,
1374
+ :max_results,
1375
+ :next_token,
1376
+ :filters)
1377
+ SENSITIVE = []
1378
+ include Aws::Structure
1379
+ end
1380
+
1381
+ # @!attribute [rw] billing_group_cost_reports
1382
+ # A list of `BillingGroupCostReportElement` retrieved.
1383
+ # @return [Array<Types::BillingGroupCostReportElement>]
1384
+ #
1385
+ # @!attribute [rw] next_token
1386
+ # The pagination token used on subsequent calls to get reports.
1387
+ # @return [String]
1388
+ #
1389
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListBillingGroupCostReportsOutput AWS API Documentation
1390
+ #
1391
+ class ListBillingGroupCostReportsOutput < Struct.new(
1392
+ :billing_group_cost_reports,
1393
+ :next_token)
1394
+ SENSITIVE = []
1395
+ include Aws::Structure
1396
+ end
1397
+
1398
+ # The filter that specifies the billing groups and pricing plans to
1399
+ # retrieve billing group information.
1400
+ #
1401
+ # @note When making an API call, you may pass ListBillingGroupsFilter
1402
+ # data as a hash:
1403
+ #
1404
+ # {
1405
+ # arns: ["BillingGroupArn"],
1406
+ # pricing_plan: "PricingPlanFullArn",
1407
+ # }
1408
+ #
1409
+ # @!attribute [rw] arns
1410
+ # The list of billing group Amazon Resource Names (ARNs) to retrieve
1411
+ # information.
1412
+ # @return [Array<String>]
1413
+ #
1414
+ # @!attribute [rw] pricing_plan
1415
+ # The pricing plan Amazon Resource Names (ARNs) to retrieve
1416
+ # information.
1417
+ # @return [String]
1418
+ #
1419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListBillingGroupsFilter AWS API Documentation
1420
+ #
1421
+ class ListBillingGroupsFilter < Struct.new(
1422
+ :arns,
1423
+ :pricing_plan)
1424
+ SENSITIVE = []
1425
+ include Aws::Structure
1426
+ end
1427
+
1428
+ # @note When making an API call, you may pass ListBillingGroupsInput
1429
+ # data as a hash:
1430
+ #
1431
+ # {
1432
+ # billing_period: "BillingPeriod",
1433
+ # max_results: 1,
1434
+ # next_token: "Token",
1435
+ # filters: {
1436
+ # arns: ["BillingGroupArn"],
1437
+ # pricing_plan: "PricingPlanFullArn",
1438
+ # },
1439
+ # }
1440
+ #
1441
+ # @!attribute [rw] billing_period
1442
+ # The preferred billing period to get billing groups.
1443
+ # @return [String]
1444
+ #
1445
+ # @!attribute [rw] max_results
1446
+ # The maximum number of billing groups to retrieve.
1447
+ # @return [Integer]
1448
+ #
1449
+ # @!attribute [rw] next_token
1450
+ # The pagination token used on subsequent calls to get billing groups.
1451
+ # @return [String]
1452
+ #
1453
+ # @!attribute [rw] filters
1454
+ # A `ListBillingGroupsFilter` that specifies the billing group and
1455
+ # pricing plan to retrieve billing group information.
1456
+ # @return [Types::ListBillingGroupsFilter]
1457
+ #
1458
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListBillingGroupsInput AWS API Documentation
1459
+ #
1460
+ class ListBillingGroupsInput < Struct.new(
1461
+ :billing_period,
1462
+ :max_results,
1463
+ :next_token,
1464
+ :filters)
1465
+ SENSITIVE = []
1466
+ include Aws::Structure
1467
+ end
1468
+
1469
+ # @!attribute [rw] billing_groups
1470
+ # A list of `BillingGroupListElement` retrieved.
1471
+ # @return [Array<Types::BillingGroupListElement>]
1472
+ #
1473
+ # @!attribute [rw] next_token
1474
+ # The pagination token used on subsequent calls to get billing groups.
1475
+ # @return [String]
1476
+ #
1477
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListBillingGroupsOutput AWS API Documentation
1478
+ #
1479
+ class ListBillingGroupsOutput < Struct.new(
1480
+ :billing_groups,
1481
+ :next_token)
1482
+ SENSITIVE = []
1483
+ include Aws::Structure
1484
+ end
1485
+
1486
+ # A representation of the charge details of a custom line item.
1487
+ #
1488
+ # @!attribute [rw] flat
1489
+ # A `ListCustomLineItemFlatChargeDetails` that describes the charge
1490
+ # details of a flat custom line item.
1491
+ # @return [Types::ListCustomLineItemFlatChargeDetails]
1492
+ #
1493
+ # @!attribute [rw] percentage
1494
+ # A `ListCustomLineItemPercentageChargeDetails` that describes the
1495
+ # charge details of a percentage custom line item.
1496
+ # @return [Types::ListCustomLineItemPercentageChargeDetails]
1497
+ #
1498
+ # @!attribute [rw] type
1499
+ # The type of the custom line item that indicates whether the charge
1500
+ # is a `fee` or `credit`.
1501
+ # @return [String]
1502
+ #
1503
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListCustomLineItemChargeDetails AWS API Documentation
1504
+ #
1505
+ class ListCustomLineItemChargeDetails < Struct.new(
1506
+ :flat,
1507
+ :percentage,
1508
+ :type)
1509
+ SENSITIVE = []
1510
+ include Aws::Structure
1511
+ end
1512
+
1513
+ # A representation of the charge details associated with a flat custom
1514
+ # line item.
1515
+ #
1516
+ # @!attribute [rw] charge_value
1517
+ # The custom line item's fixed charge value in USD.
1518
+ # @return [Float]
1519
+ #
1520
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListCustomLineItemFlatChargeDetails AWS API Documentation
1521
+ #
1522
+ class ListCustomLineItemFlatChargeDetails < Struct.new(
1523
+ :charge_value)
1524
+ SENSITIVE = []
1525
+ include Aws::Structure
1526
+ end
1527
+
1528
+ # A representation of the charge details associated with a percentage
1529
+ # custom line item.
1530
+ #
1531
+ # @!attribute [rw] percentage_value
1532
+ # The custom line item's percentage value. This will be multiplied
1533
+ # against the combined value of its associated resources to determine
1534
+ # its charge value.
1535
+ # @return [Float]
1536
+ #
1537
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListCustomLineItemPercentageChargeDetails AWS API Documentation
1538
+ #
1539
+ class ListCustomLineItemPercentageChargeDetails < Struct.new(
1540
+ :percentage_value)
1541
+ SENSITIVE = []
1542
+ include Aws::Structure
1543
+ end
1544
+
1545
+ # A filter that specifies the custom line items and billing groups to
1546
+ # retrieve FFLI information.
1547
+ #
1548
+ # @note When making an API call, you may pass ListCustomLineItemsFilter
1549
+ # data as a hash:
1550
+ #
1551
+ # {
1552
+ # names: ["CustomLineItemName"],
1553
+ # billing_groups: ["BillingGroupArn"],
1554
+ # arns: ["CustomLineItemArn"],
1555
+ # }
1556
+ #
1557
+ # @!attribute [rw] names
1558
+ # A list of custom line items to retrieve information.
1559
+ # @return [Array<String>]
1560
+ #
1561
+ # @!attribute [rw] billing_groups
1562
+ # The billing group Amazon Resource Names (ARNs) to retrieve
1563
+ # information.
1564
+ # @return [Array<String>]
1565
+ #
1566
+ # @!attribute [rw] arns
1567
+ # A list of custom line item ARNs to retrieve information.
1568
+ # @return [Array<String>]
1569
+ #
1570
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListCustomLineItemsFilter AWS API Documentation
1571
+ #
1572
+ class ListCustomLineItemsFilter < Struct.new(
1573
+ :names,
1574
+ :billing_groups,
1575
+ :arns)
1576
+ SENSITIVE = []
1577
+ include Aws::Structure
1578
+ end
1579
+
1580
+ # @note When making an API call, you may pass ListCustomLineItemsInput
1581
+ # data as a hash:
1582
+ #
1583
+ # {
1584
+ # billing_period: "BillingPeriod",
1585
+ # max_results: 1,
1586
+ # next_token: "Token",
1587
+ # filters: {
1588
+ # names: ["CustomLineItemName"],
1589
+ # billing_groups: ["BillingGroupArn"],
1590
+ # arns: ["CustomLineItemArn"],
1591
+ # },
1592
+ # }
1593
+ #
1594
+ # @!attribute [rw] billing_period
1595
+ # The preferred billing period to get custom line items (FFLIs).
1596
+ # @return [String]
1597
+ #
1598
+ # @!attribute [rw] max_results
1599
+ # The maximum number of billing groups to retrieve.
1600
+ # @return [Integer]
1601
+ #
1602
+ # @!attribute [rw] next_token
1603
+ # The pagination token used on subsequent calls to get custom line
1604
+ # items (FFLIs).
1605
+ # @return [String]
1606
+ #
1607
+ # @!attribute [rw] filters
1608
+ # A `ListCustomLineItemsFilter` that specifies the custom line item
1609
+ # names and/or billing group Amazon Resource Names (ARNs) to retrieve
1610
+ # FFLI information.
1611
+ # @return [Types::ListCustomLineItemsFilter]
1612
+ #
1613
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListCustomLineItemsInput AWS API Documentation
1614
+ #
1615
+ class ListCustomLineItemsInput < Struct.new(
1616
+ :billing_period,
1617
+ :max_results,
1618
+ :next_token,
1619
+ :filters)
1620
+ SENSITIVE = []
1621
+ include Aws::Structure
1622
+ end
1623
+
1624
+ # @!attribute [rw] custom_line_items
1625
+ # A list of `FreeFormLineItemListElements` received.
1626
+ # @return [Array<Types::CustomLineItemListElement>]
1627
+ #
1628
+ # @!attribute [rw] next_token
1629
+ # The pagination token used on subsequent calls to get custom line
1630
+ # items (FFLIs).
1631
+ # @return [String]
1632
+ #
1633
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListCustomLineItemsOutput AWS API Documentation
1634
+ #
1635
+ class ListCustomLineItemsOutput < Struct.new(
1636
+ :custom_line_items,
1637
+ :next_token)
1638
+ SENSITIVE = []
1639
+ include Aws::Structure
1640
+ end
1641
+
1642
+ # @note When making an API call, you may pass ListPricingPlansAssociatedWithPricingRuleInput
1643
+ # data as a hash:
1644
+ #
1645
+ # {
1646
+ # billing_period: "BillingPeriod",
1647
+ # pricing_rule_arn: "PricingRuleArn", # required
1648
+ # max_results: 1,
1649
+ # next_token: "Token",
1650
+ # }
1651
+ #
1652
+ # @!attribute [rw] billing_period
1653
+ # The pricing plan billing period for which associations will be
1654
+ # listed.
1655
+ # @return [String]
1656
+ #
1657
+ # @!attribute [rw] pricing_rule_arn
1658
+ # The pricing rule Amazon Resource Name (ARN) for which associations
1659
+ # will be listed.
1660
+ # @return [String]
1661
+ #
1662
+ # @!attribute [rw] max_results
1663
+ # The optional maximum number of pricing rule associations to
1664
+ # retrieve.
1665
+ # @return [Integer]
1666
+ #
1667
+ # @!attribute [rw] next_token
1668
+ # The optional pagination token returned by a previous call.
1669
+ # @return [String]
1670
+ #
1671
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListPricingPlansAssociatedWithPricingRuleInput AWS API Documentation
1672
+ #
1673
+ class ListPricingPlansAssociatedWithPricingRuleInput < Struct.new(
1674
+ :billing_period,
1675
+ :pricing_rule_arn,
1676
+ :max_results,
1677
+ :next_token)
1678
+ SENSITIVE = []
1679
+ include Aws::Structure
1680
+ end
1681
+
1682
+ # @!attribute [rw] billing_period
1683
+ # The pricing plan billing period for which associations will be
1684
+ # listed.
1685
+ # @return [String]
1686
+ #
1687
+ # @!attribute [rw] pricing_rule_arn
1688
+ # The pricing rule Amazon Resource Name (ARN) for which associations
1689
+ # will be listed.
1690
+ # @return [String]
1691
+ #
1692
+ # @!attribute [rw] pricing_plan_arns
1693
+ # The list containing pricing plans associated with the requested
1694
+ # pricing rule.
1695
+ # @return [Array<String>]
1696
+ #
1697
+ # @!attribute [rw] next_token
1698
+ # The pagination token to be used on subsequent calls.
1699
+ # @return [String]
1700
+ #
1701
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListPricingPlansAssociatedWithPricingRuleOutput AWS API Documentation
1702
+ #
1703
+ class ListPricingPlansAssociatedWithPricingRuleOutput < Struct.new(
1704
+ :billing_period,
1705
+ :pricing_rule_arn,
1706
+ :pricing_plan_arns,
1707
+ :next_token)
1708
+ SENSITIVE = []
1709
+ include Aws::Structure
1710
+ end
1711
+
1712
+ # The filter that specifies the Amazon Resource Names (ARNs) of pricing
1713
+ # plans, to retrieve pricing plan information.
1714
+ #
1715
+ # @note When making an API call, you may pass ListPricingPlansFilter
1716
+ # data as a hash:
1717
+ #
1718
+ # {
1719
+ # arns: ["PricingPlanArn"],
1720
+ # }
1721
+ #
1722
+ # @!attribute [rw] arns
1723
+ # A list of pricing plan Amazon Resource Names (ARNs) to retrieve
1724
+ # information.
1725
+ # @return [Array<String>]
1726
+ #
1727
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListPricingPlansFilter AWS API Documentation
1728
+ #
1729
+ class ListPricingPlansFilter < Struct.new(
1730
+ :arns)
1731
+ SENSITIVE = []
1732
+ include Aws::Structure
1733
+ end
1734
+
1735
+ # @note When making an API call, you may pass ListPricingPlansInput
1736
+ # data as a hash:
1737
+ #
1738
+ # {
1739
+ # billing_period: "BillingPeriod",
1740
+ # filters: {
1741
+ # arns: ["PricingPlanArn"],
1742
+ # },
1743
+ # max_results: 1,
1744
+ # next_token: "Token",
1745
+ # }
1746
+ #
1747
+ # @!attribute [rw] billing_period
1748
+ # The preferred billing period to get pricing plan.
1749
+ # @return [String]
1750
+ #
1751
+ # @!attribute [rw] filters
1752
+ # A `ListPricingPlansFilter` that specifies the Amazon Resource Name
1753
+ # (ARNs) of pricing plans to retrieve pricing plans information.
1754
+ # @return [Types::ListPricingPlansFilter]
1755
+ #
1756
+ # @!attribute [rw] max_results
1757
+ # The maximum number of pricing plans to retrieve.
1758
+ # @return [Integer]
1759
+ #
1760
+ # @!attribute [rw] next_token
1761
+ # The pagination token used on subsequent call to get pricing plans.
1762
+ # @return [String]
1763
+ #
1764
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListPricingPlansInput AWS API Documentation
1765
+ #
1766
+ class ListPricingPlansInput < Struct.new(
1767
+ :billing_period,
1768
+ :filters,
1769
+ :max_results,
1770
+ :next_token)
1771
+ SENSITIVE = []
1772
+ include Aws::Structure
1773
+ end
1774
+
1775
+ # @!attribute [rw] billing_period
1776
+ # The billing period for which the described pricing plans are
1777
+ # applicable.
1778
+ # @return [String]
1779
+ #
1780
+ # @!attribute [rw] pricing_plans
1781
+ # A list of `PricingPlanListElement` retrieved.
1782
+ # @return [Array<Types::PricingPlanListElement>]
1783
+ #
1784
+ # @!attribute [rw] next_token
1785
+ # The pagination token used on subsequent calls to get pricing plans.
1786
+ # @return [String]
1787
+ #
1788
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListPricingPlansOutput AWS API Documentation
1789
+ #
1790
+ class ListPricingPlansOutput < Struct.new(
1791
+ :billing_period,
1792
+ :pricing_plans,
1793
+ :next_token)
1794
+ SENSITIVE = []
1795
+ include Aws::Structure
1796
+ end
1797
+
1798
+ # @note When making an API call, you may pass ListPricingRulesAssociatedToPricingPlanInput
1799
+ # data as a hash:
1800
+ #
1801
+ # {
1802
+ # billing_period: "BillingPeriod",
1803
+ # pricing_plan_arn: "PricingPlanArn", # required
1804
+ # max_results: 1,
1805
+ # next_token: "Token",
1806
+ # }
1807
+ #
1808
+ # @!attribute [rw] billing_period
1809
+ # The billing period for which the pricing rule associations are to be
1810
+ # listed.
1811
+ # @return [String]
1812
+ #
1813
+ # @!attribute [rw] pricing_plan_arn
1814
+ # The Amazon Resource Name (ARN) of the pricing plan for which
1815
+ # associations are to be listed.
1816
+ # @return [String]
1817
+ #
1818
+ # @!attribute [rw] max_results
1819
+ # The optional maximum number of pricing rule associations to
1820
+ # retrieve.
1821
+ # @return [Integer]
1822
+ #
1823
+ # @!attribute [rw] next_token
1824
+ # The optional pagination token returned by a previous call.
1825
+ # @return [String]
1826
+ #
1827
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListPricingRulesAssociatedToPricingPlanInput AWS API Documentation
1828
+ #
1829
+ class ListPricingRulesAssociatedToPricingPlanInput < Struct.new(
1830
+ :billing_period,
1831
+ :pricing_plan_arn,
1832
+ :max_results,
1833
+ :next_token)
1834
+ SENSITIVE = []
1835
+ include Aws::Structure
1836
+ end
1837
+
1838
+ # @!attribute [rw] billing_period
1839
+ # The billing period for which the pricing rule associations are
1840
+ # listed.
1841
+ # @return [String]
1842
+ #
1843
+ # @!attribute [rw] pricing_plan_arn
1844
+ # The Amazon Resource Name (ARN) of the pricing plan for which
1845
+ # associations are listed.
1846
+ # @return [String]
1847
+ #
1848
+ # @!attribute [rw] pricing_rule_arns
1849
+ # A list containing pricing rules associated with the requested
1850
+ # pricing plan.
1851
+ # @return [Array<String>]
1852
+ #
1853
+ # @!attribute [rw] next_token
1854
+ # The pagination token to be used on subsequent calls.
1855
+ # @return [String]
1856
+ #
1857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListPricingRulesAssociatedToPricingPlanOutput AWS API Documentation
1858
+ #
1859
+ class ListPricingRulesAssociatedToPricingPlanOutput < Struct.new(
1860
+ :billing_period,
1861
+ :pricing_plan_arn,
1862
+ :pricing_rule_arns,
1863
+ :next_token)
1864
+ SENSITIVE = []
1865
+ include Aws::Structure
1866
+ end
1867
+
1868
+ # The filter that specifies criteria that the pricing rules returned by
1869
+ # the `ListPricingRules` API will adhere to.
1870
+ #
1871
+ # @note When making an API call, you may pass ListPricingRulesFilter
1872
+ # data as a hash:
1873
+ #
1874
+ # {
1875
+ # arns: ["PricingRuleArn"],
1876
+ # }
1877
+ #
1878
+ # @!attribute [rw] arns
1879
+ # A list containing the pricing rule Amazon Resource Names (ARNs) to
1880
+ # include in the API response.
1881
+ # @return [Array<String>]
1882
+ #
1883
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListPricingRulesFilter AWS API Documentation
1884
+ #
1885
+ class ListPricingRulesFilter < Struct.new(
1886
+ :arns)
1887
+ SENSITIVE = []
1888
+ include Aws::Structure
1889
+ end
1890
+
1891
+ # @note When making an API call, you may pass ListPricingRulesInput
1892
+ # data as a hash:
1893
+ #
1894
+ # {
1895
+ # billing_period: "BillingPeriod",
1896
+ # filters: {
1897
+ # arns: ["PricingRuleArn"],
1898
+ # },
1899
+ # max_results: 1,
1900
+ # next_token: "Token",
1901
+ # }
1902
+ #
1903
+ # @!attribute [rw] billing_period
1904
+ # The preferred billing period to get the pricing plan.
1905
+ # @return [String]
1906
+ #
1907
+ # @!attribute [rw] filters
1908
+ # A `DescribePricingRuleFilter` that specifies the Amazon Resource
1909
+ # Name (ARNs) of pricing rules to retrieve pricing rules information.
1910
+ # @return [Types::ListPricingRulesFilter]
1911
+ #
1912
+ # @!attribute [rw] max_results
1913
+ # The maximum number of pricing rules to retrieve.
1914
+ # @return [Integer]
1915
+ #
1916
+ # @!attribute [rw] next_token
1917
+ # The pagination token used on subsequent call to get pricing rules.
1918
+ # @return [String]
1919
+ #
1920
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListPricingRulesInput AWS API Documentation
1921
+ #
1922
+ class ListPricingRulesInput < Struct.new(
1923
+ :billing_period,
1924
+ :filters,
1925
+ :max_results,
1926
+ :next_token)
1927
+ SENSITIVE = []
1928
+ include Aws::Structure
1929
+ end
1930
+
1931
+ # @!attribute [rw] billing_period
1932
+ # The billing period for which the described pricing rules are
1933
+ # applicable.
1934
+ # @return [String]
1935
+ #
1936
+ # @!attribute [rw] pricing_rules
1937
+ # A list containing the described pricing rules.
1938
+ # @return [Array<Types::PricingRuleListElement>]
1939
+ #
1940
+ # @!attribute [rw] next_token
1941
+ # The pagination token used on subsequent calls to get pricing rules.
1942
+ # @return [String]
1943
+ #
1944
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListPricingRulesOutput AWS API Documentation
1945
+ #
1946
+ class ListPricingRulesOutput < Struct.new(
1947
+ :billing_period,
1948
+ :pricing_rules,
1949
+ :next_token)
1950
+ SENSITIVE = []
1951
+ include Aws::Structure
1952
+ end
1953
+
1954
+ # A filter that specifies the type of resource associations that should
1955
+ # be retrieved for a custom line item.
1956
+ #
1957
+ # @note When making an API call, you may pass ListResourcesAssociatedToCustomLineItemFilter
1958
+ # data as a hash:
1959
+ #
1960
+ # {
1961
+ # relationship: "PARENT", # accepts PARENT, CHILD
1962
+ # }
1963
+ #
1964
+ # @!attribute [rw] relationship
1965
+ # The type of relationship between the custom line item and the
1966
+ # associated resource.
1967
+ # @return [String]
1968
+ #
1969
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListResourcesAssociatedToCustomLineItemFilter AWS API Documentation
1970
+ #
1971
+ class ListResourcesAssociatedToCustomLineItemFilter < Struct.new(
1972
+ :relationship)
1973
+ SENSITIVE = []
1974
+ include Aws::Structure
1975
+ end
1976
+
1977
+ # @note When making an API call, you may pass ListResourcesAssociatedToCustomLineItemInput
1978
+ # data as a hash:
1979
+ #
1980
+ # {
1981
+ # billing_period: "BillingPeriod",
1982
+ # arn: "CustomLineItemArn", # required
1983
+ # max_results: 1,
1984
+ # next_token: "Token",
1985
+ # filters: {
1986
+ # relationship: "PARENT", # accepts PARENT, CHILD
1987
+ # },
1988
+ # }
1989
+ #
1990
+ # @!attribute [rw] billing_period
1991
+ # The billing period for which the resource associations will be
1992
+ # listed.
1993
+ # @return [String]
1994
+ #
1995
+ # @!attribute [rw] arn
1996
+ # The ARN of the custom line item for which the resource associations
1997
+ # will be listed.
1998
+ # @return [String]
1999
+ #
2000
+ # @!attribute [rw] max_results
2001
+ # (Optional) The maximum number of resource associations to be
2002
+ # retrieved.
2003
+ # @return [Integer]
2004
+ #
2005
+ # @!attribute [rw] next_token
2006
+ # (Optional) The pagination token returned by a previous request.
2007
+ # @return [String]
2008
+ #
2009
+ # @!attribute [rw] filters
2010
+ # (Optional) A `ListResourcesAssociatedToCustomLineItemFilter` that
2011
+ # can specify the types of resources that should be retrieved.
2012
+ # @return [Types::ListResourcesAssociatedToCustomLineItemFilter]
2013
+ #
2014
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListResourcesAssociatedToCustomLineItemInput AWS API Documentation
2015
+ #
2016
+ class ListResourcesAssociatedToCustomLineItemInput < Struct.new(
2017
+ :billing_period,
2018
+ :arn,
2019
+ :max_results,
2020
+ :next_token,
2021
+ :filters)
2022
+ SENSITIVE = []
2023
+ include Aws::Structure
2024
+ end
2025
+
2026
+ # @!attribute [rw] arn
2027
+ # The custom line item ARN for which the resource associations are
2028
+ # listed.
2029
+ # @return [String]
2030
+ #
2031
+ # @!attribute [rw] associated_resources
2032
+ # A list of `ListResourcesAssociatedToCustomLineItemResponseElement`
2033
+ # for each resource association retrieved.
2034
+ # @return [Array<Types::ListResourcesAssociatedToCustomLineItemResponseElement>]
2035
+ #
2036
+ # @!attribute [rw] next_token
2037
+ # The pagination token to be used in subsequent requests to retrieve
2038
+ # additional results.
2039
+ # @return [String]
2040
+ #
2041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListResourcesAssociatedToCustomLineItemOutput AWS API Documentation
2042
+ #
2043
+ class ListResourcesAssociatedToCustomLineItemOutput < Struct.new(
2044
+ :arn,
2045
+ :associated_resources,
2046
+ :next_token)
2047
+ SENSITIVE = []
2048
+ include Aws::Structure
2049
+ end
2050
+
2051
+ # A representation of a resource association for a custom line item.
2052
+ #
2053
+ # @!attribute [rw] arn
2054
+ # The ARN of the associated resource.
2055
+ # @return [String]
2056
+ #
2057
+ # @!attribute [rw] relationship
2058
+ # The type of relationship between the custom line item and the
2059
+ # associated resource.
2060
+ # @return [String]
2061
+ #
2062
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListResourcesAssociatedToCustomLineItemResponseElement AWS API Documentation
2063
+ #
2064
+ class ListResourcesAssociatedToCustomLineItemResponseElement < Struct.new(
2065
+ :arn,
2066
+ :relationship)
2067
+ SENSITIVE = []
2068
+ include Aws::Structure
2069
+ end
2070
+
2071
+ # @note When making an API call, you may pass ListTagsForResourceRequest
2072
+ # data as a hash:
2073
+ #
2074
+ # {
2075
+ # resource_arn: "Arn", # required
2076
+ # }
2077
+ #
2078
+ # @!attribute [rw] resource_arn
2079
+ # The Amazon Resource Name (ARN) that identifies the resource to list
2080
+ # the tags.
2081
+ # @return [String]
2082
+ #
2083
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListTagsForResourceRequest AWS API Documentation
2084
+ #
2085
+ class ListTagsForResourceRequest < Struct.new(
2086
+ :resource_arn)
2087
+ SENSITIVE = []
2088
+ include Aws::Structure
2089
+ end
2090
+
2091
+ # @!attribute [rw] tags
2092
+ # The tags for the resource.
2093
+ # @return [Hash<String,String>]
2094
+ #
2095
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListTagsForResourceResponse AWS API Documentation
2096
+ #
2097
+ class ListTagsForResourceResponse < Struct.new(
2098
+ :tags)
2099
+ SENSITIVE = []
2100
+ include Aws::Structure
2101
+ end
2102
+
2103
+ # A representation of a pricing plan.
2104
+ #
2105
+ # @!attribute [rw] name
2106
+ # The name of a pricing plan.
2107
+ # @return [String]
2108
+ #
2109
+ # @!attribute [rw] arn
2110
+ # The pricing plan Amazon Resource Names (ARN). This can be used to
2111
+ # uniquely identify a pricing plan.
2112
+ # @return [String]
2113
+ #
2114
+ # @!attribute [rw] description
2115
+ # The pricing plan description.
2116
+ # @return [String]
2117
+ #
2118
+ # @!attribute [rw] size
2119
+ # The pricing rules count currently associated with this pricing plan
2120
+ # list element.
2121
+ # @return [Integer]
2122
+ #
2123
+ # @!attribute [rw] creation_time
2124
+ # The time the pricing plan was created.
2125
+ # @return [Integer]
2126
+ #
2127
+ # @!attribute [rw] last_modified_time
2128
+ # The most recent time the pricing plan was modified.
2129
+ # @return [Integer]
2130
+ #
2131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/PricingPlanListElement AWS API Documentation
2132
+ #
2133
+ class PricingPlanListElement < Struct.new(
2134
+ :name,
2135
+ :arn,
2136
+ :description,
2137
+ :size,
2138
+ :creation_time,
2139
+ :last_modified_time)
2140
+ SENSITIVE = [:name, :description]
2141
+ include Aws::Structure
2142
+ end
2143
+
2144
+ # A representation of a pricing rule.
2145
+ #
2146
+ # @!attribute [rw] name
2147
+ # The name of a pricing rule.
2148
+ # @return [String]
2149
+ #
2150
+ # @!attribute [rw] arn
2151
+ # The Amazon Resource Name (ARN) used to uniquely identify a pricing
2152
+ # rule.
2153
+ # @return [String]
2154
+ #
2155
+ # @!attribute [rw] description
2156
+ # The pricing rule description.
2157
+ # @return [String]
2158
+ #
2159
+ # @!attribute [rw] scope
2160
+ # The scope of pricing rule that indicates if it is globally
2161
+ # applicable, or if it is service-specific.
2162
+ # @return [String]
2163
+ #
2164
+ # @!attribute [rw] type
2165
+ # The type of pricing rule.
2166
+ # @return [String]
2167
+ #
2168
+ # @!attribute [rw] modifier_percentage
2169
+ # A percentage modifier applied on the public pricing rates.
2170
+ # @return [Float]
2171
+ #
2172
+ # @!attribute [rw] service
2173
+ # If the `Scope` attribute is `SERVICE`, this attribute indicates
2174
+ # which service the `PricingRule` is applicable for.
2175
+ # @return [String]
2176
+ #
2177
+ # @!attribute [rw] associated_pricing_plan_count
2178
+ # The pricing plans count that this pricing rule is associated with.
2179
+ # @return [Integer]
2180
+ #
2181
+ # @!attribute [rw] creation_time
2182
+ # The time the pricing rule was created.
2183
+ # @return [Integer]
2184
+ #
2185
+ # @!attribute [rw] last_modified_time
2186
+ # The most recent time the pricing rule was modified.
2187
+ # @return [Integer]
2188
+ #
2189
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/PricingRuleListElement AWS API Documentation
2190
+ #
2191
+ class PricingRuleListElement < Struct.new(
2192
+ :name,
2193
+ :arn,
2194
+ :description,
2195
+ :scope,
2196
+ :type,
2197
+ :modifier_percentage,
2198
+ :service,
2199
+ :associated_pricing_plan_count,
2200
+ :creation_time,
2201
+ :last_modified_time)
2202
+ SENSITIVE = [:name, :description]
2203
+ include Aws::Structure
2204
+ end
2205
+
2206
+ # The request references a resource that doesn't exist.
2207
+ #
2208
+ # @!attribute [rw] message
2209
+ # @return [String]
2210
+ #
2211
+ # @!attribute [rw] resource_id
2212
+ # Resource identifier that was not found.
2213
+ # @return [String]
2214
+ #
2215
+ # @!attribute [rw] resource_type
2216
+ # Resource type that was not found.
2217
+ # @return [String]
2218
+ #
2219
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ResourceNotFoundException AWS API Documentation
2220
+ #
2221
+ class ResourceNotFoundException < Struct.new(
2222
+ :message,
2223
+ :resource_id,
2224
+ :resource_type)
2225
+ SENSITIVE = []
2226
+ include Aws::Structure
2227
+ end
2228
+
2229
+ # The request would cause a service limit to exceed.
2230
+ #
2231
+ # @!attribute [rw] message
2232
+ # @return [String]
2233
+ #
2234
+ # @!attribute [rw] resource_id
2235
+ # Identifier of the resource affected.
2236
+ # @return [String]
2237
+ #
2238
+ # @!attribute [rw] resource_type
2239
+ # Type of the resource affected.
2240
+ # @return [String]
2241
+ #
2242
+ # @!attribute [rw] limit_code
2243
+ # The unique code identifier of the service limit that is being
2244
+ # exceeded.
2245
+ # @return [String]
2246
+ #
2247
+ # @!attribute [rw] service_code
2248
+ # The unique code for the service of the limit that is being exceeded.
2249
+ # @return [String]
2250
+ #
2251
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ServiceLimitExceededException AWS API Documentation
2252
+ #
2253
+ class ServiceLimitExceededException < Struct.new(
2254
+ :message,
2255
+ :resource_id,
2256
+ :resource_type,
2257
+ :limit_code,
2258
+ :service_code)
2259
+ SENSITIVE = []
2260
+ include Aws::Structure
2261
+ end
2262
+
2263
+ # @note When making an API call, you may pass TagResourceRequest
2264
+ # data as a hash:
2265
+ #
2266
+ # {
2267
+ # resource_arn: "Arn", # required
2268
+ # tags: { # required
2269
+ # "TagKey" => "TagValue",
2270
+ # },
2271
+ # }
2272
+ #
2273
+ # @!attribute [rw] resource_arn
2274
+ # The Amazon Resource Name (ARN) of the resource to which to add tags.
2275
+ # @return [String]
2276
+ #
2277
+ # @!attribute [rw] tags
2278
+ # The tags to add to the resource as a list of key-value pairs.
2279
+ # @return [Hash<String,String>]
2280
+ #
2281
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/TagResourceRequest AWS API Documentation
2282
+ #
2283
+ class TagResourceRequest < Struct.new(
2284
+ :resource_arn,
2285
+ :tags)
2286
+ SENSITIVE = []
2287
+ include Aws::Structure
2288
+ end
2289
+
2290
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/TagResourceResponse AWS API Documentation
2291
+ #
2292
+ class TagResourceResponse < Aws::EmptyStructure; end
2293
+
2294
+ # The request was denied due to request throttling.
2295
+ #
2296
+ # @!attribute [rw] message
2297
+ # @return [String]
2298
+ #
2299
+ # @!attribute [rw] retry_after_seconds
2300
+ # Number of seconds you can safely retry after the call.
2301
+ # @return [Integer]
2302
+ #
2303
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ThrottlingException AWS API Documentation
2304
+ #
2305
+ class ThrottlingException < Struct.new(
2306
+ :message,
2307
+ :retry_after_seconds)
2308
+ SENSITIVE = []
2309
+ include Aws::Structure
2310
+ end
2311
+
2312
+ # @note When making an API call, you may pass UntagResourceRequest
2313
+ # data as a hash:
2314
+ #
2315
+ # {
2316
+ # resource_arn: "Arn", # required
2317
+ # tag_keys: ["TagKey"], # required
2318
+ # }
2319
+ #
2320
+ # @!attribute [rw] resource_arn
2321
+ # The Amazon Resource Name (ARN) of the resource to which to delete
2322
+ # tags.
2323
+ # @return [String]
2324
+ #
2325
+ # @!attribute [rw] tag_keys
2326
+ # The tags to delete from the resource as a list of key-value pairs.
2327
+ # @return [Array<String>]
2328
+ #
2329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/UntagResourceRequest AWS API Documentation
2330
+ #
2331
+ class UntagResourceRequest < Struct.new(
2332
+ :resource_arn,
2333
+ :tag_keys)
2334
+ SENSITIVE = []
2335
+ include Aws::Structure
2336
+ end
2337
+
2338
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/UntagResourceResponse AWS API Documentation
2339
+ #
2340
+ class UntagResourceResponse < Aws::EmptyStructure; end
2341
+
2342
+ # @note When making an API call, you may pass UpdateBillingGroupInput
2343
+ # data as a hash:
2344
+ #
2345
+ # {
2346
+ # arn: "BillingGroupArn", # required
2347
+ # name: "BillingGroupName",
2348
+ # status: "ACTIVE", # accepts ACTIVE, PRIMARY_ACCOUNT_MISSING
2349
+ # computation_preference: {
2350
+ # pricing_plan_arn: "PricingPlanFullArn", # required
2351
+ # },
2352
+ # description: "BillingGroupDescription",
2353
+ # }
2354
+ #
2355
+ # @!attribute [rw] arn
2356
+ # The Amazon Resource Name (ARN) of the billing group being updated.
2357
+ # @return [String]
2358
+ #
2359
+ # @!attribute [rw] name
2360
+ # The name of the billing group. The names must be unique to each
2361
+ # billing group.
2362
+ # @return [String]
2363
+ #
2364
+ # @!attribute [rw] status
2365
+ # The status of the billing group. Only one of the valid values can be
2366
+ # used.
2367
+ # @return [String]
2368
+ #
2369
+ # @!attribute [rw] computation_preference
2370
+ # The preferences and settings that will be used to compute the Amazon
2371
+ # Web Services charges for a billing group.
2372
+ # @return [Types::ComputationPreference]
2373
+ #
2374
+ # @!attribute [rw] description
2375
+ # A description of the billing group.
2376
+ # @return [String]
2377
+ #
2378
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/UpdateBillingGroupInput AWS API Documentation
2379
+ #
2380
+ class UpdateBillingGroupInput < Struct.new(
2381
+ :arn,
2382
+ :name,
2383
+ :status,
2384
+ :computation_preference,
2385
+ :description)
2386
+ SENSITIVE = [:name, :description]
2387
+ include Aws::Structure
2388
+ end
2389
+
2390
+ # @!attribute [rw] arn
2391
+ # The Amazon Resource Name (ARN) of the billing group that was
2392
+ # updated.
2393
+ # @return [String]
2394
+ #
2395
+ # @!attribute [rw] name
2396
+ # The name of the billing group. The names must be unique to each
2397
+ # billing group.
2398
+ # @return [String]
2399
+ #
2400
+ # @!attribute [rw] description
2401
+ # A description of the billing group.
2402
+ # @return [String]
2403
+ #
2404
+ # @!attribute [rw] primary_account_id
2405
+ # The account ID that serves as the main account in a billing group.
2406
+ # @return [String]
2407
+ #
2408
+ # @!attribute [rw] pricing_plan_arn
2409
+ # The Amazon Resource Name (ARN) of the pricing plan to compute Amazon
2410
+ # Web Services charges for the billing group.
2411
+ # @return [String]
2412
+ #
2413
+ # @!attribute [rw] size
2414
+ # The number of accounts in the particular billing group.
2415
+ # @return [Integer]
2416
+ #
2417
+ # @!attribute [rw] last_modified_time
2418
+ # The most recent time the billing group was modified.
2419
+ # @return [Integer]
2420
+ #
2421
+ # @!attribute [rw] status
2422
+ # The status of the billing group. Only one of the valid values can be
2423
+ # used.
2424
+ # @return [String]
2425
+ #
2426
+ # @!attribute [rw] status_reason
2427
+ # The reason why the billing group is in its current status.
2428
+ # @return [String]
2429
+ #
2430
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/UpdateBillingGroupOutput AWS API Documentation
2431
+ #
2432
+ class UpdateBillingGroupOutput < Struct.new(
2433
+ :arn,
2434
+ :name,
2435
+ :description,
2436
+ :primary_account_id,
2437
+ :pricing_plan_arn,
2438
+ :size,
2439
+ :last_modified_time,
2440
+ :status,
2441
+ :status_reason)
2442
+ SENSITIVE = [:name, :description]
2443
+ include Aws::Structure
2444
+ end
2445
+
2446
+ # A representation of the new charge details of a custom line item. This
2447
+ # should contain only one of `Flat` or `Percentage`.
2448
+ #
2449
+ # @note When making an API call, you may pass UpdateCustomLineItemChargeDetails
2450
+ # data as a hash:
2451
+ #
2452
+ # {
2453
+ # flat: {
2454
+ # charge_value: 1.0, # required
2455
+ # },
2456
+ # percentage: {
2457
+ # percentage_value: 1.0, # required
2458
+ # },
2459
+ # }
2460
+ #
2461
+ # @!attribute [rw] flat
2462
+ # An `UpdateCustomLineItemFlatChargeDetails` that describes the new
2463
+ # charge details of a flat custom line item.
2464
+ # @return [Types::UpdateCustomLineItemFlatChargeDetails]
2465
+ #
2466
+ # @!attribute [rw] percentage
2467
+ # An `UpdateCustomLineItemPercentageChargeDetails` that describes the
2468
+ # new charge details of a percentage custom line item.
2469
+ # @return [Types::UpdateCustomLineItemPercentageChargeDetails]
2470
+ #
2471
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/UpdateCustomLineItemChargeDetails AWS API Documentation
2472
+ #
2473
+ class UpdateCustomLineItemChargeDetails < Struct.new(
2474
+ :flat,
2475
+ :percentage)
2476
+ SENSITIVE = []
2477
+ include Aws::Structure
2478
+ end
2479
+
2480
+ # A representation of the new charge details associated with a flat
2481
+ # custom line item.
2482
+ #
2483
+ # @note When making an API call, you may pass UpdateCustomLineItemFlatChargeDetails
2484
+ # data as a hash:
2485
+ #
2486
+ # {
2487
+ # charge_value: 1.0, # required
2488
+ # }
2489
+ #
2490
+ # @!attribute [rw] charge_value
2491
+ # The custom line item's new fixed charge value in USD.
2492
+ # @return [Float]
2493
+ #
2494
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/UpdateCustomLineItemFlatChargeDetails AWS API Documentation
2495
+ #
2496
+ class UpdateCustomLineItemFlatChargeDetails < Struct.new(
2497
+ :charge_value)
2498
+ SENSITIVE = []
2499
+ include Aws::Structure
2500
+ end
2501
+
2502
+ # @note When making an API call, you may pass UpdateCustomLineItemInput
2503
+ # data as a hash:
2504
+ #
2505
+ # {
2506
+ # arn: "CustomLineItemArn", # required
2507
+ # name: "BillingGroupName",
2508
+ # description: "CustomLineItemDescription",
2509
+ # charge_details: {
2510
+ # flat: {
2511
+ # charge_value: 1.0, # required
2512
+ # },
2513
+ # percentage: {
2514
+ # percentage_value: 1.0, # required
2515
+ # },
2516
+ # },
2517
+ # billing_period_range: {
2518
+ # inclusive_start_billing_period: "BillingPeriod", # required
2519
+ # exclusive_end_billing_period: "BillingPeriod", # required
2520
+ # },
2521
+ # }
2522
+ #
2523
+ # @!attribute [rw] arn
2524
+ # The ARN of the custom line item to be updated.
2525
+ # @return [String]
2526
+ #
2527
+ # @!attribute [rw] name
2528
+ # The new name for the custom line item.
2529
+ # @return [String]
2530
+ #
2531
+ # @!attribute [rw] description
2532
+ # The new line item description of the custom line item.
2533
+ # @return [String]
2534
+ #
2535
+ # @!attribute [rw] charge_details
2536
+ # A `ListCustomLineItemChargeDetails` containing the new charge
2537
+ # details for the custom line item.
2538
+ # @return [Types::UpdateCustomLineItemChargeDetails]
2539
+ #
2540
+ # @!attribute [rw] billing_period_range
2541
+ # The billing period range in which the custom line item request will
2542
+ # be applied.
2543
+ # @return [Types::CustomLineItemBillingPeriodRange]
2544
+ #
2545
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/UpdateCustomLineItemInput AWS API Documentation
2546
+ #
2547
+ class UpdateCustomLineItemInput < Struct.new(
2548
+ :arn,
2549
+ :name,
2550
+ :description,
2551
+ :charge_details,
2552
+ :billing_period_range)
2553
+ SENSITIVE = [:name, :description]
2554
+ include Aws::Structure
2555
+ end
2556
+
2557
+ # @!attribute [rw] arn
2558
+ # The ARN of the successfully updated custom line item.
2559
+ # @return [String]
2560
+ #
2561
+ # @!attribute [rw] billing_group_arn
2562
+ # The ARN of the billing group that the custom line item is applied
2563
+ # to.
2564
+ # @return [String]
2565
+ #
2566
+ # @!attribute [rw] name
2567
+ # The name of the successfully updated custom line item.
2568
+ # @return [String]
2569
+ #
2570
+ # @!attribute [rw] description
2571
+ # The description of the successfully updated custom line item.
2572
+ # @return [String]
2573
+ #
2574
+ # @!attribute [rw] charge_details
2575
+ # A `ListCustomLineItemChargeDetails` containing the charge details of
2576
+ # the successfully updated custom line item.
2577
+ # @return [Types::ListCustomLineItemChargeDetails]
2578
+ #
2579
+ # @!attribute [rw] last_modified_time
2580
+ # The most recent time the custom line item was modified.
2581
+ # @return [Integer]
2582
+ #
2583
+ # @!attribute [rw] association_size
2584
+ # The number of resources that are associated to the custom line item.
2585
+ # @return [Integer]
2586
+ #
2587
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/UpdateCustomLineItemOutput AWS API Documentation
2588
+ #
2589
+ class UpdateCustomLineItemOutput < Struct.new(
2590
+ :arn,
2591
+ :billing_group_arn,
2592
+ :name,
2593
+ :description,
2594
+ :charge_details,
2595
+ :last_modified_time,
2596
+ :association_size)
2597
+ SENSITIVE = [:name, :description]
2598
+ include Aws::Structure
2599
+ end
2600
+
2601
+ # A representation of the new charge details associated with a
2602
+ # percentage custom line item.
2603
+ #
2604
+ # @note When making an API call, you may pass UpdateCustomLineItemPercentageChargeDetails
2605
+ # data as a hash:
2606
+ #
2607
+ # {
2608
+ # percentage_value: 1.0, # required
2609
+ # }
2610
+ #
2611
+ # @!attribute [rw] percentage_value
2612
+ # The custom line item's new percentage value. This will be
2613
+ # multiplied against the combined value of its associated resources to
2614
+ # determine its charge value.
2615
+ # @return [Float]
2616
+ #
2617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/UpdateCustomLineItemPercentageChargeDetails AWS API Documentation
2618
+ #
2619
+ class UpdateCustomLineItemPercentageChargeDetails < Struct.new(
2620
+ :percentage_value)
2621
+ SENSITIVE = []
2622
+ include Aws::Structure
2623
+ end
2624
+
2625
+ # @note When making an API call, you may pass UpdatePricingPlanInput
2626
+ # data as a hash:
2627
+ #
2628
+ # {
2629
+ # arn: "PricingPlanArn", # required
2630
+ # name: "PricingPlanName",
2631
+ # description: "PricingPlanDescription",
2632
+ # }
2633
+ #
2634
+ # @!attribute [rw] arn
2635
+ # The Amazon Resource Name (ARN) of the pricing plan you're updating.
2636
+ # @return [String]
2637
+ #
2638
+ # @!attribute [rw] name
2639
+ # The name of the pricing plan. The name must be unique to each
2640
+ # pricing plan.
2641
+ # @return [String]
2642
+ #
2643
+ # @!attribute [rw] description
2644
+ # The pricing plan description.
2645
+ # @return [String]
2646
+ #
2647
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/UpdatePricingPlanInput AWS API Documentation
2648
+ #
2649
+ class UpdatePricingPlanInput < Struct.new(
2650
+ :arn,
2651
+ :name,
2652
+ :description)
2653
+ SENSITIVE = [:name, :description]
2654
+ include Aws::Structure
2655
+ end
2656
+
2657
+ # @!attribute [rw] arn
2658
+ # The Amazon Resource Name (ARN) of the updated pricing plan.
2659
+ # @return [String]
2660
+ #
2661
+ # @!attribute [rw] name
2662
+ # The name of the pricing plan. The name must be unique to each
2663
+ # pricing plan.
2664
+ # @return [String]
2665
+ #
2666
+ # @!attribute [rw] description
2667
+ # The new description for the pricing rule.
2668
+ # @return [String]
2669
+ #
2670
+ # @!attribute [rw] size
2671
+ # The pricing rules count currently associated with this pricing plan
2672
+ # list.
2673
+ # @return [Integer]
2674
+ #
2675
+ # @!attribute [rw] last_modified_time
2676
+ # The most recent time the pricing plan was modified.
2677
+ # @return [Integer]
2678
+ #
2679
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/UpdatePricingPlanOutput AWS API Documentation
2680
+ #
2681
+ class UpdatePricingPlanOutput < Struct.new(
2682
+ :arn,
2683
+ :name,
2684
+ :description,
2685
+ :size,
2686
+ :last_modified_time)
2687
+ SENSITIVE = [:name, :description]
2688
+ include Aws::Structure
2689
+ end
2690
+
2691
+ # @note When making an API call, you may pass UpdatePricingRuleInput
2692
+ # data as a hash:
2693
+ #
2694
+ # {
2695
+ # arn: "PricingRuleArn", # required
2696
+ # name: "PricingRuleName",
2697
+ # description: "PricingRuleDescription",
2698
+ # type: "MARKUP", # accepts MARKUP, DISCOUNT
2699
+ # modifier_percentage: 1.0,
2700
+ # }
2701
+ #
2702
+ # @!attribute [rw] arn
2703
+ # The Amazon Resource Name (ARN) of the pricing rule to update.
2704
+ # @return [String]
2705
+ #
2706
+ # @!attribute [rw] name
2707
+ # The new name of the pricing rule. The name must be unique to each
2708
+ # pricing rule.
2709
+ # @return [String]
2710
+ #
2711
+ # @!attribute [rw] description
2712
+ # The new description for the pricing rule.
2713
+ # @return [String]
2714
+ #
2715
+ # @!attribute [rw] type
2716
+ # The new pricing rule type.
2717
+ # @return [String]
2718
+ #
2719
+ # @!attribute [rw] modifier_percentage
2720
+ # The new modifier to show pricing plan rates as a percentage.
2721
+ # @return [Float]
2722
+ #
2723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/UpdatePricingRuleInput AWS API Documentation
2724
+ #
2725
+ class UpdatePricingRuleInput < Struct.new(
2726
+ :arn,
2727
+ :name,
2728
+ :description,
2729
+ :type,
2730
+ :modifier_percentage)
2731
+ SENSITIVE = [:name, :description]
2732
+ include Aws::Structure
2733
+ end
2734
+
2735
+ # @!attribute [rw] arn
2736
+ # The Amazon Resource Name (ARN) of the successfully updated pricing
2737
+ # rule.
2738
+ # @return [String]
2739
+ #
2740
+ # @!attribute [rw] name
2741
+ # The new name of the pricing rule. The name must be unique to each
2742
+ # pricing rule.
2743
+ # @return [String]
2744
+ #
2745
+ # @!attribute [rw] description
2746
+ # The new description for the pricing rule.
2747
+ # @return [String]
2748
+ #
2749
+ # @!attribute [rw] scope
2750
+ # The scope of pricing rule that indicates if it is globally
2751
+ # applicable, or is service-specific.
2752
+ # @return [String]
2753
+ #
2754
+ # @!attribute [rw] type
2755
+ # The new pricing rule type.
2756
+ # @return [String]
2757
+ #
2758
+ # @!attribute [rw] modifier_percentage
2759
+ # The new modifier to show pricing plan rates as a percentage.
2760
+ # @return [Float]
2761
+ #
2762
+ # @!attribute [rw] service
2763
+ # If the `Scope` attribute is set to `SERVICE`, the attribute
2764
+ # indicates which service the `PricingRule` is applicable for.
2765
+ # @return [String]
2766
+ #
2767
+ # @!attribute [rw] associated_pricing_plan_count
2768
+ # The pricing plans count that this pricing rule is associated with.
2769
+ # @return [Integer]
2770
+ #
2771
+ # @!attribute [rw] last_modified_time
2772
+ # The most recent time the pricing rule was modified.
2773
+ # @return [Integer]
2774
+ #
2775
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/UpdatePricingRuleOutput AWS API Documentation
2776
+ #
2777
+ class UpdatePricingRuleOutput < Struct.new(
2778
+ :arn,
2779
+ :name,
2780
+ :description,
2781
+ :scope,
2782
+ :type,
2783
+ :modifier_percentage,
2784
+ :service,
2785
+ :associated_pricing_plan_count,
2786
+ :last_modified_time)
2787
+ SENSITIVE = [:name, :description]
2788
+ include Aws::Structure
2789
+ end
2790
+
2791
+ # The input doesn't match with the constraints specified by Amazon Web
2792
+ # Services services.
2793
+ #
2794
+ # @!attribute [rw] message
2795
+ # @return [String]
2796
+ #
2797
+ # @!attribute [rw] reason
2798
+ # The reason the request's validation failed.
2799
+ # @return [String]
2800
+ #
2801
+ # @!attribute [rw] fields
2802
+ # The fields that caused the error, if applicable.
2803
+ # @return [Array<Types::ValidationExceptionField>]
2804
+ #
2805
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ValidationException AWS API Documentation
2806
+ #
2807
+ class ValidationException < Struct.new(
2808
+ :message,
2809
+ :reason,
2810
+ :fields)
2811
+ SENSITIVE = []
2812
+ include Aws::Structure
2813
+ end
2814
+
2815
+ # The field's information of a request that resulted in an exception.
2816
+ #
2817
+ # @!attribute [rw] name
2818
+ # The field name.
2819
+ # @return [String]
2820
+ #
2821
+ # @!attribute [rw] message
2822
+ # The message describing why the field failed validation.
2823
+ # @return [String]
2824
+ #
2825
+ # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ValidationExceptionField AWS API Documentation
2826
+ #
2827
+ class ValidationExceptionField < Struct.new(
2828
+ :name,
2829
+ :message)
2830
+ SENSITIVE = []
2831
+ include Aws::Structure
2832
+ end
2833
+
2834
+ end
2835
+ end