// 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. // // An experiment template includes the following components: // // - Targets: A target can be a specific resource in your Amazon Web Services // 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 Experiment templates (https://docs.aws.amazon.com/fis/latest/userguide/experiment-templates.html) // in the Fault Injection Simulator User Guide. // // 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 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 opGetTargetResourceType = "GetTargetResourceType" // GetTargetResourceTypeRequest generates a "aws/request.Request" representing the // client's request for the GetTargetResourceType 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 GetTargetResourceType for more information on using the GetTargetResourceType // 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 GetTargetResourceTypeRequest method. // req, resp := client.GetTargetResourceTypeRequest(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/GetTargetResourceType func (c *FIS) GetTargetResourceTypeRequest(input *GetTargetResourceTypeInput) (req *request.Request, output *GetTargetResourceTypeOutput) { op := &request.Operation{ Name: opGetTargetResourceType, HTTPMethod: "GET", HTTPPath: "/targetResourceTypes/{resourceType}", } if input == nil { input = &GetTargetResourceTypeInput{} } output = &GetTargetResourceTypeOutput{} req = c.newRequest(op, input, output) return } // GetTargetResourceType API operation for AWS Fault Injection Simulator. // // Gets information about the specified resource type. // // 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 GetTargetResourceType 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/GetTargetResourceType func (c *FIS) GetTargetResourceType(input *GetTargetResourceTypeInput) (*GetTargetResourceTypeOutput, error) { req, out := c.GetTargetResourceTypeRequest(input) return out, req.Send() } // GetTargetResourceTypeWithContext is the same as GetTargetResourceType with the addition of // the ability to pass a context and additional request options. // // See GetTargetResourceType 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) GetTargetResourceTypeWithContext(ctx aws.Context, input *GetTargetResourceTypeInput, opts ...request.Option) (*GetTargetResourceTypeOutput, error) { req, out := c.GetTargetResourceTypeRequest(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 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 opListTargetResourceTypes = "ListTargetResourceTypes" // ListTargetResourceTypesRequest generates a "aws/request.Request" representing the // client's request for the ListTargetResourceTypes 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 ListTargetResourceTypes for more information on using the ListTargetResourceTypes // 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 ListTargetResourceTypesRequest method. // req, resp := client.ListTargetResourceTypesRequest(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/ListTargetResourceTypes func (c *FIS) ListTargetResourceTypesRequest(input *ListTargetResourceTypesInput) (req *request.Request, output *ListTargetResourceTypesOutput) { op := &request.Operation{ Name: opListTargetResourceTypes, HTTPMethod: "GET", HTTPPath: "/targetResourceTypes", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListTargetResourceTypesInput{} } output = &ListTargetResourceTypesOutput{} req = c.newRequest(op, input, output) return } // ListTargetResourceTypes API operation for AWS Fault Injection Simulator. // // Lists the target resource types. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Fault Injection Simulator's // API operation ListTargetResourceTypes 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/ListTargetResourceTypes func (c *FIS) ListTargetResourceTypes(input *ListTargetResourceTypesInput) (*ListTargetResourceTypesOutput, error) { req, out := c.ListTargetResourceTypesRequest(input) return out, req.Send() } // ListTargetResourceTypesWithContext is the same as ListTargetResourceTypes with the addition of // the ability to pass a context and additional request options. // // See ListTargetResourceTypes 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) ListTargetResourceTypesWithContext(ctx aws.Context, input *ListTargetResourceTypesInput, opts ...request.Option) (*ListTargetResourceTypesOutput, error) { req, out := c.ListTargetResourceTypesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListTargetResourceTypesPages iterates over the pages of a ListTargetResourceTypes operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListTargetResourceTypes 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 ListTargetResourceTypes operation. // pageNum := 0 // err := client.ListTargetResourceTypesPages(params, // func(page *fis.ListTargetResourceTypesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *FIS) ListTargetResourceTypesPages(input *ListTargetResourceTypesInput, fn func(*ListTargetResourceTypesOutput, bool) bool) error { return c.ListTargetResourceTypesPagesWithContext(aws.BackgroundContext(), input, fn) } // ListTargetResourceTypesPagesWithContext same as ListTargetResourceTypesPages 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) ListTargetResourceTypesPagesWithContext(ctx aws.Context, input *ListTargetResourceTypesInput, fn func(*ListTargetResourceTypesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListTargetResourceTypesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListTargetResourceTypesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListTargetResourceTypesOutput), !p.HasNextPage()) { break } } return p.Err() } 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 FIS actions (https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html) // in the 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Action) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ActionParameter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ActionSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ActionTarget) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ConflictException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ConflictException) GoString() string { return s.String() } func newErrorConflictException(v protocol.ResponseMetadata) error { return &ConflictException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ConflictException) Code() string { return "ConflictException" } // Message returns the exception's message. func (s *ConflictException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ConflictException) OrigErr() error { return nil } func (s *ConflictException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *ConflictException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ConflictException) RequestID() string { return s.RespMetadata.RequestID } // Specifies an action for an experiment template. // // For more information, see Actions (https://docs.aws.amazon.com/fis/latest/userguide/actions.html) // in the Fault Injection Simulator User Guide. type CreateExperimentTemplateActionInput struct { _ struct{} `type:"structure"` // The ID of the action. The format of the action ID is: aws:service-name:action-type. // // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CreateExperimentTemplateActionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // Description is a required field Description *string `locationName:"description" type:"string" required:"true"` // The configuration for experiment logging. LogConfiguration *CreateExperimentTemplateLogConfigurationInput_ `locationName:"logConfiguration" type:"structure"` // The Amazon Resource Name (ARN) of an IAM role that grants the 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CreateExperimentTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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.LogConfiguration != nil { if err := s.LogConfiguration.Validate(); err != nil { invalidParams.AddNested("LogConfiguration", 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 } // SetLogConfiguration sets the LogConfiguration field's value. func (s *CreateExperimentTemplateInput) SetLogConfiguration(v *CreateExperimentTemplateLogConfigurationInput_) *CreateExperimentTemplateInput { s.LogConfiguration = 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 } // Specifies the configuration for experiment logging. type CreateExperimentTemplateLogConfigurationInput_ struct { _ struct{} `type:"structure"` // The configuration for experiment logging to Amazon CloudWatch Logs. CloudWatchLogsConfiguration *ExperimentTemplateCloudWatchLogsLogConfigurationInput_ `locationName:"cloudWatchLogsConfiguration" type:"structure"` // The schema version. // // LogSchemaVersion is a required field LogSchemaVersion *int64 `locationName:"logSchemaVersion" type:"integer" required:"true"` // The configuration for experiment logging to Amazon S3. S3Configuration *ExperimentTemplateS3LogConfigurationInput_ `locationName:"s3Configuration" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CreateExperimentTemplateLogConfigurationInput_) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CreateExperimentTemplateLogConfigurationInput_) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateExperimentTemplateLogConfigurationInput_) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateExperimentTemplateLogConfigurationInput_"} if s.LogSchemaVersion == nil { invalidParams.Add(request.NewErrParamRequired("LogSchemaVersion")) } if s.CloudWatchLogsConfiguration != nil { if err := s.CloudWatchLogsConfiguration.Validate(); err != nil { invalidParams.AddNested("CloudWatchLogsConfiguration", err.(request.ErrInvalidParams)) } } if s.S3Configuration != nil { if err := s.S3Configuration.Validate(); err != nil { invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value. func (s *CreateExperimentTemplateLogConfigurationInput_) SetCloudWatchLogsConfiguration(v *ExperimentTemplateCloudWatchLogsLogConfigurationInput_) *CreateExperimentTemplateLogConfigurationInput_ { s.CloudWatchLogsConfiguration = v return s } // SetLogSchemaVersion sets the LogSchemaVersion field's value. func (s *CreateExperimentTemplateLogConfigurationInput_) SetLogSchemaVersion(v int64) *CreateExperimentTemplateLogConfigurationInput_ { s.LogSchemaVersion = &v return s } // SetS3Configuration sets the S3Configuration field's value. func (s *CreateExperimentTemplateLogConfigurationInput_) SetS3Configuration(v *ExperimentTemplateS3LogConfigurationInput_) *CreateExperimentTemplateLogConfigurationInput_ { s.S3Configuration = 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CreateExperimentTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CreateExperimentTemplateStopConditionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // For more information, see Targets (https://docs.aws.amazon.com/fis/latest/userguide/targets.html) // in the Fault Injection Simulator User Guide. type CreateExperimentTemplateTargetInput struct { _ struct{} `type:"structure"` // The filters to apply to identify target resources using specific attributes. Filters []*ExperimentTemplateTargetInputFilter `locationName:"filters" type:"list"` // The resource type parameters. Parameters map[string]*string `locationName:"parameters" type:"map"` // 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. 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CreateExperimentTemplateTargetInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 } // SetParameters sets the Parameters field's value. func (s *CreateExperimentTemplateTargetInput) SetParameters(v map[string]*string) *CreateExperimentTemplateTargetInput { s.Parameters = 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" nopayload:"true"` // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteExperimentTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteExperimentTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 that 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 configuration for experiment logging. LogConfiguration *ExperimentLogConfiguration `locationName:"logConfiguration" type:"structure"` // The Amazon Resource Name (ARN) of an IAM role that grants the FIS service // permission to perform service actions on your behalf. RoleArn *string `locationName:"roleArn" min:"20" type:"string"` // The time that the experiment 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Experiment) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 } // SetLogConfiguration sets the LogConfiguration field's value. func (s *Experiment) SetLogConfiguration(v *ExperimentLogConfiguration) *Experiment { s.LogConfiguration = 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 time that the action ended. EndTime *time.Time `locationName:"endTime" type:"timestamp"` // 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 time that the action started. StartTime *time.Time `locationName:"startTime" type:"timestamp"` // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 } // SetEndTime sets the EndTime field's value. func (s *ExperimentAction) SetEndTime(v time.Time) *ExperimentAction { s.EndTime = &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 } // SetStartTime sets the StartTime field's value. func (s *ExperimentAction) SetStartTime(v time.Time) *ExperimentAction { s.StartTime = &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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentActionState) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 configuration for experiment logging to Amazon CloudWatch Logs. type ExperimentCloudWatchLogsLogConfiguration struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the destination Amazon CloudWatch Logs // log group. LogGroupArn *string `locationName:"logGroupArn" min:"20" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentCloudWatchLogsLogConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentCloudWatchLogsLogConfiguration) GoString() string { return s.String() } // SetLogGroupArn sets the LogGroupArn field's value. func (s *ExperimentCloudWatchLogsLogConfiguration) SetLogGroupArn(v string) *ExperimentCloudWatchLogsLogConfiguration { s.LogGroupArn = &v return s } // Describes the configuration for experiment logging. type ExperimentLogConfiguration struct { _ struct{} `type:"structure"` // The configuration for experiment logging to Amazon CloudWatch Logs. CloudWatchLogsConfiguration *ExperimentCloudWatchLogsLogConfiguration `locationName:"cloudWatchLogsConfiguration" type:"structure"` // The schema version. LogSchemaVersion *int64 `locationName:"logSchemaVersion" type:"integer"` // The configuration for experiment logging to Amazon S3. S3Configuration *ExperimentS3LogConfiguration `locationName:"s3Configuration" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentLogConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentLogConfiguration) GoString() string { return s.String() } // SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value. func (s *ExperimentLogConfiguration) SetCloudWatchLogsConfiguration(v *ExperimentCloudWatchLogsLogConfiguration) *ExperimentLogConfiguration { s.CloudWatchLogsConfiguration = v return s } // SetLogSchemaVersion sets the LogSchemaVersion field's value. func (s *ExperimentLogConfiguration) SetLogSchemaVersion(v int64) *ExperimentLogConfiguration { s.LogSchemaVersion = &v return s } // SetS3Configuration sets the S3Configuration field's value. func (s *ExperimentLogConfiguration) SetS3Configuration(v *ExperimentS3LogConfiguration) *ExperimentLogConfiguration { s.S3Configuration = v return s } // Describes the configuration for experiment logging to Amazon S3. type ExperimentS3LogConfiguration struct { _ struct{} `type:"structure"` // The name of the destination bucket. BucketName *string `locationName:"bucketName" min:"3" type:"string"` // The bucket prefix. Prefix *string `locationName:"prefix" min:"1" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentS3LogConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentS3LogConfiguration) GoString() string { return s.String() } // SetBucketName sets the BucketName field's value. func (s *ExperimentS3LogConfiguration) SetBucketName(v string) *ExperimentS3LogConfiguration { s.BucketName = &v return s } // SetPrefix sets the Prefix field's value. func (s *ExperimentS3LogConfiguration) SetPrefix(v string) *ExperimentS3LogConfiguration { s.Prefix = &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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentState) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentStopCondition) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 resource type parameters. Parameters map[string]*string `locationName:"parameters" type:"map"` // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTarget) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 } // SetParameters sets the Parameters field's value. func (s *ExperimentTarget) SetParameters(v map[string]*string) *ExperimentTarget { s.Parameters = 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTargetFilter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 configuration for experiment logging. LogConfiguration *ExperimentTemplateLogConfiguration `locationName:"logConfiguration" type:"structure"` // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 } // SetLogConfiguration sets the LogConfiguration field's value. func (s *ExperimentTemplate) SetLogConfiguration(v *ExperimentTemplateLogConfiguration) *ExperimentTemplate { s.LogConfiguration = 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 the configuration for experiment logging to Amazon CloudWatch Logs. type ExperimentTemplateCloudWatchLogsLogConfiguration struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the destination Amazon CloudWatch Logs // log group. LogGroupArn *string `locationName:"logGroupArn" min:"20" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateCloudWatchLogsLogConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateCloudWatchLogsLogConfiguration) GoString() string { return s.String() } // SetLogGroupArn sets the LogGroupArn field's value. func (s *ExperimentTemplateCloudWatchLogsLogConfiguration) SetLogGroupArn(v string) *ExperimentTemplateCloudWatchLogsLogConfiguration { s.LogGroupArn = &v return s } // Specifies the configuration for experiment logging to Amazon CloudWatch Logs. type ExperimentTemplateCloudWatchLogsLogConfigurationInput_ struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the destination Amazon CloudWatch Logs // log group. // // LogGroupArn is a required field LogGroupArn *string `locationName:"logGroupArn" min:"20" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateCloudWatchLogsLogConfigurationInput_) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateCloudWatchLogsLogConfigurationInput_) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ExperimentTemplateCloudWatchLogsLogConfigurationInput_) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ExperimentTemplateCloudWatchLogsLogConfigurationInput_"} if s.LogGroupArn == nil { invalidParams.Add(request.NewErrParamRequired("LogGroupArn")) } if s.LogGroupArn != nil && len(*s.LogGroupArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("LogGroupArn", 20)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetLogGroupArn sets the LogGroupArn field's value. func (s *ExperimentTemplateCloudWatchLogsLogConfigurationInput_) SetLogGroupArn(v string) *ExperimentTemplateCloudWatchLogsLogConfigurationInput_ { s.LogGroupArn = &v return s } // Describes the configuration for experiment logging. type ExperimentTemplateLogConfiguration struct { _ struct{} `type:"structure"` // The configuration for experiment logging to Amazon CloudWatch Logs. CloudWatchLogsConfiguration *ExperimentTemplateCloudWatchLogsLogConfiguration `locationName:"cloudWatchLogsConfiguration" type:"structure"` // The schema version. LogSchemaVersion *int64 `locationName:"logSchemaVersion" type:"integer"` // The configuration for experiment logging to Amazon S3. S3Configuration *ExperimentTemplateS3LogConfiguration `locationName:"s3Configuration" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateLogConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateLogConfiguration) GoString() string { return s.String() } // SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value. func (s *ExperimentTemplateLogConfiguration) SetCloudWatchLogsConfiguration(v *ExperimentTemplateCloudWatchLogsLogConfiguration) *ExperimentTemplateLogConfiguration { s.CloudWatchLogsConfiguration = v return s } // SetLogSchemaVersion sets the LogSchemaVersion field's value. func (s *ExperimentTemplateLogConfiguration) SetLogSchemaVersion(v int64) *ExperimentTemplateLogConfiguration { s.LogSchemaVersion = &v return s } // SetS3Configuration sets the S3Configuration field's value. func (s *ExperimentTemplateLogConfiguration) SetS3Configuration(v *ExperimentTemplateS3LogConfiguration) *ExperimentTemplateLogConfiguration { s.S3Configuration = v return s } // Describes the configuration for experiment logging to Amazon S3. type ExperimentTemplateS3LogConfiguration struct { _ struct{} `type:"structure"` // The name of the destination bucket. BucketName *string `locationName:"bucketName" min:"3" type:"string"` // The bucket prefix. Prefix *string `locationName:"prefix" min:"1" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateS3LogConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateS3LogConfiguration) GoString() string { return s.String() } // SetBucketName sets the BucketName field's value. func (s *ExperimentTemplateS3LogConfiguration) SetBucketName(v string) *ExperimentTemplateS3LogConfiguration { s.BucketName = &v return s } // SetPrefix sets the Prefix field's value. func (s *ExperimentTemplateS3LogConfiguration) SetPrefix(v string) *ExperimentTemplateS3LogConfiguration { s.Prefix = &v return s } // Specifies the configuration for experiment logging to Amazon S3. type ExperimentTemplateS3LogConfigurationInput_ struct { _ struct{} `type:"structure"` // The name of the destination bucket. // // BucketName is a required field BucketName *string `locationName:"bucketName" min:"3" type:"string" required:"true"` // The bucket prefix. Prefix *string `locationName:"prefix" min:"1" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateS3LogConfigurationInput_) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateS3LogConfigurationInput_) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ExperimentTemplateS3LogConfigurationInput_) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ExperimentTemplateS3LogConfigurationInput_"} if s.BucketName == nil { invalidParams.Add(request.NewErrParamRequired("BucketName")) } if s.BucketName != nil && len(*s.BucketName) < 3 { invalidParams.Add(request.NewErrParamMinLen("BucketName", 3)) } if s.Prefix != nil && len(*s.Prefix) < 1 { invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetBucketName sets the BucketName field's value. func (s *ExperimentTemplateS3LogConfigurationInput_) SetBucketName(v string) *ExperimentTemplateS3LogConfigurationInput_ { s.BucketName = &v return s } // SetPrefix sets the Prefix field's value. func (s *ExperimentTemplateS3LogConfigurationInput_) SetPrefix(v string) *ExperimentTemplateS3LogConfigurationInput_ { s.Prefix = &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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateStopCondition) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 resource type parameters. Parameters map[string]*string `locationName:"parameters" type:"map"` // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateTarget) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 } // SetParameters sets the Parameters field's value. func (s *ExperimentTemplateTarget) SetParameters(v map[string]*string) *ExperimentTemplateTarget { s.Parameters = 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateTargetFilter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 } // Specifies a filter used for the target resource input in an experiment template. // // For more information, see Resource filters (https://docs.aws.amazon.com/fis/latest/userguide/targets.html#target-filters) // in the Fault Injection Simulator User Guide. 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ExperimentTemplateTargetInputFilter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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" nopayload:"true"` // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetActionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetActionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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" nopayload:"true"` // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetExperimentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetExperimentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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" nopayload:"true"` // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetExperimentTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetExperimentTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 GetTargetResourceTypeInput struct { _ struct{} `type:"structure" nopayload:"true"` // The resource type. // // ResourceType is a required field ResourceType *string `location:"uri" locationName:"resourceType" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetTargetResourceTypeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetTargetResourceTypeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetTargetResourceTypeInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetTargetResourceTypeInput"} if s.ResourceType == nil { invalidParams.Add(request.NewErrParamRequired("ResourceType")) } if s.ResourceType != nil && len(*s.ResourceType) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceType sets the ResourceType field's value. func (s *GetTargetResourceTypeInput) SetResourceType(v string) *GetTargetResourceTypeInput { s.ResourceType = &v return s } type GetTargetResourceTypeOutput struct { _ struct{} `type:"structure"` // Information about the resource type. TargetResourceType *TargetResourceType `locationName:"targetResourceType" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetTargetResourceTypeOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetTargetResourceTypeOutput) GoString() string { return s.String() } // SetTargetResourceType sets the TargetResourceType field's value. func (s *GetTargetResourceTypeOutput) SetTargetResourceType(v *TargetResourceType) *GetTargetResourceTypeOutput { s.TargetResourceType = v return s } type ListActionsInput struct { _ struct{} `type:"structure" nopayload:"true"` // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListActionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListActionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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" nopayload:"true"` // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListExperimentTemplatesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListExperimentTemplatesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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" nopayload:"true"` // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListExperimentsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListExperimentsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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" nopayload:"true"` // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListTagsForResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListTagsForResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.ResourceArn != nil && len(*s.ResourceArn) < 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListTagsForResourceOutput) GoString() string { return s.String() } // SetTags sets the Tags field's value. func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { s.Tags = v return s } type ListTargetResourceTypesInput struct { _ struct{} `type:"structure" nopayload:"true"` // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListTargetResourceTypesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListTargetResourceTypesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListTargetResourceTypesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListTargetResourceTypesInput"} 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 *ListTargetResourceTypesInput) SetMaxResults(v int64) *ListTargetResourceTypesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListTargetResourceTypesInput) SetNextToken(v string) *ListTargetResourceTypesInput { s.NextToken = &v return s } type ListTargetResourceTypesOutput struct { _ struct{} `type:"structure"` // 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"` // The target resource types. TargetResourceTypes []*TargetResourceTypeSummary `locationName:"targetResourceTypes" type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListTargetResourceTypesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListTargetResourceTypesOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. func (s *ListTargetResourceTypesOutput) SetNextToken(v string) *ListTargetResourceTypesOutput { s.NextToken = &v return s } // SetTargetResourceTypes sets the TargetResourceTypes field's value. func (s *ListTargetResourceTypesOutput) SetTargetResourceTypes(v []*TargetResourceTypeSummary) *ListTargetResourceTypesOutput { s.TargetResourceTypes = 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResourceNotFoundException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResourceNotFoundException) GoString() string { return s.String() } func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { return &ResourceNotFoundException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ResourceNotFoundException) Code() string { return "ResourceNotFoundException" } // Message returns the exception's message. func (s *ResourceNotFoundException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ResourceNotFoundException) OrigErr() error { return nil } func (s *ResourceNotFoundException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *ResourceNotFoundException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ResourceNotFoundException) RequestID() string { return s.RespMetadata.RequestID } // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ServiceQuotaExceededException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ServiceQuotaExceededException) GoString() string { return s.String() } func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { return &ServiceQuotaExceededException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ServiceQuotaExceededException) Code() string { return "ServiceQuotaExceededException" } // Message returns the exception's message. func (s *ServiceQuotaExceededException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ServiceQuotaExceededException) OrigErr() error { return nil } func (s *ServiceQuotaExceededException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *ServiceQuotaExceededException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ServiceQuotaExceededException) RequestID() string { return s.RespMetadata.RequestID } type 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s StartExperimentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s StartExperimentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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" nopayload:"true"` // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s StopExperimentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s StopExperimentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TagResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.ResourceArn != nil && len(*s.ResourceArn) < 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TagResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TagResourceOutput) GoString() string { return s.String() } // Describes a resource type. type TargetResourceType struct { _ struct{} `type:"structure"` // A description of the resource type. Description *string `locationName:"description" type:"string"` // The parameters for the resource type. Parameters map[string]*TargetResourceTypeParameter `locationName:"parameters" type:"map"` // The resource type. ResourceType *string `locationName:"resourceType" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TargetResourceType) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TargetResourceType) GoString() string { return s.String() } // SetDescription sets the Description field's value. func (s *TargetResourceType) SetDescription(v string) *TargetResourceType { s.Description = &v return s } // SetParameters sets the Parameters field's value. func (s *TargetResourceType) SetParameters(v map[string]*TargetResourceTypeParameter) *TargetResourceType { s.Parameters = v return s } // SetResourceType sets the ResourceType field's value. func (s *TargetResourceType) SetResourceType(v string) *TargetResourceType { s.ResourceType = &v return s } // Describes the parameters for a resource type. Use parameters to determine // which tasks are identified during target resolution. type TargetResourceTypeParameter struct { _ struct{} `type:"structure"` // A description of the parameter. Description *string `locationName:"description" type:"string"` // Indicates whether the parameter is required. Required *bool `locationName:"required" type:"boolean"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TargetResourceTypeParameter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TargetResourceTypeParameter) GoString() string { return s.String() } // SetDescription sets the Description field's value. func (s *TargetResourceTypeParameter) SetDescription(v string) *TargetResourceTypeParameter { s.Description = &v return s } // SetRequired sets the Required field's value. func (s *TargetResourceTypeParameter) SetRequired(v bool) *TargetResourceTypeParameter { s.Required = &v return s } // Describes a resource type. type TargetResourceTypeSummary struct { _ struct{} `type:"structure"` // A description of the resource type. Description *string `locationName:"description" type:"string"` // The resource type. ResourceType *string `locationName:"resourceType" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TargetResourceTypeSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TargetResourceTypeSummary) GoString() string { return s.String() } // SetDescription sets the Description field's value. func (s *TargetResourceTypeSummary) SetDescription(v string) *TargetResourceTypeSummary { s.Description = &v return s } // SetResourceType sets the ResourceType field's value. func (s *TargetResourceTypeSummary) SetResourceType(v string) *TargetResourceTypeSummary { s.ResourceType = &v return s } type UntagResourceInput struct { _ struct{} `type:"structure" nopayload:"true"` // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UntagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UntagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UntagResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.ResourceArn != nil && len(*s.ResourceArn) < 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UntagResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UntagResourceOutput) GoString() string { return s.String() } // 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdateExperimentTemplateActionInputItem) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 configuration for experiment logging. LogConfiguration *UpdateExperimentTemplateLogConfigurationInput_ `locationName:"logConfiguration" type:"structure"` // The Amazon Resource Name (ARN) of an IAM role that grants the 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdateExperimentTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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.LogConfiguration != nil { if err := s.LogConfiguration.Validate(); err != nil { invalidParams.AddNested("LogConfiguration", 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 *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 } // SetLogConfiguration sets the LogConfiguration field's value. func (s *UpdateExperimentTemplateInput) SetLogConfiguration(v *UpdateExperimentTemplateLogConfigurationInput_) *UpdateExperimentTemplateInput { s.LogConfiguration = 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 } // Specifies the configuration for experiment logging. type UpdateExperimentTemplateLogConfigurationInput_ struct { _ struct{} `type:"structure"` // The configuration for experiment logging to Amazon CloudWatch Logs. CloudWatchLogsConfiguration *ExperimentTemplateCloudWatchLogsLogConfigurationInput_ `locationName:"cloudWatchLogsConfiguration" type:"structure"` // The schema version. LogSchemaVersion *int64 `locationName:"logSchemaVersion" type:"integer"` // The configuration for experiment logging to Amazon S3. S3Configuration *ExperimentTemplateS3LogConfigurationInput_ `locationName:"s3Configuration" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdateExperimentTemplateLogConfigurationInput_) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdateExperimentTemplateLogConfigurationInput_) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateExperimentTemplateLogConfigurationInput_) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateExperimentTemplateLogConfigurationInput_"} if s.CloudWatchLogsConfiguration != nil { if err := s.CloudWatchLogsConfiguration.Validate(); err != nil { invalidParams.AddNested("CloudWatchLogsConfiguration", err.(request.ErrInvalidParams)) } } if s.S3Configuration != nil { if err := s.S3Configuration.Validate(); err != nil { invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCloudWatchLogsConfiguration sets the CloudWatchLogsConfiguration field's value. func (s *UpdateExperimentTemplateLogConfigurationInput_) SetCloudWatchLogsConfiguration(v *ExperimentTemplateCloudWatchLogsLogConfigurationInput_) *UpdateExperimentTemplateLogConfigurationInput_ { s.CloudWatchLogsConfiguration = v return s } // SetLogSchemaVersion sets the LogSchemaVersion field's value. func (s *UpdateExperimentTemplateLogConfigurationInput_) SetLogSchemaVersion(v int64) *UpdateExperimentTemplateLogConfigurationInput_ { s.LogSchemaVersion = &v return s } // SetS3Configuration sets the S3Configuration field's value. func (s *UpdateExperimentTemplateLogConfigurationInput_) SetS3Configuration(v *ExperimentTemplateS3LogConfigurationInput_) *UpdateExperimentTemplateLogConfigurationInput_ { s.S3Configuration = 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdateExperimentTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdateExperimentTemplateStopConditionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 resource type parameters. Parameters map[string]*string `locationName:"parameters" type:"map"` // 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. 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdateExperimentTemplateTargetInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s 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 } // SetParameters sets the Parameters field's value. func (s *UpdateExperimentTemplateTargetInput) SetParameters(v map[string]*string) *UpdateExperimentTemplateTargetInput { s.Parameters = 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. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ValidationException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ValidationException) GoString() string { return s.String() } func newErrorValidationException(v protocol.ResponseMetadata) error { return &ValidationException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ValidationException) Code() string { return "ValidationException" } // Message returns the exception's message. func (s *ValidationException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ValidationException) OrigErr() error { return nil } func (s *ValidationException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *ValidationException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ValidationException) RequestID() string { return s.RespMetadata.RequestID } const ( // 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, } }