aws-sdk-marketplacemetering 1.31.0 → 1.32.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: 287fca4ea999bbf991ca672f2b615c58190a6733ade40e6e5ac26c8494791105
4
- data.tar.gz: 1ffff6f052d9853189780612f243f88aaf312962520c9e93376b73bafd6866e5
3
+ metadata.gz: 9a81e51a9d9549a627e98056eb49a2c3380e4b7a129e775935906ff3139b54ad
4
+ data.tar.gz: d18b55edac78ad1a97071a88f8c0c106fa4b5e49e56a19638bacba15107ae6c7
5
5
  SHA512:
6
- metadata.gz: 85d7ee9750e25fff35c9483a42fb5736e52134487ec2b51d0c037877d83dabe92bc43d1a5cd35c07c84a8cf8ebb4e3437feefeece4eb68de43698479533407c1
7
- data.tar.gz: 5068292ec3fbc9403c5346a06873fb0a06d11bc1f570c431cff9806d24dd3757061ad3dd4d65cd5fa33e9c976b00631ec7f91e0a4588ea6ac79785ba8bdb9f0b
6
+ metadata.gz: 25b65c4f4b73bd48c545d65f23c2b6ea74bbcc9de828096e25d09aa29609efae4deaf5d1fb9f39dc61c5dc06da61f6d65b5f5f92c9b15916249aeaf976d8f397
7
+ data.tar.gz: f3b26681244b659491cb1551188cd2fff6fdb3c21913a1eea6387fdfaf2a8e42b5cf2d5320187592d0cda754d04ecf5fad54c5f4a4929438001c775b65c63954
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-marketplacemetering/customizations'
48
48
  # @!group service
49
49
  module Aws::MarketplaceMetering
50
50
 
51
- GEM_VERSION = '1.31.0'
51
+ GEM_VERSION = '1.32.0'
52
52
 
53
53
  end
@@ -349,6 +349,12 @@ module Aws::MarketplaceMetering
349
349
  #
350
350
  # BatchMeterUsage can process up to 25 UsageRecords at a time.
351
351
  #
352
+ # A UsageRecord can optionally include multiple usage allocations, to
353
+ # provide customers with usagedata split into buckets by tags that you
354
+ # define (or allow the customer to define).
355
+ #
356
+ # BatchMeterUsage requests must be less than 1MB in size.
357
+ #
352
358
  # @option params [required, Array<Types::UsageRecord>] :usage_records
353
359
  # The set of UsageRecords to submit. BatchMeterUsage accepts up to 25
354
360
  # UsageRecords at a time.
@@ -372,6 +378,17 @@ module Aws::MarketplaceMetering
372
378
  # customer_identifier: "CustomerIdentifier", # required
373
379
  # dimension: "UsageDimension", # required
374
380
  # quantity: 1,
381
+ # usage_allocations: [
382
+ # {
383
+ # allocated_usage_quantity: 1, # required
384
+ # tags: [
385
+ # {
386
+ # key: "TagKey", # required
387
+ # value: "TagValue", # required
388
+ # },
389
+ # ],
390
+ # },
391
+ # ],
375
392
  # },
376
393
  # ],
377
394
  # product_code: "ProductCode", # required
@@ -384,6 +401,11 @@ module Aws::MarketplaceMetering
384
401
  # resp.results[0].usage_record.customer_identifier #=> String
385
402
  # resp.results[0].usage_record.dimension #=> String
386
403
  # resp.results[0].usage_record.quantity #=> Integer
404
+ # resp.results[0].usage_record.usage_allocations #=> Array
405
+ # resp.results[0].usage_record.usage_allocations[0].allocated_usage_quantity #=> Integer
406
+ # resp.results[0].usage_record.usage_allocations[0].tags #=> Array
407
+ # resp.results[0].usage_record.usage_allocations[0].tags[0].key #=> String
408
+ # resp.results[0].usage_record.usage_allocations[0].tags[0].value #=> String
387
409
  # resp.results[0].metering_record_id #=> String
388
410
  # resp.results[0].status #=> String, one of "Success", "CustomerNotSubscribed", "DuplicateRecord"
389
411
  # resp.unprocessed_records #=> Array
@@ -391,6 +413,11 @@ module Aws::MarketplaceMetering
391
413
  # resp.unprocessed_records[0].customer_identifier #=> String
392
414
  # resp.unprocessed_records[0].dimension #=> String
393
415
  # resp.unprocessed_records[0].quantity #=> Integer
416
+ # resp.unprocessed_records[0].usage_allocations #=> Array
417
+ # resp.unprocessed_records[0].usage_allocations[0].allocated_usage_quantity #=> Integer
418
+ # resp.unprocessed_records[0].usage_allocations[0].tags #=> Array
419
+ # resp.unprocessed_records[0].usage_allocations[0].tags[0].key #=> String
420
+ # resp.unprocessed_records[0].usage_allocations[0].tags[0].value #=> String
394
421
  #
395
422
  # @see http://docs.aws.amazon.com/goto/WebAPI/meteringmarketplace-2016-01-14/BatchMeterUsage AWS API Documentation
396
423
  #
@@ -407,6 +434,10 @@ module Aws::MarketplaceMetering
407
434
  # MeterUsage is authenticated on the buyer's AWS account using
408
435
  # credentials from the EC2 instance, ECS task, or EKS pod.
409
436
  #
437
+ # MeterUsage can optionally include multiple usage allocations, to
438
+ # provide customers with usage data split into buckets by tags that you
439
+ # define (or allow the customer to define).
440
+ #
410
441
  # @option params [required, String] :product_code
411
442
  # Product code is used to uniquely identify a product in AWS
412
443
  # Marketplace. The product code should be the same as the one used
@@ -430,6 +461,13 @@ module Aws::MarketplaceMetering
430
461
  # returns DryRunOperation; otherwise, it returns UnauthorizedException.
431
462
  # Defaults to `false` if not specified.
432
463
  #
464
+ # @option params [Array<Types::UsageAllocation>] :usage_allocations
465
+ # The set of UsageAllocations to submit.
466
+ #
467
+ # The sum of all UsageAllocation quantities must equal the UsageQuantity
468
+ # of the MeterUsage request, and each UsageAllocation must have a unique
469
+ # set of tags (include no tags).
470
+ #
433
471
  # @return [Types::MeterUsageResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
434
472
  #
435
473
  # * {Types::MeterUsageResult#metering_record_id #metering_record_id} => String
@@ -442,6 +480,17 @@ module Aws::MarketplaceMetering
442
480
  # usage_dimension: "UsageDimension", # required
443
481
  # usage_quantity: 1,
444
482
  # dry_run: false,
483
+ # usage_allocations: [
484
+ # {
485
+ # allocated_usage_quantity: 1, # required
486
+ # tags: [
487
+ # {
488
+ # key: "TagKey", # required
489
+ # value: "TagValue", # required
490
+ # },
491
+ # ],
492
+ # },
493
+ # ],
445
494
  # })
446
495
  #
447
496
  # @example Response structure
@@ -583,7 +632,7 @@ module Aws::MarketplaceMetering
583
632
  params: params,
584
633
  config: config)
585
634
  context[:gem_name] = 'aws-sdk-marketplacemetering'
586
- context[:gem_version] = '1.31.0'
635
+ context[:gem_version] = '1.32.0'
587
636
  Seahorse::Client::Request.new(handlers, context)
588
637
  end
589
638
 
@@ -13,6 +13,7 @@ module Aws::MarketplaceMetering
13
13
 
14
14
  include Seahorse::Model
15
15
 
16
+ AllocatedUsageQuantity = Shapes::IntegerShape.new(name: 'AllocatedUsageQuantity')
16
17
  BatchMeterUsageRequest = Shapes::StructureShape.new(name: 'BatchMeterUsageRequest')
17
18
  BatchMeterUsageResult = Shapes::StructureShape.new(name: 'BatchMeterUsageResult')
18
19
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
@@ -27,7 +28,9 @@ module Aws::MarketplaceMetering
27
28
  InvalidProductCodeException = Shapes::StructureShape.new(name: 'InvalidProductCodeException')
28
29
  InvalidPublicKeyVersionException = Shapes::StructureShape.new(name: 'InvalidPublicKeyVersionException')
29
30
  InvalidRegionException = Shapes::StructureShape.new(name: 'InvalidRegionException')
31
+ InvalidTagException = Shapes::StructureShape.new(name: 'InvalidTagException')
30
32
  InvalidTokenException = Shapes::StructureShape.new(name: 'InvalidTokenException')
33
+ InvalidUsageAllocationsException = Shapes::StructureShape.new(name: 'InvalidUsageAllocationsException')
31
34
  InvalidUsageDimensionException = Shapes::StructureShape.new(name: 'InvalidUsageDimensionException')
