github.com/aavshr/aws-sdk-go@v1.41.3/service/fis/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package fis 4 5 import ( 6 "fmt" 7 "time" 8 9 "github.com/aavshr/aws-sdk-go/aws" 10 "github.com/aavshr/aws-sdk-go/aws/awsutil" 11 "github.com/aavshr/aws-sdk-go/aws/request" 12 "github.com/aavshr/aws-sdk-go/private/protocol" 13 "github.com/aavshr/aws-sdk-go/private/protocol/restjson" 14 ) 15 16 const 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 42 func (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 100 func (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. 114 func (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 121 const 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 147 func (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 183 func (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. 197 func (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 204 const 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 230 func (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 266 func (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. 280 func (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 287 const 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 313 func (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 349 func (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. 363 func (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 370 const 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 396 func (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 432 func (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. 446 func (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 453 const 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 479 func (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 518 func (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. 532 func (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 // 556 func (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. 567 func (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 591 const 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 617 func (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 656 func (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. 670 func (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 // 694 func (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. 705 func (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 729 const 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 755 func (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 794 func (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. 808 func (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 // 832 func (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. 843 func (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 867 const 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 893 func (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 920 func (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. 934 func (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 941 const 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 967 func (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 1009 func (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. 1023 func (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 1030 const 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 1056 func (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 1092 func (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. 1106 func (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 1113 const 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 1139 func (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 1167 func (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. 1181 func (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 1188 const 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 1214 func (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 1242 func (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. 1256 func (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 1263 const 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 1289 func (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 1328 func (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. 1342 func (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. 1351 type 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. 1371 // 1372 // API parameter values that are decorated as "sensitive" in the API will not 1373 // be included in the string output. The member name will be present, but the 1374 // value will be replaced with "sensitive". 1375 func (s Action) String() string { 1376 return awsutil.Prettify(s) 1377 } 1378 1379 // GoString returns the string representation. 1380 // 1381 // API parameter values that are decorated as "sensitive" in the API will not 1382 // be included in the string output. The member name will be present, but the 1383 // value will be replaced with "sensitive". 1384 func (s Action) GoString() string { 1385 return s.String() 1386 } 1387 1388 // SetDescription sets the Description field's value. 1389 func (s *Action) SetDescription(v string) *Action { 1390 s.Description = &v 1391 return s 1392 } 1393 1394 // SetId sets the Id field's value. 1395 func (s *Action) SetId(v string) *Action { 1396 s.Id = &v 1397 return s 1398 } 1399 1400 // SetParameters sets the Parameters field's value. 1401 func (s *Action) SetParameters(v map[string]*ActionParameter) *Action { 1402 s.Parameters = v 1403 return s 1404 } 1405 1406 // SetTags sets the Tags field's value. 1407 func (s *Action) SetTags(v map[string]*string) *Action { 1408 s.Tags = v 1409 return s 1410 } 1411 1412 // SetTargets sets the Targets field's value. 1413 func (s *Action) SetTargets(v map[string]*ActionTarget) *Action { 1414 s.Targets = v 1415 return s 1416 } 1417 1418 // Describes a parameter for an action. 1419 type ActionParameter struct { 1420 _ struct{} `type:"structure"` 1421 1422 // The parameter description. 1423 Description *string `locationName:"description" type:"string"` 1424 1425 // Indicates whether the parameter is required. 1426 Required *bool `locationName:"required" type:"boolean"` 1427 } 1428 1429 // String returns the string representation. 1430 // 1431 // API parameter values that are decorated as "sensitive" in the API will not 1432 // be included in the string output. The member name will be present, but the 1433 // value will be replaced with "sensitive". 1434 func (s ActionParameter) String() string { 1435 return awsutil.Prettify(s) 1436 } 1437 1438 // GoString returns the string representation. 1439 // 1440 // API parameter values that are decorated as "sensitive" in the API will not 1441 // be included in the string output. The member name will be present, but the 1442 // value will be replaced with "sensitive". 1443 func (s ActionParameter) GoString() string { 1444 return s.String() 1445 } 1446 1447 // SetDescription sets the Description field's value. 1448 func (s *ActionParameter) SetDescription(v string) *ActionParameter { 1449 s.Description = &v 1450 return s 1451 } 1452 1453 // SetRequired sets the Required field's value. 1454 func (s *ActionParameter) SetRequired(v bool) *ActionParameter { 1455 s.Required = &v 1456 return s 1457 } 1458 1459 // Provides a summary of an action. 1460 type ActionSummary struct { 1461 _ struct{} `type:"structure"` 1462 1463 // The description for the action. 1464 Description *string `locationName:"description" type:"string"` 1465 1466 // The ID of the action. 1467 Id *string `locationName:"id" type:"string"` 1468 1469 // The tags for the action. 1470 Tags map[string]*string `locationName:"tags" type:"map"` 1471 1472 // The targets for the action. 1473 Targets map[string]*ActionTarget `locationName:"targets" type:"map"` 1474 } 1475 1476 // String returns the string representation. 1477 // 1478 // API parameter values that are decorated as "sensitive" in the API will not 1479 // be included in the string output. The member name will be present, but the 1480 // value will be replaced with "sensitive". 1481 func (s ActionSummary) String() string { 1482 return awsutil.Prettify(s) 1483 } 1484 1485 // GoString returns the string representation. 1486 // 1487 // API parameter values that are decorated as "sensitive" in the API will not 1488 // be included in the string output. The member name will be present, but the 1489 // value will be replaced with "sensitive". 1490 func (s ActionSummary) GoString() string { 1491 return s.String() 1492 } 1493 1494 // SetDescription sets the Description field's value. 1495 func (s *ActionSummary) SetDescription(v string) *ActionSummary { 1496 s.Description = &v 1497 return s 1498 } 1499 1500 // SetId sets the Id field's value. 1501 func (s *ActionSummary) SetId(v string) *ActionSummary { 1502 s.Id = &v 1503 return s 1504 } 1505 1506 // SetTags sets the Tags field's value. 1507 func (s *ActionSummary) SetTags(v map[string]*string) *ActionSummary { 1508 s.Tags = v 1509 return s 1510 } 1511 1512 // SetTargets sets the Targets field's value. 1513 func (s *ActionSummary) SetTargets(v map[string]*ActionTarget) *ActionSummary { 1514 s.Targets = v 1515 return s 1516 } 1517 1518 // Describes a target for an action. 1519 type ActionTarget struct { 1520 _ struct{} `type:"structure"` 1521 1522 // The resource type of the target. 1523 ResourceType *string `locationName:"resourceType" type:"string"` 1524 } 1525 1526 // String returns the string representation. 1527 // 1528 // API parameter values that are decorated as "sensitive" in the API will not 1529 // be included in the string output. The member name will be present, but the 1530 // value will be replaced with "sensitive". 1531 func (s ActionTarget) String() string { 1532 return awsutil.Prettify(s) 1533 } 1534 1535 // GoString returns the string representation. 1536 // 1537 // API parameter values that are decorated as "sensitive" in the API will not 1538 // be included in the string output. The member name will be present, but the 1539 // value will be replaced with "sensitive". 1540 func (s ActionTarget) GoString() string { 1541 return s.String() 1542 } 1543 1544 // SetResourceType sets the ResourceType field's value. 1545 func (s *ActionTarget) SetResourceType(v string) *ActionTarget { 1546 s.ResourceType = &v 1547 return s 1548 } 1549 1550 // The request could not be processed because of a conflict. 1551 type ConflictException struct { 1552 _ struct{} `type:"structure"` 1553 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1554 1555 Message_ *string `locationName:"message" type:"string"` 1556 } 1557 1558 // String returns the string representation. 1559 // 1560 // API parameter values that are decorated as "sensitive" in the API will not 1561 // be included in the string output. The member name will be present, but the 1562 // value will be replaced with "sensitive". 1563 func (s ConflictException) String() string { 1564 return awsutil.Prettify(s) 1565 } 1566 1567 // GoString returns the string representation. 1568 // 1569 // API parameter values that are decorated as "sensitive" in the API will not 1570 // be included in the string output. The member name will be present, but the 1571 // value will be replaced with "sensitive". 1572 func (s ConflictException) GoString() string { 1573 return s.String() 1574 } 1575 1576 func newErrorConflictException(v protocol.ResponseMetadata) error { 1577 return &ConflictException{ 1578 RespMetadata: v, 1579 } 1580 } 1581 1582 // Code returns the exception type name. 1583 func (s *ConflictException) Code() string { 1584 return "ConflictException" 1585 } 1586 1587 // Message returns the exception's message. 1588 func (s *ConflictException) Message() string { 1589 if s.Message_ != nil { 1590 return *s.Message_ 1591 } 1592 return "" 1593 } 1594 1595 // OrigErr always returns nil, satisfies awserr.Error interface. 1596 func (s *ConflictException) OrigErr() error { 1597 return nil 1598 } 1599 1600 func (s *ConflictException) Error() string { 1601 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1602 } 1603 1604 // Status code returns the HTTP status code for the request's response error. 1605 func (s *ConflictException) StatusCode() int { 1606 return s.RespMetadata.StatusCode 1607 } 1608 1609 // RequestID returns the service's response RequestID for request. 1610 func (s *ConflictException) RequestID() string { 1611 return s.RespMetadata.RequestID 1612 } 1613 1614 // Specifies an action for an experiment template. 1615 type CreateExperimentTemplateActionInput struct { 1616 _ struct{} `type:"structure"` 1617 1618 // The ID of the action. 1619 // 1620 // ActionId is a required field 1621 ActionId *string `locationName:"actionId" type:"string" required:"true"` 1622 1623 // A description for the action. 1624 Description *string `locationName:"description" type:"string"` 1625 1626 // The parameters for the action, if applicable. 1627 Parameters map[string]*string `locationName:"parameters" type:"map"` 1628 1629 // The name of the action that must be completed before the current action starts. 1630 // Omit this parameter to run the action at the start of the experiment. 1631 StartAfter []*string `locationName:"startAfter" type:"list"` 1632 1633 // The targets for the action. 1634 Targets map[string]*string `locationName:"targets" type:"map"` 1635 } 1636 1637 // String returns the string representation. 1638 // 1639 // API parameter values that are decorated as "sensitive" in the API will not 1640 // be included in the string output. The member name will be present, but the 1641 // value will be replaced with "sensitive". 1642 func (s CreateExperimentTemplateActionInput) String() string { 1643 return awsutil.Prettify(s) 1644 } 1645 1646 // GoString returns the string representation. 1647 // 1648 // API parameter values that are decorated as "sensitive" in the API will not 1649 // be included in the string output. The member name will be present, but the 1650 // value will be replaced with "sensitive". 1651 func (s CreateExperimentTemplateActionInput) GoString() string { 1652 return s.String() 1653 } 1654 1655 // Validate inspects the fields of the type to determine if they are valid. 1656 func (s *CreateExperimentTemplateActionInput) Validate() error { 1657 invalidParams := request.ErrInvalidParams{Context: "CreateExperimentTemplateActionInput"} 1658 if s.ActionId == nil { 1659 invalidParams.Add(request.NewErrParamRequired("ActionId")) 1660 } 1661 1662 if invalidParams.Len() > 0 { 1663 return invalidParams 1664 } 1665 return nil 1666 } 1667 1668 // SetActionId sets the ActionId field's value. 1669 func (s *CreateExperimentTemplateActionInput) SetActionId(v string) *CreateExperimentTemplateActionInput { 1670 s.ActionId = &v 1671 return s 1672 } 1673 1674 // SetDescription sets the Description field's value. 1675 func (s *CreateExperimentTemplateActionInput) SetDescription(v string) *CreateExperimentTemplateActionInput { 1676 s.Description = &v 1677 return s 1678 } 1679 1680 // SetParameters sets the Parameters field's value. 1681 func (s *CreateExperimentTemplateActionInput) SetParameters(v map[string]*string) *CreateExperimentTemplateActionInput { 1682 s.Parameters = v 1683 return s 1684 } 1685 1686 // SetStartAfter sets the StartAfter field's value. 1687 func (s *CreateExperimentTemplateActionInput) SetStartAfter(v []*string) *CreateExperimentTemplateActionInput { 1688 s.StartAfter = v 1689 return s 1690 } 1691 1692 // SetTargets sets the Targets field's value. 1693 func (s *CreateExperimentTemplateActionInput) SetTargets(v map[string]*string) *CreateExperimentTemplateActionInput { 1694 s.Targets = v 1695 return s 1696 } 1697 1698 type CreateExperimentTemplateInput struct { 1699 _ struct{} `type:"structure"` 1700 1701 // The actions for the experiment. 1702 // 1703 // Actions is a required field 1704 Actions map[string]*CreateExperimentTemplateActionInput `locationName:"actions" type:"map" required:"true"` 1705 1706 // Unique, case-sensitive identifier that you provide to ensure the idempotency 1707 // of the request. 1708 ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` 1709 1710 // A description for the experiment template. Can contain up to 64 letters (A-Z 1711 // and a-z). 1712 // 1713 // Description is a required field 1714 Description *string `locationName:"description" type:"string" required:"true"` 1715 1716 // The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service 1717 // permission to perform service actions on your behalf. 1718 // 1719 // RoleArn is a required field 1720 RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"` 1721 1722 // The stop conditions. 1723 // 1724 // StopConditions is a required field 1725 StopConditions []*CreateExperimentTemplateStopConditionInput `locationName:"stopConditions" type:"list" required:"true"` 1726 1727 // The tags to apply to the experiment template. 1728 Tags map[string]*string `locationName:"tags" type:"map"` 1729 1730 // The targets for the experiment. 1731 Targets map[string]*CreateExperimentTemplateTargetInput `locationName:"targets" type:"map"` 1732 } 1733 1734 // String returns the string representation. 1735 // 1736 // API parameter values that are decorated as "sensitive" in the API will not 1737 // be included in the string output. The member name will be present, but the 1738 // value will be replaced with "sensitive". 1739 func (s CreateExperimentTemplateInput) String() string { 1740 return awsutil.Prettify(s) 1741 } 1742 1743 // GoString returns the string representation. 1744 // 1745 // API parameter values that are decorated as "sensitive" in the API will not 1746 // be included in the string output. The member name will be present, but the 1747 // value will be replaced with "sensitive". 1748 func (s CreateExperimentTemplateInput) GoString() string { 1749 return s.String() 1750 } 1751 1752 // Validate inspects the fields of the type to determine if they are valid. 1753 func (s *CreateExperimentTemplateInput) Validate() error { 1754 invalidParams := request.ErrInvalidParams{Context: "CreateExperimentTemplateInput"} 1755 if s.Actions == nil { 1756 invalidParams.Add(request.NewErrParamRequired("Actions")) 1757 } 1758 if s.ClientToken != nil && len(*s.ClientToken) < 1 { 1759 invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) 1760 } 1761 if s.Description == nil { 1762 invalidParams.Add(request.NewErrParamRequired("Description")) 1763 } 1764 if s.RoleArn == nil { 1765 invalidParams.Add(request.NewErrParamRequired("RoleArn")) 1766 } 1767 if s.RoleArn != nil && len(*s.RoleArn) < 20 { 1768 invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) 1769 } 1770 if s.StopConditions == nil { 1771 invalidParams.Add(request.NewErrParamRequired("StopConditions")) 1772 } 1773 if s.Actions != nil { 1774 for i, v := range s.Actions { 1775 if v == nil { 1776 continue 1777 } 1778 if err := v.Validate(); err != nil { 1779 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) 1780 } 1781 } 1782 } 1783 if s.StopConditions != nil { 1784 for i, v := range s.StopConditions { 1785 if v == nil { 1786 continue 1787 } 1788 if err := v.Validate(); err != nil { 1789 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StopConditions", i), err.(request.ErrInvalidParams)) 1790 } 1791 } 1792 } 1793 if s.Targets != nil { 1794 for i, v := range s.Targets { 1795 if v == nil { 1796 continue 1797 } 1798 if err := v.Validate(); err != nil { 1799 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) 1800 } 1801 } 1802 } 1803 1804 if invalidParams.Len() > 0 { 1805 return invalidParams 1806 } 1807 return nil 1808 } 1809 1810 // SetActions sets the Actions field's value. 1811 func (s *CreateExperimentTemplateInput) SetActions(v map[string]*CreateExperimentTemplateActionInput) *CreateExperimentTemplateInput { 1812 s.Actions = v 1813 return s 1814 } 1815 1816 // SetClientToken sets the ClientToken field's value. 1817 func (s *CreateExperimentTemplateInput) SetClientToken(v string) *CreateExperimentTemplateInput { 1818 s.ClientToken = &v 1819 return s 1820 } 1821 1822 // SetDescription sets the Description field's value. 1823 func (s *CreateExperimentTemplateInput) SetDescription(v string) *CreateExperimentTemplateInput { 1824 s.Description = &v 1825 return s 1826 } 1827 1828 // SetRoleArn sets the RoleArn field's value. 1829 func (s *CreateExperimentTemplateInput) SetRoleArn(v string) *CreateExperimentTemplateInput { 1830 s.RoleArn = &v 1831 return s 1832 } 1833 1834 // SetStopConditions sets the StopConditions field's value. 1835 func (s *CreateExperimentTemplateInput) SetStopConditions(v []*CreateExperimentTemplateStopConditionInput) *CreateExperimentTemplateInput { 1836 s.StopConditions = v 1837 return s 1838 } 1839 1840 // SetTags sets the Tags field's value. 1841 func (s *CreateExperimentTemplateInput) SetTags(v map[string]*string) *CreateExperimentTemplateInput { 1842 s.Tags = v 1843 return s 1844 } 1845 1846 // SetTargets sets the Targets field's value. 1847 func (s *CreateExperimentTemplateInput) SetTargets(v map[string]*CreateExperimentTemplateTargetInput) *CreateExperimentTemplateInput { 1848 s.Targets = v 1849 return s 1850 } 1851 1852 type CreateExperimentTemplateOutput struct { 1853 _ struct{} `type:"structure"` 1854 1855 // Information about the experiment template. 1856 ExperimentTemplate *ExperimentTemplate `locationName:"experimentTemplate" type:"structure"` 1857 } 1858 1859 // String returns the string representation. 1860 // 1861 // API parameter values that are decorated as "sensitive" in the API will not 1862 // be included in the string output. The member name will be present, but the 1863 // value will be replaced with "sensitive". 1864 func (s CreateExperimentTemplateOutput) String() string { 1865 return awsutil.Prettify(s) 1866 } 1867 1868 // GoString returns the string representation. 1869 // 1870 // API parameter values that are decorated as "sensitive" in the API will not 1871 // be included in the string output. The member name will be present, but the 1872 // value will be replaced with "sensitive". 1873 func (s CreateExperimentTemplateOutput) GoString() string { 1874 return s.String() 1875 } 1876 1877 // SetExperimentTemplate sets the ExperimentTemplate field's value. 1878 func (s *CreateExperimentTemplateOutput) SetExperimentTemplate(v *ExperimentTemplate) *CreateExperimentTemplateOutput { 1879 s.ExperimentTemplate = v 1880 return s 1881 } 1882 1883 // Specifies a stop condition for an experiment template. 1884 type CreateExperimentTemplateStopConditionInput struct { 1885 _ struct{} `type:"structure"` 1886 1887 // The source for the stop condition. Specify aws:cloudwatch:alarm if the stop 1888 // condition is defined by a CloudWatch alarm. Specify none if there is no stop 1889 // condition. 1890 // 1891 // Source is a required field 1892 Source *string `locationName:"source" type:"string" required:"true"` 1893 1894 // The Amazon Resource Name (ARN) of the CloudWatch alarm. This is required 1895 // if the source is a CloudWatch alarm. 1896 Value *string `locationName:"value" min:"20" type:"string"` 1897 } 1898 1899 // String returns the string representation. 1900 // 1901 // API parameter values that are decorated as "sensitive" in the API will not 1902 // be included in the string output. The member name will be present, but the 1903 // value will be replaced with "sensitive". 1904 func (s CreateExperimentTemplateStopConditionInput) String() string { 1905 return awsutil.Prettify(s) 1906 } 1907 1908 // GoString returns the string representation. 1909 // 1910 // API parameter values that are decorated as "sensitive" in the API will not 1911 // be included in the string output. The member name will be present, but the 1912 // value will be replaced with "sensitive". 1913 func (s CreateExperimentTemplateStopConditionInput) GoString() string { 1914 return s.String() 1915 } 1916 1917 // Validate inspects the fields of the type to determine if they are valid. 1918 func (s *CreateExperimentTemplateStopConditionInput) Validate() error { 1919 invalidParams := request.ErrInvalidParams{Context: "CreateExperimentTemplateStopConditionInput"} 1920 if s.Source == nil { 1921 invalidParams.Add(request.NewErrParamRequired("Source")) 1922 } 1923 if s.Value != nil && len(*s.Value) < 20 { 1924 invalidParams.Add(request.NewErrParamMinLen("Value", 20)) 1925 } 1926 1927 if invalidParams.Len() > 0 { 1928 return invalidParams 1929 } 1930 return nil 1931 } 1932 1933 // SetSource sets the Source field's value. 1934 func (s *CreateExperimentTemplateStopConditionInput) SetSource(v string) *CreateExperimentTemplateStopConditionInput { 1935 s.Source = &v 1936 return s 1937 } 1938 1939 // SetValue sets the Value field's value. 1940 func (s *CreateExperimentTemplateStopConditionInput) SetValue(v string) *CreateExperimentTemplateStopConditionInput { 1941 s.Value = &v 1942 return s 1943 } 1944 1945 // Specifies a target for an experiment. You must specify at least one Amazon 1946 // Resource Name (ARN) or at least one resource tag. You cannot specify both 1947 // ARNs and tags. 1948 type CreateExperimentTemplateTargetInput struct { 1949 _ struct{} `type:"structure"` 1950 1951 // The filters to apply to identify target resources using specific attributes. 1952 Filters []*ExperimentTemplateTargetInputFilter `locationName:"filters" type:"list"` 1953 1954 // The Amazon Resource Names (ARNs) of the resources. 1955 ResourceArns []*string `locationName:"resourceArns" type:"list"` 1956 1957 // The tags for the target resources. 1958 ResourceTags map[string]*string `locationName:"resourceTags" type:"map"` 1959 1960 // The AWS resource type. The resource type must be supported for the specified 1961 // action. 1962 // 1963 // ResourceType is a required field 1964 ResourceType *string `locationName:"resourceType" type:"string" required:"true"` 1965 1966 // Scopes the identified resources to a specific count of the resources at random, 1967 // or a percentage of the resources. All identified resources are included in 1968 // the target. 1969 // 1970 // * ALL - Run the action on all identified targets. This is the default. 1971 // 1972 // * COUNT(n) - Run the action on the specified number of targets, chosen 1973 // from the identified targets at random. For example, COUNT(1) selects one 1974 // of the targets. 1975 // 1976 // * PERCENT(n) - Run the action on the specified percentage of targets, 1977 // chosen from the identified targets at random. For example, PERCENT(25) 1978 // selects 25% of the targets. 1979 // 1980 // SelectionMode is a required field 1981 SelectionMode *string `locationName:"selectionMode" type:"string" required:"true"` 1982 } 1983 1984 // String returns the string representation. 1985 // 1986 // API parameter values that are decorated as "sensitive" in the API will not 1987 // be included in the string output. The member name will be present, but the 1988 // value will be replaced with "sensitive". 1989 func (s CreateExperimentTemplateTargetInput) String() string { 1990 return awsutil.Prettify(s) 1991 } 1992 1993 // GoString returns the string representation. 1994 // 1995 // API parameter values that are decorated as "sensitive" in the API will not 1996 // be included in the string output. The member name will be present, but the 1997 // value will be replaced with "sensitive". 1998 func (s CreateExperimentTemplateTargetInput) GoString() string { 1999 return s.String() 2000 } 2001 2002 // Validate inspects the fields of the type to determine if they are valid. 2003 func (s *CreateExperimentTemplateTargetInput) Validate() error { 2004 invalidParams := request.ErrInvalidParams{Context: "CreateExperimentTemplateTargetInput"} 2005 if s.ResourceType == nil { 2006 invalidParams.Add(request.NewErrParamRequired("ResourceType")) 2007 } 2008 if s.SelectionMode == nil { 2009 invalidParams.Add(request.NewErrParamRequired("SelectionMode")) 2010 } 2011 if s.Filters != nil { 2012 for i, v := range s.Filters { 2013 if v == nil { 2014 continue 2015 } 2016 if err := v.Validate(); err != nil { 2017 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) 2018 } 2019 } 2020 } 2021 2022 if invalidParams.Len() > 0 { 2023 return invalidParams 2024 } 2025 return nil 2026 } 2027 2028 // SetFilters sets the Filters field's value. 2029 func (s *CreateExperimentTemplateTargetInput) SetFilters(v []*ExperimentTemplateTargetInputFilter) *CreateExperimentTemplateTargetInput { 2030 s.Filters = v 2031 return s 2032 } 2033 2034 // SetResourceArns sets the ResourceArns field's value. 2035 func (s *CreateExperimentTemplateTargetInput) SetResourceArns(v []*string) *CreateExperimentTemplateTargetInput { 2036 s.ResourceArns = v 2037 return s 2038 } 2039 2040 // SetResourceTags sets the ResourceTags field's value. 2041 func (s *CreateExperimentTemplateTargetInput) SetResourceTags(v map[string]*string) *CreateExperimentTemplateTargetInput { 2042 s.ResourceTags = v 2043 return s 2044 } 2045 2046 // SetResourceType sets the ResourceType field's value. 2047 func (s *CreateExperimentTemplateTargetInput) SetResourceType(v string) *CreateExperimentTemplateTargetInput { 2048 s.ResourceType = &v 2049 return s 2050 } 2051 2052 // SetSelectionMode sets the SelectionMode field's value. 2053 func (s *CreateExperimentTemplateTargetInput) SetSelectionMode(v string) *CreateExperimentTemplateTargetInput { 2054 s.SelectionMode = &v 2055 return s 2056 } 2057 2058 type DeleteExperimentTemplateInput struct { 2059 _ struct{} `type:"structure" nopayload:"true"` 2060 2061 // The ID of the experiment template. 2062 // 2063 // Id is a required field 2064 Id *string `location:"uri" locationName:"id" type:"string" required:"true"` 2065 } 2066 2067 // String returns the string representation. 2068 // 2069 // API parameter values that are decorated as "sensitive" in the API will not 2070 // be included in the string output. The member name will be present, but the 2071 // value will be replaced with "sensitive". 2072 func (s DeleteExperimentTemplateInput) String() string { 2073 return awsutil.Prettify(s) 2074 } 2075 2076 // GoString returns the string representation. 2077 // 2078 // API parameter values that are decorated as "sensitive" in the API will not 2079 // be included in the string output. The member name will be present, but the 2080 // value will be replaced with "sensitive". 2081 func (s DeleteExperimentTemplateInput) GoString() string { 2082 return s.String() 2083 } 2084 2085 // Validate inspects the fields of the type to determine if they are valid. 2086 func (s *DeleteExperimentTemplateInput) Validate() error { 2087 invalidParams := request.ErrInvalidParams{Context: "DeleteExperimentTemplateInput"} 2088 if s.Id == nil { 2089 invalidParams.Add(request.NewErrParamRequired("Id")) 2090 } 2091 if s.Id != nil && len(*s.Id) < 1 { 2092 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 2093 } 2094 2095 if invalidParams.Len() > 0 { 2096 return invalidParams 2097 } 2098 return nil 2099 } 2100 2101 // SetId sets the Id field's value. 2102 func (s *DeleteExperimentTemplateInput) SetId(v string) *DeleteExperimentTemplateInput { 2103 s.Id = &v 2104 return s 2105 } 2106 2107 type DeleteExperimentTemplateOutput struct { 2108 _ struct{} `type:"structure"` 2109 2110 // Information about the experiment template. 2111 ExperimentTemplate *ExperimentTemplate `locationName:"experimentTemplate" type:"structure"` 2112 } 2113 2114 // String returns the string representation. 2115 // 2116 // API parameter values that are decorated as "sensitive" in the API will not 2117 // be included in the string output. The member name will be present, but the 2118 // value will be replaced with "sensitive". 2119 func (s DeleteExperimentTemplateOutput) String() string { 2120 return awsutil.Prettify(s) 2121 } 2122 2123 // GoString returns the string representation. 2124 // 2125 // API parameter values that are decorated as "sensitive" in the API will not 2126 // be included in the string output. The member name will be present, but the 2127 // value will be replaced with "sensitive". 2128 func (s DeleteExperimentTemplateOutput) GoString() string { 2129 return s.String() 2130 } 2131 2132 // SetExperimentTemplate sets the ExperimentTemplate field's value. 2133 func (s *DeleteExperimentTemplateOutput) SetExperimentTemplate(v *ExperimentTemplate) *DeleteExperimentTemplateOutput { 2134 s.ExperimentTemplate = v 2135 return s 2136 } 2137 2138 // Describes an experiment. 2139 type Experiment struct { 2140 _ struct{} `type:"structure"` 2141 2142 // The actions for the experiment. 2143 Actions map[string]*ExperimentAction `locationName:"actions" type:"map"` 2144 2145 // The time the experiment was created. 2146 CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` 2147 2148 // The time that the experiment ended. 2149 EndTime *time.Time `locationName:"endTime" type:"timestamp"` 2150 2151 // The ID of the experiment template. 2152 ExperimentTemplateId *string `locationName:"experimentTemplateId" type:"string"` 2153 2154 // The ID of the experiment. 2155 Id *string `locationName:"id" type:"string"` 2156 2157 // The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service 2158 // permission to perform service actions on your behalf. 2159 RoleArn *string `locationName:"roleArn" min:"20" type:"string"` 2160 2161 // The time that the experiment was started. 2162 StartTime *time.Time `locationName:"startTime" type:"timestamp"` 2163 2164 // The state of the experiment. 2165 State *ExperimentState `locationName:"state" type:"structure"` 2166 2167 // The stop conditions for the experiment. 2168 StopConditions []*ExperimentStopCondition `locationName:"stopConditions" type:"list"` 2169 2170 // The tags for the experiment. 2171 Tags map[string]*string `locationName:"tags" type:"map"` 2172 2173 // The targets for the experiment. 2174 Targets map[string]*ExperimentTarget `locationName:"targets" type:"map"` 2175 } 2176 2177 // String returns the string representation. 2178 // 2179 // API parameter values that are decorated as "sensitive" in the API will not 2180 // be included in the string output. The member name will be present, but the 2181 // value will be replaced with "sensitive". 2182 func (s Experiment) String() string { 2183 return awsutil.Prettify(s) 2184 } 2185 2186 // GoString returns the string representation. 2187 // 2188 // API parameter values that are decorated as "sensitive" in the API will not 2189 // be included in the string output. The member name will be present, but the 2190 // value will be replaced with "sensitive". 2191 func (s Experiment) GoString() string { 2192 return s.String() 2193 } 2194 2195 // SetActions sets the Actions field's value. 2196 func (s *Experiment) SetActions(v map[string]*ExperimentAction) *Experiment { 2197 s.Actions = v 2198 return s 2199 } 2200 2201 // SetCreationTime sets the CreationTime field's value. 2202 func (s *Experiment) SetCreationTime(v time.Time) *Experiment { 2203 s.CreationTime = &v 2204 return s 2205 } 2206 2207 // SetEndTime sets the EndTime field's value. 2208 func (s *Experiment) SetEndTime(v time.Time) *Experiment { 2209 s.EndTime = &v 2210 return s 2211 } 2212 2213 // SetExperimentTemplateId sets the ExperimentTemplateId field's value. 2214 func (s *Experiment) SetExperimentTemplateId(v string) *Experiment { 2215 s.ExperimentTemplateId = &v 2216 return s 2217 } 2218 2219 // SetId sets the Id field's value. 2220 func (s *Experiment) SetId(v string) *Experiment { 2221 s.Id = &v 2222 return s 2223 } 2224 2225 // SetRoleArn sets the RoleArn field's value. 2226 func (s *Experiment) SetRoleArn(v string) *Experiment { 2227 s.RoleArn = &v 2228 return s 2229 } 2230 2231 // SetStartTime sets the StartTime field's value. 2232 func (s *Experiment) SetStartTime(v time.Time) *Experiment { 2233 s.StartTime = &v 2234 return s 2235 } 2236 2237 // SetState sets the State field's value. 2238 func (s *Experiment) SetState(v *ExperimentState) *Experiment { 2239 s.State = v 2240 return s 2241 } 2242 2243 // SetStopConditions sets the StopConditions field's value. 2244 func (s *Experiment) SetStopConditions(v []*ExperimentStopCondition) *Experiment { 2245 s.StopConditions = v 2246 return s 2247 } 2248 2249 // SetTags sets the Tags field's value. 2250 func (s *Experiment) SetTags(v map[string]*string) *Experiment { 2251 s.Tags = v 2252 return s 2253 } 2254 2255 // SetTargets sets the Targets field's value. 2256 func (s *Experiment) SetTargets(v map[string]*ExperimentTarget) *Experiment { 2257 s.Targets = v 2258 return s 2259 } 2260 2261 // Describes the action for an experiment. 2262 type ExperimentAction struct { 2263 _ struct{} `type:"structure"` 2264 2265 // The ID of the action. 2266 ActionId *string `locationName:"actionId" type:"string"` 2267 2268 // The description for the action. 2269 Description *string `locationName:"description" type:"string"` 2270 2271 // The parameters for the action. 2272 Parameters map[string]*string `locationName:"parameters" type:"map"` 2273 2274 // The name of the action that must be completed before this action starts. 2275 StartAfter []*string `locationName:"startAfter" type:"list"` 2276 2277 // The state of the action. 2278 State *ExperimentActionState `locationName:"state" type:"structure"` 2279 2280 // The targets for the action. 2281 Targets map[string]*string `locationName:"targets" type:"map"` 2282 } 2283 2284 // String returns the string representation. 2285 // 2286 // API parameter values that are decorated as "sensitive" in the API will not 2287 // be included in the string output. The member name will be present, but the 2288 // value will be replaced with "sensitive". 2289 func (s ExperimentAction) String() string { 2290 return awsutil.Prettify(s) 2291 } 2292 2293 // GoString returns the string representation. 2294 // 2295 // API parameter values that are decorated as "sensitive" in the API will not 2296 // be included in the string output. The member name will be present, but the 2297 // value will be replaced with "sensitive". 2298 func (s ExperimentAction) GoString() string { 2299 return s.String() 2300 } 2301 2302 // SetActionId sets the ActionId field's value. 2303 func (s *ExperimentAction) SetActionId(v string) *ExperimentAction { 2304 s.ActionId = &v 2305 return s 2306 } 2307 2308 // SetDescription sets the Description field's value. 2309 func (s *ExperimentAction) SetDescription(v string) *ExperimentAction { 2310 s.Description = &v 2311 return s 2312 } 2313 2314 // SetParameters sets the Parameters field's value. 2315 func (s *ExperimentAction) SetParameters(v map[string]*string) *ExperimentAction { 2316 s.Parameters = v 2317 return s 2318 } 2319 2320 // SetStartAfter sets the StartAfter field's value. 2321 func (s *ExperimentAction) SetStartAfter(v []*string) *ExperimentAction { 2322 s.StartAfter = v 2323 return s 2324 } 2325 2326 // SetState sets the State field's value. 2327 func (s *ExperimentAction) SetState(v *ExperimentActionState) *ExperimentAction { 2328 s.State = v 2329 return s 2330 } 2331 2332 // SetTargets sets the Targets field's value. 2333 func (s *ExperimentAction) SetTargets(v map[string]*string) *ExperimentAction { 2334 s.Targets = v 2335 return s 2336 } 2337 2338 // Describes the state of an action. 2339 type ExperimentActionState struct { 2340 _ struct{} `type:"structure"` 2341 2342 // The reason for the state. 2343 Reason *string `locationName:"reason" type:"string"` 2344 2345 // The state of the action. 2346 Status *string `locationName:"status" type:"string" enum:"ExperimentActionStatus"` 2347 } 2348 2349 // String returns the string representation. 2350 // 2351 // API parameter values that are decorated as "sensitive" in the API will not 2352 // be included in the string output. The member name will be present, but the 2353 // value will be replaced with "sensitive". 2354 func (s ExperimentActionState) String() string { 2355 return awsutil.Prettify(s) 2356 } 2357 2358 // GoString returns the string representation. 2359 // 2360 // API parameter values that are decorated as "sensitive" in the API will not 2361 // be included in the string output. The member name will be present, but the 2362 // value will be replaced with "sensitive". 2363 func (s ExperimentActionState) GoString() string { 2364 return s.String() 2365 } 2366 2367 // SetReason sets the Reason field's value. 2368 func (s *ExperimentActionState) SetReason(v string) *ExperimentActionState { 2369 s.Reason = &v 2370 return s 2371 } 2372 2373 // SetStatus sets the Status field's value. 2374 func (s *ExperimentActionState) SetStatus(v string) *ExperimentActionState { 2375 s.Status = &v 2376 return s 2377 } 2378 2379 // Describes the state of an experiment. 2380 type ExperimentState struct { 2381 _ struct{} `type:"structure"` 2382 2383 // The reason for the state. 2384 Reason *string `locationName:"reason" type:"string"` 2385 2386 // The state of the experiment. 2387 Status *string `locationName:"status" type:"string" enum:"ExperimentStatus"` 2388 } 2389 2390 // String returns the string representation. 2391 // 2392 // API parameter values that are decorated as "sensitive" in the API will not 2393 // be included in the string output. The member name will be present, but the 2394 // value will be replaced with "sensitive". 2395 func (s ExperimentState) String() string { 2396 return awsutil.Prettify(s) 2397 } 2398 2399 // GoString returns the string representation. 2400 // 2401 // API parameter values that are decorated as "sensitive" in the API will not 2402 // be included in the string output. The member name will be present, but the 2403 // value will be replaced with "sensitive". 2404 func (s ExperimentState) GoString() string { 2405 return s.String() 2406 } 2407 2408 // SetReason sets the Reason field's value. 2409 func (s *ExperimentState) SetReason(v string) *ExperimentState { 2410 s.Reason = &v 2411 return s 2412 } 2413 2414 // SetStatus sets the Status field's value. 2415 func (s *ExperimentState) SetStatus(v string) *ExperimentState { 2416 s.Status = &v 2417 return s 2418 } 2419 2420 // Describes the stop condition for an experiment. 2421 type ExperimentStopCondition struct { 2422 _ struct{} `type:"structure"` 2423 2424 // The source for the stop condition. 2425 Source *string `locationName:"source" type:"string"` 2426 2427 // The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable. 2428 Value *string `locationName:"value" min:"20" type:"string"` 2429 } 2430 2431 // String returns the string representation. 2432 // 2433 // API parameter values that are decorated as "sensitive" in the API will not 2434 // be included in the string output. The member name will be present, but the 2435 // value will be replaced with "sensitive". 2436 func (s ExperimentStopCondition) String() string { 2437 return awsutil.Prettify(s) 2438 } 2439 2440 // GoString returns the string representation. 2441 // 2442 // API parameter values that are decorated as "sensitive" in the API will not 2443 // be included in the string output. The member name will be present, but the 2444 // value will be replaced with "sensitive". 2445 func (s ExperimentStopCondition) GoString() string { 2446 return s.String() 2447 } 2448 2449 // SetSource sets the Source field's value. 2450 func (s *ExperimentStopCondition) SetSource(v string) *ExperimentStopCondition { 2451 s.Source = &v 2452 return s 2453 } 2454 2455 // SetValue sets the Value field's value. 2456 func (s *ExperimentStopCondition) SetValue(v string) *ExperimentStopCondition { 2457 s.Value = &v 2458 return s 2459 } 2460 2461 // Provides a summary of an experiment. 2462 type ExperimentSummary struct { 2463 _ struct{} `type:"structure"` 2464 2465 // The time that the experiment was created. 2466 CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` 2467 2468 // The ID of the experiment template. 2469 ExperimentTemplateId *string `locationName:"experimentTemplateId" type:"string"` 2470 2471 // The ID of the experiment. 2472 Id *string `locationName:"id" type:"string"` 2473 2474 // The state of the experiment. 2475 State *ExperimentState `locationName:"state" type:"structure"` 2476 2477 // The tags for the experiment. 2478 Tags map[string]*string `locationName:"tags" type:"map"` 2479 } 2480 2481 // String returns the string representation. 2482 // 2483 // API parameter values that are decorated as "sensitive" in the API will not 2484 // be included in the string output. The member name will be present, but the 2485 // value will be replaced with "sensitive". 2486 func (s ExperimentSummary) String() string { 2487 return awsutil.Prettify(s) 2488 } 2489 2490 // GoString returns the string representation. 2491 // 2492 // API parameter values that are decorated as "sensitive" in the API will not 2493 // be included in the string output. The member name will be present, but the 2494 // value will be replaced with "sensitive". 2495 func (s ExperimentSummary) GoString() string { 2496 return s.String() 2497 } 2498 2499 // SetCreationTime sets the CreationTime field's value. 2500 func (s *ExperimentSummary) SetCreationTime(v time.Time) *ExperimentSummary { 2501 s.CreationTime = &v 2502 return s 2503 } 2504 2505 // SetExperimentTemplateId sets the ExperimentTemplateId field's value. 2506 func (s *ExperimentSummary) SetExperimentTemplateId(v string) *ExperimentSummary { 2507 s.ExperimentTemplateId = &v 2508 return s 2509 } 2510 2511 // SetId sets the Id field's value. 2512 func (s *ExperimentSummary) SetId(v string) *ExperimentSummary { 2513 s.Id = &v 2514 return s 2515 } 2516 2517 // SetState sets the State field's value. 2518 func (s *ExperimentSummary) SetState(v *ExperimentState) *ExperimentSummary { 2519 s.State = v 2520 return s 2521 } 2522 2523 // SetTags sets the Tags field's value. 2524 func (s *ExperimentSummary) SetTags(v map[string]*string) *ExperimentSummary { 2525 s.Tags = v 2526 return s 2527 } 2528 2529 // Describes a target for an experiment. 2530 type ExperimentTarget struct { 2531 _ struct{} `type:"structure"` 2532 2533 // The filters to apply to identify target resources using specific attributes. 2534 Filters []*ExperimentTargetFilter `locationName:"filters" type:"list"` 2535 2536 // The Amazon Resource Names (ARNs) of the resources. 2537 ResourceArns []*string `locationName:"resourceArns" type:"list"` 2538 2539 // The tags for the target resources. 2540 ResourceTags map[string]*string `locationName:"resourceTags" type:"map"` 2541 2542 // The resource type. 2543 ResourceType *string `locationName:"resourceType" type:"string"` 2544 2545 // Scopes the identified resources to a specific count or percentage. 2546 SelectionMode *string `locationName:"selectionMode" type:"string"` 2547 } 2548 2549 // String returns the string representation. 2550 // 2551 // API parameter values that are decorated as "sensitive" in the API will not 2552 // be included in the string output. The member name will be present, but the 2553 // value will be replaced with "sensitive". 2554 func (s ExperimentTarget) String() string { 2555 return awsutil.Prettify(s) 2556 } 2557 2558 // GoString returns the string representation. 2559 // 2560 // API parameter values that are decorated as "sensitive" in the API will not 2561 // be included in the string output. The member name will be present, but the 2562 // value will be replaced with "sensitive". 2563 func (s ExperimentTarget) GoString() string { 2564 return s.String() 2565 } 2566 2567 // SetFilters sets the Filters field's value. 2568 func (s *ExperimentTarget) SetFilters(v []*ExperimentTargetFilter) *ExperimentTarget { 2569 s.Filters = v 2570 return s 2571 } 2572 2573 // SetResourceArns sets the ResourceArns field's value. 2574 func (s *ExperimentTarget) SetResourceArns(v []*string) *ExperimentTarget { 2575 s.ResourceArns = v 2576 return s 2577 } 2578 2579 // SetResourceTags sets the ResourceTags field's value. 2580 func (s *ExperimentTarget) SetResourceTags(v map[string]*string) *ExperimentTarget { 2581 s.ResourceTags = v 2582 return s 2583 } 2584 2585 // SetResourceType sets the ResourceType field's value. 2586 func (s *ExperimentTarget) SetResourceType(v string) *ExperimentTarget { 2587 s.ResourceType = &v 2588 return s 2589 } 2590 2591 // SetSelectionMode sets the SelectionMode field's value. 2592 func (s *ExperimentTarget) SetSelectionMode(v string) *ExperimentTarget { 2593 s.SelectionMode = &v 2594 return s 2595 } 2596 2597 // Describes a filter used for the target resources in an experiment. 2598 type ExperimentTargetFilter struct { 2599 _ struct{} `type:"structure"` 2600 2601 // The attribute path for the filter. 2602 Path *string `locationName:"path" type:"string"` 2603 2604 // The attribute values for the filter. 2605 Values []*string `locationName:"values" type:"list"` 2606 } 2607 2608 // String returns the string representation. 2609 // 2610 // API parameter values that are decorated as "sensitive" in the API will not 2611 // be included in the string output. The member name will be present, but the 2612 // value will be replaced with "sensitive". 2613 func (s ExperimentTargetFilter) String() string { 2614 return awsutil.Prettify(s) 2615 } 2616 2617 // GoString returns the string representation. 2618 // 2619 // API parameter values that are decorated as "sensitive" in the API will not 2620 // be included in the string output. The member name will be present, but the 2621 // value will be replaced with "sensitive". 2622 func (s ExperimentTargetFilter) GoString() string { 2623 return s.String() 2624 } 2625 2626 // SetPath sets the Path field's value. 2627 func (s *ExperimentTargetFilter) SetPath(v string) *ExperimentTargetFilter { 2628 s.Path = &v 2629 return s 2630 } 2631 2632 // SetValues sets the Values field's value. 2633 func (s *ExperimentTargetFilter) SetValues(v []*string) *ExperimentTargetFilter { 2634 s.Values = v 2635 return s 2636 } 2637 2638 // Describes an experiment template. 2639 type ExperimentTemplate struct { 2640 _ struct{} `type:"structure"` 2641 2642 // The actions for the experiment. 2643 Actions map[string]*ExperimentTemplateAction `locationName:"actions" type:"map"` 2644 2645 // The time the experiment template was created. 2646 CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` 2647 2648 // The description for the experiment template. 2649 Description *string `locationName:"description" type:"string"` 2650 2651 // The ID of the experiment template. 2652 Id *string `locationName:"id" type:"string"` 2653 2654 // The time the experiment template was last updated. 2655 LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"` 2656 2657 // The Amazon Resource Name (ARN) of an IAM role. 2658 RoleArn *string `locationName:"roleArn" min:"20" type:"string"` 2659 2660 // The stop conditions for the experiment. 2661 StopConditions []*ExperimentTemplateStopCondition `locationName:"stopConditions" type:"list"` 2662 2663 // The tags for the experiment template. 2664 Tags map[string]*string `locationName:"tags" type:"map"` 2665 2666 // The targets for the experiment. 2667 Targets map[string]*ExperimentTemplateTarget `locationName:"targets" type:"map"` 2668 } 2669 2670 // String returns the string representation. 2671 // 2672 // API parameter values that are decorated as "sensitive" in the API will not 2673 // be included in the string output. The member name will be present, but the 2674 // value will be replaced with "sensitive". 2675 func (s ExperimentTemplate) String() string { 2676 return awsutil.Prettify(s) 2677 } 2678 2679 // GoString returns the string representation. 2680 // 2681 // API parameter values that are decorated as "sensitive" in the API will not 2682 // be included in the string output. The member name will be present, but the 2683 // value will be replaced with "sensitive". 2684 func (s ExperimentTemplate) GoString() string { 2685 return s.String() 2686 } 2687 2688 // SetActions sets the Actions field's value. 2689 func (s *ExperimentTemplate) SetActions(v map[string]*ExperimentTemplateAction) *ExperimentTemplate { 2690 s.Actions = v 2691 return s 2692 } 2693 2694 // SetCreationTime sets the CreationTime field's value. 2695 func (s *ExperimentTemplate) SetCreationTime(v time.Time) *ExperimentTemplate { 2696 s.CreationTime = &v 2697 return s 2698 } 2699 2700 // SetDescription sets the Description field's value. 2701 func (s *ExperimentTemplate) SetDescription(v string) *ExperimentTemplate { 2702 s.Description = &v 2703 return s 2704 } 2705 2706 // SetId sets the Id field's value. 2707 func (s *ExperimentTemplate) SetId(v string) *ExperimentTemplate { 2708 s.Id = &v 2709 return s 2710 } 2711 2712 // SetLastUpdateTime sets the LastUpdateTime field's value. 2713 func (s *ExperimentTemplate) SetLastUpdateTime(v time.Time) *ExperimentTemplate { 2714 s.LastUpdateTime = &v 2715 return s 2716 } 2717 2718 // SetRoleArn sets the RoleArn field's value. 2719 func (s *ExperimentTemplate) SetRoleArn(v string) *ExperimentTemplate { 2720 s.RoleArn = &v 2721 return s 2722 } 2723 2724 // SetStopConditions sets the StopConditions field's value. 2725 func (s *ExperimentTemplate) SetStopConditions(v []*ExperimentTemplateStopCondition) *ExperimentTemplate { 2726 s.StopConditions = v 2727 return s 2728 } 2729 2730 // SetTags sets the Tags field's value. 2731 func (s *ExperimentTemplate) SetTags(v map[string]*string) *ExperimentTemplate { 2732 s.Tags = v 2733 return s 2734 } 2735 2736 // SetTargets sets the Targets field's value. 2737 func (s *ExperimentTemplate) SetTargets(v map[string]*ExperimentTemplateTarget) *ExperimentTemplate { 2738 s.Targets = v 2739 return s 2740 } 2741 2742 // Describes an action for an experiment template. 2743 type ExperimentTemplateAction struct { 2744 _ struct{} `type:"structure"` 2745 2746 // The ID of the action. 2747 ActionId *string `locationName:"actionId" type:"string"` 2748 2749 // A description for the action. 2750 Description *string `locationName:"description" type:"string"` 2751 2752 // The parameters for the action. 2753 Parameters map[string]*string `locationName:"parameters" type:"map"` 2754 2755 // The name of the action that must be completed before the current action starts. 2756 StartAfter []*string `locationName:"startAfter" type:"list"` 2757 2758 // The targets for the action. 2759 Targets map[string]*string `locationName:"targets" type:"map"` 2760 } 2761 2762 // String returns the string representation. 2763 // 2764 // API parameter values that are decorated as "sensitive" in the API will not 2765 // be included in the string output. The member name will be present, but the 2766 // value will be replaced with "sensitive". 2767 func (s ExperimentTemplateAction) String() string { 2768 return awsutil.Prettify(s) 2769 } 2770 2771 // GoString returns the string representation. 2772 // 2773 // API parameter values that are decorated as "sensitive" in the API will not 2774 // be included in the string output. The member name will be present, but the 2775 // value will be replaced with "sensitive". 2776 func (s ExperimentTemplateAction) GoString() string { 2777 return s.String() 2778 } 2779 2780 // SetActionId sets the ActionId field's value. 2781 func (s *ExperimentTemplateAction) SetActionId(v string) *ExperimentTemplateAction { 2782 s.ActionId = &v 2783 return s 2784 } 2785 2786 // SetDescription sets the Description field's value. 2787 func (s *ExperimentTemplateAction) SetDescription(v string) *ExperimentTemplateAction { 2788 s.Description = &v 2789 return s 2790 } 2791 2792 // SetParameters sets the Parameters field's value. 2793 func (s *ExperimentTemplateAction) SetParameters(v map[string]*string) *ExperimentTemplateAction { 2794 s.Parameters = v 2795 return s 2796 } 2797 2798 // SetStartAfter sets the StartAfter field's value. 2799 func (s *ExperimentTemplateAction) SetStartAfter(v []*string) *ExperimentTemplateAction { 2800 s.StartAfter = v 2801 return s 2802 } 2803 2804 // SetTargets sets the Targets field's value. 2805 func (s *ExperimentTemplateAction) SetTargets(v map[string]*string) *ExperimentTemplateAction { 2806 s.Targets = v 2807 return s 2808 } 2809 2810 // Describes a stop condition for an experiment template. 2811 type ExperimentTemplateStopCondition struct { 2812 _ struct{} `type:"structure"` 2813 2814 // The source for the stop condition. 2815 Source *string `locationName:"source" type:"string"` 2816 2817 // The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable. 2818 Value *string `locationName:"value" min:"20" type:"string"` 2819 } 2820 2821 // String returns the string representation. 2822 // 2823 // API parameter values that are decorated as "sensitive" in the API will not 2824 // be included in the string output. The member name will be present, but the 2825 // value will be replaced with "sensitive". 2826 func (s ExperimentTemplateStopCondition) String() string { 2827 return awsutil.Prettify(s) 2828 } 2829 2830 // GoString returns the string representation. 2831 // 2832 // API parameter values that are decorated as "sensitive" in the API will not 2833 // be included in the string output. The member name will be present, but the 2834 // value will be replaced with "sensitive". 2835 func (s ExperimentTemplateStopCondition) GoString() string { 2836 return s.String() 2837 } 2838 2839 // SetSource sets the Source field's value. 2840 func (s *ExperimentTemplateStopCondition) SetSource(v string) *ExperimentTemplateStopCondition { 2841 s.Source = &v 2842 return s 2843 } 2844 2845 // SetValue sets the Value field's value. 2846 func (s *ExperimentTemplateStopCondition) SetValue(v string) *ExperimentTemplateStopCondition { 2847 s.Value = &v 2848 return s 2849 } 2850 2851 // Provides a summary of an experiment template. 2852 type ExperimentTemplateSummary struct { 2853 _ struct{} `type:"structure"` 2854 2855 // The time that the experiment template was created. 2856 CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` 2857 2858 // The description of the experiment template. 2859 Description *string `locationName:"description" type:"string"` 2860 2861 // The ID of the experiment template. 2862 Id *string `locationName:"id" type:"string"` 2863 2864 // The time that the experiment template was last updated. 2865 LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"` 2866 2867 // The tags for the experiment template. 2868 Tags map[string]*string `locationName:"tags" type:"map"` 2869 } 2870 2871 // String returns the string representation. 2872 // 2873 // API parameter values that are decorated as "sensitive" in the API will not 2874 // be included in the string output. The member name will be present, but the 2875 // value will be replaced with "sensitive". 2876 func (s ExperimentTemplateSummary) String() string { 2877 return awsutil.Prettify(s) 2878 } 2879 2880 // GoString returns the string representation. 2881 // 2882 // API parameter values that are decorated as "sensitive" in the API will not 2883 // be included in the string output. The member name will be present, but the 2884 // value will be replaced with "sensitive". 2885 func (s ExperimentTemplateSummary) GoString() string { 2886 return s.String() 2887 } 2888 2889 // SetCreationTime sets the CreationTime field's value. 2890 func (s *ExperimentTemplateSummary) SetCreationTime(v time.Time) *ExperimentTemplateSummary { 2891 s.CreationTime = &v 2892 return s 2893 } 2894 2895 // SetDescription sets the Description field's value. 2896 func (s *ExperimentTemplateSummary) SetDescription(v string) *ExperimentTemplateSummary { 2897 s.Description = &v 2898 return s 2899 } 2900 2901 // SetId sets the Id field's value. 2902 func (s *ExperimentTemplateSummary) SetId(v string) *ExperimentTemplateSummary { 2903 s.Id = &v 2904 return s 2905 } 2906 2907 // SetLastUpdateTime sets the LastUpdateTime field's value. 2908 func (s *ExperimentTemplateSummary) SetLastUpdateTime(v time.Time) *ExperimentTemplateSummary { 2909 s.LastUpdateTime = &v 2910 return s 2911 } 2912 2913 // SetTags sets the Tags field's value. 2914 func (s *ExperimentTemplateSummary) SetTags(v map[string]*string) *ExperimentTemplateSummary { 2915 s.Tags = v 2916 return s 2917 } 2918 2919 // Describes a target for an experiment template. 2920 type ExperimentTemplateTarget struct { 2921 _ struct{} `type:"structure"` 2922 2923 // The filters to apply to identify target resources using specific attributes. 2924 Filters []*ExperimentTemplateTargetFilter `locationName:"filters" type:"list"` 2925 2926 // The Amazon Resource Names (ARNs) of the targets. 2927 ResourceArns []*string `locationName:"resourceArns" type:"list"` 2928 2929 // The tags for the target resources. 2930 ResourceTags map[string]*string `locationName:"resourceTags" type:"map"` 2931 2932 // The resource type. 2933 ResourceType *string `locationName:"resourceType" type:"string"` 2934 2935 // Scopes the identified resources to a specific count or percentage. 2936 SelectionMode *string `locationName:"selectionMode" type:"string"` 2937 } 2938 2939 // String returns the string representation. 2940 // 2941 // API parameter values that are decorated as "sensitive" in the API will not 2942 // be included in the string output. The member name will be present, but the 2943 // value will be replaced with "sensitive". 2944 func (s ExperimentTemplateTarget) String() string { 2945 return awsutil.Prettify(s) 2946 } 2947 2948 // GoString returns the string representation. 2949 // 2950 // API parameter values that are decorated as "sensitive" in the API will not 2951 // be included in the string output. The member name will be present, but the 2952 // value will be replaced with "sensitive". 2953 func (s ExperimentTemplateTarget) GoString() string { 2954 return s.String() 2955 } 2956 2957 // SetFilters sets the Filters field's value. 2958 func (s *ExperimentTemplateTarget) SetFilters(v []*ExperimentTemplateTargetFilter) *ExperimentTemplateTarget { 2959 s.Filters = v 2960 return s 2961 } 2962 2963 // SetResourceArns sets the ResourceArns field's value. 2964 func (s *ExperimentTemplateTarget) SetResourceArns(v []*string) *ExperimentTemplateTarget { 2965 s.ResourceArns = v 2966 return s 2967 } 2968 2969 // SetResourceTags sets the ResourceTags field's value. 2970 func (s *ExperimentTemplateTarget) SetResourceTags(v map[string]*string) *ExperimentTemplateTarget { 2971 s.ResourceTags = v 2972 return s 2973 } 2974 2975 // SetResourceType sets the ResourceType field's value. 2976 func (s *ExperimentTemplateTarget) SetResourceType(v string) *ExperimentTemplateTarget { 2977 s.ResourceType = &v 2978 return s 2979 } 2980 2981 // SetSelectionMode sets the SelectionMode field's value. 2982 func (s *ExperimentTemplateTarget) SetSelectionMode(v string) *ExperimentTemplateTarget { 2983 s.SelectionMode = &v 2984 return s 2985 } 2986 2987 // Describes a filter used for the target resources in an experiment template. 2988 type ExperimentTemplateTargetFilter struct { 2989 _ struct{} `type:"structure"` 2990 2991 // The attribute path for the filter. 2992 Path *string `locationName:"path" type:"string"` 2993 2994 // The attribute values for the filter. 2995 Values []*string `locationName:"values" type:"list"` 2996 } 2997 2998 // String returns the string representation. 2999 // 3000 // API parameter values that are decorated as "sensitive" in the API will not 3001 // be included in the string output. The member name will be present, but the 3002 // value will be replaced with "sensitive". 3003 func (s ExperimentTemplateTargetFilter) String() string { 3004 return awsutil.Prettify(s) 3005 } 3006 3007 // GoString returns the string representation. 3008 // 3009 // API parameter values that are decorated as "sensitive" in the API will not 3010 // be included in the string output. The member name will be present, but the 3011 // value will be replaced with "sensitive". 3012 func (s ExperimentTemplateTargetFilter) GoString() string { 3013 return s.String() 3014 } 3015 3016 // SetPath sets the Path field's value. 3017 func (s *ExperimentTemplateTargetFilter) SetPath(v string) *ExperimentTemplateTargetFilter { 3018 s.Path = &v 3019 return s 3020 } 3021 3022 // SetValues sets the Values field's value. 3023 func (s *ExperimentTemplateTargetFilter) SetValues(v []*string) *ExperimentTemplateTargetFilter { 3024 s.Values = v 3025 return s 3026 } 3027 3028 // Describes a filter used for the target resource input in an experiment template. 3029 type ExperimentTemplateTargetInputFilter struct { 3030 _ struct{} `type:"structure"` 3031 3032 // The attribute path for the filter. 3033 // 3034 // Path is a required field 3035 Path *string `locationName:"path" type:"string" required:"true"` 3036 3037 // The attribute values for the filter. 3038 // 3039 // Values is a required field 3040 Values []*string `locationName:"values" type:"list" required:"true"` 3041 } 3042 3043 // String returns the string representation. 3044 // 3045 // API parameter values that are decorated as "sensitive" in the API will not 3046 // be included in the string output. The member name will be present, but the 3047 // value will be replaced with "sensitive". 3048 func (s ExperimentTemplateTargetInputFilter) String() string { 3049 return awsutil.Prettify(s) 3050 } 3051 3052 // GoString returns the string representation. 3053 // 3054 // API parameter values that are decorated as "sensitive" in the API will not 3055 // be included in the string output. The member name will be present, but the 3056 // value will be replaced with "sensitive". 3057 func (s ExperimentTemplateTargetInputFilter) GoString() string { 3058 return s.String() 3059 } 3060 3061 // Validate inspects the fields of the type to determine if they are valid. 3062 func (s *ExperimentTemplateTargetInputFilter) Validate() error { 3063 invalidParams := request.ErrInvalidParams{Context: "ExperimentTemplateTargetInputFilter"} 3064 if s.Path == nil { 3065 invalidParams.Add(request.NewErrParamRequired("Path")) 3066 } 3067 if s.Values == nil { 3068 invalidParams.Add(request.NewErrParamRequired("Values")) 3069 } 3070 3071 if invalidParams.Len() > 0 { 3072 return invalidParams 3073 } 3074 return nil 3075 } 3076 3077 // SetPath sets the Path field's value. 3078 func (s *ExperimentTemplateTargetInputFilter) SetPath(v string) *ExperimentTemplateTargetInputFilter { 3079 s.Path = &v 3080 return s 3081 } 3082 3083 // SetValues sets the Values field's value. 3084 func (s *ExperimentTemplateTargetInputFilter) SetValues(v []*string) *ExperimentTemplateTargetInputFilter { 3085 s.Values = v 3086 return s 3087 } 3088 3089 type GetActionInput struct { 3090 _ struct{} `type:"structure" nopayload:"true"` 3091 3092 // The ID of the action. 3093 // 3094 // Id is a required field 3095 Id *string `location:"uri" locationName:"id" type:"string" required:"true"` 3096 } 3097 3098 // String returns the string representation. 3099 // 3100 // API parameter values that are decorated as "sensitive" in the API will not 3101 // be included in the string output. The member name will be present, but the 3102 // value will be replaced with "sensitive". 3103 func (s GetActionInput) String() string { 3104 return awsutil.Prettify(s) 3105 } 3106 3107 // GoString returns the string representation. 3108 // 3109 // API parameter values that are decorated as "sensitive" in the API will not 3110 // be included in the string output. The member name will be present, but the 3111 // value will be replaced with "sensitive". 3112 func (s GetActionInput) GoString() string { 3113 return s.String() 3114 } 3115 3116 // Validate inspects the fields of the type to determine if they are valid. 3117 func (s *GetActionInput) Validate() error { 3118 invalidParams := request.ErrInvalidParams{Context: "GetActionInput"} 3119 if s.Id == nil { 3120 invalidParams.Add(request.NewErrParamRequired("Id")) 3121 } 3122 if s.Id != nil && len(*s.Id) < 1 { 3123 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 3124 } 3125 3126 if invalidParams.Len() > 0 { 3127 return invalidParams 3128 } 3129 return nil 3130 } 3131 3132 // SetId sets the Id field's value. 3133 func (s *GetActionInput) SetId(v string) *GetActionInput { 3134 s.Id = &v 3135 return s 3136 } 3137 3138 type GetActionOutput struct { 3139 _ struct{} `type:"structure"` 3140 3141 // Information about the action. 3142 Action *Action `locationName:"action" type:"structure"` 3143 } 3144 3145 // String returns the string representation. 3146 // 3147 // API parameter values that are decorated as "sensitive" in the API will not 3148 // be included in the string output. The member name will be present, but the 3149 // value will be replaced with "sensitive". 3150 func (s GetActionOutput) String() string { 3151 return awsutil.Prettify(s) 3152 } 3153 3154 // GoString returns the string representation. 3155 // 3156 // API parameter values that are decorated as "sensitive" in the API will not 3157 // be included in the string output. The member name will be present, but the 3158 // value will be replaced with "sensitive". 3159 func (s GetActionOutput) GoString() string { 3160 return s.String() 3161 } 3162 3163 // SetAction sets the Action field's value. 3164 func (s *GetActionOutput) SetAction(v *Action) *GetActionOutput { 3165 s.Action = v 3166 return s 3167 } 3168 3169 type GetExperimentInput struct { 3170 _ struct{} `type:"structure" nopayload:"true"` 3171 3172 // The ID of the experiment. 3173 // 3174 // Id is a required field 3175 Id *string `location:"uri" locationName:"id" type:"string" required:"true"` 3176 } 3177 3178 // String returns the string representation. 3179 // 3180 // API parameter values that are decorated as "sensitive" in the API will not 3181 // be included in the string output. The member name will be present, but the 3182 // value will be replaced with "sensitive". 3183 func (s GetExperimentInput) String() string { 3184 return awsutil.Prettify(s) 3185 } 3186 3187 // GoString returns the string representation. 3188 // 3189 // API parameter values that are decorated as "sensitive" in the API will not 3190 // be included in the string output. The member name will be present, but the 3191 // value will be replaced with "sensitive". 3192 func (s GetExperimentInput) GoString() string { 3193 return s.String() 3194 } 3195 3196 // Validate inspects the fields of the type to determine if they are valid. 3197 func (s *GetExperimentInput) Validate() error { 3198 invalidParams := request.ErrInvalidParams{Context: "GetExperimentInput"} 3199 if s.Id == nil { 3200 invalidParams.Add(request.NewErrParamRequired("Id")) 3201 } 3202 if s.Id != nil && len(*s.Id) < 1 { 3203 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 3204 } 3205 3206 if invalidParams.Len() > 0 { 3207 return invalidParams 3208 } 3209 return nil 3210 } 3211 3212 // SetId sets the Id field's value. 3213 func (s *GetExperimentInput) SetId(v string) *GetExperimentInput { 3214 s.Id = &v 3215 return s 3216 } 3217 3218 type GetExperimentOutput struct { 3219 _ struct{} `type:"structure"` 3220 3221 // Information about the experiment. 3222 Experiment *Experiment `locationName:"experiment" type:"structure"` 3223 } 3224 3225 // String returns the string representation. 3226 // 3227 // API parameter values that are decorated as "sensitive" in the API will not 3228 // be included in the string output. The member name will be present, but the 3229 // value will be replaced with "sensitive". 3230 func (s GetExperimentOutput) String() string { 3231 return awsutil.Prettify(s) 3232 } 3233 3234 // GoString returns the string representation. 3235 // 3236 // API parameter values that are decorated as "sensitive" in the API will not 3237 // be included in the string output. The member name will be present, but the 3238 // value will be replaced with "sensitive". 3239 func (s GetExperimentOutput) GoString() string { 3240 return s.String() 3241 } 3242 3243 // SetExperiment sets the Experiment field's value. 3244 func (s *GetExperimentOutput) SetExperiment(v *Experiment) *GetExperimentOutput { 3245 s.Experiment = v 3246 return s 3247 } 3248 3249 type GetExperimentTemplateInput struct { 3250 _ struct{} `type:"structure" nopayload:"true"` 3251 3252 // The ID of the experiment template. 3253 // 3254 // Id is a required field 3255 Id *string `location:"uri" locationName:"id" type:"string" required:"true"` 3256 } 3257 3258 // String returns the string representation. 3259 // 3260 // API parameter values that are decorated as "sensitive" in the API will not 3261 // be included in the string output. The member name will be present, but the 3262 // value will be replaced with "sensitive". 3263 func (s GetExperimentTemplateInput) String() string { 3264 return awsutil.Prettify(s) 3265 } 3266 3267 // GoString returns the string representation. 3268 // 3269 // API parameter values that are decorated as "sensitive" in the API will not 3270 // be included in the string output. The member name will be present, but the 3271 // value will be replaced with "sensitive". 3272 func (s GetExperimentTemplateInput) GoString() string { 3273 return s.String() 3274 } 3275 3276 // Validate inspects the fields of the type to determine if they are valid. 3277 func (s *GetExperimentTemplateInput) Validate() error { 3278 invalidParams := request.ErrInvalidParams{Context: "GetExperimentTemplateInput"} 3279 if s.Id == nil { 3280 invalidParams.Add(request.NewErrParamRequired("Id")) 3281 } 3282 if s.Id != nil && len(*s.Id) < 1 { 3283 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 3284 } 3285 3286 if invalidParams.Len() > 0 { 3287 return invalidParams 3288 } 3289 return nil 3290 } 3291 3292 // SetId sets the Id field's value. 3293 func (s *GetExperimentTemplateInput) SetId(v string) *GetExperimentTemplateInput { 3294 s.Id = &v 3295 return s 3296 } 3297 3298 type GetExperimentTemplateOutput struct { 3299 _ struct{} `type:"structure"` 3300 3301 // Information about the experiment template. 3302 ExperimentTemplate *ExperimentTemplate `locationName:"experimentTemplate" type:"structure"` 3303 } 3304 3305 // String returns the string representation. 3306 // 3307 // API parameter values that are decorated as "sensitive" in the API will not 3308 // be included in the string output. The member name will be present, but the 3309 // value will be replaced with "sensitive". 3310 func (s GetExperimentTemplateOutput) String() string { 3311 return awsutil.Prettify(s) 3312 } 3313 3314 // GoString returns the string representation. 3315 // 3316 // API parameter values that are decorated as "sensitive" in the API will not 3317 // be included in the string output. The member name will be present, but the 3318 // value will be replaced with "sensitive". 3319 func (s GetExperimentTemplateOutput) GoString() string { 3320 return s.String() 3321 } 3322 3323 // SetExperimentTemplate sets the ExperimentTemplate field's value. 3324 func (s *GetExperimentTemplateOutput) SetExperimentTemplate(v *ExperimentTemplate) *GetExperimentTemplateOutput { 3325 s.ExperimentTemplate = v 3326 return s 3327 } 3328 3329 type ListActionsInput struct { 3330 _ struct{} `type:"structure" nopayload:"true"` 3331 3332 // The maximum number of results to return with a single call. To retrieve the 3333 // remaining results, make another call with the returned nextToken value. 3334 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 3335 3336 // The token for the next page of results. 3337 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 3338 } 3339 3340 // String returns the string representation. 3341 // 3342 // API parameter values that are decorated as "sensitive" in the API will not 3343 // be included in the string output. The member name will be present, but the 3344 // value will be replaced with "sensitive". 3345 func (s ListActionsInput) String() string { 3346 return awsutil.Prettify(s) 3347 } 3348 3349 // GoString returns the string representation. 3350 // 3351 // API parameter values that are decorated as "sensitive" in the API will not 3352 // be included in the string output. The member name will be present, but the 3353 // value will be replaced with "sensitive". 3354 func (s ListActionsInput) GoString() string { 3355 return s.String() 3356 } 3357 3358 // Validate inspects the fields of the type to determine if they are valid. 3359 func (s *ListActionsInput) Validate() error { 3360 invalidParams := request.ErrInvalidParams{Context: "ListActionsInput"} 3361 if s.MaxResults != nil && *s.MaxResults < 1 { 3362 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3363 } 3364 if s.NextToken != nil && len(*s.NextToken) < 1 { 3365 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 3366 } 3367 3368 if invalidParams.Len() > 0 { 3369 return invalidParams 3370 } 3371 return nil 3372 } 3373 3374 // SetMaxResults sets the MaxResults field's value. 3375 func (s *ListActionsInput) SetMaxResults(v int64) *ListActionsInput { 3376 s.MaxResults = &v 3377 return s 3378 } 3379 3380 // SetNextToken sets the NextToken field's value. 3381 func (s *ListActionsInput) SetNextToken(v string) *ListActionsInput { 3382 s.NextToken = &v 3383 return s 3384 } 3385 3386 type ListActionsOutput struct { 3387 _ struct{} `type:"structure"` 3388 3389 // The actions. 3390 Actions []*ActionSummary `locationName:"actions" type:"list"` 3391 3392 // The token to use to retrieve the next page of results. This value is null 3393 // when there are no more results to return. 3394 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 3395 } 3396 3397 // String returns the string representation. 3398 // 3399 // API parameter values that are decorated as "sensitive" in the API will not 3400 // be included in the string output. The member name will be present, but the 3401 // value will be replaced with "sensitive". 3402 func (s ListActionsOutput) String() string { 3403 return awsutil.Prettify(s) 3404 } 3405 3406 // GoString returns the string representation. 3407 // 3408 // API parameter values that are decorated as "sensitive" in the API will not 3409 // be included in the string output. The member name will be present, but the 3410 // value will be replaced with "sensitive". 3411 func (s ListActionsOutput) GoString() string { 3412 return s.String() 3413 } 3414 3415 // SetActions sets the Actions field's value. 3416 func (s *ListActionsOutput) SetActions(v []*ActionSummary) *ListActionsOutput { 3417 s.Actions = v 3418 return s 3419 } 3420 3421 // SetNextToken sets the NextToken field's value. 3422 func (s *ListActionsOutput) SetNextToken(v string) *ListActionsOutput { 3423 s.NextToken = &v 3424 return s 3425 } 3426 3427 type ListExperimentTemplatesInput struct { 3428 _ struct{} `type:"structure" nopayload:"true"` 3429 3430 // The maximum number of results to return with a single call. To retrieve the 3431 // remaining results, make another call with the returned nextToken value. 3432 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 3433 3434 // The token for the next page of results. 3435 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 3436 } 3437 3438 // String returns the string representation. 3439 // 3440 // API parameter values that are decorated as "sensitive" in the API will not 3441 // be included in the string output. The member name will be present, but the 3442 // value will be replaced with "sensitive". 3443 func (s ListExperimentTemplatesInput) String() string { 3444 return awsutil.Prettify(s) 3445 } 3446 3447 // GoString returns the string representation. 3448 // 3449 // API parameter values that are decorated as "sensitive" in the API will not 3450 // be included in the string output. The member name will be present, but the 3451 // value will be replaced with "sensitive". 3452 func (s ListExperimentTemplatesInput) GoString() string { 3453 return s.String() 3454 } 3455 3456 // Validate inspects the fields of the type to determine if they are valid. 3457 func (s *ListExperimentTemplatesInput) Validate() error { 3458 invalidParams := request.ErrInvalidParams{Context: "ListExperimentTemplatesInput"} 3459 if s.MaxResults != nil && *s.MaxResults < 1 { 3460 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3461 } 3462 if s.NextToken != nil && len(*s.NextToken) < 1 { 3463 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 3464 } 3465 3466 if invalidParams.Len() > 0 { 3467 return invalidParams 3468 } 3469 return nil 3470 } 3471 3472 // SetMaxResults sets the MaxResults field's value. 3473 func (s *ListExperimentTemplatesInput) SetMaxResults(v int64) *ListExperimentTemplatesInput { 3474 s.MaxResults = &v 3475 return s 3476 } 3477 3478 // SetNextToken sets the NextToken field's value. 3479 func (s *ListExperimentTemplatesInput) SetNextToken(v string) *ListExperimentTemplatesInput { 3480 s.NextToken = &v 3481 return s 3482 } 3483 3484 type ListExperimentTemplatesOutput struct { 3485 _ struct{} `type:"structure"` 3486 3487 // The experiment templates. 3488 ExperimentTemplates []*ExperimentTemplateSummary `locationName:"experimentTemplates" type:"list"` 3489 3490 // The token to use to retrieve the next page of results. This value is null 3491 // when there are no more results to return. 3492 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 3493 } 3494 3495 // String returns the string representation. 3496 // 3497 // API parameter values that are decorated as "sensitive" in the API will not 3498 // be included in the string output. The member name will be present, but the 3499 // value will be replaced with "sensitive". 3500 func (s ListExperimentTemplatesOutput) String() string { 3501 return awsutil.Prettify(s) 3502 } 3503 3504 // GoString returns the string representation. 3505 // 3506 // API parameter values that are decorated as "sensitive" in the API will not 3507 // be included in the string output. The member name will be present, but the 3508 // value will be replaced with "sensitive". 3509 func (s ListExperimentTemplatesOutput) GoString() string { 3510 return s.String() 3511 } 3512 3513 // SetExperimentTemplates sets the ExperimentTemplates field's value. 3514 func (s *ListExperimentTemplatesOutput) SetExperimentTemplates(v []*ExperimentTemplateSummary) *ListExperimentTemplatesOutput { 3515 s.ExperimentTemplates = v 3516 return s 3517 } 3518 3519 // SetNextToken sets the NextToken field's value. 3520 func (s *ListExperimentTemplatesOutput) SetNextToken(v string) *ListExperimentTemplatesOutput { 3521 s.NextToken = &v 3522 return s 3523 } 3524 3525 type ListExperimentsInput struct { 3526 _ struct{} `type:"structure" nopayload:"true"` 3527 3528 // The maximum number of results to return with a single call. To retrieve the 3529 // remaining results, make another call with the returned nextToken value. 3530 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 3531 3532 // The token for the next page of results. 3533 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 3534 } 3535 3536 // String returns the string representation. 3537 // 3538 // API parameter values that are decorated as "sensitive" in the API will not 3539 // be included in the string output. The member name will be present, but the 3540 // value will be replaced with "sensitive". 3541 func (s ListExperimentsInput) String() string { 3542 return awsutil.Prettify(s) 3543 } 3544 3545 // GoString returns the string representation. 3546 // 3547 // API parameter values that are decorated as "sensitive" in the API will not 3548 // be included in the string output. The member name will be present, but the 3549 // value will be replaced with "sensitive". 3550 func (s ListExperimentsInput) GoString() string { 3551 return s.String() 3552 } 3553 3554 // Validate inspects the fields of the type to determine if they are valid. 3555 func (s *ListExperimentsInput) Validate() error { 3556 invalidParams := request.ErrInvalidParams{Context: "ListExperimentsInput"} 3557 if s.MaxResults != nil && *s.MaxResults < 1 { 3558 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3559 } 3560 if s.NextToken != nil && len(*s.NextToken) < 1 { 3561 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 3562 } 3563 3564 if invalidParams.Len() > 0 { 3565 return invalidParams 3566 } 3567 return nil 3568 } 3569 3570 // SetMaxResults sets the MaxResults field's value. 3571 func (s *ListExperimentsInput) SetMaxResults(v int64) *ListExperimentsInput { 3572 s.MaxResults = &v 3573 return s 3574 } 3575 3576 // SetNextToken sets the NextToken field's value. 3577 func (s *ListExperimentsInput) SetNextToken(v string) *ListExperimentsInput { 3578 s.NextToken = &v 3579 return s 3580 } 3581 3582 type ListExperimentsOutput struct { 3583 _ struct{} `type:"structure"` 3584 3585 // The experiments. 3586 Experiments []*ExperimentSummary `locationName:"experiments" type:"list"` 3587 3588 // The token to use to retrieve the next page of results. This value is null 3589 // when there are no more results to return. 3590 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 3591 } 3592 3593 // String returns the string representation. 3594 // 3595 // API parameter values that are decorated as "sensitive" in the API will not 3596 // be included in the string output. The member name will be present, but the 3597 // value will be replaced with "sensitive". 3598 func (s ListExperimentsOutput) String() string { 3599 return awsutil.Prettify(s) 3600 } 3601 3602 // GoString returns the string representation. 3603 // 3604 // API parameter values that are decorated as "sensitive" in the API will not 3605 // be included in the string output. The member name will be present, but the 3606 // value will be replaced with "sensitive". 3607 func (s ListExperimentsOutput) GoString() string { 3608 return s.String() 3609 } 3610 3611 // SetExperiments sets the Experiments field's value. 3612 func (s *ListExperimentsOutput) SetExperiments(v []*ExperimentSummary) *ListExperimentsOutput { 3613 s.Experiments = v 3614 return s 3615 } 3616 3617 // SetNextToken sets the NextToken field's value. 3618 func (s *ListExperimentsOutput) SetNextToken(v string) *ListExperimentsOutput { 3619 s.NextToken = &v 3620 return s 3621 } 3622 3623 type ListTagsForResourceInput struct { 3624 _ struct{} `type:"structure" nopayload:"true"` 3625 3626 // The Amazon Resource Name (ARN) of the resource. 3627 // 3628 // ResourceArn is a required field 3629 ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` 3630 } 3631 3632 // String returns the string representation. 3633 // 3634 // API parameter values that are decorated as "sensitive" in the API will not 3635 // be included in the string output. The member name will be present, but the 3636 // value will be replaced with "sensitive". 3637 func (s ListTagsForResourceInput) String() string { 3638 return awsutil.Prettify(s) 3639 } 3640 3641 // GoString returns the string representation. 3642 // 3643 // API parameter values that are decorated as "sensitive" in the API will not 3644 // be included in the string output. The member name will be present, but the 3645 // value will be replaced with "sensitive". 3646 func (s ListTagsForResourceInput) GoString() string { 3647 return s.String() 3648 } 3649 3650 // Validate inspects the fields of the type to determine if they are valid. 3651 func (s *ListTagsForResourceInput) Validate() error { 3652 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 3653 if s.ResourceArn == nil { 3654 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 3655 } 3656 if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { 3657 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) 3658 } 3659 3660 if invalidParams.Len() > 0 { 3661 return invalidParams 3662 } 3663 return nil 3664 } 3665 3666 // SetResourceArn sets the ResourceArn field's value. 3667 func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 3668 s.ResourceArn = &v 3669 return s 3670 } 3671 3672 type ListTagsForResourceOutput struct { 3673 _ struct{} `type:"structure"` 3674 3675 // The tags for the resource. 3676 Tags map[string]*string `locationName:"tags" type:"map"` 3677 } 3678 3679 // String returns the string representation. 3680 // 3681 // API parameter values that are decorated as "sensitive" in the API will not 3682 // be included in the string output. The member name will be present, but the 3683 // value will be replaced with "sensitive". 3684 func (s ListTagsForResourceOutput) String() string { 3685 return awsutil.Prettify(s) 3686 } 3687 3688 // GoString returns the string representation. 3689 // 3690 // API parameter values that are decorated as "sensitive" in the API will not 3691 // be included in the string output. The member name will be present, but the 3692 // value will be replaced with "sensitive". 3693 func (s ListTagsForResourceOutput) GoString() string { 3694 return s.String() 3695 } 3696 3697 // SetTags sets the Tags field's value. 3698 func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { 3699 s.Tags = v 3700 return s 3701 } 3702 3703 // The specified resource cannot be found. 3704 type ResourceNotFoundException struct { 3705 _ struct{} `type:"structure"` 3706 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3707 3708 Message_ *string `locationName:"message" type:"string"` 3709 } 3710 3711 // String returns the string representation. 3712 // 3713 // API parameter values that are decorated as "sensitive" in the API will not 3714 // be included in the string output. The member name will be present, but the 3715 // value will be replaced with "sensitive". 3716 func (s ResourceNotFoundException) String() string { 3717 return awsutil.Prettify(s) 3718 } 3719 3720 // GoString returns the string representation. 3721 // 3722 // API parameter values that are decorated as "sensitive" in the API will not 3723 // be included in the string output. The member name will be present, but the 3724 // value will be replaced with "sensitive". 3725 func (s ResourceNotFoundException) GoString() string { 3726 return s.String() 3727 } 3728 3729 func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 3730 return &ResourceNotFoundException{ 3731 RespMetadata: v, 3732 } 3733 } 3734 3735 // Code returns the exception type name. 3736 func (s *ResourceNotFoundException) Code() string { 3737 return "ResourceNotFoundException" 3738 } 3739 3740 // Message returns the exception's message. 3741 func (s *ResourceNotFoundException) Message() string { 3742 if s.Message_ != nil { 3743 return *s.Message_ 3744 } 3745 return "" 3746 } 3747 3748 // OrigErr always returns nil, satisfies awserr.Error interface. 3749 func (s *ResourceNotFoundException) OrigErr() error { 3750 return nil 3751 } 3752 3753 func (s *ResourceNotFoundException) Error() string { 3754 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3755 } 3756 3757 // Status code returns the HTTP status code for the request's response error. 3758 func (s *ResourceNotFoundException) StatusCode() int { 3759 return s.RespMetadata.StatusCode 3760 } 3761 3762 // RequestID returns the service's response RequestID for request. 3763 func (s *ResourceNotFoundException) RequestID() string { 3764 return s.RespMetadata.RequestID 3765 } 3766 3767 // You have exceeded your service quota. 3768 type ServiceQuotaExceededException struct { 3769 _ struct{} `type:"structure"` 3770 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3771 3772 Message_ *string `locationName:"message" type:"string"` 3773 } 3774 3775 // String returns the string representation. 3776 // 3777 // API parameter values that are decorated as "sensitive" in the API will not 3778 // be included in the string output. The member name will be present, but the 3779 // value will be replaced with "sensitive". 3780 func (s ServiceQuotaExceededException) String() string { 3781 return awsutil.Prettify(s) 3782 } 3783 3784 // GoString returns the string representation. 3785 // 3786 // API parameter values that are decorated as "sensitive" in the API will not 3787 // be included in the string output. The member name will be present, but the 3788 // value will be replaced with "sensitive". 3789 func (s ServiceQuotaExceededException) GoString() string { 3790 return s.String() 3791 } 3792 3793 func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { 3794 return &ServiceQuotaExceededException{ 3795 RespMetadata: v, 3796 } 3797 } 3798 3799 // Code returns the exception type name. 3800 func (s *ServiceQuotaExceededException) Code() string { 3801 return "ServiceQuotaExceededException" 3802 } 3803 3804 // Message returns the exception's message. 3805 func (s *ServiceQuotaExceededException) Message() string { 3806 if s.Message_ != nil { 3807 return *s.Message_ 3808 } 3809 return "" 3810 } 3811 3812 // OrigErr always returns nil, satisfies awserr.Error interface. 3813 func (s *ServiceQuotaExceededException) OrigErr() error { 3814 return nil 3815 } 3816 3817 func (s *ServiceQuotaExceededException) Error() string { 3818 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3819 } 3820 3821 // Status code returns the HTTP status code for the request's response error. 3822 func (s *ServiceQuotaExceededException) StatusCode() int { 3823 return s.RespMetadata.StatusCode 3824 } 3825 3826 // RequestID returns the service's response RequestID for request. 3827 func (s *ServiceQuotaExceededException) RequestID() string { 3828 return s.RespMetadata.RequestID 3829 } 3830 3831 type StartExperimentInput struct { 3832 _ struct{} `type:"structure"` 3833 3834 // Unique, case-sensitive identifier that you provide to ensure the idempotency 3835 // of the request. 3836 ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` 3837 3838 // The ID of the experiment template. 3839 // 3840 // ExperimentTemplateId is a required field 3841 ExperimentTemplateId *string `locationName:"experimentTemplateId" type:"string" required:"true"` 3842 3843 // The tags to apply to the experiment. 3844 Tags map[string]*string `locationName:"tags" type:"map"` 3845 } 3846 3847 // String returns the string representation. 3848 // 3849 // API parameter values that are decorated as "sensitive" in the API will not 3850 // be included in the string output. The member name will be present, but the 3851 // value will be replaced with "sensitive". 3852 func (s StartExperimentInput) String() string { 3853 return awsutil.Prettify(s) 3854 } 3855 3856 // GoString returns the string representation. 3857 // 3858 // API parameter values that are decorated as "sensitive" in the API will not 3859 // be included in the string output. The member name will be present, but the 3860 // value will be replaced with "sensitive". 3861 func (s StartExperimentInput) GoString() string { 3862 return s.String() 3863 } 3864 3865 // Validate inspects the fields of the type to determine if they are valid. 3866 func (s *StartExperimentInput) Validate() error { 3867 invalidParams := request.ErrInvalidParams{Context: "StartExperimentInput"} 3868 if s.ClientToken != nil && len(*s.ClientToken) < 1 { 3869 invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) 3870 } 3871 if s.ExperimentTemplateId == nil { 3872 invalidParams.Add(request.NewErrParamRequired("ExperimentTemplateId")) 3873 } 3874 3875 if invalidParams.Len() > 0 { 3876 return invalidParams 3877 } 3878 return nil 3879 } 3880 3881 // SetClientToken sets the ClientToken field's value. 3882 func (s *StartExperimentInput) SetClientToken(v string) *StartExperimentInput { 3883 s.ClientToken = &v 3884 return s 3885 } 3886 3887 // SetExperimentTemplateId sets the ExperimentTemplateId field's value. 3888 func (s *StartExperimentInput) SetExperimentTemplateId(v string) *StartExperimentInput { 3889 s.ExperimentTemplateId = &v 3890 return s 3891 } 3892 3893 // SetTags sets the Tags field's value. 3894 func (s *StartExperimentInput) SetTags(v map[string]*string) *StartExperimentInput { 3895 s.Tags = v 3896 return s 3897 } 3898 3899 type StartExperimentOutput struct { 3900 _ struct{} `type:"structure"` 3901 3902 // Information about the experiment. 3903 Experiment *Experiment `locationName:"experiment" type:"structure"` 3904 } 3905 3906 // String returns the string representation. 3907 // 3908 // API parameter values that are decorated as "sensitive" in the API will not 3909 // be included in the string output. The member name will be present, but the 3910 // value will be replaced with "sensitive". 3911 func (s StartExperimentOutput) String() string { 3912 return awsutil.Prettify(s) 3913 } 3914 3915 // GoString returns the string representation. 3916 // 3917 // API parameter values that are decorated as "sensitive" in the API will not 3918 // be included in the string output. The member name will be present, but the 3919 // value will be replaced with "sensitive". 3920 func (s StartExperimentOutput) GoString() string { 3921 return s.String() 3922 } 3923 3924 // SetExperiment sets the Experiment field's value. 3925 func (s *StartExperimentOutput) SetExperiment(v *Experiment) *StartExperimentOutput { 3926 s.Experiment = v 3927 return s 3928 } 3929 3930 type StopExperimentInput struct { 3931 _ struct{} `type:"structure" nopayload:"true"` 3932 3933 // The ID of the experiment. 3934 // 3935 // Id is a required field 3936 Id *string `location:"uri" locationName:"id" type:"string" required:"true"` 3937 } 3938 3939 // String returns the string representation. 3940 // 3941 // API parameter values that are decorated as "sensitive" in the API will not 3942 // be included in the string output. The member name will be present, but the 3943 // value will be replaced with "sensitive". 3944 func (s StopExperimentInput) String() string { 3945 return awsutil.Prettify(s) 3946 } 3947 3948 // GoString returns the string representation. 3949 // 3950 // API parameter values that are decorated as "sensitive" in the API will not 3951 // be included in the string output. The member name will be present, but the 3952 // value will be replaced with "sensitive". 3953 func (s StopExperimentInput) GoString() string { 3954 return s.String() 3955 } 3956 3957 // Validate inspects the fields of the type to determine if they are valid. 3958 func (s *StopExperimentInput) Validate() error { 3959 invalidParams := request.ErrInvalidParams{Context: "StopExperimentInput"} 3960 if s.Id == nil { 3961 invalidParams.Add(request.NewErrParamRequired("Id")) 3962 } 3963 if s.Id != nil && len(*s.Id) < 1 { 3964 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 3965 } 3966 3967 if invalidParams.Len() > 0 { 3968 return invalidParams 3969 } 3970 return nil 3971 } 3972 3973 // SetId sets the Id field's value. 3974 func (s *StopExperimentInput) SetId(v string) *StopExperimentInput { 3975 s.Id = &v 3976 return s 3977 } 3978 3979 type StopExperimentOutput struct { 3980 _ struct{} `type:"structure"` 3981 3982 // Information about the experiment. 3983 Experiment *Experiment `locationName:"experiment" type:"structure"` 3984 } 3985 3986 // String returns the string representation. 3987 // 3988 // API parameter values that are decorated as "sensitive" in the API will not 3989 // be included in the string output. The member name will be present, but the 3990 // value will be replaced with "sensitive". 3991 func (s StopExperimentOutput) String() string { 3992 return awsutil.Prettify(s) 3993 } 3994 3995 // GoString returns the string representation. 3996 // 3997 // API parameter values that are decorated as "sensitive" in the API will not 3998 // be included in the string output. The member name will be present, but the 3999 // value will be replaced with "sensitive". 4000 func (s StopExperimentOutput) GoString() string { 4001 return s.String() 4002 } 4003 4004 // SetExperiment sets the Experiment field's value. 4005 func (s *StopExperimentOutput) SetExperiment(v *Experiment) *StopExperimentOutput { 4006 s.Experiment = v 4007 return s 4008 } 4009 4010 type TagResourceInput struct { 4011 _ struct{} `type:"structure"` 4012 4013 // The Amazon Resource Name (ARN) of the resource. 4014 // 4015 // ResourceArn is a required field 4016 ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` 4017 4018 // The tags for the resource. 4019 // 4020 // Tags is a required field 4021 Tags map[string]*string `locationName:"tags" type:"map" required:"true"` 4022 } 4023 4024 // String returns the string representation. 4025 // 4026 // API parameter values that are decorated as "sensitive" in the API will not 4027 // be included in the string output. The member name will be present, but the 4028 // value will be replaced with "sensitive". 4029 func (s TagResourceInput) String() string { 4030 return awsutil.Prettify(s) 4031 } 4032 4033 // GoString returns the string representation. 4034 // 4035 // API parameter values that are decorated as "sensitive" in the API will not 4036 // be included in the string output. The member name will be present, but the 4037 // value will be replaced with "sensitive". 4038 func (s TagResourceInput) GoString() string { 4039 return s.String() 4040 } 4041 4042 // Validate inspects the fields of the type to determine if they are valid. 4043 func (s *TagResourceInput) Validate() error { 4044 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 4045 if s.ResourceArn == nil { 4046 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 4047 } 4048 if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { 4049 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) 4050 } 4051 if s.Tags == nil { 4052 invalidParams.Add(request.NewErrParamRequired("Tags")) 4053 } 4054 4055 if invalidParams.Len() > 0 { 4056 return invalidParams 4057 } 4058 return nil 4059 } 4060 4061 // SetResourceArn sets the ResourceArn field's value. 4062 func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 4063 s.ResourceArn = &v 4064 return s 4065 } 4066 4067 // SetTags sets the Tags field's value. 4068 func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { 4069 s.Tags = v 4070 return s 4071 } 4072 4073 type TagResourceOutput struct { 4074 _ struct{} `type:"structure" nopayload:"true"` 4075 } 4076 4077 // String returns the string representation. 4078 // 4079 // API parameter values that are decorated as "sensitive" in the API will not 4080 // be included in the string output. The member name will be present, but the 4081 // value will be replaced with "sensitive". 4082 func (s TagResourceOutput) String() string { 4083 return awsutil.Prettify(s) 4084 } 4085 4086 // GoString returns the string representation. 4087 // 4088 // API parameter values that are decorated as "sensitive" in the API will not 4089 // be included in the string output. The member name will be present, but the 4090 // value will be replaced with "sensitive". 4091 func (s TagResourceOutput) GoString() string { 4092 return s.String() 4093 } 4094 4095 type UntagResourceInput struct { 4096 _ struct{} `type:"structure" nopayload:"true"` 4097 4098 // The Amazon Resource Name (ARN) of the resource. 4099 // 4100 // ResourceArn is a required field 4101 ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` 4102 4103 // The tag keys to remove. 4104 TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list"` 4105 } 4106 4107 // String returns the string representation. 4108 // 4109 // API parameter values that are decorated as "sensitive" in the API will not 4110 // be included in the string output. The member name will be present, but the 4111 // value will be replaced with "sensitive". 4112 func (s UntagResourceInput) String() string { 4113 return awsutil.Prettify(s) 4114 } 4115 4116 // GoString returns the string representation. 4117 // 4118 // API parameter values that are decorated as "sensitive" in the API will not 4119 // be included in the string output. The member name will be present, but the 4120 // value will be replaced with "sensitive". 4121 func (s UntagResourceInput) GoString() string { 4122 return s.String() 4123 } 4124 4125 // Validate inspects the fields of the type to determine if they are valid. 4126 func (s *UntagResourceInput) Validate() error { 4127 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 4128 if s.ResourceArn == nil { 4129 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 4130 } 4131 if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { 4132 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) 4133 } 4134 4135 if invalidParams.Len() > 0 { 4136 return invalidParams 4137 } 4138 return nil 4139 } 4140 4141 // SetResourceArn sets the ResourceArn field's value. 4142 func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 4143 s.ResourceArn = &v 4144 return s 4145 } 4146 4147 // SetTagKeys sets the TagKeys field's value. 4148 func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 4149 s.TagKeys = v 4150 return s 4151 } 4152 4153 type UntagResourceOutput struct { 4154 _ struct{} `type:"structure" nopayload:"true"` 4155 } 4156 4157 // String returns the string representation. 4158 // 4159 // API parameter values that are decorated as "sensitive" in the API will not 4160 // be included in the string output. The member name will be present, but the 4161 // value will be replaced with "sensitive". 4162 func (s UntagResourceOutput) String() string { 4163 return awsutil.Prettify(s) 4164 } 4165 4166 // GoString returns the string representation. 4167 // 4168 // API parameter values that are decorated as "sensitive" in the API will not 4169 // be included in the string output. The member name will be present, but the 4170 // value will be replaced with "sensitive". 4171 func (s UntagResourceOutput) GoString() string { 4172 return s.String() 4173 } 4174 4175 // Specifies an action for an experiment template. 4176 type UpdateExperimentTemplateActionInputItem struct { 4177 _ struct{} `type:"structure"` 4178 4179 // The ID of the action. 4180 ActionId *string `locationName:"actionId" type:"string"` 4181 4182 // A description for the action. 4183 Description *string `locationName:"description" type:"string"` 4184 4185 // The parameters for the action, if applicable. 4186 Parameters map[string]*string `locationName:"parameters" type:"map"` 4187 4188 // The name of the action that must be completed before the current action starts. 4189 // Omit this parameter to run the action at the start of the experiment. 4190 StartAfter []*string `locationName:"startAfter" type:"list"` 4191 4192 // The targets for the action. 4193 Targets map[string]*string `locationName:"targets" type:"map"` 4194 } 4195 4196 // String returns the string representation. 4197 // 4198 // API parameter values that are decorated as "sensitive" in the API will not 4199 // be included in the string output. The member name will be present, but the 4200 // value will be replaced with "sensitive". 4201 func (s UpdateExperimentTemplateActionInputItem) String() string { 4202 return awsutil.Prettify(s) 4203 } 4204 4205 // GoString returns the string representation. 4206 // 4207 // API parameter values that are decorated as "sensitive" in the API will not 4208 // be included in the string output. The member name will be present, but the 4209 // value will be replaced with "sensitive". 4210 func (s UpdateExperimentTemplateActionInputItem) GoString() string { 4211 return s.String() 4212 } 4213 4214 // SetActionId sets the ActionId field's value. 4215 func (s *UpdateExperimentTemplateActionInputItem) SetActionId(v string) *UpdateExperimentTemplateActionInputItem { 4216 s.ActionId = &v 4217 return s 4218 } 4219 4220 // SetDescription sets the Description field's value. 4221 func (s *UpdateExperimentTemplateActionInputItem) SetDescription(v string) *UpdateExperimentTemplateActionInputItem { 4222 s.Description = &v 4223 return s 4224 } 4225 4226 // SetParameters sets the Parameters field's value. 4227 func (s *UpdateExperimentTemplateActionInputItem) SetParameters(v map[string]*string) *UpdateExperimentTemplateActionInputItem { 4228 s.Parameters = v 4229 return s 4230 } 4231 4232 // SetStartAfter sets the StartAfter field's value. 4233 func (s *UpdateExperimentTemplateActionInputItem) SetStartAfter(v []*string) *UpdateExperimentTemplateActionInputItem { 4234 s.StartAfter = v 4235 return s 4236 } 4237 4238 // SetTargets sets the Targets field's value. 4239 func (s *UpdateExperimentTemplateActionInputItem) SetTargets(v map[string]*string) *UpdateExperimentTemplateActionInputItem { 4240 s.Targets = v 4241 return s 4242 } 4243 4244 type UpdateExperimentTemplateInput struct { 4245 _ struct{} `type:"structure"` 4246 4247 // The actions for the experiment. 4248 Actions map[string]*UpdateExperimentTemplateActionInputItem `locationName:"actions" type:"map"` 4249 4250 // A description for the template. 4251 Description *string `locationName:"description" type:"string"` 4252 4253 // The ID of the experiment template. 4254 // 4255 // Id is a required field 4256 Id *string `location:"uri" locationName:"id" type:"string" required:"true"` 4257 4258 // The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service 4259 // permission to perform service actions on your behalf. 4260 RoleArn *string `locationName:"roleArn" min:"20" type:"string"` 4261 4262 // The stop conditions for the experiment. 4263 StopConditions []*UpdateExperimentTemplateStopConditionInput `locationName:"stopConditions" type:"list"` 4264 4265 // The targets for the experiment. 4266 Targets map[string]*UpdateExperimentTemplateTargetInput `locationName:"targets" type:"map"` 4267 } 4268 4269 // String returns the string representation. 4270 // 4271 // API parameter values that are decorated as "sensitive" in the API will not 4272 // be included in the string output. The member name will be present, but the 4273 // value will be replaced with "sensitive". 4274 func (s UpdateExperimentTemplateInput) String() string { 4275 return awsutil.Prettify(s) 4276 } 4277 4278 // GoString returns the string representation. 4279 // 4280 // API parameter values that are decorated as "sensitive" in the API will not 4281 // be included in the string output. The member name will be present, but the 4282 // value will be replaced with "sensitive". 4283 func (s UpdateExperimentTemplateInput) GoString() string { 4284 return s.String() 4285 } 4286 4287 // Validate inspects the fields of the type to determine if they are valid. 4288 func (s *UpdateExperimentTemplateInput) Validate() error { 4289 invalidParams := request.ErrInvalidParams{Context: "UpdateExperimentTemplateInput"} 4290 if s.Id == nil { 4291 invalidParams.Add(request.NewErrParamRequired("Id")) 4292 } 4293 if s.Id != nil && len(*s.Id) < 1 { 4294 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 4295 } 4296 if s.RoleArn != nil && len(*s.RoleArn) < 20 { 4297 invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) 4298 } 4299 if s.StopConditions != nil { 4300 for i, v := range s.StopConditions { 4301 if v == nil { 4302 continue 4303 } 4304 if err := v.Validate(); err != nil { 4305 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StopConditions", i), err.(request.ErrInvalidParams)) 4306 } 4307 } 4308 } 4309 if s.Targets != nil { 4310 for i, v := range s.Targets { 4311 if v == nil { 4312 continue 4313 } 4314 if err := v.Validate(); err != nil { 4315 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) 4316 } 4317 } 4318 } 4319 4320 if invalidParams.Len() > 0 { 4321 return invalidParams 4322 } 4323 return nil 4324 } 4325 4326 // SetActions sets the Actions field's value. 4327 func (s *UpdateExperimentTemplateInput) SetActions(v map[string]*UpdateExperimentTemplateActionInputItem) *UpdateExperimentTemplateInput { 4328 s.Actions = v 4329 return s 4330 } 4331 4332 // SetDescription sets the Description field's value. 4333 func (s *UpdateExperimentTemplateInput) SetDescription(v string) *UpdateExperimentTemplateInput { 4334 s.Description = &v 4335 return s 4336 } 4337 4338 // SetId sets the Id field's value. 4339 func (s *UpdateExperimentTemplateInput) SetId(v string) *UpdateExperimentTemplateInput { 4340 s.Id = &v 4341 return s 4342 } 4343 4344 // SetRoleArn sets the RoleArn field's value. 4345 func (s *UpdateExperimentTemplateInput) SetRoleArn(v string) *UpdateExperimentTemplateInput { 4346 s.RoleArn = &v 4347 return s 4348 } 4349 4350 // SetStopConditions sets the StopConditions field's value. 4351 func (s *UpdateExperimentTemplateInput) SetStopConditions(v []*UpdateExperimentTemplateStopConditionInput) *UpdateExperimentTemplateInput { 4352 s.StopConditions = v 4353 return s 4354 } 4355 4356 // SetTargets sets the Targets field's value. 4357 func (s *UpdateExperimentTemplateInput) SetTargets(v map[string]*UpdateExperimentTemplateTargetInput) *UpdateExperimentTemplateInput { 4358 s.Targets = v 4359 return s 4360 } 4361 4362 type UpdateExperimentTemplateOutput struct { 4363 _ struct{} `type:"structure"` 4364 4365 // Information about the experiment template. 4366 ExperimentTemplate *ExperimentTemplate `locationName:"experimentTemplate" type:"structure"` 4367 } 4368 4369 // String returns the string representation. 4370 // 4371 // API parameter values that are decorated as "sensitive" in the API will not 4372 // be included in the string output. The member name will be present, but the 4373 // value will be replaced with "sensitive". 4374 func (s UpdateExperimentTemplateOutput) String() string { 4375 return awsutil.Prettify(s) 4376 } 4377 4378 // GoString returns the string representation. 4379 // 4380 // API parameter values that are decorated as "sensitive" in the API will not 4381 // be included in the string output. The member name will be present, but the 4382 // value will be replaced with "sensitive". 4383 func (s UpdateExperimentTemplateOutput) GoString() string { 4384 return s.String() 4385 } 4386 4387 // SetExperimentTemplate sets the ExperimentTemplate field's value. 4388 func (s *UpdateExperimentTemplateOutput) SetExperimentTemplate(v *ExperimentTemplate) *UpdateExperimentTemplateOutput { 4389 s.ExperimentTemplate = v 4390 return s 4391 } 4392 4393 // Specifies a stop condition for an experiment. You can define a stop condition 4394 // as a CloudWatch alarm. 4395 type UpdateExperimentTemplateStopConditionInput struct { 4396 _ struct{} `type:"structure"` 4397 4398 // The source for the stop condition. Specify aws:cloudwatch:alarm if the stop 4399 // condition is defined by a CloudWatch alarm. Specify none if there is no stop 4400 // condition. 4401 // 4402 // Source is a required field 4403 Source *string `locationName:"source" type:"string" required:"true"` 4404 4405 // The Amazon Resource Name (ARN) of the CloudWatch alarm. 4406 Value *string `locationName:"value" min:"20" type:"string"` 4407 } 4408 4409 // String returns the string representation. 4410 // 4411 // API parameter values that are decorated as "sensitive" in the API will not 4412 // be included in the string output. The member name will be present, but the 4413 // value will be replaced with "sensitive". 4414 func (s UpdateExperimentTemplateStopConditionInput) String() string { 4415 return awsutil.Prettify(s) 4416 } 4417 4418 // GoString returns the string representation. 4419 // 4420 // API parameter values that are decorated as "sensitive" in the API will not 4421 // be included in the string output. The member name will be present, but the 4422 // value will be replaced with "sensitive". 4423 func (s UpdateExperimentTemplateStopConditionInput) GoString() string { 4424 return s.String() 4425 } 4426 4427 // Validate inspects the fields of the type to determine if they are valid. 4428 func (s *UpdateExperimentTemplateStopConditionInput) Validate() error { 4429 invalidParams := request.ErrInvalidParams{Context: "UpdateExperimentTemplateStopConditionInput"} 4430 if s.Source == nil { 4431 invalidParams.Add(request.NewErrParamRequired("Source")) 4432 } 4433 if s.Value != nil && len(*s.Value) < 20 { 4434 invalidParams.Add(request.NewErrParamMinLen("Value", 20)) 4435 } 4436 4437 if invalidParams.Len() > 0 { 4438 return invalidParams 4439 } 4440 return nil 4441 } 4442 4443 // SetSource sets the Source field's value. 4444 func (s *UpdateExperimentTemplateStopConditionInput) SetSource(v string) *UpdateExperimentTemplateStopConditionInput { 4445 s.Source = &v 4446 return s 4447 } 4448 4449 // SetValue sets the Value field's value. 4450 func (s *UpdateExperimentTemplateStopConditionInput) SetValue(v string) *UpdateExperimentTemplateStopConditionInput { 4451 s.Value = &v 4452 return s 4453 } 4454 4455 // Specifies a target for an experiment. You must specify at least one Amazon 4456 // Resource Name (ARN) or at least one resource tag. You cannot specify both. 4457 type UpdateExperimentTemplateTargetInput struct { 4458 _ struct{} `type:"structure"` 4459 4460 // The filters to apply to identify target resources using specific attributes. 4461 Filters []*ExperimentTemplateTargetInputFilter `locationName:"filters" type:"list"` 4462 4463 // The Amazon Resource Names (ARNs) of the targets. 4464 ResourceArns []*string `locationName:"resourceArns" type:"list"` 4465 4466 // The tags for the target resources. 4467 ResourceTags map[string]*string `locationName:"resourceTags" type:"map"` 4468 4469 // The AWS resource type. The resource type must be supported for the specified 4470 // action. 4471 // 4472 // ResourceType is a required field 4473 ResourceType *string `locationName:"resourceType" type:"string" required:"true"` 4474 4475 // Scopes the identified resources to a specific count or percentage. 4476 // 4477 // SelectionMode is a required field 4478 SelectionMode *string `locationName:"selectionMode" type:"string" required:"true"` 4479 } 4480 4481 // String returns the string representation. 4482 // 4483 // API parameter values that are decorated as "sensitive" in the API will not 4484 // be included in the string output. The member name will be present, but the 4485 // value will be replaced with "sensitive". 4486 func (s UpdateExperimentTemplateTargetInput) String() string { 4487 return awsutil.Prettify(s) 4488 } 4489 4490 // GoString returns the string representation. 4491 // 4492 // API parameter values that are decorated as "sensitive" in the API will not 4493 // be included in the string output. The member name will be present, but the 4494 // value will be replaced with "sensitive". 4495 func (s UpdateExperimentTemplateTargetInput) GoString() string { 4496 return s.String() 4497 } 4498 4499 // Validate inspects the fields of the type to determine if they are valid. 4500 func (s *UpdateExperimentTemplateTargetInput) Validate() error { 4501 invalidParams := request.ErrInvalidParams{Context: "UpdateExperimentTemplateTargetInput"} 4502 if s.ResourceType == nil { 4503 invalidParams.Add(request.NewErrParamRequired("ResourceType")) 4504 } 4505 if s.SelectionMode == nil { 4506 invalidParams.Add(request.NewErrParamRequired("SelectionMode")) 4507 } 4508 if s.Filters != nil { 4509 for i, v := range s.Filters { 4510 if v == nil { 4511 continue 4512 } 4513 if err := v.Validate(); err != nil { 4514 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) 4515 } 4516 } 4517 } 4518 4519 if invalidParams.Len() > 0 { 4520 return invalidParams 4521 } 4522 return nil 4523 } 4524 4525 // SetFilters sets the Filters field's value. 4526 func (s *UpdateExperimentTemplateTargetInput) SetFilters(v []*ExperimentTemplateTargetInputFilter) *UpdateExperimentTemplateTargetInput { 4527 s.Filters = v 4528 return s 4529 } 4530 4531 // SetResourceArns sets the ResourceArns field's value. 4532 func (s *UpdateExperimentTemplateTargetInput) SetResourceArns(v []*string) *UpdateExperimentTemplateTargetInput { 4533 s.ResourceArns = v 4534 return s 4535 } 4536 4537 // SetResourceTags sets the ResourceTags field's value. 4538 func (s *UpdateExperimentTemplateTargetInput) SetResourceTags(v map[string]*string) *UpdateExperimentTemplateTargetInput { 4539 s.ResourceTags = v 4540 return s 4541 } 4542 4543 // SetResourceType sets the ResourceType field's value. 4544 func (s *UpdateExperimentTemplateTargetInput) SetResourceType(v string) *UpdateExperimentTemplateTargetInput { 4545 s.ResourceType = &v 4546 return s 4547 } 4548 4549 // SetSelectionMode sets the SelectionMode field's value. 4550 func (s *UpdateExperimentTemplateTargetInput) SetSelectionMode(v string) *UpdateExperimentTemplateTargetInput { 4551 s.SelectionMode = &v 4552 return s 4553 } 4554 4555 // The specified input is not valid, or fails to satisfy the constraints for 4556 // the request. 4557 type ValidationException struct { 4558 _ struct{} `type:"structure"` 4559 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4560 4561 Message_ *string `locationName:"message" type:"string"` 4562 } 4563 4564 // String returns the string representation. 4565 // 4566 // API parameter values that are decorated as "sensitive" in the API will not 4567 // be included in the string output. The member name will be present, but the 4568 // value will be replaced with "sensitive". 4569 func (s ValidationException) String() string { 4570 return awsutil.Prettify(s) 4571 } 4572 4573 // GoString returns the string representation. 4574 // 4575 // API parameter values that are decorated as "sensitive" in the API will not 4576 // be included in the string output. The member name will be present, but the 4577 // value will be replaced with "sensitive". 4578 func (s ValidationException) GoString() string { 4579 return s.String() 4580 } 4581 4582 func newErrorValidationException(v protocol.ResponseMetadata) error { 4583 return &ValidationException{ 4584 RespMetadata: v, 4585 } 4586 } 4587 4588 // Code returns the exception type name. 4589 func (s *ValidationException) Code() string { 4590 return "ValidationException" 4591 } 4592 4593 // Message returns the exception's message. 4594 func (s *ValidationException) Message() string { 4595 if s.Message_ != nil { 4596 return *s.Message_ 4597 } 4598 return "" 4599 } 4600 4601 // OrigErr always returns nil, satisfies awserr.Error interface. 4602 func (s *ValidationException) OrigErr() error { 4603 return nil 4604 } 4605 4606 func (s *ValidationException) Error() string { 4607 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4608 } 4609 4610 // Status code returns the HTTP status code for the request's response error. 4611 func (s *ValidationException) StatusCode() int { 4612 return s.RespMetadata.StatusCode 4613 } 4614 4615 // RequestID returns the service's response RequestID for request. 4616 func (s *ValidationException) RequestID() string { 4617 return s.RespMetadata.RequestID 4618 } 4619 4620 const ( 4621 // ExperimentActionStatusPending is a ExperimentActionStatus enum value 4622 ExperimentActionStatusPending = "pending" 4623 4624 // ExperimentActionStatusInitiating is a ExperimentActionStatus enum value 4625 ExperimentActionStatusInitiating = "initiating" 4626 4627 // ExperimentActionStatusRunning is a ExperimentActionStatus enum value 4628 ExperimentActionStatusRunning = "running" 4629 4630 // ExperimentActionStatusCompleted is a ExperimentActionStatus enum value 4631 ExperimentActionStatusCompleted = "completed" 4632 4633 // ExperimentActionStatusCancelled is a ExperimentActionStatus enum value 4634 ExperimentActionStatusCancelled = "cancelled" 4635 4636 // ExperimentActionStatusStopping is a ExperimentActionStatus enum value 4637 ExperimentActionStatusStopping = "stopping" 4638 4639 // ExperimentActionStatusStopped is a ExperimentActionStatus enum value 4640 ExperimentActionStatusStopped = "stopped" 4641 4642 // ExperimentActionStatusFailed is a ExperimentActionStatus enum value 4643 ExperimentActionStatusFailed = "failed" 4644 ) 4645 4646 // ExperimentActionStatus_Values returns all elements of the ExperimentActionStatus enum 4647 func ExperimentActionStatus_Values() []string { 4648 return []string{ 4649 ExperimentActionStatusPending, 4650 ExperimentActionStatusInitiating, 4651 ExperimentActionStatusRunning, 4652 ExperimentActionStatusCompleted, 4653 ExperimentActionStatusCancelled, 4654 ExperimentActionStatusStopping, 4655 ExperimentActionStatusStopped, 4656 ExperimentActionStatusFailed, 4657 } 4658 } 4659 4660 const ( 4661 // ExperimentStatusPending is a ExperimentStatus enum value 4662 ExperimentStatusPending = "pending" 4663 4664 // ExperimentStatusInitiating is a ExperimentStatus enum value 4665 ExperimentStatusInitiating = "initiating" 4666 4667 // ExperimentStatusRunning is a ExperimentStatus enum value 4668 ExperimentStatusRunning = "running" 4669 4670 // ExperimentStatusCompleted is a ExperimentStatus enum value 4671 ExperimentStatusCompleted = "completed" 4672 4673 // ExperimentStatusStopping is a ExperimentStatus enum value 4674 ExperimentStatusStopping = "stopping" 4675 4676 // ExperimentStatusStopped is a ExperimentStatus enum value 4677 ExperimentStatusStopped = "stopped" 4678 4679 // ExperimentStatusFailed is a ExperimentStatus enum value 4680 ExperimentStatusFailed = "failed" 4681 ) 4682 4683 // ExperimentStatus_Values returns all elements of the ExperimentStatus enum 4684 func ExperimentStatus_Values() []string { 4685 return []string{ 4686 ExperimentStatusPending, 4687 ExperimentStatusInitiating, 4688 ExperimentStatusRunning, 4689 ExperimentStatusCompleted, 4690 ExperimentStatusStopping, 4691 ExperimentStatusStopped, 4692 ExperimentStatusFailed, 4693 } 4694 }