// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. package resourcegroupstaggingapi import ( "fmt" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/private/protocol" "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) const opDescribeReportCreation = "DescribeReportCreation" // DescribeReportCreationRequest generates a "aws/request.Request" representing the // client's request for the DescribeReportCreation operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See DescribeReportCreation for more information on using the DescribeReportCreation // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the DescribeReportCreationRequest method. // req, resp := client.DescribeReportCreationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/DescribeReportCreation func (c *ResourceGroupsTaggingAPI) DescribeReportCreationRequest(input *DescribeReportCreationInput) (req *request.Request, output *DescribeReportCreationOutput) { op := &request.Operation{ Name: opDescribeReportCreation, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DescribeReportCreationInput{} } output = &DescribeReportCreationOutput{} req = c.newRequest(op, input, output) return } // DescribeReportCreation API operation for AWS Resource Groups Tagging API. // // Describes the status of the StartReportCreation operation. // // You can call this operation only from the organization's management account // and from the us-east-1 Region. // // 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 DescribeReportCreation for usage and error information. // // Returned Error Types: // * ConstraintViolationException // The request was denied because performing this operation violates a constraint. // // Some of the reasons in the following list might not apply to this specific // operation. // // * You must meet the prerequisites for using tag policies. For information, // see Prerequisites and Permissions for Using Tag Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html) // in the Organizations User Guide. // // * You must enable the tag policies service principal (tagpolicies.tag.amazonaws.com) // to integrate with Organizations For information, see EnableAWSServiceAccess // (https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html). // // * You must have a tag policy attached to the organization root, an OU, // or an account. // // * InternalServiceException // The request processing failed because of an unknown error, exception, or // failure. You can retry the request. // // * InvalidParameterException // This error indicates one of the following: // // * A parameter is missing. // // * A malformed string was supplied for the request parameter. // // * An out-of-range value was supplied for the request parameter. // // * The target ID is invalid, unsupported, or doesn't exist. // // * You can't access the Amazon S3 bucket for report storage. For more information, // see Additional Requirements for Organization-wide Tag Compliance Reports // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) // in the Organizations User Guide. // // * ThrottledException // The request was denied to limit the frequency of submitted requests. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/DescribeReportCreation func (c *ResourceGroupsTaggingAPI) DescribeReportCreation(input *DescribeReportCreationInput) (*DescribeReportCreationOutput, error) { req, out := c.DescribeReportCreationRequest(input) return out, req.Send() } // DescribeReportCreationWithContext is the same as DescribeReportCreation with the addition of // the ability to pass a context and additional request options. // // See DescribeReportCreation 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 (c *ResourceGroupsTaggingAPI) DescribeReportCreationWithContext(ctx aws.Context, input *DescribeReportCreationInput, opts ...request.Option) (*DescribeReportCreationOutput, error) { req, out := c.DescribeReportCreationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetComplianceSummary = "GetComplianceSummary" // GetComplianceSummaryRequest generates a "aws/request.Request" representing the // client's request for the GetComplianceSummary operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetComplianceSummary for more information on using the GetComplianceSummary // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the GetComplianceSummaryRequest method. // req, resp := client.GetComplianceSummaryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetComplianceSummary func (c *ResourceGroupsTaggingAPI) GetComplianceSummaryRequest(input *GetComplianceSummaryInput) (req *request.Request, output *GetComplianceSummaryOutput) { op := &request.Operation{ Name: opGetComplianceSummary, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"PaginationToken"}, OutputTokens: []string{"PaginationToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &GetComplianceSummaryInput{} } output = &GetComplianceSummaryOutput{} req = c.newRequest(op, input, output) return } // GetComplianceSummary API operation for AWS Resource Groups Tagging API. // // Returns a table that shows counts of resources that are noncompliant with // their tag policies. // // For more information on tag policies, see Tag Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) // in the Organizations User Guide. // // You can call this operation only from the organization's management account // and from the us-east-1 Region. // // This operation supports pagination, where the response can be sent in multiple // pages. You should check the PaginationToken response parameter to determine // if there are additional results available to return. Repeat the query, passing // the PaginationToken response parameter value as an input to the next request // until you recieve a null value. A null value for PaginationToken indicates // that there are no more results waiting to be returned. // // 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 GetComplianceSummary for usage and error information. // // Returned Error Types: // * ConstraintViolationException // The request was denied because performing this operation violates a constraint. // // Some of the reasons in the following list might not apply to this specific // operation. // // * You must meet the prerequisites for using tag policies. For information, // see Prerequisites and Permissions for Using Tag Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html) // in the Organizations User Guide. // // * You must enable the tag policies service principal (tagpolicies.tag.amazonaws.com) // to integrate with Organizations For information, see EnableAWSServiceAccess // (https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html). // // * You must have a tag policy attached to the organization root, an OU, // or an account. // // * InternalServiceException // The request processing failed because of an unknown error, exception, or // failure. You can retry the request. // // * InvalidParameterException // This error indicates one of the following: // // * A parameter is missing. // // * A malformed string was supplied for the request parameter. // // * An out-of-range value was supplied for the request parameter. // // * The target ID is invalid, unsupported, or doesn't exist. // // * You can't access the Amazon S3 bucket for report storage. For more information, // see Additional Requirements for Organization-wide Tag Compliance Reports // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) // in the Organizations User Guide. // // * ThrottledException // The request was denied to limit the frequency of submitted requests. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetComplianceSummary func (c *ResourceGroupsTaggingAPI) GetComplianceSummary(input *GetComplianceSummaryInput) (*GetComplianceSummaryOutput, error) { req, out := c.GetComplianceSummaryRequest(input) return out, req.Send() } // GetComplianceSummaryWithContext is the same as GetComplianceSummary with the addition of // the ability to pass a context and additional request options. // // See GetComplianceSummary 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 (c *ResourceGroupsTaggingAPI) GetComplianceSummaryWithContext(ctx aws.Context, input *GetComplianceSummaryInput, opts ...request.Option) (*GetComplianceSummaryOutput, error) { req, out := c.GetComplianceSummaryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // GetComplianceSummaryPages iterates over the pages of a GetComplianceSummary operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See GetComplianceSummary 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 GetComplianceSummary operation. // pageNum := 0 // err := client.GetComplianceSummaryPages(params, // func(page *resourcegroupstaggingapi.GetComplianceSummaryOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *ResourceGroupsTaggingAPI) GetComplianceSummaryPages(input *GetComplianceSummaryInput, fn func(*GetComplianceSummaryOutput, bool) bool) error { return c.GetComplianceSummaryPagesWithContext(aws.BackgroundContext(), input, fn) } // GetComplianceSummaryPagesWithContext same as GetComplianceSummaryPages 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 (c *ResourceGroupsTaggingAPI) GetComplianceSummaryPagesWithContext(ctx aws.Context, input *GetComplianceSummaryInput, fn func(*GetComplianceSummaryOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *GetComplianceSummaryInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.GetComplianceSummaryRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*GetComplianceSummaryOutput), !p.HasNextPage()) { break } } return p.Err() } const opGetResources = "GetResources" // GetResourcesRequest generates a "aws/request.Request" representing the // client's request for the GetResources operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetResources for more information on using the GetResources // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // 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) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetResources func (c *ResourceGroupsTaggingAPI) GetResourcesRequest(input *GetResourcesInput) (req *request.Request, output *GetResourcesOutput) { op := &request.Operation{ Name: opGetResources, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"PaginationToken"}, OutputTokens: []string{"PaginationToken"}, LimitToken: "ResourcesPerPage", TruncationToken: "", }, } if input == nil { input = &GetResourcesInput{} } output = &GetResourcesOutput{} req = c.newRequest(op, input, output) return } // GetResources API operation for AWS Resource Groups Tagging API. // // Returns all the tagged or previously tagged resources that are located in // the specified Amazon Web Services Region for the account. // // Depending on what information you want returned, you can also specify the // following: // // * Filters that specify what tags and resource types you want returned. // The response includes all tags that are associated with the requested // resources. // // * Information about compliance with the account's effective tag policy. // For more information on tag policies, see Tag Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) // in the Organizations User Guide. // // This operation supports pagination, where the response can be sent in multiple // pages. You should check the PaginationToken response parameter to determine // if there are additional results available to return. Repeat the query, passing // the PaginationToken response parameter value as an input to the next request // until you recieve a null value. A null value for PaginationToken indicates // that there are no more results waiting to be returned. // // 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 Types: // * InvalidParameterException // This error indicates one of the following: // // * A parameter is missing. // // * A malformed string was supplied for the request parameter. // // * An out-of-range value was supplied for the request parameter. // // * The target ID is invalid, unsupported, or doesn't exist. // // * You can't access the Amazon S3 bucket for report storage. For more information, // see Additional Requirements for Organization-wide Tag Compliance Reports // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) // in the Organizations User Guide. // // * ThrottledException // The request was denied to limit the frequency of submitted requests. // // * InternalServiceException // The request processing failed because of an unknown error, exception, or // failure. You can retry the request. // // * PaginationTokenExpiredException // A PaginationToken is valid for a maximum of 15 minutes. Your request was // denied because the specified PaginationToken has expired. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetResources func (c *ResourceGroupsTaggingAPI) GetResources(input *GetResourcesInput) (*GetResourcesOutput, error) { req, out := c.GetResourcesRequest(input) return out, req.Send() } // 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 (c *ResourceGroupsTaggingAPI) GetResourcesWithContext(ctx aws.Context, input *GetResourcesInput, opts ...request.Option) (*GetResourcesOutput, error) { req, out := c.GetResourcesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // 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 *resourcegroupstaggingapi.GetResourcesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *ResourceGroupsTaggingAPI) GetResourcesPages(input *GetResourcesInput, fn func(*GetResourcesOutput, bool) bool) error { return c.GetResourcesPagesWithContext(aws.BackgroundContext(), input, fn) } // 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 (c *ResourceGroupsTaggingAPI) GetResourcesPagesWithContext(ctx aws.Context, input *GetResourcesInput, fn func(*GetResourcesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *GetResourcesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.GetResourcesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*GetResourcesOutput), !p.HasNextPage()) { break } } return p.Err() } const opGetTagKeys = "GetTagKeys" // GetTagKeysRequest generates a "aws/request.Request" representing the // client's request for the GetTagKeys operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetTagKeys for more information on using the GetTagKeys // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // 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) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagKeys func (c *ResourceGroupsTaggingAPI) GetTagKeysRequest(input *GetTagKeysInput) (req *request.Request, output *GetTagKeysOutput) { op := &request.Operation{ Name: opGetTagKeys, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"PaginationToken"}, OutputTokens: []string{"PaginationToken"}, LimitToken: "", TruncationToken: "", }, } if input == nil { input = &GetTagKeysInput{} } output = &GetTagKeysOutput{} req = c.newRequest(op, input, output) return } // GetTagKeys API operation for AWS Resource Groups Tagging API. // // Returns all tag keys currently in use in the specified Amazon Web Services // Region for the calling account. // // This operation supports pagination, where the response can be sent in multiple // pages. You should check the PaginationToken response parameter to determine // if there are additional results available to return. Repeat the query, passing // the PaginationToken response parameter value as an input to the next request // until you recieve a null value. A null value for PaginationToken indicates // that there are no more results waiting to be returned. // // 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 Types: // * InvalidParameterException // This error indicates one of the following: // // * A parameter is missing. // // * A malformed string was supplied for the request parameter. // // * An out-of-range value was supplied for the request parameter. // // * The target ID is invalid, unsupported, or doesn't exist. // // * You can't access the Amazon S3 bucket for report storage. For more information, // see Additional Requirements for Organization-wide Tag Compliance Reports // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) // in the Organizations User Guide. // // * ThrottledException // The request was denied to limit the frequency of submitted requests. // // * InternalServiceException // The request processing failed because of an unknown error, exception, or // failure. You can retry the request. // // * PaginationTokenExpiredException // A PaginationToken is valid for a maximum of 15 minutes. Your request was // denied because the specified PaginationToken has expired. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagKeys func (c *ResourceGroupsTaggingAPI) GetTagKeys(input *GetTagKeysInput) (*GetTagKeysOutput, error) { req, out := c.GetTagKeysRequest(input) return out, req.Send() } // 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 (c *ResourceGroupsTaggingAPI) GetTagKeysWithContext(ctx aws.Context, input *GetTagKeysInput, opts ...request.Option) (*GetTagKeysOutput, error) { req, out := c.GetTagKeysRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // 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 *resourcegroupstaggingapi.GetTagKeysOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *ResourceGroupsTaggingAPI) GetTagKeysPages(input *GetTagKeysInput, fn func(*GetTagKeysOutput, bool) bool) error { return c.GetTagKeysPagesWithContext(aws.BackgroundContext(), input, fn) } // 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 (c *ResourceGroupsTaggingAPI) GetTagKeysPagesWithContext(ctx aws.Context, input *GetTagKeysInput, fn func(*GetTagKeysOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *GetTagKeysInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.GetTagKeysRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*GetTagKeysOutput), !p.HasNextPage()) { break } } return p.Err() } const opGetTagValues = "GetTagValues" // GetTagValuesRequest generates a "aws/request.Request" representing the // client's request for the GetTagValues operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetTagValues for more information on using the GetTagValues // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // 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) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagValues func (c *ResourceGroupsTaggingAPI) GetTagValuesRequest(input *GetTagValuesInput) (req *request.Request, output *GetTagValuesOutput) { op := &request.Operation{ Name: opGetTagValues, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"PaginationToken"}, OutputTokens: []string{"PaginationToken"}, LimitToken: "", TruncationToken: "", }, } if input == nil { input = &GetTagValuesInput{} } output = &GetTagValuesOutput{} req = c.newRequest(op, input, output) return } // GetTagValues API operation for AWS Resource Groups Tagging API. // // Returns all tag values for the specified key that are used in the specified // Amazon Web Services Region for the calling account. // // This operation supports pagination, where the response can be sent in multiple // pages. You should check the PaginationToken response parameter to determine // if there are additional results available to return. Repeat the query, passing // the PaginationToken response parameter value as an input to the next request // until you recieve a null value. A null value for PaginationToken indicates // that there are no more results waiting to be returned. // // 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 Types: // * InvalidParameterException // This error indicates one of the following: // // * A parameter is missing. // // * A malformed string was supplied for the request parameter. // // * An out-of-range value was supplied for the request parameter. // // * The target ID is invalid, unsupported, or doesn't exist. // // * You can't access the Amazon S3 bucket for report storage. For more information, // see Additional Requirements for Organization-wide Tag Compliance Reports // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) // in the Organizations User Guide. // // * ThrottledException // The request was denied to limit the frequency of submitted requests. // // * InternalServiceException // The request processing failed because of an unknown error, exception, or // failure. You can retry the request. // // * PaginationTokenExpiredException // A PaginationToken is valid for a maximum of 15 minutes. Your request was // denied because the specified PaginationToken has expired. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/GetTagValues func (c *ResourceGroupsTaggingAPI) GetTagValues(input *GetTagValuesInput) (*GetTagValuesOutput, error) { req, out := c.GetTagValuesRequest(input) return out, req.Send() } // 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 (c *ResourceGroupsTaggingAPI) GetTagValuesWithContext(ctx aws.Context, input *GetTagValuesInput, opts ...request.Option) (*GetTagValuesOutput, error) { req, out := c.GetTagValuesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // 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 *resourcegroupstaggingapi.GetTagValuesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *ResourceGroupsTaggingAPI) GetTagValuesPages(input *GetTagValuesInput, fn func(*GetTagValuesOutput, bool) bool) error { return c.GetTagValuesPagesWithContext(aws.BackgroundContext(), input, fn) } // 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 (c *ResourceGroupsTaggingAPI) GetTagValuesPagesWithContext(ctx aws.Context, input *GetTagValuesInput, fn func(*GetTagValuesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *GetTagValuesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.GetTagValuesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*GetTagValuesOutput), !p.HasNextPage()) { break } } return p.Err() } const opStartReportCreation = "StartReportCreation" // StartReportCreationRequest generates a "aws/request.Request" representing the // client's request for the StartReportCreation operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See StartReportCreation for more information on using the StartReportCreation // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the StartReportCreationRequest method. // req, resp := client.StartReportCreationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/StartReportCreation func (c *ResourceGroupsTaggingAPI) StartReportCreationRequest(input *StartReportCreationInput) (req *request.Request, output *StartReportCreationOutput) { op := &request.Operation{ Name: opStartReportCreation, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &StartReportCreationInput{} } output = &StartReportCreationOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // StartReportCreation API operation for AWS Resource Groups Tagging API. // // Generates a report that lists all tagged resources in the accounts across // your organization and tells whether each resource is compliant with the effective // tag policy. Compliance data is refreshed daily. The report is generated asynchronously. // // The generated report is saved to the following location: // // s3://example-bucket/AwsTagPolicies/o-exampleorgid/YYYY-MM-ddTHH:mm:ssZ/report.csv // // You can call this operation only from the organization's management account // and from the us-east-1 Region. // // 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 StartReportCreation for usage and error information. // // Returned Error Types: // * ConcurrentModificationException // The target of the operation is currently being modified by a different request. // Try again later. // // * ConstraintViolationException // The request was denied because performing this operation violates a constraint. // // Some of the reasons in the following list might not apply to this specific // operation. // // * You must meet the prerequisites for using tag policies. For information, // see Prerequisites and Permissions for Using Tag Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html) // in the Organizations User Guide. // // * You must enable the tag policies service principal (tagpolicies.tag.amazonaws.com) // to integrate with Organizations For information, see EnableAWSServiceAccess // (https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html). // // * You must have a tag policy attached to the organization root, an OU, // or an account. // // * InternalServiceException // The request processing failed because of an unknown error, exception, or // failure. You can retry the request. // // * InvalidParameterException // This error indicates one of the following: // // * A parameter is missing. // // * A malformed string was supplied for the request parameter. // // * An out-of-range value was supplied for the request parameter. // // * The target ID is invalid, unsupported, or doesn't exist. // // * You can't access the Amazon S3 bucket for report storage. For more information, // see Additional Requirements for Organization-wide Tag Compliance Reports // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) // in the Organizations User Guide. // // * ThrottledException // The request was denied to limit the frequency of submitted requests. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/StartReportCreation func (c *ResourceGroupsTaggingAPI) StartReportCreation(input *StartReportCreationInput) (*StartReportCreationOutput, error) { req, out := c.StartReportCreationRequest(input) return out, req.Send() } // StartReportCreationWithContext is the same as StartReportCreation with the addition of // the ability to pass a context and additional request options. // // See StartReportCreation 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 (c *ResourceGroupsTaggingAPI) StartReportCreationWithContext(ctx aws.Context, input *StartReportCreationInput, opts ...request.Option) (*StartReportCreationOutput, error) { req, out := c.StartReportCreationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opTagResources = "TagResources" // TagResourcesRequest generates a "aws/request.Request" representing the // client's request for the TagResources operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See TagResources for more information on using the TagResources // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // 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) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/TagResources func (c *ResourceGroupsTaggingAPI) TagResourcesRequest(input *TagResourcesInput) (req *request.Request, output *TagResourcesOutput) { op := &request.Operation{ Name: opTagResources, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &TagResourcesInput{} } output = &TagResourcesOutput{} req = c.newRequest(op, input, output) return } // TagResources API operation for AWS Resource Groups Tagging API. // // Applies one or more tags to the specified resources. Note the following: // // * Not all resources can have tags. For a list of services with resources // that support tagging using this operation, see Services that support the // Resource Groups Tagging API (https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/supported-services.html). // If the resource doesn't yet support this operation, the resource's service // might support tagging using its own API operations. For more information, // refer to the documentation for that service. // // * Each resource can have up to 50 tags. For other limits, see Tag Naming // and Usage Conventions (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions) // in the Amazon Web Services General Reference. // // * You can only tag resources that are located in the specified Amazon // Web Services Region for the Amazon Web Services account. // // * To add tags to a resource, you need the necessary permissions for the // service that the resource belongs to as well as permissions for adding // tags. For more information, see the documentation for each service. // // Do not store personally identifiable information (PII) or other confidential // or sensitive information in tags. We use tags to provide you with billing // and administration services. Tags are not intended to be used for private // or sensitive data. // // Minimum permissions // // In addition to the tag:TagResources permission required by this operation, // you must also have the tagging permission defined by the service that created // the resource. For example, to tag an Amazon EC2 instance using the TagResources // operation, you must have both of the following permissions: // // * tag:TagResource // // * ec2:CreateTags // // 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 Types: // * InvalidParameterException // This error indicates one of the following: // // * A parameter is missing. // // * A malformed string was supplied for the request parameter. // // * An out-of-range value was supplied for the request parameter. // // * The target ID is invalid, unsupported, or doesn't exist. // // * You can't access the Amazon S3 bucket for report storage. For more information, // see Additional Requirements for Organization-wide Tag Compliance Reports // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) // in the Organizations User Guide. // // * ThrottledException // The request was denied to limit the frequency of submitted requests. // // * InternalServiceException // The request processing failed because of an unknown error, exception, or // failure. You can retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/TagResources func (c *ResourceGroupsTaggingAPI) TagResources(input *TagResourcesInput) (*TagResourcesOutput, error) { req, out := c.TagResourcesRequest(input) return out, req.Send() } // 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 (c *ResourceGroupsTaggingAPI) TagResourcesWithContext(ctx aws.Context, input *TagResourcesInput, opts ...request.Option) (*TagResourcesOutput, error) { req, out := c.TagResourcesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opUntagResources = "UntagResources" // UntagResourcesRequest generates a "aws/request.Request" representing the // client's request for the UntagResources operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See UntagResources for more information on using the UntagResources // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // 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) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/UntagResources func (c *ResourceGroupsTaggingAPI) UntagResourcesRequest(input *UntagResourcesInput) (req *request.Request, output *UntagResourcesOutput) { op := &request.Operation{ Name: opUntagResources, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &UntagResourcesInput{} } output = &UntagResourcesOutput{} req = c.newRequest(op, input, output) return } // 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: // // * To remove tags from a resource, you need the necessary permissions for // the service that the resource belongs to as well as permissions for removing // tags. For more information, see the documentation for the service whose // resource you want to untag. // // * You can only tag resources that are located in the specified Amazon // Web Services Region for the calling Amazon Web Services account. // // Minimum permissions // // In addition to the tag:UntagResources permission required by this operation, // you must also have the remove tags permission defined by the service that // created the resource. For example, to remove the tags from an Amazon EC2 // instance using the UntagResources operation, you must have both of the following // permissions: // // * tag:UntagResource // // * ec2:DeleteTags // // 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 Types: // * InvalidParameterException // This error indicates one of the following: // // * A parameter is missing. // // * A malformed string was supplied for the request parameter. // // * An out-of-range value was supplied for the request parameter. // // * The target ID is invalid, unsupported, or doesn't exist. // // * You can't access the Amazon S3 bucket for report storage. For more information, // see Additional Requirements for Organization-wide Tag Compliance Reports // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) // in the Organizations User Guide. // // * ThrottledException // The request was denied to limit the frequency of submitted requests. // // * InternalServiceException // The request processing failed because of an unknown error, exception, or // failure. You can retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resourcegroupstaggingapi-2017-01-26/UntagResources func (c *ResourceGroupsTaggingAPI) UntagResources(input *UntagResourcesInput) (*UntagResourcesOutput, error) { req, out := c.UntagResourcesRequest(input) return out, req.Send() } // 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. func (c *ResourceGroupsTaggingAPI) UntagResourcesWithContext(ctx aws.Context, input *UntagResourcesInput, opts ...request.Option) (*UntagResourcesOutput, error) { req, out := c.UntagResourcesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // Information that shows whether a resource is compliant with the effective // tag policy, including details on any noncompliant tag keys. type ComplianceDetails struct { _ struct{} `type:"structure"` // Whether a resource is compliant with the effective tag policy. ComplianceStatus *bool `type:"boolean"` // These are keys defined in the effective policy that are on the resource with // either incorrect case treatment or noncompliant values. KeysWithNoncompliantValues []*string `type:"list"` // These tag keys on the resource are noncompliant with the effective tag policy. NoncompliantKeys []*string `type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComplianceDetails) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComplianceDetails) GoString() string { return s.String() } // SetComplianceStatus sets the ComplianceStatus field's value. func (s *ComplianceDetails) SetComplianceStatus(v bool) *ComplianceDetails { s.ComplianceStatus = &v return s } // SetKeysWithNoncompliantValues sets the KeysWithNoncompliantValues field's value. func (s *ComplianceDetails) SetKeysWithNoncompliantValues(v []*string) *ComplianceDetails { s.KeysWithNoncompliantValues = v return s } // SetNoncompliantKeys sets the NoncompliantKeys field's value. func (s *ComplianceDetails) SetNoncompliantKeys(v []*string) *ComplianceDetails { s.NoncompliantKeys = v return s } // The target of the operation is currently being modified by a different request. // Try again later. type ConcurrentModificationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ConcurrentModificationException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ConcurrentModificationException) GoString() string { return s.String() } func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error { return &ConcurrentModificationException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ConcurrentModificationException) Code() string { return "ConcurrentModificationException" } // Message returns the exception's message. func (s *ConcurrentModificationException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ConcurrentModificationException) OrigErr() error { return nil } func (s *ConcurrentModificationException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *ConcurrentModificationException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ConcurrentModificationException) RequestID() string { return s.RespMetadata.RequestID } // The request was denied because performing this operation violates a constraint. // // Some of the reasons in the following list might not apply to this specific // operation. // // * You must meet the prerequisites for using tag policies. For information, // see Prerequisites and Permissions for Using Tag Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html) // in the Organizations User Guide. // // * You must enable the tag policies service principal (tagpolicies.tag.amazonaws.com) // to integrate with Organizations For information, see EnableAWSServiceAccess // (https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html). // // * You must have a tag policy attached to the organization root, an OU, // or an account. type ConstraintViolationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ConstraintViolationException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ConstraintViolationException) GoString() string { return s.String() } func newErrorConstraintViolationException(v protocol.ResponseMetadata) error { return &ConstraintViolationException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ConstraintViolationException) Code() string { return "ConstraintViolationException" } // Message returns the exception's message. func (s *ConstraintViolationException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ConstraintViolationException) OrigErr() error { return nil } func (s *ConstraintViolationException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *ConstraintViolationException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ConstraintViolationException) RequestID() string { return s.RespMetadata.RequestID } type DescribeReportCreationInput struct { _ struct{} `type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DescribeReportCreationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DescribeReportCreationInput) GoString() string { return s.String() } type DescribeReportCreationOutput struct { _ struct{} `type:"structure"` // Details of the common errors that all operations return. ErrorMessage *string `type:"string"` // The path to the Amazon S3 bucket where the report was stored on creation. S3Location *string `type:"string"` // Reports the status of the operation. // // The operation status can be one of the following: // // * RUNNING - Report creation is in progress. // // * SUCCEEDED - Report creation is complete. You can open the report from // the Amazon S3 bucket that you specified when you ran StartReportCreation. // // * FAILED - Report creation timed out or the Amazon S3 bucket is not accessible. // // * NO REPORT - No report was generated in the last 90 days. Status *string `type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DescribeReportCreationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DescribeReportCreationOutput) GoString() string { return s.String() } // SetErrorMessage sets the ErrorMessage field's value. func (s *DescribeReportCreationOutput) SetErrorMessage(v string) *DescribeReportCreationOutput { s.ErrorMessage = &v return s } // SetS3Location sets the S3Location field's value. func (s *DescribeReportCreationOutput) SetS3Location(v string) *DescribeReportCreationOutput { s.S3Location = &v return s } // SetStatus sets the Status field's value. func (s *DescribeReportCreationOutput) SetStatus(v string) *DescribeReportCreationOutput { s.Status = &v return s } // Information about the errors that are returned for each failed resource. // This information can include InternalServiceException and InvalidParameterException // errors. It can also include any valid error code returned by the Amazon Web // Services service that hosts the resource that the ARN key represents. // // The following are common error codes that you might receive from other Amazon // Web Services services: // // * InternalServiceException – This can mean that the Resource Groups // Tagging API didn't receive a response from another Amazon Web Services // service. It can also mean that the resource type in the request is not // supported by the Resource Groups Tagging API. In these cases, it's safe // to retry the request and then call GetResources (https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html) // to verify the changes. // // * AccessDeniedException – This can mean that you need permission to // call the tagging operations in the Amazon Web Services service that contains // the resource. For example, to use the Resource Groups Tagging API to tag // a Amazon CloudWatch alarm resource, you need permission to call both TagResources // (https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_TagResources.html) // and TagResource (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html) // in the CloudWatch API. // // For more information on errors that are generated from other Amazon Web Services // services, see the documentation for that service. type FailureInfo struct { _ struct{} `type:"structure"` // The code of the common error. Valid values include InternalServiceException, // InvalidParameterException, and any valid error code returned by the Amazon // Web Services 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"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s FailureInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s FailureInfo) GoString() string { return s.String() } // SetErrorCode sets the ErrorCode field's value. func (s *FailureInfo) SetErrorCode(v string) *FailureInfo { s.ErrorCode = &v return s } // SetErrorMessage sets the ErrorMessage field's value. func (s *FailureInfo) SetErrorMessage(v string) *FailureInfo { s.ErrorMessage = &v return s } // SetStatusCode sets the StatusCode field's value. func (s *FailureInfo) SetStatusCode(v int64) *FailureInfo { s.StatusCode = &v return s } type GetComplianceSummaryInput struct { _ struct{} `type:"structure"` // Specifies a list of attributes to group the counts of noncompliant resources // by. If supplied, the counts are sorted by those attributes. GroupBy []*string `type:"list" enum:"GroupByAttribute"` // Specifies the maximum number of results to be returned in each page. A query // can return fewer than this maximum, even if there are more results still // to return. You should always check the PaginationToken response value to // see if there are more results. You can specify a minimum of 1 and a maximum // value of 100. MaxResults *int64 `min:"1" type:"integer"` // Specifies a PaginationToken response value from a previous request to indicate // that you want the next page of results. Leave this parameter empty in your // initial request. PaginationToken *string `type:"string"` // Specifies a list of Amazon Web Services Regions to limit the output to. If // you use this parameter, the count of returned noncompliant resources includes // only resources in the specified Regions. RegionFilters []*string `min:"1" type:"list"` // Specifies that you want the response to include information for only resources // of the specified types. The format of each resource type is service[:resourceType]. // For example, specifying a resource type of ec2 returns all Amazon EC2 resources // (which includes 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 Amazon Web Services // General Reference (https://docs.aws.amazon.com/general/latest/gr/) for the // following: // // * For a list of service name strings, see Amazon Web Services Service // Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces). // // * For resource type strings, see Example ARNs (https://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 // Amazon Web Services Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). // // You can specify multiple resource types by using a comma separated array. // The array can include up to 100 items. Note that the length constraint requirement // applies to each resource type filter. ResourceTypeFilters []*string `type:"list"` // Specifies that you want the response to include information for only resources // that have tags with the specified tag keys. If you use this parameter, the // count of returned noncompliant resources includes only resources that have // the specified tag keys. TagKeyFilters []*string `min:"1" type:"list"` // Specifies target identifiers (usually, specific account IDs) to limit the // output by. If you use this parameter, the count of returned noncompliant // resources includes only resources with the specified target IDs. TargetIdFilters []*string `min:"1" type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetComplianceSummaryInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetComplianceSummaryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetComplianceSummaryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetComplianceSummaryInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.RegionFilters != nil && len(s.RegionFilters) < 1 { invalidParams.Add(request.NewErrParamMinLen("RegionFilters", 1)) } if s.TagKeyFilters != nil && len(s.TagKeyFilters) < 1 { invalidParams.Add(request.NewErrParamMinLen("TagKeyFilters", 1)) } if s.TargetIdFilters != nil && len(s.TargetIdFilters) < 1 { invalidParams.Add(request.NewErrParamMinLen("TargetIdFilters", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetGroupBy sets the GroupBy field's value. func (s *GetComplianceSummaryInput) SetGroupBy(v []*string) *GetComplianceSummaryInput { s.GroupBy = v return s } // SetMaxResults sets the MaxResults field's value. func (s *GetComplianceSummaryInput) SetMaxResults(v int64) *GetComplianceSummaryInput { s.MaxResults = &v return s } // SetPaginationToken sets the PaginationToken field's value. func (s *GetComplianceSummaryInput) SetPaginationToken(v string) *GetComplianceSummaryInput { s.PaginationToken = &v return s } // SetRegionFilters sets the RegionFilters field's value. func (s *GetComplianceSummaryInput) SetRegionFilters(v []*string) *GetComplianceSummaryInput { s.RegionFilters = v return s } // SetResourceTypeFilters sets the ResourceTypeFilters field's value. func (s *GetComplianceSummaryInput) SetResourceTypeFilters(v []*string) *GetComplianceSummaryInput { s.ResourceTypeFilters = v return s } // SetTagKeyFilters sets the TagKeyFilters field's value. func (s *GetComplianceSummaryInput) SetTagKeyFilters(v []*string) *GetComplianceSummaryInput { s.TagKeyFilters = v return s } // SetTargetIdFilters sets the TargetIdFilters field's value. func (s *GetComplianceSummaryInput) SetTargetIdFilters(v []*string) *GetComplianceSummaryInput { s.TargetIdFilters = v return s } type GetComplianceSummaryOutput struct { _ struct{} `type:"structure"` // A string that indicates that there is more data available than this response // contains. To receive the next part of the response, specify this response // value as the PaginationToken value in the request for the next page. PaginationToken *string `type:"string"` // A table that shows counts of noncompliant resources. SummaryList []*Summary `type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetComplianceSummaryOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetComplianceSummaryOutput) GoString() string { return s.String() } // SetPaginationToken sets the PaginationToken field's value. func (s *GetComplianceSummaryOutput) SetPaginationToken(v string) *GetComplianceSummaryOutput { s.PaginationToken = &v return s } // SetSummaryList sets the SummaryList field's value. func (s *GetComplianceSummaryOutput) SetSummaryList(v []*Summary) *GetComplianceSummaryOutput { s.SummaryList = v return s } type GetResourcesInput struct { _ struct{} `type:"structure"` // Specifies whether to exclude resources that are compliant with the tag policy. // Set this to true if you are interested in retrieving information on noncompliant // resources only. // // You can use this parameter only if the IncludeComplianceDetails parameter // is also set to true. ExcludeCompliantResources *bool `type:"boolean"` // Specifies whether to include details regarding the compliance with the effective // tag policy. Set this to true to determine whether resources are compliant // with the tag policy and to get details. IncludeComplianceDetails *bool `type:"boolean"` // Specifies a PaginationToken response value from a previous request to indicate // that you want the next page of results. Leave this parameter empty in your // initial request. PaginationToken *string `type:"string"` // Specifies a list of ARNs of resources for which you want to retrieve tag // data. You can't specify both this parameter and any of the pagination parameters // (ResourcesPerPage, TagsPerPage, PaginationToken) in the same request. If // you specify both, you get an Invalid Parameter exception. // // If a resource specified by this parameter doesn't exist, it doesn't generate // an error; it simply isn't included in the response. // // An ARN (Amazon Resource Name) uniquely identifies a resource. For more information, // see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces // (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the Amazon Web Services General Reference. ResourceARNList []*string `min:"1" type:"list"` // Specifies the resource types that you want included in the response. The // format of each resource type is service[:resourceType]. For example, specifying // a resource type of ec2 returns all Amazon EC2 resources (which includes 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). For the list of services whose // resources you can use in this parameter, see Services that support the Resource // Groups Tagging API (https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/supported-services.html). // // You can specify multiple resource types by using an array. The array can // include up to 100 items. Note that the length constraint requirement applies // to each resource type filter. For example, the following string would limit // the response to only Amazon EC2 instances, Amazon S3 buckets, or any Audit // Manager resource: // // ec2:instance,s3:bucket,auditmanager ResourceTypeFilters []*string `type:"list"` // Specifies the maximum number of results to be returned in each page. A query // can return fewer than this maximum, even if there are more results still // to return. You should always check the PaginationToken response value to // see if there are more results. You can specify a minimum of 1 and a maximum // value of 100. ResourcesPerPage *int64 `type:"integer"` // Specifies a list of TagFilters (keys and values) to restrict the output to // only those resources that have tags with the specified keys and, if included, // the specified values. Each TagFilter must contain a key with values optional. // A request can include up to 50 keys, and each key can include up to 20 values. // // Note the following when deciding how to use TagFilters: // // * If you don't specify a TagFilter, the response includes all resources // that are currently tagged or ever had a tag. Resources that currently // don't have tags are shown with an empty tag set, like this: "Tags": []. // // * If you specify more than one filter in a single request, the response // returns only those resources that satisfy all filters. // // * If you specify a filter that contains more than one value for a key, // the response returns resources that match any of the specified values // for that key. // // * If you don't specify a value for a key, the response returns all resources // that are tagged with that key, with any or no value. For example, for // the following filters: filter1= {keyA,{value1}}, filter2={keyB,{value2,value3,value4}}, // filter3= {keyC}: GetResources({filter1}) returns resources tagged with // key1=value1 GetResources({filter2}) returns resources tagged with key2=value2 // or key2=value3 or key2=value4 GetResources({filter3}) returns resources // tagged with any tag with the key key3, and with any or no value GetResources({filter1,filter2,filter3}) // returns resources tagged with (key1=value1) and (key2=value2 or key2=value3 // or key2=value4) and (key3, any or no value) TagFilters []*TagFilter `type:"list"` // Amazon Web Services recommends using ResourcesPerPage instead of this parameter. // // 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 // three pages. The first page displays the first 10 resources, each with its // 10 tags. The second page displays the next 10 resources, each with its 10 // tags. The third page displays the remaining 2 resources, each with its 10 // tags. // // You can set TagsPerPage to a minimum of 100 items up to a maximum of 500 // items. TagsPerPage *int64 `type:"integer"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetResourcesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetResourcesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetResourcesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetResourcesInput"} if s.ResourceARNList != nil && len(s.ResourceARNList) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceARNList", 1)) } if s.TagFilters != nil { for i, v := range s.TagFilters { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagFilters", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetExcludeCompliantResources sets the ExcludeCompliantResources field's value. func (s *GetResourcesInput) SetExcludeCompliantResources(v bool) *GetResourcesInput { s.ExcludeCompliantResources = &v return s } // SetIncludeComplianceDetails sets the IncludeComplianceDetails field's value. func (s *GetResourcesInput) SetIncludeComplianceDetails(v bool) *GetResourcesInput { s.IncludeComplianceDetails = &v return s } // SetPaginationToken sets the PaginationToken field's value. func (s *GetResourcesInput) SetPaginationToken(v string) *GetResourcesInput { s.PaginationToken = &v return s } // SetResourceARNList sets the ResourceARNList field's value. func (s *GetResourcesInput) SetResourceARNList(v []*string) *GetResourcesInput { s.ResourceARNList = v return s } // SetResourceTypeFilters sets the ResourceTypeFilters field's value. func (s *GetResourcesInput) SetResourceTypeFilters(v []*string) *GetResourcesInput { s.ResourceTypeFilters = v return s } // SetResourcesPerPage sets the ResourcesPerPage field's value. func (s *GetResourcesInput) SetResourcesPerPage(v int64) *GetResourcesInput { s.ResourcesPerPage = &v return s } // SetTagFilters sets the TagFilters field's value. func (s *GetResourcesInput) SetTagFilters(v []*TagFilter) *GetResourcesInput { s.TagFilters = v return s } // SetTagsPerPage sets the TagsPerPage field's value. func (s *GetResourcesInput) SetTagsPerPage(v int64) *GetResourcesInput { s.TagsPerPage = &v return s } type GetResourcesOutput struct { _ struct{} `type:"structure"` // A string that indicates that there is more data available than this response // contains. To receive the next part of the response, specify this response // value as the PaginationToken value in the request for the next page. PaginationToken *string `type:"string"` // A list of resource ARNs and the tags (keys and values) associated with each. ResourceTagMappingList []*ResourceTagMapping `type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetResourcesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetResourcesOutput) GoString() string { return s.String() } // SetPaginationToken sets the PaginationToken field's value. func (s *GetResourcesOutput) SetPaginationToken(v string) *GetResourcesOutput { s.PaginationToken = &v return s } // SetResourceTagMappingList sets the ResourceTagMappingList field's value. func (s *GetResourcesOutput) SetResourceTagMappingList(v []*ResourceTagMapping) *GetResourcesOutput { s.ResourceTagMappingList = v return s } type GetTagKeysInput struct { _ struct{} `type:"structure"` // Specifies a PaginationToken response value from a previous request to indicate // that you want the next page of results. Leave this parameter empty in your // initial request. PaginationToken *string `type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetTagKeysInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetTagKeysInput) GoString() string { return s.String() } // SetPaginationToken sets the PaginationToken field's value. func (s *GetTagKeysInput) SetPaginationToken(v string) *GetTagKeysInput { s.PaginationToken = &v return s } type GetTagKeysOutput struct { _ struct{} `type:"structure"` // A string that indicates that there is more data available than this response // contains. To receive the next part of the response, specify this response // value as the PaginationToken value in the request for the next page. PaginationToken *string `type:"string"` // A list of all tag keys in the Amazon Web Services account. TagKeys []*string `type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetTagKeysOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetTagKeysOutput) GoString() string { return s.String() } // SetPaginationToken sets the PaginationToken field's value. func (s *GetTagKeysOutput) SetPaginationToken(v string) *GetTagKeysOutput { s.PaginationToken = &v return s } // SetTagKeys sets the TagKeys field's value. func (s *GetTagKeysOutput) SetTagKeys(v []*string) *GetTagKeysOutput { s.TagKeys = v return s } type GetTagValuesInput struct { _ struct{} `type:"structure"` // Specifies the tag key for which you want to list all existing values that // are currently used in the specified Amazon Web Services Region for the calling // account. // // Key is a required field Key *string `min:"1" type:"string" required:"true"` // Specifies a PaginationToken response value from a previous request to indicate // that you want the next page of results. Leave this parameter empty in your // initial request. PaginationToken *string `type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetTagValuesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetTagValuesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetTagValuesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetTagValuesInput"} if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetKey sets the Key field's value. func (s *GetTagValuesInput) SetKey(v string) *GetTagValuesInput { s.Key = &v return s } // SetPaginationToken sets the PaginationToken field's value. func (s *GetTagValuesInput) SetPaginationToken(v string) *GetTagValuesInput { s.PaginationToken = &v return s } type GetTagValuesOutput struct { _ struct{} `type:"structure"` // A string that indicates that there is more data available than this response // contains. To receive the next part of the response, specify this response // value as the PaginationToken value in the request for the next page. PaginationToken *string `type:"string"` // A list of all tag values for the specified key currently used in the specified // Amazon Web Services Region for the calling account. TagValues []*string `type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetTagValuesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetTagValuesOutput) GoString() string { return s.String() } // SetPaginationToken sets the PaginationToken field's value. func (s *GetTagValuesOutput) SetPaginationToken(v string) *GetTagValuesOutput { s.PaginationToken = &v return s } // SetTagValues sets the TagValues field's value. func (s *GetTagValuesOutput) SetTagValues(v []*string) *GetTagValuesOutput { s.TagValues = v return s } // The request processing failed because of an unknown error, exception, or // failure. You can retry the request. type InternalServiceException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s InternalServiceException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s InternalServiceException) GoString() string { return s.String() } func newErrorInternalServiceException(v protocol.ResponseMetadata) error { return &InternalServiceException{ RespMetadata: v, } } // Code returns the exception type name. func (s *InternalServiceException) Code() string { return "InternalServiceException" } // Message returns the exception's message. func (s *InternalServiceException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *InternalServiceException) OrigErr() error { return nil } func (s *InternalServiceException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *InternalServiceException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *InternalServiceException) RequestID() string { return s.RespMetadata.RequestID } // This error indicates one of the following: // // * A parameter is missing. // // * A malformed string was supplied for the request parameter. // // * An out-of-range value was supplied for the request parameter. // // * The target ID is invalid, unsupported, or doesn't exist. // // * You can't access the Amazon S3 bucket for report storage. For more information, // see Additional Requirements for Organization-wide Tag Compliance Reports // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies-prereqs.html#bucket-policies-org-report) // in the Organizations User Guide. type InvalidParameterException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s InvalidParameterException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s InvalidParameterException) GoString() string { return s.String() } func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { return &InvalidParameterException{ RespMetadata: v, } } // Code returns the exception type name. func (s *InvalidParameterException) Code() string { return "InvalidParameterException" } // Message returns the exception's message. func (s *InvalidParameterException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *InvalidParameterException) OrigErr() error { return nil } func (s *InvalidParameterException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *InvalidParameterException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *InvalidParameterException) RequestID() string { return s.RespMetadata.RequestID } // A PaginationToken is valid for a maximum of 15 minutes. Your request was // denied because the specified PaginationToken has expired. type PaginationTokenExpiredException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s PaginationTokenExpiredException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s PaginationTokenExpiredException) GoString() string { return s.String() } func newErrorPaginationTokenExpiredException(v protocol.ResponseMetadata) error { return &PaginationTokenExpiredException{ RespMetadata: v, } } // Code returns the exception type name. func (s *PaginationTokenExpiredException) Code() string { return "PaginationTokenExpiredException" } // Message returns the exception's message. func (s *PaginationTokenExpiredException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *PaginationTokenExpiredException) OrigErr() error { return nil } func (s *PaginationTokenExpiredException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *PaginationTokenExpiredException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *PaginationTokenExpiredException) RequestID() string { return s.RespMetadata.RequestID } // A list of resource ARNs and the tags (keys and values) that are associated // with each. type ResourceTagMapping struct { _ struct{} `type:"structure"` // Information that shows whether a resource is compliant with the effective // tag policy, including details on any noncompliant tag keys. ComplianceDetails *ComplianceDetails `type:"structure"` // The ARN of the resource. ResourceARN *string `min:"1" type:"string"` // The tags that have been applied to one or more Amazon Web Services resources. Tags []*Tag `type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResourceTagMapping) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResourceTagMapping) GoString() string { return s.String() } // SetComplianceDetails sets the ComplianceDetails field's value. func (s *ResourceTagMapping) SetComplianceDetails(v *ComplianceDetails) *ResourceTagMapping { s.ComplianceDetails = v return s } // SetResourceARN sets the ResourceARN field's value. func (s *ResourceTagMapping) SetResourceARN(v string) *ResourceTagMapping { s.ResourceARN = &v return s } // SetTags sets the Tags field's value. func (s *ResourceTagMapping) SetTags(v []*Tag) *ResourceTagMapping { s.Tags = v return s } type StartReportCreationInput struct { _ struct{} `type:"structure"` // The name of the Amazon S3 bucket where the report will be stored; for example: // // awsexamplebucket // // For more information on S3 bucket requirements, including an example bucket // policy, see the example S3 bucket policy on this page. // // S3Bucket is a required field S3Bucket *string `min:"3" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s StartReportCreationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s StartReportCreationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *StartReportCreationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "StartReportCreationInput"} if s.S3Bucket == nil { invalidParams.Add(request.NewErrParamRequired("S3Bucket")) } if s.S3Bucket != nil && len(*s.S3Bucket) < 3 { invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetS3Bucket sets the S3Bucket field's value. func (s *StartReportCreationInput) SetS3Bucket(v string) *StartReportCreationInput { s.S3Bucket = &v return s } type StartReportCreationOutput struct { _ struct{} `type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s StartReportCreationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s StartReportCreationOutput) GoString() string { return s.String() } // A count of noncompliant resources. type Summary struct { _ struct{} `type:"structure"` // The timestamp that shows when this summary was generated in this Region. LastUpdated *string `type:"string"` // The count of noncompliant resources. NonCompliantResources *int64 `type:"long"` // The Amazon Web Services Region that the summary applies to. Region *string `min:"1" type:"string"` // The Amazon Web Services resource type. ResourceType *string `type:"string"` // The account identifier or the root identifier of the organization. If you // don't know the root ID, you can call the Organizations ListRoots (https://docs.aws.amazon.com/organizations/latest/APIReference/API_ListRoots.html) // API. TargetId *string `min:"6" type:"string"` // Whether the target is an account, an OU, or the organization root. TargetIdType *string `type:"string" enum:"TargetIdType"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Summary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Summary) GoString() string { return s.String() } // SetLastUpdated sets the LastUpdated field's value. func (s *Summary) SetLastUpdated(v string) *Summary { s.LastUpdated = &v return s } // SetNonCompliantResources sets the NonCompliantResources field's value. func (s *Summary) SetNonCompliantResources(v int64) *Summary { s.NonCompliantResources = &v return s } // SetRegion sets the Region field's value. func (s *Summary) SetRegion(v string) *Summary { s.Region = &v return s } // SetResourceType sets the ResourceType field's value. func (s *Summary) SetResourceType(v string) *Summary { s.ResourceType = &v return s } // SetTargetId sets the TargetId field's value. func (s *Summary) SetTargetId(v string) *Summary { s.TargetId = &v return s } // SetTargetIdType sets the TargetIdType field's value. func (s *Summary) SetTargetIdType(v string) *Summary { s.TargetIdType = &v return s } // The metadata that you apply to Amazon Web Services resources to help you // categorize and organize them. Each tag consists of a key and a value, both // of which you define. For more information, see Tagging Amazon Web Services // Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) // in the Amazon Web Services General Reference. type Tag struct { _ struct{} `type:"structure"` // One part of a key-value pair that makes 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"` // One part of a key-value pair that make up a tag. A value acts as a descriptor // within a tag category (key). The value can be empty or null. // // Value is a required field Value *string `type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Tag) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Tag) GoString() string { return s.String() } // SetKey sets the Key field's value. func (s *Tag) SetKey(v string) *Tag { s.Key = &v return s } // SetValue sets the Value field's value. func (s *Tag) SetValue(v string) *Tag { s.Value = &v return s } // A list of tags (keys and values) that are used to specify the associated // resources. type TagFilter struct { _ struct{} `type:"structure"` // One part of a key-value pair that makes 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"` // One part of a key-value pair that make up a tag. A value acts as a descriptor // within a tag category (key). The value can be empty or null. Values []*string `type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TagFilter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TagFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TagFilter) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TagFilter"} if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetKey sets the Key field's value. func (s *TagFilter) SetKey(v string) *TagFilter { s.Key = &v return s } // SetValues sets the Values field's value. func (s *TagFilter) SetValues(v []*string) *TagFilter { s.Values = v return s } type TagResourcesInput struct { _ struct{} `type:"structure"` // Specifies the list of ARNs of the resources that you want to apply tags to. // // An ARN (Amazon Resource Name) uniquely identifies a resource. For more information, // see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces // (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the Amazon Web Services General Reference. // // ResourceARNList is a required field ResourceARNList []*string `min:"1" type:"list" required:"true"` // Specifies a list of 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"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TagResourcesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TagResourcesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TagResourcesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TagResourcesInput"} if s.ResourceARNList == nil { invalidParams.Add(request.NewErrParamRequired("ResourceARNList")) } if s.ResourceARNList != nil && len(s.ResourceARNList) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceARNList", 1)) } if s.Tags == nil { invalidParams.Add(request.NewErrParamRequired("Tags")) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceARNList sets the ResourceARNList field's value. func (s *TagResourcesInput) SetResourceARNList(v []*string) *TagResourcesInput { s.ResourceARNList = v return s } // SetTags sets the Tags field's value. func (s *TagResourcesInput) SetTags(v map[string]*string) *TagResourcesInput { s.Tags = v return s } type TagResourcesOutput struct { _ struct{} `type:"structure"` // A map containing a key-value pair for each failed item that couldn't be tagged. // The key is the ARN of the failed resource. The value is a FailureInfo object // that contains an error code, a status code, and an error message. If there // are no errors, the FailedResourcesMap is empty. FailedResourcesMap map[string]*FailureInfo `type:"map"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TagResourcesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TagResourcesOutput) GoString() string { return s.String() } // SetFailedResourcesMap sets the FailedResourcesMap field's value. func (s *TagResourcesOutput) SetFailedResourcesMap(v map[string]*FailureInfo) *TagResourcesOutput { s.FailedResourcesMap = v return s } // The request was denied to limit the frequency of submitted requests. type ThrottledException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ThrottledException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ThrottledException) GoString() string { return s.String() } func newErrorThrottledException(v protocol.ResponseMetadata) error { return &ThrottledException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ThrottledException) Code() string { return "ThrottledException" } // Message returns the exception's message. func (s *ThrottledException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ThrottledException) OrigErr() error { return nil } func (s *ThrottledException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *ThrottledException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ThrottledException) RequestID() string { return s.RespMetadata.RequestID } type UntagResourcesInput struct { _ struct{} `type:"structure"` // Specifies a list of ARNs of the resources that you want to remove tags from. // // An ARN (Amazon Resource Name) uniquely identifies a resource. For more information, // see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces // (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // in the Amazon Web Services General Reference. // // ResourceARNList is a required field ResourceARNList []*string `min:"1" type:"list" required:"true"` // Specifies a list of tag keys that you want to remove from the specified resources. // // TagKeys is a required field TagKeys []*string `min:"1" type:"list" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UntagResourcesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UntagResourcesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UntagResourcesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UntagResourcesInput"} if s.ResourceARNList == nil { invalidParams.Add(request.NewErrParamRequired("ResourceARNList")) } if s.ResourceARNList != nil && len(s.ResourceARNList) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceARNList", 1)) } if s.TagKeys == nil { invalidParams.Add(request.NewErrParamRequired("TagKeys")) } if s.TagKeys != nil && len(s.TagKeys) < 1 { invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceARNList sets the ResourceARNList field's value. func (s *UntagResourcesInput) SetResourceARNList(v []*string) *UntagResourcesInput { s.ResourceARNList = v return s } // SetTagKeys sets the TagKeys field's value. func (s *UntagResourcesInput) SetTagKeys(v []*string) *UntagResourcesInput { s.TagKeys = v return s } type UntagResourcesOutput struct { _ struct{} `type:"structure"` // A map containing a key-value pair for each failed item that couldn't be untagged. // The key is the ARN of the failed resource. The value is a FailureInfo object // that contains an error code, a status code, and an error message. If there // are no errors, the FailedResourcesMap is empty. FailedResourcesMap map[string]*FailureInfo `type:"map"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UntagResourcesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UntagResourcesOutput) GoString() string { return s.String() } // SetFailedResourcesMap sets the FailedResourcesMap field's value. func (s *UntagResourcesOutput) SetFailedResourcesMap(v map[string]*FailureInfo) *UntagResourcesOutput { s.FailedResourcesMap = v return s } const ( // ErrorCodeInternalServiceException is a ErrorCode enum value ErrorCodeInternalServiceException = "InternalServiceException" // ErrorCodeInvalidParameterException is a ErrorCode enum value ErrorCodeInvalidParameterException = "InvalidParameterException" ) // ErrorCode_Values returns all elements of the ErrorCode enum func ErrorCode_Values() []string { return []string{ ErrorCodeInternalServiceException, ErrorCodeInvalidParameterException, } } const ( // GroupByAttributeTargetId is a GroupByAttribute enum value GroupByAttributeTargetId = "TARGET_ID" // GroupByAttributeRegion is a GroupByAttribute enum value GroupByAttributeRegion = "REGION" // GroupByAttributeResourceType is a GroupByAttribute enum value GroupByAttributeResourceType = "RESOURCE_TYPE" ) // GroupByAttribute_Values returns all elements of the GroupByAttribute enum func GroupByAttribute_Values() []string { return []string{ GroupByAttributeTargetId, GroupByAttributeRegion, GroupByAttributeResourceType, } } const ( // TargetIdTypeAccount is a TargetIdType enum value TargetIdTypeAccount = "ACCOUNT" // TargetIdTypeOu is a TargetIdType enum value TargetIdTypeOu = "OU" // TargetIdTypeRoot is a TargetIdType enum value TargetIdTypeRoot = "ROOT" ) // TargetIdType_Values returns all elements of the TargetIdType enum func TargetIdType_Values() []string { return []string{ TargetIdTypeAccount, TargetIdTypeOu, TargetIdTypeRoot, } }