Version: v0.0.0-...-018fd1d Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Mar 10, 2017 License: Apache-2.0 Imports: 8 Imported by: 0



Package marketplacemetering provides a client for AWSMarketplace Metering.




View Source
const ServiceName = "metering.marketplace"

A ServiceName is the name of the service the client will make API calls to.


This section is empty.


This section is empty.


type MarketplaceMetering

type MarketplaceMetering struct {

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

MeterUsage- Submits the metering record for a Marketplace product.

The service client's operations are safe to be used concurrently. It is not safe to mutate any of the client's properties though.

func New

New creates a new instance of the MarketplaceMetering client with a session. If additional configuration is needed for the client instance use the optional aws.Config parameter to add your extra config.


// Create a MarketplaceMetering client from just a session.
svc := marketplacemetering.New(mySession)

// Create a MarketplaceMetering client with additional configuration
svc := marketplacemetering.New(mySession, aws.NewConfig().WithRegion("us-west-2"))

func (*MarketplaceMetering) MeterUsage

func (c *MarketplaceMetering) MeterUsage(input *MeterUsageInput) (*MeterUsageOutput, error)

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


package main

import (


var _ time.Duration
var _ bytes.Buffer

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)

	svc := marketplacemetering.New(sess)

	params := &marketplacemetering.MeterUsageInput{
		DryRun:         aws.Bool(true),               // Required
		ProductCode:    aws.String("ProductCode"),    // Required
		Timestamp:      aws.Time(time.Now()),         // Required
		UsageDimension: aws.String("UsageDimension"), // Required
		UsageQuantity:  aws.Int64(1),                 // Required
	resp, err := svc.MeterUsage(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.

	// Pretty-print the response data.

func (*MarketplaceMetering) MeterUsageRequest

func (c *MarketplaceMetering) MeterUsageRequest(input *MeterUsageInput) (req *request.Request, output *MeterUsageOutput)

MeterUsageRequest generates a "aws/request.Request" representing the client's request for the MeterUsage operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the MeterUsage method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the MeterUsageRequest method.
req, resp := client.MeterUsageRequest(params)

err := req.Send()
if err == nil { // resp is now filled

type MeterUsageInput

type MeterUsageInput struct {

	// 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.
	DryRun *bool `type:"boolean" required:"true"`

	// 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.
	ProductCode *string `min:"1" type:"string" required:"true"`

	// Timestamp of the hour, recorded in UTC. The seconds and milliseconds portions
	// of the timestamp will be ignored.
	Timestamp *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`

	// It will be one of the 'fcp dimension name' provided during the publishing
	// of the product.
	UsageDimension *string `min:"1" type:"string" required:"true"`

	// Consumption value for the hour.
	UsageQuantity *int64 `type:"integer" required:"true"`
	// contains filtered or unexported fields

func (MeterUsageInput) GoString

func (s MeterUsageInput) GoString() string

GoString returns the string representation

func (MeterUsageInput) String

func (s MeterUsageInput) String() string

String returns the string representation

func (*MeterUsageInput) Validate

func (s *MeterUsageInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type MeterUsageOutput

type MeterUsageOutput struct {
	MeteringRecordId *string `type:"string"`
	// contains filtered or unexported fields

func (MeterUsageOutput) GoString

func (s MeterUsageOutput) GoString() string

GoString returns the string representation

func (MeterUsageOutput) String

func (s MeterUsageOutput) String() string

String returns the string representation

Source Files


Path Synopsis
Package marketplacemeteringiface provides an interface for the AWSMarketplace Metering.
Package marketplacemeteringiface provides an interface for the AWSMarketplace Metering.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL