Class: Aws::MarketplaceMetering::Types::UsageRecord

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-marketplacemetering/lib/aws-sdk-marketplacemetering/types.rb

Overview

Note:

When making an API call, you may pass UsageRecord data as a hash:

{
  timestamp: Time.now, # required
  customer_identifier: "CustomerIdentifier", # required
  dimension: "UsageDimension", # required
  quantity: 1,
  usage_allocations: [
    {
      allocated_usage_quantity: 1, # required
      tags: [
        {
          key: "TagKey", # required
          value: "TagValue", # required
        },
      ],
    },
  ],
}

A UsageRecord indicates a quantity of usage for a given product, customer, dimension and time.

Multiple requests with the same UsageRecords as input will be de-duplicated to prevent double charges.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#customer_identifierString

The CustomerIdentifier is obtained through the ResolveCustomer operation and represents an individual buyer in your application.

Returns:

  • (String)


648
649
650
651
652
653
654
655
656
# File 'gems/aws-sdk-marketplacemetering/lib/aws-sdk-marketplacemetering/types.rb', line 648

class UsageRecord < Struct.new(
  :timestamp,
  :customer_identifier,
  :dimension,
  :quantity,
  :usage_allocations)
  SENSITIVE = []
  include Aws::Structure
end

#dimensionString

During the process of registering a product on AWS Marketplace, dimensions are specified. These represent different units of value in your application.

Returns:

  • (String)


648
649
650
651
652
653
654
655
656
# File 'gems/aws-sdk-marketplacemetering/lib/aws-sdk-marketplacemetering/types.rb', line 648

class UsageRecord < Struct.new(
  :timestamp,
  :customer_identifier,
  :dimension,
  :quantity,
  :usage_allocations)
  SENSITIVE = []
  include Aws::Structure
end

#quantityInteger

The quantity of usage consumed by the customer for the given dimension and time. Defaults to 0 if not specified.

Returns:

  • (Integer)


648
649
650
651
652
653
654
655
656
# File 'gems/aws-sdk-marketplacemetering/lib/aws-sdk-marketplacemetering/types.rb', line 648

class UsageRecord < Struct.new(
  :timestamp,
  :customer_identifier,
  :dimension,
  :quantity,
  :usage_allocations)
  SENSITIVE = []
  include Aws::Structure
end

#timestampTime

Timestamp, in UTC, for which the usage is being reported.

Your application can meter usage for up to one hour in the past. Make sure the timestamp value is not before the start of the software usage.

Returns:

  • (Time)


648
649
650
651
652
653
654
655
656
# File 'gems/aws-sdk-marketplacemetering/lib/aws-sdk-marketplacemetering/types.rb', line 648

class UsageRecord < Struct.new(
  :timestamp,
  :customer_identifier,
  :dimension,
  :quantity,
  :usage_allocations)
  SENSITIVE = []
  include Aws::Structure
end

#usage_allocationsArray<Types::UsageAllocation>

The set of UsageAllocations to submit. The sum of all UsageAllocation quantities must equal the Quantity of the UsageRecord.

Returns:



648
649
650
651
652
653
654
655
656
# File 'gems/aws-sdk-marketplacemetering/lib/aws-sdk-marketplacemetering/types.rb', line 648

class UsageRecord < Struct.new(
  :timestamp,
  :customer_identifier,
  :dimension,
  :quantity,
  :usage_allocations)
  SENSITIVE = []
  include Aws::Structure
end