32
35
  MeterUsageRequest = Shapes::StructureShape.new(name: 'MeterUsageRequest')
33
36
  MeterUsageResult = Shapes::StructureShape.new(name: 'MeterUsageResult')
@@ -40,9 +43,15 @@ module Aws::MarketplaceMetering
40
43
  ResolveCustomerRequest = Shapes::StructureShape.new(name: 'ResolveCustomerRequest')
41
44
  ResolveCustomerResult = Shapes::StructureShape.new(name: 'ResolveCustomerResult')
42
45
  String = Shapes::StringShape.new(name: 'String')
46
+ Tag = Shapes::StructureShape.new(name: 'Tag')
47
+ TagKey = Shapes::StringShape.new(name: 'TagKey')
48
+ TagList = Shapes::ListShape.new(name: 'TagList')
49
+ TagValue = Shapes::StringShape.new(name: 'TagValue')
43
50
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
44
51
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
45
52
  TimestampOutOfBoundsException = Shapes::StructureShape.new(name: 'TimestampOutOfBoundsException')
53
+ UsageAllocation = Shapes::StructureShape.new(name: 'UsageAllocation')
54
+ UsageAllocations = Shapes::ListShape.new(name: 'UsageAllocations')
46
55
  UsageDimension = Shapes::StringShape.new(name: 'UsageDimension')
47
56
  UsageQuantity = Shapes::IntegerShape.new(name: 'UsageQuantity')
48
57
  UsageRecord = Shapes::StructureShape.new(name: 'UsageRecord')
@@ -91,9 +100,15 @@ module Aws::MarketplaceMetering
91
100
  InvalidRegionException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
92
101
  InvalidRegionException.struct_class = Types::InvalidRegionException
93
102
 
103
+ InvalidTagException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
104
+ InvalidTagException.struct_class = Types::InvalidTagException
105
+
94
106
  InvalidTokenException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
95
107
  InvalidTokenException.struct_class = Types::InvalidTokenException
96
108
 
109
+ InvalidUsageAllocationsException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
110
+ InvalidUsageAllocationsException.struct_class = Types::InvalidUsageAllocationsException
111
+
97
112
  InvalidUsageDimensionException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
98
113
  InvalidUsageDimensionException.struct_class = Types::InvalidUsageDimensionException
99
114
 
@@ -102,6 +117,7 @@ module Aws::MarketplaceMetering
102
117
  MeterUsageRequest.add_member(:usage_dimension, Shapes::ShapeRef.new(shape: UsageDimension, required: true, location_name: "UsageDimension"))
103
118
  MeterUsageRequest.add_member(:usage_quantity, Shapes::ShapeRef.new(shape: UsageQuantity, location_name: "UsageQuantity"))
104
119
  MeterUsageRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
120
+ MeterUsageRequest.add_member(:usage_allocations, Shapes::ShapeRef.new(shape: UsageAllocations, location_name: "UsageAllocations"))
105
121
  MeterUsageRequest.struct_class = Types::MeterUsageRequest
106
122
 
107
123
  MeterUsageResult.add_member(:metering_record_id, Shapes::ShapeRef.new(shape: String, location_name: "MeteringRecordId"))
@@ -126,16 +142,29 @@ module Aws::MarketplaceMetering
126
142
  ResolveCustomerResult.add_member(:product_code, Shapes::ShapeRef.new(shape: ProductCode, location_name: "ProductCode"))
127
143
  ResolveCustomerResult.struct_class = Types::ResolveCustomerResult
128
144
 
145
+ Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
146
+ Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, required: true, location_name: "Value"))
147
+ Tag.struct_class = Types::Tag
148
+
149
+ TagList.member = Shapes::ShapeRef.new(shape: Tag)
150
+
129
151
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
130
152
  ThrottlingException.struct_class = Types::ThrottlingException
131
153
 
132
154
  TimestampOutOfBoundsException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
133
155
  TimestampOutOfBoundsException.struct_class = Types::TimestampOutOfBoundsException
134
156
 
157
+ UsageAllocation.add_member(:allocated_usage_quantity, Shapes::ShapeRef.new(shape: AllocatedUsageQuantity, required: true, location_name: "AllocatedUsageQuantity"))
158
+ UsageAllocation.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
159
+ UsageAllocation.struct_class = Types::UsageAllocation
160
+
161
+ UsageAllocations.member = Shapes::ShapeRef.new(shape: UsageAllocation)
162
+
135
163
  UsageRecord.add_member(:timestamp, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "Timestamp"))
136
164
  UsageRecord.add_member(:customer_identifier, Shapes::ShapeRef.new(shape: CustomerIdentifier, required: true, location_name: "CustomerIdentifier"))
137
165
  UsageRecord.add_member(:dimension, Shapes::ShapeRef.new(shape: UsageDimension, required: true, location_name: "Dimension"))
138
166
  UsageRecord.add_member(:quantity, Shapes::ShapeRef.new(shape: UsageQuantity, location_name: "Quantity"))
167
+ UsageRecord.add_member(:usage_allocations, Shapes::ShapeRef.new(shape: UsageAllocations, location_name: "UsageAllocations"))
139
168
  UsageRecord.struct_class = Types::UsageRecord
140
169
 
141
170
  UsageRecordList.member = Shapes::ShapeRef.new(shape: UsageRecord)
@@ -175,6 +204,8 @@ module Aws::MarketplaceMetering
175
204
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceErrorException)
176
205
  o.errors << Shapes::ShapeRef.new(shape: InvalidProductCodeException)
177
206
  o.errors << Shapes::ShapeRef.new(shape: InvalidUsageDimensionException)
207
+ o.errors << Shapes::ShapeRef.new(shape: InvalidTagException)
208
+ o.errors << Shapes::ShapeRef.new(shape: InvalidUsageAllocationsException)
178
209
  o.errors << Shapes::ShapeRef.new(shape: InvalidCustomerIdentifierException)
179
210
  o.errors << Shapes::ShapeRef.new(shape: TimestampOutOfBoundsException)
180
211
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
@@ -190,6 +221,8 @@ module Aws::MarketplaceMetering
190
221
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceErrorException)
191
222
  o.errors << Shapes::ShapeRef.new(shape: InvalidProductCodeException)
192
223
  o.errors << Shapes::ShapeRef.new(shape: InvalidUsageDimensionException)
224
+ o.errors << Shapes::ShapeRef.new(shape: InvalidTagException)
225
+ o.errors << Shapes::ShapeRef.new(shape: InvalidUsageAllocationsException)
193
226
  o.errors << Shapes::ShapeRef.new(shape: InvalidEndpointRegionException)
194
227
  o.errors << Shapes::ShapeRef.new(shape: TimestampOutOfBoundsException)
195
228
  o.errors << Shapes::ShapeRef.new(shape: DuplicateRequestException)
@@ -37,7 +37,9 @@ module Aws::MarketplaceMetering
37
37
  # * {InvalidProductCodeException}
38
38
  # * {InvalidPublicKeyVersionException}
39
39
  # * {InvalidRegionException}
40
+ # * {InvalidTagException}
40
41
  # * {InvalidTokenException}
42
+ # * {InvalidUsageAllocationsException}
41
43
  # * {InvalidUsageDimensionException}
42
44
  # * {PlatformNotSupportedException}
43
45
  # * {ThrottlingException}
@@ -199,6 +201,21 @@ module Aws::MarketplaceMetering
199
201
  end
200
202
  end
201
203
 
204
+ class InvalidTagException < ServiceError
205
+
206
+ # @param [Seahorse::Client::RequestContext] context
207
+ # @param [String] message
208
+ # @param [Aws::MarketplaceMetering::Types::InvalidTagException] data
209
+ def initialize(context, message, data = Aws::EmptyStructure.new)
210
+ super(context, message, data)
211
+ end
212
+
213
+ # @return [String]
214
+ def message
215
+ @message || @data[:message]
216
+ end
217
+ end
218
+
202
219
  class InvalidTokenException < ServiceError
203
220
 
204
221
  # @param [Seahorse::Client::RequestContext] context
@@ -214,6 +231,21 @@ module Aws::MarketplaceMetering
214
231
  end
215
232
  end
216
233
 
234
+ class InvalidUsageAllocationsException < ServiceError
235
+
236
+ # @param [Seahorse::Client::RequestContext] context
237
+ # @param [String] message
238
+ # @param [Aws::MarketplaceMetering::Types::InvalidUsageAllocationsException] data
239
+ def initialize(context, message, data = Aws::EmptyStructure.new)
240
+ super(context, message, data)
241
+ end
242
+
243
+ # @return [String]
244
+ def message
245
+ @message || @data[:message]
246
+ end
247
+ end
248
+
217
249
  class InvalidUsageDimensionException < ServiceError
218
250
 
219
251
  # @param [Seahorse::Client::RequestContext] context
@@ -23,6 +23,17 @@ module Aws::MarketplaceMetering
23
23
  # customer_identifier: "CustomerIdentifier", # required
24
24
  # dimension: "UsageDimension", # required
25
25
  # quantity: 1,
26
+ # usage_allocations: [
27
+ # {
28
+ # allocated_usage_quantity: 1, # required
29
+ # tags: [
30
+ # {
31
+ # key: "TagKey", # required
32
+ # value: "TagValue", # required
33
+ # },
34
+ # ],
35
+ # },
36
+ # ],
26
37
  # },
27
38
  # ],
28
39
  # product_code: "ProductCode", # required
@@ -217,6 +228,19 @@ module Aws::MarketplaceMetering
217
228
  include Aws::Structure
218
229
  end
219
230
 
231
+ # The tag is invalid, or the number of tags is greater than 5.
232
+ #
233
+ # @!attribute [rw] message
234
+ # @return [String]
235
+ #
236
+ # @see http://docs.aws.amazon.com/goto/WebAPI/meteringmarketplace-2016-01-14/InvalidTagException AWS API Documentation
237
+ #
238
+ class InvalidTagException < Struct.new(
239
+ :message)
240
+ SENSITIVE = []
241
+ include Aws::Structure
242
+ end
243
+
220
244
  # Registration token is invalid.
221
245
  #
222
246
  # @!attribute [rw] message
@@ -230,6 +254,20 @@ module Aws::MarketplaceMetering
230
254
  include Aws::Structure
231
255
  end
232
256
 
257
+ # The usage allocation objects are invalid, or the number of allocations
258
+ # is greater than 500 for a single usage record.
259
+ #
260
+ # @!attribute [rw] message
261
+ # @return [String]
262
+ #
263
+ # @see http://docs.aws.amazon.com/goto/WebAPI/meteringmarketplace-2016-01-14/InvalidUsageAllocationsException AWS API Documentation
264
+ #
265
+ class InvalidUsageAllocationsException < Struct.new(
266
+ :message)
267
+ SENSITIVE = []
268
+ include Aws::Structure
269
+ end
270
+
233
271
  # The usage dimension does not match one of the UsageDimensions
234
272
  # associated with products.
235
273
  #
@@ -253,6 +291,17 @@ module Aws::MarketplaceMetering
253
291
  # usage_dimension: "UsageDimension", # required
254
292
  # usage_quantity: 1,
255
293
  # dry_run: false,
294
+ # usage_allocations: [
295
+ # {
296
+ # allocated_usage_quantity: 1, # required
297
+ # tags: [
298
+ # {
299
+ # key: "TagKey", # required
300
+ # value: "TagValue", # required
301
+ # },
302
+ # ],
303
+ # },
304
+ # ],
256
305
  # }
257
306
  #
258
307
  # @!attribute [rw] product_code
@@ -284,6 +333,14 @@ module Aws::MarketplaceMetering
284
333
  # UnauthorizedException. Defaults to `false` if not specified.
285
334
  # @return [Boolean]
286
335
  #
336
+ # @!attribute [rw] usage_allocations
337
+ # The set of UsageAllocations to submit.
338
+ #
339
+ # The sum of all UsageAllocation quantities must equal the
340
+ # UsageQuantity of the MeterUsage request, and each UsageAllocation
341
+ # must have a unique set of tags (include no tags).
342
+ # @return [Array<Types::UsageAllocation>]
343
+ #
287
344
  # @see http://docs.aws.amazon.com/goto/WebAPI/meteringmarketplace-2016-01-14/MeterUsageRequest AWS API Documentation
288
345
  #
289
346
  class MeterUsageRequest < Struct.new(
@@ -291,7 +348,8 @@ module Aws::MarketplaceMetering
291
348
  :timestamp,
292
349
  :usage_dimension,
293
350
  :usage_quantity,
294
- :dry_run)
351
+ :dry_run,
352
+ :usage_allocations)
295
353
  SENSITIVE = []
296
354
  include Aws::Structure
297
355
  end
@@ -422,6 +480,37 @@ module Aws::MarketplaceMetering
422
480
  include Aws::Structure
423
481
  end
424
482
 
483
+ # Metadata assigned to an allocation. Each tag is made up of a key and a
484
+ # value.
485
+ #
486
+ # @note When making an API call, you may pass Tag
487
+ # data as a hash:
488
+ #
489
+ # {
490
+ # key: "TagKey", # required
491
+ # value: "TagValue", # required
492
+ # }
493
+ #
494
+ # @!attribute [rw] key
495
+ # One part of a key-value pair that makes up a tag. A key is a label
496
+ # that acts like a category for the specific tag values.
497
+ # @return [String]
498
+ #
499
+ # @!attribute [rw] value
500
+ # One part of a key-value pair that makes up a tag. A value acts as a
501
+ # descriptor within a tag category (key). The value can be empty or
502
+ # null.
503
+ # @return [String]
504
+ #
505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/meteringmarketplace-2016-01-14/Tag AWS API Documentation
506
+ #
507
+ class Tag < Struct.new(
508
+ :key,
509
+ :value)
510
+ SENSITIVE = []
511
+ include Aws::Structure
512
+ end
513
+
425
514
  # The calls to the API are throttled.
426
515
  #
427
516
  # @!attribute [rw] message
@@ -449,6 +538,42 @@ module Aws::MarketplaceMetering
449
538
  include Aws::Structure
450
539
  end
451
540
 
541
+ # Usage allocations allow you to split usage into buckets by tags.
542
+ #
543
+ # Each UsageAllocation indicates the usage quantity for a specific set
544
+ # of tags.
545
+ #
546
+ # @note When making an API call, you may pass UsageAllocation
547
+ # data as a hash:
548
+ #
549
+ # {
550
+ # allocated_usage_quantity: 1, # required
551
+ # tags: [
552
+ # {
553
+ # key: "TagKey", # required
554
+ # value: "TagValue", # required
555
+ # },
556
+ # ],
557
+ # }
558
+ #
559
+ # @!attribute [rw] allocated_usage_quantity
560
+ # The total quantity allocated to this bucket of usage.
561
+ # @return [Integer]
562
+ #
563
+ # @!attribute [rw] tags
564
+ # The set of tags that define the bucket of usage. For the bucket of
565
+ # items with no tags, this parameter can be left out.
566
+ # @return [Array<Types::Tag>]
567
+ #
568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/meteringmarketplace-2016-01-14/UsageAllocation AWS API Documentation
569
+ #
570
+ class UsageAllocation < Struct.new(
571
+ :allocated_usage_quantity,
572
+ :tags)
573
+ SENSITIVE = []
574
+ include Aws::Structure
575
+ end
576
+
452
577
  # A UsageRecord indicates a quantity of usage for a given product,
453
578
  # customer, dimension and time.
454
579
  #
@@ -463,6 +588,17 @@ module Aws::MarketplaceMetering
463
588
  # customer_identifier: "CustomerIdentifier", # required
464
589
  # dimension: "UsageDimension", # required
465
590
  # quantity: 1,
591
+ # usage_allocations: [
592
+ # {
593
+ # allocated_usage_quantity: 1, # required
594
+ # tags: [
595
+ # {
596
+ # key: "TagKey", # required
597
+ # value: "TagValue", # required
598
+ # },
599
+ # ],
600
+ # },
601
+ # ],
466
602
  # }
467
603
  #
468
604
  # @!attribute [rw] timestamp
@@ -489,13 +625,20 @@ module Aws::MarketplaceMetering
489
625
  # dimension and time. Defaults to `0` if not specified.
490
626
  # @return [Integer]
491
627
  #
628
+ # @!attribute [rw] usage_allocations
629
+ # The set of UsageAllocations to submit. The sum of all
630
+ # UsageAllocation quantities must equal the Quantity of the
631
+ # UsageRecord.
632
+ # @return [Array<Types::UsageAllocation>]
633
+ #
492
634
  # @see http://docs.aws.amazon.com/goto/WebAPI/meteringmarketplace-2016-01-14/UsageRecord AWS API Documentation
493
635
  #
494
636
  class UsageRecord < Struct.new(
495
637
  :timestamp,
496
638
  :customer_identifier,
497
639
  :dimension,
498
- :quantity)
640
+ :quantity,
641
+ :usage_allocations)
499
642
  SENSITIVE = []
500
643
  include Aws::Structure
501
644
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-marketplacemetering
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.31.0
4
+ version: 1.32.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-30 00:00:00.000000000 Z
11
+ date: 2020-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core