resourcegroupstaggingapi

package
v1.8.35-0...-4d7eba9 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2017 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package resourcegroupstaggingapi provides the client and types for making API requests to AWS Resource Groups Tagging API.

This guide describes the API operations for the resource groups tagging.

A tag is a label that you assign to an AWS resource. A tag consists of a key and a value, both of which you define. For example, if you have two Amazon EC2 instances, you might assign both a tag key of "Stack." But the value of "Stack" might be "Testing" for one and "Production" for the other.

Tagging can help you organize your resources and enables you to simplify resource management, access management and cost allocation. For more information about tagging, see Working with Tag Editor (http://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html) and Working with Resource Groups (http://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/resource-groups.html). For more information about permissions you need to use the resource groups tagging APIs, see Obtaining Permissions for Resource Groups (http://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/obtaining-permissions-for-resource-groups.html) and Obtaining Permissions for Tagging (http://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/obtaining-permissions-for-tagging.html).

You can use the resource groups tagging APIs to complete the following tasks:

  • Tag and untag supported resources located in the specified region for the AWS account

  • Use tag-based filters to search for resources located in the specified region for the AWS account

  • List all existing tag keys in the specified region for the AWS account

  • List all existing values for the specified key in the specified region for the AWS account

Not all resources can have tags. For a lists of resources that you can tag, see Supported Resources (http://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/supported-resources.html) in the AWS Resource Groups and Tag Editor User Guide.

To make full use of the resource groups tagging APIs, you might need additional IAM permissions, including permission to access the resources of individual services as well as permission to view and apply tags to those resources. For more information, see Obtaining Permissions for Tagging (http://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/obtaining-permissions-for-tagging.html) in the AWS Resource Groups and Tag Editor User Guide.

See https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26 for more information on this service.

See resourcegroupstaggingapi package documentation for more information. https://docs.aws.amazon.com/sdk-for-go/api/service/resourcegroupstaggingapi/

Using the Client

To use the client for AWS Resource Groups Tagging API you will first need to create a new instance of it.

When creating a client for an AWS service you'll first need to have a Session already created. The Session provides configuration that can be shared between multiple service clients. Additional configuration can be applied to the Session and service's client when they are constructed. The aws package's Config type contains several fields such as Region for the AWS Region the client should make API requests too. The optional Config value can be provided as the variadic argument for Sessions and client creation.

Once the service's client is created you can use it to make API requests the AWS service. These clients are safe to use concurrently.

// Create a session to share configuration, and load external configuration.
sess := session.Must(session.NewSession())

// Create the service's client with the session.
svc := resourcegroupstaggingapi.New(sess)

See the SDK's documentation for more information on how to use service clients. https://docs.aws.amazon.com/sdk-for-go/api/

See aws package's Config type for more information on configuration options. https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config

See the AWS Resource Groups Tagging API client ResourceGroupsTaggingAPI for more information on creating the service's client. https://docs.aws.amazon.com/sdk-for-go/api/service/resourcegroupstaggingapi/#New

Once the client is created you can make an API request to the service. Each API method takes a input parameter, and returns the service response and an error.

The API method will document which error codes the service can be returned by the operation if the service models the API operation's errors. These errors will also be available as const strings prefixed with "ErrCode".

result, err := svc.GetResources(params)
if err != nil {
    // Cast err to awserr.Error to handle specific error codes.
    aerr, ok := err.(awserr.Error)
    if ok && aerr.Code() == <error code to check for> {
        // Specific error code handling
    }
    return err
}

fmt.Println("GetResources result:")
fmt.Println(result)

Using the Client with Context

The service's client also provides methods to make API requests with a Context value. This allows you to control the timeout, and cancellation of pending requests. These methods also take request Option as variadic parameter to apply additional configuration to the API request.

ctx := context.Background()

result, err := svc.GetResourcesWithContext(ctx, params)

See the request package documentation for more information on using Context pattern with the SDK. https://docs.aws.amazon.com/sdk-for-go/api/aws/request/

Index

Examples

Constants

View Source
const (
	// ErrorCodeInternalServiceException is a ErrorCode enum value
	ErrorCodeInternalServiceException = "InternalServiceException"

	// ErrorCodeInvalidParameterException is a ErrorCode enum value
	ErrorCodeInvalidParameterException = "InvalidParameterException"
)
View Source
const (

	// ErrCodeInternalServiceException for service response error code
	// "InternalServiceException".
	//
	// The request processing failed because of an unknown error, exception, or
	// failure. You can retry the request.
	ErrCodeInternalServiceException = "InternalServiceException"

	// ErrCodeInvalidParameterException for service response error code
	// "InvalidParameterException".
	//
	// A parameter is missing or a malformed string or invalid or out-of-range value
	// was supplied for the request parameter.
	ErrCodeInvalidParameterException = "InvalidParameterException"

	// ErrCodePaginationTokenExpiredException for service response error code
	// "PaginationTokenExpiredException".
	//
	// A PaginationToken is valid for a maximum of 15 minutes. Your request was
	// denied because the specified PaginationToken has expired.
	ErrCodePaginationTokenExpiredException = "PaginationTokenExpiredException"

	// ErrCodeThrottledException for service response error code
	// "ThrottledException".
	//
	// The request was denied to limit the frequency of submitted requests.
	ErrCodeThrottledException = "ThrottledException"
)
View Source
const (
	ServiceName = "tagging"   // Service endpoint prefix API calls made to.
	EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata.
)

Service information constants

Variables

This section is empty.

Functions

This section is empty.

Types

type FailureInfo

type FailureInfo struct {

	// The code of the common error. Valid values include InternalServiceException,
	// InvalidParameterException, and any valid error code returned by the AWS service
	// that hosts the resource that you want to tag.
	ErrorCode *string `type:"string" enum:"ErrorCode"`

	// The message of the common error.
	ErrorMessage *string `type:"string"`

	// The HTTP status code of the common error.
	StatusCode *int64 `type:"integer"`
	// contains filtered or unexported fields
}

Details of the common errors that all actions return. Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/FailureInfo

func (FailureInfo) GoString

func (s FailureInfo) GoString() string

GoString returns the string representation

func (*FailureInfo) SetErrorCode

func (s *FailureInfo) SetErrorCode(v string) *FailureInfo

SetErrorCode sets the ErrorCode field's value.

func (*FailureInfo) SetErrorMessage

func (s *FailureInfo) SetErrorMessage(v string) *FailureInfo

SetErrorMessage sets the ErrorMessage field's value.

func (*FailureInfo) SetStatusCode

func (s *FailureInfo) SetStatusCode(v int64) *FailureInfo

SetStatusCode sets the StatusCode field's value.

func (FailureInfo) String

func (s FailureInfo) String() string

String returns the string representation

type GetResourcesInput

type GetResourcesInput struct {

	// A string that indicates that additional data is available. Leave this value
	// empty for your initial request. If the response includes a PaginationToken,
	// use that string for this value to request an additional page of data.
	PaginationToken *string `type:"string"`

	// The constraints on the resources that you want returned. The format of each
	// resource type is service[:resourceType]. For example, specifying a resource
	// type of ec2 returns all tagged Amazon EC2 resources (which includes tagged
	// EC2 instances). Specifying a resource type of ec2:instance returns only EC2
	// instances.
	//
	// The string for each service name and resource type is the same as that embedded
	// in a resource's Amazon Resource Name (ARN). Consult the AWS General Reference
	// for the following:
	//
	//    * For a list of service name strings, see AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces).
	//
	//    * For resource type strings, see Example ARNs (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-syntax).
	//
	//    * For more information about ARNs, see Amazon Resource Names (ARNs) and
	//    AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).
	ResourceTypeFilters []*string `type:"list"`

	// A limit that restricts the number of resources returned by GetResources in
	// paginated output. You can set ResourcesPerPage to a minimum of 1 item and
	// the maximum of 50 items.
	ResourcesPerPage *int64 `type:"integer"`

	// A list of tags (keys and values). A request can include up to 50 keys, and
	// each key can include up to 20 values.
	//
	// If you specify multiple filters connected by an AND operator in a single
	// request, the response returns only those resources that are associated with
	// every specified filter.
	//
	// If you specify multiple filters connected by an OR operator in a single request,
	// the response returns all resources that are associated with at least one
	// or possibly more of the specified filters.
	TagFilters []*TagFilter `type:"list"`

	// A limit that restricts the number of tags (key and value pairs) returned
	// by GetResources in paginated output. A resource with no tags is counted as
	// having one tag (one key and value pair).
	//
	// GetResources does not split a resource and its associated tags across pages.
	// If the specified TagsPerPage would cause such a break, a PaginationToken
	// is returned in place of the affected resource and its tags. Use that token
	// in another request to get the remaining data. For example, if you specify
	// a TagsPerPage of 100 and the account has 22 resources with 10 tags each (meaning
	// that each resource has 10 key and value pairs), the output will consist of
	// 3 pages, with the first page displaying the first 10 resources, each with
	// its 10 tags, the second page displaying the next 10 resources each with its
	// 10 tags, and the third page displaying the remaining 2 resources, each with
	// its 10 tags.
	//
	// You can set TagsPerPage
	TagsPerPage *int64 `type:"integer"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetResourcesInput

func (GetResourcesInput) GoString

func (s GetResourcesInput) GoString() string

GoString returns the string representation

func (*GetResourcesInput) SetPaginationToken

func (s *GetResourcesInput) SetPaginationToken(v string) *GetResourcesInput

SetPaginationToken sets the PaginationToken field's value.

func (*GetResourcesInput) SetResourceTypeFilters

func (s *GetResourcesInput) SetResourceTypeFilters(v []*string) *GetResourcesInput

SetResourceTypeFilters sets the ResourceTypeFilters field's value.

func (*GetResourcesInput) SetResourcesPerPage

func (s *GetResourcesInput) SetResourcesPerPage(v int64) *GetResourcesInput

SetResourcesPerPage sets the ResourcesPerPage field's value.

func (*GetResourcesInput) SetTagFilters

func (s *GetResourcesInput) SetTagFilters(v []*TagFilter) *GetResourcesInput

SetTagFilters sets the TagFilters field's value.

func (*GetResourcesInput) SetTagsPerPage

func (s *GetResourcesInput) SetTagsPerPage(v int64) *GetResourcesInput

SetTagsPerPage sets the TagsPerPage field's value.

func (GetResourcesInput) String

func (s GetResourcesInput) String() string

String returns the string representation

func (*GetResourcesInput) Validate

func (s *GetResourcesInput) Validate() error

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

type GetResourcesOutput

type GetResourcesOutput struct {

	// A string that indicates that the response contains more data than can be
	// returned in a single response. To receive additional data, specify this string
	// for the PaginationToken value in a subsequent request.
	PaginationToken *string `type:"string"`

	// A list of resource ARNs and the tags (keys and values) associated with each.
	ResourceTagMappingList []*ResourceTagMapping `type:"list"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetResourcesOutput

func (GetResourcesOutput) GoString

func (s GetResourcesOutput) GoString() string

GoString returns the string representation

func (*GetResourcesOutput) SetPaginationToken

func (s *GetResourcesOutput) SetPaginationToken(v string) *GetResourcesOutput

SetPaginationToken sets the PaginationToken field's value.

func (*GetResourcesOutput) SetResourceTagMappingList

func (s *GetResourcesOutput) SetResourceTagMappingList(v []*ResourceTagMapping) *GetResourcesOutput

SetResourceTagMappingList sets the ResourceTagMappingList field's value.

func (GetResourcesOutput) String

func (s GetResourcesOutput) String() string

String returns the string representation

type GetTagKeysInput

type GetTagKeysInput struct {

	// A string that indicates that additional data is available. Leave this value
	// empty for your initial request. If the response includes a PaginationToken,
	// use that string for this value to request an additional page of data.
	PaginationToken *string `type:"string"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagKeysInput

func (GetTagKeysInput) GoString

func (s GetTagKeysInput) GoString() string

GoString returns the string representation

func (*GetTagKeysInput) SetPaginationToken

func (s *GetTagKeysInput) SetPaginationToken(v string) *GetTagKeysInput

SetPaginationToken sets the PaginationToken field's value.

func (GetTagKeysInput) String

func (s GetTagKeysInput) String() string

String returns the string representation

type GetTagKeysOutput

type GetTagKeysOutput struct {

	// A string that indicates that the response contains more data than can be
	// returned in a single response. To receive additional data, specify this string
	// for the PaginationToken value in a subsequent request.
	PaginationToken *string `type:"string"`

	// A list of all tag keys in the AWS account.
	TagKeys []*string `type:"list"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagKeysOutput

func (GetTagKeysOutput) GoString

func (s GetTagKeysOutput) GoString() string

GoString returns the string representation

func (*GetTagKeysOutput) SetPaginationToken

func (s *GetTagKeysOutput) SetPaginationToken(v string) *GetTagKeysOutput

SetPaginationToken sets the PaginationToken field's value.

func (*GetTagKeysOutput) SetTagKeys

func (s *GetTagKeysOutput) SetTagKeys(v []*string) *GetTagKeysOutput

SetTagKeys sets the TagKeys field's value.

func (GetTagKeysOutput) String

func (s GetTagKeysOutput) String() string

String returns the string representation

type GetTagValuesInput

type GetTagValuesInput struct {

	// The key for which you want to list all existing values in the specified region
	// for the AWS account.
	//
	// Key is a required field
	Key *string `min:"1" type:"string" required:"true"`

	// A string that indicates that additional data is available. Leave this value
	// empty for your initial request. If the response includes a PaginationToken,
	// use that string for this value to request an additional page of data.
	PaginationToken *string `type:"string"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagValuesInput

func (GetTagValuesInput) GoString

func (s GetTagValuesInput) GoString() string

GoString returns the string representation

func (*GetTagValuesInput) SetKey

SetKey sets the Key field's value.

func (*GetTagValuesInput) SetPaginationToken

func (s *GetTagValuesInput) SetPaginationToken(v string) *GetTagValuesInput

SetPaginationToken sets the PaginationToken field's value.

func (GetTagValuesInput) String

func (s GetTagValuesInput) String() string

String returns the string representation

func (*GetTagValuesInput) Validate

func (s *GetTagValuesInput) Validate() error

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

type GetTagValuesOutput

type GetTagValuesOutput struct {

	// A string that indicates that the response contains more data than can be
	// returned in a single response. To receive additional data, specify this string
	// for the PaginationToken value in a subsequent request.
	PaginationToken *string `type:"string"`

	// A list of all tag values for the specified key in the AWS account.
	TagValues []*string `type:"list"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagValuesOutput

func (GetTagValuesOutput) GoString

func (s GetTagValuesOutput) GoString() string

GoString returns the string representation

func (*GetTagValuesOutput) SetPaginationToken

func (s *GetTagValuesOutput) SetPaginationToken(v string) *GetTagValuesOutput

SetPaginationToken sets the PaginationToken field's value.

func (*GetTagValuesOutput) SetTagValues

func (s *GetTagValuesOutput) SetTagValues(v []*string) *GetTagValuesOutput

SetTagValues sets the TagValues field's value.

func (GetTagValuesOutput) String

func (s GetTagValuesOutput) String() string

String returns the string representation

type ResourceGroupsTaggingAPI

type ResourceGroupsTaggingAPI struct {
	*client.Client
}

ResourceGroupsTaggingAPI provides the API operation methods for making requests to AWS Resource Groups Tagging API. See this package's package overview docs for details on the service.

ResourceGroupsTaggingAPI methods are safe to use concurrently. It is not safe to modify mutate any of the struct's properties though.

func New

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

Example:

// Create a ResourceGroupsTaggingAPI client from just a session.
svc := resourcegroupstaggingapi.New(mySession)

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

func (*ResourceGroupsTaggingAPI) GetResources

GetResources API operation for AWS Resource Groups Tagging API.

Returns all the tagged resources that are associated with the specified tags (keys and values) located in the specified region for the AWS account. The tags and the resource types that you specify in the request are known as filters. The response includes all tags that are associated with the requested resources. If no filter is provided, this action returns a paginated resource list with the associated tags.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Resource Groups Tagging API's API operation GetResources for usage and error information.

Returned Error Codes:

  • ErrCodeInvalidParameterException "InvalidParameterException" A parameter is missing or a malformed string or invalid or out-of-range value was supplied for the request parameter.

  • ErrCodeThrottledException "ThrottledException" The request was denied to limit the frequency of submitted requests.

  • ErrCodeInternalServiceException "InternalServiceException" The request processing failed because of an unknown error, exception, or failure. You can retry the request.

  • ErrCodePaginationTokenExpiredException "PaginationTokenExpiredException" A PaginationToken is valid for a maximum of 15 minutes. Your request was denied because the specified PaginationToken has expired.

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetResources

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi"
)

func main() {
	sess := session.Must(session.NewSession())

	svc := resourcegroupstaggingapi.New(sess)

	params := &resourcegroupstaggingapi.GetResourcesInput{
		PaginationToken: aws.String("PaginationToken"),
		ResourceTypeFilters: []*string{
			aws.String("AmazonResourceType"), // Required
			// More values...
		},
		ResourcesPerPage: aws.Int64(1),
		TagFilters: []*resourcegroupstaggingapi.TagFilter{
			{ // Required
				Key: aws.String("TagKey"),
				Values: []*string{
					aws.String("TagValue"), // Required
					// More values...
				},
			},
			// More values...
		},
		TagsPerPage: aws.Int64(1),
	}
	resp, err := svc.GetResources(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ResourceGroupsTaggingAPI) GetResourcesPages

func (c *ResourceGroupsTaggingAPI) GetResourcesPages(input *GetResourcesInput, fn func(*GetResourcesOutput, bool) bool) error

GetResourcesPages iterates over the pages of a GetResources operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See GetResources method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a GetResources operation.
pageNum := 0
err := client.GetResourcesPages(params,
    func(page *GetResourcesOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*ResourceGroupsTaggingAPI) GetResourcesPagesWithContext

func (c *ResourceGroupsTaggingAPI) GetResourcesPagesWithContext(ctx aws.Context, input *GetResourcesInput, fn func(*GetResourcesOutput, bool) bool, opts ...request.Option) error

GetResourcesPagesWithContext same as GetResourcesPages except it takes a Context and allows setting request options on the pages.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*ResourceGroupsTaggingAPI) GetResourcesRequest

func (c *ResourceGroupsTaggingAPI) GetResourcesRequest(input *GetResourcesInput) (req *request.Request, output *GetResourcesOutput)

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

See GetResources for usage and error information.

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 GetResources 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 GetResourcesRequest method.
req, resp := client.GetResourcesRequest(params)

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

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetResources

func (*ResourceGroupsTaggingAPI) GetResourcesWithContext

func (c *ResourceGroupsTaggingAPI) GetResourcesWithContext(ctx aws.Context, input *GetResourcesInput, opts ...request.Option) (*GetResourcesOutput, error)

GetResourcesWithContext is the same as GetResources with the addition of the ability to pass a context and additional request options.

See GetResources for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*ResourceGroupsTaggingAPI) GetTagKeys

GetTagKeys API operation for AWS Resource Groups Tagging API.

Returns all tag keys in the specified region for the AWS account.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Resource Groups Tagging API's API operation GetTagKeys for usage and error information.

Returned Error Codes:

  • ErrCodeInvalidParameterException "InvalidParameterException" A parameter is missing or a malformed string or invalid or out-of-range value was supplied for the request parameter.

  • ErrCodeThrottledException "ThrottledException" The request was denied to limit the frequency of submitted requests.

  • ErrCodeInternalServiceException "InternalServiceException" The request processing failed because of an unknown error, exception, or failure. You can retry the request.

  • ErrCodePaginationTokenExpiredException "PaginationTokenExpiredException" A PaginationToken is valid for a maximum of 15 minutes. Your request was denied because the specified PaginationToken has expired.

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagKeys

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi"
)

func main() {
	sess := session.Must(session.NewSession())

	svc := resourcegroupstaggingapi.New(sess)

	params := &resourcegroupstaggingapi.GetTagKeysInput{
		PaginationToken: aws.String("PaginationToken"),
	}
	resp, err := svc.GetTagKeys(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ResourceGroupsTaggingAPI) GetTagKeysPages

func (c *ResourceGroupsTaggingAPI) GetTagKeysPages(input *GetTagKeysInput, fn func(*GetTagKeysOutput, bool) bool) error

GetTagKeysPages iterates over the pages of a GetTagKeys operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See GetTagKeys method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a GetTagKeys operation.
pageNum := 0
err := client.GetTagKeysPages(params,
    func(page *GetTagKeysOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*ResourceGroupsTaggingAPI) GetTagKeysPagesWithContext

func (c *ResourceGroupsTaggingAPI) GetTagKeysPagesWithContext(ctx aws.Context, input *GetTagKeysInput, fn func(*GetTagKeysOutput, bool) bool, opts ...request.Option) error

GetTagKeysPagesWithContext same as GetTagKeysPages except it takes a Context and allows setting request options on the pages.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*ResourceGroupsTaggingAPI) GetTagKeysRequest

func (c *ResourceGroupsTaggingAPI) GetTagKeysRequest(input *GetTagKeysInput) (req *request.Request, output *GetTagKeysOutput)

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

See GetTagKeys for usage and error information.

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 GetTagKeys 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 GetTagKeysRequest method.
req, resp := client.GetTagKeysRequest(params)

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

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagKeys

func (*ResourceGroupsTaggingAPI) GetTagKeysWithContext

func (c *ResourceGroupsTaggingAPI) GetTagKeysWithContext(ctx aws.Context, input *GetTagKeysInput, opts ...request.Option) (*GetTagKeysOutput, error)

GetTagKeysWithContext is the same as GetTagKeys with the addition of the ability to pass a context and additional request options.

See GetTagKeys for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*ResourceGroupsTaggingAPI) GetTagValues

GetTagValues API operation for AWS Resource Groups Tagging API.

Returns all tag values for the specified key in the specified region for the AWS account.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Resource Groups Tagging API's API operation GetTagValues for usage and error information.

Returned Error Codes:

  • ErrCodeInvalidParameterException "InvalidParameterException" A parameter is missing or a malformed string or invalid or out-of-range value was supplied for the request parameter.

  • ErrCodeThrottledException "ThrottledException" The request was denied to limit the frequency of submitted requests.

  • ErrCodeInternalServiceException "InternalServiceException" The request processing failed because of an unknown error, exception, or failure. You can retry the request.

  • ErrCodePaginationTokenExpiredException "PaginationTokenExpiredException" A PaginationToken is valid for a maximum of 15 minutes. Your request was denied because the specified PaginationToken has expired.

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagValues

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi"
)

func main() {
	sess := session.Must(session.NewSession())

	svc := resourcegroupstaggingapi.New(sess)

	params := &resourcegroupstaggingapi.GetTagValuesInput{
		Key:             aws.String("TagKey"), // Required
		PaginationToken: aws.String("PaginationToken"),
	}
	resp, err := svc.GetTagValues(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ResourceGroupsTaggingAPI) GetTagValuesPages

func (c *ResourceGroupsTaggingAPI) GetTagValuesPages(input *GetTagValuesInput, fn func(*GetTagValuesOutput, bool) bool) error

GetTagValuesPages iterates over the pages of a GetTagValues operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See GetTagValues method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a GetTagValues operation.
pageNum := 0
err := client.GetTagValuesPages(params,
    func(page *GetTagValuesOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*ResourceGroupsTaggingAPI) GetTagValuesPagesWithContext

func (c *ResourceGroupsTaggingAPI) GetTagValuesPagesWithContext(ctx aws.Context, input *GetTagValuesInput, fn func(*GetTagValuesOutput, bool) bool, opts ...request.Option) error

GetTagValuesPagesWithContext same as GetTagValuesPages except it takes a Context and allows setting request options on the pages.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*ResourceGroupsTaggingAPI) GetTagValuesRequest

func (c *ResourceGroupsTaggingAPI) GetTagValuesRequest(input *GetTagValuesInput) (req *request.Request, output *GetTagValuesOutput)

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

See GetTagValues for usage and error information.

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 GetTagValues 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 GetTagValuesRequest method.
req, resp := client.GetTagValuesRequest(params)

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

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagValues

func (*ResourceGroupsTaggingAPI) GetTagValuesWithContext

func (c *ResourceGroupsTaggingAPI) GetTagValuesWithContext(ctx aws.Context, input *GetTagValuesInput, opts ...request.Option) (*GetTagValuesOutput, error)

GetTagValuesWithContext is the same as GetTagValues with the addition of the ability to pass a context and additional request options.

See GetTagValues for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*ResourceGroupsTaggingAPI) TagResources

TagResources API operation for AWS Resource Groups Tagging API.

Applies one or more tags to the specified resources. Note the following:

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Resource Groups Tagging API's API operation TagResources for usage and error information.

Returned Error Codes:

  • ErrCodeInvalidParameterException "InvalidParameterException" A parameter is missing or a malformed string or invalid or out-of-range value was supplied for the request parameter.

  • ErrCodeThrottledException "ThrottledException" The request was denied to limit the frequency of submitted requests.

  • ErrCodeInternalServiceException "InternalServiceException" The request processing failed because of an unknown error, exception, or failure. You can retry the request.

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/TagResources

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi"
)

func main() {
	sess := session.Must(session.NewSession())

	svc := resourcegroupstaggingapi.New(sess)

	params := &resourcegroupstaggingapi.TagResourcesInput{
		ResourceARNList: []*string{ // Required
			aws.String("ResourceARN"), // Required
			// More values...
		},
		Tags: map[string]*string{ // Required
			"Key": aws.String("TagValue"), // Required
			// More values...
		},
	}
	resp, err := svc.TagResources(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ResourceGroupsTaggingAPI) TagResourcesRequest

func (c *ResourceGroupsTaggingAPI) TagResourcesRequest(input *TagResourcesInput) (req *request.Request, output *TagResourcesOutput)

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

See TagResources for usage and error information.

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 TagResources 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 TagResourcesRequest method.
req, resp := client.TagResourcesRequest(params)

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

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/TagResources

func (*ResourceGroupsTaggingAPI) TagResourcesWithContext

func (c *ResourceGroupsTaggingAPI) TagResourcesWithContext(ctx aws.Context, input *TagResourcesInput, opts ...request.Option) (*TagResourcesOutput, error)

TagResourcesWithContext is the same as TagResources with the addition of the ability to pass a context and additional request options.

See TagResources for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*ResourceGroupsTaggingAPI) UntagResources

UntagResources API operation for AWS Resource Groups Tagging API.

Removes the specified tags from the specified resources. When you specify a tag key, the action removes both that key and its associated value. The operation succeeds even if you attempt to remove tags from a resource that were already removed. Note the following:

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Resource Groups Tagging API's API operation UntagResources for usage and error information.

Returned Error Codes:

  • ErrCodeInvalidParameterException "InvalidParameterException" A parameter is missing or a malformed string or invalid or out-of-range value was supplied for the request parameter.

  • ErrCodeThrottledException "ThrottledException" The request was denied to limit the frequency of submitted requests.

  • ErrCodeInternalServiceException "InternalServiceException" The request processing failed because of an unknown error, exception, or failure. You can retry the request.

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/UntagResources

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi"
)

func main() {
	sess := session.Must(session.NewSession())

	svc := resourcegroupstaggingapi.New(sess)

	params := &resourcegroupstaggingapi.UntagResourcesInput{
		ResourceARNList: []*string{ // Required
			aws.String("ResourceARN"), // Required
			// More values...
		},
		TagKeys: []*string{ // Required
			aws.String("TagKey"), // Required
			// More values...
		},
	}
	resp, err := svc.UntagResources(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ResourceGroupsTaggingAPI) UntagResourcesRequest

func (c *ResourceGroupsTaggingAPI) UntagResourcesRequest(input *UntagResourcesInput) (req *request.Request, output *UntagResourcesOutput)

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

See UntagResources for usage and error information.

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 UntagResources 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 UntagResourcesRequest method.
req, resp := client.UntagResourcesRequest(params)

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

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/UntagResources

func (*ResourceGroupsTaggingAPI) UntagResourcesWithContext

func (c *ResourceGroupsTaggingAPI) UntagResourcesWithContext(ctx aws.Context, input *UntagResourcesInput, opts ...request.Option) (*UntagResourcesOutput, error)

UntagResourcesWithContext is the same as UntagResources with the addition of the ability to pass a context and additional request options.

See UntagResources for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

type ResourceTagMapping

type ResourceTagMapping struct {

	// An array of resource ARN(s).
	ResourceARN *string `min:"1" type:"string"`

	// The tags that have been applied to one or more AWS resources.
	Tags []*Tag `type:"list"`
	// contains filtered or unexported fields
}

A list of resource ARNs and the tags (keys and values) that are associated with each. Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/ResourceTagMapping

func (ResourceTagMapping) GoString

func (s ResourceTagMapping) GoString() string

GoString returns the string representation

func (*ResourceTagMapping) SetResourceARN

func (s *ResourceTagMapping) SetResourceARN(v string) *ResourceTagMapping

SetResourceARN sets the ResourceARN field's value.

func (*ResourceTagMapping) SetTags

func (s *ResourceTagMapping) SetTags(v []*Tag) *ResourceTagMapping

SetTags sets the Tags field's value.

func (ResourceTagMapping) String

func (s ResourceTagMapping) String() string

String returns the string representation

type Tag

type Tag struct {

	// One part of a key-value pair that make up a tag. A key is a general label
	// that acts like a category for more specific tag values.
	//
	// Key is a required field
	Key *string `min:"1" type:"string" required:"true"`

	// The optional part of a key-value pair that make up a tag. A value acts as
	// a descriptor within a tag category (key).
	//
	// Value is a required field
	Value *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

The metadata that you apply to AWS resources to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. For more information, see Tag Basics (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-basics) in the Amazon EC2 User Guide for Linux Instances. Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/Tag

func (Tag) GoString

func (s Tag) GoString() string

GoString returns the string representation

func (*Tag) SetKey

func (s *Tag) SetKey(v string) *Tag

SetKey sets the Key field's value.

func (*Tag) SetValue

func (s *Tag) SetValue(v string) *Tag

SetValue sets the Value field's value.

func (Tag) String

func (s Tag) String() string

String returns the string representation

type TagFilter

type TagFilter struct {

	// One part of a key-value pair that make up a tag. A key is a general label
	// that acts like a category for more specific tag values.
	Key *string `min:"1" type:"string"`

	// The optional part of a key-value pair that make up a tag. A value acts as
	// a descriptor within a tag category (key).
	Values []*string `type:"list"`
	// contains filtered or unexported fields
}

A list of tags (keys and values) that are used to specify the associated resources. Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/TagFilter

func (TagFilter) GoString

func (s TagFilter) GoString() string

GoString returns the string representation

func (*TagFilter) SetKey

func (s *TagFilter) SetKey(v string) *TagFilter

SetKey sets the Key field's value.

func (*TagFilter) SetValues

func (s *TagFilter) SetValues(v []*string) *TagFilter

SetValues sets the Values field's value.

func (TagFilter) String

func (s TagFilter) String() string

String returns the string representation

func (*TagFilter) Validate

func (s *TagFilter) Validate() error

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

type TagResourcesInput

type TagResourcesInput struct {

	// A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a resource.
	// You can specify a minimum of 1 and a maximum of 20 ARNs (resources) to tag.
	// An ARN can be set to a maximum of 1600 characters. For more information,
	// see Amazon Resource Names (ARNs) and AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
	// in the AWS General Reference.
	//
	// ResourceARNList is a required field
	ResourceARNList []*string `min:"1" type:"list" required:"true"`

	// The tags that you want to add to the specified resources. A tag consists
	// of a key and a value that you define.
	//
	// Tags is a required field
	Tags map[string]*string `min:"1" type:"map" required:"true"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/TagResourcesInput

func (TagResourcesInput) GoString

func (s TagResourcesInput) GoString() string

GoString returns the string representation

func (*TagResourcesInput) SetResourceARNList

func (s *TagResourcesInput) SetResourceARNList(v []*string) *TagResourcesInput

SetResourceARNList sets the ResourceARNList field's value.

func (*TagResourcesInput) SetTags

func (s *TagResourcesInput) SetTags(v map[string]*string) *TagResourcesInput

SetTags sets the Tags field's value.

func (TagResourcesInput) String

func (s TagResourcesInput) String() string

String returns the string representation

func (*TagResourcesInput) Validate

func (s *TagResourcesInput) Validate() error

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

type TagResourcesOutput

type TagResourcesOutput struct {

	// Details of resources that could not be tagged. An error code, status code,
	// and error message are returned for each failed item.
	FailedResourcesMap map[string]*FailureInfo `type:"map"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/TagResourcesOutput

func (TagResourcesOutput) GoString

func (s TagResourcesOutput) GoString() string

GoString returns the string representation

func (*TagResourcesOutput) SetFailedResourcesMap

func (s *TagResourcesOutput) SetFailedResourcesMap(v map[string]*FailureInfo) *TagResourcesOutput

SetFailedResourcesMap sets the FailedResourcesMap field's value.

func (TagResourcesOutput) String

func (s TagResourcesOutput) String() string

String returns the string representation

type UntagResourcesInput

type UntagResourcesInput struct {

	// A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a resource.
	// You can specify a minimum of 1 and a maximum of 20 ARNs (resources) to untag.
	// An ARN can be set to a maximum of 1600 characters. For more information,
	// see Amazon Resource Names (ARNs) and AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
	// in the AWS General Reference.
	//
	// ResourceARNList is a required field
	ResourceARNList []*string `min:"1" type:"list" required:"true"`

	// A list of the tag keys that you want to remove from the specified resources.
	//
	// TagKeys is a required field
	TagKeys []*string `min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/UntagResourcesInput

func (UntagResourcesInput) GoString

func (s UntagResourcesInput) GoString() string

GoString returns the string representation

func (*UntagResourcesInput) SetResourceARNList

func (s *UntagResourcesInput) SetResourceARNList(v []*string) *UntagResourcesInput

SetResourceARNList sets the ResourceARNList field's value.

func (*UntagResourcesInput) SetTagKeys

func (s *UntagResourcesInput) SetTagKeys(v []*string) *UntagResourcesInput

SetTagKeys sets the TagKeys field's value.

func (UntagResourcesInput) String

func (s UntagResourcesInput) String() string

String returns the string representation

func (*UntagResourcesInput) Validate

func (s *UntagResourcesInput) Validate() error

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

type UntagResourcesOutput

type UntagResourcesOutput struct {

	// Details of resources that could not be untagged. An error code, status code,
	// and error message are returned for each failed item.
	FailedResourcesMap map[string]*FailureInfo `type:"map"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/UntagResourcesOutput

func (UntagResourcesOutput) GoString

func (s UntagResourcesOutput) GoString() string

GoString returns the string representation

func (*UntagResourcesOutput) SetFailedResourcesMap

func (s *UntagResourcesOutput) SetFailedResourcesMap(v map[string]*FailureInfo) *UntagResourcesOutput

SetFailedResourcesMap sets the FailedResourcesMap field's value.

func (UntagResourcesOutput) String

func (s UntagResourcesOutput) String() string

String returns the string representation

Directories

Path Synopsis
Package resourcegroupstaggingapiiface provides an interface to enable mocking the AWS Resource Groups Tagging API service client for testing your code.
Package resourcegroupstaggingapiiface provides an interface to enable mocking the AWS Resource Groups Tagging API service client for testing your code.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL