service/oam/api.go (1,792 lines of code) (raw):
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package oam
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/restjson"
)
const opCreateLink = "CreateLink"
// CreateLinkRequest generates a "aws/request.Request" representing the
// client's request for the CreateLink 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 CreateLink for more information on using the CreateLink
// 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 CreateLinkRequest method.
// req, resp := client.CreateLinkRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/CreateLink
func (c *OAM) CreateLinkRequest(input *CreateLinkInput) (req *request.Request, output *CreateLinkOutput) {
op := &request.Operation{
Name: opCreateLink,
HTTPMethod: "POST",
HTTPPath: "/CreateLink",
}
if input == nil {
input = &CreateLinkInput{}
}
output = &CreateLinkOutput{}
req = c.newRequest(op, input, output)
return
}
// CreateLink API operation for CloudWatch Observability Access Manager.
//
// Creates a link between a source account and a sink that you have created
// in a monitoring account. After the link is created, data is sent from the
// source account to the monitoring account. When you create a link, you can
// optionally specify filters that specify which metric namespaces and which
// log groups are shared from the source account to the monitoring account.
//
// Before you create a link, you must create a sink in the monitoring account
// and create a sink policy in that account. The sink policy must permit the
// source account to link to it. You can grant permission to source accounts
// by granting permission to an entire organization or to individual accounts.
//
// For more information, see CreateSink (https://docs.aws.amazon.com/OAM/latest/APIReference/API_CreateSink.html)
// and PutSinkPolicy (https://docs.aws.amazon.com/OAM/latest/APIReference/API_PutSinkPolicy.html).
//
// Each monitoring account can be linked to as many as 100,000 source accounts.
//
// Each source account can be linked to as many as five monitoring accounts.
//
// 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 CloudWatch Observability Access Manager's
// API operation CreateLink for usage and error information.
//
// Returned Error Types:
//
// - InternalServiceFault
// Unexpected error while processing the request. Retry the request.
//
// - ConflictException
// A resource was in an inconsistent state during an update or a deletion.
//
// - MissingRequiredParameterException
// A required parameter is missing from the request.
//
// - ServiceQuotaExceededException
// The request would cause a service quota to be exceeded.
//
// - InvalidParameterException
// A parameter is specified incorrectly.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/CreateLink
func (c *OAM) CreateLink(input *CreateLinkInput) (*CreateLinkOutput, error) {
req, out := c.CreateLinkRequest(input)
return out, req.Send()
}
// CreateLinkWithContext is the same as CreateLink with the addition of
// the ability to pass a context and additional request options.
//
// See CreateLink 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 *OAM) CreateLinkWithContext(ctx aws.Context, input *CreateLinkInput, opts ...request.Option) (*CreateLinkOutput, error) {
req, out := c.CreateLinkRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opCreateSink = "CreateSink"
// CreateSinkRequest generates a "aws/request.Request" representing the
// client's request for the CreateSink 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 CreateSink for more information on using the CreateSink
// 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 CreateSinkRequest method.
// req, resp := client.CreateSinkRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/CreateSink
func (c *OAM) CreateSinkRequest(input *CreateSinkInput) (req *request.Request, output *CreateSinkOutput) {
op := &request.Operation{
Name: opCreateSink,
HTTPMethod: "POST",
HTTPPath: "/CreateSink",
}
if input == nil {
input = &CreateSinkInput{}
}
output = &CreateSinkOutput{}
req = c.newRequest(op, input, output)
return
}
// CreateSink API operation for CloudWatch Observability Access Manager.
//
// Use this to create a sink in the current account, so that it can be used
// as a monitoring account in CloudWatch cross-account observability. A sink
// is a resource that represents an attachment point in a monitoring account.
// Source accounts can link to the sink to send observability data.
//
// After you create a sink, you must create a sink policy that allows source
// accounts to attach to it. For more information, see PutSinkPolicy (https://docs.aws.amazon.com/OAM/latest/APIReference/API_PutSinkPolicy.html).
//
// Each account can contain one sink per Region. If you delete a sink, you can
// then create a new one in that 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 CloudWatch Observability Access Manager's
// API operation CreateSink for usage and error information.
//
// Returned Error Types:
//
// - InternalServiceFault
// Unexpected error while processing the request. Retry the request.
//
// - ConflictException
// A resource was in an inconsistent state during an update or a deletion.
//
// - MissingRequiredParameterException
// A required parameter is missing from the request.
//
// - ServiceQuotaExceededException
// The request would cause a service quota to be exceeded.
//
// - InvalidParameterException
// A parameter is specified incorrectly.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/CreateSink
func (c *OAM) CreateSink(input *CreateSinkInput) (*CreateSinkOutput, error) {
req, out := c.CreateSinkRequest(input)
return out, req.Send()
}
// CreateSinkWithContext is the same as CreateSink with the addition of
// the ability to pass a context and additional request options.
//
// See CreateSink 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 *OAM) CreateSinkWithContext(ctx aws.Context, input *CreateSinkInput, opts ...request.Option) (*CreateSinkOutput, error) {
req, out := c.CreateSinkRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDeleteLink = "DeleteLink"
// DeleteLinkRequest generates a "aws/request.Request" representing the
// client's request for the DeleteLink 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 DeleteLink for more information on using the DeleteLink
// 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 DeleteLinkRequest method.
// req, resp := client.DeleteLinkRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/DeleteLink
func (c *OAM) DeleteLinkRequest(input *DeleteLinkInput) (req *request.Request, output *DeleteLinkOutput) {
op := &request.Operation{
Name: opDeleteLink,
HTTPMethod: "POST",
HTTPPath: "/DeleteLink",
}
if input == nil {
input = &DeleteLinkInput{}
}
output = &DeleteLinkOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DeleteLink API operation for CloudWatch Observability Access Manager.
//
// Deletes a link between a monitoring account sink and a source account. You
// must run this operation in the source account.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for CloudWatch Observability Access Manager's
// API operation DeleteLink for usage and error information.
//
// Returned Error Types:
//
// - InternalServiceFault
// Unexpected error while processing the request. Retry the request.
//
// - MissingRequiredParameterException
// A required parameter is missing from the request.
//
// - InvalidParameterException
// A parameter is specified incorrectly.
//
// - ResourceNotFoundException
// The request references a resource that does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/DeleteLink
func (c *OAM) DeleteLink(input *DeleteLinkInput) (*DeleteLinkOutput, error) {
req, out := c.DeleteLinkRequest(input)
return out, req.Send()
}
// DeleteLinkWithContext is the same as DeleteLink with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteLink 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 *OAM) DeleteLinkWithContext(ctx aws.Context, input *DeleteLinkInput, opts ...request.Option) (*DeleteLinkOutput, error) {
req, out := c.DeleteLinkRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDeleteSink = "DeleteSink"
// DeleteSinkRequest generates a "aws/request.Request" representing the
// client's request for the DeleteSink 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 DeleteSink for more information on using the DeleteSink
// 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 DeleteSinkRequest method.
// req, resp := client.DeleteSinkRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/DeleteSink
func (c *OAM) DeleteSinkRequest(input *DeleteSinkInput) (req *request.Request, output *DeleteSinkOutput) {
op := &request.Operation{
Name: opDeleteSink,
HTTPMethod: "POST",
HTTPPath: "/DeleteSink",
}
if input == nil {
input = &DeleteSinkInput{}
}
output = &DeleteSinkOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DeleteSink API operation for CloudWatch Observability Access Manager.
//
// Deletes a sink. You must delete all links to a sink before you can delete
// that sink.
//
// 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 CloudWatch Observability Access Manager's
// API operation DeleteSink for usage and error information.
//
// Returned Error Types:
//
// - InternalServiceFault
// Unexpected error while processing the request. Retry the request.
//
// - ConflictException
// A resource was in an inconsistent state during an update or a deletion.
//
// - MissingRequiredParameterException
// A required parameter is missing from the request.
//
// - InvalidParameterException
// A parameter is specified incorrectly.
//
// - ResourceNotFoundException
// The request references a resource that does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/DeleteSink
func (c *OAM) DeleteSink(input *DeleteSinkInput) (*DeleteSinkOutput, error) {
req, out := c.DeleteSinkRequest(input)
return out, req.Send()
}
// DeleteSinkWithContext is the same as DeleteSink with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteSink 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 *OAM) DeleteSinkWithContext(ctx aws.Context, input *DeleteSinkInput, opts ...request.Option) (*DeleteSinkOutput, error) {
req, out := c.DeleteSinkRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetLink = "GetLink"
// GetLinkRequest generates a "aws/request.Request" representing the
// client's request for the GetLink 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 GetLink for more information on using the GetLink
// 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 GetLinkRequest method.
// req, resp := client.GetLinkRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/GetLink
func (c *OAM) GetLinkRequest(input *GetLinkInput) (req *request.Request, output *GetLinkOutput) {
op := &request.Operation{
Name: opGetLink,
HTTPMethod: "POST",
HTTPPath: "/GetLink",
}
if input == nil {
input = &GetLinkInput{}
}
output = &GetLinkOutput{}
req = c.newRequest(op, input, output)
return
}
// GetLink API operation for CloudWatch Observability Access Manager.
//
// Returns complete information about one link.
//
// To use this operation, provide the link ARN. To retrieve a list of link ARNs,
// use ListLinks (https://docs.aws.amazon.com/OAM/latest/APIReference/API_ListLinks.html).
//
// 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 CloudWatch Observability Access Manager's
// API operation GetLink for usage and error information.
//
// Returned Error Types:
//
// - InternalServiceFault
// Unexpected error while processing the request. Retry the request.
//
// - MissingRequiredParameterException
// A required parameter is missing from the request.
//
// - InvalidParameterException
// A parameter is specified incorrectly.
//
// - ResourceNotFoundException
// The request references a resource that does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/GetLink
func (c *OAM) GetLink(input *GetLinkInput) (*GetLinkOutput, error) {
req, out := c.GetLinkRequest(input)
return out, req.Send()
}
// GetLinkWithContext is the same as GetLink with the addition of
// the ability to pass a context and additional request options.
//
// See GetLink 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 *OAM) GetLinkWithContext(ctx aws.Context, input *GetLinkInput, opts ...request.Option) (*GetLinkOutput, error) {
req, out := c.GetLinkRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetSink = "GetSink"
// GetSinkRequest generates a "aws/request.Request" representing the
// client's request for the GetSink 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 GetSink for more information on using the GetSink
// 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 GetSinkRequest method.
// req, resp := client.GetSinkRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/GetSink
func (c *OAM) GetSinkRequest(input *GetSinkInput) (req *request.Request, output *GetSinkOutput) {
op := &request.Operation{
Name: opGetSink,
HTTPMethod: "POST",
HTTPPath: "/GetSink",
}
if input == nil {
input = &GetSinkInput{}
}
output = &GetSinkOutput{}
req = c.newRequest(op, input, output)
return
}
// GetSink API operation for CloudWatch Observability Access Manager.
//
// Returns complete information about one monitoring account sink.
//
// To use this operation, provide the sink ARN. To retrieve a list of sink ARNs,
// use ListSinks (https://docs.aws.amazon.com/OAM/latest/APIReference/API_ListSinks.html).
//
// 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 CloudWatch Observability Access Manager's
// API operation GetSink for usage and error information.
//
// Returned Error Types:
//
// - InternalServiceFault
// Unexpected error while processing the request. Retry the request.
//
// - MissingRequiredParameterException
// A required parameter is missing from the request.
//
// - InvalidParameterException
// A parameter is specified incorrectly.
//
// - ResourceNotFoundException
// The request references a resource that does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/GetSink
func (c *OAM) GetSink(input *GetSinkInput) (*GetSinkOutput, error) {
req, out := c.GetSinkRequest(input)
return out, req.Send()
}
// GetSinkWithContext is the same as GetSink with the addition of
// the ability to pass a context and additional request options.
//
// See GetSink 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 *OAM) GetSinkWithContext(ctx aws.Context, input *GetSinkInput, opts ...request.Option) (*GetSinkOutput, error) {
req, out := c.GetSinkRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetSinkPolicy = "GetSinkPolicy"
// GetSinkPolicyRequest generates a "aws/request.Request" representing the
// client's request for the GetSinkPolicy 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 GetSinkPolicy for more information on using the GetSinkPolicy
// 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 GetSinkPolicyRequest method.
// req, resp := client.GetSinkPolicyRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/GetSinkPolicy
func (c *OAM) GetSinkPolicyRequest(input *GetSinkPolicyInput) (req *request.Request, output *GetSinkPolicyOutput) {
op := &request.Operation{
Name: opGetSinkPolicy,
HTTPMethod: "POST",
HTTPPath: "/GetSinkPolicy",
}
if input == nil {
input = &GetSinkPolicyInput{}
}
output = &GetSinkPolicyOutput{}
req = c.newRequest(op, input, output)
return
}
// GetSinkPolicy API operation for CloudWatch Observability Access Manager.
//
// Returns the current sink policy attached to this sink. The sink policy specifies
// what accounts can attach to this sink as source accounts, and what types
// of data they can share.
//
// 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 CloudWatch Observability Access Manager's
// API operation GetSinkPolicy for usage and error information.
//
// Returned Error Types:
//
// - InternalServiceFault
// Unexpected error while processing the request. Retry the request.
//
// - MissingRequiredParameterException
// A required parameter is missing from the request.
//
// - InvalidParameterException
// A parameter is specified incorrectly.
//
// - ResourceNotFoundException
// The request references a resource that does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/GetSinkPolicy
func (c *OAM) GetSinkPolicy(input *GetSinkPolicyInput) (*GetSinkPolicyOutput, error) {
req, out := c.GetSinkPolicyRequest(input)
return out, req.Send()
}
// GetSinkPolicyWithContext is the same as GetSinkPolicy with the addition of
// the ability to pass a context and additional request options.
//
// See GetSinkPolicy 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 *OAM) GetSinkPolicyWithContext(ctx aws.Context, input *GetSinkPolicyInput, opts ...request.Option) (*GetSinkPolicyOutput, error) {
req, out := c.GetSinkPolicyRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opListAttachedLinks = "ListAttachedLinks"
// ListAttachedLinksRequest generates a "aws/request.Request" representing the
// client's request for the ListAttachedLinks 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 ListAttachedLinks for more information on using the ListAttachedLinks
// 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 ListAttachedLinksRequest method.
// req, resp := client.ListAttachedLinksRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/ListAttachedLinks
func (c *OAM) ListAttachedLinksRequest(input *ListAttachedLinksInput) (req *request.Request, output *ListAttachedLinksOutput) {
op := &request.Operation{
Name: opListAttachedLinks,
HTTPMethod: "POST",
HTTPPath: "/ListAttachedLinks",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "MaxResults",
TruncationToken: "",
},
}
if input == nil {
input = &ListAttachedLinksInput{}
}
output = &ListAttachedLinksOutput{}
req = c.newRequest(op, input, output)
return
}
// ListAttachedLinks API operation for CloudWatch Observability Access Manager.
//
// Returns a list of source account links that are linked to this monitoring
// account sink.
//
// To use this operation, provide the sink ARN. To retrieve a list of sink ARNs,
// use ListSinks (https://docs.aws.amazon.com/OAM/latest/APIReference/API_ListSinks.html).
//
// To find a list of links for one source account, use ListLinks (https://docs.aws.amazon.com/OAM/latest/APIReference/API_ListLinks.html).
//
// 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 CloudWatch Observability Access Manager's
// API operation ListAttachedLinks for usage and error information.
//
// Returned Error Types:
//
// - InternalServiceFault
// Unexpected error while processing the request. Retry the request.
//
// - MissingRequiredParameterException
// A required parameter is missing from the request.
//
// - InvalidParameterException
// A parameter is specified incorrectly.
//
// - ResourceNotFoundException
// The request references a resource that does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/ListAttachedLinks
func (c *OAM) ListAttachedLinks(input *ListAttachedLinksInput) (*ListAttachedLinksOutput, error) {
req, out := c.ListAttachedLinksRequest(input)
return out, req.Send()
}
// ListAttachedLinksWithContext is the same as ListAttachedLinks with the addition of
// the ability to pass a context and additional request options.
//
// See ListAttachedLinks 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 *OAM) ListAttachedLinksWithContext(ctx aws.Context, input *ListAttachedLinksInput, opts ...request.Option) (*ListAttachedLinksOutput, error) {
req, out := c.ListAttachedLinksRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// ListAttachedLinksPages iterates over the pages of a ListAttachedLinks operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListAttachedLinks 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 ListAttachedLinks operation.
// pageNum := 0
// err := client.ListAttachedLinksPages(params,
// func(page *oam.ListAttachedLinksOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *OAM) ListAttachedLinksPages(input *ListAttachedLinksInput, fn func(*ListAttachedLinksOutput, bool) bool) error {
return c.ListAttachedLinksPagesWithContext(aws.BackgroundContext(), input, fn)
}
// ListAttachedLinksPagesWithContext same as ListAttachedLinksPages 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 *OAM) ListAttachedLinksPagesWithContext(ctx aws.Context, input *ListAttachedLinksInput, fn func(*ListAttachedLinksOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *ListAttachedLinksInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.ListAttachedLinksRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*ListAttachedLinksOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opListLinks = "ListLinks"
// ListLinksRequest generates a "aws/request.Request" representing the
// client's request for the ListLinks 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 ListLinks for more information on using the ListLinks
// 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 ListLinksRequest method.
// req, resp := client.ListLinksRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/ListLinks
func (c *OAM) ListLinksRequest(input *ListLinksInput) (req *request.Request, output *ListLinksOutput) {
op := &request.Operation{
Name: opListLinks,
HTTPMethod: "POST",
HTTPPath: "/ListLinks",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "MaxResults",
TruncationToken: "",
},
}
if input == nil {
input = &ListLinksInput{}
}
output = &ListLinksOutput{}
req = c.newRequest(op, input, output)
return
}
// ListLinks API operation for CloudWatch Observability Access Manager.
//
// Use this operation in a source account to return a list of links to monitoring
// account sinks that this source account has.
//
// To find a list of links for one monitoring account sink, use ListAttachedLinks
// (https://docs.aws.amazon.com/OAM/latest/APIReference/API_ListAttachedLinks.html)
// from within the monitoring account.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for CloudWatch Observability Access Manager's
// API operation ListLinks for usage and error information.
//
// Returned Error Types:
//
// - InternalServiceFault
// Unexpected error while processing the request. Retry the request.
//
// - InvalidParameterException
// A parameter is specified incorrectly.
//
// - ResourceNotFoundException
// The request references a resource that does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/ListLinks
func (c *OAM) ListLinks(input *ListLinksInput) (*ListLinksOutput, error) {
req, out := c.ListLinksRequest(input)
return out, req.Send()
}
// ListLinksWithContext is the same as ListLinks with the addition of
// the ability to pass a context and additional request options.
//
// See ListLinks 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 *OAM) ListLinksWithContext(ctx aws.Context, input *ListLinksInput, opts ...request.Option) (*ListLinksOutput, error) {
req, out := c.ListLinksRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// ListLinksPages iterates over the pages of a ListLinks operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListLinks 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 ListLinks operation.
// pageNum := 0
// err := client.ListLinksPages(params,
// func(page *oam.ListLinksOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *OAM) ListLinksPages(input *ListLinksInput, fn func(*ListLinksOutput, bool) bool) error {
return c.ListLinksPagesWithContext(aws.BackgroundContext(), input, fn)
}
// ListLinksPagesWithContext same as ListLinksPages 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 *OAM) ListLinksPagesWithContext(ctx aws.Context, input *ListLinksInput, fn func(*ListLinksOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *ListLinksInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.ListLinksRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*ListLinksOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opListSinks = "ListSinks"
// ListSinksRequest generates a "aws/request.Request" representing the
// client's request for the ListSinks 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 ListSinks for more information on using the ListSinks
// 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 ListSinksRequest method.
// req, resp := client.ListSinksRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/ListSinks
func (c *OAM) ListSinksRequest(input *ListSinksInput) (req *request.Request, output *ListSinksOutput) {
op := &request.Operation{
Name: opListSinks,
HTTPMethod: "POST",
HTTPPath: "/ListSinks",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "MaxResults",
TruncationToken: "",
},
}
if input == nil {
input = &ListSinksInput{}
}
output = &ListSinksOutput{}
req = c.newRequest(op, input, output)
return
}
// ListSinks API operation for CloudWatch Observability Access Manager.
//
// Use this operation in a monitoring account to return the list of sinks created
// in that account.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for CloudWatch Observability Access Manager's
// API operation ListSinks for usage and error information.
//
// Returned Error Types:
//
// - InternalServiceFault
// Unexpected error while processing the request. Retry the request.
//
// - InvalidParameterException
// A parameter is specified incorrectly.
//
// - ResourceNotFoundException
// The request references a resource that does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/ListSinks
func (c *OAM) ListSinks(input *ListSinksInput) (*ListSinksOutput, error) {
req, out := c.ListSinksRequest(input)
return out, req.Send()
}
// ListSinksWithContext is the same as ListSinks with the addition of
// the ability to pass a context and additional request options.
//
// See ListSinks 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 *OAM) ListSinksWithContext(ctx aws.Context, input *ListSinksInput, opts ...request.Option) (*ListSinksOutput, error) {
req, out := c.ListSinksRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// ListSinksPages iterates over the pages of a ListSinks operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListSinks 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 ListSinks operation.
// pageNum := 0
// err := client.ListSinksPages(params,
// func(page *oam.ListSinksOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *OAM) ListSinksPages(input *ListSinksInput, fn func(*ListSinksOutput, bool) bool) error {
return c.ListSinksPagesWithContext(aws.BackgroundContext(), input, fn)
}
// ListSinksPagesWithContext same as ListSinksPages 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 *OAM) ListSinksPagesWithContext(ctx aws.Context, input *ListSinksInput, fn func(*ListSinksOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *ListSinksInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.ListSinksRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*ListSinksOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opListTagsForResource = "ListTagsForResource"
// ListTagsForResourceRequest generates a "aws/request.Request" representing the
// client's request for the ListTagsForResource 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 ListTagsForResource for more information on using the ListTagsForResource
// 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 ListTagsForResourceRequest method.
// req, resp := client.ListTagsForResourceRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/ListTagsForResource
func (c *OAM) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
op := &request.Operation{
Name: opListTagsForResource,
HTTPMethod: "GET",
HTTPPath: "/tags/{ResourceArn}",
}
if input == nil {
input = &ListTagsForResourceInput{}
}
output = &ListTagsForResourceOutput{}
req = c.newRequest(op, input, output)
return
}
// ListTagsForResource API operation for CloudWatch Observability Access Manager.
//
// Displays the tags associated with a resource. Both sinks and links support
// tagging.
//
// 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 CloudWatch Observability Access Manager's
// API operation ListTagsForResource for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// The value of a parameter in the request caused an error.
//
// - ResourceNotFoundException
// The request references a resource that does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/ListTagsForResource
func (c *OAM) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
req, out := c.ListTagsForResourceRequest(input)
return out, req.Send()
}
// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
// the ability to pass a context and additional request options.
//
// See ListTagsForResource 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 *OAM) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
req, out := c.ListTagsForResourceRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opPutSinkPolicy = "PutSinkPolicy"
// PutSinkPolicyRequest generates a "aws/request.Request" representing the
// client's request for the PutSinkPolicy 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 PutSinkPolicy for more information on using the PutSinkPolicy
// 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 PutSinkPolicyRequest method.
// req, resp := client.PutSinkPolicyRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/PutSinkPolicy
func (c *OAM) PutSinkPolicyRequest(input *PutSinkPolicyInput) (req *request.Request, output *PutSinkPolicyOutput) {
op := &request.Operation{
Name: opPutSinkPolicy,
HTTPMethod: "POST",
HTTPPath: "/PutSinkPolicy",
}
if input == nil {
input = &PutSinkPolicyInput{}
}
output = &PutSinkPolicyOutput{}
req = c.newRequest(op, input, output)
return
}
// PutSinkPolicy API operation for CloudWatch Observability Access Manager.
//
// Creates or updates the resource policy that grants permissions to source
// accounts to link to the monitoring account sink. When you create a sink policy,
// you can grant permissions to all accounts in an organization or to individual
// accounts.
//
// You can also use a sink policy to limit the types of data that is shared.
// The three types that you can allow or deny are:
//
// - Metrics - Specify with AWS::CloudWatch::Metric
//
// - Log groups - Specify with AWS::Logs::LogGroup
//
// - Traces - Specify with AWS::XRay::Trace
//
// - Application Insights - Applications - Specify with AWS::ApplicationInsights::Application
//
// See the examples in this section to see how to specify permitted source accounts
// and data types.
//
// 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 CloudWatch Observability Access Manager's
// API operation PutSinkPolicy for usage and error information.
//
// Returned Error Types:
//
// - InternalServiceFault
// Unexpected error while processing the request. Retry the request.
//
// - MissingRequiredParameterException
// A required parameter is missing from the request.
//
// - InvalidParameterException
// A parameter is specified incorrectly.
//
// - ResourceNotFoundException
// The request references a resource that does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/PutSinkPolicy
func (c *OAM) PutSinkPolicy(input *PutSinkPolicyInput) (*PutSinkPolicyOutput, error) {
req, out := c.PutSinkPolicyRequest(input)
return out, req.Send()
}
// PutSinkPolicyWithContext is the same as PutSinkPolicy with the addition of
// the ability to pass a context and additional request options.
//
// See PutSinkPolicy 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 *OAM) PutSinkPolicyWithContext(ctx aws.Context, input *PutSinkPolicyInput, opts ...request.Option) (*PutSinkPolicyOutput, error) {
req, out := c.PutSinkPolicyRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opTagResource = "TagResource"
// TagResourceRequest generates a "aws/request.Request" representing the
// client's request for the TagResource 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 TagResource for more information on using the TagResource
// 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 TagResourceRequest method.
// req, resp := client.TagResourceRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/TagResource
func (c *OAM) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
op := &request.Operation{
Name: opTagResource,
HTTPMethod: "PUT",
HTTPPath: "/tags/{ResourceArn}",
}
if input == nil {
input = &TagResourceInput{}
}
output = &TagResourceOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// TagResource API operation for CloudWatch Observability Access Manager.
//
// Assigns one or more tags (key-value pairs) to the specified resource. Both
// sinks and links can be tagged.
//
// Tags can help you organize and categorize your resources. You can also use
// them to scope user permissions by granting a user permission to access or
// change only resources with certain tag values.
//
// Tags don't have any semantic meaning to Amazon Web Services and are interpreted
// strictly as strings of characters.
//
// You can use the TagResource action with a resource that already has tags.
// If you specify a new tag key for the alarm, this tag is appended to the list
// of tags associated with the alarm. If you specify a tag key that is already
// associated with the alarm, the new tag value that you specify replaces the
// previous value for that tag.
//
// You can associate as many as 50 tags with a resource.
//
// Unlike tagging permissions in other Amazon Web Services services, to tag
// or untag links and sinks you must have the oam:ResourceTag permission. The
// iam:ResourceTag permission does not allow you to tag and untag links and
// sinks.
//
// 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 CloudWatch Observability Access Manager's
// API operation TagResource for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// The value of a parameter in the request caused an error.
//
// - TooManyTagsException
// A resource can have no more than 50 tags.
//
// - ResourceNotFoundException
// The request references a resource that does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/TagResource
func (c *OAM) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
req, out := c.TagResourceRequest(input)
return out, req.Send()
}
// TagResourceWithContext is the same as TagResource with the addition of
// the ability to pass a context and additional request options.
//
// See TagResource 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 *OAM) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
req, out := c.TagResourceRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opUntagResource = "UntagResource"
// UntagResourceRequest generates a "aws/request.Request" representing the
// client's request for the UntagResource 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 UntagResource for more information on using the UntagResource
// 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 UntagResourceRequest method.
// req, resp := client.UntagResourceRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/UntagResource
func (c *OAM) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
op := &request.Operation{
Name: opUntagResource,
HTTPMethod: "DELETE",
HTTPPath: "/tags/{ResourceArn}",
}
if input == nil {
input = &UntagResourceInput{}
}
output = &UntagResourceOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// UntagResource API operation for CloudWatch Observability Access Manager.
//
// Removes one or more tags from the specified resource.
//
// Unlike tagging permissions in other Amazon Web Services services, to tag
// or untag links and sinks you must have the oam:ResourceTag permission. The
// iam:TagResource permission does not allow you to tag and untag links and
// sinks.
//
// 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 CloudWatch Observability Access Manager's
// API operation UntagResource for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// The value of a parameter in the request caused an error.
//
// - ResourceNotFoundException
// The request references a resource that does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/UntagResource
func (c *OAM) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
req, out := c.UntagResourceRequest(input)
return out, req.Send()
}
// UntagResourceWithContext is the same as UntagResource with the addition of
// the ability to pass a context and additional request options.
//
// See UntagResource 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 *OAM) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
req, out := c.UntagResourceRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opUpdateLink = "UpdateLink"
// UpdateLinkRequest generates a "aws/request.Request" representing the
// client's request for the UpdateLink 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 UpdateLink for more information on using the UpdateLink
// 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 UpdateLinkRequest method.
// req, resp := client.UpdateLinkRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/UpdateLink
func (c *OAM) UpdateLinkRequest(input *UpdateLinkInput) (req *request.Request, output *UpdateLinkOutput) {
op := &request.Operation{
Name: opUpdateLink,
HTTPMethod: "POST",
HTTPPath: "/UpdateLink",
}
if input == nil {
input = &UpdateLinkInput{}
}
output = &UpdateLinkOutput{}
req = c.newRequest(op, input, output)
return
}
// UpdateLink API operation for CloudWatch Observability Access Manager.
//
// Use this operation to change what types of data are shared from a source
// account to its linked monitoring account sink. You can't change the sink
// or change the monitoring account with this operation.
//
// When you update a link, you can optionally specify filters that specify which
// metric namespaces and which log groups are shared from the source account
// to the monitoring account.
//
// To update the list of tags associated with the sink, use TagResource (https://docs.aws.amazon.com/OAM/latest/APIReference/API_TagResource.html).
//
// 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 CloudWatch Observability Access Manager's
// API operation UpdateLink for usage and error information.
//
// Returned Error Types:
//
// - InternalServiceFault
// Unexpected error while processing the request. Retry the request.
//
// - MissingRequiredParameterException
// A required parameter is missing from the request.
//
// - InvalidParameterException
// A parameter is specified incorrectly.
//
// - ResourceNotFoundException
// The request references a resource that does not exist.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/oam-2022-06-10/UpdateLink
func (c *OAM) UpdateLink(input *UpdateLinkInput) (*UpdateLinkOutput, error) {
req, out := c.UpdateLinkRequest(input)
return out, req.Send()
}
// UpdateLinkWithContext is the same as UpdateLink with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateLink 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 *OAM) UpdateLinkWithContext(ctx aws.Context, input *UpdateLinkInput, opts ...request.Option) (*UpdateLinkOutput, error) {
req, out := c.UpdateLinkRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// A resource was in an inconsistent state during an update or a deletion.
type ConflictException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
// The name of the exception.
AmznErrorType *string `location:"header" locationName:"x-amzn-ErrorType" type:"string"`
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 ConflictException) 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 ConflictException) GoString() string {
return s.String()
}
func newErrorConflictException(v protocol.ResponseMetadata) error {
return &ConflictException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ConflictException) Code() string {
return "ConflictException"
}
// Message returns the exception's message.
func (s *ConflictException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ConflictException) OrigErr() error {
return nil
}
func (s *ConflictException) Error() string {
return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ConflictException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ConflictException) RequestID() string {
return s.RespMetadata.RequestID
}
type CreateLinkInput struct {
_ struct{} `type:"structure"`
// Specify a friendly human-readable name to use to identify this source account
// when you are viewing data from it in the monitoring account.
//
// You can use a custom label or use the following variables:
//
// * $AccountName is the name of the account
//
// * $AccountEmail is the globally unique email address of the account
//
// * $AccountEmailNoDomain is the email address of the account without the
// domain name
//
// LabelTemplate is a required field
LabelTemplate *string `min:"1" type:"string" required:"true"`
// Use this structure to optionally create filters that specify that only some
// metric namespaces or log groups are to be shared from the source account
// to the monitoring account.
LinkConfiguration *LinkConfiguration `type:"structure"`
// An array of strings that define which types of data that the source account
// shares with the monitoring account.
//
// ResourceTypes is a required field
ResourceTypes []*string `min:"1" type:"list" required:"true" enum:"ResourceType"`
// The ARN of the sink to use to create this link. You can use ListSinks (https://docs.aws.amazon.com/OAM/latest/APIReference/API_ListSinks.html)
// to find the ARNs of sinks.
//
// For more information about sinks, see CreateSink (https://docs.aws.amazon.com/OAM/latest/APIReference/API_CreateSink.html).
//
// SinkIdentifier is a required field
SinkIdentifier *string `type:"string" required:"true"`
// Assigns one or more tags (key-value pairs) to the link.
//
// Tags can help you organize and categorize your resources. You can also use
// them to scope user permissions by granting a user permission to access or
// change only resources with certain tag values.
//
// For more information about using tags to control access, see Controlling
// access to Amazon Web Services resources using tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html).
Tags map[string]*string `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 CreateLinkInput) 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 CreateLinkInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateLinkInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateLinkInput"}
if s.LabelTemplate == nil {
invalidParams.Add(request.NewErrParamRequired("LabelTemplate"))
}
if s.LabelTemplate != nil && len(*s.LabelTemplate) < 1 {
invalidParams.Add(request.NewErrParamMinLen("LabelTemplate", 1))
}
if s.ResourceTypes == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceTypes"))
}
if s.ResourceTypes != nil && len(s.ResourceTypes) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ResourceTypes", 1))
}
if s.SinkIdentifier == nil {
invalidParams.Add(request.NewErrParamRequired("SinkIdentifier"))
}
if s.LinkConfiguration != nil {
if err := s.LinkConfiguration.Validate(); err != nil {
invalidParams.AddNested("LinkConfiguration", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetLabelTemplate sets the LabelTemplate field's value.
func (s *CreateLinkInput) SetLabelTemplate(v string) *CreateLinkInput {
s.LabelTemplate = &v
return s
}
// SetLinkConfiguration sets the LinkConfiguration field's value.
func (s *CreateLinkInput) SetLinkConfiguration(v *LinkConfiguration) *CreateLinkInput {
s.LinkConfiguration = v
return s
}
// SetResourceTypes sets the ResourceTypes field's value.
func (s *CreateLinkInput) SetResourceTypes(v []*string) *CreateLinkInput {
s.ResourceTypes = v
return s
}
// SetSinkIdentifier sets the SinkIdentifier field's value.
func (s *CreateLinkInput) SetSinkIdentifier(v string) *CreateLinkInput {
s.SinkIdentifier = &v
return s
}
// SetTags sets the Tags field's value.
func (s *CreateLinkInput) SetTags(v map[string]*string) *CreateLinkInput {
s.Tags = v
return s
}
type CreateLinkOutput struct {
_ struct{} `type:"structure"`
// The ARN of the link that is newly created.
Arn *string `type:"string"`
// The random ID string that Amazon Web Services generated as part of the link
// ARN.
Id *string `type:"string"`
// The label that you assigned to this link. If the labelTemplate includes variables,
// this field displays the variables resolved to their actual values.
Label *string `type:"string"`
// The exact label template that you specified, with the variables not resolved.
LabelTemplate *string `type:"string"`
// This structure includes filters that specify which metric namespaces and
// which log groups are shared from the source account to the monitoring account.
LinkConfiguration *LinkConfiguration `type:"structure"`
// The resource types supported by this link.
ResourceTypes []*string `type:"list"`
// The ARN of the sink that is used for this link.
SinkArn *string `type:"string"`
// The tags assigned to the link.
Tags map[string]*string `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 CreateLinkOutput) 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 CreateLinkOutput) GoString() string {
return s.String()
}
// SetArn sets the Arn field's value.
func (s *CreateLinkOutput) SetArn(v string) *CreateLinkOutput {
s.Arn = &v
return s
}
// SetId sets the Id field's value.
func (s *CreateLinkOutput) SetId(v string) *CreateLinkOutput {
s.Id = &v
return s
}
// SetLabel sets the Label field's value.
func (s *CreateLinkOutput) SetLabel(v string) *CreateLinkOutput {
s.Label = &v
return s
}
// SetLabelTemplate sets the LabelTemplate field's value.
func (s *CreateLinkOutput) SetLabelTemplate(v string) *CreateLinkOutput {
s.LabelTemplate = &v
return s
}
// SetLinkConfiguration sets the LinkConfiguration field's value.
func (s *CreateLinkOutput) SetLinkConfiguration(v *LinkConfiguration) *CreateLinkOutput {
s.LinkConfiguration = v
return s
}
// SetResourceTypes sets the ResourceTypes field's value.
func (s *CreateLinkOutput) SetResourceTypes(v []*string) *CreateLinkOutput {
s.ResourceTypes = v
return s
}
// SetSinkArn sets the SinkArn field's value.
func (s *CreateLinkOutput) SetSinkArn(v string) *CreateLinkOutput {
s.SinkArn = &v
return s
}
// SetTags sets the Tags field's value.
func (s *CreateLinkOutput) SetTags(v map[string]*string) *CreateLinkOutput {
s.Tags = v
return s
}
type CreateSinkInput struct {
_ struct{} `type:"structure"`
// A name for the sink.
//
// Name is a required field
Name *string `type:"string" required:"true"`
// Assigns one or more tags (key-value pairs) to the link.
//
// Tags can help you organize and categorize your resources. You can also use
// them to scope user permissions by granting a user permission to access or
// change only resources with certain tag values.
//
// For more information about using tags to control access, see Controlling
// access to Amazon Web Services resources using tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html).
Tags map[string]*string `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 CreateSinkInput) 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 CreateSinkInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateSinkInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateSinkInput"}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetName sets the Name field's value.
func (s *CreateSinkInput) SetName(v string) *CreateSinkInput {
s.Name = &v
return s
}
// SetTags sets the Tags field's value.
func (s *CreateSinkInput) SetTags(v map[string]*string) *CreateSinkInput {
s.Tags = v
return s
}
type CreateSinkOutput struct {
_ struct{} `type:"structure"`
// The ARN of the sink that is newly created.
Arn *string `type:"string"`
// The random ID string that Amazon Web Services generated as part of the sink
// ARN.
Id *string `type:"string"`
// The name of the sink.
Name *string `type:"string"`
// The tags assigned to the sink.
Tags map[string]*string `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 CreateSinkOutput) 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 CreateSinkOutput) GoString() string {
return s.String()
}
// SetArn sets the Arn field's value.
func (s *CreateSinkOutput) SetArn(v string) *CreateSinkOutput {
s.Arn = &v
return s
}
// SetId sets the Id field's value.
func (s *CreateSinkOutput) SetId(v string) *CreateSinkOutput {
s.Id = &v
return s
}
// SetName sets the Name field's value.
func (s *CreateSinkOutput) SetName(v string) *CreateSinkOutput {
s.Name = &v
return s
}
// SetTags sets the Tags field's value.
func (s *CreateSinkOutput) SetTags(v map[string]*string) *CreateSinkOutput {
s.Tags = v
return s
}
type DeleteLinkInput struct {
_ struct{} `type:"structure"`
// The ARN of the link to delete.
//
// Identifier is a required field
Identifier *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 DeleteLinkInput) 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 DeleteLinkInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteLinkInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteLinkInput"}
if s.Identifier == nil {
invalidParams.Add(request.NewErrParamRequired("Identifier"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetIdentifier sets the Identifier field's value.
func (s *DeleteLinkInput) SetIdentifier(v string) *DeleteLinkInput {
s.Identifier = &v
return s
}
type DeleteLinkOutput 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 DeleteLinkOutput) 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 DeleteLinkOutput) GoString() string {
return s.String()
}
type DeleteSinkInput struct {
_ struct{} `type:"structure"`
// The ARN of the sink to delete.
//
// Identifier is a required field
Identifier *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 DeleteSinkInput) 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 DeleteSinkInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteSinkInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteSinkInput"}
if s.Identifier == nil {
invalidParams.Add(request.NewErrParamRequired("Identifier"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetIdentifier sets the Identifier field's value.
func (s *DeleteSinkInput) SetIdentifier(v string) *DeleteSinkInput {
s.Identifier = &v
return s
}
type DeleteSinkOutput 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 DeleteSinkOutput) 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 DeleteSinkOutput) GoString() string {
return s.String()
}
type GetLinkInput struct {
_ struct{} `type:"structure"`
// The ARN of the link to retrieve information for.
//
// Identifier is a required field
Identifier *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 GetLinkInput) 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 GetLinkInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetLinkInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetLinkInput"}
if s.Identifier == nil {
invalidParams.Add(request.NewErrParamRequired("Identifier"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetIdentifier sets the Identifier field's value.
func (s *GetLinkInput) SetIdentifier(v string) *GetLinkInput {
s.Identifier = &v
return s
}
type GetLinkOutput struct {
_ struct{} `type:"structure"`
// The ARN of the link.
Arn *string `type:"string"`
// The random ID string that Amazon Web Services generated as part of the link
// ARN.
Id *string `type:"string"`
// The label that you assigned to this link, with the variables resolved to
// their actual values.
Label *string `type:"string"`
// The exact label template that was specified when the link was created, with
// the template variables not resolved.
LabelTemplate *string `type:"string"`
// This structure includes filters that specify which metric namespaces and
// which log groups are shared from the source account to the monitoring account.
LinkConfiguration *LinkConfiguration `type:"structure"`
// The resource types supported by this link.
ResourceTypes []*string `type:"list"`
// The ARN of the sink that is used for this link.
SinkArn *string `type:"string"`
// The tags assigned to the link.
Tags map[string]*string `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 GetLinkOutput) 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 GetLinkOutput) GoString() string {
return s.String()
}
// SetArn sets the Arn field's value.
func (s *GetLinkOutput) SetArn(v string) *GetLinkOutput {
s.Arn = &v
return s
}
// SetId sets the Id field's value.
func (s *GetLinkOutput) SetId(v string) *GetLinkOutput {
s.Id = &v
return s
}
// SetLabel sets the Label field's value.
func (s *GetLinkOutput) SetLabel(v string) *GetLinkOutput {
s.Label = &v
return s
}
// SetLabelTemplate sets the LabelTemplate field's value.
func (s *GetLinkOutput) SetLabelTemplate(v string) *GetLinkOutput {
s.LabelTemplate = &v
return s
}
// SetLinkConfiguration sets the LinkConfiguration field's value.
func (s *GetLinkOutput) SetLinkConfiguration(v *LinkConfiguration) *GetLinkOutput {
s.LinkConfiguration = v
return s
}
// SetResourceTypes sets the ResourceTypes field's value.
func (s *GetLinkOutput) SetResourceTypes(v []*string) *GetLinkOutput {
s.ResourceTypes = v
return s
}
// SetSinkArn sets the SinkArn field's value.
func (s *GetLinkOutput) SetSinkArn(v string) *GetLinkOutput {
s.SinkArn = &v
return s
}
// SetTags sets the Tags field's value.
func (s *GetLinkOutput) SetTags(v map[string]*string) *GetLinkOutput {
s.Tags = v
return s
}
type GetSinkInput struct {
_ struct{} `type:"structure"`
// The ARN of the sink to retrieve information for.
//
// Identifier is a required field
Identifier *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 GetSinkInput) 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 GetSinkInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetSinkInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetSinkInput"}
if s.Identifier == nil {
invalidParams.Add(request.NewErrParamRequired("Identifier"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetIdentifier sets the Identifier field's value.
func (s *GetSinkInput) SetIdentifier(v string) *GetSinkInput {
s.Identifier = &v
return s
}
type GetSinkOutput struct {
_ struct{} `type:"structure"`
// The ARN of the sink.
Arn *string `type:"string"`
// The random ID string that Amazon Web Services generated as part of the sink
// ARN.
Id *string `type:"string"`
// The name of the sink.
Name *string `type:"string"`
// The tags assigned to the sink.
Tags map[string]*string `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 GetSinkOutput) 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 GetSinkOutput) GoString() string {
return s.String()
}
// SetArn sets the Arn field's value.
func (s *GetSinkOutput) SetArn(v string) *GetSinkOutput {
s.Arn = &v
return s
}
// SetId sets the Id field's value.
func (s *GetSinkOutput) SetId(v string) *GetSinkOutput {
s.Id = &v
return s
}
// SetName sets the Name field's value.
func (s *GetSinkOutput) SetName(v string) *GetSinkOutput {
s.Name = &v
return s
}
// SetTags sets the Tags field's value.
func (s *GetSinkOutput) SetTags(v map[string]*string) *GetSinkOutput {
s.Tags = v
return s
}
type GetSinkPolicyInput struct {
_ struct{} `type:"structure"`
// The ARN of the sink to retrieve the policy of.
//
// SinkIdentifier is a required field
SinkIdentifier *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 GetSinkPolicyInput) 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 GetSinkPolicyInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetSinkPolicyInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetSinkPolicyInput"}
if s.SinkIdentifier == nil {
invalidParams.Add(request.NewErrParamRequired("SinkIdentifier"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetSinkIdentifier sets the SinkIdentifier field's value.
func (s *GetSinkPolicyInput) SetSinkIdentifier(v string) *GetSinkPolicyInput {
s.SinkIdentifier = &v
return s
}
type GetSinkPolicyOutput struct {
_ struct{} `type:"structure"`
// The policy that you specified, in JSON format.
Policy *string `type:"string"`
// The ARN of the sink.
SinkArn *string `type:"string"`
// The random ID string that Amazon Web Services generated as part of the sink
// ARN.
SinkId *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 GetSinkPolicyOutput) 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 GetSinkPolicyOutput) GoString() string {
return s.String()
}
// SetPolicy sets the Policy field's value.
func (s *GetSinkPolicyOutput) SetPolicy(v string) *GetSinkPolicyOutput {
s.Policy = &v
return s
}
// SetSinkArn sets the SinkArn field's value.
func (s *GetSinkPolicyOutput) SetSinkArn(v string) *GetSinkPolicyOutput {
s.SinkArn = &v
return s
}
// SetSinkId sets the SinkId field's value.
func (s *GetSinkPolicyOutput) SetSinkId(v string) *GetSinkPolicyOutput {
s.SinkId = &v
return s
}
// Unexpected error while processing the request. Retry the request.
type InternalServiceFault struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
// The name of the exception.
AmznErrorType *string `location:"header" locationName:"x-amzn-ErrorType" type:"string"`
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 InternalServiceFault) 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 InternalServiceFault) GoString() string {
return s.String()
}
func newErrorInternalServiceFault(v protocol.ResponseMetadata) error {
return &InternalServiceFault{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *InternalServiceFault) Code() string {
return "InternalServiceFault"
}
// Message returns the exception's message.
func (s *InternalServiceFault) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *InternalServiceFault) OrigErr() error {
return nil
}
func (s *InternalServiceFault) Error() string {
return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}
// Status code returns the HTTP status code for the request's response error.
func (s *InternalServiceFault) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *InternalServiceFault) RequestID() string {
return s.RespMetadata.RequestID
}
// A parameter is specified incorrectly.
type InvalidParameterException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
// The name of the exception.
AmznErrorType *string `location:"header" locationName:"x-amzn-ErrorType" type:"string"`
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\n%s", s.Code(), s.Message(), s.String())
}
// 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
}
// Use this structure to optionally create filters that specify that only some
// metric namespaces or log groups are to be shared from the source account
// to the monitoring account.
type LinkConfiguration struct {
_ struct{} `type:"structure"`
// Use this structure to filter which log groups are to send log events from
// the source account to the monitoring account.
LogGroupConfiguration *LogGroupConfiguration `type:"structure"`
// Use this structure to filter which metric namespaces are to be shared from
// the source account to the monitoring account.
MetricConfiguration *MetricConfiguration `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 LinkConfiguration) 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 LinkConfiguration) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *LinkConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "LinkConfiguration"}
if s.LogGroupConfiguration != nil {
if err := s.LogGroupConfiguration.Validate(); err != nil {
invalidParams.AddNested("LogGroupConfiguration", err.(request.ErrInvalidParams))
}
}
if s.MetricConfiguration != nil {
if err := s.MetricConfiguration.Validate(); err != nil {
invalidParams.AddNested("MetricConfiguration", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetLogGroupConfiguration sets the LogGroupConfiguration field's value.
func (s *LinkConfiguration) SetLogGroupConfiguration(v *LogGroupConfiguration) *LinkConfiguration {
s.LogGroupConfiguration = v
return s
}
// SetMetricConfiguration sets the MetricConfiguration field's value.
func (s *LinkConfiguration) SetMetricConfiguration(v *MetricConfiguration) *LinkConfiguration {
s.MetricConfiguration = v
return s
}
type ListAttachedLinksInput struct {
_ struct{} `type:"structure"`
// Limits the number of returned links to the specified number.
MaxResults *int64 `min:"1" type:"integer"`
// The token for the next set of items to return. You received this token from
// a previous call.
NextToken *string `type:"string"`
// The ARN of the sink that you want to retrieve links for.
//
// SinkIdentifier is a required field
SinkIdentifier *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 ListAttachedLinksInput) 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 ListAttachedLinksInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListAttachedLinksInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListAttachedLinksInput"}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if s.SinkIdentifier == nil {
invalidParams.Add(request.NewErrParamRequired("SinkIdentifier"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListAttachedLinksInput) SetMaxResults(v int64) *ListAttachedLinksInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListAttachedLinksInput) SetNextToken(v string) *ListAttachedLinksInput {
s.NextToken = &v
return s
}
// SetSinkIdentifier sets the SinkIdentifier field's value.
func (s *ListAttachedLinksInput) SetSinkIdentifier(v string) *ListAttachedLinksInput {
s.SinkIdentifier = &v
return s
}
// A structure that contains information about one link attached to this monitoring
// account sink.
type ListAttachedLinksItem struct {
_ struct{} `type:"structure"`
// The label that was assigned to this link at creation, with the variables
// resolved to their actual values.
Label *string `type:"string"`
// The ARN of the link.
LinkArn *string `type:"string"`
// The resource types supported by this link.
ResourceTypes []*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 ListAttachedLinksItem) 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 ListAttachedLinksItem) GoString() string {
return s.String()
}
// SetLabel sets the Label field's value.
func (s *ListAttachedLinksItem) SetLabel(v string) *ListAttachedLinksItem {
s.Label = &v
return s
}
// SetLinkArn sets the LinkArn field's value.
func (s *ListAttachedLinksItem) SetLinkArn(v string) *ListAttachedLinksItem {
s.LinkArn = &v
return s
}
// SetResourceTypes sets the ResourceTypes field's value.
func (s *ListAttachedLinksItem) SetResourceTypes(v []*string) *ListAttachedLinksItem {
s.ResourceTypes = v
return s
}
type ListAttachedLinksOutput struct {
_ struct{} `type:"structure"`
// An array of structures that contain the information about the attached links.
//
// Items is a required field
Items []*ListAttachedLinksItem `type:"list" required:"true"`
// The token to use when requesting the next set of links.
NextToken *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 ListAttachedLinksOutput) 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 ListAttachedLinksOutput) GoString() string {
return s.String()
}
// SetItems sets the Items field's value.
func (s *ListAttachedLinksOutput) SetItems(v []*ListAttachedLinksItem) *ListAttachedLinksOutput {
s.Items = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListAttachedLinksOutput) SetNextToken(v string) *ListAttachedLinksOutput {
s.NextToken = &v
return s
}
type ListLinksInput struct {
_ struct{} `type:"structure"`
// Limits the number of returned links to the specified number.
MaxResults *int64 `min:"1" type:"integer"`
// The token for the next set of items to return. You received this token from
// a previous call.
NextToken *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 ListLinksInput) 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 ListLinksInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListLinksInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListLinksInput"}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListLinksInput) SetMaxResults(v int64) *ListLinksInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListLinksInput) SetNextToken(v string) *ListLinksInput {
s.NextToken = &v
return s
}
// A structure that contains information about one of this source account's
// links to a monitoring account.
type ListLinksItem struct {
_ struct{} `type:"structure"`
// The ARN of the link.
Arn *string `type:"string"`
// The random ID string that Amazon Web Services generated as part of the link
// ARN.
Id *string `type:"string"`
// The label that was assigned to this link at creation, with the variables
// resolved to their actual values.
Label *string `type:"string"`
// The resource types supported by this link.
ResourceTypes []*string `type:"list"`
// The ARN of the sink that this link is attached to.
SinkArn *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 ListLinksItem) 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 ListLinksItem) GoString() string {
return s.String()
}
// SetArn sets the Arn field's value.
func (s *ListLinksItem) SetArn(v string) *ListLinksItem {
s.Arn = &v
return s
}
// SetId sets the Id field's value.
func (s *ListLinksItem) SetId(v string) *ListLinksItem {
s.Id = &v
return s
}
// SetLabel sets the Label field's value.
func (s *ListLinksItem) SetLabel(v string) *ListLinksItem {
s.Label = &v
return s
}
// SetResourceTypes sets the ResourceTypes field's value.
func (s *ListLinksItem) SetResourceTypes(v []*string) *ListLinksItem {
s.ResourceTypes = v
return s
}
// SetSinkArn sets the SinkArn field's value.
func (s *ListLinksItem) SetSinkArn(v string) *ListLinksItem {
s.SinkArn = &v
return s
}
type ListLinksOutput struct {
_ struct{} `type:"structure"`
// An array of structures that contain the information about the returned links.
//
// Items is a required field
Items []*ListLinksItem `type:"list" required:"true"`
// The token to use when requesting the next set of links.
NextToken *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 ListLinksOutput) 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 ListLinksOutput) GoString() string {
return s.String()
}
// SetItems sets the Items field's value.
func (s *ListLinksOutput) SetItems(v []*ListLinksItem) *ListLinksOutput {
s.Items = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListLinksOutput) SetNextToken(v string) *ListLinksOutput {
s.NextToken = &v
return s
}
type ListSinksInput struct {
_ struct{} `type:"structure"`
// Limits the number of returned links to the specified number.
MaxResults *int64 `min:"1" type:"integer"`
// The token for the next set of items to return. You received this token from
// a previous call.
NextToken *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 ListSinksInput) 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 ListSinksInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListSinksInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListSinksInput"}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListSinksInput) SetMaxResults(v int64) *ListSinksInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListSinksInput) SetNextToken(v string) *ListSinksInput {
s.NextToken = &v
return s
}
// A structure that contains information about one of this monitoring account's
// sinks.
type ListSinksItem struct {
_ struct{} `type:"structure"`
// The ARN of the sink.
Arn *string `type:"string"`
// The random ID string that Amazon Web Services generated as part of the sink
// ARN.
Id *string `type:"string"`
// The name of the sink.
Name *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 ListSinksItem) 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 ListSinksItem) GoString() string {
return s.String()
}
// SetArn sets the Arn field's value.
func (s *ListSinksItem) SetArn(v string) *ListSinksItem {
s.Arn = &v
return s
}
// SetId sets the Id field's value.
func (s *ListSinksItem) SetId(v string) *ListSinksItem {
s.Id = &v
return s
}
// SetName sets the Name field's value.
func (s *ListSinksItem) SetName(v string) *ListSinksItem {
s.Name = &v
return s
}
type ListSinksOutput struct {
_ struct{} `type:"structure"`
// An array of structures that contain the information about the returned sinks.
//
// Items is a required field
Items []*ListSinksItem `type:"list" required:"true"`
// The token to use when requesting the next set of sinks.
NextToken *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 ListSinksOutput) 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 ListSinksOutput) GoString() string {
return s.String()
}
// SetItems sets the Items field's value.
func (s *ListSinksOutput) SetItems(v []*ListSinksItem) *ListSinksOutput {
s.Items = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListSinksOutput) SetNextToken(v string) *ListSinksOutput {
s.NextToken = &v
return s
}
type ListTagsForResourceInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// The ARN of the resource that you want to view tags for.
//
// The ARN format of a sink is arn:aws:oam:Region:account-id:sink/sink-id
//
// The ARN format of a link is arn:aws:oam:Region:account-id:link/link-id
//
// For more information about ARN format, see CloudWatch Logs resources and
// operations (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html).
//
// Unlike tagging permissions in other Amazon Web Services services, to retrieve
// the list of tags for links or sinks you must have the oam:RequestTag permission.
// The aws:ReguestTag permission does not allow you to tag and untag links and
// sinks.
//
// ResourceArn is a required field
ResourceArn *string `location:"uri" locationName:"ResourceArn" 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 ListTagsForResourceInput) 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 ListTagsForResourceInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListTagsForResourceInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
if s.ResourceArn == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
}
if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetResourceArn sets the ResourceArn field's value.
func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
s.ResourceArn = &v
return s
}
type ListTagsForResourceOutput struct {
_ struct{} `type:"structure"`
// The list of tags associated with the requested resource.>
Tags map[string]*string `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 ListTagsForResourceOutput) 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 ListTagsForResourceOutput) GoString() string {
return s.String()
}
// SetTags sets the Tags field's value.
func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
s.Tags = v
return s
}
// This structure contains the Filter parameter which you can use to specify
// which log groups are to share log events from this source account to the
// monitoring account.
type LogGroupConfiguration struct {
_ struct{} `type:"structure"`
// Use this field to specify which log groups are to share their log events
// with the monitoring account. Use the term LogGroupName and one or more of
// the following operands. Use single quotation marks (') around log group names.
// The matching of log group names is case sensitive. Each filter has a limit
// of five conditional operands. Conditional operands are AND and OR.
//
// * = and !=
//
// * AND
//
// * OR
//
// * LIKE and NOT LIKE. These can be used only as prefix searches. Include
// a % at the end of the string that you want to search for and include.
//
// * IN and NOT IN, using parentheses ( )
//
// Examples:
//
// * LogGroupName IN ('This-Log-Group', 'Other-Log-Group') includes only
// the log groups with names This-Log-Group and Other-Log-Group.
//
// * LogGroupName NOT IN ('Private-Log-Group', 'Private-Log-Group-2') includes
// all log groups except the log groups with names Private-Log-Group and
// Private-Log-Group-2.
//
// * LogGroupName LIKE 'aws/lambda/%' OR LogGroupName LIKE 'AWSLogs%' includes
// all log groups that have names that start with aws/lambda/ or AWSLogs.
//
// If you are updating a link that uses filters, you can specify * as the only
// value for the filter parameter to delete the filter and share all log groups
// with the monitoring account.
//
// Filter is a required field
Filter *string `min:"1" 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 LogGroupConfiguration) 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 LogGroupConfiguration) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *LogGroupConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "LogGroupConfiguration"}
if s.Filter == nil {
invalidParams.Add(request.NewErrParamRequired("Filter"))
}
if s.Filter != nil && len(*s.Filter) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Filter", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetFilter sets the Filter field's value.
func (s *LogGroupConfiguration) SetFilter(v string) *LogGroupConfiguration {
s.Filter = &v
return s
}
// This structure contains the Filter parameter which you can use to specify
// which metric namespaces are to be shared from this source account to the
// monitoring account.
type MetricConfiguration struct {
_ struct{} `type:"structure"`
// Use this field to specify which metrics are to be shared with the monitoring
// account. Use the term Namespace and one or more of the following operands.
// Use single quotation marks (') around namespace names. The matching of namespace
// names is case sensitive. Each filter has a limit of five conditional operands.
// Conditional operands are AND and OR.
//
// * = and !=
//
// * AND
//
// * OR
//
// * LIKE and NOT LIKE. These can be used only as prefix searches. Include
// a % at the end of the string that you want to search for and include.
//
// * IN and NOT IN, using parentheses ( )
//
// Examples:
//
// * Namespace NOT LIKE 'AWS/%' includes only namespaces that don't start
// with AWS/, such as custom namespaces.
//
// * Namespace IN ('AWS/EC2', 'AWS/ELB', 'AWS/S3') includes only the metrics
// in the EC2, Elastic Load Balancing, and Amazon S3 namespaces.
//
// * Namespace = 'AWS/EC2' OR Namespace NOT LIKE 'AWS/%' includes only the
// EC2 namespace and your custom namespaces.
//
// If you are updating a link that uses filters, you can specify * as the only
// value for the filter parameter to delete the filter and share all metric
// namespaces with the monitoring account.
//
// Filter is a required field
Filter *string `min:"1" 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 MetricConfiguration) 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 MetricConfiguration) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *MetricConfiguration) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "MetricConfiguration"}
if s.Filter == nil {
invalidParams.Add(request.NewErrParamRequired("Filter"))
}
if s.Filter != nil && len(*s.Filter) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Filter", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetFilter sets the Filter field's value.
func (s *MetricConfiguration) SetFilter(v string) *MetricConfiguration {
s.Filter = &v
return s
}
// A required parameter is missing from the request.
type MissingRequiredParameterException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
// The name of the exception.
AmznErrorType *string `location:"header" locationName:"x-amzn-ErrorType" type:"string"`
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 MissingRequiredParameterException) 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 MissingRequiredParameterException) GoString() string {
return s.String()
}
func newErrorMissingRequiredParameterException(v protocol.ResponseMetadata) error {
return &MissingRequiredParameterException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *MissingRequiredParameterException) Code() string {
return "MissingRequiredParameterException"
}
// Message returns the exception's message.
func (s *MissingRequiredParameterException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *MissingRequiredParameterException) OrigErr() error {
return nil
}
func (s *MissingRequiredParameterException) Error() string {
return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}
// Status code returns the HTTP status code for the request's response error.
func (s *MissingRequiredParameterException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *MissingRequiredParameterException) RequestID() string {
return s.RespMetadata.RequestID
}
type PutSinkPolicyInput struct {
_ struct{} `type:"structure"`
// The JSON policy to use. If you are updating an existing policy, the entire
// existing policy is replaced by what you specify here.
//
// The policy must be in JSON string format with quotation marks escaped and
// no newlines.
//
// For examples of different types of policies, see the Examples section on
// this page.
//
// Policy is a required field
Policy *string `type:"string" required:"true"`
// The ARN of the sink to attach this policy to.
//
// SinkIdentifier is a required field
SinkIdentifier *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 PutSinkPolicyInput) 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 PutSinkPolicyInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *PutSinkPolicyInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "PutSinkPolicyInput"}
if s.Policy == nil {
invalidParams.Add(request.NewErrParamRequired("Policy"))
}
if s.SinkIdentifier == nil {
invalidParams.Add(request.NewErrParamRequired("SinkIdentifier"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetPolicy sets the Policy field's value.
func (s *PutSinkPolicyInput) SetPolicy(v string) *PutSinkPolicyInput {
s.Policy = &v
return s
}
// SetSinkIdentifier sets the SinkIdentifier field's value.
func (s *PutSinkPolicyInput) SetSinkIdentifier(v string) *PutSinkPolicyInput {
s.SinkIdentifier = &v
return s
}
type PutSinkPolicyOutput struct {
_ struct{} `type:"structure"`
// The policy that you specified.
Policy *string `type:"string"`
// The ARN of the sink.
SinkArn *string `type:"string"`
// The random ID string that Amazon Web Services generated as part of the sink
// ARN.
SinkId *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 PutSinkPolicyOutput) 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 PutSinkPolicyOutput) GoString() string {
return s.String()
}
// SetPolicy sets the Policy field's value.
func (s *PutSinkPolicyOutput) SetPolicy(v string) *PutSinkPolicyOutput {
s.Policy = &v
return s
}
// SetSinkArn sets the SinkArn field's value.
func (s *PutSinkPolicyOutput) SetSinkArn(v string) *PutSinkPolicyOutput {
s.SinkArn = &v
return s
}
// SetSinkId sets the SinkId field's value.
func (s *PutSinkPolicyOutput) SetSinkId(v string) *PutSinkPolicyOutput {
s.SinkId = &v
return s
}
// The request references a resource that does not exist.
type ResourceNotFoundException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
// The name of the exception.
AmznErrorType *string `location:"header" locationName:"x-amzn-ErrorType" type:"string"`
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 ResourceNotFoundException) 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 ResourceNotFoundException) GoString() string {
return s.String()
}
func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
return &ResourceNotFoundException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ResourceNotFoundException) Code() string {
return "ResourceNotFoundException"
}
// Message returns the exception's message.
func (s *ResourceNotFoundException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ResourceNotFoundException) OrigErr() error {
return nil
}
func (s *ResourceNotFoundException) Error() string {
return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ResourceNotFoundException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ResourceNotFoundException) RequestID() string {
return s.RespMetadata.RequestID
}
// The request would cause a service quota to be exceeded.
type ServiceQuotaExceededException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
// The name of the exception.
AmznErrorType *string `location:"header" locationName:"x-amzn-ErrorType" type:"string"`
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 ServiceQuotaExceededException) 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 ServiceQuotaExceededException) GoString() string {
return s.String()
}
func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
return &ServiceQuotaExceededException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ServiceQuotaExceededException) Code() string {
return "ServiceQuotaExceededException"
}
// Message returns the exception's message.
func (s *ServiceQuotaExceededException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ServiceQuotaExceededException) OrigErr() error {
return nil
}
func (s *ServiceQuotaExceededException) Error() string {
return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ServiceQuotaExceededException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ServiceQuotaExceededException) RequestID() string {
return s.RespMetadata.RequestID
}
type TagResourceInput struct {
_ struct{} `type:"structure"`
// The ARN of the resource that you're adding tags to.
//
// The ARN format of a sink is arn:aws:oam:Region:account-id:sink/sink-id
//
// The ARN format of a link is arn:aws:oam:Region:account-id:link/link-id
//
// For more information about ARN format, see CloudWatch Logs resources and
// operations (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html).
//
// ResourceArn is a required field
ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
// The list of key-value pairs to associate with the resource.
//
// Tags is a required field
Tags map[string]*string `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 TagResourceInput) 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 TagResourceInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *TagResourceInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
if s.ResourceArn == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
}
if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
}
if s.Tags == nil {
invalidParams.Add(request.NewErrParamRequired("Tags"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetResourceArn sets the ResourceArn field's value.
func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
s.ResourceArn = &v
return s
}
// SetTags sets the Tags field's value.
func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
s.Tags = v
return s
}
type TagResourceOutput 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 TagResourceOutput) 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 TagResourceOutput) GoString() string {
return s.String()
}
// A resource can have no more than 50 tags.
type TooManyTagsException 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 TooManyTagsException) 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 TooManyTagsException) GoString() string {
return s.String()
}
func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
return &TooManyTagsException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *TooManyTagsException) Code() string {
return "TooManyTagsException"
}
// Message returns the exception's message.
func (s *TooManyTagsException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *TooManyTagsException) OrigErr() error {
return nil
}
func (s *TooManyTagsException) 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 *TooManyTagsException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *TooManyTagsException) RequestID() string {
return s.RespMetadata.RequestID
}
type UntagResourceInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// The ARN of the resource that you're removing tags from.
//
// The ARN format of a sink is arn:aws:oam:Region:account-id:sink/sink-id
//
// The ARN format of a link is arn:aws:oam:Region:account-id:link/link-id
//
// For more information about ARN format, see CloudWatch Logs resources and
// operations (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html).
//
// ResourceArn is a required field
ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
// The list of tag keys to remove from the resource.
//
// TagKeys is a required field
TagKeys []*string `location:"querystring" locationName:"tagKeys" 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 UntagResourceInput) 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 UntagResourceInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UntagResourceInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
if s.ResourceArn == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
}
if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
}
if s.TagKeys == nil {
invalidParams.Add(request.NewErrParamRequired("TagKeys"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetResourceArn sets the ResourceArn field's value.
func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
s.ResourceArn = &v
return s
}
// SetTagKeys sets the TagKeys field's value.
func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
s.TagKeys = v
return s
}
type UntagResourceOutput 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 UntagResourceOutput) 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 UntagResourceOutput) GoString() string {
return s.String()
}
type UpdateLinkInput struct {
_ struct{} `type:"structure"`
// The ARN of the link that you want to update.
//
// Identifier is a required field
Identifier *string `type:"string" required:"true"`
// Use this structure to filter which metric namespaces and which log groups
// are to be shared from the source account to the monitoring account.
LinkConfiguration *LinkConfiguration `type:"structure"`
// An array of strings that define which types of data that the source account
// will send to the monitoring account.
//
// Your input here replaces the current set of data types that are shared.
//
// ResourceTypes is a required field
ResourceTypes []*string `min:"1" type:"list" required:"true" enum:"ResourceType"`
}
// 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 UpdateLinkInput) 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 UpdateLinkInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateLinkInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "UpdateLinkInput"}
if s.Identifier == nil {
invalidParams.Add(request.NewErrParamRequired("Identifier"))
}
if s.ResourceTypes == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceTypes"))
}
if s.ResourceTypes != nil && len(s.ResourceTypes) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ResourceTypes", 1))
}
if s.LinkConfiguration != nil {
if err := s.LinkConfiguration.Validate(); err != nil {
invalidParams.AddNested("LinkConfiguration", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetIdentifier sets the Identifier field's value.
func (s *UpdateLinkInput) SetIdentifier(v string) *UpdateLinkInput {
s.Identifier = &v
return s
}
// SetLinkConfiguration sets the LinkConfiguration field's value.
func (s *UpdateLinkInput) SetLinkConfiguration(v *LinkConfiguration) *UpdateLinkInput {
s.LinkConfiguration = v
return s
}
// SetResourceTypes sets the ResourceTypes field's value.
func (s *UpdateLinkInput) SetResourceTypes(v []*string) *UpdateLinkInput {
s.ResourceTypes = v
return s
}
type UpdateLinkOutput struct {
_ struct{} `type:"structure"`
// The ARN of the link that you have updated.
Arn *string `type:"string"`
// The random ID string that Amazon Web Services generated as part of the sink
// ARN.
Id *string `type:"string"`
// The label assigned to this link, with the variables resolved to their actual
// values.
Label *string `type:"string"`
// The exact label template that was specified when the link was created, with
// the template variables not resolved.
LabelTemplate *string `min:"1" type:"string"`
// This structure includes filters that specify which metric namespaces and
// which log groups are shared from the source account to the monitoring account.
LinkConfiguration *LinkConfiguration `type:"structure"`
// The resource types now supported by this link.
ResourceTypes []*string `type:"list"`
// The ARN of the sink that is used for this link.
SinkArn *string `type:"string"`
// The tags assigned to the link.
Tags map[string]*string `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 UpdateLinkOutput) 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 UpdateLinkOutput) GoString() string {
return s.String()
}
// SetArn sets the Arn field's value.
func (s *UpdateLinkOutput) SetArn(v string) *UpdateLinkOutput {
s.Arn = &v
return s
}
// SetId sets the Id field's value.
func (s *UpdateLinkOutput) SetId(v string) *UpdateLinkOutput {
s.Id = &v
return s
}
// SetLabel sets the Label field's value.
func (s *UpdateLinkOutput) SetLabel(v string) *UpdateLinkOutput {
s.Label = &v
return s
}
// SetLabelTemplate sets the LabelTemplate field's value.
func (s *UpdateLinkOutput) SetLabelTemplate(v string) *UpdateLinkOutput {
s.LabelTemplate = &v
return s
}
// SetLinkConfiguration sets the LinkConfiguration field's value.
func (s *UpdateLinkOutput) SetLinkConfiguration(v *LinkConfiguration) *UpdateLinkOutput {
s.LinkConfiguration = v
return s
}
// SetResourceTypes sets the ResourceTypes field's value.
func (s *UpdateLinkOutput) SetResourceTypes(v []*string) *UpdateLinkOutput {
s.ResourceTypes = v
return s
}
// SetSinkArn sets the SinkArn field's value.
func (s *UpdateLinkOutput) SetSinkArn(v string) *UpdateLinkOutput {
s.SinkArn = &v
return s
}
// SetTags sets the Tags field's value.
func (s *UpdateLinkOutput) SetTags(v map[string]*string) *UpdateLinkOutput {
s.Tags = v
return s
}
// The value of a parameter in the request caused an error.
type ValidationException 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 ValidationException) 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 ValidationException) GoString() string {
return s.String()
}
func newErrorValidationException(v protocol.ResponseMetadata) error {
return &ValidationException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ValidationException) Code() string {
return "ValidationException"
}
// Message returns the exception's message.
func (s *ValidationException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ValidationException) OrigErr() error {
return nil
}
func (s *ValidationException) 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 *ValidationException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ValidationException) RequestID() string {
return s.RespMetadata.RequestID
}
const (
// ResourceTypeAwsCloudWatchMetric is a ResourceType enum value
ResourceTypeAwsCloudWatchMetric = "AWS::CloudWatch::Metric"
// ResourceTypeAwsLogsLogGroup is a ResourceType enum value
ResourceTypeAwsLogsLogGroup = "AWS::Logs::LogGroup"
// ResourceTypeAwsXrayTrace is a ResourceType enum value
ResourceTypeAwsXrayTrace = "AWS::XRay::Trace"
// ResourceTypeAwsApplicationInsightsApplication is a ResourceType enum value
ResourceTypeAwsApplicationInsightsApplication = "AWS::ApplicationInsights::Application"
// ResourceTypeAwsInternetMonitorMonitor is a ResourceType enum value
ResourceTypeAwsInternetMonitorMonitor = "AWS::InternetMonitor::Monitor"
)
// ResourceType_Values returns all elements of the ResourceType enum
func ResourceType_Values() []string {
return []string{
ResourceTypeAwsCloudWatchMetric,
ResourceTypeAwsLogsLogGroup,
ResourceTypeAwsXrayTrace,
ResourceTypeAwsApplicationInsightsApplication,
ResourceTypeAwsInternetMonitorMonitor,
}
}