1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package fis 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/restjson" 14) 15 16const opCreateExperimentTemplate = "CreateExperimentTemplate" 17 18// CreateExperimentTemplateRequest generates a "aws/request.Request" representing the 19// client's request for the CreateExperimentTemplate operation. The "output" return 20// value will be populated with the request's response once the request completes 21// successfully. 22// 23// Use "Send" method on the returned Request to send the API call to the service. 24// the "output" return value is not valid until after Send returns without error. 25// 26// See CreateExperimentTemplate for more information on using the CreateExperimentTemplate 27// API call, and error handling. 28// 29// This method is useful when you want to inject custom logic or configuration 30// into the SDK's request lifecycle. Such as custom headers, or retry logic. 31// 32// 33// // Example sending a request using the CreateExperimentTemplateRequest method. 34// req, resp := client.CreateExperimentTemplateRequest(params) 35// 36// err := req.Send() 37// if err == nil { // resp is now filled 38// fmt.Println(resp) 39// } 40// 41// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/CreateExperimentTemplate 42func (c *FIS) CreateExperimentTemplateRequest(input *CreateExperimentTemplateInput) (req *request.Request, output *CreateExperimentTemplateOutput) { 43 op := &request.Operation{ 44 Name: opCreateExperimentTemplate, 45 HTTPMethod: "POST", 46 HTTPPath: "/experimentTemplates", 47 } 48 49 if input == nil { 50 input = &CreateExperimentTemplateInput{} 51 } 52 53 output = &CreateExperimentTemplateOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// CreateExperimentTemplate API operation for AWS Fault Injection Simulator. 59// 60// Creates an experiment template. 61// 62// To create a template, specify the following information: 63// 64// * Targets: A target can be a specific resource in your AWS environment, 65// or one or more resources that match criteria that you specify, for example, 66// resources that have specific tags. 67// 68// * Actions: The actions to carry out on the target. You can specify multiple 69// actions, the duration of each action, and when to start each action during 70// an experiment. 71// 72// * Stop conditions: If a stop condition is triggered while an experiment 73// is running, the experiment is automatically stopped. You can define a 74// stop condition as a CloudWatch alarm. 75// 76// For more information, see the AWS Fault Injection Simulator User Guide (https://docs.aws.amazon.com/fis/latest/userguide/). 77// 78// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 79// with awserr.Error's Code and Message methods to get detailed information about 80// the error. 81// 82// See the AWS API reference guide for AWS Fault Injection Simulator's 83// API operation CreateExperimentTemplate for usage and error information. 84// 85// Returned Error Types: 86// * ValidationException 87// The specified input is not valid, or fails to satisfy the constraints for 88// the request. 89// 90// * ConflictException 91// The request could not be processed because of a conflict. 92// 93// * ResourceNotFoundException 94// The specified resource cannot be found. 95// 96// * ServiceQuotaExceededException 97// You have exceeded your service quota. 98// 99// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/CreateExperimentTemplate 100func (c *FIS) CreateExperimentTemplate(input *CreateExperimentTemplateInput) (*CreateExperimentTemplateOutput, error) { 101 req, out := c.CreateExperimentTemplateRequest(input) 102 return out, req.Send() 103} 104 105// CreateExperimentTemplateWithContext is the same as CreateExperimentTemplate with the addition of 106// the ability to pass a context and additional request options. 107// 108// See CreateExperimentTemplate for details on how to use this API operation. 109// 110// The context must be non-nil and will be used for request cancellation. If 111// the context is nil a panic will occur. In the future the SDK may create 112// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 113// for more information on using Contexts. 114func (c *FIS) CreateExperimentTemplateWithContext(ctx aws.Context, input *CreateExperimentTemplateInput, opts ...request.Option) (*CreateExperimentTemplateOutput, error) { 115 req, out := c.CreateExperimentTemplateRequest(input) 116 req.SetContext(ctx) 117 req.ApplyOptions(opts...) 118 return out, req.Send() 119} 120 121const opDeleteExperimentTemplate = "DeleteExperimentTemplate" 122 123// DeleteExperimentTemplateRequest generates a "aws/request.Request" representing the 124// client's request for the DeleteExperimentTemplate operation. The "output" return 125// value will be populated with the request's response once the request completes 126// successfully. 127// 128// Use "Send" method on the returned Request to send the API call to the service. 129// the "output" return value is not valid until after Send returns without error. 130// 131// See DeleteExperimentTemplate for more information on using the DeleteExperimentTemplate 132// API call, and error handling. 133// 134// This method is useful when you want to inject custom logic or configuration 135// into the SDK's request lifecycle. Such as custom headers, or retry logic. 136// 137// 138// // Example sending a request using the DeleteExperimentTemplateRequest method. 139// req, resp := client.DeleteExperimentTemplateRequest(params) 140// 141// err := req.Send() 142// if err == nil { // resp is now filled 143// fmt.Println(resp) 144// } 145// 146// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/DeleteExperimentTemplate 147func (c *FIS) DeleteExperimentTemplateRequest(input *DeleteExperimentTemplateInput) (req *request.Request, output *DeleteExperimentTemplateOutput) { 148 op := &request.Operation{ 149 Name: opDeleteExperimentTemplate, 150 HTTPMethod: "DELETE", 151 HTTPPath: "/experimentTemplates/{id}", 152 } 153 154 if input == nil { 155 input = &DeleteExperimentTemplateInput{} 156 } 157 158 output = &DeleteExperimentTemplateOutput{} 159 req = c.newRequest(op, input, output) 160 return 161} 162 163// DeleteExperimentTemplate API operation for AWS Fault Injection Simulator. 164// 165// Deletes the specified experiment template. 166// 167// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 168// with awserr.Error's Code and Message methods to get detailed information about 169// the error. 170// 171// See the AWS API reference guide for AWS Fault Injection Simulator's 172// API operation DeleteExperimentTemplate for usage and error information. 173// 174// Returned Error Types: 175// * ValidationException 176// The specified input is not valid, or fails to satisfy the constraints for 177// the request. 178// 179// * ResourceNotFoundException 180// The specified resource cannot be found. 181// 182// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/DeleteExperimentTemplate 183func (c *FIS) DeleteExperimentTemplate(input *DeleteExperimentTemplateInput) (*DeleteExperimentTemplateOutput, error) { 184 req, out := c.DeleteExperimentTemplateRequest(input) 185 return out, req.Send() 186} 187 188// DeleteExperimentTemplateWithContext is the same as DeleteExperimentTemplate with the addition of 189// the ability to pass a context and additional request options. 190// 191// See DeleteExperimentTemplate for details on how to use this API operation. 192// 193// The context must be non-nil and will be used for request cancellation. If 194// the context is nil a panic will occur. In the future the SDK may create 195// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 196// for more information on using Contexts. 197func (c *FIS) DeleteExperimentTemplateWithContext(ctx aws.Context, input *DeleteExperimentTemplateInput, opts ...request.Option) (*DeleteExperimentTemplateOutput, error) { 198 req, out := c.DeleteExperimentTemplateRequest(input) 199 req.SetContext(ctx) 200 req.ApplyOptions(opts...) 201 return out, req.Send() 202} 203 204const opGetAction = "GetAction" 205 206// GetActionRequest generates a "aws/request.Request" representing the 207// client's request for the GetAction operation. The "output" return 208// value will be populated with the request's response once the request completes 209// successfully. 210// 211// Use "Send" method on the returned Request to send the API call to the service. 212// the "output" return value is not valid until after Send returns without error. 213// 214// See GetAction for more information on using the GetAction 215// API call, and error handling. 216// 217// This method is useful when you want to inject custom logic or configuration 218// into the SDK's request lifecycle. Such as custom headers, or retry logic. 219// 220// 221// // Example sending a request using the GetActionRequest method. 222// req, resp := client.GetActionRequest(params) 223// 224// err := req.Send() 225// if err == nil { // resp is now filled 226// fmt.Println(resp) 227// } 228// 229// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetAction 230func (c *FIS) GetActionRequest(input *GetActionInput) (req *request.Request, output *GetActionOutput) { 231 op := &request.Operation{ 232 Name: opGetAction, 233 HTTPMethod: "GET", 234 HTTPPath: "/actions/{id}", 235 } 236 237 if input == nil { 238 input = &GetActionInput{} 239 } 240 241 output = &GetActionOutput{} 242 req = c.newRequest(op, input, output) 243 return 244} 245 246// GetAction API operation for AWS Fault Injection Simulator. 247// 248// Gets information about the specified AWS FIS action. 249// 250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 251// with awserr.Error's Code and Message methods to get detailed information about 252// the error. 253// 254// See the AWS API reference guide for AWS Fault Injection Simulator's 255// API operation GetAction for usage and error information. 256// 257// Returned Error Types: 258// * ValidationException 259// The specified input is not valid, or fails to satisfy the constraints for 260// the request. 261// 262// * ResourceNotFoundException 263// The specified resource cannot be found. 264// 265// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetAction 266func (c *FIS) GetAction(input *GetActionInput) (*GetActionOutput, error) { 267 req, out := c.GetActionRequest(input) 268 return out, req.Send() 269} 270 271// GetActionWithContext is the same as GetAction with the addition of 272// the ability to pass a context and additional request options. 273// 274// See GetAction for details on how to use this API operation. 275// 276// The context must be non-nil and will be used for request cancellation. If 277// the context is nil a panic will occur. In the future the SDK may create 278// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 279// for more information on using Contexts. 280func (c *FIS) GetActionWithContext(ctx aws.Context, input *GetActionInput, opts ...request.Option) (*GetActionOutput, error) { 281 req, out := c.GetActionRequest(input) 282 req.SetContext(ctx) 283 req.ApplyOptions(opts...) 284 return out, req.Send() 285} 286 287const opGetExperiment = "GetExperiment" 288 289// GetExperimentRequest generates a "aws/request.Request" representing the 290// client's request for the GetExperiment operation. The "output" return 291// value will be populated with the request's response once the request completes 292// successfully. 293// 294// Use "Send" method on the returned Request to send the API call to the service. 295// the "output" return value is not valid until after Send returns without error. 296// 297// See GetExperiment for more information on using the GetExperiment 298// API call, and error handling. 299// 300// This method is useful when you want to inject custom logic or configuration 301// into the SDK's request lifecycle. Such as custom headers, or retry logic. 302// 303// 304// // Example sending a request using the GetExperimentRequest method. 305// req, resp := client.GetExperimentRequest(params) 306// 307// err := req.Send() 308// if err == nil { // resp is now filled 309// fmt.Println(resp) 310// } 311// 312// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetExperiment 313func (c *FIS) GetExperimentRequest(input *GetExperimentInput) (req *request.Request, output *GetExperimentOutput) { 314 op := &request.Operation{ 315 Name: opGetExperiment, 316 HTTPMethod: "GET", 317 HTTPPath: "/experiments/{id}", 318 } 319 320 if input == nil { 321 input = &GetExperimentInput{} 322 } 323 324 output = &GetExperimentOutput{} 325 req = c.newRequest(op, input, output) 326 return 327} 328 329// GetExperiment API operation for AWS Fault Injection Simulator. 330// 331// Gets information about the specified experiment. 332// 333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 334// with awserr.Error's Code and Message methods to get detailed information about 335// the error. 336// 337// See the AWS API reference guide for AWS Fault Injection Simulator's 338// API operation GetExperiment for usage and error information. 339// 340// Returned Error Types: 341// * ValidationException 342// The specified input is not valid, or fails to satisfy the constraints for 343// the request. 344// 345// * ResourceNotFoundException 346// The specified resource cannot be found. 347// 348// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetExperiment 349func (c *FIS) GetExperiment(input *GetExperimentInput) (*GetExperimentOutput, error) { 350 req, out := c.GetExperimentRequest(input) 351 return out, req.Send() 352} 353 354// GetExperimentWithContext is the same as GetExperiment with the addition of 355// the ability to pass a context and additional request options. 356// 357// See GetExperiment for details on how to use this API operation. 358// 359// The context must be non-nil and will be used for request cancellation. If 360// the context is nil a panic will occur. In the future the SDK may create 361// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 362// for more information on using Contexts. 363func (c *FIS) GetExperimentWithContext(ctx aws.Context, input *GetExperimentInput, opts ...request.Option) (*GetExperimentOutput, error) { 364 req, out := c.GetExperimentRequest(input) 365 req.SetContext(ctx) 366 req.ApplyOptions(opts...) 367 return out, req.Send() 368} 369 370const opGetExperimentTemplate = "GetExperimentTemplate" 371 372// GetExperimentTemplateRequest generates a "aws/request.Request" representing the 373// client's request for the GetExperimentTemplate operation. The "output" return 374// value will be populated with the request's response once the request completes 375// successfully. 376// 377// Use "Send" method on the returned Request to send the API call to the service. 378// the "output" return value is not valid until after Send returns without error. 379// 380// See GetExperimentTemplate for more information on using the GetExperimentTemplate 381// API call, and error handling. 382// 383// This method is useful when you want to inject custom logic or configuration 384// into the SDK's request lifecycle. Such as custom headers, or retry logic. 385// 386// 387// // Example sending a request using the GetExperimentTemplateRequest method. 388// req, resp := client.GetExperimentTemplateRequest(params) 389// 390// err := req.Send() 391// if err == nil { // resp is now filled 392// fmt.Println(resp) 393// } 394// 395// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetExperimentTemplate 396func (c *FIS) GetExperimentTemplateRequest(input *GetExperimentTemplateInput) (req *request.Request, output *GetExperimentTemplateOutput) { 397 op := &request.Operation{ 398 Name: opGetExperimentTemplate, 399 HTTPMethod: "GET", 400 HTTPPath: "/experimentTemplates/{id}", 401 } 402 403 if input == nil { 404 input = &GetExperimentTemplateInput{} 405 } 406 407 output = &GetExperimentTemplateOutput{} 408 req = c.newRequest(op, input, output) 409 return 410} 411 412// GetExperimentTemplate API operation for AWS Fault Injection Simulator. 413// 414// Gets information about the specified experiment template. 415// 416// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 417// with awserr.Error's Code and Message methods to get detailed information about 418// the error. 419// 420// See the AWS API reference guide for AWS Fault Injection Simulator's 421// API operation GetExperimentTemplate for usage and error information. 422// 423// Returned Error Types: 424// * ValidationException 425// The specified input is not valid, or fails to satisfy the constraints for 426// the request. 427// 428// * ResourceNotFoundException 429// The specified resource cannot be found. 430// 431// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/GetExperimentTemplate 432func (c *FIS) GetExperimentTemplate(input *GetExperimentTemplateInput) (*GetExperimentTemplateOutput, error) { 433 req, out := c.GetExperimentTemplateRequest(input) 434 return out, req.Send() 435} 436 437// GetExperimentTemplateWithContext is the same as GetExperimentTemplate with the addition of 438// the ability to pass a context and additional request options. 439// 440// See GetExperimentTemplate for details on how to use this API operation. 441// 442// The context must be non-nil and will be used for request cancellation. If 443// the context is nil a panic will occur. In the future the SDK may create 444// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 445// for more information on using Contexts. 446func (c *FIS) GetExperimentTemplateWithContext(ctx aws.Context, input *GetExperimentTemplateInput, opts ...request.Option) (*GetExperimentTemplateOutput, error) { 447 req, out := c.GetExperimentTemplateRequest(input) 448 req.SetContext(ctx) 449 req.ApplyOptions(opts...) 450 return out, req.Send() 451} 452 453const opListActions = "ListActions" 454 455// ListActionsRequest generates a "aws/request.Request" representing the 456// client's request for the ListActions operation. The "output" return 457// value will be populated with the request's response once the request completes 458// successfully. 459// 460// Use "Send" method on the returned Request to send the API call to the service. 461// the "output" return value is not valid until after Send returns without error. 462// 463// See ListActions for more information on using the ListActions 464// API call, and error handling. 465// 466// This method is useful when you want to inject custom logic or configuration 467// into the SDK's request lifecycle. Such as custom headers, or retry logic. 468// 469// 470// // Example sending a request using the ListActionsRequest method. 471// req, resp := client.ListActionsRequest(params) 472// 473// err := req.Send() 474// if err == nil { // resp is now filled 475// fmt.Println(resp) 476// } 477// 478// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListActions 479func (c *FIS) ListActionsRequest(input *ListActionsInput) (req *request.Request, output *ListActionsOutput) { 480 op := &request.Operation{ 481 Name: opListActions, 482 HTTPMethod: "GET", 483 HTTPPath: "/actions", 484 Paginator: &request.Paginator{ 485 InputTokens: []string{"nextToken"}, 486 OutputTokens: []string{"nextToken"}, 487 LimitToken: "maxResults", 488 TruncationToken: "", 489 }, 490 } 491 492 if input == nil { 493 input = &ListActionsInput{} 494 } 495 496 output = &ListActionsOutput{} 497 req = c.newRequest(op, input, output) 498 return 499} 500 501// ListActions API operation for AWS Fault Injection Simulator. 502// 503// Lists the available AWS FIS actions. 504// 505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 506// with awserr.Error's Code and Message methods to get detailed information about 507// the error. 508// 509// See the AWS API reference guide for AWS Fault Injection Simulator's 510// API operation ListActions for usage and error information. 511// 512// Returned Error Types: 513// * ValidationException 514// The specified input is not valid, or fails to satisfy the constraints for 515// the request. 516// 517// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListActions 518func (c *FIS) ListActions(input *ListActionsInput) (*ListActionsOutput, error) { 519 req, out := c.ListActionsRequest(input) 520 return out, req.Send() 521} 522 523// ListActionsWithContext is the same as ListActions with the addition of 524// the ability to pass a context and additional request options. 525// 526// See ListActions for details on how to use this API operation. 527// 528// The context must be non-nil and will be used for request cancellation. If 529// the context is nil a panic will occur. In the future the SDK may create 530// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 531// for more information on using Contexts. 532func (c *FIS) ListActionsWithContext(ctx aws.Context, input *ListActionsInput, opts ...request.Option) (*ListActionsOutput, error) { 533 req, out := c.ListActionsRequest(input) 534 req.SetContext(ctx) 535 req.ApplyOptions(opts...) 536 return out, req.Send() 537} 538 539// ListActionsPages iterates over the pages of a ListActions operation, 540// calling the "fn" function with the response data for each page. To stop 541// iterating, return false from the fn function. 542// 543// See ListActions method for more information on how to use this operation. 544// 545// Note: This operation can generate multiple requests to a service. 546// 547// // Example iterating over at most 3 pages of a ListActions operation. 548// pageNum := 0 549// err := client.ListActionsPages(params, 550// func(page *fis.ListActionsOutput, lastPage bool) bool { 551// pageNum++ 552// fmt.Println(page) 553// return pageNum <= 3 554// }) 555// 556func (c *FIS) ListActionsPages(input *ListActionsInput, fn func(*ListActionsOutput, bool) bool) error { 557 return c.ListActionsPagesWithContext(aws.BackgroundContext(), input, fn) 558} 559 560// ListActionsPagesWithContext same as ListActionsPages except 561// it takes a Context and allows setting request options on the pages. 562// 563// The context must be non-nil and will be used for request cancellation. If 564// the context is nil a panic will occur. In the future the SDK may create 565// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 566// for more information on using Contexts. 567func (c *FIS) ListActionsPagesWithContext(ctx aws.Context, input *ListActionsInput, fn func(*ListActionsOutput, bool) bool, opts ...request.Option) error { 568 p := request.Pagination{ 569 NewRequest: func() (*request.Request, error) { 570 var inCpy *ListActionsInput 571 if input != nil { 572 tmp := *input 573 inCpy = &tmp 574 } 575 req, _ := c.ListActionsRequest(inCpy) 576 req.SetContext(ctx) 577 req.ApplyOptions(opts...) 578 return req, nil 579 }, 580 } 581 582 for p.Next() { 583 if !fn(p.Page().(*ListActionsOutput), !p.HasNextPage()) { 584 break 585 } 586 } 587 588 return p.Err() 589} 590 591const opListExperimentTemplates = "ListExperimentTemplates" 592 593// ListExperimentTemplatesRequest generates a "aws/request.Request" representing the 594// client's request for the ListExperimentTemplates operation. The "output" return 595// value will be populated with the request's response once the request completes 596// successfully. 597// 598// Use "Send" method on the returned Request to send the API call to the service. 599// the "output" return value is not valid until after Send returns without error. 600// 601// See ListExperimentTemplates for more information on using the ListExperimentTemplates 602// API call, and error handling. 603// 604// This method is useful when you want to inject custom logic or configuration 605// into the SDK's request lifecycle. Such as custom headers, or retry logic. 606// 607// 608// // Example sending a request using the ListExperimentTemplatesRequest method. 609// req, resp := client.ListExperimentTemplatesRequest(params) 610// 611// err := req.Send() 612// if err == nil { // resp is now filled 613// fmt.Println(resp) 614// } 615// 616// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListExperimentTemplates 617func (c *FIS) ListExperimentTemplatesRequest(input *ListExperimentTemplatesInput) (req *request.Request, output *ListExperimentTemplatesOutput) { 618 op := &request.Operation{ 619 Name: opListExperimentTemplates, 620 HTTPMethod: "GET", 621 HTTPPath: "/experimentTemplates", 622 Paginator: &request.Paginator{ 623 InputTokens: []string{"nextToken"}, 624 OutputTokens: []string{"nextToken"}, 625 LimitToken: "maxResults", 626 TruncationToken: "", 627 }, 628 } 629 630 if input == nil { 631 input = &ListExperimentTemplatesInput{} 632 } 633 634 output = &ListExperimentTemplatesOutput{} 635 req = c.newRequest(op, input, output) 636 return 637} 638 639// ListExperimentTemplates API operation for AWS Fault Injection Simulator. 640// 641// Lists your experiment templates. 642// 643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 644// with awserr.Error's Code and Message methods to get detailed information about 645// the error. 646// 647// See the AWS API reference guide for AWS Fault Injection Simulator's 648// API operation ListExperimentTemplates for usage and error information. 649// 650// Returned Error Types: 651// * ValidationException 652// The specified input is not valid, or fails to satisfy the constraints for 653// the request. 654// 655// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListExperimentTemplates 656func (c *FIS) ListExperimentTemplates(input *ListExperimentTemplatesInput) (*ListExperimentTemplatesOutput, error) { 657 req, out := c.ListExperimentTemplatesRequest(input) 658 return out, req.Send() 659} 660 661// ListExperimentTemplatesWithContext is the same as ListExperimentTemplates with the addition of 662// the ability to pass a context and additional request options. 663// 664// See ListExperimentTemplates for details on how to use this API operation. 665// 666// The context must be non-nil and will be used for request cancellation. If 667// the context is nil a panic will occur. In the future the SDK may create 668// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 669// for more information on using Contexts. 670func (c *FIS) ListExperimentTemplatesWithContext(ctx aws.Context, input *ListExperimentTemplatesInput, opts ...request.Option) (*ListExperimentTemplatesOutput, error) { 671 req, out := c.ListExperimentTemplatesRequest(input) 672 req.SetContext(ctx) 673 req.ApplyOptions(opts...) 674 return out, req.Send() 675} 676 677// ListExperimentTemplatesPages iterates over the pages of a ListExperimentTemplates operation, 678// calling the "fn" function with the response data for each page. To stop 679// iterating, return false from the fn function. 680// 681// See ListExperimentTemplates method for more information on how to use this operation. 682// 683// Note: This operation can generate multiple requests to a service. 684// 685// // Example iterating over at most 3 pages of a ListExperimentTemplates operation. 686// pageNum := 0 687// err := client.ListExperimentTemplatesPages(params, 688// func(page *fis.ListExperimentTemplatesOutput, lastPage bool) bool { 689// pageNum++ 690// fmt.Println(page) 691// return pageNum <= 3 692// }) 693// 694func (c *FIS) ListExperimentTemplatesPages(input *ListExperimentTemplatesInput, fn func(*ListExperimentTemplatesOutput, bool) bool) error { 695 return c.ListExperimentTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) 696} 697 698// ListExperimentTemplatesPagesWithContext same as ListExperimentTemplatesPages except 699// it takes a Context and allows setting request options on the pages. 700// 701// The context must be non-nil and will be used for request cancellation. If 702// the context is nil a panic will occur. In the future the SDK may create 703// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 704// for more information on using Contexts. 705func (c *FIS) ListExperimentTemplatesPagesWithContext(ctx aws.Context, input *ListExperimentTemplatesInput, fn func(*ListExperimentTemplatesOutput, bool) bool, opts ...request.Option) error { 706 p := request.Pagination{ 707 NewRequest: func() (*request.Request, error) { 708 var inCpy *ListExperimentTemplatesInput 709 if input != nil { 710 tmp := *input 711 inCpy = &tmp 712 } 713 req, _ := c.ListExperimentTemplatesRequest(inCpy) 714 req.SetContext(ctx) 715 req.ApplyOptions(opts...) 716 return req, nil 717 }, 718 } 719 720 for p.Next() { 721 if !fn(p.Page().(*ListExperimentTemplatesOutput), !p.HasNextPage()) { 722 break 723 } 724 } 725 726 return p.Err() 727} 728 729const opListExperiments = "ListExperiments" 730 731// ListExperimentsRequest generates a "aws/request.Request" representing the 732// client's request for the ListExperiments operation. The "output" return 733// value will be populated with the request's response once the request completes 734// successfully. 735// 736// Use "Send" method on the returned Request to send the API call to the service. 737// the "output" return value is not valid until after Send returns without error. 738// 739// See ListExperiments for more information on using the ListExperiments 740// API call, and error handling. 741// 742// This method is useful when you want to inject custom logic or configuration 743// into the SDK's request lifecycle. Such as custom headers, or retry logic. 744// 745// 746// // Example sending a request using the ListExperimentsRequest method. 747// req, resp := client.ListExperimentsRequest(params) 748// 749// err := req.Send() 750// if err == nil { // resp is now filled 751// fmt.Println(resp) 752// } 753// 754// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListExperiments 755func (c *FIS) ListExperimentsRequest(input *ListExperimentsInput) (req *request.Request, output *ListExperimentsOutput) { 756 op := &request.Operation{ 757 Name: opListExperiments, 758 HTTPMethod: "GET", 759 HTTPPath: "/experiments", 760 Paginator: &request.Paginator{ 761 InputTokens: []string{"nextToken"}, 762 OutputTokens: []string{"nextToken"}, 763 LimitToken: "maxResults", 764 TruncationToken: "", 765 }, 766 } 767 768 if input == nil { 769 input = &ListExperimentsInput{} 770 } 771 772 output = &ListExperimentsOutput{} 773 req = c.newRequest(op, input, output) 774 return 775} 776 777// ListExperiments API operation for AWS Fault Injection Simulator. 778// 779// Lists your experiments. 780// 781// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 782// with awserr.Error's Code and Message methods to get detailed information about 783// the error. 784// 785// See the AWS API reference guide for AWS Fault Injection Simulator's 786// API operation ListExperiments for usage and error information. 787// 788// Returned Error Types: 789// * ValidationException 790// The specified input is not valid, or fails to satisfy the constraints for 791// the request. 792// 793// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListExperiments 794func (c *FIS) ListExperiments(input *ListExperimentsInput) (*ListExperimentsOutput, error) { 795 req, out := c.ListExperimentsRequest(input) 796 return out, req.Send() 797} 798 799// ListExperimentsWithContext is the same as ListExperiments with the addition of 800// the ability to pass a context and additional request options. 801// 802// See ListExperiments for details on how to use this API operation. 803// 804// The context must be non-nil and will be used for request cancellation. If 805// the context is nil a panic will occur. In the future the SDK may create 806// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 807// for more information on using Contexts. 808func (c *FIS) ListExperimentsWithContext(ctx aws.Context, input *ListExperimentsInput, opts ...request.Option) (*ListExperimentsOutput, error) { 809 req, out := c.ListExperimentsRequest(input) 810 req.SetContext(ctx) 811 req.ApplyOptions(opts...) 812 return out, req.Send() 813} 814 815// ListExperimentsPages iterates over the pages of a ListExperiments operation, 816// calling the "fn" function with the response data for each page. To stop 817// iterating, return false from the fn function. 818// 819// See ListExperiments method for more information on how to use this operation. 820// 821// Note: This operation can generate multiple requests to a service. 822// 823// // Example iterating over at most 3 pages of a ListExperiments operation. 824// pageNum := 0 825// err := client.ListExperimentsPages(params, 826// func(page *fis.ListExperimentsOutput, lastPage bool) bool { 827// pageNum++ 828// fmt.Println(page) 829// return pageNum <= 3 830// }) 831// 832func (c *FIS) ListExperimentsPages(input *ListExperimentsInput, fn func(*ListExperimentsOutput, bool) bool) error { 833 return c.ListExperimentsPagesWithContext(aws.BackgroundContext(), input, fn) 834} 835 836// ListExperimentsPagesWithContext same as ListExperimentsPages except 837// it takes a Context and allows setting request options on the pages. 838// 839// The context must be non-nil and will be used for request cancellation. If 840// the context is nil a panic will occur. In the future the SDK may create 841// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 842// for more information on using Contexts. 843func (c *FIS) ListExperimentsPagesWithContext(ctx aws.Context, input *ListExperimentsInput, fn func(*ListExperimentsOutput, bool) bool, opts ...request.Option) error { 844 p := request.Pagination{ 845 NewRequest: func() (*request.Request, error) { 846 var inCpy *ListExperimentsInput 847 if input != nil { 848 tmp := *input 849 inCpy = &tmp 850 } 851 req, _ := c.ListExperimentsRequest(inCpy) 852 req.SetContext(ctx) 853 req.ApplyOptions(opts...) 854 return req, nil 855 }, 856 } 857 858 for p.Next() { 859 if !fn(p.Page().(*ListExperimentsOutput), !p.HasNextPage()) { 860 break 861 } 862 } 863 864 return p.Err() 865} 866 867const opListTagsForResource = "ListTagsForResource" 868 869// ListTagsForResourceRequest generates a "aws/request.Request" representing the 870// client's request for the ListTagsForResource operation. The "output" return 871// value will be populated with the request's response once the request completes 872// successfully. 873// 874// Use "Send" method on the returned Request to send the API call to the service. 875// the "output" return value is not valid until after Send returns without error. 876// 877// See ListTagsForResource for more information on using the ListTagsForResource 878// API call, and error handling. 879// 880// This method is useful when you want to inject custom logic or configuration 881// into the SDK's request lifecycle. Such as custom headers, or retry logic. 882// 883// 884// // Example sending a request using the ListTagsForResourceRequest method. 885// req, resp := client.ListTagsForResourceRequest(params) 886// 887// err := req.Send() 888// if err == nil { // resp is now filled 889// fmt.Println(resp) 890// } 891// 892// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListTagsForResource 893func (c *FIS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 894 op := &request.Operation{ 895 Name: opListTagsForResource, 896 HTTPMethod: "GET", 897 HTTPPath: "/tags/{resourceArn}", 898 } 899 900 if input == nil { 901 input = &ListTagsForResourceInput{} 902 } 903 904 output = &ListTagsForResourceOutput{} 905 req = c.newRequest(op, input, output) 906 return 907} 908 909// ListTagsForResource API operation for AWS Fault Injection Simulator. 910// 911// Lists the tags for the specified resource. 912// 913// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 914// with awserr.Error's Code and Message methods to get detailed information about 915// the error. 916// 917// See the AWS API reference guide for AWS Fault Injection Simulator's 918// API operation ListTagsForResource for usage and error information. 919// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/ListTagsForResource 920func (c *FIS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 921 req, out := c.ListTagsForResourceRequest(input) 922 return out, req.Send() 923} 924 925// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 926// the ability to pass a context and additional request options. 927// 928// See ListTagsForResource for details on how to use this API operation. 929// 930// The context must be non-nil and will be used for request cancellation. If 931// the context is nil a panic will occur. In the future the SDK may create 932// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 933// for more information on using Contexts. 934func (c *FIS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 935 req, out := c.ListTagsForResourceRequest(input) 936 req.SetContext(ctx) 937 req.ApplyOptions(opts...) 938 return out, req.Send() 939} 940 941const opStartExperiment = "StartExperiment" 942 943// StartExperimentRequest generates a "aws/request.Request" representing the 944// client's request for the StartExperiment operation. The "output" return 945// value will be populated with the request's response once the request completes 946// successfully. 947// 948// Use "Send" method on the returned Request to send the API call to the service. 949// the "output" return value is not valid until after Send returns without error. 950// 951// See StartExperiment for more information on using the StartExperiment 952// API call, and error handling. 953// 954// This method is useful when you want to inject custom logic or configuration 955// into the SDK's request lifecycle. Such as custom headers, or retry logic. 956// 957// 958// // Example sending a request using the StartExperimentRequest method. 959// req, resp := client.StartExperimentRequest(params) 960// 961// err := req.Send() 962// if err == nil { // resp is now filled 963// fmt.Println(resp) 964// } 965// 966// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/StartExperiment 967func (c *FIS) StartExperimentRequest(input *StartExperimentInput) (req *request.Request, output *StartExperimentOutput) { 968 op := &request.Operation{ 969 Name: opStartExperiment, 970 HTTPMethod: "POST", 971 HTTPPath: "/experiments", 972 } 973 974 if input == nil { 975 input = &StartExperimentInput{} 976 } 977 978 output = &StartExperimentOutput{} 979 req = c.newRequest(op, input, output) 980 return 981} 982 983// StartExperiment API operation for AWS Fault Injection Simulator. 984// 985// Starts running an experiment from the specified experiment template. 986// 987// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 988// with awserr.Error's Code and Message methods to get detailed information about 989// the error. 990// 991// See the AWS API reference guide for AWS Fault Injection Simulator's 992// API operation StartExperiment for usage and error information. 993// 994// Returned Error Types: 995// * ValidationException 996// The specified input is not valid, or fails to satisfy the constraints for 997// the request. 998// 999// * ConflictException 1000// The request could not be processed because of a conflict. 1001// 1002// * ResourceNotFoundException 1003// The specified resource cannot be found. 1004// 1005// * ServiceQuotaExceededException 1006// You have exceeded your service quota. 1007// 1008// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/StartExperiment 1009func (c *FIS) StartExperiment(input *StartExperimentInput) (*StartExperimentOutput, error) { 1010 req, out := c.StartExperimentRequest(input) 1011 return out, req.Send() 1012} 1013 1014// StartExperimentWithContext is the same as StartExperiment with the addition of 1015// the ability to pass a context and additional request options. 1016// 1017// See StartExperiment for details on how to use this API operation. 1018// 1019// The context must be non-nil and will be used for request cancellation. If 1020// the context is nil a panic will occur. In the future the SDK may create 1021// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1022// for more information on using Contexts. 1023func (c *FIS) StartExperimentWithContext(ctx aws.Context, input *StartExperimentInput, opts ...request.Option) (*StartExperimentOutput, error) { 1024 req, out := c.StartExperimentRequest(input) 1025 req.SetContext(ctx) 1026 req.ApplyOptions(opts...) 1027 return out, req.Send() 1028} 1029 1030const opStopExperiment = "StopExperiment" 1031 1032// StopExperimentRequest generates a "aws/request.Request" representing the 1033// client's request for the StopExperiment operation. The "output" return 1034// value will be populated with the request's response once the request completes 1035// successfully. 1036// 1037// Use "Send" method on the returned Request to send the API call to the service. 1038// the "output" return value is not valid until after Send returns without error. 1039// 1040// See StopExperiment for more information on using the StopExperiment 1041// API call, and error handling. 1042// 1043// This method is useful when you want to inject custom logic or configuration 1044// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1045// 1046// 1047// // Example sending a request using the StopExperimentRequest method. 1048// req, resp := client.StopExperimentRequest(params) 1049// 1050// err := req.Send() 1051// if err == nil { // resp is now filled 1052// fmt.Println(resp) 1053// } 1054// 1055// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/StopExperiment 1056func (c *FIS) StopExperimentRequest(input *StopExperimentInput) (req *request.Request, output *StopExperimentOutput) { 1057 op := &request.Operation{ 1058 Name: opStopExperiment, 1059 HTTPMethod: "DELETE", 1060 HTTPPath: "/experiments/{id}", 1061 } 1062 1063 if input == nil { 1064 input = &StopExperimentInput{} 1065 } 1066 1067 output = &StopExperimentOutput{} 1068 req = c.newRequest(op, input, output) 1069 return 1070} 1071 1072// StopExperiment API operation for AWS Fault Injection Simulator. 1073// 1074// Stops the specified experiment. 1075// 1076// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1077// with awserr.Error's Code and Message methods to get detailed information about 1078// the error. 1079// 1080// See the AWS API reference guide for AWS Fault Injection Simulator's 1081// API operation StopExperiment for usage and error information. 1082// 1083// Returned Error Types: 1084// * ValidationException 1085// The specified input is not valid, or fails to satisfy the constraints for 1086// the request. 1087// 1088// * ResourceNotFoundException 1089// The specified resource cannot be found. 1090// 1091// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/StopExperiment 1092func (c *FIS) StopExperiment(input *StopExperimentInput) (*StopExperimentOutput, error) { 1093 req, out := c.StopExperimentRequest(input) 1094 return out, req.Send() 1095} 1096 1097// StopExperimentWithContext is the same as StopExperiment with the addition of 1098// the ability to pass a context and additional request options. 1099// 1100// See StopExperiment for details on how to use this API operation. 1101// 1102// The context must be non-nil and will be used for request cancellation. If 1103// the context is nil a panic will occur. In the future the SDK may create 1104// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1105// for more information on using Contexts. 1106func (c *FIS) StopExperimentWithContext(ctx aws.Context, input *StopExperimentInput, opts ...request.Option) (*StopExperimentOutput, error) { 1107 req, out := c.StopExperimentRequest(input) 1108 req.SetContext(ctx) 1109 req.ApplyOptions(opts...) 1110 return out, req.Send() 1111} 1112 1113const opTagResource = "TagResource" 1114 1115// TagResourceRequest generates a "aws/request.Request" representing the 1116// client's request for the TagResource operation. The "output" return 1117// value will be populated with the request's response once the request completes 1118// successfully. 1119// 1120// Use "Send" method on the returned Request to send the API call to the service. 1121// the "output" return value is not valid until after Send returns without error. 1122// 1123// See TagResource for more information on using the TagResource 1124// API call, and error handling. 1125// 1126// This method is useful when you want to inject custom logic or configuration 1127// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1128// 1129// 1130// // Example sending a request using the TagResourceRequest method. 1131// req, resp := client.TagResourceRequest(params) 1132// 1133// err := req.Send() 1134// if err == nil { // resp is now filled 1135// fmt.Println(resp) 1136// } 1137// 1138// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/TagResource 1139func (c *FIS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 1140 op := &request.Operation{ 1141 Name: opTagResource, 1142 HTTPMethod: "POST", 1143 HTTPPath: "/tags/{resourceArn}", 1144 } 1145 1146 if input == nil { 1147 input = &TagResourceInput{} 1148 } 1149 1150 output = &TagResourceOutput{} 1151 req = c.newRequest(op, input, output) 1152 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1153 return 1154} 1155 1156// TagResource API operation for AWS Fault Injection Simulator. 1157// 1158// Applies the specified tags to the specified resource. 1159// 1160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1161// with awserr.Error's Code and Message methods to get detailed information about 1162// the error. 1163// 1164// See the AWS API reference guide for AWS Fault Injection Simulator's 1165// API operation TagResource for usage and error information. 1166// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/TagResource 1167func (c *FIS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 1168 req, out := c.TagResourceRequest(input) 1169 return out, req.Send() 1170} 1171 1172// TagResourceWithContext is the same as TagResource with the addition of 1173// the ability to pass a context and additional request options. 1174// 1175// See TagResource for details on how to use this API operation. 1176// 1177// The context must be non-nil and will be used for request cancellation. If 1178// the context is nil a panic will occur. In the future the SDK may create 1179// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1180// for more information on using Contexts. 1181func (c *FIS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 1182 req, out := c.TagResourceRequest(input) 1183 req.SetContext(ctx) 1184 req.ApplyOptions(opts...) 1185 return out, req.Send() 1186} 1187 1188const opUntagResource = "UntagResource" 1189 1190// UntagResourceRequest generates a "aws/request.Request" representing the 1191// client's request for the UntagResource operation. The "output" return 1192// value will be populated with the request's response once the request completes 1193// successfully. 1194// 1195// Use "Send" method on the returned Request to send the API call to the service. 1196// the "output" return value is not valid until after Send returns without error. 1197// 1198// See UntagResource for more information on using the UntagResource 1199// API call, and error handling. 1200// 1201// This method is useful when you want to inject custom logic or configuration 1202// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1203// 1204// 1205// // Example sending a request using the UntagResourceRequest method. 1206// req, resp := client.UntagResourceRequest(params) 1207// 1208// err := req.Send() 1209// if err == nil { // resp is now filled 1210// fmt.Println(resp) 1211// } 1212// 1213// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/UntagResource 1214func (c *FIS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 1215 op := &request.Operation{ 1216 Name: opUntagResource, 1217 HTTPMethod: "DELETE", 1218 HTTPPath: "/tags/{resourceArn}", 1219 } 1220 1221 if input == nil { 1222 input = &UntagResourceInput{} 1223 } 1224 1225 output = &UntagResourceOutput{} 1226 req = c.newRequest(op, input, output) 1227 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1228 return 1229} 1230 1231// UntagResource API operation for AWS Fault Injection Simulator. 1232// 1233// Removes the specified tags from the specified resource. 1234// 1235// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1236// with awserr.Error's Code and Message methods to get detailed information about 1237// the error. 1238// 1239// See the AWS API reference guide for AWS Fault Injection Simulator's 1240// API operation UntagResource for usage and error information. 1241// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/UntagResource 1242func (c *FIS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 1243 req, out := c.UntagResourceRequest(input) 1244 return out, req.Send() 1245} 1246 1247// UntagResourceWithContext is the same as UntagResource with the addition of 1248// the ability to pass a context and additional request options. 1249// 1250// See UntagResource for details on how to use this API operation. 1251// 1252// The context must be non-nil and will be used for request cancellation. If 1253// the context is nil a panic will occur. In the future the SDK may create 1254// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1255// for more information on using Contexts. 1256func (c *FIS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 1257 req, out := c.UntagResourceRequest(input) 1258 req.SetContext(ctx) 1259 req.ApplyOptions(opts...) 1260 return out, req.Send() 1261} 1262 1263const opUpdateExperimentTemplate = "UpdateExperimentTemplate" 1264 1265// UpdateExperimentTemplateRequest generates a "aws/request.Request" representing the 1266// client's request for the UpdateExperimentTemplate operation. The "output" return 1267// value will be populated with the request's response once the request completes 1268// successfully. 1269// 1270// Use "Send" method on the returned Request to send the API call to the service. 1271// the "output" return value is not valid until after Send returns without error. 1272// 1273// See UpdateExperimentTemplate for more information on using the UpdateExperimentTemplate 1274// API call, and error handling. 1275// 1276// This method is useful when you want to inject custom logic or configuration 1277// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1278// 1279// 1280// // Example sending a request using the UpdateExperimentTemplateRequest method. 1281// req, resp := client.UpdateExperimentTemplateRequest(params) 1282// 1283// err := req.Send() 1284// if err == nil { // resp is now filled 1285// fmt.Println(resp) 1286// } 1287// 1288// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/UpdateExperimentTemplate 1289func (c *FIS) UpdateExperimentTemplateRequest(input *UpdateExperimentTemplateInput) (req *request.Request, output *UpdateExperimentTemplateOutput) { 1290 op := &request.Operation{ 1291 Name: opUpdateExperimentTemplate, 1292 HTTPMethod: "PATCH", 1293 HTTPPath: "/experimentTemplates/{id}", 1294 } 1295 1296 if input == nil { 1297 input = &UpdateExperimentTemplateInput{} 1298 } 1299 1300 output = &UpdateExperimentTemplateOutput{} 1301 req = c.newRequest(op, input, output) 1302 return 1303} 1304 1305// UpdateExperimentTemplate API operation for AWS Fault Injection Simulator. 1306// 1307// Updates the specified experiment template. 1308// 1309// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1310// with awserr.Error's Code and Message methods to get detailed information about 1311// the error. 1312// 1313// See the AWS API reference guide for AWS Fault Injection Simulator's 1314// API operation UpdateExperimentTemplate for usage and error information. 1315// 1316// Returned Error Types: 1317// * ValidationException 1318// The specified input is not valid, or fails to satisfy the constraints for 1319// the request. 1320// 1321// * ResourceNotFoundException 1322// The specified resource cannot be found. 1323// 1324// * ServiceQuotaExceededException 1325// You have exceeded your service quota. 1326// 1327// See also, https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/UpdateExperimentTemplate 1328func (c *FIS) UpdateExperimentTemplate(input *UpdateExperimentTemplateInput) (*UpdateExperimentTemplateOutput, error) { 1329 req, out := c.UpdateExperimentTemplateRequest(input) 1330 return out, req.Send() 1331} 1332 1333// UpdateExperimentTemplateWithContext is the same as UpdateExperimentTemplate with the addition of 1334// the ability to pass a context and additional request options. 1335// 1336// See UpdateExperimentTemplate for details on how to use this API operation. 1337// 1338// The context must be non-nil and will be used for request cancellation. If 1339// the context is nil a panic will occur. In the future the SDK may create 1340// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1341// for more information on using Contexts. 1342func (c *FIS) UpdateExperimentTemplateWithContext(ctx aws.Context, input *UpdateExperimentTemplateInput, opts ...request.Option) (*UpdateExperimentTemplateOutput, error) { 1343 req, out := c.UpdateExperimentTemplateRequest(input) 1344 req.SetContext(ctx) 1345 req.ApplyOptions(opts...) 1346 return out, req.Send() 1347} 1348 1349// Describes an action. For more information, see AWS FIS actions (https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html) 1350// in the AWS Fault Injection Simulator User Guide. 1351type Action struct { 1352 _ struct{} `type:"structure"` 1353 1354 // The description for the action. 1355 Description *string `locationName:"description" type:"string"` 1356 1357 // The ID of the action. 1358 Id *string `locationName:"id" type:"string"` 1359 1360 // The action parameters, if applicable. 1361 Parameters map[string]*ActionParameter `locationName:"parameters" type:"map"` 1362 1363 // The tags for the action. 1364 Tags map[string]*string `locationName:"tags" type:"map"` 1365 1366 // The supported targets for the action. 1367 Targets map[string]*ActionTarget `locationName:"targets" type:"map"` 1368} 1369 1370// String returns the string representation 1371func (s Action) String() string { 1372 return awsutil.Prettify(s) 1373} 1374 1375// GoString returns the string representation 1376func (s Action) GoString() string { 1377 return s.String() 1378} 1379 1380// SetDescription sets the Description field's value. 1381func (s *Action) SetDescription(v string) *Action { 1382 s.Description = &v 1383 return s 1384} 1385 1386// SetId sets the Id field's value. 1387func (s *Action) SetId(v string) *Action { 1388 s.Id = &v 1389 return s 1390} 1391 1392// SetParameters sets the Parameters field's value. 1393func (s *Action) SetParameters(v map[string]*ActionParameter) *Action { 1394 s.Parameters = v 1395 return s 1396} 1397 1398// SetTags sets the Tags field's value. 1399func (s *Action) SetTags(v map[string]*string) *Action { 1400 s.Tags = v 1401 return s 1402} 1403 1404// SetTargets sets the Targets field's value. 1405func (s *Action) SetTargets(v map[string]*ActionTarget) *Action { 1406 s.Targets = v 1407 return s 1408} 1409 1410// Describes a parameter for an action. 1411type ActionParameter struct { 1412 _ struct{} `type:"structure"` 1413 1414 // The parameter description. 1415 Description *string `locationName:"description" type:"string"` 1416 1417 // Indicates whether the parameter is required. 1418 Required *bool `locationName:"required" type:"boolean"` 1419} 1420 1421// String returns the string representation 1422func (s ActionParameter) String() string { 1423 return awsutil.Prettify(s) 1424} 1425 1426// GoString returns the string representation 1427func (s ActionParameter) GoString() string { 1428 return s.String() 1429} 1430 1431// SetDescription sets the Description field's value. 1432func (s *ActionParameter) SetDescription(v string) *ActionParameter { 1433 s.Description = &v 1434 return s 1435} 1436 1437// SetRequired sets the Required field's value. 1438func (s *ActionParameter) SetRequired(v bool) *ActionParameter { 1439 s.Required = &v 1440 return s 1441} 1442 1443// Provides a summary of an action. 1444type ActionSummary struct { 1445 _ struct{} `type:"structure"` 1446 1447 // The description for the action. 1448 Description *string `locationName:"description" type:"string"` 1449 1450 // The ID of the action. 1451 Id *string `locationName:"id" type:"string"` 1452 1453 // The tags for the action. 1454 Tags map[string]*string `locationName:"tags" type:"map"` 1455 1456 // The targets for the action. 1457 Targets map[string]*ActionTarget `locationName:"targets" type:"map"` 1458} 1459 1460// String returns the string representation 1461func (s ActionSummary) String() string { 1462 return awsutil.Prettify(s) 1463} 1464 1465// GoString returns the string representation 1466func (s ActionSummary) GoString() string { 1467 return s.String() 1468} 1469 1470// SetDescription sets the Description field's value. 1471func (s *ActionSummary) SetDescription(v string) *ActionSummary { 1472 s.Description = &v 1473 return s 1474} 1475 1476// SetId sets the Id field's value. 1477func (s *ActionSummary) SetId(v string) *ActionSummary { 1478 s.Id = &v 1479 return s 1480} 1481 1482// SetTags sets the Tags field's value. 1483func (s *ActionSummary) SetTags(v map[string]*string) *ActionSummary { 1484 s.Tags = v 1485 return s 1486} 1487 1488// SetTargets sets the Targets field's value. 1489func (s *ActionSummary) SetTargets(v map[string]*ActionTarget) *ActionSummary { 1490 s.Targets = v 1491 return s 1492} 1493 1494// Describes a target for an action. 1495type ActionTarget struct { 1496 _ struct{} `type:"structure"` 1497 1498 // The resource type of the target. 1499 ResourceType *string `locationName:"resourceType" type:"string"` 1500} 1501 1502// String returns the string representation 1503func (s ActionTarget) String() string { 1504 return awsutil.Prettify(s) 1505} 1506 1507// GoString returns the string representation 1508func (s ActionTarget) GoString() string { 1509 return s.String() 1510} 1511 1512// SetResourceType sets the ResourceType field's value. 1513func (s *ActionTarget) SetResourceType(v string) *ActionTarget { 1514 s.ResourceType = &v 1515 return s 1516} 1517 1518// The request could not be processed because of a conflict. 1519type ConflictException struct { 1520 _ struct{} `type:"structure"` 1521 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1522 1523 Message_ *string `locationName:"message" type:"string"` 1524} 1525 1526// String returns the string representation 1527func (s ConflictException) String() string { 1528 return awsutil.Prettify(s) 1529} 1530 1531// GoString returns the string representation 1532func (s ConflictException) GoString() string { 1533 return s.String() 1534} 1535 1536func newErrorConflictException(v protocol.ResponseMetadata) error { 1537 return &ConflictException{ 1538 RespMetadata: v, 1539 } 1540} 1541 1542// Code returns the exception type name. 1543func (s *ConflictException) Code() string { 1544 return "ConflictException" 1545} 1546 1547// Message returns the exception's message. 1548func (s *ConflictException) Message() string { 1549 if s.Message_ != nil { 1550 return *s.Message_ 1551 } 1552 return "" 1553} 1554 1555// OrigErr always returns nil, satisfies awserr.Error interface. 1556func (s *ConflictException) OrigErr() error { 1557 return nil 1558} 1559 1560func (s *ConflictException) Error() string { 1561 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1562} 1563 1564// Status code returns the HTTP status code for the request's response error. 1565func (s *ConflictException) StatusCode() int { 1566 return s.RespMetadata.StatusCode 1567} 1568 1569// RequestID returns the service's response RequestID for request. 1570func (s *ConflictException) RequestID() string { 1571 return s.RespMetadata.RequestID 1572} 1573 1574// Specifies an action for an experiment template. 1575type CreateExperimentTemplateActionInput struct { 1576 _ struct{} `type:"structure"` 1577 1578 // The ID of the action. 1579 // 1580 // ActionId is a required field 1581 ActionId *string `locationName:"actionId" type:"string" required:"true"` 1582 1583 // A description for the action. 1584 Description *string `locationName:"description" type:"string"` 1585 1586 // The parameters for the action, if applicable. 1587 Parameters map[string]*string `locationName:"parameters" type:"map"` 1588 1589 // The name of the action that must be completed before the current action starts. 1590 // Omit this parameter to run the action at the start of the experiment. 1591 StartAfter []*string `locationName:"startAfter" type:"list"` 1592 1593 // The targets for the action. 1594 Targets map[string]*string `locationName:"targets" type:"map"` 1595} 1596 1597// String returns the string representation 1598func (s CreateExperimentTemplateActionInput) String() string { 1599 return awsutil.Prettify(s) 1600} 1601 1602// GoString returns the string representation 1603func (s CreateExperimentTemplateActionInput) GoString() string { 1604 return s.String() 1605} 1606 1607// Validate inspects the fields of the type to determine if they are valid. 1608func (s *CreateExperimentTemplateActionInput) Validate() error { 1609 invalidParams := request.ErrInvalidParams{Context: "CreateExperimentTemplateActionInput"} 1610 if s.ActionId == nil { 1611 invalidParams.Add(request.NewErrParamRequired("ActionId")) 1612 } 1613 1614 if invalidParams.Len() > 0 { 1615 return invalidParams 1616 } 1617 return nil 1618} 1619 1620// SetActionId sets the ActionId field's value. 1621func (s *CreateExperimentTemplateActionInput) SetActionId(v string) *CreateExperimentTemplateActionInput { 1622 s.ActionId = &v 1623 return s 1624} 1625 1626// SetDescription sets the Description field's value. 1627func (s *CreateExperimentTemplateActionInput) SetDescription(v string) *CreateExperimentTemplateActionInput { 1628 s.Description = &v 1629 return s 1630} 1631 1632// SetParameters sets the Parameters field's value. 1633func (s *CreateExperimentTemplateActionInput) SetParameters(v map[string]*string) *CreateExperimentTemplateActionInput { 1634 s.Parameters = v 1635 return s 1636} 1637 1638// SetStartAfter sets the StartAfter field's value. 1639func (s *CreateExperimentTemplateActionInput) SetStartAfter(v []*string) *CreateExperimentTemplateActionInput { 1640 s.StartAfter = v 1641 return s 1642} 1643 1644// SetTargets sets the Targets field's value. 1645func (s *CreateExperimentTemplateActionInput) SetTargets(v map[string]*string) *CreateExperimentTemplateActionInput { 1646 s.Targets = v 1647 return s 1648} 1649 1650type CreateExperimentTemplateInput struct { 1651 _ struct{} `type:"structure"` 1652 1653 // The actions for the experiment. 1654 // 1655 // Actions is a required field 1656 Actions map[string]*CreateExperimentTemplateActionInput `locationName:"actions" type:"map" required:"true"` 1657 1658 // Unique, case-sensitive identifier that you provide to ensure the idempotency 1659 // of the request. 1660 ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` 1661 1662 // A description for the experiment template. Can contain up to 64 letters (A-Z 1663 // and a-z). 1664 // 1665 // Description is a required field 1666 Description *string `locationName:"description" type:"string" required:"true"` 1667 1668 // The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service 1669 // permission to perform service actions on your behalf. 1670 // 1671 // RoleArn is a required field 1672 RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"` 1673 1674 // The stop conditions. 1675 // 1676 // StopConditions is a required field 1677 StopConditions []*CreateExperimentTemplateStopConditionInput `locationName:"stopConditions" type:"list" required:"true"` 1678 1679 // The tags to apply to the experiment template. 1680 Tags map[string]*string `locationName:"tags" type:"map"` 1681 1682 // The targets for the experiment. 1683 Targets map[string]*CreateExperimentTemplateTargetInput `locationName:"targets" type:"map"` 1684} 1685 1686// String returns the string representation 1687func (s CreateExperimentTemplateInput) String() string { 1688 return awsutil.Prettify(s) 1689} 1690 1691// GoString returns the string representation 1692func (s CreateExperimentTemplateInput) GoString() string { 1693 return s.String() 1694} 1695 1696// Validate inspects the fields of the type to determine if they are valid. 1697func (s *CreateExperimentTemplateInput) Validate() error { 1698 invalidParams := request.ErrInvalidParams{Context: "CreateExperimentTemplateInput"} 1699 if s.Actions == nil { 1700 invalidParams.Add(request.NewErrParamRequired("Actions")) 1701 } 1702 if s.ClientToken != nil && len(*s.ClientToken) < 1 { 1703 invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) 1704 } 1705 if s.Description == nil { 1706 invalidParams.Add(request.NewErrParamRequired("Description")) 1707 } 1708 if s.RoleArn == nil { 1709 invalidParams.Add(request.NewErrParamRequired("RoleArn")) 1710 } 1711 if s.RoleArn != nil && len(*s.RoleArn) < 20 { 1712 invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) 1713 } 1714 if s.StopConditions == nil { 1715 invalidParams.Add(request.NewErrParamRequired("StopConditions")) 1716 } 1717 if s.Actions != nil { 1718 for i, v := range s.Actions { 1719 if v == nil { 1720 continue 1721 } 1722 if err := v.Validate(); err != nil { 1723 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) 1724 } 1725 } 1726 } 1727 if s.StopConditions != nil { 1728 for i, v := range s.StopConditions { 1729 if v == nil { 1730 continue 1731 } 1732 if err := v.Validate(); err != nil { 1733 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StopConditions", i), err.(request.ErrInvalidParams)) 1734 } 1735 } 1736 } 1737 if s.Targets != nil { 1738 for i, v := range s.Targets { 1739 if v == nil { 1740 continue 1741 } 1742 if err := v.Validate(); err != nil { 1743 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) 1744 } 1745 } 1746 } 1747 1748 if invalidParams.Len() > 0 { 1749 return invalidParams 1750 } 1751 return nil 1752} 1753 1754// SetActions sets the Actions field's value. 1755func (s *CreateExperimentTemplateInput) SetActions(v map[string]*CreateExperimentTemplateActionInput) *CreateExperimentTemplateInput { 1756 s.Actions = v 1757 return s 1758} 1759 1760// SetClientToken sets the ClientToken field's value. 1761func (s *CreateExperimentTemplateInput) SetClientToken(v string) *CreateExperimentTemplateInput { 1762 s.ClientToken = &v 1763 return s 1764} 1765 1766// SetDescription sets the Description field's value. 1767func (s *CreateExperimentTemplateInput) SetDescription(v string) *CreateExperimentTemplateInput { 1768 s.Description = &v 1769 return s 1770} 1771 1772// SetRoleArn sets the RoleArn field's value. 1773func (s *CreateExperimentTemplateInput) SetRoleArn(v string) *CreateExperimentTemplateInput { 1774 s.RoleArn = &v 1775 return s 1776} 1777 1778// SetStopConditions sets the StopConditions field's value. 1779func (s *CreateExperimentTemplateInput) SetStopConditions(v []*CreateExperimentTemplateStopConditionInput) *CreateExperimentTemplateInput { 1780 s.StopConditions = v 1781 return s 1782} 1783 1784// SetTags sets the Tags field's value. 1785func (s *CreateExperimentTemplateInput) SetTags(v map[string]*string) *CreateExperimentTemplateInput { 1786 s.Tags = v 1787 return s 1788} 1789 1790// SetTargets sets the Targets field's value. 1791func (s *CreateExperimentTemplateInput) SetTargets(v map[string]*CreateExperimentTemplateTargetInput) *CreateExperimentTemplateInput { 1792 s.Targets = v 1793 return s 1794} 1795 1796type CreateExperimentTemplateOutput struct { 1797 _ struct{} `type:"structure"` 1798 1799 // Information about the experiment template. 1800 ExperimentTemplate *ExperimentTemplate `locationName:"experimentTemplate" type:"structure"` 1801} 1802 1803// String returns the string representation 1804func (s CreateExperimentTemplateOutput) String() string { 1805 return awsutil.Prettify(s) 1806} 1807 1808// GoString returns the string representation 1809func (s CreateExperimentTemplateOutput) GoString() string { 1810 return s.String() 1811} 1812 1813// SetExperimentTemplate sets the ExperimentTemplate field's value. 1814func (s *CreateExperimentTemplateOutput) SetExperimentTemplate(v *ExperimentTemplate) *CreateExperimentTemplateOutput { 1815 s.ExperimentTemplate = v 1816 return s 1817} 1818 1819// Specifies a stop condition for an experiment template. 1820type CreateExperimentTemplateStopConditionInput struct { 1821 _ struct{} `type:"structure"` 1822 1823 // The source for the stop condition. Specify aws:cloudwatch:alarm if the stop 1824 // condition is defined by a CloudWatch alarm. Specify none if there is no stop 1825 // condition. 1826 // 1827 // Source is a required field 1828 Source *string `locationName:"source" type:"string" required:"true"` 1829 1830 // The Amazon Resource Name (ARN) of the CloudWatch alarm. This is required 1831 // if the source is a CloudWatch alarm. 1832 Value *string `locationName:"value" min:"20" type:"string"` 1833} 1834 1835// String returns the string representation 1836func (s CreateExperimentTemplateStopConditionInput) String() string { 1837 return awsutil.Prettify(s) 1838} 1839 1840// GoString returns the string representation 1841func (s CreateExperimentTemplateStopConditionInput) GoString() string { 1842 return s.String() 1843} 1844 1845// Validate inspects the fields of the type to determine if they are valid. 1846func (s *CreateExperimentTemplateStopConditionInput) Validate() error { 1847 invalidParams := request.ErrInvalidParams{Context: "CreateExperimentTemplateStopConditionInput"} 1848 if s.Source == nil { 1849 invalidParams.Add(request.NewErrParamRequired("Source")) 1850 } 1851 if s.Value != nil && len(*s.Value) < 20 { 1852 invalidParams.Add(request.NewErrParamMinLen("Value", 20)) 1853 } 1854 1855 if invalidParams.Len() > 0 { 1856 return invalidParams 1857 } 1858 return nil 1859} 1860 1861// SetSource sets the Source field's value. 1862func (s *CreateExperimentTemplateStopConditionInput) SetSource(v string) *CreateExperimentTemplateStopConditionInput { 1863 s.Source = &v 1864 return s 1865} 1866 1867// SetValue sets the Value field's value. 1868func (s *CreateExperimentTemplateStopConditionInput) SetValue(v string) *CreateExperimentTemplateStopConditionInput { 1869 s.Value = &v 1870 return s 1871} 1872 1873// Specifies a target for an experiment. You must specify at least one Amazon 1874// Resource Name (ARN) or at least one resource tag. You cannot specify both 1875// ARNs and tags. 1876type CreateExperimentTemplateTargetInput struct { 1877 _ struct{} `type:"structure"` 1878 1879 // The filters to apply to identify target resources using specific attributes. 1880 Filters []*ExperimentTemplateTargetInputFilter `locationName:"filters" type:"list"` 1881 1882 // The Amazon Resource Names (ARNs) of the resources. 1883 ResourceArns []*string `locationName:"resourceArns" type:"list"` 1884 1885 // The tags for the target resources. 1886 ResourceTags map[string]*string `locationName:"resourceTags" type:"map"` 1887 1888 // The AWS resource type. The resource type must be supported for the specified 1889 // action. 1890 // 1891 // ResourceType is a required field 1892 ResourceType *string `locationName:"resourceType" type:"string" required:"true"` 1893 1894 // Scopes the identified resources to a specific count of the resources at random, 1895 // or a percentage of the resources. All identified resources are included in 1896 // the target. 1897 // 1898 // * ALL - Run the action on all identified targets. This is the default. 1899 // 1900 // * COUNT(n) - Run the action on the specified number of targets, chosen 1901 // from the identified targets at random. For example, COUNT(1) selects one 1902 // of the targets. 1903 // 1904 // * PERCENT(n) - Run the action on the specified percentage of targets, 1905 // chosen from the identified targets at random. For example, PERCENT(25) 1906 // selects 25% of the targets. 1907 // 1908 // SelectionMode is a required field 1909 SelectionMode *string `locationName:"selectionMode" type:"string" required:"true"` 1910} 1911 1912// String returns the string representation 1913func (s CreateExperimentTemplateTargetInput) String() string { 1914 return awsutil.Prettify(s) 1915} 1916 1917// GoString returns the string representation 1918func (s CreateExperimentTemplateTargetInput) GoString() string { 1919 return s.String() 1920} 1921 1922// Validate inspects the fields of the type to determine if they are valid. 1923func (s *CreateExperimentTemplateTargetInput) Validate() error { 1924 invalidParams := request.ErrInvalidParams{Context: "CreateExperimentTemplateTargetInput"} 1925 if s.ResourceType == nil { 1926 invalidParams.Add(request.NewErrParamRequired("ResourceType")) 1927 } 1928 if s.SelectionMode == nil { 1929 invalidParams.Add(request.NewErrParamRequired("SelectionMode")) 1930 } 1931 if s.Filters != nil { 1932 for i, v := range s.Filters { 1933 if v == nil { 1934 continue 1935 } 1936 if err := v.Validate(); err != nil { 1937 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) 1938 } 1939 } 1940 } 1941 1942 if invalidParams.Len() > 0 { 1943 return invalidParams 1944 } 1945 return nil 1946} 1947 1948// SetFilters sets the Filters field's value. 1949func (s *CreateExperimentTemplateTargetInput) SetFilters(v []*ExperimentTemplateTargetInputFilter) *CreateExperimentTemplateTargetInput { 1950 s.Filters = v 1951 return s 1952} 1953 1954// SetResourceArns sets the ResourceArns field's value. 1955func (s *CreateExperimentTemplateTargetInput) SetResourceArns(v []*string) *CreateExperimentTemplateTargetInput { 1956 s.ResourceArns = v 1957 return s 1958} 1959 1960// SetResourceTags sets the ResourceTags field's value. 1961func (s *CreateExperimentTemplateTargetInput) SetResourceTags(v map[string]*string) *CreateExperimentTemplateTargetInput { 1962 s.ResourceTags = v 1963 return s 1964} 1965 1966// SetResourceType sets the ResourceType field's value. 1967func (s *CreateExperimentTemplateTargetInput) SetResourceType(v string) *CreateExperimentTemplateTargetInput { 1968 s.ResourceType = &v 1969 return s 1970} 1971 1972// SetSelectionMode sets the SelectionMode field's value. 1973func (s *CreateExperimentTemplateTargetInput) SetSelectionMode(v string) *CreateExperimentTemplateTargetInput { 1974 s.SelectionMode = &v 1975 return s 1976} 1977 1978type DeleteExperimentTemplateInput struct { 1979 _ struct{} `type:"structure"` 1980 1981 // The ID of the experiment template. 1982 // 1983 // Id is a required field 1984 Id *string `location:"uri" locationName:"id" type:"string" required:"true"` 1985} 1986 1987// String returns the string representation 1988func (s DeleteExperimentTemplateInput) String() string { 1989 return awsutil.Prettify(s) 1990} 1991 1992// GoString returns the string representation 1993func (s DeleteExperimentTemplateInput) GoString() string { 1994 return s.String() 1995} 1996 1997// Validate inspects the fields of the type to determine if they are valid. 1998func (s *DeleteExperimentTemplateInput) Validate() error { 1999 invalidParams := request.ErrInvalidParams{Context: "DeleteExperimentTemplateInput"} 2000 if s.Id == nil { 2001 invalidParams.Add(request.NewErrParamRequired("Id")) 2002 } 2003 if s.Id != nil && len(*s.Id) < 1 { 2004 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 2005 } 2006 2007 if invalidParams.Len() > 0 { 2008 return invalidParams 2009 } 2010 return nil 2011} 2012 2013// SetId sets the Id field's value. 2014func (s *DeleteExperimentTemplateInput) SetId(v string) *DeleteExperimentTemplateInput { 2015 s.Id = &v 2016 return s 2017} 2018 2019type DeleteExperimentTemplateOutput struct { 2020 _ struct{} `type:"structure"` 2021 2022 // Information about the experiment template. 2023 ExperimentTemplate *ExperimentTemplate `locationName:"experimentTemplate" type:"structure"` 2024} 2025 2026// String returns the string representation 2027func (s DeleteExperimentTemplateOutput) String() string { 2028 return awsutil.Prettify(s) 2029} 2030 2031// GoString returns the string representation 2032func (s DeleteExperimentTemplateOutput) GoString() string { 2033 return s.String() 2034} 2035 2036// SetExperimentTemplate sets the ExperimentTemplate field's value. 2037func (s *DeleteExperimentTemplateOutput) SetExperimentTemplate(v *ExperimentTemplate) *DeleteExperimentTemplateOutput { 2038 s.ExperimentTemplate = v 2039 return s 2040} 2041 2042// Describes an experiment. 2043type Experiment struct { 2044 _ struct{} `type:"structure"` 2045 2046 // The actions for the experiment. 2047 Actions map[string]*ExperimentAction `locationName:"actions" type:"map"` 2048 2049 // The time the experiment was created. 2050 CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` 2051 2052 // The time that the experiment ended. 2053 EndTime *time.Time `locationName:"endTime" type:"timestamp"` 2054 2055 // The ID of the experiment template. 2056 ExperimentTemplateId *string `locationName:"experimentTemplateId" type:"string"` 2057 2058 // The ID of the experiment. 2059 Id *string `locationName:"id" type:"string"` 2060 2061 // The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service 2062 // permission to perform service actions on your behalf. 2063 RoleArn *string `locationName:"roleArn" min:"20" type:"string"` 2064 2065 // The time that the experiment was started. 2066 StartTime *time.Time `locationName:"startTime" type:"timestamp"` 2067 2068 // The state of the experiment. 2069 State *ExperimentState `locationName:"state" type:"structure"` 2070 2071 // The stop conditions for the experiment. 2072 StopConditions []*ExperimentStopCondition `locationName:"stopConditions" type:"list"` 2073 2074 // The tags for the experiment. 2075 Tags map[string]*string `locationName:"tags" type:"map"` 2076 2077 // The targets for the experiment. 2078 Targets map[string]*ExperimentTarget `locationName:"targets" type:"map"` 2079} 2080 2081// String returns the string representation 2082func (s Experiment) String() string { 2083 return awsutil.Prettify(s) 2084} 2085 2086// GoString returns the string representation 2087func (s Experiment) GoString() string { 2088 return s.String() 2089} 2090 2091// SetActions sets the Actions field's value. 2092func (s *Experiment) SetActions(v map[string]*ExperimentAction) *Experiment { 2093 s.Actions = v 2094 return s 2095} 2096 2097// SetCreationTime sets the CreationTime field's value. 2098func (s *Experiment) SetCreationTime(v time.Time) *Experiment { 2099 s.CreationTime = &v 2100 return s 2101} 2102 2103// SetEndTime sets the EndTime field's value. 2104func (s *Experiment) SetEndTime(v time.Time) *Experiment { 2105 s.EndTime = &v 2106 return s 2107} 2108 2109// SetExperimentTemplateId sets the ExperimentTemplateId field's value. 2110func (s *Experiment) SetExperimentTemplateId(v string) *Experiment { 2111 s.ExperimentTemplateId = &v 2112 return s 2113} 2114 2115// SetId sets the Id field's value. 2116func (s *Experiment) SetId(v string) *Experiment { 2117 s.Id = &v 2118 return s 2119} 2120 2121// SetRoleArn sets the RoleArn field's value. 2122func (s *Experiment) SetRoleArn(v string) *Experiment { 2123 s.RoleArn = &v 2124 return s 2125} 2126 2127// SetStartTime sets the StartTime field's value. 2128func (s *Experiment) SetStartTime(v time.Time) *Experiment { 2129 s.StartTime = &v 2130 return s 2131} 2132 2133// SetState sets the State field's value. 2134func (s *Experiment) SetState(v *ExperimentState) *Experiment { 2135 s.State = v 2136 return s 2137} 2138 2139// SetStopConditions sets the StopConditions field's value. 2140func (s *Experiment) SetStopConditions(v []*ExperimentStopCondition) *Experiment { 2141 s.StopConditions = v 2142 return s 2143} 2144 2145// SetTags sets the Tags field's value. 2146func (s *Experiment) SetTags(v map[string]*string) *Experiment { 2147 s.Tags = v 2148 return s 2149} 2150 2151// SetTargets sets the Targets field's value. 2152func (s *Experiment) SetTargets(v map[string]*ExperimentTarget) *Experiment { 2153 s.Targets = v 2154 return s 2155} 2156 2157// Describes the action for an experiment. 2158type ExperimentAction struct { 2159 _ struct{} `type:"structure"` 2160 2161 // The ID of the action. 2162 ActionId *string `locationName:"actionId" type:"string"` 2163 2164 // The description for the action. 2165 Description *string `locationName:"description" type:"string"` 2166 2167 // The parameters for the action. 2168 Parameters map[string]*string `locationName:"parameters" type:"map"` 2169 2170 // The name of the action that must be completed before this action starts. 2171 StartAfter []*string `locationName:"startAfter" type:"list"` 2172 2173 // The state of the action. 2174 State *ExperimentActionState `locationName:"state" type:"structure"` 2175 2176 // The targets for the action. 2177 Targets map[string]*string `locationName:"targets" type:"map"` 2178} 2179 2180// String returns the string representation 2181func (s ExperimentAction) String() string { 2182 return awsutil.Prettify(s) 2183} 2184 2185// GoString returns the string representation 2186func (s ExperimentAction) GoString() string { 2187 return s.String() 2188} 2189 2190// SetActionId sets the ActionId field's value. 2191func (s *ExperimentAction) SetActionId(v string) *ExperimentAction { 2192 s.ActionId = &v 2193 return s 2194} 2195 2196// SetDescription sets the Description field's value. 2197func (s *ExperimentAction) SetDescription(v string) *ExperimentAction { 2198 s.Description = &v 2199 return s 2200} 2201 2202// SetParameters sets the Parameters field's value. 2203func (s *ExperimentAction) SetParameters(v map[string]*string) *ExperimentAction { 2204 s.Parameters = v 2205 return s 2206} 2207 2208// SetStartAfter sets the StartAfter field's value. 2209func (s *ExperimentAction) SetStartAfter(v []*string) *ExperimentAction { 2210 s.StartAfter = v 2211 return s 2212} 2213 2214// SetState sets the State field's value. 2215func (s *ExperimentAction) SetState(v *ExperimentActionState) *ExperimentAction { 2216 s.State = v 2217 return s 2218} 2219 2220// SetTargets sets the Targets field's value. 2221func (s *ExperimentAction) SetTargets(v map[string]*string) *ExperimentAction { 2222 s.Targets = v 2223 return s 2224} 2225 2226// Describes the state of an action. 2227type ExperimentActionState struct { 2228 _ struct{} `type:"structure"` 2229 2230 // The reason for the state. 2231 Reason *string `locationName:"reason" type:"string"` 2232 2233 // The state of the action. 2234 Status *string `locationName:"status" type:"string" enum:"ExperimentActionStatus"` 2235} 2236 2237// String returns the string representation 2238func (s ExperimentActionState) String() string { 2239 return awsutil.Prettify(s) 2240} 2241 2242// GoString returns the string representation 2243func (s ExperimentActionState) GoString() string { 2244 return s.String() 2245} 2246 2247// SetReason sets the Reason field's value. 2248func (s *ExperimentActionState) SetReason(v string) *ExperimentActionState { 2249 s.Reason = &v 2250 return s 2251} 2252 2253// SetStatus sets the Status field's value. 2254func (s *ExperimentActionState) SetStatus(v string) *ExperimentActionState { 2255 s.Status = &v 2256 return s 2257} 2258 2259// Describes the state of an experiment. 2260type ExperimentState struct { 2261 _ struct{} `type:"structure"` 2262 2263 // The reason for the state. 2264 Reason *string `locationName:"reason" type:"string"` 2265 2266 // The state of the experiment. 2267 Status *string `locationName:"status" type:"string" enum:"ExperimentStatus"` 2268} 2269 2270// String returns the string representation 2271func (s ExperimentState) String() string { 2272 return awsutil.Prettify(s) 2273} 2274 2275// GoString returns the string representation 2276func (s ExperimentState) GoString() string { 2277 return s.String() 2278} 2279 2280// SetReason sets the Reason field's value. 2281func (s *ExperimentState) SetReason(v string) *ExperimentState { 2282 s.Reason = &v 2283 return s 2284} 2285 2286// SetStatus sets the Status field's value. 2287func (s *ExperimentState) SetStatus(v string) *ExperimentState { 2288 s.Status = &v 2289 return s 2290} 2291 2292// Describes the stop condition for an experiment. 2293type ExperimentStopCondition struct { 2294 _ struct{} `type:"structure"` 2295 2296 // The source for the stop condition. 2297 Source *string `locationName:"source" type:"string"` 2298 2299 // The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable. 2300 Value *string `locationName:"value" min:"20" type:"string"` 2301} 2302 2303// String returns the string representation 2304func (s ExperimentStopCondition) String() string { 2305 return awsutil.Prettify(s) 2306} 2307 2308// GoString returns the string representation 2309func (s ExperimentStopCondition) GoString() string { 2310 return s.String() 2311} 2312 2313// SetSource sets the Source field's value. 2314func (s *ExperimentStopCondition) SetSource(v string) *ExperimentStopCondition { 2315 s.Source = &v 2316 return s 2317} 2318 2319// SetValue sets the Value field's value. 2320func (s *ExperimentStopCondition) SetValue(v string) *ExperimentStopCondition { 2321 s.Value = &v 2322 return s 2323} 2324 2325// Provides a summary of an experiment. 2326type ExperimentSummary struct { 2327 _ struct{} `type:"structure"` 2328 2329 // The time that the experiment was created. 2330 CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` 2331 2332 // The ID of the experiment template. 2333 ExperimentTemplateId *string `locationName:"experimentTemplateId" type:"string"` 2334 2335 // The ID of the experiment. 2336 Id *string `locationName:"id" type:"string"` 2337 2338 // The state of the experiment. 2339 State *ExperimentState `locationName:"state" type:"structure"` 2340 2341 // The tags for the experiment. 2342 Tags map[string]*string `locationName:"tags" type:"map"` 2343} 2344 2345// String returns the string representation 2346func (s ExperimentSummary) String() string { 2347 return awsutil.Prettify(s) 2348} 2349 2350// GoString returns the string representation 2351func (s ExperimentSummary) GoString() string { 2352 return s.String() 2353} 2354 2355// SetCreationTime sets the CreationTime field's value. 2356func (s *ExperimentSummary) SetCreationTime(v time.Time) *ExperimentSummary { 2357 s.CreationTime = &v 2358 return s 2359} 2360 2361// SetExperimentTemplateId sets the ExperimentTemplateId field's value. 2362func (s *ExperimentSummary) SetExperimentTemplateId(v string) *ExperimentSummary { 2363 s.ExperimentTemplateId = &v 2364 return s 2365} 2366 2367// SetId sets the Id field's value. 2368func (s *ExperimentSummary) SetId(v string) *ExperimentSummary { 2369 s.Id = &v 2370 return s 2371} 2372 2373// SetState sets the State field's value. 2374func (s *ExperimentSummary) SetState(v *ExperimentState) *ExperimentSummary { 2375 s.State = v 2376 return s 2377} 2378 2379// SetTags sets the Tags field's value. 2380func (s *ExperimentSummary) SetTags(v map[string]*string) *ExperimentSummary { 2381 s.Tags = v 2382 return s 2383} 2384 2385// Describes a target for an experiment. 2386type ExperimentTarget struct { 2387 _ struct{} `type:"structure"` 2388 2389 // The filters to apply to identify target resources using specific attributes. 2390 Filters []*ExperimentTargetFilter `locationName:"filters" type:"list"` 2391 2392 // The Amazon Resource Names (ARNs) of the resources. 2393 ResourceArns []*string `locationName:"resourceArns" type:"list"` 2394 2395 // The tags for the target resources. 2396 ResourceTags map[string]*string `locationName:"resourceTags" type:"map"` 2397 2398 // The resource type. 2399 ResourceType *string `locationName:"resourceType" type:"string"` 2400 2401 // Scopes the identified resources to a specific count or percentage. 2402 SelectionMode *string `locationName:"selectionMode" type:"string"` 2403} 2404 2405// String returns the string representation 2406func (s ExperimentTarget) String() string { 2407 return awsutil.Prettify(s) 2408} 2409 2410// GoString returns the string representation 2411func (s ExperimentTarget) GoString() string { 2412 return s.String() 2413} 2414 2415// SetFilters sets the Filters field's value. 2416func (s *ExperimentTarget) SetFilters(v []*ExperimentTargetFilter) *ExperimentTarget { 2417 s.Filters = v 2418 return s 2419} 2420 2421// SetResourceArns sets the ResourceArns field's value. 2422func (s *ExperimentTarget) SetResourceArns(v []*string) *ExperimentTarget { 2423 s.ResourceArns = v 2424 return s 2425} 2426 2427// SetResourceTags sets the ResourceTags field's value. 2428func (s *ExperimentTarget) SetResourceTags(v map[string]*string) *ExperimentTarget { 2429 s.ResourceTags = v 2430 return s 2431} 2432 2433// SetResourceType sets the ResourceType field's value. 2434func (s *ExperimentTarget) SetResourceType(v string) *ExperimentTarget { 2435 s.ResourceType = &v 2436 return s 2437} 2438 2439// SetSelectionMode sets the SelectionMode field's value. 2440func (s *ExperimentTarget) SetSelectionMode(v string) *ExperimentTarget { 2441 s.SelectionMode = &v 2442 return s 2443} 2444 2445// Describes a filter used for the target resources in an experiment. 2446type ExperimentTargetFilter struct { 2447 _ struct{} `type:"structure"` 2448 2449 // The attribute path for the filter. 2450 Path *string `locationName:"path" type:"string"` 2451 2452 // The attribute values for the filter. 2453 Values []*string `locationName:"values" type:"list"` 2454} 2455 2456// String returns the string representation 2457func (s ExperimentTargetFilter) String() string { 2458 return awsutil.Prettify(s) 2459} 2460 2461// GoString returns the string representation 2462func (s ExperimentTargetFilter) GoString() string { 2463 return s.String() 2464} 2465 2466// SetPath sets the Path field's value. 2467func (s *ExperimentTargetFilter) SetPath(v string) *ExperimentTargetFilter { 2468 s.Path = &v 2469 return s 2470} 2471 2472// SetValues sets the Values field's value. 2473func (s *ExperimentTargetFilter) SetValues(v []*string) *ExperimentTargetFilter { 2474 s.Values = v 2475 return s 2476} 2477 2478// Describes an experiment template. 2479type ExperimentTemplate struct { 2480 _ struct{} `type:"structure"` 2481 2482 // The actions for the experiment. 2483 Actions map[string]*ExperimentTemplateAction `locationName:"actions" type:"map"` 2484 2485 // The time the experiment template was created. 2486 CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` 2487 2488 // The description for the experiment template. 2489 Description *string `locationName:"description" type:"string"` 2490 2491 // The ID of the experiment template. 2492 Id *string `locationName:"id" type:"string"` 2493 2494 // The time the experiment template was last updated. 2495 LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"` 2496 2497 // The Amazon Resource Name (ARN) of an IAM role. 2498 RoleArn *string `locationName:"roleArn" min:"20" type:"string"` 2499 2500 // The stop conditions for the experiment. 2501 StopConditions []*ExperimentTemplateStopCondition `locationName:"stopConditions" type:"list"` 2502 2503 // The tags for the experiment template. 2504 Tags map[string]*string `locationName:"tags" type:"map"` 2505 2506 // The targets for the experiment. 2507 Targets map[string]*ExperimentTemplateTarget `locationName:"targets" type:"map"` 2508} 2509 2510// String returns the string representation 2511func (s ExperimentTemplate) String() string { 2512 return awsutil.Prettify(s) 2513} 2514 2515// GoString returns the string representation 2516func (s ExperimentTemplate) GoString() string { 2517 return s.String() 2518} 2519 2520// SetActions sets the Actions field's value. 2521func (s *ExperimentTemplate) SetActions(v map[string]*ExperimentTemplateAction) *ExperimentTemplate { 2522 s.Actions = v 2523 return s 2524} 2525 2526// SetCreationTime sets the CreationTime field's value. 2527func (s *ExperimentTemplate) SetCreationTime(v time.Time) *ExperimentTemplate { 2528 s.CreationTime = &v 2529 return s 2530} 2531 2532// SetDescription sets the Description field's value. 2533func (s *ExperimentTemplate) SetDescription(v string) *ExperimentTemplate { 2534 s.Description = &v 2535 return s 2536} 2537 2538// SetId sets the Id field's value. 2539func (s *ExperimentTemplate) SetId(v string) *ExperimentTemplate { 2540 s.Id = &v 2541 return s 2542} 2543 2544// SetLastUpdateTime sets the LastUpdateTime field's value. 2545func (s *ExperimentTemplate) SetLastUpdateTime(v time.Time) *ExperimentTemplate { 2546 s.LastUpdateTime = &v 2547 return s 2548} 2549 2550// SetRoleArn sets the RoleArn field's value. 2551func (s *ExperimentTemplate) SetRoleArn(v string) *ExperimentTemplate { 2552 s.RoleArn = &v 2553 return s 2554} 2555 2556// SetStopConditions sets the StopConditions field's value. 2557func (s *ExperimentTemplate) SetStopConditions(v []*ExperimentTemplateStopCondition) *ExperimentTemplate { 2558 s.StopConditions = v 2559 return s 2560} 2561 2562// SetTags sets the Tags field's value. 2563func (s *ExperimentTemplate) SetTags(v map[string]*string) *ExperimentTemplate { 2564 s.Tags = v 2565 return s 2566} 2567 2568// SetTargets sets the Targets field's value. 2569func (s *ExperimentTemplate) SetTargets(v map[string]*ExperimentTemplateTarget) *ExperimentTemplate { 2570 s.Targets = v 2571 return s 2572} 2573 2574// Describes an action for an experiment template. 2575type ExperimentTemplateAction struct { 2576 _ struct{} `type:"structure"` 2577 2578 // The ID of the action. 2579 ActionId *string `locationName:"actionId" type:"string"` 2580 2581 // A description for the action. 2582 Description *string `locationName:"description" type:"string"` 2583 2584 // The parameters for the action. 2585 Parameters map[string]*string `locationName:"parameters" type:"map"` 2586 2587 // The name of the action that must be completed before the current action starts. 2588 StartAfter []*string `locationName:"startAfter" type:"list"` 2589 2590 // The targets for the action. 2591 Targets map[string]*string `locationName:"targets" type:"map"` 2592} 2593 2594// String returns the string representation 2595func (s ExperimentTemplateAction) String() string { 2596 return awsutil.Prettify(s) 2597} 2598 2599// GoString returns the string representation 2600func (s ExperimentTemplateAction) GoString() string { 2601 return s.String() 2602} 2603 2604// SetActionId sets the ActionId field's value. 2605func (s *ExperimentTemplateAction) SetActionId(v string) *ExperimentTemplateAction { 2606 s.ActionId = &v 2607 return s 2608} 2609 2610// SetDescription sets the Description field's value. 2611func (s *ExperimentTemplateAction) SetDescription(v string) *ExperimentTemplateAction { 2612 s.Description = &v 2613 return s 2614} 2615 2616// SetParameters sets the Parameters field's value. 2617func (s *ExperimentTemplateAction) SetParameters(v map[string]*string) *ExperimentTemplateAction { 2618 s.Parameters = v 2619 return s 2620} 2621 2622// SetStartAfter sets the StartAfter field's value. 2623func (s *ExperimentTemplateAction) SetStartAfter(v []*string) *ExperimentTemplateAction { 2624 s.StartAfter = v 2625 return s 2626} 2627 2628// SetTargets sets the Targets field's value. 2629func (s *ExperimentTemplateAction) SetTargets(v map[string]*string) *ExperimentTemplateAction { 2630 s.Targets = v 2631 return s 2632} 2633 2634// Describes a stop condition for an experiment template. 2635type ExperimentTemplateStopCondition struct { 2636 _ struct{} `type:"structure"` 2637 2638 // The source for the stop condition. 2639 Source *string `locationName:"source" type:"string"` 2640 2641 // The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable. 2642 Value *string `locationName:"value" min:"20" type:"string"` 2643} 2644 2645// String returns the string representation 2646func (s ExperimentTemplateStopCondition) String() string { 2647 return awsutil.Prettify(s) 2648} 2649 2650// GoString returns the string representation 2651func (s ExperimentTemplateStopCondition) GoString() string { 2652 return s.String() 2653} 2654 2655// SetSource sets the Source field's value. 2656func (s *ExperimentTemplateStopCondition) SetSource(v string) *ExperimentTemplateStopCondition { 2657 s.Source = &v 2658 return s 2659} 2660 2661// SetValue sets the Value field's value. 2662func (s *ExperimentTemplateStopCondition) SetValue(v string) *ExperimentTemplateStopCondition { 2663 s.Value = &v 2664 return s 2665} 2666 2667// Provides a summary of an experiment template. 2668type ExperimentTemplateSummary struct { 2669 _ struct{} `type:"structure"` 2670 2671 // The time that the experiment template was created. 2672 CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` 2673 2674 // The description of the experiment template. 2675 Description *string `locationName:"description" type:"string"` 2676 2677 // The ID of the experiment template. 2678 Id *string `locationName:"id" type:"string"` 2679 2680 // The time that the experiment template was last updated. 2681 LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"` 2682 2683 // The tags for the experiment template. 2684 Tags map[string]*string `locationName:"tags" type:"map"` 2685} 2686 2687// String returns the string representation 2688func (s ExperimentTemplateSummary) String() string { 2689 return awsutil.Prettify(s) 2690} 2691 2692// GoString returns the string representation 2693func (s ExperimentTemplateSummary) GoString() string { 2694 return s.String() 2695} 2696 2697// SetCreationTime sets the CreationTime field's value. 2698func (s *ExperimentTemplateSummary) SetCreationTime(v time.Time) *ExperimentTemplateSummary { 2699 s.CreationTime = &v 2700 return s 2701} 2702 2703// SetDescription sets the Description field's value. 2704func (s *ExperimentTemplateSummary) SetDescription(v string) *ExperimentTemplateSummary { 2705 s.Description = &v 2706 return s 2707} 2708 2709// SetId sets the Id field's value. 2710func (s *ExperimentTemplateSummary) SetId(v string) *ExperimentTemplateSummary { 2711 s.Id = &v 2712 return s 2713} 2714 2715// SetLastUpdateTime sets the LastUpdateTime field's value. 2716func (s *ExperimentTemplateSummary) SetLastUpdateTime(v time.Time) *ExperimentTemplateSummary { 2717 s.LastUpdateTime = &v 2718 return s 2719} 2720 2721// SetTags sets the Tags field's value. 2722func (s *ExperimentTemplateSummary) SetTags(v map[string]*string) *ExperimentTemplateSummary { 2723 s.Tags = v 2724 return s 2725} 2726 2727// Describes a target for an experiment template. 2728type ExperimentTemplateTarget struct { 2729 _ struct{} `type:"structure"` 2730 2731 // The filters to apply to identify target resources using specific attributes. 2732 Filters []*ExperimentTemplateTargetFilter `locationName:"filters" type:"list"` 2733 2734 // The Amazon Resource Names (ARNs) of the targets. 2735 ResourceArns []*string `locationName:"resourceArns" type:"list"` 2736 2737 // The tags for the target resources. 2738 ResourceTags map[string]*string `locationName:"resourceTags" type:"map"` 2739 2740 // The resource type. 2741 ResourceType *string `locationName:"resourceType" type:"string"` 2742 2743 // Scopes the identified resources to a specific count or percentage. 2744 SelectionMode *string `locationName:"selectionMode" type:"string"` 2745} 2746 2747// String returns the string representation 2748func (s ExperimentTemplateTarget) String() string { 2749 return awsutil.Prettify(s) 2750} 2751 2752// GoString returns the string representation 2753func (s ExperimentTemplateTarget) GoString() string { 2754 return s.String() 2755} 2756 2757// SetFilters sets the Filters field's value. 2758func (s *ExperimentTemplateTarget) SetFilters(v []*ExperimentTemplateTargetFilter) *ExperimentTemplateTarget { 2759 s.Filters = v 2760 return s 2761} 2762 2763// SetResourceArns sets the ResourceArns field's value. 2764func (s *ExperimentTemplateTarget) SetResourceArns(v []*string) *ExperimentTemplateTarget { 2765 s.ResourceArns = v 2766 return s 2767} 2768 2769// SetResourceTags sets the ResourceTags field's value. 2770func (s *ExperimentTemplateTarget) SetResourceTags(v map[string]*string) *ExperimentTemplateTarget { 2771 s.ResourceTags = v 2772 return s 2773} 2774 2775// SetResourceType sets the ResourceType field's value. 2776func (s *ExperimentTemplateTarget) SetResourceType(v string) *ExperimentTemplateTarget { 2777 s.ResourceType = &v 2778 return s 2779} 2780 2781// SetSelectionMode sets the SelectionMode field's value. 2782func (s *ExperimentTemplateTarget) SetSelectionMode(v string) *ExperimentTemplateTarget { 2783 s.SelectionMode = &v 2784 return s 2785} 2786 2787// Describes a filter used for the target resources in an experiment template. 2788type ExperimentTemplateTargetFilter struct { 2789 _ struct{} `type:"structure"` 2790 2791 // The attribute path for the filter. 2792 Path *string `locationName:"path" type:"string"` 2793 2794 // The attribute values for the filter. 2795 Values []*string `locationName:"values" type:"list"` 2796} 2797 2798// String returns the string representation 2799func (s ExperimentTemplateTargetFilter) String() string { 2800 return awsutil.Prettify(s) 2801} 2802 2803// GoString returns the string representation 2804func (s ExperimentTemplateTargetFilter) GoString() string { 2805 return s.String() 2806} 2807 2808// SetPath sets the Path field's value. 2809func (s *ExperimentTemplateTargetFilter) SetPath(v string) *ExperimentTemplateTargetFilter { 2810 s.Path = &v 2811 return s 2812} 2813 2814// SetValues sets the Values field's value. 2815func (s *ExperimentTemplateTargetFilter) SetValues(v []*string) *ExperimentTemplateTargetFilter { 2816 s.Values = v 2817 return s 2818} 2819 2820// Describes a filter used for the target resource input in an experiment template. 2821type ExperimentTemplateTargetInputFilter struct { 2822 _ struct{} `type:"structure"` 2823 2824 // The attribute path for the filter. 2825 // 2826 // Path is a required field 2827 Path *string `locationName:"path" type:"string" required:"true"` 2828 2829 // The attribute values for the filter. 2830 // 2831 // Values is a required field 2832 Values []*string `locationName:"values" type:"list" required:"true"` 2833} 2834 2835// String returns the string representation 2836func (s ExperimentTemplateTargetInputFilter) String() string { 2837 return awsutil.Prettify(s) 2838} 2839 2840// GoString returns the string representation 2841func (s ExperimentTemplateTargetInputFilter) GoString() string { 2842 return s.String() 2843} 2844 2845// Validate inspects the fields of the type to determine if they are valid. 2846func (s *ExperimentTemplateTargetInputFilter) Validate() error { 2847 invalidParams := request.ErrInvalidParams{Context: "ExperimentTemplateTargetInputFilter"} 2848 if s.Path == nil { 2849 invalidParams.Add(request.NewErrParamRequired("Path")) 2850 } 2851 if s.Values == nil { 2852 invalidParams.Add(request.NewErrParamRequired("Values")) 2853 } 2854 2855 if invalidParams.Len() > 0 { 2856 return invalidParams 2857 } 2858 return nil 2859} 2860 2861// SetPath sets the Path field's value. 2862func (s *ExperimentTemplateTargetInputFilter) SetPath(v string) *ExperimentTemplateTargetInputFilter { 2863 s.Path = &v 2864 return s 2865} 2866 2867// SetValues sets the Values field's value. 2868func (s *ExperimentTemplateTargetInputFilter) SetValues(v []*string) *ExperimentTemplateTargetInputFilter { 2869 s.Values = v 2870 return s 2871} 2872 2873type GetActionInput struct { 2874 _ struct{} `type:"structure"` 2875 2876 // The ID of the action. 2877 // 2878 // Id is a required field 2879 Id *string `location:"uri" locationName:"id" type:"string" required:"true"` 2880} 2881 2882// String returns the string representation 2883func (s GetActionInput) String() string { 2884 return awsutil.Prettify(s) 2885} 2886 2887// GoString returns the string representation 2888func (s GetActionInput) GoString() string { 2889 return s.String() 2890} 2891 2892// Validate inspects the fields of the type to determine if they are valid. 2893func (s *GetActionInput) Validate() error { 2894 invalidParams := request.ErrInvalidParams{Context: "GetActionInput"} 2895 if s.Id == nil { 2896 invalidParams.Add(request.NewErrParamRequired("Id")) 2897 } 2898 if s.Id != nil && len(*s.Id) < 1 { 2899 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 2900 } 2901 2902 if invalidParams.Len() > 0 { 2903 return invalidParams 2904 } 2905 return nil 2906} 2907 2908// SetId sets the Id field's value. 2909func (s *GetActionInput) SetId(v string) *GetActionInput { 2910 s.Id = &v 2911 return s 2912} 2913 2914type GetActionOutput struct { 2915 _ struct{} `type:"structure"` 2916 2917 // Information about the action. 2918 Action *Action `locationName:"action" type:"structure"` 2919} 2920 2921// String returns the string representation 2922func (s GetActionOutput) String() string { 2923 return awsutil.Prettify(s) 2924} 2925 2926// GoString returns the string representation 2927func (s GetActionOutput) GoString() string { 2928 return s.String() 2929} 2930 2931// SetAction sets the Action field's value. 2932func (s *GetActionOutput) SetAction(v *Action) *GetActionOutput { 2933 s.Action = v 2934 return s 2935} 2936 2937type GetExperimentInput struct { 2938 _ struct{} `type:"structure"` 2939 2940 // The ID of the experiment. 2941 // 2942 // Id is a required field 2943 Id *string `location:"uri" locationName:"id" type:"string" required:"true"` 2944} 2945 2946// String returns the string representation 2947func (s GetExperimentInput) String() string { 2948 return awsutil.Prettify(s) 2949} 2950 2951// GoString returns the string representation 2952func (s GetExperimentInput) GoString() string { 2953 return s.String() 2954} 2955 2956// Validate inspects the fields of the type to determine if they are valid. 2957func (s *GetExperimentInput) Validate() error { 2958 invalidParams := request.ErrInvalidParams{Context: "GetExperimentInput"} 2959 if s.Id == nil { 2960 invalidParams.Add(request.NewErrParamRequired("Id")) 2961 } 2962 if s.Id != nil && len(*s.Id) < 1 { 2963 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 2964 } 2965 2966 if invalidParams.Len() > 0 { 2967 return invalidParams 2968 } 2969 return nil 2970} 2971 2972// SetId sets the Id field's value. 2973func (s *GetExperimentInput) SetId(v string) *GetExperimentInput { 2974 s.Id = &v 2975 return s 2976} 2977 2978type GetExperimentOutput struct { 2979 _ struct{} `type:"structure"` 2980 2981 // Information about the experiment. 2982 Experiment *Experiment `locationName:"experiment" type:"structure"` 2983} 2984 2985// String returns the string representation 2986func (s GetExperimentOutput) String() string { 2987 return awsutil.Prettify(s) 2988} 2989 2990// GoString returns the string representation 2991func (s GetExperimentOutput) GoString() string { 2992 return s.String() 2993} 2994 2995// SetExperiment sets the Experiment field's value. 2996func (s *GetExperimentOutput) SetExperiment(v *Experiment) *GetExperimentOutput { 2997 s.Experiment = v 2998 return s 2999} 3000 3001type GetExperimentTemplateInput struct { 3002 _ struct{} `type:"structure"` 3003 3004 // The ID of the experiment template. 3005 // 3006 // Id is a required field 3007 Id *string `location:"uri" locationName:"id" type:"string" required:"true"` 3008} 3009 3010// String returns the string representation 3011func (s GetExperimentTemplateInput) String() string { 3012 return awsutil.Prettify(s) 3013} 3014 3015// GoString returns the string representation 3016func (s GetExperimentTemplateInput) GoString() string { 3017 return s.String() 3018} 3019 3020// Validate inspects the fields of the type to determine if they are valid. 3021func (s *GetExperimentTemplateInput) Validate() error { 3022 invalidParams := request.ErrInvalidParams{Context: "GetExperimentTemplateInput"} 3023 if s.Id == nil { 3024 invalidParams.Add(request.NewErrParamRequired("Id")) 3025 } 3026 if s.Id != nil && len(*s.Id) < 1 { 3027 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 3028 } 3029 3030 if invalidParams.Len() > 0 { 3031 return invalidParams 3032 } 3033 return nil 3034} 3035 3036// SetId sets the Id field's value. 3037func (s *GetExperimentTemplateInput) SetId(v string) *GetExperimentTemplateInput { 3038 s.Id = &v 3039 return s 3040} 3041 3042type GetExperimentTemplateOutput struct { 3043 _ struct{} `type:"structure"` 3044 3045 // Information about the experiment template. 3046 ExperimentTemplate *ExperimentTemplate `locationName:"experimentTemplate" type:"structure"` 3047} 3048 3049// String returns the string representation 3050func (s GetExperimentTemplateOutput) String() string { 3051 return awsutil.Prettify(s) 3052} 3053 3054// GoString returns the string representation 3055func (s GetExperimentTemplateOutput) GoString() string { 3056 return s.String() 3057} 3058 3059// SetExperimentTemplate sets the ExperimentTemplate field's value. 3060func (s *GetExperimentTemplateOutput) SetExperimentTemplate(v *ExperimentTemplate) *GetExperimentTemplateOutput { 3061 s.ExperimentTemplate = v 3062 return s 3063} 3064 3065type ListActionsInput struct { 3066 _ struct{} `type:"structure"` 3067 3068 // The maximum number of results to return with a single call. To retrieve the 3069 // remaining results, make another call with the returned nextToken value. 3070 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 3071 3072 // The token for the next page of results. 3073 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 3074} 3075 3076// String returns the string representation 3077func (s ListActionsInput) String() string { 3078 return awsutil.Prettify(s) 3079} 3080 3081// GoString returns the string representation 3082func (s ListActionsInput) GoString() string { 3083 return s.String() 3084} 3085 3086// Validate inspects the fields of the type to determine if they are valid. 3087func (s *ListActionsInput) Validate() error { 3088 invalidParams := request.ErrInvalidParams{Context: "ListActionsInput"} 3089 if s.MaxResults != nil && *s.MaxResults < 1 { 3090 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3091 } 3092 if s.NextToken != nil && len(*s.NextToken) < 1 { 3093 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 3094 } 3095 3096 if invalidParams.Len() > 0 { 3097 return invalidParams 3098 } 3099 return nil 3100} 3101 3102// SetMaxResults sets the MaxResults field's value. 3103func (s *ListActionsInput) SetMaxResults(v int64) *ListActionsInput { 3104 s.MaxResults = &v 3105 return s 3106} 3107 3108// SetNextToken sets the NextToken field's value. 3109func (s *ListActionsInput) SetNextToken(v string) *ListActionsInput { 3110 s.NextToken = &v 3111 return s 3112} 3113 3114type ListActionsOutput struct { 3115 _ struct{} `type:"structure"` 3116 3117 // The actions. 3118 Actions []*ActionSummary `locationName:"actions" type:"list"` 3119 3120 // The token to use to retrieve the next page of results. This value is null 3121 // when there are no more results to return. 3122 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 3123} 3124 3125// String returns the string representation 3126func (s ListActionsOutput) String() string { 3127 return awsutil.Prettify(s) 3128} 3129 3130// GoString returns the string representation 3131func (s ListActionsOutput) GoString() string { 3132 return s.String() 3133} 3134 3135// SetActions sets the Actions field's value. 3136func (s *ListActionsOutput) SetActions(v []*ActionSummary) *ListActionsOutput { 3137 s.Actions = v 3138 return s 3139} 3140 3141// SetNextToken sets the NextToken field's value. 3142func (s *ListActionsOutput) SetNextToken(v string) *ListActionsOutput { 3143 s.NextToken = &v 3144 return s 3145} 3146 3147type ListExperimentTemplatesInput struct { 3148 _ struct{} `type:"structure"` 3149 3150 // The maximum number of results to return with a single call. To retrieve the 3151 // remaining results, make another call with the returned nextToken value. 3152 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 3153 3154 // The token for the next page of results. 3155 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 3156} 3157 3158// String returns the string representation 3159func (s ListExperimentTemplatesInput) String() string { 3160 return awsutil.Prettify(s) 3161} 3162 3163// GoString returns the string representation 3164func (s ListExperimentTemplatesInput) GoString() string { 3165 return s.String() 3166} 3167 3168// Validate inspects the fields of the type to determine if they are valid. 3169func (s *ListExperimentTemplatesInput) Validate() error { 3170 invalidParams := request.ErrInvalidParams{Context: "ListExperimentTemplatesInput"} 3171 if s.MaxResults != nil && *s.MaxResults < 1 { 3172 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3173 } 3174 if s.NextToken != nil && len(*s.NextToken) < 1 { 3175 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 3176 } 3177 3178 if invalidParams.Len() > 0 { 3179 return invalidParams 3180 } 3181 return nil 3182} 3183 3184// SetMaxResults sets the MaxResults field's value. 3185func (s *ListExperimentTemplatesInput) SetMaxResults(v int64) *ListExperimentTemplatesInput { 3186 s.MaxResults = &v 3187 return s 3188} 3189 3190// SetNextToken sets the NextToken field's value. 3191func (s *ListExperimentTemplatesInput) SetNextToken(v string) *ListExperimentTemplatesInput { 3192 s.NextToken = &v 3193 return s 3194} 3195 3196type ListExperimentTemplatesOutput struct { 3197 _ struct{} `type:"structure"` 3198 3199 // The experiment templates. 3200 ExperimentTemplates []*ExperimentTemplateSummary `locationName:"experimentTemplates" type:"list"` 3201 3202 // The token to use to retrieve the next page of results. This value is null 3203 // when there are no more results to return. 3204 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 3205} 3206 3207// String returns the string representation 3208func (s ListExperimentTemplatesOutput) String() string { 3209 return awsutil.Prettify(s) 3210} 3211 3212// GoString returns the string representation 3213func (s ListExperimentTemplatesOutput) GoString() string { 3214 return s.String() 3215} 3216 3217// SetExperimentTemplates sets the ExperimentTemplates field's value. 3218func (s *ListExperimentTemplatesOutput) SetExperimentTemplates(v []*ExperimentTemplateSummary) *ListExperimentTemplatesOutput { 3219 s.ExperimentTemplates = v 3220 return s 3221} 3222 3223// SetNextToken sets the NextToken field's value. 3224func (s *ListExperimentTemplatesOutput) SetNextToken(v string) *ListExperimentTemplatesOutput { 3225 s.NextToken = &v 3226 return s 3227} 3228 3229type ListExperimentsInput struct { 3230 _ struct{} `type:"structure"` 3231 3232 // The maximum number of results to return with a single call. To retrieve the 3233 // remaining results, make another call with the returned nextToken value. 3234 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 3235 3236 // The token for the next page of results. 3237 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 3238} 3239 3240// String returns the string representation 3241func (s ListExperimentsInput) String() string { 3242 return awsutil.Prettify(s) 3243} 3244 3245// GoString returns the string representation 3246func (s ListExperimentsInput) GoString() string { 3247 return s.String() 3248} 3249 3250// Validate inspects the fields of the type to determine if they are valid. 3251func (s *ListExperimentsInput) Validate() error { 3252 invalidParams := request.ErrInvalidParams{Context: "ListExperimentsInput"} 3253 if s.MaxResults != nil && *s.MaxResults < 1 { 3254 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3255 } 3256 if s.NextToken != nil && len(*s.NextToken) < 1 { 3257 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 3258 } 3259 3260 if invalidParams.Len() > 0 { 3261 return invalidParams 3262 } 3263 return nil 3264} 3265 3266// SetMaxResults sets the MaxResults field's value. 3267func (s *ListExperimentsInput) SetMaxResults(v int64) *ListExperimentsInput { 3268 s.MaxResults = &v 3269 return s 3270} 3271 3272// SetNextToken sets the NextToken field's value. 3273func (s *ListExperimentsInput) SetNextToken(v string) *ListExperimentsInput { 3274 s.NextToken = &v 3275 return s 3276} 3277 3278type ListExperimentsOutput struct { 3279 _ struct{} `type:"structure"` 3280 3281 // The experiments. 3282 Experiments []*ExperimentSummary `locationName:"experiments" type:"list"` 3283 3284 // The token to use to retrieve the next page of results. This value is null 3285 // when there are no more results to return. 3286 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 3287} 3288 3289// String returns the string representation 3290func (s ListExperimentsOutput) String() string { 3291 return awsutil.Prettify(s) 3292} 3293 3294// GoString returns the string representation 3295func (s ListExperimentsOutput) GoString() string { 3296 return s.String() 3297} 3298 3299// SetExperiments sets the Experiments field's value. 3300func (s *ListExperimentsOutput) SetExperiments(v []*ExperimentSummary) *ListExperimentsOutput { 3301 s.Experiments = v 3302 return s 3303} 3304 3305// SetNextToken sets the NextToken field's value. 3306func (s *ListExperimentsOutput) SetNextToken(v string) *ListExperimentsOutput { 3307 s.NextToken = &v 3308 return s 3309} 3310 3311type ListTagsForResourceInput struct { 3312 _ struct{} `type:"structure"` 3313 3314 // The Amazon Resource Name (ARN) of the resource. 3315 // 3316 // ResourceArn is a required field 3317 ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` 3318} 3319 3320// String returns the string representation 3321func (s ListTagsForResourceInput) String() string { 3322 return awsutil.Prettify(s) 3323} 3324 3325// GoString returns the string representation 3326func (s ListTagsForResourceInput) GoString() string { 3327 return s.String() 3328} 3329 3330// Validate inspects the fields of the type to determine if they are valid. 3331func (s *ListTagsForResourceInput) Validate() error { 3332 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 3333 if s.ResourceArn == nil { 3334 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 3335 } 3336 if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { 3337 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) 3338 } 3339 3340 if invalidParams.Len() > 0 { 3341 return invalidParams 3342 } 3343 return nil 3344} 3345 3346// SetResourceArn sets the ResourceArn field's value. 3347func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 3348 s.ResourceArn = &v 3349 return s 3350} 3351 3352type ListTagsForResourceOutput struct { 3353 _ struct{} `type:"structure"` 3354 3355 // The tags for the resource. 3356 Tags map[string]*string `locationName:"tags" type:"map"` 3357} 3358 3359// String returns the string representation 3360func (s ListTagsForResourceOutput) String() string { 3361 return awsutil.Prettify(s) 3362} 3363 3364// GoString returns the string representation 3365func (s ListTagsForResourceOutput) GoString() string { 3366 return s.String() 3367} 3368 3369// SetTags sets the Tags field's value. 3370func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { 3371 s.Tags = v 3372 return s 3373} 3374 3375// The specified resource cannot be found. 3376type ResourceNotFoundException struct { 3377 _ struct{} `type:"structure"` 3378 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3379 3380 Message_ *string `locationName:"message" type:"string"` 3381} 3382 3383// String returns the string representation 3384func (s ResourceNotFoundException) String() string { 3385 return awsutil.Prettify(s) 3386} 3387 3388// GoString returns the string representation 3389func (s ResourceNotFoundException) GoString() string { 3390 return s.String() 3391} 3392 3393func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 3394 return &ResourceNotFoundException{ 3395 RespMetadata: v, 3396 } 3397} 3398 3399// Code returns the exception type name. 3400func (s *ResourceNotFoundException) Code() string { 3401 return "ResourceNotFoundException" 3402} 3403 3404// Message returns the exception's message. 3405func (s *ResourceNotFoundException) Message() string { 3406 if s.Message_ != nil { 3407 return *s.Message_ 3408 } 3409 return "" 3410} 3411 3412// OrigErr always returns nil, satisfies awserr.Error interface. 3413func (s *ResourceNotFoundException) OrigErr() error { 3414 return nil 3415} 3416 3417func (s *ResourceNotFoundException) Error() string { 3418 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3419} 3420 3421// Status code returns the HTTP status code for the request's response error. 3422func (s *ResourceNotFoundException) StatusCode() int { 3423 return s.RespMetadata.StatusCode 3424} 3425 3426// RequestID returns the service's response RequestID for request. 3427func (s *ResourceNotFoundException) RequestID() string { 3428 return s.RespMetadata.RequestID 3429} 3430 3431// You have exceeded your service quota. 3432type ServiceQuotaExceededException struct { 3433 _ struct{} `type:"structure"` 3434 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3435 3436 Message_ *string `locationName:"message" type:"string"` 3437} 3438 3439// String returns the string representation 3440func (s ServiceQuotaExceededException) String() string { 3441 return awsutil.Prettify(s) 3442} 3443 3444// GoString returns the string representation 3445func (s ServiceQuotaExceededException) GoString() string { 3446 return s.String() 3447} 3448 3449func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { 3450 return &ServiceQuotaExceededException{ 3451 RespMetadata: v, 3452 } 3453} 3454 3455// Code returns the exception type name. 3456func (s *ServiceQuotaExceededException) Code() string { 3457 return "ServiceQuotaExceededException" 3458} 3459 3460// Message returns the exception's message. 3461func (s *ServiceQuotaExceededException) Message() string { 3462 if s.Message_ != nil { 3463 return *s.Message_ 3464 } 3465 return "" 3466} 3467 3468// OrigErr always returns nil, satisfies awserr.Error interface. 3469func (s *ServiceQuotaExceededException) OrigErr() error { 3470 return nil 3471} 3472 3473func (s *ServiceQuotaExceededException) Error() string { 3474 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3475} 3476 3477// Status code returns the HTTP status code for the request's response error. 3478func (s *ServiceQuotaExceededException) StatusCode() int { 3479 return s.RespMetadata.StatusCode 3480} 3481 3482// RequestID returns the service's response RequestID for request. 3483func (s *ServiceQuotaExceededException) RequestID() string { 3484 return s.RespMetadata.RequestID 3485} 3486 3487type StartExperimentInput struct { 3488 _ struct{} `type:"structure"` 3489 3490 // Unique, case-sensitive identifier that you provide to ensure the idempotency 3491 // of the request. 3492 ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` 3493 3494 // The ID of the experiment template. 3495 // 3496 // ExperimentTemplateId is a required field 3497 ExperimentTemplateId *string `locationName:"experimentTemplateId" type:"string" required:"true"` 3498 3499 // The tags to apply to the experiment. 3500 Tags map[string]*string `locationName:"tags" type:"map"` 3501} 3502 3503// String returns the string representation 3504func (s StartExperimentInput) String() string { 3505 return awsutil.Prettify(s) 3506} 3507 3508// GoString returns the string representation 3509func (s StartExperimentInput) GoString() string { 3510 return s.String() 3511} 3512 3513// Validate inspects the fields of the type to determine if they are valid. 3514func (s *StartExperimentInput) Validate() error { 3515 invalidParams := request.ErrInvalidParams{Context: "StartExperimentInput"} 3516 if s.ClientToken != nil && len(*s.ClientToken) < 1 { 3517 invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) 3518 } 3519 if s.ExperimentTemplateId == nil { 3520 invalidParams.Add(request.NewErrParamRequired("ExperimentTemplateId")) 3521 } 3522 3523 if invalidParams.Len() > 0 { 3524 return invalidParams 3525 } 3526 return nil 3527} 3528 3529// SetClientToken sets the ClientToken field's value. 3530func (s *StartExperimentInput) SetClientToken(v string) *StartExperimentInput { 3531 s.ClientToken = &v 3532 return s 3533} 3534 3535// SetExperimentTemplateId sets the ExperimentTemplateId field's value. 3536func (s *StartExperimentInput) SetExperimentTemplateId(v string) *StartExperimentInput { 3537 s.ExperimentTemplateId = &v 3538 return s 3539} 3540 3541// SetTags sets the Tags field's value. 3542func (s *StartExperimentInput) SetTags(v map[string]*string) *StartExperimentInput { 3543 s.Tags = v 3544 return s 3545} 3546 3547type StartExperimentOutput struct { 3548 _ struct{} `type:"structure"` 3549 3550 // Information about the experiment. 3551 Experiment *Experiment `locationName:"experiment" type:"structure"` 3552} 3553 3554// String returns the string representation 3555func (s StartExperimentOutput) String() string { 3556 return awsutil.Prettify(s) 3557} 3558 3559// GoString returns the string representation 3560func (s StartExperimentOutput) GoString() string { 3561 return s.String() 3562} 3563 3564// SetExperiment sets the Experiment field's value. 3565func (s *StartExperimentOutput) SetExperiment(v *Experiment) *StartExperimentOutput { 3566 s.Experiment = v 3567 return s 3568} 3569 3570type StopExperimentInput struct { 3571 _ struct{} `type:"structure"` 3572 3573 // The ID of the experiment. 3574 // 3575 // Id is a required field 3576 Id *string `location:"uri" locationName:"id" type:"string" required:"true"` 3577} 3578 3579// String returns the string representation 3580func (s StopExperimentInput) String() string { 3581 return awsutil.Prettify(s) 3582} 3583 3584// GoString returns the string representation 3585func (s StopExperimentInput) GoString() string { 3586 return s.String() 3587} 3588 3589// Validate inspects the fields of the type to determine if they are valid. 3590func (s *StopExperimentInput) Validate() error { 3591 invalidParams := request.ErrInvalidParams{Context: "StopExperimentInput"} 3592 if s.Id == nil { 3593 invalidParams.Add(request.NewErrParamRequired("Id")) 3594 } 3595 if s.Id != nil && len(*s.Id) < 1 { 3596 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 3597 } 3598 3599 if invalidParams.Len() > 0 { 3600 return invalidParams 3601 } 3602 return nil 3603} 3604 3605// SetId sets the Id field's value. 3606func (s *StopExperimentInput) SetId(v string) *StopExperimentInput { 3607 s.Id = &v 3608 return s 3609} 3610 3611type StopExperimentOutput struct { 3612 _ struct{} `type:"structure"` 3613 3614 // Information about the experiment. 3615 Experiment *Experiment `locationName:"experiment" type:"structure"` 3616} 3617 3618// String returns the string representation 3619func (s StopExperimentOutput) String() string { 3620 return awsutil.Prettify(s) 3621} 3622 3623// GoString returns the string representation 3624func (s StopExperimentOutput) GoString() string { 3625 return s.String() 3626} 3627 3628// SetExperiment sets the Experiment field's value. 3629func (s *StopExperimentOutput) SetExperiment(v *Experiment) *StopExperimentOutput { 3630 s.Experiment = v 3631 return s 3632} 3633 3634type TagResourceInput struct { 3635 _ struct{} `type:"structure"` 3636 3637 // The Amazon Resource Name (ARN) of the resource. 3638 // 3639 // ResourceArn is a required field 3640 ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` 3641 3642 // The tags for the resource. 3643 // 3644 // Tags is a required field 3645 Tags map[string]*string `locationName:"tags" type:"map" required:"true"` 3646} 3647 3648// String returns the string representation 3649func (s TagResourceInput) String() string { 3650 return awsutil.Prettify(s) 3651} 3652 3653// GoString returns the string representation 3654func (s TagResourceInput) GoString() string { 3655 return s.String() 3656} 3657 3658// Validate inspects the fields of the type to determine if they are valid. 3659func (s *TagResourceInput) Validate() error { 3660 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 3661 if s.ResourceArn == nil { 3662 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 3663 } 3664 if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { 3665 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) 3666 } 3667 if s.Tags == nil { 3668 invalidParams.Add(request.NewErrParamRequired("Tags")) 3669 } 3670 3671 if invalidParams.Len() > 0 { 3672 return invalidParams 3673 } 3674 return nil 3675} 3676 3677// SetResourceArn sets the ResourceArn field's value. 3678func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 3679 s.ResourceArn = &v 3680 return s 3681} 3682 3683// SetTags sets the Tags field's value. 3684func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { 3685 s.Tags = v 3686 return s 3687} 3688 3689type TagResourceOutput struct { 3690 _ struct{} `type:"structure"` 3691} 3692 3693// String returns the string representation 3694func (s TagResourceOutput) String() string { 3695 return awsutil.Prettify(s) 3696} 3697 3698// GoString returns the string representation 3699func (s TagResourceOutput) GoString() string { 3700 return s.String() 3701} 3702 3703type UntagResourceInput struct { 3704 _ struct{} `type:"structure"` 3705 3706 // The Amazon Resource Name (ARN) of the resource. 3707 // 3708 // ResourceArn is a required field 3709 ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` 3710 3711 // The tag keys to remove. 3712 TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list"` 3713} 3714 3715// String returns the string representation 3716func (s UntagResourceInput) String() string { 3717 return awsutil.Prettify(s) 3718} 3719 3720// GoString returns the string representation 3721func (s UntagResourceInput) GoString() string { 3722 return s.String() 3723} 3724 3725// Validate inspects the fields of the type to determine if they are valid. 3726func (s *UntagResourceInput) Validate() error { 3727 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 3728 if s.ResourceArn == nil { 3729 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 3730 } 3731 if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { 3732 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) 3733 } 3734 3735 if invalidParams.Len() > 0 { 3736 return invalidParams 3737 } 3738 return nil 3739} 3740 3741// SetResourceArn sets the ResourceArn field's value. 3742func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 3743 s.ResourceArn = &v 3744 return s 3745} 3746 3747// SetTagKeys sets the TagKeys field's value. 3748func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 3749 s.TagKeys = v 3750 return s 3751} 3752 3753type UntagResourceOutput struct { 3754 _ struct{} `type:"structure"` 3755} 3756 3757// String returns the string representation 3758func (s UntagResourceOutput) String() string { 3759 return awsutil.Prettify(s) 3760} 3761 3762// GoString returns the string representation 3763func (s UntagResourceOutput) GoString() string { 3764 return s.String() 3765} 3766 3767// Specifies an action for an experiment template. 3768type UpdateExperimentTemplateActionInputItem struct { 3769 _ struct{} `type:"structure"` 3770 3771 // The ID of the action. 3772 ActionId *string `locationName:"actionId" type:"string"` 3773 3774 // A description for the action. 3775 Description *string `locationName:"description" type:"string"` 3776 3777 // The parameters for the action, if applicable. 3778 Parameters map[string]*string `locationName:"parameters" type:"map"` 3779 3780 // The name of the action that must be completed before the current action starts. 3781 // Omit this parameter to run the action at the start of the experiment. 3782 StartAfter []*string `locationName:"startAfter" type:"list"` 3783 3784 // The targets for the action. 3785 Targets map[string]*string `locationName:"targets" type:"map"` 3786} 3787 3788// String returns the string representation 3789func (s UpdateExperimentTemplateActionInputItem) String() string { 3790 return awsutil.Prettify(s) 3791} 3792 3793// GoString returns the string representation 3794func (s UpdateExperimentTemplateActionInputItem) GoString() string { 3795 return s.String() 3796} 3797 3798// SetActionId sets the ActionId field's value. 3799func (s *UpdateExperimentTemplateActionInputItem) SetActionId(v string) *UpdateExperimentTemplateActionInputItem { 3800 s.ActionId = &v 3801 return s 3802} 3803 3804// SetDescription sets the Description field's value. 3805func (s *UpdateExperimentTemplateActionInputItem) SetDescription(v string) *UpdateExperimentTemplateActionInputItem { 3806 s.Description = &v 3807 return s 3808} 3809 3810// SetParameters sets the Parameters field's value. 3811func (s *UpdateExperimentTemplateActionInputItem) SetParameters(v map[string]*string) *UpdateExperimentTemplateActionInputItem { 3812 s.Parameters = v 3813 return s 3814} 3815 3816// SetStartAfter sets the StartAfter field's value. 3817func (s *UpdateExperimentTemplateActionInputItem) SetStartAfter(v []*string) *UpdateExperimentTemplateActionInputItem { 3818 s.StartAfter = v 3819 return s 3820} 3821 3822// SetTargets sets the Targets field's value. 3823func (s *UpdateExperimentTemplateActionInputItem) SetTargets(v map[string]*string) *UpdateExperimentTemplateActionInputItem { 3824 s.Targets = v 3825 return s 3826} 3827 3828type UpdateExperimentTemplateInput struct { 3829 _ struct{} `type:"structure"` 3830 3831 // The actions for the experiment. 3832 Actions map[string]*UpdateExperimentTemplateActionInputItem `locationName:"actions" type:"map"` 3833 3834 // A description for the template. 3835 Description *string `locationName:"description" type:"string"` 3836 3837 // The ID of the experiment template. 3838 // 3839 // Id is a required field 3840 Id *string `location:"uri" locationName:"id" type:"string" required:"true"` 3841 3842 // The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service 3843 // permission to perform service actions on your behalf. 3844 RoleArn *string `locationName:"roleArn" min:"20" type:"string"` 3845 3846 // The stop conditions for the experiment. 3847 StopConditions []*UpdateExperimentTemplateStopConditionInput `locationName:"stopConditions" type:"list"` 3848 3849 // The targets for the experiment. 3850 Targets map[string]*UpdateExperimentTemplateTargetInput `locationName:"targets" type:"map"` 3851} 3852 3853// String returns the string representation 3854func (s UpdateExperimentTemplateInput) String() string { 3855 return awsutil.Prettify(s) 3856} 3857 3858// GoString returns the string representation 3859func (s UpdateExperimentTemplateInput) GoString() string { 3860 return s.String() 3861} 3862 3863// Validate inspects the fields of the type to determine if they are valid. 3864func (s *UpdateExperimentTemplateInput) Validate() error { 3865 invalidParams := request.ErrInvalidParams{Context: "UpdateExperimentTemplateInput"} 3866 if s.Id == nil { 3867 invalidParams.Add(request.NewErrParamRequired("Id")) 3868 } 3869 if s.Id != nil && len(*s.Id) < 1 { 3870 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 3871 } 3872 if s.RoleArn != nil && len(*s.RoleArn) < 20 { 3873 invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) 3874 } 3875 if s.StopConditions != nil { 3876 for i, v := range s.StopConditions { 3877 if v == nil { 3878 continue 3879 } 3880 if err := v.Validate(); err != nil { 3881 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StopConditions", i), err.(request.ErrInvalidParams)) 3882 } 3883 } 3884 } 3885 if s.Targets != nil { 3886 for i, v := range s.Targets { 3887 if v == nil { 3888 continue 3889 } 3890 if err := v.Validate(); err != nil { 3891 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) 3892 } 3893 } 3894 } 3895 3896 if invalidParams.Len() > 0 { 3897 return invalidParams 3898 } 3899 return nil 3900} 3901 3902// SetActions sets the Actions field's value. 3903func (s *UpdateExperimentTemplateInput) SetActions(v map[string]*UpdateExperimentTemplateActionInputItem) *UpdateExperimentTemplateInput { 3904 s.Actions = v 3905 return s 3906} 3907 3908// SetDescription sets the Description field's value. 3909func (s *UpdateExperimentTemplateInput) SetDescription(v string) *UpdateExperimentTemplateInput { 3910 s.Description = &v 3911 return s 3912} 3913 3914// SetId sets the Id field's value. 3915func (s *UpdateExperimentTemplateInput) SetId(v string) *UpdateExperimentTemplateInput { 3916 s.Id = &v 3917 return s 3918} 3919 3920// SetRoleArn sets the RoleArn field's value. 3921func (s *UpdateExperimentTemplateInput) SetRoleArn(v string) *UpdateExperimentTemplateInput { 3922 s.RoleArn = &v 3923 return s 3924} 3925 3926// SetStopConditions sets the StopConditions field's value. 3927func (s *UpdateExperimentTemplateInput) SetStopConditions(v []*UpdateExperimentTemplateStopConditionInput) *UpdateExperimentTemplateInput { 3928 s.StopConditions = v 3929 return s 3930} 3931 3932// SetTargets sets the Targets field's value. 3933func (s *UpdateExperimentTemplateInput) SetTargets(v map[string]*UpdateExperimentTemplateTargetInput) *UpdateExperimentTemplateInput { 3934 s.Targets = v 3935 return s 3936} 3937 3938type UpdateExperimentTemplateOutput struct { 3939 _ struct{} `type:"structure"` 3940 3941 // Information about the experiment template. 3942 ExperimentTemplate *ExperimentTemplate `locationName:"experimentTemplate" type:"structure"` 3943} 3944 3945// String returns the string representation 3946func (s UpdateExperimentTemplateOutput) String() string { 3947 return awsutil.Prettify(s) 3948} 3949 3950// GoString returns the string representation 3951func (s UpdateExperimentTemplateOutput) GoString() string { 3952 return s.String() 3953} 3954 3955// SetExperimentTemplate sets the ExperimentTemplate field's value. 3956func (s *UpdateExperimentTemplateOutput) SetExperimentTemplate(v *ExperimentTemplate) *UpdateExperimentTemplateOutput { 3957 s.ExperimentTemplate = v 3958 return s 3959} 3960 3961// Specifies a stop condition for an experiment. You can define a stop condition 3962// as a CloudWatch alarm. 3963type UpdateExperimentTemplateStopConditionInput struct { 3964 _ struct{} `type:"structure"` 3965 3966 // The source for the stop condition. Specify aws:cloudwatch:alarm if the stop 3967 // condition is defined by a CloudWatch alarm. Specify none if there is no stop 3968 // condition. 3969 // 3970 // Source is a required field 3971 Source *string `locationName:"source" type:"string" required:"true"` 3972 3973 // The Amazon Resource Name (ARN) of the CloudWatch alarm. 3974 Value *string `locationName:"value" min:"20" type:"string"` 3975} 3976 3977// String returns the string representation 3978func (s UpdateExperimentTemplateStopConditionInput) String() string { 3979 return awsutil.Prettify(s) 3980} 3981 3982// GoString returns the string representation 3983func (s UpdateExperimentTemplateStopConditionInput) GoString() string { 3984 return s.String() 3985} 3986 3987// Validate inspects the fields of the type to determine if they are valid. 3988func (s *UpdateExperimentTemplateStopConditionInput) Validate() error { 3989 invalidParams := request.ErrInvalidParams{Context: "UpdateExperimentTemplateStopConditionInput"} 3990 if s.Source == nil { 3991 invalidParams.Add(request.NewErrParamRequired("Source")) 3992 } 3993 if s.Value != nil && len(*s.Value) < 20 { 3994 invalidParams.Add(request.NewErrParamMinLen("Value", 20)) 3995 } 3996 3997 if invalidParams.Len() > 0 { 3998 return invalidParams 3999 } 4000 return nil 4001} 4002 4003// SetSource sets the Source field's value. 4004func (s *UpdateExperimentTemplateStopConditionInput) SetSource(v string) *UpdateExperimentTemplateStopConditionInput { 4005 s.Source = &v 4006 return s 4007} 4008 4009// SetValue sets the Value field's value. 4010func (s *UpdateExperimentTemplateStopConditionInput) SetValue(v string) *UpdateExperimentTemplateStopConditionInput { 4011 s.Value = &v 4012 return s 4013} 4014 4015// Specifies a target for an experiment. You must specify at least one Amazon 4016// Resource Name (ARN) or at least one resource tag. You cannot specify both. 4017type UpdateExperimentTemplateTargetInput struct { 4018 _ struct{} `type:"structure"` 4019 4020 // The filters to apply to identify target resources using specific attributes. 4021 Filters []*ExperimentTemplateTargetInputFilter `locationName:"filters" type:"list"` 4022 4023 // The Amazon Resource Names (ARNs) of the targets. 4024 ResourceArns []*string `locationName:"resourceArns" type:"list"` 4025 4026 // The tags for the target resources. 4027 ResourceTags map[string]*string `locationName:"resourceTags" type:"map"` 4028 4029 // The AWS resource type. The resource type must be supported for the specified 4030 // action. 4031 // 4032 // ResourceType is a required field 4033 ResourceType *string `locationName:"resourceType" type:"string" required:"true"` 4034 4035 // Scopes the identified resources to a specific count or percentage. 4036 // 4037 // SelectionMode is a required field 4038 SelectionMode *string `locationName:"selectionMode" type:"string" required:"true"` 4039} 4040 4041// String returns the string representation 4042func (s UpdateExperimentTemplateTargetInput) String() string { 4043 return awsutil.Prettify(s) 4044} 4045 4046// GoString returns the string representation 4047func (s UpdateExperimentTemplateTargetInput) GoString() string { 4048 return s.String() 4049} 4050 4051// Validate inspects the fields of the type to determine if they are valid. 4052func (s *UpdateExperimentTemplateTargetInput) Validate() error { 4053 invalidParams := request.ErrInvalidParams{Context: "UpdateExperimentTemplateTargetInput"} 4054 if s.ResourceType == nil { 4055 invalidParams.Add(request.NewErrParamRequired("ResourceType")) 4056 } 4057 if s.SelectionMode == nil { 4058 invalidParams.Add(request.NewErrParamRequired("SelectionMode")) 4059 } 4060 if s.Filters != nil { 4061 for i, v := range s.Filters { 4062 if v == nil { 4063 continue 4064 } 4065 if err := v.Validate(); err != nil { 4066 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) 4067 } 4068 } 4069 } 4070 4071 if invalidParams.Len() > 0 { 4072 return invalidParams 4073 } 4074 return nil 4075} 4076 4077// SetFilters sets the Filters field's value. 4078func (s *UpdateExperimentTemplateTargetInput) SetFilters(v []*ExperimentTemplateTargetInputFilter) *UpdateExperimentTemplateTargetInput { 4079 s.Filters = v 4080 return s 4081} 4082 4083// SetResourceArns sets the ResourceArns field's value. 4084func (s *UpdateExperimentTemplateTargetInput) SetResourceArns(v []*string) *UpdateExperimentTemplateTargetInput { 4085 s.ResourceArns = v 4086 return s 4087} 4088 4089// SetResourceTags sets the ResourceTags field's value. 4090func (s *UpdateExperimentTemplateTargetInput) SetResourceTags(v map[string]*string) *UpdateExperimentTemplateTargetInput { 4091 s.ResourceTags = v 4092 return s 4093} 4094 4095// SetResourceType sets the ResourceType field's value. 4096func (s *UpdateExperimentTemplateTargetInput) SetResourceType(v string) *UpdateExperimentTemplateTargetInput { 4097 s.ResourceType = &v 4098 return s 4099} 4100 4101// SetSelectionMode sets the SelectionMode field's value. 4102func (s *UpdateExperimentTemplateTargetInput) SetSelectionMode(v string) *UpdateExperimentTemplateTargetInput { 4103 s.SelectionMode = &v 4104 return s 4105} 4106 4107// The specified input is not valid, or fails to satisfy the constraints for 4108// the request. 4109type ValidationException struct { 4110 _ struct{} `type:"structure"` 4111 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4112 4113 Message_ *string `locationName:"message" type:"string"` 4114} 4115 4116// String returns the string representation 4117func (s ValidationException) String() string { 4118 return awsutil.Prettify(s) 4119} 4120 4121// GoString returns the string representation 4122func (s ValidationException) GoString() string { 4123 return s.String() 4124} 4125 4126func newErrorValidationException(v protocol.ResponseMetadata) error { 4127 return &ValidationException{ 4128 RespMetadata: v, 4129 } 4130} 4131 4132// Code returns the exception type name. 4133func (s *ValidationException) Code() string { 4134 return "ValidationException" 4135} 4136 4137// Message returns the exception's message. 4138func (s *ValidationException) Message() string { 4139 if s.Message_ != nil { 4140 return *s.Message_ 4141 } 4142 return "" 4143} 4144 4145// OrigErr always returns nil, satisfies awserr.Error interface. 4146func (s *ValidationException) OrigErr() error { 4147 return nil 4148} 4149 4150func (s *ValidationException) Error() string { 4151 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4152} 4153 4154// Status code returns the HTTP status code for the request's response error. 4155func (s *ValidationException) StatusCode() int { 4156 return s.RespMetadata.StatusCode 4157} 4158 4159// RequestID returns the service's response RequestID for request. 4160func (s *ValidationException) RequestID() string { 4161 return s.RespMetadata.RequestID 4162} 4163 4164const ( 4165 // ExperimentActionStatusPending is a ExperimentActionStatus enum value 4166 ExperimentActionStatusPending = "pending" 4167 4168 // ExperimentActionStatusInitiating is a ExperimentActionStatus enum value 4169 ExperimentActionStatusInitiating = "initiating" 4170 4171 // ExperimentActionStatusRunning is a ExperimentActionStatus enum value 4172 ExperimentActionStatusRunning = "running" 4173 4174 // ExperimentActionStatusCompleted is a ExperimentActionStatus enum value 4175 ExperimentActionStatusCompleted = "completed" 4176 4177 // ExperimentActionStatusCancelled is a ExperimentActionStatus enum value 4178 ExperimentActionStatusCancelled = "cancelled" 4179 4180 // ExperimentActionStatusStopping is a ExperimentActionStatus enum value 4181 ExperimentActionStatusStopping = "stopping" 4182 4183 // ExperimentActionStatusStopped is a ExperimentActionStatus enum value 4184 ExperimentActionStatusStopped = "stopped" 4185 4186 // ExperimentActionStatusFailed is a ExperimentActionStatus enum value 4187 ExperimentActionStatusFailed = "failed" 4188) 4189 4190// ExperimentActionStatus_Values returns all elements of the ExperimentActionStatus enum 4191func ExperimentActionStatus_Values() []string { 4192 return []string{ 4193 ExperimentActionStatusPending, 4194 ExperimentActionStatusInitiating, 4195 ExperimentActionStatusRunning, 4196 ExperimentActionStatusCompleted, 4197 ExperimentActionStatusCancelled, 4198 ExperimentActionStatusStopping, 4199 ExperimentActionStatusStopped, 4200 ExperimentActionStatusFailed, 4201 } 4202} 4203 4204const ( 4205 // ExperimentStatusPending is a ExperimentStatus enum value 4206 ExperimentStatusPending = "pending" 4207 4208 // ExperimentStatusInitiating is a ExperimentStatus enum value 4209 ExperimentStatusInitiating = "initiating" 4210 4211 // ExperimentStatusRunning is a ExperimentStatus enum value 4212 ExperimentStatusRunning = "running" 4213 4214 // ExperimentStatusCompleted is a ExperimentStatus enum value 4215 ExperimentStatusCompleted = "completed" 4216 4217 // ExperimentStatusStopping is a ExperimentStatus enum value 4218 ExperimentStatusStopping = "stopping" 4219 4220 // ExperimentStatusStopped is a ExperimentStatus enum value 4221 ExperimentStatusStopped = "stopped" 4222 4223 // ExperimentStatusFailed is a ExperimentStatus enum value 4224 ExperimentStatusFailed = "failed" 4225) 4226 4227// ExperimentStatus_Values returns all elements of the ExperimentStatus enum 4228func ExperimentStatus_Values() []string { 4229 return []string{ 4230 ExperimentStatusPending, 4231 ExperimentStatusInitiating, 4232 ExperimentStatusRunning, 4233 ExperimentStatusCompleted, 4234 ExperimentStatusStopping, 4235 ExperimentStatusStopped, 4236 ExperimentStatusFailed, 4237 } 4238} 4239