// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. package fis 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 opCreateExperimentTemplate = "CreateExperimentTemplate" // CreateExperimentTemplateRequest generates a "aws/request.Request" representing the // client's request for the CreateExperimentTemplate 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 CreateExperimentTemplate for more information on using the CreateExperimentTemplate // 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 CreateExperimentTemplateRequest method. // req, resp := client.CreateExperimentTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/CreateExperimentTemplate func (c *FIS) CreateExperimentTemplateRequest(input *CreateExperimentTemplateInput) (req *request.Request, output *CreateExperimentTemplateOutput) { op := &request.Operation{ Name: opCreateExperimentTemplate, HTTPMethod: "POST", HTTPPath: "/experimentTemplates", } if input == nil { input = &CreateExperimentTemplateInput{} } output = &CreateExperimentTemplateOutput{} req = c.newRequest(op, input, output) return } // CreateExperimentTemplate API operation for AWS Fault Injection Simulator. // // Creates an experiment template. // // To create a template, specify the following information: // // * Targets: A target can be a specific resource in your AWS environment, // or one or more resources that match criteria that you specify, for example, // resources that have specific tags. // // * Actions: The actions to carry out on the target. You can specify multiple // actions, the duration of each action, and when to start each action during // an experiment. // // * Stop conditions: If a stop condition is triggered while an experiment // is running, the experiment is automatically stopped. You can define a // stop condition as a CloudWatch alarm. // // For more information, see the AWS Fault Injection Simulator User Guide (https://docs.aws.amazon.com/fis/latest/userguide/). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Fault Injection Simulator's // API operation CreateExperimentTemplate for usage and error information. // // Returned Error Types: // * ValidationException // The specified input is not valid, or fails to satisfy the constraints for // the request. // // * ConflictException // The request could not be processed because of a conflict. // // * ResourceNotFoundException // The specified resource cannot be found. // // * ServiceQuotaExceededException // You have exceeded your service quota. // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/CreateExperimentTemplate func (c *FIS) CreateExperimentTemplate(input *CreateExperimentTemplateInput) (*CreateExperimentTemplateOutput, error) { req, out := c.CreateExperimentTemplateRequest(input) return out, req.Send() } // CreateExperimentTemplateWithContext is the same as CreateExperimentTemplate with the addition of // the ability to pass a context and additional request options. // // See CreateExperimentTemplate 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 *FIS) CreateExperimentTemplateWithContext(ctx aws.Context, input *CreateExperimentTemplateInput, opts ...request.Option) (*CreateExperimentTemplateOutput, error) { req, out := c.CreateExperimentTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteExperimentTemplate = "DeleteExperimentTemplate" // DeleteExperimentTemplateRequest generates a "aws/request.Request" representing the // client's request for the DeleteExperimentTemplate 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 DeleteExperimentTemplate for more information on using the DeleteExperimentTemplate // 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 DeleteExperimentTemplateRequest method. // req, resp := client.DeleteExperimentTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/DeleteExperimentTemplate func (c *FIS) DeleteExperimentTemplateRequest(input *DeleteExperimentTemplateInput) (req *request.Request, output *DeleteExperimentTemplateOutput) { op := &request.Operation{ Name: opDeleteExperimentTemplate, HTTPMethod: "DELETE", HTTPPath: "/experimentTemplates/{id}", } if input == nil { input = &DeleteExperimentTemplateInput{} } output = &DeleteExperimentTemplateOutput{} req = c.newRequest(op, input, output) return } // DeleteExperimentTemplate API operation for AWS Fault Injection Simulator. // // Deletes the specified experiment template. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Fault Injection Simulator's // API operation DeleteExperimentTemplate for usage and error information. // // Returned Error Types: // * ValidationException // The specified input is not valid, or fails to satisfy the constraints for // the request. // // * ResourceNotFoundException // The specified resource cannot be found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/DeleteExperimentTemplate func (c *FIS) DeleteExperimentTemplate(input *DeleteExperimentTemplateInput) (*DeleteExperimentTemplateOutput, error) { req, out := c.DeleteExperimentTemplateRequest(input) return out, req.Send() } // DeleteExperimentTemplateWithContext is the same as DeleteExperimentTemplate with the addition of // the ability to pass a context and additional request options. // // See DeleteExperimentTemplate 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 *FIS) DeleteExperimentTemplateWithContext(ctx aws.Context, input *DeleteExperimentTemplateInput, opts ...request.Option) (*DeleteExperimentTemplateOutput, error) { req, out := c.DeleteExperimentTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetAction = "GetAction" // GetActionRequest generates a "aws/request.Request" representing the // client's request for the GetAction 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 GetAction for more information on using the GetAction // 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 GetActionRequest method. // req, resp := client.GetActionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetAction func (c *FIS) GetActionRequest(input *GetActionInput) (req *request.Request, output *GetActionOutput) { op := &request.Operation{ Name: opGetAction, HTTPMethod: "GET", HTTPPath: "/actions/{id}", } if input == nil { input = &GetActionInput{} } output = &GetActionOutput{} req = c.newRequest(op, input, output) return } // GetAction API operation for AWS Fault Injection Simulator. // // Gets information about the specified AWS FIS action. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Fault Injection Simulator's // API operation GetAction for usage and error information. // // Returned Error Types: // * ValidationException // The specified input is not valid, or fails to satisfy the constraints for // the request. // // * ResourceNotFoundException // The specified resource cannot be found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetAction func (c *FIS) GetAction(input *GetActionInput) (*GetActionOutput, error) { req, out := c.GetActionRequest(input) return out, req.Send() } // GetActionWithContext is the same as GetAction with the addition of // the ability to pass a context and additional request options. // // See GetAction 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 *FIS) GetActionWithContext(ctx aws.Context, input *GetActionInput, opts ...request.Option) (*GetActionOutput, error) { req, out := c.GetActionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetExperiment = "GetExperiment" // GetExperimentRequest generates a "aws/request.Request" representing the // client's request for the GetExperiment 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 GetExperiment for more information on using the GetExperiment // 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 GetExperimentRequest method. // req, resp := client.GetExperimentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetExperiment func (c *FIS) GetExperimentRequest(input *GetExperimentInput) (req *request.Request, output *GetExperimentOutput) { op := &request.Operation{ Name: opGetExperiment, HTTPMethod: "GET", HTTPPath: "/experiments/{id}", } if input == nil { input = &GetExperimentInput{} } output = &GetExperimentOutput{} req = c.newRequest(op, input, output) return } // GetExperiment API operation for AWS Fault Injection Simulator. // // Gets information about the specified experiment. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Fault Injection Simulator's // API operation GetExperiment for usage and error information. // // Returned Error Types: // * ValidationException // The specified input is not valid, or fails to satisfy the constraints for // the request. // // * ResourceNotFoundException // The specified resource cannot be found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetExperiment func (c *FIS) GetExperiment(input *GetExperimentInput) (*GetExperimentOutput, error) { req, out := c.GetExperimentRequest(input) return out, req.Send() } // GetExperimentWithContext is the same as GetExperiment with the addition of // the ability to pass a context and additional request options. // // See GetExperiment 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 *FIS) GetExperimentWithContext(ctx aws.Context, input *GetExperimentInput, opts ...request.Option) (*GetExperimentOutput, error) { req, out := c.GetExperimentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetExperimentTemplate = "GetExperimentTemplate" // GetExperimentTemplateRequest generates a "aws/request.Request" representing the // client's request for the GetExperimentTemplate 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 GetExperimentTemplate for more information on using the GetExperimentTemplate // 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 GetExperimentTemplateRequest method. // req, resp := client.GetExperimentTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetExperimentTemplate func (c *FIS) GetExperimentTemplateRequest(input *GetExperimentTemplateInput) (req *request.Request, output *GetExperimentTemplateOutput) { op := &request.Operation{ Name: opGetExperimentTemplate, HTTPMethod: "GET", HTTPPath: "/experimentTemplates/{id}", } if input == nil { input = &GetExperimentTemplateInput{} } output = &GetExperimentTemplateOutput{} req = c.newRequest(op, input, output) return } // GetExperimentTemplate API operation for AWS Fault Injection Simulator. // // Gets information about the specified experiment template. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Fault Injection Simulator's // API operation GetExperimentTemplate for usage and error information. // // Returned Error Types: // * ValidationException // The specified input is not valid, or fails to satisfy the constraints for // the request. // // * ResourceNotFoundException // The specified resource cannot be found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetExperimentTemplate func (c *FIS) GetExperimentTemplate(input *GetExperimentTemplateInput) (*GetExperimentTemplateOutput, error) { req, out := c.GetExperimentTemplateRequest(input) return out, req.Send() } // GetExperimentTemplateWithContext is the same as GetExperimentTemplate with the addition of // the ability to pass a context and additional request options. // // See GetExperimentTemplate 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 *FIS) GetExperimentTemplateWithContext(ctx aws.Context, input *GetExperimentTemplateInput, opts ...request.Option) (*GetExperimentTemplateOutput, error) { req, out := c.GetExperimentTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opListActions = "ListActions" // ListActionsRequest generates a "aws/request.Request" representing the // client's request for the ListActions 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 ListActions for more information on using the ListActions // 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 ListActionsRequest method. // req, resp := client.ListActionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListActions func (c *FIS) ListActionsRequest(input *ListActionsInput) (req *request.Request, output *ListActionsOutput) { op := &request.Operation{ Name: opListActions, HTTPMethod: "GET", HTTPPath: "/actions", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListActionsInput{} } output = &ListActionsOutput{} req = c.newRequest(op, input, output) return } // ListActions API operation for AWS Fault Injection Simulator. // // Lists the available AWS FIS actions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Fault Injection Simulator's // API operation ListActions for usage and error information. // // Returned Error Types: // * ValidationException // The specified input is not valid, or fails to satisfy the constraints for // the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListActions func (c *FIS) ListActions(input *ListActionsInput) (*ListActionsOutput, error) { req, out := c.ListActionsRequest(input) return out, req.Send() } // ListActionsWithContext is the same as ListActions with the addition of // the ability to pass a context and additional request options. // // See ListActions 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 *FIS) ListActionsWithContext(ctx aws.Context, input *ListActionsInput, opts ...request.Option) (*ListActionsOutput, error) { req, out := c.ListActionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListActionsPages iterates over the pages of a ListActions operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListActions 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 ListActions operation. // pageNum := 0 // err := client.ListActionsPages(params, // func(page *fis.ListActionsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *FIS) ListActionsPages(input *ListActionsInput, fn func(*ListActionsOutput, bool) bool) error { return c.ListActionsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListActionsPagesWithContext same as ListActionsPages 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 *FIS) ListActionsPagesWithContext(ctx aws.Context, input *ListActionsInput, fn func(*ListActionsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListActionsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListActionsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListActionsOutput), !p.HasNextPage()) { break } } return p.Err() } const opListExperimentTemplates = "ListExperimentTemplates" // ListExperimentTemplatesRequest generates a "aws/request.Request" representing the // client's request for the ListExperimentTemplates 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 ListExperimentTemplates for more information on using the ListExperimentTemplates // 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 ListExperimentTemplatesRequest method. // req, resp := client.ListExperimentTemplatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListExperimentTemplates func (c *FIS) ListExperimentTemplatesRequest(input *ListExperimentTemplatesInput) (req *request.Request, output *ListExperimentTemplatesOutput) { op := &request.Operation{ Name: opListExperimentTemplates, HTTPMethod: "GET", HTTPPath: "/experimentTemplates", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListExperimentTemplatesInput{} } output = &ListExperimentTemplatesOutput{} req = c.newRequest(op, input, output) return } // ListExperimentTemplates API operation for AWS Fault Injection Simulator. // // Lists your experiment templates. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Fault Injection Simulator's // API operation ListExperimentTemplates for usage and error information. // // Returned Error Types: // * ValidationException // The specified input is not valid, or fails to satisfy the constraints for // the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListExperimentTemplates func (c *FIS) ListExperimentTemplates(input *ListExperimentTemplatesInput) (*ListExperimentTemplatesOutput, error) { req, out := c.ListExperimentTemplatesRequest(input) return out, req.Send() } // ListExperimentTemplatesWithContext is the same as ListExperimentTemplates with the addition of // the ability to pass a context and additional request options. // // See ListExperimentTemplates 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 *FIS) ListExperimentTemplatesWithContext(ctx aws.Context, input *ListExperimentTemplatesInput, opts ...request.Option) (*ListExperimentTemplatesOutput, error) { req, out := c.ListExperimentTemplatesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListExperimentTemplatesPages iterates over the pages of a ListExperimentTemplates operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListExperimentTemplates 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 ListExperimentTemplates operation. // pageNum := 0 // err := client.ListExperimentTemplatesPages(params, // func(page *fis.ListExperimentTemplatesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *FIS) ListExperimentTemplatesPages(input *ListExperimentTemplatesInput, fn func(*ListExperimentTemplatesOutput, bool) bool) error { return c.ListExperimentTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) } // ListExperimentTemplatesPagesWithContext same as ListExperimentTemplatesPages 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 *FIS) ListExperimentTemplatesPagesWithContext(ctx aws.Context, input *ListExperimentTemplatesInput, fn func(*ListExperimentTemplatesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListExperimentTemplatesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListExperimentTemplatesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListExperimentTemplatesOutput), !p.HasNextPage()) { break } } return p.Err() } const opListExperiments = "ListExperiments" // ListExperimentsRequest generates a "aws/request.Request" representing the // client's request for the ListExperiments 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 ListExperiments for more information on using the ListExperiments // 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 ListExperimentsRequest method. // req, resp := client.ListExperimentsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListExperiments func (c *FIS) ListExperimentsRequest(input *ListExperimentsInput) (req *request.Request, output *ListExperimentsOutput) { op := &request.Operation{ Name: opListExperiments, HTTPMethod: "GET", HTTPPath: "/experiments", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListExperimentsInput{} } output = &ListExperimentsOutput{} req = c.newRequest(op, input, output) return } // ListExperiments API operation for AWS Fault Injection Simulator. // // Lists your experiments. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Fault Injection Simulator's // API operation ListExperiments for usage and error information. // // Returned Error Types: // * ValidationException // The specified input is not valid, or fails to satisfy the constraints for // the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListExperiments func (c *FIS) ListExperiments(input *ListExperimentsInput) (*ListExperimentsOutput, error) { req, out := c.ListExperimentsRequest(input) return out, req.Send() } // ListExperimentsWithContext is the same as ListExperiments with the addition of // the ability to pass a context and additional request options. // // See ListExperiments 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 *FIS) ListExperimentsWithContext(ctx aws.Context, input *ListExperimentsInput, opts ...request.Option) (*ListExperimentsOutput, error) { req, out := c.ListExperimentsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListExperimentsPages iterates over the pages of a ListExperiments operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListExperiments 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 ListExperiments operation. // pageNum := 0 // err := client.ListExperimentsPages(params, // func(page *fis.ListExperimentsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *FIS) ListExperimentsPages(input *ListExperimentsInput, fn func(*ListExperimentsOutput, bool) bool) error { return c.ListExperimentsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListExperimentsPagesWithContext same as ListExperimentsPages 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 *FIS) ListExperimentsPagesWithContext(ctx aws.Context, input *ListExperimentsInput, fn func(*ListExperimentsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListExperimentsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListExperimentsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListExperimentsOutput), !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/fis-2020-12-01/ListTagsForResource func (c *FIS) 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 AWS Fault Injection Simulator. // // Lists the tags for 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 AWS Fault Injection Simulator's // API operation ListTagsForResource for usage and error information. // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListTagsForResource func (c *FIS) 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 *FIS) 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 opStartExperiment = "StartExperiment" // StartExperimentRequest generates a "aws/request.Request" representing the // client's request for the StartExperiment 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 StartExperiment for more information on using the StartExperiment // 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 StartExperimentRequest method. // req, resp := client.StartExperimentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/StartExperiment func (c *FIS) StartExperimentRequest(input *StartExperimentInput) (req *request.Request, output *StartExperimentOutput) { op := &request.Operation{ Name: opStartExperiment, HTTPMethod: "POST", HTTPPath: "/experiments", } if input == nil { input = &StartExperimentInput{} } output = &StartExperimentOutput{} req = c.newRequest(op, input, output) return } // StartExperiment API operation for AWS Fault Injection Simulator. // // Starts running an experiment from the specified experiment template. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Fault Injection Simulator's // API operation StartExperiment for usage and error information. // // Returned Error Types: // * ValidationException // The specified input is not valid, or fails to satisfy the constraints for // the request. // // * ConflictException // The request could not be processed because of a conflict. // // * ResourceNotFoundException // The specified resource cannot be found. // // * ServiceQuotaExceededException // You have exceeded your service quota. // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/StartExperiment func (c *FIS) StartExperiment(input *StartExperimentInput) (*StartExperimentOutput, error) { req, out := c.StartExperimentRequest(input) return out, req.Send() } // StartExperimentWithContext is the same as StartExperiment with the addition of // the ability to pass a context and additional request options. // // See StartExperiment 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 *FIS) StartExperimentWithContext(ctx aws.Context, input *StartExperimentInput, opts ...request.Option) (*StartExperimentOutput, error) { req, out := c.StartExperimentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opStopExperiment = "StopExperiment" // StopExperimentRequest generates a "aws/request.Request" representing the // client's request for the StopExperiment 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 StopExperiment for more information on using the StopExperiment // 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 StopExperimentRequest method. // req, resp := client.StopExperimentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/StopExperiment func (c *FIS) StopExperimentRequest(input *StopExperimentInput) (req *request.Request, output *StopExperimentOutput) { op := &request.Operation{ Name: opStopExperiment, HTTPMethod: "DELETE", HTTPPath: "/experiments/{id}", } if input == nil { input = &StopExperimentInput{} } output = &StopExperimentOutput{} req = c.newRequest(op, input, output) return } // StopExperiment API operation for AWS Fault Injection Simulator. // // Stops the specified experiment. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Fault Injection Simulator's // API operation StopExperiment for usage and error information. // // Returned Error Types: // * ValidationException // The specified input is not valid, or fails to satisfy the constraints for // the request. // // * ResourceNotFoundException // The specified resource cannot be found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/StopExperiment func (c *FIS) StopExperiment(input *StopExperimentInput) (*StopExperimentOutput, error) { req, out := c.StopExperimentRequest(input) return out, req.Send() } // StopExperimentWithContext is the same as StopExperiment with the addition of // the ability to pass a context and additional request options. // // See StopExperiment 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 *FIS) StopExperimentWithContext(ctx aws.Context, input *StopExperimentInput, opts ...request.Option) (*StopExperimentOutput, error) { req, out := c.StopExperimentRequest(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/fis-2020-12-01/TagResource func (c *FIS) 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 AWS Fault Injection Simulator. // // Applies the specified tags to 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 AWS Fault Injection Simulator's // API operation TagResource for usage and error information. // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/TagResource func (c *FIS) 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 *FIS) 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/fis-2020-12-01/UntagResource func (c *FIS) 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 AWS Fault Injection Simulator. // // Removes the specified 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 AWS Fault Injection Simulator's // API operation UntagResource for usage and error information. // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/UntagResource func (c *FIS) 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 *FIS) 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 opUpdateExperimentTemplate = "UpdateExperimentTemplate" // UpdateExperimentTemplateRequest generates a "aws/request.Request" representing the // client's request for the UpdateExperimentTemplate 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 UpdateExperimentTemplate for more information on using the UpdateExperimentTemplate // 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 UpdateExperimentTemplateRequest method. // req, resp := client.UpdateExperimentTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/UpdateExperimentTemplate func (c *FIS) UpdateExperimentTemplateRequest(input *UpdateExperimentTemplateInput) (req *request.Request, output *UpdateExperimentTemplateOutput) { op := &request.Operation{ Name: opUpdateExperimentTemplate, HTTPMethod: "PATCH", HTTPPath: "/experimentTemplates/{id}", } if input == nil { input = &UpdateExperimentTemplateInput{} } output = &UpdateExperimentTemplateOutput{} req = c.newRequest(op, input, output) return } // UpdateExperimentTemplate API operation for AWS Fault Injection Simulator. // // Updates the specified experiment template. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Fault Injection Simulator's // API operation UpdateExperimentTemplate for usage and error information. // // Returned Error Types: // * ValidationException // The specified input is not valid, or fails to satisfy the constraints for // the request. // // * ResourceNotFoundException // The specified resource cannot be found. // // * ServiceQuotaExceededException // You have exceeded your service quota. // // See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/UpdateExperimentTemplate func (c *FIS) UpdateExperimentTemplate(input *UpdateExperimentTemplateInput) (*UpdateExperimentTemplateOutput, error) { req, out := c.UpdateExperimentTemplateRequest(input) return out, req.Send() } // UpdateExperimentTemplateWithContext is the same as UpdateExperimentTemplate with the addition of // the ability to pass a context and additional request options. // // See UpdateExperimentTemplate 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 *FIS) UpdateExperimentTemplateWithContext(ctx aws.Context, input *UpdateExperimentTemplateInput, opts ...request.Option) (*UpdateExperimentTemplateOutput, error) { req, out := c.UpdateExperimentTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // Describes an action. For more information, see AWS FIS actions (https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html) // in the AWS Fault Injection Simulator User Guide. type Action struct { _ struct{} `type:"structure"` // The description for the action. Description *string `locationName:"description" type:"string"` // The ID of the action. Id *string `locationName:"id" type:"string"` // The action parameters, if applicable. Parameters map[string]*ActionParameter `locationName:"parameters" type:"map"` // The tags for the action. Tags map[string]*string `locationName:"tags" type:"map"` // The supported targets for the action. Targets map[string]*ActionTarget `locationName:"targets" type:"map"` } // String returns the string representation func (s Action) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Action) GoString() string { return s.String() } // SetDescription sets the Description field's value. func (s *Action) SetDescription(v string) *Action { s.Description = &v return s } // SetId sets the Id field's value. func (s *Action) SetId(v string) *Action { s.Id = &v return s } // SetParameters sets the Parameters field's value. func (s *Action) SetParameters(v map[string]*ActionParameter) *Action { s.Parameters = v return s } // SetTags sets the Tags field's value. func (s *Action) SetTags(v map[string]*string) *Action { s.Tags = v return s } // SetTargets sets the Targets field's value. func (s *Action) SetTargets(v map[string]*ActionTarget) *Action { s.Targets = v return s } // Describes a parameter for an action. type ActionParameter struct { _ struct{} `type:"structure"` // The parameter description. Description *string `locationName:"description" type:"string"` // Indicates whether the parameter is required. Required *bool `locationName:"required" type:"boolean"` } // String returns the string representation func (s ActionParameter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ActionParameter) GoString() string { return s.String() } // SetDescription sets the Description field's value. func (s *ActionParameter) SetDescription(v string) *ActionParameter { s.Description = &v return s } // SetRequired sets the Required field's value. func (s *ActionParameter) SetRequired(v bool) *ActionParameter { s.Required = &v return s } // Provides a summary of an action. type ActionSummary struct { _ struct{} `type:"structure"` // The description for the action. Description *string `locationName:"description" type:"string"` // The ID of the action. Id *string `locationName:"id" type:"string"` // The tags for the action. Tags map[string]*string `locationName:"tags" type:"map"` // The targets for the action. Targets map[string]*ActionTarget `locationName:"targets" type:"map"` } // String returns the string representation func (s ActionSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ActionSummary) GoString() string { return s.String() } // SetDescription sets the Description field's value. func (s *ActionSummary) SetDescription(v string) *ActionSummary { s.Description = &v return s } // SetId sets the Id field's value. func (s *ActionSummary) SetId(v string) *ActionSummary { s.Id = &v return s } // SetTags sets the Tags field's value. func (s *ActionSummary) SetTags(v map[string]*string) *ActionSummary { s.Tags = v return s } // SetTargets sets the Targets field's value. func (s *ActionSummary) SetTargets(v map[string]*ActionTarget) *ActionSummary { s.Targets = v return s } // Describes a target for an action. type ActionTarget struct { _ struct{} `type:"structure"` // The resource type of the target. ResourceType *string `locationName:"resourceType" type:"string"` } // String returns the string representation func (s ActionTarget) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ActionTarget) GoString() string { return s.String() } // SetResourceType sets the ResourceType field's value. func (s *ActionTarget) SetResourceType(v string) *ActionTarget { s.ResourceType = &v return s } // The request could not be processed because of a conflict. type ConflictException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` } // String returns the string representation func (s ConflictException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation 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 } // Specifies an action for an experiment template. type CreateExperimentTemplateActionInput struct { _ struct{} `type:"structure"` // The ID of the action. // // ActionId is a required field ActionId *string `locationName:"actionId" type:"string" required:"true"` // A description for the action. Description *string `locationName:"description" type:"string"` // The parameters for the action, if applicable. Parameters map[string]*string `locationName:"parameters" type:"map"` // The name of the action that must be completed before the current action starts. // Omit this parameter to run the action at the start of the experiment. StartAfter []*string `locationName:"startAfter" type:"list"` // The targets for the action. Targets map[string]*string `locationName:"targets" type:"map"` } // String returns the string representation func (s CreateExperimentTemplateActionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateExperimentTemplateActionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateExperimentTemplateActionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateExperimentTemplateActionInput"} if s.ActionId == nil { invalidParams.Add(request.NewErrParamRequired("ActionId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetActionId sets the ActionId field's value. func (s *CreateExperimentTemplateActionInput) SetActionId(v string) *CreateExperimentTemplateActionInput { s.ActionId = &v return s } // SetDescription sets the Description field's value. func (s *CreateExperimentTemplateActionInput) SetDescription(v string) *CreateExperimentTemplateActionInput { s.Description = &v return s } // SetParameters sets the Parameters field's value. func (s *CreateExperimentTemplateActionInput) SetParameters(v map[string]*string) *CreateExperimentTemplateActionInput { s.Parameters = v return s } // SetStartAfter sets the StartAfter field's value. func (s *CreateExperimentTemplateActionInput) SetStartAfter(v []*string) *CreateExperimentTemplateActionInput { s.StartAfter = v return s } // SetTargets sets the Targets field's value. func (s *CreateExperimentTemplateActionInput) SetTargets(v map[string]*string) *CreateExperimentTemplateActionInput { s.Targets = v return s } type CreateExperimentTemplateInput struct { _ struct{} `type:"structure"` // The actions for the experiment. // // Actions is a required field Actions map[string]*CreateExperimentTemplateActionInput `locationName:"actions" type:"map" required:"true"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // A description for the experiment template. Can contain up to 64 letters (A-Z // and a-z). // // Description is a required field Description *string `locationName:"description" type:"string" required:"true"` // The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service // permission to perform service actions on your behalf. // // RoleArn is a required field RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"` // The stop conditions. // // StopConditions is a required field StopConditions []*CreateExperimentTemplateStopConditionInput `locationName:"stopConditions" type:"list" required:"true"` // The tags to apply to the experiment template. Tags map[string]*string `locationName:"tags" type:"map"` // The targets for the experiment. Targets map[string]*CreateExperimentTemplateTargetInput `locationName:"targets" type:"map"` } // String returns the string representation func (s CreateExperimentTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateExperimentTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateExperimentTemplateInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateExperimentTemplateInput"} if s.Actions == nil { invalidParams.Add(request.NewErrParamRequired("Actions")) } if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } if s.Description == nil { invalidParams.Add(request.NewErrParamRequired("Description")) } if s.RoleArn == nil { invalidParams.Add(request.NewErrParamRequired("RoleArn")) } if s.RoleArn != nil && len(*s.RoleArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) } if s.StopConditions == nil { invalidParams.Add(request.NewErrParamRequired("StopConditions")) } if s.Actions != nil { for i, v := range s.Actions { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) } } } if s.StopConditions != nil { for i, v := range s.StopConditions { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StopConditions", i), err.(request.ErrInvalidParams)) } } } if s.Targets != nil { for i, v := range s.Targets { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetActions sets the Actions field's value. func (s *CreateExperimentTemplateInput) SetActions(v map[string]*CreateExperimentTemplateActionInput) *CreateExperimentTemplateInput { s.Actions = v return s } // SetClientToken sets the ClientToken field's value. func (s *CreateExperimentTemplateInput) SetClientToken(v string) *CreateExperimentTemplateInput { s.ClientToken = &v return s } // SetDescription sets the Description field's value. func (s *CreateExperimentTemplateInput) SetDescription(v string) *CreateExperimentTemplateInput { s.Description = &v return s } // SetRoleArn sets the RoleArn field's value. func (s *CreateExperimentTemplateInput) SetRoleArn(v string) *CreateExperimentTemplateInput { s.RoleArn = &v return s } // SetStopConditions sets the StopConditions field's value. func (s *CreateExperimentTemplateInput) SetStopConditions(v []*CreateExperimentTemplateStopConditionInput) *CreateExperimentTemplateInput { s.StopConditions = v return s } // SetTags sets the Tags field's value. func (s *CreateExperimentTemplateInput) SetTags(v map[string]*string) *CreateExperimentTemplateInput { s.Tags = v return s } // SetTargets sets the Targets field's value. func (s *CreateExperimentTemplateInput) SetTargets(v map[string]*CreateExperimentTemplateTargetInput) *CreateExperimentTemplateInput { s.Targets = v return s } type CreateExperimentTemplateOutput struct { _ struct{} `type:"structure"` // Information about the experiment template. ExperimentTemplate *ExperimentTemplate `locationName:"experimentTemplate" type:"structure"` } // String returns the string representation func (s CreateExperimentTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateExperimentTemplateOutput) GoString() string { return s.String() } // SetExperimentTemplate sets the ExperimentTemplate field's value. func (s *CreateExperimentTemplateOutput) SetExperimentTemplate(v *ExperimentTemplate) *CreateExperimentTemplateOutput { s.ExperimentTemplate = v return s } // Specifies a stop condition for an experiment template. type CreateExperimentTemplateStopConditionInput struct { _ struct{} `type:"structure"` // The source for the stop condition. Specify aws:cloudwatch:alarm if the stop // condition is defined by a CloudWatch alarm. Specify none if there is no stop // condition. // // Source is a required field Source *string `locationName:"source" type:"string" required:"true"` // The Amazon Resource Name (ARN) of the CloudWatch alarm. This is required // if the source is a CloudWatch alarm. Value *string `locationName:"value" min:"20" type:"string"` } // String returns the string representation func (s CreateExperimentTemplateStopConditionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateExperimentTemplateStopConditionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateExperimentTemplateStopConditionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateExperimentTemplateStopConditionInput"} if s.Source == nil { invalidParams.Add(request.NewErrParamRequired("Source")) } if s.Value != nil && len(*s.Value) < 20 { invalidParams.Add(request.NewErrParamMinLen("Value", 20)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetSource sets the Source field's value. func (s *CreateExperimentTemplateStopConditionInput) SetSource(v string) *CreateExperimentTemplateStopConditionInput { s.Source = &v return s } // SetValue sets the Value field's value. func (s *CreateExperimentTemplateStopConditionInput) SetValue(v string) *CreateExperimentTemplateStopConditionInput { s.Value = &v return s } // Specifies a target for an experiment. You must specify at least one Amazon // Resource Name (ARN) or at least one resource tag. You cannot specify both // ARNs and tags. type CreateExperimentTemplateTargetInput struct { _ struct{} `type:"structure"` // The filters to apply to identify target resources using specific attributes. Filters []*ExperimentTemplateTargetInputFilter `locationName:"filters" type:"list"` // The Amazon Resource Names (ARNs) of the resources. ResourceArns []*string `locationName:"resourceArns" type:"list"` // The tags for the target resources. ResourceTags map[string]*string `locationName:"resourceTags" type:"map"` // The AWS resource type. The resource type must be supported for the specified // action. // // ResourceType is a required field ResourceType *string `locationName:"resourceType" type:"string" required:"true"` // Scopes the identified resources to a specific count of the resources at random, // or a percentage of the resources. All identified resources are included in // the target. // // * ALL - Run the action on all identified targets. This is the default. // // * COUNT(n) - Run the action on the specified number of targets, chosen // from the identified targets at random. For example, COUNT(1) selects one // of the targets. // // * PERCENT(n) - Run the action on the specified percentage of targets, // chosen from the identified targets at random. For example, PERCENT(25) // selects 25% of the targets. // // SelectionMode is a required field SelectionMode *string `locationName:"selectionMode" type:"string" required:"true"` } // String returns the string representation func (s CreateExperimentTemplateTargetInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateExperimentTemplateTargetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateExperimentTemplateTargetInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateExperimentTemplateTargetInput"} if s.ResourceType == nil { invalidParams.Add(request.NewErrParamRequired("ResourceType")) } if s.SelectionMode == nil { invalidParams.Add(request.NewErrParamRequired("SelectionMode")) } if s.Filters != nil { for i, v := range s.Filters { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetFilters sets the Filters field's value. func (s *CreateExperimentTemplateTargetInput) SetFilters(v []*ExperimentTemplateTargetInputFilter) *CreateExperimentTemplateTargetInput { s.Filters = v return s } // SetResourceArns sets the ResourceArns field's value. func (s *CreateExperimentTemplateTargetInput) SetResourceArns(v []*string) *CreateExperimentTemplateTargetInput { s.ResourceArns = v return s } // SetResourceTags sets the ResourceTags field's value. func (s *CreateExperimentTemplateTargetInput) SetResourceTags(v map[string]*string) *CreateExperimentTemplateTargetInput { s.ResourceTags = v return s } // SetResourceType sets the ResourceType field's value. func (s *CreateExperimentTemplateTargetInput) SetResourceType(v string) *CreateExperimentTemplateTargetInput { s.ResourceType = &v return s } // SetSelectionMode sets the SelectionMode field's value. func (s *CreateExperimentTemplateTargetInput) SetSelectionMode(v string) *CreateExperimentTemplateTargetInput { s.SelectionMode = &v return s } type DeleteExperimentTemplateInput struct { _ struct{} `type:"structure"` // The ID of the experiment template. // // Id is a required field Id *string `location:"uri" locationName:"id" type:"string" required:"true"` } // String returns the string representation func (s DeleteExperimentTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteExperimentTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteExperimentTemplateInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteExperimentTemplateInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } if s.Id != nil && len(*s.Id) < 1 { invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetId sets the Id field's value. func (s *DeleteExperimentTemplateInput) SetId(v string) *DeleteExperimentTemplateInput { s.Id = &v return s } type DeleteExperimentTemplateOutput struct { _ struct{} `type:"structure"` // Information about the experiment template. ExperimentTemplate *ExperimentTemplate `locationName:"experimentTemplate" type:"structure"` } // String returns the string representation func (s DeleteExperimentTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteExperimentTemplateOutput) GoString() string { return s.String() } // SetExperimentTemplate sets the ExperimentTemplate field's value. func (s *DeleteExperimentTemplateOutput) SetExperimentTemplate(v *ExperimentTemplate) *DeleteExperimentTemplateOutput { s.ExperimentTemplate = v return s } // Describes an experiment. type Experiment struct { _ struct{} `type:"structure"` // The actions for the experiment. Actions map[string]*ExperimentAction `locationName:"actions" type:"map"` // The time the experiment was created. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` // The time that the experiment ended. EndTime *time.Time `locationName:"endTime" type:"timestamp"` // The ID of the experiment template. ExperimentTemplateId *string `locationName:"experimentTemplateId" type:"string"` // The ID of the experiment. Id *string `locationName:"id" type:"string"` // The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service // permission to perform service actions on your behalf. RoleArn *string `locationName:"roleArn" min:"20" type:"string"` // The time that the experiment was started. StartTime *time.Time `locationName:"startTime" type:"timestamp"` // The state of the experiment. State *ExperimentState `locationName:"state" type:"structure"` // The stop conditions for the experiment. StopConditions []*ExperimentStopCondition `locationName:"stopConditions" type:"list"` // The tags for the experiment. Tags map[string]*string `locationName:"tags" type:"map"` // The targets for the experiment. Targets map[string]*ExperimentTarget `locationName:"targets" type:"map"` } // String returns the string representation func (s Experiment) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Experiment) GoString() string { return s.String() } // SetActions sets the Actions field's value. func (s *Experiment) SetActions(v map[string]*ExperimentAction) *Experiment { s.Actions = v return s } // SetCreationTime sets the CreationTime field's value. func (s *Experiment) SetCreationTime(v time.Time) *Experiment { s.CreationTime = &v return s } // SetEndTime sets the EndTime field's value. func (s *Experiment) SetEndTime(v time.Time) *Experiment { s.EndTime = &v return s } // SetExperimentTemplateId sets the ExperimentTemplateId field's value. func (s *Experiment) SetExperimentTemplateId(v string) *Experiment { s.ExperimentTemplateId = &v return s } // SetId sets the Id field's value. func (s *Experiment) SetId(v string) *Experiment { s.Id = &v return s } // SetRoleArn sets the RoleArn field's value. func (s *Experiment) SetRoleArn(v string) *Experiment { s.RoleArn = &v return s } // SetStartTime sets the StartTime field's value. func (s *Experiment) SetStartTime(v time.Time) *Experiment { s.StartTime = &v return s } // SetState sets the State field's value. func (s *Experiment) SetState(v *ExperimentState) *Experiment { s.State = v return s } // SetStopConditions sets the StopConditions field's value. func (s *Experiment) SetStopConditions(v []*ExperimentStopCondition) *Experiment { s.StopConditions = v return s } // SetTags sets the Tags field's value. func (s *Experiment) SetTags(v map[string]*string) *Experiment { s.Tags = v return s } // SetTargets sets the Targets field's value. func (s *Experiment) SetTargets(v map[string]*ExperimentTarget) *Experiment { s.Targets = v return s } // Describes the action for an experiment. type ExperimentAction struct { _ struct{} `type:"structure"` // The ID of the action. ActionId *string `locationName:"actionId" type:"string"` // The description for the action. Description *string `locationName:"description" type:"string"` // The parameters for the action. Parameters map[string]*string `locationName:"parameters" type:"map"` // The name of the action that must be completed before this action starts. StartAfter []*string `locationName:"startAfter" type:"list"` // The state of the action. State *ExperimentActionState `locationName:"state" type:"structure"` // The targets for the action. Targets map[string]*string `locationName:"targets" type:"map"` } // String returns the string representation func (s ExperimentAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ExperimentAction) GoString() string { return s.String() } // SetActionId sets the ActionId field's value. func (s *ExperimentAction) SetActionId(v string) *ExperimentAction { s.ActionId = &v return s } // SetDescription sets the Description field's value. func (s *ExperimentAction) SetDescription(v string) *ExperimentAction { s.Description = &v return s } // SetParameters sets the Parameters field's value. func (s *ExperimentAction) SetParameters(v map[string]*string) *ExperimentAction { s.Parameters = v return s } // SetStartAfter sets the StartAfter field's value. func (s *ExperimentAction) SetStartAfter(v []*string) *ExperimentAction { s.StartAfter = v return s } // SetState sets the State field's value. func (s *ExperimentAction) SetState(v *ExperimentActionState) *ExperimentAction { s.State = v return s } // SetTargets sets the Targets field's value. func (s *ExperimentAction) SetTargets(v map[string]*string) *ExperimentAction { s.Targets = v return s } // Describes the state of an action. type ExperimentActionState struct { _ struct{} `type:"structure"` // The reason for the state. Reason *string `locationName:"reason" type:"string"` // The state of the action. Status *string `locationName:"status" type:"string" enum:"ExperimentActionStatus"` } // String returns the string representation func (s ExperimentActionState) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ExperimentActionState) GoString() string { return s.String() } // SetReason sets the Reason field's value. func (s *ExperimentActionState) SetReason(v string) *ExperimentActionState { s.Reason = &v return s } // SetStatus sets the Status field's value. func (s *ExperimentActionState) SetStatus(v string) *ExperimentActionState { s.Status = &v return s } // Describes the state of an experiment. type ExperimentState struct { _ struct{} `type:"structure"` // The reason for the state. Reason *string `locationName:"reason" type:"string"` // The state of the experiment. Status *string `locationName:"status" type:"string" enum:"ExperimentStatus"` } // String returns the string representation func (s ExperimentState) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ExperimentState) GoString() string { return s.String() } // SetReason sets the Reason field's value. func (s *ExperimentState) SetReason(v string) *ExperimentState { s.Reason = &v return s } // SetStatus sets the Status field's value. func (s *ExperimentState) SetStatus(v string) *ExperimentState { s.Status = &v return s } // Describes the stop condition for an experiment. type ExperimentStopCondition struct { _ struct{} `type:"structure"` // The source for the stop condition. Source *string `locationName:"source" type:"string"` // The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable. Value *string `locationName:"value" min:"20" type:"string"` } // String returns the string representation func (s ExperimentStopCondition) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ExperimentStopCondition) GoString() string { return s.String() } // SetSource sets the Source field's value. func (s *ExperimentStopCondition) SetSource(v string) *ExperimentStopCondition { s.Source = &v return s } // SetValue sets the Value field's value. func (s *ExperimentStopCondition) SetValue(v string) *ExperimentStopCondition { s.Value = &v return s } // Provides a summary of an experiment. type ExperimentSummary struct { _ struct{} `type:"structure"` // The time that the experiment was created. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` // The ID of the experiment template. ExperimentTemplateId *string `locationName:"experimentTemplateId" type:"string"` // The ID of the experiment. Id *string `locationName:"id" type:"string"` // The state of the experiment. State *ExperimentState `locationName:"state" type:"structure"` // The tags for the experiment. Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation func (s ExperimentSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ExperimentSummary) GoString() string { return s.String() } // SetCreationTime sets the CreationTime field's value. func (s *ExperimentSummary) SetCreationTime(v time.Time) *ExperimentSummary { s.CreationTime = &v return s } // SetExperimentTemplateId sets the ExperimentTemplateId field's value. func (s *ExperimentSummary) SetExperimentTemplateId(v string) *ExperimentSummary { s.ExperimentTemplateId = &v return s } // SetId sets the Id field's value. func (s *ExperimentSummary) SetId(v string) *ExperimentSummary { s.Id = &v return s } // SetState sets the State field's value. func (s *ExperimentSummary) SetState(v *ExperimentState) *ExperimentSummary { s.State = v return s } // SetTags sets the Tags field's value. func (s *ExperimentSummary) SetTags(v map[string]*string) *ExperimentSummary { s.Tags = v return s } // Describes a target for an experiment. type ExperimentTarget struct { _ struct{} `type:"structure"` // The filters to apply to identify target resources using specific attributes. Filters []*ExperimentTargetFilter `locationName:"filters" type:"list"` // The Amazon Resource Names (ARNs) of the resources. ResourceArns []*string `locationName:"resourceArns" type:"list"` // The tags for the target resources. ResourceTags map[string]*string `locationName:"resourceTags" type:"map"` // The resource type. ResourceType *string `locationName:"resourceType" type:"string"` // Scopes the identified resources to a specific count or percentage. SelectionMode *string `locationName:"selectionMode" type:"string"` } // String returns the string representation func (s ExperimentTarget) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ExperimentTarget) GoString() string { return s.String() } // SetFilters sets the Filters field's value. func (s *ExperimentTarget) SetFilters(v []*ExperimentTargetFilter) *ExperimentTarget { s.Filters = v return s } // SetResourceArns sets the ResourceArns field's value. func (s *ExperimentTarget) SetResourceArns(v []*string) *ExperimentTarget { s.ResourceArns = v return s } // SetResourceTags sets the ResourceTags field's value. func (s *ExperimentTarget) SetResourceTags(v map[string]*string) *ExperimentTarget { s.ResourceTags = v return s } // SetResourceType sets the ResourceType field's value. func (s *ExperimentTarget) SetResourceType(v string) *ExperimentTarget { s.ResourceType = &v return s } // SetSelectionMode sets the SelectionMode field's value. func (s *ExperimentTarget) SetSelectionMode(v string) *ExperimentTarget { s.SelectionMode = &v return s } // Describes a filter used for the target resources in an experiment. type ExperimentTargetFilter struct { _ struct{} `type:"structure"` // The attribute path for the filter. Path *string `locationName:"path" type:"string"` // The attribute values for the filter. Values []*string `locationName:"values" type:"list"` } // String returns the string representation func (s ExperimentTargetFilter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ExperimentTargetFilter) GoString() string { return s.String() } // SetPath sets the Path field's value. func (s *ExperimentTargetFilter) SetPath(v string) *ExperimentTargetFilter { s.Path = &v return s } // SetValues sets the Values field's value. func (s *ExperimentTargetFilter) SetValues(v []*string) *ExperimentTargetFilter { s.Values = v return s } // Describes an experiment template. type ExperimentTemplate struct { _ struct{} `type:"structure"` // The actions for the experiment. Actions map[string]*ExperimentTemplateAction `locationName:"actions" type:"map"` // The time the experiment template was created. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` // The description for the experiment template. Description *string `locationName:"description" type:"string"` // The ID of the experiment template. Id *string `locationName:"id" type:"string"` // The time the experiment template was last updated. LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"` // The Amazon Resource Name (ARN) of an IAM role. RoleArn *string `locationName:"roleArn" min:"20" type:"string"` // The stop conditions for the experiment. StopConditions []*ExperimentTemplateStopCondition `locationName:"stopConditions" type:"list"` // The tags for the experiment template. Tags map[string]*string `locationName:"tags" type:"map"` // The targets for the experiment. Targets map[string]*ExperimentTemplateTarget `locationName:"targets" type:"map"` } // String returns the string representation func (s ExperimentTemplate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ExperimentTemplate) GoString() string { return s.String() } // SetActions sets the Actions field's value. func (s *ExperimentTemplate) SetActions(v map[string]*ExperimentTemplateAction) *ExperimentTemplate { s.Actions = v return s } // SetCreationTime sets the CreationTime field's value. func (s *ExperimentTemplate) SetCreationTime(v time.Time) *ExperimentTemplate { s.CreationTime = &v return s } // SetDescription sets the Description field's value. func (s *ExperimentTemplate) SetDescription(v string) *ExperimentTemplate { s.Description = &v return s } // SetId sets the Id field's value. func (s *ExperimentTemplate) SetId(v string) *ExperimentTemplate { s.Id = &v return s } // SetLastUpdateTime sets the LastUpdateTime field's value. func (s *ExperimentTemplate) SetLastUpdateTime(v time.Time) *ExperimentTemplate { s.LastUpdateTime = &v return s } // SetRoleArn sets the RoleArn field's value. func (s *ExperimentTemplate) SetRoleArn(v string) *ExperimentTemplate { s.RoleArn = &v return s } // SetStopConditions sets the StopConditions field's value. func (s *ExperimentTemplate) SetStopConditions(v []*ExperimentTemplateStopCondition) *ExperimentTemplate { s.StopConditions = v return s } // SetTags sets the Tags field's value. func (s *ExperimentTemplate) SetTags(v map[string]*string) *ExperimentTemplate { s.Tags = v return s } // SetTargets sets the Targets field's value. func (s *ExperimentTemplate) SetTargets(v map[string]*ExperimentTemplateTarget) *ExperimentTemplate { s.Targets = v return s } // Describes an action for an experiment template. type ExperimentTemplateAction struct { _ struct{} `type:"structure"` // The ID of the action. ActionId *string `locationName:"actionId" type:"string"` // A description for the action. Description *string `locationName:"description" type:"string"` // The parameters for the action. Parameters map[string]*string `locationName:"parameters" type:"map"` // The name of the action that must be completed before the current action starts. StartAfter []*string `locationName:"startAfter" type:"list"` // The targets for the action. Targets map[string]*string `locationName:"targets" type:"map"` } // String returns the string representation func (s ExperimentTemplateAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ExperimentTemplateAction) GoString() string { return s.String() } // SetActionId sets the ActionId field's value. func (s *ExperimentTemplateAction) SetActionId(v string) *ExperimentTemplateAction { s.ActionId = &v return s } // SetDescription sets the Description field's value. func (s *ExperimentTemplateAction) SetDescription(v string) *ExperimentTemplateAction { s.Description = &v return s } // SetParameters sets the Parameters field's value. func (s *ExperimentTemplateAction) SetParameters(v map[string]*string) *ExperimentTemplateAction { s.Parameters = v return s } // SetStartAfter sets the StartAfter field's value. func (s *ExperimentTemplateAction) SetStartAfter(v []*string) *ExperimentTemplateAction { s.StartAfter = v return s } // SetTargets sets the Targets field's value. func (s *ExperimentTemplateAction) SetTargets(v map[string]*string) *ExperimentTemplateAction { s.Targets = v return s } // Describes a stop condition for an experiment template. type ExperimentTemplateStopCondition struct { _ struct{} `type:"structure"` // The source for the stop condition. Source *string `locationName:"source" type:"string"` // The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable. Value *string `locationName:"value" min:"20" type:"string"` } // String returns the string representation func (s ExperimentTemplateStopCondition) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ExperimentTemplateStopCondition) GoString() string { return s.String() } // SetSource sets the Source field's value. func (s *ExperimentTemplateStopCondition) SetSource(v string) *ExperimentTemplateStopCondition { s.Source = &v return s } // SetValue sets the Value field's value. func (s *ExperimentTemplateStopCondition) SetValue(v string) *ExperimentTemplateStopCondition { s.Value = &v return s } // Provides a summary of an experiment template. type ExperimentTemplateSummary struct { _ struct{} `type:"structure"` // The time that the experiment template was created. CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` // The description of the experiment template. Description *string `locationName:"description" type:"string"` // The ID of the experiment template. Id *string `locationName:"id" type:"string"` // The time that the experiment template was last updated. LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"` // The tags for the experiment template. Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation func (s ExperimentTemplateSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ExperimentTemplateSummary) GoString() string { return s.String() } // SetCreationTime sets the CreationTime field's value. func (s *ExperimentTemplateSummary) SetCreationTime(v time.Time) *ExperimentTemplateSummary { s.CreationTime = &v return s } // SetDescription sets the Description field's value. func (s *ExperimentTemplateSummary) SetDescription(v string) *ExperimentTemplateSummary { s.Description = &v return s } // SetId sets the Id field's value. func (s *ExperimentTemplateSummary) SetId(v string) *ExperimentTemplateSummary { s.Id = &v return s } // SetLastUpdateTime sets the LastUpdateTime field's value. func (s *ExperimentTemplateSummary) SetLastUpdateTime(v time.Time) *ExperimentTemplateSummary { s.LastUpdateTime = &v return s } // SetTags sets the Tags field's value. func (s *ExperimentTemplateSummary) SetTags(v map[string]*string) *ExperimentTemplateSummary { s.Tags = v return s } // Describes a target for an experiment template. type ExperimentTemplateTarget struct { _ struct{} `type:"structure"` // The filters to apply to identify target resources using specific attributes. Filters []*ExperimentTemplateTargetFilter `locationName:"filters" type:"list"` // The Amazon Resource Names (ARNs) of the targets. ResourceArns []*string `locationName:"resourceArns" type:"list"` // The tags for the target resources. ResourceTags map[string]*string `locationName:"resourceTags" type:"map"` // The resource type. ResourceType *string `locationName:"resourceType" type:"string"` // Scopes the identified resources to a specific count or percentage. SelectionMode *string `locationName:"selectionMode" type:"string"` } // String returns the string representation func (s ExperimentTemplateTarget) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ExperimentTemplateTarget) GoString() string { return s.String() } // SetFilters sets the Filters field's value. func (s *ExperimentTemplateTarget) SetFilters(v []*ExperimentTemplateTargetFilter) *ExperimentTemplateTarget { s.Filters = v return s } // SetResourceArns sets the ResourceArns field's value. func (s *ExperimentTemplateTarget) SetResourceArns(v []*string) *ExperimentTemplateTarget { s.ResourceArns = v return s } // SetResourceTags sets the ResourceTags field's value. func (s *ExperimentTemplateTarget) SetResourceTags(v map[string]*string) *ExperimentTemplateTarget { s.ResourceTags = v return s } // SetResourceType sets the ResourceType field's value. func (s *ExperimentTemplateTarget) SetResourceType(v string) *ExperimentTemplateTarget { s.ResourceType = &v return s } // SetSelectionMode sets the SelectionMode field's value. func (s *ExperimentTemplateTarget) SetSelectionMode(v string) *ExperimentTemplateTarget { s.SelectionMode = &v return s } // Describes a filter used for the target resources in an experiment template. type ExperimentTemplateTargetFilter struct { _ struct{} `type:"structure"` // The attribute path for the filter. Path *string `locationName:"path" type:"string"` // The attribute values for the filter. Values []*string `locationName:"values" type:"list"` } // String returns the string representation func (s ExperimentTemplateTargetFilter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ExperimentTemplateTargetFilter) GoString() string { return s.String() } // SetPath sets the Path field's value. func (s *ExperimentTemplateTargetFilter) SetPath(v string) *ExperimentTemplateTargetFilter { s.Path = &v return s } // SetValues sets the Values field's value. func (s *ExperimentTemplateTargetFilter) SetValues(v []*string) *ExperimentTemplateTargetFilter { s.Values = v return s } // Describes a filter used for the target resource input in an experiment template. type ExperimentTemplateTargetInputFilter struct { _ struct{} `type:"structure"` // The attribute path for the filter. // // Path is a required field Path *string `locationName:"path" type:"string" required:"true"` // The attribute values for the filter. // // Values is a required field Values []*string `locationName:"values" type:"list" required:"true"` } // String returns the string representation func (s ExperimentTemplateTargetInputFilter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ExperimentTemplateTargetInputFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ExperimentTemplateTargetInputFilter) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ExperimentTemplateTargetInputFilter"} if s.Path == nil { invalidParams.Add(request.NewErrParamRequired("Path")) } if s.Values == nil { invalidParams.Add(request.NewErrParamRequired("Values")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetPath sets the Path field's value. func (s *ExperimentTemplateTargetInputFilter) SetPath(v string) *ExperimentTemplateTargetInputFilter { s.Path = &v return s } // SetValues sets the Values field's value. func (s *ExperimentTemplateTargetInputFilter) SetValues(v []*string) *ExperimentTemplateTargetInputFilter { s.Values = v return s } type GetActionInput struct { _ struct{} `type:"structure"` // The ID of the action. // // Id is a required field Id *string `location:"uri" locationName:"id" type:"string" required:"true"` } // String returns the string representation func (s GetActionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetActionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetActionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetActionInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } if s.Id != nil && len(*s.Id) < 1 { invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetId sets the Id field's value. func (s *GetActionInput) SetId(v string) *GetActionInput { s.Id = &v return s } type GetActionOutput struct { _ struct{} `type:"structure"` // Information about the action. Action *Action `locationName:"action" type:"structure"` } // String returns the string representation func (s GetActionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetActionOutput) GoString() string { return s.String() } // SetAction sets the Action field's value. func (s *GetActionOutput) SetAction(v *Action) *GetActionOutput { s.Action = v return s } type GetExperimentInput struct { _ struct{} `type:"structure"` // The ID of the experiment. // // Id is a required field Id *string `location:"uri" locationName:"id" type:"string" required:"true"` } // String returns the string representation func (s GetExperimentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetExperimentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetExperimentInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetExperimentInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } if s.Id != nil && len(*s.Id) < 1 { invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetId sets the Id field's value. func (s *GetExperimentInput) SetId(v string) *GetExperimentInput { s.Id = &v return s } type GetExperimentOutput struct { _ struct{} `type:"structure"` // Information about the experiment. Experiment *Experiment `locationName:"experiment" type:"structure"` } // String returns the string representation func (s GetExperimentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetExperimentOutput) GoString() string { return s.String() } // SetExperiment sets the Experiment field's value. func (s *GetExperimentOutput) SetExperiment(v *Experiment) *GetExperimentOutput { s.Experiment = v return s } type GetExperimentTemplateInput struct { _ struct{} `type:"structure"` // The ID of the experiment template. // // Id is a required field Id *string `location:"uri" locationName:"id" type:"string" required:"true"` } // String returns the string representation func (s GetExperimentTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetExperimentTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetExperimentTemplateInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetExperimentTemplateInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } if s.Id != nil && len(*s.Id) < 1 { invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetId sets the Id field's value. func (s *GetExperimentTemplateInput) SetId(v string) *GetExperimentTemplateInput { s.Id = &v return s } type GetExperimentTemplateOutput struct { _ struct{} `type:"structure"` // Information about the experiment template. ExperimentTemplate *ExperimentTemplate `locationName:"experimentTemplate" type:"structure"` } // String returns the string representation func (s GetExperimentTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetExperimentTemplateOutput) GoString() string { return s.String() } // SetExperimentTemplate sets the ExperimentTemplate field's value. func (s *GetExperimentTemplateOutput) SetExperimentTemplate(v *ExperimentTemplate) *GetExperimentTemplateOutput { s.ExperimentTemplate = v return s } type ListActionsInput struct { _ struct{} `type:"structure"` // The maximum number of results to return with a single call. To retrieve the // remaining results, make another call with the returned nextToken value. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // The token for the next page of results. NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation func (s ListActionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListActionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListActionsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListActionsInput"} 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 *ListActionsInput) SetMaxResults(v int64) *ListActionsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListActionsInput) SetNextToken(v string) *ListActionsInput { s.NextToken = &v return s } type ListActionsOutput struct { _ struct{} `type:"structure"` // The actions. Actions []*ActionSummary `locationName:"actions" type:"list"` // The token to use to retrieve the next page of results. This value is null // when there are no more results to return. NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation func (s ListActionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListActionsOutput) GoString() string { return s.String() } // SetActions sets the Actions field's value. func (s *ListActionsOutput) SetActions(v []*ActionSummary) *ListActionsOutput { s.Actions = v return s } // SetNextToken sets the NextToken field's value. func (s *ListActionsOutput) SetNextToken(v string) *ListActionsOutput { s.NextToken = &v return s } type ListExperimentTemplatesInput struct { _ struct{} `type:"structure"` // The maximum number of results to return with a single call. To retrieve the // remaining results, make another call with the returned nextToken value. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // The token for the next page of results. NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation func (s ListExperimentTemplatesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListExperimentTemplatesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListExperimentTemplatesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListExperimentTemplatesInput"} 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 *ListExperimentTemplatesInput) SetMaxResults(v int64) *ListExperimentTemplatesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListExperimentTemplatesInput) SetNextToken(v string) *ListExperimentTemplatesInput { s.NextToken = &v return s } type ListExperimentTemplatesOutput struct { _ struct{} `type:"structure"` // The experiment templates. ExperimentTemplates []*ExperimentTemplateSummary `locationName:"experimentTemplates" type:"list"` // The token to use to retrieve the next page of results. This value is null // when there are no more results to return. NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation func (s ListExperimentTemplatesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListExperimentTemplatesOutput) GoString() string { return s.String() } // SetExperimentTemplates sets the ExperimentTemplates field's value. func (s *ListExperimentTemplatesOutput) SetExperimentTemplates(v []*ExperimentTemplateSummary) *ListExperimentTemplatesOutput { s.ExperimentTemplates = v return s } // SetNextToken sets the NextToken field's value. func (s *ListExperimentTemplatesOutput) SetNextToken(v string) *ListExperimentTemplatesOutput { s.NextToken = &v return s } type ListExperimentsInput struct { _ struct{} `type:"structure"` // The maximum number of results to return with a single call. To retrieve the // remaining results, make another call with the returned nextToken value. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // The token for the next page of results. NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation func (s ListExperimentsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListExperimentsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListExperimentsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListExperimentsInput"} 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 *ListExperimentsInput) SetMaxResults(v int64) *ListExperimentsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListExperimentsInput) SetNextToken(v string) *ListExperimentsInput { s.NextToken = &v return s } type ListExperimentsOutput struct { _ struct{} `type:"structure"` // The experiments. Experiments []*ExperimentSummary `locationName:"experiments" type:"list"` // The token to use to retrieve the next page of results. This value is null // when there are no more results to return. NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation func (s ListExperimentsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListExperimentsOutput) GoString() string { return s.String() } // SetExperiments sets the Experiments field's value. func (s *ListExperimentsOutput) SetExperiments(v []*ExperimentSummary) *ListExperimentsOutput { s.Experiments = v return s } // SetNextToken sets the NextToken field's value. func (s *ListExperimentsOutput) SetNextToken(v string) *ListExperimentsOutput { s.NextToken = &v return s } type ListTagsForResourceInput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the resource. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` } // String returns the string representation func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation 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) < 20 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) } 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 tags for the resource. Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation 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 cannot be found. type ResourceNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` } // String returns the string representation func (s ResourceNotFoundException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation 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 } // You have exceeded your service quota. type ServiceQuotaExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` } // String returns the string representation func (s ServiceQuotaExceededException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation 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 StartExperimentInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The ID of the experiment template. // // ExperimentTemplateId is a required field ExperimentTemplateId *string `locationName:"experimentTemplateId" type:"string" required:"true"` // The tags to apply to the experiment. Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation func (s StartExperimentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s StartExperimentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *StartExperimentInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "StartExperimentInput"} if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } if s.ExperimentTemplateId == nil { invalidParams.Add(request.NewErrParamRequired("ExperimentTemplateId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *StartExperimentInput) SetClientToken(v string) *StartExperimentInput { s.ClientToken = &v return s } // SetExperimentTemplateId sets the ExperimentTemplateId field's value. func (s *StartExperimentInput) SetExperimentTemplateId(v string) *StartExperimentInput { s.ExperimentTemplateId = &v return s } // SetTags sets the Tags field's value. func (s *StartExperimentInput) SetTags(v map[string]*string) *StartExperimentInput { s.Tags = v return s } type StartExperimentOutput struct { _ struct{} `type:"structure"` // Information about the experiment. Experiment *Experiment `locationName:"experiment" type:"structure"` } // String returns the string representation func (s StartExperimentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s StartExperimentOutput) GoString() string { return s.String() } // SetExperiment sets the Experiment field's value. func (s *StartExperimentOutput) SetExperiment(v *Experiment) *StartExperimentOutput { s.Experiment = v return s } type StopExperimentInput struct { _ struct{} `type:"structure"` // The ID of the experiment. // // Id is a required field Id *string `location:"uri" locationName:"id" type:"string" required:"true"` } // String returns the string representation func (s StopExperimentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s StopExperimentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *StopExperimentInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "StopExperimentInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } if s.Id != nil && len(*s.Id) < 1 { invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetId sets the Id field's value. func (s *StopExperimentInput) SetId(v string) *StopExperimentInput { s.Id = &v return s } type StopExperimentOutput struct { _ struct{} `type:"structure"` // Information about the experiment. Experiment *Experiment `locationName:"experiment" type:"structure"` } // String returns the string representation func (s StopExperimentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s StopExperimentOutput) GoString() string { return s.String() } // SetExperiment sets the Experiment field's value. func (s *StopExperimentOutput) SetExperiment(v *Experiment) *StopExperimentOutput { s.Experiment = v return s } type TagResourceInput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the resource. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` // The tags for the resource. // // Tags is a required field Tags map[string]*string `locationName:"tags" type:"map" required:"true"` } // String returns the string representation func (s TagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation 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) < 20 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) } if s.Tags == nil { invalidParams.Add(request.NewErrParamRequired("Tags")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceArn sets the ResourceArn field's value. func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { s.ResourceArn = &v return s } // SetTags sets the Tags field's value. func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { s.Tags = v return s } type TagResourceOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s TagResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s TagResourceOutput) GoString() string { return s.String() } type UntagResourceInput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the resource. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` // The tag keys to remove. TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list"` } // String returns the string representation func (s UntagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation 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) < 20 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) } 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 func (s UntagResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UntagResourceOutput) GoString() string { return s.String() } // Specifies an action for an experiment template. type UpdateExperimentTemplateActionInputItem struct { _ struct{} `type:"structure"` // The ID of the action. ActionId *string `locationName:"actionId" type:"string"` // A description for the action. Description *string `locationName:"description" type:"string"` // The parameters for the action, if applicable. Parameters map[string]*string `locationName:"parameters" type:"map"` // The name of the action that must be completed before the current action starts. // Omit this parameter to run the action at the start of the experiment. StartAfter []*string `locationName:"startAfter" type:"list"` // The targets for the action. Targets map[string]*string `locationName:"targets" type:"map"` } // String returns the string representation func (s UpdateExperimentTemplateActionInputItem) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UpdateExperimentTemplateActionInputItem) GoString() string { return s.String() } // SetActionId sets the ActionId field's value. func (s *UpdateExperimentTemplateActionInputItem) SetActionId(v string) *UpdateExperimentTemplateActionInputItem { s.ActionId = &v return s } // SetDescription sets the Description field's value. func (s *UpdateExperimentTemplateActionInputItem) SetDescription(v string) *UpdateExperimentTemplateActionInputItem { s.Description = &v return s } // SetParameters sets the Parameters field's value. func (s *UpdateExperimentTemplateActionInputItem) SetParameters(v map[string]*string) *UpdateExperimentTemplateActionInputItem { s.Parameters = v return s } // SetStartAfter sets the StartAfter field's value. func (s *UpdateExperimentTemplateActionInputItem) SetStartAfter(v []*string) *UpdateExperimentTemplateActionInputItem { s.StartAfter = v return s } // SetTargets sets the Targets field's value. func (s *UpdateExperimentTemplateActionInputItem) SetTargets(v map[string]*string) *UpdateExperimentTemplateActionInputItem { s.Targets = v return s } type UpdateExperimentTemplateInput struct { _ struct{} `type:"structure"` // The actions for the experiment. Actions map[string]*UpdateExperimentTemplateActionInputItem `locationName:"actions" type:"map"` // A description for the template. Description *string `locationName:"description" type:"string"` // The ID of the experiment template. // // Id is a required field Id *string `location:"uri" locationName:"id" type:"string" required:"true"` // The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service // permission to perform service actions on your behalf. RoleArn *string `locationName:"roleArn" min:"20" type:"string"` // The stop conditions for the experiment. StopConditions []*UpdateExperimentTemplateStopConditionInput `locationName:"stopConditions" type:"list"` // The targets for the experiment. Targets map[string]*UpdateExperimentTemplateTargetInput `locationName:"targets" type:"map"` } // String returns the string representation func (s UpdateExperimentTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UpdateExperimentTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateExperimentTemplateInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateExperimentTemplateInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } if s.Id != nil && len(*s.Id) < 1 { invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if s.RoleArn != nil && len(*s.RoleArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) } if s.StopConditions != nil { for i, v := range s.StopConditions { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StopConditions", i), err.(request.ErrInvalidParams)) } } } if s.Targets != nil { for i, v := range s.Targets { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetActions sets the Actions field's value. func (s *UpdateExperimentTemplateInput) SetActions(v map[string]*UpdateExperimentTemplateActionInputItem) *UpdateExperimentTemplateInput { s.Actions = v return s } // SetDescription sets the Description field's value. func (s *UpdateExperimentTemplateInput) SetDescription(v string) *UpdateExperimentTemplateInput { s.Description = &v return s } // SetId sets the Id field's value. func (s *UpdateExperimentTemplateInput) SetId(v string) *UpdateExperimentTemplateInput { s.Id = &v return s } // SetRoleArn sets the RoleArn field's value. func (s *UpdateExperimentTemplateInput) SetRoleArn(v string) *UpdateExperimentTemplateInput { s.RoleArn = &v return s } // SetStopConditions sets the StopConditions field's value. func (s *UpdateExperimentTemplateInput) SetStopConditions(v []*UpdateExperimentTemplateStopConditionInput) *UpdateExperimentTemplateInput { s.StopConditions = v return s } // SetTargets sets the Targets field's value. func (s *UpdateExperimentTemplateInput) SetTargets(v map[string]*UpdateExperimentTemplateTargetInput) *UpdateExperimentTemplateInput { s.Targets = v return s } type UpdateExperimentTemplateOutput struct { _ struct{} `type:"structure"` // Information about the experiment template. ExperimentTemplate *ExperimentTemplate `locationName:"experimentTemplate" type:"structure"` } // String returns the string representation func (s UpdateExperimentTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UpdateExperimentTemplateOutput) GoString() string { return s.String() } // SetExperimentTemplate sets the ExperimentTemplate field's value. func (s *UpdateExperimentTemplateOutput) SetExperimentTemplate(v *ExperimentTemplate) *UpdateExperimentTemplateOutput { s.ExperimentTemplate = v return s } // Specifies a stop condition for an experiment. You can define a stop condition // as a CloudWatch alarm. type UpdateExperimentTemplateStopConditionInput struct { _ struct{} `type:"structure"` // The source for the stop condition. Specify aws:cloudwatch:alarm if the stop // condition is defined by a CloudWatch alarm. Specify none if there is no stop // condition. // // Source is a required field Source *string `locationName:"source" type:"string" required:"true"` // The Amazon Resource Name (ARN) of the CloudWatch alarm. Value *string `locationName:"value" min:"20" type:"string"` } // String returns the string representation func (s UpdateExperimentTemplateStopConditionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UpdateExperimentTemplateStopConditionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateExperimentTemplateStopConditionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateExperimentTemplateStopConditionInput"} if s.Source == nil { invalidParams.Add(request.NewErrParamRequired("Source")) } if s.Value != nil && len(*s.Value) < 20 { invalidParams.Add(request.NewErrParamMinLen("Value", 20)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetSource sets the Source field's value. func (s *UpdateExperimentTemplateStopConditionInput) SetSource(v string) *UpdateExperimentTemplateStopConditionInput { s.Source = &v return s } // SetValue sets the Value field's value. func (s *UpdateExperimentTemplateStopConditionInput) SetValue(v string) *UpdateExperimentTemplateStopConditionInput { s.Value = &v return s } // Specifies a target for an experiment. You must specify at least one Amazon // Resource Name (ARN) or at least one resource tag. You cannot specify both. type UpdateExperimentTemplateTargetInput struct { _ struct{} `type:"structure"` // The filters to apply to identify target resources using specific attributes. Filters []*ExperimentTemplateTargetInputFilter `locationName:"filters" type:"list"` // The Amazon Resource Names (ARNs) of the targets. ResourceArns []*string `locationName:"resourceArns" type:"list"` // The tags for the target resources. ResourceTags map[string]*string `locationName:"resourceTags" type:"map"` // The AWS resource type. The resource type must be supported for the specified // action. // // ResourceType is a required field ResourceType *string `locationName:"resourceType" type:"string" required:"true"` // Scopes the identified resources to a specific count or percentage. // // SelectionMode is a required field SelectionMode *string `locationName:"selectionMode" type:"string" required:"true"` } // String returns the string representation func (s UpdateExperimentTemplateTargetInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UpdateExperimentTemplateTargetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateExperimentTemplateTargetInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateExperimentTemplateTargetInput"} if s.ResourceType == nil { invalidParams.Add(request.NewErrParamRequired("ResourceType")) } if s.SelectionMode == nil { invalidParams.Add(request.NewErrParamRequired("SelectionMode")) } if s.Filters != nil { for i, v := range s.Filters { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetFilters sets the Filters field's value. func (s *UpdateExperimentTemplateTargetInput) SetFilters(v []*ExperimentTemplateTargetInputFilter) *UpdateExperimentTemplateTargetInput { s.Filters = v return s } // SetResourceArns sets the ResourceArns field's value. func (s *UpdateExperimentTemplateTargetInput) SetResourceArns(v []*string) *UpdateExperimentTemplateTargetInput { s.ResourceArns = v return s } // SetResourceTags sets the ResourceTags field's value. func (s *UpdateExperimentTemplateTargetInput) SetResourceTags(v map[string]*string) *UpdateExperimentTemplateTargetInput { s.ResourceTags = v return s } // SetResourceType sets the ResourceType field's value. func (s *UpdateExperimentTemplateTargetInput) SetResourceType(v string) *UpdateExperimentTemplateTargetInput { s.ResourceType = &v return s } // SetSelectionMode sets the SelectionMode field's value. func (s *UpdateExperimentTemplateTargetInput) SetSelectionMode(v string) *UpdateExperimentTemplateTargetInput { s.SelectionMode = &v return s } // The specified input is not valid, or fails to satisfy the constraints for // the request. type ValidationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` } // String returns the string representation func (s ValidationException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ValidationException) GoString() string { return s.String() } func newErrorValidationException(v protocol.ResponseMetadata) error { return &ValidationException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ValidationException) Code() string { return "ValidationException" } // Message returns the exception's message. func (s *ValidationException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ValidationException) OrigErr() error { return nil } func (s *ValidationException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *ValidationException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ValidationException) RequestID() string { return s.RespMetadata.RequestID } const ( // ExperimentActionStatusPending is a ExperimentActionStatus enum value ExperimentActionStatusPending = "pending" // ExperimentActionStatusInitiating is a ExperimentActionStatus enum value ExperimentActionStatusInitiating = "initiating" // ExperimentActionStatusRunning is a ExperimentActionStatus enum value ExperimentActionStatusRunning = "running" // ExperimentActionStatusCompleted is a ExperimentActionStatus enum value ExperimentActionStatusCompleted = "completed" // ExperimentActionStatusCancelled is a ExperimentActionStatus enum value ExperimentActionStatusCancelled = "cancelled" // ExperimentActionStatusStopping is a ExperimentActionStatus enum value ExperimentActionStatusStopping = "stopping" // ExperimentActionStatusStopped is a ExperimentActionStatus enum value ExperimentActionStatusStopped = "stopped" // ExperimentActionStatusFailed is a ExperimentActionStatus enum value ExperimentActionStatusFailed = "failed" ) // ExperimentActionStatus_Values returns all elements of the ExperimentActionStatus enum func ExperimentActionStatus_Values() []string { return []string{ ExperimentActionStatusPending, ExperimentActionStatusInitiating, ExperimentActionStatusRunning, ExperimentActionStatusCompleted, ExperimentActionStatusCancelled, ExperimentActionStatusStopping, ExperimentActionStatusStopped, ExperimentActionStatusFailed, } } const ( // ExperimentStatusPending is a ExperimentStatus enum value ExperimentStatusPending = "pending" // ExperimentStatusInitiating is a ExperimentStatus enum value ExperimentStatusInitiating = "initiating" // ExperimentStatusRunning is a ExperimentStatus enum value ExperimentStatusRunning = "running" // ExperimentStatusCompleted is a ExperimentStatus enum value ExperimentStatusCompleted = "completed" // ExperimentStatusStopping is a ExperimentStatus enum value ExperimentStatusStopping = "stopping" // ExperimentStatusStopped is a ExperimentStatus enum value ExperimentStatusStopped = "stopped" // ExperimentStatusFailed is a ExperimentStatus enum value ExperimentStatusFailed = "failed" ) // ExperimentStatus_Values returns all elements of the ExperimentStatus enum func ExperimentStatus_Values() []string { return []string{ ExperimentStatusPending, ExperimentStatusInitiating, ExperimentStatusRunning, ExperimentStatusCompleted, ExperimentStatusStopping, ExperimentStatusStopped, ExperimentStatusFailed, } }