// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. package synthetics import ( "fmt" "time" "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 opAssociateResource = "AssociateResource" // AssociateResourceRequest generates a "aws/request.Request" representing the // client's request for the AssociateResource 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 AssociateResource for more information on using the AssociateResource // 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 AssociateResourceRequest method. // req, resp := client.AssociateResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/AssociateResource func (c *Synthetics) AssociateResourceRequest(input *AssociateResourceInput) (req *request.Request, output *AssociateResourceOutput) { op := &request.Operation{ Name: opAssociateResource, HTTPMethod: "PATCH", HTTPPath: "/group/{groupIdentifier}/associate", } if input == nil { input = &AssociateResourceInput{} } output = &AssociateResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // AssociateResource API operation for Synthetics. // // Associates a canary with a group. Using groups can help you with managing // and automating your canaries, and you can also view aggregated run results // and statistics for all canaries in a group. // // You must run this operation in the Region where the canary exists. // // 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 Synthetics's // API operation AssociateResource for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // - ResourceNotFoundException // One of the specified resources was not found. // // - ConflictException // A conflicting operation is already in progress. // // - ServiceQuotaExceededException // The request exceeded a service quota value. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/AssociateResource func (c *Synthetics) AssociateResource(input *AssociateResourceInput) (*AssociateResourceOutput, error) { req, out := c.AssociateResourceRequest(input) return out, req.Send() } // AssociateResourceWithContext is the same as AssociateResource with the addition of // the ability to pass a context and additional request options. // // See AssociateResource 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 *Synthetics) AssociateResourceWithContext(ctx aws.Context, input *AssociateResourceInput, opts ...request.Option) (*AssociateResourceOutput, error) { req, out := c.AssociateResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opCreateCanary = "CreateCanary" // CreateCanaryRequest generates a "aws/request.Request" representing the // client's request for the CreateCanary 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 CreateCanary for more information on using the CreateCanary // 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 CreateCanaryRequest method. // req, resp := client.CreateCanaryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/CreateCanary func (c *Synthetics) CreateCanaryRequest(input *CreateCanaryInput) (req *request.Request, output *CreateCanaryOutput) { op := &request.Operation{ Name: opCreateCanary, HTTPMethod: "POST", HTTPPath: "/canary", } if input == nil { input = &CreateCanaryInput{} } output = &CreateCanaryOutput{} req = c.newRequest(op, input, output) return } // CreateCanary API operation for Synthetics. // // Creates a canary. Canaries are scripts that monitor your endpoints and APIs // from the outside-in. Canaries help you check the availability and latency // of your web services and troubleshoot anomalies by investigating load time // data, screenshots of the UI, logs, and metrics. You can set up a canary to // run continuously or just once. // // Do not use CreateCanary to modify an existing canary. Use UpdateCanary (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_UpdateCanary.html) // instead. // // To create canaries, you must have the CloudWatchSyntheticsFullAccess policy. // If you are creating a new IAM role for the canary, you also need the iam:CreateRole, // iam:CreatePolicy and iam:AttachRolePolicy permissions. For more information, // see Necessary Roles and Permissions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Roles). // // Do not include secrets or proprietary information in your canary names. The // canary name makes up part of the Amazon Resource Name (ARN) for the canary, // and the ARN is included in outbound calls over the internet. For more information, // see Security Considerations for Synthetics Canaries (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/servicelens_canaries_security.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 Synthetics's // API operation CreateCanary for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // - RequestEntityTooLargeException // One of the input resources is larger than is allowed. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/CreateCanary func (c *Synthetics) CreateCanary(input *CreateCanaryInput) (*CreateCanaryOutput, error) { req, out := c.CreateCanaryRequest(input) return out, req.Send() } // CreateCanaryWithContext is the same as CreateCanary with the addition of // the ability to pass a context and additional request options. // // See CreateCanary 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 *Synthetics) CreateCanaryWithContext(ctx aws.Context, input *CreateCanaryInput, opts ...request.Option) (*CreateCanaryOutput, error) { req, out := c.CreateCanaryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opCreateGroup = "CreateGroup" // CreateGroupRequest generates a "aws/request.Request" representing the // client's request for the CreateGroup 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 CreateGroup for more information on using the CreateGroup // 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 CreateGroupRequest method. // req, resp := client.CreateGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/CreateGroup func (c *Synthetics) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, output *CreateGroupOutput) { op := &request.Operation{ Name: opCreateGroup, HTTPMethod: "POST", HTTPPath: "/group", } if input == nil { input = &CreateGroupInput{} } output = &CreateGroupOutput{} req = c.newRequest(op, input, output) return } // CreateGroup API operation for Synthetics. // // Creates a group which you can use to associate canaries with each other, // including cross-Region canaries. Using groups can help you with managing // and automating your canaries, and you can also view aggregated run results // and statistics for all canaries in a group. // // Groups are global resources. When you create a group, it is replicated across // Amazon Web Services Regions, and you can view it and add canaries to it from // any Region. Although the group ARN format reflects the Region name where // it was created, a group is not constrained to any Region. This means that // you can put canaries from multiple Regions into the same group, and then // use that group to view and manage all of those canaries in a single view. // // Groups are supported in all Regions except the Regions that are disabled // by default. For more information about these Regions, see Enabling a Region // (https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable). // // Each group can contain as many as 10 canaries. You can have as many as 20 // groups in your account. Any single canary can be a member of up to 10 groups. // // 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 Synthetics's // API operation CreateGroup for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // - ConflictException // A conflicting operation is already in progress. // // - ServiceQuotaExceededException // The request exceeded a service quota value. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/CreateGroup func (c *Synthetics) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) { req, out := c.CreateGroupRequest(input) return out, req.Send() } // CreateGroupWithContext is the same as CreateGroup with the addition of // the ability to pass a context and additional request options. // // See CreateGroup 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 *Synthetics) CreateGroupWithContext(ctx aws.Context, input *CreateGroupInput, opts ...request.Option) (*CreateGroupOutput, error) { req, out := c.CreateGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteCanary = "DeleteCanary" // DeleteCanaryRequest generates a "aws/request.Request" representing the // client's request for the DeleteCanary 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 DeleteCanary for more information on using the DeleteCanary // 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 DeleteCanaryRequest method. // req, resp := client.DeleteCanaryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DeleteCanary func (c *Synthetics) DeleteCanaryRequest(input *DeleteCanaryInput) (req *request.Request, output *DeleteCanaryOutput) { op := &request.Operation{ Name: opDeleteCanary, HTTPMethod: "DELETE", HTTPPath: "/canary/{name}", } if input == nil { input = &DeleteCanaryInput{} } output = &DeleteCanaryOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // DeleteCanary API operation for Synthetics. // // Permanently deletes the specified canary. // // If you specify DeleteLambda to true, CloudWatch Synthetics also deletes the // Lambda functions and layers that are used by the canary. // // Other resources used and created by the canary are not automatically deleted. // After you delete a canary that you do not intend to use again, you should // also delete the following: // // - The CloudWatch alarms created for this canary. These alarms have a name // of Synthetics-SharpDrop-Alarm-MyCanaryName . // // - Amazon S3 objects and buckets, such as the canary's artifact location. // // - IAM roles created for the canary. If they were created in the console, // these roles have the name role/service-role/CloudWatchSyntheticsRole-MyCanaryName . // // - CloudWatch Logs log groups created for the canary. These logs groups // have the name /aws/lambda/cwsyn-MyCanaryName . // // Before you delete a canary, you might want to use GetCanary to display the // information about this canary. Make note of the information returned by this // operation so that you can delete these resources after you delete the canary. // // 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 Synthetics's // API operation DeleteCanary for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // - ResourceNotFoundException // One of the specified resources was not found. // // - ConflictException // A conflicting operation is already in progress. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DeleteCanary func (c *Synthetics) DeleteCanary(input *DeleteCanaryInput) (*DeleteCanaryOutput, error) { req, out := c.DeleteCanaryRequest(input) return out, req.Send() } // DeleteCanaryWithContext is the same as DeleteCanary with the addition of // the ability to pass a context and additional request options. // // See DeleteCanary 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 *Synthetics) DeleteCanaryWithContext(ctx aws.Context, input *DeleteCanaryInput, opts ...request.Option) (*DeleteCanaryOutput, error) { req, out := c.DeleteCanaryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteGroup = "DeleteGroup" // DeleteGroupRequest generates a "aws/request.Request" representing the // client's request for the DeleteGroup 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 DeleteGroup for more information on using the DeleteGroup // 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 DeleteGroupRequest method. // req, resp := client.DeleteGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DeleteGroup func (c *Synthetics) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) { op := &request.Operation{ Name: opDeleteGroup, HTTPMethod: "DELETE", HTTPPath: "/group/{groupIdentifier}", } if input == nil { input = &DeleteGroupInput{} } output = &DeleteGroupOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // DeleteGroup API operation for Synthetics. // // Deletes a group. The group doesn't need to be empty to be deleted. If there // are canaries in the group, they are not deleted when you delete the group. // // Groups are a global resource that appear in all Regions, but the request // to delete a group must be made from its home Region. You can find the home // Region of a group within its ARN. // // 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 Synthetics's // API operation DeleteGroup for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // - ResourceNotFoundException // One of the specified resources was not found. // // - ConflictException // A conflicting operation is already in progress. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DeleteGroup func (c *Synthetics) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) { req, out := c.DeleteGroupRequest(input) return out, req.Send() } // DeleteGroupWithContext is the same as DeleteGroup with the addition of // the ability to pass a context and additional request options. // // See DeleteGroup 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 *Synthetics) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInput, opts ...request.Option) (*DeleteGroupOutput, error) { req, out := c.DeleteGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDescribeCanaries = "DescribeCanaries" // DescribeCanariesRequest generates a "aws/request.Request" representing the // client's request for the DescribeCanaries 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 DescribeCanaries for more information on using the DescribeCanaries // 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 DescribeCanariesRequest method. // req, resp := client.DescribeCanariesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeCanaries func (c *Synthetics) DescribeCanariesRequest(input *DescribeCanariesInput) (req *request.Request, output *DescribeCanariesOutput) { op := &request.Operation{ Name: opDescribeCanaries, HTTPMethod: "POST", HTTPPath: "/canaries", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &DescribeCanariesInput{} } output = &DescribeCanariesOutput{} req = c.newRequest(op, input, output) return } // DescribeCanaries API operation for Synthetics. // // This operation returns a list of the canaries in your account, along with // full details about each canary. // // This operation supports resource-level authorization using an IAM policy // and the Names parameter. If you specify the Names parameter, the operation // is successful only if you have authorization to view all the canaries that // you specify in your request. If you do not have permission to view any of // the canaries, the request fails with a 403 response. // // You are required to use the Names parameter if you are logged on to a user // or role that has an IAM policy that restricts which canaries that you are // allowed to view. For more information, see Limiting a user to viewing specific // canaries (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Restricted.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 Synthetics's // API operation DescribeCanaries for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeCanaries func (c *Synthetics) DescribeCanaries(input *DescribeCanariesInput) (*DescribeCanariesOutput, error) { req, out := c.DescribeCanariesRequest(input) return out, req.Send() } // DescribeCanariesWithContext is the same as DescribeCanaries with the addition of // the ability to pass a context and additional request options. // // See DescribeCanaries 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 *Synthetics) DescribeCanariesWithContext(ctx aws.Context, input *DescribeCanariesInput, opts ...request.Option) (*DescribeCanariesOutput, error) { req, out := c.DescribeCanariesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // DescribeCanariesPages iterates over the pages of a DescribeCanaries operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See DescribeCanaries 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 DescribeCanaries operation. // pageNum := 0 // err := client.DescribeCanariesPages(params, // func(page *synthetics.DescribeCanariesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *Synthetics) DescribeCanariesPages(input *DescribeCanariesInput, fn func(*DescribeCanariesOutput, bool) bool) error { return c.DescribeCanariesPagesWithContext(aws.BackgroundContext(), input, fn) } // DescribeCanariesPagesWithContext same as DescribeCanariesPages 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 *Synthetics) DescribeCanariesPagesWithContext(ctx aws.Context, input *DescribeCanariesInput, fn func(*DescribeCanariesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *DescribeCanariesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.DescribeCanariesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*DescribeCanariesOutput), !p.HasNextPage()) { break } } return p.Err() } const opDescribeCanariesLastRun = "DescribeCanariesLastRun" // DescribeCanariesLastRunRequest generates a "aws/request.Request" representing the // client's request for the DescribeCanariesLastRun 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 DescribeCanariesLastRun for more information on using the DescribeCanariesLastRun // 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 DescribeCanariesLastRunRequest method. // req, resp := client.DescribeCanariesLastRunRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeCanariesLastRun func (c *Synthetics) DescribeCanariesLastRunRequest(input *DescribeCanariesLastRunInput) (req *request.Request, output *DescribeCanariesLastRunOutput) { op := &request.Operation{ Name: opDescribeCanariesLastRun, HTTPMethod: "POST", HTTPPath: "/canaries/last-run", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &DescribeCanariesLastRunInput{} } output = &DescribeCanariesLastRunOutput{} req = c.newRequest(op, input, output) return } // DescribeCanariesLastRun API operation for Synthetics. // // Use this operation to see information from the most recent run of each canary // that you have created. // // This operation supports resource-level authorization using an IAM policy // and the Names parameter. If you specify the Names parameter, the operation // is successful only if you have authorization to view all the canaries that // you specify in your request. If you do not have permission to view any of // the canaries, the request fails with a 403 response. // // You are required to use the Names parameter if you are logged on to a user // or role that has an IAM policy that restricts which canaries that you are // allowed to view. For more information, see Limiting a user to viewing specific // canaries (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Restricted.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 Synthetics's // API operation DescribeCanariesLastRun for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeCanariesLastRun func (c *Synthetics) DescribeCanariesLastRun(input *DescribeCanariesLastRunInput) (*DescribeCanariesLastRunOutput, error) { req, out := c.DescribeCanariesLastRunRequest(input) return out, req.Send() } // DescribeCanariesLastRunWithContext is the same as DescribeCanariesLastRun with the addition of // the ability to pass a context and additional request options. // // See DescribeCanariesLastRun 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 *Synthetics) DescribeCanariesLastRunWithContext(ctx aws.Context, input *DescribeCanariesLastRunInput, opts ...request.Option) (*DescribeCanariesLastRunOutput, error) { req, out := c.DescribeCanariesLastRunRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // DescribeCanariesLastRunPages iterates over the pages of a DescribeCanariesLastRun operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See DescribeCanariesLastRun 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 DescribeCanariesLastRun operation. // pageNum := 0 // err := client.DescribeCanariesLastRunPages(params, // func(page *synthetics.DescribeCanariesLastRunOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *Synthetics) DescribeCanariesLastRunPages(input *DescribeCanariesLastRunInput, fn func(*DescribeCanariesLastRunOutput, bool) bool) error { return c.DescribeCanariesLastRunPagesWithContext(aws.BackgroundContext(), input, fn) } // DescribeCanariesLastRunPagesWithContext same as DescribeCanariesLastRunPages 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 *Synthetics) DescribeCanariesLastRunPagesWithContext(ctx aws.Context, input *DescribeCanariesLastRunInput, fn func(*DescribeCanariesLastRunOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *DescribeCanariesLastRunInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.DescribeCanariesLastRunRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*DescribeCanariesLastRunOutput), !p.HasNextPage()) { break } } return p.Err() } const opDescribeRuntimeVersions = "DescribeRuntimeVersions" // DescribeRuntimeVersionsRequest generates a "aws/request.Request" representing the // client's request for the DescribeRuntimeVersions 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 DescribeRuntimeVersions for more information on using the DescribeRuntimeVersions // 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 DescribeRuntimeVersionsRequest method. // req, resp := client.DescribeRuntimeVersionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeRuntimeVersions func (c *Synthetics) DescribeRuntimeVersionsRequest(input *DescribeRuntimeVersionsInput) (req *request.Request, output *DescribeRuntimeVersionsOutput) { op := &request.Operation{ Name: opDescribeRuntimeVersions, HTTPMethod: "POST", HTTPPath: "/runtime-versions", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &DescribeRuntimeVersionsInput{} } output = &DescribeRuntimeVersionsOutput{} req = c.newRequest(op, input, output) return } // DescribeRuntimeVersions API operation for Synthetics. // // Returns a list of Synthetics canary runtime versions. For more information, // see Canary Runtime Versions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.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 Synthetics's // API operation DescribeRuntimeVersions for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeRuntimeVersions func (c *Synthetics) DescribeRuntimeVersions(input *DescribeRuntimeVersionsInput) (*DescribeRuntimeVersionsOutput, error) { req, out := c.DescribeRuntimeVersionsRequest(input) return out, req.Send() } // DescribeRuntimeVersionsWithContext is the same as DescribeRuntimeVersions with the addition of // the ability to pass a context and additional request options. // // See DescribeRuntimeVersions 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 *Synthetics) DescribeRuntimeVersionsWithContext(ctx aws.Context, input *DescribeRuntimeVersionsInput, opts ...request.Option) (*DescribeRuntimeVersionsOutput, error) { req, out := c.DescribeRuntimeVersionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // DescribeRuntimeVersionsPages iterates over the pages of a DescribeRuntimeVersions operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See DescribeRuntimeVersions 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 DescribeRuntimeVersions operation. // pageNum := 0 // err := client.DescribeRuntimeVersionsPages(params, // func(page *synthetics.DescribeRuntimeVersionsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *Synthetics) DescribeRuntimeVersionsPages(input *DescribeRuntimeVersionsInput, fn func(*DescribeRuntimeVersionsOutput, bool) bool) error { return c.DescribeRuntimeVersionsPagesWithContext(aws.BackgroundContext(), input, fn) } // DescribeRuntimeVersionsPagesWithContext same as DescribeRuntimeVersionsPages 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 *Synthetics) DescribeRuntimeVersionsPagesWithContext(ctx aws.Context, input *DescribeRuntimeVersionsInput, fn func(*DescribeRuntimeVersionsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *DescribeRuntimeVersionsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.DescribeRuntimeVersionsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*DescribeRuntimeVersionsOutput), !p.HasNextPage()) { break } } return p.Err() } const opDisassociateResource = "DisassociateResource" // DisassociateResourceRequest generates a "aws/request.Request" representing the // client's request for the DisassociateResource 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 DisassociateResource for more information on using the DisassociateResource // 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 DisassociateResourceRequest method. // req, resp := client.DisassociateResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DisassociateResource func (c *Synthetics) DisassociateResourceRequest(input *DisassociateResourceInput) (req *request.Request, output *DisassociateResourceOutput) { op := &request.Operation{ Name: opDisassociateResource, HTTPMethod: "PATCH", HTTPPath: "/group/{groupIdentifier}/disassociate", } if input == nil { input = &DisassociateResourceInput{} } output = &DisassociateResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // DisassociateResource API operation for Synthetics. // // Removes a canary from a group. You must run this operation in the Region // where the canary exists. // // 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 Synthetics's // API operation DisassociateResource for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // - ResourceNotFoundException // One of the specified resources was not found. // // - ConflictException // A conflicting operation is already in progress. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DisassociateResource func (c *Synthetics) DisassociateResource(input *DisassociateResourceInput) (*DisassociateResourceOutput, error) { req, out := c.DisassociateResourceRequest(input) return out, req.Send() } // DisassociateResourceWithContext is the same as DisassociateResource with the addition of // the ability to pass a context and additional request options. // // See DisassociateResource 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 *Synthetics) DisassociateResourceWithContext(ctx aws.Context, input *DisassociateResourceInput, opts ...request.Option) (*DisassociateResourceOutput, error) { req, out := c.DisassociateResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetCanary = "GetCanary" // GetCanaryRequest generates a "aws/request.Request" representing the // client's request for the GetCanary 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 GetCanary for more information on using the GetCanary // 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 GetCanaryRequest method. // req, resp := client.GetCanaryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanary func (c *Synthetics) GetCanaryRequest(input *GetCanaryInput) (req *request.Request, output *GetCanaryOutput) { op := &request.Operation{ Name: opGetCanary, HTTPMethod: "GET", HTTPPath: "/canary/{name}", } if input == nil { input = &GetCanaryInput{} } output = &GetCanaryOutput{} req = c.newRequest(op, input, output) return } // GetCanary API operation for Synthetics. // // Retrieves complete information about one canary. You must specify the name // of the canary that you want. To get a list of canaries and their names, use // DescribeCanaries (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.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 Synthetics's // API operation GetCanary for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanary func (c *Synthetics) GetCanary(input *GetCanaryInput) (*GetCanaryOutput, error) { req, out := c.GetCanaryRequest(input) return out, req.Send() } // GetCanaryWithContext is the same as GetCanary with the addition of // the ability to pass a context and additional request options. // // See GetCanary 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 *Synthetics) GetCanaryWithContext(ctx aws.Context, input *GetCanaryInput, opts ...request.Option) (*GetCanaryOutput, error) { req, out := c.GetCanaryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetCanaryRuns = "GetCanaryRuns" // GetCanaryRunsRequest generates a "aws/request.Request" representing the // client's request for the GetCanaryRuns 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 GetCanaryRuns for more information on using the GetCanaryRuns // 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 GetCanaryRunsRequest method. // req, resp := client.GetCanaryRunsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanaryRuns func (c *Synthetics) GetCanaryRunsRequest(input *GetCanaryRunsInput) (req *request.Request, output *GetCanaryRunsOutput) { op := &request.Operation{ Name: opGetCanaryRuns, HTTPMethod: "POST", HTTPPath: "/canary/{name}/runs", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &GetCanaryRunsInput{} } output = &GetCanaryRunsOutput{} req = c.newRequest(op, input, output) return } // GetCanaryRuns API operation for Synthetics. // // Retrieves a list of runs for a specified canary. // // 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 Synthetics's // API operation GetCanaryRuns for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // - ResourceNotFoundException // One of the specified resources was not found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanaryRuns func (c *Synthetics) GetCanaryRuns(input *GetCanaryRunsInput) (*GetCanaryRunsOutput, error) { req, out := c.GetCanaryRunsRequest(input) return out, req.Send() } // GetCanaryRunsWithContext is the same as GetCanaryRuns with the addition of // the ability to pass a context and additional request options. // // See GetCanaryRuns 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 *Synthetics) GetCanaryRunsWithContext(ctx aws.Context, input *GetCanaryRunsInput, opts ...request.Option) (*GetCanaryRunsOutput, error) { req, out := c.GetCanaryRunsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // GetCanaryRunsPages iterates over the pages of a GetCanaryRuns operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See GetCanaryRuns 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 GetCanaryRuns operation. // pageNum := 0 // err := client.GetCanaryRunsPages(params, // func(page *synthetics.GetCanaryRunsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *Synthetics) GetCanaryRunsPages(input *GetCanaryRunsInput, fn func(*GetCanaryRunsOutput, bool) bool) error { return c.GetCanaryRunsPagesWithContext(aws.BackgroundContext(), input, fn) } // GetCanaryRunsPagesWithContext same as GetCanaryRunsPages 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 *Synthetics) GetCanaryRunsPagesWithContext(ctx aws.Context, input *GetCanaryRunsInput, fn func(*GetCanaryRunsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *GetCanaryRunsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.GetCanaryRunsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*GetCanaryRunsOutput), !p.HasNextPage()) { break } } return p.Err() } const opGetGroup = "GetGroup" // GetGroupRequest generates a "aws/request.Request" representing the // client's request for the GetGroup 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 GetGroup for more information on using the GetGroup // 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 GetGroupRequest method. // req, resp := client.GetGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetGroup func (c *Synthetics) GetGroupRequest(input *GetGroupInput) (req *request.Request, output *GetGroupOutput) { op := &request.Operation{ Name: opGetGroup, HTTPMethod: "GET", HTTPPath: "/group/{groupIdentifier}", } if input == nil { input = &GetGroupInput{} } output = &GetGroupOutput{} req = c.newRequest(op, input, output) return } // GetGroup API operation for Synthetics. // // Returns information about one group. Groups are a global resource, so you // can use this operation from any 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 Synthetics's // API operation GetGroup for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // - ResourceNotFoundException // One of the specified resources was not found. // // - ConflictException // A conflicting operation is already in progress. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetGroup func (c *Synthetics) GetGroup(input *GetGroupInput) (*GetGroupOutput, error) { req, out := c.GetGroupRequest(input) return out, req.Send() } // GetGroupWithContext is the same as GetGroup with the addition of // the ability to pass a context and additional request options. // // See GetGroup 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 *Synthetics) GetGroupWithContext(ctx aws.Context, input *GetGroupInput, opts ...request.Option) (*GetGroupOutput, error) { req, out := c.GetGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opListAssociatedGroups = "ListAssociatedGroups" // ListAssociatedGroupsRequest generates a "aws/request.Request" representing the // client's request for the ListAssociatedGroups 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 ListAssociatedGroups for more information on using the ListAssociatedGroups // 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 ListAssociatedGroupsRequest method. // req, resp := client.ListAssociatedGroupsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/ListAssociatedGroups func (c *Synthetics) ListAssociatedGroupsRequest(input *ListAssociatedGroupsInput) (req *request.Request, output *ListAssociatedGroupsOutput) { op := &request.Operation{ Name: opListAssociatedGroups, HTTPMethod: "POST", HTTPPath: "/resource/{resourceArn}/groups", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &ListAssociatedGroupsInput{} } output = &ListAssociatedGroupsOutput{} req = c.newRequest(op, input, output) return } // ListAssociatedGroups API operation for Synthetics. // // Returns a list of the groups that the specified canary is associated with. // The canary that you specify must be in the current 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 Synthetics's // API operation ListAssociatedGroups for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // - ResourceNotFoundException // One of the specified resources was not found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/ListAssociatedGroups func (c *Synthetics) ListAssociatedGroups(input *ListAssociatedGroupsInput) (*ListAssociatedGroupsOutput, error) { req, out := c.ListAssociatedGroupsRequest(input) return out, req.Send() } // ListAssociatedGroupsWithContext is the same as ListAssociatedGroups with the addition of // the ability to pass a context and additional request options. // // See ListAssociatedGroups 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 *Synthetics) ListAssociatedGroupsWithContext(ctx aws.Context, input *ListAssociatedGroupsInput, opts ...request.Option) (*ListAssociatedGroupsOutput, error) { req, out := c.ListAssociatedGroupsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListAssociatedGroupsPages iterates over the pages of a ListAssociatedGroups operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListAssociatedGroups 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 ListAssociatedGroups operation. // pageNum := 0 // err := client.ListAssociatedGroupsPages(params, // func(page *synthetics.ListAssociatedGroupsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *Synthetics) ListAssociatedGroupsPages(input *ListAssociatedGroupsInput, fn func(*ListAssociatedGroupsOutput, bool) bool) error { return c.ListAssociatedGroupsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListAssociatedGroupsPagesWithContext same as ListAssociatedGroupsPages 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 *Synthetics) ListAssociatedGroupsPagesWithContext(ctx aws.Context, input *ListAssociatedGroupsInput, fn func(*ListAssociatedGroupsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListAssociatedGroupsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListAssociatedGroupsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListAssociatedGroupsOutput), !p.HasNextPage()) { break } } return p.Err() } const opListGroupResources = "ListGroupResources" // ListGroupResourcesRequest generates a "aws/request.Request" representing the // client's request for the ListGroupResources 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 ListGroupResources for more information on using the ListGroupResources // 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 ListGroupResourcesRequest method. // req, resp := client.ListGroupResourcesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/ListGroupResources func (c *Synthetics) ListGroupResourcesRequest(input *ListGroupResourcesInput) (req *request.Request, output *ListGroupResourcesOutput) { op := &request.Operation{ Name: opListGroupResources, HTTPMethod: "POST", HTTPPath: "/group/{groupIdentifier}/resources", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &ListGroupResourcesInput{} } output = &ListGroupResourcesOutput{} req = c.newRequest(op, input, output) return } // ListGroupResources API operation for Synthetics. // // This operation returns a list of the ARNs of the canaries that are associated // with the specified group. // // 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 Synthetics's // API operation ListGroupResources for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // - ResourceNotFoundException // One of the specified resources was not found. // // - ConflictException // A conflicting operation is already in progress. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/ListGroupResources func (c *Synthetics) ListGroupResources(input *ListGroupResourcesInput) (*ListGroupResourcesOutput, error) { req, out := c.ListGroupResourcesRequest(input) return out, req.Send() } // ListGroupResourcesWithContext is the same as ListGroupResources with the addition of // the ability to pass a context and additional request options. // // See ListGroupResources 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 *Synthetics) ListGroupResourcesWithContext(ctx aws.Context, input *ListGroupResourcesInput, opts ...request.Option) (*ListGroupResourcesOutput, error) { req, out := c.ListGroupResourcesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListGroupResourcesPages iterates over the pages of a ListGroupResources operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListGroupResources 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 ListGroupResources operation. // pageNum := 0 // err := client.ListGroupResourcesPages(params, // func(page *synthetics.ListGroupResourcesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *Synthetics) ListGroupResourcesPages(input *ListGroupResourcesInput, fn func(*ListGroupResourcesOutput, bool) bool) error { return c.ListGroupResourcesPagesWithContext(aws.BackgroundContext(), input, fn) } // ListGroupResourcesPagesWithContext same as ListGroupResourcesPages 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 *Synthetics) ListGroupResourcesPagesWithContext(ctx aws.Context, input *ListGroupResourcesInput, fn func(*ListGroupResourcesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListGroupResourcesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListGroupResourcesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListGroupResourcesOutput), !p.HasNextPage()) { break } } return p.Err() } const opListGroups = "ListGroups" // ListGroupsRequest generates a "aws/request.Request" representing the // client's request for the ListGroups 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 ListGroups for more information on using the ListGroups // 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 ListGroupsRequest method. // req, resp := client.ListGroupsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/ListGroups func (c *Synthetics) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) { op := &request.Operation{ Name: opListGroups, HTTPMethod: "POST", HTTPPath: "/groups", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &ListGroupsInput{} } output = &ListGroupsOutput{} req = c.newRequest(op, input, output) return } // ListGroups API operation for Synthetics. // // Returns a list of all groups in the account, displaying their names, unique // IDs, and ARNs. The groups from all Regions are returned. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Synthetics's // API operation ListGroups for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/ListGroups func (c *Synthetics) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) { req, out := c.ListGroupsRequest(input) return out, req.Send() } // ListGroupsWithContext is the same as ListGroups with the addition of // the ability to pass a context and additional request options. // // See ListGroups 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 *Synthetics) ListGroupsWithContext(ctx aws.Context, input *ListGroupsInput, opts ...request.Option) (*ListGroupsOutput, error) { req, out := c.ListGroupsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListGroupsPages iterates over the pages of a ListGroups operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListGroups 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 ListGroups operation. // pageNum := 0 // err := client.ListGroupsPages(params, // func(page *synthetics.ListGroupsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *Synthetics) ListGroupsPages(input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool) error { return c.ListGroupsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListGroupsPagesWithContext same as ListGroupsPages 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 *Synthetics) ListGroupsPagesWithContext(ctx aws.Context, input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListGroupsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListGroupsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListGroupsOutput), !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/synthetics-2017-10-11/ListTagsForResource func (c *Synthetics) 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 Synthetics. // // Displays the tags associated with a canary or group. // // 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 Synthetics's // API operation ListTagsForResource for usage and error information. // // Returned Error Types: // // - BadRequestException // The request was not valid. // // - NotFoundException // The specified resource was not found. // // - TooManyRequestsException // There were too many simultaneous requests. Try the operation again. // // - ConflictException // A conflicting operation is already in progress. // // - InternalFailureException // An internal failure occurred. Try the operation again. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/ListTagsForResource func (c *Synthetics) 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 *Synthetics) 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 opStartCanary = "StartCanary" // StartCanaryRequest generates a "aws/request.Request" representing the // client's request for the StartCanary 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 StartCanary for more information on using the StartCanary // 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 StartCanaryRequest method. // req, resp := client.StartCanaryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/StartCanary func (c *Synthetics) StartCanaryRequest(input *StartCanaryInput) (req *request.Request, output *StartCanaryOutput) { op := &request.Operation{ Name: opStartCanary, HTTPMethod: "POST", HTTPPath: "/canary/{name}/start", } if input == nil { input = &StartCanaryInput{} } output = &StartCanaryOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // StartCanary API operation for Synthetics. // // Use this operation to run a canary that has already been created. The frequency // of the canary runs is determined by the value of the canary's Schedule. To // see a canary's schedule, use GetCanary (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanary.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 Synthetics's // API operation StartCanary for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // - ResourceNotFoundException // One of the specified resources was not found. // // - ConflictException // A conflicting operation is already in progress. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/StartCanary func (c *Synthetics) StartCanary(input *StartCanaryInput) (*StartCanaryOutput, error) { req, out := c.StartCanaryRequest(input) return out, req.Send() } // StartCanaryWithContext is the same as StartCanary with the addition of // the ability to pass a context and additional request options. // // See StartCanary 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 *Synthetics) StartCanaryWithContext(ctx aws.Context, input *StartCanaryInput, opts ...request.Option) (*StartCanaryOutput, error) { req, out := c.StartCanaryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opStopCanary = "StopCanary" // StopCanaryRequest generates a "aws/request.Request" representing the // client's request for the StopCanary 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 StopCanary for more information on using the StopCanary // 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 StopCanaryRequest method. // req, resp := client.StopCanaryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/StopCanary func (c *Synthetics) StopCanaryRequest(input *StopCanaryInput) (req *request.Request, output *StopCanaryOutput) { op := &request.Operation{ Name: opStopCanary, HTTPMethod: "POST", HTTPPath: "/canary/{name}/stop", } if input == nil { input = &StopCanaryInput{} } output = &StopCanaryOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // StopCanary API operation for Synthetics. // // Stops the canary to prevent all future runs. If the canary is currently running,the // run that is in progress completes on its own, publishes metrics, and uploads // artifacts, but it is not recorded in Synthetics as a completed run. // // You can use StartCanary to start it running again with the canary’s current // schedule at any point in the future. // // 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 Synthetics's // API operation StopCanary for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // - ResourceNotFoundException // One of the specified resources was not found. // // - ConflictException // A conflicting operation is already in progress. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/StopCanary func (c *Synthetics) StopCanary(input *StopCanaryInput) (*StopCanaryOutput, error) { req, out := c.StopCanaryRequest(input) return out, req.Send() } // StopCanaryWithContext is the same as StopCanary with the addition of // the ability to pass a context and additional request options. // // See StopCanary 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 *Synthetics) StopCanaryWithContext(ctx aws.Context, input *StopCanaryInput, opts ...request.Option) (*StopCanaryOutput, error) { req, out := c.StopCanaryRequest(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/synthetics-2017-10-11/TagResource func (c *Synthetics) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ Name: opTagResource, HTTPMethod: "POST", 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 Synthetics. // // Assigns one or more tags (key-value pairs) to the specified canary or group. // // 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 resource, this tag is appended to the // list of tags associated with the resource. If you specify a tag key that // is already associated with the resource, the new tag value that you specify // replaces the previous value for that tag. // // You can associate as many as 50 tags with a canary or group. // // 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 Synthetics's // API operation TagResource for usage and error information. // // Returned Error Types: // // - BadRequestException // The request was not valid. // // - NotFoundException // The specified resource was not found. // // - TooManyRequestsException // There were too many simultaneous requests. Try the operation again. // // - ConflictException // A conflicting operation is already in progress. // // - InternalFailureException // An internal failure occurred. Try the operation again. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/TagResource func (c *Synthetics) 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 *Synthetics) 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/synthetics-2017-10-11/UntagResource func (c *Synthetics) 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 Synthetics. // // Removes one or more tags from the specified resource. // // 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 Synthetics's // API operation UntagResource for usage and error information. // // Returned Error Types: // // - BadRequestException // The request was not valid. // // - NotFoundException // The specified resource was not found. // // - TooManyRequestsException // There were too many simultaneous requests. Try the operation again. // // - ConflictException // A conflicting operation is already in progress. // // - InternalFailureException // An internal failure occurred. Try the operation again. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/UntagResource func (c *Synthetics) 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 *Synthetics) 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 opUpdateCanary = "UpdateCanary" // UpdateCanaryRequest generates a "aws/request.Request" representing the // client's request for the UpdateCanary 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 UpdateCanary for more information on using the UpdateCanary // 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 UpdateCanaryRequest method. // req, resp := client.UpdateCanaryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/UpdateCanary func (c *Synthetics) UpdateCanaryRequest(input *UpdateCanaryInput) (req *request.Request, output *UpdateCanaryOutput) { op := &request.Operation{ Name: opUpdateCanary, HTTPMethod: "PATCH", HTTPPath: "/canary/{name}", } if input == nil { input = &UpdateCanaryInput{} } output = &UpdateCanaryOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // UpdateCanary API operation for Synthetics. // // Updates the configuration of a canary that has already been created. // // You can't use this operation to update the tags of an existing canary. To // change the tags of an existing canary, use TagResource (https://docs.aws.amazon.com/AmazonSynthetics/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 Synthetics's // API operation UpdateCanary for usage and error information. // // Returned Error Types: // // - InternalServerException // An unknown internal error occurred. // // - ValidationException // A parameter could not be validated. // // - ResourceNotFoundException // One of the specified resources was not found. // // - ConflictException // A conflicting operation is already in progress. // // - RequestEntityTooLargeException // One of the input resources is larger than is allowed. // // See also, https://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/UpdateCanary func (c *Synthetics) UpdateCanary(input *UpdateCanaryInput) (*UpdateCanaryOutput, error) { req, out := c.UpdateCanaryRequest(input) return out, req.Send() } // UpdateCanaryWithContext is the same as UpdateCanary with the addition of // the ability to pass a context and additional request options. // // See UpdateCanary 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 *Synthetics) UpdateCanaryWithContext(ctx aws.Context, input *UpdateCanaryInput, opts ...request.Option) (*UpdateCanaryOutput, error) { req, out := c.UpdateCanaryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // A structure that contains the configuration for canary artifacts, including // the encryption-at-rest settings for artifacts that the canary uploads to // Amazon S3. type ArtifactConfigInput_ struct { _ struct{} `type:"structure"` // A structure that contains the configuration of the encryption-at-rest settings // for artifacts that the canary uploads to Amazon S3. Artifact encryption functionality // is available only for canaries that use Synthetics runtime version syn-nodejs-puppeteer-3.3 // or later. For more information, see Encrypting canary artifacts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_artifact_encryption.html) S3Encryption *S3EncryptionConfig `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 ArtifactConfigInput_) 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 ArtifactConfigInput_) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ArtifactConfigInput_) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ArtifactConfigInput_"} if s.S3Encryption != nil { if err := s.S3Encryption.Validate(); err != nil { invalidParams.AddNested("S3Encryption", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetS3Encryption sets the S3Encryption field's value. func (s *ArtifactConfigInput_) SetS3Encryption(v *S3EncryptionConfig) *ArtifactConfigInput_ { s.S3Encryption = v return s } // A structure that contains the configuration for canary artifacts, including // the encryption-at-rest settings for artifacts that the canary uploads to // Amazon S3. type ArtifactConfigOutput_ struct { _ struct{} `type:"structure"` // A structure that contains the configuration of encryption settings for canary // artifacts that are stored in Amazon S3. S3Encryption *S3EncryptionConfig `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 ArtifactConfigOutput_) 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 ArtifactConfigOutput_) GoString() string { return s.String() } // SetS3Encryption sets the S3Encryption field's value. func (s *ArtifactConfigOutput_) SetS3Encryption(v *S3EncryptionConfig) *ArtifactConfigOutput_ { s.S3Encryption = v return s } type AssociateResourceInput struct { _ struct{} `type:"structure"` // Specifies the group. You can specify the group name, the ARN, or the group // ID as the GroupIdentifier. // // GroupIdentifier is a required field GroupIdentifier *string `location:"uri" locationName:"groupIdentifier" min:"1" type:"string" required:"true"` // The ARN of the canary that you want to associate with the specified group. // // ResourceArn is a required field ResourceArn *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 AssociateResourceInput) 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 AssociateResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *AssociateResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AssociateResourceInput"} if s.GroupIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("GroupIdentifier")) } if s.GroupIdentifier != nil && len(*s.GroupIdentifier) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupIdentifier", 1)) } 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 } // SetGroupIdentifier sets the GroupIdentifier field's value. func (s *AssociateResourceInput) SetGroupIdentifier(v string) *AssociateResourceInput { s.GroupIdentifier = &v return s } // SetResourceArn sets the ResourceArn field's value. func (s *AssociateResourceInput) SetResourceArn(v string) *AssociateResourceInput { s.ResourceArn = &v return s } type AssociateResourceOutput 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 AssociateResourceOutput) 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 AssociateResourceOutput) GoString() string { return s.String() } // The request was not valid. type BadRequestException 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 BadRequestException) 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 BadRequestException) GoString() string { return s.String() } func newErrorBadRequestException(v protocol.ResponseMetadata) error { return &BadRequestException{ RespMetadata: v, } } // Code returns the exception type name. func (s *BadRequestException) Code() string { return "BadRequestException" } // Message returns the exception's message. func (s *BadRequestException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *BadRequestException) OrigErr() error { return nil } func (s *BadRequestException) 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 *BadRequestException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *BadRequestException) RequestID() string { return s.RespMetadata.RequestID } // A structure representing a screenshot that is used as a baseline during visual // monitoring comparisons made by the canary. type BaseScreenshot struct { _ struct{} `type:"structure"` // Coordinates that define the part of a screen to ignore during screenshot // comparisons. To obtain the coordinates to use here, use the CloudWatch console // to draw the boundaries on the screen. For more information, see Editing or // deleting a canary (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/synthetics_canaries_deletion.html) IgnoreCoordinates []*string `type:"list"` // The name of the screenshot. This is generated the first time the canary is // run after the UpdateCanary operation that specified for this canary to perform // visual monitoring. // // ScreenshotName is a required field ScreenshotName *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 BaseScreenshot) 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 BaseScreenshot) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *BaseScreenshot) Validate() error { invalidParams := request.ErrInvalidParams{Context: "BaseScreenshot"} if s.ScreenshotName == nil { invalidParams.Add(request.NewErrParamRequired("ScreenshotName")) } if s.ScreenshotName != nil && len(*s.ScreenshotName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ScreenshotName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetIgnoreCoordinates sets the IgnoreCoordinates field's value. func (s *BaseScreenshot) SetIgnoreCoordinates(v []*string) *BaseScreenshot { s.IgnoreCoordinates = v return s } // SetScreenshotName sets the ScreenshotName field's value. func (s *BaseScreenshot) SetScreenshotName(v string) *BaseScreenshot { s.ScreenshotName = &v return s } // This structure contains all information about one canary in your account. type Canary struct { _ struct{} `type:"structure"` // A structure that contains the configuration for canary artifacts, including // the encryption-at-rest settings for artifacts that the canary uploads to // Amazon S3. ArtifactConfig *ArtifactConfigOutput_ `type:"structure"` // The location in Amazon S3 where Synthetics stores artifacts from the runs // of this canary. Artifacts include the log file, screenshots, and HAR files. ArtifactS3Location *string `min:"1" type:"string"` // This structure contains information about the canary's Lambda handler and // where its code is stored by CloudWatch Synthetics. Code *CanaryCodeOutput `type:"structure"` // The ARN of the Lambda function that is used as your canary's engine. For // more information about Lambda ARN format, see Resources and Conditions for // Lambda Actions (https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html). EngineArn *string `min:"1" type:"string"` // The ARN of the IAM role used to run the canary. This role must include lambda.amazonaws.com // as a principal in the trust policy. ExecutionRoleArn *string `min:"1" type:"string"` // The number of days to retain data about failed runs of this canary. FailureRetentionPeriodInDays *int64 `min:"1" type:"integer"` // The unique ID of this canary. Id *string `type:"string"` // The name of the canary. Name *string `min:"1" type:"string"` // A structure that contains information about a canary run. RunConfig *CanaryRunConfigOutput `type:"structure"` // Specifies the runtime version to use for the canary. For more information // about runtime versions, see Canary Runtime Versions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). RuntimeVersion *string `min:"1" type:"string"` // A structure that contains information about how often the canary is to run, // and when these runs are to stop. Schedule *CanaryScheduleOutput `type:"structure"` // A structure that contains information about the canary's status. Status *CanaryStatus `type:"structure"` // The number of days to retain data about successful runs of this canary. SuccessRetentionPeriodInDays *int64 `min:"1" type:"integer"` // The list of key-value pairs that are associated with the canary. Tags map[string]*string `min:"1" type:"map"` // A structure that contains information about when the canary was created, // modified, and most recently run. Timeline *CanaryTimeline `type:"structure"` // If this canary performs visual monitoring by comparing screenshots, this // structure contains the ID of the canary run to use as the baseline for screenshots, // and the coordinates of any parts of the screen to ignore during the visual // monitoring comparison. VisualReference *VisualReferenceOutput_ `type:"structure"` // If this canary is to test an endpoint in a VPC, this structure contains information // about the subnets and security groups of the VPC endpoint. For more information, // see Running a Canary in a VPC (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html). VpcConfig *VpcConfigOutput `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 Canary) 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 Canary) GoString() string { return s.String() } // SetArtifactConfig sets the ArtifactConfig field's value. func (s *Canary) SetArtifactConfig(v *ArtifactConfigOutput_) *Canary { s.ArtifactConfig = v return s } // SetArtifactS3Location sets the ArtifactS3Location field's value. func (s *Canary) SetArtifactS3Location(v string) *Canary { s.ArtifactS3Location = &v return s } // SetCode sets the Code field's value. func (s *Canary) SetCode(v *CanaryCodeOutput) *Canary { s.Code = v return s } // SetEngineArn sets the EngineArn field's value. func (s *Canary) SetEngineArn(v string) *Canary { s.EngineArn = &v return s } // SetExecutionRoleArn sets the ExecutionRoleArn field's value. func (s *Canary) SetExecutionRoleArn(v string) *Canary { s.ExecutionRoleArn = &v return s } // SetFailureRetentionPeriodInDays sets the FailureRetentionPeriodInDays field's value. func (s *Canary) SetFailureRetentionPeriodInDays(v int64) *Canary { s.FailureRetentionPeriodInDays = &v return s } // SetId sets the Id field's value. func (s *Canary) SetId(v string) *Canary { s.Id = &v return s } // SetName sets the Name field's value. func (s *Canary) SetName(v string) *Canary { s.Name = &v return s } // SetRunConfig sets the RunConfig field's value. func (s *Canary) SetRunConfig(v *CanaryRunConfigOutput) *Canary { s.RunConfig = v return s } // SetRuntimeVersion sets the RuntimeVersion field's value. func (s *Canary) SetRuntimeVersion(v string) *Canary { s.RuntimeVersion = &v return s } // SetSchedule sets the Schedule field's value. func (s *Canary) SetSchedule(v *CanaryScheduleOutput) *Canary { s.Schedule = v return s } // SetStatus sets the Status field's value. func (s *Canary) SetStatus(v *CanaryStatus) *Canary { s.Status = v return s } // SetSuccessRetentionPeriodInDays sets the SuccessRetentionPeriodInDays field's value. func (s *Canary) SetSuccessRetentionPeriodInDays(v int64) *Canary { s.SuccessRetentionPeriodInDays = &v return s } // SetTags sets the Tags field's value. func (s *Canary) SetTags(v map[string]*string) *Canary { s.Tags = v return s } // SetTimeline sets the Timeline field's value. func (s *Canary) SetTimeline(v *CanaryTimeline) *Canary { s.Timeline = v return s } // SetVisualReference sets the VisualReference field's value. func (s *Canary) SetVisualReference(v *VisualReferenceOutput_) *Canary { s.VisualReference = v return s } // SetVpcConfig sets the VpcConfig field's value. func (s *Canary) SetVpcConfig(v *VpcConfigOutput) *Canary { s.VpcConfig = v return s } // Use this structure to input your script code for the canary. This structure // contains the Lambda handler with the location where the canary should start // running the script. If the script is stored in an S3 bucket, the bucket name, // key, and version are also included. If the script was passed into the canary // directly, the script code is contained in the value of Zipfile. type CanaryCodeInput struct { _ struct{} `type:"structure"` // The entry point to use for the source code when running the canary. For canaries // that use the syn-python-selenium-1.0 runtime or a syn-nodejs.puppeteer runtime // earlier than syn-nodejs.puppeteer-3.4, the handler must be specified as fileName.handler. // For syn-python-selenium-1.1, syn-nodejs.puppeteer-3.4, and later runtimes, // the handler can be specified as fileName.functionName , or you can specify // a folder where canary scripts reside as folder/fileName.functionName . // // Handler is a required field Handler *string `min:"1" type:"string" required:"true"` // If your canary script is located in S3, specify the bucket name here. Do // not include s3:// as the start of the bucket name. S3Bucket *string `min:"1" type:"string"` // The S3 key of your script. For more information, see Working with Amazon // S3 Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html). S3Key *string `min:"1" type:"string"` // The S3 version ID of your script. S3Version *string `min:"1" type:"string"` // If you input your canary script directly into the canary instead of referring // to an S3 location, the value of this parameter is the base64-encoded contents // of the .zip file that contains the script. It must be smaller than 225 Kb. // // For large canary scripts, we recommend that you use an S3 location instead // of inputting it directly with this parameter. // ZipFile is automatically base64 encoded/decoded by the SDK. ZipFile []byte `min:"1" type:"blob"` } // 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 CanaryCodeInput) 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 CanaryCodeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CanaryCodeInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CanaryCodeInput"} if s.Handler == nil { invalidParams.Add(request.NewErrParamRequired("Handler")) } if s.Handler != nil && len(*s.Handler) < 1 { invalidParams.Add(request.NewErrParamMinLen("Handler", 1)) } if s.S3Bucket != nil && len(*s.S3Bucket) < 1 { invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 1)) } if s.S3Key != nil && len(*s.S3Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("S3Key", 1)) } if s.S3Version != nil && len(*s.S3Version) < 1 { invalidParams.Add(request.NewErrParamMinLen("S3Version", 1)) } if s.ZipFile != nil && len(s.ZipFile) < 1 { invalidParams.Add(request.NewErrParamMinLen("ZipFile", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetHandler sets the Handler field's value. func (s *CanaryCodeInput) SetHandler(v string) *CanaryCodeInput { s.Handler = &v return s } // SetS3Bucket sets the S3Bucket field's value. func (s *CanaryCodeInput) SetS3Bucket(v string) *CanaryCodeInput { s.S3Bucket = &v return s } // SetS3Key sets the S3Key field's value. func (s *CanaryCodeInput) SetS3Key(v string) *CanaryCodeInput { s.S3Key = &v return s } // SetS3Version sets the S3Version field's value. func (s *CanaryCodeInput) SetS3Version(v string) *CanaryCodeInput { s.S3Version = &v return s } // SetZipFile sets the ZipFile field's value. func (s *CanaryCodeInput) SetZipFile(v []byte) *CanaryCodeInput { s.ZipFile = v return s } // This structure contains information about the canary's Lambda handler and // where its code is stored by CloudWatch Synthetics. type CanaryCodeOutput struct { _ struct{} `type:"structure"` // The entry point to use for the source code when running the canary. Handler *string `min:"1" type:"string"` // The ARN of the Lambda layer where Synthetics stores the canary script code. SourceLocationArn *string `min:"1" 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 CanaryCodeOutput) 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 CanaryCodeOutput) GoString() string { return s.String() } // SetHandler sets the Handler field's value. func (s *CanaryCodeOutput) SetHandler(v string) *CanaryCodeOutput { s.Handler = &v return s } // SetSourceLocationArn sets the SourceLocationArn field's value. func (s *CanaryCodeOutput) SetSourceLocationArn(v string) *CanaryCodeOutput { s.SourceLocationArn = &v return s } // This structure contains information about the most recent run of a single // canary. type CanaryLastRun struct { _ struct{} `type:"structure"` // The name of the canary. CanaryName *string `min:"1" type:"string"` // The results from this canary's most recent run. LastRun *CanaryRun `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 CanaryLastRun) 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 CanaryLastRun) GoString() string { return s.String() } // SetCanaryName sets the CanaryName field's value. func (s *CanaryLastRun) SetCanaryName(v string) *CanaryLastRun { s.CanaryName = &v return s } // SetLastRun sets the LastRun field's value. func (s *CanaryLastRun) SetLastRun(v *CanaryRun) *CanaryLastRun { s.LastRun = v return s } // This structure contains the details about one run of one canary. type CanaryRun struct { _ struct{} `type:"structure"` // The location where the canary stored artifacts from the run. Artifacts include // the log file, screenshots, and HAR files. ArtifactS3Location *string `min:"1" type:"string"` // A unique ID that identifies this canary run. Id *string `type:"string"` // The name of the canary. Name *string `min:"1" type:"string"` // The status of this run. Status *CanaryRunStatus `type:"structure"` // A structure that contains the start and end times of this run. Timeline *CanaryRunTimeline `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 CanaryRun) 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 CanaryRun) GoString() string { return s.String() } // SetArtifactS3Location sets the ArtifactS3Location field's value. func (s *CanaryRun) SetArtifactS3Location(v string) *CanaryRun { s.ArtifactS3Location = &v return s } // SetId sets the Id field's value. func (s *CanaryRun) SetId(v string) *CanaryRun { s.Id = &v return s } // SetName sets the Name field's value. func (s *CanaryRun) SetName(v string) *CanaryRun { s.Name = &v return s } // SetStatus sets the Status field's value. func (s *CanaryRun) SetStatus(v *CanaryRunStatus) *CanaryRun { s.Status = v return s } // SetTimeline sets the Timeline field's value. func (s *CanaryRun) SetTimeline(v *CanaryRunTimeline) *CanaryRun { s.Timeline = v return s } // A structure that contains input information for a canary run. type CanaryRunConfigInput struct { _ struct{} `type:"structure"` // Specifies whether this canary is to use active X-Ray tracing when it runs. // Active tracing enables this canary run to be displayed in the ServiceLens // and X-Ray service maps even if the canary does not hit an endpoint that has // X-Ray tracing enabled. Using X-Ray tracing incurs charges. For more information, // see Canaries and X-Ray tracing (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_tracing.html). // // You can enable active tracing only for canaries that use version syn-nodejs-2.0 // or later for their canary runtime. ActiveTracing *bool `type:"boolean"` // Specifies the keys and values to use for any environment variables used in // the canary script. Use the following format: // // { "key1" : "value1", "key2" : "value2", ...} // // Keys must start with a letter and be at least two characters. The total size // of your environment variables cannot exceed 4 KB. You can't specify any Lambda // reserved environment variables as the keys for your environment variables. // For more information about reserved keys, see Runtime environment variables // (https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime). // // The environment variables keys and values are not encrypted. Do not store // sensitive information in this field. EnvironmentVariables map[string]*string `type:"map"` // The maximum amount of memory available to the canary while it is running, // in MB. This value must be a multiple of 64. MemoryInMB *int64 `min:"960" type:"integer"` // How long the canary is allowed to run before it must stop. You can't set // this time to be longer than the frequency of the runs of this canary. // // If you omit this field, the frequency of the canary is used as this value, // up to a maximum of 14 minutes. TimeoutInSeconds *int64 `min:"3" type:"integer"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CanaryRunConfigInput) 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 CanaryRunConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CanaryRunConfigInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CanaryRunConfigInput"} if s.MemoryInMB != nil && *s.MemoryInMB < 960 { invalidParams.Add(request.NewErrParamMinValue("MemoryInMB", 960)) } if s.TimeoutInSeconds != nil && *s.TimeoutInSeconds < 3 { invalidParams.Add(request.NewErrParamMinValue("TimeoutInSeconds", 3)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetActiveTracing sets the ActiveTracing field's value. func (s *CanaryRunConfigInput) SetActiveTracing(v bool) *CanaryRunConfigInput { s.ActiveTracing = &v return s } // SetEnvironmentVariables sets the EnvironmentVariables field's value. func (s *CanaryRunConfigInput) SetEnvironmentVariables(v map[string]*string) *CanaryRunConfigInput { s.EnvironmentVariables = v return s } // SetMemoryInMB sets the MemoryInMB field's value. func (s *CanaryRunConfigInput) SetMemoryInMB(v int64) *CanaryRunConfigInput { s.MemoryInMB = &v return s } // SetTimeoutInSeconds sets the TimeoutInSeconds field's value. func (s *CanaryRunConfigInput) SetTimeoutInSeconds(v int64) *CanaryRunConfigInput { s.TimeoutInSeconds = &v return s } // A structure that contains information about a canary run. type CanaryRunConfigOutput struct { _ struct{} `type:"structure"` // Displays whether this canary run used active X-Ray tracing. ActiveTracing *bool `type:"boolean"` // The maximum amount of memory available to the canary while it is running, // in MB. This value must be a multiple of 64. MemoryInMB *int64 `min:"960" type:"integer"` // How long the canary is allowed to run before it must stop. TimeoutInSeconds *int64 `min:"3" type:"integer"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CanaryRunConfigOutput) 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 CanaryRunConfigOutput) GoString() string { return s.String() } // SetActiveTracing sets the ActiveTracing field's value. func (s *CanaryRunConfigOutput) SetActiveTracing(v bool) *CanaryRunConfigOutput { s.ActiveTracing = &v return s } // SetMemoryInMB sets the MemoryInMB field's value. func (s *CanaryRunConfigOutput) SetMemoryInMB(v int64) *CanaryRunConfigOutput { s.MemoryInMB = &v return s } // SetTimeoutInSeconds sets the TimeoutInSeconds field's value. func (s *CanaryRunConfigOutput) SetTimeoutInSeconds(v int64) *CanaryRunConfigOutput { s.TimeoutInSeconds = &v return s } // This structure contains the status information about a canary run. type CanaryRunStatus struct { _ struct{} `type:"structure"` // The current state of the run. State *string `type:"string" enum:"CanaryRunState"` // If run of the canary failed, this field contains the reason for the error. StateReason *string `min:"1" type:"string"` // If this value is CANARY_FAILURE, an exception occurred in the canary code. // If this value is EXECUTION_FAILURE, an exception occurred in CloudWatch Synthetics. StateReasonCode *string `type:"string" enum:"CanaryRunStateReasonCode"` } // 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 CanaryRunStatus) 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 CanaryRunStatus) GoString() string { return s.String() } // SetState sets the State field's value. func (s *CanaryRunStatus) SetState(v string) *CanaryRunStatus { s.State = &v return s } // SetStateReason sets the StateReason field's value. func (s *CanaryRunStatus) SetStateReason(v string) *CanaryRunStatus { s.StateReason = &v return s } // SetStateReasonCode sets the StateReasonCode field's value. func (s *CanaryRunStatus) SetStateReasonCode(v string) *CanaryRunStatus { s.StateReasonCode = &v return s } // This structure contains the start and end times of a single canary run. type CanaryRunTimeline struct { _ struct{} `type:"structure"` // The end time of the run. Completed *time.Time `type:"timestamp"` // The start time of the run. Started *time.Time `type:"timestamp"` } // 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 CanaryRunTimeline) 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 CanaryRunTimeline) GoString() string { return s.String() } // SetCompleted sets the Completed field's value. func (s *CanaryRunTimeline) SetCompleted(v time.Time) *CanaryRunTimeline { s.Completed = &v return s } // SetStarted sets the Started field's value. func (s *CanaryRunTimeline) SetStarted(v time.Time) *CanaryRunTimeline { s.Started = &v return s } // This structure specifies how often a canary is to make runs and the date // and time when it should stop making runs. type CanaryScheduleInput struct { _ struct{} `type:"structure"` // How long, in seconds, for the canary to continue making regular runs according // to the schedule in the Expression value. If you specify 0, the canary continues // making runs until you stop it. If you omit this field, the default of 0 is // used. DurationInSeconds *int64 `type:"long"` // A rate expression or a cron expression that defines how often the canary // is to run. // // For a rate expression, The syntax is rate(number unit). unit can be minute, // minutes, or hour. // // For example, rate(1 minute) runs the canary once a minute, rate(10 minutes) // runs it once every 10 minutes, and rate(1 hour) runs it once every hour. // You can specify a frequency between rate(1 minute) and rate(1 hour). // // Specifying rate(0 minute) or rate(0 hour) is a special value that causes // the canary to run only once when it is started. // // Use cron(expression) to specify a cron expression. You can't schedule a canary // to wait for more than a year before running. For information about the syntax // for cron expressions, see Scheduling canary runs using cron (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_cron.html). // // Expression is a required field Expression *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 CanaryScheduleInput) 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 CanaryScheduleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CanaryScheduleInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CanaryScheduleInput"} if s.Expression == nil { invalidParams.Add(request.NewErrParamRequired("Expression")) } if s.Expression != nil && len(*s.Expression) < 1 { invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetDurationInSeconds sets the DurationInSeconds field's value. func (s *CanaryScheduleInput) SetDurationInSeconds(v int64) *CanaryScheduleInput { s.DurationInSeconds = &v return s } // SetExpression sets the Expression field's value. func (s *CanaryScheduleInput) SetExpression(v string) *CanaryScheduleInput { s.Expression = &v return s } // How long, in seconds, for the canary to continue making regular runs according // to the schedule in the Expression value. type CanaryScheduleOutput struct { _ struct{} `type:"structure"` // How long, in seconds, for the canary to continue making regular runs after // it was created. The runs are performed according to the schedule in the Expression // value. DurationInSeconds *int64 `type:"long"` // A rate expression or a cron expression that defines how often the canary // is to run. // // For a rate expression, The syntax is rate(number unit). unit can be minute, // minutes, or hour. // // For example, rate(1 minute) runs the canary once a minute, rate(10 minutes) // runs it once every 10 minutes, and rate(1 hour) runs it once every hour. // You can specify a frequency between rate(1 minute) and rate(1 hour). // // Specifying rate(0 minute) or rate(0 hour) is a special value that causes // the canary to run only once when it is started. // // Use cron(expression) to specify a cron expression. For information about // the syntax for cron expressions, see Scheduling canary runs using cron (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_cron.html). Expression *string `min:"1" 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 CanaryScheduleOutput) 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 CanaryScheduleOutput) GoString() string { return s.String() } // SetDurationInSeconds sets the DurationInSeconds field's value. func (s *CanaryScheduleOutput) SetDurationInSeconds(v int64) *CanaryScheduleOutput { s.DurationInSeconds = &v return s } // SetExpression sets the Expression field's value. func (s *CanaryScheduleOutput) SetExpression(v string) *CanaryScheduleOutput { s.Expression = &v return s } // A structure that contains the current state of the canary. type CanaryStatus struct { _ struct{} `type:"structure"` // The current state of the canary. State *string `type:"string" enum:"CanaryState"` // If the canary has insufficient permissions to run, this field provides more // details. StateReason *string `min:"1" type:"string"` // If the canary cannot run or has failed, this field displays the reason. StateReasonCode *string `type:"string" enum:"CanaryStateReasonCode"` } // 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 CanaryStatus) 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 CanaryStatus) GoString() string { return s.String() } // SetState sets the State field's value. func (s *CanaryStatus) SetState(v string) *CanaryStatus { s.State = &v return s } // SetStateReason sets the StateReason field's value. func (s *CanaryStatus) SetStateReason(v string) *CanaryStatus { s.StateReason = &v return s } // SetStateReasonCode sets the StateReasonCode field's value. func (s *CanaryStatus) SetStateReasonCode(v string) *CanaryStatus { s.StateReasonCode = &v return s } // This structure contains information about when the canary was created and // modified. type CanaryTimeline struct { _ struct{} `type:"structure"` // The date and time the canary was created. Created *time.Time `type:"timestamp"` // The date and time the canary was most recently modified. LastModified *time.Time `type:"timestamp"` // The date and time that the canary's most recent run started. LastStarted *time.Time `type:"timestamp"` // The date and time that the canary's most recent run ended. LastStopped *time.Time `type:"timestamp"` } // 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 CanaryTimeline) 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 CanaryTimeline) GoString() string { return s.String() } // SetCreated sets the Created field's value. func (s *CanaryTimeline) SetCreated(v time.Time) *CanaryTimeline { s.Created = &v return s } // SetLastModified sets the LastModified field's value. func (s *CanaryTimeline) SetLastModified(v time.Time) *CanaryTimeline { s.LastModified = &v return s } // SetLastStarted sets the LastStarted field's value. func (s *CanaryTimeline) SetLastStarted(v time.Time) *CanaryTimeline { s.LastStarted = &v return s } // SetLastStopped sets the LastStopped field's value. func (s *CanaryTimeline) SetLastStopped(v time.Time) *CanaryTimeline { s.LastStopped = &v return s } // A conflicting operation is already in progress. type ConflictException 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 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", s.Code(), s.Message()) } // 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 CreateCanaryInput struct { _ struct{} `type:"structure"` // A structure that contains the configuration for canary artifacts, including // the encryption-at-rest settings for artifacts that the canary uploads to // Amazon S3. ArtifactConfig *ArtifactConfigInput_ `type:"structure"` // The location in Amazon S3 where Synthetics stores artifacts from the test // runs of this canary. Artifacts include the log file, screenshots, and HAR // files. The name of the S3 bucket can't include a period (.). // // ArtifactS3Location is a required field ArtifactS3Location *string `min:"1" type:"string" required:"true"` // A structure that includes the entry point from which the canary should start // running your script. If the script is stored in an S3 bucket, the bucket // name, key, and version are also included. // // Code is a required field Code *CanaryCodeInput `type:"structure" required:"true"` // The ARN of the IAM role to be used to run the canary. This role must already // exist, and must include lambda.amazonaws.com as a principal in the trust // policy. The role must also have the following permissions: // // * s3:PutObject // // * s3:GetBucketLocation // // * s3:ListAllMyBuckets // // * cloudwatch:PutMetricData // // * logs:CreateLogGroup // // * logs:CreateLogStream // // * logs:PutLogEvents // // ExecutionRoleArn is a required field ExecutionRoleArn *string `min:"1" type:"string" required:"true"` // The number of days to retain data about failed runs of this canary. If you // omit this field, the default of 31 days is used. The valid range is 1 to // 455 days. FailureRetentionPeriodInDays *int64 `min:"1" type:"integer"` // The name for this canary. Be sure to give it a descriptive name that distinguishes // it from other canaries in your account. // // Do not include secrets or proprietary information in your canary names. The // canary name makes up part of the canary ARN, and the ARN is included in outbound // calls over the internet. For more information, see Security Considerations // for Synthetics Canaries (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/servicelens_canaries_security.html). // // Name is a required field Name *string `min:"1" type:"string" required:"true"` // A structure that contains the configuration for individual canary runs, such // as timeout value and environment variables. // // The environment variables keys and values are not encrypted. Do not store // sensitive information in this field. RunConfig *CanaryRunConfigInput `type:"structure"` // Specifies the runtime version to use for the canary. For a list of valid // runtime versions and more information about runtime versions, see Canary // Runtime Versions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). // // RuntimeVersion is a required field RuntimeVersion *string `min:"1" type:"string" required:"true"` // A structure that contains information about how often the canary is to run // and when these test runs are to stop. // // Schedule is a required field Schedule *CanaryScheduleInput `type:"structure" required:"true"` // The number of days to retain data about successful runs of this canary. If // you omit this field, the default of 31 days is used. The valid range is 1 // to 455 days. SuccessRetentionPeriodInDays *int64 `min:"1" type:"integer"` // A list of key-value pairs to associate with the canary. You can associate // as many as 50 tags with a canary. // // 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 the resources that have certain tag values. Tags map[string]*string `min:"1" type:"map"` // If this canary is to test an endpoint in a VPC, this structure contains information // about the subnet and security groups of the VPC endpoint. For more information, // see Running a Canary in a VPC (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html). VpcConfig *VpcConfigInput `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 CreateCanaryInput) 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 CreateCanaryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateCanaryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateCanaryInput"} if s.ArtifactS3Location == nil { invalidParams.Add(request.NewErrParamRequired("ArtifactS3Location")) } if s.ArtifactS3Location != nil && len(*s.ArtifactS3Location) < 1 { invalidParams.Add(request.NewErrParamMinLen("ArtifactS3Location", 1)) } if s.Code == nil { invalidParams.Add(request.NewErrParamRequired("Code")) } if s.ExecutionRoleArn == nil { invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn")) } if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 1)) } if s.FailureRetentionPeriodInDays != nil && *s.FailureRetentionPeriodInDays < 1 { invalidParams.Add(request.NewErrParamMinValue("FailureRetentionPeriodInDays", 1)) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if s.RuntimeVersion == nil { invalidParams.Add(request.NewErrParamRequired("RuntimeVersion")) } if s.RuntimeVersion != nil && len(*s.RuntimeVersion) < 1 { invalidParams.Add(request.NewErrParamMinLen("RuntimeVersion", 1)) } if s.Schedule == nil { invalidParams.Add(request.NewErrParamRequired("Schedule")) } if s.SuccessRetentionPeriodInDays != nil && *s.SuccessRetentionPeriodInDays < 1 { invalidParams.Add(request.NewErrParamMinValue("SuccessRetentionPeriodInDays", 1)) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } if s.ArtifactConfig != nil { if err := s.ArtifactConfig.Validate(); err != nil { invalidParams.AddNested("ArtifactConfig", err.(request.ErrInvalidParams)) } } if s.Code != nil { if err := s.Code.Validate(); err != nil { invalidParams.AddNested("Code", err.(request.ErrInvalidParams)) } } if s.RunConfig != nil { if err := s.RunConfig.Validate(); err != nil { invalidParams.AddNested("RunConfig", err.(request.ErrInvalidParams)) } } if s.Schedule != nil { if err := s.Schedule.Validate(); err != nil { invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetArtifactConfig sets the ArtifactConfig field's value. func (s *CreateCanaryInput) SetArtifactConfig(v *ArtifactConfigInput_) *CreateCanaryInput { s.ArtifactConfig = v return s } // SetArtifactS3Location sets the ArtifactS3Location field's value. func (s *CreateCanaryInput) SetArtifactS3Location(v string) *CreateCanaryInput { s.ArtifactS3Location = &v return s } // SetCode sets the Code field's value. func (s *CreateCanaryInput) SetCode(v *CanaryCodeInput) *CreateCanaryInput { s.Code = v return s } // SetExecutionRoleArn sets the ExecutionRoleArn field's value. func (s *CreateCanaryInput) SetExecutionRoleArn(v string) *CreateCanaryInput { s.ExecutionRoleArn = &v return s } // SetFailureRetentionPeriodInDays sets the FailureRetentionPeriodInDays field's value. func (s *CreateCanaryInput) SetFailureRetentionPeriodInDays(v int64) *CreateCanaryInput { s.FailureRetentionPeriodInDays = &v return s } // SetName sets the Name field's value. func (s *CreateCanaryInput) SetName(v string) *CreateCanaryInput { s.Name = &v return s } // SetRunConfig sets the RunConfig field's value. func (s *CreateCanaryInput) SetRunConfig(v *CanaryRunConfigInput) *CreateCanaryInput { s.RunConfig = v return s } // SetRuntimeVersion sets the RuntimeVersion field's value. func (s *CreateCanaryInput) SetRuntimeVersion(v string) *CreateCanaryInput { s.RuntimeVersion = &v return s } // SetSchedule sets the Schedule field's value. func (s *CreateCanaryInput) SetSchedule(v *CanaryScheduleInput) *CreateCanaryInput { s.Schedule = v return s } // SetSuccessRetentionPeriodInDays sets the SuccessRetentionPeriodInDays field's value. func (s *CreateCanaryInput) SetSuccessRetentionPeriodInDays(v int64) *CreateCanaryInput { s.SuccessRetentionPeriodInDays = &v return s } // SetTags sets the Tags field's value. func (s *CreateCanaryInput) SetTags(v map[string]*string) *CreateCanaryInput { s.Tags = v return s } // SetVpcConfig sets the VpcConfig field's value. func (s *CreateCanaryInput) SetVpcConfig(v *VpcConfigInput) *CreateCanaryInput { s.VpcConfig = v return s } type CreateCanaryOutput struct { _ struct{} `type:"structure"` // The full details about the canary you have created. Canary *Canary `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 CreateCanaryOutput) 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 CreateCanaryOutput) GoString() string { return s.String() } // SetCanary sets the Canary field's value. func (s *CreateCanaryOutput) SetCanary(v *Canary) *CreateCanaryOutput { s.Canary = v return s } type CreateGroupInput struct { _ struct{} `type:"structure"` // The name for the group. It can include any Unicode characters. // // The names for all groups in your account, across all Regions, must be unique. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` // A list of key-value pairs to associate with the group. You can associate // as many as 50 tags with a group. // // 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 the resources that have certain tag values. Tags map[string]*string `min:"1" 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 CreateGroupInput) 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 CreateGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateGroupInput"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetName sets the Name field's value. func (s *CreateGroupInput) SetName(v string) *CreateGroupInput { s.Name = &v return s } // SetTags sets the Tags field's value. func (s *CreateGroupInput) SetTags(v map[string]*string) *CreateGroupInput { s.Tags = v return s } type CreateGroupOutput struct { _ struct{} `type:"structure"` // A structure that contains information about the group that was just created. Group *Group `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 CreateGroupOutput) 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 CreateGroupOutput) GoString() string { return s.String() } // SetGroup sets the Group field's value. func (s *CreateGroupOutput) SetGroup(v *Group) *CreateGroupOutput { s.Group = v return s } type DeleteCanaryInput struct { _ struct{} `type:"structure" nopayload:"true"` // Specifies whether to also delete the Lambda functions and layers used by // this canary. The default is false. // // Type: Boolean DeleteLambda *bool `location:"querystring" locationName:"deleteLambda" type:"boolean"` // The name of the canary that you want to delete. To find the names of your // canaries, use DescribeCanaries (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html). // // Name is a required field Name *string `location:"uri" locationName:"name" 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 DeleteCanaryInput) 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 DeleteCanaryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteCanaryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteCanaryInput"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetDeleteLambda sets the DeleteLambda field's value. func (s *DeleteCanaryInput) SetDeleteLambda(v bool) *DeleteCanaryInput { s.DeleteLambda = &v return s } // SetName sets the Name field's value. func (s *DeleteCanaryInput) SetName(v string) *DeleteCanaryInput { s.Name = &v return s } type DeleteCanaryOutput 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 DeleteCanaryOutput) 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 DeleteCanaryOutput) GoString() string { return s.String() } type DeleteGroupInput struct { _ struct{} `type:"structure" nopayload:"true"` // Specifies which group to delete. You can specify the group name, the ARN, // or the group ID as the GroupIdentifier. // // GroupIdentifier is a required field GroupIdentifier *string `location:"uri" locationName:"groupIdentifier" 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 DeleteGroupInput) 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 DeleteGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"} if s.GroupIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("GroupIdentifier")) } if s.GroupIdentifier != nil && len(*s.GroupIdentifier) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupIdentifier", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetGroupIdentifier sets the GroupIdentifier field's value. func (s *DeleteGroupInput) SetGroupIdentifier(v string) *DeleteGroupInput { s.GroupIdentifier = &v return s } type DeleteGroupOutput 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 DeleteGroupOutput) 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 DeleteGroupOutput) GoString() string { return s.String() } type DescribeCanariesInput struct { _ struct{} `type:"structure"` // Specify this parameter to limit how many canaries are returned each time // you use the DescribeCanaries operation. If you omit this parameter, the default // of 100 is used. MaxResults *int64 `min:"1" type:"integer"` // Use this parameter to return only canaries that match the names that you // specify here. You can specify as many as five canary names. // // If you specify this parameter, the operation is successful only if you have // authorization to view all the canaries that you specify in your request. // If you do not have permission to view any of the canaries, the request fails // with a 403 response. // // You are required to use this parameter if you are logged on to a user or // role that has an IAM policy that restricts which canaries that you are allowed // to view. For more information, see Limiting a user to viewing specific canaries // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Restricted.html). Names []*string `min:"1" type:"list"` // A token that indicates that there is more data available. You can use this // token in a subsequent operation to retrieve the next set of results. NextToken *string `min:"4" 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 DescribeCanariesInput) 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 DescribeCanariesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeCanariesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeCanariesInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.Names != nil && len(s.Names) < 1 { invalidParams.Add(request.NewErrParamMinLen("Names", 1)) } if s.NextToken != nil && len(*s.NextToken) < 4 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxResults sets the MaxResults field's value. func (s *DescribeCanariesInput) SetMaxResults(v int64) *DescribeCanariesInput { s.MaxResults = &v return s } // SetNames sets the Names field's value. func (s *DescribeCanariesInput) SetNames(v []*string) *DescribeCanariesInput { s.Names = v return s } // SetNextToken sets the NextToken field's value. func (s *DescribeCanariesInput) SetNextToken(v string) *DescribeCanariesInput { s.NextToken = &v return s } type DescribeCanariesLastRunInput struct { _ struct{} `type:"structure"` // Specify this parameter to limit how many runs are returned each time you // use the DescribeLastRun operation. If you omit this parameter, the default // of 100 is used. MaxResults *int64 `min:"1" type:"integer"` // Use this parameter to return only canaries that match the names that you // specify here. You can specify as many as five canary names. // // If you specify this parameter, the operation is successful only if you have // authorization to view all the canaries that you specify in your request. // If you do not have permission to view any of the canaries, the request fails // with a 403 response. // // You are required to use the Names parameter if you are logged on to a user // or role that has an IAM policy that restricts which canaries that you are // allowed to view. For more information, see Limiting a user to viewing specific // canaries (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Restricted.html). Names []*string `min:"1" type:"list"` // A token that indicates that there is more data available. You can use this // token in a subsequent DescribeCanariesLastRun operation to retrieve the next // set of results. NextToken *string `min:"4" 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 DescribeCanariesLastRunInput) 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 DescribeCanariesLastRunInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeCanariesLastRunInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeCanariesLastRunInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.Names != nil && len(s.Names) < 1 { invalidParams.Add(request.NewErrParamMinLen("Names", 1)) } if s.NextToken != nil && len(*s.NextToken) < 4 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxResults sets the MaxResults field's value. func (s *DescribeCanariesLastRunInput) SetMaxResults(v int64) *DescribeCanariesLastRunInput { s.MaxResults = &v return s } // SetNames sets the Names field's value. func (s *DescribeCanariesLastRunInput) SetNames(v []*string) *DescribeCanariesLastRunInput { s.Names = v return s } // SetNextToken sets the NextToken field's value. func (s *DescribeCanariesLastRunInput) SetNextToken(v string) *DescribeCanariesLastRunInput { s.NextToken = &v return s } type DescribeCanariesLastRunOutput struct { _ struct{} `type:"structure"` // An array that contains the information from the most recent run of each canary. CanariesLastRun []*CanaryLastRun `type:"list"` // A token that indicates that there is more data available. You can use this // token in a subsequent DescribeCanariesLastRun operation to retrieve the next // set of results. NextToken *string `min:"4" 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 DescribeCanariesLastRunOutput) 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 DescribeCanariesLastRunOutput) GoString() string { return s.String() } // SetCanariesLastRun sets the CanariesLastRun field's value. func (s *DescribeCanariesLastRunOutput) SetCanariesLastRun(v []*CanaryLastRun) *DescribeCanariesLastRunOutput { s.CanariesLastRun = v return s } // SetNextToken sets the NextToken field's value. func (s *DescribeCanariesLastRunOutput) SetNextToken(v string) *DescribeCanariesLastRunOutput { s.NextToken = &v return s } type DescribeCanariesOutput struct { _ struct{} `type:"structure"` // Returns an array. Each item in the array contains the full information about // one canary. Canaries []*Canary `type:"list"` // A token that indicates that there is more data available. You can use this // token in a subsequent DescribeCanaries operation to retrieve the next set // of results. NextToken *string `min:"4" 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 DescribeCanariesOutput) 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 DescribeCanariesOutput) GoString() string { return s.String() } // SetCanaries sets the Canaries field's value. func (s *DescribeCanariesOutput) SetCanaries(v []*Canary) *DescribeCanariesOutput { s.Canaries = v return s } // SetNextToken sets the NextToken field's value. func (s *DescribeCanariesOutput) SetNextToken(v string) *DescribeCanariesOutput { s.NextToken = &v return s } type DescribeRuntimeVersionsInput struct { _ struct{} `type:"structure"` // Specify this parameter to limit how many runs are returned each time you // use the DescribeRuntimeVersions operation. If you omit this parameter, the // default of 100 is used. MaxResults *int64 `min:"1" type:"integer"` // A token that indicates that there is more data available. You can use this // token in a subsequent DescribeRuntimeVersions operation to retrieve the next // set of results. NextToken *string `min:"4" 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 DescribeRuntimeVersionsInput) 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 DescribeRuntimeVersionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeRuntimeVersionsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeRuntimeVersionsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.NextToken != nil && len(*s.NextToken) < 4 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxResults sets the MaxResults field's value. func (s *DescribeRuntimeVersionsInput) SetMaxResults(v int64) *DescribeRuntimeVersionsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *DescribeRuntimeVersionsInput) SetNextToken(v string) *DescribeRuntimeVersionsInput { s.NextToken = &v return s } type DescribeRuntimeVersionsOutput struct { _ struct{} `type:"structure"` // A token that indicates that there is more data available. You can use this // token in a subsequent DescribeRuntimeVersions operation to retrieve the next // set of results. NextToken *string `min:"4" type:"string"` // An array of objects that display the details about each Synthetics canary // runtime version. RuntimeVersions []*RuntimeVersion `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 DescribeRuntimeVersionsOutput) 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 DescribeRuntimeVersionsOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. func (s *DescribeRuntimeVersionsOutput) SetNextToken(v string) *DescribeRuntimeVersionsOutput { s.NextToken = &v return s } // SetRuntimeVersions sets the RuntimeVersions field's value. func (s *DescribeRuntimeVersionsOutput) SetRuntimeVersions(v []*RuntimeVersion) *DescribeRuntimeVersionsOutput { s.RuntimeVersions = v return s } type DisassociateResourceInput struct { _ struct{} `type:"structure"` // Specifies the group. You can specify the group name, the ARN, or the group // ID as the GroupIdentifier. // // GroupIdentifier is a required field GroupIdentifier *string `location:"uri" locationName:"groupIdentifier" min:"1" type:"string" required:"true"` // The ARN of the canary that you want to remove from the specified group. // // ResourceArn is a required field ResourceArn *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 DisassociateResourceInput) 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 DisassociateResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DisassociateResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DisassociateResourceInput"} if s.GroupIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("GroupIdentifier")) } if s.GroupIdentifier != nil && len(*s.GroupIdentifier) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupIdentifier", 1)) } 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 } // SetGroupIdentifier sets the GroupIdentifier field's value. func (s *DisassociateResourceInput) SetGroupIdentifier(v string) *DisassociateResourceInput { s.GroupIdentifier = &v return s } // SetResourceArn sets the ResourceArn field's value. func (s *DisassociateResourceInput) SetResourceArn(v string) *DisassociateResourceInput { s.ResourceArn = &v return s } type DisassociateResourceOutput 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 DisassociateResourceOutput) 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 DisassociateResourceOutput) GoString() string { return s.String() } type GetCanaryInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the canary that you want details for. // // Name is a required field Name *string `location:"uri" locationName:"name" 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 GetCanaryInput) 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 GetCanaryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetCanaryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetCanaryInput"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetName sets the Name field's value. func (s *GetCanaryInput) SetName(v string) *GetCanaryInput { s.Name = &v return s } type GetCanaryOutput struct { _ struct{} `type:"structure"` // A structure that contains the full information about the canary. Canary *Canary `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 GetCanaryOutput) 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 GetCanaryOutput) GoString() string { return s.String() } // SetCanary sets the Canary field's value. func (s *GetCanaryOutput) SetCanary(v *Canary) *GetCanaryOutput { s.Canary = v return s } type GetCanaryRunsInput struct { _ struct{} `type:"structure"` // Specify this parameter to limit how many runs are returned each time you // use the GetCanaryRuns operation. If you omit this parameter, the default // of 100 is used. MaxResults *int64 `min:"1" type:"integer"` // The name of the canary that you want to see runs for. // // Name is a required field Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` // A token that indicates that there is more data available. You can use this // token in a subsequent GetCanaryRuns operation to retrieve the next set of // results. NextToken *string `min:"4" 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 GetCanaryRunsInput) 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 GetCanaryRunsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetCanaryRunsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetCanaryRunsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if s.NextToken != nil && len(*s.NextToken) < 4 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxResults sets the MaxResults field's value. func (s *GetCanaryRunsInput) SetMaxResults(v int64) *GetCanaryRunsInput { s.MaxResults = &v return s } // SetName sets the Name field's value. func (s *GetCanaryRunsInput) SetName(v string) *GetCanaryRunsInput { s.Name = &v return s } // SetNextToken sets the NextToken field's value. func (s *GetCanaryRunsInput) SetNextToken(v string) *GetCanaryRunsInput { s.NextToken = &v return s } type GetCanaryRunsOutput struct { _ struct{} `type:"structure"` // An array of structures. Each structure contains the details of one of the // retrieved canary runs. CanaryRuns []*CanaryRun `type:"list"` // A token that indicates that there is more data available. You can use this // token in a subsequent GetCanaryRuns operation to retrieve the next set of // results. NextToken *string `min:"4" 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 GetCanaryRunsOutput) 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 GetCanaryRunsOutput) GoString() string { return s.String() } // SetCanaryRuns sets the CanaryRuns field's value. func (s *GetCanaryRunsOutput) SetCanaryRuns(v []*CanaryRun) *GetCanaryRunsOutput { s.CanaryRuns = v return s } // SetNextToken sets the NextToken field's value. func (s *GetCanaryRunsOutput) SetNextToken(v string) *GetCanaryRunsOutput { s.NextToken = &v return s } type GetGroupInput struct { _ struct{} `type:"structure" nopayload:"true"` // Specifies the group to return information for. You can specify the group // name, the ARN, or the group ID as the GroupIdentifier. // // GroupIdentifier is a required field GroupIdentifier *string `location:"uri" locationName:"groupIdentifier" 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 GetGroupInput) 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 GetGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetGroupInput"} if s.GroupIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("GroupIdentifier")) } if s.GroupIdentifier != nil && len(*s.GroupIdentifier) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupIdentifier", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetGroupIdentifier sets the GroupIdentifier field's value. func (s *GetGroupInput) SetGroupIdentifier(v string) *GetGroupInput { s.GroupIdentifier = &v return s } type GetGroupOutput struct { _ struct{} `type:"structure"` // A structure that contains information about the group. Group *Group `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 GetGroupOutput) 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 GetGroupOutput) GoString() string { return s.String() } // SetGroup sets the Group field's value. func (s *GetGroupOutput) SetGroup(v *Group) *GetGroupOutput { s.Group = v return s } // This structure contains information about one group. type Group struct { _ struct{} `type:"structure"` // The ARN of the group. Arn *string `min:"1" type:"string"` // The date and time that the group was created. CreatedTime *time.Time `type:"timestamp"` // The unique ID of the group. Id *string `min:"1" type:"string"` // The date and time that the group was most recently updated. LastModifiedTime *time.Time `type:"timestamp"` // The name of the group. Name *string `min:"1" type:"string"` // The list of key-value pairs that are associated with the canary. Tags map[string]*string `min:"1" 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 Group) 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 Group) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *Group) SetArn(v string) *Group { s.Arn = &v return s } // SetCreatedTime sets the CreatedTime field's value. func (s *Group) SetCreatedTime(v time.Time) *Group { s.CreatedTime = &v return s } // SetId sets the Id field's value. func (s *Group) SetId(v string) *Group { s.Id = &v return s } // SetLastModifiedTime sets the LastModifiedTime field's value. func (s *Group) SetLastModifiedTime(v time.Time) *Group { s.LastModifiedTime = &v return s } // SetName sets the Name field's value. func (s *Group) SetName(v string) *Group { s.Name = &v return s } // SetTags sets the Tags field's value. func (s *Group) SetTags(v map[string]*string) *Group { s.Tags = v return s } // A structure containing some information about a group. type GroupSummary struct { _ struct{} `type:"structure"` // The ARN of the group. Arn *string `min:"1" type:"string"` // The unique ID of the group. Id *string `min:"1" type:"string"` // The name of the group. Name *string `min:"1" 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 GroupSummary) 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 GroupSummary) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *GroupSummary) SetArn(v string) *GroupSummary { s.Arn = &v return s } // SetId sets the Id field's value. func (s *GroupSummary) SetId(v string) *GroupSummary { s.Id = &v return s } // SetName sets the Name field's value. func (s *GroupSummary) SetName(v string) *GroupSummary { s.Name = &v return s } // An internal failure occurred. Try the operation again. type InternalFailureException 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 InternalFailureException) 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 InternalFailureException) GoString() string { return s.String() } func newErrorInternalFailureException(v protocol.ResponseMetadata) error { return &InternalFailureException{ RespMetadata: v, } } // Code returns the exception type name. func (s *InternalFailureException) Code() string { return "InternalFailureException" } // Message returns the exception's message. func (s *InternalFailureException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *InternalFailureException) OrigErr() error { return nil } func (s *InternalFailureException) 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 *InternalFailureException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *InternalFailureException) RequestID() string { return s.RespMetadata.RequestID } // An unknown internal error occurred. type InternalServerException 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 InternalServerException) 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 InternalServerException) GoString() string { return s.String() } func newErrorInternalServerException(v protocol.ResponseMetadata) error { return &InternalServerException{ RespMetadata: v, } } // Code returns the exception type name. func (s *InternalServerException) Code() string { return "InternalServerException" } // Message returns the exception's message. func (s *InternalServerException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *InternalServerException) OrigErr() error { return nil } func (s *InternalServerException) 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 *InternalServerException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *InternalServerException) RequestID() string { return s.RespMetadata.RequestID } type ListAssociatedGroupsInput struct { _ struct{} `type:"structure"` // Specify this parameter to limit how many groups are returned each time you // use the ListAssociatedGroups operation. If you omit this parameter, the default // of 20 is used. MaxResults *int64 `min:"1" type:"integer"` // A token that indicates that there is more data available. You can use this // token in a subsequent operation to retrieve the next set of results. NextToken *string `min:"1" type:"string"` // The ARN of the canary that you want to view groups for. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" 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 ListAssociatedGroupsInput) 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 ListAssociatedGroupsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListAssociatedGroupsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListAssociatedGroupsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } 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 } // SetMaxResults sets the MaxResults field's value. func (s *ListAssociatedGroupsInput) SetMaxResults(v int64) *ListAssociatedGroupsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListAssociatedGroupsInput) SetNextToken(v string) *ListAssociatedGroupsInput { s.NextToken = &v return s } // SetResourceArn sets the ResourceArn field's value. func (s *ListAssociatedGroupsInput) SetResourceArn(v string) *ListAssociatedGroupsInput { s.ResourceArn = &v return s } type ListAssociatedGroupsOutput struct { _ struct{} `type:"structure"` // An array of structures that contain information about the groups that this // canary is associated with. Groups []*GroupSummary `type:"list"` // A token that indicates that there is more data available. You can use this // token in a subsequent ListAssociatedGroups operation to retrieve the next // set of results. NextToken *string `min:"1" 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 ListAssociatedGroupsOutput) 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 ListAssociatedGroupsOutput) GoString() string { return s.String() } // SetGroups sets the Groups field's value. func (s *ListAssociatedGroupsOutput) SetGroups(v []*GroupSummary) *ListAssociatedGroupsOutput { s.Groups = v return s } // SetNextToken sets the NextToken field's value. func (s *ListAssociatedGroupsOutput) SetNextToken(v string) *ListAssociatedGroupsOutput { s.NextToken = &v return s } type ListGroupResourcesInput struct { _ struct{} `type:"structure"` // Specifies the group to return information for. You can specify the group // name, the ARN, or the group ID as the GroupIdentifier. // // GroupIdentifier is a required field GroupIdentifier *string `location:"uri" locationName:"groupIdentifier" min:"1" type:"string" required:"true"` // Specify this parameter to limit how many canary ARNs are returned each time // you use the ListGroupResources operation. If you omit this parameter, the // default of 20 is used. MaxResults *int64 `min:"1" type:"integer"` // A token that indicates that there is more data available. You can use this // token in a subsequent operation to retrieve the next set of results. NextToken *string `min:"1" 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 ListGroupResourcesInput) 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 ListGroupResourcesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListGroupResourcesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListGroupResourcesInput"} if s.GroupIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("GroupIdentifier")) } if s.GroupIdentifier != nil && len(*s.GroupIdentifier) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupIdentifier", 1)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetGroupIdentifier sets the GroupIdentifier field's value. func (s *ListGroupResourcesInput) SetGroupIdentifier(v string) *ListGroupResourcesInput { s.GroupIdentifier = &v return s } // SetMaxResults sets the MaxResults field's value. func (s *ListGroupResourcesInput) SetMaxResults(v int64) *ListGroupResourcesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListGroupResourcesInput) SetNextToken(v string) *ListGroupResourcesInput { s.NextToken = &v return s } type ListGroupResourcesOutput struct { _ struct{} `type:"structure"` // A token that indicates that there is more data available. You can use this // token in a subsequent ListGroupResources operation to retrieve the next set // of results. NextToken *string `min:"1" type:"string"` // An array of ARNs. These ARNs are for the canaries that are associated with // the group. Resources []*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 ListGroupResourcesOutput) 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 ListGroupResourcesOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. func (s *ListGroupResourcesOutput) SetNextToken(v string) *ListGroupResourcesOutput { s.NextToken = &v return s } // SetResources sets the Resources field's value. func (s *ListGroupResourcesOutput) SetResources(v []*string) *ListGroupResourcesOutput { s.Resources = v return s } type ListGroupsInput struct { _ struct{} `type:"structure"` // Specify this parameter to limit how many groups are returned each time you // use the ListGroups operation. If you omit this parameter, the default of // 20 is used. MaxResults *int64 `min:"1" type:"integer"` // A token that indicates that there is more data available. You can use this // token in a subsequent operation to retrieve the next set of results. NextToken *string `min:"1" 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 ListGroupsInput) 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 ListGroupsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListGroupsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListGroupsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxResults sets the MaxResults field's value. func (s *ListGroupsInput) SetMaxResults(v int64) *ListGroupsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListGroupsInput) SetNextToken(v string) *ListGroupsInput { s.NextToken = &v return s } type ListGroupsOutput struct { _ struct{} `type:"structure"` // An array of structures that each contain information about one group. Groups []*GroupSummary `type:"list"` // A token that indicates that there is more data available. You can use this // token in a subsequent ListGroups operation to retrieve the next set of results. NextToken *string `min:"4" 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 ListGroupsOutput) 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 ListGroupsOutput) GoString() string { return s.String() } // SetGroups sets the Groups field's value. func (s *ListGroupsOutput) SetGroups(v []*GroupSummary) *ListGroupsOutput { s.Groups = v return s } // SetNextToken sets the NextToken field's value. func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput { s.NextToken = &v return s } type ListTagsForResourceInput struct { _ struct{} `type:"structure" nopayload:"true"` // The ARN of the canary or group that you want to view tags for. // // The ARN format of a canary is arn:aws:synthetics:Region:account-id:canary:canary-name . // // The ARN format of a group is arn:aws:synthetics:Region:account-id:group:group-name // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" 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 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 tag keys and values associated with the resource that you specified. Tags map[string]*string `min:"1" 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 } // The specified resource was not found. type NotFoundException 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 NotFoundException) 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 NotFoundException) GoString() string { return s.String() } func newErrorNotFoundException(v protocol.ResponseMetadata) error { return &NotFoundException{ RespMetadata: v, } } // Code returns the exception type name. func (s *NotFoundException) Code() string { return "NotFoundException" } // Message returns the exception's message. func (s *NotFoundException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *NotFoundException) OrigErr() error { return nil } func (s *NotFoundException) 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 *NotFoundException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *NotFoundException) RequestID() string { return s.RespMetadata.RequestID } // One of the input resources is larger than is allowed. type RequestEntityTooLargeException 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 RequestEntityTooLargeException) 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 RequestEntityTooLargeException) GoString() string { return s.String() } func newErrorRequestEntityTooLargeException(v protocol.ResponseMetadata) error { return &RequestEntityTooLargeException{ RespMetadata: v, } } // Code returns the exception type name. func (s *RequestEntityTooLargeException) Code() string { return "RequestEntityTooLargeException" } // Message returns the exception's message. func (s *RequestEntityTooLargeException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *RequestEntityTooLargeException) OrigErr() error { return nil } func (s *RequestEntityTooLargeException) 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 *RequestEntityTooLargeException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *RequestEntityTooLargeException) RequestID() string { return s.RespMetadata.RequestID } // One of the specified resources was not found. type ResourceNotFoundException 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 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", s.Code(), s.Message()) } // 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 } // This structure contains information about one canary runtime version. For // more information about runtime versions, see Canary Runtime Versions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). type RuntimeVersion struct { _ struct{} `type:"structure"` // If this runtime version is deprecated, this value is the date of deprecation. DeprecationDate *time.Time `type:"timestamp"` // A description of the runtime version, created by Amazon. Description *string `min:"1" type:"string"` // The date that the runtime version was released. ReleaseDate *time.Time `type:"timestamp"` // The name of the runtime version. For a list of valid runtime versions, see // Canary Runtime Versions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). VersionName *string `min:"1" 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 RuntimeVersion) 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 RuntimeVersion) GoString() string { return s.String() } // SetDeprecationDate sets the DeprecationDate field's value. func (s *RuntimeVersion) SetDeprecationDate(v time.Time) *RuntimeVersion { s.DeprecationDate = &v return s } // SetDescription sets the Description field's value. func (s *RuntimeVersion) SetDescription(v string) *RuntimeVersion { s.Description = &v return s } // SetReleaseDate sets the ReleaseDate field's value. func (s *RuntimeVersion) SetReleaseDate(v time.Time) *RuntimeVersion { s.ReleaseDate = &v return s } // SetVersionName sets the VersionName field's value. func (s *RuntimeVersion) SetVersionName(v string) *RuntimeVersion { s.VersionName = &v return s } // A structure that contains the configuration of encryption-at-rest settings // for canary artifacts that the canary uploads to Amazon S3. // // For more information, see Encrypting canary artifacts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_artifact_encryption.html) type S3EncryptionConfig struct { _ struct{} `type:"structure"` // The encryption method to use for artifacts created by this canary. Specify // SSE_S3 to use server-side encryption (SSE) with an Amazon S3-managed key. // Specify SSE-KMS to use server-side encryption with a customer-managed KMS // key. // // If you omit this parameter, an Amazon Web Services-managed KMS key is used. EncryptionMode *string `type:"string" enum:"EncryptionMode"` // The ARN of the customer-managed KMS key to use, if you specify SSE-KMS for // EncryptionMode KmsKeyArn *string `min:"1" 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 S3EncryptionConfig) 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 S3EncryptionConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *S3EncryptionConfig) Validate() error { invalidParams := request.ErrInvalidParams{Context: "S3EncryptionConfig"} if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetEncryptionMode sets the EncryptionMode field's value. func (s *S3EncryptionConfig) SetEncryptionMode(v string) *S3EncryptionConfig { s.EncryptionMode = &v return s } // SetKmsKeyArn sets the KmsKeyArn field's value. func (s *S3EncryptionConfig) SetKmsKeyArn(v string) *S3EncryptionConfig { s.KmsKeyArn = &v return s } // The request exceeded a service quota value. type ServiceQuotaExceededException 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 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", s.Code(), s.Message()) } // 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 StartCanaryInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the canary that you want to run. To find canary names, use DescribeCanaries // (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html). // // Name is a required field Name *string `location:"uri" locationName:"name" 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 StartCanaryInput) 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 StartCanaryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *StartCanaryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "StartCanaryInput"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetName sets the Name field's value. func (s *StartCanaryInput) SetName(v string) *StartCanaryInput { s.Name = &v return s } type StartCanaryOutput 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 StartCanaryOutput) 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 StartCanaryOutput) GoString() string { return s.String() } type StopCanaryInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the canary that you want to stop. To find the names of your canaries, // use ListCanaries (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html). // // Name is a required field Name *string `location:"uri" locationName:"name" 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 StopCanaryInput) 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 StopCanaryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *StopCanaryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "StopCanaryInput"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetName sets the Name field's value. func (s *StopCanaryInput) SetName(v string) *StopCanaryInput { s.Name = &v return s } type StopCanaryOutput 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 StopCanaryOutput) 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 StopCanaryOutput) GoString() string { return s.String() } type TagResourceInput struct { _ struct{} `type:"structure"` // The ARN of the canary or group that you're adding tags to. // // The ARN format of a canary is arn:aws:synthetics:Region:account-id:canary:canary-name . // // The ARN format of a group is arn:aws:synthetics:Region:account-id:group:group-name // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"` // The list of key-value pairs to associate with the resource. // // Tags is a required field Tags map[string]*string `min:"1" type:"map" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } 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() } // There were too many simultaneous requests. Try the operation again. type TooManyRequestsException 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 TooManyRequestsException) 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 TooManyRequestsException) GoString() string { return s.String() } func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error { return &TooManyRequestsException{ RespMetadata: v, } } // Code returns the exception type name. func (s *TooManyRequestsException) Code() string { return "TooManyRequestsException" } // Message returns the exception's message. func (s *TooManyRequestsException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *TooManyRequestsException) OrigErr() error { return nil } func (s *TooManyRequestsException) 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 *TooManyRequestsException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *TooManyRequestsException) RequestID() string { return s.RespMetadata.RequestID } type UntagResourceInput struct { _ struct{} `type:"structure" nopayload:"true"` // The ARN of the canary or group that you're removing tags from. // // The ARN format of a canary is arn:aws:synthetics:Region:account-id:canary:canary-name . // // The ARN format of a group is arn:aws:synthetics:Region:account-id:group:group-name // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" 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" min:"1" type:"list" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 s.TagKeys != nil && len(s.TagKeys) < 1 { invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) } 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 UpdateCanaryInput struct { _ struct{} `type:"structure"` // A structure that contains the configuration for canary artifacts, including // the encryption-at-rest settings for artifacts that the canary uploads to // Amazon S3. ArtifactConfig *ArtifactConfigInput_ `type:"structure"` // The location in Amazon S3 where Synthetics stores artifacts from the test // runs of this canary. Artifacts include the log file, screenshots, and HAR // files. The name of the S3 bucket can't include a period (.). ArtifactS3Location *string `min:"1" type:"string"` // A structure that includes the entry point from which the canary should start // running your script. If the script is stored in an S3 bucket, the bucket // name, key, and version are also included. Code *CanaryCodeInput `type:"structure"` // The ARN of the IAM role to be used to run the canary. This role must already // exist, and must include lambda.amazonaws.com as a principal in the trust // policy. The role must also have the following permissions: // // * s3:PutObject // // * s3:GetBucketLocation // // * s3:ListAllMyBuckets // // * cloudwatch:PutMetricData // // * logs:CreateLogGroup // // * logs:CreateLogStream // // * logs:CreateLogStream ExecutionRoleArn *string `min:"1" type:"string"` // The number of days to retain data about failed runs of this canary. FailureRetentionPeriodInDays *int64 `min:"1" type:"integer"` // The name of the canary that you want to update. To find the names of your // canaries, use DescribeCanaries (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html). // // You cannot change the name of a canary that has already been created. // // Name is a required field Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` // A structure that contains the timeout value that is used for each individual // run of the canary. // // The environment variables keys and values are not encrypted. Do not store // sensitive information in this field. RunConfig *CanaryRunConfigInput `type:"structure"` // Specifies the runtime version to use for the canary. For a list of valid // runtime versions and for more information about runtime versions, see Canary // Runtime Versions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html). RuntimeVersion *string `min:"1" type:"string"` // A structure that contains information about how often the canary is to run, // and when these runs are to stop. Schedule *CanaryScheduleInput `type:"structure"` // The number of days to retain data about successful runs of this canary. SuccessRetentionPeriodInDays *int64 `min:"1" type:"integer"` // Defines the screenshots to use as the baseline for comparisons during visual // monitoring comparisons during future runs of this canary. If you omit this // parameter, no changes are made to any baseline screenshots that the canary // might be using already. // // Visual monitoring is supported only on canaries running the syn-puppeteer-node-3.2 // runtime or later. For more information, see Visual monitoring (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_SyntheticsLogger_VisualTesting.html) // and Visual monitoring blueprint (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Blueprints_VisualTesting.html) VisualReference *VisualReferenceInput_ `type:"structure"` // If this canary is to test an endpoint in a VPC, this structure contains information // about the subnet and security groups of the VPC endpoint. For more information, // see Running a Canary in a VPC (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html). VpcConfig *VpcConfigInput `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 UpdateCanaryInput) 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 UpdateCanaryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateCanaryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateCanaryInput"} if s.ArtifactS3Location != nil && len(*s.ArtifactS3Location) < 1 { invalidParams.Add(request.NewErrParamMinLen("ArtifactS3Location", 1)) } if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 1)) } if s.FailureRetentionPeriodInDays != nil && *s.FailureRetentionPeriodInDays < 1 { invalidParams.Add(request.NewErrParamMinValue("FailureRetentionPeriodInDays", 1)) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if s.RuntimeVersion != nil && len(*s.RuntimeVersion) < 1 { invalidParams.Add(request.NewErrParamMinLen("RuntimeVersion", 1)) } if s.SuccessRetentionPeriodInDays != nil && *s.SuccessRetentionPeriodInDays < 1 { invalidParams.Add(request.NewErrParamMinValue("SuccessRetentionPeriodInDays", 1)) } if s.ArtifactConfig != nil { if err := s.ArtifactConfig.Validate(); err != nil { invalidParams.AddNested("ArtifactConfig", err.(request.ErrInvalidParams)) } } if s.Code != nil { if err := s.Code.Validate(); err != nil { invalidParams.AddNested("Code", err.(request.ErrInvalidParams)) } } if s.RunConfig != nil { if err := s.RunConfig.Validate(); err != nil { invalidParams.AddNested("RunConfig", err.(request.ErrInvalidParams)) } } if s.Schedule != nil { if err := s.Schedule.Validate(); err != nil { invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) } } if s.VisualReference != nil { if err := s.VisualReference.Validate(); err != nil { invalidParams.AddNested("VisualReference", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetArtifactConfig sets the ArtifactConfig field's value. func (s *UpdateCanaryInput) SetArtifactConfig(v *ArtifactConfigInput_) *UpdateCanaryInput { s.ArtifactConfig = v return s } // SetArtifactS3Location sets the ArtifactS3Location field's value. func (s *UpdateCanaryInput) SetArtifactS3Location(v string) *UpdateCanaryInput { s.ArtifactS3Location = &v return s } // SetCode sets the Code field's value. func (s *UpdateCanaryInput) SetCode(v *CanaryCodeInput) *UpdateCanaryInput { s.Code = v return s } // SetExecutionRoleArn sets the ExecutionRoleArn field's value. func (s *UpdateCanaryInput) SetExecutionRoleArn(v string) *UpdateCanaryInput { s.ExecutionRoleArn = &v return s } // SetFailureRetentionPeriodInDays sets the FailureRetentionPeriodInDays field's value. func (s *UpdateCanaryInput) SetFailureRetentionPeriodInDays(v int64) *UpdateCanaryInput { s.FailureRetentionPeriodInDays = &v return s } // SetName sets the Name field's value. func (s *UpdateCanaryInput) SetName(v string) *UpdateCanaryInput { s.Name = &v return s } // SetRunConfig sets the RunConfig field's value. func (s *UpdateCanaryInput) SetRunConfig(v *CanaryRunConfigInput) *UpdateCanaryInput { s.RunConfig = v return s } // SetRuntimeVersion sets the RuntimeVersion field's value. func (s *UpdateCanaryInput) SetRuntimeVersion(v string) *UpdateCanaryInput { s.RuntimeVersion = &v return s } // SetSchedule sets the Schedule field's value. func (s *UpdateCanaryInput) SetSchedule(v *CanaryScheduleInput) *UpdateCanaryInput { s.Schedule = v return s } // SetSuccessRetentionPeriodInDays sets the SuccessRetentionPeriodInDays field's value. func (s *UpdateCanaryInput) SetSuccessRetentionPeriodInDays(v int64) *UpdateCanaryInput { s.SuccessRetentionPeriodInDays = &v return s } // SetVisualReference sets the VisualReference field's value. func (s *UpdateCanaryInput) SetVisualReference(v *VisualReferenceInput_) *UpdateCanaryInput { s.VisualReference = v return s } // SetVpcConfig sets the VpcConfig field's value. func (s *UpdateCanaryInput) SetVpcConfig(v *VpcConfigInput) *UpdateCanaryInput { s.VpcConfig = v return s } type UpdateCanaryOutput 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 UpdateCanaryOutput) 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 UpdateCanaryOutput) GoString() string { return s.String() } // A parameter could not be validated. 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 } // An object that specifies what screenshots to use as a baseline for visual // monitoring by this canary. It can optionally also specify parts of the screenshots // to ignore during the visual monitoring comparison. // // Visual monitoring is supported only on canaries running the syn-puppeteer-node-3.2 // runtime or later. For more information, see Visual monitoring (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_SyntheticsLogger_VisualTesting.html) // and Visual monitoring blueprint (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Blueprints_VisualTesting.html) type VisualReferenceInput_ struct { _ struct{} `type:"structure"` // Specifies which canary run to use the screenshots from as the baseline for // future visual monitoring with this canary. Valid values are nextrun to use // the screenshots from the next run after this update is made, lastrun to use // the screenshots from the most recent run before this update was made, or // the value of Id in the CanaryRun (https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_CanaryRun.html) // from any past run of this canary. // // BaseCanaryRunId is a required field BaseCanaryRunId *string `min:"1" type:"string" required:"true"` // An array of screenshots that will be used as the baseline for visual monitoring // in future runs of this canary. If there is a screenshot that you don't want // to be used for visual monitoring, remove it from this array. BaseScreenshots []*BaseScreenshot `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 VisualReferenceInput_) 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 VisualReferenceInput_) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *VisualReferenceInput_) Validate() error { invalidParams := request.ErrInvalidParams{Context: "VisualReferenceInput_"} if s.BaseCanaryRunId == nil { invalidParams.Add(request.NewErrParamRequired("BaseCanaryRunId")) } if s.BaseCanaryRunId != nil && len(*s.BaseCanaryRunId) < 1 { invalidParams.Add(request.NewErrParamMinLen("BaseCanaryRunId", 1)) } if s.BaseScreenshots != nil { for i, v := range s.BaseScreenshots { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BaseScreenshots", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetBaseCanaryRunId sets the BaseCanaryRunId field's value. func (s *VisualReferenceInput_) SetBaseCanaryRunId(v string) *VisualReferenceInput_ { s.BaseCanaryRunId = &v return s } // SetBaseScreenshots sets the BaseScreenshots field's value. func (s *VisualReferenceInput_) SetBaseScreenshots(v []*BaseScreenshot) *VisualReferenceInput_ { s.BaseScreenshots = v return s } // If this canary performs visual monitoring by comparing screenshots, this // structure contains the ID of the canary run that is used as the baseline // for screenshots, and the coordinates of any parts of those screenshots that // are ignored during visual monitoring comparison. // // Visual monitoring is supported only on canaries running the syn-puppeteer-node-3.2 // runtime or later. type VisualReferenceOutput_ struct { _ struct{} `type:"structure"` // The ID of the canary run that produced the baseline screenshots that are // used for visual monitoring comparisons by this canary. BaseCanaryRunId *string `min:"1" type:"string"` // An array of screenshots that are used as the baseline for comparisons during // visual monitoring. BaseScreenshots []*BaseScreenshot `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 VisualReferenceOutput_) 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 VisualReferenceOutput_) GoString() string { return s.String() } // SetBaseCanaryRunId sets the BaseCanaryRunId field's value. func (s *VisualReferenceOutput_) SetBaseCanaryRunId(v string) *VisualReferenceOutput_ { s.BaseCanaryRunId = &v return s } // SetBaseScreenshots sets the BaseScreenshots field's value. func (s *VisualReferenceOutput_) SetBaseScreenshots(v []*BaseScreenshot) *VisualReferenceOutput_ { s.BaseScreenshots = v return s } // If this canary is to test an endpoint in a VPC, this structure contains information // about the subnets and security groups of the VPC endpoint. For more information, // see Running a Canary in a VPC (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html). type VpcConfigInput struct { _ struct{} `type:"structure"` // The IDs of the security groups for this canary. SecurityGroupIds []*string `type:"list"` // The IDs of the subnets where this canary is to run. SubnetIds []*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 VpcConfigInput) 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 VpcConfigInput) GoString() string { return s.String() } // SetSecurityGroupIds sets the SecurityGroupIds field's value. func (s *VpcConfigInput) SetSecurityGroupIds(v []*string) *VpcConfigInput { s.SecurityGroupIds = v return s } // SetSubnetIds sets the SubnetIds field's value. func (s *VpcConfigInput) SetSubnetIds(v []*string) *VpcConfigInput { s.SubnetIds = v return s } // If this canary is to test an endpoint in a VPC, this structure contains information // about the subnets and security groups of the VPC endpoint. For more information, // see Running a Canary in a VPC (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html). type VpcConfigOutput struct { _ struct{} `type:"structure"` // The IDs of the security groups for this canary. SecurityGroupIds []*string `type:"list"` // The IDs of the subnets where this canary is to run. SubnetIds []*string `type:"list"` // The IDs of the VPC where this canary is to run. VpcId *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 VpcConfigOutput) 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 VpcConfigOutput) GoString() string { return s.String() } // SetSecurityGroupIds sets the SecurityGroupIds field's value. func (s *VpcConfigOutput) SetSecurityGroupIds(v []*string) *VpcConfigOutput { s.SecurityGroupIds = v return s } // SetSubnetIds sets the SubnetIds field's value. func (s *VpcConfigOutput) SetSubnetIds(v []*string) *VpcConfigOutput { s.SubnetIds = v return s } // SetVpcId sets the VpcId field's value. func (s *VpcConfigOutput) SetVpcId(v string) *VpcConfigOutput { s.VpcId = &v return s } const ( // CanaryRunStateRunning is a CanaryRunState enum value CanaryRunStateRunning = "RUNNING" // CanaryRunStatePassed is a CanaryRunState enum value CanaryRunStatePassed = "PASSED" // CanaryRunStateFailed is a CanaryRunState enum value CanaryRunStateFailed = "FAILED" ) // CanaryRunState_Values returns all elements of the CanaryRunState enum func CanaryRunState_Values() []string { return []string{ CanaryRunStateRunning, CanaryRunStatePassed, CanaryRunStateFailed, } } const ( // CanaryRunStateReasonCodeCanaryFailure is a CanaryRunStateReasonCode enum value CanaryRunStateReasonCodeCanaryFailure = "CANARY_FAILURE" // CanaryRunStateReasonCodeExecutionFailure is a CanaryRunStateReasonCode enum value CanaryRunStateReasonCodeExecutionFailure = "EXECUTION_FAILURE" ) // CanaryRunStateReasonCode_Values returns all elements of the CanaryRunStateReasonCode enum func CanaryRunStateReasonCode_Values() []string { return []string{ CanaryRunStateReasonCodeCanaryFailure, CanaryRunStateReasonCodeExecutionFailure, } } const ( // CanaryStateCreating is a CanaryState enum value CanaryStateCreating = "CREATING" // CanaryStateReady is a CanaryState enum value CanaryStateReady = "READY" // CanaryStateStarting is a CanaryState enum value CanaryStateStarting = "STARTING" // CanaryStateRunning is a CanaryState enum value CanaryStateRunning = "RUNNING" // CanaryStateUpdating is a CanaryState enum value CanaryStateUpdating = "UPDATING" // CanaryStateStopping is a CanaryState enum value CanaryStateStopping = "STOPPING" // CanaryStateStopped is a CanaryState enum value CanaryStateStopped = "STOPPED" // CanaryStateError is a CanaryState enum value CanaryStateError = "ERROR" // CanaryStateDeleting is a CanaryState enum value CanaryStateDeleting = "DELETING" ) // CanaryState_Values returns all elements of the CanaryState enum func CanaryState_Values() []string { return []string{ CanaryStateCreating, CanaryStateReady, CanaryStateStarting, CanaryStateRunning, CanaryStateUpdating, CanaryStateStopping, CanaryStateStopped, CanaryStateError, CanaryStateDeleting, } } const ( // CanaryStateReasonCodeInvalidPermissions is a CanaryStateReasonCode enum value CanaryStateReasonCodeInvalidPermissions = "INVALID_PERMISSIONS" // CanaryStateReasonCodeCreatePending is a CanaryStateReasonCode enum value CanaryStateReasonCodeCreatePending = "CREATE_PENDING" // CanaryStateReasonCodeCreateInProgress is a CanaryStateReasonCode enum value CanaryStateReasonCodeCreateInProgress = "CREATE_IN_PROGRESS" // CanaryStateReasonCodeCreateFailed is a CanaryStateReasonCode enum value CanaryStateReasonCodeCreateFailed = "CREATE_FAILED" // CanaryStateReasonCodeUpdatePending is a CanaryStateReasonCode enum value CanaryStateReasonCodeUpdatePending = "UPDATE_PENDING" // CanaryStateReasonCodeUpdateInProgress is a CanaryStateReasonCode enum value CanaryStateReasonCodeUpdateInProgress = "UPDATE_IN_PROGRESS" // CanaryStateReasonCodeUpdateComplete is a CanaryStateReasonCode enum value CanaryStateReasonCodeUpdateComplete = "UPDATE_COMPLETE" // CanaryStateReasonCodeRollbackComplete is a CanaryStateReasonCode enum value CanaryStateReasonCodeRollbackComplete = "ROLLBACK_COMPLETE" // CanaryStateReasonCodeRollbackFailed is a CanaryStateReasonCode enum value CanaryStateReasonCodeRollbackFailed = "ROLLBACK_FAILED" // CanaryStateReasonCodeDeleteInProgress is a CanaryStateReasonCode enum value CanaryStateReasonCodeDeleteInProgress = "DELETE_IN_PROGRESS" // CanaryStateReasonCodeDeleteFailed is a CanaryStateReasonCode enum value CanaryStateReasonCodeDeleteFailed = "DELETE_FAILED" // CanaryStateReasonCodeSyncDeleteInProgress is a CanaryStateReasonCode enum value CanaryStateReasonCodeSyncDeleteInProgress = "SYNC_DELETE_IN_PROGRESS" ) // CanaryStateReasonCode_Values returns all elements of the CanaryStateReasonCode enum func CanaryStateReasonCode_Values() []string { return []string{ CanaryStateReasonCodeInvalidPermissions, CanaryStateReasonCodeCreatePending, CanaryStateReasonCodeCreateInProgress, CanaryStateReasonCodeCreateFailed, CanaryStateReasonCodeUpdatePending, CanaryStateReasonCodeUpdateInProgress, CanaryStateReasonCodeUpdateComplete, CanaryStateReasonCodeRollbackComplete, CanaryStateReasonCodeRollbackFailed, CanaryStateReasonCodeDeleteInProgress, CanaryStateReasonCodeDeleteFailed, CanaryStateReasonCodeSyncDeleteInProgress, } } const ( // EncryptionModeSseS3 is a EncryptionMode enum value EncryptionModeSseS3 = "SSE_S3" // EncryptionModeSseKms is a EncryptionMode enum value EncryptionModeSseKms = "SSE_KMS" ) // EncryptionMode_Values returns all elements of the EncryptionMode enum func EncryptionMode_Values() []string { return []string{ EncryptionModeSseS3, EncryptionModeSseKms, } }