aws-sdk-billingconductor 1.3.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 407e1527a017a37949d23591110033a66c5e1d8f278a32f0fa09c26b14b49981
4
- data.tar.gz: 9888bcf989dc1cfe9518e1ff4b9003bfcd3d752f37d8ac830bae5e018f9f45d6
3
+ metadata.gz: d5a7df27b8fd740244bca6f0ec6a5af332683f99dfec5d4061be4c3e77ea0afb
4
+ data.tar.gz: 5cc57da5ecb9fca8da07f7ce23fa0f474d1c3fac735038e11798d82257acaee8
5
5
  SHA512:
6
- metadata.gz: 86d699a85ba9b1e50776a50861fc38280641b2233955fd6cc04ed26170aa9bd5e031b0e959e9656c51e375a1ae8f08f96b050d7f3d8a99f6c1244fda2accb4c5
7
- data.tar.gz: 79647c219ebd5bc32b321f413d9709ec67dd4ad426739e0923d980e84fd71a0e7c4dcccfa49e873bb2723e83a3f1ed1af18859756a06789df7363c52b688dd1b
6
+ metadata.gz: 7439d28c0599b79e90ca6a4c38a534f9f25cf62ab78e4c18a35c7770378fa62b257a42bcf243ed4e306ea499cbd42a77fea9025ddb5c05689c821235e228f263
7
+ data.tar.gz: 36f99787c9c54788e843726ba232f6b57b4f5b0df94e7e173e664ae5d6f4ddc19ade9ea61b4ce679e9d87dfd25c40fc8f822f4ad1fde7571dd5252240d9b7c35
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.5.0 (2023-01-17)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for SKU Scope for pricing plans.
8
+
9
+ 1.4.0 (2022-12-06)
10
+ ------------------
11
+
12
+ * Feature - This release adds the Tiering Pricing Rule feature.
13
+
4
14
  1.3.0 (2022-11-16)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.3.0
1
+ 1.5.0
@@ -756,12 +756,12 @@ module Aws::BillingConductor
756
756
  # @option params [required, String] :type
757
757
  # The type of pricing rule.
758
758
  #
759
- # @option params [required, Float] :modifier_percentage
759
+ # @option params [Float] :modifier_percentage
760
760
  # A percentage modifier that's applied on the public pricing rates.
761
761
  #
762
762
  # @option params [String] :service
763
- # If the `Scope` attribute is set to `SERVICE`, the attribute indicates
764
- # which service the `PricingRule` is applicable for.
763
+ # If the `Scope` attribute is set to `SERVICE` or `SKU`, the attribute
764
+ # indicates which service the `PricingRule` is applicable for.
765
765
  #
766
766
  # @option params [Hash<String,String>] :tags
767
767
  # A map that contains tag keys and tag values that are attached to a
@@ -772,6 +772,27 @@ module Aws::BillingConductor
772
772
  # affiliates, or third-party providers selling services via Amazon Web
773
773
  # Services Marketplace.
774
774
  #
775
+ # @option params [Types::CreateTieringInput] :tiering
776
+ # The set of tiering configurations for the pricing rule.
777
+ #
778
+ # @option params [String] :usage_type
779
+ # Usage type is the unit that each service uses to measure the usage of
780
+ # a specific type of resource.
781
+ #
782
+ # If the `Scope` attribute is set to `SKU`, this attribute indicates
783
+ # which usage type the `PricingRule` is modifying. For example,
784
+ # `USW2-BoxUsage:m2.2xlarge` describes an` M2 High Memory Double Extra
785
+ # Large` instance in the US West (Oregon) Region. </p>
786
+ #
787
+ # @option params [String] :operation
788
+ # Operation is the specific Amazon Web Services action covered by this
789
+ # line item. This describes the specific usage of the line item.
790
+ #
791
+ # If the `Scope` attribute is set to `SKU`, this attribute indicates
792
+ # which operation the `PricingRule` is modifying. For example, a value
793
+ # of `RunInstances:0202` indicates the operation of running an Amazon
794
+ # EC2 instance.
795
+ #
775
796
  # @return [Types::CreatePricingRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
776
797
  #
777
798
  # * {Types::CreatePricingRuleOutput#arn #arn} => String
@@ -783,13 +804,20 @@ module Aws::BillingConductor
783
804
  # name: "PricingRuleName", # required
784
805
  # description: "PricingRuleDescription",
785
806
  # scope: "GLOBAL", # required, accepts GLOBAL, SERVICE, BILLING_ENTITY
786
- # type: "MARKUP", # required, accepts MARKUP, DISCOUNT
787
- # modifier_percentage: 1.0, # required
807
+ # type: "MARKUP", # required, accepts MARKUP, DISCOUNT, TIERING
808
+ # modifier_percentage: 1.0,
788
809
  # service: "Service",
789
810
  # tags: {
790
811
  # "TagKey" => "TagValue",
791
812
  # },
792
813
  # billing_entity: "BillingEntity",
814
+ # tiering: {
815
+ # free_tier: { # required
816
+ # activated: false, # required
817
+ # },
818
+ # },
819
+ # usage_type: "UsageType",
820
+ # operation: "Operation",
793
821
  # })
794
822
  #
795
823
  # @example Response structure
@@ -1457,13 +1485,14 @@ module Aws::BillingConductor
1457
1485
  # resp.pricing_rules[0].arn #=> String
1458
1486
  # resp.pricing_rules[0].description #=> String
1459
1487
  # resp.pricing_rules[0].scope #=> String, one of "GLOBAL", "SERVICE", "BILLING_ENTITY"
1460
- # resp.pricing_rules[0].type #=> String, one of "MARKUP", "DISCOUNT"
1488
+ # resp.pricing_rules[0].type #=> String, one of "MARKUP", "DISCOUNT", "TIERING"
1461
1489
  # resp.pricing_rules[0].modifier_percentage #=> Float
1462
1490
  # resp.pricing_rules[0].service #=> String
1463
1491
  # resp.pricing_rules[0].associated_pricing_plan_count #=> Integer
1464
1492
  # resp.pricing_rules[0].creation_time #=> Integer
1465
1493
  # resp.pricing_rules[0].last_modified_time #=> Integer
1466
1494
  # resp.pricing_rules[0].billing_entity #=> String
1495
+ # resp.pricing_rules[0].tiering.free_tier.activated #=> Boolean
1467
1496
  # resp.next_token #=> String
1468
1497
  #
1469
1498
  # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/ListPricingRules AWS API Documentation
@@ -1872,6 +1901,9 @@ module Aws::BillingConductor
1872
1901
  # @option params [Float] :modifier_percentage
1873
1902
  # The new modifier to show pricing plan rates as a percentage.
1874
1903
  #
1904
+ # @option params [Types::UpdateTieringInput] :tiering
1905
+ # The set of tiering configurations for the pricing rule.
1906
+ #
1875
1907
  # @return [Types::UpdatePricingRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1876
1908
  #
1877
1909
  # * {Types::UpdatePricingRuleOutput#arn #arn} => String
@@ -1884,6 +1916,9 @@ module Aws::BillingConductor
1884
1916
  # * {Types::UpdatePricingRuleOutput#associated_pricing_plan_count #associated_pricing_plan_count} => Integer
1885
1917
  # * {Types::UpdatePricingRuleOutput#last_modified_time #last_modified_time} => Integer
1886
1918
  # * {Types::UpdatePricingRuleOutput#billing_entity #billing_entity} => String
1919
+ # * {Types::UpdatePricingRuleOutput#tiering #tiering} => Types::UpdateTieringInput
1920
+ # * {Types::UpdatePricingRuleOutput#usage_type #usage_type} => String
1921
+ # * {Types::UpdatePricingRuleOutput#operation #operation} => String
1887
1922
  #
1888
1923
  # @example Request syntax with placeholder values
1889
1924
  #
@@ -1891,8 +1926,13 @@ module Aws::BillingConductor
1891
1926
  # arn: "PricingRuleArn", # required
1892
1927
  # name: "PricingRuleName",
1893
1928
  # description: "PricingRuleDescription",
1894
- # type: "MARKUP", # accepts MARKUP, DISCOUNT
1929
+ # type: "MARKUP", # accepts MARKUP, DISCOUNT, TIERING
1895
1930
  # modifier_percentage: 1.0,
1931
+ # tiering: {
1932
+ # free_tier: { # required
1933
+ # activated: false, # required
1934
+ # },
1935
+ # },
1896
1936
  # })
1897
1937
  #
1898
1938
  # @example Response structure
@@ -1901,12 +1941,15 @@ module Aws::BillingConductor
1901
1941
  # resp.name #=> String
1902
1942
  # resp.description #=> String
1903
1943
  # resp.scope #=> String, one of "GLOBAL", "SERVICE", "BILLING_ENTITY"
1904
- # resp.type #=> String, one of "MARKUP", "DISCOUNT"
1944
+ # resp.type #=> String, one of "MARKUP", "DISCOUNT", "TIERING"
1905
1945
  # resp.modifier_percentage #=> Float
1906
1946
  # resp.service #=> String
1907
1947
  # resp.associated_pricing_plan_count #=> Integer
1908
1948
  # resp.last_modified_time #=> Integer
1909
1949
  # resp.billing_entity #=> String
1950
+ # resp.tiering.free_tier.activated #=> Boolean
1951
+ # resp.usage_type #=> String
1952
+ # resp.operation #=> String
1910
1953
  #
1911
1954
  # @see http://docs.aws.amazon.com/goto/WebAPI/billingconductor-2021-07-30/UpdatePricingRule AWS API Documentation
1912
1955
  #
@@ -1930,7 +1973,7 @@ module Aws::BillingConductor
1930
1973
  params: params,
1931
1974
  config: config)
1932
1975
  context[:gem_name] = 'aws-sdk-billingconductor'
1933
- context[:gem_version] = '1.3.0'
1976
+ context[:gem_version] = '1.5.0'
1934
1977
  Seahorse::Client::Request.new(handlers, context)
1935
1978
  end
1936
1979
 
@@ -57,10 +57,12 @@ module Aws::BillingConductor
57
57
  CreateBillingGroupOutput = Shapes::StructureShape.new(name: 'CreateBillingGroupOutput')
58
58
  CreateCustomLineItemInput = Shapes::StructureShape.new(name: 'CreateCustomLineItemInput')
59
59
  CreateCustomLineItemOutput = Shapes::StructureShape.new(name: 'CreateCustomLineItemOutput')
60
+ CreateFreeTierConfig = Shapes::StructureShape.new(name: 'CreateFreeTierConfig')
60
61
  CreatePricingPlanInput = Shapes::StructureShape.new(name: 'CreatePricingPlanInput')
61
62
  CreatePricingPlanOutput = Shapes::StructureShape.new(name: 'CreatePricingPlanOutput')
62
63
  CreatePricingRuleInput = Shapes::StructureShape.new(name: 'CreatePricingRuleInput')
63
64
  CreatePricingRuleOutput = Shapes::StructureShape.new(name: 'CreatePricingRuleOutput')
65
+ CreateTieringInput = Shapes::StructureShape.new(name: 'CreateTieringInput')
64
66
  Currency = Shapes::StringShape.new(name: 'Currency')
65
67
  CurrencyCode = Shapes::StringShape.new(name: 'CurrencyCode')
66
68
  CustomLineItemArn = Shapes::StringShape.new(name: 'CustomLineItemArn')
@@ -99,6 +101,7 @@ module Aws::BillingConductor
99
101
  DisassociatePricingRulesOutput = Shapes::StructureShape.new(name: 'DisassociatePricingRulesOutput')
100
102
  DisassociateResourceResponseElement = Shapes::StructureShape.new(name: 'DisassociateResourceResponseElement')
101
103
  DisassociateResourcesResponseList = Shapes::ListShape.new(name: 'DisassociateResourcesResponseList')
104
+ FreeTierConfig = Shapes::StructureShape.new(name: 'FreeTierConfig')
102
105
  Instant = Shapes::IntegerShape.new(name: 'Instant')
103
106
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
104
107
  ListAccountAssociationsFilter = Shapes::StructureShape.new(name: 'ListAccountAssociationsFilter')
@@ -148,6 +151,7 @@ module Aws::BillingConductor
148
151
  NumberOfAssociatedPricingRules = Shapes::IntegerShape.new(name: 'NumberOfAssociatedPricingRules')
149
152
  NumberOfAssociations = Shapes::IntegerShape.new(name: 'NumberOfAssociations')
150
153
  NumberOfPricingPlansAssociatedWith = Shapes::IntegerShape.new(name: 'NumberOfPricingPlansAssociatedWith')
154
+ Operation = Shapes::StringShape.new(name: 'Operation')
151
155
  PricingPlanArn = Shapes::StringShape.new(name: 'PricingPlanArn')
152
156
  PricingPlanArns = Shapes::ListShape.new(name: 'PricingPlanArns')
153
157
  PricingPlanDescription = Shapes::StringShape.new(name: 'PricingPlanDescription')
@@ -178,6 +182,8 @@ module Aws::BillingConductor
178
182
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
179
183
  TagValue = Shapes::StringShape.new(name: 'TagValue')
180
184
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
185
+ Tiering = Shapes::StructureShape.new(name: 'Tiering')
186
+ TieringActivated = Shapes::BooleanShape.new(name: 'TieringActivated')
181
187
  Token = Shapes::StringShape.new(name: 'Token')
182
188
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
183
189
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
@@ -188,10 +194,13 @@ module Aws::BillingConductor
188
194
  UpdateCustomLineItemInput = Shapes::StructureShape.new(name: 'UpdateCustomLineItemInput')
189
195
  UpdateCustomLineItemOutput = Shapes::StructureShape.new(name: 'UpdateCustomLineItemOutput')
190
196
  UpdateCustomLineItemPercentageChargeDetails = Shapes::StructureShape.new(name: 'UpdateCustomLineItemPercentageChargeDetails')
197
+ UpdateFreeTierConfig = Shapes::StructureShape.new(name: 'UpdateFreeTierConfig')
191
198
  UpdatePricingPlanInput = Shapes::StructureShape.new(name: 'UpdatePricingPlanInput')
192
199
  UpdatePricingPlanOutput = Shapes::StructureShape.new(name: 'UpdatePricingPlanOutput')
193
200
  UpdatePricingRuleInput = Shapes::StructureShape.new(name: 'UpdatePricingRuleInput')
194
201
  UpdatePricingRuleOutput = Shapes::StructureShape.new(name: 'UpdatePricingRuleOutput')
202
+ UpdateTieringInput = Shapes::StructureShape.new(name: 'UpdateTieringInput')
203
+ UsageType = Shapes::StringShape.new(name: 'UsageType')
195
204
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
196
205
  ValidationExceptionField = Shapes::StructureShape.new(name: 'ValidationExceptionField')
197
206
  ValidationExceptionFieldList = Shapes::ListShape.new(name: 'ValidationExceptionFieldList')
@@ -314,6 +323,9 @@ module Aws::BillingConductor
314
323
  CreateCustomLineItemOutput.add_member(:arn, Shapes::ShapeRef.new(shape: CustomLineItemArn, location_name: "Arn"))
315
324
  CreateCustomLineItemOutput.struct_class = Types::CreateCustomLineItemOutput
316
325
 
326
+ CreateFreeTierConfig.add_member(:activated, Shapes::ShapeRef.new(shape: TieringActivated, required: true, location_name: "Activated"))
327
+ CreateFreeTierConfig.struct_class = Types::CreateFreeTierConfig
328
+
317
329
  CreatePricingPlanInput.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location: "header", location_name: "X-Amzn-Client-Token", metadata: {"idempotencyToken"=>true}))
318
330
  CreatePricingPlanInput.add_member(:name, Shapes::ShapeRef.new(shape: PricingPlanName, required: true, location_name: "Name"))
319
331
  CreatePricingPlanInput.add_member(:description, Shapes::ShapeRef.new(shape: PricingPlanDescription, location_name: "Description"))
@@ -329,15 +341,21 @@ module Aws::BillingConductor
329
341
  CreatePricingRuleInput.add_member(:description, Shapes::ShapeRef.new(shape: PricingRuleDescription, location_name: "Description"))
330
342
  CreatePricingRuleInput.add_member(:scope, Shapes::ShapeRef.new(shape: PricingRuleScope, required: true, location_name: "Scope"))
331
343
  CreatePricingRuleInput.add_member(:type, Shapes::ShapeRef.new(shape: PricingRuleType, required: true, location_name: "Type"))
332
- CreatePricingRuleInput.add_member(:modifier_percentage, Shapes::ShapeRef.new(shape: ModifierPercentage, required: true, location_name: "ModifierPercentage"))
344
+ CreatePricingRuleInput.add_member(:modifier_percentage, Shapes::ShapeRef.new(shape: ModifierPercentage, location_name: "ModifierPercentage"))
333
345
  CreatePricingRuleInput.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "Service"))
334
346
  CreatePricingRuleInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
335
347
  CreatePricingRuleInput.add_member(:billing_entity, Shapes::ShapeRef.new(shape: BillingEntity, location_name: "BillingEntity"))
348
+ CreatePricingRuleInput.add_member(:tiering, Shapes::ShapeRef.new(shape: CreateTieringInput, location_name: "Tiering"))
349
+ CreatePricingRuleInput.add_member(:usage_type, Shapes::ShapeRef.new(shape: UsageType, location_name: "UsageType"))
350
+ CreatePricingRuleInput.add_member(:operation, Shapes::ShapeRef.new(shape: Operation, location_name: "Operation"))
336
351
  CreatePricingRuleInput.struct_class = Types::CreatePricingRuleInput
337
352
 
338
353
  CreatePricingRuleOutput.add_member(:arn, Shapes::ShapeRef.new(shape: PricingRuleArn, location_name: "Arn"))
339
354
  CreatePricingRuleOutput.struct_class = Types::CreatePricingRuleOutput
340
355
 
356
+ CreateTieringInput.add_member(:free_tier, Shapes::ShapeRef.new(shape: CreateFreeTierConfig, required: true, location_name: "FreeTier"))
357
+ CreateTieringInput.struct_class = Types::CreateTieringInput
358
+
341
359
  CustomLineItemArns.member = Shapes::ShapeRef.new(shape: CustomLineItemArn)
342
360
 
343
361
  CustomLineItemAssociationsList.member = Shapes::ShapeRef.new(shape: CustomLineItemAssociationElement)
@@ -438,6 +456,9 @@ module Aws::BillingConductor
438
456
 
439
457
  DisassociateResourcesResponseList.member = Shapes::ShapeRef.new(shape: DisassociateResourceResponseElement)
440
458
 
459
+ FreeTierConfig.add_member(:activated, Shapes::ShapeRef.new(shape: TieringActivated, required: true, location_name: "Activated"))
460
+ FreeTierConfig.struct_class = Types::FreeTierConfig
461
+
441
462
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Message"))
442
463
  InternalServerException.add_member(:retry_after_seconds, Shapes::ShapeRef.new(shape: RetryAfterSeconds, location: "header", location_name: "Retry-After"))
443
464
  InternalServerException.struct_class = Types::InternalServerException
@@ -636,6 +657,7 @@ module Aws::BillingConductor
636
657
  PricingRuleListElement.add_member(:creation_time, Shapes::ShapeRef.new(shape: Instant, location_name: "CreationTime"))
637
658
  PricingRuleListElement.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: Instant, location_name: "LastModifiedTime"))
638
659
  PricingRuleListElement.add_member(:billing_entity, Shapes::ShapeRef.new(shape: BillingEntity, location_name: "BillingEntity"))
660
+ PricingRuleListElement.add_member(:tiering, Shapes::ShapeRef.new(shape: Tiering, location_name: "Tiering"))
639
661
  PricingRuleListElement.struct_class = Types::PricingRuleListElement
640
662
 
641
663
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Message"))
@@ -665,6 +687,9 @@ module Aws::BillingConductor
665
687
  ThrottlingException.add_member(:retry_after_seconds, Shapes::ShapeRef.new(shape: RetryAfterSeconds, location: "header", location_name: "Retry-After"))
666
688
  ThrottlingException.struct_class = Types::ThrottlingException
667
689
 
690
+ Tiering.add_member(:free_tier, Shapes::ShapeRef.new(shape: FreeTierConfig, required: true, location_name: "FreeTier"))
691
+ Tiering.struct_class = Types::Tiering
692
+
668
693
  UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location: "uri", location_name: "ResourceArn"))
669
694
  UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location: "querystring", location_name: "tagKeys"))
670
695
  UntagResourceRequest.struct_class = Types::UntagResourceRequest
@@ -715,6 +740,9 @@ module Aws::BillingConductor
715
740
  UpdateCustomLineItemPercentageChargeDetails.add_member(:percentage_value, Shapes::ShapeRef.new(shape: CustomLineItemPercentageChargeValue, required: true, location_name: "PercentageValue"))
716
741
  UpdateCustomLineItemPercentageChargeDetails.struct_class = Types::UpdateCustomLineItemPercentageChargeDetails
717
742
 
743
+ UpdateFreeTierConfig.add_member(:activated, Shapes::ShapeRef.new(shape: TieringActivated, required: true, location_name: "Activated"))
744
+ UpdateFreeTierConfig.struct_class = Types::UpdateFreeTierConfig
745
+
718
746
  UpdatePricingPlanInput.add_member(:arn, Shapes::ShapeRef.new(shape: PricingPlanArn, required: true, location_name: "Arn"))
719
747
  UpdatePricingPlanInput.add_member(:name, Shapes::ShapeRef.new(shape: PricingPlanName, location_name: "Name"))
720
748
  UpdatePricingPlanInput.add_member(:description, Shapes::ShapeRef.new(shape: PricingPlanDescription, location_name: "Description"))
@@ -732,6 +760,7 @@ module Aws::BillingConductor
732
760
  UpdatePricingRuleInput.add_member(:description, Shapes::ShapeRef.new(shape: PricingRuleDescription, location_name: "Description"))
733
761
  UpdatePricingRuleInput.add_member(:type, Shapes::ShapeRef.new(shape: PricingRuleType, location_name: "Type"))
734
762
  UpdatePricingRuleInput.add_member(:modifier_percentage, Shapes::ShapeRef.new(shape: ModifierPercentage, location_name: "ModifierPercentage"))
763
+ UpdatePricingRuleInput.add_member(:tiering, Shapes::ShapeRef.new(shape: UpdateTieringInput, location_name: "Tiering"))
735
764
  UpdatePricingRuleInput.struct_class = Types::UpdatePricingRuleInput
736
765
 
737
766
  UpdatePricingRuleOutput.add_member(:arn, Shapes::ShapeRef.new(shape: PricingRuleArn, location_name: "Arn"))
@@ -744,8 +773,14 @@ module Aws::BillingConductor
744
773
  UpdatePricingRuleOutput.add_member(:associated_pricing_plan_count, Shapes::ShapeRef.new(shape: NumberOfPricingPlansAssociatedWith, location_name: "AssociatedPricingPlanCount"))
745
774
  UpdatePricingRuleOutput.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: Instant, location_name: "LastModifiedTime"))
746
775
  UpdatePricingRuleOutput.add_member(:billing_entity, Shapes::ShapeRef.new(shape: BillingEntity, location_name: "BillingEntity"))
776
+ UpdatePricingRuleOutput.add_member(:tiering, Shapes::ShapeRef.new(shape: UpdateTieringInput, location_name: "Tiering"))
777
+ UpdatePricingRuleOutput.add_member(:usage_type, Shapes::ShapeRef.new(shape: UsageType, location_name: "UsageType"))
778
+ UpdatePricingRuleOutput.add_member(:operation, Shapes::ShapeRef.new(shape: Operation, location_name: "Operation"))
747
779
  UpdatePricingRuleOutput.struct_class = Types::UpdatePricingRuleOutput
748
780
 
781
+ UpdateTieringInput.add_member(:free_tier, Shapes::ShapeRef.new(shape: UpdateFreeTierConfig, required: true, location_name: "FreeTier"))
782
+ UpdateTieringInput.struct_class = Types::UpdateTieringInput
783
+
749
784
  ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Message"))
750
785
  ValidationException.add_member(:reason, Shapes::ShapeRef.new(shape: ValidationExceptionReason, location_name: "Reason"))
751
786
  ValidationException.add_member(:fields, Shapes::ShapeRef.new(shape: ValidationExceptionFieldList, location_name: "Fields"))
@@ -50,6 +50,9 @@ module Aws::BillingConductor
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
+ if self[:region].nil?
54
+ raise ArgumentError, "Missing required EndpointParameter: :region"
55
+ end
53
56
  self[:use_dual_stack] = options[:use_dual_stack]
54
57
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
58
  if self[:use_dual_stack].nil?
@@ -29,141 +29,135 @@ module Aws::BillingConductor
29
29
  # @api private
30
30
  RULES = <<-JSON
31
31
  eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
- dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
- cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
- dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
- ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
- ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
- ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
- aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
- OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
- UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
- dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
- UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
- dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
- ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
- IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
- aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
- bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
- ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
- Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
- cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
- InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
- aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
- cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
- InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
- W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
- UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
- SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
- eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
- InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
- LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
- ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
- b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
- fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
- RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
- ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJzdHJp
67
- bmdFcXVhbHMiLCJhcmd2IjpbeyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJy
68
- ZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwibmFtZSJdfSwiYXdzIl19XSwidHlw
69
- ZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJib29s
70
- ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
71
- ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
72
- dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
73
- dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
74
- Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
75
- In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
76
- YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
77
- YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
78
- cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
79
- dCI6eyJ1cmwiOiJodHRwczovL2JpbGxpbmdjb25kdWN0b3ItZmlwcy57UmVn
80
- aW9ufS5hcGkuYXdzIiwicHJvcGVydGllcyI6eyJhdXRoU2NoZW1lcyI6W3si
81
- bmFtZSI6InNpZ3Y0Iiwic2lnbmluZ1JlZ2lvbiI6InVzLWVhc3QtMSIsInNp
82
- Z25pbmdOYW1lIjoiYmlsbGluZ2NvbmR1Y3RvciJ9XX0sImhlYWRlcnMiOnt9
83
- fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJv
84
- ciI6IkZJUFMgYW5kIER1YWxTdGFjayBhcmUgZW5hYmxlZCwgYnV0IHRoaXMg
85
- cGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgb25lIG9yIGJvdGgiLCJ0eXBl
86
- IjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1
87
- YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfV0sInR5cGUi
88
- OiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVh
89
- bkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6
90
- W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBvcnRzRklQUyJdfV19
91
- XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W10sImVu
92
- ZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vYmlsbGluZ2NvbmR1Y3Rvci1maXBz
93
- LntSZWdpb259LmFtYXpvbmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7ImF1dGhT
94
- Y2hlbWVzIjpbeyJuYW1lIjoic2lndjQiLCJzaWduaW5nUmVnaW9uIjoidXMt
95
- ZWFzdC0xIiwic2lnbmluZ05hbWUiOiJiaWxsaW5nY29uZHVjdG9yIn1dfSwi
96
- aGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29uZGl0aW9u
97
- cyI6W10sImVycm9yIjoiRklQUyBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRp
98
- dGlvbiBkb2VzIG5vdCBzdXBwb3J0IEZJUFMiLCJ0eXBlIjoiZXJyb3IifV19
99
- LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6
100
- W3sicmVmIjoiVXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUi
101
- LCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxz
32
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOnRydWUsImRvY3VtZW50
33
+ YXRpb24iOiJUaGUgQVdTIHJlZ2lvbiB1c2VkIHRvIGRpc3BhdGNoIHRoZSBy
34
+ ZXF1ZXN0LiIsInR5cGUiOiJTdHJpbmcifSwiVXNlRHVhbFN0YWNrIjp7ImJ1
35
+ aWx0SW4iOiJBV1M6OlVzZUR1YWxTdGFjayIsInJlcXVpcmVkIjp0cnVlLCJk
36
+ ZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRhdGlvbiI6IldoZW4gdHJ1ZSwgdXNl
37
+ IHRoZSBkdWFsLXN0YWNrIGVuZHBvaW50LiBJZiB0aGUgY29uZmlndXJlZCBl
38
+ bmRwb2ludCBkb2VzIG5vdCBzdXBwb3J0IGR1YWwtc3RhY2ssIGRpc3BhdGNo
39
+ aW5nIHRoZSByZXF1ZXN0IE1BWSByZXR1cm4gYW4gZXJyb3IuIiwidHlwZSI6
40
+ IkJvb2xlYW4ifSwiVXNlRklQUyI6eyJidWlsdEluIjoiQVdTOjpVc2VGSVBT
41
+ IiwicmVxdWlyZWQiOnRydWUsImRlZmF1bHQiOmZhbHNlLCJkb2N1bWVudGF0
42
+ aW9uIjoiV2hlbiB0cnVlLCBzZW5kIHRoaXMgcmVxdWVzdCB0byB0aGUgRklQ
43
+ Uy1jb21wbGlhbnQgcmVnaW9uYWwgZW5kcG9pbnQuIElmIHRoZSBjb25maWd1
44
+ cmVkIGVuZHBvaW50IGRvZXMgbm90IGhhdmUgYSBGSVBTIGNvbXBsaWFudCBl
45
+ bmRwb2ludCwgZGlzcGF0Y2hpbmcgdGhlIHJlcXVlc3Qgd2lsbCByZXR1cm4g
46
+ YW4gZXJyb3IuIiwidHlwZSI6IkJvb2xlYW4ifSwiRW5kcG9pbnQiOnsiYnVp
47
+ bHRJbiI6IlNESzo6RW5kcG9pbnQiLCJyZXF1aXJlZCI6ZmFsc2UsImRvY3Vt
48
+ ZW50YXRpb24iOiJPdmVycmlkZSB0aGUgZW5kcG9pbnQgdXNlZCB0byBzZW5k
49
+ IHRoaXMgcmVxdWVzdCIsInR5cGUiOiJTdHJpbmcifX0sInJ1bGVzIjpbeyJj
50
+ b25kaXRpb25zIjpbeyJmbiI6ImF3cy5wYXJ0aXRpb24iLCJhcmd2IjpbeyJy
51
+ ZWYiOiJSZWdpb24ifV0sImFzc2lnbiI6IlBhcnRpdGlvblJlc3VsdCJ9XSwi
52
+ dHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJp
53
+ c1NldCIsImFyZ3YiOlt7InJlZiI6IkVuZHBvaW50In1dfV0sInR5cGUiOiJ0
54
+ cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVx
55
+ dWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX1dLCJlcnJv
56
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRklQUyBhbmQgY3VzdG9tIGVu
57
+ ZHBvaW50IGFyZSBub3Qgc3VwcG9ydGVkIiwidHlwZSI6ImVycm9yIn0seyJj
58
+ b25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
59
+ aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
60
+ VXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwiZXJyb3IiOiJJbnZhbGlkIENvbmZp
61
+ Z3VyYXRpb246IER1YWxzdGFjayBhbmQgY3VzdG9tIGVuZHBvaW50IGFyZSBu
62
+ b3Qgc3VwcG9ydGVkIiwidHlwZSI6ImVycm9yIn0seyJjb25kaXRpb25zIjpb
63
+ XSwiZW5kcG9pbnQiOnsidXJsIjp7InJlZiI6IkVuZHBvaW50In0sInByb3Bl
64
+ cnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1d
65
+ fSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6
66
+ W3siZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVz
67
+ dWx0In0sIm5hbWUiXX0sImF3cyJdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMi
68
+ Olt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3Yi
69
+ Olt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX0seyJmbiI6ImJvb2xlYW5FcXVh
70
+ bHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0
71
+ eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJv
72
+ b2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFy
73
+ Z3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0ZJUFMi
74
+ XX1dfSx7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4i
75
+ OiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0s
76
+ InN1cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVz
77
+ IjpbeyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6
78
+ Ly9iaWxsaW5nY29uZHVjdG9yLWZpcHMue1JlZ2lvbn0uYXBpLmF3cyIsInBy
79
+ b3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9
80
+ XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3Rh
81
+ Y2sgYXJlIGVuYWJsZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBz
82
+ dXBwb3J0IG9uZSBvciBib3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRp
83
+ dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6
84
+ IlVzZUZJUFMifSx0cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJj
85
+ b25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1
86
+ ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJl
87
+ c3VsdCJ9LCJzdXBwb3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVs
88
+ ZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRw
89
+ czovL2JpbGxpbmdjb25kdWN0b3ItZmlwcy57UmVnaW9ufS5hbWF6b25hd3Mu
90
+ Y29tIiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVu
91
+ ZHBvaW50In1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMg
92
+ ZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBG
93
+ SVBTIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
94
+ Ym9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9
95
+ LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
96
+ Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJn
97
+ ZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1
98
+ cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpb
99
+ eyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9i
100
+ aWxsaW5nY29uZHVjdG9yLntSZWdpb259LmFwaS5hd3MiLCJwcm9wZXJ0aWVz
101
+ Ijp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29u
102
+ ZGl0aW9ucyI6W10sImVycm9yIjoiRHVhbFN0YWNrIGlzIGVuYWJsZWQgYnV0
103
+ IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRHVhbFN0YWNrIiwi
104
+ dHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6
105
+ eyJ1cmwiOiJodHRwczovL2JpbGxpbmdjb25kdWN0b3IudXMtZWFzdC0xLmFt
106
+ YXpvbmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7ImF1dGhTY2hlbWVzIjpbeyJu
107
+ YW1lIjoic2lndjQiLCJzaWduaW5nUmVnaW9uIjoidXMtZWFzdC0xIiwic2ln
108
+ bmluZ05hbWUiOiJiaWxsaW5nY29uZHVjdG9yIn1dfSwiaGVhZGVycyI6e319
109
+ LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJi
110
+ b29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVd
111
+ fSx7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1
112
+ YWxTdGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
113
+ bmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVl
114
+ LHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVz
115
+ dWx0In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxz
102
116
  IiwiYXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYi
103
117
  OiJQYXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0s
104
- InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRw
118
+ InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJ0eXBl
119
+ IjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQi
120
+ OnsidXJsIjoiaHR0cHM6Ly9iaWxsaW5nY29uZHVjdG9yLWZpcHMue1JlZ2lv
121
+ bn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJv
122
+ cGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1d
123
+ fV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0
124
+ YWNrIGFyZSBlbmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qg
125
+ c3VwcG9ydCBvbmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25k
126
+ aXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYi
127
+ OiJVc2VGSVBTIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3si
128
+ Y29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3Ry
129
+ dWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25S
130
+ ZXN1bHQifSwic3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1
131
+ bGVzIjpbeyJjb25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6
132
+ W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8v
133
+ YmlsbGluZ2NvbmR1Y3Rvci1maXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1
134
+ bHQjZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0s
135
+ InR5cGUiOiJlbmRwb2ludCJ9XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJv
136
+ ciI6IkZJUFMgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBu
137
+ b3Qgc3VwcG9ydCBGSVBTIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlv
138
+ bnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVz
139
+ ZUR1YWxTdGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7
140
+ ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0
141
+ cnVlLHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9u
142
+ UmVzdWx0In0sInN1cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJl
143
+ ZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJy
144
+ dWxlcyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0
145
+ dHBzOi8vYmlsbGluZ2NvbmR1Y3Rvci57UmVnaW9ufS57UGFydGl0aW9uUmVz
146
+ dWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVh
147
+ ZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0seyJjb25kaXRpb25z
148
+ IjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBidXQgdGhpcyBw
149
+ YXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoi
150
+ ZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVs
151
+ ZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJn
152
+ diI6W3sicmVmIjoiUmVnaW9uIn0sImF3cy1nbG9iYWwiXX1dLCJlbmRwb2lu
153
+ dCI6eyJ1cmwiOiJodHRwczovL2JpbGxpbmdjb25kdWN0b3IudXMtZWFzdC0x
154
+ LmFtYXpvbmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7ImF1dGhTY2hlbWVzIjpb
155
+ eyJuYW1lIjoic2lndjQiLCJzaWduaW5nUmVnaW9uIjoidXMtZWFzdC0xIiwi
156
+ c2lnbmluZ05hbWUiOiJiaWxsaW5nY29uZHVjdG9yIn1dfSwiaGVhZGVycyI6
157
+ e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7ImNvbmRpdGlvbnMiOltdLCJlbmRw
105
158
  b2ludCI6eyJ1cmwiOiJodHRwczovL2JpbGxpbmdjb25kdWN0b3Iue1JlZ2lv
