{ "version":"2.0", "metadata":{ "apiVersion":"2016-01-14", "endpointPrefix":"metering.marketplace", "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWSMarketplace Metering", "signatureVersion":"v4", "signingName":"aws-marketplace", "targetPrefix":"AWSMPMeteringService" }, "operations":{ "MeterUsage":{ "name":"MeterUsage", "http":{ "method":"POST", "requestUri":"/" }, "input":{"shape":"MeterUsageRequest"}, "output":{"shape":"MeterUsageResult"}, "errors":[ {"shape":"InternalServiceErrorException"}, {"shape":"InvalidProductCodeException"}, {"shape":"InvalidUsageDimensionException"}, {"shape":"InvalidEndpointRegionException"}, {"shape":"TimestampOutOfBoundsException"}, {"shape":"DuplicateRequestException"}, {"shape":"ThrottlingException"} ], "documentation":"

API to emit metering records. For identical requests, the API is idempotent. It simply returns the metering record ID.

" } }, "shapes":{ "Boolean":{"type":"boolean"}, "DuplicateRequestException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, "documentation":"

A metering record has already been emitted by the same EC2 instance for the given {usageDimension, timestamp} with a different usageQuantity.

", "exception":true }, "InternalServiceErrorException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, "documentation":"

An internal error has occurred. Retry your request. If the problem persists, post a message with details on the AWS forums.

", "exception":true, "fault":true }, "InvalidEndpointRegionException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, "documentation":"

The endpoint being called is in a region different from your EC2 instance. The region of the Metering service endpoint and the region of the EC2 instance must match.

", "exception":true }, "InvalidProductCodeException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, "documentation":"

The product code passed does not match the product code used for publishing the product.

", "exception":true }, "InvalidUsageDimensionException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, "documentation":"

The usage dimension does not match one of the UsageDimensions associated with products.

", "exception":true }, "MeterUsageRequest":{ "type":"structure", "required":[ "ProductCode", "Timestamp", "UsageDimension", "UsageQuantity", "DryRun" ], "members":{ "ProductCode":{ "shape":"ProductCode", "documentation":"

Product code is used to uniquely identify a product in AWS Marketplace. The product code should be the same as the one used during the publishing of a new product.

" }, "Timestamp":{ "shape":"Timestamp", "documentation":"

Timestamp of the hour, recorded in UTC. The seconds and milliseconds portions of the timestamp will be ignored.

" }, "UsageDimension":{ "shape":"UsageDimension", "documentation":"

It will be one of the 'fcp dimension name' provided during the publishing of the product.

" }, "UsageQuantity":{ "shape":"UsageQuantity", "documentation":"

Consumption value for the hour.

" }, "DryRun":{ "shape":"Boolean", "documentation":"

Checks whether you have the permissions required for the action, but does not make the request. If you have the permissions, the request returns DryRunOperation; otherwise, it returns UnauthorizedException.

" } } }, "MeterUsageResult":{ "type":"structure", "members":{ "MeteringRecordId":{"shape":"String"} } }, "ProductCode":{ "type":"string", "max":255, "min":1 }, "String":{"type":"string"}, "ThrottlingException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, "documentation":"

The calls to the MeterUsage API are throttled.

", "exception":true }, "Timestamp":{"type":"timestamp"}, "TimestampOutOfBoundsException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, "documentation":"

The timestamp value passed in the meterUsage() is out of allowed range.

", "exception":true }, "UsageDimension":{ "type":"string", "max":255, "min":1 }, "UsageQuantity":{ "type":"integer", "max":1000000, "min":0 }, "errorMessage":{"type":"string"} }, "documentation":"AWS Marketplace Metering Service

This reference provides descriptions of the low-level AWS Marketplace Metering Service API.

AWS Marketplace sellers can use this API to submit usage data for custom usage dimensions.

Submitting Metering Records

" }