106
- bn0uYXBpLmF3cyIsInByb3BlcnRpZXMiOnsiYXV0aFNjaGVtZXMiOlt7Im5h
107
- bWUiOiJzaWd2NCIsInNpZ25pbmdSZWdpb24iOiJ1cy1lYXN0LTEiLCJzaWdu
108
- aW5nTmFtZSI6ImJpbGxpbmdjb25kdWN0b3IifV19LCJoZWFkZXJzIjp7fX0s
109
- InR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3Ii
110
- OiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9l
111
- cyBub3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsi
112
- Y29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vYmls
113
- bGluZ2NvbmR1Y3Rvci51cy1lYXN0LTEuYW1hem9uYXdzLmNvbSIsInByb3Bl
114
- cnRpZXMiOnsiYXV0aFNjaGVtZXMiOlt7Im5hbWUiOiJzaWd2NCIsInNpZ25p
115
- bmdSZWdpb24iOiJ1cy1lYXN0LTEiLCJzaWduaW5nTmFtZSI6ImJpbGxpbmdj
116
- b25kdWN0b3IifV19LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9
117
- XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2
118
- IjpbeyJyZWYiOiJVc2VGSVBTIn0sdHJ1ZV19LHsiZm4iOiJib29sZWFuRXF1
119
- YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwi
120
- dHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJi
121
- b29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJh
122
- cmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNGSVBT
123
- Il19XX0seyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZu
124
- IjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9
125
- LCJzdXBwb3J0c0R1YWxTdGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxl
126
- cyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBz
127
- Oi8vYmlsbGluZ2NvbmR1Y3Rvci1maXBzLntSZWdpb259LntQYXJ0aXRpb25S
128
- ZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJo
129
- ZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25z
130
- IjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVuYWJsZWQs
131
- IGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9uZSBvciBi
132
- b3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
133
- Ym9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0cnVl
134
- XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJm
135
- biI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0
136
- ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0
137
- c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlv
138
- bnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
139
- XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9iaWxsaW5nY29uZHVjdG9y
140
- LWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9Iiwi
141
- cHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50
142
- In1dfV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBpcyBlbmFi
143
- bGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IEZJUFMi
144
- LCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
145
- ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVhbFN0YWNrIn0sdHJ1
146
- ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3si
147
- Zm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6ImdldEF0
148
- dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwic3VwcG9y
149
- dHNEdWFsU3RhY2siXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
150
- bmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2JpbGxp
151
- bmdjb25kdWN0b3Iue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3Rh
152
- Y2tEbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwi
153
- dHlwZSI6ImVuZHBvaW50In1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6
154
- IkR1YWxTdGFjayBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2Vz
155
- IG5vdCBzdXBwb3J0IER1YWxTdGFjayIsInR5cGUiOiJlcnJvciJ9XX0seyJj
156
- b25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
157
- aW9ucyI6W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJS
158
- ZWdpb24ifSwiYXdzLWdsb2JhbCJdfV0sImVuZHBvaW50Ijp7InVybCI6Imh0
159
- dHBzOi8vYmlsbGluZ2NvbmR1Y3Rvci51cy1lYXN0LTEuYW1hem9uYXdzLmNv
160
- bSIsInByb3BlcnRpZXMiOnsiYXV0aFNjaGVtZXMiOlt7Im5hbWUiOiJzaWd2
161
- NCIsInNpZ25pbmdSZWdpb24iOiJ1cy1lYXN0LTEiLCJzaWduaW5nTmFtZSI6
162
- ImJpbGxpbmdjb25kdWN0b3IifV19LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJl
163
- bmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6
164
- Imh0dHBzOi8vYmlsbGluZ2NvbmR1Y3Rvci57UmVnaW9ufS57UGFydGl0aW9u
165
- UmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6
166
- e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX1dfQ==
159
+ bn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6
160
+ e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19XX0=
167
161
 
168
162
  JSON
169
163
  end