github.com/aavshr/aws-sdk-go@v1.41.3/service/autoscaling/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package autoscaling 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/query" 14 ) 15 16 const opAttachInstances = "AttachInstances" 17 18 // AttachInstancesRequest generates a "aws/request.Request" representing the 19 // client's request for the AttachInstances 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 AttachInstances for more information on using the AttachInstances 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 AttachInstancesRequest method. 34 // req, resp := client.AttachInstancesRequest(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/autoscaling-2011-01-01/AttachInstances 42 func (c *AutoScaling) AttachInstancesRequest(input *AttachInstancesInput) (req *request.Request, output *AttachInstancesOutput) { 43 op := &request.Operation{ 44 Name: opAttachInstances, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &AttachInstancesInput{} 51 } 52 53 output = &AttachInstancesOutput{} 54 req = c.newRequest(op, input, output) 55 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 56 return 57 } 58 59 // AttachInstances API operation for Auto Scaling. 60 // 61 // Attaches one or more EC2 instances to the specified Auto Scaling group. 62 // 63 // When you attach instances, Amazon EC2 Auto Scaling increases the desired 64 // capacity of the group by the number of instances being attached. If the number 65 // of instances being attached plus the desired capacity of the group exceeds 66 // the maximum size of the group, the operation fails. 67 // 68 // If there is a Classic Load Balancer attached to your Auto Scaling group, 69 // the instances are also registered with the load balancer. If there are target 70 // groups attached to your Auto Scaling group, the instances are also registered 71 // with the target groups. 72 // 73 // For more information, see Attach EC2 instances to your Auto Scaling group 74 // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-instance-asg.html) 75 // in the Amazon EC2 Auto Scaling User Guide. 76 // 77 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 78 // with awserr.Error's Code and Message methods to get detailed information about 79 // the error. 80 // 81 // See the AWS API reference guide for Auto Scaling's 82 // API operation AttachInstances for usage and error information. 83 // 84 // Returned Error Codes: 85 // * ErrCodeResourceContentionFault "ResourceContention" 86 // You already have a pending update to an Amazon EC2 Auto Scaling resource 87 // (for example, an Auto Scaling group, instance, or load balancer). 88 // 89 // * ErrCodeServiceLinkedRoleFailure "ServiceLinkedRoleFailure" 90 // The service-linked role is not yet ready for use. 91 // 92 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AttachInstances 93 func (c *AutoScaling) AttachInstances(input *AttachInstancesInput) (*AttachInstancesOutput, error) { 94 req, out := c.AttachInstancesRequest(input) 95 return out, req.Send() 96 } 97 98 // AttachInstancesWithContext is the same as AttachInstances with the addition of 99 // the ability to pass a context and additional request options. 100 // 101 // See AttachInstances for details on how to use this API operation. 102 // 103 // The context must be non-nil and will be used for request cancellation. If 104 // the context is nil a panic will occur. In the future the SDK may create 105 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 106 // for more information on using Contexts. 107 func (c *AutoScaling) AttachInstancesWithContext(ctx aws.Context, input *AttachInstancesInput, opts ...request.Option) (*AttachInstancesOutput, error) { 108 req, out := c.AttachInstancesRequest(input) 109 req.SetContext(ctx) 110 req.ApplyOptions(opts...) 111 return out, req.Send() 112 } 113 114 const opAttachLoadBalancerTargetGroups = "AttachLoadBalancerTargetGroups" 115 116 // AttachLoadBalancerTargetGroupsRequest generates a "aws/request.Request" representing the 117 // client's request for the AttachLoadBalancerTargetGroups operation. The "output" return 118 // value will be populated with the request's response once the request completes 119 // successfully. 120 // 121 // Use "Send" method on the returned Request to send the API call to the service. 122 // the "output" return value is not valid until after Send returns without error. 123 // 124 // See AttachLoadBalancerTargetGroups for more information on using the AttachLoadBalancerTargetGroups 125 // API call, and error handling. 126 // 127 // This method is useful when you want to inject custom logic or configuration 128 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 129 // 130 // 131 // // Example sending a request using the AttachLoadBalancerTargetGroupsRequest method. 132 // req, resp := client.AttachLoadBalancerTargetGroupsRequest(params) 133 // 134 // err := req.Send() 135 // if err == nil { // resp is now filled 136 // fmt.Println(resp) 137 // } 138 // 139 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AttachLoadBalancerTargetGroups 140 func (c *AutoScaling) AttachLoadBalancerTargetGroupsRequest(input *AttachLoadBalancerTargetGroupsInput) (req *request.Request, output *AttachLoadBalancerTargetGroupsOutput) { 141 op := &request.Operation{ 142 Name: opAttachLoadBalancerTargetGroups, 143 HTTPMethod: "POST", 144 HTTPPath: "/", 145 } 146 147 if input == nil { 148 input = &AttachLoadBalancerTargetGroupsInput{} 149 } 150 151 output = &AttachLoadBalancerTargetGroupsOutput{} 152 req = c.newRequest(op, input, output) 153 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 154 return 155 } 156 157 // AttachLoadBalancerTargetGroups API operation for Auto Scaling. 158 // 159 // Attaches one or more target groups to the specified Auto Scaling group. 160 // 161 // This operation is used with the following load balancer types: 162 // 163 // * Application Load Balancer - Operates at the application layer (layer 164 // 7) and supports HTTP and HTTPS. 165 // 166 // * Network Load Balancer - Operates at the transport layer (layer 4) and 167 // supports TCP, TLS, and UDP. 168 // 169 // * Gateway Load Balancer - Operates at the network layer (layer 3). 170 // 171 // To describe the target groups for an Auto Scaling group, call the DescribeLoadBalancerTargetGroups 172 // API. To detach the target group from the Auto Scaling group, call the DetachLoadBalancerTargetGroups 173 // API. 174 // 175 // For more information, see Elastic Load Balancing and Amazon EC2 Auto Scaling 176 // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) 177 // in the Amazon EC2 Auto Scaling User Guide. 178 // 179 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 180 // with awserr.Error's Code and Message methods to get detailed information about 181 // the error. 182 // 183 // See the AWS API reference guide for Auto Scaling's 184 // API operation AttachLoadBalancerTargetGroups for usage and error information. 185 // 186 // Returned Error Codes: 187 // * ErrCodeResourceContentionFault "ResourceContention" 188 // You already have a pending update to an Amazon EC2 Auto Scaling resource 189 // (for example, an Auto Scaling group, instance, or load balancer). 190 // 191 // * ErrCodeServiceLinkedRoleFailure "ServiceLinkedRoleFailure" 192 // The service-linked role is not yet ready for use. 193 // 194 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AttachLoadBalancerTargetGroups 195 func (c *AutoScaling) AttachLoadBalancerTargetGroups(input *AttachLoadBalancerTargetGroupsInput) (*AttachLoadBalancerTargetGroupsOutput, error) { 196 req, out := c.AttachLoadBalancerTargetGroupsRequest(input) 197 return out, req.Send() 198 } 199 200 // AttachLoadBalancerTargetGroupsWithContext is the same as AttachLoadBalancerTargetGroups with the addition of 201 // the ability to pass a context and additional request options. 202 // 203 // See AttachLoadBalancerTargetGroups for details on how to use this API operation. 204 // 205 // The context must be non-nil and will be used for request cancellation. If 206 // the context is nil a panic will occur. In the future the SDK may create 207 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 208 // for more information on using Contexts. 209 func (c *AutoScaling) AttachLoadBalancerTargetGroupsWithContext(ctx aws.Context, input *AttachLoadBalancerTargetGroupsInput, opts ...request.Option) (*AttachLoadBalancerTargetGroupsOutput, error) { 210 req, out := c.AttachLoadBalancerTargetGroupsRequest(input) 211 req.SetContext(ctx) 212 req.ApplyOptions(opts...) 213 return out, req.Send() 214 } 215 216 const opAttachLoadBalancers = "AttachLoadBalancers" 217 218 // AttachLoadBalancersRequest generates a "aws/request.Request" representing the 219 // client's request for the AttachLoadBalancers operation. The "output" return 220 // value will be populated with the request's response once the request completes 221 // successfully. 222 // 223 // Use "Send" method on the returned Request to send the API call to the service. 224 // the "output" return value is not valid until after Send returns without error. 225 // 226 // See AttachLoadBalancers for more information on using the AttachLoadBalancers 227 // API call, and error handling. 228 // 229 // This method is useful when you want to inject custom logic or configuration 230 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 231 // 232 // 233 // // Example sending a request using the AttachLoadBalancersRequest method. 234 // req, resp := client.AttachLoadBalancersRequest(params) 235 // 236 // err := req.Send() 237 // if err == nil { // resp is now filled 238 // fmt.Println(resp) 239 // } 240 // 241 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AttachLoadBalancers 242 func (c *AutoScaling) AttachLoadBalancersRequest(input *AttachLoadBalancersInput) (req *request.Request, output *AttachLoadBalancersOutput) { 243 op := &request.Operation{ 244 Name: opAttachLoadBalancers, 245 HTTPMethod: "POST", 246 HTTPPath: "/", 247 } 248 249 if input == nil { 250 input = &AttachLoadBalancersInput{} 251 } 252 253 output = &AttachLoadBalancersOutput{} 254 req = c.newRequest(op, input, output) 255 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 256 return 257 } 258 259 // AttachLoadBalancers API operation for Auto Scaling. 260 // 261 // 262 // To attach an Application Load Balancer, Network Load Balancer, or Gateway 263 // Load Balancer, use the AttachLoadBalancerTargetGroups API operation instead. 264 // 265 // Attaches one or more Classic Load Balancers to the specified Auto Scaling 266 // group. Amazon EC2 Auto Scaling registers the running instances with these 267 // Classic Load Balancers. 268 // 269 // To describe the load balancers for an Auto Scaling group, call the DescribeLoadBalancers 270 // API. To detach the load balancer from the Auto Scaling group, call the DetachLoadBalancers 271 // API. 272 // 273 // For more information, see Elastic Load Balancing and Amazon EC2 Auto Scaling 274 // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) 275 // in the Amazon EC2 Auto Scaling User Guide. 276 // 277 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 278 // with awserr.Error's Code and Message methods to get detailed information about 279 // the error. 280 // 281 // See the AWS API reference guide for Auto Scaling's 282 // API operation AttachLoadBalancers for usage and error information. 283 // 284 // Returned Error Codes: 285 // * ErrCodeResourceContentionFault "ResourceContention" 286 // You already have a pending update to an Amazon EC2 Auto Scaling resource 287 // (for example, an Auto Scaling group, instance, or load balancer). 288 // 289 // * ErrCodeServiceLinkedRoleFailure "ServiceLinkedRoleFailure" 290 // The service-linked role is not yet ready for use. 291 // 292 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AttachLoadBalancers 293 func (c *AutoScaling) AttachLoadBalancers(input *AttachLoadBalancersInput) (*AttachLoadBalancersOutput, error) { 294 req, out := c.AttachLoadBalancersRequest(input) 295 return out, req.Send() 296 } 297 298 // AttachLoadBalancersWithContext is the same as AttachLoadBalancers with the addition of 299 // the ability to pass a context and additional request options. 300 // 301 // See AttachLoadBalancers for details on how to use this API operation. 302 // 303 // The context must be non-nil and will be used for request cancellation. If 304 // the context is nil a panic will occur. In the future the SDK may create 305 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 306 // for more information on using Contexts. 307 func (c *AutoScaling) AttachLoadBalancersWithContext(ctx aws.Context, input *AttachLoadBalancersInput, opts ...request.Option) (*AttachLoadBalancersOutput, error) { 308 req, out := c.AttachLoadBalancersRequest(input) 309 req.SetContext(ctx) 310 req.ApplyOptions(opts...) 311 return out, req.Send() 312 } 313 314 const opBatchDeleteScheduledAction = "BatchDeleteScheduledAction" 315 316 // BatchDeleteScheduledActionRequest generates a "aws/request.Request" representing the 317 // client's request for the BatchDeleteScheduledAction operation. The "output" return 318 // value will be populated with the request's response once the request completes 319 // successfully. 320 // 321 // Use "Send" method on the returned Request to send the API call to the service. 322 // the "output" return value is not valid until after Send returns without error. 323 // 324 // See BatchDeleteScheduledAction for more information on using the BatchDeleteScheduledAction 325 // API call, and error handling. 326 // 327 // This method is useful when you want to inject custom logic or configuration 328 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 329 // 330 // 331 // // Example sending a request using the BatchDeleteScheduledActionRequest method. 332 // req, resp := client.BatchDeleteScheduledActionRequest(params) 333 // 334 // err := req.Send() 335 // if err == nil { // resp is now filled 336 // fmt.Println(resp) 337 // } 338 // 339 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/BatchDeleteScheduledAction 340 func (c *AutoScaling) BatchDeleteScheduledActionRequest(input *BatchDeleteScheduledActionInput) (req *request.Request, output *BatchDeleteScheduledActionOutput) { 341 op := &request.Operation{ 342 Name: opBatchDeleteScheduledAction, 343 HTTPMethod: "POST", 344 HTTPPath: "/", 345 } 346 347 if input == nil { 348 input = &BatchDeleteScheduledActionInput{} 349 } 350 351 output = &BatchDeleteScheduledActionOutput{} 352 req = c.newRequest(op, input, output) 353 return 354 } 355 356 // BatchDeleteScheduledAction API operation for Auto Scaling. 357 // 358 // Deletes one or more scheduled actions for the specified Auto Scaling group. 359 // 360 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 361 // with awserr.Error's Code and Message methods to get detailed information about 362 // the error. 363 // 364 // See the AWS API reference guide for Auto Scaling's 365 // API operation BatchDeleteScheduledAction for usage and error information. 366 // 367 // Returned Error Codes: 368 // * ErrCodeResourceContentionFault "ResourceContention" 369 // You already have a pending update to an Amazon EC2 Auto Scaling resource 370 // (for example, an Auto Scaling group, instance, or load balancer). 371 // 372 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/BatchDeleteScheduledAction 373 func (c *AutoScaling) BatchDeleteScheduledAction(input *BatchDeleteScheduledActionInput) (*BatchDeleteScheduledActionOutput, error) { 374 req, out := c.BatchDeleteScheduledActionRequest(input) 375 return out, req.Send() 376 } 377 378 // BatchDeleteScheduledActionWithContext is the same as BatchDeleteScheduledAction with the addition of 379 // the ability to pass a context and additional request options. 380 // 381 // See BatchDeleteScheduledAction for details on how to use this API operation. 382 // 383 // The context must be non-nil and will be used for request cancellation. If 384 // the context is nil a panic will occur. In the future the SDK may create 385 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 386 // for more information on using Contexts. 387 func (c *AutoScaling) BatchDeleteScheduledActionWithContext(ctx aws.Context, input *BatchDeleteScheduledActionInput, opts ...request.Option) (*BatchDeleteScheduledActionOutput, error) { 388 req, out := c.BatchDeleteScheduledActionRequest(input) 389 req.SetContext(ctx) 390 req.ApplyOptions(opts...) 391 return out, req.Send() 392 } 393 394 const opBatchPutScheduledUpdateGroupAction = "BatchPutScheduledUpdateGroupAction" 395 396 // BatchPutScheduledUpdateGroupActionRequest generates a "aws/request.Request" representing the 397 // client's request for the BatchPutScheduledUpdateGroupAction operation. The "output" return 398 // value will be populated with the request's response once the request completes 399 // successfully. 400 // 401 // Use "Send" method on the returned Request to send the API call to the service. 402 // the "output" return value is not valid until after Send returns without error. 403 // 404 // See BatchPutScheduledUpdateGroupAction for more information on using the BatchPutScheduledUpdateGroupAction 405 // API call, and error handling. 406 // 407 // This method is useful when you want to inject custom logic or configuration 408 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 409 // 410 // 411 // // Example sending a request using the BatchPutScheduledUpdateGroupActionRequest method. 412 // req, resp := client.BatchPutScheduledUpdateGroupActionRequest(params) 413 // 414 // err := req.Send() 415 // if err == nil { // resp is now filled 416 // fmt.Println(resp) 417 // } 418 // 419 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/BatchPutScheduledUpdateGroupAction 420 func (c *AutoScaling) BatchPutScheduledUpdateGroupActionRequest(input *BatchPutScheduledUpdateGroupActionInput) (req *request.Request, output *BatchPutScheduledUpdateGroupActionOutput) { 421 op := &request.Operation{ 422 Name: opBatchPutScheduledUpdateGroupAction, 423 HTTPMethod: "POST", 424 HTTPPath: "/", 425 } 426 427 if input == nil { 428 input = &BatchPutScheduledUpdateGroupActionInput{} 429 } 430 431 output = &BatchPutScheduledUpdateGroupActionOutput{} 432 req = c.newRequest(op, input, output) 433 return 434 } 435 436 // BatchPutScheduledUpdateGroupAction API operation for Auto Scaling. 437 // 438 // Creates or updates one or more scheduled scaling actions for an Auto Scaling 439 // group. 440 // 441 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 442 // with awserr.Error's Code and Message methods to get detailed information about 443 // the error. 444 // 445 // See the AWS API reference guide for Auto Scaling's 446 // API operation BatchPutScheduledUpdateGroupAction for usage and error information. 447 // 448 // Returned Error Codes: 449 // * ErrCodeAlreadyExistsFault "AlreadyExists" 450 // You already have an Auto Scaling group or launch configuration with this 451 // name. 452 // 453 // * ErrCodeLimitExceededFault "LimitExceeded" 454 // You have already reached a limit for your Amazon EC2 Auto Scaling resources 455 // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). 456 // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) 457 // in the Amazon EC2 Auto Scaling API Reference. 458 // 459 // * ErrCodeResourceContentionFault "ResourceContention" 460 // You already have a pending update to an Amazon EC2 Auto Scaling resource 461 // (for example, an Auto Scaling group, instance, or load balancer). 462 // 463 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/BatchPutScheduledUpdateGroupAction 464 func (c *AutoScaling) BatchPutScheduledUpdateGroupAction(input *BatchPutScheduledUpdateGroupActionInput) (*BatchPutScheduledUpdateGroupActionOutput, error) { 465 req, out := c.BatchPutScheduledUpdateGroupActionRequest(input) 466 return out, req.Send() 467 } 468 469 // BatchPutScheduledUpdateGroupActionWithContext is the same as BatchPutScheduledUpdateGroupAction with the addition of 470 // the ability to pass a context and additional request options. 471 // 472 // See BatchPutScheduledUpdateGroupAction for details on how to use this API operation. 473 // 474 // The context must be non-nil and will be used for request cancellation. If 475 // the context is nil a panic will occur. In the future the SDK may create 476 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 477 // for more information on using Contexts. 478 func (c *AutoScaling) BatchPutScheduledUpdateGroupActionWithContext(ctx aws.Context, input *BatchPutScheduledUpdateGroupActionInput, opts ...request.Option) (*BatchPutScheduledUpdateGroupActionOutput, error) { 479 req, out := c.BatchPutScheduledUpdateGroupActionRequest(input) 480 req.SetContext(ctx) 481 req.ApplyOptions(opts...) 482 return out, req.Send() 483 } 484 485 const opCancelInstanceRefresh = "CancelInstanceRefresh" 486 487 // CancelInstanceRefreshRequest generates a "aws/request.Request" representing the 488 // client's request for the CancelInstanceRefresh operation. The "output" return 489 // value will be populated with the request's response once the request completes 490 // successfully. 491 // 492 // Use "Send" method on the returned Request to send the API call to the service. 493 // the "output" return value is not valid until after Send returns without error. 494 // 495 // See CancelInstanceRefresh for more information on using the CancelInstanceRefresh 496 // API call, and error handling. 497 // 498 // This method is useful when you want to inject custom logic or configuration 499 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 500 // 501 // 502 // // Example sending a request using the CancelInstanceRefreshRequest method. 503 // req, resp := client.CancelInstanceRefreshRequest(params) 504 // 505 // err := req.Send() 506 // if err == nil { // resp is now filled 507 // fmt.Println(resp) 508 // } 509 // 510 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CancelInstanceRefresh 511 func (c *AutoScaling) CancelInstanceRefreshRequest(input *CancelInstanceRefreshInput) (req *request.Request, output *CancelInstanceRefreshOutput) { 512 op := &request.Operation{ 513 Name: opCancelInstanceRefresh, 514 HTTPMethod: "POST", 515 HTTPPath: "/", 516 } 517 518 if input == nil { 519 input = &CancelInstanceRefreshInput{} 520 } 521 522 output = &CancelInstanceRefreshOutput{} 523 req = c.newRequest(op, input, output) 524 return 525 } 526 527 // CancelInstanceRefresh API operation for Auto Scaling. 528 // 529 // Cancels an instance refresh operation in progress. Cancellation does not 530 // roll back any replacements that have already been completed, but it prevents 531 // new replacements from being started. 532 // 533 // This operation is part of the instance refresh feature (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html) 534 // in Amazon EC2 Auto Scaling, which helps you update instances in your Auto 535 // Scaling group after you make configuration changes. 536 // 537 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 538 // with awserr.Error's Code and Message methods to get detailed information about 539 // the error. 540 // 541 // See the AWS API reference guide for Auto Scaling's 542 // API operation CancelInstanceRefresh for usage and error information. 543 // 544 // Returned Error Codes: 545 // * ErrCodeLimitExceededFault "LimitExceeded" 546 // You have already reached a limit for your Amazon EC2 Auto Scaling resources 547 // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). 548 // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) 549 // in the Amazon EC2 Auto Scaling API Reference. 550 // 551 // * ErrCodeResourceContentionFault "ResourceContention" 552 // You already have a pending update to an Amazon EC2 Auto Scaling resource 553 // (for example, an Auto Scaling group, instance, or load balancer). 554 // 555 // * ErrCodeActiveInstanceRefreshNotFoundFault "ActiveInstanceRefreshNotFound" 556 // The request failed because an active instance refresh for the specified Auto 557 // Scaling group was not found. 558 // 559 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CancelInstanceRefresh 560 func (c *AutoScaling) CancelInstanceRefresh(input *CancelInstanceRefreshInput) (*CancelInstanceRefreshOutput, error) { 561 req, out := c.CancelInstanceRefreshRequest(input) 562 return out, req.Send() 563 } 564 565 // CancelInstanceRefreshWithContext is the same as CancelInstanceRefresh with the addition of 566 // the ability to pass a context and additional request options. 567 // 568 // See CancelInstanceRefresh for details on how to use this API operation. 569 // 570 // The context must be non-nil and will be used for request cancellation. If 571 // the context is nil a panic will occur. In the future the SDK may create 572 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 573 // for more information on using Contexts. 574 func (c *AutoScaling) CancelInstanceRefreshWithContext(ctx aws.Context, input *CancelInstanceRefreshInput, opts ...request.Option) (*CancelInstanceRefreshOutput, error) { 575 req, out := c.CancelInstanceRefreshRequest(input) 576 req.SetContext(ctx) 577 req.ApplyOptions(opts...) 578 return out, req.Send() 579 } 580 581 const opCompleteLifecycleAction = "CompleteLifecycleAction" 582 583 // CompleteLifecycleActionRequest generates a "aws/request.Request" representing the 584 // client's request for the CompleteLifecycleAction operation. The "output" return 585 // value will be populated with the request's response once the request completes 586 // successfully. 587 // 588 // Use "Send" method on the returned Request to send the API call to the service. 589 // the "output" return value is not valid until after Send returns without error. 590 // 591 // See CompleteLifecycleAction for more information on using the CompleteLifecycleAction 592 // API call, and error handling. 593 // 594 // This method is useful when you want to inject custom logic or configuration 595 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 596 // 597 // 598 // // Example sending a request using the CompleteLifecycleActionRequest method. 599 // req, resp := client.CompleteLifecycleActionRequest(params) 600 // 601 // err := req.Send() 602 // if err == nil { // resp is now filled 603 // fmt.Println(resp) 604 // } 605 // 606 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CompleteLifecycleAction 607 func (c *AutoScaling) CompleteLifecycleActionRequest(input *CompleteLifecycleActionInput) (req *request.Request, output *CompleteLifecycleActionOutput) { 608 op := &request.Operation{ 609 Name: opCompleteLifecycleAction, 610 HTTPMethod: "POST", 611 HTTPPath: "/", 612 } 613 614 if input == nil { 615 input = &CompleteLifecycleActionInput{} 616 } 617 618 output = &CompleteLifecycleActionOutput{} 619 req = c.newRequest(op, input, output) 620 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 621 return 622 } 623 624 // CompleteLifecycleAction API operation for Auto Scaling. 625 // 626 // Completes the lifecycle action for the specified token or instance with the 627 // specified result. 628 // 629 // This step is a part of the procedure for adding a lifecycle hook to an Auto 630 // Scaling group: 631 // 632 // (Optional) Create a Lambda function and a rule that allows CloudWatch Events 633 // to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates 634 // instances. 635 // 636 // (Optional) Create a notification target and an IAM role. The target can be 637 // either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon 638 // EC2 Auto Scaling to publish lifecycle notifications to the target. 639 // 640 // Create the lifecycle hook. Specify whether the hook is used when the instances 641 // launch or terminate. 642 // 643 // If you need more time, record the lifecycle action heartbeat to keep the 644 // instance in a pending state. 645 // 646 // If you finish before the timeout period ends, complete the lifecycle action. 647 // 648 // For more information, see Amazon EC2 Auto Scaling lifecycle hooks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) 649 // in the Amazon EC2 Auto Scaling User Guide. 650 // 651 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 652 // with awserr.Error's Code and Message methods to get detailed information about 653 // the error. 654 // 655 // See the AWS API reference guide for Auto Scaling's 656 // API operation CompleteLifecycleAction for usage and error information. 657 // 658 // Returned Error Codes: 659 // * ErrCodeResourceContentionFault "ResourceContention" 660 // You already have a pending update to an Amazon EC2 Auto Scaling resource 661 // (for example, an Auto Scaling group, instance, or load balancer). 662 // 663 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CompleteLifecycleAction 664 func (c *AutoScaling) CompleteLifecycleAction(input *CompleteLifecycleActionInput) (*CompleteLifecycleActionOutput, error) { 665 req, out := c.CompleteLifecycleActionRequest(input) 666 return out, req.Send() 667 } 668 669 // CompleteLifecycleActionWithContext is the same as CompleteLifecycleAction with the addition of 670 // the ability to pass a context and additional request options. 671 // 672 // See CompleteLifecycleAction for details on how to use this API operation. 673 // 674 // The context must be non-nil and will be used for request cancellation. If 675 // the context is nil a panic will occur. In the future the SDK may create 676 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 677 // for more information on using Contexts. 678 func (c *AutoScaling) CompleteLifecycleActionWithContext(ctx aws.Context, input *CompleteLifecycleActionInput, opts ...request.Option) (*CompleteLifecycleActionOutput, error) { 679 req, out := c.CompleteLifecycleActionRequest(input) 680 req.SetContext(ctx) 681 req.ApplyOptions(opts...) 682 return out, req.Send() 683 } 684 685 const opCreateAutoScalingGroup = "CreateAutoScalingGroup" 686 687 // CreateAutoScalingGroupRequest generates a "aws/request.Request" representing the 688 // client's request for the CreateAutoScalingGroup operation. The "output" return 689 // value will be populated with the request's response once the request completes 690 // successfully. 691 // 692 // Use "Send" method on the returned Request to send the API call to the service. 693 // the "output" return value is not valid until after Send returns without error. 694 // 695 // See CreateAutoScalingGroup for more information on using the CreateAutoScalingGroup 696 // API call, and error handling. 697 // 698 // This method is useful when you want to inject custom logic or configuration 699 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 700 // 701 // 702 // // Example sending a request using the CreateAutoScalingGroupRequest method. 703 // req, resp := client.CreateAutoScalingGroupRequest(params) 704 // 705 // err := req.Send() 706 // if err == nil { // resp is now filled 707 // fmt.Println(resp) 708 // } 709 // 710 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateAutoScalingGroup 711 func (c *AutoScaling) CreateAutoScalingGroupRequest(input *CreateAutoScalingGroupInput) (req *request.Request, output *CreateAutoScalingGroupOutput) { 712 op := &request.Operation{ 713 Name: opCreateAutoScalingGroup, 714 HTTPMethod: "POST", 715 HTTPPath: "/", 716 } 717 718 if input == nil { 719 input = &CreateAutoScalingGroupInput{} 720 } 721 722 output = &CreateAutoScalingGroupOutput{} 723 req = c.newRequest(op, input, output) 724 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 725 return 726 } 727 728 // CreateAutoScalingGroup API operation for Auto Scaling. 729 // 730 // We strongly recommend using a launch template when calling this operation 731 // to ensure full functionality for Amazon EC2 Auto Scaling and Amazon EC2. 732 // 733 // Creates an Auto Scaling group with the specified name and attributes. 734 // 735 // If you exceed your maximum limit of Auto Scaling groups, the call fails. 736 // To query this limit, call the DescribeAccountLimits API. For information 737 // about updating this limit, see Amazon EC2 Auto Scaling service quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) 738 // in the Amazon EC2 Auto Scaling User Guide. 739 // 740 // For introductory exercises for creating an Auto Scaling group, see Getting 741 // started with Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html) 742 // and Tutorial: Set up a scaled and load-balanced application (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-register-lbs-with-asg.html) 743 // in the Amazon EC2 Auto Scaling User Guide. For more information, see Auto 744 // Scaling groups (https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html) 745 // in the Amazon EC2 Auto Scaling User Guide. 746 // 747 // Every Auto Scaling group has three size parameters (DesiredCapacity, MaxSize, 748 // and MinSize). Usually, you set these sizes based on a specific number of 749 // instances. However, if you configure a mixed instances policy that defines 750 // weights for the instance types, you must specify these sizes with the same 751 // units that you use for weighting instances. 752 // 753 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 754 // with awserr.Error's Code and Message methods to get detailed information about 755 // the error. 756 // 757 // See the AWS API reference guide for Auto Scaling's 758 // API operation CreateAutoScalingGroup for usage and error information. 759 // 760 // Returned Error Codes: 761 // * ErrCodeAlreadyExistsFault "AlreadyExists" 762 // You already have an Auto Scaling group or launch configuration with this 763 // name. 764 // 765 // * ErrCodeLimitExceededFault "LimitExceeded" 766 // You have already reached a limit for your Amazon EC2 Auto Scaling resources 767 // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). 768 // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) 769 // in the Amazon EC2 Auto Scaling API Reference. 770 // 771 // * ErrCodeResourceContentionFault "ResourceContention" 772 // You already have a pending update to an Amazon EC2 Auto Scaling resource 773 // (for example, an Auto Scaling group, instance, or load balancer). 774 // 775 // * ErrCodeServiceLinkedRoleFailure "ServiceLinkedRoleFailure" 776 // The service-linked role is not yet ready for use. 777 // 778 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateAutoScalingGroup 779 func (c *AutoScaling) CreateAutoScalingGroup(input *CreateAutoScalingGroupInput) (*CreateAutoScalingGroupOutput, error) { 780 req, out := c.CreateAutoScalingGroupRequest(input) 781 return out, req.Send() 782 } 783 784 // CreateAutoScalingGroupWithContext is the same as CreateAutoScalingGroup with the addition of 785 // the ability to pass a context and additional request options. 786 // 787 // See CreateAutoScalingGroup for details on how to use this API operation. 788 // 789 // The context must be non-nil and will be used for request cancellation. If 790 // the context is nil a panic will occur. In the future the SDK may create 791 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 792 // for more information on using Contexts. 793 func (c *AutoScaling) CreateAutoScalingGroupWithContext(ctx aws.Context, input *CreateAutoScalingGroupInput, opts ...request.Option) (*CreateAutoScalingGroupOutput, error) { 794 req, out := c.CreateAutoScalingGroupRequest(input) 795 req.SetContext(ctx) 796 req.ApplyOptions(opts...) 797 return out, req.Send() 798 } 799 800 const opCreateLaunchConfiguration = "CreateLaunchConfiguration" 801 802 // CreateLaunchConfigurationRequest generates a "aws/request.Request" representing the 803 // client's request for the CreateLaunchConfiguration operation. The "output" return 804 // value will be populated with the request's response once the request completes 805 // successfully. 806 // 807 // Use "Send" method on the returned Request to send the API call to the service. 808 // the "output" return value is not valid until after Send returns without error. 809 // 810 // See CreateLaunchConfiguration for more information on using the CreateLaunchConfiguration 811 // API call, and error handling. 812 // 813 // This method is useful when you want to inject custom logic or configuration 814 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 815 // 816 // 817 // // Example sending a request using the CreateLaunchConfigurationRequest method. 818 // req, resp := client.CreateLaunchConfigurationRequest(params) 819 // 820 // err := req.Send() 821 // if err == nil { // resp is now filled 822 // fmt.Println(resp) 823 // } 824 // 825 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateLaunchConfiguration 826 func (c *AutoScaling) CreateLaunchConfigurationRequest(input *CreateLaunchConfigurationInput) (req *request.Request, output *CreateLaunchConfigurationOutput) { 827 op := &request.Operation{ 828 Name: opCreateLaunchConfiguration, 829 HTTPMethod: "POST", 830 HTTPPath: "/", 831 } 832 833 if input == nil { 834 input = &CreateLaunchConfigurationInput{} 835 } 836 837 output = &CreateLaunchConfigurationOutput{} 838 req = c.newRequest(op, input, output) 839 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 840 return 841 } 842 843 // CreateLaunchConfiguration API operation for Auto Scaling. 844 // 845 // Creates a launch configuration. 846 // 847 // If you exceed your maximum limit of launch configurations, the call fails. 848 // To query this limit, call the DescribeAccountLimits API. For information 849 // about updating this limit, see Amazon EC2 Auto Scaling service quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) 850 // in the Amazon EC2 Auto Scaling User Guide. 851 // 852 // For more information, see Launch configurations (https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchConfiguration.html) 853 // in the Amazon EC2 Auto Scaling User Guide. 854 // 855 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 856 // with awserr.Error's Code and Message methods to get detailed information about 857 // the error. 858 // 859 // See the AWS API reference guide for Auto Scaling's 860 // API operation CreateLaunchConfiguration for usage and error information. 861 // 862 // Returned Error Codes: 863 // * ErrCodeAlreadyExistsFault "AlreadyExists" 864 // You already have an Auto Scaling group or launch configuration with this 865 // name. 866 // 867 // * ErrCodeLimitExceededFault "LimitExceeded" 868 // You have already reached a limit for your Amazon EC2 Auto Scaling resources 869 // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). 870 // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) 871 // in the Amazon EC2 Auto Scaling API Reference. 872 // 873 // * ErrCodeResourceContentionFault "ResourceContention" 874 // You already have a pending update to an Amazon EC2 Auto Scaling resource 875 // (for example, an Auto Scaling group, instance, or load balancer). 876 // 877 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateLaunchConfiguration 878 func (c *AutoScaling) CreateLaunchConfiguration(input *CreateLaunchConfigurationInput) (*CreateLaunchConfigurationOutput, error) { 879 req, out := c.CreateLaunchConfigurationRequest(input) 880 return out, req.Send() 881 } 882 883 // CreateLaunchConfigurationWithContext is the same as CreateLaunchConfiguration with the addition of 884 // the ability to pass a context and additional request options. 885 // 886 // See CreateLaunchConfiguration for details on how to use this API operation. 887 // 888 // The context must be non-nil and will be used for request cancellation. If 889 // the context is nil a panic will occur. In the future the SDK may create 890 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 891 // for more information on using Contexts. 892 func (c *AutoScaling) CreateLaunchConfigurationWithContext(ctx aws.Context, input *CreateLaunchConfigurationInput, opts ...request.Option) (*CreateLaunchConfigurationOutput, error) { 893 req, out := c.CreateLaunchConfigurationRequest(input) 894 req.SetContext(ctx) 895 req.ApplyOptions(opts...) 896 return out, req.Send() 897 } 898 899 const opCreateOrUpdateTags = "CreateOrUpdateTags" 900 901 // CreateOrUpdateTagsRequest generates a "aws/request.Request" representing the 902 // client's request for the CreateOrUpdateTags operation. The "output" return 903 // value will be populated with the request's response once the request completes 904 // successfully. 905 // 906 // Use "Send" method on the returned Request to send the API call to the service. 907 // the "output" return value is not valid until after Send returns without error. 908 // 909 // See CreateOrUpdateTags for more information on using the CreateOrUpdateTags 910 // API call, and error handling. 911 // 912 // This method is useful when you want to inject custom logic or configuration 913 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 914 // 915 // 916 // // Example sending a request using the CreateOrUpdateTagsRequest method. 917 // req, resp := client.CreateOrUpdateTagsRequest(params) 918 // 919 // err := req.Send() 920 // if err == nil { // resp is now filled 921 // fmt.Println(resp) 922 // } 923 // 924 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateOrUpdateTags 925 func (c *AutoScaling) CreateOrUpdateTagsRequest(input *CreateOrUpdateTagsInput) (req *request.Request, output *CreateOrUpdateTagsOutput) { 926 op := &request.Operation{ 927 Name: opCreateOrUpdateTags, 928 HTTPMethod: "POST", 929 HTTPPath: "/", 930 } 931 932 if input == nil { 933 input = &CreateOrUpdateTagsInput{} 934 } 935 936 output = &CreateOrUpdateTagsOutput{} 937 req = c.newRequest(op, input, output) 938 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 939 return 940 } 941 942 // CreateOrUpdateTags API operation for Auto Scaling. 943 // 944 // Creates or updates tags for the specified Auto Scaling group. 945 // 946 // When you specify a tag with a key that already exists, the operation overwrites 947 // the previous tag definition, and you do not get an error message. 948 // 949 // For more information, see Tagging Auto Scaling groups and instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html) 950 // in the Amazon EC2 Auto Scaling User Guide. 951 // 952 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 953 // with awserr.Error's Code and Message methods to get detailed information about 954 // the error. 955 // 956 // See the AWS API reference guide for Auto Scaling's 957 // API operation CreateOrUpdateTags for usage and error information. 958 // 959 // Returned Error Codes: 960 // * ErrCodeLimitExceededFault "LimitExceeded" 961 // You have already reached a limit for your Amazon EC2 Auto Scaling resources 962 // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). 963 // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) 964 // in the Amazon EC2 Auto Scaling API Reference. 965 // 966 // * ErrCodeAlreadyExistsFault "AlreadyExists" 967 // You already have an Auto Scaling group or launch configuration with this 968 // name. 969 // 970 // * ErrCodeResourceContentionFault "ResourceContention" 971 // You already have a pending update to an Amazon EC2 Auto Scaling resource 972 // (for example, an Auto Scaling group, instance, or load balancer). 973 // 974 // * ErrCodeResourceInUseFault "ResourceInUse" 975 // The operation can't be performed because the resource is in use. 976 // 977 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateOrUpdateTags 978 func (c *AutoScaling) CreateOrUpdateTags(input *CreateOrUpdateTagsInput) (*CreateOrUpdateTagsOutput, error) { 979 req, out := c.CreateOrUpdateTagsRequest(input) 980 return out, req.Send() 981 } 982 983 // CreateOrUpdateTagsWithContext is the same as CreateOrUpdateTags with the addition of 984 // the ability to pass a context and additional request options. 985 // 986 // See CreateOrUpdateTags for details on how to use this API operation. 987 // 988 // The context must be non-nil and will be used for request cancellation. If 989 // the context is nil a panic will occur. In the future the SDK may create 990 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 991 // for more information on using Contexts. 992 func (c *AutoScaling) CreateOrUpdateTagsWithContext(ctx aws.Context, input *CreateOrUpdateTagsInput, opts ...request.Option) (*CreateOrUpdateTagsOutput, error) { 993 req, out := c.CreateOrUpdateTagsRequest(input) 994 req.SetContext(ctx) 995 req.ApplyOptions(opts...) 996 return out, req.Send() 997 } 998 999 const opDeleteAutoScalingGroup = "DeleteAutoScalingGroup" 1000 1001 // DeleteAutoScalingGroupRequest generates a "aws/request.Request" representing the 1002 // client's request for the DeleteAutoScalingGroup operation. The "output" return 1003 // value will be populated with the request's response once the request completes 1004 // successfully. 1005 // 1006 // Use "Send" method on the returned Request to send the API call to the service. 1007 // the "output" return value is not valid until after Send returns without error. 1008 // 1009 // See DeleteAutoScalingGroup for more information on using the DeleteAutoScalingGroup 1010 // API call, and error handling. 1011 // 1012 // This method is useful when you want to inject custom logic or configuration 1013 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1014 // 1015 // 1016 // // Example sending a request using the DeleteAutoScalingGroupRequest method. 1017 // req, resp := client.DeleteAutoScalingGroupRequest(params) 1018 // 1019 // err := req.Send() 1020 // if err == nil { // resp is now filled 1021 // fmt.Println(resp) 1022 // } 1023 // 1024 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteAutoScalingGroup 1025 func (c *AutoScaling) DeleteAutoScalingGroupRequest(input *DeleteAutoScalingGroupInput) (req *request.Request, output *DeleteAutoScalingGroupOutput) { 1026 op := &request.Operation{ 1027 Name: opDeleteAutoScalingGroup, 1028 HTTPMethod: "POST", 1029 HTTPPath: "/", 1030 } 1031 1032 if input == nil { 1033 input = &DeleteAutoScalingGroupInput{} 1034 } 1035 1036 output = &DeleteAutoScalingGroupOutput{} 1037 req = c.newRequest(op, input, output) 1038 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1039 return 1040 } 1041 1042 // DeleteAutoScalingGroup API operation for Auto Scaling. 1043 // 1044 // Deletes the specified Auto Scaling group. 1045 // 1046 // If the group has instances or scaling activities in progress, you must specify 1047 // the option to force the deletion in order for it to succeed. 1048 // 1049 // If the group has policies, deleting the group deletes the policies, the underlying 1050 // alarm actions, and any alarm that no longer has an associated action. 1051 // 1052 // To remove instances from the Auto Scaling group before deleting it, call 1053 // the DetachInstances API with the list of instances and the option to decrement 1054 // the desired capacity. This ensures that Amazon EC2 Auto Scaling does not 1055 // launch replacement instances. 1056 // 1057 // To terminate all instances before deleting the Auto Scaling group, call the 1058 // UpdateAutoScalingGroup API and set the minimum size and desired capacity 1059 // of the Auto Scaling group to zero. 1060 // 1061 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1062 // with awserr.Error's Code and Message methods to get detailed information about 1063 // the error. 1064 // 1065 // See the AWS API reference guide for Auto Scaling's 1066 // API operation DeleteAutoScalingGroup for usage and error information. 1067 // 1068 // Returned Error Codes: 1069 // * ErrCodeScalingActivityInProgressFault "ScalingActivityInProgress" 1070 // The operation can't be performed because there are scaling activities in 1071 // progress. 1072 // 1073 // * ErrCodeResourceInUseFault "ResourceInUse" 1074 // The operation can't be performed because the resource is in use. 1075 // 1076 // * ErrCodeResourceContentionFault "ResourceContention" 1077 // You already have a pending update to an Amazon EC2 Auto Scaling resource 1078 // (for example, an Auto Scaling group, instance, or load balancer). 1079 // 1080 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteAutoScalingGroup 1081 func (c *AutoScaling) DeleteAutoScalingGroup(input *DeleteAutoScalingGroupInput) (*DeleteAutoScalingGroupOutput, error) { 1082 req, out := c.DeleteAutoScalingGroupRequest(input) 1083 return out, req.Send() 1084 } 1085 1086 // DeleteAutoScalingGroupWithContext is the same as DeleteAutoScalingGroup with the addition of 1087 // the ability to pass a context and additional request options. 1088 // 1089 // See DeleteAutoScalingGroup for details on how to use this API operation. 1090 // 1091 // The context must be non-nil and will be used for request cancellation. If 1092 // the context is nil a panic will occur. In the future the SDK may create 1093 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1094 // for more information on using Contexts. 1095 func (c *AutoScaling) DeleteAutoScalingGroupWithContext(ctx aws.Context, input *DeleteAutoScalingGroupInput, opts ...request.Option) (*DeleteAutoScalingGroupOutput, error) { 1096 req, out := c.DeleteAutoScalingGroupRequest(input) 1097 req.SetContext(ctx) 1098 req.ApplyOptions(opts...) 1099 return out, req.Send() 1100 } 1101 1102 const opDeleteLaunchConfiguration = "DeleteLaunchConfiguration" 1103 1104 // DeleteLaunchConfigurationRequest generates a "aws/request.Request" representing the 1105 // client's request for the DeleteLaunchConfiguration operation. The "output" return 1106 // value will be populated with the request's response once the request completes 1107 // successfully. 1108 // 1109 // Use "Send" method on the returned Request to send the API call to the service. 1110 // the "output" return value is not valid until after Send returns without error. 1111 // 1112 // See DeleteLaunchConfiguration for more information on using the DeleteLaunchConfiguration 1113 // API call, and error handling. 1114 // 1115 // This method is useful when you want to inject custom logic or configuration 1116 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1117 // 1118 // 1119 // // Example sending a request using the DeleteLaunchConfigurationRequest method. 1120 // req, resp := client.DeleteLaunchConfigurationRequest(params) 1121 // 1122 // err := req.Send() 1123 // if err == nil { // resp is now filled 1124 // fmt.Println(resp) 1125 // } 1126 // 1127 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteLaunchConfiguration 1128 func (c *AutoScaling) DeleteLaunchConfigurationRequest(input *DeleteLaunchConfigurationInput) (req *request.Request, output *DeleteLaunchConfigurationOutput) { 1129 op := &request.Operation{ 1130 Name: opDeleteLaunchConfiguration, 1131 HTTPMethod: "POST", 1132 HTTPPath: "/", 1133 } 1134 1135 if input == nil { 1136 input = &DeleteLaunchConfigurationInput{} 1137 } 1138 1139 output = &DeleteLaunchConfigurationOutput{} 1140 req = c.newRequest(op, input, output) 1141 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1142 return 1143 } 1144 1145 // DeleteLaunchConfiguration API operation for Auto Scaling. 1146 // 1147 // Deletes the specified launch configuration. 1148 // 1149 // The launch configuration must not be attached to an Auto Scaling group. When 1150 // this call completes, the launch configuration is no longer available for 1151 // use. 1152 // 1153 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1154 // with awserr.Error's Code and Message methods to get detailed information about 1155 // the error. 1156 // 1157 // See the AWS API reference guide for Auto Scaling's 1158 // API operation DeleteLaunchConfiguration for usage and error information. 1159 // 1160 // Returned Error Codes: 1161 // * ErrCodeResourceInUseFault "ResourceInUse" 1162 // The operation can't be performed because the resource is in use. 1163 // 1164 // * ErrCodeResourceContentionFault "ResourceContention" 1165 // You already have a pending update to an Amazon EC2 Auto Scaling resource 1166 // (for example, an Auto Scaling group, instance, or load balancer). 1167 // 1168 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteLaunchConfiguration 1169 func (c *AutoScaling) DeleteLaunchConfiguration(input *DeleteLaunchConfigurationInput) (*DeleteLaunchConfigurationOutput, error) { 1170 req, out := c.DeleteLaunchConfigurationRequest(input) 1171 return out, req.Send() 1172 } 1173 1174 // DeleteLaunchConfigurationWithContext is the same as DeleteLaunchConfiguration with the addition of 1175 // the ability to pass a context and additional request options. 1176 // 1177 // See DeleteLaunchConfiguration for details on how to use this API operation. 1178 // 1179 // The context must be non-nil and will be used for request cancellation. If 1180 // the context is nil a panic will occur. In the future the SDK may create 1181 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1182 // for more information on using Contexts. 1183 func (c *AutoScaling) DeleteLaunchConfigurationWithContext(ctx aws.Context, input *DeleteLaunchConfigurationInput, opts ...request.Option) (*DeleteLaunchConfigurationOutput, error) { 1184 req, out := c.DeleteLaunchConfigurationRequest(input) 1185 req.SetContext(ctx) 1186 req.ApplyOptions(opts...) 1187 return out, req.Send() 1188 } 1189 1190 const opDeleteLifecycleHook = "DeleteLifecycleHook" 1191 1192 // DeleteLifecycleHookRequest generates a "aws/request.Request" representing the 1193 // client's request for the DeleteLifecycleHook operation. The "output" return 1194 // value will be populated with the request's response once the request completes 1195 // successfully. 1196 // 1197 // Use "Send" method on the returned Request to send the API call to the service. 1198 // the "output" return value is not valid until after Send returns without error. 1199 // 1200 // See DeleteLifecycleHook for more information on using the DeleteLifecycleHook 1201 // API call, and error handling. 1202 // 1203 // This method is useful when you want to inject custom logic or configuration 1204 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1205 // 1206 // 1207 // // Example sending a request using the DeleteLifecycleHookRequest method. 1208 // req, resp := client.DeleteLifecycleHookRequest(params) 1209 // 1210 // err := req.Send() 1211 // if err == nil { // resp is now filled 1212 // fmt.Println(resp) 1213 // } 1214 // 1215 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteLifecycleHook 1216 func (c *AutoScaling) DeleteLifecycleHookRequest(input *DeleteLifecycleHookInput) (req *request.Request, output *DeleteLifecycleHookOutput) { 1217 op := &request.Operation{ 1218 Name: opDeleteLifecycleHook, 1219 HTTPMethod: "POST", 1220 HTTPPath: "/", 1221 } 1222 1223 if input == nil { 1224 input = &DeleteLifecycleHookInput{} 1225 } 1226 1227 output = &DeleteLifecycleHookOutput{} 1228 req = c.newRequest(op, input, output) 1229 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1230 return 1231 } 1232 1233 // DeleteLifecycleHook API operation for Auto Scaling. 1234 // 1235 // Deletes the specified lifecycle hook. 1236 // 1237 // If there are any outstanding lifecycle actions, they are completed first 1238 // (ABANDON for launching instances, CONTINUE for terminating instances). 1239 // 1240 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1241 // with awserr.Error's Code and Message methods to get detailed information about 1242 // the error. 1243 // 1244 // See the AWS API reference guide for Auto Scaling's 1245 // API operation DeleteLifecycleHook for usage and error information. 1246 // 1247 // Returned Error Codes: 1248 // * ErrCodeResourceContentionFault "ResourceContention" 1249 // You already have a pending update to an Amazon EC2 Auto Scaling resource 1250 // (for example, an Auto Scaling group, instance, or load balancer). 1251 // 1252 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteLifecycleHook 1253 func (c *AutoScaling) DeleteLifecycleHook(input *DeleteLifecycleHookInput) (*DeleteLifecycleHookOutput, error) { 1254 req, out := c.DeleteLifecycleHookRequest(input) 1255 return out, req.Send() 1256 } 1257 1258 // DeleteLifecycleHookWithContext is the same as DeleteLifecycleHook with the addition of 1259 // the ability to pass a context and additional request options. 1260 // 1261 // See DeleteLifecycleHook for details on how to use this API operation. 1262 // 1263 // The context must be non-nil and will be used for request cancellation. If 1264 // the context is nil a panic will occur. In the future the SDK may create 1265 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1266 // for more information on using Contexts. 1267 func (c *AutoScaling) DeleteLifecycleHookWithContext(ctx aws.Context, input *DeleteLifecycleHookInput, opts ...request.Option) (*DeleteLifecycleHookOutput, error) { 1268 req, out := c.DeleteLifecycleHookRequest(input) 1269 req.SetContext(ctx) 1270 req.ApplyOptions(opts...) 1271 return out, req.Send() 1272 } 1273 1274 const opDeleteNotificationConfiguration = "DeleteNotificationConfiguration" 1275 1276 // DeleteNotificationConfigurationRequest generates a "aws/request.Request" representing the 1277 // client's request for the DeleteNotificationConfiguration operation. The "output" return 1278 // value will be populated with the request's response once the request completes 1279 // successfully. 1280 // 1281 // Use "Send" method on the returned Request to send the API call to the service. 1282 // the "output" return value is not valid until after Send returns without error. 1283 // 1284 // See DeleteNotificationConfiguration for more information on using the DeleteNotificationConfiguration 1285 // API call, and error handling. 1286 // 1287 // This method is useful when you want to inject custom logic or configuration 1288 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1289 // 1290 // 1291 // // Example sending a request using the DeleteNotificationConfigurationRequest method. 1292 // req, resp := client.DeleteNotificationConfigurationRequest(params) 1293 // 1294 // err := req.Send() 1295 // if err == nil { // resp is now filled 1296 // fmt.Println(resp) 1297 // } 1298 // 1299 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteNotificationConfiguration 1300 func (c *AutoScaling) DeleteNotificationConfigurationRequest(input *DeleteNotificationConfigurationInput) (req *request.Request, output *DeleteNotificationConfigurationOutput) { 1301 op := &request.Operation{ 1302 Name: opDeleteNotificationConfiguration, 1303 HTTPMethod: "POST", 1304 HTTPPath: "/", 1305 } 1306 1307 if input == nil { 1308 input = &DeleteNotificationConfigurationInput{} 1309 } 1310 1311 output = &DeleteNotificationConfigurationOutput{} 1312 req = c.newRequest(op, input, output) 1313 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1314 return 1315 } 1316 1317 // DeleteNotificationConfiguration API operation for Auto Scaling. 1318 // 1319 // Deletes the specified notification. 1320 // 1321 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1322 // with awserr.Error's Code and Message methods to get detailed information about 1323 // the error. 1324 // 1325 // See the AWS API reference guide for Auto Scaling's 1326 // API operation DeleteNotificationConfiguration for usage and error information. 1327 // 1328 // Returned Error Codes: 1329 // * ErrCodeResourceContentionFault "ResourceContention" 1330 // You already have a pending update to an Amazon EC2 Auto Scaling resource 1331 // (for example, an Auto Scaling group, instance, or load balancer). 1332 // 1333 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteNotificationConfiguration 1334 func (c *AutoScaling) DeleteNotificationConfiguration(input *DeleteNotificationConfigurationInput) (*DeleteNotificationConfigurationOutput, error) { 1335 req, out := c.DeleteNotificationConfigurationRequest(input) 1336 return out, req.Send() 1337 } 1338 1339 // DeleteNotificationConfigurationWithContext is the same as DeleteNotificationConfiguration with the addition of 1340 // the ability to pass a context and additional request options. 1341 // 1342 // See DeleteNotificationConfiguration for details on how to use this API operation. 1343 // 1344 // The context must be non-nil and will be used for request cancellation. If 1345 // the context is nil a panic will occur. In the future the SDK may create 1346 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1347 // for more information on using Contexts. 1348 func (c *AutoScaling) DeleteNotificationConfigurationWithContext(ctx aws.Context, input *DeleteNotificationConfigurationInput, opts ...request.Option) (*DeleteNotificationConfigurationOutput, error) { 1349 req, out := c.DeleteNotificationConfigurationRequest(input) 1350 req.SetContext(ctx) 1351 req.ApplyOptions(opts...) 1352 return out, req.Send() 1353 } 1354 1355 const opDeletePolicy = "DeletePolicy" 1356 1357 // DeletePolicyRequest generates a "aws/request.Request" representing the 1358 // client's request for the DeletePolicy operation. The "output" return 1359 // value will be populated with the request's response once the request completes 1360 // successfully. 1361 // 1362 // Use "Send" method on the returned Request to send the API call to the service. 1363 // the "output" return value is not valid until after Send returns without error. 1364 // 1365 // See DeletePolicy for more information on using the DeletePolicy 1366 // API call, and error handling. 1367 // 1368 // This method is useful when you want to inject custom logic or configuration 1369 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1370 // 1371 // 1372 // // Example sending a request using the DeletePolicyRequest method. 1373 // req, resp := client.DeletePolicyRequest(params) 1374 // 1375 // err := req.Send() 1376 // if err == nil { // resp is now filled 1377 // fmt.Println(resp) 1378 // } 1379 // 1380 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeletePolicy 1381 func (c *AutoScaling) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Request, output *DeletePolicyOutput) { 1382 op := &request.Operation{ 1383 Name: opDeletePolicy, 1384 HTTPMethod: "POST", 1385 HTTPPath: "/", 1386 } 1387 1388 if input == nil { 1389 input = &DeletePolicyInput{} 1390 } 1391 1392 output = &DeletePolicyOutput{} 1393 req = c.newRequest(op, input, output) 1394 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1395 return 1396 } 1397 1398 // DeletePolicy API operation for Auto Scaling. 1399 // 1400 // Deletes the specified scaling policy. 1401 // 1402 // Deleting either a step scaling policy or a simple scaling policy deletes 1403 // the underlying alarm action, but does not delete the alarm, even if it no 1404 // longer has an associated action. 1405 // 1406 // For more information, see Deleting a scaling policy (https://docs.aws.amazon.com/autoscaling/ec2/userguide/deleting-scaling-policy.html) 1407 // in the Amazon EC2 Auto Scaling User Guide. 1408 // 1409 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1410 // with awserr.Error's Code and Message methods to get detailed information about 1411 // the error. 1412 // 1413 // See the AWS API reference guide for Auto Scaling's 1414 // API operation DeletePolicy for usage and error information. 1415 // 1416 // Returned Error Codes: 1417 // * ErrCodeResourceContentionFault "ResourceContention" 1418 // You already have a pending update to an Amazon EC2 Auto Scaling resource 1419 // (for example, an Auto Scaling group, instance, or load balancer). 1420 // 1421 // * ErrCodeServiceLinkedRoleFailure "ServiceLinkedRoleFailure" 1422 // The service-linked role is not yet ready for use. 1423 // 1424 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeletePolicy 1425 func (c *AutoScaling) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) { 1426 req, out := c.DeletePolicyRequest(input) 1427 return out, req.Send() 1428 } 1429 1430 // DeletePolicyWithContext is the same as DeletePolicy with the addition of 1431 // the ability to pass a context and additional request options. 1432 // 1433 // See DeletePolicy for details on how to use this API operation. 1434 // 1435 // The context must be non-nil and will be used for request cancellation. If 1436 // the context is nil a panic will occur. In the future the SDK may create 1437 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1438 // for more information on using Contexts. 1439 func (c *AutoScaling) DeletePolicyWithContext(ctx aws.Context, input *DeletePolicyInput, opts ...request.Option) (*DeletePolicyOutput, error) { 1440 req, out := c.DeletePolicyRequest(input) 1441 req.SetContext(ctx) 1442 req.ApplyOptions(opts...) 1443 return out, req.Send() 1444 } 1445 1446 const opDeleteScheduledAction = "DeleteScheduledAction" 1447 1448 // DeleteScheduledActionRequest generates a "aws/request.Request" representing the 1449 // client's request for the DeleteScheduledAction operation. The "output" return 1450 // value will be populated with the request's response once the request completes 1451 // successfully. 1452 // 1453 // Use "Send" method on the returned Request to send the API call to the service. 1454 // the "output" return value is not valid until after Send returns without error. 1455 // 1456 // See DeleteScheduledAction for more information on using the DeleteScheduledAction 1457 // API call, and error handling. 1458 // 1459 // This method is useful when you want to inject custom logic or configuration 1460 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1461 // 1462 // 1463 // // Example sending a request using the DeleteScheduledActionRequest method. 1464 // req, resp := client.DeleteScheduledActionRequest(params) 1465 // 1466 // err := req.Send() 1467 // if err == nil { // resp is now filled 1468 // fmt.Println(resp) 1469 // } 1470 // 1471 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteScheduledAction 1472 func (c *AutoScaling) DeleteScheduledActionRequest(input *DeleteScheduledActionInput) (req *request.Request, output *DeleteScheduledActionOutput) { 1473 op := &request.Operation{ 1474 Name: opDeleteScheduledAction, 1475 HTTPMethod: "POST", 1476 HTTPPath: "/", 1477 } 1478 1479 if input == nil { 1480 input = &DeleteScheduledActionInput{} 1481 } 1482 1483 output = &DeleteScheduledActionOutput{} 1484 req = c.newRequest(op, input, output) 1485 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1486 return 1487 } 1488 1489 // DeleteScheduledAction API operation for Auto Scaling. 1490 // 1491 // Deletes the specified scheduled action. 1492 // 1493 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1494 // with awserr.Error's Code and Message methods to get detailed information about 1495 // the error. 1496 // 1497 // See the AWS API reference guide for Auto Scaling's 1498 // API operation DeleteScheduledAction for usage and error information. 1499 // 1500 // Returned Error Codes: 1501 // * ErrCodeResourceContentionFault "ResourceContention" 1502 // You already have a pending update to an Amazon EC2 Auto Scaling resource 1503 // (for example, an Auto Scaling group, instance, or load balancer). 1504 // 1505 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteScheduledAction 1506 func (c *AutoScaling) DeleteScheduledAction(input *DeleteScheduledActionInput) (*DeleteScheduledActionOutput, error) { 1507 req, out := c.DeleteScheduledActionRequest(input) 1508 return out, req.Send() 1509 } 1510 1511 // DeleteScheduledActionWithContext is the same as DeleteScheduledAction with the addition of 1512 // the ability to pass a context and additional request options. 1513 // 1514 // See DeleteScheduledAction for details on how to use this API operation. 1515 // 1516 // The context must be non-nil and will be used for request cancellation. If 1517 // the context is nil a panic will occur. In the future the SDK may create 1518 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1519 // for more information on using Contexts. 1520 func (c *AutoScaling) DeleteScheduledActionWithContext(ctx aws.Context, input *DeleteScheduledActionInput, opts ...request.Option) (*DeleteScheduledActionOutput, error) { 1521 req, out := c.DeleteScheduledActionRequest(input) 1522 req.SetContext(ctx) 1523 req.ApplyOptions(opts...) 1524 return out, req.Send() 1525 } 1526 1527 const opDeleteTags = "DeleteTags" 1528 1529 // DeleteTagsRequest generates a "aws/request.Request" representing the 1530 // client's request for the DeleteTags operation. The "output" return 1531 // value will be populated with the request's response once the request completes 1532 // successfully. 1533 // 1534 // Use "Send" method on the returned Request to send the API call to the service. 1535 // the "output" return value is not valid until after Send returns without error. 1536 // 1537 // See DeleteTags for more information on using the DeleteTags 1538 // API call, and error handling. 1539 // 1540 // This method is useful when you want to inject custom logic or configuration 1541 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1542 // 1543 // 1544 // // Example sending a request using the DeleteTagsRequest method. 1545 // req, resp := client.DeleteTagsRequest(params) 1546 // 1547 // err := req.Send() 1548 // if err == nil { // resp is now filled 1549 // fmt.Println(resp) 1550 // } 1551 // 1552 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteTags 1553 func (c *AutoScaling) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) { 1554 op := &request.Operation{ 1555 Name: opDeleteTags, 1556 HTTPMethod: "POST", 1557 HTTPPath: "/", 1558 } 1559 1560 if input == nil { 1561 input = &DeleteTagsInput{} 1562 } 1563 1564 output = &DeleteTagsOutput{} 1565 req = c.newRequest(op, input, output) 1566 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1567 return 1568 } 1569 1570 // DeleteTags API operation for Auto Scaling. 1571 // 1572 // Deletes the specified tags. 1573 // 1574 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1575 // with awserr.Error's Code and Message methods to get detailed information about 1576 // the error. 1577 // 1578 // See the AWS API reference guide for Auto Scaling's 1579 // API operation DeleteTags for usage and error information. 1580 // 1581 // Returned Error Codes: 1582 // * ErrCodeResourceContentionFault "ResourceContention" 1583 // You already have a pending update to an Amazon EC2 Auto Scaling resource 1584 // (for example, an Auto Scaling group, instance, or load balancer). 1585 // 1586 // * ErrCodeResourceInUseFault "ResourceInUse" 1587 // The operation can't be performed because the resource is in use. 1588 // 1589 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteTags 1590 func (c *AutoScaling) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) { 1591 req, out := c.DeleteTagsRequest(input) 1592 return out, req.Send() 1593 } 1594 1595 // DeleteTagsWithContext is the same as DeleteTags with the addition of 1596 // the ability to pass a context and additional request options. 1597 // 1598 // See DeleteTags for details on how to use this API operation. 1599 // 1600 // The context must be non-nil and will be used for request cancellation. If 1601 // the context is nil a panic will occur. In the future the SDK may create 1602 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1603 // for more information on using Contexts. 1604 func (c *AutoScaling) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) { 1605 req, out := c.DeleteTagsRequest(input) 1606 req.SetContext(ctx) 1607 req.ApplyOptions(opts...) 1608 return out, req.Send() 1609 } 1610 1611 const opDeleteWarmPool = "DeleteWarmPool" 1612 1613 // DeleteWarmPoolRequest generates a "aws/request.Request" representing the 1614 // client's request for the DeleteWarmPool operation. The "output" return 1615 // value will be populated with the request's response once the request completes 1616 // successfully. 1617 // 1618 // Use "Send" method on the returned Request to send the API call to the service. 1619 // the "output" return value is not valid until after Send returns without error. 1620 // 1621 // See DeleteWarmPool for more information on using the DeleteWarmPool 1622 // API call, and error handling. 1623 // 1624 // This method is useful when you want to inject custom logic or configuration 1625 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1626 // 1627 // 1628 // // Example sending a request using the DeleteWarmPoolRequest method. 1629 // req, resp := client.DeleteWarmPoolRequest(params) 1630 // 1631 // err := req.Send() 1632 // if err == nil { // resp is now filled 1633 // fmt.Println(resp) 1634 // } 1635 // 1636 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteWarmPool 1637 func (c *AutoScaling) DeleteWarmPoolRequest(input *DeleteWarmPoolInput) (req *request.Request, output *DeleteWarmPoolOutput) { 1638 op := &request.Operation{ 1639 Name: opDeleteWarmPool, 1640 HTTPMethod: "POST", 1641 HTTPPath: "/", 1642 } 1643 1644 if input == nil { 1645 input = &DeleteWarmPoolInput{} 1646 } 1647 1648 output = &DeleteWarmPoolOutput{} 1649 req = c.newRequest(op, input, output) 1650 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1651 return 1652 } 1653 1654 // DeleteWarmPool API operation for Auto Scaling. 1655 // 1656 // Deletes the warm pool for the specified Auto Scaling group. 1657 // 1658 // For more information, see Warm pools for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html) 1659 // in the Amazon EC2 Auto Scaling User Guide. 1660 // 1661 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1662 // with awserr.Error's Code and Message methods to get detailed information about 1663 // the error. 1664 // 1665 // See the AWS API reference guide for Auto Scaling's 1666 // API operation DeleteWarmPool for usage and error information. 1667 // 1668 // Returned Error Codes: 1669 // * ErrCodeLimitExceededFault "LimitExceeded" 1670 // You have already reached a limit for your Amazon EC2 Auto Scaling resources 1671 // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). 1672 // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) 1673 // in the Amazon EC2 Auto Scaling API Reference. 1674 // 1675 // * ErrCodeResourceContentionFault "ResourceContention" 1676 // You already have a pending update to an Amazon EC2 Auto Scaling resource 1677 // (for example, an Auto Scaling group, instance, or load balancer). 1678 // 1679 // * ErrCodeScalingActivityInProgressFault "ScalingActivityInProgress" 1680 // The operation can't be performed because there are scaling activities in 1681 // progress. 1682 // 1683 // * ErrCodeResourceInUseFault "ResourceInUse" 1684 // The operation can't be performed because the resource is in use. 1685 // 1686 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DeleteWarmPool 1687 func (c *AutoScaling) DeleteWarmPool(input *DeleteWarmPoolInput) (*DeleteWarmPoolOutput, error) { 1688 req, out := c.DeleteWarmPoolRequest(input) 1689 return out, req.Send() 1690 } 1691 1692 // DeleteWarmPoolWithContext is the same as DeleteWarmPool with the addition of 1693 // the ability to pass a context and additional request options. 1694 // 1695 // See DeleteWarmPool for details on how to use this API operation. 1696 // 1697 // The context must be non-nil and will be used for request cancellation. If 1698 // the context is nil a panic will occur. In the future the SDK may create 1699 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1700 // for more information on using Contexts. 1701 func (c *AutoScaling) DeleteWarmPoolWithContext(ctx aws.Context, input *DeleteWarmPoolInput, opts ...request.Option) (*DeleteWarmPoolOutput, error) { 1702 req, out := c.DeleteWarmPoolRequest(input) 1703 req.SetContext(ctx) 1704 req.ApplyOptions(opts...) 1705 return out, req.Send() 1706 } 1707 1708 const opDescribeAccountLimits = "DescribeAccountLimits" 1709 1710 // DescribeAccountLimitsRequest generates a "aws/request.Request" representing the 1711 // client's request for the DescribeAccountLimits operation. The "output" return 1712 // value will be populated with the request's response once the request completes 1713 // successfully. 1714 // 1715 // Use "Send" method on the returned Request to send the API call to the service. 1716 // the "output" return value is not valid until after Send returns without error. 1717 // 1718 // See DescribeAccountLimits for more information on using the DescribeAccountLimits 1719 // API call, and error handling. 1720 // 1721 // This method is useful when you want to inject custom logic or configuration 1722 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1723 // 1724 // 1725 // // Example sending a request using the DescribeAccountLimitsRequest method. 1726 // req, resp := client.DescribeAccountLimitsRequest(params) 1727 // 1728 // err := req.Send() 1729 // if err == nil { // resp is now filled 1730 // fmt.Println(resp) 1731 // } 1732 // 1733 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeAccountLimits 1734 func (c *AutoScaling) DescribeAccountLimitsRequest(input *DescribeAccountLimitsInput) (req *request.Request, output *DescribeAccountLimitsOutput) { 1735 op := &request.Operation{ 1736 Name: opDescribeAccountLimits, 1737 HTTPMethod: "POST", 1738 HTTPPath: "/", 1739 } 1740 1741 if input == nil { 1742 input = &DescribeAccountLimitsInput{} 1743 } 1744 1745 output = &DescribeAccountLimitsOutput{} 1746 req = c.newRequest(op, input, output) 1747 return 1748 } 1749 1750 // DescribeAccountLimits API operation for Auto Scaling. 1751 // 1752 // Describes the current Amazon EC2 Auto Scaling resource quotas for your account. 1753 // 1754 // When you establish an account, the account has initial quotas on the maximum 1755 // number of Auto Scaling groups and launch configurations that you can create 1756 // in a given Region. For more information, see Amazon EC2 Auto Scaling service 1757 // quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) 1758 // in the Amazon EC2 Auto Scaling User Guide. 1759 // 1760 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1761 // with awserr.Error's Code and Message methods to get detailed information about 1762 // the error. 1763 // 1764 // See the AWS API reference guide for Auto Scaling's 1765 // API operation DescribeAccountLimits for usage and error information. 1766 // 1767 // Returned Error Codes: 1768 // * ErrCodeResourceContentionFault "ResourceContention" 1769 // You already have a pending update to an Amazon EC2 Auto Scaling resource 1770 // (for example, an Auto Scaling group, instance, or load balancer). 1771 // 1772 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeAccountLimits 1773 func (c *AutoScaling) DescribeAccountLimits(input *DescribeAccountLimitsInput) (*DescribeAccountLimitsOutput, error) { 1774 req, out := c.DescribeAccountLimitsRequest(input) 1775 return out, req.Send() 1776 } 1777 1778 // DescribeAccountLimitsWithContext is the same as DescribeAccountLimits with the addition of 1779 // the ability to pass a context and additional request options. 1780 // 1781 // See DescribeAccountLimits for details on how to use this API operation. 1782 // 1783 // The context must be non-nil and will be used for request cancellation. If 1784 // the context is nil a panic will occur. In the future the SDK may create 1785 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1786 // for more information on using Contexts. 1787 func (c *AutoScaling) DescribeAccountLimitsWithContext(ctx aws.Context, input *DescribeAccountLimitsInput, opts ...request.Option) (*DescribeAccountLimitsOutput, error) { 1788 req, out := c.DescribeAccountLimitsRequest(input) 1789 req.SetContext(ctx) 1790 req.ApplyOptions(opts...) 1791 return out, req.Send() 1792 } 1793 1794 const opDescribeAdjustmentTypes = "DescribeAdjustmentTypes" 1795 1796 // DescribeAdjustmentTypesRequest generates a "aws/request.Request" representing the 1797 // client's request for the DescribeAdjustmentTypes operation. The "output" return 1798 // value will be populated with the request's response once the request completes 1799 // successfully. 1800 // 1801 // Use "Send" method on the returned Request to send the API call to the service. 1802 // the "output" return value is not valid until after Send returns without error. 1803 // 1804 // See DescribeAdjustmentTypes for more information on using the DescribeAdjustmentTypes 1805 // API call, and error handling. 1806 // 1807 // This method is useful when you want to inject custom logic or configuration 1808 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1809 // 1810 // 1811 // // Example sending a request using the DescribeAdjustmentTypesRequest method. 1812 // req, resp := client.DescribeAdjustmentTypesRequest(params) 1813 // 1814 // err := req.Send() 1815 // if err == nil { // resp is now filled 1816 // fmt.Println(resp) 1817 // } 1818 // 1819 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeAdjustmentTypes 1820 func (c *AutoScaling) DescribeAdjustmentTypesRequest(input *DescribeAdjustmentTypesInput) (req *request.Request, output *DescribeAdjustmentTypesOutput) { 1821 op := &request.Operation{ 1822 Name: opDescribeAdjustmentTypes, 1823 HTTPMethod: "POST", 1824 HTTPPath: "/", 1825 } 1826 1827 if input == nil { 1828 input = &DescribeAdjustmentTypesInput{} 1829 } 1830 1831 output = &DescribeAdjustmentTypesOutput{} 1832 req = c.newRequest(op, input, output) 1833 return 1834 } 1835 1836 // DescribeAdjustmentTypes API operation for Auto Scaling. 1837 // 1838 // Describes the available adjustment types for step scaling and simple scaling 1839 // policies. 1840 // 1841 // The following adjustment types are supported: 1842 // 1843 // * ChangeInCapacity 1844 // 1845 // * ExactCapacity 1846 // 1847 // * PercentChangeInCapacity 1848 // 1849 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1850 // with awserr.Error's Code and Message methods to get detailed information about 1851 // the error. 1852 // 1853 // See the AWS API reference guide for Auto Scaling's 1854 // API operation DescribeAdjustmentTypes for usage and error information. 1855 // 1856 // Returned Error Codes: 1857 // * ErrCodeResourceContentionFault "ResourceContention" 1858 // You already have a pending update to an Amazon EC2 Auto Scaling resource 1859 // (for example, an Auto Scaling group, instance, or load balancer). 1860 // 1861 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeAdjustmentTypes 1862 func (c *AutoScaling) DescribeAdjustmentTypes(input *DescribeAdjustmentTypesInput) (*DescribeAdjustmentTypesOutput, error) { 1863 req, out := c.DescribeAdjustmentTypesRequest(input) 1864 return out, req.Send() 1865 } 1866 1867 // DescribeAdjustmentTypesWithContext is the same as DescribeAdjustmentTypes with the addition of 1868 // the ability to pass a context and additional request options. 1869 // 1870 // See DescribeAdjustmentTypes for details on how to use this API operation. 1871 // 1872 // The context must be non-nil and will be used for request cancellation. If 1873 // the context is nil a panic will occur. In the future the SDK may create 1874 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1875 // for more information on using Contexts. 1876 func (c *AutoScaling) DescribeAdjustmentTypesWithContext(ctx aws.Context, input *DescribeAdjustmentTypesInput, opts ...request.Option) (*DescribeAdjustmentTypesOutput, error) { 1877 req, out := c.DescribeAdjustmentTypesRequest(input) 1878 req.SetContext(ctx) 1879 req.ApplyOptions(opts...) 1880 return out, req.Send() 1881 } 1882 1883 const opDescribeAutoScalingGroups = "DescribeAutoScalingGroups" 1884 1885 // DescribeAutoScalingGroupsRequest generates a "aws/request.Request" representing the 1886 // client's request for the DescribeAutoScalingGroups operation. The "output" return 1887 // value will be populated with the request's response once the request completes 1888 // successfully. 1889 // 1890 // Use "Send" method on the returned Request to send the API call to the service. 1891 // the "output" return value is not valid until after Send returns without error. 1892 // 1893 // See DescribeAutoScalingGroups for more information on using the DescribeAutoScalingGroups 1894 // API call, and error handling. 1895 // 1896 // This method is useful when you want to inject custom logic or configuration 1897 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1898 // 1899 // 1900 // // Example sending a request using the DescribeAutoScalingGroupsRequest method. 1901 // req, resp := client.DescribeAutoScalingGroupsRequest(params) 1902 // 1903 // err := req.Send() 1904 // if err == nil { // resp is now filled 1905 // fmt.Println(resp) 1906 // } 1907 // 1908 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeAutoScalingGroups 1909 func (c *AutoScaling) DescribeAutoScalingGroupsRequest(input *DescribeAutoScalingGroupsInput) (req *request.Request, output *DescribeAutoScalingGroupsOutput) { 1910 op := &request.Operation{ 1911 Name: opDescribeAutoScalingGroups, 1912 HTTPMethod: "POST", 1913 HTTPPath: "/", 1914 Paginator: &request.Paginator{ 1915 InputTokens: []string{"NextToken"}, 1916 OutputTokens: []string{"NextToken"}, 1917 LimitToken: "MaxRecords", 1918 TruncationToken: "", 1919 }, 1920 } 1921 1922 if input == nil { 1923 input = &DescribeAutoScalingGroupsInput{} 1924 } 1925 1926 output = &DescribeAutoScalingGroupsOutput{} 1927 req = c.newRequest(op, input, output) 1928 return 1929 } 1930 1931 // DescribeAutoScalingGroups API operation for Auto Scaling. 1932 // 1933 // Gets information about the Auto Scaling groups in the account and Region. 1934 // 1935 // This operation returns information about instances in Auto Scaling groups. 1936 // To retrieve information about the instances in a warm pool, you must call 1937 // the DescribeWarmPool API. 1938 // 1939 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1940 // with awserr.Error's Code and Message methods to get detailed information about 1941 // the error. 1942 // 1943 // See the AWS API reference guide for Auto Scaling's 1944 // API operation DescribeAutoScalingGroups for usage and error information. 1945 // 1946 // Returned Error Codes: 1947 // * ErrCodeInvalidNextToken "InvalidNextToken" 1948 // The NextToken value is not valid. 1949 // 1950 // * ErrCodeResourceContentionFault "ResourceContention" 1951 // You already have a pending update to an Amazon EC2 Auto Scaling resource 1952 // (for example, an Auto Scaling group, instance, or load balancer). 1953 // 1954 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeAutoScalingGroups 1955 func (c *AutoScaling) DescribeAutoScalingGroups(input *DescribeAutoScalingGroupsInput) (*DescribeAutoScalingGroupsOutput, error) { 1956 req, out := c.DescribeAutoScalingGroupsRequest(input) 1957 return out, req.Send() 1958 } 1959 1960 // DescribeAutoScalingGroupsWithContext is the same as DescribeAutoScalingGroups with the addition of 1961 // the ability to pass a context and additional request options. 1962 // 1963 // See DescribeAutoScalingGroups for details on how to use this API operation. 1964 // 1965 // The context must be non-nil and will be used for request cancellation. If 1966 // the context is nil a panic will occur. In the future the SDK may create 1967 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1968 // for more information on using Contexts. 1969 func (c *AutoScaling) DescribeAutoScalingGroupsWithContext(ctx aws.Context, input *DescribeAutoScalingGroupsInput, opts ...request.Option) (*DescribeAutoScalingGroupsOutput, error) { 1970 req, out := c.DescribeAutoScalingGroupsRequest(input) 1971 req.SetContext(ctx) 1972 req.ApplyOptions(opts...) 1973 return out, req.Send() 1974 } 1975 1976 // DescribeAutoScalingGroupsPages iterates over the pages of a DescribeAutoScalingGroups operation, 1977 // calling the "fn" function with the response data for each page. To stop 1978 // iterating, return false from the fn function. 1979 // 1980 // See DescribeAutoScalingGroups method for more information on how to use this operation. 1981 // 1982 // Note: This operation can generate multiple requests to a service. 1983 // 1984 // // Example iterating over at most 3 pages of a DescribeAutoScalingGroups operation. 1985 // pageNum := 0 1986 // err := client.DescribeAutoScalingGroupsPages(params, 1987 // func(page *autoscaling.DescribeAutoScalingGroupsOutput, lastPage bool) bool { 1988 // pageNum++ 1989 // fmt.Println(page) 1990 // return pageNum <= 3 1991 // }) 1992 // 1993 func (c *AutoScaling) DescribeAutoScalingGroupsPages(input *DescribeAutoScalingGroupsInput, fn func(*DescribeAutoScalingGroupsOutput, bool) bool) error { 1994 return c.DescribeAutoScalingGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 1995 } 1996 1997 // DescribeAutoScalingGroupsPagesWithContext same as DescribeAutoScalingGroupsPages except 1998 // it takes a Context and allows setting request options on the pages. 1999 // 2000 // The context must be non-nil and will be used for request cancellation. If 2001 // the context is nil a panic will occur. In the future the SDK may create 2002 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2003 // for more information on using Contexts. 2004 func (c *AutoScaling) DescribeAutoScalingGroupsPagesWithContext(ctx aws.Context, input *DescribeAutoScalingGroupsInput, fn func(*DescribeAutoScalingGroupsOutput, bool) bool, opts ...request.Option) error { 2005 p := request.Pagination{ 2006 NewRequest: func() (*request.Request, error) { 2007 var inCpy *DescribeAutoScalingGroupsInput 2008 if input != nil { 2009 tmp := *input 2010 inCpy = &tmp 2011 } 2012 req, _ := c.DescribeAutoScalingGroupsRequest(inCpy) 2013 req.SetContext(ctx) 2014 req.ApplyOptions(opts...) 2015 return req, nil 2016 }, 2017 } 2018 2019 for p.Next() { 2020 if !fn(p.Page().(*DescribeAutoScalingGroupsOutput), !p.HasNextPage()) { 2021 break 2022 } 2023 } 2024 2025 return p.Err() 2026 } 2027 2028 const opDescribeAutoScalingInstances = "DescribeAutoScalingInstances" 2029 2030 // DescribeAutoScalingInstancesRequest generates a "aws/request.Request" representing the 2031 // client's request for the DescribeAutoScalingInstances operation. The "output" return 2032 // value will be populated with the request's response once the request completes 2033 // successfully. 2034 // 2035 // Use "Send" method on the returned Request to send the API call to the service. 2036 // the "output" return value is not valid until after Send returns without error. 2037 // 2038 // See DescribeAutoScalingInstances for more information on using the DescribeAutoScalingInstances 2039 // API call, and error handling. 2040 // 2041 // This method is useful when you want to inject custom logic or configuration 2042 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2043 // 2044 // 2045 // // Example sending a request using the DescribeAutoScalingInstancesRequest method. 2046 // req, resp := client.DescribeAutoScalingInstancesRequest(params) 2047 // 2048 // err := req.Send() 2049 // if err == nil { // resp is now filled 2050 // fmt.Println(resp) 2051 // } 2052 // 2053 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeAutoScalingInstances 2054 func (c *AutoScaling) DescribeAutoScalingInstancesRequest(input *DescribeAutoScalingInstancesInput) (req *request.Request, output *DescribeAutoScalingInstancesOutput) { 2055 op := &request.Operation{ 2056 Name: opDescribeAutoScalingInstances, 2057 HTTPMethod: "POST", 2058 HTTPPath: "/", 2059 Paginator: &request.Paginator{ 2060 InputTokens: []string{"NextToken"}, 2061 OutputTokens: []string{"NextToken"}, 2062 LimitToken: "MaxRecords", 2063 TruncationToken: "", 2064 }, 2065 } 2066 2067 if input == nil { 2068 input = &DescribeAutoScalingInstancesInput{} 2069 } 2070 2071 output = &DescribeAutoScalingInstancesOutput{} 2072 req = c.newRequest(op, input, output) 2073 return 2074 } 2075 2076 // DescribeAutoScalingInstances API operation for Auto Scaling. 2077 // 2078 // Gets information about the Auto Scaling instances in the account and Region. 2079 // 2080 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2081 // with awserr.Error's Code and Message methods to get detailed information about 2082 // the error. 2083 // 2084 // See the AWS API reference guide for Auto Scaling's 2085 // API operation DescribeAutoScalingInstances for usage and error information. 2086 // 2087 // Returned Error Codes: 2088 // * ErrCodeInvalidNextToken "InvalidNextToken" 2089 // The NextToken value is not valid. 2090 // 2091 // * ErrCodeResourceContentionFault "ResourceContention" 2092 // You already have a pending update to an Amazon EC2 Auto Scaling resource 2093 // (for example, an Auto Scaling group, instance, or load balancer). 2094 // 2095 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeAutoScalingInstances 2096 func (c *AutoScaling) DescribeAutoScalingInstances(input *DescribeAutoScalingInstancesInput) (*DescribeAutoScalingInstancesOutput, error) { 2097 req, out := c.DescribeAutoScalingInstancesRequest(input) 2098 return out, req.Send() 2099 } 2100 2101 // DescribeAutoScalingInstancesWithContext is the same as DescribeAutoScalingInstances with the addition of 2102 // the ability to pass a context and additional request options. 2103 // 2104 // See DescribeAutoScalingInstances for details on how to use this API operation. 2105 // 2106 // The context must be non-nil and will be used for request cancellation. If 2107 // the context is nil a panic will occur. In the future the SDK may create 2108 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2109 // for more information on using Contexts. 2110 func (c *AutoScaling) DescribeAutoScalingInstancesWithContext(ctx aws.Context, input *DescribeAutoScalingInstancesInput, opts ...request.Option) (*DescribeAutoScalingInstancesOutput, error) { 2111 req, out := c.DescribeAutoScalingInstancesRequest(input) 2112 req.SetContext(ctx) 2113 req.ApplyOptions(opts...) 2114 return out, req.Send() 2115 } 2116 2117 // DescribeAutoScalingInstancesPages iterates over the pages of a DescribeAutoScalingInstances operation, 2118 // calling the "fn" function with the response data for each page. To stop 2119 // iterating, return false from the fn function. 2120 // 2121 // See DescribeAutoScalingInstances method for more information on how to use this operation. 2122 // 2123 // Note: This operation can generate multiple requests to a service. 2124 // 2125 // // Example iterating over at most 3 pages of a DescribeAutoScalingInstances operation. 2126 // pageNum := 0 2127 // err := client.DescribeAutoScalingInstancesPages(params, 2128 // func(page *autoscaling.DescribeAutoScalingInstancesOutput, lastPage bool) bool { 2129 // pageNum++ 2130 // fmt.Println(page) 2131 // return pageNum <= 3 2132 // }) 2133 // 2134 func (c *AutoScaling) DescribeAutoScalingInstancesPages(input *DescribeAutoScalingInstancesInput, fn func(*DescribeAutoScalingInstancesOutput, bool) bool) error { 2135 return c.DescribeAutoScalingInstancesPagesWithContext(aws.BackgroundContext(), input, fn) 2136 } 2137 2138 // DescribeAutoScalingInstancesPagesWithContext same as DescribeAutoScalingInstancesPages except 2139 // it takes a Context and allows setting request options on the pages. 2140 // 2141 // The context must be non-nil and will be used for request cancellation. If 2142 // the context is nil a panic will occur. In the future the SDK may create 2143 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2144 // for more information on using Contexts. 2145 func (c *AutoScaling) DescribeAutoScalingInstancesPagesWithContext(ctx aws.Context, input *DescribeAutoScalingInstancesInput, fn func(*DescribeAutoScalingInstancesOutput, bool) bool, opts ...request.Option) error { 2146 p := request.Pagination{ 2147 NewRequest: func() (*request.Request, error) { 2148 var inCpy *DescribeAutoScalingInstancesInput 2149 if input != nil { 2150 tmp := *input 2151 inCpy = &tmp 2152 } 2153 req, _ := c.DescribeAutoScalingInstancesRequest(inCpy) 2154 req.SetContext(ctx) 2155 req.ApplyOptions(opts...) 2156 return req, nil 2157 }, 2158 } 2159 2160 for p.Next() { 2161 if !fn(p.Page().(*DescribeAutoScalingInstancesOutput), !p.HasNextPage()) { 2162 break 2163 } 2164 } 2165 2166 return p.Err() 2167 } 2168 2169 const opDescribeAutoScalingNotificationTypes = "DescribeAutoScalingNotificationTypes" 2170 2171 // DescribeAutoScalingNotificationTypesRequest generates a "aws/request.Request" representing the 2172 // client's request for the DescribeAutoScalingNotificationTypes operation. The "output" return 2173 // value will be populated with the request's response once the request completes 2174 // successfully. 2175 // 2176 // Use "Send" method on the returned Request to send the API call to the service. 2177 // the "output" return value is not valid until after Send returns without error. 2178 // 2179 // See DescribeAutoScalingNotificationTypes for more information on using the DescribeAutoScalingNotificationTypes 2180 // API call, and error handling. 2181 // 2182 // This method is useful when you want to inject custom logic or configuration 2183 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2184 // 2185 // 2186 // // Example sending a request using the DescribeAutoScalingNotificationTypesRequest method. 2187 // req, resp := client.DescribeAutoScalingNotificationTypesRequest(params) 2188 // 2189 // err := req.Send() 2190 // if err == nil { // resp is now filled 2191 // fmt.Println(resp) 2192 // } 2193 // 2194 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeAutoScalingNotificationTypes 2195 func (c *AutoScaling) DescribeAutoScalingNotificationTypesRequest(input *DescribeAutoScalingNotificationTypesInput) (req *request.Request, output *DescribeAutoScalingNotificationTypesOutput) { 2196 op := &request.Operation{ 2197 Name: opDescribeAutoScalingNotificationTypes, 2198 HTTPMethod: "POST", 2199 HTTPPath: "/", 2200 } 2201 2202 if input == nil { 2203 input = &DescribeAutoScalingNotificationTypesInput{} 2204 } 2205 2206 output = &DescribeAutoScalingNotificationTypesOutput{} 2207 req = c.newRequest(op, input, output) 2208 return 2209 } 2210 2211 // DescribeAutoScalingNotificationTypes API operation for Auto Scaling. 2212 // 2213 // Describes the notification types that are supported by Amazon EC2 Auto Scaling. 2214 // 2215 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2216 // with awserr.Error's Code and Message methods to get detailed information about 2217 // the error. 2218 // 2219 // See the AWS API reference guide for Auto Scaling's 2220 // API operation DescribeAutoScalingNotificationTypes for usage and error information. 2221 // 2222 // Returned Error Codes: 2223 // * ErrCodeResourceContentionFault "ResourceContention" 2224 // You already have a pending update to an Amazon EC2 Auto Scaling resource 2225 // (for example, an Auto Scaling group, instance, or load balancer). 2226 // 2227 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeAutoScalingNotificationTypes 2228 func (c *AutoScaling) DescribeAutoScalingNotificationTypes(input *DescribeAutoScalingNotificationTypesInput) (*DescribeAutoScalingNotificationTypesOutput, error) { 2229 req, out := c.DescribeAutoScalingNotificationTypesRequest(input) 2230 return out, req.Send() 2231 } 2232 2233 // DescribeAutoScalingNotificationTypesWithContext is the same as DescribeAutoScalingNotificationTypes with the addition of 2234 // the ability to pass a context and additional request options. 2235 // 2236 // See DescribeAutoScalingNotificationTypes for details on how to use this API operation. 2237 // 2238 // The context must be non-nil and will be used for request cancellation. If 2239 // the context is nil a panic will occur. In the future the SDK may create 2240 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2241 // for more information on using Contexts. 2242 func (c *AutoScaling) DescribeAutoScalingNotificationTypesWithContext(ctx aws.Context, input *DescribeAutoScalingNotificationTypesInput, opts ...request.Option) (*DescribeAutoScalingNotificationTypesOutput, error) { 2243 req, out := c.DescribeAutoScalingNotificationTypesRequest(input) 2244 req.SetContext(ctx) 2245 req.ApplyOptions(opts...) 2246 return out, req.Send() 2247 } 2248 2249 const opDescribeInstanceRefreshes = "DescribeInstanceRefreshes" 2250 2251 // DescribeInstanceRefreshesRequest generates a "aws/request.Request" representing the 2252 // client's request for the DescribeInstanceRefreshes operation. The "output" return 2253 // value will be populated with the request's response once the request completes 2254 // successfully. 2255 // 2256 // Use "Send" method on the returned Request to send the API call to the service. 2257 // the "output" return value is not valid until after Send returns without error. 2258 // 2259 // See DescribeInstanceRefreshes for more information on using the DescribeInstanceRefreshes 2260 // API call, and error handling. 2261 // 2262 // This method is useful when you want to inject custom logic or configuration 2263 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2264 // 2265 // 2266 // // Example sending a request using the DescribeInstanceRefreshesRequest method. 2267 // req, resp := client.DescribeInstanceRefreshesRequest(params) 2268 // 2269 // err := req.Send() 2270 // if err == nil { // resp is now filled 2271 // fmt.Println(resp) 2272 // } 2273 // 2274 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeInstanceRefreshes 2275 func (c *AutoScaling) DescribeInstanceRefreshesRequest(input *DescribeInstanceRefreshesInput) (req *request.Request, output *DescribeInstanceRefreshesOutput) { 2276 op := &request.Operation{ 2277 Name: opDescribeInstanceRefreshes, 2278 HTTPMethod: "POST", 2279 HTTPPath: "/", 2280 } 2281 2282 if input == nil { 2283 input = &DescribeInstanceRefreshesInput{} 2284 } 2285 2286 output = &DescribeInstanceRefreshesOutput{} 2287 req = c.newRequest(op, input, output) 2288 return 2289 } 2290 2291 // DescribeInstanceRefreshes API operation for Auto Scaling. 2292 // 2293 // Gets information about the instance refreshes for the specified Auto Scaling 2294 // group. 2295 // 2296 // This operation is part of the instance refresh feature (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html) 2297 // in Amazon EC2 Auto Scaling, which helps you update instances in your Auto 2298 // Scaling group after you make configuration changes. 2299 // 2300 // To help you determine the status of an instance refresh, this operation returns 2301 // information about the instance refreshes you previously initiated, including 2302 // their status, end time, the percentage of the instance refresh that is complete, 2303 // and the number of instances remaining to update before the instance refresh 2304 // is complete. 2305 // 2306 // The following are the possible statuses: 2307 // 2308 // * Pending - The request was created, but the operation has not started. 2309 // 2310 // * InProgress - The operation is in progress. 2311 // 2312 // * Successful - The operation completed successfully. 2313 // 2314 // * Failed - The operation failed to complete. You can troubleshoot using 2315 // the status reason and the scaling activities. 2316 // 2317 // * Cancelling - An ongoing operation is being cancelled. Cancellation does 2318 // not roll back any replacements that have already been completed, but it 2319 // prevents new replacements from being started. 2320 // 2321 // * Cancelled - The operation is cancelled. 2322 // 2323 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2324 // with awserr.Error's Code and Message methods to get detailed information about 2325 // the error. 2326 // 2327 // See the AWS API reference guide for Auto Scaling's 2328 // API operation DescribeInstanceRefreshes for usage and error information. 2329 // 2330 // Returned Error Codes: 2331 // * ErrCodeInvalidNextToken "InvalidNextToken" 2332 // The NextToken value is not valid. 2333 // 2334 // * ErrCodeResourceContentionFault "ResourceContention" 2335 // You already have a pending update to an Amazon EC2 Auto Scaling resource 2336 // (for example, an Auto Scaling group, instance, or load balancer). 2337 // 2338 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeInstanceRefreshes 2339 func (c *AutoScaling) DescribeInstanceRefreshes(input *DescribeInstanceRefreshesInput) (*DescribeInstanceRefreshesOutput, error) { 2340 req, out := c.DescribeInstanceRefreshesRequest(input) 2341 return out, req.Send() 2342 } 2343 2344 // DescribeInstanceRefreshesWithContext is the same as DescribeInstanceRefreshes with the addition of 2345 // the ability to pass a context and additional request options. 2346 // 2347 // See DescribeInstanceRefreshes for details on how to use this API operation. 2348 // 2349 // The context must be non-nil and will be used for request cancellation. If 2350 // the context is nil a panic will occur. In the future the SDK may create 2351 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2352 // for more information on using Contexts. 2353 func (c *AutoScaling) DescribeInstanceRefreshesWithContext(ctx aws.Context, input *DescribeInstanceRefreshesInput, opts ...request.Option) (*DescribeInstanceRefreshesOutput, error) { 2354 req, out := c.DescribeInstanceRefreshesRequest(input) 2355 req.SetContext(ctx) 2356 req.ApplyOptions(opts...) 2357 return out, req.Send() 2358 } 2359 2360 const opDescribeLaunchConfigurations = "DescribeLaunchConfigurations" 2361 2362 // DescribeLaunchConfigurationsRequest generates a "aws/request.Request" representing the 2363 // client's request for the DescribeLaunchConfigurations operation. The "output" return 2364 // value will be populated with the request's response once the request completes 2365 // successfully. 2366 // 2367 // Use "Send" method on the returned Request to send the API call to the service. 2368 // the "output" return value is not valid until after Send returns without error. 2369 // 2370 // See DescribeLaunchConfigurations for more information on using the DescribeLaunchConfigurations 2371 // API call, and error handling. 2372 // 2373 // This method is useful when you want to inject custom logic or configuration 2374 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2375 // 2376 // 2377 // // Example sending a request using the DescribeLaunchConfigurationsRequest method. 2378 // req, resp := client.DescribeLaunchConfigurationsRequest(params) 2379 // 2380 // err := req.Send() 2381 // if err == nil { // resp is now filled 2382 // fmt.Println(resp) 2383 // } 2384 // 2385 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLaunchConfigurations 2386 func (c *AutoScaling) DescribeLaunchConfigurationsRequest(input *DescribeLaunchConfigurationsInput) (req *request.Request, output *DescribeLaunchConfigurationsOutput) { 2387 op := &request.Operation{ 2388 Name: opDescribeLaunchConfigurations, 2389 HTTPMethod: "POST", 2390 HTTPPath: "/", 2391 Paginator: &request.Paginator{ 2392 InputTokens: []string{"NextToken"}, 2393 OutputTokens: []string{"NextToken"}, 2394 LimitToken: "MaxRecords", 2395 TruncationToken: "", 2396 }, 2397 } 2398 2399 if input == nil { 2400 input = &DescribeLaunchConfigurationsInput{} 2401 } 2402 2403 output = &DescribeLaunchConfigurationsOutput{} 2404 req = c.newRequest(op, input, output) 2405 return 2406 } 2407 2408 // DescribeLaunchConfigurations API operation for Auto Scaling. 2409 // 2410 // Gets information about the launch configurations in the account and Region. 2411 // 2412 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2413 // with awserr.Error's Code and Message methods to get detailed information about 2414 // the error. 2415 // 2416 // See the AWS API reference guide for Auto Scaling's 2417 // API operation DescribeLaunchConfigurations for usage and error information. 2418 // 2419 // Returned Error Codes: 2420 // * ErrCodeInvalidNextToken "InvalidNextToken" 2421 // The NextToken value is not valid. 2422 // 2423 // * ErrCodeResourceContentionFault "ResourceContention" 2424 // You already have a pending update to an Amazon EC2 Auto Scaling resource 2425 // (for example, an Auto Scaling group, instance, or load balancer). 2426 // 2427 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLaunchConfigurations 2428 func (c *AutoScaling) DescribeLaunchConfigurations(input *DescribeLaunchConfigurationsInput) (*DescribeLaunchConfigurationsOutput, error) { 2429 req, out := c.DescribeLaunchConfigurationsRequest(input) 2430 return out, req.Send() 2431 } 2432 2433 // DescribeLaunchConfigurationsWithContext is the same as DescribeLaunchConfigurations with the addition of 2434 // the ability to pass a context and additional request options. 2435 // 2436 // See DescribeLaunchConfigurations for details on how to use this API operation. 2437 // 2438 // The context must be non-nil and will be used for request cancellation. If 2439 // the context is nil a panic will occur. In the future the SDK may create 2440 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2441 // for more information on using Contexts. 2442 func (c *AutoScaling) DescribeLaunchConfigurationsWithContext(ctx aws.Context, input *DescribeLaunchConfigurationsInput, opts ...request.Option) (*DescribeLaunchConfigurationsOutput, error) { 2443 req, out := c.DescribeLaunchConfigurationsRequest(input) 2444 req.SetContext(ctx) 2445 req.ApplyOptions(opts...) 2446 return out, req.Send() 2447 } 2448 2449 // DescribeLaunchConfigurationsPages iterates over the pages of a DescribeLaunchConfigurations operation, 2450 // calling the "fn" function with the response data for each page. To stop 2451 // iterating, return false from the fn function. 2452 // 2453 // See DescribeLaunchConfigurations method for more information on how to use this operation. 2454 // 2455 // Note: This operation can generate multiple requests to a service. 2456 // 2457 // // Example iterating over at most 3 pages of a DescribeLaunchConfigurations operation. 2458 // pageNum := 0 2459 // err := client.DescribeLaunchConfigurationsPages(params, 2460 // func(page *autoscaling.DescribeLaunchConfigurationsOutput, lastPage bool) bool { 2461 // pageNum++ 2462 // fmt.Println(page) 2463 // return pageNum <= 3 2464 // }) 2465 // 2466 func (c *AutoScaling) DescribeLaunchConfigurationsPages(input *DescribeLaunchConfigurationsInput, fn func(*DescribeLaunchConfigurationsOutput, bool) bool) error { 2467 return c.DescribeLaunchConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) 2468 } 2469 2470 // DescribeLaunchConfigurationsPagesWithContext same as DescribeLaunchConfigurationsPages except 2471 // it takes a Context and allows setting request options on the pages. 2472 // 2473 // The context must be non-nil and will be used for request cancellation. If 2474 // the context is nil a panic will occur. In the future the SDK may create 2475 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2476 // for more information on using Contexts. 2477 func (c *AutoScaling) DescribeLaunchConfigurationsPagesWithContext(ctx aws.Context, input *DescribeLaunchConfigurationsInput, fn func(*DescribeLaunchConfigurationsOutput, bool) bool, opts ...request.Option) error { 2478 p := request.Pagination{ 2479 NewRequest: func() (*request.Request, error) { 2480 var inCpy *DescribeLaunchConfigurationsInput 2481 if input != nil { 2482 tmp := *input 2483 inCpy = &tmp 2484 } 2485 req, _ := c.DescribeLaunchConfigurationsRequest(inCpy) 2486 req.SetContext(ctx) 2487 req.ApplyOptions(opts...) 2488 return req, nil 2489 }, 2490 } 2491 2492 for p.Next() { 2493 if !fn(p.Page().(*DescribeLaunchConfigurationsOutput), !p.HasNextPage()) { 2494 break 2495 } 2496 } 2497 2498 return p.Err() 2499 } 2500 2501 const opDescribeLifecycleHookTypes = "DescribeLifecycleHookTypes" 2502 2503 // DescribeLifecycleHookTypesRequest generates a "aws/request.Request" representing the 2504 // client's request for the DescribeLifecycleHookTypes operation. The "output" return 2505 // value will be populated with the request's response once the request completes 2506 // successfully. 2507 // 2508 // Use "Send" method on the returned Request to send the API call to the service. 2509 // the "output" return value is not valid until after Send returns without error. 2510 // 2511 // See DescribeLifecycleHookTypes for more information on using the DescribeLifecycleHookTypes 2512 // API call, and error handling. 2513 // 2514 // This method is useful when you want to inject custom logic or configuration 2515 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2516 // 2517 // 2518 // // Example sending a request using the DescribeLifecycleHookTypesRequest method. 2519 // req, resp := client.DescribeLifecycleHookTypesRequest(params) 2520 // 2521 // err := req.Send() 2522 // if err == nil { // resp is now filled 2523 // fmt.Println(resp) 2524 // } 2525 // 2526 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLifecycleHookTypes 2527 func (c *AutoScaling) DescribeLifecycleHookTypesRequest(input *DescribeLifecycleHookTypesInput) (req *request.Request, output *DescribeLifecycleHookTypesOutput) { 2528 op := &request.Operation{ 2529 Name: opDescribeLifecycleHookTypes, 2530 HTTPMethod: "POST", 2531 HTTPPath: "/", 2532 } 2533 2534 if input == nil { 2535 input = &DescribeLifecycleHookTypesInput{} 2536 } 2537 2538 output = &DescribeLifecycleHookTypesOutput{} 2539 req = c.newRequest(op, input, output) 2540 return 2541 } 2542 2543 // DescribeLifecycleHookTypes API operation for Auto Scaling. 2544 // 2545 // Describes the available types of lifecycle hooks. 2546 // 2547 // The following hook types are supported: 2548 // 2549 // * autoscaling:EC2_INSTANCE_LAUNCHING 2550 // 2551 // * autoscaling:EC2_INSTANCE_TERMINATING 2552 // 2553 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2554 // with awserr.Error's Code and Message methods to get detailed information about 2555 // the error. 2556 // 2557 // See the AWS API reference guide for Auto Scaling's 2558 // API operation DescribeLifecycleHookTypes for usage and error information. 2559 // 2560 // Returned Error Codes: 2561 // * ErrCodeResourceContentionFault "ResourceContention" 2562 // You already have a pending update to an Amazon EC2 Auto Scaling resource 2563 // (for example, an Auto Scaling group, instance, or load balancer). 2564 // 2565 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLifecycleHookTypes 2566 func (c *AutoScaling) DescribeLifecycleHookTypes(input *DescribeLifecycleHookTypesInput) (*DescribeLifecycleHookTypesOutput, error) { 2567 req, out := c.DescribeLifecycleHookTypesRequest(input) 2568 return out, req.Send() 2569 } 2570 2571 // DescribeLifecycleHookTypesWithContext is the same as DescribeLifecycleHookTypes with the addition of 2572 // the ability to pass a context and additional request options. 2573 // 2574 // See DescribeLifecycleHookTypes for details on how to use this API operation. 2575 // 2576 // The context must be non-nil and will be used for request cancellation. If 2577 // the context is nil a panic will occur. In the future the SDK may create 2578 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2579 // for more information on using Contexts. 2580 func (c *AutoScaling) DescribeLifecycleHookTypesWithContext(ctx aws.Context, input *DescribeLifecycleHookTypesInput, opts ...request.Option) (*DescribeLifecycleHookTypesOutput, error) { 2581 req, out := c.DescribeLifecycleHookTypesRequest(input) 2582 req.SetContext(ctx) 2583 req.ApplyOptions(opts...) 2584 return out, req.Send() 2585 } 2586 2587 const opDescribeLifecycleHooks = "DescribeLifecycleHooks" 2588 2589 // DescribeLifecycleHooksRequest generates a "aws/request.Request" representing the 2590 // client's request for the DescribeLifecycleHooks operation. The "output" return 2591 // value will be populated with the request's response once the request completes 2592 // successfully. 2593 // 2594 // Use "Send" method on the returned Request to send the API call to the service. 2595 // the "output" return value is not valid until after Send returns without error. 2596 // 2597 // See DescribeLifecycleHooks for more information on using the DescribeLifecycleHooks 2598 // API call, and error handling. 2599 // 2600 // This method is useful when you want to inject custom logic or configuration 2601 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2602 // 2603 // 2604 // // Example sending a request using the DescribeLifecycleHooksRequest method. 2605 // req, resp := client.DescribeLifecycleHooksRequest(params) 2606 // 2607 // err := req.Send() 2608 // if err == nil { // resp is now filled 2609 // fmt.Println(resp) 2610 // } 2611 // 2612 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLifecycleHooks 2613 func (c *AutoScaling) DescribeLifecycleHooksRequest(input *DescribeLifecycleHooksInput) (req *request.Request, output *DescribeLifecycleHooksOutput) { 2614 op := &request.Operation{ 2615 Name: opDescribeLifecycleHooks, 2616 HTTPMethod: "POST", 2617 HTTPPath: "/", 2618 } 2619 2620 if input == nil { 2621 input = &DescribeLifecycleHooksInput{} 2622 } 2623 2624 output = &DescribeLifecycleHooksOutput{} 2625 req = c.newRequest(op, input, output) 2626 return 2627 } 2628 2629 // DescribeLifecycleHooks API operation for Auto Scaling. 2630 // 2631 // Gets information about the lifecycle hooks for the specified Auto Scaling 2632 // group. 2633 // 2634 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2635 // with awserr.Error's Code and Message methods to get detailed information about 2636 // the error. 2637 // 2638 // See the AWS API reference guide for Auto Scaling's 2639 // API operation DescribeLifecycleHooks for usage and error information. 2640 // 2641 // Returned Error Codes: 2642 // * ErrCodeResourceContentionFault "ResourceContention" 2643 // You already have a pending update to an Amazon EC2 Auto Scaling resource 2644 // (for example, an Auto Scaling group, instance, or load balancer). 2645 // 2646 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLifecycleHooks 2647 func (c *AutoScaling) DescribeLifecycleHooks(input *DescribeLifecycleHooksInput) (*DescribeLifecycleHooksOutput, error) { 2648 req, out := c.DescribeLifecycleHooksRequest(input) 2649 return out, req.Send() 2650 } 2651 2652 // DescribeLifecycleHooksWithContext is the same as DescribeLifecycleHooks with the addition of 2653 // the ability to pass a context and additional request options. 2654 // 2655 // See DescribeLifecycleHooks for details on how to use this API operation. 2656 // 2657 // The context must be non-nil and will be used for request cancellation. If 2658 // the context is nil a panic will occur. In the future the SDK may create 2659 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2660 // for more information on using Contexts. 2661 func (c *AutoScaling) DescribeLifecycleHooksWithContext(ctx aws.Context, input *DescribeLifecycleHooksInput, opts ...request.Option) (*DescribeLifecycleHooksOutput, error) { 2662 req, out := c.DescribeLifecycleHooksRequest(input) 2663 req.SetContext(ctx) 2664 req.ApplyOptions(opts...) 2665 return out, req.Send() 2666 } 2667 2668 const opDescribeLoadBalancerTargetGroups = "DescribeLoadBalancerTargetGroups" 2669 2670 // DescribeLoadBalancerTargetGroupsRequest generates a "aws/request.Request" representing the 2671 // client's request for the DescribeLoadBalancerTargetGroups operation. The "output" return 2672 // value will be populated with the request's response once the request completes 2673 // successfully. 2674 // 2675 // Use "Send" method on the returned Request to send the API call to the service. 2676 // the "output" return value is not valid until after Send returns without error. 2677 // 2678 // See DescribeLoadBalancerTargetGroups for more information on using the DescribeLoadBalancerTargetGroups 2679 // API call, and error handling. 2680 // 2681 // This method is useful when you want to inject custom logic or configuration 2682 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2683 // 2684 // 2685 // // Example sending a request using the DescribeLoadBalancerTargetGroupsRequest method. 2686 // req, resp := client.DescribeLoadBalancerTargetGroupsRequest(params) 2687 // 2688 // err := req.Send() 2689 // if err == nil { // resp is now filled 2690 // fmt.Println(resp) 2691 // } 2692 // 2693 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLoadBalancerTargetGroups 2694 func (c *AutoScaling) DescribeLoadBalancerTargetGroupsRequest(input *DescribeLoadBalancerTargetGroupsInput) (req *request.Request, output *DescribeLoadBalancerTargetGroupsOutput) { 2695 op := &request.Operation{ 2696 Name: opDescribeLoadBalancerTargetGroups, 2697 HTTPMethod: "POST", 2698 HTTPPath: "/", 2699 } 2700 2701 if input == nil { 2702 input = &DescribeLoadBalancerTargetGroupsInput{} 2703 } 2704 2705 output = &DescribeLoadBalancerTargetGroupsOutput{} 2706 req = c.newRequest(op, input, output) 2707 return 2708 } 2709 2710 // DescribeLoadBalancerTargetGroups API operation for Auto Scaling. 2711 // 2712 // Gets information about the load balancer target groups for the specified 2713 // Auto Scaling group. 2714 // 2715 // To determine the availability of registered instances, use the State element 2716 // in the response. When you attach a target group to an Auto Scaling group, 2717 // the initial State value is Adding. The state transitions to Added after all 2718 // Auto Scaling instances are registered with the target group. If Elastic Load 2719 // Balancing health checks are enabled for the Auto Scaling group, the state 2720 // transitions to InService after at least one Auto Scaling instance passes 2721 // the health check. When the target group is in the InService state, Amazon 2722 // EC2 Auto Scaling can terminate and replace any instances that are reported 2723 // as unhealthy. If no registered instances pass the health checks, the target 2724 // group doesn't enter the InService state. 2725 // 2726 // Target groups also have an InService state if you attach them in the CreateAutoScalingGroup 2727 // API call. If your target group state is InService, but it is not working 2728 // properly, check the scaling activities by calling DescribeScalingActivities 2729 // and take any corrective actions necessary. 2730 // 2731 // For help with failed health checks, see Troubleshooting Amazon EC2 Auto Scaling: 2732 // Health checks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ts-as-healthchecks.html) 2733 // in the Amazon EC2 Auto Scaling User Guide. For more information, see Elastic 2734 // Load Balancing and Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) 2735 // in the Amazon EC2 Auto Scaling User Guide. 2736 // 2737 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2738 // with awserr.Error's Code and Message methods to get detailed information about 2739 // the error. 2740 // 2741 // See the AWS API reference guide for Auto Scaling's 2742 // API operation DescribeLoadBalancerTargetGroups for usage and error information. 2743 // 2744 // Returned Error Codes: 2745 // * ErrCodeResourceContentionFault "ResourceContention" 2746 // You already have a pending update to an Amazon EC2 Auto Scaling resource 2747 // (for example, an Auto Scaling group, instance, or load balancer). 2748 // 2749 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLoadBalancerTargetGroups 2750 func (c *AutoScaling) DescribeLoadBalancerTargetGroups(input *DescribeLoadBalancerTargetGroupsInput) (*DescribeLoadBalancerTargetGroupsOutput, error) { 2751 req, out := c.DescribeLoadBalancerTargetGroupsRequest(input) 2752 return out, req.Send() 2753 } 2754 2755 // DescribeLoadBalancerTargetGroupsWithContext is the same as DescribeLoadBalancerTargetGroups with the addition of 2756 // the ability to pass a context and additional request options. 2757 // 2758 // See DescribeLoadBalancerTargetGroups for details on how to use this API operation. 2759 // 2760 // The context must be non-nil and will be used for request cancellation. If 2761 // the context is nil a panic will occur. In the future the SDK may create 2762 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2763 // for more information on using Contexts. 2764 func (c *AutoScaling) DescribeLoadBalancerTargetGroupsWithContext(ctx aws.Context, input *DescribeLoadBalancerTargetGroupsInput, opts ...request.Option) (*DescribeLoadBalancerTargetGroupsOutput, error) { 2765 req, out := c.DescribeLoadBalancerTargetGroupsRequest(input) 2766 req.SetContext(ctx) 2767 req.ApplyOptions(opts...) 2768 return out, req.Send() 2769 } 2770 2771 const opDescribeLoadBalancers = "DescribeLoadBalancers" 2772 2773 // DescribeLoadBalancersRequest generates a "aws/request.Request" representing the 2774 // client's request for the DescribeLoadBalancers operation. The "output" return 2775 // value will be populated with the request's response once the request completes 2776 // successfully. 2777 // 2778 // Use "Send" method on the returned Request to send the API call to the service. 2779 // the "output" return value is not valid until after Send returns without error. 2780 // 2781 // See DescribeLoadBalancers for more information on using the DescribeLoadBalancers 2782 // API call, and error handling. 2783 // 2784 // This method is useful when you want to inject custom logic or configuration 2785 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2786 // 2787 // 2788 // // Example sending a request using the DescribeLoadBalancersRequest method. 2789 // req, resp := client.DescribeLoadBalancersRequest(params) 2790 // 2791 // err := req.Send() 2792 // if err == nil { // resp is now filled 2793 // fmt.Println(resp) 2794 // } 2795 // 2796 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLoadBalancers 2797 func (c *AutoScaling) DescribeLoadBalancersRequest(input *DescribeLoadBalancersInput) (req *request.Request, output *DescribeLoadBalancersOutput) { 2798 op := &request.Operation{ 2799 Name: opDescribeLoadBalancers, 2800 HTTPMethod: "POST", 2801 HTTPPath: "/", 2802 } 2803 2804 if input == nil { 2805 input = &DescribeLoadBalancersInput{} 2806 } 2807 2808 output = &DescribeLoadBalancersOutput{} 2809 req = c.newRequest(op, input, output) 2810 return 2811 } 2812 2813 // DescribeLoadBalancers API operation for Auto Scaling. 2814 // 2815 // Gets information about the load balancers for the specified Auto Scaling 2816 // group. 2817 // 2818 // This operation describes only Classic Load Balancers. If you have Application 2819 // Load Balancers, Network Load Balancers, or Gateway Load Balancers, use the 2820 // DescribeLoadBalancerTargetGroups API instead. 2821 // 2822 // To determine the availability of registered instances, use the State element 2823 // in the response. When you attach a load balancer to an Auto Scaling group, 2824 // the initial State value is Adding. The state transitions to Added after all 2825 // Auto Scaling instances are registered with the load balancer. If Elastic 2826 // Load Balancing health checks are enabled for the Auto Scaling group, the 2827 // state transitions to InService after at least one Auto Scaling instance passes 2828 // the health check. When the load balancer is in the InService state, Amazon 2829 // EC2 Auto Scaling can terminate and replace any instances that are reported 2830 // as unhealthy. If no registered instances pass the health checks, the load 2831 // balancer doesn't enter the InService state. 2832 // 2833 // Load balancers also have an InService state if you attach them in the CreateAutoScalingGroup 2834 // API call. If your load balancer state is InService, but it is not working 2835 // properly, check the scaling activities by calling DescribeScalingActivities 2836 // and take any corrective actions necessary. 2837 // 2838 // For help with failed health checks, see Troubleshooting Amazon EC2 Auto Scaling: 2839 // Health checks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ts-as-healthchecks.html) 2840 // in the Amazon EC2 Auto Scaling User Guide. For more information, see Elastic 2841 // Load Balancing and Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) 2842 // in the Amazon EC2 Auto Scaling User Guide. 2843 // 2844 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2845 // with awserr.Error's Code and Message methods to get detailed information about 2846 // the error. 2847 // 2848 // See the AWS API reference guide for Auto Scaling's 2849 // API operation DescribeLoadBalancers for usage and error information. 2850 // 2851 // Returned Error Codes: 2852 // * ErrCodeResourceContentionFault "ResourceContention" 2853 // You already have a pending update to an Amazon EC2 Auto Scaling resource 2854 // (for example, an Auto Scaling group, instance, or load balancer). 2855 // 2856 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeLoadBalancers 2857 func (c *AutoScaling) DescribeLoadBalancers(input *DescribeLoadBalancersInput) (*DescribeLoadBalancersOutput, error) { 2858 req, out := c.DescribeLoadBalancersRequest(input) 2859 return out, req.Send() 2860 } 2861 2862 // DescribeLoadBalancersWithContext is the same as DescribeLoadBalancers with the addition of 2863 // the ability to pass a context and additional request options. 2864 // 2865 // See DescribeLoadBalancers for details on how to use this API operation. 2866 // 2867 // The context must be non-nil and will be used for request cancellation. If 2868 // the context is nil a panic will occur. In the future the SDK may create 2869 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2870 // for more information on using Contexts. 2871 func (c *AutoScaling) DescribeLoadBalancersWithContext(ctx aws.Context, input *DescribeLoadBalancersInput, opts ...request.Option) (*DescribeLoadBalancersOutput, error) { 2872 req, out := c.DescribeLoadBalancersRequest(input) 2873 req.SetContext(ctx) 2874 req.ApplyOptions(opts...) 2875 return out, req.Send() 2876 } 2877 2878 const opDescribeMetricCollectionTypes = "DescribeMetricCollectionTypes" 2879 2880 // DescribeMetricCollectionTypesRequest generates a "aws/request.Request" representing the 2881 // client's request for the DescribeMetricCollectionTypes operation. The "output" return 2882 // value will be populated with the request's response once the request completes 2883 // successfully. 2884 // 2885 // Use "Send" method on the returned Request to send the API call to the service. 2886 // the "output" return value is not valid until after Send returns without error. 2887 // 2888 // See DescribeMetricCollectionTypes for more information on using the DescribeMetricCollectionTypes 2889 // API call, and error handling. 2890 // 2891 // This method is useful when you want to inject custom logic or configuration 2892 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2893 // 2894 // 2895 // // Example sending a request using the DescribeMetricCollectionTypesRequest method. 2896 // req, resp := client.DescribeMetricCollectionTypesRequest(params) 2897 // 2898 // err := req.Send() 2899 // if err == nil { // resp is now filled 2900 // fmt.Println(resp) 2901 // } 2902 // 2903 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeMetricCollectionTypes 2904 func (c *AutoScaling) DescribeMetricCollectionTypesRequest(input *DescribeMetricCollectionTypesInput) (req *request.Request, output *DescribeMetricCollectionTypesOutput) { 2905 op := &request.Operation{ 2906 Name: opDescribeMetricCollectionTypes, 2907 HTTPMethod: "POST", 2908 HTTPPath: "/", 2909 } 2910 2911 if input == nil { 2912 input = &DescribeMetricCollectionTypesInput{} 2913 } 2914 2915 output = &DescribeMetricCollectionTypesOutput{} 2916 req = c.newRequest(op, input, output) 2917 return 2918 } 2919 2920 // DescribeMetricCollectionTypes API operation for Auto Scaling. 2921 // 2922 // Describes the available CloudWatch metrics for Amazon EC2 Auto Scaling. 2923 // 2924 // The GroupStandbyInstances metric is not returned by default. You must explicitly 2925 // request this metric when calling the EnableMetricsCollection API. 2926 // 2927 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2928 // with awserr.Error's Code and Message methods to get detailed information about 2929 // the error. 2930 // 2931 // See the AWS API reference guide for Auto Scaling's 2932 // API operation DescribeMetricCollectionTypes for usage and error information. 2933 // 2934 // Returned Error Codes: 2935 // * ErrCodeResourceContentionFault "ResourceContention" 2936 // You already have a pending update to an Amazon EC2 Auto Scaling resource 2937 // (for example, an Auto Scaling group, instance, or load balancer). 2938 // 2939 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeMetricCollectionTypes 2940 func (c *AutoScaling) DescribeMetricCollectionTypes(input *DescribeMetricCollectionTypesInput) (*DescribeMetricCollectionTypesOutput, error) { 2941 req, out := c.DescribeMetricCollectionTypesRequest(input) 2942 return out, req.Send() 2943 } 2944 2945 // DescribeMetricCollectionTypesWithContext is the same as DescribeMetricCollectionTypes with the addition of 2946 // the ability to pass a context and additional request options. 2947 // 2948 // See DescribeMetricCollectionTypes for details on how to use this API operation. 2949 // 2950 // The context must be non-nil and will be used for request cancellation. If 2951 // the context is nil a panic will occur. In the future the SDK may create 2952 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2953 // for more information on using Contexts. 2954 func (c *AutoScaling) DescribeMetricCollectionTypesWithContext(ctx aws.Context, input *DescribeMetricCollectionTypesInput, opts ...request.Option) (*DescribeMetricCollectionTypesOutput, error) { 2955 req, out := c.DescribeMetricCollectionTypesRequest(input) 2956 req.SetContext(ctx) 2957 req.ApplyOptions(opts...) 2958 return out, req.Send() 2959 } 2960 2961 const opDescribeNotificationConfigurations = "DescribeNotificationConfigurations" 2962 2963 // DescribeNotificationConfigurationsRequest generates a "aws/request.Request" representing the 2964 // client's request for the DescribeNotificationConfigurations operation. The "output" return 2965 // value will be populated with the request's response once the request completes 2966 // successfully. 2967 // 2968 // Use "Send" method on the returned Request to send the API call to the service. 2969 // the "output" return value is not valid until after Send returns without error. 2970 // 2971 // See DescribeNotificationConfigurations for more information on using the DescribeNotificationConfigurations 2972 // API call, and error handling. 2973 // 2974 // This method is useful when you want to inject custom logic or configuration 2975 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2976 // 2977 // 2978 // // Example sending a request using the DescribeNotificationConfigurationsRequest method. 2979 // req, resp := client.DescribeNotificationConfigurationsRequest(params) 2980 // 2981 // err := req.Send() 2982 // if err == nil { // resp is now filled 2983 // fmt.Println(resp) 2984 // } 2985 // 2986 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeNotificationConfigurations 2987 func (c *AutoScaling) DescribeNotificationConfigurationsRequest(input *DescribeNotificationConfigurationsInput) (req *request.Request, output *DescribeNotificationConfigurationsOutput) { 2988 op := &request.Operation{ 2989 Name: opDescribeNotificationConfigurations, 2990 HTTPMethod: "POST", 2991 HTTPPath: "/", 2992 Paginator: &request.Paginator{ 2993 InputTokens: []string{"NextToken"}, 2994 OutputTokens: []string{"NextToken"}, 2995 LimitToken: "MaxRecords", 2996 TruncationToken: "", 2997 }, 2998 } 2999 3000 if input == nil { 3001 input = &DescribeNotificationConfigurationsInput{} 3002 } 3003 3004 output = &DescribeNotificationConfigurationsOutput{} 3005 req = c.newRequest(op, input, output) 3006 return 3007 } 3008 3009 // DescribeNotificationConfigurations API operation for Auto Scaling. 3010 // 3011 // Gets information about the Amazon SNS notifications that are configured for 3012 // one or more Auto Scaling groups. 3013 // 3014 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3015 // with awserr.Error's Code and Message methods to get detailed information about 3016 // the error. 3017 // 3018 // See the AWS API reference guide for Auto Scaling's 3019 // API operation DescribeNotificationConfigurations for usage and error information. 3020 // 3021 // Returned Error Codes: 3022 // * ErrCodeInvalidNextToken "InvalidNextToken" 3023 // The NextToken value is not valid. 3024 // 3025 // * ErrCodeResourceContentionFault "ResourceContention" 3026 // You already have a pending update to an Amazon EC2 Auto Scaling resource 3027 // (for example, an Auto Scaling group, instance, or load balancer). 3028 // 3029 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeNotificationConfigurations 3030 func (c *AutoScaling) DescribeNotificationConfigurations(input *DescribeNotificationConfigurationsInput) (*DescribeNotificationConfigurationsOutput, error) { 3031 req, out := c.DescribeNotificationConfigurationsRequest(input) 3032 return out, req.Send() 3033 } 3034 3035 // DescribeNotificationConfigurationsWithContext is the same as DescribeNotificationConfigurations with the addition of 3036 // the ability to pass a context and additional request options. 3037 // 3038 // See DescribeNotificationConfigurations for details on how to use this API operation. 3039 // 3040 // The context must be non-nil and will be used for request cancellation. If 3041 // the context is nil a panic will occur. In the future the SDK may create 3042 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3043 // for more information on using Contexts. 3044 func (c *AutoScaling) DescribeNotificationConfigurationsWithContext(ctx aws.Context, input *DescribeNotificationConfigurationsInput, opts ...request.Option) (*DescribeNotificationConfigurationsOutput, error) { 3045 req, out := c.DescribeNotificationConfigurationsRequest(input) 3046 req.SetContext(ctx) 3047 req.ApplyOptions(opts...) 3048 return out, req.Send() 3049 } 3050 3051 // DescribeNotificationConfigurationsPages iterates over the pages of a DescribeNotificationConfigurations operation, 3052 // calling the "fn" function with the response data for each page. To stop 3053 // iterating, return false from the fn function. 3054 // 3055 // See DescribeNotificationConfigurations method for more information on how to use this operation. 3056 // 3057 // Note: This operation can generate multiple requests to a service. 3058 // 3059 // // Example iterating over at most 3 pages of a DescribeNotificationConfigurations operation. 3060 // pageNum := 0 3061 // err := client.DescribeNotificationConfigurationsPages(params, 3062 // func(page *autoscaling.DescribeNotificationConfigurationsOutput, lastPage bool) bool { 3063 // pageNum++ 3064 // fmt.Println(page) 3065 // return pageNum <= 3 3066 // }) 3067 // 3068 func (c *AutoScaling) DescribeNotificationConfigurationsPages(input *DescribeNotificationConfigurationsInput, fn func(*DescribeNotificationConfigurationsOutput, bool) bool) error { 3069 return c.DescribeNotificationConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) 3070 } 3071 3072 // DescribeNotificationConfigurationsPagesWithContext same as DescribeNotificationConfigurationsPages except 3073 // it takes a Context and allows setting request options on the pages. 3074 // 3075 // The context must be non-nil and will be used for request cancellation. If 3076 // the context is nil a panic will occur. In the future the SDK may create 3077 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3078 // for more information on using Contexts. 3079 func (c *AutoScaling) DescribeNotificationConfigurationsPagesWithContext(ctx aws.Context, input *DescribeNotificationConfigurationsInput, fn func(*DescribeNotificationConfigurationsOutput, bool) bool, opts ...request.Option) error { 3080 p := request.Pagination{ 3081 NewRequest: func() (*request.Request, error) { 3082 var inCpy *DescribeNotificationConfigurationsInput 3083 if input != nil { 3084 tmp := *input 3085 inCpy = &tmp 3086 } 3087 req, _ := c.DescribeNotificationConfigurationsRequest(inCpy) 3088 req.SetContext(ctx) 3089 req.ApplyOptions(opts...) 3090 return req, nil 3091 }, 3092 } 3093 3094 for p.Next() { 3095 if !fn(p.Page().(*DescribeNotificationConfigurationsOutput), !p.HasNextPage()) { 3096 break 3097 } 3098 } 3099 3100 return p.Err() 3101 } 3102 3103 const opDescribePolicies = "DescribePolicies" 3104 3105 // DescribePoliciesRequest generates a "aws/request.Request" representing the 3106 // client's request for the DescribePolicies operation. The "output" return 3107 // value will be populated with the request's response once the request completes 3108 // successfully. 3109 // 3110 // Use "Send" method on the returned Request to send the API call to the service. 3111 // the "output" return value is not valid until after Send returns without error. 3112 // 3113 // See DescribePolicies for more information on using the DescribePolicies 3114 // API call, and error handling. 3115 // 3116 // This method is useful when you want to inject custom logic or configuration 3117 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3118 // 3119 // 3120 // // Example sending a request using the DescribePoliciesRequest method. 3121 // req, resp := client.DescribePoliciesRequest(params) 3122 // 3123 // err := req.Send() 3124 // if err == nil { // resp is now filled 3125 // fmt.Println(resp) 3126 // } 3127 // 3128 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribePolicies 3129 func (c *AutoScaling) DescribePoliciesRequest(input *DescribePoliciesInput) (req *request.Request, output *DescribePoliciesOutput) { 3130 op := &request.Operation{ 3131 Name: opDescribePolicies, 3132 HTTPMethod: "POST", 3133 HTTPPath: "/", 3134 Paginator: &request.Paginator{ 3135 InputTokens: []string{"NextToken"}, 3136 OutputTokens: []string{"NextToken"}, 3137 LimitToken: "MaxRecords", 3138 TruncationToken: "", 3139 }, 3140 } 3141 3142 if input == nil { 3143 input = &DescribePoliciesInput{} 3144 } 3145 3146 output = &DescribePoliciesOutput{} 3147 req = c.newRequest(op, input, output) 3148 return 3149 } 3150 3151 // DescribePolicies API operation for Auto Scaling. 3152 // 3153 // Gets information about the scaling policies in the account and Region. 3154 // 3155 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3156 // with awserr.Error's Code and Message methods to get detailed information about 3157 // the error. 3158 // 3159 // See the AWS API reference guide for Auto Scaling's 3160 // API operation DescribePolicies for usage and error information. 3161 // 3162 // Returned Error Codes: 3163 // * ErrCodeInvalidNextToken "InvalidNextToken" 3164 // The NextToken value is not valid. 3165 // 3166 // * ErrCodeResourceContentionFault "ResourceContention" 3167 // You already have a pending update to an Amazon EC2 Auto Scaling resource 3168 // (for example, an Auto Scaling group, instance, or load balancer). 3169 // 3170 // * ErrCodeServiceLinkedRoleFailure "ServiceLinkedRoleFailure" 3171 // The service-linked role is not yet ready for use. 3172 // 3173 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribePolicies 3174 func (c *AutoScaling) DescribePolicies(input *DescribePoliciesInput) (*DescribePoliciesOutput, error) { 3175 req, out := c.DescribePoliciesRequest(input) 3176 return out, req.Send() 3177 } 3178 3179 // DescribePoliciesWithContext is the same as DescribePolicies with the addition of 3180 // the ability to pass a context and additional request options. 3181 // 3182 // See DescribePolicies for details on how to use this API operation. 3183 // 3184 // The context must be non-nil and will be used for request cancellation. If 3185 // the context is nil a panic will occur. In the future the SDK may create 3186 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3187 // for more information on using Contexts. 3188 func (c *AutoScaling) DescribePoliciesWithContext(ctx aws.Context, input *DescribePoliciesInput, opts ...request.Option) (*DescribePoliciesOutput, error) { 3189 req, out := c.DescribePoliciesRequest(input) 3190 req.SetContext(ctx) 3191 req.ApplyOptions(opts...) 3192 return out, req.Send() 3193 } 3194 3195 // DescribePoliciesPages iterates over the pages of a DescribePolicies operation, 3196 // calling the "fn" function with the response data for each page. To stop 3197 // iterating, return false from the fn function. 3198 // 3199 // See DescribePolicies method for more information on how to use this operation. 3200 // 3201 // Note: This operation can generate multiple requests to a service. 3202 // 3203 // // Example iterating over at most 3 pages of a DescribePolicies operation. 3204 // pageNum := 0 3205 // err := client.DescribePoliciesPages(params, 3206 // func(page *autoscaling.DescribePoliciesOutput, lastPage bool) bool { 3207 // pageNum++ 3208 // fmt.Println(page) 3209 // return pageNum <= 3 3210 // }) 3211 // 3212 func (c *AutoScaling) DescribePoliciesPages(input *DescribePoliciesInput, fn func(*DescribePoliciesOutput, bool) bool) error { 3213 return c.DescribePoliciesPagesWithContext(aws.BackgroundContext(), input, fn) 3214 } 3215 3216 // DescribePoliciesPagesWithContext same as DescribePoliciesPages except 3217 // it takes a Context and allows setting request options on the pages. 3218 // 3219 // The context must be non-nil and will be used for request cancellation. If 3220 // the context is nil a panic will occur. In the future the SDK may create 3221 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3222 // for more information on using Contexts. 3223 func (c *AutoScaling) DescribePoliciesPagesWithContext(ctx aws.Context, input *DescribePoliciesInput, fn func(*DescribePoliciesOutput, bool) bool, opts ...request.Option) error { 3224 p := request.Pagination{ 3225 NewRequest: func() (*request.Request, error) { 3226 var inCpy *DescribePoliciesInput 3227 if input != nil { 3228 tmp := *input 3229 inCpy = &tmp 3230 } 3231 req, _ := c.DescribePoliciesRequest(inCpy) 3232 req.SetContext(ctx) 3233 req.ApplyOptions(opts...) 3234 return req, nil 3235 }, 3236 } 3237 3238 for p.Next() { 3239 if !fn(p.Page().(*DescribePoliciesOutput), !p.HasNextPage()) { 3240 break 3241 } 3242 } 3243 3244 return p.Err() 3245 } 3246 3247 const opDescribeScalingActivities = "DescribeScalingActivities" 3248 3249 // DescribeScalingActivitiesRequest generates a "aws/request.Request" representing the 3250 // client's request for the DescribeScalingActivities operation. The "output" return 3251 // value will be populated with the request's response once the request completes 3252 // successfully. 3253 // 3254 // Use "Send" method on the returned Request to send the API call to the service. 3255 // the "output" return value is not valid until after Send returns without error. 3256 // 3257 // See DescribeScalingActivities for more information on using the DescribeScalingActivities 3258 // API call, and error handling. 3259 // 3260 // This method is useful when you want to inject custom logic or configuration 3261 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3262 // 3263 // 3264 // // Example sending a request using the DescribeScalingActivitiesRequest method. 3265 // req, resp := client.DescribeScalingActivitiesRequest(params) 3266 // 3267 // err := req.Send() 3268 // if err == nil { // resp is now filled 3269 // fmt.Println(resp) 3270 // } 3271 // 3272 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeScalingActivities 3273 func (c *AutoScaling) DescribeScalingActivitiesRequest(input *DescribeScalingActivitiesInput) (req *request.Request, output *DescribeScalingActivitiesOutput) { 3274 op := &request.Operation{ 3275 Name: opDescribeScalingActivities, 3276 HTTPMethod: "POST", 3277 HTTPPath: "/", 3278 Paginator: &request.Paginator{ 3279 InputTokens: []string{"NextToken"}, 3280 OutputTokens: []string{"NextToken"}, 3281 LimitToken: "MaxRecords", 3282 TruncationToken: "", 3283 }, 3284 } 3285 3286 if input == nil { 3287 input = &DescribeScalingActivitiesInput{} 3288 } 3289 3290 output = &DescribeScalingActivitiesOutput{} 3291 req = c.newRequest(op, input, output) 3292 return 3293 } 3294 3295 // DescribeScalingActivities API operation for Auto Scaling. 3296 // 3297 // Gets information about the scaling activities in the account and Region. 3298 // 3299 // When scaling events occur, you see a record of the scaling activity in the 3300 // scaling activities. For more information, see Verifying a scaling activity 3301 // for an Auto Scaling group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-verify-scaling-activity.html) 3302 // in the Amazon EC2 Auto Scaling User Guide. 3303 // 3304 // If the scaling event succeeds, the value of the StatusCode element in the 3305 // response is Successful. If an attempt to launch instances failed, the StatusCode 3306 // value is Failed or Cancelled and the StatusMessage element in the response 3307 // indicates the cause of the failure. For help interpreting the StatusMessage, 3308 // see Troubleshooting Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/CHAP_Troubleshooting.html) 3309 // in the Amazon EC2 Auto Scaling User Guide. 3310 // 3311 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3312 // with awserr.Error's Code and Message methods to get detailed information about 3313 // the error. 3314 // 3315 // See the AWS API reference guide for Auto Scaling's 3316 // API operation DescribeScalingActivities for usage and error information. 3317 // 3318 // Returned Error Codes: 3319 // * ErrCodeInvalidNextToken "InvalidNextToken" 3320 // The NextToken value is not valid. 3321 // 3322 // * ErrCodeResourceContentionFault "ResourceContention" 3323 // You already have a pending update to an Amazon EC2 Auto Scaling resource 3324 // (for example, an Auto Scaling group, instance, or load balancer). 3325 // 3326 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeScalingActivities 3327 func (c *AutoScaling) DescribeScalingActivities(input *DescribeScalingActivitiesInput) (*DescribeScalingActivitiesOutput, error) { 3328 req, out := c.DescribeScalingActivitiesRequest(input) 3329 return out, req.Send() 3330 } 3331 3332 // DescribeScalingActivitiesWithContext is the same as DescribeScalingActivities with the addition of 3333 // the ability to pass a context and additional request options. 3334 // 3335 // See DescribeScalingActivities for details on how to use this API operation. 3336 // 3337 // The context must be non-nil and will be used for request cancellation. If 3338 // the context is nil a panic will occur. In the future the SDK may create 3339 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3340 // for more information on using Contexts. 3341 func (c *AutoScaling) DescribeScalingActivitiesWithContext(ctx aws.Context, input *DescribeScalingActivitiesInput, opts ...request.Option) (*DescribeScalingActivitiesOutput, error) { 3342 req, out := c.DescribeScalingActivitiesRequest(input) 3343 req.SetContext(ctx) 3344 req.ApplyOptions(opts...) 3345 return out, req.Send() 3346 } 3347 3348 // DescribeScalingActivitiesPages iterates over the pages of a DescribeScalingActivities operation, 3349 // calling the "fn" function with the response data for each page. To stop 3350 // iterating, return false from the fn function. 3351 // 3352 // See DescribeScalingActivities method for more information on how to use this operation. 3353 // 3354 // Note: This operation can generate multiple requests to a service. 3355 // 3356 // // Example iterating over at most 3 pages of a DescribeScalingActivities operation. 3357 // pageNum := 0 3358 // err := client.DescribeScalingActivitiesPages(params, 3359 // func(page *autoscaling.DescribeScalingActivitiesOutput, lastPage bool) bool { 3360 // pageNum++ 3361 // fmt.Println(page) 3362 // return pageNum <= 3 3363 // }) 3364 // 3365 func (c *AutoScaling) DescribeScalingActivitiesPages(input *DescribeScalingActivitiesInput, fn func(*DescribeScalingActivitiesOutput, bool) bool) error { 3366 return c.DescribeScalingActivitiesPagesWithContext(aws.BackgroundContext(), input, fn) 3367 } 3368 3369 // DescribeScalingActivitiesPagesWithContext same as DescribeScalingActivitiesPages except 3370 // it takes a Context and allows setting request options on the pages. 3371 // 3372 // The context must be non-nil and will be used for request cancellation. If 3373 // the context is nil a panic will occur. In the future the SDK may create 3374 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3375 // for more information on using Contexts. 3376 func (c *AutoScaling) DescribeScalingActivitiesPagesWithContext(ctx aws.Context, input *DescribeScalingActivitiesInput, fn func(*DescribeScalingActivitiesOutput, bool) bool, opts ...request.Option) error { 3377 p := request.Pagination{ 3378 NewRequest: func() (*request.Request, error) { 3379 var inCpy *DescribeScalingActivitiesInput 3380 if input != nil { 3381 tmp := *input 3382 inCpy = &tmp 3383 } 3384 req, _ := c.DescribeScalingActivitiesRequest(inCpy) 3385 req.SetContext(ctx) 3386 req.ApplyOptions(opts...) 3387 return req, nil 3388 }, 3389 } 3390 3391 for p.Next() { 3392 if !fn(p.Page().(*DescribeScalingActivitiesOutput), !p.HasNextPage()) { 3393 break 3394 } 3395 } 3396 3397 return p.Err() 3398 } 3399 3400 const opDescribeScalingProcessTypes = "DescribeScalingProcessTypes" 3401 3402 // DescribeScalingProcessTypesRequest generates a "aws/request.Request" representing the 3403 // client's request for the DescribeScalingProcessTypes operation. The "output" return 3404 // value will be populated with the request's response once the request completes 3405 // successfully. 3406 // 3407 // Use "Send" method on the returned Request to send the API call to the service. 3408 // the "output" return value is not valid until after Send returns without error. 3409 // 3410 // See DescribeScalingProcessTypes for more information on using the DescribeScalingProcessTypes 3411 // API call, and error handling. 3412 // 3413 // This method is useful when you want to inject custom logic or configuration 3414 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3415 // 3416 // 3417 // // Example sending a request using the DescribeScalingProcessTypesRequest method. 3418 // req, resp := client.DescribeScalingProcessTypesRequest(params) 3419 // 3420 // err := req.Send() 3421 // if err == nil { // resp is now filled 3422 // fmt.Println(resp) 3423 // } 3424 // 3425 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeScalingProcessTypes 3426 func (c *AutoScaling) DescribeScalingProcessTypesRequest(input *DescribeScalingProcessTypesInput) (req *request.Request, output *DescribeScalingProcessTypesOutput) { 3427 op := &request.Operation{ 3428 Name: opDescribeScalingProcessTypes, 3429 HTTPMethod: "POST", 3430 HTTPPath: "/", 3431 } 3432 3433 if input == nil { 3434 input = &DescribeScalingProcessTypesInput{} 3435 } 3436 3437 output = &DescribeScalingProcessTypesOutput{} 3438 req = c.newRequest(op, input, output) 3439 return 3440 } 3441 3442 // DescribeScalingProcessTypes API operation for Auto Scaling. 3443 // 3444 // Describes the scaling process types for use with the ResumeProcesses and 3445 // SuspendProcesses APIs. 3446 // 3447 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3448 // with awserr.Error's Code and Message methods to get detailed information about 3449 // the error. 3450 // 3451 // See the AWS API reference guide for Auto Scaling's 3452 // API operation DescribeScalingProcessTypes for usage and error information. 3453 // 3454 // Returned Error Codes: 3455 // * ErrCodeResourceContentionFault "ResourceContention" 3456 // You already have a pending update to an Amazon EC2 Auto Scaling resource 3457 // (for example, an Auto Scaling group, instance, or load balancer). 3458 // 3459 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeScalingProcessTypes 3460 func (c *AutoScaling) DescribeScalingProcessTypes(input *DescribeScalingProcessTypesInput) (*DescribeScalingProcessTypesOutput, error) { 3461 req, out := c.DescribeScalingProcessTypesRequest(input) 3462 return out, req.Send() 3463 } 3464 3465 // DescribeScalingProcessTypesWithContext is the same as DescribeScalingProcessTypes with the addition of 3466 // the ability to pass a context and additional request options. 3467 // 3468 // See DescribeScalingProcessTypes for details on how to use this API operation. 3469 // 3470 // The context must be non-nil and will be used for request cancellation. If 3471 // the context is nil a panic will occur. In the future the SDK may create 3472 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3473 // for more information on using Contexts. 3474 func (c *AutoScaling) DescribeScalingProcessTypesWithContext(ctx aws.Context, input *DescribeScalingProcessTypesInput, opts ...request.Option) (*DescribeScalingProcessTypesOutput, error) { 3475 req, out := c.DescribeScalingProcessTypesRequest(input) 3476 req.SetContext(ctx) 3477 req.ApplyOptions(opts...) 3478 return out, req.Send() 3479 } 3480 3481 const opDescribeScheduledActions = "DescribeScheduledActions" 3482 3483 // DescribeScheduledActionsRequest generates a "aws/request.Request" representing the 3484 // client's request for the DescribeScheduledActions operation. The "output" return 3485 // value will be populated with the request's response once the request completes 3486 // successfully. 3487 // 3488 // Use "Send" method on the returned Request to send the API call to the service. 3489 // the "output" return value is not valid until after Send returns without error. 3490 // 3491 // See DescribeScheduledActions for more information on using the DescribeScheduledActions 3492 // API call, and error handling. 3493 // 3494 // This method is useful when you want to inject custom logic or configuration 3495 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3496 // 3497 // 3498 // // Example sending a request using the DescribeScheduledActionsRequest method. 3499 // req, resp := client.DescribeScheduledActionsRequest(params) 3500 // 3501 // err := req.Send() 3502 // if err == nil { // resp is now filled 3503 // fmt.Println(resp) 3504 // } 3505 // 3506 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeScheduledActions 3507 func (c *AutoScaling) DescribeScheduledActionsRequest(input *DescribeScheduledActionsInput) (req *request.Request, output *DescribeScheduledActionsOutput) { 3508 op := &request.Operation{ 3509 Name: opDescribeScheduledActions, 3510 HTTPMethod: "POST", 3511 HTTPPath: "/", 3512 Paginator: &request.Paginator{ 3513 InputTokens: []string{"NextToken"}, 3514 OutputTokens: []string{"NextToken"}, 3515 LimitToken: "MaxRecords", 3516 TruncationToken: "", 3517 }, 3518 } 3519 3520 if input == nil { 3521 input = &DescribeScheduledActionsInput{} 3522 } 3523 3524 output = &DescribeScheduledActionsOutput{} 3525 req = c.newRequest(op, input, output) 3526 return 3527 } 3528 3529 // DescribeScheduledActions API operation for Auto Scaling. 3530 // 3531 // Gets information about the scheduled actions that haven't run or that have 3532 // not reached their end time. 3533 // 3534 // To describe the scaling activities for scheduled actions that have already 3535 // run, call the DescribeScalingActivities API. 3536 // 3537 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3538 // with awserr.Error's Code and Message methods to get detailed information about 3539 // the error. 3540 // 3541 // See the AWS API reference guide for Auto Scaling's 3542 // API operation DescribeScheduledActions for usage and error information. 3543 // 3544 // Returned Error Codes: 3545 // * ErrCodeInvalidNextToken "InvalidNextToken" 3546 // The NextToken value is not valid. 3547 // 3548 // * ErrCodeResourceContentionFault "ResourceContention" 3549 // You already have a pending update to an Amazon EC2 Auto Scaling resource 3550 // (for example, an Auto Scaling group, instance, or load balancer). 3551 // 3552 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeScheduledActions 3553 func (c *AutoScaling) DescribeScheduledActions(input *DescribeScheduledActionsInput) (*DescribeScheduledActionsOutput, error) { 3554 req, out := c.DescribeScheduledActionsRequest(input) 3555 return out, req.Send() 3556 } 3557 3558 // DescribeScheduledActionsWithContext is the same as DescribeScheduledActions with the addition of 3559 // the ability to pass a context and additional request options. 3560 // 3561 // See DescribeScheduledActions for details on how to use this API operation. 3562 // 3563 // The context must be non-nil and will be used for request cancellation. If 3564 // the context is nil a panic will occur. In the future the SDK may create 3565 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3566 // for more information on using Contexts. 3567 func (c *AutoScaling) DescribeScheduledActionsWithContext(ctx aws.Context, input *DescribeScheduledActionsInput, opts ...request.Option) (*DescribeScheduledActionsOutput, error) { 3568 req, out := c.DescribeScheduledActionsRequest(input) 3569 req.SetContext(ctx) 3570 req.ApplyOptions(opts...) 3571 return out, req.Send() 3572 } 3573 3574 // DescribeScheduledActionsPages iterates over the pages of a DescribeScheduledActions operation, 3575 // calling the "fn" function with the response data for each page. To stop 3576 // iterating, return false from the fn function. 3577 // 3578 // See DescribeScheduledActions method for more information on how to use this operation. 3579 // 3580 // Note: This operation can generate multiple requests to a service. 3581 // 3582 // // Example iterating over at most 3 pages of a DescribeScheduledActions operation. 3583 // pageNum := 0 3584 // err := client.DescribeScheduledActionsPages(params, 3585 // func(page *autoscaling.DescribeScheduledActionsOutput, lastPage bool) bool { 3586 // pageNum++ 3587 // fmt.Println(page) 3588 // return pageNum <= 3 3589 // }) 3590 // 3591 func (c *AutoScaling) DescribeScheduledActionsPages(input *DescribeScheduledActionsInput, fn func(*DescribeScheduledActionsOutput, bool) bool) error { 3592 return c.DescribeScheduledActionsPagesWithContext(aws.BackgroundContext(), input, fn) 3593 } 3594 3595 // DescribeScheduledActionsPagesWithContext same as DescribeScheduledActionsPages except 3596 // it takes a Context and allows setting request options on the pages. 3597 // 3598 // The context must be non-nil and will be used for request cancellation. If 3599 // the context is nil a panic will occur. In the future the SDK may create 3600 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3601 // for more information on using Contexts. 3602 func (c *AutoScaling) DescribeScheduledActionsPagesWithContext(ctx aws.Context, input *DescribeScheduledActionsInput, fn func(*DescribeScheduledActionsOutput, bool) bool, opts ...request.Option) error { 3603 p := request.Pagination{ 3604 NewRequest: func() (*request.Request, error) { 3605 var inCpy *DescribeScheduledActionsInput 3606 if input != nil { 3607 tmp := *input 3608 inCpy = &tmp 3609 } 3610 req, _ := c.DescribeScheduledActionsRequest(inCpy) 3611 req.SetContext(ctx) 3612 req.ApplyOptions(opts...) 3613 return req, nil 3614 }, 3615 } 3616 3617 for p.Next() { 3618 if !fn(p.Page().(*DescribeScheduledActionsOutput), !p.HasNextPage()) { 3619 break 3620 } 3621 } 3622 3623 return p.Err() 3624 } 3625 3626 const opDescribeTags = "DescribeTags" 3627 3628 // DescribeTagsRequest generates a "aws/request.Request" representing the 3629 // client's request for the DescribeTags operation. The "output" return 3630 // value will be populated with the request's response once the request completes 3631 // successfully. 3632 // 3633 // Use "Send" method on the returned Request to send the API call to the service. 3634 // the "output" return value is not valid until after Send returns without error. 3635 // 3636 // See DescribeTags for more information on using the DescribeTags 3637 // API call, and error handling. 3638 // 3639 // This method is useful when you want to inject custom logic or configuration 3640 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3641 // 3642 // 3643 // // Example sending a request using the DescribeTagsRequest method. 3644 // req, resp := client.DescribeTagsRequest(params) 3645 // 3646 // err := req.Send() 3647 // if err == nil { // resp is now filled 3648 // fmt.Println(resp) 3649 // } 3650 // 3651 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeTags 3652 func (c *AutoScaling) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) { 3653 op := &request.Operation{ 3654 Name: opDescribeTags, 3655 HTTPMethod: "POST", 3656 HTTPPath: "/", 3657 Paginator: &request.Paginator{ 3658 InputTokens: []string{"NextToken"}, 3659 OutputTokens: []string{"NextToken"}, 3660 LimitToken: "MaxRecords", 3661 TruncationToken: "", 3662 }, 3663 } 3664 3665 if input == nil { 3666 input = &DescribeTagsInput{} 3667 } 3668 3669 output = &DescribeTagsOutput{} 3670 req = c.newRequest(op, input, output) 3671 return 3672 } 3673 3674 // DescribeTags API operation for Auto Scaling. 3675 // 3676 // Describes the specified tags. 3677 // 3678 // You can use filters to limit the results. For example, you can query for 3679 // the tags for a specific Auto Scaling group. You can specify multiple values 3680 // for a filter. A tag must match at least one of the specified values for it 3681 // to be included in the results. 3682 // 3683 // You can also specify multiple filters. The result includes information for 3684 // a particular tag only if it matches all the filters. If there's no match, 3685 // no special message is returned. 3686 // 3687 // For more information, see Tagging Auto Scaling groups and instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html) 3688 // in the Amazon EC2 Auto Scaling User Guide. 3689 // 3690 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3691 // with awserr.Error's Code and Message methods to get detailed information about 3692 // the error. 3693 // 3694 // See the AWS API reference guide for Auto Scaling's 3695 // API operation DescribeTags for usage and error information. 3696 // 3697 // Returned Error Codes: 3698 // * ErrCodeInvalidNextToken "InvalidNextToken" 3699 // The NextToken value is not valid. 3700 // 3701 // * ErrCodeResourceContentionFault "ResourceContention" 3702 // You already have a pending update to an Amazon EC2 Auto Scaling resource 3703 // (for example, an Auto Scaling group, instance, or load balancer). 3704 // 3705 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeTags 3706 func (c *AutoScaling) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) { 3707 req, out := c.DescribeTagsRequest(input) 3708 return out, req.Send() 3709 } 3710 3711 // DescribeTagsWithContext is the same as DescribeTags with the addition of 3712 // the ability to pass a context and additional request options. 3713 // 3714 // See DescribeTags for details on how to use this API operation. 3715 // 3716 // The context must be non-nil and will be used for request cancellation. If 3717 // the context is nil a panic will occur. In the future the SDK may create 3718 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3719 // for more information on using Contexts. 3720 func (c *AutoScaling) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) { 3721 req, out := c.DescribeTagsRequest(input) 3722 req.SetContext(ctx) 3723 req.ApplyOptions(opts...) 3724 return out, req.Send() 3725 } 3726 3727 // DescribeTagsPages iterates over the pages of a DescribeTags operation, 3728 // calling the "fn" function with the response data for each page. To stop 3729 // iterating, return false from the fn function. 3730 // 3731 // See DescribeTags method for more information on how to use this operation. 3732 // 3733 // Note: This operation can generate multiple requests to a service. 3734 // 3735 // // Example iterating over at most 3 pages of a DescribeTags operation. 3736 // pageNum := 0 3737 // err := client.DescribeTagsPages(params, 3738 // func(page *autoscaling.DescribeTagsOutput, lastPage bool) bool { 3739 // pageNum++ 3740 // fmt.Println(page) 3741 // return pageNum <= 3 3742 // }) 3743 // 3744 func (c *AutoScaling) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error { 3745 return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn) 3746 } 3747 3748 // DescribeTagsPagesWithContext same as DescribeTagsPages except 3749 // it takes a Context and allows setting request options on the pages. 3750 // 3751 // The context must be non-nil and will be used for request cancellation. If 3752 // the context is nil a panic will occur. In the future the SDK may create 3753 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3754 // for more information on using Contexts. 3755 func (c *AutoScaling) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error { 3756 p := request.Pagination{ 3757 NewRequest: func() (*request.Request, error) { 3758 var inCpy *DescribeTagsInput 3759 if input != nil { 3760 tmp := *input 3761 inCpy = &tmp 3762 } 3763 req, _ := c.DescribeTagsRequest(inCpy) 3764 req.SetContext(ctx) 3765 req.ApplyOptions(opts...) 3766 return req, nil 3767 }, 3768 } 3769 3770 for p.Next() { 3771 if !fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage()) { 3772 break 3773 } 3774 } 3775 3776 return p.Err() 3777 } 3778 3779 const opDescribeTerminationPolicyTypes = "DescribeTerminationPolicyTypes" 3780 3781 // DescribeTerminationPolicyTypesRequest generates a "aws/request.Request" representing the 3782 // client's request for the DescribeTerminationPolicyTypes operation. The "output" return 3783 // value will be populated with the request's response once the request completes 3784 // successfully. 3785 // 3786 // Use "Send" method on the returned Request to send the API call to the service. 3787 // the "output" return value is not valid until after Send returns without error. 3788 // 3789 // See DescribeTerminationPolicyTypes for more information on using the DescribeTerminationPolicyTypes 3790 // API call, and error handling. 3791 // 3792 // This method is useful when you want to inject custom logic or configuration 3793 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3794 // 3795 // 3796 // // Example sending a request using the DescribeTerminationPolicyTypesRequest method. 3797 // req, resp := client.DescribeTerminationPolicyTypesRequest(params) 3798 // 3799 // err := req.Send() 3800 // if err == nil { // resp is now filled 3801 // fmt.Println(resp) 3802 // } 3803 // 3804 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeTerminationPolicyTypes 3805 func (c *AutoScaling) DescribeTerminationPolicyTypesRequest(input *DescribeTerminationPolicyTypesInput) (req *request.Request, output *DescribeTerminationPolicyTypesOutput) { 3806 op := &request.Operation{ 3807 Name: opDescribeTerminationPolicyTypes, 3808 HTTPMethod: "POST", 3809 HTTPPath: "/", 3810 } 3811 3812 if input == nil { 3813 input = &DescribeTerminationPolicyTypesInput{} 3814 } 3815 3816 output = &DescribeTerminationPolicyTypesOutput{} 3817 req = c.newRequest(op, input, output) 3818 return 3819 } 3820 3821 // DescribeTerminationPolicyTypes API operation for Auto Scaling. 3822 // 3823 // Describes the termination policies supported by Amazon EC2 Auto Scaling. 3824 // 3825 // For more information, see Controlling which Auto Scaling instances terminate 3826 // during scale in (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html) 3827 // in the Amazon EC2 Auto Scaling User Guide. 3828 // 3829 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3830 // with awserr.Error's Code and Message methods to get detailed information about 3831 // the error. 3832 // 3833 // See the AWS API reference guide for Auto Scaling's 3834 // API operation DescribeTerminationPolicyTypes for usage and error information. 3835 // 3836 // Returned Error Codes: 3837 // * ErrCodeResourceContentionFault "ResourceContention" 3838 // You already have a pending update to an Amazon EC2 Auto Scaling resource 3839 // (for example, an Auto Scaling group, instance, or load balancer). 3840 // 3841 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeTerminationPolicyTypes 3842 func (c *AutoScaling) DescribeTerminationPolicyTypes(input *DescribeTerminationPolicyTypesInput) (*DescribeTerminationPolicyTypesOutput, error) { 3843 req, out := c.DescribeTerminationPolicyTypesRequest(input) 3844 return out, req.Send() 3845 } 3846 3847 // DescribeTerminationPolicyTypesWithContext is the same as DescribeTerminationPolicyTypes with the addition of 3848 // the ability to pass a context and additional request options. 3849 // 3850 // See DescribeTerminationPolicyTypes for details on how to use this API operation. 3851 // 3852 // The context must be non-nil and will be used for request cancellation. If 3853 // the context is nil a panic will occur. In the future the SDK may create 3854 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3855 // for more information on using Contexts. 3856 func (c *AutoScaling) DescribeTerminationPolicyTypesWithContext(ctx aws.Context, input *DescribeTerminationPolicyTypesInput, opts ...request.Option) (*DescribeTerminationPolicyTypesOutput, error) { 3857 req, out := c.DescribeTerminationPolicyTypesRequest(input) 3858 req.SetContext(ctx) 3859 req.ApplyOptions(opts...) 3860 return out, req.Send() 3861 } 3862 3863 const opDescribeWarmPool = "DescribeWarmPool" 3864 3865 // DescribeWarmPoolRequest generates a "aws/request.Request" representing the 3866 // client's request for the DescribeWarmPool operation. The "output" return 3867 // value will be populated with the request's response once the request completes 3868 // successfully. 3869 // 3870 // Use "Send" method on the returned Request to send the API call to the service. 3871 // the "output" return value is not valid until after Send returns without error. 3872 // 3873 // See DescribeWarmPool for more information on using the DescribeWarmPool 3874 // API call, and error handling. 3875 // 3876 // This method is useful when you want to inject custom logic or configuration 3877 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3878 // 3879 // 3880 // // Example sending a request using the DescribeWarmPoolRequest method. 3881 // req, resp := client.DescribeWarmPoolRequest(params) 3882 // 3883 // err := req.Send() 3884 // if err == nil { // resp is now filled 3885 // fmt.Println(resp) 3886 // } 3887 // 3888 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeWarmPool 3889 func (c *AutoScaling) DescribeWarmPoolRequest(input *DescribeWarmPoolInput) (req *request.Request, output *DescribeWarmPoolOutput) { 3890 op := &request.Operation{ 3891 Name: opDescribeWarmPool, 3892 HTTPMethod: "POST", 3893 HTTPPath: "/", 3894 } 3895 3896 if input == nil { 3897 input = &DescribeWarmPoolInput{} 3898 } 3899 3900 output = &DescribeWarmPoolOutput{} 3901 req = c.newRequest(op, input, output) 3902 return 3903 } 3904 3905 // DescribeWarmPool API operation for Auto Scaling. 3906 // 3907 // Gets information about a warm pool and its instances. 3908 // 3909 // For more information, see Warm pools for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html) 3910 // in the Amazon EC2 Auto Scaling User Guide. 3911 // 3912 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3913 // with awserr.Error's Code and Message methods to get detailed information about 3914 // the error. 3915 // 3916 // See the AWS API reference guide for Auto Scaling's 3917 // API operation DescribeWarmPool for usage and error information. 3918 // 3919 // Returned Error Codes: 3920 // * ErrCodeInvalidNextToken "InvalidNextToken" 3921 // The NextToken value is not valid. 3922 // 3923 // * ErrCodeLimitExceededFault "LimitExceeded" 3924 // You have already reached a limit for your Amazon EC2 Auto Scaling resources 3925 // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). 3926 // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) 3927 // in the Amazon EC2 Auto Scaling API Reference. 3928 // 3929 // * ErrCodeResourceContentionFault "ResourceContention" 3930 // You already have a pending update to an Amazon EC2 Auto Scaling resource 3931 // (for example, an Auto Scaling group, instance, or load balancer). 3932 // 3933 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeWarmPool 3934 func (c *AutoScaling) DescribeWarmPool(input *DescribeWarmPoolInput) (*DescribeWarmPoolOutput, error) { 3935 req, out := c.DescribeWarmPoolRequest(input) 3936 return out, req.Send() 3937 } 3938 3939 // DescribeWarmPoolWithContext is the same as DescribeWarmPool with the addition of 3940 // the ability to pass a context and additional request options. 3941 // 3942 // See DescribeWarmPool for details on how to use this API operation. 3943 // 3944 // The context must be non-nil and will be used for request cancellation. If 3945 // the context is nil a panic will occur. In the future the SDK may create 3946 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3947 // for more information on using Contexts. 3948 func (c *AutoScaling) DescribeWarmPoolWithContext(ctx aws.Context, input *DescribeWarmPoolInput, opts ...request.Option) (*DescribeWarmPoolOutput, error) { 3949 req, out := c.DescribeWarmPoolRequest(input) 3950 req.SetContext(ctx) 3951 req.ApplyOptions(opts...) 3952 return out, req.Send() 3953 } 3954 3955 const opDetachInstances = "DetachInstances" 3956 3957 // DetachInstancesRequest generates a "aws/request.Request" representing the 3958 // client's request for the DetachInstances operation. The "output" return 3959 // value will be populated with the request's response once the request completes 3960 // successfully. 3961 // 3962 // Use "Send" method on the returned Request to send the API call to the service. 3963 // the "output" return value is not valid until after Send returns without error. 3964 // 3965 // See DetachInstances for more information on using the DetachInstances 3966 // API call, and error handling. 3967 // 3968 // This method is useful when you want to inject custom logic or configuration 3969 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3970 // 3971 // 3972 // // Example sending a request using the DetachInstancesRequest method. 3973 // req, resp := client.DetachInstancesRequest(params) 3974 // 3975 // err := req.Send() 3976 // if err == nil { // resp is now filled 3977 // fmt.Println(resp) 3978 // } 3979 // 3980 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DetachInstances 3981 func (c *AutoScaling) DetachInstancesRequest(input *DetachInstancesInput) (req *request.Request, output *DetachInstancesOutput) { 3982 op := &request.Operation{ 3983 Name: opDetachInstances, 3984 HTTPMethod: "POST", 3985 HTTPPath: "/", 3986 } 3987 3988 if input == nil { 3989 input = &DetachInstancesInput{} 3990 } 3991 3992 output = &DetachInstancesOutput{} 3993 req = c.newRequest(op, input, output) 3994 return 3995 } 3996 3997 // DetachInstances API operation for Auto Scaling. 3998 // 3999 // Removes one or more instances from the specified Auto Scaling group. 4000 // 4001 // After the instances are detached, you can manage them independent of the 4002 // Auto Scaling group. 4003 // 4004 // If you do not specify the option to decrement the desired capacity, Amazon 4005 // EC2 Auto Scaling launches instances to replace the ones that are detached. 4006 // 4007 // If there is a Classic Load Balancer attached to the Auto Scaling group, the 4008 // instances are deregistered from the load balancer. If there are target groups 4009 // attached to the Auto Scaling group, the instances are deregistered from the 4010 // target groups. 4011 // 4012 // For more information, see Detach EC2 instances from your Auto Scaling group 4013 // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/detach-instance-asg.html) 4014 // in the Amazon EC2 Auto Scaling User Guide. 4015 // 4016 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4017 // with awserr.Error's Code and Message methods to get detailed information about 4018 // the error. 4019 // 4020 // See the AWS API reference guide for Auto Scaling's 4021 // API operation DetachInstances for usage and error information. 4022 // 4023 // Returned Error Codes: 4024 // * ErrCodeResourceContentionFault "ResourceContention" 4025 // You already have a pending update to an Amazon EC2 Auto Scaling resource 4026 // (for example, an Auto Scaling group, instance, or load balancer). 4027 // 4028 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DetachInstances 4029 func (c *AutoScaling) DetachInstances(input *DetachInstancesInput) (*DetachInstancesOutput, error) { 4030 req, out := c.DetachInstancesRequest(input) 4031 return out, req.Send() 4032 } 4033 4034 // DetachInstancesWithContext is the same as DetachInstances with the addition of 4035 // the ability to pass a context and additional request options. 4036 // 4037 // See DetachInstances for details on how to use this API operation. 4038 // 4039 // The context must be non-nil and will be used for request cancellation. If 4040 // the context is nil a panic will occur. In the future the SDK may create 4041 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4042 // for more information on using Contexts. 4043 func (c *AutoScaling) DetachInstancesWithContext(ctx aws.Context, input *DetachInstancesInput, opts ...request.Option) (*DetachInstancesOutput, error) { 4044 req, out := c.DetachInstancesRequest(input) 4045 req.SetContext(ctx) 4046 req.ApplyOptions(opts...) 4047 return out, req.Send() 4048 } 4049 4050 const opDetachLoadBalancerTargetGroups = "DetachLoadBalancerTargetGroups" 4051 4052 // DetachLoadBalancerTargetGroupsRequest generates a "aws/request.Request" representing the 4053 // client's request for the DetachLoadBalancerTargetGroups operation. The "output" return 4054 // value will be populated with the request's response once the request completes 4055 // successfully. 4056 // 4057 // Use "Send" method on the returned Request to send the API call to the service. 4058 // the "output" return value is not valid until after Send returns without error. 4059 // 4060 // See DetachLoadBalancerTargetGroups for more information on using the DetachLoadBalancerTargetGroups 4061 // API call, and error handling. 4062 // 4063 // This method is useful when you want to inject custom logic or configuration 4064 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4065 // 4066 // 4067 // // Example sending a request using the DetachLoadBalancerTargetGroupsRequest method. 4068 // req, resp := client.DetachLoadBalancerTargetGroupsRequest(params) 4069 // 4070 // err := req.Send() 4071 // if err == nil { // resp is now filled 4072 // fmt.Println(resp) 4073 // } 4074 // 4075 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DetachLoadBalancerTargetGroups 4076 func (c *AutoScaling) DetachLoadBalancerTargetGroupsRequest(input *DetachLoadBalancerTargetGroupsInput) (req *request.Request, output *DetachLoadBalancerTargetGroupsOutput) { 4077 op := &request.Operation{ 4078 Name: opDetachLoadBalancerTargetGroups, 4079 HTTPMethod: "POST", 4080 HTTPPath: "/", 4081 } 4082 4083 if input == nil { 4084 input = &DetachLoadBalancerTargetGroupsInput{} 4085 } 4086 4087 output = &DetachLoadBalancerTargetGroupsOutput{} 4088 req = c.newRequest(op, input, output) 4089 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4090 return 4091 } 4092 4093 // DetachLoadBalancerTargetGroups API operation for Auto Scaling. 4094 // 4095 // Detaches one or more target groups from the specified Auto Scaling group. 4096 // 4097 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4098 // with awserr.Error's Code and Message methods to get detailed information about 4099 // the error. 4100 // 4101 // See the AWS API reference guide for Auto Scaling's 4102 // API operation DetachLoadBalancerTargetGroups for usage and error information. 4103 // 4104 // Returned Error Codes: 4105 // * ErrCodeResourceContentionFault "ResourceContention" 4106 // You already have a pending update to an Amazon EC2 Auto Scaling resource 4107 // (for example, an Auto Scaling group, instance, or load balancer). 4108 // 4109 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DetachLoadBalancerTargetGroups 4110 func (c *AutoScaling) DetachLoadBalancerTargetGroups(input *DetachLoadBalancerTargetGroupsInput) (*DetachLoadBalancerTargetGroupsOutput, error) { 4111 req, out := c.DetachLoadBalancerTargetGroupsRequest(input) 4112 return out, req.Send() 4113 } 4114 4115 // DetachLoadBalancerTargetGroupsWithContext is the same as DetachLoadBalancerTargetGroups with the addition of 4116 // the ability to pass a context and additional request options. 4117 // 4118 // See DetachLoadBalancerTargetGroups for details on how to use this API operation. 4119 // 4120 // The context must be non-nil and will be used for request cancellation. If 4121 // the context is nil a panic will occur. In the future the SDK may create 4122 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4123 // for more information on using Contexts. 4124 func (c *AutoScaling) DetachLoadBalancerTargetGroupsWithContext(ctx aws.Context, input *DetachLoadBalancerTargetGroupsInput, opts ...request.Option) (*DetachLoadBalancerTargetGroupsOutput, error) { 4125 req, out := c.DetachLoadBalancerTargetGroupsRequest(input) 4126 req.SetContext(ctx) 4127 req.ApplyOptions(opts...) 4128 return out, req.Send() 4129 } 4130 4131 const opDetachLoadBalancers = "DetachLoadBalancers" 4132 4133 // DetachLoadBalancersRequest generates a "aws/request.Request" representing the 4134 // client's request for the DetachLoadBalancers operation. The "output" return 4135 // value will be populated with the request's response once the request completes 4136 // successfully. 4137 // 4138 // Use "Send" method on the returned Request to send the API call to the service. 4139 // the "output" return value is not valid until after Send returns without error. 4140 // 4141 // See DetachLoadBalancers for more information on using the DetachLoadBalancers 4142 // API call, and error handling. 4143 // 4144 // This method is useful when you want to inject custom logic or configuration 4145 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4146 // 4147 // 4148 // // Example sending a request using the DetachLoadBalancersRequest method. 4149 // req, resp := client.DetachLoadBalancersRequest(params) 4150 // 4151 // err := req.Send() 4152 // if err == nil { // resp is now filled 4153 // fmt.Println(resp) 4154 // } 4155 // 4156 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DetachLoadBalancers 4157 func (c *AutoScaling) DetachLoadBalancersRequest(input *DetachLoadBalancersInput) (req *request.Request, output *DetachLoadBalancersOutput) { 4158 op := &request.Operation{ 4159 Name: opDetachLoadBalancers, 4160 HTTPMethod: "POST", 4161 HTTPPath: "/", 4162 } 4163 4164 if input == nil { 4165 input = &DetachLoadBalancersInput{} 4166 } 4167 4168 output = &DetachLoadBalancersOutput{} 4169 req = c.newRequest(op, input, output) 4170 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4171 return 4172 } 4173 4174 // DetachLoadBalancers API operation for Auto Scaling. 4175 // 4176 // Detaches one or more Classic Load Balancers from the specified Auto Scaling 4177 // group. 4178 // 4179 // This operation detaches only Classic Load Balancers. If you have Application 4180 // Load Balancers, Network Load Balancers, or Gateway Load Balancers, use the 4181 // DetachLoadBalancerTargetGroups API instead. 4182 // 4183 // When you detach a load balancer, it enters the Removing state while deregistering 4184 // the instances in the group. When all instances are deregistered, then you 4185 // can no longer describe the load balancer using the DescribeLoadBalancers 4186 // API call. The instances remain running. 4187 // 4188 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4189 // with awserr.Error's Code and Message methods to get detailed information about 4190 // the error. 4191 // 4192 // See the AWS API reference guide for Auto Scaling's 4193 // API operation DetachLoadBalancers for usage and error information. 4194 // 4195 // Returned Error Codes: 4196 // * ErrCodeResourceContentionFault "ResourceContention" 4197 // You already have a pending update to an Amazon EC2 Auto Scaling resource 4198 // (for example, an Auto Scaling group, instance, or load balancer). 4199 // 4200 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DetachLoadBalancers 4201 func (c *AutoScaling) DetachLoadBalancers(input *DetachLoadBalancersInput) (*DetachLoadBalancersOutput, error) { 4202 req, out := c.DetachLoadBalancersRequest(input) 4203 return out, req.Send() 4204 } 4205 4206 // DetachLoadBalancersWithContext is the same as DetachLoadBalancers with the addition of 4207 // the ability to pass a context and additional request options. 4208 // 4209 // See DetachLoadBalancers for details on how to use this API operation. 4210 // 4211 // The context must be non-nil and will be used for request cancellation. If 4212 // the context is nil a panic will occur. In the future the SDK may create 4213 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4214 // for more information on using Contexts. 4215 func (c *AutoScaling) DetachLoadBalancersWithContext(ctx aws.Context, input *DetachLoadBalancersInput, opts ...request.Option) (*DetachLoadBalancersOutput, error) { 4216 req, out := c.DetachLoadBalancersRequest(input) 4217 req.SetContext(ctx) 4218 req.ApplyOptions(opts...) 4219 return out, req.Send() 4220 } 4221 4222 const opDisableMetricsCollection = "DisableMetricsCollection" 4223 4224 // DisableMetricsCollectionRequest generates a "aws/request.Request" representing the 4225 // client's request for the DisableMetricsCollection operation. The "output" return 4226 // value will be populated with the request's response once the request completes 4227 // successfully. 4228 // 4229 // Use "Send" method on the returned Request to send the API call to the service. 4230 // the "output" return value is not valid until after Send returns without error. 4231 // 4232 // See DisableMetricsCollection for more information on using the DisableMetricsCollection 4233 // API call, and error handling. 4234 // 4235 // This method is useful when you want to inject custom logic or configuration 4236 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4237 // 4238 // 4239 // // Example sending a request using the DisableMetricsCollectionRequest method. 4240 // req, resp := client.DisableMetricsCollectionRequest(params) 4241 // 4242 // err := req.Send() 4243 // if err == nil { // resp is now filled 4244 // fmt.Println(resp) 4245 // } 4246 // 4247 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DisableMetricsCollection 4248 func (c *AutoScaling) DisableMetricsCollectionRequest(input *DisableMetricsCollectionInput) (req *request.Request, output *DisableMetricsCollectionOutput) { 4249 op := &request.Operation{ 4250 Name: opDisableMetricsCollection, 4251 HTTPMethod: "POST", 4252 HTTPPath: "/", 4253 } 4254 4255 if input == nil { 4256 input = &DisableMetricsCollectionInput{} 4257 } 4258 4259 output = &DisableMetricsCollectionOutput{} 4260 req = c.newRequest(op, input, output) 4261 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4262 return 4263 } 4264 4265 // DisableMetricsCollection API operation for Auto Scaling. 4266 // 4267 // Disables group metrics for the specified Auto Scaling group. 4268 // 4269 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4270 // with awserr.Error's Code and Message methods to get detailed information about 4271 // the error. 4272 // 4273 // See the AWS API reference guide for Auto Scaling's 4274 // API operation DisableMetricsCollection for usage and error information. 4275 // 4276 // Returned Error Codes: 4277 // * ErrCodeResourceContentionFault "ResourceContention" 4278 // You already have a pending update to an Amazon EC2 Auto Scaling resource 4279 // (for example, an Auto Scaling group, instance, or load balancer). 4280 // 4281 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DisableMetricsCollection 4282 func (c *AutoScaling) DisableMetricsCollection(input *DisableMetricsCollectionInput) (*DisableMetricsCollectionOutput, error) { 4283 req, out := c.DisableMetricsCollectionRequest(input) 4284 return out, req.Send() 4285 } 4286 4287 // DisableMetricsCollectionWithContext is the same as DisableMetricsCollection with the addition of 4288 // the ability to pass a context and additional request options. 4289 // 4290 // See DisableMetricsCollection for details on how to use this API operation. 4291 // 4292 // The context must be non-nil and will be used for request cancellation. If 4293 // the context is nil a panic will occur. In the future the SDK may create 4294 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4295 // for more information on using Contexts. 4296 func (c *AutoScaling) DisableMetricsCollectionWithContext(ctx aws.Context, input *DisableMetricsCollectionInput, opts ...request.Option) (*DisableMetricsCollectionOutput, error) { 4297 req, out := c.DisableMetricsCollectionRequest(input) 4298 req.SetContext(ctx) 4299 req.ApplyOptions(opts...) 4300 return out, req.Send() 4301 } 4302 4303 const opEnableMetricsCollection = "EnableMetricsCollection" 4304 4305 // EnableMetricsCollectionRequest generates a "aws/request.Request" representing the 4306 // client's request for the EnableMetricsCollection operation. The "output" return 4307 // value will be populated with the request's response once the request completes 4308 // successfully. 4309 // 4310 // Use "Send" method on the returned Request to send the API call to the service. 4311 // the "output" return value is not valid until after Send returns without error. 4312 // 4313 // See EnableMetricsCollection for more information on using the EnableMetricsCollection 4314 // API call, and error handling. 4315 // 4316 // This method is useful when you want to inject custom logic or configuration 4317 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4318 // 4319 // 4320 // // Example sending a request using the EnableMetricsCollectionRequest method. 4321 // req, resp := client.EnableMetricsCollectionRequest(params) 4322 // 4323 // err := req.Send() 4324 // if err == nil { // resp is now filled 4325 // fmt.Println(resp) 4326 // } 4327 // 4328 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/EnableMetricsCollection 4329 func (c *AutoScaling) EnableMetricsCollectionRequest(input *EnableMetricsCollectionInput) (req *request.Request, output *EnableMetricsCollectionOutput) { 4330 op := &request.Operation{ 4331 Name: opEnableMetricsCollection, 4332 HTTPMethod: "POST", 4333 HTTPPath: "/", 4334 } 4335 4336 if input == nil { 4337 input = &EnableMetricsCollectionInput{} 4338 } 4339 4340 output = &EnableMetricsCollectionOutput{} 4341 req = c.newRequest(op, input, output) 4342 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4343 return 4344 } 4345 4346 // EnableMetricsCollection API operation for Auto Scaling. 4347 // 4348 // Enables group metrics for the specified Auto Scaling group. For more information, 4349 // see Monitoring CloudWatch metrics for your Auto Scaling groups and instances 4350 // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-monitoring.html) 4351 // in the Amazon EC2 Auto Scaling User Guide. 4352 // 4353 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4354 // with awserr.Error's Code and Message methods to get detailed information about 4355 // the error. 4356 // 4357 // See the AWS API reference guide for Auto Scaling's 4358 // API operation EnableMetricsCollection for usage and error information. 4359 // 4360 // Returned Error Codes: 4361 // * ErrCodeResourceContentionFault "ResourceContention" 4362 // You already have a pending update to an Amazon EC2 Auto Scaling resource 4363 // (for example, an Auto Scaling group, instance, or load balancer). 4364 // 4365 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/EnableMetricsCollection 4366 func (c *AutoScaling) EnableMetricsCollection(input *EnableMetricsCollectionInput) (*EnableMetricsCollectionOutput, error) { 4367 req, out := c.EnableMetricsCollectionRequest(input) 4368 return out, req.Send() 4369 } 4370 4371 // EnableMetricsCollectionWithContext is the same as EnableMetricsCollection with the addition of 4372 // the ability to pass a context and additional request options. 4373 // 4374 // See EnableMetricsCollection for details on how to use this API operation. 4375 // 4376 // The context must be non-nil and will be used for request cancellation. If 4377 // the context is nil a panic will occur. In the future the SDK may create 4378 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4379 // for more information on using Contexts. 4380 func (c *AutoScaling) EnableMetricsCollectionWithContext(ctx aws.Context, input *EnableMetricsCollectionInput, opts ...request.Option) (*EnableMetricsCollectionOutput, error) { 4381 req, out := c.EnableMetricsCollectionRequest(input) 4382 req.SetContext(ctx) 4383 req.ApplyOptions(opts...) 4384 return out, req.Send() 4385 } 4386 4387 const opEnterStandby = "EnterStandby" 4388 4389 // EnterStandbyRequest generates a "aws/request.Request" representing the 4390 // client's request for the EnterStandby operation. The "output" return 4391 // value will be populated with the request's response once the request completes 4392 // successfully. 4393 // 4394 // Use "Send" method on the returned Request to send the API call to the service. 4395 // the "output" return value is not valid until after Send returns without error. 4396 // 4397 // See EnterStandby for more information on using the EnterStandby 4398 // API call, and error handling. 4399 // 4400 // This method is useful when you want to inject custom logic or configuration 4401 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4402 // 4403 // 4404 // // Example sending a request using the EnterStandbyRequest method. 4405 // req, resp := client.EnterStandbyRequest(params) 4406 // 4407 // err := req.Send() 4408 // if err == nil { // resp is now filled 4409 // fmt.Println(resp) 4410 // } 4411 // 4412 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/EnterStandby 4413 func (c *AutoScaling) EnterStandbyRequest(input *EnterStandbyInput) (req *request.Request, output *EnterStandbyOutput) { 4414 op := &request.Operation{ 4415 Name: opEnterStandby, 4416 HTTPMethod: "POST", 4417 HTTPPath: "/", 4418 } 4419 4420 if input == nil { 4421 input = &EnterStandbyInput{} 4422 } 4423 4424 output = &EnterStandbyOutput{} 4425 req = c.newRequest(op, input, output) 4426 return 4427 } 4428 4429 // EnterStandby API operation for Auto Scaling. 4430 // 4431 // Moves the specified instances into the standby state. 4432 // 4433 // If you choose to decrement the desired capacity of the Auto Scaling group, 4434 // the instances can enter standby as long as the desired capacity of the Auto 4435 // Scaling group after the instances are placed into standby is equal to or 4436 // greater than the minimum capacity of the group. 4437 // 4438 // If you choose not to decrement the desired capacity of the Auto Scaling group, 4439 // the Auto Scaling group launches new instances to replace the instances on 4440 // standby. 4441 // 4442 // For more information, see Temporarily removing instances from your Auto Scaling 4443 // group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enter-exit-standby.html) 4444 // in the Amazon EC2 Auto Scaling User Guide. 4445 // 4446 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4447 // with awserr.Error's Code and Message methods to get detailed information about 4448 // the error. 4449 // 4450 // See the AWS API reference guide for Auto Scaling's 4451 // API operation EnterStandby for usage and error information. 4452 // 4453 // Returned Error Codes: 4454 // * ErrCodeResourceContentionFault "ResourceContention" 4455 // You already have a pending update to an Amazon EC2 Auto Scaling resource 4456 // (for example, an Auto Scaling group, instance, or load balancer). 4457 // 4458 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/EnterStandby 4459 func (c *AutoScaling) EnterStandby(input *EnterStandbyInput) (*EnterStandbyOutput, error) { 4460 req, out := c.EnterStandbyRequest(input) 4461 return out, req.Send() 4462 } 4463 4464 // EnterStandbyWithContext is the same as EnterStandby with the addition of 4465 // the ability to pass a context and additional request options. 4466 // 4467 // See EnterStandby for details on how to use this API operation. 4468 // 4469 // The context must be non-nil and will be used for request cancellation. If 4470 // the context is nil a panic will occur. In the future the SDK may create 4471 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4472 // for more information on using Contexts. 4473 func (c *AutoScaling) EnterStandbyWithContext(ctx aws.Context, input *EnterStandbyInput, opts ...request.Option) (*EnterStandbyOutput, error) { 4474 req, out := c.EnterStandbyRequest(input) 4475 req.SetContext(ctx) 4476 req.ApplyOptions(opts...) 4477 return out, req.Send() 4478 } 4479 4480 const opExecutePolicy = "ExecutePolicy" 4481 4482 // ExecutePolicyRequest generates a "aws/request.Request" representing the 4483 // client's request for the ExecutePolicy operation. The "output" return 4484 // value will be populated with the request's response once the request completes 4485 // successfully. 4486 // 4487 // Use "Send" method on the returned Request to send the API call to the service. 4488 // the "output" return value is not valid until after Send returns without error. 4489 // 4490 // See ExecutePolicy for more information on using the ExecutePolicy 4491 // API call, and error handling. 4492 // 4493 // This method is useful when you want to inject custom logic or configuration 4494 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4495 // 4496 // 4497 // // Example sending a request using the ExecutePolicyRequest method. 4498 // req, resp := client.ExecutePolicyRequest(params) 4499 // 4500 // err := req.Send() 4501 // if err == nil { // resp is now filled 4502 // fmt.Println(resp) 4503 // } 4504 // 4505 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ExecutePolicy 4506 func (c *AutoScaling) ExecutePolicyRequest(input *ExecutePolicyInput) (req *request.Request, output *ExecutePolicyOutput) { 4507 op := &request.Operation{ 4508 Name: opExecutePolicy, 4509 HTTPMethod: "POST", 4510 HTTPPath: "/", 4511 } 4512 4513 if input == nil { 4514 input = &ExecutePolicyInput{} 4515 } 4516 4517 output = &ExecutePolicyOutput{} 4518 req = c.newRequest(op, input, output) 4519 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4520 return 4521 } 4522 4523 // ExecutePolicy API operation for Auto Scaling. 4524 // 4525 // Executes the specified policy. This can be useful for testing the design 4526 // of your scaling policy. 4527 // 4528 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4529 // with awserr.Error's Code and Message methods to get detailed information about 4530 // the error. 4531 // 4532 // See the AWS API reference guide for Auto Scaling's 4533 // API operation ExecutePolicy for usage and error information. 4534 // 4535 // Returned Error Codes: 4536 // * ErrCodeScalingActivityInProgressFault "ScalingActivityInProgress" 4537 // The operation can't be performed because there are scaling activities in 4538 // progress. 4539 // 4540 // * ErrCodeResourceContentionFault "ResourceContention" 4541 // You already have a pending update to an Amazon EC2 Auto Scaling resource 4542 // (for example, an Auto Scaling group, instance, or load balancer). 4543 // 4544 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ExecutePolicy 4545 func (c *AutoScaling) ExecutePolicy(input *ExecutePolicyInput) (*ExecutePolicyOutput, error) { 4546 req, out := c.ExecutePolicyRequest(input) 4547 return out, req.Send() 4548 } 4549 4550 // ExecutePolicyWithContext is the same as ExecutePolicy with the addition of 4551 // the ability to pass a context and additional request options. 4552 // 4553 // See ExecutePolicy for details on how to use this API operation. 4554 // 4555 // The context must be non-nil and will be used for request cancellation. If 4556 // the context is nil a panic will occur. In the future the SDK may create 4557 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4558 // for more information on using Contexts. 4559 func (c *AutoScaling) ExecutePolicyWithContext(ctx aws.Context, input *ExecutePolicyInput, opts ...request.Option) (*ExecutePolicyOutput, error) { 4560 req, out := c.ExecutePolicyRequest(input) 4561 req.SetContext(ctx) 4562 req.ApplyOptions(opts...) 4563 return out, req.Send() 4564 } 4565 4566 const opExitStandby = "ExitStandby" 4567 4568 // ExitStandbyRequest generates a "aws/request.Request" representing the 4569 // client's request for the ExitStandby operation. The "output" return 4570 // value will be populated with the request's response once the request completes 4571 // successfully. 4572 // 4573 // Use "Send" method on the returned Request to send the API call to the service. 4574 // the "output" return value is not valid until after Send returns without error. 4575 // 4576 // See ExitStandby for more information on using the ExitStandby 4577 // API call, and error handling. 4578 // 4579 // This method is useful when you want to inject custom logic or configuration 4580 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4581 // 4582 // 4583 // // Example sending a request using the ExitStandbyRequest method. 4584 // req, resp := client.ExitStandbyRequest(params) 4585 // 4586 // err := req.Send() 4587 // if err == nil { // resp is now filled 4588 // fmt.Println(resp) 4589 // } 4590 // 4591 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ExitStandby 4592 func (c *AutoScaling) ExitStandbyRequest(input *ExitStandbyInput) (req *request.Request, output *ExitStandbyOutput) { 4593 op := &request.Operation{ 4594 Name: opExitStandby, 4595 HTTPMethod: "POST", 4596 HTTPPath: "/", 4597 } 4598 4599 if input == nil { 4600 input = &ExitStandbyInput{} 4601 } 4602 4603 output = &ExitStandbyOutput{} 4604 req = c.newRequest(op, input, output) 4605 return 4606 } 4607 4608 // ExitStandby API operation for Auto Scaling. 4609 // 4610 // Moves the specified instances out of the standby state. 4611 // 4612 // After you put the instances back in service, the desired capacity is incremented. 4613 // 4614 // For more information, see Temporarily removing instances from your Auto Scaling 4615 // group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enter-exit-standby.html) 4616 // in the Amazon EC2 Auto Scaling User Guide. 4617 // 4618 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4619 // with awserr.Error's Code and Message methods to get detailed information about 4620 // the error. 4621 // 4622 // See the AWS API reference guide for Auto Scaling's 4623 // API operation ExitStandby for usage and error information. 4624 // 4625 // Returned Error Codes: 4626 // * ErrCodeResourceContentionFault "ResourceContention" 4627 // You already have a pending update to an Amazon EC2 Auto Scaling resource 4628 // (for example, an Auto Scaling group, instance, or load balancer). 4629 // 4630 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ExitStandby 4631 func (c *AutoScaling) ExitStandby(input *ExitStandbyInput) (*ExitStandbyOutput, error) { 4632 req, out := c.ExitStandbyRequest(input) 4633 return out, req.Send() 4634 } 4635 4636 // ExitStandbyWithContext is the same as ExitStandby with the addition of 4637 // the ability to pass a context and additional request options. 4638 // 4639 // See ExitStandby for details on how to use this API operation. 4640 // 4641 // The context must be non-nil and will be used for request cancellation. If 4642 // the context is nil a panic will occur. In the future the SDK may create 4643 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4644 // for more information on using Contexts. 4645 func (c *AutoScaling) ExitStandbyWithContext(ctx aws.Context, input *ExitStandbyInput, opts ...request.Option) (*ExitStandbyOutput, error) { 4646 req, out := c.ExitStandbyRequest(input) 4647 req.SetContext(ctx) 4648 req.ApplyOptions(opts...) 4649 return out, req.Send() 4650 } 4651 4652 const opGetPredictiveScalingForecast = "GetPredictiveScalingForecast" 4653 4654 // GetPredictiveScalingForecastRequest generates a "aws/request.Request" representing the 4655 // client's request for the GetPredictiveScalingForecast operation. The "output" return 4656 // value will be populated with the request's response once the request completes 4657 // successfully. 4658 // 4659 // Use "Send" method on the returned Request to send the API call to the service. 4660 // the "output" return value is not valid until after Send returns without error. 4661 // 4662 // See GetPredictiveScalingForecast for more information on using the GetPredictiveScalingForecast 4663 // API call, and error handling. 4664 // 4665 // This method is useful when you want to inject custom logic or configuration 4666 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4667 // 4668 // 4669 // // Example sending a request using the GetPredictiveScalingForecastRequest method. 4670 // req, resp := client.GetPredictiveScalingForecastRequest(params) 4671 // 4672 // err := req.Send() 4673 // if err == nil { // resp is now filled 4674 // fmt.Println(resp) 4675 // } 4676 // 4677 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/GetPredictiveScalingForecast 4678 func (c *AutoScaling) GetPredictiveScalingForecastRequest(input *GetPredictiveScalingForecastInput) (req *request.Request, output *GetPredictiveScalingForecastOutput) { 4679 op := &request.Operation{ 4680 Name: opGetPredictiveScalingForecast, 4681 HTTPMethod: "POST", 4682 HTTPPath: "/", 4683 } 4684 4685 if input == nil { 4686 input = &GetPredictiveScalingForecastInput{} 4687 } 4688 4689 output = &GetPredictiveScalingForecastOutput{} 4690 req = c.newRequest(op, input, output) 4691 return 4692 } 4693 4694 // GetPredictiveScalingForecast API operation for Auto Scaling. 4695 // 4696 // Retrieves the forecast data for a predictive scaling policy. 4697 // 4698 // Load forecasts are predictions of the hourly load values using historical 4699 // load data from CloudWatch and an analysis of historical trends. Capacity 4700 // forecasts are represented as predicted values for the minimum capacity that 4701 // is needed on an hourly basis, based on the hourly load forecast. 4702 // 4703 // A minimum of 24 hours of data is required to create the initial forecasts. 4704 // However, having a full 14 days of historical data results in more accurate 4705 // forecasts. 4706 // 4707 // For more information, see Predictive scaling for Amazon EC2 Auto Scaling 4708 // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-predictive-scaling.html) 4709 // in the Amazon EC2 Auto Scaling User Guide. 4710 // 4711 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4712 // with awserr.Error's Code and Message methods to get detailed information about 4713 // the error. 4714 // 4715 // See the AWS API reference guide for Auto Scaling's 4716 // API operation GetPredictiveScalingForecast for usage and error information. 4717 // 4718 // Returned Error Codes: 4719 // * ErrCodeResourceContentionFault "ResourceContention" 4720 // You already have a pending update to an Amazon EC2 Auto Scaling resource 4721 // (for example, an Auto Scaling group, instance, or load balancer). 4722 // 4723 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/GetPredictiveScalingForecast 4724 func (c *AutoScaling) GetPredictiveScalingForecast(input *GetPredictiveScalingForecastInput) (*GetPredictiveScalingForecastOutput, error) { 4725 req, out := c.GetPredictiveScalingForecastRequest(input) 4726 return out, req.Send() 4727 } 4728 4729 // GetPredictiveScalingForecastWithContext is the same as GetPredictiveScalingForecast with the addition of 4730 // the ability to pass a context and additional request options. 4731 // 4732 // See GetPredictiveScalingForecast for details on how to use this API operation. 4733 // 4734 // The context must be non-nil and will be used for request cancellation. If 4735 // the context is nil a panic will occur. In the future the SDK may create 4736 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4737 // for more information on using Contexts. 4738 func (c *AutoScaling) GetPredictiveScalingForecastWithContext(ctx aws.Context, input *GetPredictiveScalingForecastInput, opts ...request.Option) (*GetPredictiveScalingForecastOutput, error) { 4739 req, out := c.GetPredictiveScalingForecastRequest(input) 4740 req.SetContext(ctx) 4741 req.ApplyOptions(opts...) 4742 return out, req.Send() 4743 } 4744 4745 const opPutLifecycleHook = "PutLifecycleHook" 4746 4747 // PutLifecycleHookRequest generates a "aws/request.Request" representing the 4748 // client's request for the PutLifecycleHook operation. The "output" return 4749 // value will be populated with the request's response once the request completes 4750 // successfully. 4751 // 4752 // Use "Send" method on the returned Request to send the API call to the service. 4753 // the "output" return value is not valid until after Send returns without error. 4754 // 4755 // See PutLifecycleHook for more information on using the PutLifecycleHook 4756 // API call, and error handling. 4757 // 4758 // This method is useful when you want to inject custom logic or configuration 4759 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4760 // 4761 // 4762 // // Example sending a request using the PutLifecycleHookRequest method. 4763 // req, resp := client.PutLifecycleHookRequest(params) 4764 // 4765 // err := req.Send() 4766 // if err == nil { // resp is now filled 4767 // fmt.Println(resp) 4768 // } 4769 // 4770 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutLifecycleHook 4771 func (c *AutoScaling) PutLifecycleHookRequest(input *PutLifecycleHookInput) (req *request.Request, output *PutLifecycleHookOutput) { 4772 op := &request.Operation{ 4773 Name: opPutLifecycleHook, 4774 HTTPMethod: "POST", 4775 HTTPPath: "/", 4776 } 4777 4778 if input == nil { 4779 input = &PutLifecycleHookInput{} 4780 } 4781 4782 output = &PutLifecycleHookOutput{} 4783 req = c.newRequest(op, input, output) 4784 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4785 return 4786 } 4787 4788 // PutLifecycleHook API operation for Auto Scaling. 4789 // 4790 // Creates or updates a lifecycle hook for the specified Auto Scaling group. 4791 // 4792 // A lifecycle hook tells Amazon EC2 Auto Scaling to perform an action on an 4793 // instance when the instance launches (before it is put into service) or as 4794 // the instance terminates (before it is fully terminated). 4795 // 4796 // This step is a part of the procedure for adding a lifecycle hook to an Auto 4797 // Scaling group: 4798 // 4799 // (Optional) Create a Lambda function and a rule that allows CloudWatch Events 4800 // to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates 4801 // instances. 4802 // 4803 // (Optional) Create a notification target and an IAM role. The target can be 4804 // either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon 4805 // EC2 Auto Scaling to publish lifecycle notifications to the target. 4806 // 4807 // Create the lifecycle hook. Specify whether the hook is used when the instances 4808 // launch or terminate. 4809 // 4810 // If you need more time, record the lifecycle action heartbeat to keep the 4811 // instance in a pending state using the RecordLifecycleActionHeartbeat API 4812 // call. 4813 // 4814 // If you finish before the timeout period ends, complete the lifecycle action 4815 // using the CompleteLifecycleAction API call. 4816 // 4817 // For more information, see Amazon EC2 Auto Scaling lifecycle hooks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) 4818 // in the Amazon EC2 Auto Scaling User Guide. 4819 // 4820 // If you exceed your maximum limit of lifecycle hooks, which by default is 4821 // 50 per Auto Scaling group, the call fails. 4822 // 4823 // You can view the lifecycle hooks for an Auto Scaling group using the DescribeLifecycleHooks 4824 // API call. If you are no longer using a lifecycle hook, you can delete it 4825 // by calling the DeleteLifecycleHook API. 4826 // 4827 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4828 // with awserr.Error's Code and Message methods to get detailed information about 4829 // the error. 4830 // 4831 // See the AWS API reference guide for Auto Scaling's 4832 // API operation PutLifecycleHook for usage and error information. 4833 // 4834 // Returned Error Codes: 4835 // * ErrCodeLimitExceededFault "LimitExceeded" 4836 // You have already reached a limit for your Amazon EC2 Auto Scaling resources 4837 // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). 4838 // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) 4839 // in the Amazon EC2 Auto Scaling API Reference. 4840 // 4841 // * ErrCodeResourceContentionFault "ResourceContention" 4842 // You already have a pending update to an Amazon EC2 Auto Scaling resource 4843 // (for example, an Auto Scaling group, instance, or load balancer). 4844 // 4845 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutLifecycleHook 4846 func (c *AutoScaling) PutLifecycleHook(input *PutLifecycleHookInput) (*PutLifecycleHookOutput, error) { 4847 req, out := c.PutLifecycleHookRequest(input) 4848 return out, req.Send() 4849 } 4850 4851 // PutLifecycleHookWithContext is the same as PutLifecycleHook with the addition of 4852 // the ability to pass a context and additional request options. 4853 // 4854 // See PutLifecycleHook for details on how to use this API operation. 4855 // 4856 // The context must be non-nil and will be used for request cancellation. If 4857 // the context is nil a panic will occur. In the future the SDK may create 4858 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4859 // for more information on using Contexts. 4860 func (c *AutoScaling) PutLifecycleHookWithContext(ctx aws.Context, input *PutLifecycleHookInput, opts ...request.Option) (*PutLifecycleHookOutput, error) { 4861 req, out := c.PutLifecycleHookRequest(input) 4862 req.SetContext(ctx) 4863 req.ApplyOptions(opts...) 4864 return out, req.Send() 4865 } 4866 4867 const opPutNotificationConfiguration = "PutNotificationConfiguration" 4868 4869 // PutNotificationConfigurationRequest generates a "aws/request.Request" representing the 4870 // client's request for the PutNotificationConfiguration operation. The "output" return 4871 // value will be populated with the request's response once the request completes 4872 // successfully. 4873 // 4874 // Use "Send" method on the returned Request to send the API call to the service. 4875 // the "output" return value is not valid until after Send returns without error. 4876 // 4877 // See PutNotificationConfiguration for more information on using the PutNotificationConfiguration 4878 // API call, and error handling. 4879 // 4880 // This method is useful when you want to inject custom logic or configuration 4881 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4882 // 4883 // 4884 // // Example sending a request using the PutNotificationConfigurationRequest method. 4885 // req, resp := client.PutNotificationConfigurationRequest(params) 4886 // 4887 // err := req.Send() 4888 // if err == nil { // resp is now filled 4889 // fmt.Println(resp) 4890 // } 4891 // 4892 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutNotificationConfiguration 4893 func (c *AutoScaling) PutNotificationConfigurationRequest(input *PutNotificationConfigurationInput) (req *request.Request, output *PutNotificationConfigurationOutput) { 4894 op := &request.Operation{ 4895 Name: opPutNotificationConfiguration, 4896 HTTPMethod: "POST", 4897 HTTPPath: "/", 4898 } 4899 4900 if input == nil { 4901 input = &PutNotificationConfigurationInput{} 4902 } 4903 4904 output = &PutNotificationConfigurationOutput{} 4905 req = c.newRequest(op, input, output) 4906 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4907 return 4908 } 4909 4910 // PutNotificationConfiguration API operation for Auto Scaling. 4911 // 4912 // Configures an Auto Scaling group to send notifications when specified events 4913 // take place. Subscribers to the specified topic can have messages delivered 4914 // to an endpoint such as a web server or an email address. 4915 // 4916 // This configuration overwrites any existing configuration. 4917 // 4918 // For more information, see Getting Amazon SNS notifications when your Auto 4919 // Scaling group scales (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ASGettingNotifications.html) 4920 // in the Amazon EC2 Auto Scaling User Guide. 4921 // 4922 // If you exceed your maximum limit of SNS topics, which is 10 per Auto Scaling 4923 // group, the call fails. 4924 // 4925 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4926 // with awserr.Error's Code and Message methods to get detailed information about 4927 // the error. 4928 // 4929 // See the AWS API reference guide for Auto Scaling's 4930 // API operation PutNotificationConfiguration for usage and error information. 4931 // 4932 // Returned Error Codes: 4933 // * ErrCodeLimitExceededFault "LimitExceeded" 4934 // You have already reached a limit for your Amazon EC2 Auto Scaling resources 4935 // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). 4936 // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) 4937 // in the Amazon EC2 Auto Scaling API Reference. 4938 // 4939 // * ErrCodeResourceContentionFault "ResourceContention" 4940 // You already have a pending update to an Amazon EC2 Auto Scaling resource 4941 // (for example, an Auto Scaling group, instance, or load balancer). 4942 // 4943 // * ErrCodeServiceLinkedRoleFailure "ServiceLinkedRoleFailure" 4944 // The service-linked role is not yet ready for use. 4945 // 4946 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutNotificationConfiguration 4947 func (c *AutoScaling) PutNotificationConfiguration(input *PutNotificationConfigurationInput) (*PutNotificationConfigurationOutput, error) { 4948 req, out := c.PutNotificationConfigurationRequest(input) 4949 return out, req.Send() 4950 } 4951 4952 // PutNotificationConfigurationWithContext is the same as PutNotificationConfiguration with the addition of 4953 // the ability to pass a context and additional request options. 4954 // 4955 // See PutNotificationConfiguration for details on how to use this API operation. 4956 // 4957 // The context must be non-nil and will be used for request cancellation. If 4958 // the context is nil a panic will occur. In the future the SDK may create 4959 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4960 // for more information on using Contexts. 4961 func (c *AutoScaling) PutNotificationConfigurationWithContext(ctx aws.Context, input *PutNotificationConfigurationInput, opts ...request.Option) (*PutNotificationConfigurationOutput, error) { 4962 req, out := c.PutNotificationConfigurationRequest(input) 4963 req.SetContext(ctx) 4964 req.ApplyOptions(opts...) 4965 return out, req.Send() 4966 } 4967 4968 const opPutScalingPolicy = "PutScalingPolicy" 4969 4970 // PutScalingPolicyRequest generates a "aws/request.Request" representing the 4971 // client's request for the PutScalingPolicy operation. The "output" return 4972 // value will be populated with the request's response once the request completes 4973 // successfully. 4974 // 4975 // Use "Send" method on the returned Request to send the API call to the service. 4976 // the "output" return value is not valid until after Send returns without error. 4977 // 4978 // See PutScalingPolicy for more information on using the PutScalingPolicy 4979 // API call, and error handling. 4980 // 4981 // This method is useful when you want to inject custom logic or configuration 4982 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4983 // 4984 // 4985 // // Example sending a request using the PutScalingPolicyRequest method. 4986 // req, resp := client.PutScalingPolicyRequest(params) 4987 // 4988 // err := req.Send() 4989 // if err == nil { // resp is now filled 4990 // fmt.Println(resp) 4991 // } 4992 // 4993 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutScalingPolicy 4994 func (c *AutoScaling) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req *request.Request, output *PutScalingPolicyOutput) { 4995 op := &request.Operation{ 4996 Name: opPutScalingPolicy, 4997 HTTPMethod: "POST", 4998 HTTPPath: "/", 4999 } 5000 5001 if input == nil { 5002 input = &PutScalingPolicyInput{} 5003 } 5004 5005 output = &PutScalingPolicyOutput{} 5006 req = c.newRequest(op, input, output) 5007 return 5008 } 5009 5010 // PutScalingPolicy API operation for Auto Scaling. 5011 // 5012 // Creates or updates a scaling policy for an Auto Scaling group. Scaling policies 5013 // are used to scale an Auto Scaling group based on configurable metrics. If 5014 // no policies are defined, the dynamic scaling and predictive scaling features 5015 // are not used. 5016 // 5017 // For more information about using dynamic scaling, see Target tracking scaling 5018 // policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html) 5019 // and Step and simple scaling policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html) 5020 // in the Amazon EC2 Auto Scaling User Guide. 5021 // 5022 // For more information about using predictive scaling, see Predictive scaling 5023 // for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-predictive-scaling.html) 5024 // in the Amazon EC2 Auto Scaling User Guide. 5025 // 5026 // You can view the scaling policies for an Auto Scaling group using the DescribePolicies 5027 // API call. If you are no longer using a scaling policy, you can delete it 5028 // by calling the DeletePolicy API. 5029 // 5030 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5031 // with awserr.Error's Code and Message methods to get detailed information about 5032 // the error. 5033 // 5034 // See the AWS API reference guide for Auto Scaling's 5035 // API operation PutScalingPolicy for usage and error information. 5036 // 5037 // Returned Error Codes: 5038 // * ErrCodeLimitExceededFault "LimitExceeded" 5039 // You have already reached a limit for your Amazon EC2 Auto Scaling resources 5040 // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). 5041 // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) 5042 // in the Amazon EC2 Auto Scaling API Reference. 5043 // 5044 // * ErrCodeResourceContentionFault "ResourceContention" 5045 // You already have a pending update to an Amazon EC2 Auto Scaling resource 5046 // (for example, an Auto Scaling group, instance, or load balancer). 5047 // 5048 // * ErrCodeServiceLinkedRoleFailure "ServiceLinkedRoleFailure" 5049 // The service-linked role is not yet ready for use. 5050 // 5051 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutScalingPolicy 5052 func (c *AutoScaling) PutScalingPolicy(input *PutScalingPolicyInput) (*PutScalingPolicyOutput, error) { 5053 req, out := c.PutScalingPolicyRequest(input) 5054 return out, req.Send() 5055 } 5056 5057 // PutScalingPolicyWithContext is the same as PutScalingPolicy with the addition of 5058 // the ability to pass a context and additional request options. 5059 // 5060 // See PutScalingPolicy for details on how to use this API operation. 5061 // 5062 // The context must be non-nil and will be used for request cancellation. If 5063 // the context is nil a panic will occur. In the future the SDK may create 5064 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5065 // for more information on using Contexts. 5066 func (c *AutoScaling) PutScalingPolicyWithContext(ctx aws.Context, input *PutScalingPolicyInput, opts ...request.Option) (*PutScalingPolicyOutput, error) { 5067 req, out := c.PutScalingPolicyRequest(input) 5068 req.SetContext(ctx) 5069 req.ApplyOptions(opts...) 5070 return out, req.Send() 5071 } 5072 5073 const opPutScheduledUpdateGroupAction = "PutScheduledUpdateGroupAction" 5074 5075 // PutScheduledUpdateGroupActionRequest generates a "aws/request.Request" representing the 5076 // client's request for the PutScheduledUpdateGroupAction operation. The "output" return 5077 // value will be populated with the request's response once the request completes 5078 // successfully. 5079 // 5080 // Use "Send" method on the returned Request to send the API call to the service. 5081 // the "output" return value is not valid until after Send returns without error. 5082 // 5083 // See PutScheduledUpdateGroupAction for more information on using the PutScheduledUpdateGroupAction 5084 // API call, and error handling. 5085 // 5086 // This method is useful when you want to inject custom logic or configuration 5087 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5088 // 5089 // 5090 // // Example sending a request using the PutScheduledUpdateGroupActionRequest method. 5091 // req, resp := client.PutScheduledUpdateGroupActionRequest(params) 5092 // 5093 // err := req.Send() 5094 // if err == nil { // resp is now filled 5095 // fmt.Println(resp) 5096 // } 5097 // 5098 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutScheduledUpdateGroupAction 5099 func (c *AutoScaling) PutScheduledUpdateGroupActionRequest(input *PutScheduledUpdateGroupActionInput) (req *request.Request, output *PutScheduledUpdateGroupActionOutput) { 5100 op := &request.Operation{ 5101 Name: opPutScheduledUpdateGroupAction, 5102 HTTPMethod: "POST", 5103 HTTPPath: "/", 5104 } 5105 5106 if input == nil { 5107 input = &PutScheduledUpdateGroupActionInput{} 5108 } 5109 5110 output = &PutScheduledUpdateGroupActionOutput{} 5111 req = c.newRequest(op, input, output) 5112 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5113 return 5114 } 5115 5116 // PutScheduledUpdateGroupAction API operation for Auto Scaling. 5117 // 5118 // Creates or updates a scheduled scaling action for an Auto Scaling group. 5119 // 5120 // For more information, see Scheduled scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html) 5121 // in the Amazon EC2 Auto Scaling User Guide. 5122 // 5123 // You can view the scheduled actions for an Auto Scaling group using the DescribeScheduledActions 5124 // API call. If you are no longer using a scheduled action, you can delete it 5125 // by calling the DeleteScheduledAction API. 5126 // 5127 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5128 // with awserr.Error's Code and Message methods to get detailed information about 5129 // the error. 5130 // 5131 // See the AWS API reference guide for Auto Scaling's 5132 // API operation PutScheduledUpdateGroupAction for usage and error information. 5133 // 5134 // Returned Error Codes: 5135 // * ErrCodeAlreadyExistsFault "AlreadyExists" 5136 // You already have an Auto Scaling group or launch configuration with this 5137 // name. 5138 // 5139 // * ErrCodeLimitExceededFault "LimitExceeded" 5140 // You have already reached a limit for your Amazon EC2 Auto Scaling resources 5141 // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). 5142 // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) 5143 // in the Amazon EC2 Auto Scaling API Reference. 5144 // 5145 // * ErrCodeResourceContentionFault "ResourceContention" 5146 // You already have a pending update to an Amazon EC2 Auto Scaling resource 5147 // (for example, an Auto Scaling group, instance, or load balancer). 5148 // 5149 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutScheduledUpdateGroupAction 5150 func (c *AutoScaling) PutScheduledUpdateGroupAction(input *PutScheduledUpdateGroupActionInput) (*PutScheduledUpdateGroupActionOutput, error) { 5151 req, out := c.PutScheduledUpdateGroupActionRequest(input) 5152 return out, req.Send() 5153 } 5154 5155 // PutScheduledUpdateGroupActionWithContext is the same as PutScheduledUpdateGroupAction with the addition of 5156 // the ability to pass a context and additional request options. 5157 // 5158 // See PutScheduledUpdateGroupAction for details on how to use this API operation. 5159 // 5160 // The context must be non-nil and will be used for request cancellation. If 5161 // the context is nil a panic will occur. In the future the SDK may create 5162 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5163 // for more information on using Contexts. 5164 func (c *AutoScaling) PutScheduledUpdateGroupActionWithContext(ctx aws.Context, input *PutScheduledUpdateGroupActionInput, opts ...request.Option) (*PutScheduledUpdateGroupActionOutput, error) { 5165 req, out := c.PutScheduledUpdateGroupActionRequest(input) 5166 req.SetContext(ctx) 5167 req.ApplyOptions(opts...) 5168 return out, req.Send() 5169 } 5170 5171 const opPutWarmPool = "PutWarmPool" 5172 5173 // PutWarmPoolRequest generates a "aws/request.Request" representing the 5174 // client's request for the PutWarmPool operation. The "output" return 5175 // value will be populated with the request's response once the request completes 5176 // successfully. 5177 // 5178 // Use "Send" method on the returned Request to send the API call to the service. 5179 // the "output" return value is not valid until after Send returns without error. 5180 // 5181 // See PutWarmPool for more information on using the PutWarmPool 5182 // API call, and error handling. 5183 // 5184 // This method is useful when you want to inject custom logic or configuration 5185 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5186 // 5187 // 5188 // // Example sending a request using the PutWarmPoolRequest method. 5189 // req, resp := client.PutWarmPoolRequest(params) 5190 // 5191 // err := req.Send() 5192 // if err == nil { // resp is now filled 5193 // fmt.Println(resp) 5194 // } 5195 // 5196 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutWarmPool 5197 func (c *AutoScaling) PutWarmPoolRequest(input *PutWarmPoolInput) (req *request.Request, output *PutWarmPoolOutput) { 5198 op := &request.Operation{ 5199 Name: opPutWarmPool, 5200 HTTPMethod: "POST", 5201 HTTPPath: "/", 5202 } 5203 5204 if input == nil { 5205 input = &PutWarmPoolInput{} 5206 } 5207 5208 output = &PutWarmPoolOutput{} 5209 req = c.newRequest(op, input, output) 5210 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5211 return 5212 } 5213 5214 // PutWarmPool API operation for Auto Scaling. 5215 // 5216 // Creates or updates a warm pool for the specified Auto Scaling group. A warm 5217 // pool is a pool of pre-initialized EC2 instances that sits alongside the Auto 5218 // Scaling group. Whenever your application needs to scale out, the Auto Scaling 5219 // group can draw on the warm pool to meet its new desired capacity. For more 5220 // information and example configurations, see Warm pools for Amazon EC2 Auto 5221 // Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html) 5222 // in the Amazon EC2 Auto Scaling User Guide. 5223 // 5224 // This operation must be called from the Region in which the Auto Scaling group 5225 // was created. This operation cannot be called on an Auto Scaling group that 5226 // has a mixed instances policy or a launch template or launch configuration 5227 // that requests Spot Instances. 5228 // 5229 // You can view the instances in the warm pool using the DescribeWarmPool API 5230 // call. If you are no longer using a warm pool, you can delete it by calling 5231 // the DeleteWarmPool API. 5232 // 5233 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5234 // with awserr.Error's Code and Message methods to get detailed information about 5235 // the error. 5236 // 5237 // See the AWS API reference guide for Auto Scaling's 5238 // API operation PutWarmPool for usage and error information. 5239 // 5240 // Returned Error Codes: 5241 // * ErrCodeLimitExceededFault "LimitExceeded" 5242 // You have already reached a limit for your Amazon EC2 Auto Scaling resources 5243 // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). 5244 // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) 5245 // in the Amazon EC2 Auto Scaling API Reference. 5246 // 5247 // * ErrCodeResourceContentionFault "ResourceContention" 5248 // You already have a pending update to an Amazon EC2 Auto Scaling resource 5249 // (for example, an Auto Scaling group, instance, or load balancer). 5250 // 5251 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutWarmPool 5252 func (c *AutoScaling) PutWarmPool(input *PutWarmPoolInput) (*PutWarmPoolOutput, error) { 5253 req, out := c.PutWarmPoolRequest(input) 5254 return out, req.Send() 5255 } 5256 5257 // PutWarmPoolWithContext is the same as PutWarmPool with the addition of 5258 // the ability to pass a context and additional request options. 5259 // 5260 // See PutWarmPool for details on how to use this API operation. 5261 // 5262 // The context must be non-nil and will be used for request cancellation. If 5263 // the context is nil a panic will occur. In the future the SDK may create 5264 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5265 // for more information on using Contexts. 5266 func (c *AutoScaling) PutWarmPoolWithContext(ctx aws.Context, input *PutWarmPoolInput, opts ...request.Option) (*PutWarmPoolOutput, error) { 5267 req, out := c.PutWarmPoolRequest(input) 5268 req.SetContext(ctx) 5269 req.ApplyOptions(opts...) 5270 return out, req.Send() 5271 } 5272 5273 const opRecordLifecycleActionHeartbeat = "RecordLifecycleActionHeartbeat" 5274 5275 // RecordLifecycleActionHeartbeatRequest generates a "aws/request.Request" representing the 5276 // client's request for the RecordLifecycleActionHeartbeat operation. The "output" return 5277 // value will be populated with the request's response once the request completes 5278 // successfully. 5279 // 5280 // Use "Send" method on the returned Request to send the API call to the service. 5281 // the "output" return value is not valid until after Send returns without error. 5282 // 5283 // See RecordLifecycleActionHeartbeat for more information on using the RecordLifecycleActionHeartbeat 5284 // API call, and error handling. 5285 // 5286 // This method is useful when you want to inject custom logic or configuration 5287 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5288 // 5289 // 5290 // // Example sending a request using the RecordLifecycleActionHeartbeatRequest method. 5291 // req, resp := client.RecordLifecycleActionHeartbeatRequest(params) 5292 // 5293 // err := req.Send() 5294 // if err == nil { // resp is now filled 5295 // fmt.Println(resp) 5296 // } 5297 // 5298 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/RecordLifecycleActionHeartbeat 5299 func (c *AutoScaling) RecordLifecycleActionHeartbeatRequest(input *RecordLifecycleActionHeartbeatInput) (req *request.Request, output *RecordLifecycleActionHeartbeatOutput) { 5300 op := &request.Operation{ 5301 Name: opRecordLifecycleActionHeartbeat, 5302 HTTPMethod: "POST", 5303 HTTPPath: "/", 5304 } 5305 5306 if input == nil { 5307 input = &RecordLifecycleActionHeartbeatInput{} 5308 } 5309 5310 output = &RecordLifecycleActionHeartbeatOutput{} 5311 req = c.newRequest(op, input, output) 5312 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5313 return 5314 } 5315 5316 // RecordLifecycleActionHeartbeat API operation for Auto Scaling. 5317 // 5318 // Records a heartbeat for the lifecycle action associated with the specified 5319 // token or instance. This extends the timeout by the length of time defined 5320 // using the PutLifecycleHook API call. 5321 // 5322 // This step is a part of the procedure for adding a lifecycle hook to an Auto 5323 // Scaling group: 5324 // 5325 // (Optional) Create a Lambda function and a rule that allows CloudWatch Events 5326 // to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates 5327 // instances. 5328 // 5329 // (Optional) Create a notification target and an IAM role. The target can be 5330 // either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon 5331 // EC2 Auto Scaling to publish lifecycle notifications to the target. 5332 // 5333 // Create the lifecycle hook. Specify whether the hook is used when the instances 5334 // launch or terminate. 5335 // 5336 // If you need more time, record the lifecycle action heartbeat to keep the 5337 // instance in a pending state. 5338 // 5339 // If you finish before the timeout period ends, complete the lifecycle action. 5340 // 5341 // For more information, see Amazon EC2 Auto Scaling lifecycle hooks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) 5342 // in the Amazon EC2 Auto Scaling User Guide. 5343 // 5344 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5345 // with awserr.Error's Code and Message methods to get detailed information about 5346 // the error. 5347 // 5348 // See the AWS API reference guide for Auto Scaling's 5349 // API operation RecordLifecycleActionHeartbeat for usage and error information. 5350 // 5351 // Returned Error Codes: 5352 // * ErrCodeResourceContentionFault "ResourceContention" 5353 // You already have a pending update to an Amazon EC2 Auto Scaling resource 5354 // (for example, an Auto Scaling group, instance, or load balancer). 5355 // 5356 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/RecordLifecycleActionHeartbeat 5357 func (c *AutoScaling) RecordLifecycleActionHeartbeat(input *RecordLifecycleActionHeartbeatInput) (*RecordLifecycleActionHeartbeatOutput, error) { 5358 req, out := c.RecordLifecycleActionHeartbeatRequest(input) 5359 return out, req.Send() 5360 } 5361 5362 // RecordLifecycleActionHeartbeatWithContext is the same as RecordLifecycleActionHeartbeat with the addition of 5363 // the ability to pass a context and additional request options. 5364 // 5365 // See RecordLifecycleActionHeartbeat for details on how to use this API operation. 5366 // 5367 // The context must be non-nil and will be used for request cancellation. If 5368 // the context is nil a panic will occur. In the future the SDK may create 5369 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5370 // for more information on using Contexts. 5371 func (c *AutoScaling) RecordLifecycleActionHeartbeatWithContext(ctx aws.Context, input *RecordLifecycleActionHeartbeatInput, opts ...request.Option) (*RecordLifecycleActionHeartbeatOutput, error) { 5372 req, out := c.RecordLifecycleActionHeartbeatRequest(input) 5373 req.SetContext(ctx) 5374 req.ApplyOptions(opts...) 5375 return out, req.Send() 5376 } 5377 5378 const opResumeProcesses = "ResumeProcesses" 5379 5380 // ResumeProcessesRequest generates a "aws/request.Request" representing the 5381 // client's request for the ResumeProcesses operation. The "output" return 5382 // value will be populated with the request's response once the request completes 5383 // successfully. 5384 // 5385 // Use "Send" method on the returned Request to send the API call to the service. 5386 // the "output" return value is not valid until after Send returns without error. 5387 // 5388 // See ResumeProcesses for more information on using the ResumeProcesses 5389 // API call, and error handling. 5390 // 5391 // This method is useful when you want to inject custom logic or configuration 5392 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5393 // 5394 // 5395 // // Example sending a request using the ResumeProcessesRequest method. 5396 // req, resp := client.ResumeProcessesRequest(params) 5397 // 5398 // err := req.Send() 5399 // if err == nil { // resp is now filled 5400 // fmt.Println(resp) 5401 // } 5402 // 5403 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ResumeProcesses 5404 func (c *AutoScaling) ResumeProcessesRequest(input *ScalingProcessQuery) (req *request.Request, output *ResumeProcessesOutput) { 5405 op := &request.Operation{ 5406 Name: opResumeProcesses, 5407 HTTPMethod: "POST", 5408 HTTPPath: "/", 5409 } 5410 5411 if input == nil { 5412 input = &ScalingProcessQuery{} 5413 } 5414 5415 output = &ResumeProcessesOutput{} 5416 req = c.newRequest(op, input, output) 5417 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5418 return 5419 } 5420 5421 // ResumeProcesses API operation for Auto Scaling. 5422 // 5423 // Resumes the specified suspended auto scaling processes, or all suspended 5424 // process, for the specified Auto Scaling group. 5425 // 5426 // For more information, see Suspending and resuming scaling processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html) 5427 // in the Amazon EC2 Auto Scaling User Guide. 5428 // 5429 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5430 // with awserr.Error's Code and Message methods to get detailed information about 5431 // the error. 5432 // 5433 // See the AWS API reference guide for Auto Scaling's 5434 // API operation ResumeProcesses for usage and error information. 5435 // 5436 // Returned Error Codes: 5437 // * ErrCodeResourceInUseFault "ResourceInUse" 5438 // The operation can't be performed because the resource is in use. 5439 // 5440 // * ErrCodeResourceContentionFault "ResourceContention" 5441 // You already have a pending update to an Amazon EC2 Auto Scaling resource 5442 // (for example, an Auto Scaling group, instance, or load balancer). 5443 // 5444 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ResumeProcesses 5445 func (c *AutoScaling) ResumeProcesses(input *ScalingProcessQuery) (*ResumeProcessesOutput, error) { 5446 req, out := c.ResumeProcessesRequest(input) 5447 return out, req.Send() 5448 } 5449 5450 // ResumeProcessesWithContext is the same as ResumeProcesses with the addition of 5451 // the ability to pass a context and additional request options. 5452 // 5453 // See ResumeProcesses for details on how to use this API operation. 5454 // 5455 // The context must be non-nil and will be used for request cancellation. If 5456 // the context is nil a panic will occur. In the future the SDK may create 5457 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5458 // for more information on using Contexts. 5459 func (c *AutoScaling) ResumeProcessesWithContext(ctx aws.Context, input *ScalingProcessQuery, opts ...request.Option) (*ResumeProcessesOutput, error) { 5460 req, out := c.ResumeProcessesRequest(input) 5461 req.SetContext(ctx) 5462 req.ApplyOptions(opts...) 5463 return out, req.Send() 5464 } 5465 5466 const opSetDesiredCapacity = "SetDesiredCapacity" 5467 5468 // SetDesiredCapacityRequest generates a "aws/request.Request" representing the 5469 // client's request for the SetDesiredCapacity operation. The "output" return 5470 // value will be populated with the request's response once the request completes 5471 // successfully. 5472 // 5473 // Use "Send" method on the returned Request to send the API call to the service. 5474 // the "output" return value is not valid until after Send returns without error. 5475 // 5476 // See SetDesiredCapacity for more information on using the SetDesiredCapacity 5477 // API call, and error handling. 5478 // 5479 // This method is useful when you want to inject custom logic or configuration 5480 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5481 // 5482 // 5483 // // Example sending a request using the SetDesiredCapacityRequest method. 5484 // req, resp := client.SetDesiredCapacityRequest(params) 5485 // 5486 // err := req.Send() 5487 // if err == nil { // resp is now filled 5488 // fmt.Println(resp) 5489 // } 5490 // 5491 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SetDesiredCapacity 5492 func (c *AutoScaling) SetDesiredCapacityRequest(input *SetDesiredCapacityInput) (req *request.Request, output *SetDesiredCapacityOutput) { 5493 op := &request.Operation{ 5494 Name: opSetDesiredCapacity, 5495 HTTPMethod: "POST", 5496 HTTPPath: "/", 5497 } 5498 5499 if input == nil { 5500 input = &SetDesiredCapacityInput{} 5501 } 5502 5503 output = &SetDesiredCapacityOutput{} 5504 req = c.newRequest(op, input, output) 5505 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5506 return 5507 } 5508 5509 // SetDesiredCapacity API operation for Auto Scaling. 5510 // 5511 // Sets the size of the specified Auto Scaling group. 5512 // 5513 // If a scale-in activity occurs as a result of a new DesiredCapacity value 5514 // that is lower than the current size of the group, the Auto Scaling group 5515 // uses its termination policy to determine which instances to terminate. 5516 // 5517 // For more information, see Manual scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html) 5518 // in the Amazon EC2 Auto Scaling User Guide. 5519 // 5520 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5521 // with awserr.Error's Code and Message methods to get detailed information about 5522 // the error. 5523 // 5524 // See the AWS API reference guide for Auto Scaling's 5525 // API operation SetDesiredCapacity for usage and error information. 5526 // 5527 // Returned Error Codes: 5528 // * ErrCodeScalingActivityInProgressFault "ScalingActivityInProgress" 5529 // The operation can't be performed because there are scaling activities in 5530 // progress. 5531 // 5532 // * ErrCodeResourceContentionFault "ResourceContention" 5533 // You already have a pending update to an Amazon EC2 Auto Scaling resource 5534 // (for example, an Auto Scaling group, instance, or load balancer). 5535 // 5536 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SetDesiredCapacity 5537 func (c *AutoScaling) SetDesiredCapacity(input *SetDesiredCapacityInput) (*SetDesiredCapacityOutput, error) { 5538 req, out := c.SetDesiredCapacityRequest(input) 5539 return out, req.Send() 5540 } 5541 5542 // SetDesiredCapacityWithContext is the same as SetDesiredCapacity with the addition of 5543 // the ability to pass a context and additional request options. 5544 // 5545 // See SetDesiredCapacity for details on how to use this API operation. 5546 // 5547 // The context must be non-nil and will be used for request cancellation. If 5548 // the context is nil a panic will occur. In the future the SDK may create 5549 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5550 // for more information on using Contexts. 5551 func (c *AutoScaling) SetDesiredCapacityWithContext(ctx aws.Context, input *SetDesiredCapacityInput, opts ...request.Option) (*SetDesiredCapacityOutput, error) { 5552 req, out := c.SetDesiredCapacityRequest(input) 5553 req.SetContext(ctx) 5554 req.ApplyOptions(opts...) 5555 return out, req.Send() 5556 } 5557 5558 const opSetInstanceHealth = "SetInstanceHealth" 5559 5560 // SetInstanceHealthRequest generates a "aws/request.Request" representing the 5561 // client's request for the SetInstanceHealth operation. The "output" return 5562 // value will be populated with the request's response once the request completes 5563 // successfully. 5564 // 5565 // Use "Send" method on the returned Request to send the API call to the service. 5566 // the "output" return value is not valid until after Send returns without error. 5567 // 5568 // See SetInstanceHealth for more information on using the SetInstanceHealth 5569 // API call, and error handling. 5570 // 5571 // This method is useful when you want to inject custom logic or configuration 5572 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5573 // 5574 // 5575 // // Example sending a request using the SetInstanceHealthRequest method. 5576 // req, resp := client.SetInstanceHealthRequest(params) 5577 // 5578 // err := req.Send() 5579 // if err == nil { // resp is now filled 5580 // fmt.Println(resp) 5581 // } 5582 // 5583 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SetInstanceHealth 5584 func (c *AutoScaling) SetInstanceHealthRequest(input *SetInstanceHealthInput) (req *request.Request, output *SetInstanceHealthOutput) { 5585 op := &request.Operation{ 5586 Name: opSetInstanceHealth, 5587 HTTPMethod: "POST", 5588 HTTPPath: "/", 5589 } 5590 5591 if input == nil { 5592 input = &SetInstanceHealthInput{} 5593 } 5594 5595 output = &SetInstanceHealthOutput{} 5596 req = c.newRequest(op, input, output) 5597 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5598 return 5599 } 5600 5601 // SetInstanceHealth API operation for Auto Scaling. 5602 // 5603 // Sets the health status of the specified instance. 5604 // 5605 // For more information, see Health checks for Auto Scaling instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html) 5606 // in the Amazon EC2 Auto Scaling User Guide. 5607 // 5608 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5609 // with awserr.Error's Code and Message methods to get detailed information about 5610 // the error. 5611 // 5612 // See the AWS API reference guide for Auto Scaling's 5613 // API operation SetInstanceHealth for usage and error information. 5614 // 5615 // Returned Error Codes: 5616 // * ErrCodeResourceContentionFault "ResourceContention" 5617 // You already have a pending update to an Amazon EC2 Auto Scaling resource 5618 // (for example, an Auto Scaling group, instance, or load balancer). 5619 // 5620 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SetInstanceHealth 5621 func (c *AutoScaling) SetInstanceHealth(input *SetInstanceHealthInput) (*SetInstanceHealthOutput, error) { 5622 req, out := c.SetInstanceHealthRequest(input) 5623 return out, req.Send() 5624 } 5625 5626 // SetInstanceHealthWithContext is the same as SetInstanceHealth with the addition of 5627 // the ability to pass a context and additional request options. 5628 // 5629 // See SetInstanceHealth for details on how to use this API operation. 5630 // 5631 // The context must be non-nil and will be used for request cancellation. If 5632 // the context is nil a panic will occur. In the future the SDK may create 5633 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5634 // for more information on using Contexts. 5635 func (c *AutoScaling) SetInstanceHealthWithContext(ctx aws.Context, input *SetInstanceHealthInput, opts ...request.Option) (*SetInstanceHealthOutput, error) { 5636 req, out := c.SetInstanceHealthRequest(input) 5637 req.SetContext(ctx) 5638 req.ApplyOptions(opts...) 5639 return out, req.Send() 5640 } 5641 5642 const opSetInstanceProtection = "SetInstanceProtection" 5643 5644 // SetInstanceProtectionRequest generates a "aws/request.Request" representing the 5645 // client's request for the SetInstanceProtection operation. The "output" return 5646 // value will be populated with the request's response once the request completes 5647 // successfully. 5648 // 5649 // Use "Send" method on the returned Request to send the API call to the service. 5650 // the "output" return value is not valid until after Send returns without error. 5651 // 5652 // See SetInstanceProtection for more information on using the SetInstanceProtection 5653 // API call, and error handling. 5654 // 5655 // This method is useful when you want to inject custom logic or configuration 5656 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5657 // 5658 // 5659 // // Example sending a request using the SetInstanceProtectionRequest method. 5660 // req, resp := client.SetInstanceProtectionRequest(params) 5661 // 5662 // err := req.Send() 5663 // if err == nil { // resp is now filled 5664 // fmt.Println(resp) 5665 // } 5666 // 5667 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SetInstanceProtection 5668 func (c *AutoScaling) SetInstanceProtectionRequest(input *SetInstanceProtectionInput) (req *request.Request, output *SetInstanceProtectionOutput) { 5669 op := &request.Operation{ 5670 Name: opSetInstanceProtection, 5671 HTTPMethod: "POST", 5672 HTTPPath: "/", 5673 } 5674 5675 if input == nil { 5676 input = &SetInstanceProtectionInput{} 5677 } 5678 5679 output = &SetInstanceProtectionOutput{} 5680 req = c.newRequest(op, input, output) 5681 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5682 return 5683 } 5684 5685 // SetInstanceProtection API operation for Auto Scaling. 5686 // 5687 // Updates the instance protection settings of the specified instances. This 5688 // operation cannot be called on instances in a warm pool. 5689 // 5690 // For more information about preventing instances that are part of an Auto 5691 // Scaling group from terminating on scale in, see Instance scale-in protection 5692 // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) 5693 // in the Amazon EC2 Auto Scaling User Guide. 5694 // 5695 // If you exceed your maximum limit of instance IDs, which is 50 per Auto Scaling 5696 // group, the call fails. 5697 // 5698 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5699 // with awserr.Error's Code and Message methods to get detailed information about 5700 // the error. 5701 // 5702 // See the AWS API reference guide for Auto Scaling's 5703 // API operation SetInstanceProtection for usage and error information. 5704 // 5705 // Returned Error Codes: 5706 // * ErrCodeLimitExceededFault "LimitExceeded" 5707 // You have already reached a limit for your Amazon EC2 Auto Scaling resources 5708 // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). 5709 // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) 5710 // in the Amazon EC2 Auto Scaling API Reference. 5711 // 5712 // * ErrCodeResourceContentionFault "ResourceContention" 5713 // You already have a pending update to an Amazon EC2 Auto Scaling resource 5714 // (for example, an Auto Scaling group, instance, or load balancer). 5715 // 5716 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SetInstanceProtection 5717 func (c *AutoScaling) SetInstanceProtection(input *SetInstanceProtectionInput) (*SetInstanceProtectionOutput, error) { 5718 req, out := c.SetInstanceProtectionRequest(input) 5719 return out, req.Send() 5720 } 5721 5722 // SetInstanceProtectionWithContext is the same as SetInstanceProtection with the addition of 5723 // the ability to pass a context and additional request options. 5724 // 5725 // See SetInstanceProtection for details on how to use this API operation. 5726 // 5727 // The context must be non-nil and will be used for request cancellation. If 5728 // the context is nil a panic will occur. In the future the SDK may create 5729 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5730 // for more information on using Contexts. 5731 func (c *AutoScaling) SetInstanceProtectionWithContext(ctx aws.Context, input *SetInstanceProtectionInput, opts ...request.Option) (*SetInstanceProtectionOutput, error) { 5732 req, out := c.SetInstanceProtectionRequest(input) 5733 req.SetContext(ctx) 5734 req.ApplyOptions(opts...) 5735 return out, req.Send() 5736 } 5737 5738 const opStartInstanceRefresh = "StartInstanceRefresh" 5739 5740 // StartInstanceRefreshRequest generates a "aws/request.Request" representing the 5741 // client's request for the StartInstanceRefresh operation. The "output" return 5742 // value will be populated with the request's response once the request completes 5743 // successfully. 5744 // 5745 // Use "Send" method on the returned Request to send the API call to the service. 5746 // the "output" return value is not valid until after Send returns without error. 5747 // 5748 // See StartInstanceRefresh for more information on using the StartInstanceRefresh 5749 // API call, and error handling. 5750 // 5751 // This method is useful when you want to inject custom logic or configuration 5752 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5753 // 5754 // 5755 // // Example sending a request using the StartInstanceRefreshRequest method. 5756 // req, resp := client.StartInstanceRefreshRequest(params) 5757 // 5758 // err := req.Send() 5759 // if err == nil { // resp is now filled 5760 // fmt.Println(resp) 5761 // } 5762 // 5763 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/StartInstanceRefresh 5764 func (c *AutoScaling) StartInstanceRefreshRequest(input *StartInstanceRefreshInput) (req *request.Request, output *StartInstanceRefreshOutput) { 5765 op := &request.Operation{ 5766 Name: opStartInstanceRefresh, 5767 HTTPMethod: "POST", 5768 HTTPPath: "/", 5769 } 5770 5771 if input == nil { 5772 input = &StartInstanceRefreshInput{} 5773 } 5774 5775 output = &StartInstanceRefreshOutput{} 5776 req = c.newRequest(op, input, output) 5777 return 5778 } 5779 5780 // StartInstanceRefresh API operation for Auto Scaling. 5781 // 5782 // Starts a new instance refresh operation. An instance refresh performs a rolling 5783 // replacement of all or some instances in an Auto Scaling group. Each instance 5784 // is terminated first and then replaced, which temporarily reduces the capacity 5785 // available within your Auto Scaling group. 5786 // 5787 // This operation is part of the instance refresh feature (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html) 5788 // in Amazon EC2 Auto Scaling, which helps you update instances in your Auto 5789 // Scaling group. This feature is helpful, for example, when you have a new 5790 // AMI or a new user data script. You just need to create a new launch template 5791 // that specifies the new AMI or user data script. Then start an instance refresh 5792 // to immediately begin the process of updating instances in the group. 5793 // 5794 // If the call succeeds, it creates a new instance refresh request with a unique 5795 // ID that you can use to track its progress. To query its status, call the 5796 // DescribeInstanceRefreshes API. To describe the instance refreshes that have 5797 // already run, call the DescribeInstanceRefreshes API. To cancel an instance 5798 // refresh operation in progress, use the CancelInstanceRefresh API. 5799 // 5800 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5801 // with awserr.Error's Code and Message methods to get detailed information about 5802 // the error. 5803 // 5804 // See the AWS API reference guide for Auto Scaling's 5805 // API operation StartInstanceRefresh for usage and error information. 5806 // 5807 // Returned Error Codes: 5808 // * ErrCodeLimitExceededFault "LimitExceeded" 5809 // You have already reached a limit for your Amazon EC2 Auto Scaling resources 5810 // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). 5811 // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) 5812 // in the Amazon EC2 Auto Scaling API Reference. 5813 // 5814 // * ErrCodeResourceContentionFault "ResourceContention" 5815 // You already have a pending update to an Amazon EC2 Auto Scaling resource 5816 // (for example, an Auto Scaling group, instance, or load balancer). 5817 // 5818 // * ErrCodeInstanceRefreshInProgressFault "InstanceRefreshInProgress" 5819 // The request failed because an active instance refresh operation already exists 5820 // for the specified Auto Scaling group. 5821 // 5822 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/StartInstanceRefresh 5823 func (c *AutoScaling) StartInstanceRefresh(input *StartInstanceRefreshInput) (*StartInstanceRefreshOutput, error) { 5824 req, out := c.StartInstanceRefreshRequest(input) 5825 return out, req.Send() 5826 } 5827 5828 // StartInstanceRefreshWithContext is the same as StartInstanceRefresh with the addition of 5829 // the ability to pass a context and additional request options. 5830 // 5831 // See StartInstanceRefresh for details on how to use this API operation. 5832 // 5833 // The context must be non-nil and will be used for request cancellation. If 5834 // the context is nil a panic will occur. In the future the SDK may create 5835 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5836 // for more information on using Contexts. 5837 func (c *AutoScaling) StartInstanceRefreshWithContext(ctx aws.Context, input *StartInstanceRefreshInput, opts ...request.Option) (*StartInstanceRefreshOutput, error) { 5838 req, out := c.StartInstanceRefreshRequest(input) 5839 req.SetContext(ctx) 5840 req.ApplyOptions(opts...) 5841 return out, req.Send() 5842 } 5843 5844 const opSuspendProcesses = "SuspendProcesses" 5845 5846 // SuspendProcessesRequest generates a "aws/request.Request" representing the 5847 // client's request for the SuspendProcesses operation. The "output" return 5848 // value will be populated with the request's response once the request completes 5849 // successfully. 5850 // 5851 // Use "Send" method on the returned Request to send the API call to the service. 5852 // the "output" return value is not valid until after Send returns without error. 5853 // 5854 // See SuspendProcesses for more information on using the SuspendProcesses 5855 // API call, and error handling. 5856 // 5857 // This method is useful when you want to inject custom logic or configuration 5858 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5859 // 5860 // 5861 // // Example sending a request using the SuspendProcessesRequest method. 5862 // req, resp := client.SuspendProcessesRequest(params) 5863 // 5864 // err := req.Send() 5865 // if err == nil { // resp is now filled 5866 // fmt.Println(resp) 5867 // } 5868 // 5869 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SuspendProcesses 5870 func (c *AutoScaling) SuspendProcessesRequest(input *ScalingProcessQuery) (req *request.Request, output *SuspendProcessesOutput) { 5871 op := &request.Operation{ 5872 Name: opSuspendProcesses, 5873 HTTPMethod: "POST", 5874 HTTPPath: "/", 5875 } 5876 5877 if input == nil { 5878 input = &ScalingProcessQuery{} 5879 } 5880 5881 output = &SuspendProcessesOutput{} 5882 req = c.newRequest(op, input, output) 5883 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 5884 return 5885 } 5886 5887 // SuspendProcesses API operation for Auto Scaling. 5888 // 5889 // Suspends the specified auto scaling processes, or all processes, for the 5890 // specified Auto Scaling group. 5891 // 5892 // If you suspend either the Launch or Terminate process types, it can prevent 5893 // other process types from functioning properly. For more information, see 5894 // Suspending and resuming scaling processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html) 5895 // in the Amazon EC2 Auto Scaling User Guide. 5896 // 5897 // To resume processes that have been suspended, call the ResumeProcesses API. 5898 // 5899 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5900 // with awserr.Error's Code and Message methods to get detailed information about 5901 // the error. 5902 // 5903 // See the AWS API reference guide for Auto Scaling's 5904 // API operation SuspendProcesses for usage and error information. 5905 // 5906 // Returned Error Codes: 5907 // * ErrCodeResourceInUseFault "ResourceInUse" 5908 // The operation can't be performed because the resource is in use. 5909 // 5910 // * ErrCodeResourceContentionFault "ResourceContention" 5911 // You already have a pending update to an Amazon EC2 Auto Scaling resource 5912 // (for example, an Auto Scaling group, instance, or load balancer). 5913 // 5914 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/SuspendProcesses 5915 func (c *AutoScaling) SuspendProcesses(input *ScalingProcessQuery) (*SuspendProcessesOutput, error) { 5916 req, out := c.SuspendProcessesRequest(input) 5917 return out, req.Send() 5918 } 5919 5920 // SuspendProcessesWithContext is the same as SuspendProcesses with the addition of 5921 // the ability to pass a context and additional request options. 5922 // 5923 // See SuspendProcesses for details on how to use this API operation. 5924 // 5925 // The context must be non-nil and will be used for request cancellation. If 5926 // the context is nil a panic will occur. In the future the SDK may create 5927 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5928 // for more information on using Contexts. 5929 func (c *AutoScaling) SuspendProcessesWithContext(ctx aws.Context, input *ScalingProcessQuery, opts ...request.Option) (*SuspendProcessesOutput, error) { 5930 req, out := c.SuspendProcessesRequest(input) 5931 req.SetContext(ctx) 5932 req.ApplyOptions(opts...) 5933 return out, req.Send() 5934 } 5935 5936 const opTerminateInstanceInAutoScalingGroup = "TerminateInstanceInAutoScalingGroup" 5937 5938 // TerminateInstanceInAutoScalingGroupRequest generates a "aws/request.Request" representing the 5939 // client's request for the TerminateInstanceInAutoScalingGroup operation. The "output" return 5940 // value will be populated with the request's response once the request completes 5941 // successfully. 5942 // 5943 // Use "Send" method on the returned Request to send the API call to the service. 5944 // the "output" return value is not valid until after Send returns without error. 5945 // 5946 // See TerminateInstanceInAutoScalingGroup for more information on using the TerminateInstanceInAutoScalingGroup 5947 // API call, and error handling. 5948 // 5949 // This method is useful when you want to inject custom logic or configuration 5950 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5951 // 5952 // 5953 // // Example sending a request using the TerminateInstanceInAutoScalingGroupRequest method. 5954 // req, resp := client.TerminateInstanceInAutoScalingGroupRequest(params) 5955 // 5956 // err := req.Send() 5957 // if err == nil { // resp is now filled 5958 // fmt.Println(resp) 5959 // } 5960 // 5961 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/TerminateInstanceInAutoScalingGroup 5962 func (c *AutoScaling) TerminateInstanceInAutoScalingGroupRequest(input *TerminateInstanceInAutoScalingGroupInput) (req *request.Request, output *TerminateInstanceInAutoScalingGroupOutput) { 5963 op := &request.Operation{ 5964 Name: opTerminateInstanceInAutoScalingGroup, 5965 HTTPMethod: "POST", 5966 HTTPPath: "/", 5967 } 5968 5969 if input == nil { 5970 input = &TerminateInstanceInAutoScalingGroupInput{} 5971 } 5972 5973 output = &TerminateInstanceInAutoScalingGroupOutput{} 5974 req = c.newRequest(op, input, output) 5975 return 5976 } 5977 5978 // TerminateInstanceInAutoScalingGroup API operation for Auto Scaling. 5979 // 5980 // Terminates the specified instance and optionally adjusts the desired group 5981 // size. This operation cannot be called on instances in a warm pool. 5982 // 5983 // This call simply makes a termination request. The instance is not terminated 5984 // immediately. When an instance is terminated, the instance status changes 5985 // to terminated. You can't connect to or start an instance after you've terminated 5986 // it. 5987 // 5988 // If you do not specify the option to decrement the desired capacity, Amazon 5989 // EC2 Auto Scaling launches instances to replace the ones that are terminated. 5990 // 5991 // By default, Amazon EC2 Auto Scaling balances instances across all Availability 5992 // Zones. If you decrement the desired capacity, your Auto Scaling group can 5993 // become unbalanced between Availability Zones. Amazon EC2 Auto Scaling tries 5994 // to rebalance the group, and rebalancing might terminate instances in other 5995 // zones. For more information, see Rebalancing activities (https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-benefits.html#AutoScalingBehavior.InstanceUsage) 5996 // in the Amazon EC2 Auto Scaling User Guide. 5997 // 5998 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5999 // with awserr.Error's Code and Message methods to get detailed information about 6000 // the error. 6001 // 6002 // See the AWS API reference guide for Auto Scaling's 6003 // API operation TerminateInstanceInAutoScalingGroup for usage and error information. 6004 // 6005 // Returned Error Codes: 6006 // * ErrCodeScalingActivityInProgressFault "ScalingActivityInProgress" 6007 // The operation can't be performed because there are scaling activities in 6008 // progress. 6009 // 6010 // * ErrCodeResourceContentionFault "ResourceContention" 6011 // You already have a pending update to an Amazon EC2 Auto Scaling resource 6012 // (for example, an Auto Scaling group, instance, or load balancer). 6013 // 6014 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/TerminateInstanceInAutoScalingGroup 6015 func (c *AutoScaling) TerminateInstanceInAutoScalingGroup(input *TerminateInstanceInAutoScalingGroupInput) (*TerminateInstanceInAutoScalingGroupOutput, error) { 6016 req, out := c.TerminateInstanceInAutoScalingGroupRequest(input) 6017 return out, req.Send() 6018 } 6019 6020 // TerminateInstanceInAutoScalingGroupWithContext is the same as TerminateInstanceInAutoScalingGroup with the addition of 6021 // the ability to pass a context and additional request options. 6022 // 6023 // See TerminateInstanceInAutoScalingGroup for details on how to use this API operation. 6024 // 6025 // The context must be non-nil and will be used for request cancellation. If 6026 // the context is nil a panic will occur. In the future the SDK may create 6027 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6028 // for more information on using Contexts. 6029 func (c *AutoScaling) TerminateInstanceInAutoScalingGroupWithContext(ctx aws.Context, input *TerminateInstanceInAutoScalingGroupInput, opts ...request.Option) (*TerminateInstanceInAutoScalingGroupOutput, error) { 6030 req, out := c.TerminateInstanceInAutoScalingGroupRequest(input) 6031 req.SetContext(ctx) 6032 req.ApplyOptions(opts...) 6033 return out, req.Send() 6034 } 6035 6036 const opUpdateAutoScalingGroup = "UpdateAutoScalingGroup" 6037 6038 // UpdateAutoScalingGroupRequest generates a "aws/request.Request" representing the 6039 // client's request for the UpdateAutoScalingGroup operation. The "output" return 6040 // value will be populated with the request's response once the request completes 6041 // successfully. 6042 // 6043 // Use "Send" method on the returned Request to send the API call to the service. 6044 // the "output" return value is not valid until after Send returns without error. 6045 // 6046 // See UpdateAutoScalingGroup for more information on using the UpdateAutoScalingGroup 6047 // API call, and error handling. 6048 // 6049 // This method is useful when you want to inject custom logic or configuration 6050 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6051 // 6052 // 6053 // // Example sending a request using the UpdateAutoScalingGroupRequest method. 6054 // req, resp := client.UpdateAutoScalingGroupRequest(params) 6055 // 6056 // err := req.Send() 6057 // if err == nil { // resp is now filled 6058 // fmt.Println(resp) 6059 // } 6060 // 6061 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/UpdateAutoScalingGroup 6062 func (c *AutoScaling) UpdateAutoScalingGroupRequest(input *UpdateAutoScalingGroupInput) (req *request.Request, output *UpdateAutoScalingGroupOutput) { 6063 op := &request.Operation{ 6064 Name: opUpdateAutoScalingGroup, 6065 HTTPMethod: "POST", 6066 HTTPPath: "/", 6067 } 6068 6069 if input == nil { 6070 input = &UpdateAutoScalingGroupInput{} 6071 } 6072 6073 output = &UpdateAutoScalingGroupOutput{} 6074 req = c.newRequest(op, input, output) 6075 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 6076 return 6077 } 6078 6079 // UpdateAutoScalingGroup API operation for Auto Scaling. 6080 // 6081 // We strongly recommend that all Auto Scaling groups use launch templates to 6082 // ensure full functionality for Amazon EC2 Auto Scaling and Amazon EC2. 6083 // 6084 // Updates the configuration for the specified Auto Scaling group. 6085 // 6086 // To update an Auto Scaling group, specify the name of the group and the parameter 6087 // that you want to change. Any parameters that you don't specify are not changed 6088 // by this update request. The new settings take effect on any scaling activities 6089 // after this call returns. 6090 // 6091 // If you associate a new launch configuration or template with an Auto Scaling 6092 // group, all new instances will get the updated configuration. Existing instances 6093 // continue to run with the configuration that they were originally launched 6094 // with. When you update a group to specify a mixed instances policy instead 6095 // of a launch configuration or template, existing instances may be replaced 6096 // to match the new purchasing options that you specified in the policy. For 6097 // example, if the group currently has 100% On-Demand capacity and the policy 6098 // specifies 50% Spot capacity, this means that half of your instances will 6099 // be gradually terminated and relaunched as Spot Instances. When replacing 6100 // instances, Amazon EC2 Auto Scaling launches new instances before terminating 6101 // the old ones, so that updating your group does not compromise the performance 6102 // or availability of your application. 6103 // 6104 // Note the following about changing DesiredCapacity, MaxSize, or MinSize: 6105 // 6106 // * If a scale-in activity occurs as a result of a new DesiredCapacity value 6107 // that is lower than the current size of the group, the Auto Scaling group 6108 // uses its termination policy to determine which instances to terminate. 6109 // 6110 // * If you specify a new value for MinSize without specifying a value for 6111 // DesiredCapacity, and the new MinSize is larger than the current size of 6112 // the group, this sets the group's DesiredCapacity to the new MinSize value. 6113 // 6114 // * If you specify a new value for MaxSize without specifying a value for 6115 // DesiredCapacity, and the new MaxSize is smaller than the current size 6116 // of the group, this sets the group's DesiredCapacity to the new MaxSize 6117 // value. 6118 // 6119 // To see which parameters have been set, call the DescribeAutoScalingGroups 6120 // API. To view the scaling policies for an Auto Scaling group, call the DescribePolicies 6121 // API. If the group has scaling policies, you can update them by calling the 6122 // PutScalingPolicy API. 6123 // 6124 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6125 // with awserr.Error's Code and Message methods to get detailed information about 6126 // the error. 6127 // 6128 // See the AWS API reference guide for Auto Scaling's 6129 // API operation UpdateAutoScalingGroup for usage and error information. 6130 // 6131 // Returned Error Codes: 6132 // * ErrCodeScalingActivityInProgressFault "ScalingActivityInProgress" 6133 // The operation can't be performed because there are scaling activities in 6134 // progress. 6135 // 6136 // * ErrCodeResourceContentionFault "ResourceContention" 6137 // You already have a pending update to an Amazon EC2 Auto Scaling resource 6138 // (for example, an Auto Scaling group, instance, or load balancer). 6139 // 6140 // * ErrCodeServiceLinkedRoleFailure "ServiceLinkedRoleFailure" 6141 // The service-linked role is not yet ready for use. 6142 // 6143 // See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/UpdateAutoScalingGroup 6144 func (c *AutoScaling) UpdateAutoScalingGroup(input *UpdateAutoScalingGroupInput) (*UpdateAutoScalingGroupOutput, error) { 6145 req, out := c.UpdateAutoScalingGroupRequest(input) 6146 return out, req.Send() 6147 } 6148 6149 // UpdateAutoScalingGroupWithContext is the same as UpdateAutoScalingGroup with the addition of 6150 // the ability to pass a context and additional request options. 6151 // 6152 // See UpdateAutoScalingGroup for details on how to use this API operation. 6153 // 6154 // The context must be non-nil and will be used for request cancellation. If 6155 // the context is nil a panic will occur. In the future the SDK may create 6156 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6157 // for more information on using Contexts. 6158 func (c *AutoScaling) UpdateAutoScalingGroupWithContext(ctx aws.Context, input *UpdateAutoScalingGroupInput, opts ...request.Option) (*UpdateAutoScalingGroupOutput, error) { 6159 req, out := c.UpdateAutoScalingGroupRequest(input) 6160 req.SetContext(ctx) 6161 req.ApplyOptions(opts...) 6162 return out, req.Send() 6163 } 6164 6165 // Describes scaling activity, which is a long-running process that represents 6166 // a change to your Auto Scaling group, such as changing its size or replacing 6167 // an instance. 6168 type Activity struct { 6169 _ struct{} `type:"structure"` 6170 6171 // The ID of the activity. 6172 // 6173 // ActivityId is a required field 6174 ActivityId *string `type:"string" required:"true"` 6175 6176 // The Amazon Resource Name (ARN) of the Auto Scaling group. 6177 AutoScalingGroupARN *string `min:"1" type:"string"` 6178 6179 // The name of the Auto Scaling group. 6180 // 6181 // AutoScalingGroupName is a required field 6182 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 6183 6184 // The state of the Auto Scaling group, which is either InService or Deleted. 6185 AutoScalingGroupState *string `min:"1" type:"string"` 6186 6187 // The reason the activity began. 6188 // 6189 // Cause is a required field 6190 Cause *string `min:"1" type:"string" required:"true"` 6191 6192 // A friendly, more verbose description of the activity. 6193 Description *string `type:"string"` 6194 6195 // The details about the activity. 6196 Details *string `type:"string"` 6197 6198 // The end time of the activity. 6199 EndTime *time.Time `type:"timestamp"` 6200 6201 // A value between 0 and 100 that indicates the progress of the activity. 6202 Progress *int64 `type:"integer"` 6203 6204 // The start time of the activity. 6205 // 6206 // StartTime is a required field 6207 StartTime *time.Time `type:"timestamp" required:"true"` 6208 6209 // The current status of the activity. 6210 // 6211 // StatusCode is a required field 6212 StatusCode *string `type:"string" required:"true" enum:"ScalingActivityStatusCode"` 6213 6214 // A friendly, more verbose description of the activity status. 6215 StatusMessage *string `min:"1" type:"string"` 6216 } 6217 6218 // String returns the string representation. 6219 // 6220 // API parameter values that are decorated as "sensitive" in the API will not 6221 // be included in the string output. The member name will be present, but the 6222 // value will be replaced with "sensitive". 6223 func (s Activity) String() string { 6224 return awsutil.Prettify(s) 6225 } 6226 6227 // GoString returns the string representation. 6228 // 6229 // API parameter values that are decorated as "sensitive" in the API will not 6230 // be included in the string output. The member name will be present, but the 6231 // value will be replaced with "sensitive". 6232 func (s Activity) GoString() string { 6233 return s.String() 6234 } 6235 6236 // SetActivityId sets the ActivityId field's value. 6237 func (s *Activity) SetActivityId(v string) *Activity { 6238 s.ActivityId = &v 6239 return s 6240 } 6241 6242 // SetAutoScalingGroupARN sets the AutoScalingGroupARN field's value. 6243 func (s *Activity) SetAutoScalingGroupARN(v string) *Activity { 6244 s.AutoScalingGroupARN = &v 6245 return s 6246 } 6247 6248 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 6249 func (s *Activity) SetAutoScalingGroupName(v string) *Activity { 6250 s.AutoScalingGroupName = &v 6251 return s 6252 } 6253 6254 // SetAutoScalingGroupState sets the AutoScalingGroupState field's value. 6255 func (s *Activity) SetAutoScalingGroupState(v string) *Activity { 6256 s.AutoScalingGroupState = &v 6257 return s 6258 } 6259 6260 // SetCause sets the Cause field's value. 6261 func (s *Activity) SetCause(v string) *Activity { 6262 s.Cause = &v 6263 return s 6264 } 6265 6266 // SetDescription sets the Description field's value. 6267 func (s *Activity) SetDescription(v string) *Activity { 6268 s.Description = &v 6269 return s 6270 } 6271 6272 // SetDetails sets the Details field's value. 6273 func (s *Activity) SetDetails(v string) *Activity { 6274 s.Details = &v 6275 return s 6276 } 6277 6278 // SetEndTime sets the EndTime field's value. 6279 func (s *Activity) SetEndTime(v time.Time) *Activity { 6280 s.EndTime = &v 6281 return s 6282 } 6283 6284 // SetProgress sets the Progress field's value. 6285 func (s *Activity) SetProgress(v int64) *Activity { 6286 s.Progress = &v 6287 return s 6288 } 6289 6290 // SetStartTime sets the StartTime field's value. 6291 func (s *Activity) SetStartTime(v time.Time) *Activity { 6292 s.StartTime = &v 6293 return s 6294 } 6295 6296 // SetStatusCode sets the StatusCode field's value. 6297 func (s *Activity) SetStatusCode(v string) *Activity { 6298 s.StatusCode = &v 6299 return s 6300 } 6301 6302 // SetStatusMessage sets the StatusMessage field's value. 6303 func (s *Activity) SetStatusMessage(v string) *Activity { 6304 s.StatusMessage = &v 6305 return s 6306 } 6307 6308 // Describes a policy adjustment type. 6309 type AdjustmentType struct { 6310 _ struct{} `type:"structure"` 6311 6312 // The policy adjustment type. The valid values are ChangeInCapacity, ExactCapacity, 6313 // and PercentChangeInCapacity. 6314 AdjustmentType *string `min:"1" type:"string"` 6315 } 6316 6317 // String returns the string representation. 6318 // 6319 // API parameter values that are decorated as "sensitive" in the API will not 6320 // be included in the string output. The member name will be present, but the 6321 // value will be replaced with "sensitive". 6322 func (s AdjustmentType) String() string { 6323 return awsutil.Prettify(s) 6324 } 6325 6326 // GoString returns the string representation. 6327 // 6328 // API parameter values that are decorated as "sensitive" in the API will not 6329 // be included in the string output. The member name will be present, but the 6330 // value will be replaced with "sensitive". 6331 func (s AdjustmentType) GoString() string { 6332 return s.String() 6333 } 6334 6335 // SetAdjustmentType sets the AdjustmentType field's value. 6336 func (s *AdjustmentType) SetAdjustmentType(v string) *AdjustmentType { 6337 s.AdjustmentType = &v 6338 return s 6339 } 6340 6341 // Describes an alarm. 6342 type Alarm struct { 6343 _ struct{} `type:"structure"` 6344 6345 // The Amazon Resource Name (ARN) of the alarm. 6346 AlarmARN *string `min:"1" type:"string"` 6347 6348 // The name of the alarm. 6349 AlarmName *string `min:"1" type:"string"` 6350 } 6351 6352 // String returns the string representation. 6353 // 6354 // API parameter values that are decorated as "sensitive" in the API will not 6355 // be included in the string output. The member name will be present, but the 6356 // value will be replaced with "sensitive". 6357 func (s Alarm) String() string { 6358 return awsutil.Prettify(s) 6359 } 6360 6361 // GoString returns the string representation. 6362 // 6363 // API parameter values that are decorated as "sensitive" in the API will not 6364 // be included in the string output. The member name will be present, but the 6365 // value will be replaced with "sensitive". 6366 func (s Alarm) GoString() string { 6367 return s.String() 6368 } 6369 6370 // SetAlarmARN sets the AlarmARN field's value. 6371 func (s *Alarm) SetAlarmARN(v string) *Alarm { 6372 s.AlarmARN = &v 6373 return s 6374 } 6375 6376 // SetAlarmName sets the AlarmName field's value. 6377 func (s *Alarm) SetAlarmName(v string) *Alarm { 6378 s.AlarmName = &v 6379 return s 6380 } 6381 6382 type AttachInstancesInput struct { 6383 _ struct{} `type:"structure"` 6384 6385 // The name of the Auto Scaling group. 6386 // 6387 // AutoScalingGroupName is a required field 6388 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 6389 6390 // The IDs of the instances. You can specify up to 20 instances. 6391 InstanceIds []*string `type:"list"` 6392 } 6393 6394 // String returns the string representation. 6395 // 6396 // API parameter values that are decorated as "sensitive" in the API will not 6397 // be included in the string output. The member name will be present, but the 6398 // value will be replaced with "sensitive". 6399 func (s AttachInstancesInput) String() string { 6400 return awsutil.Prettify(s) 6401 } 6402 6403 // GoString returns the string representation. 6404 // 6405 // API parameter values that are decorated as "sensitive" in the API will not 6406 // be included in the string output. The member name will be present, but the 6407 // value will be replaced with "sensitive". 6408 func (s AttachInstancesInput) GoString() string { 6409 return s.String() 6410 } 6411 6412 // Validate inspects the fields of the type to determine if they are valid. 6413 func (s *AttachInstancesInput) Validate() error { 6414 invalidParams := request.ErrInvalidParams{Context: "AttachInstancesInput"} 6415 if s.AutoScalingGroupName == nil { 6416 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 6417 } 6418 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 6419 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 6420 } 6421 6422 if invalidParams.Len() > 0 { 6423 return invalidParams 6424 } 6425 return nil 6426 } 6427 6428 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 6429 func (s *AttachInstancesInput) SetAutoScalingGroupName(v string) *AttachInstancesInput { 6430 s.AutoScalingGroupName = &v 6431 return s 6432 } 6433 6434 // SetInstanceIds sets the InstanceIds field's value. 6435 func (s *AttachInstancesInput) SetInstanceIds(v []*string) *AttachInstancesInput { 6436 s.InstanceIds = v 6437 return s 6438 } 6439 6440 type AttachInstancesOutput struct { 6441 _ struct{} `type:"structure"` 6442 } 6443 6444 // String returns the string representation. 6445 // 6446 // API parameter values that are decorated as "sensitive" in the API will not 6447 // be included in the string output. The member name will be present, but the 6448 // value will be replaced with "sensitive". 6449 func (s AttachInstancesOutput) String() string { 6450 return awsutil.Prettify(s) 6451 } 6452 6453 // GoString returns the string representation. 6454 // 6455 // API parameter values that are decorated as "sensitive" in the API will not 6456 // be included in the string output. The member name will be present, but the 6457 // value will be replaced with "sensitive". 6458 func (s AttachInstancesOutput) GoString() string { 6459 return s.String() 6460 } 6461 6462 type AttachLoadBalancerTargetGroupsInput struct { 6463 _ struct{} `type:"structure"` 6464 6465 // The name of the Auto Scaling group. 6466 // 6467 // AutoScalingGroupName is a required field 6468 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 6469 6470 // The Amazon Resource Names (ARN) of the target groups. You can specify up 6471 // to 10 target groups. To get the ARN of a target group, use the Elastic Load 6472 // Balancing DescribeTargetGroups (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) 6473 // API operation. 6474 // 6475 // TargetGroupARNs is a required field 6476 TargetGroupARNs []*string `type:"list" required:"true"` 6477 } 6478 6479 // String returns the string representation. 6480 // 6481 // API parameter values that are decorated as "sensitive" in the API will not 6482 // be included in the string output. The member name will be present, but the 6483 // value will be replaced with "sensitive". 6484 func (s AttachLoadBalancerTargetGroupsInput) String() string { 6485 return awsutil.Prettify(s) 6486 } 6487 6488 // GoString returns the string representation. 6489 // 6490 // API parameter values that are decorated as "sensitive" in the API will not 6491 // be included in the string output. The member name will be present, but the 6492 // value will be replaced with "sensitive". 6493 func (s AttachLoadBalancerTargetGroupsInput) GoString() string { 6494 return s.String() 6495 } 6496 6497 // Validate inspects the fields of the type to determine if they are valid. 6498 func (s *AttachLoadBalancerTargetGroupsInput) Validate() error { 6499 invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancerTargetGroupsInput"} 6500 if s.AutoScalingGroupName == nil { 6501 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 6502 } 6503 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 6504 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 6505 } 6506 if s.TargetGroupARNs == nil { 6507 invalidParams.Add(request.NewErrParamRequired("TargetGroupARNs")) 6508 } 6509 6510 if invalidParams.Len() > 0 { 6511 return invalidParams 6512 } 6513 return nil 6514 } 6515 6516 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 6517 func (s *AttachLoadBalancerTargetGroupsInput) SetAutoScalingGroupName(v string) *AttachLoadBalancerTargetGroupsInput { 6518 s.AutoScalingGroupName = &v 6519 return s 6520 } 6521 6522 // SetTargetGroupARNs sets the TargetGroupARNs field's value. 6523 func (s *AttachLoadBalancerTargetGroupsInput) SetTargetGroupARNs(v []*string) *AttachLoadBalancerTargetGroupsInput { 6524 s.TargetGroupARNs = v 6525 return s 6526 } 6527 6528 type AttachLoadBalancerTargetGroupsOutput struct { 6529 _ struct{} `type:"structure"` 6530 } 6531 6532 // String returns the string representation. 6533 // 6534 // API parameter values that are decorated as "sensitive" in the API will not 6535 // be included in the string output. The member name will be present, but the 6536 // value will be replaced with "sensitive". 6537 func (s AttachLoadBalancerTargetGroupsOutput) String() string { 6538 return awsutil.Prettify(s) 6539 } 6540 6541 // GoString returns the string representation. 6542 // 6543 // API parameter values that are decorated as "sensitive" in the API will not 6544 // be included in the string output. The member name will be present, but the 6545 // value will be replaced with "sensitive". 6546 func (s AttachLoadBalancerTargetGroupsOutput) GoString() string { 6547 return s.String() 6548 } 6549 6550 type AttachLoadBalancersInput struct { 6551 _ struct{} `type:"structure"` 6552 6553 // The name of the Auto Scaling group. 6554 // 6555 // AutoScalingGroupName is a required field 6556 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 6557 6558 // The names of the load balancers. You can specify up to 10 load balancers. 6559 // 6560 // LoadBalancerNames is a required field 6561 LoadBalancerNames []*string `type:"list" required:"true"` 6562 } 6563 6564 // String returns the string representation. 6565 // 6566 // API parameter values that are decorated as "sensitive" in the API will not 6567 // be included in the string output. The member name will be present, but the 6568 // value will be replaced with "sensitive". 6569 func (s AttachLoadBalancersInput) String() string { 6570 return awsutil.Prettify(s) 6571 } 6572 6573 // GoString returns the string representation. 6574 // 6575 // API parameter values that are decorated as "sensitive" in the API will not 6576 // be included in the string output. The member name will be present, but the 6577 // value will be replaced with "sensitive". 6578 func (s AttachLoadBalancersInput) GoString() string { 6579 return s.String() 6580 } 6581 6582 // Validate inspects the fields of the type to determine if they are valid. 6583 func (s *AttachLoadBalancersInput) Validate() error { 6584 invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancersInput"} 6585 if s.AutoScalingGroupName == nil { 6586 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 6587 } 6588 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 6589 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 6590 } 6591 if s.LoadBalancerNames == nil { 6592 invalidParams.Add(request.NewErrParamRequired("LoadBalancerNames")) 6593 } 6594 6595 if invalidParams.Len() > 0 { 6596 return invalidParams 6597 } 6598 return nil 6599 } 6600 6601 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 6602 func (s *AttachLoadBalancersInput) SetAutoScalingGroupName(v string) *AttachLoadBalancersInput { 6603 s.AutoScalingGroupName = &v 6604 return s 6605 } 6606 6607 // SetLoadBalancerNames sets the LoadBalancerNames field's value. 6608 func (s *AttachLoadBalancersInput) SetLoadBalancerNames(v []*string) *AttachLoadBalancersInput { 6609 s.LoadBalancerNames = v 6610 return s 6611 } 6612 6613 type AttachLoadBalancersOutput struct { 6614 _ struct{} `type:"structure"` 6615 } 6616 6617 // String returns the string representation. 6618 // 6619 // API parameter values that are decorated as "sensitive" in the API will not 6620 // be included in the string output. The member name will be present, but the 6621 // value will be replaced with "sensitive". 6622 func (s AttachLoadBalancersOutput) String() string { 6623 return awsutil.Prettify(s) 6624 } 6625 6626 // GoString returns the string representation. 6627 // 6628 // API parameter values that are decorated as "sensitive" in the API will not 6629 // be included in the string output. The member name will be present, but the 6630 // value will be replaced with "sensitive". 6631 func (s AttachLoadBalancersOutput) GoString() string { 6632 return s.String() 6633 } 6634 6635 type BatchDeleteScheduledActionInput struct { 6636 _ struct{} `type:"structure"` 6637 6638 // The name of the Auto Scaling group. 6639 // 6640 // AutoScalingGroupName is a required field 6641 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 6642 6643 // The names of the scheduled actions to delete. The maximum number allowed 6644 // is 50. 6645 // 6646 // ScheduledActionNames is a required field 6647 ScheduledActionNames []*string `type:"list" required:"true"` 6648 } 6649 6650 // String returns the string representation. 6651 // 6652 // API parameter values that are decorated as "sensitive" in the API will not 6653 // be included in the string output. The member name will be present, but the 6654 // value will be replaced with "sensitive". 6655 func (s BatchDeleteScheduledActionInput) String() string { 6656 return awsutil.Prettify(s) 6657 } 6658 6659 // GoString returns the string representation. 6660 // 6661 // API parameter values that are decorated as "sensitive" in the API will not 6662 // be included in the string output. The member name will be present, but the 6663 // value will be replaced with "sensitive". 6664 func (s BatchDeleteScheduledActionInput) GoString() string { 6665 return s.String() 6666 } 6667 6668 // Validate inspects the fields of the type to determine if they are valid. 6669 func (s *BatchDeleteScheduledActionInput) Validate() error { 6670 invalidParams := request.ErrInvalidParams{Context: "BatchDeleteScheduledActionInput"} 6671 if s.AutoScalingGroupName == nil { 6672 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 6673 } 6674 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 6675 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 6676 } 6677 if s.ScheduledActionNames == nil { 6678 invalidParams.Add(request.NewErrParamRequired("ScheduledActionNames")) 6679 } 6680 6681 if invalidParams.Len() > 0 { 6682 return invalidParams 6683 } 6684 return nil 6685 } 6686 6687 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 6688 func (s *BatchDeleteScheduledActionInput) SetAutoScalingGroupName(v string) *BatchDeleteScheduledActionInput { 6689 s.AutoScalingGroupName = &v 6690 return s 6691 } 6692 6693 // SetScheduledActionNames sets the ScheduledActionNames field's value. 6694 func (s *BatchDeleteScheduledActionInput) SetScheduledActionNames(v []*string) *BatchDeleteScheduledActionInput { 6695 s.ScheduledActionNames = v 6696 return s 6697 } 6698 6699 type BatchDeleteScheduledActionOutput struct { 6700 _ struct{} `type:"structure"` 6701 6702 // The names of the scheduled actions that could not be deleted, including an 6703 // error message. 6704 FailedScheduledActions []*FailedScheduledUpdateGroupActionRequest `type:"list"` 6705 } 6706 6707 // String returns the string representation. 6708 // 6709 // API parameter values that are decorated as "sensitive" in the API will not 6710 // be included in the string output. The member name will be present, but the 6711 // value will be replaced with "sensitive". 6712 func (s BatchDeleteScheduledActionOutput) String() string { 6713 return awsutil.Prettify(s) 6714 } 6715 6716 // GoString returns the string representation. 6717 // 6718 // API parameter values that are decorated as "sensitive" in the API will not 6719 // be included in the string output. The member name will be present, but the 6720 // value will be replaced with "sensitive". 6721 func (s BatchDeleteScheduledActionOutput) GoString() string { 6722 return s.String() 6723 } 6724 6725 // SetFailedScheduledActions sets the FailedScheduledActions field's value. 6726 func (s *BatchDeleteScheduledActionOutput) SetFailedScheduledActions(v []*FailedScheduledUpdateGroupActionRequest) *BatchDeleteScheduledActionOutput { 6727 s.FailedScheduledActions = v 6728 return s 6729 } 6730 6731 type BatchPutScheduledUpdateGroupActionInput struct { 6732 _ struct{} `type:"structure"` 6733 6734 // The name of the Auto Scaling group. 6735 // 6736 // AutoScalingGroupName is a required field 6737 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 6738 6739 // One or more scheduled actions. The maximum number allowed is 50. 6740 // 6741 // ScheduledUpdateGroupActions is a required field 6742 ScheduledUpdateGroupActions []*ScheduledUpdateGroupActionRequest `type:"list" required:"true"` 6743 } 6744 6745 // String returns the string representation. 6746 // 6747 // API parameter values that are decorated as "sensitive" in the API will not 6748 // be included in the string output. The member name will be present, but the 6749 // value will be replaced with "sensitive". 6750 func (s BatchPutScheduledUpdateGroupActionInput) String() string { 6751 return awsutil.Prettify(s) 6752 } 6753 6754 // GoString returns the string representation. 6755 // 6756 // API parameter values that are decorated as "sensitive" in the API will not 6757 // be included in the string output. The member name will be present, but the 6758 // value will be replaced with "sensitive". 6759 func (s BatchPutScheduledUpdateGroupActionInput) GoString() string { 6760 return s.String() 6761 } 6762 6763 // Validate inspects the fields of the type to determine if they are valid. 6764 func (s *BatchPutScheduledUpdateGroupActionInput) Validate() error { 6765 invalidParams := request.ErrInvalidParams{Context: "BatchPutScheduledUpdateGroupActionInput"} 6766 if s.AutoScalingGroupName == nil { 6767 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 6768 } 6769 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 6770 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 6771 } 6772 if s.ScheduledUpdateGroupActions == nil { 6773 invalidParams.Add(request.NewErrParamRequired("ScheduledUpdateGroupActions")) 6774 } 6775 if s.ScheduledUpdateGroupActions != nil { 6776 for i, v := range s.ScheduledUpdateGroupActions { 6777 if v == nil { 6778 continue 6779 } 6780 if err := v.Validate(); err != nil { 6781 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScheduledUpdateGroupActions", i), err.(request.ErrInvalidParams)) 6782 } 6783 } 6784 } 6785 6786 if invalidParams.Len() > 0 { 6787 return invalidParams 6788 } 6789 return nil 6790 } 6791 6792 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 6793 func (s *BatchPutScheduledUpdateGroupActionInput) SetAutoScalingGroupName(v string) *BatchPutScheduledUpdateGroupActionInput { 6794 s.AutoScalingGroupName = &v 6795 return s 6796 } 6797 6798 // SetScheduledUpdateGroupActions sets the ScheduledUpdateGroupActions field's value. 6799 func (s *BatchPutScheduledUpdateGroupActionInput) SetScheduledUpdateGroupActions(v []*ScheduledUpdateGroupActionRequest) *BatchPutScheduledUpdateGroupActionInput { 6800 s.ScheduledUpdateGroupActions = v 6801 return s 6802 } 6803 6804 type BatchPutScheduledUpdateGroupActionOutput struct { 6805 _ struct{} `type:"structure"` 6806 6807 // The names of the scheduled actions that could not be created or updated, 6808 // including an error message. 6809 FailedScheduledUpdateGroupActions []*FailedScheduledUpdateGroupActionRequest `type:"list"` 6810 } 6811 6812 // String returns the string representation. 6813 // 6814 // API parameter values that are decorated as "sensitive" in the API will not 6815 // be included in the string output. The member name will be present, but the 6816 // value will be replaced with "sensitive". 6817 func (s BatchPutScheduledUpdateGroupActionOutput) String() string { 6818 return awsutil.Prettify(s) 6819 } 6820 6821 // GoString returns the string representation. 6822 // 6823 // API parameter values that are decorated as "sensitive" in the API will not 6824 // be included in the string output. The member name will be present, but the 6825 // value will be replaced with "sensitive". 6826 func (s BatchPutScheduledUpdateGroupActionOutput) GoString() string { 6827 return s.String() 6828 } 6829 6830 // SetFailedScheduledUpdateGroupActions sets the FailedScheduledUpdateGroupActions field's value. 6831 func (s *BatchPutScheduledUpdateGroupActionOutput) SetFailedScheduledUpdateGroupActions(v []*FailedScheduledUpdateGroupActionRequest) *BatchPutScheduledUpdateGroupActionOutput { 6832 s.FailedScheduledUpdateGroupActions = v 6833 return s 6834 } 6835 6836 // Describes a block device mapping. 6837 type BlockDeviceMapping struct { 6838 _ struct{} `type:"structure"` 6839 6840 // The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh). 6841 // For more information, see Device Naming on Linux Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html) 6842 // in the Amazon EC2 User Guide for Linux Instances. 6843 // 6844 // DeviceName is a required field 6845 DeviceName *string `min:"1" type:"string" required:"true"` 6846 6847 // Parameters used to automatically set up EBS volumes when an instance is launched. 6848 // 6849 // You can specify either VirtualName or Ebs, but not both. 6850 Ebs *Ebs `type:"structure"` 6851 6852 // Setting this value to true suppresses the specified device included in the 6853 // block device mapping of the AMI. 6854 // 6855 // If NoDevice is true for the root device, instances might fail the EC2 health 6856 // check. In that case, Amazon EC2 Auto Scaling launches replacement instances. 6857 // 6858 // If you specify NoDevice, you cannot specify Ebs. 6859 NoDevice *bool `type:"boolean"` 6860 6861 // The name of the virtual device (for example, ephemeral0). 6862 // 6863 // You can specify either VirtualName or Ebs, but not both. 6864 VirtualName *string `min:"1" type:"string"` 6865 } 6866 6867 // String returns the string representation. 6868 // 6869 // API parameter values that are decorated as "sensitive" in the API will not 6870 // be included in the string output. The member name will be present, but the 6871 // value will be replaced with "sensitive". 6872 func (s BlockDeviceMapping) String() string { 6873 return awsutil.Prettify(s) 6874 } 6875 6876 // GoString returns the string representation. 6877 // 6878 // API parameter values that are decorated as "sensitive" in the API will not 6879 // be included in the string output. The member name will be present, but the 6880 // value will be replaced with "sensitive". 6881 func (s BlockDeviceMapping) GoString() string { 6882 return s.String() 6883 } 6884 6885 // Validate inspects the fields of the type to determine if they are valid. 6886 func (s *BlockDeviceMapping) Validate() error { 6887 invalidParams := request.ErrInvalidParams{Context: "BlockDeviceMapping"} 6888 if s.DeviceName == nil { 6889 invalidParams.Add(request.NewErrParamRequired("DeviceName")) 6890 } 6891 if s.DeviceName != nil && len(*s.DeviceName) < 1 { 6892 invalidParams.Add(request.NewErrParamMinLen("DeviceName", 1)) 6893 } 6894 if s.VirtualName != nil && len(*s.VirtualName) < 1 { 6895 invalidParams.Add(request.NewErrParamMinLen("VirtualName", 1)) 6896 } 6897 if s.Ebs != nil { 6898 if err := s.Ebs.Validate(); err != nil { 6899 invalidParams.AddNested("Ebs", err.(request.ErrInvalidParams)) 6900 } 6901 } 6902 6903 if invalidParams.Len() > 0 { 6904 return invalidParams 6905 } 6906 return nil 6907 } 6908 6909 // SetDeviceName sets the DeviceName field's value. 6910 func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping { 6911 s.DeviceName = &v 6912 return s 6913 } 6914 6915 // SetEbs sets the Ebs field's value. 6916 func (s *BlockDeviceMapping) SetEbs(v *Ebs) *BlockDeviceMapping { 6917 s.Ebs = v 6918 return s 6919 } 6920 6921 // SetNoDevice sets the NoDevice field's value. 6922 func (s *BlockDeviceMapping) SetNoDevice(v bool) *BlockDeviceMapping { 6923 s.NoDevice = &v 6924 return s 6925 } 6926 6927 // SetVirtualName sets the VirtualName field's value. 6928 func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping { 6929 s.VirtualName = &v 6930 return s 6931 } 6932 6933 type CancelInstanceRefreshInput struct { 6934 _ struct{} `type:"structure"` 6935 6936 // The name of the Auto Scaling group. 6937 // 6938 // AutoScalingGroupName is a required field 6939 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 6940 } 6941 6942 // String returns the string representation. 6943 // 6944 // API parameter values that are decorated as "sensitive" in the API will not 6945 // be included in the string output. The member name will be present, but the 6946 // value will be replaced with "sensitive". 6947 func (s CancelInstanceRefreshInput) String() string { 6948 return awsutil.Prettify(s) 6949 } 6950 6951 // GoString returns the string representation. 6952 // 6953 // API parameter values that are decorated as "sensitive" in the API will not 6954 // be included in the string output. The member name will be present, but the 6955 // value will be replaced with "sensitive". 6956 func (s CancelInstanceRefreshInput) GoString() string { 6957 return s.String() 6958 } 6959 6960 // Validate inspects the fields of the type to determine if they are valid. 6961 func (s *CancelInstanceRefreshInput) Validate() error { 6962 invalidParams := request.ErrInvalidParams{Context: "CancelInstanceRefreshInput"} 6963 if s.AutoScalingGroupName == nil { 6964 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 6965 } 6966 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 6967 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 6968 } 6969 6970 if invalidParams.Len() > 0 { 6971 return invalidParams 6972 } 6973 return nil 6974 } 6975 6976 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 6977 func (s *CancelInstanceRefreshInput) SetAutoScalingGroupName(v string) *CancelInstanceRefreshInput { 6978 s.AutoScalingGroupName = &v 6979 return s 6980 } 6981 6982 type CancelInstanceRefreshOutput struct { 6983 _ struct{} `type:"structure"` 6984 6985 // The instance refresh ID. 6986 InstanceRefreshId *string `min:"1" type:"string"` 6987 } 6988 6989 // String returns the string representation. 6990 // 6991 // API parameter values that are decorated as "sensitive" in the API will not 6992 // be included in the string output. The member name will be present, but the 6993 // value will be replaced with "sensitive". 6994 func (s CancelInstanceRefreshOutput) String() string { 6995 return awsutil.Prettify(s) 6996 } 6997 6998 // GoString returns the string representation. 6999 // 7000 // API parameter values that are decorated as "sensitive" in the API will not 7001 // be included in the string output. The member name will be present, but the 7002 // value will be replaced with "sensitive". 7003 func (s CancelInstanceRefreshOutput) GoString() string { 7004 return s.String() 7005 } 7006 7007 // SetInstanceRefreshId sets the InstanceRefreshId field's value. 7008 func (s *CancelInstanceRefreshOutput) SetInstanceRefreshId(v string) *CancelInstanceRefreshOutput { 7009 s.InstanceRefreshId = &v 7010 return s 7011 } 7012 7013 // A GetPredictiveScalingForecast call returns the capacity forecast for a predictive 7014 // scaling policy. This structure includes the data points for that capacity 7015 // forecast, along with the timestamps of those data points. 7016 type CapacityForecast struct { 7017 _ struct{} `type:"structure"` 7018 7019 // The time stamps for the data points, in UTC format. 7020 // 7021 // Timestamps is a required field 7022 Timestamps []*time.Time `type:"list" required:"true"` 7023 7024 // The values of the data points. 7025 // 7026 // Values is a required field 7027 Values []*float64 `type:"list" required:"true"` 7028 } 7029 7030 // String returns the string representation. 7031 // 7032 // API parameter values that are decorated as "sensitive" in the API will not 7033 // be included in the string output. The member name will be present, but the 7034 // value will be replaced with "sensitive". 7035 func (s CapacityForecast) String() string { 7036 return awsutil.Prettify(s) 7037 } 7038 7039 // GoString returns the string representation. 7040 // 7041 // API parameter values that are decorated as "sensitive" in the API will not 7042 // be included in the string output. The member name will be present, but the 7043 // value will be replaced with "sensitive". 7044 func (s CapacityForecast) GoString() string { 7045 return s.String() 7046 } 7047 7048 // SetTimestamps sets the Timestamps field's value. 7049 func (s *CapacityForecast) SetTimestamps(v []*time.Time) *CapacityForecast { 7050 s.Timestamps = v 7051 return s 7052 } 7053 7054 // SetValues sets the Values field's value. 7055 func (s *CapacityForecast) SetValues(v []*float64) *CapacityForecast { 7056 s.Values = v 7057 return s 7058 } 7059 7060 type CompleteLifecycleActionInput struct { 7061 _ struct{} `type:"structure"` 7062 7063 // The name of the Auto Scaling group. 7064 // 7065 // AutoScalingGroupName is a required field 7066 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 7067 7068 // The ID of the instance. 7069 InstanceId *string `min:"1" type:"string"` 7070 7071 // The action for the group to take. This parameter can be either CONTINUE or 7072 // ABANDON. 7073 // 7074 // LifecycleActionResult is a required field 7075 LifecycleActionResult *string `type:"string" required:"true"` 7076 7077 // A universally unique identifier (UUID) that identifies a specific lifecycle 7078 // action associated with an instance. Amazon EC2 Auto Scaling sends this token 7079 // to the notification target you specified when you created the lifecycle hook. 7080 LifecycleActionToken *string `min:"36" type:"string"` 7081 7082 // The name of the lifecycle hook. 7083 // 7084 // LifecycleHookName is a required field 7085 LifecycleHookName *string `min:"1" type:"string" required:"true"` 7086 } 7087 7088 // String returns the string representation. 7089 // 7090 // API parameter values that are decorated as "sensitive" in the API will not 7091 // be included in the string output. The member name will be present, but the 7092 // value will be replaced with "sensitive". 7093 func (s CompleteLifecycleActionInput) String() string { 7094 return awsutil.Prettify(s) 7095 } 7096 7097 // GoString returns the string representation. 7098 // 7099 // API parameter values that are decorated as "sensitive" in the API will not 7100 // be included in the string output. The member name will be present, but the 7101 // value will be replaced with "sensitive". 7102 func (s CompleteLifecycleActionInput) GoString() string { 7103 return s.String() 7104 } 7105 7106 // Validate inspects the fields of the type to determine if they are valid. 7107 func (s *CompleteLifecycleActionInput) Validate() error { 7108 invalidParams := request.ErrInvalidParams{Context: "CompleteLifecycleActionInput"} 7109 if s.AutoScalingGroupName == nil { 7110 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 7111 } 7112 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 7113 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 7114 } 7115 if s.InstanceId != nil && len(*s.InstanceId) < 1 { 7116 invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) 7117 } 7118 if s.LifecycleActionResult == nil { 7119 invalidParams.Add(request.NewErrParamRequired("LifecycleActionResult")) 7120 } 7121 if s.LifecycleActionToken != nil && len(*s.LifecycleActionToken) < 36 { 7122 invalidParams.Add(request.NewErrParamMinLen("LifecycleActionToken", 36)) 7123 } 7124 if s.LifecycleHookName == nil { 7125 invalidParams.Add(request.NewErrParamRequired("LifecycleHookName")) 7126 } 7127 if s.LifecycleHookName != nil && len(*s.LifecycleHookName) < 1 { 7128 invalidParams.Add(request.NewErrParamMinLen("LifecycleHookName", 1)) 7129 } 7130 7131 if invalidParams.Len() > 0 { 7132 return invalidParams 7133 } 7134 return nil 7135 } 7136 7137 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 7138 func (s *CompleteLifecycleActionInput) SetAutoScalingGroupName(v string) *CompleteLifecycleActionInput { 7139 s.AutoScalingGroupName = &v 7140 return s 7141 } 7142 7143 // SetInstanceId sets the InstanceId field's value. 7144 func (s *CompleteLifecycleActionInput) SetInstanceId(v string) *CompleteLifecycleActionInput { 7145 s.InstanceId = &v 7146 return s 7147 } 7148 7149 // SetLifecycleActionResult sets the LifecycleActionResult field's value. 7150 func (s *CompleteLifecycleActionInput) SetLifecycleActionResult(v string) *CompleteLifecycleActionInput { 7151 s.LifecycleActionResult = &v 7152 return s 7153 } 7154 7155 // SetLifecycleActionToken sets the LifecycleActionToken field's value. 7156 func (s *CompleteLifecycleActionInput) SetLifecycleActionToken(v string) *CompleteLifecycleActionInput { 7157 s.LifecycleActionToken = &v 7158 return s 7159 } 7160 7161 // SetLifecycleHookName sets the LifecycleHookName field's value. 7162 func (s *CompleteLifecycleActionInput) SetLifecycleHookName(v string) *CompleteLifecycleActionInput { 7163 s.LifecycleHookName = &v 7164 return s 7165 } 7166 7167 type CompleteLifecycleActionOutput struct { 7168 _ struct{} `type:"structure"` 7169 } 7170 7171 // String returns the string representation. 7172 // 7173 // API parameter values that are decorated as "sensitive" in the API will not 7174 // be included in the string output. The member name will be present, but the 7175 // value will be replaced with "sensitive". 7176 func (s CompleteLifecycleActionOutput) String() string { 7177 return awsutil.Prettify(s) 7178 } 7179 7180 // GoString returns the string representation. 7181 // 7182 // API parameter values that are decorated as "sensitive" in the API will not 7183 // be included in the string output. The member name will be present, but the 7184 // value will be replaced with "sensitive". 7185 func (s CompleteLifecycleActionOutput) GoString() string { 7186 return s.String() 7187 } 7188 7189 type CreateAutoScalingGroupInput struct { 7190 _ struct{} `type:"structure"` 7191 7192 // The name of the Auto Scaling group. This name must be unique per Region per 7193 // account. 7194 // 7195 // AutoScalingGroupName is a required field 7196 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 7197 7198 // A list of Availability Zones where instances in the Auto Scaling group can 7199 // be created. This parameter is optional if you specify one or more subnets 7200 // for VPCZoneIdentifier. 7201 // 7202 // Conditional: If your account supports EC2-Classic and VPC, this parameter 7203 // is required to launch instances into EC2-Classic. 7204 AvailabilityZones []*string `type:"list"` 7205 7206 // Indicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing 7207 // is disabled. When you turn on Capacity Rebalancing, Amazon EC2 Auto Scaling 7208 // attempts to launch a Spot Instance whenever Amazon EC2 notifies that a Spot 7209 // Instance is at an elevated risk of interruption. After launching a new instance, 7210 // it then terminates an old instance. For more information, see Amazon EC2 7211 // Auto Scaling Capacity Rebalancing (https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html) 7212 // in the Amazon EC2 Auto Scaling User Guide. 7213 CapacityRebalance *bool `type:"boolean"` 7214 7215 // Reserved. 7216 Context *string `type:"string"` 7217 7218 // The amount of time, in seconds, after a scaling activity completes before 7219 // another scaling activity can start. The default value is 300. This setting 7220 // applies when using simple scaling policies, but not when using other scaling 7221 // policies or scheduled scaling. For more information, see Scaling cooldowns 7222 // for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html) 7223 // in the Amazon EC2 Auto Scaling User Guide. 7224 DefaultCooldown *int64 `type:"integer"` 7225 7226 // The desired capacity is the initial capacity of the Auto Scaling group at 7227 // the time of its creation and the capacity it attempts to maintain. It can 7228 // scale beyond this capacity if you configure auto scaling. This number must 7229 // be greater than or equal to the minimum size of the group and less than or 7230 // equal to the maximum size of the group. If you do not specify a desired capacity, 7231 // the default is the minimum size of the group. 7232 DesiredCapacity *int64 `type:"integer"` 7233 7234 // The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before 7235 // checking the health status of an EC2 instance that has come into service. 7236 // During this time, any health check failures for the instance are ignored. 7237 // The default value is 0. For more information, see Health check grace period 7238 // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html#health-check-grace-period) 7239 // in the Amazon EC2 Auto Scaling User Guide. 7240 // 7241 // Conditional: Required if you are adding an ELB health check. 7242 HealthCheckGracePeriod *int64 `type:"integer"` 7243 7244 // The service to use for the health checks. The valid values are EC2 (default) 7245 // and ELB. If you configure an Auto Scaling group to use load balancer (ELB) 7246 // health checks, it considers the instance unhealthy if it fails either the 7247 // EC2 status checks or the load balancer health checks. For more information, 7248 // see Health checks for Auto Scaling instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html) 7249 // in the Amazon EC2 Auto Scaling User Guide. 7250 HealthCheckType *string `min:"1" type:"string"` 7251 7252 // The ID of the instance used to base the launch configuration on. If specified, 7253 // Amazon EC2 Auto Scaling uses the configuration values from the specified 7254 // instance to create a new launch configuration. To get the instance ID, use 7255 // the Amazon EC2 DescribeInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html) 7256 // API operation. For more information, see Creating an Auto Scaling group using 7257 // an EC2 instance (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-from-instance.html) 7258 // in the Amazon EC2 Auto Scaling User Guide. 7259 InstanceId *string `min:"1" type:"string"` 7260 7261 // The name of the launch configuration to use to launch instances. 7262 // 7263 // Conditional: You must specify either a launch template (LaunchTemplate or 7264 // MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName 7265 // or InstanceId). 7266 LaunchConfigurationName *string `min:"1" type:"string"` 7267 7268 // Parameters used to specify the launch template and version to use to launch 7269 // instances. 7270 // 7271 // Conditional: You must specify either a launch template (LaunchTemplate or 7272 // MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName 7273 // or InstanceId). 7274 // 7275 // The launch template that is specified must be configured for use with an 7276 // Auto Scaling group. For more information, see Creating a launch template 7277 // for an Auto Scaling group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html) 7278 // in the Amazon EC2 Auto Scaling User Guide. 7279 LaunchTemplate *LaunchTemplateSpecification `type:"structure"` 7280 7281 // One or more lifecycle hooks for the group, which specify actions to perform 7282 // when Amazon EC2 Auto Scaling launches or terminates instances. 7283 LifecycleHookSpecificationList []*LifecycleHookSpecification `type:"list"` 7284 7285 // A list of Classic Load Balancers associated with this Auto Scaling group. 7286 // For Application Load Balancers, Network Load Balancers, and Gateway Load 7287 // Balancers, specify the TargetGroupARNs property instead. 7288 LoadBalancerNames []*string `type:"list"` 7289 7290 // The maximum amount of time, in seconds, that an instance can be in service. 7291 // The default is null. If specified, the value must be either 0 or a number 7292 // equal to or greater than 86,400 seconds (1 day). For more information, see 7293 // Replacing Auto Scaling instances based on maximum instance lifetime (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html) 7294 // in the Amazon EC2 Auto Scaling User Guide. 7295 MaxInstanceLifetime *int64 `type:"integer"` 7296 7297 // The maximum size of the group. 7298 // 7299 // With a mixed instances policy that uses instance weighting, Amazon EC2 Auto 7300 // Scaling may need to go above MaxSize to meet your capacity requirements. 7301 // In this event, Amazon EC2 Auto Scaling will never go above MaxSize by more 7302 // than your largest instance weight (weights that define how many units each 7303 // instance contributes to the desired capacity of the group). 7304 // 7305 // MaxSize is a required field 7306 MaxSize *int64 `type:"integer" required:"true"` 7307 7308 // The minimum size of the group. 7309 // 7310 // MinSize is a required field 7311 MinSize *int64 `type:"integer" required:"true"` 7312 7313 // An embedded object that specifies a mixed instances policy. The required 7314 // properties must be specified. If optional properties are unspecified, their 7315 // default values are used. 7316 // 7317 // The policy includes properties that not only define the distribution of On-Demand 7318 // Instances and Spot Instances, the maximum price to pay for Spot Instances, 7319 // and how the Auto Scaling group allocates instance types to fulfill On-Demand 7320 // and Spot capacities, but also the properties that specify the instance configuration 7321 // information—the launch template and instance types. The policy can also 7322 // include a weight for each instance type and different launch templates for 7323 // individual instance types. For more information, see Auto Scaling groups 7324 // with multiple instance types and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html) 7325 // in the Amazon EC2 Auto Scaling User Guide. 7326 MixedInstancesPolicy *MixedInstancesPolicy `type:"structure"` 7327 7328 // Indicates whether newly launched instances are protected from termination 7329 // by Amazon EC2 Auto Scaling when scaling in. For more information about preventing 7330 // instances from terminating on scale in, see Instance scale-in protection 7331 // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) 7332 // in the Amazon EC2 Auto Scaling User Guide. 7333 NewInstancesProtectedFromScaleIn *bool `type:"boolean"` 7334 7335 // The name of an existing placement group into which to launch your instances, 7336 // if any. A placement group is a logical grouping of instances within a single 7337 // Availability Zone. You cannot specify multiple Availability Zones and a placement 7338 // group. For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 7339 // in the Amazon EC2 User Guide for Linux Instances. 7340 PlacementGroup *string `min:"1" type:"string"` 7341 7342 // The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling 7343 // group uses to call other Amazon Web Services on your behalf. By default, 7344 // Amazon EC2 Auto Scaling uses a service-linked role named AWSServiceRoleForAutoScaling, 7345 // which it creates if it does not exist. For more information, see Service-linked 7346 // roles (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html) 7347 // in the Amazon EC2 Auto Scaling User Guide. 7348 ServiceLinkedRoleARN *string `min:"1" type:"string"` 7349 7350 // One or more tags. You can tag your Auto Scaling group and propagate the tags 7351 // to the Amazon EC2 instances it launches. Tags are not propagated to Amazon 7352 // EBS volumes. To add tags to Amazon EBS volumes, specify the tags in a launch 7353 // template but use caution. If the launch template specifies an instance tag 7354 // with a key that is also specified for the Auto Scaling group, Amazon EC2 7355 // Auto Scaling overrides the value of that instance tag with the value specified 7356 // by the Auto Scaling group. For more information, see Tagging Auto Scaling 7357 // groups and instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html) 7358 // in the Amazon EC2 Auto Scaling User Guide. 7359 Tags []*Tag `type:"list"` 7360 7361 // The Amazon Resource Names (ARN) of the target groups to associate with the 7362 // Auto Scaling group. Instances are registered as targets in a target group, 7363 // and traffic is routed to the target group. For more information, see Elastic 7364 // Load Balancing and Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) 7365 // in the Amazon EC2 Auto Scaling User Guide. 7366 TargetGroupARNs []*string `type:"list"` 7367 7368 // A policy or a list of policies that are used to select the instance to terminate. 7369 // These policies are executed in the order that you list them. For more information, 7370 // see Controlling which Auto Scaling instances terminate during scale in (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html) 7371 // in the Amazon EC2 Auto Scaling User Guide. 7372 TerminationPolicies []*string `type:"list"` 7373 7374 // A comma-separated list of subnet IDs for a virtual private cloud (VPC) where 7375 // instances in the Auto Scaling group can be created. If you specify VPCZoneIdentifier 7376 // with AvailabilityZones, the subnets that you specify for this parameter must 7377 // reside in those Availability Zones. 7378 // 7379 // Conditional: If your account supports EC2-Classic and VPC, this parameter 7380 // is required to launch instances into a VPC. 7381 VPCZoneIdentifier *string `min:"1" type:"string"` 7382 } 7383 7384 // String returns the string representation. 7385 // 7386 // API parameter values that are decorated as "sensitive" in the API will not 7387 // be included in the string output. The member name will be present, but the 7388 // value will be replaced with "sensitive". 7389 func (s CreateAutoScalingGroupInput) String() string { 7390 return awsutil.Prettify(s) 7391 } 7392 7393 // GoString returns the string representation. 7394 // 7395 // API parameter values that are decorated as "sensitive" in the API will not 7396 // be included in the string output. The member name will be present, but the 7397 // value will be replaced with "sensitive". 7398 func (s CreateAutoScalingGroupInput) GoString() string { 7399 return s.String() 7400 } 7401 7402 // Validate inspects the fields of the type to determine if they are valid. 7403 func (s *CreateAutoScalingGroupInput) Validate() error { 7404 invalidParams := request.ErrInvalidParams{Context: "CreateAutoScalingGroupInput"} 7405 if s.AutoScalingGroupName == nil { 7406 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 7407 } 7408 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 7409 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 7410 } 7411 if s.HealthCheckType != nil && len(*s.HealthCheckType) < 1 { 7412 invalidParams.Add(request.NewErrParamMinLen("HealthCheckType", 1)) 7413 } 7414 if s.InstanceId != nil && len(*s.InstanceId) < 1 { 7415 invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) 7416 } 7417 if s.LaunchConfigurationName != nil && len(*s.LaunchConfigurationName) < 1 { 7418 invalidParams.Add(request.NewErrParamMinLen("LaunchConfigurationName", 1)) 7419 } 7420 if s.MaxSize == nil { 7421 invalidParams.Add(request.NewErrParamRequired("MaxSize")) 7422 } 7423 if s.MinSize == nil { 7424 invalidParams.Add(request.NewErrParamRequired("MinSize")) 7425 } 7426 if s.PlacementGroup != nil && len(*s.PlacementGroup) < 1 { 7427 invalidParams.Add(request.NewErrParamMinLen("PlacementGroup", 1)) 7428 } 7429 if s.ServiceLinkedRoleARN != nil && len(*s.ServiceLinkedRoleARN) < 1 { 7430 invalidParams.Add(request.NewErrParamMinLen("ServiceLinkedRoleARN", 1)) 7431 } 7432 if s.VPCZoneIdentifier != nil && len(*s.VPCZoneIdentifier) < 1 { 7433 invalidParams.Add(request.NewErrParamMinLen("VPCZoneIdentifier", 1)) 7434 } 7435 if s.LaunchTemplate != nil { 7436 if err := s.LaunchTemplate.Validate(); err != nil { 7437 invalidParams.AddNested("LaunchTemplate", err.(request.ErrInvalidParams)) 7438 } 7439 } 7440 if s.LifecycleHookSpecificationList != nil { 7441 for i, v := range s.LifecycleHookSpecificationList { 7442 if v == nil { 7443 continue 7444 } 7445 if err := v.Validate(); err != nil { 7446 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LifecycleHookSpecificationList", i), err.(request.ErrInvalidParams)) 7447 } 7448 } 7449 } 7450 if s.MixedInstancesPolicy != nil { 7451 if err := s.MixedInstancesPolicy.Validate(); err != nil { 7452 invalidParams.AddNested("MixedInstancesPolicy", err.(request.ErrInvalidParams)) 7453 } 7454 } 7455 if s.Tags != nil { 7456 for i, v := range s.Tags { 7457 if v == nil { 7458 continue 7459 } 7460 if err := v.Validate(); err != nil { 7461 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 7462 } 7463 } 7464 } 7465 7466 if invalidParams.Len() > 0 { 7467 return invalidParams 7468 } 7469 return nil 7470 } 7471 7472 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 7473 func (s *CreateAutoScalingGroupInput) SetAutoScalingGroupName(v string) *CreateAutoScalingGroupInput { 7474 s.AutoScalingGroupName = &v 7475 return s 7476 } 7477 7478 // SetAvailabilityZones sets the AvailabilityZones field's value. 7479 func (s *CreateAutoScalingGroupInput) SetAvailabilityZones(v []*string) *CreateAutoScalingGroupInput { 7480 s.AvailabilityZones = v 7481 return s 7482 } 7483 7484 // SetCapacityRebalance sets the CapacityRebalance field's value. 7485 func (s *CreateAutoScalingGroupInput) SetCapacityRebalance(v bool) *CreateAutoScalingGroupInput { 7486 s.CapacityRebalance = &v 7487 return s 7488 } 7489 7490 // SetContext sets the Context field's value. 7491 func (s *CreateAutoScalingGroupInput) SetContext(v string) *CreateAutoScalingGroupInput { 7492 s.Context = &v 7493 return s 7494 } 7495 7496 // SetDefaultCooldown sets the DefaultCooldown field's value. 7497 func (s *CreateAutoScalingGroupInput) SetDefaultCooldown(v int64) *CreateAutoScalingGroupInput { 7498 s.DefaultCooldown = &v 7499 return s 7500 } 7501 7502 // SetDesiredCapacity sets the DesiredCapacity field's value. 7503 func (s *CreateAutoScalingGroupInput) SetDesiredCapacity(v int64) *CreateAutoScalingGroupInput { 7504 s.DesiredCapacity = &v 7505 return s 7506 } 7507 7508 // SetHealthCheckGracePeriod sets the HealthCheckGracePeriod field's value. 7509 func (s *CreateAutoScalingGroupInput) SetHealthCheckGracePeriod(v int64) *CreateAutoScalingGroupInput { 7510 s.HealthCheckGracePeriod = &v 7511 return s 7512 } 7513 7514 // SetHealthCheckType sets the HealthCheckType field's value. 7515 func (s *CreateAutoScalingGroupInput) SetHealthCheckType(v string) *CreateAutoScalingGroupInput { 7516 s.HealthCheckType = &v 7517 return s 7518 } 7519 7520 // SetInstanceId sets the InstanceId field's value. 7521 func (s *CreateAutoScalingGroupInput) SetInstanceId(v string) *CreateAutoScalingGroupInput { 7522 s.InstanceId = &v 7523 return s 7524 } 7525 7526 // SetLaunchConfigurationName sets the LaunchConfigurationName field's value. 7527 func (s *CreateAutoScalingGroupInput) SetLaunchConfigurationName(v string) *CreateAutoScalingGroupInput { 7528 s.LaunchConfigurationName = &v 7529 return s 7530 } 7531 7532 // SetLaunchTemplate sets the LaunchTemplate field's value. 7533 func (s *CreateAutoScalingGroupInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *CreateAutoScalingGroupInput { 7534 s.LaunchTemplate = v 7535 return s 7536 } 7537 7538 // SetLifecycleHookSpecificationList sets the LifecycleHookSpecificationList field's value. 7539 func (s *CreateAutoScalingGroupInput) SetLifecycleHookSpecificationList(v []*LifecycleHookSpecification) *CreateAutoScalingGroupInput { 7540 s.LifecycleHookSpecificationList = v 7541 return s 7542 } 7543 7544 // SetLoadBalancerNames sets the LoadBalancerNames field's value. 7545 func (s *CreateAutoScalingGroupInput) SetLoadBalancerNames(v []*string) *CreateAutoScalingGroupInput { 7546 s.LoadBalancerNames = v 7547 return s 7548 } 7549 7550 // SetMaxInstanceLifetime sets the MaxInstanceLifetime field's value. 7551 func (s *CreateAutoScalingGroupInput) SetMaxInstanceLifetime(v int64) *CreateAutoScalingGroupInput { 7552 s.MaxInstanceLifetime = &v 7553 return s 7554 } 7555 7556 // SetMaxSize sets the MaxSize field's value. 7557 func (s *CreateAutoScalingGroupInput) SetMaxSize(v int64) *CreateAutoScalingGroupInput { 7558 s.MaxSize = &v 7559 return s 7560 } 7561 7562 // SetMinSize sets the MinSize field's value. 7563 func (s *CreateAutoScalingGroupInput) SetMinSize(v int64) *CreateAutoScalingGroupInput { 7564 s.MinSize = &v 7565 return s 7566 } 7567 7568 // SetMixedInstancesPolicy sets the MixedInstancesPolicy field's value. 7569 func (s *CreateAutoScalingGroupInput) SetMixedInstancesPolicy(v *MixedInstancesPolicy) *CreateAutoScalingGroupInput { 7570 s.MixedInstancesPolicy = v 7571 return s 7572 } 7573 7574 // SetNewInstancesProtectedFromScaleIn sets the NewInstancesProtectedFromScaleIn field's value. 7575 func (s *CreateAutoScalingGroupInput) SetNewInstancesProtectedFromScaleIn(v bool) *CreateAutoScalingGroupInput { 7576 s.NewInstancesProtectedFromScaleIn = &v 7577 return s 7578 } 7579 7580 // SetPlacementGroup sets the PlacementGroup field's value. 7581 func (s *CreateAutoScalingGroupInput) SetPlacementGroup(v string) *CreateAutoScalingGroupInput { 7582 s.PlacementGroup = &v 7583 return s 7584 } 7585 7586 // SetServiceLinkedRoleARN sets the ServiceLinkedRoleARN field's value. 7587 func (s *CreateAutoScalingGroupInput) SetServiceLinkedRoleARN(v string) *CreateAutoScalingGroupInput { 7588 s.ServiceLinkedRoleARN = &v 7589 return s 7590 } 7591 7592 // SetTags sets the Tags field's value. 7593 func (s *CreateAutoScalingGroupInput) SetTags(v []*Tag) *CreateAutoScalingGroupInput { 7594 s.Tags = v 7595 return s 7596 } 7597 7598 // SetTargetGroupARNs sets the TargetGroupARNs field's value. 7599 func (s *CreateAutoScalingGroupInput) SetTargetGroupARNs(v []*string) *CreateAutoScalingGroupInput { 7600 s.TargetGroupARNs = v 7601 return s 7602 } 7603 7604 // SetTerminationPolicies sets the TerminationPolicies field's value. 7605 func (s *CreateAutoScalingGroupInput) SetTerminationPolicies(v []*string) *CreateAutoScalingGroupInput { 7606 s.TerminationPolicies = v 7607 return s 7608 } 7609 7610 // SetVPCZoneIdentifier sets the VPCZoneIdentifier field's value. 7611 func (s *CreateAutoScalingGroupInput) SetVPCZoneIdentifier(v string) *CreateAutoScalingGroupInput { 7612 s.VPCZoneIdentifier = &v 7613 return s 7614 } 7615 7616 type CreateAutoScalingGroupOutput struct { 7617 _ struct{} `type:"structure"` 7618 } 7619 7620 // String returns the string representation. 7621 // 7622 // API parameter values that are decorated as "sensitive" in the API will not 7623 // be included in the string output. The member name will be present, but the 7624 // value will be replaced with "sensitive". 7625 func (s CreateAutoScalingGroupOutput) String() string { 7626 return awsutil.Prettify(s) 7627 } 7628 7629 // GoString returns the string representation. 7630 // 7631 // API parameter values that are decorated as "sensitive" in the API will not 7632 // be included in the string output. The member name will be present, but the 7633 // value will be replaced with "sensitive". 7634 func (s CreateAutoScalingGroupOutput) GoString() string { 7635 return s.String() 7636 } 7637 7638 type CreateLaunchConfigurationInput struct { 7639 _ struct{} `type:"structure"` 7640 7641 // For Auto Scaling groups that are running in a virtual private cloud (VPC), 7642 // specifies whether to assign a public IP address to the group's instances. 7643 // If you specify true, each instance in the Auto Scaling group receives a unique 7644 // public IP address. For more information, see Launching Auto Scaling instances 7645 // in a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html) 7646 // in the Amazon EC2 Auto Scaling User Guide. 7647 // 7648 // If you specify this parameter, you must specify at least one subnet for VPCZoneIdentifier 7649 // when you create your group. 7650 // 7651 // If the instance is launched into a default subnet, the default is to assign 7652 // a public IP address, unless you disabled the option to assign a public IP 7653 // address on the subnet. If the instance is launched into a nondefault subnet, 7654 // the default is not to assign a public IP address, unless you enabled the 7655 // option to assign a public IP address on the subnet. 7656 AssociatePublicIpAddress *bool `type:"boolean"` 7657 7658 // A block device mapping, which specifies the block devices for the instance. 7659 // You can specify virtual devices and EBS volumes. For more information, see 7660 // Block Device Mapping (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) 7661 // in the Amazon EC2 User Guide for Linux Instances. 7662 BlockDeviceMappings []*BlockDeviceMapping `type:"list"` 7663 7664 // The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. 7665 // For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) 7666 // in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic 7667 // instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink) 7668 // in the Amazon EC2 Auto Scaling User Guide. 7669 // 7670 // This parameter can only be used if you are launching EC2-Classic instances. 7671 ClassicLinkVPCId *string `min:"1" type:"string"` 7672 7673 // The IDs of one or more security groups for the specified ClassicLink-enabled 7674 // VPC. For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) 7675 // in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic 7676 // instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink) 7677 // in the Amazon EC2 Auto Scaling User Guide. 7678 // 7679 // If you specify the ClassicLinkVPCId parameter, you must specify this parameter. 7680 ClassicLinkVPCSecurityGroups []*string `type:"list"` 7681 7682 // Specifies whether the launch configuration is optimized for EBS I/O (true) 7683 // or not (false). The optimization provides dedicated throughput to Amazon 7684 // EBS and an optimized configuration stack to provide optimal I/O performance. 7685 // This optimization is not available with all instance types. Additional fees 7686 // are incurred when you enable EBS optimization for an instance type that is 7687 // not EBS-optimized by default. For more information, see Amazon EBS-Optimized 7688 // Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) 7689 // in the Amazon EC2 User Guide for Linux Instances. 7690 // 7691 // The default value is false. 7692 EbsOptimized *bool `type:"boolean"` 7693 7694 // The name or the Amazon Resource Name (ARN) of the instance profile associated 7695 // with the IAM role for the instance. The instance profile contains the IAM 7696 // role. 7697 // 7698 // For more information, see IAM role for applications that run on Amazon EC2 7699 // instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/us-iam-role.html) 7700 // in the Amazon EC2 Auto Scaling User Guide. 7701 IamInstanceProfile *string `min:"1" type:"string"` 7702 7703 // The ID of the Amazon Machine Image (AMI) that was assigned during registration. 7704 // For more information, see Finding an AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html) 7705 // in the Amazon EC2 User Guide for Linux Instances. 7706 // 7707 // If you do not specify InstanceId, you must specify ImageId. 7708 ImageId *string `min:"1" type:"string"` 7709 7710 // The ID of the instance to use to create the launch configuration. The new 7711 // launch configuration derives attributes from the instance, except for the 7712 // block device mapping. 7713 // 7714 // To create a launch configuration with a block device mapping or override 7715 // any other instance attributes, specify them as part of the same request. 7716 // 7717 // For more information, see Creating a launch configuration using an EC2 instance 7718 // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-lc-with-instanceID.html) 7719 // in the Amazon EC2 Auto Scaling User Guide. 7720 // 7721 // If you do not specify InstanceId, you must specify both ImageId and InstanceType. 7722 InstanceId *string `min:"1" type:"string"` 7723 7724 // Controls whether instances in this group are launched with detailed (true) 7725 // or basic (false) monitoring. 7726 // 7727 // The default value is true (enabled). 7728 // 7729 // When detailed monitoring is enabled, Amazon CloudWatch generates metrics 7730 // every minute and your account is charged a fee. When you disable detailed 7731 // monitoring, CloudWatch generates metrics every 5 minutes. For more information, 7732 // see Configure Monitoring for Auto Scaling Instances (https://docs.aws.amazon.com/autoscaling/latest/userguide/enable-as-instance-metrics.html) 7733 // in the Amazon EC2 Auto Scaling User Guide. 7734 InstanceMonitoring *InstanceMonitoring `type:"structure"` 7735 7736 // Specifies the instance type of the EC2 instance. 7737 // 7738 // For information about available instance types, see Available Instance Types 7739 // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes) 7740 // in the Amazon EC2 User Guide for Linux Instances. 7741 // 7742 // If you do not specify InstanceId, you must specify InstanceType. 7743 InstanceType *string `min:"1" type:"string"` 7744 7745 // The ID of the kernel associated with the AMI. 7746 KernelId *string `min:"1" type:"string"` 7747 7748 // The name of the key pair. For more information, see Amazon EC2 Key Pairs 7749 // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) 7750 // in the Amazon EC2 User Guide for Linux Instances. 7751 KeyName *string `min:"1" type:"string"` 7752 7753 // The name of the launch configuration. This name must be unique per Region 7754 // per account. 7755 // 7756 // LaunchConfigurationName is a required field 7757 LaunchConfigurationName *string `min:"1" type:"string" required:"true"` 7758 7759 // The metadata options for the instances. For more information, see Configuring 7760 // the Instance Metadata Options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-config.html#launch-configurations-imds) 7761 // in the Amazon EC2 Auto Scaling User Guide. 7762 MetadataOptions *InstanceMetadataOptions `type:"structure"` 7763 7764 // The tenancy of the instance. An instance with dedicated tenancy runs on isolated, 7765 // single-tenant hardware and can only be launched into a VPC. 7766 // 7767 // To launch dedicated instances into a shared tenancy VPC (a VPC with the instance 7768 // placement tenancy attribute set to default), you must set the value of this 7769 // parameter to dedicated. 7770 // 7771 // If you specify PlacementTenancy, you must specify at least one subnet for 7772 // VPCZoneIdentifier when you create your group. 7773 // 7774 // For more information, see Configuring instance tenancy with Amazon EC2 Auto 7775 // Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-dedicated-instances.html) 7776 // in the Amazon EC2 Auto Scaling User Guide. 7777 // 7778 // Valid Values: default | dedicated 7779 PlacementTenancy *string `min:"1" type:"string"` 7780 7781 // The ID of the RAM disk to select. 7782 RamdiskId *string `min:"1" type:"string"` 7783 7784 // A list that contains the security groups to assign to the instances in the 7785 // Auto Scaling group. 7786 // 7787 // [EC2-VPC] Specify the security group IDs. For more information, see Security 7788 // Groups for Your VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) 7789 // in the Amazon Virtual Private Cloud User Guide. 7790 // 7791 // [EC2-Classic] Specify either the security group names or the security group 7792 // IDs. For more information, see Amazon EC2 Security Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) 7793 // in the Amazon EC2 User Guide for Linux Instances. 7794 SecurityGroups []*string `type:"list"` 7795 7796 // The maximum hourly price to be paid for any Spot Instance launched to fulfill 7797 // the request. Spot Instances are launched when the price you specify exceeds 7798 // the current Spot price. For more information, see Requesting Spot Instances 7799 // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-spot-instances.html) 7800 // in the Amazon EC2 Auto Scaling User Guide. 7801 // 7802 // When you change your maximum price by creating a new launch configuration, 7803 // running instances will continue to run as long as the maximum price for those 7804 // running instances is higher than the current Spot price. 7805 SpotPrice *string `min:"1" type:"string"` 7806 7807 // The user data to make available to the launched EC2 instances. For more information, 7808 // see Instance metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) 7809 // (Linux) and Instance metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html) 7810 // (Windows). If you are using a command line tool, base64-encoding is performed 7811 // for you, and you can load the text from a file. Otherwise, you must provide 7812 // base64-encoded text. User data is limited to 16 KB. 7813 UserData *string `type:"string"` 7814 } 7815 7816 // String returns the string representation. 7817 // 7818 // API parameter values that are decorated as "sensitive" in the API will not 7819 // be included in the string output. The member name will be present, but the 7820 // value will be replaced with "sensitive". 7821 func (s CreateLaunchConfigurationInput) String() string { 7822 return awsutil.Prettify(s) 7823 } 7824 7825 // GoString returns the string representation. 7826 // 7827 // API parameter values that are decorated as "sensitive" in the API will not 7828 // be included in the string output. The member name will be present, but the 7829 // value will be replaced with "sensitive". 7830 func (s CreateLaunchConfigurationInput) GoString() string { 7831 return s.String() 7832 } 7833 7834 // Validate inspects the fields of the type to determine if they are valid. 7835 func (s *CreateLaunchConfigurationInput) Validate() error { 7836 invalidParams := request.ErrInvalidParams{Context: "CreateLaunchConfigurationInput"} 7837 if s.ClassicLinkVPCId != nil && len(*s.ClassicLinkVPCId) < 1 { 7838 invalidParams.Add(request.NewErrParamMinLen("ClassicLinkVPCId", 1)) 7839 } 7840 if s.IamInstanceProfile != nil && len(*s.IamInstanceProfile) < 1 { 7841 invalidParams.Add(request.NewErrParamMinLen("IamInstanceProfile", 1)) 7842 } 7843 if s.ImageId != nil && len(*s.ImageId) < 1 { 7844 invalidParams.Add(request.NewErrParamMinLen("ImageId", 1)) 7845 } 7846 if s.InstanceId != nil && len(*s.InstanceId) < 1 { 7847 invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) 7848 } 7849 if s.InstanceType != nil && len(*s.InstanceType) < 1 { 7850 invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1)) 7851 } 7852 if s.KernelId != nil && len(*s.KernelId) < 1 { 7853 invalidParams.Add(request.NewErrParamMinLen("KernelId", 1)) 7854 } 7855 if s.KeyName != nil && len(*s.KeyName) < 1 { 7856 invalidParams.Add(request.NewErrParamMinLen("KeyName", 1)) 7857 } 7858 if s.LaunchConfigurationName == nil { 7859 invalidParams.Add(request.NewErrParamRequired("LaunchConfigurationName")) 7860 } 7861 if s.LaunchConfigurationName != nil && len(*s.LaunchConfigurationName) < 1 { 7862 invalidParams.Add(request.NewErrParamMinLen("LaunchConfigurationName", 1)) 7863 } 7864 if s.PlacementTenancy != nil && len(*s.PlacementTenancy) < 1 { 7865 invalidParams.Add(request.NewErrParamMinLen("PlacementTenancy", 1)) 7866 } 7867 if s.RamdiskId != nil && len(*s.RamdiskId) < 1 { 7868 invalidParams.Add(request.NewErrParamMinLen("RamdiskId", 1)) 7869 } 7870 if s.SpotPrice != nil && len(*s.SpotPrice) < 1 { 7871 invalidParams.Add(request.NewErrParamMinLen("SpotPrice", 1)) 7872 } 7873 if s.BlockDeviceMappings != nil { 7874 for i, v := range s.BlockDeviceMappings { 7875 if v == nil { 7876 continue 7877 } 7878 if err := v.Validate(); err != nil { 7879 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BlockDeviceMappings", i), err.(request.ErrInvalidParams)) 7880 } 7881 } 7882 } 7883 if s.MetadataOptions != nil { 7884 if err := s.MetadataOptions.Validate(); err != nil { 7885 invalidParams.AddNested("MetadataOptions", err.(request.ErrInvalidParams)) 7886 } 7887 } 7888 7889 if invalidParams.Len() > 0 { 7890 return invalidParams 7891 } 7892 return nil 7893 } 7894 7895 // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value. 7896 func (s *CreateLaunchConfigurationInput) SetAssociatePublicIpAddress(v bool) *CreateLaunchConfigurationInput { 7897 s.AssociatePublicIpAddress = &v 7898 return s 7899 } 7900 7901 // SetBlockDeviceMappings sets the BlockDeviceMappings field's value. 7902 func (s *CreateLaunchConfigurationInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateLaunchConfigurationInput { 7903 s.BlockDeviceMappings = v 7904 return s 7905 } 7906 7907 // SetClassicLinkVPCId sets the ClassicLinkVPCId field's value. 7908 func (s *CreateLaunchConfigurationInput) SetClassicLinkVPCId(v string) *CreateLaunchConfigurationInput { 7909 s.ClassicLinkVPCId = &v 7910 return s 7911 } 7912 7913 // SetClassicLinkVPCSecurityGroups sets the ClassicLinkVPCSecurityGroups field's value. 7914 func (s *CreateLaunchConfigurationInput) SetClassicLinkVPCSecurityGroups(v []*string) *CreateLaunchConfigurationInput { 7915 s.ClassicLinkVPCSecurityGroups = v 7916 return s 7917 } 7918 7919 // SetEbsOptimized sets the EbsOptimized field's value. 7920 func (s *CreateLaunchConfigurationInput) SetEbsOptimized(v bool) *CreateLaunchConfigurationInput { 7921 s.EbsOptimized = &v 7922 return s 7923 } 7924 7925 // SetIamInstanceProfile sets the IamInstanceProfile field's value. 7926 func (s *CreateLaunchConfigurationInput) SetIamInstanceProfile(v string) *CreateLaunchConfigurationInput { 7927 s.IamInstanceProfile = &v 7928 return s 7929 } 7930 7931 // SetImageId sets the ImageId field's value. 7932 func (s *CreateLaunchConfigurationInput) SetImageId(v string) *CreateLaunchConfigurationInput { 7933 s.ImageId = &v 7934 return s 7935 } 7936 7937 // SetInstanceId sets the InstanceId field's value. 7938 func (s *CreateLaunchConfigurationInput) SetInstanceId(v string) *CreateLaunchConfigurationInput { 7939 s.InstanceId = &v 7940 return s 7941 } 7942 7943 // SetInstanceMonitoring sets the InstanceMonitoring field's value. 7944 func (s *CreateLaunchConfigurationInput) SetInstanceMonitoring(v *InstanceMonitoring) *CreateLaunchConfigurationInput { 7945 s.InstanceMonitoring = v 7946 return s 7947 } 7948 7949 // SetInstanceType sets the InstanceType field's value. 7950 func (s *CreateLaunchConfigurationInput) SetInstanceType(v string) *CreateLaunchConfigurationInput { 7951 s.InstanceType = &v 7952 return s 7953 } 7954 7955 // SetKernelId sets the KernelId field's value. 7956 func (s *CreateLaunchConfigurationInput) SetKernelId(v string) *CreateLaunchConfigurationInput { 7957 s.KernelId = &v 7958 return s 7959 } 7960 7961 // SetKeyName sets the KeyName field's value. 7962 func (s *CreateLaunchConfigurationInput) SetKeyName(v string) *CreateLaunchConfigurationInput { 7963 s.KeyName = &v 7964 return s 7965 } 7966 7967 // SetLaunchConfigurationName sets the LaunchConfigurationName field's value. 7968 func (s *CreateLaunchConfigurationInput) SetLaunchConfigurationName(v string) *CreateLaunchConfigurationInput { 7969 s.LaunchConfigurationName = &v 7970 return s 7971 } 7972 7973 // SetMetadataOptions sets the MetadataOptions field's value. 7974 func (s *CreateLaunchConfigurationInput) SetMetadataOptions(v *InstanceMetadataOptions) *CreateLaunchConfigurationInput { 7975 s.MetadataOptions = v 7976 return s 7977 } 7978 7979 // SetPlacementTenancy sets the PlacementTenancy field's value. 7980 func (s *CreateLaunchConfigurationInput) SetPlacementTenancy(v string) *CreateLaunchConfigurationInput { 7981 s.PlacementTenancy = &v 7982 return s 7983 } 7984 7985 // SetRamdiskId sets the RamdiskId field's value. 7986 func (s *CreateLaunchConfigurationInput) SetRamdiskId(v string) *CreateLaunchConfigurationInput { 7987 s.RamdiskId = &v 7988 return s 7989 } 7990 7991 // SetSecurityGroups sets the SecurityGroups field's value. 7992 func (s *CreateLaunchConfigurationInput) SetSecurityGroups(v []*string) *CreateLaunchConfigurationInput { 7993 s.SecurityGroups = v 7994 return s 7995 } 7996 7997 // SetSpotPrice sets the SpotPrice field's value. 7998 func (s *CreateLaunchConfigurationInput) SetSpotPrice(v string) *CreateLaunchConfigurationInput { 7999 s.SpotPrice = &v 8000 return s 8001 } 8002 8003 // SetUserData sets the UserData field's value. 8004 func (s *CreateLaunchConfigurationInput) SetUserData(v string) *CreateLaunchConfigurationInput { 8005 s.UserData = &v 8006 return s 8007 } 8008 8009 type CreateLaunchConfigurationOutput struct { 8010 _ struct{} `type:"structure"` 8011 } 8012 8013 // String returns the string representation. 8014 // 8015 // API parameter values that are decorated as "sensitive" in the API will not 8016 // be included in the string output. The member name will be present, but the 8017 // value will be replaced with "sensitive". 8018 func (s CreateLaunchConfigurationOutput) String() string { 8019 return awsutil.Prettify(s) 8020 } 8021 8022 // GoString returns the string representation. 8023 // 8024 // API parameter values that are decorated as "sensitive" in the API will not 8025 // be included in the string output. The member name will be present, but the 8026 // value will be replaced with "sensitive". 8027 func (s CreateLaunchConfigurationOutput) GoString() string { 8028 return s.String() 8029 } 8030 8031 type CreateOrUpdateTagsInput struct { 8032 _ struct{} `type:"structure"` 8033 8034 // One or more tags. 8035 // 8036 // Tags is a required field 8037 Tags []*Tag `type:"list" required:"true"` 8038 } 8039 8040 // String returns the string representation. 8041 // 8042 // API parameter values that are decorated as "sensitive" in the API will not 8043 // be included in the string output. The member name will be present, but the 8044 // value will be replaced with "sensitive". 8045 func (s CreateOrUpdateTagsInput) String() string { 8046 return awsutil.Prettify(s) 8047 } 8048 8049 // GoString returns the string representation. 8050 // 8051 // API parameter values that are decorated as "sensitive" in the API will not 8052 // be included in the string output. The member name will be present, but the 8053 // value will be replaced with "sensitive". 8054 func (s CreateOrUpdateTagsInput) GoString() string { 8055 return s.String() 8056 } 8057 8058 // Validate inspects the fields of the type to determine if they are valid. 8059 func (s *CreateOrUpdateTagsInput) Validate() error { 8060 invalidParams := request.ErrInvalidParams{Context: "CreateOrUpdateTagsInput"} 8061 if s.Tags == nil { 8062 invalidParams.Add(request.NewErrParamRequired("Tags")) 8063 } 8064 if s.Tags != nil { 8065 for i, v := range s.Tags { 8066 if v == nil { 8067 continue 8068 } 8069 if err := v.Validate(); err != nil { 8070 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8071 } 8072 } 8073 } 8074 8075 if invalidParams.Len() > 0 { 8076 return invalidParams 8077 } 8078 return nil 8079 } 8080 8081 // SetTags sets the Tags field's value. 8082 func (s *CreateOrUpdateTagsInput) SetTags(v []*Tag) *CreateOrUpdateTagsInput { 8083 s.Tags = v 8084 return s 8085 } 8086 8087 type CreateOrUpdateTagsOutput struct { 8088 _ struct{} `type:"structure"` 8089 } 8090 8091 // String returns the string representation. 8092 // 8093 // API parameter values that are decorated as "sensitive" in the API will not 8094 // be included in the string output. The member name will be present, but the 8095 // value will be replaced with "sensitive". 8096 func (s CreateOrUpdateTagsOutput) String() string { 8097 return awsutil.Prettify(s) 8098 } 8099 8100 // GoString returns the string representation. 8101 // 8102 // API parameter values that are decorated as "sensitive" in the API will not 8103 // be included in the string output. The member name will be present, but the 8104 // value will be replaced with "sensitive". 8105 func (s CreateOrUpdateTagsOutput) GoString() string { 8106 return s.String() 8107 } 8108 8109 // Represents a CloudWatch metric of your choosing for a target tracking scaling 8110 // policy to use with Amazon EC2 Auto Scaling. 8111 // 8112 // To create your customized metric specification: 8113 // 8114 // * Add values for each required parameter from CloudWatch. You can use 8115 // an existing metric, or a new metric that you create. To use your own metric, 8116 // you must first publish the metric to CloudWatch. For more information, 8117 // see Publish Custom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) 8118 // in the Amazon CloudWatch User Guide. 8119 // 8120 // * Choose a metric that changes proportionally with capacity. The value 8121 // of the metric should increase or decrease in inverse proportion to the 8122 // number of capacity units. That is, the value of the metric should decrease 8123 // when capacity increases. 8124 // 8125 // For more information about CloudWatch, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html). 8126 type CustomizedMetricSpecification struct { 8127 _ struct{} `type:"structure"` 8128 8129 // The dimensions of the metric. 8130 // 8131 // Conditional: If you published your metric with dimensions, you must specify 8132 // the same dimensions in your scaling policy. 8133 Dimensions []*MetricDimension `type:"list"` 8134 8135 // The name of the metric. 8136 // 8137 // MetricName is a required field 8138 MetricName *string `type:"string" required:"true"` 8139 8140 // The namespace of the metric. 8141 // 8142 // Namespace is a required field 8143 Namespace *string `type:"string" required:"true"` 8144 8145 // The statistic of the metric. 8146 // 8147 // Statistic is a required field 8148 Statistic *string `type:"string" required:"true" enum:"MetricStatistic"` 8149 8150 // The unit of the metric. 8151 Unit *string `type:"string"` 8152 } 8153 8154 // String returns the string representation. 8155 // 8156 // API parameter values that are decorated as "sensitive" in the API will not 8157 // be included in the string output. The member name will be present, but the 8158 // value will be replaced with "sensitive". 8159 func (s CustomizedMetricSpecification) String() string { 8160 return awsutil.Prettify(s) 8161 } 8162 8163 // GoString returns the string representation. 8164 // 8165 // API parameter values that are decorated as "sensitive" in the API will not 8166 // be included in the string output. The member name will be present, but the 8167 // value will be replaced with "sensitive". 8168 func (s CustomizedMetricSpecification) GoString() string { 8169 return s.String() 8170 } 8171 8172 // Validate inspects the fields of the type to determine if they are valid. 8173 func (s *CustomizedMetricSpecification) Validate() error { 8174 invalidParams := request.ErrInvalidParams{Context: "CustomizedMetricSpecification"} 8175 if s.MetricName == nil { 8176 invalidParams.Add(request.NewErrParamRequired("MetricName")) 8177 } 8178 if s.Namespace == nil { 8179 invalidParams.Add(request.NewErrParamRequired("Namespace")) 8180 } 8181 if s.Statistic == nil { 8182 invalidParams.Add(request.NewErrParamRequired("Statistic")) 8183 } 8184 if s.Dimensions != nil { 8185 for i, v := range s.Dimensions { 8186 if v == nil { 8187 continue 8188 } 8189 if err := v.Validate(); err != nil { 8190 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) 8191 } 8192 } 8193 } 8194 8195 if invalidParams.Len() > 0 { 8196 return invalidParams 8197 } 8198 return nil 8199 } 8200 8201 // SetDimensions sets the Dimensions field's value. 8202 func (s *CustomizedMetricSpecification) SetDimensions(v []*MetricDimension) *CustomizedMetricSpecification { 8203 s.Dimensions = v 8204 return s 8205 } 8206 8207 // SetMetricName sets the MetricName field's value. 8208 func (s *CustomizedMetricSpecification) SetMetricName(v string) *CustomizedMetricSpecification { 8209 s.MetricName = &v 8210 return s 8211 } 8212 8213 // SetNamespace sets the Namespace field's value. 8214 func (s *CustomizedMetricSpecification) SetNamespace(v string) *CustomizedMetricSpecification { 8215 s.Namespace = &v 8216 return s 8217 } 8218 8219 // SetStatistic sets the Statistic field's value. 8220 func (s *CustomizedMetricSpecification) SetStatistic(v string) *CustomizedMetricSpecification { 8221 s.Statistic = &v 8222 return s 8223 } 8224 8225 // SetUnit sets the Unit field's value. 8226 func (s *CustomizedMetricSpecification) SetUnit(v string) *CustomizedMetricSpecification { 8227 s.Unit = &v 8228 return s 8229 } 8230 8231 type DeleteAutoScalingGroupInput struct { 8232 _ struct{} `type:"structure"` 8233 8234 // The name of the Auto Scaling group. 8235 // 8236 // AutoScalingGroupName is a required field 8237 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 8238 8239 // Specifies that the group is to be deleted along with all instances associated 8240 // with the group, without waiting for all instances to be terminated. This 8241 // parameter also deletes any outstanding lifecycle actions associated with 8242 // the group. 8243 ForceDelete *bool `type:"boolean"` 8244 } 8245 8246 // String returns the string representation. 8247 // 8248 // API parameter values that are decorated as "sensitive" in the API will not 8249 // be included in the string output. The member name will be present, but the 8250 // value will be replaced with "sensitive". 8251 func (s DeleteAutoScalingGroupInput) String() string { 8252 return awsutil.Prettify(s) 8253 } 8254 8255 // GoString returns the string representation. 8256 // 8257 // API parameter values that are decorated as "sensitive" in the API will not 8258 // be included in the string output. The member name will be present, but the 8259 // value will be replaced with "sensitive". 8260 func (s DeleteAutoScalingGroupInput) GoString() string { 8261 return s.String() 8262 } 8263 8264 // Validate inspects the fields of the type to determine if they are valid. 8265 func (s *DeleteAutoScalingGroupInput) Validate() error { 8266 invalidParams := request.ErrInvalidParams{Context: "DeleteAutoScalingGroupInput"} 8267 if s.AutoScalingGroupName == nil { 8268 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 8269 } 8270 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 8271 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 8272 } 8273 8274 if invalidParams.Len() > 0 { 8275 return invalidParams 8276 } 8277 return nil 8278 } 8279 8280 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 8281 func (s *DeleteAutoScalingGroupInput) SetAutoScalingGroupName(v string) *DeleteAutoScalingGroupInput { 8282 s.AutoScalingGroupName = &v 8283 return s 8284 } 8285 8286 // SetForceDelete sets the ForceDelete field's value. 8287 func (s *DeleteAutoScalingGroupInput) SetForceDelete(v bool) *DeleteAutoScalingGroupInput { 8288 s.ForceDelete = &v 8289 return s 8290 } 8291 8292 type DeleteAutoScalingGroupOutput struct { 8293 _ struct{} `type:"structure"` 8294 } 8295 8296 // String returns the string representation. 8297 // 8298 // API parameter values that are decorated as "sensitive" in the API will not 8299 // be included in the string output. The member name will be present, but the 8300 // value will be replaced with "sensitive". 8301 func (s DeleteAutoScalingGroupOutput) String() string { 8302 return awsutil.Prettify(s) 8303 } 8304 8305 // GoString returns the string representation. 8306 // 8307 // API parameter values that are decorated as "sensitive" in the API will not 8308 // be included in the string output. The member name will be present, but the 8309 // value will be replaced with "sensitive". 8310 func (s DeleteAutoScalingGroupOutput) GoString() string { 8311 return s.String() 8312 } 8313 8314 type DeleteLaunchConfigurationInput struct { 8315 _ struct{} `type:"structure"` 8316 8317 // The name of the launch configuration. 8318 // 8319 // LaunchConfigurationName is a required field 8320 LaunchConfigurationName *string `min:"1" type:"string" required:"true"` 8321 } 8322 8323 // String returns the string representation. 8324 // 8325 // API parameter values that are decorated as "sensitive" in the API will not 8326 // be included in the string output. The member name will be present, but the 8327 // value will be replaced with "sensitive". 8328 func (s DeleteLaunchConfigurationInput) String() string { 8329 return awsutil.Prettify(s) 8330 } 8331 8332 // GoString returns the string representation. 8333 // 8334 // API parameter values that are decorated as "sensitive" in the API will not 8335 // be included in the string output. The member name will be present, but the 8336 // value will be replaced with "sensitive". 8337 func (s DeleteLaunchConfigurationInput) GoString() string { 8338 return s.String() 8339 } 8340 8341 // Validate inspects the fields of the type to determine if they are valid. 8342 func (s *DeleteLaunchConfigurationInput) Validate() error { 8343 invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchConfigurationInput"} 8344 if s.LaunchConfigurationName == nil { 8345 invalidParams.Add(request.NewErrParamRequired("LaunchConfigurationName")) 8346 } 8347 if s.LaunchConfigurationName != nil && len(*s.LaunchConfigurationName) < 1 { 8348 invalidParams.Add(request.NewErrParamMinLen("LaunchConfigurationName", 1)) 8349 } 8350 8351 if invalidParams.Len() > 0 { 8352 return invalidParams 8353 } 8354 return nil 8355 } 8356 8357 // SetLaunchConfigurationName sets the LaunchConfigurationName field's value. 8358 func (s *DeleteLaunchConfigurationInput) SetLaunchConfigurationName(v string) *DeleteLaunchConfigurationInput { 8359 s.LaunchConfigurationName = &v 8360 return s 8361 } 8362 8363 type DeleteLaunchConfigurationOutput struct { 8364 _ struct{} `type:"structure"` 8365 } 8366 8367 // String returns the string representation. 8368 // 8369 // API parameter values that are decorated as "sensitive" in the API will not 8370 // be included in the string output. The member name will be present, but the 8371 // value will be replaced with "sensitive". 8372 func (s DeleteLaunchConfigurationOutput) String() string { 8373 return awsutil.Prettify(s) 8374 } 8375 8376 // GoString returns the string representation. 8377 // 8378 // API parameter values that are decorated as "sensitive" in the API will not 8379 // be included in the string output. The member name will be present, but the 8380 // value will be replaced with "sensitive". 8381 func (s DeleteLaunchConfigurationOutput) GoString() string { 8382 return s.String() 8383 } 8384 8385 type DeleteLifecycleHookInput struct { 8386 _ struct{} `type:"structure"` 8387 8388 // The name of the Auto Scaling group. 8389 // 8390 // AutoScalingGroupName is a required field 8391 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 8392 8393 // The name of the lifecycle hook. 8394 // 8395 // LifecycleHookName is a required field 8396 LifecycleHookName *string `min:"1" type:"string" required:"true"` 8397 } 8398 8399 // String returns the string representation. 8400 // 8401 // API parameter values that are decorated as "sensitive" in the API will not 8402 // be included in the string output. The member name will be present, but the 8403 // value will be replaced with "sensitive". 8404 func (s DeleteLifecycleHookInput) String() string { 8405 return awsutil.Prettify(s) 8406 } 8407 8408 // GoString returns the string representation. 8409 // 8410 // API parameter values that are decorated as "sensitive" in the API will not 8411 // be included in the string output. The member name will be present, but the 8412 // value will be replaced with "sensitive". 8413 func (s DeleteLifecycleHookInput) GoString() string { 8414 return s.String() 8415 } 8416 8417 // Validate inspects the fields of the type to determine if they are valid. 8418 func (s *DeleteLifecycleHookInput) Validate() error { 8419 invalidParams := request.ErrInvalidParams{Context: "DeleteLifecycleHookInput"} 8420 if s.AutoScalingGroupName == nil { 8421 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 8422 } 8423 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 8424 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 8425 } 8426 if s.LifecycleHookName == nil { 8427 invalidParams.Add(request.NewErrParamRequired("LifecycleHookName")) 8428 } 8429 if s.LifecycleHookName != nil && len(*s.LifecycleHookName) < 1 { 8430 invalidParams.Add(request.NewErrParamMinLen("LifecycleHookName", 1)) 8431 } 8432 8433 if invalidParams.Len() > 0 { 8434 return invalidParams 8435 } 8436 return nil 8437 } 8438 8439 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 8440 func (s *DeleteLifecycleHookInput) SetAutoScalingGroupName(v string) *DeleteLifecycleHookInput { 8441 s.AutoScalingGroupName = &v 8442 return s 8443 } 8444 8445 // SetLifecycleHookName sets the LifecycleHookName field's value. 8446 func (s *DeleteLifecycleHookInput) SetLifecycleHookName(v string) *DeleteLifecycleHookInput { 8447 s.LifecycleHookName = &v 8448 return s 8449 } 8450 8451 type DeleteLifecycleHookOutput struct { 8452 _ struct{} `type:"structure"` 8453 } 8454 8455 // String returns the string representation. 8456 // 8457 // API parameter values that are decorated as "sensitive" in the API will not 8458 // be included in the string output. The member name will be present, but the 8459 // value will be replaced with "sensitive". 8460 func (s DeleteLifecycleHookOutput) String() string { 8461 return awsutil.Prettify(s) 8462 } 8463 8464 // GoString returns the string representation. 8465 // 8466 // API parameter values that are decorated as "sensitive" in the API will not 8467 // be included in the string output. The member name will be present, but the 8468 // value will be replaced with "sensitive". 8469 func (s DeleteLifecycleHookOutput) GoString() string { 8470 return s.String() 8471 } 8472 8473 type DeleteNotificationConfigurationInput struct { 8474 _ struct{} `type:"structure"` 8475 8476 // The name of the Auto Scaling group. 8477 // 8478 // AutoScalingGroupName is a required field 8479 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 8480 8481 // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 8482 // (Amazon SNS) topic. 8483 // 8484 // TopicARN is a required field 8485 TopicARN *string `min:"1" type:"string" required:"true"` 8486 } 8487 8488 // String returns the string representation. 8489 // 8490 // API parameter values that are decorated as "sensitive" in the API will not 8491 // be included in the string output. The member name will be present, but the 8492 // value will be replaced with "sensitive". 8493 func (s DeleteNotificationConfigurationInput) String() string { 8494 return awsutil.Prettify(s) 8495 } 8496 8497 // GoString returns the string representation. 8498 // 8499 // API parameter values that are decorated as "sensitive" in the API will not 8500 // be included in the string output. The member name will be present, but the 8501 // value will be replaced with "sensitive". 8502 func (s DeleteNotificationConfigurationInput) GoString() string { 8503 return s.String() 8504 } 8505 8506 // Validate inspects the fields of the type to determine if they are valid. 8507 func (s *DeleteNotificationConfigurationInput) Validate() error { 8508 invalidParams := request.ErrInvalidParams{Context: "DeleteNotificationConfigurationInput"} 8509 if s.AutoScalingGroupName == nil { 8510 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 8511 } 8512 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 8513 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 8514 } 8515 if s.TopicARN == nil { 8516 invalidParams.Add(request.NewErrParamRequired("TopicARN")) 8517 } 8518 if s.TopicARN != nil && len(*s.TopicARN) < 1 { 8519 invalidParams.Add(request.NewErrParamMinLen("TopicARN", 1)) 8520 } 8521 8522 if invalidParams.Len() > 0 { 8523 return invalidParams 8524 } 8525 return nil 8526 } 8527 8528 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 8529 func (s *DeleteNotificationConfigurationInput) SetAutoScalingGroupName(v string) *DeleteNotificationConfigurationInput { 8530 s.AutoScalingGroupName = &v 8531 return s 8532 } 8533 8534 // SetTopicARN sets the TopicARN field's value. 8535 func (s *DeleteNotificationConfigurationInput) SetTopicARN(v string) *DeleteNotificationConfigurationInput { 8536 s.TopicARN = &v 8537 return s 8538 } 8539 8540 type DeleteNotificationConfigurationOutput struct { 8541 _ struct{} `type:"structure"` 8542 } 8543 8544 // String returns the string representation. 8545 // 8546 // API parameter values that are decorated as "sensitive" in the API will not 8547 // be included in the string output. The member name will be present, but the 8548 // value will be replaced with "sensitive". 8549 func (s DeleteNotificationConfigurationOutput) String() string { 8550 return awsutil.Prettify(s) 8551 } 8552 8553 // GoString returns the string representation. 8554 // 8555 // API parameter values that are decorated as "sensitive" in the API will not 8556 // be included in the string output. The member name will be present, but the 8557 // value will be replaced with "sensitive". 8558 func (s DeleteNotificationConfigurationOutput) GoString() string { 8559 return s.String() 8560 } 8561 8562 type DeletePolicyInput struct { 8563 _ struct{} `type:"structure"` 8564 8565 // The name of the Auto Scaling group. 8566 AutoScalingGroupName *string `min:"1" type:"string"` 8567 8568 // The name or Amazon Resource Name (ARN) of the policy. 8569 // 8570 // PolicyName is a required field 8571 PolicyName *string `min:"1" type:"string" required:"true"` 8572 } 8573 8574 // String returns the string representation. 8575 // 8576 // API parameter values that are decorated as "sensitive" in the API will not 8577 // be included in the string output. The member name will be present, but the 8578 // value will be replaced with "sensitive". 8579 func (s DeletePolicyInput) String() string { 8580 return awsutil.Prettify(s) 8581 } 8582 8583 // GoString returns the string representation. 8584 // 8585 // API parameter values that are decorated as "sensitive" in the API will not 8586 // be included in the string output. The member name will be present, but the 8587 // value will be replaced with "sensitive". 8588 func (s DeletePolicyInput) GoString() string { 8589 return s.String() 8590 } 8591 8592 // Validate inspects the fields of the type to determine if they are valid. 8593 func (s *DeletePolicyInput) Validate() error { 8594 invalidParams := request.ErrInvalidParams{Context: "DeletePolicyInput"} 8595 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 8596 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 8597 } 8598 if s.PolicyName == nil { 8599 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 8600 } 8601 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 8602 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 8603 } 8604 8605 if invalidParams.Len() > 0 { 8606 return invalidParams 8607 } 8608 return nil 8609 } 8610 8611 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 8612 func (s *DeletePolicyInput) SetAutoScalingGroupName(v string) *DeletePolicyInput { 8613 s.AutoScalingGroupName = &v 8614 return s 8615 } 8616 8617 // SetPolicyName sets the PolicyName field's value. 8618 func (s *DeletePolicyInput) SetPolicyName(v string) *DeletePolicyInput { 8619 s.PolicyName = &v 8620 return s 8621 } 8622 8623 type DeletePolicyOutput struct { 8624 _ struct{} `type:"structure"` 8625 } 8626 8627 // String returns the string representation. 8628 // 8629 // API parameter values that are decorated as "sensitive" in the API will not 8630 // be included in the string output. The member name will be present, but the 8631 // value will be replaced with "sensitive". 8632 func (s DeletePolicyOutput) String() string { 8633 return awsutil.Prettify(s) 8634 } 8635 8636 // GoString returns the string representation. 8637 // 8638 // API parameter values that are decorated as "sensitive" in the API will not 8639 // be included in the string output. The member name will be present, but the 8640 // value will be replaced with "sensitive". 8641 func (s DeletePolicyOutput) GoString() string { 8642 return s.String() 8643 } 8644 8645 type DeleteScheduledActionInput struct { 8646 _ struct{} `type:"structure"` 8647 8648 // The name of the Auto Scaling group. 8649 // 8650 // AutoScalingGroupName is a required field 8651 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 8652 8653 // The name of the action to delete. 8654 // 8655 // ScheduledActionName is a required field 8656 ScheduledActionName *string `min:"1" type:"string" required:"true"` 8657 } 8658 8659 // String returns the string representation. 8660 // 8661 // API parameter values that are decorated as "sensitive" in the API will not 8662 // be included in the string output. The member name will be present, but the 8663 // value will be replaced with "sensitive". 8664 func (s DeleteScheduledActionInput) String() string { 8665 return awsutil.Prettify(s) 8666 } 8667 8668 // GoString returns the string representation. 8669 // 8670 // API parameter values that are decorated as "sensitive" in the API will not 8671 // be included in the string output. The member name will be present, but the 8672 // value will be replaced with "sensitive". 8673 func (s DeleteScheduledActionInput) GoString() string { 8674 return s.String() 8675 } 8676 8677 // Validate inspects the fields of the type to determine if they are valid. 8678 func (s *DeleteScheduledActionInput) Validate() error { 8679 invalidParams := request.ErrInvalidParams{Context: "DeleteScheduledActionInput"} 8680 if s.AutoScalingGroupName == nil { 8681 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 8682 } 8683 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 8684 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 8685 } 8686 if s.ScheduledActionName == nil { 8687 invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) 8688 } 8689 if s.ScheduledActionName != nil && len(*s.ScheduledActionName) < 1 { 8690 invalidParams.Add(request.NewErrParamMinLen("ScheduledActionName", 1)) 8691 } 8692 8693 if invalidParams.Len() > 0 { 8694 return invalidParams 8695 } 8696 return nil 8697 } 8698 8699 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 8700 func (s *DeleteScheduledActionInput) SetAutoScalingGroupName(v string) *DeleteScheduledActionInput { 8701 s.AutoScalingGroupName = &v 8702 return s 8703 } 8704 8705 // SetScheduledActionName sets the ScheduledActionName field's value. 8706 func (s *DeleteScheduledActionInput) SetScheduledActionName(v string) *DeleteScheduledActionInput { 8707 s.ScheduledActionName = &v 8708 return s 8709 } 8710 8711 type DeleteScheduledActionOutput struct { 8712 _ struct{} `type:"structure"` 8713 } 8714 8715 // String returns the string representation. 8716 // 8717 // API parameter values that are decorated as "sensitive" in the API will not 8718 // be included in the string output. The member name will be present, but the 8719 // value will be replaced with "sensitive". 8720 func (s DeleteScheduledActionOutput) String() string { 8721 return awsutil.Prettify(s) 8722 } 8723 8724 // GoString returns the string representation. 8725 // 8726 // API parameter values that are decorated as "sensitive" in the API will not 8727 // be included in the string output. The member name will be present, but the 8728 // value will be replaced with "sensitive". 8729 func (s DeleteScheduledActionOutput) GoString() string { 8730 return s.String() 8731 } 8732 8733 type DeleteTagsInput struct { 8734 _ struct{} `type:"structure"` 8735 8736 // One or more tags. 8737 // 8738 // Tags is a required field 8739 Tags []*Tag `type:"list" required:"true"` 8740 } 8741 8742 // String returns the string representation. 8743 // 8744 // API parameter values that are decorated as "sensitive" in the API will not 8745 // be included in the string output. The member name will be present, but the 8746 // value will be replaced with "sensitive". 8747 func (s DeleteTagsInput) String() string { 8748 return awsutil.Prettify(s) 8749 } 8750 8751 // GoString returns the string representation. 8752 // 8753 // API parameter values that are decorated as "sensitive" in the API will not 8754 // be included in the string output. The member name will be present, but the 8755 // value will be replaced with "sensitive". 8756 func (s DeleteTagsInput) GoString() string { 8757 return s.String() 8758 } 8759 8760 // Validate inspects the fields of the type to determine if they are valid. 8761 func (s *DeleteTagsInput) Validate() error { 8762 invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"} 8763 if s.Tags == nil { 8764 invalidParams.Add(request.NewErrParamRequired("Tags")) 8765 } 8766 if s.Tags != nil { 8767 for i, v := range s.Tags { 8768 if v == nil { 8769 continue 8770 } 8771 if err := v.Validate(); err != nil { 8772 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8773 } 8774 } 8775 } 8776 8777 if invalidParams.Len() > 0 { 8778 return invalidParams 8779 } 8780 return nil 8781 } 8782 8783 // SetTags sets the Tags field's value. 8784 func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput { 8785 s.Tags = v 8786 return s 8787 } 8788 8789 type DeleteTagsOutput struct { 8790 _ struct{} `type:"structure"` 8791 } 8792 8793 // String returns the string representation. 8794 // 8795 // API parameter values that are decorated as "sensitive" in the API will not 8796 // be included in the string output. The member name will be present, but the 8797 // value will be replaced with "sensitive". 8798 func (s DeleteTagsOutput) String() string { 8799 return awsutil.Prettify(s) 8800 } 8801 8802 // GoString returns the string representation. 8803 // 8804 // API parameter values that are decorated as "sensitive" in the API will not 8805 // be included in the string output. The member name will be present, but the 8806 // value will be replaced with "sensitive". 8807 func (s DeleteTagsOutput) GoString() string { 8808 return s.String() 8809 } 8810 8811 type DeleteWarmPoolInput struct { 8812 _ struct{} `type:"structure"` 8813 8814 // The name of the Auto Scaling group. 8815 // 8816 // AutoScalingGroupName is a required field 8817 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 8818 8819 // Specifies that the warm pool is to be deleted along with all of its associated 8820 // instances, without waiting for all instances to be terminated. This parameter 8821 // also deletes any outstanding lifecycle actions associated with the warm pool 8822 // instances. 8823 ForceDelete *bool `type:"boolean"` 8824 } 8825 8826 // String returns the string representation. 8827 // 8828 // API parameter values that are decorated as "sensitive" in the API will not 8829 // be included in the string output. The member name will be present, but the 8830 // value will be replaced with "sensitive". 8831 func (s DeleteWarmPoolInput) String() string { 8832 return awsutil.Prettify(s) 8833 } 8834 8835 // GoString returns the string representation. 8836 // 8837 // API parameter values that are decorated as "sensitive" in the API will not 8838 // be included in the string output. The member name will be present, but the 8839 // value will be replaced with "sensitive". 8840 func (s DeleteWarmPoolInput) GoString() string { 8841 return s.String() 8842 } 8843 8844 // Validate inspects the fields of the type to determine if they are valid. 8845 func (s *DeleteWarmPoolInput) Validate() error { 8846 invalidParams := request.ErrInvalidParams{Context: "DeleteWarmPoolInput"} 8847 if s.AutoScalingGroupName == nil { 8848 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 8849 } 8850 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 8851 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 8852 } 8853 8854 if invalidParams.Len() > 0 { 8855 return invalidParams 8856 } 8857 return nil 8858 } 8859 8860 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 8861 func (s *DeleteWarmPoolInput) SetAutoScalingGroupName(v string) *DeleteWarmPoolInput { 8862 s.AutoScalingGroupName = &v 8863 return s 8864 } 8865 8866 // SetForceDelete sets the ForceDelete field's value. 8867 func (s *DeleteWarmPoolInput) SetForceDelete(v bool) *DeleteWarmPoolInput { 8868 s.ForceDelete = &v 8869 return s 8870 } 8871 8872 type DeleteWarmPoolOutput struct { 8873 _ struct{} `type:"structure"` 8874 } 8875 8876 // String returns the string representation. 8877 // 8878 // API parameter values that are decorated as "sensitive" in the API will not 8879 // be included in the string output. The member name will be present, but the 8880 // value will be replaced with "sensitive". 8881 func (s DeleteWarmPoolOutput) String() string { 8882 return awsutil.Prettify(s) 8883 } 8884 8885 // GoString returns the string representation. 8886 // 8887 // API parameter values that are decorated as "sensitive" in the API will not 8888 // be included in the string output. The member name will be present, but the 8889 // value will be replaced with "sensitive". 8890 func (s DeleteWarmPoolOutput) GoString() string { 8891 return s.String() 8892 } 8893 8894 type DescribeAccountLimitsInput struct { 8895 _ struct{} `type:"structure"` 8896 } 8897 8898 // String returns the string representation. 8899 // 8900 // API parameter values that are decorated as "sensitive" in the API will not 8901 // be included in the string output. The member name will be present, but the 8902 // value will be replaced with "sensitive". 8903 func (s DescribeAccountLimitsInput) String() string { 8904 return awsutil.Prettify(s) 8905 } 8906 8907 // GoString returns the string representation. 8908 // 8909 // API parameter values that are decorated as "sensitive" in the API will not 8910 // be included in the string output. The member name will be present, but the 8911 // value will be replaced with "sensitive". 8912 func (s DescribeAccountLimitsInput) GoString() string { 8913 return s.String() 8914 } 8915 8916 type DescribeAccountLimitsOutput struct { 8917 _ struct{} `type:"structure"` 8918 8919 // The maximum number of groups allowed for your account. The default is 200 8920 // groups per Region. 8921 MaxNumberOfAutoScalingGroups *int64 `type:"integer"` 8922 8923 // The maximum number of launch configurations allowed for your account. The 8924 // default is 200 launch configurations per Region. 8925 MaxNumberOfLaunchConfigurations *int64 `type:"integer"` 8926 8927 // The current number of groups for your account. 8928 NumberOfAutoScalingGroups *int64 `type:"integer"` 8929 8930 // The current number of launch configurations for your account. 8931 NumberOfLaunchConfigurations *int64 `type:"integer"` 8932 } 8933 8934 // String returns the string representation. 8935 // 8936 // API parameter values that are decorated as "sensitive" in the API will not 8937 // be included in the string output. The member name will be present, but the 8938 // value will be replaced with "sensitive". 8939 func (s DescribeAccountLimitsOutput) String() string { 8940 return awsutil.Prettify(s) 8941 } 8942 8943 // GoString returns the string representation. 8944 // 8945 // API parameter values that are decorated as "sensitive" in the API will not 8946 // be included in the string output. The member name will be present, but the 8947 // value will be replaced with "sensitive". 8948 func (s DescribeAccountLimitsOutput) GoString() string { 8949 return s.String() 8950 } 8951 8952 // SetMaxNumberOfAutoScalingGroups sets the MaxNumberOfAutoScalingGroups field's value. 8953 func (s *DescribeAccountLimitsOutput) SetMaxNumberOfAutoScalingGroups(v int64) *DescribeAccountLimitsOutput { 8954 s.MaxNumberOfAutoScalingGroups = &v 8955 return s 8956 } 8957 8958 // SetMaxNumberOfLaunchConfigurations sets the MaxNumberOfLaunchConfigurations field's value. 8959 func (s *DescribeAccountLimitsOutput) SetMaxNumberOfLaunchConfigurations(v int64) *DescribeAccountLimitsOutput { 8960 s.MaxNumberOfLaunchConfigurations = &v 8961 return s 8962 } 8963 8964 // SetNumberOfAutoScalingGroups sets the NumberOfAutoScalingGroups field's value. 8965 func (s *DescribeAccountLimitsOutput) SetNumberOfAutoScalingGroups(v int64) *DescribeAccountLimitsOutput { 8966 s.NumberOfAutoScalingGroups = &v 8967 return s 8968 } 8969 8970 // SetNumberOfLaunchConfigurations sets the NumberOfLaunchConfigurations field's value. 8971 func (s *DescribeAccountLimitsOutput) SetNumberOfLaunchConfigurations(v int64) *DescribeAccountLimitsOutput { 8972 s.NumberOfLaunchConfigurations = &v 8973 return s 8974 } 8975 8976 type DescribeAdjustmentTypesInput struct { 8977 _ struct{} `type:"structure"` 8978 } 8979 8980 // String returns the string representation. 8981 // 8982 // API parameter values that are decorated as "sensitive" in the API will not 8983 // be included in the string output. The member name will be present, but the 8984 // value will be replaced with "sensitive". 8985 func (s DescribeAdjustmentTypesInput) String() string { 8986 return awsutil.Prettify(s) 8987 } 8988 8989 // GoString returns the string representation. 8990 // 8991 // API parameter values that are decorated as "sensitive" in the API will not 8992 // be included in the string output. The member name will be present, but the 8993 // value will be replaced with "sensitive". 8994 func (s DescribeAdjustmentTypesInput) GoString() string { 8995 return s.String() 8996 } 8997 8998 type DescribeAdjustmentTypesOutput struct { 8999 _ struct{} `type:"structure"` 9000 9001 // The policy adjustment types. 9002 AdjustmentTypes []*AdjustmentType `type:"list"` 9003 } 9004 9005 // String returns the string representation. 9006 // 9007 // API parameter values that are decorated as "sensitive" in the API will not 9008 // be included in the string output. The member name will be present, but the 9009 // value will be replaced with "sensitive". 9010 func (s DescribeAdjustmentTypesOutput) String() string { 9011 return awsutil.Prettify(s) 9012 } 9013 9014 // GoString returns the string representation. 9015 // 9016 // API parameter values that are decorated as "sensitive" in the API will not 9017 // be included in the string output. The member name will be present, but the 9018 // value will be replaced with "sensitive". 9019 func (s DescribeAdjustmentTypesOutput) GoString() string { 9020 return s.String() 9021 } 9022 9023 // SetAdjustmentTypes sets the AdjustmentTypes field's value. 9024 func (s *DescribeAdjustmentTypesOutput) SetAdjustmentTypes(v []*AdjustmentType) *DescribeAdjustmentTypesOutput { 9025 s.AdjustmentTypes = v 9026 return s 9027 } 9028 9029 type DescribeAutoScalingGroupsInput struct { 9030 _ struct{} `type:"structure"` 9031 9032 // The names of the Auto Scaling groups. By default, you can only specify up 9033 // to 50 names. You can optionally increase this limit using the MaxRecords 9034 // parameter. 9035 // 9036 // If you omit this parameter, all Auto Scaling groups are described. 9037 AutoScalingGroupNames []*string `type:"list"` 9038 9039 // The maximum number of items to return with this call. The default value is 9040 // 50 and the maximum value is 100. 9041 MaxRecords *int64 `type:"integer"` 9042 9043 // The token for the next set of items to return. (You received this token from 9044 // a previous call.) 9045 NextToken *string `type:"string"` 9046 } 9047 9048 // String returns the string representation. 9049 // 9050 // API parameter values that are decorated as "sensitive" in the API will not 9051 // be included in the string output. The member name will be present, but the 9052 // value will be replaced with "sensitive". 9053 func (s DescribeAutoScalingGroupsInput) String() string { 9054 return awsutil.Prettify(s) 9055 } 9056 9057 // GoString returns the string representation. 9058 // 9059 // API parameter values that are decorated as "sensitive" in the API will not 9060 // be included in the string output. The member name will be present, but the 9061 // value will be replaced with "sensitive". 9062 func (s DescribeAutoScalingGroupsInput) GoString() string { 9063 return s.String() 9064 } 9065 9066 // SetAutoScalingGroupNames sets the AutoScalingGroupNames field's value. 9067 func (s *DescribeAutoScalingGroupsInput) SetAutoScalingGroupNames(v []*string) *DescribeAutoScalingGroupsInput { 9068 s.AutoScalingGroupNames = v 9069 return s 9070 } 9071 9072 // SetMaxRecords sets the MaxRecords field's value. 9073 func (s *DescribeAutoScalingGroupsInput) SetMaxRecords(v int64) *DescribeAutoScalingGroupsInput { 9074 s.MaxRecords = &v 9075 return s 9076 } 9077 9078 // SetNextToken sets the NextToken field's value. 9079 func (s *DescribeAutoScalingGroupsInput) SetNextToken(v string) *DescribeAutoScalingGroupsInput { 9080 s.NextToken = &v 9081 return s 9082 } 9083 9084 type DescribeAutoScalingGroupsOutput struct { 9085 _ struct{} `type:"structure"` 9086 9087 // The groups. 9088 // 9089 // AutoScalingGroups is a required field 9090 AutoScalingGroups []*Group `type:"list" required:"true"` 9091 9092 // A string that indicates that the response contains more items than can be 9093 // returned in a single response. To receive additional items, specify this 9094 // string for the NextToken value when requesting the next set of items. This 9095 // value is null when there are no more items to return. 9096 NextToken *string `type:"string"` 9097 } 9098 9099 // String returns the string representation. 9100 // 9101 // API parameter values that are decorated as "sensitive" in the API will not 9102 // be included in the string output. The member name will be present, but the 9103 // value will be replaced with "sensitive". 9104 func (s DescribeAutoScalingGroupsOutput) String() string { 9105 return awsutil.Prettify(s) 9106 } 9107 9108 // GoString returns the string representation. 9109 // 9110 // API parameter values that are decorated as "sensitive" in the API will not 9111 // be included in the string output. The member name will be present, but the 9112 // value will be replaced with "sensitive". 9113 func (s DescribeAutoScalingGroupsOutput) GoString() string { 9114 return s.String() 9115 } 9116 9117 // SetAutoScalingGroups sets the AutoScalingGroups field's value. 9118 func (s *DescribeAutoScalingGroupsOutput) SetAutoScalingGroups(v []*Group) *DescribeAutoScalingGroupsOutput { 9119 s.AutoScalingGroups = v 9120 return s 9121 } 9122 9123 // SetNextToken sets the NextToken field's value. 9124 func (s *DescribeAutoScalingGroupsOutput) SetNextToken(v string) *DescribeAutoScalingGroupsOutput { 9125 s.NextToken = &v 9126 return s 9127 } 9128 9129 type DescribeAutoScalingInstancesInput struct { 9130 _ struct{} `type:"structure"` 9131 9132 // The IDs of the instances. If you omit this parameter, all Auto Scaling instances 9133 // are described. If you specify an ID that does not exist, it is ignored with 9134 // no error. 9135 // 9136 // Array Members: Maximum number of 50 items. 9137 InstanceIds []*string `type:"list"` 9138 9139 // The maximum number of items to return with this call. The default value is 9140 // 50 and the maximum value is 50. 9141 MaxRecords *int64 `type:"integer"` 9142 9143 // The token for the next set of items to return. (You received this token from 9144 // a previous call.) 9145 NextToken *string `type:"string"` 9146 } 9147 9148 // String returns the string representation. 9149 // 9150 // API parameter values that are decorated as "sensitive" in the API will not 9151 // be included in the string output. The member name will be present, but the 9152 // value will be replaced with "sensitive". 9153 func (s DescribeAutoScalingInstancesInput) String() string { 9154 return awsutil.Prettify(s) 9155 } 9156 9157 // GoString returns the string representation. 9158 // 9159 // API parameter values that are decorated as "sensitive" in the API will not 9160 // be included in the string output. The member name will be present, but the 9161 // value will be replaced with "sensitive". 9162 func (s DescribeAutoScalingInstancesInput) GoString() string { 9163 return s.String() 9164 } 9165 9166 // SetInstanceIds sets the InstanceIds field's value. 9167 func (s *DescribeAutoScalingInstancesInput) SetInstanceIds(v []*string) *DescribeAutoScalingInstancesInput { 9168 s.InstanceIds = v 9169 return s 9170 } 9171 9172 // SetMaxRecords sets the MaxRecords field's value. 9173 func (s *DescribeAutoScalingInstancesInput) SetMaxRecords(v int64) *DescribeAutoScalingInstancesInput { 9174 s.MaxRecords = &v 9175 return s 9176 } 9177 9178 // SetNextToken sets the NextToken field's value. 9179 func (s *DescribeAutoScalingInstancesInput) SetNextToken(v string) *DescribeAutoScalingInstancesInput { 9180 s.NextToken = &v 9181 return s 9182 } 9183 9184 type DescribeAutoScalingInstancesOutput struct { 9185 _ struct{} `type:"structure"` 9186 9187 // The instances. 9188 AutoScalingInstances []*InstanceDetails `type:"list"` 9189 9190 // A string that indicates that the response contains more items than can be 9191 // returned in a single response. To receive additional items, specify this 9192 // string for the NextToken value when requesting the next set of items. This 9193 // value is null when there are no more items to return. 9194 NextToken *string `type:"string"` 9195 } 9196 9197 // String returns the string representation. 9198 // 9199 // API parameter values that are decorated as "sensitive" in the API will not 9200 // be included in the string output. The member name will be present, but the 9201 // value will be replaced with "sensitive". 9202 func (s DescribeAutoScalingInstancesOutput) String() string { 9203 return awsutil.Prettify(s) 9204 } 9205 9206 // GoString returns the string representation. 9207 // 9208 // API parameter values that are decorated as "sensitive" in the API will not 9209 // be included in the string output. The member name will be present, but the 9210 // value will be replaced with "sensitive". 9211 func (s DescribeAutoScalingInstancesOutput) GoString() string { 9212 return s.String() 9213 } 9214 9215 // SetAutoScalingInstances sets the AutoScalingInstances field's value. 9216 func (s *DescribeAutoScalingInstancesOutput) SetAutoScalingInstances(v []*InstanceDetails) *DescribeAutoScalingInstancesOutput { 9217 s.AutoScalingInstances = v 9218 return s 9219 } 9220 9221 // SetNextToken sets the NextToken field's value. 9222 func (s *DescribeAutoScalingInstancesOutput) SetNextToken(v string) *DescribeAutoScalingInstancesOutput { 9223 s.NextToken = &v 9224 return s 9225 } 9226 9227 type DescribeAutoScalingNotificationTypesInput struct { 9228 _ struct{} `type:"structure"` 9229 } 9230 9231 // String returns the string representation. 9232 // 9233 // API parameter values that are decorated as "sensitive" in the API will not 9234 // be included in the string output. The member name will be present, but the 9235 // value will be replaced with "sensitive". 9236 func (s DescribeAutoScalingNotificationTypesInput) String() string { 9237 return awsutil.Prettify(s) 9238 } 9239 9240 // GoString returns the string representation. 9241 // 9242 // API parameter values that are decorated as "sensitive" in the API will not 9243 // be included in the string output. The member name will be present, but the 9244 // value will be replaced with "sensitive". 9245 func (s DescribeAutoScalingNotificationTypesInput) GoString() string { 9246 return s.String() 9247 } 9248 9249 type DescribeAutoScalingNotificationTypesOutput struct { 9250 _ struct{} `type:"structure"` 9251 9252 // The notification types. 9253 AutoScalingNotificationTypes []*string `type:"list"` 9254 } 9255 9256 // String returns the string representation. 9257 // 9258 // API parameter values that are decorated as "sensitive" in the API will not 9259 // be included in the string output. The member name will be present, but the 9260 // value will be replaced with "sensitive". 9261 func (s DescribeAutoScalingNotificationTypesOutput) String() string { 9262 return awsutil.Prettify(s) 9263 } 9264 9265 // GoString returns the string representation. 9266 // 9267 // API parameter values that are decorated as "sensitive" in the API will not 9268 // be included in the string output. The member name will be present, but the 9269 // value will be replaced with "sensitive". 9270 func (s DescribeAutoScalingNotificationTypesOutput) GoString() string { 9271 return s.String() 9272 } 9273 9274 // SetAutoScalingNotificationTypes sets the AutoScalingNotificationTypes field's value. 9275 func (s *DescribeAutoScalingNotificationTypesOutput) SetAutoScalingNotificationTypes(v []*string) *DescribeAutoScalingNotificationTypesOutput { 9276 s.AutoScalingNotificationTypes = v 9277 return s 9278 } 9279 9280 type DescribeInstanceRefreshesInput struct { 9281 _ struct{} `type:"structure"` 9282 9283 // The name of the Auto Scaling group. 9284 // 9285 // AutoScalingGroupName is a required field 9286 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 9287 9288 // One or more instance refresh IDs. 9289 InstanceRefreshIds []*string `type:"list"` 9290 9291 // The maximum number of items to return with this call. The default value is 9292 // 50 and the maximum value is 100. 9293 MaxRecords *int64 `type:"integer"` 9294 9295 // The token for the next set of items to return. (You received this token from 9296 // a previous call.) 9297 NextToken *string `type:"string"` 9298 } 9299 9300 // String returns the string representation. 9301 // 9302 // API parameter values that are decorated as "sensitive" in the API will not 9303 // be included in the string output. The member name will be present, but the 9304 // value will be replaced with "sensitive". 9305 func (s DescribeInstanceRefreshesInput) String() string { 9306 return awsutil.Prettify(s) 9307 } 9308 9309 // GoString returns the string representation. 9310 // 9311 // API parameter values that are decorated as "sensitive" in the API will not 9312 // be included in the string output. The member name will be present, but the 9313 // value will be replaced with "sensitive". 9314 func (s DescribeInstanceRefreshesInput) GoString() string { 9315 return s.String() 9316 } 9317 9318 // Validate inspects the fields of the type to determine if they are valid. 9319 func (s *DescribeInstanceRefreshesInput) Validate() error { 9320 invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceRefreshesInput"} 9321 if s.AutoScalingGroupName == nil { 9322 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 9323 } 9324 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 9325 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 9326 } 9327 9328 if invalidParams.Len() > 0 { 9329 return invalidParams 9330 } 9331 return nil 9332 } 9333 9334 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 9335 func (s *DescribeInstanceRefreshesInput) SetAutoScalingGroupName(v string) *DescribeInstanceRefreshesInput { 9336 s.AutoScalingGroupName = &v 9337 return s 9338 } 9339 9340 // SetInstanceRefreshIds sets the InstanceRefreshIds field's value. 9341 func (s *DescribeInstanceRefreshesInput) SetInstanceRefreshIds(v []*string) *DescribeInstanceRefreshesInput { 9342 s.InstanceRefreshIds = v 9343 return s 9344 } 9345 9346 // SetMaxRecords sets the MaxRecords field's value. 9347 func (s *DescribeInstanceRefreshesInput) SetMaxRecords(v int64) *DescribeInstanceRefreshesInput { 9348 s.MaxRecords = &v 9349 return s 9350 } 9351 9352 // SetNextToken sets the NextToken field's value. 9353 func (s *DescribeInstanceRefreshesInput) SetNextToken(v string) *DescribeInstanceRefreshesInput { 9354 s.NextToken = &v 9355 return s 9356 } 9357 9358 type DescribeInstanceRefreshesOutput struct { 9359 _ struct{} `type:"structure"` 9360 9361 // The instance refreshes for the specified group. 9362 InstanceRefreshes []*InstanceRefresh `type:"list"` 9363 9364 // A string that indicates that the response contains more items than can be 9365 // returned in a single response. To receive additional items, specify this 9366 // string for the NextToken value when requesting the next set of items. This 9367 // value is null when there are no more items to return. 9368 NextToken *string `type:"string"` 9369 } 9370 9371 // String returns the string representation. 9372 // 9373 // API parameter values that are decorated as "sensitive" in the API will not 9374 // be included in the string output. The member name will be present, but the 9375 // value will be replaced with "sensitive". 9376 func (s DescribeInstanceRefreshesOutput) String() string { 9377 return awsutil.Prettify(s) 9378 } 9379 9380 // GoString returns the string representation. 9381 // 9382 // API parameter values that are decorated as "sensitive" in the API will not 9383 // be included in the string output. The member name will be present, but the 9384 // value will be replaced with "sensitive". 9385 func (s DescribeInstanceRefreshesOutput) GoString() string { 9386 return s.String() 9387 } 9388 9389 // SetInstanceRefreshes sets the InstanceRefreshes field's value. 9390 func (s *DescribeInstanceRefreshesOutput) SetInstanceRefreshes(v []*InstanceRefresh) *DescribeInstanceRefreshesOutput { 9391 s.InstanceRefreshes = v 9392 return s 9393 } 9394 9395 // SetNextToken sets the NextToken field's value. 9396 func (s *DescribeInstanceRefreshesOutput) SetNextToken(v string) *DescribeInstanceRefreshesOutput { 9397 s.NextToken = &v 9398 return s 9399 } 9400 9401 type DescribeLaunchConfigurationsInput struct { 9402 _ struct{} `type:"structure"` 9403 9404 // The launch configuration names. If you omit this parameter, all launch configurations 9405 // are described. 9406 // 9407 // Array Members: Maximum number of 50 items. 9408 LaunchConfigurationNames []*string `type:"list"` 9409 9410 // The maximum number of items to return with this call. The default value is 9411 // 50 and the maximum value is 100. 9412 MaxRecords *int64 `type:"integer"` 9413 9414 // The token for the next set of items to return. (You received this token from 9415 // a previous call.) 9416 NextToken *string `type:"string"` 9417 } 9418 9419 // String returns the string representation. 9420 // 9421 // API parameter values that are decorated as "sensitive" in the API will not 9422 // be included in the string output. The member name will be present, but the 9423 // value will be replaced with "sensitive". 9424 func (s DescribeLaunchConfigurationsInput) String() string { 9425 return awsutil.Prettify(s) 9426 } 9427 9428 // GoString returns the string representation. 9429 // 9430 // API parameter values that are decorated as "sensitive" in the API will not 9431 // be included in the string output. The member name will be present, but the 9432 // value will be replaced with "sensitive". 9433 func (s DescribeLaunchConfigurationsInput) GoString() string { 9434 return s.String() 9435 } 9436 9437 // SetLaunchConfigurationNames sets the LaunchConfigurationNames field's value. 9438 func (s *DescribeLaunchConfigurationsInput) SetLaunchConfigurationNames(v []*string) *DescribeLaunchConfigurationsInput { 9439 s.LaunchConfigurationNames = v 9440 return s 9441 } 9442 9443 // SetMaxRecords sets the MaxRecords field's value. 9444 func (s *DescribeLaunchConfigurationsInput) SetMaxRecords(v int64) *DescribeLaunchConfigurationsInput { 9445 s.MaxRecords = &v 9446 return s 9447 } 9448 9449 // SetNextToken sets the NextToken field's value. 9450 func (s *DescribeLaunchConfigurationsInput) SetNextToken(v string) *DescribeLaunchConfigurationsInput { 9451 s.NextToken = &v 9452 return s 9453 } 9454 9455 type DescribeLaunchConfigurationsOutput struct { 9456 _ struct{} `type:"structure"` 9457 9458 // The launch configurations. 9459 // 9460 // LaunchConfigurations is a required field 9461 LaunchConfigurations []*LaunchConfiguration `type:"list" required:"true"` 9462 9463 // A string that indicates that the response contains more items than can be 9464 // returned in a single response. To receive additional items, specify this 9465 // string for the NextToken value when requesting the next set of items. This 9466 // value is null when there are no more items to return. 9467 NextToken *string `type:"string"` 9468 } 9469 9470 // String returns the string representation. 9471 // 9472 // API parameter values that are decorated as "sensitive" in the API will not 9473 // be included in the string output. The member name will be present, but the 9474 // value will be replaced with "sensitive". 9475 func (s DescribeLaunchConfigurationsOutput) String() string { 9476 return awsutil.Prettify(s) 9477 } 9478 9479 // GoString returns the string representation. 9480 // 9481 // API parameter values that are decorated as "sensitive" in the API will not 9482 // be included in the string output. The member name will be present, but the 9483 // value will be replaced with "sensitive". 9484 func (s DescribeLaunchConfigurationsOutput) GoString() string { 9485 return s.String() 9486 } 9487 9488 // SetLaunchConfigurations sets the LaunchConfigurations field's value. 9489 func (s *DescribeLaunchConfigurationsOutput) SetLaunchConfigurations(v []*LaunchConfiguration) *DescribeLaunchConfigurationsOutput { 9490 s.LaunchConfigurations = v 9491 return s 9492 } 9493 9494 // SetNextToken sets the NextToken field's value. 9495 func (s *DescribeLaunchConfigurationsOutput) SetNextToken(v string) *DescribeLaunchConfigurationsOutput { 9496 s.NextToken = &v 9497 return s 9498 } 9499 9500 type DescribeLifecycleHookTypesInput struct { 9501 _ struct{} `type:"structure"` 9502 } 9503 9504 // String returns the string representation. 9505 // 9506 // API parameter values that are decorated as "sensitive" in the API will not 9507 // be included in the string output. The member name will be present, but the 9508 // value will be replaced with "sensitive". 9509 func (s DescribeLifecycleHookTypesInput) String() string { 9510 return awsutil.Prettify(s) 9511 } 9512 9513 // GoString returns the string representation. 9514 // 9515 // API parameter values that are decorated as "sensitive" in the API will not 9516 // be included in the string output. The member name will be present, but the 9517 // value will be replaced with "sensitive". 9518 func (s DescribeLifecycleHookTypesInput) GoString() string { 9519 return s.String() 9520 } 9521 9522 type DescribeLifecycleHookTypesOutput struct { 9523 _ struct{} `type:"structure"` 9524 9525 // The lifecycle hook types. 9526 LifecycleHookTypes []*string `type:"list"` 9527 } 9528 9529 // String returns the string representation. 9530 // 9531 // API parameter values that are decorated as "sensitive" in the API will not 9532 // be included in the string output. The member name will be present, but the 9533 // value will be replaced with "sensitive". 9534 func (s DescribeLifecycleHookTypesOutput) String() string { 9535 return awsutil.Prettify(s) 9536 } 9537 9538 // GoString returns the string representation. 9539 // 9540 // API parameter values that are decorated as "sensitive" in the API will not 9541 // be included in the string output. The member name will be present, but the 9542 // value will be replaced with "sensitive". 9543 func (s DescribeLifecycleHookTypesOutput) GoString() string { 9544 return s.String() 9545 } 9546 9547 // SetLifecycleHookTypes sets the LifecycleHookTypes field's value. 9548 func (s *DescribeLifecycleHookTypesOutput) SetLifecycleHookTypes(v []*string) *DescribeLifecycleHookTypesOutput { 9549 s.LifecycleHookTypes = v 9550 return s 9551 } 9552 9553 type DescribeLifecycleHooksInput struct { 9554 _ struct{} `type:"structure"` 9555 9556 // The name of the Auto Scaling group. 9557 // 9558 // AutoScalingGroupName is a required field 9559 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 9560 9561 // The names of one or more lifecycle hooks. If you omit this parameter, all 9562 // lifecycle hooks are described. 9563 LifecycleHookNames []*string `type:"list"` 9564 } 9565 9566 // String returns the string representation. 9567 // 9568 // API parameter values that are decorated as "sensitive" in the API will not 9569 // be included in the string output. The member name will be present, but the 9570 // value will be replaced with "sensitive". 9571 func (s DescribeLifecycleHooksInput) String() string { 9572 return awsutil.Prettify(s) 9573 } 9574 9575 // GoString returns the string representation. 9576 // 9577 // API parameter values that are decorated as "sensitive" in the API will not 9578 // be included in the string output. The member name will be present, but the 9579 // value will be replaced with "sensitive". 9580 func (s DescribeLifecycleHooksInput) GoString() string { 9581 return s.String() 9582 } 9583 9584 // Validate inspects the fields of the type to determine if they are valid. 9585 func (s *DescribeLifecycleHooksInput) Validate() error { 9586 invalidParams := request.ErrInvalidParams{Context: "DescribeLifecycleHooksInput"} 9587 if s.AutoScalingGroupName == nil { 9588 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 9589 } 9590 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 9591 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 9592 } 9593 9594 if invalidParams.Len() > 0 { 9595 return invalidParams 9596 } 9597 return nil 9598 } 9599 9600 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 9601 func (s *DescribeLifecycleHooksInput) SetAutoScalingGroupName(v string) *DescribeLifecycleHooksInput { 9602 s.AutoScalingGroupName = &v 9603 return s 9604 } 9605 9606 // SetLifecycleHookNames sets the LifecycleHookNames field's value. 9607 func (s *DescribeLifecycleHooksInput) SetLifecycleHookNames(v []*string) *DescribeLifecycleHooksInput { 9608 s.LifecycleHookNames = v 9609 return s 9610 } 9611 9612 type DescribeLifecycleHooksOutput struct { 9613 _ struct{} `type:"structure"` 9614 9615 // The lifecycle hooks for the specified group. 9616 LifecycleHooks []*LifecycleHook `type:"list"` 9617 } 9618 9619 // String returns the string representation. 9620 // 9621 // API parameter values that are decorated as "sensitive" in the API will not 9622 // be included in the string output. The member name will be present, but the 9623 // value will be replaced with "sensitive". 9624 func (s DescribeLifecycleHooksOutput) String() string { 9625 return awsutil.Prettify(s) 9626 } 9627 9628 // GoString returns the string representation. 9629 // 9630 // API parameter values that are decorated as "sensitive" in the API will not 9631 // be included in the string output. The member name will be present, but the 9632 // value will be replaced with "sensitive". 9633 func (s DescribeLifecycleHooksOutput) GoString() string { 9634 return s.String() 9635 } 9636 9637 // SetLifecycleHooks sets the LifecycleHooks field's value. 9638 func (s *DescribeLifecycleHooksOutput) SetLifecycleHooks(v []*LifecycleHook) *DescribeLifecycleHooksOutput { 9639 s.LifecycleHooks = v 9640 return s 9641 } 9642 9643 type DescribeLoadBalancerTargetGroupsInput struct { 9644 _ struct{} `type:"structure"` 9645 9646 // The name of the Auto Scaling group. 9647 // 9648 // AutoScalingGroupName is a required field 9649 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 9650 9651 // The maximum number of items to return with this call. The default value is 9652 // 100 and the maximum value is 100. 9653 MaxRecords *int64 `type:"integer"` 9654 9655 // The token for the next set of items to return. (You received this token from 9656 // a previous call.) 9657 NextToken *string `type:"string"` 9658 } 9659 9660 // String returns the string representation. 9661 // 9662 // API parameter values that are decorated as "sensitive" in the API will not 9663 // be included in the string output. The member name will be present, but the 9664 // value will be replaced with "sensitive". 9665 func (s DescribeLoadBalancerTargetGroupsInput) String() string { 9666 return awsutil.Prettify(s) 9667 } 9668 9669 // GoString returns the string representation. 9670 // 9671 // API parameter values that are decorated as "sensitive" in the API will not 9672 // be included in the string output. The member name will be present, but the 9673 // value will be replaced with "sensitive". 9674 func (s DescribeLoadBalancerTargetGroupsInput) GoString() string { 9675 return s.String() 9676 } 9677 9678 // Validate inspects the fields of the type to determine if they are valid. 9679 func (s *DescribeLoadBalancerTargetGroupsInput) Validate() error { 9680 invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBalancerTargetGroupsInput"} 9681 if s.AutoScalingGroupName == nil { 9682 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 9683 } 9684 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 9685 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 9686 } 9687 9688 if invalidParams.Len() > 0 { 9689 return invalidParams 9690 } 9691 return nil 9692 } 9693 9694 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 9695 func (s *DescribeLoadBalancerTargetGroupsInput) SetAutoScalingGroupName(v string) *DescribeLoadBalancerTargetGroupsInput { 9696 s.AutoScalingGroupName = &v 9697 return s 9698 } 9699 9700 // SetMaxRecords sets the MaxRecords field's value. 9701 func (s *DescribeLoadBalancerTargetGroupsInput) SetMaxRecords(v int64) *DescribeLoadBalancerTargetGroupsInput { 9702 s.MaxRecords = &v 9703 return s 9704 } 9705 9706 // SetNextToken sets the NextToken field's value. 9707 func (s *DescribeLoadBalancerTargetGroupsInput) SetNextToken(v string) *DescribeLoadBalancerTargetGroupsInput { 9708 s.NextToken = &v 9709 return s 9710 } 9711 9712 type DescribeLoadBalancerTargetGroupsOutput struct { 9713 _ struct{} `type:"structure"` 9714 9715 // Information about the target groups. 9716 LoadBalancerTargetGroups []*LoadBalancerTargetGroupState `type:"list"` 9717 9718 // A string that indicates that the response contains more items than can be 9719 // returned in a single response. To receive additional items, specify this 9720 // string for the NextToken value when requesting the next set of items. This 9721 // value is null when there are no more items to return. 9722 NextToken *string `type:"string"` 9723 } 9724 9725 // String returns the string representation. 9726 // 9727 // API parameter values that are decorated as "sensitive" in the API will not 9728 // be included in the string output. The member name will be present, but the 9729 // value will be replaced with "sensitive". 9730 func (s DescribeLoadBalancerTargetGroupsOutput) String() string { 9731 return awsutil.Prettify(s) 9732 } 9733 9734 // GoString returns the string representation. 9735 // 9736 // API parameter values that are decorated as "sensitive" in the API will not 9737 // be included in the string output. The member name will be present, but the 9738 // value will be replaced with "sensitive". 9739 func (s DescribeLoadBalancerTargetGroupsOutput) GoString() string { 9740 return s.String() 9741 } 9742 9743 // SetLoadBalancerTargetGroups sets the LoadBalancerTargetGroups field's value. 9744 func (s *DescribeLoadBalancerTargetGroupsOutput) SetLoadBalancerTargetGroups(v []*LoadBalancerTargetGroupState) *DescribeLoadBalancerTargetGroupsOutput { 9745 s.LoadBalancerTargetGroups = v 9746 return s 9747 } 9748 9749 // SetNextToken sets the NextToken field's value. 9750 func (s *DescribeLoadBalancerTargetGroupsOutput) SetNextToken(v string) *DescribeLoadBalancerTargetGroupsOutput { 9751 s.NextToken = &v 9752 return s 9753 } 9754 9755 type DescribeLoadBalancersInput struct { 9756 _ struct{} `type:"structure"` 9757 9758 // The name of the Auto Scaling group. 9759 // 9760 // AutoScalingGroupName is a required field 9761 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 9762 9763 // The maximum number of items to return with this call. The default value is 9764 // 100 and the maximum value is 100. 9765 MaxRecords *int64 `type:"integer"` 9766 9767 // The token for the next set of items to return. (You received this token from 9768 // a previous call.) 9769 NextToken *string `type:"string"` 9770 } 9771 9772 // String returns the string representation. 9773 // 9774 // API parameter values that are decorated as "sensitive" in the API will not 9775 // be included in the string output. The member name will be present, but the 9776 // value will be replaced with "sensitive". 9777 func (s DescribeLoadBalancersInput) String() string { 9778 return awsutil.Prettify(s) 9779 } 9780 9781 // GoString returns the string representation. 9782 // 9783 // API parameter values that are decorated as "sensitive" in the API will not 9784 // be included in the string output. The member name will be present, but the 9785 // value will be replaced with "sensitive". 9786 func (s DescribeLoadBalancersInput) GoString() string { 9787 return s.String() 9788 } 9789 9790 // Validate inspects the fields of the type to determine if they are valid. 9791 func (s *DescribeLoadBalancersInput) Validate() error { 9792 invalidParams := request.ErrInvalidParams{Context: "DescribeLoadBalancersInput"} 9793 if s.AutoScalingGroupName == nil { 9794 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 9795 } 9796 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 9797 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 9798 } 9799 9800 if invalidParams.Len() > 0 { 9801 return invalidParams 9802 } 9803 return nil 9804 } 9805 9806 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 9807 func (s *DescribeLoadBalancersInput) SetAutoScalingGroupName(v string) *DescribeLoadBalancersInput { 9808 s.AutoScalingGroupName = &v 9809 return s 9810 } 9811 9812 // SetMaxRecords sets the MaxRecords field's value. 9813 func (s *DescribeLoadBalancersInput) SetMaxRecords(v int64) *DescribeLoadBalancersInput { 9814 s.MaxRecords = &v 9815 return s 9816 } 9817 9818 // SetNextToken sets the NextToken field's value. 9819 func (s *DescribeLoadBalancersInput) SetNextToken(v string) *DescribeLoadBalancersInput { 9820 s.NextToken = &v 9821 return s 9822 } 9823 9824 type DescribeLoadBalancersOutput struct { 9825 _ struct{} `type:"structure"` 9826 9827 // The load balancers. 9828 LoadBalancers []*LoadBalancerState `type:"list"` 9829 9830 // A string that indicates that the response contains more items than can be 9831 // returned in a single response. To receive additional items, specify this 9832 // string for the NextToken value when requesting the next set of items. This 9833 // value is null when there are no more items to return. 9834 NextToken *string `type:"string"` 9835 } 9836 9837 // String returns the string representation. 9838 // 9839 // API parameter values that are decorated as "sensitive" in the API will not 9840 // be included in the string output. The member name will be present, but the 9841 // value will be replaced with "sensitive". 9842 func (s DescribeLoadBalancersOutput) String() string { 9843 return awsutil.Prettify(s) 9844 } 9845 9846 // GoString returns the string representation. 9847 // 9848 // API parameter values that are decorated as "sensitive" in the API will not 9849 // be included in the string output. The member name will be present, but the 9850 // value will be replaced with "sensitive". 9851 func (s DescribeLoadBalancersOutput) GoString() string { 9852 return s.String() 9853 } 9854 9855 // SetLoadBalancers sets the LoadBalancers field's value. 9856 func (s *DescribeLoadBalancersOutput) SetLoadBalancers(v []*LoadBalancerState) *DescribeLoadBalancersOutput { 9857 s.LoadBalancers = v 9858 return s 9859 } 9860 9861 // SetNextToken sets the NextToken field's value. 9862 func (s *DescribeLoadBalancersOutput) SetNextToken(v string) *DescribeLoadBalancersOutput { 9863 s.NextToken = &v 9864 return s 9865 } 9866 9867 type DescribeMetricCollectionTypesInput struct { 9868 _ struct{} `type:"structure"` 9869 } 9870 9871 // String returns the string representation. 9872 // 9873 // API parameter values that are decorated as "sensitive" in the API will not 9874 // be included in the string output. The member name will be present, but the 9875 // value will be replaced with "sensitive". 9876 func (s DescribeMetricCollectionTypesInput) String() string { 9877 return awsutil.Prettify(s) 9878 } 9879 9880 // GoString returns the string representation. 9881 // 9882 // API parameter values that are decorated as "sensitive" in the API will not 9883 // be included in the string output. The member name will be present, but the 9884 // value will be replaced with "sensitive". 9885 func (s DescribeMetricCollectionTypesInput) GoString() string { 9886 return s.String() 9887 } 9888 9889 type DescribeMetricCollectionTypesOutput struct { 9890 _ struct{} `type:"structure"` 9891 9892 // The granularities for the metrics. 9893 Granularities []*MetricGranularityType `type:"list"` 9894 9895 // One or more metrics. 9896 Metrics []*MetricCollectionType `type:"list"` 9897 } 9898 9899 // String returns the string representation. 9900 // 9901 // API parameter values that are decorated as "sensitive" in the API will not 9902 // be included in the string output. The member name will be present, but the 9903 // value will be replaced with "sensitive". 9904 func (s DescribeMetricCollectionTypesOutput) String() string { 9905 return awsutil.Prettify(s) 9906 } 9907 9908 // GoString returns the string representation. 9909 // 9910 // API parameter values that are decorated as "sensitive" in the API will not 9911 // be included in the string output. The member name will be present, but the 9912 // value will be replaced with "sensitive". 9913 func (s DescribeMetricCollectionTypesOutput) GoString() string { 9914 return s.String() 9915 } 9916 9917 // SetGranularities sets the Granularities field's value. 9918 func (s *DescribeMetricCollectionTypesOutput) SetGranularities(v []*MetricGranularityType) *DescribeMetricCollectionTypesOutput { 9919 s.Granularities = v 9920 return s 9921 } 9922 9923 // SetMetrics sets the Metrics field's value. 9924 func (s *DescribeMetricCollectionTypesOutput) SetMetrics(v []*MetricCollectionType) *DescribeMetricCollectionTypesOutput { 9925 s.Metrics = v 9926 return s 9927 } 9928 9929 type DescribeNotificationConfigurationsInput struct { 9930 _ struct{} `type:"structure"` 9931 9932 // The name of the Auto Scaling group. 9933 AutoScalingGroupNames []*string `type:"list"` 9934 9935 // The maximum number of items to return with this call. The default value is 9936 // 50 and the maximum value is 100. 9937 MaxRecords *int64 `type:"integer"` 9938 9939 // The token for the next set of items to return. (You received this token from 9940 // a previous call.) 9941 NextToken *string `type:"string"` 9942 } 9943 9944 // String returns the string representation. 9945 // 9946 // API parameter values that are decorated as "sensitive" in the API will not 9947 // be included in the string output. The member name will be present, but the 9948 // value will be replaced with "sensitive". 9949 func (s DescribeNotificationConfigurationsInput) String() string { 9950 return awsutil.Prettify(s) 9951 } 9952 9953 // GoString returns the string representation. 9954 // 9955 // API parameter values that are decorated as "sensitive" in the API will not 9956 // be included in the string output. The member name will be present, but the 9957 // value will be replaced with "sensitive". 9958 func (s DescribeNotificationConfigurationsInput) GoString() string { 9959 return s.String() 9960 } 9961 9962 // SetAutoScalingGroupNames sets the AutoScalingGroupNames field's value. 9963 func (s *DescribeNotificationConfigurationsInput) SetAutoScalingGroupNames(v []*string) *DescribeNotificationConfigurationsInput { 9964 s.AutoScalingGroupNames = v 9965 return s 9966 } 9967 9968 // SetMaxRecords sets the MaxRecords field's value. 9969 func (s *DescribeNotificationConfigurationsInput) SetMaxRecords(v int64) *DescribeNotificationConfigurationsInput { 9970 s.MaxRecords = &v 9971 return s 9972 } 9973 9974 // SetNextToken sets the NextToken field's value. 9975 func (s *DescribeNotificationConfigurationsInput) SetNextToken(v string) *DescribeNotificationConfigurationsInput { 9976 s.NextToken = &v 9977 return s 9978 } 9979 9980 type DescribeNotificationConfigurationsOutput struct { 9981 _ struct{} `type:"structure"` 9982 9983 // A string that indicates that the response contains more items than can be 9984 // returned in a single response. To receive additional items, specify this 9985 // string for the NextToken value when requesting the next set of items. This 9986 // value is null when there are no more items to return. 9987 NextToken *string `type:"string"` 9988 9989 // The notification configurations. 9990 // 9991 // NotificationConfigurations is a required field 9992 NotificationConfigurations []*NotificationConfiguration `type:"list" required:"true"` 9993 } 9994 9995 // String returns the string representation. 9996 // 9997 // API parameter values that are decorated as "sensitive" in the API will not 9998 // be included in the string output. The member name will be present, but the 9999 // value will be replaced with "sensitive". 10000 func (s DescribeNotificationConfigurationsOutput) String() string { 10001 return awsutil.Prettify(s) 10002 } 10003 10004 // GoString returns the string representation. 10005 // 10006 // API parameter values that are decorated as "sensitive" in the API will not 10007 // be included in the string output. The member name will be present, but the 10008 // value will be replaced with "sensitive". 10009 func (s DescribeNotificationConfigurationsOutput) GoString() string { 10010 return s.String() 10011 } 10012 10013 // SetNextToken sets the NextToken field's value. 10014 func (s *DescribeNotificationConfigurationsOutput) SetNextToken(v string) *DescribeNotificationConfigurationsOutput { 10015 s.NextToken = &v 10016 return s 10017 } 10018 10019 // SetNotificationConfigurations sets the NotificationConfigurations field's value. 10020 func (s *DescribeNotificationConfigurationsOutput) SetNotificationConfigurations(v []*NotificationConfiguration) *DescribeNotificationConfigurationsOutput { 10021 s.NotificationConfigurations = v 10022 return s 10023 } 10024 10025 type DescribePoliciesInput struct { 10026 _ struct{} `type:"structure"` 10027 10028 // The name of the Auto Scaling group. 10029 AutoScalingGroupName *string `min:"1" type:"string"` 10030 10031 // The maximum number of items to be returned with each call. The default value 10032 // is 50 and the maximum value is 100. 10033 MaxRecords *int64 `type:"integer"` 10034 10035 // The token for the next set of items to return. (You received this token from 10036 // a previous call.) 10037 NextToken *string `type:"string"` 10038 10039 // The names of one or more policies. If you omit this parameter, all policies 10040 // are described. If a group name is provided, the results are limited to that 10041 // group. If you specify an unknown policy name, it is ignored with no error. 10042 // 10043 // Array Members: Maximum number of 50 items. 10044 PolicyNames []*string `type:"list"` 10045 10046 // One or more policy types. The valid values are SimpleScaling, StepScaling, 10047 // TargetTrackingScaling, and PredictiveScaling. 10048 PolicyTypes []*string `type:"list"` 10049 } 10050 10051 // String returns the string representation. 10052 // 10053 // API parameter values that are decorated as "sensitive" in the API will not 10054 // be included in the string output. The member name will be present, but the 10055 // value will be replaced with "sensitive". 10056 func (s DescribePoliciesInput) String() string { 10057 return awsutil.Prettify(s) 10058 } 10059 10060 // GoString returns the string representation. 10061 // 10062 // API parameter values that are decorated as "sensitive" in the API will not 10063 // be included in the string output. The member name will be present, but the 10064 // value will be replaced with "sensitive". 10065 func (s DescribePoliciesInput) GoString() string { 10066 return s.String() 10067 } 10068 10069 // Validate inspects the fields of the type to determine if they are valid. 10070 func (s *DescribePoliciesInput) Validate() error { 10071 invalidParams := request.ErrInvalidParams{Context: "DescribePoliciesInput"} 10072 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 10073 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 10074 } 10075 10076 if invalidParams.Len() > 0 { 10077 return invalidParams 10078 } 10079 return nil 10080 } 10081 10082 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 10083 func (s *DescribePoliciesInput) SetAutoScalingGroupName(v string) *DescribePoliciesInput { 10084 s.AutoScalingGroupName = &v 10085 return s 10086 } 10087 10088 // SetMaxRecords sets the MaxRecords field's value. 10089 func (s *DescribePoliciesInput) SetMaxRecords(v int64) *DescribePoliciesInput { 10090 s.MaxRecords = &v 10091 return s 10092 } 10093 10094 // SetNextToken sets the NextToken field's value. 10095 func (s *DescribePoliciesInput) SetNextToken(v string) *DescribePoliciesInput { 10096 s.NextToken = &v 10097 return s 10098 } 10099 10100 // SetPolicyNames sets the PolicyNames field's value. 10101 func (s *DescribePoliciesInput) SetPolicyNames(v []*string) *DescribePoliciesInput { 10102 s.PolicyNames = v 10103 return s 10104 } 10105 10106 // SetPolicyTypes sets the PolicyTypes field's value. 10107 func (s *DescribePoliciesInput) SetPolicyTypes(v []*string) *DescribePoliciesInput { 10108 s.PolicyTypes = v 10109 return s 10110 } 10111 10112 type DescribePoliciesOutput struct { 10113 _ struct{} `type:"structure"` 10114 10115 // A string that indicates that the response contains more items than can be 10116 // returned in a single response. To receive additional items, specify this 10117 // string for the NextToken value when requesting the next set of items. This 10118 // value is null when there are no more items to return. 10119 NextToken *string `type:"string"` 10120 10121 // The scaling policies. 10122 ScalingPolicies []*ScalingPolicy `type:"list"` 10123 } 10124 10125 // String returns the string representation. 10126 // 10127 // API parameter values that are decorated as "sensitive" in the API will not 10128 // be included in the string output. The member name will be present, but the 10129 // value will be replaced with "sensitive". 10130 func (s DescribePoliciesOutput) String() string { 10131 return awsutil.Prettify(s) 10132 } 10133 10134 // GoString returns the string representation. 10135 // 10136 // API parameter values that are decorated as "sensitive" in the API will not 10137 // be included in the string output. The member name will be present, but the 10138 // value will be replaced with "sensitive". 10139 func (s DescribePoliciesOutput) GoString() string { 10140 return s.String() 10141 } 10142 10143 // SetNextToken sets the NextToken field's value. 10144 func (s *DescribePoliciesOutput) SetNextToken(v string) *DescribePoliciesOutput { 10145 s.NextToken = &v 10146 return s 10147 } 10148 10149 // SetScalingPolicies sets the ScalingPolicies field's value. 10150 func (s *DescribePoliciesOutput) SetScalingPolicies(v []*ScalingPolicy) *DescribePoliciesOutput { 10151 s.ScalingPolicies = v 10152 return s 10153 } 10154 10155 type DescribeScalingActivitiesInput struct { 10156 _ struct{} `type:"structure"` 10157 10158 // The activity IDs of the desired scaling activities. If you omit this parameter, 10159 // all activities for the past six weeks are described. If unknown activities 10160 // are requested, they are ignored with no error. If you specify an Auto Scaling 10161 // group, the results are limited to that group. 10162 // 10163 // Array Members: Maximum number of 50 IDs. 10164 ActivityIds []*string `type:"list"` 10165 10166 // The name of the Auto Scaling group. 10167 AutoScalingGroupName *string `min:"1" type:"string"` 10168 10169 // Indicates whether to include scaling activity from deleted Auto Scaling groups. 10170 IncludeDeletedGroups *bool `type:"boolean"` 10171 10172 // The maximum number of items to return with this call. The default value is 10173 // 100 and the maximum value is 100. 10174 MaxRecords *int64 `type:"integer"` 10175 10176 // The token for the next set of items to return. (You received this token from 10177 // a previous call.) 10178 NextToken *string `type:"string"` 10179 } 10180 10181 // String returns the string representation. 10182 // 10183 // API parameter values that are decorated as "sensitive" in the API will not 10184 // be included in the string output. The member name will be present, but the 10185 // value will be replaced with "sensitive". 10186 func (s DescribeScalingActivitiesInput) String() string { 10187 return awsutil.Prettify(s) 10188 } 10189 10190 // GoString returns the string representation. 10191 // 10192 // API parameter values that are decorated as "sensitive" in the API will not 10193 // be included in the string output. The member name will be present, but the 10194 // value will be replaced with "sensitive". 10195 func (s DescribeScalingActivitiesInput) GoString() string { 10196 return s.String() 10197 } 10198 10199 // Validate inspects the fields of the type to determine if they are valid. 10200 func (s *DescribeScalingActivitiesInput) Validate() error { 10201 invalidParams := request.ErrInvalidParams{Context: "DescribeScalingActivitiesInput"} 10202 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 10203 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 10204 } 10205 10206 if invalidParams.Len() > 0 { 10207 return invalidParams 10208 } 10209 return nil 10210 } 10211 10212 // SetActivityIds sets the ActivityIds field's value. 10213 func (s *DescribeScalingActivitiesInput) SetActivityIds(v []*string) *DescribeScalingActivitiesInput { 10214 s.ActivityIds = v 10215 return s 10216 } 10217 10218 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 10219 func (s *DescribeScalingActivitiesInput) SetAutoScalingGroupName(v string) *DescribeScalingActivitiesInput { 10220 s.AutoScalingGroupName = &v 10221 return s 10222 } 10223 10224 // SetIncludeDeletedGroups sets the IncludeDeletedGroups field's value. 10225 func (s *DescribeScalingActivitiesInput) SetIncludeDeletedGroups(v bool) *DescribeScalingActivitiesInput { 10226 s.IncludeDeletedGroups = &v 10227 return s 10228 } 10229 10230 // SetMaxRecords sets the MaxRecords field's value. 10231 func (s *DescribeScalingActivitiesInput) SetMaxRecords(v int64) *DescribeScalingActivitiesInput { 10232 s.MaxRecords = &v 10233 return s 10234 } 10235 10236 // SetNextToken sets the NextToken field's value. 10237 func (s *DescribeScalingActivitiesInput) SetNextToken(v string) *DescribeScalingActivitiesInput { 10238 s.NextToken = &v 10239 return s 10240 } 10241 10242 type DescribeScalingActivitiesOutput struct { 10243 _ struct{} `type:"structure"` 10244 10245 // The scaling activities. Activities are sorted by start time. Activities still 10246 // in progress are described first. 10247 // 10248 // Activities is a required field 10249 Activities []*Activity `type:"list" required:"true"` 10250 10251 // A string that indicates that the response contains more items than can be 10252 // returned in a single response. To receive additional items, specify this 10253 // string for the NextToken value when requesting the next set of items. This 10254 // value is null when there are no more items to return. 10255 NextToken *string `type:"string"` 10256 } 10257 10258 // String returns the string representation. 10259 // 10260 // API parameter values that are decorated as "sensitive" in the API will not 10261 // be included in the string output. The member name will be present, but the 10262 // value will be replaced with "sensitive". 10263 func (s DescribeScalingActivitiesOutput) String() string { 10264 return awsutil.Prettify(s) 10265 } 10266 10267 // GoString returns the string representation. 10268 // 10269 // API parameter values that are decorated as "sensitive" in the API will not 10270 // be included in the string output. The member name will be present, but the 10271 // value will be replaced with "sensitive". 10272 func (s DescribeScalingActivitiesOutput) GoString() string { 10273 return s.String() 10274 } 10275 10276 // SetActivities sets the Activities field's value. 10277 func (s *DescribeScalingActivitiesOutput) SetActivities(v []*Activity) *DescribeScalingActivitiesOutput { 10278 s.Activities = v 10279 return s 10280 } 10281 10282 // SetNextToken sets the NextToken field's value. 10283 func (s *DescribeScalingActivitiesOutput) SetNextToken(v string) *DescribeScalingActivitiesOutput { 10284 s.NextToken = &v 10285 return s 10286 } 10287 10288 type DescribeScalingProcessTypesInput struct { 10289 _ struct{} `type:"structure"` 10290 } 10291 10292 // String returns the string representation. 10293 // 10294 // API parameter values that are decorated as "sensitive" in the API will not 10295 // be included in the string output. The member name will be present, but the 10296 // value will be replaced with "sensitive". 10297 func (s DescribeScalingProcessTypesInput) String() string { 10298 return awsutil.Prettify(s) 10299 } 10300 10301 // GoString returns the string representation. 10302 // 10303 // API parameter values that are decorated as "sensitive" in the API will not 10304 // be included in the string output. The member name will be present, but the 10305 // value will be replaced with "sensitive". 10306 func (s DescribeScalingProcessTypesInput) GoString() string { 10307 return s.String() 10308 } 10309 10310 type DescribeScalingProcessTypesOutput struct { 10311 _ struct{} `type:"structure"` 10312 10313 // The names of the process types. 10314 Processes []*ProcessType `type:"list"` 10315 } 10316 10317 // String returns the string representation. 10318 // 10319 // API parameter values that are decorated as "sensitive" in the API will not 10320 // be included in the string output. The member name will be present, but the 10321 // value will be replaced with "sensitive". 10322 func (s DescribeScalingProcessTypesOutput) String() string { 10323 return awsutil.Prettify(s) 10324 } 10325 10326 // GoString returns the string representation. 10327 // 10328 // API parameter values that are decorated as "sensitive" in the API will not 10329 // be included in the string output. The member name will be present, but the 10330 // value will be replaced with "sensitive". 10331 func (s DescribeScalingProcessTypesOutput) GoString() string { 10332 return s.String() 10333 } 10334 10335 // SetProcesses sets the Processes field's value. 10336 func (s *DescribeScalingProcessTypesOutput) SetProcesses(v []*ProcessType) *DescribeScalingProcessTypesOutput { 10337 s.Processes = v 10338 return s 10339 } 10340 10341 type DescribeScheduledActionsInput struct { 10342 _ struct{} `type:"structure"` 10343 10344 // The name of the Auto Scaling group. 10345 AutoScalingGroupName *string `min:"1" type:"string"` 10346 10347 // The latest scheduled start time to return. If scheduled action names are 10348 // provided, this parameter is ignored. 10349 EndTime *time.Time `type:"timestamp"` 10350 10351 // The maximum number of items to return with this call. The default value is 10352 // 50 and the maximum value is 100. 10353 MaxRecords *int64 `type:"integer"` 10354 10355 // The token for the next set of items to return. (You received this token from 10356 // a previous call.) 10357 NextToken *string `type:"string"` 10358 10359 // The names of one or more scheduled actions. If you omit this parameter, all 10360 // scheduled actions are described. If you specify an unknown scheduled action, 10361 // it is ignored with no error. 10362 // 10363 // Array Members: Maximum number of 50 actions. 10364 ScheduledActionNames []*string `type:"list"` 10365 10366 // The earliest scheduled start time to return. If scheduled action names are 10367 // provided, this parameter is ignored. 10368 StartTime *time.Time `type:"timestamp"` 10369 } 10370 10371 // String returns the string representation. 10372 // 10373 // API parameter values that are decorated as "sensitive" in the API will not 10374 // be included in the string output. The member name will be present, but the 10375 // value will be replaced with "sensitive". 10376 func (s DescribeScheduledActionsInput) String() string { 10377 return awsutil.Prettify(s) 10378 } 10379 10380 // GoString returns the string representation. 10381 // 10382 // API parameter values that are decorated as "sensitive" in the API will not 10383 // be included in the string output. The member name will be present, but the 10384 // value will be replaced with "sensitive". 10385 func (s DescribeScheduledActionsInput) GoString() string { 10386 return s.String() 10387 } 10388 10389 // Validate inspects the fields of the type to determine if they are valid. 10390 func (s *DescribeScheduledActionsInput) Validate() error { 10391 invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledActionsInput"} 10392 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 10393 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 10394 } 10395 10396 if invalidParams.Len() > 0 { 10397 return invalidParams 10398 } 10399 return nil 10400 } 10401 10402 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 10403 func (s *DescribeScheduledActionsInput) SetAutoScalingGroupName(v string) *DescribeScheduledActionsInput { 10404 s.AutoScalingGroupName = &v 10405 return s 10406 } 10407 10408 // SetEndTime sets the EndTime field's value. 10409 func (s *DescribeScheduledActionsInput) SetEndTime(v time.Time) *DescribeScheduledActionsInput { 10410 s.EndTime = &v 10411 return s 10412 } 10413 10414 // SetMaxRecords sets the MaxRecords field's value. 10415 func (s *DescribeScheduledActionsInput) SetMaxRecords(v int64) *DescribeScheduledActionsInput { 10416 s.MaxRecords = &v 10417 return s 10418 } 10419 10420 // SetNextToken sets the NextToken field's value. 10421 func (s *DescribeScheduledActionsInput) SetNextToken(v string) *DescribeScheduledActionsInput { 10422 s.NextToken = &v 10423 return s 10424 } 10425 10426 // SetScheduledActionNames sets the ScheduledActionNames field's value. 10427 func (s *DescribeScheduledActionsInput) SetScheduledActionNames(v []*string) *DescribeScheduledActionsInput { 10428 s.ScheduledActionNames = v 10429 return s 10430 } 10431 10432 // SetStartTime sets the StartTime field's value. 10433 func (s *DescribeScheduledActionsInput) SetStartTime(v time.Time) *DescribeScheduledActionsInput { 10434 s.StartTime = &v 10435 return s 10436 } 10437 10438 type DescribeScheduledActionsOutput struct { 10439 _ struct{} `type:"structure"` 10440 10441 // A string that indicates that the response contains more items than can be 10442 // returned in a single response. To receive additional items, specify this 10443 // string for the NextToken value when requesting the next set of items. This 10444 // value is null when there are no more items to return. 10445 NextToken *string `type:"string"` 10446 10447 // The scheduled actions. 10448 ScheduledUpdateGroupActions []*ScheduledUpdateGroupAction `type:"list"` 10449 } 10450 10451 // String returns the string representation. 10452 // 10453 // API parameter values that are decorated as "sensitive" in the API will not 10454 // be included in the string output. The member name will be present, but the 10455 // value will be replaced with "sensitive". 10456 func (s DescribeScheduledActionsOutput) String() string { 10457 return awsutil.Prettify(s) 10458 } 10459 10460 // GoString returns the string representation. 10461 // 10462 // API parameter values that are decorated as "sensitive" in the API will not 10463 // be included in the string output. The member name will be present, but the 10464 // value will be replaced with "sensitive". 10465 func (s DescribeScheduledActionsOutput) GoString() string { 10466 return s.String() 10467 } 10468 10469 // SetNextToken sets the NextToken field's value. 10470 func (s *DescribeScheduledActionsOutput) SetNextToken(v string) *DescribeScheduledActionsOutput { 10471 s.NextToken = &v 10472 return s 10473 } 10474 10475 // SetScheduledUpdateGroupActions sets the ScheduledUpdateGroupActions field's value. 10476 func (s *DescribeScheduledActionsOutput) SetScheduledUpdateGroupActions(v []*ScheduledUpdateGroupAction) *DescribeScheduledActionsOutput { 10477 s.ScheduledUpdateGroupActions = v 10478 return s 10479 } 10480 10481 type DescribeTagsInput struct { 10482 _ struct{} `type:"structure"` 10483 10484 // One or more filters to scope the tags to return. The maximum number of filters 10485 // per filter type (for example, auto-scaling-group) is 1000. 10486 Filters []*Filter `type:"list"` 10487 10488 // The maximum number of items to return with this call. The default value is 10489 // 50 and the maximum value is 100. 10490 MaxRecords *int64 `type:"integer"` 10491 10492 // The token for the next set of items to return. (You received this token from 10493 // a previous call.) 10494 NextToken *string `type:"string"` 10495 } 10496 10497 // String returns the string representation. 10498 // 10499 // API parameter values that are decorated as "sensitive" in the API will not 10500 // be included in the string output. The member name will be present, but the 10501 // value will be replaced with "sensitive". 10502 func (s DescribeTagsInput) String() string { 10503 return awsutil.Prettify(s) 10504 } 10505 10506 // GoString returns the string representation. 10507 // 10508 // API parameter values that are decorated as "sensitive" in the API will not 10509 // be included in the string output. The member name will be present, but the 10510 // value will be replaced with "sensitive". 10511 func (s DescribeTagsInput) GoString() string { 10512 return s.String() 10513 } 10514 10515 // SetFilters sets the Filters field's value. 10516 func (s *DescribeTagsInput) SetFilters(v []*Filter) *DescribeTagsInput { 10517 s.Filters = v 10518 return s 10519 } 10520 10521 // SetMaxRecords sets the MaxRecords field's value. 10522 func (s *DescribeTagsInput) SetMaxRecords(v int64) *DescribeTagsInput { 10523 s.MaxRecords = &v 10524 return s 10525 } 10526 10527 // SetNextToken sets the NextToken field's value. 10528 func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput { 10529 s.NextToken = &v 10530 return s 10531 } 10532 10533 type DescribeTagsOutput struct { 10534 _ struct{} `type:"structure"` 10535 10536 // A string that indicates that the response contains more items than can be 10537 // returned in a single response. To receive additional items, specify this 10538 // string for the NextToken value when requesting the next set of items. This 10539 // value is null when there are no more items to return. 10540 NextToken *string `type:"string"` 10541 10542 // One or more tags. 10543 Tags []*TagDescription `type:"list"` 10544 } 10545 10546 // String returns the string representation. 10547 // 10548 // API parameter values that are decorated as "sensitive" in the API will not 10549 // be included in the string output. The member name will be present, but the 10550 // value will be replaced with "sensitive". 10551 func (s DescribeTagsOutput) String() string { 10552 return awsutil.Prettify(s) 10553 } 10554 10555 // GoString returns the string representation. 10556 // 10557 // API parameter values that are decorated as "sensitive" in the API will not 10558 // be included in the string output. The member name will be present, but the 10559 // value will be replaced with "sensitive". 10560 func (s DescribeTagsOutput) GoString() string { 10561 return s.String() 10562 } 10563 10564 // SetNextToken sets the NextToken field's value. 10565 func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput { 10566 s.NextToken = &v 10567 return s 10568 } 10569 10570 // SetTags sets the Tags field's value. 10571 func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput { 10572 s.Tags = v 10573 return s 10574 } 10575 10576 type DescribeTerminationPolicyTypesInput struct { 10577 _ struct{} `type:"structure"` 10578 } 10579 10580 // String returns the string representation. 10581 // 10582 // API parameter values that are decorated as "sensitive" in the API will not 10583 // be included in the string output. The member name will be present, but the 10584 // value will be replaced with "sensitive". 10585 func (s DescribeTerminationPolicyTypesInput) String() string { 10586 return awsutil.Prettify(s) 10587 } 10588 10589 // GoString returns the string representation. 10590 // 10591 // API parameter values that are decorated as "sensitive" in the API will not 10592 // be included in the string output. The member name will be present, but the 10593 // value will be replaced with "sensitive". 10594 func (s DescribeTerminationPolicyTypesInput) GoString() string { 10595 return s.String() 10596 } 10597 10598 type DescribeTerminationPolicyTypesOutput struct { 10599 _ struct{} `type:"structure"` 10600 10601 // The termination policies supported by Amazon EC2 Auto Scaling: OldestInstance, 10602 // OldestLaunchConfiguration, NewestInstance, ClosestToNextInstanceHour, Default, 10603 // OldestLaunchTemplate, and AllocationStrategy. 10604 TerminationPolicyTypes []*string `type:"list"` 10605 } 10606 10607 // String returns the string representation. 10608 // 10609 // API parameter values that are decorated as "sensitive" in the API will not 10610 // be included in the string output. The member name will be present, but the 10611 // value will be replaced with "sensitive". 10612 func (s DescribeTerminationPolicyTypesOutput) String() string { 10613 return awsutil.Prettify(s) 10614 } 10615 10616 // GoString returns the string representation. 10617 // 10618 // API parameter values that are decorated as "sensitive" in the API will not 10619 // be included in the string output. The member name will be present, but the 10620 // value will be replaced with "sensitive". 10621 func (s DescribeTerminationPolicyTypesOutput) GoString() string { 10622 return s.String() 10623 } 10624 10625 // SetTerminationPolicyTypes sets the TerminationPolicyTypes field's value. 10626 func (s *DescribeTerminationPolicyTypesOutput) SetTerminationPolicyTypes(v []*string) *DescribeTerminationPolicyTypesOutput { 10627 s.TerminationPolicyTypes = v 10628 return s 10629 } 10630 10631 type DescribeWarmPoolInput struct { 10632 _ struct{} `type:"structure"` 10633 10634 // The name of the Auto Scaling group. 10635 // 10636 // AutoScalingGroupName is a required field 10637 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 10638 10639 // The maximum number of instances to return with this call. The maximum value 10640 // is 50. 10641 MaxRecords *int64 `type:"integer"` 10642 10643 // The token for the next set of instances to return. (You received this token 10644 // from a previous call.) 10645 NextToken *string `type:"string"` 10646 } 10647 10648 // String returns the string representation. 10649 // 10650 // API parameter values that are decorated as "sensitive" in the API will not 10651 // be included in the string output. The member name will be present, but the 10652 // value will be replaced with "sensitive". 10653 func (s DescribeWarmPoolInput) String() string { 10654 return awsutil.Prettify(s) 10655 } 10656 10657 // GoString returns the string representation. 10658 // 10659 // API parameter values that are decorated as "sensitive" in the API will not 10660 // be included in the string output. The member name will be present, but the 10661 // value will be replaced with "sensitive". 10662 func (s DescribeWarmPoolInput) GoString() string { 10663 return s.String() 10664 } 10665 10666 // Validate inspects the fields of the type to determine if they are valid. 10667 func (s *DescribeWarmPoolInput) Validate() error { 10668 invalidParams := request.ErrInvalidParams{Context: "DescribeWarmPoolInput"} 10669 if s.AutoScalingGroupName == nil { 10670 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 10671 } 10672 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 10673 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 10674 } 10675 10676 if invalidParams.Len() > 0 { 10677 return invalidParams 10678 } 10679 return nil 10680 } 10681 10682 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 10683 func (s *DescribeWarmPoolInput) SetAutoScalingGroupName(v string) *DescribeWarmPoolInput { 10684 s.AutoScalingGroupName = &v 10685 return s 10686 } 10687 10688 // SetMaxRecords sets the MaxRecords field's value. 10689 func (s *DescribeWarmPoolInput) SetMaxRecords(v int64) *DescribeWarmPoolInput { 10690 s.MaxRecords = &v 10691 return s 10692 } 10693 10694 // SetNextToken sets the NextToken field's value. 10695 func (s *DescribeWarmPoolInput) SetNextToken(v string) *DescribeWarmPoolInput { 10696 s.NextToken = &v 10697 return s 10698 } 10699 10700 type DescribeWarmPoolOutput struct { 10701 _ struct{} `type:"structure"` 10702 10703 // The instances that are currently in the warm pool. 10704 Instances []*Instance `type:"list"` 10705 10706 // The token for the next set of items to return. (You received this token from 10707 // a previous call.) 10708 NextToken *string `type:"string"` 10709 10710 // The warm pool configuration details. 10711 WarmPoolConfiguration *WarmPoolConfiguration `type:"structure"` 10712 } 10713 10714 // String returns the string representation. 10715 // 10716 // API parameter values that are decorated as "sensitive" in the API will not 10717 // be included in the string output. The member name will be present, but the 10718 // value will be replaced with "sensitive". 10719 func (s DescribeWarmPoolOutput) String() string { 10720 return awsutil.Prettify(s) 10721 } 10722 10723 // GoString returns the string representation. 10724 // 10725 // API parameter values that are decorated as "sensitive" in the API will not 10726 // be included in the string output. The member name will be present, but the 10727 // value will be replaced with "sensitive". 10728 func (s DescribeWarmPoolOutput) GoString() string { 10729 return s.String() 10730 } 10731 10732 // SetInstances sets the Instances field's value. 10733 func (s *DescribeWarmPoolOutput) SetInstances(v []*Instance) *DescribeWarmPoolOutput { 10734 s.Instances = v 10735 return s 10736 } 10737 10738 // SetNextToken sets the NextToken field's value. 10739 func (s *DescribeWarmPoolOutput) SetNextToken(v string) *DescribeWarmPoolOutput { 10740 s.NextToken = &v 10741 return s 10742 } 10743 10744 // SetWarmPoolConfiguration sets the WarmPoolConfiguration field's value. 10745 func (s *DescribeWarmPoolOutput) SetWarmPoolConfiguration(v *WarmPoolConfiguration) *DescribeWarmPoolOutput { 10746 s.WarmPoolConfiguration = v 10747 return s 10748 } 10749 10750 // Describes the desired configuration for an instance refresh. 10751 // 10752 // If you specify a desired configuration, you must specify either a LaunchTemplate 10753 // or a MixedInstancesPolicy. 10754 type DesiredConfiguration struct { 10755 _ struct{} `type:"structure"` 10756 10757 // Describes the launch template and the version of the launch template that 10758 // Amazon EC2 Auto Scaling uses to launch Amazon EC2 instances. For more information 10759 // about launch templates, see Launch templates (https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchTemplates.html) 10760 // in the Amazon EC2 Auto Scaling User Guide. 10761 LaunchTemplate *LaunchTemplateSpecification `type:"structure"` 10762 10763 // Describes a mixed instances policy. A mixed instances policy contains the 10764 // instance types Amazon EC2 Auto Scaling can launch, and other information 10765 // Amazon EC2 Auto Scaling can use to launch instances to help you optimize 10766 // your costs. For more information, see Auto Scaling groups with multiple instance 10767 // types and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html) 10768 // in the Amazon EC2 Auto Scaling User Guide. 10769 MixedInstancesPolicy *MixedInstancesPolicy `type:"structure"` 10770 } 10771 10772 // String returns the string representation. 10773 // 10774 // API parameter values that are decorated as "sensitive" in the API will not 10775 // be included in the string output. The member name will be present, but the 10776 // value will be replaced with "sensitive". 10777 func (s DesiredConfiguration) String() string { 10778 return awsutil.Prettify(s) 10779 } 10780 10781 // GoString returns the string representation. 10782 // 10783 // API parameter values that are decorated as "sensitive" in the API will not 10784 // be included in the string output. The member name will be present, but the 10785 // value will be replaced with "sensitive". 10786 func (s DesiredConfiguration) GoString() string { 10787 return s.String() 10788 } 10789 10790 // Validate inspects the fields of the type to determine if they are valid. 10791 func (s *DesiredConfiguration) Validate() error { 10792 invalidParams := request.ErrInvalidParams{Context: "DesiredConfiguration"} 10793 if s.LaunchTemplate != nil { 10794 if err := s.LaunchTemplate.Validate(); err != nil { 10795 invalidParams.AddNested("LaunchTemplate", err.(request.ErrInvalidParams)) 10796 } 10797 } 10798 if s.MixedInstancesPolicy != nil { 10799 if err := s.MixedInstancesPolicy.Validate(); err != nil { 10800 invalidParams.AddNested("MixedInstancesPolicy", err.(request.ErrInvalidParams)) 10801 } 10802 } 10803 10804 if invalidParams.Len() > 0 { 10805 return invalidParams 10806 } 10807 return nil 10808 } 10809 10810 // SetLaunchTemplate sets the LaunchTemplate field's value. 10811 func (s *DesiredConfiguration) SetLaunchTemplate(v *LaunchTemplateSpecification) *DesiredConfiguration { 10812 s.LaunchTemplate = v 10813 return s 10814 } 10815 10816 // SetMixedInstancesPolicy sets the MixedInstancesPolicy field's value. 10817 func (s *DesiredConfiguration) SetMixedInstancesPolicy(v *MixedInstancesPolicy) *DesiredConfiguration { 10818 s.MixedInstancesPolicy = v 10819 return s 10820 } 10821 10822 type DetachInstancesInput struct { 10823 _ struct{} `type:"structure"` 10824 10825 // The name of the Auto Scaling group. 10826 // 10827 // AutoScalingGroupName is a required field 10828 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 10829 10830 // The IDs of the instances. You can specify up to 20 instances. 10831 InstanceIds []*string `type:"list"` 10832 10833 // Indicates whether the Auto Scaling group decrements the desired capacity 10834 // value by the number of instances detached. 10835 // 10836 // ShouldDecrementDesiredCapacity is a required field 10837 ShouldDecrementDesiredCapacity *bool `type:"boolean" required:"true"` 10838 } 10839 10840 // String returns the string representation. 10841 // 10842 // API parameter values that are decorated as "sensitive" in the API will not 10843 // be included in the string output. The member name will be present, but the 10844 // value will be replaced with "sensitive". 10845 func (s DetachInstancesInput) String() string { 10846 return awsutil.Prettify(s) 10847 } 10848 10849 // GoString returns the string representation. 10850 // 10851 // API parameter values that are decorated as "sensitive" in the API will not 10852 // be included in the string output. The member name will be present, but the 10853 // value will be replaced with "sensitive". 10854 func (s DetachInstancesInput) GoString() string { 10855 return s.String() 10856 } 10857 10858 // Validate inspects the fields of the type to determine if they are valid. 10859 func (s *DetachInstancesInput) Validate() error { 10860 invalidParams := request.ErrInvalidParams{Context: "DetachInstancesInput"} 10861 if s.AutoScalingGroupName == nil { 10862 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 10863 } 10864 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 10865 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 10866 } 10867 if s.ShouldDecrementDesiredCapacity == nil { 10868 invalidParams.Add(request.NewErrParamRequired("ShouldDecrementDesiredCapacity")) 10869 } 10870 10871 if invalidParams.Len() > 0 { 10872 return invalidParams 10873 } 10874 return nil 10875 } 10876 10877 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 10878 func (s *DetachInstancesInput) SetAutoScalingGroupName(v string) *DetachInstancesInput { 10879 s.AutoScalingGroupName = &v 10880 return s 10881 } 10882 10883 // SetInstanceIds sets the InstanceIds field's value. 10884 func (s *DetachInstancesInput) SetInstanceIds(v []*string) *DetachInstancesInput { 10885 s.InstanceIds = v 10886 return s 10887 } 10888 10889 // SetShouldDecrementDesiredCapacity sets the ShouldDecrementDesiredCapacity field's value. 10890 func (s *DetachInstancesInput) SetShouldDecrementDesiredCapacity(v bool) *DetachInstancesInput { 10891 s.ShouldDecrementDesiredCapacity = &v 10892 return s 10893 } 10894 10895 type DetachInstancesOutput struct { 10896 _ struct{} `type:"structure"` 10897 10898 // The activities related to detaching the instances from the Auto Scaling group. 10899 Activities []*Activity `type:"list"` 10900 } 10901 10902 // String returns the string representation. 10903 // 10904 // API parameter values that are decorated as "sensitive" in the API will not 10905 // be included in the string output. The member name will be present, but the 10906 // value will be replaced with "sensitive". 10907 func (s DetachInstancesOutput) String() string { 10908 return awsutil.Prettify(s) 10909 } 10910 10911 // GoString returns the string representation. 10912 // 10913 // API parameter values that are decorated as "sensitive" in the API will not 10914 // be included in the string output. The member name will be present, but the 10915 // value will be replaced with "sensitive". 10916 func (s DetachInstancesOutput) GoString() string { 10917 return s.String() 10918 } 10919 10920 // SetActivities sets the Activities field's value. 10921 func (s *DetachInstancesOutput) SetActivities(v []*Activity) *DetachInstancesOutput { 10922 s.Activities = v 10923 return s 10924 } 10925 10926 type DetachLoadBalancerTargetGroupsInput struct { 10927 _ struct{} `type:"structure"` 10928 10929 // The name of the Auto Scaling group. 10930 // 10931 // AutoScalingGroupName is a required field 10932 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 10933 10934 // The Amazon Resource Names (ARN) of the target groups. You can specify up 10935 // to 10 target groups. 10936 // 10937 // TargetGroupARNs is a required field 10938 TargetGroupARNs []*string `type:"list" required:"true"` 10939 } 10940 10941 // String returns the string representation. 10942 // 10943 // API parameter values that are decorated as "sensitive" in the API will not 10944 // be included in the string output. The member name will be present, but the 10945 // value will be replaced with "sensitive". 10946 func (s DetachLoadBalancerTargetGroupsInput) String() string { 10947 return awsutil.Prettify(s) 10948 } 10949 10950 // GoString returns the string representation. 10951 // 10952 // API parameter values that are decorated as "sensitive" in the API will not 10953 // be included in the string output. The member name will be present, but the 10954 // value will be replaced with "sensitive". 10955 func (s DetachLoadBalancerTargetGroupsInput) GoString() string { 10956 return s.String() 10957 } 10958 10959 // Validate inspects the fields of the type to determine if they are valid. 10960 func (s *DetachLoadBalancerTargetGroupsInput) Validate() error { 10961 invalidParams := request.ErrInvalidParams{Context: "DetachLoadBalancerTargetGroupsInput"} 10962 if s.AutoScalingGroupName == nil { 10963 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 10964 } 10965 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 10966 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 10967 } 10968 if s.TargetGroupARNs == nil { 10969 invalidParams.Add(request.NewErrParamRequired("TargetGroupARNs")) 10970 } 10971 10972 if invalidParams.Len() > 0 { 10973 return invalidParams 10974 } 10975 return nil 10976 } 10977 10978 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 10979 func (s *DetachLoadBalancerTargetGroupsInput) SetAutoScalingGroupName(v string) *DetachLoadBalancerTargetGroupsInput { 10980 s.AutoScalingGroupName = &v 10981 return s 10982 } 10983 10984 // SetTargetGroupARNs sets the TargetGroupARNs field's value. 10985 func (s *DetachLoadBalancerTargetGroupsInput) SetTargetGroupARNs(v []*string) *DetachLoadBalancerTargetGroupsInput { 10986 s.TargetGroupARNs = v 10987 return s 10988 } 10989 10990 type DetachLoadBalancerTargetGroupsOutput struct { 10991 _ struct{} `type:"structure"` 10992 } 10993 10994 // String returns the string representation. 10995 // 10996 // API parameter values that are decorated as "sensitive" in the API will not 10997 // be included in the string output. The member name will be present, but the 10998 // value will be replaced with "sensitive". 10999 func (s DetachLoadBalancerTargetGroupsOutput) String() string { 11000 return awsutil.Prettify(s) 11001 } 11002 11003 // GoString returns the string representation. 11004 // 11005 // API parameter values that are decorated as "sensitive" in the API will not 11006 // be included in the string output. The member name will be present, but the 11007 // value will be replaced with "sensitive". 11008 func (s DetachLoadBalancerTargetGroupsOutput) GoString() string { 11009 return s.String() 11010 } 11011 11012 type DetachLoadBalancersInput struct { 11013 _ struct{} `type:"structure"` 11014 11015 // The name of the Auto Scaling group. 11016 // 11017 // AutoScalingGroupName is a required field 11018 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 11019 11020 // The names of the load balancers. You can specify up to 10 load balancers. 11021 // 11022 // LoadBalancerNames is a required field 11023 LoadBalancerNames []*string `type:"list" required:"true"` 11024 } 11025 11026 // String returns the string representation. 11027 // 11028 // API parameter values that are decorated as "sensitive" in the API will not 11029 // be included in the string output. The member name will be present, but the 11030 // value will be replaced with "sensitive". 11031 func (s DetachLoadBalancersInput) String() string { 11032 return awsutil.Prettify(s) 11033 } 11034 11035 // GoString returns the string representation. 11036 // 11037 // API parameter values that are decorated as "sensitive" in the API will not 11038 // be included in the string output. The member name will be present, but the 11039 // value will be replaced with "sensitive". 11040 func (s DetachLoadBalancersInput) GoString() string { 11041 return s.String() 11042 } 11043 11044 // Validate inspects the fields of the type to determine if they are valid. 11045 func (s *DetachLoadBalancersInput) Validate() error { 11046 invalidParams := request.ErrInvalidParams{Context: "DetachLoadBalancersInput"} 11047 if s.AutoScalingGroupName == nil { 11048 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 11049 } 11050 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 11051 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 11052 } 11053 if s.LoadBalancerNames == nil { 11054 invalidParams.Add(request.NewErrParamRequired("LoadBalancerNames")) 11055 } 11056 11057 if invalidParams.Len() > 0 { 11058 return invalidParams 11059 } 11060 return nil 11061 } 11062 11063 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 11064 func (s *DetachLoadBalancersInput) SetAutoScalingGroupName(v string) *DetachLoadBalancersInput { 11065 s.AutoScalingGroupName = &v 11066 return s 11067 } 11068 11069 // SetLoadBalancerNames sets the LoadBalancerNames field's value. 11070 func (s *DetachLoadBalancersInput) SetLoadBalancerNames(v []*string) *DetachLoadBalancersInput { 11071 s.LoadBalancerNames = v 11072 return s 11073 } 11074 11075 type DetachLoadBalancersOutput struct { 11076 _ struct{} `type:"structure"` 11077 } 11078 11079 // String returns the string representation. 11080 // 11081 // API parameter values that are decorated as "sensitive" in the API will not 11082 // be included in the string output. The member name will be present, but the 11083 // value will be replaced with "sensitive". 11084 func (s DetachLoadBalancersOutput) String() string { 11085 return awsutil.Prettify(s) 11086 } 11087 11088 // GoString returns the string representation. 11089 // 11090 // API parameter values that are decorated as "sensitive" in the API will not 11091 // be included in the string output. The member name will be present, but the 11092 // value will be replaced with "sensitive". 11093 func (s DetachLoadBalancersOutput) GoString() string { 11094 return s.String() 11095 } 11096 11097 type DisableMetricsCollectionInput struct { 11098 _ struct{} `type:"structure"` 11099 11100 // The name of the Auto Scaling group. 11101 // 11102 // AutoScalingGroupName is a required field 11103 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 11104 11105 // Specifies one or more of the following metrics: 11106 // 11107 // * GroupMinSize 11108 // 11109 // * GroupMaxSize 11110 // 11111 // * GroupDesiredCapacity 11112 // 11113 // * GroupInServiceInstances 11114 // 11115 // * GroupPendingInstances 11116 // 11117 // * GroupStandbyInstances 11118 // 11119 // * GroupTerminatingInstances 11120 // 11121 // * GroupTotalInstances 11122 // 11123 // * GroupInServiceCapacity 11124 // 11125 // * GroupPendingCapacity 11126 // 11127 // * GroupStandbyCapacity 11128 // 11129 // * GroupTerminatingCapacity 11130 // 11131 // * GroupTotalCapacity 11132 // 11133 // * WarmPoolDesiredCapacity 11134 // 11135 // * WarmPoolWarmedCapacity 11136 // 11137 // * WarmPoolPendingCapacity 11138 // 11139 // * WarmPoolTerminatingCapacity 11140 // 11141 // * WarmPoolTotalCapacity 11142 // 11143 // * GroupAndWarmPoolDesiredCapacity 11144 // 11145 // * GroupAndWarmPoolTotalCapacity 11146 // 11147 // If you omit this parameter, all metrics are disabled. 11148 Metrics []*string `type:"list"` 11149 } 11150 11151 // String returns the string representation. 11152 // 11153 // API parameter values that are decorated as "sensitive" in the API will not 11154 // be included in the string output. The member name will be present, but the 11155 // value will be replaced with "sensitive". 11156 func (s DisableMetricsCollectionInput) String() string { 11157 return awsutil.Prettify(s) 11158 } 11159 11160 // GoString returns the string representation. 11161 // 11162 // API parameter values that are decorated as "sensitive" in the API will not 11163 // be included in the string output. The member name will be present, but the 11164 // value will be replaced with "sensitive". 11165 func (s DisableMetricsCollectionInput) GoString() string { 11166 return s.String() 11167 } 11168 11169 // Validate inspects the fields of the type to determine if they are valid. 11170 func (s *DisableMetricsCollectionInput) Validate() error { 11171 invalidParams := request.ErrInvalidParams{Context: "DisableMetricsCollectionInput"} 11172 if s.AutoScalingGroupName == nil { 11173 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 11174 } 11175 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 11176 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 11177 } 11178 11179 if invalidParams.Len() > 0 { 11180 return invalidParams 11181 } 11182 return nil 11183 } 11184 11185 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 11186 func (s *DisableMetricsCollectionInput) SetAutoScalingGroupName(v string) *DisableMetricsCollectionInput { 11187 s.AutoScalingGroupName = &v 11188 return s 11189 } 11190 11191 // SetMetrics sets the Metrics field's value. 11192 func (s *DisableMetricsCollectionInput) SetMetrics(v []*string) *DisableMetricsCollectionInput { 11193 s.Metrics = v 11194 return s 11195 } 11196 11197 type DisableMetricsCollectionOutput struct { 11198 _ struct{} `type:"structure"` 11199 } 11200 11201 // String returns the string representation. 11202 // 11203 // API parameter values that are decorated as "sensitive" in the API will not 11204 // be included in the string output. The member name will be present, but the 11205 // value will be replaced with "sensitive". 11206 func (s DisableMetricsCollectionOutput) String() string { 11207 return awsutil.Prettify(s) 11208 } 11209 11210 // GoString returns the string representation. 11211 // 11212 // API parameter values that are decorated as "sensitive" in the API will not 11213 // be included in the string output. The member name will be present, but the 11214 // value will be replaced with "sensitive". 11215 func (s DisableMetricsCollectionOutput) GoString() string { 11216 return s.String() 11217 } 11218 11219 // Describes information used to set up an Amazon EBS volume specified in a 11220 // block device mapping. 11221 type Ebs struct { 11222 _ struct{} `type:"structure"` 11223 11224 // Indicates whether the volume is deleted on instance termination. For Amazon 11225 // EC2 Auto Scaling, the default value is true. 11226 DeleteOnTermination *bool `type:"boolean"` 11227 11228 // Specifies whether the volume should be encrypted. Encrypted EBS volumes can 11229 // only be attached to instances that support Amazon EBS encryption. For more 11230 // information, see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances). 11231 // If your AMI uses encrypted volumes, you can also only launch it on supported 11232 // instance types. 11233 // 11234 // If you are creating a volume from a snapshot, you cannot specify an encryption 11235 // value. Volumes that are created from encrypted snapshots are automatically 11236 // encrypted, and volumes that are created from unencrypted snapshots are automatically 11237 // unencrypted. By default, encrypted snapshots use the Amazon Web Services 11238 // managed CMK that is used for EBS encryption, but you can specify a custom 11239 // CMK when you create the snapshot. The ability to encrypt a snapshot during 11240 // copying also allows you to apply a new CMK to an already-encrypted snapshot. 11241 // Volumes restored from the resulting copy are only accessible using the new 11242 // CMK. 11243 // 11244 // Enabling encryption by default (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) 11245 // results in all EBS volumes being encrypted with the Amazon Web Services managed 11246 // CMK or a customer managed CMK, whether or not the snapshot was encrypted. 11247 // 11248 // For more information, see Using Encryption with EBS-Backed AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html) 11249 // in the Amazon EC2 User Guide for Linux Instances and Required CMK key policy 11250 // for use with encrypted volumes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/key-policy-requirements-EBS-encryption.html) 11251 // in the Amazon EC2 Auto Scaling User Guide. 11252 Encrypted *bool `type:"boolean"` 11253 11254 // The number of input/output (I/O) operations per second (IOPS) to provision 11255 // for the volume. For gp3 and io1 volumes, this represents the number of IOPS 11256 // that are provisioned for the volume. For gp2 volumes, this represents the 11257 // baseline performance of the volume and the rate at which the volume accumulates 11258 // I/O credits for bursting. 11259 // 11260 // The following are the supported values for each volume type: 11261 // 11262 // * gp3: 3,000-16,000 IOPS 11263 // 11264 // * io1: 100-64,000 IOPS 11265 // 11266 // For io1 volumes, we guarantee 64,000 IOPS only for Instances built on the 11267 // Nitro System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). 11268 // Other instance families guarantee performance up to 32,000 IOPS. 11269 // 11270 // Iops is supported when the volume type is gp3 or io1 and required only when 11271 // the volume type is io1. (Not used with standard, gp2, st1, or sc1 volumes.) 11272 Iops *int64 `min:"100" type:"integer"` 11273 11274 // The snapshot ID of the volume to use. 11275 // 11276 // You must specify either a VolumeSize or a SnapshotId. 11277 SnapshotId *string `min:"1" type:"string"` 11278 11279 // The throughput (MiBps) to provision for a gp3 volume. 11280 Throughput *int64 `min:"125" type:"integer"` 11281 11282 // The volume size, in GiBs. The following are the supported volumes sizes for 11283 // each volume type: 11284 // 11285 // * gp2 and gp3: 1-16,384 11286 // 11287 // * io1: 4-16,384 11288 // 11289 // * st1 and sc1: 125-16,384 11290 // 11291 // * standard: 1-1,024 11292 // 11293 // You must specify either a SnapshotId or a VolumeSize. If you specify both 11294 // SnapshotId and VolumeSize, the volume size must be equal or greater than 11295 // the size of the snapshot. 11296 VolumeSize *int64 `min:"1" type:"integer"` 11297 11298 // The volume type. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 11299 // in the Amazon EC2 User Guide for Linux Instances. 11300 // 11301 // Valid Values: standard | io1 | gp2 | st1 | sc1 | gp3 11302 VolumeType *string `min:"1" type:"string"` 11303 } 11304 11305 // String returns the string representation. 11306 // 11307 // API parameter values that are decorated as "sensitive" in the API will not 11308 // be included in the string output. The member name will be present, but the 11309 // value will be replaced with "sensitive". 11310 func (s Ebs) String() string { 11311 return awsutil.Prettify(s) 11312 } 11313 11314 // GoString returns the string representation. 11315 // 11316 // API parameter values that are decorated as "sensitive" in the API will not 11317 // be included in the string output. The member name will be present, but the 11318 // value will be replaced with "sensitive". 11319 func (s Ebs) GoString() string { 11320 return s.String() 11321 } 11322 11323 // Validate inspects the fields of the type to determine if they are valid. 11324 func (s *Ebs) Validate() error { 11325 invalidParams := request.ErrInvalidParams{Context: "Ebs"} 11326 if s.Iops != nil && *s.Iops < 100 { 11327 invalidParams.Add(request.NewErrParamMinValue("Iops", 100)) 11328 } 11329 if s.SnapshotId != nil && len(*s.SnapshotId) < 1 { 11330 invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 1)) 11331 } 11332 if s.Throughput != nil && *s.Throughput < 125 { 11333 invalidParams.Add(request.NewErrParamMinValue("Throughput", 125)) 11334 } 11335 if s.VolumeSize != nil && *s.VolumeSize < 1 { 11336 invalidParams.Add(request.NewErrParamMinValue("VolumeSize", 1)) 11337 } 11338 if s.VolumeType != nil && len(*s.VolumeType) < 1 { 11339 invalidParams.Add(request.NewErrParamMinLen("VolumeType", 1)) 11340 } 11341 11342 if invalidParams.Len() > 0 { 11343 return invalidParams 11344 } 11345 return nil 11346 } 11347 11348 // SetDeleteOnTermination sets the DeleteOnTermination field's value. 11349 func (s *Ebs) SetDeleteOnTermination(v bool) *Ebs { 11350 s.DeleteOnTermination = &v 11351 return s 11352 } 11353 11354 // SetEncrypted sets the Encrypted field's value. 11355 func (s *Ebs) SetEncrypted(v bool) *Ebs { 11356 s.Encrypted = &v 11357 return s 11358 } 11359 11360 // SetIops sets the Iops field's value. 11361 func (s *Ebs) SetIops(v int64) *Ebs { 11362 s.Iops = &v 11363 return s 11364 } 11365 11366 // SetSnapshotId sets the SnapshotId field's value. 11367 func (s *Ebs) SetSnapshotId(v string) *Ebs { 11368 s.SnapshotId = &v 11369 return s 11370 } 11371 11372 // SetThroughput sets the Throughput field's value. 11373 func (s *Ebs) SetThroughput(v int64) *Ebs { 11374 s.Throughput = &v 11375 return s 11376 } 11377 11378 // SetVolumeSize sets the VolumeSize field's value. 11379 func (s *Ebs) SetVolumeSize(v int64) *Ebs { 11380 s.VolumeSize = &v 11381 return s 11382 } 11383 11384 // SetVolumeType sets the VolumeType field's value. 11385 func (s *Ebs) SetVolumeType(v string) *Ebs { 11386 s.VolumeType = &v 11387 return s 11388 } 11389 11390 type EnableMetricsCollectionInput struct { 11391 _ struct{} `type:"structure"` 11392 11393 // The name of the Auto Scaling group. 11394 // 11395 // AutoScalingGroupName is a required field 11396 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 11397 11398 // The granularity to associate with the metrics to collect. The only valid 11399 // value is 1Minute. 11400 // 11401 // Granularity is a required field 11402 Granularity *string `min:"1" type:"string" required:"true"` 11403 11404 // Specifies which group-level metrics to start collecting. You can specify 11405 // one or more of the following metrics: 11406 // 11407 // * GroupMinSize 11408 // 11409 // * GroupMaxSize 11410 // 11411 // * GroupDesiredCapacity 11412 // 11413 // * GroupInServiceInstances 11414 // 11415 // * GroupPendingInstances 11416 // 11417 // * GroupStandbyInstances 11418 // 11419 // * GroupTerminatingInstances 11420 // 11421 // * GroupTotalInstances 11422 // 11423 // The instance weighting feature supports the following additional metrics: 11424 // 11425 // * GroupInServiceCapacity 11426 // 11427 // * GroupPendingCapacity 11428 // 11429 // * GroupStandbyCapacity 11430 // 11431 // * GroupTerminatingCapacity 11432 // 11433 // * GroupTotalCapacity 11434 // 11435 // The warm pools feature supports the following additional metrics: 11436 // 11437 // * WarmPoolDesiredCapacity 11438 // 11439 // * WarmPoolWarmedCapacity 11440 // 11441 // * WarmPoolPendingCapacity 11442 // 11443 // * WarmPoolTerminatingCapacity 11444 // 11445 // * WarmPoolTotalCapacity 11446 // 11447 // * GroupAndWarmPoolDesiredCapacity 11448 // 11449 // * GroupAndWarmPoolTotalCapacity 11450 // 11451 // If you omit this parameter, all metrics are enabled. 11452 Metrics []*string `type:"list"` 11453 } 11454 11455 // String returns the string representation. 11456 // 11457 // API parameter values that are decorated as "sensitive" in the API will not 11458 // be included in the string output. The member name will be present, but the 11459 // value will be replaced with "sensitive". 11460 func (s EnableMetricsCollectionInput) String() string { 11461 return awsutil.Prettify(s) 11462 } 11463 11464 // GoString returns the string representation. 11465 // 11466 // API parameter values that are decorated as "sensitive" in the API will not 11467 // be included in the string output. The member name will be present, but the 11468 // value will be replaced with "sensitive". 11469 func (s EnableMetricsCollectionInput) GoString() string { 11470 return s.String() 11471 } 11472 11473 // Validate inspects the fields of the type to determine if they are valid. 11474 func (s *EnableMetricsCollectionInput) Validate() error { 11475 invalidParams := request.ErrInvalidParams{Context: "EnableMetricsCollectionInput"} 11476 if s.AutoScalingGroupName == nil { 11477 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 11478 } 11479 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 11480 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 11481 } 11482 if s.Granularity == nil { 11483 invalidParams.Add(request.NewErrParamRequired("Granularity")) 11484 } 11485 if s.Granularity != nil && len(*s.Granularity) < 1 { 11486 invalidParams.Add(request.NewErrParamMinLen("Granularity", 1)) 11487 } 11488 11489 if invalidParams.Len() > 0 { 11490 return invalidParams 11491 } 11492 return nil 11493 } 11494 11495 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 11496 func (s *EnableMetricsCollectionInput) SetAutoScalingGroupName(v string) *EnableMetricsCollectionInput { 11497 s.AutoScalingGroupName = &v 11498 return s 11499 } 11500 11501 // SetGranularity sets the Granularity field's value. 11502 func (s *EnableMetricsCollectionInput) SetGranularity(v string) *EnableMetricsCollectionInput { 11503 s.Granularity = &v 11504 return s 11505 } 11506 11507 // SetMetrics sets the Metrics field's value. 11508 func (s *EnableMetricsCollectionInput) SetMetrics(v []*string) *EnableMetricsCollectionInput { 11509 s.Metrics = v 11510 return s 11511 } 11512 11513 type EnableMetricsCollectionOutput struct { 11514 _ struct{} `type:"structure"` 11515 } 11516 11517 // String returns the string representation. 11518 // 11519 // API parameter values that are decorated as "sensitive" in the API will not 11520 // be included in the string output. The member name will be present, but the 11521 // value will be replaced with "sensitive". 11522 func (s EnableMetricsCollectionOutput) String() string { 11523 return awsutil.Prettify(s) 11524 } 11525 11526 // GoString returns the string representation. 11527 // 11528 // API parameter values that are decorated as "sensitive" in the API will not 11529 // be included in the string output. The member name will be present, but the 11530 // value will be replaced with "sensitive". 11531 func (s EnableMetricsCollectionOutput) GoString() string { 11532 return s.String() 11533 } 11534 11535 // Describes an enabled metric. 11536 type EnabledMetric struct { 11537 _ struct{} `type:"structure"` 11538 11539 // The granularity of the metric. The only valid value is 1Minute. 11540 Granularity *string `min:"1" type:"string"` 11541 11542 // One of the following metrics: 11543 // 11544 // * GroupMinSize 11545 // 11546 // * GroupMaxSize 11547 // 11548 // * GroupDesiredCapacity 11549 // 11550 // * GroupInServiceInstances 11551 // 11552 // * GroupPendingInstances 11553 // 11554 // * GroupStandbyInstances 11555 // 11556 // * GroupTerminatingInstances 11557 // 11558 // * GroupTotalInstances 11559 // 11560 // * GroupInServiceCapacity 11561 // 11562 // * GroupPendingCapacity 11563 // 11564 // * GroupStandbyCapacity 11565 // 11566 // * GroupTerminatingCapacity 11567 // 11568 // * GroupTotalCapacity 11569 // 11570 // * WarmPoolDesiredCapacity 11571 // 11572 // * WarmPoolWarmedCapacity 11573 // 11574 // * WarmPoolPendingCapacity 11575 // 11576 // * WarmPoolTerminatingCapacity 11577 // 11578 // * WarmPoolTotalCapacity 11579 // 11580 // * GroupAndWarmPoolDesiredCapacity 11581 // 11582 // * GroupAndWarmPoolTotalCapacity 11583 Metric *string `min:"1" type:"string"` 11584 } 11585 11586 // String returns the string representation. 11587 // 11588 // API parameter values that are decorated as "sensitive" in the API will not 11589 // be included in the string output. The member name will be present, but the 11590 // value will be replaced with "sensitive". 11591 func (s EnabledMetric) String() string { 11592 return awsutil.Prettify(s) 11593 } 11594 11595 // GoString returns the string representation. 11596 // 11597 // API parameter values that are decorated as "sensitive" in the API will not 11598 // be included in the string output. The member name will be present, but the 11599 // value will be replaced with "sensitive". 11600 func (s EnabledMetric) GoString() string { 11601 return s.String() 11602 } 11603 11604 // SetGranularity sets the Granularity field's value. 11605 func (s *EnabledMetric) SetGranularity(v string) *EnabledMetric { 11606 s.Granularity = &v 11607 return s 11608 } 11609 11610 // SetMetric sets the Metric field's value. 11611 func (s *EnabledMetric) SetMetric(v string) *EnabledMetric { 11612 s.Metric = &v 11613 return s 11614 } 11615 11616 type EnterStandbyInput struct { 11617 _ struct{} `type:"structure"` 11618 11619 // The name of the Auto Scaling group. 11620 // 11621 // AutoScalingGroupName is a required field 11622 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 11623 11624 // The IDs of the instances. You can specify up to 20 instances. 11625 InstanceIds []*string `type:"list"` 11626 11627 // Indicates whether to decrement the desired capacity of the Auto Scaling group 11628 // by the number of instances moved to Standby mode. 11629 // 11630 // ShouldDecrementDesiredCapacity is a required field 11631 ShouldDecrementDesiredCapacity *bool `type:"boolean" required:"true"` 11632 } 11633 11634 // String returns the string representation. 11635 // 11636 // API parameter values that are decorated as "sensitive" in the API will not 11637 // be included in the string output. The member name will be present, but the 11638 // value will be replaced with "sensitive". 11639 func (s EnterStandbyInput) String() string { 11640 return awsutil.Prettify(s) 11641 } 11642 11643 // GoString returns the string representation. 11644 // 11645 // API parameter values that are decorated as "sensitive" in the API will not 11646 // be included in the string output. The member name will be present, but the 11647 // value will be replaced with "sensitive". 11648 func (s EnterStandbyInput) GoString() string { 11649 return s.String() 11650 } 11651 11652 // Validate inspects the fields of the type to determine if they are valid. 11653 func (s *EnterStandbyInput) Validate() error { 11654 invalidParams := request.ErrInvalidParams{Context: "EnterStandbyInput"} 11655 if s.AutoScalingGroupName == nil { 11656 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 11657 } 11658 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 11659 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 11660 } 11661 if s.ShouldDecrementDesiredCapacity == nil { 11662 invalidParams.Add(request.NewErrParamRequired("ShouldDecrementDesiredCapacity")) 11663 } 11664 11665 if invalidParams.Len() > 0 { 11666 return invalidParams 11667 } 11668 return nil 11669 } 11670 11671 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 11672 func (s *EnterStandbyInput) SetAutoScalingGroupName(v string) *EnterStandbyInput { 11673 s.AutoScalingGroupName = &v 11674 return s 11675 } 11676 11677 // SetInstanceIds sets the InstanceIds field's value. 11678 func (s *EnterStandbyInput) SetInstanceIds(v []*string) *EnterStandbyInput { 11679 s.InstanceIds = v 11680 return s 11681 } 11682 11683 // SetShouldDecrementDesiredCapacity sets the ShouldDecrementDesiredCapacity field's value. 11684 func (s *EnterStandbyInput) SetShouldDecrementDesiredCapacity(v bool) *EnterStandbyInput { 11685 s.ShouldDecrementDesiredCapacity = &v 11686 return s 11687 } 11688 11689 type EnterStandbyOutput struct { 11690 _ struct{} `type:"structure"` 11691 11692 // The activities related to moving instances into Standby mode. 11693 Activities []*Activity `type:"list"` 11694 } 11695 11696 // String returns the string representation. 11697 // 11698 // API parameter values that are decorated as "sensitive" in the API will not 11699 // be included in the string output. The member name will be present, but the 11700 // value will be replaced with "sensitive". 11701 func (s EnterStandbyOutput) String() string { 11702 return awsutil.Prettify(s) 11703 } 11704 11705 // GoString returns the string representation. 11706 // 11707 // API parameter values that are decorated as "sensitive" in the API will not 11708 // be included in the string output. The member name will be present, but the 11709 // value will be replaced with "sensitive". 11710 func (s EnterStandbyOutput) GoString() string { 11711 return s.String() 11712 } 11713 11714 // SetActivities sets the Activities field's value. 11715 func (s *EnterStandbyOutput) SetActivities(v []*Activity) *EnterStandbyOutput { 11716 s.Activities = v 11717 return s 11718 } 11719 11720 type ExecutePolicyInput struct { 11721 _ struct{} `type:"structure"` 11722 11723 // The name of the Auto Scaling group. 11724 AutoScalingGroupName *string `min:"1" type:"string"` 11725 11726 // The breach threshold for the alarm. 11727 // 11728 // Required if the policy type is StepScaling and not supported otherwise. 11729 BreachThreshold *float64 `type:"double"` 11730 11731 // Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to 11732 // complete before executing the policy. 11733 // 11734 // Valid only if the policy type is SimpleScaling. For more information, see 11735 // Scaling cooldowns for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html) 11736 // in the Amazon EC2 Auto Scaling User Guide. 11737 HonorCooldown *bool `type:"boolean"` 11738 11739 // The metric value to compare to BreachThreshold. This enables you to execute 11740 // a policy of type StepScaling and determine which step adjustment to use. 11741 // For example, if the breach threshold is 50 and you want to use a step adjustment 11742 // with a lower bound of 0 and an upper bound of 10, you can set the metric 11743 // value to 59. 11744 // 11745 // If you specify a metric value that doesn't correspond to a step adjustment 11746 // for the policy, the call returns an error. 11747 // 11748 // Required if the policy type is StepScaling and not supported otherwise. 11749 MetricValue *float64 `type:"double"` 11750 11751 // The name or ARN of the policy. 11752 // 11753 // PolicyName is a required field 11754 PolicyName *string `min:"1" type:"string" required:"true"` 11755 } 11756 11757 // String returns the string representation. 11758 // 11759 // API parameter values that are decorated as "sensitive" in the API will not 11760 // be included in the string output. The member name will be present, but the 11761 // value will be replaced with "sensitive". 11762 func (s ExecutePolicyInput) String() string { 11763 return awsutil.Prettify(s) 11764 } 11765 11766 // GoString returns the string representation. 11767 // 11768 // API parameter values that are decorated as "sensitive" in the API will not 11769 // be included in the string output. The member name will be present, but the 11770 // value will be replaced with "sensitive". 11771 func (s ExecutePolicyInput) GoString() string { 11772 return s.String() 11773 } 11774 11775 // Validate inspects the fields of the type to determine if they are valid. 11776 func (s *ExecutePolicyInput) Validate() error { 11777 invalidParams := request.ErrInvalidParams{Context: "ExecutePolicyInput"} 11778 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 11779 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 11780 } 11781 if s.PolicyName == nil { 11782 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 11783 } 11784 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 11785 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 11786 } 11787 11788 if invalidParams.Len() > 0 { 11789 return invalidParams 11790 } 11791 return nil 11792 } 11793 11794 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 11795 func (s *ExecutePolicyInput) SetAutoScalingGroupName(v string) *ExecutePolicyInput { 11796 s.AutoScalingGroupName = &v 11797 return s 11798 } 11799 11800 // SetBreachThreshold sets the BreachThreshold field's value. 11801 func (s *ExecutePolicyInput) SetBreachThreshold(v float64) *ExecutePolicyInput { 11802 s.BreachThreshold = &v 11803 return s 11804 } 11805 11806 // SetHonorCooldown sets the HonorCooldown field's value. 11807 func (s *ExecutePolicyInput) SetHonorCooldown(v bool) *ExecutePolicyInput { 11808 s.HonorCooldown = &v 11809 return s 11810 } 11811 11812 // SetMetricValue sets the MetricValue field's value. 11813 func (s *ExecutePolicyInput) SetMetricValue(v float64) *ExecutePolicyInput { 11814 s.MetricValue = &v 11815 return s 11816 } 11817 11818 // SetPolicyName sets the PolicyName field's value. 11819 func (s *ExecutePolicyInput) SetPolicyName(v string) *ExecutePolicyInput { 11820 s.PolicyName = &v 11821 return s 11822 } 11823 11824 type ExecutePolicyOutput struct { 11825 _ struct{} `type:"structure"` 11826 } 11827 11828 // String returns the string representation. 11829 // 11830 // API parameter values that are decorated as "sensitive" in the API will not 11831 // be included in the string output. The member name will be present, but the 11832 // value will be replaced with "sensitive". 11833 func (s ExecutePolicyOutput) String() string { 11834 return awsutil.Prettify(s) 11835 } 11836 11837 // GoString returns the string representation. 11838 // 11839 // API parameter values that are decorated as "sensitive" in the API will not 11840 // be included in the string output. The member name will be present, but the 11841 // value will be replaced with "sensitive". 11842 func (s ExecutePolicyOutput) GoString() string { 11843 return s.String() 11844 } 11845 11846 type ExitStandbyInput struct { 11847 _ struct{} `type:"structure"` 11848 11849 // The name of the Auto Scaling group. 11850 // 11851 // AutoScalingGroupName is a required field 11852 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 11853 11854 // The IDs of the instances. You can specify up to 20 instances. 11855 InstanceIds []*string `type:"list"` 11856 } 11857 11858 // String returns the string representation. 11859 // 11860 // API parameter values that are decorated as "sensitive" in the API will not 11861 // be included in the string output. The member name will be present, but the 11862 // value will be replaced with "sensitive". 11863 func (s ExitStandbyInput) String() string { 11864 return awsutil.Prettify(s) 11865 } 11866 11867 // GoString returns the string representation. 11868 // 11869 // API parameter values that are decorated as "sensitive" in the API will not 11870 // be included in the string output. The member name will be present, but the 11871 // value will be replaced with "sensitive". 11872 func (s ExitStandbyInput) GoString() string { 11873 return s.String() 11874 } 11875 11876 // Validate inspects the fields of the type to determine if they are valid. 11877 func (s *ExitStandbyInput) Validate() error { 11878 invalidParams := request.ErrInvalidParams{Context: "ExitStandbyInput"} 11879 if s.AutoScalingGroupName == nil { 11880 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 11881 } 11882 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 11883 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 11884 } 11885 11886 if invalidParams.Len() > 0 { 11887 return invalidParams 11888 } 11889 return nil 11890 } 11891 11892 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 11893 func (s *ExitStandbyInput) SetAutoScalingGroupName(v string) *ExitStandbyInput { 11894 s.AutoScalingGroupName = &v 11895 return s 11896 } 11897 11898 // SetInstanceIds sets the InstanceIds field's value. 11899 func (s *ExitStandbyInput) SetInstanceIds(v []*string) *ExitStandbyInput { 11900 s.InstanceIds = v 11901 return s 11902 } 11903 11904 type ExitStandbyOutput struct { 11905 _ struct{} `type:"structure"` 11906 11907 // The activities related to moving instances out of Standby mode. 11908 Activities []*Activity `type:"list"` 11909 } 11910 11911 // String returns the string representation. 11912 // 11913 // API parameter values that are decorated as "sensitive" in the API will not 11914 // be included in the string output. The member name will be present, but the 11915 // value will be replaced with "sensitive". 11916 func (s ExitStandbyOutput) String() string { 11917 return awsutil.Prettify(s) 11918 } 11919 11920 // GoString returns the string representation. 11921 // 11922 // API parameter values that are decorated as "sensitive" in the API will not 11923 // be included in the string output. The member name will be present, but the 11924 // value will be replaced with "sensitive". 11925 func (s ExitStandbyOutput) GoString() string { 11926 return s.String() 11927 } 11928 11929 // SetActivities sets the Activities field's value. 11930 func (s *ExitStandbyOutput) SetActivities(v []*Activity) *ExitStandbyOutput { 11931 s.Activities = v 11932 return s 11933 } 11934 11935 // Describes a scheduled action that could not be created, updated, or deleted. 11936 type FailedScheduledUpdateGroupActionRequest struct { 11937 _ struct{} `type:"structure"` 11938 11939 // The error code. 11940 ErrorCode *string `min:"1" type:"string"` 11941 11942 // The error message accompanying the error code. 11943 ErrorMessage *string `type:"string"` 11944 11945 // The name of the scheduled action. 11946 // 11947 // ScheduledActionName is a required field 11948 ScheduledActionName *string `min:"1" type:"string" required:"true"` 11949 } 11950 11951 // String returns the string representation. 11952 // 11953 // API parameter values that are decorated as "sensitive" in the API will not 11954 // be included in the string output. The member name will be present, but the 11955 // value will be replaced with "sensitive". 11956 func (s FailedScheduledUpdateGroupActionRequest) String() string { 11957 return awsutil.Prettify(s) 11958 } 11959 11960 // GoString returns the string representation. 11961 // 11962 // API parameter values that are decorated as "sensitive" in the API will not 11963 // be included in the string output. The member name will be present, but the 11964 // value will be replaced with "sensitive". 11965 func (s FailedScheduledUpdateGroupActionRequest) GoString() string { 11966 return s.String() 11967 } 11968 11969 // SetErrorCode sets the ErrorCode field's value. 11970 func (s *FailedScheduledUpdateGroupActionRequest) SetErrorCode(v string) *FailedScheduledUpdateGroupActionRequest { 11971 s.ErrorCode = &v 11972 return s 11973 } 11974 11975 // SetErrorMessage sets the ErrorMessage field's value. 11976 func (s *FailedScheduledUpdateGroupActionRequest) SetErrorMessage(v string) *FailedScheduledUpdateGroupActionRequest { 11977 s.ErrorMessage = &v 11978 return s 11979 } 11980 11981 // SetScheduledActionName sets the ScheduledActionName field's value. 11982 func (s *FailedScheduledUpdateGroupActionRequest) SetScheduledActionName(v string) *FailedScheduledUpdateGroupActionRequest { 11983 s.ScheduledActionName = &v 11984 return s 11985 } 11986 11987 // Describes a filter that is used to return a more specific list of results 11988 // when describing tags. 11989 // 11990 // For more information, see Tagging Auto Scaling groups and instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html) 11991 // in the Amazon EC2 Auto Scaling User Guide. 11992 type Filter struct { 11993 _ struct{} `type:"structure"` 11994 11995 // The name of the filter. The valid values are: auto-scaling-group, key, value, 11996 // and propagate-at-launch. 11997 Name *string `type:"string"` 11998 11999 // One or more filter values. Filter values are case-sensitive. 12000 Values []*string `type:"list"` 12001 } 12002 12003 // String returns the string representation. 12004 // 12005 // API parameter values that are decorated as "sensitive" in the API will not 12006 // be included in the string output. The member name will be present, but the 12007 // value will be replaced with "sensitive". 12008 func (s Filter) String() string { 12009 return awsutil.Prettify(s) 12010 } 12011 12012 // GoString returns the string representation. 12013 // 12014 // API parameter values that are decorated as "sensitive" in the API will not 12015 // be included in the string output. The member name will be present, but the 12016 // value will be replaced with "sensitive". 12017 func (s Filter) GoString() string { 12018 return s.String() 12019 } 12020 12021 // SetName sets the Name field's value. 12022 func (s *Filter) SetName(v string) *Filter { 12023 s.Name = &v 12024 return s 12025 } 12026 12027 // SetValues sets the Values field's value. 12028 func (s *Filter) SetValues(v []*string) *Filter { 12029 s.Values = v 12030 return s 12031 } 12032 12033 type GetPredictiveScalingForecastInput struct { 12034 _ struct{} `type:"structure"` 12035 12036 // The name of the Auto Scaling group. 12037 // 12038 // AutoScalingGroupName is a required field 12039 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 12040 12041 // The exclusive end time of the time range for the forecast data to get. The 12042 // maximum time duration between the start and end time is 30 days. 12043 // 12044 // Although this parameter can accept a date and time that is more than two 12045 // days in the future, the availability of forecast data has limits. Amazon 12046 // EC2 Auto Scaling only issues forecasts for periods of two days in advance. 12047 // 12048 // EndTime is a required field 12049 EndTime *time.Time `type:"timestamp" required:"true"` 12050 12051 // The name of the policy. 12052 // 12053 // PolicyName is a required field 12054 PolicyName *string `min:"1" type:"string" required:"true"` 12055 12056 // The inclusive start time of the time range for the forecast data to get. 12057 // At most, the date and time can be one year before the current date and time. 12058 // 12059 // StartTime is a required field 12060 StartTime *time.Time `type:"timestamp" required:"true"` 12061 } 12062 12063 // String returns the string representation. 12064 // 12065 // API parameter values that are decorated as "sensitive" in the API will not 12066 // be included in the string output. The member name will be present, but the 12067 // value will be replaced with "sensitive". 12068 func (s GetPredictiveScalingForecastInput) String() string { 12069 return awsutil.Prettify(s) 12070 } 12071 12072 // GoString returns the string representation. 12073 // 12074 // API parameter values that are decorated as "sensitive" in the API will not 12075 // be included in the string output. The member name will be present, but the 12076 // value will be replaced with "sensitive". 12077 func (s GetPredictiveScalingForecastInput) GoString() string { 12078 return s.String() 12079 } 12080 12081 // Validate inspects the fields of the type to determine if they are valid. 12082 func (s *GetPredictiveScalingForecastInput) Validate() error { 12083 invalidParams := request.ErrInvalidParams{Context: "GetPredictiveScalingForecastInput"} 12084 if s.AutoScalingGroupName == nil { 12085 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 12086 } 12087 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 12088 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 12089 } 12090 if s.EndTime == nil { 12091 invalidParams.Add(request.NewErrParamRequired("EndTime")) 12092 } 12093 if s.PolicyName == nil { 12094 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 12095 } 12096 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 12097 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 12098 } 12099 if s.StartTime == nil { 12100 invalidParams.Add(request.NewErrParamRequired("StartTime")) 12101 } 12102 12103 if invalidParams.Len() > 0 { 12104 return invalidParams 12105 } 12106 return nil 12107 } 12108 12109 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 12110 func (s *GetPredictiveScalingForecastInput) SetAutoScalingGroupName(v string) *GetPredictiveScalingForecastInput { 12111 s.AutoScalingGroupName = &v 12112 return s 12113 } 12114 12115 // SetEndTime sets the EndTime field's value. 12116 func (s *GetPredictiveScalingForecastInput) SetEndTime(v time.Time) *GetPredictiveScalingForecastInput { 12117 s.EndTime = &v 12118 return s 12119 } 12120 12121 // SetPolicyName sets the PolicyName field's value. 12122 func (s *GetPredictiveScalingForecastInput) SetPolicyName(v string) *GetPredictiveScalingForecastInput { 12123 s.PolicyName = &v 12124 return s 12125 } 12126 12127 // SetStartTime sets the StartTime field's value. 12128 func (s *GetPredictiveScalingForecastInput) SetStartTime(v time.Time) *GetPredictiveScalingForecastInput { 12129 s.StartTime = &v 12130 return s 12131 } 12132 12133 type GetPredictiveScalingForecastOutput struct { 12134 _ struct{} `type:"structure"` 12135 12136 // The capacity forecast. 12137 // 12138 // CapacityForecast is a required field 12139 CapacityForecast *CapacityForecast `type:"structure" required:"true"` 12140 12141 // The load forecast. 12142 // 12143 // LoadForecast is a required field 12144 LoadForecast []*LoadForecast `type:"list" required:"true"` 12145 12146 // The time the forecast was made. 12147 // 12148 // UpdateTime is a required field 12149 UpdateTime *time.Time `type:"timestamp" required:"true"` 12150 } 12151 12152 // String returns the string representation. 12153 // 12154 // API parameter values that are decorated as "sensitive" in the API will not 12155 // be included in the string output. The member name will be present, but the 12156 // value will be replaced with "sensitive". 12157 func (s GetPredictiveScalingForecastOutput) String() string { 12158 return awsutil.Prettify(s) 12159 } 12160 12161 // GoString returns the string representation. 12162 // 12163 // API parameter values that are decorated as "sensitive" in the API will not 12164 // be included in the string output. The member name will be present, but the 12165 // value will be replaced with "sensitive". 12166 func (s GetPredictiveScalingForecastOutput) GoString() string { 12167 return s.String() 12168 } 12169 12170 // SetCapacityForecast sets the CapacityForecast field's value. 12171 func (s *GetPredictiveScalingForecastOutput) SetCapacityForecast(v *CapacityForecast) *GetPredictiveScalingForecastOutput { 12172 s.CapacityForecast = v 12173 return s 12174 } 12175 12176 // SetLoadForecast sets the LoadForecast field's value. 12177 func (s *GetPredictiveScalingForecastOutput) SetLoadForecast(v []*LoadForecast) *GetPredictiveScalingForecastOutput { 12178 s.LoadForecast = v 12179 return s 12180 } 12181 12182 // SetUpdateTime sets the UpdateTime field's value. 12183 func (s *GetPredictiveScalingForecastOutput) SetUpdateTime(v time.Time) *GetPredictiveScalingForecastOutput { 12184 s.UpdateTime = &v 12185 return s 12186 } 12187 12188 // Describes an Auto Scaling group. 12189 type Group struct { 12190 _ struct{} `type:"structure"` 12191 12192 // The Amazon Resource Name (ARN) of the Auto Scaling group. 12193 AutoScalingGroupARN *string `min:"1" type:"string"` 12194 12195 // The name of the Auto Scaling group. 12196 // 12197 // AutoScalingGroupName is a required field 12198 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 12199 12200 // One or more Availability Zones for the group. 12201 // 12202 // AvailabilityZones is a required field 12203 AvailabilityZones []*string `type:"list" required:"true"` 12204 12205 // Indicates whether Capacity Rebalancing is enabled. 12206 CapacityRebalance *bool `type:"boolean"` 12207 12208 // Reserved. 12209 Context *string `type:"string"` 12210 12211 // The date and time the group was created. 12212 // 12213 // CreatedTime is a required field 12214 CreatedTime *time.Time `type:"timestamp" required:"true"` 12215 12216 // The duration of the default cooldown period, in seconds. 12217 // 12218 // DefaultCooldown is a required field 12219 DefaultCooldown *int64 `type:"integer" required:"true"` 12220 12221 // The desired size of the group. 12222 // 12223 // DesiredCapacity is a required field 12224 DesiredCapacity *int64 `type:"integer" required:"true"` 12225 12226 // The metrics enabled for the group. 12227 EnabledMetrics []*EnabledMetric `type:"list"` 12228 12229 // The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before 12230 // checking the health status of an EC2 instance that has come into service. 12231 HealthCheckGracePeriod *int64 `type:"integer"` 12232 12233 // The service to use for the health checks. The valid values are EC2 and ELB. 12234 // If you configure an Auto Scaling group to use ELB health checks, it considers 12235 // the instance unhealthy if it fails either the EC2 status checks or the load 12236 // balancer health checks. 12237 // 12238 // HealthCheckType is a required field 12239 HealthCheckType *string `min:"1" type:"string" required:"true"` 12240 12241 // The EC2 instances associated with the group. 12242 Instances []*Instance `type:"list"` 12243 12244 // The name of the associated launch configuration. 12245 LaunchConfigurationName *string `min:"1" type:"string"` 12246 12247 // The launch template for the group. 12248 LaunchTemplate *LaunchTemplateSpecification `type:"structure"` 12249 12250 // One or more load balancers associated with the group. 12251 LoadBalancerNames []*string `type:"list"` 12252 12253 // The maximum amount of time, in seconds, that an instance can be in service. 12254 // 12255 // Valid Range: Minimum value of 0. 12256 MaxInstanceLifetime *int64 `type:"integer"` 12257 12258 // The maximum size of the group. 12259 // 12260 // MaxSize is a required field 12261 MaxSize *int64 `type:"integer" required:"true"` 12262 12263 // The minimum size of the group. 12264 // 12265 // MinSize is a required field 12266 MinSize *int64 `type:"integer" required:"true"` 12267 12268 // The mixed instances policy for the group. 12269 MixedInstancesPolicy *MixedInstancesPolicy `type:"structure"` 12270 12271 // Indicates whether newly launched instances are protected from termination 12272 // by Amazon EC2 Auto Scaling when scaling in. 12273 NewInstancesProtectedFromScaleIn *bool `type:"boolean"` 12274 12275 // The name of the placement group into which to launch your instances, if any. 12276 PlacementGroup *string `min:"1" type:"string"` 12277 12278 // The predicted capacity of the group when it has a predictive scaling policy. 12279 PredictedCapacity *int64 `type:"integer"` 12280 12281 // The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling 12282 // group uses to call other Amazon Web Services on your behalf. 12283 ServiceLinkedRoleARN *string `min:"1" type:"string"` 12284 12285 // The current state of the group when the DeleteAutoScalingGroup operation 12286 // is in progress. 12287 Status *string `min:"1" type:"string"` 12288 12289 // The suspended processes associated with the group. 12290 SuspendedProcesses []*SuspendedProcess `type:"list"` 12291 12292 // The tags for the group. 12293 Tags []*TagDescription `type:"list"` 12294 12295 // The Amazon Resource Names (ARN) of the target groups for your load balancer. 12296 TargetGroupARNs []*string `type:"list"` 12297 12298 // The termination policies for the group. 12299 TerminationPolicies []*string `type:"list"` 12300 12301 // One or more subnet IDs, if applicable, separated by commas. 12302 VPCZoneIdentifier *string `min:"1" type:"string"` 12303 12304 // The warm pool for the group. 12305 WarmPoolConfiguration *WarmPoolConfiguration `type:"structure"` 12306 12307 // The current size of the warm pool. 12308 WarmPoolSize *int64 `type:"integer"` 12309 } 12310 12311 // String returns the string representation. 12312 // 12313 // API parameter values that are decorated as "sensitive" in the API will not 12314 // be included in the string output. The member name will be present, but the 12315 // value will be replaced with "sensitive". 12316 func (s Group) String() string { 12317 return awsutil.Prettify(s) 12318 } 12319 12320 // GoString returns the string representation. 12321 // 12322 // API parameter values that are decorated as "sensitive" in the API will not 12323 // be included in the string output. The member name will be present, but the 12324 // value will be replaced with "sensitive". 12325 func (s Group) GoString() string { 12326 return s.String() 12327 } 12328 12329 // SetAutoScalingGroupARN sets the AutoScalingGroupARN field's value. 12330 func (s *Group) SetAutoScalingGroupARN(v string) *Group { 12331 s.AutoScalingGroupARN = &v 12332 return s 12333 } 12334 12335 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 12336 func (s *Group) SetAutoScalingGroupName(v string) *Group { 12337 s.AutoScalingGroupName = &v 12338 return s 12339 } 12340 12341 // SetAvailabilityZones sets the AvailabilityZones field's value. 12342 func (s *Group) SetAvailabilityZones(v []*string) *Group { 12343 s.AvailabilityZones = v 12344 return s 12345 } 12346 12347 // SetCapacityRebalance sets the CapacityRebalance field's value. 12348 func (s *Group) SetCapacityRebalance(v bool) *Group { 12349 s.CapacityRebalance = &v 12350 return s 12351 } 12352 12353 // SetContext sets the Context field's value. 12354 func (s *Group) SetContext(v string) *Group { 12355 s.Context = &v 12356 return s 12357 } 12358 12359 // SetCreatedTime sets the CreatedTime field's value. 12360 func (s *Group) SetCreatedTime(v time.Time) *Group { 12361 s.CreatedTime = &v 12362 return s 12363 } 12364 12365 // SetDefaultCooldown sets the DefaultCooldown field's value. 12366 func (s *Group) SetDefaultCooldown(v int64) *Group { 12367 s.DefaultCooldown = &v 12368 return s 12369 } 12370 12371 // SetDesiredCapacity sets the DesiredCapacity field's value. 12372 func (s *Group) SetDesiredCapacity(v int64) *Group { 12373 s.DesiredCapacity = &v 12374 return s 12375 } 12376 12377 // SetEnabledMetrics sets the EnabledMetrics field's value. 12378 func (s *Group) SetEnabledMetrics(v []*EnabledMetric) *Group { 12379 s.EnabledMetrics = v 12380 return s 12381 } 12382 12383 // SetHealthCheckGracePeriod sets the HealthCheckGracePeriod field's value. 12384 func (s *Group) SetHealthCheckGracePeriod(v int64) *Group { 12385 s.HealthCheckGracePeriod = &v 12386 return s 12387 } 12388 12389 // SetHealthCheckType sets the HealthCheckType field's value. 12390 func (s *Group) SetHealthCheckType(v string) *Group { 12391 s.HealthCheckType = &v 12392 return s 12393 } 12394 12395 // SetInstances sets the Instances field's value. 12396 func (s *Group) SetInstances(v []*Instance) *Group { 12397 s.Instances = v 12398 return s 12399 } 12400 12401 // SetLaunchConfigurationName sets the LaunchConfigurationName field's value. 12402 func (s *Group) SetLaunchConfigurationName(v string) *Group { 12403 s.LaunchConfigurationName = &v 12404 return s 12405 } 12406 12407 // SetLaunchTemplate sets the LaunchTemplate field's value. 12408 func (s *Group) SetLaunchTemplate(v *LaunchTemplateSpecification) *Group { 12409 s.LaunchTemplate = v 12410 return s 12411 } 12412 12413 // SetLoadBalancerNames sets the LoadBalancerNames field's value. 12414 func (s *Group) SetLoadBalancerNames(v []*string) *Group { 12415 s.LoadBalancerNames = v 12416 return s 12417 } 12418 12419 // SetMaxInstanceLifetime sets the MaxInstanceLifetime field's value. 12420 func (s *Group) SetMaxInstanceLifetime(v int64) *Group { 12421 s.MaxInstanceLifetime = &v 12422 return s 12423 } 12424 12425 // SetMaxSize sets the MaxSize field's value. 12426 func (s *Group) SetMaxSize(v int64) *Group { 12427 s.MaxSize = &v 12428 return s 12429 } 12430 12431 // SetMinSize sets the MinSize field's value. 12432 func (s *Group) SetMinSize(v int64) *Group { 12433 s.MinSize = &v 12434 return s 12435 } 12436 12437 // SetMixedInstancesPolicy sets the MixedInstancesPolicy field's value. 12438 func (s *Group) SetMixedInstancesPolicy(v *MixedInstancesPolicy) *Group { 12439 s.MixedInstancesPolicy = v 12440 return s 12441 } 12442 12443 // SetNewInstancesProtectedFromScaleIn sets the NewInstancesProtectedFromScaleIn field's value. 12444 func (s *Group) SetNewInstancesProtectedFromScaleIn(v bool) *Group { 12445 s.NewInstancesProtectedFromScaleIn = &v 12446 return s 12447 } 12448 12449 // SetPlacementGroup sets the PlacementGroup field's value. 12450 func (s *Group) SetPlacementGroup(v string) *Group { 12451 s.PlacementGroup = &v 12452 return s 12453 } 12454 12455 // SetPredictedCapacity sets the PredictedCapacity field's value. 12456 func (s *Group) SetPredictedCapacity(v int64) *Group { 12457 s.PredictedCapacity = &v 12458 return s 12459 } 12460 12461 // SetServiceLinkedRoleARN sets the ServiceLinkedRoleARN field's value. 12462 func (s *Group) SetServiceLinkedRoleARN(v string) *Group { 12463 s.ServiceLinkedRoleARN = &v 12464 return s 12465 } 12466 12467 // SetStatus sets the Status field's value. 12468 func (s *Group) SetStatus(v string) *Group { 12469 s.Status = &v 12470 return s 12471 } 12472 12473 // SetSuspendedProcesses sets the SuspendedProcesses field's value. 12474 func (s *Group) SetSuspendedProcesses(v []*SuspendedProcess) *Group { 12475 s.SuspendedProcesses = v 12476 return s 12477 } 12478 12479 // SetTags sets the Tags field's value. 12480 func (s *Group) SetTags(v []*TagDescription) *Group { 12481 s.Tags = v 12482 return s 12483 } 12484 12485 // SetTargetGroupARNs sets the TargetGroupARNs field's value. 12486 func (s *Group) SetTargetGroupARNs(v []*string) *Group { 12487 s.TargetGroupARNs = v 12488 return s 12489 } 12490 12491 // SetTerminationPolicies sets the TerminationPolicies field's value. 12492 func (s *Group) SetTerminationPolicies(v []*string) *Group { 12493 s.TerminationPolicies = v 12494 return s 12495 } 12496 12497 // SetVPCZoneIdentifier sets the VPCZoneIdentifier field's value. 12498 func (s *Group) SetVPCZoneIdentifier(v string) *Group { 12499 s.VPCZoneIdentifier = &v 12500 return s 12501 } 12502 12503 // SetWarmPoolConfiguration sets the WarmPoolConfiguration field's value. 12504 func (s *Group) SetWarmPoolConfiguration(v *WarmPoolConfiguration) *Group { 12505 s.WarmPoolConfiguration = v 12506 return s 12507 } 12508 12509 // SetWarmPoolSize sets the WarmPoolSize field's value. 12510 func (s *Group) SetWarmPoolSize(v int64) *Group { 12511 s.WarmPoolSize = &v 12512 return s 12513 } 12514 12515 // Describes an EC2 instance. 12516 type Instance struct { 12517 _ struct{} `type:"structure"` 12518 12519 // The Availability Zone in which the instance is running. 12520 // 12521 // AvailabilityZone is a required field 12522 AvailabilityZone *string `min:"1" type:"string" required:"true"` 12523 12524 // The last reported health status of the instance. "Healthy" means that the 12525 // instance is healthy and should remain in service. "Unhealthy" means that 12526 // the instance is unhealthy and that Amazon EC2 Auto Scaling should terminate 12527 // and replace it. 12528 // 12529 // HealthStatus is a required field 12530 HealthStatus *string `min:"1" type:"string" required:"true"` 12531 12532 // The ID of the instance. 12533 // 12534 // InstanceId is a required field 12535 InstanceId *string `min:"1" type:"string" required:"true"` 12536 12537 // The instance type of the EC2 instance. 12538 InstanceType *string `min:"1" type:"string"` 12539 12540 // The launch configuration associated with the instance. 12541 LaunchConfigurationName *string `min:"1" type:"string"` 12542 12543 // The launch template for the instance. 12544 LaunchTemplate *LaunchTemplateSpecification `type:"structure"` 12545 12546 // A description of the current lifecycle state. The Quarantined state is not 12547 // used. For information about lifecycle states, see Instance lifecycle (https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroupLifecycle.html) 12548 // in the Amazon EC2 Auto Scaling User Guide. 12549 // 12550 // LifecycleState is a required field 12551 LifecycleState *string `type:"string" required:"true" enum:"LifecycleState"` 12552 12553 // Indicates whether the instance is protected from termination by Amazon EC2 12554 // Auto Scaling when scaling in. 12555 // 12556 // ProtectedFromScaleIn is a required field 12557 ProtectedFromScaleIn *bool `type:"boolean" required:"true"` 12558 12559 // The number of capacity units contributed by the instance based on its instance 12560 // type. 12561 // 12562 // Valid Range: Minimum value of 1. Maximum value of 999. 12563 WeightedCapacity *string `min:"1" type:"string"` 12564 } 12565 12566 // String returns the string representation. 12567 // 12568 // API parameter values that are decorated as "sensitive" in the API will not 12569 // be included in the string output. The member name will be present, but the 12570 // value will be replaced with "sensitive". 12571 func (s Instance) String() string { 12572 return awsutil.Prettify(s) 12573 } 12574 12575 // GoString returns the string representation. 12576 // 12577 // API parameter values that are decorated as "sensitive" in the API will not 12578 // be included in the string output. The member name will be present, but the 12579 // value will be replaced with "sensitive". 12580 func (s Instance) GoString() string { 12581 return s.String() 12582 } 12583 12584 // SetAvailabilityZone sets the AvailabilityZone field's value. 12585 func (s *Instance) SetAvailabilityZone(v string) *Instance { 12586 s.AvailabilityZone = &v 12587 return s 12588 } 12589 12590 // SetHealthStatus sets the HealthStatus field's value. 12591 func (s *Instance) SetHealthStatus(v string) *Instance { 12592 s.HealthStatus = &v 12593 return s 12594 } 12595 12596 // SetInstanceId sets the InstanceId field's value. 12597 func (s *Instance) SetInstanceId(v string) *Instance { 12598 s.InstanceId = &v 12599 return s 12600 } 12601 12602 // SetInstanceType sets the InstanceType field's value. 12603 func (s *Instance) SetInstanceType(v string) *Instance { 12604 s.InstanceType = &v 12605 return s 12606 } 12607 12608 // SetLaunchConfigurationName sets the LaunchConfigurationName field's value. 12609 func (s *Instance) SetLaunchConfigurationName(v string) *Instance { 12610 s.LaunchConfigurationName = &v 12611 return s 12612 } 12613 12614 // SetLaunchTemplate sets the LaunchTemplate field's value. 12615 func (s *Instance) SetLaunchTemplate(v *LaunchTemplateSpecification) *Instance { 12616 s.LaunchTemplate = v 12617 return s 12618 } 12619 12620 // SetLifecycleState sets the LifecycleState field's value. 12621 func (s *Instance) SetLifecycleState(v string) *Instance { 12622 s.LifecycleState = &v 12623 return s 12624 } 12625 12626 // SetProtectedFromScaleIn sets the ProtectedFromScaleIn field's value. 12627 func (s *Instance) SetProtectedFromScaleIn(v bool) *Instance { 12628 s.ProtectedFromScaleIn = &v 12629 return s 12630 } 12631 12632 // SetWeightedCapacity sets the WeightedCapacity field's value. 12633 func (s *Instance) SetWeightedCapacity(v string) *Instance { 12634 s.WeightedCapacity = &v 12635 return s 12636 } 12637 12638 // Describes an EC2 instance associated with an Auto Scaling group. 12639 type InstanceDetails struct { 12640 _ struct{} `type:"structure"` 12641 12642 // The name of the Auto Scaling group for the instance. 12643 // 12644 // AutoScalingGroupName is a required field 12645 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 12646 12647 // The Availability Zone for the instance. 12648 // 12649 // AvailabilityZone is a required field 12650 AvailabilityZone *string `min:"1" type:"string" required:"true"` 12651 12652 // The last reported health status of this instance. "Healthy" means that the 12653 // instance is healthy and should remain in service. "Unhealthy" means that 12654 // the instance is unhealthy and Amazon EC2 Auto Scaling should terminate and 12655 // replace it. 12656 // 12657 // HealthStatus is a required field 12658 HealthStatus *string `min:"1" type:"string" required:"true"` 12659 12660 // The ID of the instance. 12661 // 12662 // InstanceId is a required field 12663 InstanceId *string `min:"1" type:"string" required:"true"` 12664 12665 // The instance type of the EC2 instance. 12666 InstanceType *string `min:"1" type:"string"` 12667 12668 // The launch configuration used to launch the instance. This value is not available 12669 // if you attached the instance to the Auto Scaling group. 12670 LaunchConfigurationName *string `min:"1" type:"string"` 12671 12672 // The launch template for the instance. 12673 LaunchTemplate *LaunchTemplateSpecification `type:"structure"` 12674 12675 // The lifecycle state for the instance. The Quarantined state is not used. 12676 // For information about lifecycle states, see Instance lifecycle (https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroupLifecycle.html) 12677 // in the Amazon EC2 Auto Scaling User Guide. 12678 // 12679 // Valid Values: Pending | Pending:Wait | Pending:Proceed | Quarantined | InService 12680 // | Terminating | Terminating:Wait | Terminating:Proceed | Terminated | Detaching 12681 // | Detached | EnteringStandby | Standby | Warmed:Pending | Warmed:Pending:Wait 12682 // | Warmed:Pending:Proceed | Warmed:Terminating | Warmed:Terminating:Wait | 12683 // Warmed:Terminating:Proceed | Warmed:Terminated | Warmed:Stopped | Warmed:Running 12684 // 12685 // LifecycleState is a required field 12686 LifecycleState *string `min:"1" type:"string" required:"true"` 12687 12688 // Indicates whether the instance is protected from termination by Amazon EC2 12689 // Auto Scaling when scaling in. 12690 // 12691 // ProtectedFromScaleIn is a required field 12692 ProtectedFromScaleIn *bool `type:"boolean" required:"true"` 12693 12694 // The number of capacity units contributed by the instance based on its instance 12695 // type. 12696 // 12697 // Valid Range: Minimum value of 1. Maximum value of 999. 12698 WeightedCapacity *string `min:"1" type:"string"` 12699 } 12700 12701 // String returns the string representation. 12702 // 12703 // API parameter values that are decorated as "sensitive" in the API will not 12704 // be included in the string output. The member name will be present, but the 12705 // value will be replaced with "sensitive". 12706 func (s InstanceDetails) String() string { 12707 return awsutil.Prettify(s) 12708 } 12709 12710 // GoString returns the string representation. 12711 // 12712 // API parameter values that are decorated as "sensitive" in the API will not 12713 // be included in the string output. The member name will be present, but the 12714 // value will be replaced with "sensitive". 12715 func (s InstanceDetails) GoString() string { 12716 return s.String() 12717 } 12718 12719 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 12720 func (s *InstanceDetails) SetAutoScalingGroupName(v string) *InstanceDetails { 12721 s.AutoScalingGroupName = &v 12722 return s 12723 } 12724 12725 // SetAvailabilityZone sets the AvailabilityZone field's value. 12726 func (s *InstanceDetails) SetAvailabilityZone(v string) *InstanceDetails { 12727 s.AvailabilityZone = &v 12728 return s 12729 } 12730 12731 // SetHealthStatus sets the HealthStatus field's value. 12732 func (s *InstanceDetails) SetHealthStatus(v string) *InstanceDetails { 12733 s.HealthStatus = &v 12734 return s 12735 } 12736 12737 // SetInstanceId sets the InstanceId field's value. 12738 func (s *InstanceDetails) SetInstanceId(v string) *InstanceDetails { 12739 s.InstanceId = &v 12740 return s 12741 } 12742 12743 // SetInstanceType sets the InstanceType field's value. 12744 func (s *InstanceDetails) SetInstanceType(v string) *InstanceDetails { 12745 s.InstanceType = &v 12746 return s 12747 } 12748 12749 // SetLaunchConfigurationName sets the LaunchConfigurationName field's value. 12750 func (s *InstanceDetails) SetLaunchConfigurationName(v string) *InstanceDetails { 12751 s.LaunchConfigurationName = &v 12752 return s 12753 } 12754 12755 // SetLaunchTemplate sets the LaunchTemplate field's value. 12756 func (s *InstanceDetails) SetLaunchTemplate(v *LaunchTemplateSpecification) *InstanceDetails { 12757 s.LaunchTemplate = v 12758 return s 12759 } 12760 12761 // SetLifecycleState sets the LifecycleState field's value. 12762 func (s *InstanceDetails) SetLifecycleState(v string) *InstanceDetails { 12763 s.LifecycleState = &v 12764 return s 12765 } 12766 12767 // SetProtectedFromScaleIn sets the ProtectedFromScaleIn field's value. 12768 func (s *InstanceDetails) SetProtectedFromScaleIn(v bool) *InstanceDetails { 12769 s.ProtectedFromScaleIn = &v 12770 return s 12771 } 12772 12773 // SetWeightedCapacity sets the WeightedCapacity field's value. 12774 func (s *InstanceDetails) SetWeightedCapacity(v string) *InstanceDetails { 12775 s.WeightedCapacity = &v 12776 return s 12777 } 12778 12779 // The metadata options for the instances. For more information, see Configuring 12780 // the Instance Metadata Options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-config.html#launch-configurations-imds) 12781 // in the Amazon EC2 Auto Scaling User Guide. 12782 type InstanceMetadataOptions struct { 12783 _ struct{} `type:"structure"` 12784 12785 // This parameter enables or disables the HTTP metadata endpoint on your instances. 12786 // If the parameter is not specified, the default state is enabled. 12787 // 12788 // If you specify a value of disabled, you will not be able to access your instance 12789 // metadata. 12790 HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"` 12791 12792 // The desired HTTP PUT response hop limit for instance metadata requests. The 12793 // larger the number, the further instance metadata requests can travel. 12794 // 12795 // Default: 1 12796 HttpPutResponseHopLimit *int64 `min:"1" type:"integer"` 12797 12798 // The state of token usage for your instance metadata requests. If the parameter 12799 // is not specified in the request, the default state is optional. 12800 // 12801 // If the state is optional, you can choose to retrieve instance metadata with 12802 // or without a signed token header on your request. If you retrieve the IAM 12803 // role credentials without a token, the version 1.0 role credentials are returned. 12804 // If you retrieve the IAM role credentials using a valid signed token, the 12805 // version 2.0 role credentials are returned. 12806 // 12807 // If the state is required, you must send a signed token header with any instance 12808 // metadata retrieval requests. In this state, retrieving the IAM role credentials 12809 // always returns the version 2.0 credentials; the version 1.0 credentials are 12810 // not available. 12811 HttpTokens *string `type:"string" enum:"InstanceMetadataHttpTokensState"` 12812 } 12813 12814 // String returns the string representation. 12815 // 12816 // API parameter values that are decorated as "sensitive" in the API will not 12817 // be included in the string output. The member name will be present, but the 12818 // value will be replaced with "sensitive". 12819 func (s InstanceMetadataOptions) String() string { 12820 return awsutil.Prettify(s) 12821 } 12822 12823 // GoString returns the string representation. 12824 // 12825 // API parameter values that are decorated as "sensitive" in the API will not 12826 // be included in the string output. The member name will be present, but the 12827 // value will be replaced with "sensitive". 12828 func (s InstanceMetadataOptions) GoString() string { 12829 return s.String() 12830 } 12831 12832 // Validate inspects the fields of the type to determine if they are valid. 12833 func (s *InstanceMetadataOptions) Validate() error { 12834 invalidParams := request.ErrInvalidParams{Context: "InstanceMetadataOptions"} 12835 if s.HttpPutResponseHopLimit != nil && *s.HttpPutResponseHopLimit < 1 { 12836 invalidParams.Add(request.NewErrParamMinValue("HttpPutResponseHopLimit", 1)) 12837 } 12838 12839 if invalidParams.Len() > 0 { 12840 return invalidParams 12841 } 12842 return nil 12843 } 12844 12845 // SetHttpEndpoint sets the HttpEndpoint field's value. 12846 func (s *InstanceMetadataOptions) SetHttpEndpoint(v string) *InstanceMetadataOptions { 12847 s.HttpEndpoint = &v 12848 return s 12849 } 12850 12851 // SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value. 12852 func (s *InstanceMetadataOptions) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptions { 12853 s.HttpPutResponseHopLimit = &v 12854 return s 12855 } 12856 12857 // SetHttpTokens sets the HttpTokens field's value. 12858 func (s *InstanceMetadataOptions) SetHttpTokens(v string) *InstanceMetadataOptions { 12859 s.HttpTokens = &v 12860 return s 12861 } 12862 12863 // Describes whether detailed monitoring is enabled for the Auto Scaling instances. 12864 type InstanceMonitoring struct { 12865 _ struct{} `type:"structure"` 12866 12867 // If true, detailed monitoring is enabled. Otherwise, basic monitoring is enabled. 12868 Enabled *bool `type:"boolean"` 12869 } 12870 12871 // String returns the string representation. 12872 // 12873 // API parameter values that are decorated as "sensitive" in the API will not 12874 // be included in the string output. The member name will be present, but the 12875 // value will be replaced with "sensitive". 12876 func (s InstanceMonitoring) String() string { 12877 return awsutil.Prettify(s) 12878 } 12879 12880 // GoString returns the string representation. 12881 // 12882 // API parameter values that are decorated as "sensitive" in the API will not 12883 // be included in the string output. The member name will be present, but the 12884 // value will be replaced with "sensitive". 12885 func (s InstanceMonitoring) GoString() string { 12886 return s.String() 12887 } 12888 12889 // SetEnabled sets the Enabled field's value. 12890 func (s *InstanceMonitoring) SetEnabled(v bool) *InstanceMonitoring { 12891 s.Enabled = &v 12892 return s 12893 } 12894 12895 // Describes an instance refresh for an Auto Scaling group. 12896 type InstanceRefresh struct { 12897 _ struct{} `type:"structure"` 12898 12899 // The name of the Auto Scaling group. 12900 AutoScalingGroupName *string `min:"1" type:"string"` 12901 12902 // Describes the specific update you want to deploy. 12903 DesiredConfiguration *DesiredConfiguration `type:"structure"` 12904 12905 // The date and time at which the instance refresh ended. 12906 EndTime *time.Time `type:"timestamp"` 12907 12908 // The instance refresh ID. 12909 InstanceRefreshId *string `min:"1" type:"string"` 12910 12911 // The number of instances remaining to update before the instance refresh is 12912 // complete. 12913 InstancesToUpdate *int64 `type:"integer"` 12914 12915 // The percentage of the instance refresh that is complete. For each instance 12916 // replacement, Amazon EC2 Auto Scaling tracks the instance's health status 12917 // and warm-up time. When the instance's health status changes to healthy and 12918 // the specified warm-up time passes, the instance is considered updated and 12919 // is added to the percentage complete. 12920 PercentageComplete *int64 `type:"integer"` 12921 12922 // Describes the preferences for an instance refresh. 12923 Preferences *RefreshPreferences `type:"structure"` 12924 12925 // Additional progress details for an Auto Scaling group that has a warm pool. 12926 ProgressDetails *InstanceRefreshProgressDetails `type:"structure"` 12927 12928 // The date and time at which the instance refresh began. 12929 StartTime *time.Time `type:"timestamp"` 12930 12931 // The current status for the instance refresh operation: 12932 // 12933 // * Pending - The request was created, but the operation has not started. 12934 // 12935 // * InProgress - The operation is in progress. 12936 // 12937 // * Successful - The operation completed successfully. 12938 // 12939 // * Failed - The operation failed to complete. You can troubleshoot using 12940 // the status reason and the scaling activities. 12941 // 12942 // * Cancelling - An ongoing operation is being cancelled. Cancellation does 12943 // not roll back any replacements that have already been completed, but it 12944 // prevents new replacements from being started. 12945 // 12946 // * Cancelled - The operation is cancelled. 12947 Status *string `type:"string" enum:"InstanceRefreshStatus"` 12948 12949 // Provides more details about the current status of the instance refresh. 12950 StatusReason *string `min:"1" type:"string"` 12951 } 12952 12953 // String returns the string representation. 12954 // 12955 // API parameter values that are decorated as "sensitive" in the API will not 12956 // be included in the string output. The member name will be present, but the 12957 // value will be replaced with "sensitive". 12958 func (s InstanceRefresh) String() string { 12959 return awsutil.Prettify(s) 12960 } 12961 12962 // GoString returns the string representation. 12963 // 12964 // API parameter values that are decorated as "sensitive" in the API will not 12965 // be included in the string output. The member name will be present, but the 12966 // value will be replaced with "sensitive". 12967 func (s InstanceRefresh) GoString() string { 12968 return s.String() 12969 } 12970 12971 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 12972 func (s *InstanceRefresh) SetAutoScalingGroupName(v string) *InstanceRefresh { 12973 s.AutoScalingGroupName = &v 12974 return s 12975 } 12976 12977 // SetDesiredConfiguration sets the DesiredConfiguration field's value. 12978 func (s *InstanceRefresh) SetDesiredConfiguration(v *DesiredConfiguration) *InstanceRefresh { 12979 s.DesiredConfiguration = v 12980 return s 12981 } 12982 12983 // SetEndTime sets the EndTime field's value. 12984 func (s *InstanceRefresh) SetEndTime(v time.Time) *InstanceRefresh { 12985 s.EndTime = &v 12986 return s 12987 } 12988 12989 // SetInstanceRefreshId sets the InstanceRefreshId field's value. 12990 func (s *InstanceRefresh) SetInstanceRefreshId(v string) *InstanceRefresh { 12991 s.InstanceRefreshId = &v 12992 return s 12993 } 12994 12995 // SetInstancesToUpdate sets the InstancesToUpdate field's value. 12996 func (s *InstanceRefresh) SetInstancesToUpdate(v int64) *InstanceRefresh { 12997 s.InstancesToUpdate = &v 12998 return s 12999 } 13000 13001 // SetPercentageComplete sets the PercentageComplete field's value. 13002 func (s *InstanceRefresh) SetPercentageComplete(v int64) *InstanceRefresh { 13003 s.PercentageComplete = &v 13004 return s 13005 } 13006 13007 // SetPreferences sets the Preferences field's value. 13008 func (s *InstanceRefresh) SetPreferences(v *RefreshPreferences) *InstanceRefresh { 13009 s.Preferences = v 13010 return s 13011 } 13012 13013 // SetProgressDetails sets the ProgressDetails field's value. 13014 func (s *InstanceRefresh) SetProgressDetails(v *InstanceRefreshProgressDetails) *InstanceRefresh { 13015 s.ProgressDetails = v 13016 return s 13017 } 13018 13019 // SetStartTime sets the StartTime field's value. 13020 func (s *InstanceRefresh) SetStartTime(v time.Time) *InstanceRefresh { 13021 s.StartTime = &v 13022 return s 13023 } 13024 13025 // SetStatus sets the Status field's value. 13026 func (s *InstanceRefresh) SetStatus(v string) *InstanceRefresh { 13027 s.Status = &v 13028 return s 13029 } 13030 13031 // SetStatusReason sets the StatusReason field's value. 13032 func (s *InstanceRefresh) SetStatusReason(v string) *InstanceRefresh { 13033 s.StatusReason = &v 13034 return s 13035 } 13036 13037 // Reports the progress of an instance refresh on instances that are in the 13038 // Auto Scaling group. 13039 type InstanceRefreshLivePoolProgress struct { 13040 _ struct{} `type:"structure"` 13041 13042 // The number of instances remaining to update. 13043 InstancesToUpdate *int64 `type:"integer"` 13044 13045 // The percentage of instances in the Auto Scaling group that have been replaced. 13046 // For each instance replacement, Amazon EC2 Auto Scaling tracks the instance's 13047 // health status and warm-up time. When the instance's health status changes 13048 // to healthy and the specified warm-up time passes, the instance is considered 13049 // updated and is added to the percentage complete. 13050 PercentageComplete *int64 `type:"integer"` 13051 } 13052 13053 // String returns the string representation. 13054 // 13055 // API parameter values that are decorated as "sensitive" in the API will not 13056 // be included in the string output. The member name will be present, but the 13057 // value will be replaced with "sensitive". 13058 func (s InstanceRefreshLivePoolProgress) String() string { 13059 return awsutil.Prettify(s) 13060 } 13061 13062 // GoString returns the string representation. 13063 // 13064 // API parameter values that are decorated as "sensitive" in the API will not 13065 // be included in the string output. The member name will be present, but the 13066 // value will be replaced with "sensitive". 13067 func (s InstanceRefreshLivePoolProgress) GoString() string { 13068 return s.String() 13069 } 13070 13071 // SetInstancesToUpdate sets the InstancesToUpdate field's value. 13072 func (s *InstanceRefreshLivePoolProgress) SetInstancesToUpdate(v int64) *InstanceRefreshLivePoolProgress { 13073 s.InstancesToUpdate = &v 13074 return s 13075 } 13076 13077 // SetPercentageComplete sets the PercentageComplete field's value. 13078 func (s *InstanceRefreshLivePoolProgress) SetPercentageComplete(v int64) *InstanceRefreshLivePoolProgress { 13079 s.PercentageComplete = &v 13080 return s 13081 } 13082 13083 // Reports the progress of an instance refresh on an Auto Scaling group that 13084 // has a warm pool. This includes separate details for instances in the warm 13085 // pool and instances in the Auto Scaling group (the live pool). 13086 type InstanceRefreshProgressDetails struct { 13087 _ struct{} `type:"structure"` 13088 13089 // Indicates the progress of an instance refresh on instances that are in the 13090 // Auto Scaling group. 13091 LivePoolProgress *InstanceRefreshLivePoolProgress `type:"structure"` 13092 13093 // Indicates the progress of an instance refresh on instances that are in the 13094 // warm pool. 13095 WarmPoolProgress *InstanceRefreshWarmPoolProgress `type:"structure"` 13096 } 13097 13098 // String returns the string representation. 13099 // 13100 // API parameter values that are decorated as "sensitive" in the API will not 13101 // be included in the string output. The member name will be present, but the 13102 // value will be replaced with "sensitive". 13103 func (s InstanceRefreshProgressDetails) String() string { 13104 return awsutil.Prettify(s) 13105 } 13106 13107 // GoString returns the string representation. 13108 // 13109 // API parameter values that are decorated as "sensitive" in the API will not 13110 // be included in the string output. The member name will be present, but the 13111 // value will be replaced with "sensitive". 13112 func (s InstanceRefreshProgressDetails) GoString() string { 13113 return s.String() 13114 } 13115 13116 // SetLivePoolProgress sets the LivePoolProgress field's value. 13117 func (s *InstanceRefreshProgressDetails) SetLivePoolProgress(v *InstanceRefreshLivePoolProgress) *InstanceRefreshProgressDetails { 13118 s.LivePoolProgress = v 13119 return s 13120 } 13121 13122 // SetWarmPoolProgress sets the WarmPoolProgress field's value. 13123 func (s *InstanceRefreshProgressDetails) SetWarmPoolProgress(v *InstanceRefreshWarmPoolProgress) *InstanceRefreshProgressDetails { 13124 s.WarmPoolProgress = v 13125 return s 13126 } 13127 13128 // Reports the progress of an instance refresh on instances that are in the 13129 // warm pool. 13130 type InstanceRefreshWarmPoolProgress struct { 13131 _ struct{} `type:"structure"` 13132 13133 // The number of instances remaining to update. 13134 InstancesToUpdate *int64 `type:"integer"` 13135 13136 // The percentage of instances in the warm pool that have been replaced. For 13137 // each instance replacement, Amazon EC2 Auto Scaling tracks the instance's 13138 // health status and warm-up time. When the instance's health status changes 13139 // to healthy and the specified warm-up time passes, the instance is considered 13140 // updated and is added to the percentage complete. 13141 PercentageComplete *int64 `type:"integer"` 13142 } 13143 13144 // String returns the string representation. 13145 // 13146 // API parameter values that are decorated as "sensitive" in the API will not 13147 // be included in the string output. The member name will be present, but the 13148 // value will be replaced with "sensitive". 13149 func (s InstanceRefreshWarmPoolProgress) String() string { 13150 return awsutil.Prettify(s) 13151 } 13152 13153 // GoString returns the string representation. 13154 // 13155 // API parameter values that are decorated as "sensitive" in the API will not 13156 // be included in the string output. The member name will be present, but the 13157 // value will be replaced with "sensitive". 13158 func (s InstanceRefreshWarmPoolProgress) GoString() string { 13159 return s.String() 13160 } 13161 13162 // SetInstancesToUpdate sets the InstancesToUpdate field's value. 13163 func (s *InstanceRefreshWarmPoolProgress) SetInstancesToUpdate(v int64) *InstanceRefreshWarmPoolProgress { 13164 s.InstancesToUpdate = &v 13165 return s 13166 } 13167 13168 // SetPercentageComplete sets the PercentageComplete field's value. 13169 func (s *InstanceRefreshWarmPoolProgress) SetPercentageComplete(v int64) *InstanceRefreshWarmPoolProgress { 13170 s.PercentageComplete = &v 13171 return s 13172 } 13173 13174 // Describes an instances distribution for an Auto Scaling group with a MixedInstancesPolicy. 13175 // 13176 // The instances distribution specifies the distribution of On-Demand Instances 13177 // and Spot Instances, the maximum price to pay for Spot Instances, and how 13178 // the Auto Scaling group allocates instance types to fulfill On-Demand and 13179 // Spot capacities. 13180 // 13181 // When you modify SpotAllocationStrategy, SpotInstancePools, or SpotMaxPrice 13182 // in the UpdateAutoScalingGroup API call, this update action does not deploy 13183 // any changes across the running Amazon EC2 instances in the group. Your existing 13184 // Spot Instances continue to run as long as the maximum price for those instances 13185 // is higher than the current Spot price. When scale out occurs, Amazon EC2 13186 // Auto Scaling launches instances based on the new settings. When scale in 13187 // occurs, Amazon EC2 Auto Scaling terminates instances according to the group's 13188 // termination policies. 13189 type InstancesDistribution struct { 13190 _ struct{} `type:"structure"` 13191 13192 // Indicates how to allocate instance types to fulfill On-Demand capacity. The 13193 // only valid value is prioritized, which is also the default value. This strategy 13194 // uses the order of instance types in the LaunchTemplateOverrides to define 13195 // the launch priority of each instance type. The first instance type in the 13196 // array is prioritized higher than the last. If all your On-Demand capacity 13197 // cannot be fulfilled using your highest priority instance, then the Auto Scaling 13198 // groups launches the remaining capacity using the second priority instance 13199 // type, and so on. 13200 OnDemandAllocationStrategy *string `type:"string"` 13201 13202 // The minimum amount of the Auto Scaling group's capacity that must be fulfilled 13203 // by On-Demand Instances. This base portion is provisioned first as your group 13204 // scales. Defaults to 0 if not specified. If you specify weights for the instance 13205 // types in the overrides, set the value of OnDemandBaseCapacity in terms of 13206 // the number of capacity units, and not the number of instances. 13207 OnDemandBaseCapacity *int64 `type:"integer"` 13208 13209 // Controls the percentages of On-Demand Instances and Spot Instances for your 13210 // additional capacity beyond OnDemandBaseCapacity. Expressed as a number (for 13211 // example, 20 specifies 20% On-Demand Instances, 80% Spot Instances). Defaults 13212 // to 100 if not specified. If set to 100, only On-Demand Instances are provisioned. 13213 OnDemandPercentageAboveBaseCapacity *int64 `type:"integer"` 13214 13215 // Indicates how to allocate instances across Spot Instance pools. 13216 // 13217 // If the allocation strategy is lowest-price, the Auto Scaling group launches 13218 // instances using the Spot pools with the lowest price, and evenly allocates 13219 // your instances across the number of Spot pools that you specify. Defaults 13220 // to lowest-price if not specified. 13221 // 13222 // If the allocation strategy is capacity-optimized (recommended), the Auto 13223 // Scaling group launches instances using Spot pools that are optimally chosen 13224 // based on the available Spot capacity. Alternatively, you can use capacity-optimized-prioritized 13225 // and set the order of instance types in the list of launch template overrides 13226 // from highest to lowest priority (from first to last in the list). Amazon 13227 // EC2 Auto Scaling honors the instance type priorities on a best-effort basis 13228 // but optimizes for capacity first. 13229 SpotAllocationStrategy *string `type:"string"` 13230 13231 // The number of Spot Instance pools across which to allocate your Spot Instances. 13232 // The Spot pools are determined from the different instance types in the overrides. 13233 // Valid only when the Spot allocation strategy is lowest-price. Value must 13234 // be in the range of 1 to 20. Defaults to 2 if not specified. 13235 SpotInstancePools *int64 `type:"integer"` 13236 13237 // The maximum price per unit hour that you are willing to pay for a Spot Instance. 13238 // If you leave the value at its default (empty), Amazon EC2 Auto Scaling uses 13239 // the On-Demand price as the maximum Spot price. To remove a value that you 13240 // previously set, include the property but specify an empty string ("") for 13241 // the value. 13242 SpotMaxPrice *string `type:"string"` 13243 } 13244 13245 // String returns the string representation. 13246 // 13247 // API parameter values that are decorated as "sensitive" in the API will not 13248 // be included in the string output. The member name will be present, but the 13249 // value will be replaced with "sensitive". 13250 func (s InstancesDistribution) String() string { 13251 return awsutil.Prettify(s) 13252 } 13253 13254 // GoString returns the string representation. 13255 // 13256 // API parameter values that are decorated as "sensitive" in the API will not 13257 // be included in the string output. The member name will be present, but the 13258 // value will be replaced with "sensitive". 13259 func (s InstancesDistribution) GoString() string { 13260 return s.String() 13261 } 13262 13263 // SetOnDemandAllocationStrategy sets the OnDemandAllocationStrategy field's value. 13264 func (s *InstancesDistribution) SetOnDemandAllocationStrategy(v string) *InstancesDistribution { 13265 s.OnDemandAllocationStrategy = &v 13266 return s 13267 } 13268 13269 // SetOnDemandBaseCapacity sets the OnDemandBaseCapacity field's value. 13270 func (s *InstancesDistribution) SetOnDemandBaseCapacity(v int64) *InstancesDistribution { 13271 s.OnDemandBaseCapacity = &v 13272 return s 13273 } 13274 13275 // SetOnDemandPercentageAboveBaseCapacity sets the OnDemandPercentageAboveBaseCapacity field's value. 13276 func (s *InstancesDistribution) SetOnDemandPercentageAboveBaseCapacity(v int64) *InstancesDistribution { 13277 s.OnDemandPercentageAboveBaseCapacity = &v 13278 return s 13279 } 13280 13281 // SetSpotAllocationStrategy sets the SpotAllocationStrategy field's value. 13282 func (s *InstancesDistribution) SetSpotAllocationStrategy(v string) *InstancesDistribution { 13283 s.SpotAllocationStrategy = &v 13284 return s 13285 } 13286 13287 // SetSpotInstancePools sets the SpotInstancePools field's value. 13288 func (s *InstancesDistribution) SetSpotInstancePools(v int64) *InstancesDistribution { 13289 s.SpotInstancePools = &v 13290 return s 13291 } 13292 13293 // SetSpotMaxPrice sets the SpotMaxPrice field's value. 13294 func (s *InstancesDistribution) SetSpotMaxPrice(v string) *InstancesDistribution { 13295 s.SpotMaxPrice = &v 13296 return s 13297 } 13298 13299 // Describes a launch configuration. 13300 type LaunchConfiguration struct { 13301 _ struct{} `type:"structure"` 13302 13303 // For Auto Scaling groups that are running in a VPC, specifies whether to assign 13304 // a public IP address to the group's instances. For more information, see Launching 13305 // Auto Scaling instances in a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html) 13306 // in the Amazon EC2 Auto Scaling User Guide. 13307 AssociatePublicIpAddress *bool `type:"boolean"` 13308 13309 // A block device mapping, which specifies the block devices for the instance. 13310 // For more information, see Block Device Mapping (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) 13311 // in the Amazon EC2 User Guide for Linux Instances. 13312 BlockDeviceMappings []*BlockDeviceMapping `type:"list"` 13313 13314 // The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. 13315 // For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) 13316 // in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic 13317 // instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink) 13318 // in the Amazon EC2 Auto Scaling User Guide. 13319 ClassicLinkVPCId *string `min:"1" type:"string"` 13320 13321 // The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId. 13322 // 13323 // For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html) 13324 // in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic 13325 // instances to a VPC (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink) 13326 // in the Amazon EC2 Auto Scaling User Guide. 13327 ClassicLinkVPCSecurityGroups []*string `type:"list"` 13328 13329 // The creation date and time for the launch configuration. 13330 // 13331 // CreatedTime is a required field 13332 CreatedTime *time.Time `type:"timestamp" required:"true"` 13333 13334 // Specifies whether the launch configuration is optimized for EBS I/O (true) 13335 // or not (false). For more information, see Amazon EBS-Optimized Instances 13336 // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) in 13337 // the Amazon EC2 User Guide for Linux Instances. 13338 EbsOptimized *bool `type:"boolean"` 13339 13340 // The name or the Amazon Resource Name (ARN) of the instance profile associated 13341 // with the IAM role for the instance. The instance profile contains the IAM 13342 // role. For more information, see IAM role for applications that run on Amazon 13343 // EC2 instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/us-iam-role.html) 13344 // in the Amazon EC2 Auto Scaling User Guide. 13345 IamInstanceProfile *string `min:"1" type:"string"` 13346 13347 // The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances. 13348 // For more information, see Finding an AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html) 13349 // in the Amazon EC2 User Guide for Linux Instances. 13350 // 13351 // ImageId is a required field 13352 ImageId *string `min:"1" type:"string" required:"true"` 13353 13354 // Controls whether instances in this group are launched with detailed (true) 13355 // or basic (false) monitoring. 13356 // 13357 // For more information, see Configure Monitoring for Auto Scaling Instances 13358 // (https://docs.aws.amazon.com/autoscaling/latest/userguide/enable-as-instance-metrics.html) 13359 // in the Amazon EC2 Auto Scaling User Guide. 13360 InstanceMonitoring *InstanceMonitoring `type:"structure"` 13361 13362 // The instance type for the instances. 13363 // 13364 // For information about available instance types, see Available Instance Types 13365 // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes) 13366 // in the Amazon EC2 User Guide for Linux Instances. 13367 // 13368 // InstanceType is a required field 13369 InstanceType *string `min:"1" type:"string" required:"true"` 13370 13371 // The ID of the kernel associated with the AMI. 13372 KernelId *string `min:"1" type:"string"` 13373 13374 // The name of the key pair. 13375 // 13376 // For more information, see Amazon EC2 Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) 13377 // in the Amazon EC2 User Guide for Linux Instances. 13378 KeyName *string `min:"1" type:"string"` 13379 13380 // The Amazon Resource Name (ARN) of the launch configuration. 13381 LaunchConfigurationARN *string `min:"1" type:"string"` 13382 13383 // The name of the launch configuration. 13384 // 13385 // LaunchConfigurationName is a required field 13386 LaunchConfigurationName *string `min:"1" type:"string" required:"true"` 13387 13388 // The metadata options for the instances. For more information, see Configuring 13389 // the Instance Metadata Options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-config.html#launch-configurations-imds) 13390 // in the Amazon EC2 Auto Scaling User Guide. 13391 MetadataOptions *InstanceMetadataOptions `type:"structure"` 13392 13393 // The tenancy of the instance, either default or dedicated. An instance with 13394 // dedicated tenancy runs on isolated, single-tenant hardware and can only be 13395 // launched into a VPC. 13396 // 13397 // For more information, see Configuring instance tenancy with Amazon EC2 Auto 13398 // Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-dedicated-instances.html) 13399 // in the Amazon EC2 Auto Scaling User Guide. 13400 PlacementTenancy *string `min:"1" type:"string"` 13401 13402 // The ID of the RAM disk associated with the AMI. 13403 RamdiskId *string `min:"1" type:"string"` 13404 13405 // A list that contains the security groups to assign to the instances in the 13406 // Auto Scaling group. For more information, see Security Groups for Your VPC 13407 // (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) 13408 // in the Amazon Virtual Private Cloud User Guide. 13409 SecurityGroups []*string `type:"list"` 13410 13411 // The maximum hourly price to be paid for any Spot Instance launched to fulfill 13412 // the request. Spot Instances are launched when the price you specify exceeds 13413 // the current Spot price. For more information, see Requesting Spot Instances 13414 // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-spot-instances.html) 13415 // in the Amazon EC2 Auto Scaling User Guide. 13416 SpotPrice *string `min:"1" type:"string"` 13417 13418 // The user data to make available to the launched EC2 instances. For more information, 13419 // see Instance metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) 13420 // (Linux) and Instance metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html) 13421 // (Windows). If you are using a command line tool, base64-encoding is performed 13422 // for you, and you can load the text from a file. Otherwise, you must provide 13423 // base64-encoded text. User data is limited to 16 KB. 13424 UserData *string `type:"string"` 13425 } 13426 13427 // String returns the string representation. 13428 // 13429 // API parameter values that are decorated as "sensitive" in the API will not 13430 // be included in the string output. The member name will be present, but the 13431 // value will be replaced with "sensitive". 13432 func (s LaunchConfiguration) String() string { 13433 return awsutil.Prettify(s) 13434 } 13435 13436 // GoString returns the string representation. 13437 // 13438 // API parameter values that are decorated as "sensitive" in the API will not 13439 // be included in the string output. The member name will be present, but the 13440 // value will be replaced with "sensitive". 13441 func (s LaunchConfiguration) GoString() string { 13442 return s.String() 13443 } 13444 13445 // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value. 13446 func (s *LaunchConfiguration) SetAssociatePublicIpAddress(v bool) *LaunchConfiguration { 13447 s.AssociatePublicIpAddress = &v 13448 return s 13449 } 13450 13451 // SetBlockDeviceMappings sets the BlockDeviceMappings field's value. 13452 func (s *LaunchConfiguration) SetBlockDeviceMappings(v []*BlockDeviceMapping) *LaunchConfiguration { 13453 s.BlockDeviceMappings = v 13454 return s 13455 } 13456 13457 // SetClassicLinkVPCId sets the ClassicLinkVPCId field's value. 13458 func (s *LaunchConfiguration) SetClassicLinkVPCId(v string) *LaunchConfiguration { 13459 s.ClassicLinkVPCId = &v 13460 return s 13461 } 13462 13463 // SetClassicLinkVPCSecurityGroups sets the ClassicLinkVPCSecurityGroups field's value. 13464 func (s *LaunchConfiguration) SetClassicLinkVPCSecurityGroups(v []*string) *LaunchConfiguration { 13465 s.ClassicLinkVPCSecurityGroups = v 13466 return s 13467 } 13468 13469 // SetCreatedTime sets the CreatedTime field's value. 13470 func (s *LaunchConfiguration) SetCreatedTime(v time.Time) *LaunchConfiguration { 13471 s.CreatedTime = &v 13472 return s 13473 } 13474 13475 // SetEbsOptimized sets the EbsOptimized field's value. 13476 func (s *LaunchConfiguration) SetEbsOptimized(v bool) *LaunchConfiguration { 13477 s.EbsOptimized = &v 13478 return s 13479 } 13480 13481 // SetIamInstanceProfile sets the IamInstanceProfile field's value. 13482 func (s *LaunchConfiguration) SetIamInstanceProfile(v string) *LaunchConfiguration { 13483 s.IamInstanceProfile = &v 13484 return s 13485 } 13486 13487 // SetImageId sets the ImageId field's value. 13488 func (s *LaunchConfiguration) SetImageId(v string) *LaunchConfiguration { 13489 s.ImageId = &v 13490 return s 13491 } 13492 13493 // SetInstanceMonitoring sets the InstanceMonitoring field's value. 13494 func (s *LaunchConfiguration) SetInstanceMonitoring(v *InstanceMonitoring) *LaunchConfiguration { 13495 s.InstanceMonitoring = v 13496 return s 13497 } 13498 13499 // SetInstanceType sets the InstanceType field's value. 13500 func (s *LaunchConfiguration) SetInstanceType(v string) *LaunchConfiguration { 13501 s.InstanceType = &v 13502 return s 13503 } 13504 13505 // SetKernelId sets the KernelId field's value. 13506 func (s *LaunchConfiguration) SetKernelId(v string) *LaunchConfiguration { 13507 s.KernelId = &v 13508 return s 13509 } 13510 13511 // SetKeyName sets the KeyName field's value. 13512 func (s *LaunchConfiguration) SetKeyName(v string) *LaunchConfiguration { 13513 s.KeyName = &v 13514 return s 13515 } 13516 13517 // SetLaunchConfigurationARN sets the LaunchConfigurationARN field's value. 13518 func (s *LaunchConfiguration) SetLaunchConfigurationARN(v string) *LaunchConfiguration { 13519 s.LaunchConfigurationARN = &v 13520 return s 13521 } 13522 13523 // SetLaunchConfigurationName sets the LaunchConfigurationName field's value. 13524 func (s *LaunchConfiguration) SetLaunchConfigurationName(v string) *LaunchConfiguration { 13525 s.LaunchConfigurationName = &v 13526 return s 13527 } 13528 13529 // SetMetadataOptions sets the MetadataOptions field's value. 13530 func (s *LaunchConfiguration) SetMetadataOptions(v *InstanceMetadataOptions) *LaunchConfiguration { 13531 s.MetadataOptions = v 13532 return s 13533 } 13534 13535 // SetPlacementTenancy sets the PlacementTenancy field's value. 13536 func (s *LaunchConfiguration) SetPlacementTenancy(v string) *LaunchConfiguration { 13537 s.PlacementTenancy = &v 13538 return s 13539 } 13540 13541 // SetRamdiskId sets the RamdiskId field's value. 13542 func (s *LaunchConfiguration) SetRamdiskId(v string) *LaunchConfiguration { 13543 s.RamdiskId = &v 13544 return s 13545 } 13546 13547 // SetSecurityGroups sets the SecurityGroups field's value. 13548 func (s *LaunchConfiguration) SetSecurityGroups(v []*string) *LaunchConfiguration { 13549 s.SecurityGroups = v 13550 return s 13551 } 13552 13553 // SetSpotPrice sets the SpotPrice field's value. 13554 func (s *LaunchConfiguration) SetSpotPrice(v string) *LaunchConfiguration { 13555 s.SpotPrice = &v 13556 return s 13557 } 13558 13559 // SetUserData sets the UserData field's value. 13560 func (s *LaunchConfiguration) SetUserData(v string) *LaunchConfiguration { 13561 s.UserData = &v 13562 return s 13563 } 13564 13565 // Describes a launch template and overrides. 13566 // 13567 // You specify these properties as part of a mixed instances policy. 13568 // 13569 // When you update the launch template or overrides in the UpdateAutoScalingGroup 13570 // API call, existing Amazon EC2 instances continue to run. When scale out occurs, 13571 // Amazon EC2 Auto Scaling launches instances to match the new settings. When 13572 // scale in occurs, Amazon EC2 Auto Scaling terminates instances according to 13573 // the group's termination policies. 13574 type LaunchTemplate struct { 13575 _ struct{} `type:"structure"` 13576 13577 // The launch template to use. 13578 LaunchTemplateSpecification *LaunchTemplateSpecification `type:"structure"` 13579 13580 // Any properties that you specify override the same properties in the launch 13581 // template. If not provided, Amazon EC2 Auto Scaling uses the instance type 13582 // specified in the launch template when it launches an instance. 13583 Overrides []*LaunchTemplateOverrides `type:"list"` 13584 } 13585 13586 // String returns the string representation. 13587 // 13588 // API parameter values that are decorated as "sensitive" in the API will not 13589 // be included in the string output. The member name will be present, but the 13590 // value will be replaced with "sensitive". 13591 func (s LaunchTemplate) String() string { 13592 return awsutil.Prettify(s) 13593 } 13594 13595 // GoString returns the string representation. 13596 // 13597 // API parameter values that are decorated as "sensitive" in the API will not 13598 // be included in the string output. The member name will be present, but the 13599 // value will be replaced with "sensitive". 13600 func (s LaunchTemplate) GoString() string { 13601 return s.String() 13602 } 13603 13604 // Validate inspects the fields of the type to determine if they are valid. 13605 func (s *LaunchTemplate) Validate() error { 13606 invalidParams := request.ErrInvalidParams{Context: "LaunchTemplate"} 13607 if s.LaunchTemplateSpecification != nil { 13608 if err := s.LaunchTemplateSpecification.Validate(); err != nil { 13609 invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams)) 13610 } 13611 } 13612 if s.Overrides != nil { 13613 for i, v := range s.Overrides { 13614 if v == nil { 13615 continue 13616 } 13617 if err := v.Validate(); err != nil { 13618 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Overrides", i), err.(request.ErrInvalidParams)) 13619 } 13620 } 13621 } 13622 13623 if invalidParams.Len() > 0 { 13624 return invalidParams 13625 } 13626 return nil 13627 } 13628 13629 // SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value. 13630 func (s *LaunchTemplate) SetLaunchTemplateSpecification(v *LaunchTemplateSpecification) *LaunchTemplate { 13631 s.LaunchTemplateSpecification = v 13632 return s 13633 } 13634 13635 // SetOverrides sets the Overrides field's value. 13636 func (s *LaunchTemplate) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTemplate { 13637 s.Overrides = v 13638 return s 13639 } 13640 13641 // Describes an override for a launch template. The maximum number of instance 13642 // types that can be associated with an Auto Scaling group is 40. The maximum 13643 // number of distinct launch templates you can define for an Auto Scaling group 13644 // is 20. For more information about configuring overrides, see Configuring 13645 // overrides (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-override-options.html) 13646 // in the Amazon EC2 Auto Scaling User Guide. 13647 type LaunchTemplateOverrides struct { 13648 _ struct{} `type:"structure"` 13649 13650 // The instance type, such as m3.xlarge. You must use an instance type that 13651 // is supported in your requested Region and Availability Zones. For more information, 13652 // see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 13653 // in the Amazon Elastic Compute Cloud User Guide. 13654 InstanceType *string `min:"1" type:"string"` 13655 13656 // Provides the launch template to be used when launching the instance type. 13657 // For example, some instance types might require a launch template with a different 13658 // AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's 13659 // defined for your mixed instances policy. For more information, see Specifying 13660 // a different launch template for an instance type (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-template-overrides.html) 13661 // in the Amazon EC2 Auto Scaling User Guide. 13662 LaunchTemplateSpecification *LaunchTemplateSpecification `type:"structure"` 13663 13664 // The number of capacity units provided by the specified instance type in terms 13665 // of virtual CPUs, memory, storage, throughput, or other relative performance 13666 // characteristic. When a Spot or On-Demand Instance is provisioned, the capacity 13667 // units count toward the desired capacity. Amazon EC2 Auto Scaling provisions 13668 // instances until the desired capacity is totally fulfilled, even if this results 13669 // in an overage. For example, if there are 2 units remaining to fulfill capacity, 13670 // and Amazon EC2 Auto Scaling can only provision an instance with a WeightedCapacity 13671 // of 5 units, the instance is provisioned, and the desired capacity is exceeded 13672 // by 3 units. For more information, see Instance weighting for Amazon EC2 Auto 13673 // Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html) 13674 // in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of 13675 // 1 to 999. 13676 WeightedCapacity *string `min:"1" type:"string"` 13677 } 13678 13679 // String returns the string representation. 13680 // 13681 // API parameter values that are decorated as "sensitive" in the API will not 13682 // be included in the string output. The member name will be present, but the 13683 // value will be replaced with "sensitive". 13684 func (s LaunchTemplateOverrides) String() string { 13685 return awsutil.Prettify(s) 13686 } 13687 13688 // GoString returns the string representation. 13689 // 13690 // API parameter values that are decorated as "sensitive" in the API will not 13691 // be included in the string output. The member name will be present, but the 13692 // value will be replaced with "sensitive". 13693 func (s LaunchTemplateOverrides) GoString() string { 13694 return s.String() 13695 } 13696 13697 // Validate inspects the fields of the type to determine if they are valid. 13698 func (s *LaunchTemplateOverrides) Validate() error { 13699 invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateOverrides"} 13700 if s.InstanceType != nil && len(*s.InstanceType) < 1 { 13701 invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1)) 13702 } 13703 if s.WeightedCapacity != nil && len(*s.WeightedCapacity) < 1 { 13704 invalidParams.Add(request.NewErrParamMinLen("WeightedCapacity", 1)) 13705 } 13706 if s.LaunchTemplateSpecification != nil { 13707 if err := s.LaunchTemplateSpecification.Validate(); err != nil { 13708 invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams)) 13709 } 13710 } 13711 13712 if invalidParams.Len() > 0 { 13713 return invalidParams 13714 } 13715 return nil 13716 } 13717 13718 // SetInstanceType sets the InstanceType field's value. 13719 func (s *LaunchTemplateOverrides) SetInstanceType(v string) *LaunchTemplateOverrides { 13720 s.InstanceType = &v 13721 return s 13722 } 13723 13724 // SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value. 13725 func (s *LaunchTemplateOverrides) SetLaunchTemplateSpecification(v *LaunchTemplateSpecification) *LaunchTemplateOverrides { 13726 s.LaunchTemplateSpecification = v 13727 return s 13728 } 13729 13730 // SetWeightedCapacity sets the WeightedCapacity field's value. 13731 func (s *LaunchTemplateOverrides) SetWeightedCapacity(v string) *LaunchTemplateOverrides { 13732 s.WeightedCapacity = &v 13733 return s 13734 } 13735 13736 // Describes the launch template and the version of the launch template that 13737 // Amazon EC2 Auto Scaling uses to launch Amazon EC2 instances. For more information 13738 // about launch templates, see Launch templates (https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchTemplates.html) 13739 // in the Amazon EC2 Auto Scaling User Guide. 13740 type LaunchTemplateSpecification struct { 13741 _ struct{} `type:"structure"` 13742 13743 // The ID of the launch template. To get the template ID, use the Amazon EC2 13744 // DescribeLaunchTemplates (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplates.html) 13745 // API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate 13746 // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) 13747 // API. 13748 // 13749 // Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName. 13750 LaunchTemplateId *string `min:"1" type:"string"` 13751 13752 // The name of the launch template. To get the template name, use the Amazon 13753 // EC2 DescribeLaunchTemplates (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplates.html) 13754 // API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate 13755 // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) 13756 // API. 13757 // 13758 // Conditional: You must specify either a LaunchTemplateId or a LaunchTemplateName. 13759 LaunchTemplateName *string `min:"3" type:"string"` 13760 13761 // The version number, $Latest, or $Default. To get the version number, use 13762 // the Amazon EC2 DescribeLaunchTemplateVersions (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplateVersions.html) 13763 // API operation. New launch template versions can be created using the Amazon 13764 // EC2 CreateLaunchTemplateVersion (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplateVersion.html) 13765 // API. If the value is $Latest, Amazon EC2 Auto Scaling selects the latest 13766 // version of the launch template when launching instances. If the value is 13767 // $Default, Amazon EC2 Auto Scaling selects the default version of the launch 13768 // template when launching instances. The default value is $Default. 13769 Version *string `min:"1" type:"string"` 13770 } 13771 13772 // String returns the string representation. 13773 // 13774 // API parameter values that are decorated as "sensitive" in the API will not 13775 // be included in the string output. The member name will be present, but the 13776 // value will be replaced with "sensitive". 13777 func (s LaunchTemplateSpecification) String() string { 13778 return awsutil.Prettify(s) 13779 } 13780 13781 // GoString returns the string representation. 13782 // 13783 // API parameter values that are decorated as "sensitive" in the API will not 13784 // be included in the string output. The member name will be present, but the 13785 // value will be replaced with "sensitive". 13786 func (s LaunchTemplateSpecification) GoString() string { 13787 return s.String() 13788 } 13789 13790 // Validate inspects the fields of the type to determine if they are valid. 13791 func (s *LaunchTemplateSpecification) Validate() error { 13792 invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateSpecification"} 13793 if s.LaunchTemplateId != nil && len(*s.LaunchTemplateId) < 1 { 13794 invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateId", 1)) 13795 } 13796 if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 { 13797 invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3)) 13798 } 13799 if s.Version != nil && len(*s.Version) < 1 { 13800 invalidParams.Add(request.NewErrParamMinLen("Version", 1)) 13801 } 13802 13803 if invalidParams.Len() > 0 { 13804 return invalidParams 13805 } 13806 return nil 13807 } 13808 13809 // SetLaunchTemplateId sets the LaunchTemplateId field's value. 13810 func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification { 13811 s.LaunchTemplateId = &v 13812 return s 13813 } 13814 13815 // SetLaunchTemplateName sets the LaunchTemplateName field's value. 13816 func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification { 13817 s.LaunchTemplateName = &v 13818 return s 13819 } 13820 13821 // SetVersion sets the Version field's value. 13822 func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification { 13823 s.Version = &v 13824 return s 13825 } 13826 13827 // Describes a lifecycle hook, which tells Amazon EC2 Auto Scaling that you 13828 // want to perform an action whenever it launches instances or terminates instances. 13829 type LifecycleHook struct { 13830 _ struct{} `type:"structure"` 13831 13832 // The name of the Auto Scaling group for the lifecycle hook. 13833 AutoScalingGroupName *string `min:"1" type:"string"` 13834 13835 // Defines the action the Auto Scaling group should take when the lifecycle 13836 // hook timeout elapses or if an unexpected failure occurs. The possible values 13837 // are CONTINUE and ABANDON. 13838 DefaultResult *string `type:"string"` 13839 13840 // The maximum time, in seconds, that an instance can remain in a Pending:Wait 13841 // or Terminating:Wait state. The maximum is 172800 seconds (48 hours) or 100 13842 // times HeartbeatTimeout, whichever is smaller. 13843 GlobalTimeout *int64 `type:"integer"` 13844 13845 // The maximum time, in seconds, that can elapse before the lifecycle hook times 13846 // out. If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the 13847 // action that you specified in the DefaultResult parameter. 13848 HeartbeatTimeout *int64 `type:"integer"` 13849 13850 // The name of the lifecycle hook. 13851 LifecycleHookName *string `min:"1" type:"string"` 13852 13853 // The state of the EC2 instance to which to attach the lifecycle hook. The 13854 // following are possible values: 13855 // 13856 // * autoscaling:EC2_INSTANCE_LAUNCHING 13857 // 13858 // * autoscaling:EC2_INSTANCE_TERMINATING 13859 LifecycleTransition *string `type:"string"` 13860 13861 // Additional information that is included any time Amazon EC2 Auto Scaling 13862 // sends a message to the notification target. 13863 NotificationMetadata *string `min:"1" type:"string"` 13864 13865 // The ARN of the target that Amazon EC2 Auto Scaling sends notifications to 13866 // when an instance is in the transition state for the lifecycle hook. The notification 13867 // target can be either an SQS queue or an SNS topic. 13868 NotificationTargetARN *string `type:"string"` 13869 13870 // The ARN of the IAM role that allows the Auto Scaling group to publish to 13871 // the specified notification target. 13872 RoleARN *string `min:"1" type:"string"` 13873 } 13874 13875 // String returns the string representation. 13876 // 13877 // API parameter values that are decorated as "sensitive" in the API will not 13878 // be included in the string output. The member name will be present, but the 13879 // value will be replaced with "sensitive". 13880 func (s LifecycleHook) String() string { 13881 return awsutil.Prettify(s) 13882 } 13883 13884 // GoString returns the string representation. 13885 // 13886 // API parameter values that are decorated as "sensitive" in the API will not 13887 // be included in the string output. The member name will be present, but the 13888 // value will be replaced with "sensitive". 13889 func (s LifecycleHook) GoString() string { 13890 return s.String() 13891 } 13892 13893 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 13894 func (s *LifecycleHook) SetAutoScalingGroupName(v string) *LifecycleHook { 13895 s.AutoScalingGroupName = &v 13896 return s 13897 } 13898 13899 // SetDefaultResult sets the DefaultResult field's value. 13900 func (s *LifecycleHook) SetDefaultResult(v string) *LifecycleHook { 13901 s.DefaultResult = &v 13902 return s 13903 } 13904 13905 // SetGlobalTimeout sets the GlobalTimeout field's value. 13906 func (s *LifecycleHook) SetGlobalTimeout(v int64) *LifecycleHook { 13907 s.GlobalTimeout = &v 13908 return s 13909 } 13910 13911 // SetHeartbeatTimeout sets the HeartbeatTimeout field's value. 13912 func (s *LifecycleHook) SetHeartbeatTimeout(v int64) *LifecycleHook { 13913 s.HeartbeatTimeout = &v 13914 return s 13915 } 13916 13917 // SetLifecycleHookName sets the LifecycleHookName field's value. 13918 func (s *LifecycleHook) SetLifecycleHookName(v string) *LifecycleHook { 13919 s.LifecycleHookName = &v 13920 return s 13921 } 13922 13923 // SetLifecycleTransition sets the LifecycleTransition field's value. 13924 func (s *LifecycleHook) SetLifecycleTransition(v string) *LifecycleHook { 13925 s.LifecycleTransition = &v 13926 return s 13927 } 13928 13929 // SetNotificationMetadata sets the NotificationMetadata field's value. 13930 func (s *LifecycleHook) SetNotificationMetadata(v string) *LifecycleHook { 13931 s.NotificationMetadata = &v 13932 return s 13933 } 13934 13935 // SetNotificationTargetARN sets the NotificationTargetARN field's value. 13936 func (s *LifecycleHook) SetNotificationTargetARN(v string) *LifecycleHook { 13937 s.NotificationTargetARN = &v 13938 return s 13939 } 13940 13941 // SetRoleARN sets the RoleARN field's value. 13942 func (s *LifecycleHook) SetRoleARN(v string) *LifecycleHook { 13943 s.RoleARN = &v 13944 return s 13945 } 13946 13947 // Describes information used to specify a lifecycle hook for an Auto Scaling 13948 // group. 13949 // 13950 // A lifecycle hook tells Amazon EC2 Auto Scaling to perform an action on an 13951 // instance when the instance launches (before it is put into service) or as 13952 // the instance terminates (before it is fully terminated). 13953 // 13954 // This step is a part of the procedure for creating a lifecycle hook for an 13955 // Auto Scaling group: 13956 // 13957 // (Optional) Create a Lambda function and a rule that allows CloudWatch Events 13958 // to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates 13959 // instances. 13960 // 13961 // (Optional) Create a notification target and an IAM role. The target can be 13962 // either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon 13963 // EC2 Auto Scaling to publish lifecycle notifications to the target. 13964 // 13965 // Create the lifecycle hook. Specify whether the hook is used when the instances 13966 // launch or terminate. 13967 // 13968 // If you need more time, record the lifecycle action heartbeat to keep the 13969 // instance in a pending state. 13970 // 13971 // If you finish before the timeout period ends, complete the lifecycle action. 13972 // 13973 // For more information, see Amazon EC2 Auto Scaling lifecycle hooks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) 13974 // in the Amazon EC2 Auto Scaling User Guide. 13975 type LifecycleHookSpecification struct { 13976 _ struct{} `type:"structure"` 13977 13978 // Defines the action the Auto Scaling group should take when the lifecycle 13979 // hook timeout elapses or if an unexpected failure occurs. The valid values 13980 // are CONTINUE and ABANDON. The default value is ABANDON. 13981 DefaultResult *string `type:"string"` 13982 13983 // The maximum time, in seconds, that can elapse before the lifecycle hook times 13984 // out. 13985 // 13986 // If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action 13987 // that you specified in the DefaultResult parameter. You can prevent the lifecycle 13988 // hook from timing out by calling RecordLifecycleActionHeartbeat. 13989 HeartbeatTimeout *int64 `type:"integer"` 13990 13991 // The name of the lifecycle hook. 13992 // 13993 // LifecycleHookName is a required field 13994 LifecycleHookName *string `min:"1" type:"string" required:"true"` 13995 13996 // The state of the EC2 instance to which you want to attach the lifecycle hook. 13997 // The valid values are: 13998 // 13999 // * autoscaling:EC2_INSTANCE_LAUNCHING 14000 // 14001 // * autoscaling:EC2_INSTANCE_TERMINATING 14002 // 14003 // LifecycleTransition is a required field 14004 LifecycleTransition *string `type:"string" required:"true"` 14005 14006 // Additional information that you want to include any time Amazon EC2 Auto 14007 // Scaling sends a message to the notification target. 14008 NotificationMetadata *string `min:"1" type:"string"` 14009 14010 // The ARN of the target that Amazon EC2 Auto Scaling sends notifications to 14011 // when an instance is in the transition state for the lifecycle hook. The notification 14012 // target can be either an SQS queue or an SNS topic. 14013 NotificationTargetARN *string `type:"string"` 14014 14015 // The ARN of the IAM role that allows the Auto Scaling group to publish to 14016 // the specified notification target, for example, an Amazon SNS topic or an 14017 // Amazon SQS queue. 14018 RoleARN *string `min:"1" type:"string"` 14019 } 14020 14021 // String returns the string representation. 14022 // 14023 // API parameter values that are decorated as "sensitive" in the API will not 14024 // be included in the string output. The member name will be present, but the 14025 // value will be replaced with "sensitive". 14026 func (s LifecycleHookSpecification) String() string { 14027 return awsutil.Prettify(s) 14028 } 14029 14030 // GoString returns the string representation. 14031 // 14032 // API parameter values that are decorated as "sensitive" in the API will not 14033 // be included in the string output. The member name will be present, but the 14034 // value will be replaced with "sensitive". 14035 func (s LifecycleHookSpecification) GoString() string { 14036 return s.String() 14037 } 14038 14039 // Validate inspects the fields of the type to determine if they are valid. 14040 func (s *LifecycleHookSpecification) Validate() error { 14041 invalidParams := request.ErrInvalidParams{Context: "LifecycleHookSpecification"} 14042 if s.LifecycleHookName == nil { 14043 invalidParams.Add(request.NewErrParamRequired("LifecycleHookName")) 14044 } 14045 if s.LifecycleHookName != nil && len(*s.LifecycleHookName) < 1 { 14046 invalidParams.Add(request.NewErrParamMinLen("LifecycleHookName", 1)) 14047 } 14048 if s.LifecycleTransition == nil { 14049 invalidParams.Add(request.NewErrParamRequired("LifecycleTransition")) 14050 } 14051 if s.NotificationMetadata != nil && len(*s.NotificationMetadata) < 1 { 14052 invalidParams.Add(request.NewErrParamMinLen("NotificationMetadata", 1)) 14053 } 14054 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 14055 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 14056 } 14057 14058 if invalidParams.Len() > 0 { 14059 return invalidParams 14060 } 14061 return nil 14062 } 14063 14064 // SetDefaultResult sets the DefaultResult field's value. 14065 func (s *LifecycleHookSpecification) SetDefaultResult(v string) *LifecycleHookSpecification { 14066 s.DefaultResult = &v 14067 return s 14068 } 14069 14070 // SetHeartbeatTimeout sets the HeartbeatTimeout field's value. 14071 func (s *LifecycleHookSpecification) SetHeartbeatTimeout(v int64) *LifecycleHookSpecification { 14072 s.HeartbeatTimeout = &v 14073 return s 14074 } 14075 14076 // SetLifecycleHookName sets the LifecycleHookName field's value. 14077 func (s *LifecycleHookSpecification) SetLifecycleHookName(v string) *LifecycleHookSpecification { 14078 s.LifecycleHookName = &v 14079 return s 14080 } 14081 14082 // SetLifecycleTransition sets the LifecycleTransition field's value. 14083 func (s *LifecycleHookSpecification) SetLifecycleTransition(v string) *LifecycleHookSpecification { 14084 s.LifecycleTransition = &v 14085 return s 14086 } 14087 14088 // SetNotificationMetadata sets the NotificationMetadata field's value. 14089 func (s *LifecycleHookSpecification) SetNotificationMetadata(v string) *LifecycleHookSpecification { 14090 s.NotificationMetadata = &v 14091 return s 14092 } 14093 14094 // SetNotificationTargetARN sets the NotificationTargetARN field's value. 14095 func (s *LifecycleHookSpecification) SetNotificationTargetARN(v string) *LifecycleHookSpecification { 14096 s.NotificationTargetARN = &v 14097 return s 14098 } 14099 14100 // SetRoleARN sets the RoleARN field's value. 14101 func (s *LifecycleHookSpecification) SetRoleARN(v string) *LifecycleHookSpecification { 14102 s.RoleARN = &v 14103 return s 14104 } 14105 14106 // Describes the state of a Classic Load Balancer. 14107 type LoadBalancerState struct { 14108 _ struct{} `type:"structure"` 14109 14110 // The name of the load balancer. 14111 LoadBalancerName *string `min:"1" type:"string"` 14112 14113 // One of the following load balancer states: 14114 // 14115 // * Adding - The Auto Scaling instances are being registered with the load 14116 // balancer. 14117 // 14118 // * Added - All Auto Scaling instances are registered with the load balancer. 14119 // 14120 // * InService - At least one Auto Scaling instance passed an ELB health 14121 // check. 14122 // 14123 // * Removing - The Auto Scaling instances are being deregistered from the 14124 // load balancer. If connection draining is enabled, Elastic Load Balancing 14125 // waits for in-flight requests to complete before deregistering the instances. 14126 // 14127 // * Removed - All Auto Scaling instances are deregistered from the load 14128 // balancer. 14129 State *string `min:"1" type:"string"` 14130 } 14131 14132 // String returns the string representation. 14133 // 14134 // API parameter values that are decorated as "sensitive" in the API will not 14135 // be included in the string output. The member name will be present, but the 14136 // value will be replaced with "sensitive". 14137 func (s LoadBalancerState) String() string { 14138 return awsutil.Prettify(s) 14139 } 14140 14141 // GoString returns the string representation. 14142 // 14143 // API parameter values that are decorated as "sensitive" in the API will not 14144 // be included in the string output. The member name will be present, but the 14145 // value will be replaced with "sensitive". 14146 func (s LoadBalancerState) GoString() string { 14147 return s.String() 14148 } 14149 14150 // SetLoadBalancerName sets the LoadBalancerName field's value. 14151 func (s *LoadBalancerState) SetLoadBalancerName(v string) *LoadBalancerState { 14152 s.LoadBalancerName = &v 14153 return s 14154 } 14155 14156 // SetState sets the State field's value. 14157 func (s *LoadBalancerState) SetState(v string) *LoadBalancerState { 14158 s.State = &v 14159 return s 14160 } 14161 14162 // Describes the state of a target group. 14163 type LoadBalancerTargetGroupState struct { 14164 _ struct{} `type:"structure"` 14165 14166 // The Amazon Resource Name (ARN) of the target group. 14167 LoadBalancerTargetGroupARN *string `min:"1" type:"string"` 14168 14169 // The state of the target group. 14170 // 14171 // * Adding - The Auto Scaling instances are being registered with the target 14172 // group. 14173 // 14174 // * Added - All Auto Scaling instances are registered with the target group. 14175 // 14176 // * InService - At least one Auto Scaling instance passed an ELB health 14177 // check. 14178 // 14179 // * Removing - The Auto Scaling instances are being deregistered from the 14180 // target group. If connection draining is enabled, Elastic Load Balancing 14181 // waits for in-flight requests to complete before deregistering the instances. 14182 // 14183 // * Removed - All Auto Scaling instances are deregistered from the target 14184 // group. 14185 State *string `min:"1" type:"string"` 14186 } 14187 14188 // String returns the string representation. 14189 // 14190 // API parameter values that are decorated as "sensitive" in the API will not 14191 // be included in the string output. The member name will be present, but the 14192 // value will be replaced with "sensitive". 14193 func (s LoadBalancerTargetGroupState) String() string { 14194 return awsutil.Prettify(s) 14195 } 14196 14197 // GoString returns the string representation. 14198 // 14199 // API parameter values that are decorated as "sensitive" in the API will not 14200 // be included in the string output. The member name will be present, but the 14201 // value will be replaced with "sensitive". 14202 func (s LoadBalancerTargetGroupState) GoString() string { 14203 return s.String() 14204 } 14205 14206 // SetLoadBalancerTargetGroupARN sets the LoadBalancerTargetGroupARN field's value. 14207 func (s *LoadBalancerTargetGroupState) SetLoadBalancerTargetGroupARN(v string) *LoadBalancerTargetGroupState { 14208 s.LoadBalancerTargetGroupARN = &v 14209 return s 14210 } 14211 14212 // SetState sets the State field's value. 14213 func (s *LoadBalancerTargetGroupState) SetState(v string) *LoadBalancerTargetGroupState { 14214 s.State = &v 14215 return s 14216 } 14217 14218 // A GetPredictiveScalingForecast call returns the load forecast for a predictive 14219 // scaling policy. This structure includes the data points for that load forecast, 14220 // along with the timestamps of those data points and the metric specification. 14221 type LoadForecast struct { 14222 _ struct{} `type:"structure"` 14223 14224 // The metric specification for the load forecast. 14225 // 14226 // MetricSpecification is a required field 14227 MetricSpecification *PredictiveScalingMetricSpecification `type:"structure" required:"true"` 14228 14229 // The time stamps for the data points, in UTC format. 14230 // 14231 // Timestamps is a required field 14232 Timestamps []*time.Time `type:"list" required:"true"` 14233 14234 // The values of the data points. 14235 // 14236 // Values is a required field 14237 Values []*float64 `type:"list" required:"true"` 14238 } 14239 14240 // String returns the string representation. 14241 // 14242 // API parameter values that are decorated as "sensitive" in the API will not 14243 // be included in the string output. The member name will be present, but the 14244 // value will be replaced with "sensitive". 14245 func (s LoadForecast) String() string { 14246 return awsutil.Prettify(s) 14247 } 14248 14249 // GoString returns the string representation. 14250 // 14251 // API parameter values that are decorated as "sensitive" in the API will not 14252 // be included in the string output. The member name will be present, but the 14253 // value will be replaced with "sensitive". 14254 func (s LoadForecast) GoString() string { 14255 return s.String() 14256 } 14257 14258 // SetMetricSpecification sets the MetricSpecification field's value. 14259 func (s *LoadForecast) SetMetricSpecification(v *PredictiveScalingMetricSpecification) *LoadForecast { 14260 s.MetricSpecification = v 14261 return s 14262 } 14263 14264 // SetTimestamps sets the Timestamps field's value. 14265 func (s *LoadForecast) SetTimestamps(v []*time.Time) *LoadForecast { 14266 s.Timestamps = v 14267 return s 14268 } 14269 14270 // SetValues sets the Values field's value. 14271 func (s *LoadForecast) SetValues(v []*float64) *LoadForecast { 14272 s.Values = v 14273 return s 14274 } 14275 14276 // Describes a metric. 14277 type MetricCollectionType struct { 14278 _ struct{} `type:"structure"` 14279 14280 // One of the following metrics: 14281 // 14282 // * GroupMinSize 14283 // 14284 // * GroupMaxSize 14285 // 14286 // * GroupDesiredCapacity 14287 // 14288 // * GroupInServiceInstances 14289 // 14290 // * GroupPendingInstances 14291 // 14292 // * GroupStandbyInstances 14293 // 14294 // * GroupTerminatingInstances 14295 // 14296 // * GroupTotalInstances 14297 // 14298 // * GroupInServiceCapacity 14299 // 14300 // * GroupPendingCapacity 14301 // 14302 // * GroupStandbyCapacity 14303 // 14304 // * GroupTerminatingCapacity 14305 // 14306 // * GroupTotalCapacity 14307 // 14308 // * WarmPoolDesiredCapacity 14309 // 14310 // * WarmPoolWarmedCapacity 14311 // 14312 // * WarmPoolPendingCapacity 14313 // 14314 // * WarmPoolTerminatingCapacity 14315 // 14316 // * WarmPoolTotalCapacity 14317 // 14318 // * GroupAndWarmPoolDesiredCapacity 14319 // 14320 // * GroupAndWarmPoolTotalCapacity 14321 Metric *string `min:"1" type:"string"` 14322 } 14323 14324 // String returns the string representation. 14325 // 14326 // API parameter values that are decorated as "sensitive" in the API will not 14327 // be included in the string output. The member name will be present, but the 14328 // value will be replaced with "sensitive". 14329 func (s MetricCollectionType) String() string { 14330 return awsutil.Prettify(s) 14331 } 14332 14333 // GoString returns the string representation. 14334 // 14335 // API parameter values that are decorated as "sensitive" in the API will not 14336 // be included in the string output. The member name will be present, but the 14337 // value will be replaced with "sensitive". 14338 func (s MetricCollectionType) GoString() string { 14339 return s.String() 14340 } 14341 14342 // SetMetric sets the Metric field's value. 14343 func (s *MetricCollectionType) SetMetric(v string) *MetricCollectionType { 14344 s.Metric = &v 14345 return s 14346 } 14347 14348 // Describes the dimension of a metric. 14349 type MetricDimension struct { 14350 _ struct{} `type:"structure"` 14351 14352 // The name of the dimension. 14353 // 14354 // Name is a required field 14355 Name *string `type:"string" required:"true"` 14356 14357 // The value of the dimension. 14358 // 14359 // Value is a required field 14360 Value *string `type:"string" required:"true"` 14361 } 14362 14363 // String returns the string representation. 14364 // 14365 // API parameter values that are decorated as "sensitive" in the API will not 14366 // be included in the string output. The member name will be present, but the 14367 // value will be replaced with "sensitive". 14368 func (s MetricDimension) String() string { 14369 return awsutil.Prettify(s) 14370 } 14371 14372 // GoString returns the string representation. 14373 // 14374 // API parameter values that are decorated as "sensitive" in the API will not 14375 // be included in the string output. The member name will be present, but the 14376 // value will be replaced with "sensitive". 14377 func (s MetricDimension) GoString() string { 14378 return s.String() 14379 } 14380 14381 // Validate inspects the fields of the type to determine if they are valid. 14382 func (s *MetricDimension) Validate() error { 14383 invalidParams := request.ErrInvalidParams{Context: "MetricDimension"} 14384 if s.Name == nil { 14385 invalidParams.Add(request.NewErrParamRequired("Name")) 14386 } 14387 if s.Value == nil { 14388 invalidParams.Add(request.NewErrParamRequired("Value")) 14389 } 14390 14391 if invalidParams.Len() > 0 { 14392 return invalidParams 14393 } 14394 return nil 14395 } 14396 14397 // SetName sets the Name field's value. 14398 func (s *MetricDimension) SetName(v string) *MetricDimension { 14399 s.Name = &v 14400 return s 14401 } 14402 14403 // SetValue sets the Value field's value. 14404 func (s *MetricDimension) SetValue(v string) *MetricDimension { 14405 s.Value = &v 14406 return s 14407 } 14408 14409 // Describes a granularity of a metric. 14410 type MetricGranularityType struct { 14411 _ struct{} `type:"structure"` 14412 14413 // The granularity. The only valid value is 1Minute. 14414 Granularity *string `min:"1" type:"string"` 14415 } 14416 14417 // String returns the string representation. 14418 // 14419 // API parameter values that are decorated as "sensitive" in the API will not 14420 // be included in the string output. The member name will be present, but the 14421 // value will be replaced with "sensitive". 14422 func (s MetricGranularityType) String() string { 14423 return awsutil.Prettify(s) 14424 } 14425 14426 // GoString returns the string representation. 14427 // 14428 // API parameter values that are decorated as "sensitive" in the API will not 14429 // be included in the string output. The member name will be present, but the 14430 // value will be replaced with "sensitive". 14431 func (s MetricGranularityType) GoString() string { 14432 return s.String() 14433 } 14434 14435 // SetGranularity sets the Granularity field's value. 14436 func (s *MetricGranularityType) SetGranularity(v string) *MetricGranularityType { 14437 s.Granularity = &v 14438 return s 14439 } 14440 14441 // Describes a mixed instances policy. A mixed instances policy contains the 14442 // instance types Amazon EC2 Auto Scaling can launch, and other information 14443 // Amazon EC2 Auto Scaling can use to launch instances to help you optimize 14444 // your costs. For more information, see Auto Scaling groups with multiple instance 14445 // types and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html) 14446 // in the Amazon EC2 Auto Scaling User Guide. 14447 type MixedInstancesPolicy struct { 14448 _ struct{} `type:"structure"` 14449 14450 // Specifies the instances distribution. If not provided, the value for each 14451 // property in InstancesDistribution uses a default value. 14452 InstancesDistribution *InstancesDistribution `type:"structure"` 14453 14454 // Specifies the launch template to use and the instance types (overrides) that 14455 // are used to provision EC2 instances to fulfill On-Demand and Spot capacities. 14456 // Required when creating a mixed instances policy. 14457 LaunchTemplate *LaunchTemplate `type:"structure"` 14458 } 14459 14460 // String returns the string representation. 14461 // 14462 // API parameter values that are decorated as "sensitive" in the API will not 14463 // be included in the string output. The member name will be present, but the 14464 // value will be replaced with "sensitive". 14465 func (s MixedInstancesPolicy) String() string { 14466 return awsutil.Prettify(s) 14467 } 14468 14469 // GoString returns the string representation. 14470 // 14471 // API parameter values that are decorated as "sensitive" in the API will not 14472 // be included in the string output. The member name will be present, but the 14473 // value will be replaced with "sensitive". 14474 func (s MixedInstancesPolicy) GoString() string { 14475 return s.String() 14476 } 14477 14478 // Validate inspects the fields of the type to determine if they are valid. 14479 func (s *MixedInstancesPolicy) Validate() error { 14480 invalidParams := request.ErrInvalidParams{Context: "MixedInstancesPolicy"} 14481 if s.LaunchTemplate != nil { 14482 if err := s.LaunchTemplate.Validate(); err != nil { 14483 invalidParams.AddNested("LaunchTemplate", err.(request.ErrInvalidParams)) 14484 } 14485 } 14486 14487 if invalidParams.Len() > 0 { 14488 return invalidParams 14489 } 14490 return nil 14491 } 14492 14493 // SetInstancesDistribution sets the InstancesDistribution field's value. 14494 func (s *MixedInstancesPolicy) SetInstancesDistribution(v *InstancesDistribution) *MixedInstancesPolicy { 14495 s.InstancesDistribution = v 14496 return s 14497 } 14498 14499 // SetLaunchTemplate sets the LaunchTemplate field's value. 14500 func (s *MixedInstancesPolicy) SetLaunchTemplate(v *LaunchTemplate) *MixedInstancesPolicy { 14501 s.LaunchTemplate = v 14502 return s 14503 } 14504 14505 // Describes a notification. 14506 type NotificationConfiguration struct { 14507 _ struct{} `type:"structure"` 14508 14509 // The name of the Auto Scaling group. 14510 AutoScalingGroupName *string `min:"1" type:"string"` 14511 14512 // One of the following event notification types: 14513 // 14514 // * autoscaling:EC2_INSTANCE_LAUNCH 14515 // 14516 // * autoscaling:EC2_INSTANCE_LAUNCH_ERROR 14517 // 14518 // * autoscaling:EC2_INSTANCE_TERMINATE 14519 // 14520 // * autoscaling:EC2_INSTANCE_TERMINATE_ERROR 14521 // 14522 // * autoscaling:TEST_NOTIFICATION 14523 NotificationType *string `min:"1" type:"string"` 14524 14525 // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 14526 // (Amazon SNS) topic. 14527 TopicARN *string `min:"1" type:"string"` 14528 } 14529 14530 // String returns the string representation. 14531 // 14532 // API parameter values that are decorated as "sensitive" in the API will not 14533 // be included in the string output. The member name will be present, but the 14534 // value will be replaced with "sensitive". 14535 func (s NotificationConfiguration) String() string { 14536 return awsutil.Prettify(s) 14537 } 14538 14539 // GoString returns the string representation. 14540 // 14541 // API parameter values that are decorated as "sensitive" in the API will not 14542 // be included in the string output. The member name will be present, but the 14543 // value will be replaced with "sensitive". 14544 func (s NotificationConfiguration) GoString() string { 14545 return s.String() 14546 } 14547 14548 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 14549 func (s *NotificationConfiguration) SetAutoScalingGroupName(v string) *NotificationConfiguration { 14550 s.AutoScalingGroupName = &v 14551 return s 14552 } 14553 14554 // SetNotificationType sets the NotificationType field's value. 14555 func (s *NotificationConfiguration) SetNotificationType(v string) *NotificationConfiguration { 14556 s.NotificationType = &v 14557 return s 14558 } 14559 14560 // SetTopicARN sets the TopicARN field's value. 14561 func (s *NotificationConfiguration) SetTopicARN(v string) *NotificationConfiguration { 14562 s.TopicARN = &v 14563 return s 14564 } 14565 14566 // Represents a predefined metric for a target tracking scaling policy to use 14567 // with Amazon EC2 Auto Scaling. 14568 type PredefinedMetricSpecification struct { 14569 _ struct{} `type:"structure"` 14570 14571 // The metric type. The following predefined metrics are available: 14572 // 14573 // * ASGAverageCPUUtilization - Average CPU utilization of the Auto Scaling 14574 // group. 14575 // 14576 // * ASGAverageNetworkIn - Average number of bytes received on all network 14577 // interfaces by the Auto Scaling group. 14578 // 14579 // * ASGAverageNetworkOut - Average number of bytes sent out on all network 14580 // interfaces by the Auto Scaling group. 14581 // 14582 // * ALBRequestCountPerTarget - Number of requests completed per target in 14583 // an Application Load Balancer target group. 14584 // 14585 // PredefinedMetricType is a required field 14586 PredefinedMetricType *string `type:"string" required:"true" enum:"MetricType"` 14587 14588 // A label that uniquely identifies a specific Application Load Balancer target 14589 // group from which to determine the average request count served by your Auto 14590 // Scaling group. You can't specify a resource label unless the target group 14591 // is attached to the Auto Scaling group. 14592 // 14593 // You create the resource label by appending the final portion of the load 14594 // balancer ARN and the final portion of the target group ARN into a single 14595 // value, separated by a forward slash (/). The format of the resource label 14596 // is: 14597 // 14598 // app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff. 14599 // 14600 // Where: 14601 // 14602 // * app/<load-balancer-name>/<load-balancer-id> is the final portion of 14603 // the load balancer ARN 14604 // 14605 // * targetgroup/<target-group-name>/<target-group-id> is the final portion 14606 // of the target group ARN. 14607 // 14608 // To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers 14609 // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) 14610 // API operation. To find the ARN for the target group, use the DescribeTargetGroups 14611 // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) 14612 // API operation. 14613 ResourceLabel *string `min:"1" type:"string"` 14614 } 14615 14616 // String returns the string representation. 14617 // 14618 // API parameter values that are decorated as "sensitive" in the API will not 14619 // be included in the string output. The member name will be present, but the 14620 // value will be replaced with "sensitive". 14621 func (s PredefinedMetricSpecification) String() string { 14622 return awsutil.Prettify(s) 14623 } 14624 14625 // GoString returns the string representation. 14626 // 14627 // API parameter values that are decorated as "sensitive" in the API will not 14628 // be included in the string output. The member name will be present, but the 14629 // value will be replaced with "sensitive". 14630 func (s PredefinedMetricSpecification) GoString() string { 14631 return s.String() 14632 } 14633 14634 // Validate inspects the fields of the type to determine if they are valid. 14635 func (s *PredefinedMetricSpecification) Validate() error { 14636 invalidParams := request.ErrInvalidParams{Context: "PredefinedMetricSpecification"} 14637 if s.PredefinedMetricType == nil { 14638 invalidParams.Add(request.NewErrParamRequired("PredefinedMetricType")) 14639 } 14640 if s.ResourceLabel != nil && len(*s.ResourceLabel) < 1 { 14641 invalidParams.Add(request.NewErrParamMinLen("ResourceLabel", 1)) 14642 } 14643 14644 if invalidParams.Len() > 0 { 14645 return invalidParams 14646 } 14647 return nil 14648 } 14649 14650 // SetPredefinedMetricType sets the PredefinedMetricType field's value. 14651 func (s *PredefinedMetricSpecification) SetPredefinedMetricType(v string) *PredefinedMetricSpecification { 14652 s.PredefinedMetricType = &v 14653 return s 14654 } 14655 14656 // SetResourceLabel sets the ResourceLabel field's value. 14657 func (s *PredefinedMetricSpecification) SetResourceLabel(v string) *PredefinedMetricSpecification { 14658 s.ResourceLabel = &v 14659 return s 14660 } 14661 14662 // Represents a predictive scaling policy configuration to use with Amazon EC2 14663 // Auto Scaling. 14664 type PredictiveScalingConfiguration struct { 14665 _ struct{} `type:"structure"` 14666 14667 // Defines the behavior that should be applied if the forecast capacity approaches 14668 // or exceeds the maximum capacity of the Auto Scaling group. Defaults to HonorMaxCapacity 14669 // if not specified. 14670 // 14671 // The following are possible values: 14672 // 14673 // * HonorMaxCapacity - Amazon EC2 Auto Scaling cannot scale out capacity 14674 // higher than the maximum capacity. The maximum capacity is enforced as 14675 // a hard limit. 14676 // 14677 // * IncreaseMaxCapacity - Amazon EC2 Auto Scaling can scale out capacity 14678 // higher than the maximum capacity when the forecast capacity is close to 14679 // or exceeds the maximum capacity. The upper limit is determined by the 14680 // forecasted capacity and the value for MaxCapacityBuffer. 14681 MaxCapacityBreachBehavior *string `type:"string" enum:"PredictiveScalingMaxCapacityBreachBehavior"` 14682 14683 // The size of the capacity buffer to use when the forecast capacity is close 14684 // to or exceeds the maximum capacity. The value is specified as a percentage 14685 // relative to the forecast capacity. For example, if the buffer is 10, this 14686 // means a 10 percent buffer, such that if the forecast capacity is 50, and 14687 // the maximum capacity is 40, then the effective maximum capacity is 55. 14688 // 14689 // If set to 0, Amazon EC2 Auto Scaling may scale capacity higher than the maximum 14690 // capacity to equal but not exceed forecast capacity. 14691 // 14692 // Required if the MaxCapacityBreachBehavior property is set to IncreaseMaxCapacity, 14693 // and cannot be used otherwise. 14694 MaxCapacityBuffer *int64 `type:"integer"` 14695 14696 // This structure includes the metrics and target utilization to use for predictive 14697 // scaling. 14698 // 14699 // This is an array, but we currently only support a single metric specification. 14700 // That is, you can specify a target value and a single metric pair, or a target 14701 // value and one scaling metric and one load metric. 14702 // 14703 // MetricSpecifications is a required field 14704 MetricSpecifications []*PredictiveScalingMetricSpecification `type:"list" required:"true"` 14705 14706 // The predictive scaling mode. Defaults to ForecastOnly if not specified. 14707 Mode *string `type:"string" enum:"PredictiveScalingMode"` 14708 14709 // The amount of time, in seconds, by which the instance launch time can be 14710 // advanced. For example, the forecast says to add capacity at 10:00 AM, and 14711 // you choose to pre-launch instances by 5 minutes. In that case, the instances 14712 // will be launched at 9:55 AM. The intention is to give resources time to be 14713 // provisioned. It can take a few minutes to launch an EC2 instance. The actual 14714 // amount of time required depends on several factors, such as the size of the 14715 // instance and whether there are startup scripts to complete. 14716 // 14717 // The value must be less than the forecast interval duration of 3600 seconds 14718 // (60 minutes). Defaults to 300 seconds if not specified. 14719 SchedulingBufferTime *int64 `type:"integer"` 14720 } 14721 14722 // String returns the string representation. 14723 // 14724 // API parameter values that are decorated as "sensitive" in the API will not 14725 // be included in the string output. The member name will be present, but the 14726 // value will be replaced with "sensitive". 14727 func (s PredictiveScalingConfiguration) String() string { 14728 return awsutil.Prettify(s) 14729 } 14730 14731 // GoString returns the string representation. 14732 // 14733 // API parameter values that are decorated as "sensitive" in the API will not 14734 // be included in the string output. The member name will be present, but the 14735 // value will be replaced with "sensitive". 14736 func (s PredictiveScalingConfiguration) GoString() string { 14737 return s.String() 14738 } 14739 14740 // Validate inspects the fields of the type to determine if they are valid. 14741 func (s *PredictiveScalingConfiguration) Validate() error { 14742 invalidParams := request.ErrInvalidParams{Context: "PredictiveScalingConfiguration"} 14743 if s.MetricSpecifications == nil { 14744 invalidParams.Add(request.NewErrParamRequired("MetricSpecifications")) 14745 } 14746 if s.MetricSpecifications != nil { 14747 for i, v := range s.MetricSpecifications { 14748 if v == nil { 14749 continue 14750 } 14751 if err := v.Validate(); err != nil { 14752 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricSpecifications", i), err.(request.ErrInvalidParams)) 14753 } 14754 } 14755 } 14756 14757 if invalidParams.Len() > 0 { 14758 return invalidParams 14759 } 14760 return nil 14761 } 14762 14763 // SetMaxCapacityBreachBehavior sets the MaxCapacityBreachBehavior field's value. 14764 func (s *PredictiveScalingConfiguration) SetMaxCapacityBreachBehavior(v string) *PredictiveScalingConfiguration { 14765 s.MaxCapacityBreachBehavior = &v 14766 return s 14767 } 14768 14769 // SetMaxCapacityBuffer sets the MaxCapacityBuffer field's value. 14770 func (s *PredictiveScalingConfiguration) SetMaxCapacityBuffer(v int64) *PredictiveScalingConfiguration { 14771 s.MaxCapacityBuffer = &v 14772 return s 14773 } 14774 14775 // SetMetricSpecifications sets the MetricSpecifications field's value. 14776 func (s *PredictiveScalingConfiguration) SetMetricSpecifications(v []*PredictiveScalingMetricSpecification) *PredictiveScalingConfiguration { 14777 s.MetricSpecifications = v 14778 return s 14779 } 14780 14781 // SetMode sets the Mode field's value. 14782 func (s *PredictiveScalingConfiguration) SetMode(v string) *PredictiveScalingConfiguration { 14783 s.Mode = &v 14784 return s 14785 } 14786 14787 // SetSchedulingBufferTime sets the SchedulingBufferTime field's value. 14788 func (s *PredictiveScalingConfiguration) SetSchedulingBufferTime(v int64) *PredictiveScalingConfiguration { 14789 s.SchedulingBufferTime = &v 14790 return s 14791 } 14792 14793 // This structure specifies the metrics and target utilization settings for 14794 // a predictive scaling policy. 14795 // 14796 // You must specify either a metric pair, or a load metric and a scaling metric 14797 // individually. Specifying a metric pair instead of individual metrics provides 14798 // a simpler way to configure metrics for a scaling policy. You choose the metric 14799 // pair, and the policy automatically knows the correct sum and average statistics 14800 // to use for the load metric and the scaling metric. 14801 // 14802 // Example 14803 // 14804 // * You create a predictive scaling policy and specify ALBRequestCount as 14805 // the value for the metric pair and 1000.0 as the target value. For this 14806 // type of metric, you must provide the metric dimension for the corresponding 14807 // target group, so you also provide a resource label for the Application 14808 // Load Balancer target group that is attached to your Auto Scaling group. 14809 // 14810 // * The number of requests the target group receives per minute provides 14811 // the load metric, and the request count averaged between the members of 14812 // the target group provides the scaling metric. In CloudWatch, this refers 14813 // to the RequestCount and RequestCountPerTarget metrics, respectively. 14814 // 14815 // * For optimal use of predictive scaling, you adhere to the best practice 14816 // of using a dynamic scaling policy to automatically scale between the minimum 14817 // capacity and maximum capacity in response to real-time changes in resource 14818 // utilization. 14819 // 14820 // * Amazon EC2 Auto Scaling consumes data points for the load metric over 14821 // the last 14 days and creates an hourly load forecast for predictive scaling. 14822 // (A minimum of 24 hours of data is required.) 14823 // 14824 // * After creating the load forecast, Amazon EC2 Auto Scaling determines 14825 // when to reduce or increase the capacity of your Auto Scaling group in 14826 // each hour of the forecast period so that the average number of requests 14827 // received by each instance is as close to 1000 requests per minute as possible 14828 // at all times. 14829 type PredictiveScalingMetricSpecification struct { 14830 _ struct{} `type:"structure"` 14831 14832 // The load metric specification. 14833 PredefinedLoadMetricSpecification *PredictiveScalingPredefinedLoadMetric `type:"structure"` 14834 14835 // The metric pair specification from which Amazon EC2 Auto Scaling determines 14836 // the appropriate scaling metric and load metric to use. 14837 PredefinedMetricPairSpecification *PredictiveScalingPredefinedMetricPair `type:"structure"` 14838 14839 // The scaling metric specification. 14840 PredefinedScalingMetricSpecification *PredictiveScalingPredefinedScalingMetric `type:"structure"` 14841 14842 // Specifies the target utilization. 14843 // 14844 // TargetValue is a required field 14845 TargetValue *float64 `type:"double" required:"true"` 14846 } 14847 14848 // String returns the string representation. 14849 // 14850 // API parameter values that are decorated as "sensitive" in the API will not 14851 // be included in the string output. The member name will be present, but the 14852 // value will be replaced with "sensitive". 14853 func (s PredictiveScalingMetricSpecification) String() string { 14854 return awsutil.Prettify(s) 14855 } 14856 14857 // GoString returns the string representation. 14858 // 14859 // API parameter values that are decorated as "sensitive" in the API will not 14860 // be included in the string output. The member name will be present, but the 14861 // value will be replaced with "sensitive". 14862 func (s PredictiveScalingMetricSpecification) GoString() string { 14863 return s.String() 14864 } 14865 14866 // Validate inspects the fields of the type to determine if they are valid. 14867 func (s *PredictiveScalingMetricSpecification) Validate() error { 14868 invalidParams := request.ErrInvalidParams{Context: "PredictiveScalingMetricSpecification"} 14869 if s.TargetValue == nil { 14870 invalidParams.Add(request.NewErrParamRequired("TargetValue")) 14871 } 14872 if s.PredefinedLoadMetricSpecification != nil { 14873 if err := s.PredefinedLoadMetricSpecification.Validate(); err != nil { 14874 invalidParams.AddNested("PredefinedLoadMetricSpecification", err.(request.ErrInvalidParams)) 14875 } 14876 } 14877 if s.PredefinedMetricPairSpecification != nil { 14878 if err := s.PredefinedMetricPairSpecification.Validate(); err != nil { 14879 invalidParams.AddNested("PredefinedMetricPairSpecification", err.(request.ErrInvalidParams)) 14880 } 14881 } 14882 if s.PredefinedScalingMetricSpecification != nil { 14883 if err := s.PredefinedScalingMetricSpecification.Validate(); err != nil { 14884 invalidParams.AddNested("PredefinedScalingMetricSpecification", err.(request.ErrInvalidParams)) 14885 } 14886 } 14887 14888 if invalidParams.Len() > 0 { 14889 return invalidParams 14890 } 14891 return nil 14892 } 14893 14894 // SetPredefinedLoadMetricSpecification sets the PredefinedLoadMetricSpecification field's value. 14895 func (s *PredictiveScalingMetricSpecification) SetPredefinedLoadMetricSpecification(v *PredictiveScalingPredefinedLoadMetric) *PredictiveScalingMetricSpecification { 14896 s.PredefinedLoadMetricSpecification = v 14897 return s 14898 } 14899 14900 // SetPredefinedMetricPairSpecification sets the PredefinedMetricPairSpecification field's value. 14901 func (s *PredictiveScalingMetricSpecification) SetPredefinedMetricPairSpecification(v *PredictiveScalingPredefinedMetricPair) *PredictiveScalingMetricSpecification { 14902 s.PredefinedMetricPairSpecification = v 14903 return s 14904 } 14905 14906 // SetPredefinedScalingMetricSpecification sets the PredefinedScalingMetricSpecification field's value. 14907 func (s *PredictiveScalingMetricSpecification) SetPredefinedScalingMetricSpecification(v *PredictiveScalingPredefinedScalingMetric) *PredictiveScalingMetricSpecification { 14908 s.PredefinedScalingMetricSpecification = v 14909 return s 14910 } 14911 14912 // SetTargetValue sets the TargetValue field's value. 14913 func (s *PredictiveScalingMetricSpecification) SetTargetValue(v float64) *PredictiveScalingMetricSpecification { 14914 s.TargetValue = &v 14915 return s 14916 } 14917 14918 // Describes a load metric for a predictive scaling policy. 14919 // 14920 // When returned in the output of DescribePolicies, it indicates that a predictive 14921 // scaling policy uses individually specified load and scaling metrics instead 14922 // of a metric pair. 14923 type PredictiveScalingPredefinedLoadMetric struct { 14924 _ struct{} `type:"structure"` 14925 14926 // The metric type. 14927 // 14928 // PredefinedMetricType is a required field 14929 PredefinedMetricType *string `type:"string" required:"true" enum:"PredefinedLoadMetricType"` 14930 14931 // A label that uniquely identifies a specific Application Load Balancer target 14932 // group from which to determine the request count served by your Auto Scaling 14933 // group. You can't specify a resource label unless the target group is attached 14934 // to the Auto Scaling group. 14935 // 14936 // You create the resource label by appending the final portion of the load 14937 // balancer ARN and the final portion of the target group ARN into a single 14938 // value, separated by a forward slash (/). The format of the resource label 14939 // is: 14940 // 14941 // app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff. 14942 // 14943 // Where: 14944 // 14945 // * app/<load-balancer-name>/<load-balancer-id> is the final portion of 14946 // the load balancer ARN 14947 // 14948 // * targetgroup/<target-group-name>/<target-group-id> is the final portion 14949 // of the target group ARN. 14950 // 14951 // To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers 14952 // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) 14953 // API operation. To find the ARN for the target group, use the DescribeTargetGroups 14954 // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) 14955 // API operation. 14956 ResourceLabel *string `min:"1" type:"string"` 14957 } 14958 14959 // String returns the string representation. 14960 // 14961 // API parameter values that are decorated as "sensitive" in the API will not 14962 // be included in the string output. The member name will be present, but the 14963 // value will be replaced with "sensitive". 14964 func (s PredictiveScalingPredefinedLoadMetric) String() string { 14965 return awsutil.Prettify(s) 14966 } 14967 14968 // GoString returns the string representation. 14969 // 14970 // API parameter values that are decorated as "sensitive" in the API will not 14971 // be included in the string output. The member name will be present, but the 14972 // value will be replaced with "sensitive". 14973 func (s PredictiveScalingPredefinedLoadMetric) GoString() string { 14974 return s.String() 14975 } 14976 14977 // Validate inspects the fields of the type to determine if they are valid. 14978 func (s *PredictiveScalingPredefinedLoadMetric) Validate() error { 14979 invalidParams := request.ErrInvalidParams{Context: "PredictiveScalingPredefinedLoadMetric"} 14980 if s.PredefinedMetricType == nil { 14981 invalidParams.Add(request.NewErrParamRequired("PredefinedMetricType")) 14982 } 14983 if s.ResourceLabel != nil && len(*s.ResourceLabel) < 1 { 14984 invalidParams.Add(request.NewErrParamMinLen("ResourceLabel", 1)) 14985 } 14986 14987 if invalidParams.Len() > 0 { 14988 return invalidParams 14989 } 14990 return nil 14991 } 14992 14993 // SetPredefinedMetricType sets the PredefinedMetricType field's value. 14994 func (s *PredictiveScalingPredefinedLoadMetric) SetPredefinedMetricType(v string) *PredictiveScalingPredefinedLoadMetric { 14995 s.PredefinedMetricType = &v 14996 return s 14997 } 14998 14999 // SetResourceLabel sets the ResourceLabel field's value. 15000 func (s *PredictiveScalingPredefinedLoadMetric) SetResourceLabel(v string) *PredictiveScalingPredefinedLoadMetric { 15001 s.ResourceLabel = &v 15002 return s 15003 } 15004 15005 // Represents a metric pair for a predictive scaling policy. 15006 type PredictiveScalingPredefinedMetricPair struct { 15007 _ struct{} `type:"structure"` 15008 15009 // Indicates which metrics to use. There are two different types of metrics 15010 // for each metric type: one is a load metric and one is a scaling metric. For 15011 // example, if the metric type is ASGCPUUtilization, the Auto Scaling group's 15012 // total CPU metric is used as the load metric, and the average CPU metric is 15013 // used for the scaling metric. 15014 // 15015 // PredefinedMetricType is a required field 15016 PredefinedMetricType *string `type:"string" required:"true" enum:"PredefinedMetricPairType"` 15017 15018 // A label that uniquely identifies a specific Application Load Balancer target 15019 // group from which to determine the total and average request count served 15020 // by your Auto Scaling group. You can't specify a resource label unless the 15021 // target group is attached to the Auto Scaling group. 15022 // 15023 // You create the resource label by appending the final portion of the load 15024 // balancer ARN and the final portion of the target group ARN into a single 15025 // value, separated by a forward slash (/). The format of the resource label 15026 // is: 15027 // 15028 // app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff. 15029 // 15030 // Where: 15031 // 15032 // * app/<load-balancer-name>/<load-balancer-id> is the final portion of 15033 // the load balancer ARN 15034 // 15035 // * targetgroup/<target-group-name>/<target-group-id> is the final portion 15036 // of the target group ARN. 15037 // 15038 // To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers 15039 // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) 15040 // API operation. To find the ARN for the target group, use the DescribeTargetGroups 15041 // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) 15042 // API operation. 15043 ResourceLabel *string `min:"1" type:"string"` 15044 } 15045 15046 // String returns the string representation. 15047 // 15048 // API parameter values that are decorated as "sensitive" in the API will not 15049 // be included in the string output. The member name will be present, but the 15050 // value will be replaced with "sensitive". 15051 func (s PredictiveScalingPredefinedMetricPair) String() string { 15052 return awsutil.Prettify(s) 15053 } 15054 15055 // GoString returns the string representation. 15056 // 15057 // API parameter values that are decorated as "sensitive" in the API will not 15058 // be included in the string output. The member name will be present, but the 15059 // value will be replaced with "sensitive". 15060 func (s PredictiveScalingPredefinedMetricPair) GoString() string { 15061 return s.String() 15062 } 15063 15064 // Validate inspects the fields of the type to determine if they are valid. 15065 func (s *PredictiveScalingPredefinedMetricPair) Validate() error { 15066 invalidParams := request.ErrInvalidParams{Context: "PredictiveScalingPredefinedMetricPair"} 15067 if s.PredefinedMetricType == nil { 15068 invalidParams.Add(request.NewErrParamRequired("PredefinedMetricType")) 15069 } 15070 if s.ResourceLabel != nil && len(*s.ResourceLabel) < 1 { 15071 invalidParams.Add(request.NewErrParamMinLen("ResourceLabel", 1)) 15072 } 15073 15074 if invalidParams.Len() > 0 { 15075 return invalidParams 15076 } 15077 return nil 15078 } 15079 15080 // SetPredefinedMetricType sets the PredefinedMetricType field's value. 15081 func (s *PredictiveScalingPredefinedMetricPair) SetPredefinedMetricType(v string) *PredictiveScalingPredefinedMetricPair { 15082 s.PredefinedMetricType = &v 15083 return s 15084 } 15085 15086 // SetResourceLabel sets the ResourceLabel field's value. 15087 func (s *PredictiveScalingPredefinedMetricPair) SetResourceLabel(v string) *PredictiveScalingPredefinedMetricPair { 15088 s.ResourceLabel = &v 15089 return s 15090 } 15091 15092 // Describes a scaling metric for a predictive scaling policy. 15093 // 15094 // When returned in the output of DescribePolicies, it indicates that a predictive 15095 // scaling policy uses individually specified load and scaling metrics instead 15096 // of a metric pair. 15097 type PredictiveScalingPredefinedScalingMetric struct { 15098 _ struct{} `type:"structure"` 15099 15100 // The metric type. 15101 // 15102 // PredefinedMetricType is a required field 15103 PredefinedMetricType *string `type:"string" required:"true" enum:"PredefinedScalingMetricType"` 15104 15105 // A label that uniquely identifies a specific Application Load Balancer target 15106 // group from which to determine the average request count served by your Auto 15107 // Scaling group. You can't specify a resource label unless the target group 15108 // is attached to the Auto Scaling group. 15109 // 15110 // You create the resource label by appending the final portion of the load 15111 // balancer ARN and the final portion of the target group ARN into a single 15112 // value, separated by a forward slash (/). The format of the resource label 15113 // is: 15114 // 15115 // app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff. 15116 // 15117 // Where: 15118 // 15119 // * app/<load-balancer-name>/<load-balancer-id> is the final portion of 15120 // the load balancer ARN 15121 // 15122 // * targetgroup/<target-group-name>/<target-group-id> is the final portion 15123 // of the target group ARN. 15124 // 15125 // To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers 15126 // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) 15127 // API operation. To find the ARN for the target group, use the DescribeTargetGroups 15128 // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) 15129 // API operation. 15130 ResourceLabel *string `min:"1" type:"string"` 15131 } 15132 15133 // String returns the string representation. 15134 // 15135 // API parameter values that are decorated as "sensitive" in the API will not 15136 // be included in the string output. The member name will be present, but the 15137 // value will be replaced with "sensitive". 15138 func (s PredictiveScalingPredefinedScalingMetric) String() string { 15139 return awsutil.Prettify(s) 15140 } 15141 15142 // GoString returns the string representation. 15143 // 15144 // API parameter values that are decorated as "sensitive" in the API will not 15145 // be included in the string output. The member name will be present, but the 15146 // value will be replaced with "sensitive". 15147 func (s PredictiveScalingPredefinedScalingMetric) GoString() string { 15148 return s.String() 15149 } 15150 15151 // Validate inspects the fields of the type to determine if they are valid. 15152 func (s *PredictiveScalingPredefinedScalingMetric) Validate() error { 15153 invalidParams := request.ErrInvalidParams{Context: "PredictiveScalingPredefinedScalingMetric"} 15154 if s.PredefinedMetricType == nil { 15155 invalidParams.Add(request.NewErrParamRequired("PredefinedMetricType")) 15156 } 15157 if s.ResourceLabel != nil && len(*s.ResourceLabel) < 1 { 15158 invalidParams.Add(request.NewErrParamMinLen("ResourceLabel", 1)) 15159 } 15160 15161 if invalidParams.Len() > 0 { 15162 return invalidParams 15163 } 15164 return nil 15165 } 15166 15167 // SetPredefinedMetricType sets the PredefinedMetricType field's value. 15168 func (s *PredictiveScalingPredefinedScalingMetric) SetPredefinedMetricType(v string) *PredictiveScalingPredefinedScalingMetric { 15169 s.PredefinedMetricType = &v 15170 return s 15171 } 15172 15173 // SetResourceLabel sets the ResourceLabel field's value. 15174 func (s *PredictiveScalingPredefinedScalingMetric) SetResourceLabel(v string) *PredictiveScalingPredefinedScalingMetric { 15175 s.ResourceLabel = &v 15176 return s 15177 } 15178 15179 // Describes a process type. 15180 // 15181 // For more information, see Scaling processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html#process-types) 15182 // in the Amazon EC2 Auto Scaling User Guide. 15183 type ProcessType struct { 15184 _ struct{} `type:"structure"` 15185 15186 // One of the following processes: 15187 // 15188 // * Launch 15189 // 15190 // * Terminate 15191 // 15192 // * AddToLoadBalancer 15193 // 15194 // * AlarmNotification 15195 // 15196 // * AZRebalance 15197 // 15198 // * HealthCheck 15199 // 15200 // * InstanceRefresh 15201 // 15202 // * ReplaceUnhealthy 15203 // 15204 // * ScheduledActions 15205 // 15206 // ProcessName is a required field 15207 ProcessName *string `min:"1" type:"string" required:"true"` 15208 } 15209 15210 // String returns the string representation. 15211 // 15212 // API parameter values that are decorated as "sensitive" in the API will not 15213 // be included in the string output. The member name will be present, but the 15214 // value will be replaced with "sensitive". 15215 func (s ProcessType) String() string { 15216 return awsutil.Prettify(s) 15217 } 15218 15219 // GoString returns the string representation. 15220 // 15221 // API parameter values that are decorated as "sensitive" in the API will not 15222 // be included in the string output. The member name will be present, but the 15223 // value will be replaced with "sensitive". 15224 func (s ProcessType) GoString() string { 15225 return s.String() 15226 } 15227 15228 // SetProcessName sets the ProcessName field's value. 15229 func (s *ProcessType) SetProcessName(v string) *ProcessType { 15230 s.ProcessName = &v 15231 return s 15232 } 15233 15234 type PutLifecycleHookInput struct { 15235 _ struct{} `type:"structure"` 15236 15237 // The name of the Auto Scaling group. 15238 // 15239 // AutoScalingGroupName is a required field 15240 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 15241 15242 // Defines the action the Auto Scaling group should take when the lifecycle 15243 // hook timeout elapses or if an unexpected failure occurs. This parameter can 15244 // be either CONTINUE or ABANDON. The default value is ABANDON. 15245 DefaultResult *string `type:"string"` 15246 15247 // The maximum time, in seconds, that can elapse before the lifecycle hook times 15248 // out. The range is from 30 to 7200 seconds. The default value is 3600 seconds 15249 // (1 hour). 15250 // 15251 // If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action 15252 // that you specified in the DefaultResult parameter. You can prevent the lifecycle 15253 // hook from timing out by calling the RecordLifecycleActionHeartbeat API. 15254 HeartbeatTimeout *int64 `type:"integer"` 15255 15256 // The name of the lifecycle hook. 15257 // 15258 // LifecycleHookName is a required field 15259 LifecycleHookName *string `min:"1" type:"string" required:"true"` 15260 15261 // The instance state to which you want to attach the lifecycle hook. The valid 15262 // values are: 15263 // 15264 // * autoscaling:EC2_INSTANCE_LAUNCHING 15265 // 15266 // * autoscaling:EC2_INSTANCE_TERMINATING 15267 // 15268 // Required for new lifecycle hooks, but optional when updating existing hooks. 15269 LifecycleTransition *string `type:"string"` 15270 15271 // Additional information that you want to include any time Amazon EC2 Auto 15272 // Scaling sends a message to the notification target. 15273 NotificationMetadata *string `min:"1" type:"string"` 15274 15275 // The ARN of the notification target that Amazon EC2 Auto Scaling uses to notify 15276 // you when an instance is in the transition state for the lifecycle hook. This 15277 // target can be either an SQS queue or an SNS topic. 15278 // 15279 // If you specify an empty string, this overrides the current ARN. 15280 // 15281 // This operation uses the JSON format when sending notifications to an Amazon 15282 // SQS queue, and an email key-value pair format when sending notifications 15283 // to an Amazon SNS topic. 15284 // 15285 // When you specify a notification target, Amazon EC2 Auto Scaling sends it 15286 // a test message. Test messages contain the following additional key-value 15287 // pair: "Event": "autoscaling:TEST_NOTIFICATION". 15288 NotificationTargetARN *string `type:"string"` 15289 15290 // The ARN of the IAM role that allows the Auto Scaling group to publish to 15291 // the specified notification target, for example, an Amazon SNS topic or an 15292 // Amazon SQS queue. 15293 // 15294 // Required for new lifecycle hooks, but optional when updating existing hooks. 15295 RoleARN *string `min:"1" type:"string"` 15296 } 15297 15298 // String returns the string representation. 15299 // 15300 // API parameter values that are decorated as "sensitive" in the API will not 15301 // be included in the string output. The member name will be present, but the 15302 // value will be replaced with "sensitive". 15303 func (s PutLifecycleHookInput) String() string { 15304 return awsutil.Prettify(s) 15305 } 15306 15307 // GoString returns the string representation. 15308 // 15309 // API parameter values that are decorated as "sensitive" in the API will not 15310 // be included in the string output. The member name will be present, but the 15311 // value will be replaced with "sensitive". 15312 func (s PutLifecycleHookInput) GoString() string { 15313 return s.String() 15314 } 15315 15316 // Validate inspects the fields of the type to determine if they are valid. 15317 func (s *PutLifecycleHookInput) Validate() error { 15318 invalidParams := request.ErrInvalidParams{Context: "PutLifecycleHookInput"} 15319 if s.AutoScalingGroupName == nil { 15320 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 15321 } 15322 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 15323 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 15324 } 15325 if s.LifecycleHookName == nil { 15326 invalidParams.Add(request.NewErrParamRequired("LifecycleHookName")) 15327 } 15328 if s.LifecycleHookName != nil && len(*s.LifecycleHookName) < 1 { 15329 invalidParams.Add(request.NewErrParamMinLen("LifecycleHookName", 1)) 15330 } 15331 if s.NotificationMetadata != nil && len(*s.NotificationMetadata) < 1 { 15332 invalidParams.Add(request.NewErrParamMinLen("NotificationMetadata", 1)) 15333 } 15334 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 15335 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 15336 } 15337 15338 if invalidParams.Len() > 0 { 15339 return invalidParams 15340 } 15341 return nil 15342 } 15343 15344 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 15345 func (s *PutLifecycleHookInput) SetAutoScalingGroupName(v string) *PutLifecycleHookInput { 15346 s.AutoScalingGroupName = &v 15347 return s 15348 } 15349 15350 // SetDefaultResult sets the DefaultResult field's value. 15351 func (s *PutLifecycleHookInput) SetDefaultResult(v string) *PutLifecycleHookInput { 15352 s.DefaultResult = &v 15353 return s 15354 } 15355 15356 // SetHeartbeatTimeout sets the HeartbeatTimeout field's value. 15357 func (s *PutLifecycleHookInput) SetHeartbeatTimeout(v int64) *PutLifecycleHookInput { 15358 s.HeartbeatTimeout = &v 15359 return s 15360 } 15361 15362 // SetLifecycleHookName sets the LifecycleHookName field's value. 15363 func (s *PutLifecycleHookInput) SetLifecycleHookName(v string) *PutLifecycleHookInput { 15364 s.LifecycleHookName = &v 15365 return s 15366 } 15367 15368 // SetLifecycleTransition sets the LifecycleTransition field's value. 15369 func (s *PutLifecycleHookInput) SetLifecycleTransition(v string) *PutLifecycleHookInput { 15370 s.LifecycleTransition = &v 15371 return s 15372 } 15373 15374 // SetNotificationMetadata sets the NotificationMetadata field's value. 15375 func (s *PutLifecycleHookInput) SetNotificationMetadata(v string) *PutLifecycleHookInput { 15376 s.NotificationMetadata = &v 15377 return s 15378 } 15379 15380 // SetNotificationTargetARN sets the NotificationTargetARN field's value. 15381 func (s *PutLifecycleHookInput) SetNotificationTargetARN(v string) *PutLifecycleHookInput { 15382 s.NotificationTargetARN = &v 15383 return s 15384 } 15385 15386 // SetRoleARN sets the RoleARN field's value. 15387 func (s *PutLifecycleHookInput) SetRoleARN(v string) *PutLifecycleHookInput { 15388 s.RoleARN = &v 15389 return s 15390 } 15391 15392 type PutLifecycleHookOutput struct { 15393 _ struct{} `type:"structure"` 15394 } 15395 15396 // String returns the string representation. 15397 // 15398 // API parameter values that are decorated as "sensitive" in the API will not 15399 // be included in the string output. The member name will be present, but the 15400 // value will be replaced with "sensitive". 15401 func (s PutLifecycleHookOutput) String() string { 15402 return awsutil.Prettify(s) 15403 } 15404 15405 // GoString returns the string representation. 15406 // 15407 // API parameter values that are decorated as "sensitive" in the API will not 15408 // be included in the string output. The member name will be present, but the 15409 // value will be replaced with "sensitive". 15410 func (s PutLifecycleHookOutput) GoString() string { 15411 return s.String() 15412 } 15413 15414 type PutNotificationConfigurationInput struct { 15415 _ struct{} `type:"structure"` 15416 15417 // The name of the Auto Scaling group. 15418 // 15419 // AutoScalingGroupName is a required field 15420 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 15421 15422 // The type of event that causes the notification to be sent. To query the notification 15423 // types supported by Amazon EC2 Auto Scaling, call the DescribeAutoScalingNotificationTypes 15424 // API. 15425 // 15426 // NotificationTypes is a required field 15427 NotificationTypes []*string `type:"list" required:"true"` 15428 15429 // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 15430 // (Amazon SNS) topic. 15431 // 15432 // TopicARN is a required field 15433 TopicARN *string `min:"1" type:"string" required:"true"` 15434 } 15435 15436 // String returns the string representation. 15437 // 15438 // API parameter values that are decorated as "sensitive" in the API will not 15439 // be included in the string output. The member name will be present, but the 15440 // value will be replaced with "sensitive". 15441 func (s PutNotificationConfigurationInput) String() string { 15442 return awsutil.Prettify(s) 15443 } 15444 15445 // GoString returns the string representation. 15446 // 15447 // API parameter values that are decorated as "sensitive" in the API will not 15448 // be included in the string output. The member name will be present, but the 15449 // value will be replaced with "sensitive". 15450 func (s PutNotificationConfigurationInput) GoString() string { 15451 return s.String() 15452 } 15453 15454 // Validate inspects the fields of the type to determine if they are valid. 15455 func (s *PutNotificationConfigurationInput) Validate() error { 15456 invalidParams := request.ErrInvalidParams{Context: "PutNotificationConfigurationInput"} 15457 if s.AutoScalingGroupName == nil { 15458 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 15459 } 15460 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 15461 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 15462 } 15463 if s.NotificationTypes == nil { 15464 invalidParams.Add(request.NewErrParamRequired("NotificationTypes")) 15465 } 15466 if s.TopicARN == nil { 15467 invalidParams.Add(request.NewErrParamRequired("TopicARN")) 15468 } 15469 if s.TopicARN != nil && len(*s.TopicARN) < 1 { 15470 invalidParams.Add(request.NewErrParamMinLen("TopicARN", 1)) 15471 } 15472 15473 if invalidParams.Len() > 0 { 15474 return invalidParams 15475 } 15476 return nil 15477 } 15478 15479 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 15480 func (s *PutNotificationConfigurationInput) SetAutoScalingGroupName(v string) *PutNotificationConfigurationInput { 15481 s.AutoScalingGroupName = &v 15482 return s 15483 } 15484 15485 // SetNotificationTypes sets the NotificationTypes field's value. 15486 func (s *PutNotificationConfigurationInput) SetNotificationTypes(v []*string) *PutNotificationConfigurationInput { 15487 s.NotificationTypes = v 15488 return s 15489 } 15490 15491 // SetTopicARN sets the TopicARN field's value. 15492 func (s *PutNotificationConfigurationInput) SetTopicARN(v string) *PutNotificationConfigurationInput { 15493 s.TopicARN = &v 15494 return s 15495 } 15496 15497 type PutNotificationConfigurationOutput struct { 15498 _ struct{} `type:"structure"` 15499 } 15500 15501 // String returns the string representation. 15502 // 15503 // API parameter values that are decorated as "sensitive" in the API will not 15504 // be included in the string output. The member name will be present, but the 15505 // value will be replaced with "sensitive". 15506 func (s PutNotificationConfigurationOutput) String() string { 15507 return awsutil.Prettify(s) 15508 } 15509 15510 // GoString returns the string representation. 15511 // 15512 // API parameter values that are decorated as "sensitive" in the API will not 15513 // be included in the string output. The member name will be present, but the 15514 // value will be replaced with "sensitive". 15515 func (s PutNotificationConfigurationOutput) GoString() string { 15516 return s.String() 15517 } 15518 15519 type PutScalingPolicyInput struct { 15520 _ struct{} `type:"structure"` 15521 15522 // Specifies how the scaling adjustment is interpreted (for example, an absolute 15523 // number or a percentage). The valid values are ChangeInCapacity, ExactCapacity, 15524 // and PercentChangeInCapacity. 15525 // 15526 // Required if the policy type is StepScaling or SimpleScaling. For more information, 15527 // see Scaling adjustment types (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-adjustment) 15528 // in the Amazon EC2 Auto Scaling User Guide. 15529 AdjustmentType *string `min:"1" type:"string"` 15530 15531 // The name of the Auto Scaling group. 15532 // 15533 // AutoScalingGroupName is a required field 15534 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 15535 15536 // The duration of the policy's cooldown period, in seconds. When a cooldown 15537 // period is specified here, it overrides the default cooldown period defined 15538 // for the Auto Scaling group. 15539 // 15540 // Valid only if the policy type is SimpleScaling. For more information, see 15541 // Scaling cooldowns for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html) 15542 // in the Amazon EC2 Auto Scaling User Guide. 15543 Cooldown *int64 `type:"integer"` 15544 15545 // Indicates whether the scaling policy is enabled or disabled. The default 15546 // is enabled. For more information, see Disabling a scaling policy for an Auto 15547 // Scaling group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-enable-disable-scaling-policy.html) 15548 // in the Amazon EC2 Auto Scaling User Guide. 15549 Enabled *bool `type:"boolean"` 15550 15551 // The estimated time, in seconds, until a newly launched instance can contribute 15552 // to the CloudWatch metrics. If not provided, the default is to use the value 15553 // from the default cooldown period for the Auto Scaling group. 15554 // 15555 // Valid only if the policy type is TargetTrackingScaling or StepScaling. 15556 EstimatedInstanceWarmup *int64 `type:"integer"` 15557 15558 // The aggregation type for the CloudWatch metrics. The valid values are Minimum, 15559 // Maximum, and Average. If the aggregation type is null, the value is treated 15560 // as Average. 15561 // 15562 // Valid only if the policy type is StepScaling. 15563 MetricAggregationType *string `min:"1" type:"string"` 15564 15565 // The minimum value to scale by when the adjustment type is PercentChangeInCapacity. 15566 // For example, suppose that you create a step scaling policy to scale out an 15567 // Auto Scaling group by 25 percent and you specify a MinAdjustmentMagnitude 15568 // of 2. If the group has 4 instances and the scaling policy is performed, 25 15569 // percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude 15570 // of 2, Amazon EC2 Auto Scaling scales out the group by 2 instances. 15571 // 15572 // Valid only if the policy type is StepScaling or SimpleScaling. For more information, 15573 // see Scaling adjustment types (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-adjustment) 15574 // in the Amazon EC2 Auto Scaling User Guide. 15575 // 15576 // Some Auto Scaling groups use instance weights. In this case, set the MinAdjustmentMagnitude 15577 // to a value that is at least as large as your largest instance weight. 15578 MinAdjustmentMagnitude *int64 `type:"integer"` 15579 15580 // Available for backward compatibility. Use MinAdjustmentMagnitude instead. 15581 MinAdjustmentStep *int64 `deprecated:"true" type:"integer"` 15582 15583 // The name of the policy. 15584 // 15585 // PolicyName is a required field 15586 PolicyName *string `min:"1" type:"string" required:"true"` 15587 15588 // One of the following policy types: 15589 // 15590 // * TargetTrackingScaling 15591 // 15592 // * StepScaling 15593 // 15594 // * SimpleScaling (default) 15595 // 15596 // * PredictiveScaling 15597 PolicyType *string `min:"1" type:"string"` 15598 15599 // A predictive scaling policy. Provides support for only predefined metrics. 15600 // 15601 // Predictive scaling works with CPU utilization, network in/out, and the Application 15602 // Load Balancer request count. 15603 // 15604 // For more information, see PredictiveScalingConfiguration (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PredictiveScalingConfiguration.html) 15605 // in the Amazon EC2 Auto Scaling API Reference. 15606 // 15607 // Required if the policy type is PredictiveScaling. 15608 PredictiveScalingConfiguration *PredictiveScalingConfiguration `type:"structure"` 15609 15610 // The amount by which to scale, based on the specified adjustment type. A positive 15611 // value adds to the current capacity while a negative number removes from the 15612 // current capacity. For exact capacity, you must specify a positive value. 15613 // 15614 // Required if the policy type is SimpleScaling. (Not used with any other policy 15615 // type.) 15616 ScalingAdjustment *int64 `type:"integer"` 15617 15618 // A set of adjustments that enable you to scale based on the size of the alarm 15619 // breach. 15620 // 15621 // Required if the policy type is StepScaling. (Not used with any other policy 15622 // type.) 15623 StepAdjustments []*StepAdjustment `type:"list"` 15624 15625 // A target tracking scaling policy. Provides support for predefined or customized 15626 // metrics. 15627 // 15628 // The following predefined metrics are available: 15629 // 15630 // * ASGAverageCPUUtilization 15631 // 15632 // * ASGAverageNetworkIn 15633 // 15634 // * ASGAverageNetworkOut 15635 // 15636 // * ALBRequestCountPerTarget 15637 // 15638 // If you specify ALBRequestCountPerTarget for the metric, you must specify 15639 // the ResourceLabel parameter with the PredefinedMetricSpecification. 15640 // 15641 // For more information, see TargetTrackingConfiguration (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_TargetTrackingConfiguration.html) 15642 // in the Amazon EC2 Auto Scaling API Reference. 15643 // 15644 // Required if the policy type is TargetTrackingScaling. 15645 TargetTrackingConfiguration *TargetTrackingConfiguration `type:"structure"` 15646 } 15647 15648 // String returns the string representation. 15649 // 15650 // API parameter values that are decorated as "sensitive" in the API will not 15651 // be included in the string output. The member name will be present, but the 15652 // value will be replaced with "sensitive". 15653 func (s PutScalingPolicyInput) String() string { 15654 return awsutil.Prettify(s) 15655 } 15656 15657 // GoString returns the string representation. 15658 // 15659 // API parameter values that are decorated as "sensitive" in the API will not 15660 // be included in the string output. The member name will be present, but the 15661 // value will be replaced with "sensitive". 15662 func (s PutScalingPolicyInput) GoString() string { 15663 return s.String() 15664 } 15665 15666 // Validate inspects the fields of the type to determine if they are valid. 15667 func (s *PutScalingPolicyInput) Validate() error { 15668 invalidParams := request.ErrInvalidParams{Context: "PutScalingPolicyInput"} 15669 if s.AdjustmentType != nil && len(*s.AdjustmentType) < 1 { 15670 invalidParams.Add(request.NewErrParamMinLen("AdjustmentType", 1)) 15671 } 15672 if s.AutoScalingGroupName == nil { 15673 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 15674 } 15675 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 15676 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 15677 } 15678 if s.MetricAggregationType != nil && len(*s.MetricAggregationType) < 1 { 15679 invalidParams.Add(request.NewErrParamMinLen("MetricAggregationType", 1)) 15680 } 15681 if s.PolicyName == nil { 15682 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 15683 } 15684 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 15685 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 15686 } 15687 if s.PolicyType != nil && len(*s.PolicyType) < 1 { 15688 invalidParams.Add(request.NewErrParamMinLen("PolicyType", 1)) 15689 } 15690 if s.PredictiveScalingConfiguration != nil { 15691 if err := s.PredictiveScalingConfiguration.Validate(); err != nil { 15692 invalidParams.AddNested("PredictiveScalingConfiguration", err.(request.ErrInvalidParams)) 15693 } 15694 } 15695 if s.StepAdjustments != nil { 15696 for i, v := range s.StepAdjustments { 15697 if v == nil { 15698 continue 15699 } 15700 if err := v.Validate(); err != nil { 15701 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StepAdjustments", i), err.(request.ErrInvalidParams)) 15702 } 15703 } 15704 } 15705 if s.TargetTrackingConfiguration != nil { 15706 if err := s.TargetTrackingConfiguration.Validate(); err != nil { 15707 invalidParams.AddNested("TargetTrackingConfiguration", err.(request.ErrInvalidParams)) 15708 } 15709 } 15710 15711 if invalidParams.Len() > 0 { 15712 return invalidParams 15713 } 15714 return nil 15715 } 15716 15717 // SetAdjustmentType sets the AdjustmentType field's value. 15718 func (s *PutScalingPolicyInput) SetAdjustmentType(v string) *PutScalingPolicyInput { 15719 s.AdjustmentType = &v 15720 return s 15721 } 15722 15723 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 15724 func (s *PutScalingPolicyInput) SetAutoScalingGroupName(v string) *PutScalingPolicyInput { 15725 s.AutoScalingGroupName = &v 15726 return s 15727 } 15728 15729 // SetCooldown sets the Cooldown field's value. 15730 func (s *PutScalingPolicyInput) SetCooldown(v int64) *PutScalingPolicyInput { 15731 s.Cooldown = &v 15732 return s 15733 } 15734 15735 // SetEnabled sets the Enabled field's value. 15736 func (s *PutScalingPolicyInput) SetEnabled(v bool) *PutScalingPolicyInput { 15737 s.Enabled = &v 15738 return s 15739 } 15740 15741 // SetEstimatedInstanceWarmup sets the EstimatedInstanceWarmup field's value. 15742 func (s *PutScalingPolicyInput) SetEstimatedInstanceWarmup(v int64) *PutScalingPolicyInput { 15743 s.EstimatedInstanceWarmup = &v 15744 return s 15745 } 15746 15747 // SetMetricAggregationType sets the MetricAggregationType field's value. 15748 func (s *PutScalingPolicyInput) SetMetricAggregationType(v string) *PutScalingPolicyInput { 15749 s.MetricAggregationType = &v 15750 return s 15751 } 15752 15753 // SetMinAdjustmentMagnitude sets the MinAdjustmentMagnitude field's value. 15754 func (s *PutScalingPolicyInput) SetMinAdjustmentMagnitude(v int64) *PutScalingPolicyInput { 15755 s.MinAdjustmentMagnitude = &v 15756 return s 15757 } 15758 15759 // SetMinAdjustmentStep sets the MinAdjustmentStep field's value. 15760 func (s *PutScalingPolicyInput) SetMinAdjustmentStep(v int64) *PutScalingPolicyInput { 15761 s.MinAdjustmentStep = &v 15762 return s 15763 } 15764 15765 // SetPolicyName sets the PolicyName field's value. 15766 func (s *PutScalingPolicyInput) SetPolicyName(v string) *PutScalingPolicyInput { 15767 s.PolicyName = &v 15768 return s 15769 } 15770 15771 // SetPolicyType sets the PolicyType field's value. 15772 func (s *PutScalingPolicyInput) SetPolicyType(v string) *PutScalingPolicyInput { 15773 s.PolicyType = &v 15774 return s 15775 } 15776 15777 // SetPredictiveScalingConfiguration sets the PredictiveScalingConfiguration field's value. 15778 func (s *PutScalingPolicyInput) SetPredictiveScalingConfiguration(v *PredictiveScalingConfiguration) *PutScalingPolicyInput { 15779 s.PredictiveScalingConfiguration = v 15780 return s 15781 } 15782 15783 // SetScalingAdjustment sets the ScalingAdjustment field's value. 15784 func (s *PutScalingPolicyInput) SetScalingAdjustment(v int64) *PutScalingPolicyInput { 15785 s.ScalingAdjustment = &v 15786 return s 15787 } 15788 15789 // SetStepAdjustments sets the StepAdjustments field's value. 15790 func (s *PutScalingPolicyInput) SetStepAdjustments(v []*StepAdjustment) *PutScalingPolicyInput { 15791 s.StepAdjustments = v 15792 return s 15793 } 15794 15795 // SetTargetTrackingConfiguration sets the TargetTrackingConfiguration field's value. 15796 func (s *PutScalingPolicyInput) SetTargetTrackingConfiguration(v *TargetTrackingConfiguration) *PutScalingPolicyInput { 15797 s.TargetTrackingConfiguration = v 15798 return s 15799 } 15800 15801 // Contains the output of PutScalingPolicy. 15802 type PutScalingPolicyOutput struct { 15803 _ struct{} `type:"structure"` 15804 15805 // The CloudWatch alarms created for the target tracking scaling policy. 15806 Alarms []*Alarm `type:"list"` 15807 15808 // The Amazon Resource Name (ARN) of the policy. 15809 PolicyARN *string `min:"1" type:"string"` 15810 } 15811 15812 // String returns the string representation. 15813 // 15814 // API parameter values that are decorated as "sensitive" in the API will not 15815 // be included in the string output. The member name will be present, but the 15816 // value will be replaced with "sensitive". 15817 func (s PutScalingPolicyOutput) String() string { 15818 return awsutil.Prettify(s) 15819 } 15820 15821 // GoString returns the string representation. 15822 // 15823 // API parameter values that are decorated as "sensitive" in the API will not 15824 // be included in the string output. The member name will be present, but the 15825 // value will be replaced with "sensitive". 15826 func (s PutScalingPolicyOutput) GoString() string { 15827 return s.String() 15828 } 15829 15830 // SetAlarms sets the Alarms field's value. 15831 func (s *PutScalingPolicyOutput) SetAlarms(v []*Alarm) *PutScalingPolicyOutput { 15832 s.Alarms = v 15833 return s 15834 } 15835 15836 // SetPolicyARN sets the PolicyARN field's value. 15837 func (s *PutScalingPolicyOutput) SetPolicyARN(v string) *PutScalingPolicyOutput { 15838 s.PolicyARN = &v 15839 return s 15840 } 15841 15842 type PutScheduledUpdateGroupActionInput struct { 15843 _ struct{} `type:"structure"` 15844 15845 // The name of the Auto Scaling group. 15846 // 15847 // AutoScalingGroupName is a required field 15848 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 15849 15850 // The desired capacity is the initial capacity of the Auto Scaling group after 15851 // the scheduled action runs and the capacity it attempts to maintain. It can 15852 // scale beyond this capacity if you add more scaling conditions. 15853 DesiredCapacity *int64 `type:"integer"` 15854 15855 // The date and time for the recurring schedule to end, in UTC. 15856 EndTime *time.Time `type:"timestamp"` 15857 15858 // The maximum size of the Auto Scaling group. 15859 MaxSize *int64 `type:"integer"` 15860 15861 // The minimum size of the Auto Scaling group. 15862 MinSize *int64 `type:"integer"` 15863 15864 // The recurring schedule for this action. This format consists of five fields 15865 // separated by white spaces: [Minute] [Hour] [Day_of_Month] [Month_of_Year] 15866 // [Day_of_Week]. The value must be in quotes (for example, "30 0 1 1,6,12 *"). 15867 // For more information about this format, see Crontab (http://crontab.org). 15868 // 15869 // When StartTime and EndTime are specified with Recurrence, they form the boundaries 15870 // of when the recurring action starts and stops. 15871 // 15872 // Cron expressions use Universal Coordinated Time (UTC) by default. 15873 Recurrence *string `min:"1" type:"string"` 15874 15875 // The name of this scaling action. 15876 // 15877 // ScheduledActionName is a required field 15878 ScheduledActionName *string `min:"1" type:"string" required:"true"` 15879 15880 // The date and time for this action to start, in YYYY-MM-DDThh:mm:ssZ format 15881 // in UTC/GMT only and in quotes (for example, "2019-06-01T00:00:00Z"). 15882 // 15883 // If you specify Recurrence and StartTime, Amazon EC2 Auto Scaling performs 15884 // the action at this time, and then performs the action based on the specified 15885 // recurrence. 15886 // 15887 // If you try to schedule your action in the past, Amazon EC2 Auto Scaling returns 15888 // an error message. 15889 StartTime *time.Time `type:"timestamp"` 15890 15891 // This parameter is no longer used. 15892 Time *time.Time `type:"timestamp"` 15893 15894 // Specifies the time zone for a cron expression. If a time zone is not provided, 15895 // UTC is used by default. 15896 // 15897 // Valid values are the canonical names of the IANA time zones, derived from 15898 // the IANA Time Zone Database (such as Etc/GMT+9 or Pacific/Tahiti). For more 15899 // information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones 15900 // (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). 15901 TimeZone *string `min:"1" type:"string"` 15902 } 15903 15904 // String returns the string representation. 15905 // 15906 // API parameter values that are decorated as "sensitive" in the API will not 15907 // be included in the string output. The member name will be present, but the 15908 // value will be replaced with "sensitive". 15909 func (s PutScheduledUpdateGroupActionInput) String() string { 15910 return awsutil.Prettify(s) 15911 } 15912 15913 // GoString returns the string representation. 15914 // 15915 // API parameter values that are decorated as "sensitive" in the API will not 15916 // be included in the string output. The member name will be present, but the 15917 // value will be replaced with "sensitive". 15918 func (s PutScheduledUpdateGroupActionInput) GoString() string { 15919 return s.String() 15920 } 15921 15922 // Validate inspects the fields of the type to determine if they are valid. 15923 func (s *PutScheduledUpdateGroupActionInput) Validate() error { 15924 invalidParams := request.ErrInvalidParams{Context: "PutScheduledUpdateGroupActionInput"} 15925 if s.AutoScalingGroupName == nil { 15926 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 15927 } 15928 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 15929 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 15930 } 15931 if s.Recurrence != nil && len(*s.Recurrence) < 1 { 15932 invalidParams.Add(request.NewErrParamMinLen("Recurrence", 1)) 15933 } 15934 if s.ScheduledActionName == nil { 15935 invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) 15936 } 15937 if s.ScheduledActionName != nil && len(*s.ScheduledActionName) < 1 { 15938 invalidParams.Add(request.NewErrParamMinLen("ScheduledActionName", 1)) 15939 } 15940 if s.TimeZone != nil && len(*s.TimeZone) < 1 { 15941 invalidParams.Add(request.NewErrParamMinLen("TimeZone", 1)) 15942 } 15943 15944 if invalidParams.Len() > 0 { 15945 return invalidParams 15946 } 15947 return nil 15948 } 15949 15950 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 15951 func (s *PutScheduledUpdateGroupActionInput) SetAutoScalingGroupName(v string) *PutScheduledUpdateGroupActionInput { 15952 s.AutoScalingGroupName = &v 15953 return s 15954 } 15955 15956 // SetDesiredCapacity sets the DesiredCapacity field's value. 15957 func (s *PutScheduledUpdateGroupActionInput) SetDesiredCapacity(v int64) *PutScheduledUpdateGroupActionInput { 15958 s.DesiredCapacity = &v 15959 return s 15960 } 15961 15962 // SetEndTime sets the EndTime field's value. 15963 func (s *PutScheduledUpdateGroupActionInput) SetEndTime(v time.Time) *PutScheduledUpdateGroupActionInput { 15964 s.EndTime = &v 15965 return s 15966 } 15967 15968 // SetMaxSize sets the MaxSize field's value. 15969 func (s *PutScheduledUpdateGroupActionInput) SetMaxSize(v int64) *PutScheduledUpdateGroupActionInput { 15970 s.MaxSize = &v 15971 return s 15972 } 15973 15974 // SetMinSize sets the MinSize field's value. 15975 func (s *PutScheduledUpdateGroupActionInput) SetMinSize(v int64) *PutScheduledUpdateGroupActionInput { 15976 s.MinSize = &v 15977 return s 15978 } 15979 15980 // SetRecurrence sets the Recurrence field's value. 15981 func (s *PutScheduledUpdateGroupActionInput) SetRecurrence(v string) *PutScheduledUpdateGroupActionInput { 15982 s.Recurrence = &v 15983 return s 15984 } 15985 15986 // SetScheduledActionName sets the ScheduledActionName field's value. 15987 func (s *PutScheduledUpdateGroupActionInput) SetScheduledActionName(v string) *PutScheduledUpdateGroupActionInput { 15988 s.ScheduledActionName = &v 15989 return s 15990 } 15991 15992 // SetStartTime sets the StartTime field's value. 15993 func (s *PutScheduledUpdateGroupActionInput) SetStartTime(v time.Time) *PutScheduledUpdateGroupActionInput { 15994 s.StartTime = &v 15995 return s 15996 } 15997 15998 // SetTime sets the Time field's value. 15999 func (s *PutScheduledUpdateGroupActionInput) SetTime(v time.Time) *PutScheduledUpdateGroupActionInput { 16000 s.Time = &v 16001 return s 16002 } 16003 16004 // SetTimeZone sets the TimeZone field's value. 16005 func (s *PutScheduledUpdateGroupActionInput) SetTimeZone(v string) *PutScheduledUpdateGroupActionInput { 16006 s.TimeZone = &v 16007 return s 16008 } 16009 16010 type PutScheduledUpdateGroupActionOutput struct { 16011 _ struct{} `type:"structure"` 16012 } 16013 16014 // String returns the string representation. 16015 // 16016 // API parameter values that are decorated as "sensitive" in the API will not 16017 // be included in the string output. The member name will be present, but the 16018 // value will be replaced with "sensitive". 16019 func (s PutScheduledUpdateGroupActionOutput) String() string { 16020 return awsutil.Prettify(s) 16021 } 16022 16023 // GoString returns the string representation. 16024 // 16025 // API parameter values that are decorated as "sensitive" in the API will not 16026 // be included in the string output. The member name will be present, but the 16027 // value will be replaced with "sensitive". 16028 func (s PutScheduledUpdateGroupActionOutput) GoString() string { 16029 return s.String() 16030 } 16031 16032 type PutWarmPoolInput struct { 16033 _ struct{} `type:"structure"` 16034 16035 // The name of the Auto Scaling group. 16036 // 16037 // AutoScalingGroupName is a required field 16038 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 16039 16040 // Specifies the maximum number of instances that are allowed to be in the warm 16041 // pool or in any state except Terminated for the Auto Scaling group. This is 16042 // an optional property. Specify it only if you do not want the warm pool size 16043 // to be determined by the difference between the group's maximum capacity and 16044 // its desired capacity. 16045 // 16046 // If a value for MaxGroupPreparedCapacity is not specified, Amazon EC2 Auto 16047 // Scaling launches and maintains the difference between the group's maximum 16048 // capacity and its desired capacity. If you specify a value for MaxGroupPreparedCapacity, 16049 // Amazon EC2 Auto Scaling uses the difference between the MaxGroupPreparedCapacity 16050 // and the desired capacity instead. 16051 // 16052 // The size of the warm pool is dynamic. Only when MaxGroupPreparedCapacity 16053 // and MinSize are set to the same value does the warm pool have an absolute 16054 // size. 16055 // 16056 // If the desired capacity of the Auto Scaling group is higher than the MaxGroupPreparedCapacity, 16057 // the capacity of the warm pool is 0, unless you specify a value for MinSize. 16058 // To remove a value that you previously set, include the property but specify 16059 // -1 for the value. 16060 MaxGroupPreparedCapacity *int64 `type:"integer"` 16061 16062 // Specifies the minimum number of instances to maintain in the warm pool. This 16063 // helps you to ensure that there is always a certain number of warmed instances 16064 // available to handle traffic spikes. Defaults to 0 if not specified. 16065 MinSize *int64 `type:"integer"` 16066 16067 // Sets the instance state to transition to after the lifecycle actions are 16068 // complete. Default is Stopped. 16069 PoolState *string `type:"string" enum:"WarmPoolState"` 16070 } 16071 16072 // String returns the string representation. 16073 // 16074 // API parameter values that are decorated as "sensitive" in the API will not 16075 // be included in the string output. The member name will be present, but the 16076 // value will be replaced with "sensitive". 16077 func (s PutWarmPoolInput) String() string { 16078 return awsutil.Prettify(s) 16079 } 16080 16081 // GoString returns the string representation. 16082 // 16083 // API parameter values that are decorated as "sensitive" in the API will not 16084 // be included in the string output. The member name will be present, but the 16085 // value will be replaced with "sensitive". 16086 func (s PutWarmPoolInput) GoString() string { 16087 return s.String() 16088 } 16089 16090 // Validate inspects the fields of the type to determine if they are valid. 16091 func (s *PutWarmPoolInput) Validate() error { 16092 invalidParams := request.ErrInvalidParams{Context: "PutWarmPoolInput"} 16093 if s.AutoScalingGroupName == nil { 16094 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 16095 } 16096 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 16097 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 16098 } 16099 if s.MaxGroupPreparedCapacity != nil && *s.MaxGroupPreparedCapacity < -1 { 16100 invalidParams.Add(request.NewErrParamMinValue("MaxGroupPreparedCapacity", -1)) 16101 } 16102 16103 if invalidParams.Len() > 0 { 16104 return invalidParams 16105 } 16106 return nil 16107 } 16108 16109 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 16110 func (s *PutWarmPoolInput) SetAutoScalingGroupName(v string) *PutWarmPoolInput { 16111 s.AutoScalingGroupName = &v 16112 return s 16113 } 16114 16115 // SetMaxGroupPreparedCapacity sets the MaxGroupPreparedCapacity field's value. 16116 func (s *PutWarmPoolInput) SetMaxGroupPreparedCapacity(v int64) *PutWarmPoolInput { 16117 s.MaxGroupPreparedCapacity = &v 16118 return s 16119 } 16120 16121 // SetMinSize sets the MinSize field's value. 16122 func (s *PutWarmPoolInput) SetMinSize(v int64) *PutWarmPoolInput { 16123 s.MinSize = &v 16124 return s 16125 } 16126 16127 // SetPoolState sets the PoolState field's value. 16128 func (s *PutWarmPoolInput) SetPoolState(v string) *PutWarmPoolInput { 16129 s.PoolState = &v 16130 return s 16131 } 16132 16133 type PutWarmPoolOutput struct { 16134 _ struct{} `type:"structure"` 16135 } 16136 16137 // String returns the string representation. 16138 // 16139 // API parameter values that are decorated as "sensitive" in the API will not 16140 // be included in the string output. The member name will be present, but the 16141 // value will be replaced with "sensitive". 16142 func (s PutWarmPoolOutput) String() string { 16143 return awsutil.Prettify(s) 16144 } 16145 16146 // GoString returns the string representation. 16147 // 16148 // API parameter values that are decorated as "sensitive" in the API will not 16149 // be included in the string output. The member name will be present, but the 16150 // value will be replaced with "sensitive". 16151 func (s PutWarmPoolOutput) GoString() string { 16152 return s.String() 16153 } 16154 16155 type RecordLifecycleActionHeartbeatInput struct { 16156 _ struct{} `type:"structure"` 16157 16158 // The name of the Auto Scaling group. 16159 // 16160 // AutoScalingGroupName is a required field 16161 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 16162 16163 // The ID of the instance. 16164 InstanceId *string `min:"1" type:"string"` 16165 16166 // A token that uniquely identifies a specific lifecycle action associated with 16167 // an instance. Amazon EC2 Auto Scaling sends this token to the notification 16168 // target that you specified when you created the lifecycle hook. 16169 LifecycleActionToken *string `min:"36" type:"string"` 16170 16171 // The name of the lifecycle hook. 16172 // 16173 // LifecycleHookName is a required field 16174 LifecycleHookName *string `min:"1" type:"string" required:"true"` 16175 } 16176 16177 // String returns the string representation. 16178 // 16179 // API parameter values that are decorated as "sensitive" in the API will not 16180 // be included in the string output. The member name will be present, but the 16181 // value will be replaced with "sensitive". 16182 func (s RecordLifecycleActionHeartbeatInput) String() string { 16183 return awsutil.Prettify(s) 16184 } 16185 16186 // GoString returns the string representation. 16187 // 16188 // API parameter values that are decorated as "sensitive" in the API will not 16189 // be included in the string output. The member name will be present, but the 16190 // value will be replaced with "sensitive". 16191 func (s RecordLifecycleActionHeartbeatInput) GoString() string { 16192 return s.String() 16193 } 16194 16195 // Validate inspects the fields of the type to determine if they are valid. 16196 func (s *RecordLifecycleActionHeartbeatInput) Validate() error { 16197 invalidParams := request.ErrInvalidParams{Context: "RecordLifecycleActionHeartbeatInput"} 16198 if s.AutoScalingGroupName == nil { 16199 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 16200 } 16201 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 16202 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 16203 } 16204 if s.InstanceId != nil && len(*s.InstanceId) < 1 { 16205 invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) 16206 } 16207 if s.LifecycleActionToken != nil && len(*s.LifecycleActionToken) < 36 { 16208 invalidParams.Add(request.NewErrParamMinLen("LifecycleActionToken", 36)) 16209 } 16210 if s.LifecycleHookName == nil { 16211 invalidParams.Add(request.NewErrParamRequired("LifecycleHookName")) 16212 } 16213 if s.LifecycleHookName != nil && len(*s.LifecycleHookName) < 1 { 16214 invalidParams.Add(request.NewErrParamMinLen("LifecycleHookName", 1)) 16215 } 16216 16217 if invalidParams.Len() > 0 { 16218 return invalidParams 16219 } 16220 return nil 16221 } 16222 16223 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 16224 func (s *RecordLifecycleActionHeartbeatInput) SetAutoScalingGroupName(v string) *RecordLifecycleActionHeartbeatInput { 16225 s.AutoScalingGroupName = &v 16226 return s 16227 } 16228 16229 // SetInstanceId sets the InstanceId field's value. 16230 func (s *RecordLifecycleActionHeartbeatInput) SetInstanceId(v string) *RecordLifecycleActionHeartbeatInput { 16231 s.InstanceId = &v 16232 return s 16233 } 16234 16235 // SetLifecycleActionToken sets the LifecycleActionToken field's value. 16236 func (s *RecordLifecycleActionHeartbeatInput) SetLifecycleActionToken(v string) *RecordLifecycleActionHeartbeatInput { 16237 s.LifecycleActionToken = &v 16238 return s 16239 } 16240 16241 // SetLifecycleHookName sets the LifecycleHookName field's value. 16242 func (s *RecordLifecycleActionHeartbeatInput) SetLifecycleHookName(v string) *RecordLifecycleActionHeartbeatInput { 16243 s.LifecycleHookName = &v 16244 return s 16245 } 16246 16247 type RecordLifecycleActionHeartbeatOutput struct { 16248 _ struct{} `type:"structure"` 16249 } 16250 16251 // String returns the string representation. 16252 // 16253 // API parameter values that are decorated as "sensitive" in the API will not 16254 // be included in the string output. The member name will be present, but the 16255 // value will be replaced with "sensitive". 16256 func (s RecordLifecycleActionHeartbeatOutput) String() string { 16257 return awsutil.Prettify(s) 16258 } 16259 16260 // GoString returns the string representation. 16261 // 16262 // API parameter values that are decorated as "sensitive" in the API will not 16263 // be included in the string output. The member name will be present, but the 16264 // value will be replaced with "sensitive". 16265 func (s RecordLifecycleActionHeartbeatOutput) GoString() string { 16266 return s.String() 16267 } 16268 16269 // Describes the preferences for an instance refresh. 16270 type RefreshPreferences struct { 16271 _ struct{} `type:"structure"` 16272 16273 // The amount of time, in seconds, to wait after a checkpoint before continuing. 16274 // This property is optional, but if you specify a value for it, you must also 16275 // specify a value for CheckpointPercentages. If you specify a value for CheckpointPercentages 16276 // and not for CheckpointDelay, the CheckpointDelay defaults to 3600 (1 hour). 16277 CheckpointDelay *int64 `type:"integer"` 16278 16279 // Threshold values for each checkpoint in ascending order. Each number must 16280 // be unique. To replace all instances in the Auto Scaling group, the last number 16281 // in the array must be 100. 16282 // 16283 // For usage examples, see Adding checkpoints to an instance refresh (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-adding-checkpoints-instance-refresh.html) 16284 // in the Amazon EC2 Auto Scaling User Guide. 16285 CheckpointPercentages []*int64 `type:"list"` 16286 16287 // The number of seconds until a newly launched instance is configured and ready 16288 // to use. During this time, Amazon EC2 Auto Scaling does not immediately move 16289 // on to the next replacement. The default is to use the value for the health 16290 // check grace period defined for the group. 16291 InstanceWarmup *int64 `type:"integer"` 16292 16293 // The amount of capacity in the Auto Scaling group that must remain healthy 16294 // during an instance refresh to allow the operation to continue. The value 16295 // is expressed as a percentage of the desired capacity of the Auto Scaling 16296 // group (rounded up to the nearest integer). The default is 90. 16297 // 16298 // Setting the minimum healthy percentage to 100 percent limits the rate of 16299 // replacement to one instance at a time. In contrast, setting it to 0 percent 16300 // has the effect of replacing all instances at the same time. 16301 MinHealthyPercentage *int64 `type:"integer"` 16302 16303 // A boolean value that indicates whether skip matching is enabled. If true, 16304 // then Amazon EC2 Auto Scaling skips replacing instances that match the desired 16305 // configuration. If no desired configuration is specified, then it skips replacing 16306 // instances that have the same configuration that is already set on the group. 16307 // The default is false. 16308 SkipMatching *bool `type:"boolean"` 16309 } 16310 16311 // String returns the string representation. 16312 // 16313 // API parameter values that are decorated as "sensitive" in the API will not 16314 // be included in the string output. The member name will be present, but the 16315 // value will be replaced with "sensitive". 16316 func (s RefreshPreferences) String() string { 16317 return awsutil.Prettify(s) 16318 } 16319 16320 // GoString returns the string representation. 16321 // 16322 // API parameter values that are decorated as "sensitive" in the API will not 16323 // be included in the string output. The member name will be present, but the 16324 // value will be replaced with "sensitive". 16325 func (s RefreshPreferences) GoString() string { 16326 return s.String() 16327 } 16328 16329 // SetCheckpointDelay sets the CheckpointDelay field's value. 16330 func (s *RefreshPreferences) SetCheckpointDelay(v int64) *RefreshPreferences { 16331 s.CheckpointDelay = &v 16332 return s 16333 } 16334 16335 // SetCheckpointPercentages sets the CheckpointPercentages field's value. 16336 func (s *RefreshPreferences) SetCheckpointPercentages(v []*int64) *RefreshPreferences { 16337 s.CheckpointPercentages = v 16338 return s 16339 } 16340 16341 // SetInstanceWarmup sets the InstanceWarmup field's value. 16342 func (s *RefreshPreferences) SetInstanceWarmup(v int64) *RefreshPreferences { 16343 s.InstanceWarmup = &v 16344 return s 16345 } 16346 16347 // SetMinHealthyPercentage sets the MinHealthyPercentage field's value. 16348 func (s *RefreshPreferences) SetMinHealthyPercentage(v int64) *RefreshPreferences { 16349 s.MinHealthyPercentage = &v 16350 return s 16351 } 16352 16353 // SetSkipMatching sets the SkipMatching field's value. 16354 func (s *RefreshPreferences) SetSkipMatching(v bool) *RefreshPreferences { 16355 s.SkipMatching = &v 16356 return s 16357 } 16358 16359 type ResumeProcessesOutput struct { 16360 _ struct{} `type:"structure"` 16361 } 16362 16363 // String returns the string representation. 16364 // 16365 // API parameter values that are decorated as "sensitive" in the API will not 16366 // be included in the string output. The member name will be present, but the 16367 // value will be replaced with "sensitive". 16368 func (s ResumeProcessesOutput) String() string { 16369 return awsutil.Prettify(s) 16370 } 16371 16372 // GoString returns the string representation. 16373 // 16374 // API parameter values that are decorated as "sensitive" in the API will not 16375 // be included in the string output. The member name will be present, but the 16376 // value will be replaced with "sensitive". 16377 func (s ResumeProcessesOutput) GoString() string { 16378 return s.String() 16379 } 16380 16381 // Describes a scaling policy. 16382 type ScalingPolicy struct { 16383 _ struct{} `type:"structure"` 16384 16385 // Specifies how the scaling adjustment is interpreted (for example, an absolute 16386 // number or a percentage). The valid values are ChangeInCapacity, ExactCapacity, 16387 // and PercentChangeInCapacity. 16388 AdjustmentType *string `min:"1" type:"string"` 16389 16390 // The CloudWatch alarms related to the policy. 16391 Alarms []*Alarm `type:"list"` 16392 16393 // The name of the Auto Scaling group. 16394 AutoScalingGroupName *string `min:"1" type:"string"` 16395 16396 // The duration of the policy's cooldown period, in seconds. 16397 Cooldown *int64 `type:"integer"` 16398 16399 // Indicates whether the policy is enabled (true) or disabled (false). 16400 Enabled *bool `type:"boolean"` 16401 16402 // The estimated time, in seconds, until a newly launched instance can contribute 16403 // to the CloudWatch metrics. 16404 EstimatedInstanceWarmup *int64 `type:"integer"` 16405 16406 // The aggregation type for the CloudWatch metrics. The valid values are Minimum, 16407 // Maximum, and Average. 16408 MetricAggregationType *string `min:"1" type:"string"` 16409 16410 // The minimum value to scale by when the adjustment type is PercentChangeInCapacity. 16411 MinAdjustmentMagnitude *int64 `type:"integer"` 16412 16413 // Available for backward compatibility. Use MinAdjustmentMagnitude instead. 16414 MinAdjustmentStep *int64 `deprecated:"true" type:"integer"` 16415 16416 // The Amazon Resource Name (ARN) of the policy. 16417 PolicyARN *string `min:"1" type:"string"` 16418 16419 // The name of the scaling policy. 16420 PolicyName *string `min:"1" type:"string"` 16421 16422 // One of the following policy types: 16423 // 16424 // * TargetTrackingScaling 16425 // 16426 // * StepScaling 16427 // 16428 // * SimpleScaling (default) 16429 // 16430 // * PredictiveScaling 16431 // 16432 // For more information, see Target tracking scaling policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html) 16433 // and Step and simple scaling policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html) 16434 // in the Amazon EC2 Auto Scaling User Guide. 16435 PolicyType *string `min:"1" type:"string"` 16436 16437 // A predictive scaling policy. 16438 PredictiveScalingConfiguration *PredictiveScalingConfiguration `type:"structure"` 16439 16440 // The amount by which to scale, based on the specified adjustment type. A positive 16441 // value adds to the current capacity while a negative number removes from the 16442 // current capacity. 16443 ScalingAdjustment *int64 `type:"integer"` 16444 16445 // A set of adjustments that enable you to scale based on the size of the alarm 16446 // breach. 16447 StepAdjustments []*StepAdjustment `type:"list"` 16448 16449 // A target tracking scaling policy. 16450 TargetTrackingConfiguration *TargetTrackingConfiguration `type:"structure"` 16451 } 16452 16453 // String returns the string representation. 16454 // 16455 // API parameter values that are decorated as "sensitive" in the API will not 16456 // be included in the string output. The member name will be present, but the 16457 // value will be replaced with "sensitive". 16458 func (s ScalingPolicy) String() string { 16459 return awsutil.Prettify(s) 16460 } 16461 16462 // GoString returns the string representation. 16463 // 16464 // API parameter values that are decorated as "sensitive" in the API will not 16465 // be included in the string output. The member name will be present, but the 16466 // value will be replaced with "sensitive". 16467 func (s ScalingPolicy) GoString() string { 16468 return s.String() 16469 } 16470 16471 // SetAdjustmentType sets the AdjustmentType field's value. 16472 func (s *ScalingPolicy) SetAdjustmentType(v string) *ScalingPolicy { 16473 s.AdjustmentType = &v 16474 return s 16475 } 16476 16477 // SetAlarms sets the Alarms field's value. 16478 func (s *ScalingPolicy) SetAlarms(v []*Alarm) *ScalingPolicy { 16479 s.Alarms = v 16480 return s 16481 } 16482 16483 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 16484 func (s *ScalingPolicy) SetAutoScalingGroupName(v string) *ScalingPolicy { 16485 s.AutoScalingGroupName = &v 16486 return s 16487 } 16488 16489 // SetCooldown sets the Cooldown field's value. 16490 func (s *ScalingPolicy) SetCooldown(v int64) *ScalingPolicy { 16491 s.Cooldown = &v 16492 return s 16493 } 16494 16495 // SetEnabled sets the Enabled field's value. 16496 func (s *ScalingPolicy) SetEnabled(v bool) *ScalingPolicy { 16497 s.Enabled = &v 16498 return s 16499 } 16500 16501 // SetEstimatedInstanceWarmup sets the EstimatedInstanceWarmup field's value. 16502 func (s *ScalingPolicy) SetEstimatedInstanceWarmup(v int64) *ScalingPolicy { 16503 s.EstimatedInstanceWarmup = &v 16504 return s 16505 } 16506 16507 // SetMetricAggregationType sets the MetricAggregationType field's value. 16508 func (s *ScalingPolicy) SetMetricAggregationType(v string) *ScalingPolicy { 16509 s.MetricAggregationType = &v 16510 return s 16511 } 16512 16513 // SetMinAdjustmentMagnitude sets the MinAdjustmentMagnitude field's value. 16514 func (s *ScalingPolicy) SetMinAdjustmentMagnitude(v int64) *ScalingPolicy { 16515 s.MinAdjustmentMagnitude = &v 16516 return s 16517 } 16518 16519 // SetMinAdjustmentStep sets the MinAdjustmentStep field's value. 16520 func (s *ScalingPolicy) SetMinAdjustmentStep(v int64) *ScalingPolicy { 16521 s.MinAdjustmentStep = &v 16522 return s 16523 } 16524 16525 // SetPolicyARN sets the PolicyARN field's value. 16526 func (s *ScalingPolicy) SetPolicyARN(v string) *ScalingPolicy { 16527 s.PolicyARN = &v 16528 return s 16529 } 16530 16531 // SetPolicyName sets the PolicyName field's value. 16532 func (s *ScalingPolicy) SetPolicyName(v string) *ScalingPolicy { 16533 s.PolicyName = &v 16534 return s 16535 } 16536 16537 // SetPolicyType sets the PolicyType field's value. 16538 func (s *ScalingPolicy) SetPolicyType(v string) *ScalingPolicy { 16539 s.PolicyType = &v 16540 return s 16541 } 16542 16543 // SetPredictiveScalingConfiguration sets the PredictiveScalingConfiguration field's value. 16544 func (s *ScalingPolicy) SetPredictiveScalingConfiguration(v *PredictiveScalingConfiguration) *ScalingPolicy { 16545 s.PredictiveScalingConfiguration = v 16546 return s 16547 } 16548 16549 // SetScalingAdjustment sets the ScalingAdjustment field's value. 16550 func (s *ScalingPolicy) SetScalingAdjustment(v int64) *ScalingPolicy { 16551 s.ScalingAdjustment = &v 16552 return s 16553 } 16554 16555 // SetStepAdjustments sets the StepAdjustments field's value. 16556 func (s *ScalingPolicy) SetStepAdjustments(v []*StepAdjustment) *ScalingPolicy { 16557 s.StepAdjustments = v 16558 return s 16559 } 16560 16561 // SetTargetTrackingConfiguration sets the TargetTrackingConfiguration field's value. 16562 func (s *ScalingPolicy) SetTargetTrackingConfiguration(v *TargetTrackingConfiguration) *ScalingPolicy { 16563 s.TargetTrackingConfiguration = v 16564 return s 16565 } 16566 16567 type ScalingProcessQuery struct { 16568 _ struct{} `type:"structure"` 16569 16570 // The name of the Auto Scaling group. 16571 // 16572 // AutoScalingGroupName is a required field 16573 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 16574 16575 // One or more of the following processes: 16576 // 16577 // * Launch 16578 // 16579 // * Terminate 16580 // 16581 // * AddToLoadBalancer 16582 // 16583 // * AlarmNotification 16584 // 16585 // * AZRebalance 16586 // 16587 // * HealthCheck 16588 // 16589 // * InstanceRefresh 16590 // 16591 // * ReplaceUnhealthy 16592 // 16593 // * ScheduledActions 16594 // 16595 // If you omit this parameter, all processes are specified. 16596 ScalingProcesses []*string `type:"list"` 16597 } 16598 16599 // String returns the string representation. 16600 // 16601 // API parameter values that are decorated as "sensitive" in the API will not 16602 // be included in the string output. The member name will be present, but the 16603 // value will be replaced with "sensitive". 16604 func (s ScalingProcessQuery) String() string { 16605 return awsutil.Prettify(s) 16606 } 16607 16608 // GoString returns the string representation. 16609 // 16610 // API parameter values that are decorated as "sensitive" in the API will not 16611 // be included in the string output. The member name will be present, but the 16612 // value will be replaced with "sensitive". 16613 func (s ScalingProcessQuery) GoString() string { 16614 return s.String() 16615 } 16616 16617 // Validate inspects the fields of the type to determine if they are valid. 16618 func (s *ScalingProcessQuery) Validate() error { 16619 invalidParams := request.ErrInvalidParams{Context: "ScalingProcessQuery"} 16620 if s.AutoScalingGroupName == nil { 16621 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 16622 } 16623 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 16624 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 16625 } 16626 16627 if invalidParams.Len() > 0 { 16628 return invalidParams 16629 } 16630 return nil 16631 } 16632 16633 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 16634 func (s *ScalingProcessQuery) SetAutoScalingGroupName(v string) *ScalingProcessQuery { 16635 s.AutoScalingGroupName = &v 16636 return s 16637 } 16638 16639 // SetScalingProcesses sets the ScalingProcesses field's value. 16640 func (s *ScalingProcessQuery) SetScalingProcesses(v []*string) *ScalingProcessQuery { 16641 s.ScalingProcesses = v 16642 return s 16643 } 16644 16645 // Describes a scheduled scaling action. 16646 type ScheduledUpdateGroupAction struct { 16647 _ struct{} `type:"structure"` 16648 16649 // The name of the Auto Scaling group. 16650 AutoScalingGroupName *string `min:"1" type:"string"` 16651 16652 // The desired capacity is the initial capacity of the Auto Scaling group after 16653 // the scheduled action runs and the capacity it attempts to maintain. 16654 DesiredCapacity *int64 `type:"integer"` 16655 16656 // The date and time in UTC for the recurring schedule to end. For example, 16657 // "2019-06-01T00:00:00Z". 16658 EndTime *time.Time `type:"timestamp"` 16659 16660 // The maximum size of the Auto Scaling group. 16661 MaxSize *int64 `type:"integer"` 16662 16663 // The minimum size of the Auto Scaling group. 16664 MinSize *int64 `type:"integer"` 16665 16666 // The recurring schedule for the action, in Unix cron syntax format. 16667 // 16668 // When StartTime and EndTime are specified with Recurrence, they form the boundaries 16669 // of when the recurring action starts and stops. 16670 Recurrence *string `min:"1" type:"string"` 16671 16672 // The Amazon Resource Name (ARN) of the scheduled action. 16673 ScheduledActionARN *string `min:"1" type:"string"` 16674 16675 // The name of the scheduled action. 16676 ScheduledActionName *string `min:"1" type:"string"` 16677 16678 // The date and time in UTC for this action to start. For example, "2019-06-01T00:00:00Z". 16679 StartTime *time.Time `type:"timestamp"` 16680 16681 // This parameter is no longer used. 16682 Time *time.Time `type:"timestamp"` 16683 16684 // The time zone for the cron expression. 16685 TimeZone *string `min:"1" type:"string"` 16686 } 16687 16688 // String returns the string representation. 16689 // 16690 // API parameter values that are decorated as "sensitive" in the API will not 16691 // be included in the string output. The member name will be present, but the 16692 // value will be replaced with "sensitive". 16693 func (s ScheduledUpdateGroupAction) String() string { 16694 return awsutil.Prettify(s) 16695 } 16696 16697 // GoString returns the string representation. 16698 // 16699 // API parameter values that are decorated as "sensitive" in the API will not 16700 // be included in the string output. The member name will be present, but the 16701 // value will be replaced with "sensitive". 16702 func (s ScheduledUpdateGroupAction) GoString() string { 16703 return s.String() 16704 } 16705 16706 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 16707 func (s *ScheduledUpdateGroupAction) SetAutoScalingGroupName(v string) *ScheduledUpdateGroupAction { 16708 s.AutoScalingGroupName = &v 16709 return s 16710 } 16711 16712 // SetDesiredCapacity sets the DesiredCapacity field's value. 16713 func (s *ScheduledUpdateGroupAction) SetDesiredCapacity(v int64) *ScheduledUpdateGroupAction { 16714 s.DesiredCapacity = &v 16715 return s 16716 } 16717 16718 // SetEndTime sets the EndTime field's value. 16719 func (s *ScheduledUpdateGroupAction) SetEndTime(v time.Time) *ScheduledUpdateGroupAction { 16720 s.EndTime = &v 16721 return s 16722 } 16723 16724 // SetMaxSize sets the MaxSize field's value. 16725 func (s *ScheduledUpdateGroupAction) SetMaxSize(v int64) *ScheduledUpdateGroupAction { 16726 s.MaxSize = &v 16727 return s 16728 } 16729 16730 // SetMinSize sets the MinSize field's value. 16731 func (s *ScheduledUpdateGroupAction) SetMinSize(v int64) *ScheduledUpdateGroupAction { 16732 s.MinSize = &v 16733 return s 16734 } 16735 16736 // SetRecurrence sets the Recurrence field's value. 16737 func (s *ScheduledUpdateGroupAction) SetRecurrence(v string) *ScheduledUpdateGroupAction { 16738 s.Recurrence = &v 16739 return s 16740 } 16741 16742 // SetScheduledActionARN sets the ScheduledActionARN field's value. 16743 func (s *ScheduledUpdateGroupAction) SetScheduledActionARN(v string) *ScheduledUpdateGroupAction { 16744 s.ScheduledActionARN = &v 16745 return s 16746 } 16747 16748 // SetScheduledActionName sets the ScheduledActionName field's value. 16749 func (s *ScheduledUpdateGroupAction) SetScheduledActionName(v string) *ScheduledUpdateGroupAction { 16750 s.ScheduledActionName = &v 16751 return s 16752 } 16753 16754 // SetStartTime sets the StartTime field's value. 16755 func (s *ScheduledUpdateGroupAction) SetStartTime(v time.Time) *ScheduledUpdateGroupAction { 16756 s.StartTime = &v 16757 return s 16758 } 16759 16760 // SetTime sets the Time field's value. 16761 func (s *ScheduledUpdateGroupAction) SetTime(v time.Time) *ScheduledUpdateGroupAction { 16762 s.Time = &v 16763 return s 16764 } 16765 16766 // SetTimeZone sets the TimeZone field's value. 16767 func (s *ScheduledUpdateGroupAction) SetTimeZone(v string) *ScheduledUpdateGroupAction { 16768 s.TimeZone = &v 16769 return s 16770 } 16771 16772 // Describes information used for one or more scheduled scaling action updates 16773 // in a BatchPutScheduledUpdateGroupAction operation. 16774 type ScheduledUpdateGroupActionRequest struct { 16775 _ struct{} `type:"structure"` 16776 16777 // The desired capacity is the initial capacity of the Auto Scaling group after 16778 // the scheduled action runs and the capacity it attempts to maintain. 16779 DesiredCapacity *int64 `type:"integer"` 16780 16781 // The date and time for the recurring schedule to end, in UTC. 16782 EndTime *time.Time `type:"timestamp"` 16783 16784 // The maximum size of the Auto Scaling group. 16785 MaxSize *int64 `type:"integer"` 16786 16787 // The minimum size of the Auto Scaling group. 16788 MinSize *int64 `type:"integer"` 16789 16790 // The recurring schedule for the action, in Unix cron syntax format. This format 16791 // consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] 16792 // [Month_of_Year] [Day_of_Week]. The value must be in quotes (for example, 16793 // "30 0 1 1,6,12 *"). For more information about this format, see Crontab (http://crontab.org). 16794 // 16795 // When StartTime and EndTime are specified with Recurrence, they form the boundaries 16796 // of when the recurring action starts and stops. 16797 // 16798 // Cron expressions use Universal Coordinated Time (UTC) by default. 16799 Recurrence *string `min:"1" type:"string"` 16800 16801 // The name of the scaling action. 16802 // 16803 // ScheduledActionName is a required field 16804 ScheduledActionName *string `min:"1" type:"string" required:"true"` 16805 16806 // The date and time for the action to start, in YYYY-MM-DDThh:mm:ssZ format 16807 // in UTC/GMT only and in quotes (for example, "2019-06-01T00:00:00Z"). 16808 // 16809 // If you specify Recurrence and StartTime, Amazon EC2 Auto Scaling performs 16810 // the action at this time, and then performs the action based on the specified 16811 // recurrence. 16812 // 16813 // If you try to schedule the action in the past, Amazon EC2 Auto Scaling returns 16814 // an error message. 16815 StartTime *time.Time `type:"timestamp"` 16816 16817 // Specifies the time zone for a cron expression. If a time zone is not provided, 16818 // UTC is used by default. 16819 // 16820 // Valid values are the canonical names of the IANA time zones, derived from 16821 // the IANA Time Zone Database (such as Etc/GMT+9 or Pacific/Tahiti). For more 16822 // information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones 16823 // (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). 16824 TimeZone *string `min:"1" type:"string"` 16825 } 16826 16827 // String returns the string representation. 16828 // 16829 // API parameter values that are decorated as "sensitive" in the API will not 16830 // be included in the string output. The member name will be present, but the 16831 // value will be replaced with "sensitive". 16832 func (s ScheduledUpdateGroupActionRequest) String() string { 16833 return awsutil.Prettify(s) 16834 } 16835 16836 // GoString returns the string representation. 16837 // 16838 // API parameter values that are decorated as "sensitive" in the API will not 16839 // be included in the string output. The member name will be present, but the 16840 // value will be replaced with "sensitive". 16841 func (s ScheduledUpdateGroupActionRequest) GoString() string { 16842 return s.String() 16843 } 16844 16845 // Validate inspects the fields of the type to determine if they are valid. 16846 func (s *ScheduledUpdateGroupActionRequest) Validate() error { 16847 invalidParams := request.ErrInvalidParams{Context: "ScheduledUpdateGroupActionRequest"} 16848 if s.Recurrence != nil && len(*s.Recurrence) < 1 { 16849 invalidParams.Add(request.NewErrParamMinLen("Recurrence", 1)) 16850 } 16851 if s.ScheduledActionName == nil { 16852 invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) 16853 } 16854 if s.ScheduledActionName != nil && len(*s.ScheduledActionName) < 1 { 16855 invalidParams.Add(request.NewErrParamMinLen("ScheduledActionName", 1)) 16856 } 16857 if s.TimeZone != nil && len(*s.TimeZone) < 1 { 16858 invalidParams.Add(request.NewErrParamMinLen("TimeZone", 1)) 16859 } 16860 16861 if invalidParams.Len() > 0 { 16862 return invalidParams 16863 } 16864 return nil 16865 } 16866 16867 // SetDesiredCapacity sets the DesiredCapacity field's value. 16868 func (s *ScheduledUpdateGroupActionRequest) SetDesiredCapacity(v int64) *ScheduledUpdateGroupActionRequest { 16869 s.DesiredCapacity = &v 16870 return s 16871 } 16872 16873 // SetEndTime sets the EndTime field's value. 16874 func (s *ScheduledUpdateGroupActionRequest) SetEndTime(v time.Time) *ScheduledUpdateGroupActionRequest { 16875 s.EndTime = &v 16876 return s 16877 } 16878 16879 // SetMaxSize sets the MaxSize field's value. 16880 func (s *ScheduledUpdateGroupActionRequest) SetMaxSize(v int64) *ScheduledUpdateGroupActionRequest { 16881 s.MaxSize = &v 16882 return s 16883 } 16884 16885 // SetMinSize sets the MinSize field's value. 16886 func (s *ScheduledUpdateGroupActionRequest) SetMinSize(v int64) *ScheduledUpdateGroupActionRequest { 16887 s.MinSize = &v 16888 return s 16889 } 16890 16891 // SetRecurrence sets the Recurrence field's value. 16892 func (s *ScheduledUpdateGroupActionRequest) SetRecurrence(v string) *ScheduledUpdateGroupActionRequest { 16893 s.Recurrence = &v 16894 return s 16895 } 16896 16897 // SetScheduledActionName sets the ScheduledActionName field's value. 16898 func (s *ScheduledUpdateGroupActionRequest) SetScheduledActionName(v string) *ScheduledUpdateGroupActionRequest { 16899 s.ScheduledActionName = &v 16900 return s 16901 } 16902 16903 // SetStartTime sets the StartTime field's value. 16904 func (s *ScheduledUpdateGroupActionRequest) SetStartTime(v time.Time) *ScheduledUpdateGroupActionRequest { 16905 s.StartTime = &v 16906 return s 16907 } 16908 16909 // SetTimeZone sets the TimeZone field's value. 16910 func (s *ScheduledUpdateGroupActionRequest) SetTimeZone(v string) *ScheduledUpdateGroupActionRequest { 16911 s.TimeZone = &v 16912 return s 16913 } 16914 16915 type SetDesiredCapacityInput struct { 16916 _ struct{} `type:"structure"` 16917 16918 // The name of the Auto Scaling group. 16919 // 16920 // AutoScalingGroupName is a required field 16921 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 16922 16923 // The desired capacity is the initial capacity of the Auto Scaling group after 16924 // this operation completes and the capacity it attempts to maintain. 16925 // 16926 // DesiredCapacity is a required field 16927 DesiredCapacity *int64 `type:"integer" required:"true"` 16928 16929 // Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to 16930 // complete before initiating a scaling activity to set your Auto Scaling group 16931 // to its new capacity. By default, Amazon EC2 Auto Scaling does not honor the 16932 // cooldown period during manual scaling activities. 16933 HonorCooldown *bool `type:"boolean"` 16934 } 16935 16936 // String returns the string representation. 16937 // 16938 // API parameter values that are decorated as "sensitive" in the API will not 16939 // be included in the string output. The member name will be present, but the 16940 // value will be replaced with "sensitive". 16941 func (s SetDesiredCapacityInput) String() string { 16942 return awsutil.Prettify(s) 16943 } 16944 16945 // GoString returns the string representation. 16946 // 16947 // API parameter values that are decorated as "sensitive" in the API will not 16948 // be included in the string output. The member name will be present, but the 16949 // value will be replaced with "sensitive". 16950 func (s SetDesiredCapacityInput) GoString() string { 16951 return s.String() 16952 } 16953 16954 // Validate inspects the fields of the type to determine if they are valid. 16955 func (s *SetDesiredCapacityInput) Validate() error { 16956 invalidParams := request.ErrInvalidParams{Context: "SetDesiredCapacityInput"} 16957 if s.AutoScalingGroupName == nil { 16958 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 16959 } 16960 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 16961 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 16962 } 16963 if s.DesiredCapacity == nil { 16964 invalidParams.Add(request.NewErrParamRequired("DesiredCapacity")) 16965 } 16966 16967 if invalidParams.Len() > 0 { 16968 return invalidParams 16969 } 16970 return nil 16971 } 16972 16973 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 16974 func (s *SetDesiredCapacityInput) SetAutoScalingGroupName(v string) *SetDesiredCapacityInput { 16975 s.AutoScalingGroupName = &v 16976 return s 16977 } 16978 16979 // SetDesiredCapacity sets the DesiredCapacity field's value. 16980 func (s *SetDesiredCapacityInput) SetDesiredCapacity(v int64) *SetDesiredCapacityInput { 16981 s.DesiredCapacity = &v 16982 return s 16983 } 16984 16985 // SetHonorCooldown sets the HonorCooldown field's value. 16986 func (s *SetDesiredCapacityInput) SetHonorCooldown(v bool) *SetDesiredCapacityInput { 16987 s.HonorCooldown = &v 16988 return s 16989 } 16990 16991 type SetDesiredCapacityOutput struct { 16992 _ struct{} `type:"structure"` 16993 } 16994 16995 // String returns the string representation. 16996 // 16997 // API parameter values that are decorated as "sensitive" in the API will not 16998 // be included in the string output. The member name will be present, but the 16999 // value will be replaced with "sensitive". 17000 func (s SetDesiredCapacityOutput) String() string { 17001 return awsutil.Prettify(s) 17002 } 17003 17004 // GoString returns the string representation. 17005 // 17006 // API parameter values that are decorated as "sensitive" in the API will not 17007 // be included in the string output. The member name will be present, but the 17008 // value will be replaced with "sensitive". 17009 func (s SetDesiredCapacityOutput) GoString() string { 17010 return s.String() 17011 } 17012 17013 type SetInstanceHealthInput struct { 17014 _ struct{} `type:"structure"` 17015 17016 // The health status of the instance. Set to Healthy to have the instance remain 17017 // in service. Set to Unhealthy to have the instance be out of service. Amazon 17018 // EC2 Auto Scaling terminates and replaces the unhealthy instance. 17019 // 17020 // HealthStatus is a required field 17021 HealthStatus *string `min:"1" type:"string" required:"true"` 17022 17023 // The ID of the instance. 17024 // 17025 // InstanceId is a required field 17026 InstanceId *string `min:"1" type:"string" required:"true"` 17027 17028 // If the Auto Scaling group of the specified instance has a HealthCheckGracePeriod 17029 // specified for the group, by default, this call respects the grace period. 17030 // Set this to False, to have the call not respect the grace period associated 17031 // with the group. 17032 // 17033 // For more information about the health check grace period, see CreateAutoScalingGroup 17034 // (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CreateAutoScalingGroup.html) 17035 // in the Amazon EC2 Auto Scaling API Reference. 17036 ShouldRespectGracePeriod *bool `type:"boolean"` 17037 } 17038 17039 // String returns the string representation. 17040 // 17041 // API parameter values that are decorated as "sensitive" in the API will not 17042 // be included in the string output. The member name will be present, but the 17043 // value will be replaced with "sensitive". 17044 func (s SetInstanceHealthInput) String() string { 17045 return awsutil.Prettify(s) 17046 } 17047 17048 // GoString returns the string representation. 17049 // 17050 // API parameter values that are decorated as "sensitive" in the API will not 17051 // be included in the string output. The member name will be present, but the 17052 // value will be replaced with "sensitive". 17053 func (s SetInstanceHealthInput) GoString() string { 17054 return s.String() 17055 } 17056 17057 // Validate inspects the fields of the type to determine if they are valid. 17058 func (s *SetInstanceHealthInput) Validate() error { 17059 invalidParams := request.ErrInvalidParams{Context: "SetInstanceHealthInput"} 17060 if s.HealthStatus == nil { 17061 invalidParams.Add(request.NewErrParamRequired("HealthStatus")) 17062 } 17063 if s.HealthStatus != nil && len(*s.HealthStatus) < 1 { 17064 invalidParams.Add(request.NewErrParamMinLen("HealthStatus", 1)) 17065 } 17066 if s.InstanceId == nil { 17067 invalidParams.Add(request.NewErrParamRequired("InstanceId")) 17068 } 17069 if s.InstanceId != nil && len(*s.InstanceId) < 1 { 17070 invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) 17071 } 17072 17073 if invalidParams.Len() > 0 { 17074 return invalidParams 17075 } 17076 return nil 17077 } 17078 17079 // SetHealthStatus sets the HealthStatus field's value. 17080 func (s *SetInstanceHealthInput) SetHealthStatus(v string) *SetInstanceHealthInput { 17081 s.HealthStatus = &v 17082 return s 17083 } 17084 17085 // SetInstanceId sets the InstanceId field's value. 17086 func (s *SetInstanceHealthInput) SetInstanceId(v string) *SetInstanceHealthInput { 17087 s.InstanceId = &v 17088 return s 17089 } 17090 17091 // SetShouldRespectGracePeriod sets the ShouldRespectGracePeriod field's value. 17092 func (s *SetInstanceHealthInput) SetShouldRespectGracePeriod(v bool) *SetInstanceHealthInput { 17093 s.ShouldRespectGracePeriod = &v 17094 return s 17095 } 17096 17097 type SetInstanceHealthOutput struct { 17098 _ struct{} `type:"structure"` 17099 } 17100 17101 // String returns the string representation. 17102 // 17103 // API parameter values that are decorated as "sensitive" in the API will not 17104 // be included in the string output. The member name will be present, but the 17105 // value will be replaced with "sensitive". 17106 func (s SetInstanceHealthOutput) String() string { 17107 return awsutil.Prettify(s) 17108 } 17109 17110 // GoString returns the string representation. 17111 // 17112 // API parameter values that are decorated as "sensitive" in the API will not 17113 // be included in the string output. The member name will be present, but the 17114 // value will be replaced with "sensitive". 17115 func (s SetInstanceHealthOutput) GoString() string { 17116 return s.String() 17117 } 17118 17119 type SetInstanceProtectionInput struct { 17120 _ struct{} `type:"structure"` 17121 17122 // The name of the Auto Scaling group. 17123 // 17124 // AutoScalingGroupName is a required field 17125 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 17126 17127 // One or more instance IDs. You can specify up to 50 instances. 17128 // 17129 // InstanceIds is a required field 17130 InstanceIds []*string `type:"list" required:"true"` 17131 17132 // Indicates whether the instance is protected from termination by Amazon EC2 17133 // Auto Scaling when scaling in. 17134 // 17135 // ProtectedFromScaleIn is a required field 17136 ProtectedFromScaleIn *bool `type:"boolean" required:"true"` 17137 } 17138 17139 // String returns the string representation. 17140 // 17141 // API parameter values that are decorated as "sensitive" in the API will not 17142 // be included in the string output. The member name will be present, but the 17143 // value will be replaced with "sensitive". 17144 func (s SetInstanceProtectionInput) String() string { 17145 return awsutil.Prettify(s) 17146 } 17147 17148 // GoString returns the string representation. 17149 // 17150 // API parameter values that are decorated as "sensitive" in the API will not 17151 // be included in the string output. The member name will be present, but the 17152 // value will be replaced with "sensitive". 17153 func (s SetInstanceProtectionInput) GoString() string { 17154 return s.String() 17155 } 17156 17157 // Validate inspects the fields of the type to determine if they are valid. 17158 func (s *SetInstanceProtectionInput) Validate() error { 17159 invalidParams := request.ErrInvalidParams{Context: "SetInstanceProtectionInput"} 17160 if s.AutoScalingGroupName == nil { 17161 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 17162 } 17163 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 17164 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 17165 } 17166 if s.InstanceIds == nil { 17167 invalidParams.Add(request.NewErrParamRequired("InstanceIds")) 17168 } 17169 if s.ProtectedFromScaleIn == nil { 17170 invalidParams.Add(request.NewErrParamRequired("ProtectedFromScaleIn")) 17171 } 17172 17173 if invalidParams.Len() > 0 { 17174 return invalidParams 17175 } 17176 return nil 17177 } 17178 17179 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 17180 func (s *SetInstanceProtectionInput) SetAutoScalingGroupName(v string) *SetInstanceProtectionInput { 17181 s.AutoScalingGroupName = &v 17182 return s 17183 } 17184 17185 // SetInstanceIds sets the InstanceIds field's value. 17186 func (s *SetInstanceProtectionInput) SetInstanceIds(v []*string) *SetInstanceProtectionInput { 17187 s.InstanceIds = v 17188 return s 17189 } 17190 17191 // SetProtectedFromScaleIn sets the ProtectedFromScaleIn field's value. 17192 func (s *SetInstanceProtectionInput) SetProtectedFromScaleIn(v bool) *SetInstanceProtectionInput { 17193 s.ProtectedFromScaleIn = &v 17194 return s 17195 } 17196 17197 type SetInstanceProtectionOutput struct { 17198 _ struct{} `type:"structure"` 17199 } 17200 17201 // String returns the string representation. 17202 // 17203 // API parameter values that are decorated as "sensitive" in the API will not 17204 // be included in the string output. The member name will be present, but the 17205 // value will be replaced with "sensitive". 17206 func (s SetInstanceProtectionOutput) String() string { 17207 return awsutil.Prettify(s) 17208 } 17209 17210 // GoString returns the string representation. 17211 // 17212 // API parameter values that are decorated as "sensitive" in the API will not 17213 // be included in the string output. The member name will be present, but the 17214 // value will be replaced with "sensitive". 17215 func (s SetInstanceProtectionOutput) GoString() string { 17216 return s.String() 17217 } 17218 17219 type StartInstanceRefreshInput struct { 17220 _ struct{} `type:"structure"` 17221 17222 // The name of the Auto Scaling group. 17223 // 17224 // AutoScalingGroupName is a required field 17225 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 17226 17227 // The desired configuration. For example, the desired configuration can specify 17228 // a new launch template or a new version of the current launch template. 17229 // 17230 // Once the instance refresh succeeds, Amazon EC2 Auto Scaling updates the settings 17231 // of the Auto Scaling group to reflect the new desired configuration. 17232 // 17233 // When you specify a new launch template or a new version of the current launch 17234 // template for your desired configuration, consider enabling the SkipMatching 17235 // property in preferences. If it's enabled, Amazon EC2 Auto Scaling skips replacing 17236 // instances that already use the specified launch template and version. This 17237 // can help you reduce the number of replacements that are required to apply 17238 // updates. 17239 DesiredConfiguration *DesiredConfiguration `type:"structure"` 17240 17241 // Set of preferences associated with the instance refresh request. If not provided, 17242 // the default values are used. 17243 Preferences *RefreshPreferences `type:"structure"` 17244 17245 // The strategy to use for the instance refresh. The only valid value is Rolling. 17246 // 17247 // A rolling update helps you update your instances gradually. A rolling update 17248 // can fail due to failed health checks or if instances are on standby or are 17249 // protected from scale in. If the rolling update process fails, any instances 17250 // that are replaced are not rolled back to their previous configuration. 17251 Strategy *string `type:"string" enum:"RefreshStrategy"` 17252 } 17253 17254 // String returns the string representation. 17255 // 17256 // API parameter values that are decorated as "sensitive" in the API will not 17257 // be included in the string output. The member name will be present, but the 17258 // value will be replaced with "sensitive". 17259 func (s StartInstanceRefreshInput) String() string { 17260 return awsutil.Prettify(s) 17261 } 17262 17263 // GoString returns the string representation. 17264 // 17265 // API parameter values that are decorated as "sensitive" in the API will not 17266 // be included in the string output. The member name will be present, but the 17267 // value will be replaced with "sensitive". 17268 func (s StartInstanceRefreshInput) GoString() string { 17269 return s.String() 17270 } 17271 17272 // Validate inspects the fields of the type to determine if they are valid. 17273 func (s *StartInstanceRefreshInput) Validate() error { 17274 invalidParams := request.ErrInvalidParams{Context: "StartInstanceRefreshInput"} 17275 if s.AutoScalingGroupName == nil { 17276 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 17277 } 17278 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 17279 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 17280 } 17281 if s.DesiredConfiguration != nil { 17282 if err := s.DesiredConfiguration.Validate(); err != nil { 17283 invalidParams.AddNested("DesiredConfiguration", err.(request.ErrInvalidParams)) 17284 } 17285 } 17286 17287 if invalidParams.Len() > 0 { 17288 return invalidParams 17289 } 17290 return nil 17291 } 17292 17293 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 17294 func (s *StartInstanceRefreshInput) SetAutoScalingGroupName(v string) *StartInstanceRefreshInput { 17295 s.AutoScalingGroupName = &v 17296 return s 17297 } 17298 17299 // SetDesiredConfiguration sets the DesiredConfiguration field's value. 17300 func (s *StartInstanceRefreshInput) SetDesiredConfiguration(v *DesiredConfiguration) *StartInstanceRefreshInput { 17301 s.DesiredConfiguration = v 17302 return s 17303 } 17304 17305 // SetPreferences sets the Preferences field's value. 17306 func (s *StartInstanceRefreshInput) SetPreferences(v *RefreshPreferences) *StartInstanceRefreshInput { 17307 s.Preferences = v 17308 return s 17309 } 17310 17311 // SetStrategy sets the Strategy field's value. 17312 func (s *StartInstanceRefreshInput) SetStrategy(v string) *StartInstanceRefreshInput { 17313 s.Strategy = &v 17314 return s 17315 } 17316 17317 type StartInstanceRefreshOutput struct { 17318 _ struct{} `type:"structure"` 17319 17320 // A unique ID for tracking the progress of the request. 17321 InstanceRefreshId *string `min:"1" type:"string"` 17322 } 17323 17324 // String returns the string representation. 17325 // 17326 // API parameter values that are decorated as "sensitive" in the API will not 17327 // be included in the string output. The member name will be present, but the 17328 // value will be replaced with "sensitive". 17329 func (s StartInstanceRefreshOutput) String() string { 17330 return awsutil.Prettify(s) 17331 } 17332 17333 // GoString returns the string representation. 17334 // 17335 // API parameter values that are decorated as "sensitive" in the API will not 17336 // be included in the string output. The member name will be present, but the 17337 // value will be replaced with "sensitive". 17338 func (s StartInstanceRefreshOutput) GoString() string { 17339 return s.String() 17340 } 17341 17342 // SetInstanceRefreshId sets the InstanceRefreshId field's value. 17343 func (s *StartInstanceRefreshOutput) SetInstanceRefreshId(v string) *StartInstanceRefreshOutput { 17344 s.InstanceRefreshId = &v 17345 return s 17346 } 17347 17348 // Describes information used to create a step adjustment for a step scaling 17349 // policy. 17350 // 17351 // For the following examples, suppose that you have an alarm with a breach 17352 // threshold of 50: 17353 // 17354 // * To trigger the adjustment when the metric is greater than or equal to 17355 // 50 and less than 60, specify a lower bound of 0 and an upper bound of 17356 // 10. 17357 // 17358 // * To trigger the adjustment when the metric is greater than 40 and less 17359 // than or equal to 50, specify a lower bound of -10 and an upper bound of 17360 // 0. 17361 // 17362 // There are a few rules for the step adjustments for your step policy: 17363 // 17364 // * The ranges of your step adjustments can't overlap or have a gap. 17365 // 17366 // * At most, one step adjustment can have a null lower bound. If one step 17367 // adjustment has a negative lower bound, then there must be a step adjustment 17368 // with a null lower bound. 17369 // 17370 // * At most, one step adjustment can have a null upper bound. If one step 17371 // adjustment has a positive upper bound, then there must be a step adjustment 17372 // with a null upper bound. 17373 // 17374 // * The upper and lower bound can't be null in the same step adjustment. 17375 // 17376 // For more information, see Step adjustments (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-steps) 17377 // in the Amazon EC2 Auto Scaling User Guide. 17378 type StepAdjustment struct { 17379 _ struct{} `type:"structure"` 17380 17381 // The lower bound for the difference between the alarm threshold and the CloudWatch 17382 // metric. If the metric value is above the breach threshold, the lower bound 17383 // is inclusive (the metric must be greater than or equal to the threshold plus 17384 // the lower bound). Otherwise, it is exclusive (the metric must be greater 17385 // than the threshold plus the lower bound). A null value indicates negative 17386 // infinity. 17387 MetricIntervalLowerBound *float64 `type:"double"` 17388 17389 // The upper bound for the difference between the alarm threshold and the CloudWatch 17390 // metric. If the metric value is above the breach threshold, the upper bound 17391 // is exclusive (the metric must be less than the threshold plus the upper bound). 17392 // Otherwise, it is inclusive (the metric must be less than or equal to the 17393 // threshold plus the upper bound). A null value indicates positive infinity. 17394 // 17395 // The upper bound must be greater than the lower bound. 17396 MetricIntervalUpperBound *float64 `type:"double"` 17397 17398 // The amount by which to scale, based on the specified adjustment type. A positive 17399 // value adds to the current capacity while a negative number removes from the 17400 // current capacity. 17401 // 17402 // ScalingAdjustment is a required field 17403 ScalingAdjustment *int64 `type:"integer" required:"true"` 17404 } 17405 17406 // String returns the string representation. 17407 // 17408 // API parameter values that are decorated as "sensitive" in the API will not 17409 // be included in the string output. The member name will be present, but the 17410 // value will be replaced with "sensitive". 17411 func (s StepAdjustment) String() string { 17412 return awsutil.Prettify(s) 17413 } 17414 17415 // GoString returns the string representation. 17416 // 17417 // API parameter values that are decorated as "sensitive" in the API will not 17418 // be included in the string output. The member name will be present, but the 17419 // value will be replaced with "sensitive". 17420 func (s StepAdjustment) GoString() string { 17421 return s.String() 17422 } 17423 17424 // Validate inspects the fields of the type to determine if they are valid. 17425 func (s *StepAdjustment) Validate() error { 17426 invalidParams := request.ErrInvalidParams{Context: "StepAdjustment"} 17427 if s.ScalingAdjustment == nil { 17428 invalidParams.Add(request.NewErrParamRequired("ScalingAdjustment")) 17429 } 17430 17431 if invalidParams.Len() > 0 { 17432 return invalidParams 17433 } 17434 return nil 17435 } 17436 17437 // SetMetricIntervalLowerBound sets the MetricIntervalLowerBound field's value. 17438 func (s *StepAdjustment) SetMetricIntervalLowerBound(v float64) *StepAdjustment { 17439 s.MetricIntervalLowerBound = &v 17440 return s 17441 } 17442 17443 // SetMetricIntervalUpperBound sets the MetricIntervalUpperBound field's value. 17444 func (s *StepAdjustment) SetMetricIntervalUpperBound(v float64) *StepAdjustment { 17445 s.MetricIntervalUpperBound = &v 17446 return s 17447 } 17448 17449 // SetScalingAdjustment sets the ScalingAdjustment field's value. 17450 func (s *StepAdjustment) SetScalingAdjustment(v int64) *StepAdjustment { 17451 s.ScalingAdjustment = &v 17452 return s 17453 } 17454 17455 type SuspendProcessesOutput struct { 17456 _ struct{} `type:"structure"` 17457 } 17458 17459 // String returns the string representation. 17460 // 17461 // API parameter values that are decorated as "sensitive" in the API will not 17462 // be included in the string output. The member name will be present, but the 17463 // value will be replaced with "sensitive". 17464 func (s SuspendProcessesOutput) String() string { 17465 return awsutil.Prettify(s) 17466 } 17467 17468 // GoString returns the string representation. 17469 // 17470 // API parameter values that are decorated as "sensitive" in the API will not 17471 // be included in the string output. The member name will be present, but the 17472 // value will be replaced with "sensitive". 17473 func (s SuspendProcessesOutput) GoString() string { 17474 return s.String() 17475 } 17476 17477 // Describes an auto scaling process that has been suspended. 17478 // 17479 // For more information, see Scaling processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html#process-types) 17480 // in the Amazon EC2 Auto Scaling User Guide. 17481 type SuspendedProcess struct { 17482 _ struct{} `type:"structure"` 17483 17484 // The name of the suspended process. 17485 ProcessName *string `min:"1" type:"string"` 17486 17487 // The reason that the process was suspended. 17488 SuspensionReason *string `min:"1" type:"string"` 17489 } 17490 17491 // String returns the string representation. 17492 // 17493 // API parameter values that are decorated as "sensitive" in the API will not 17494 // be included in the string output. The member name will be present, but the 17495 // value will be replaced with "sensitive". 17496 func (s SuspendedProcess) String() string { 17497 return awsutil.Prettify(s) 17498 } 17499 17500 // GoString returns the string representation. 17501 // 17502 // API parameter values that are decorated as "sensitive" in the API will not 17503 // be included in the string output. The member name will be present, but the 17504 // value will be replaced with "sensitive". 17505 func (s SuspendedProcess) GoString() string { 17506 return s.String() 17507 } 17508 17509 // SetProcessName sets the ProcessName field's value. 17510 func (s *SuspendedProcess) SetProcessName(v string) *SuspendedProcess { 17511 s.ProcessName = &v 17512 return s 17513 } 17514 17515 // SetSuspensionReason sets the SuspensionReason field's value. 17516 func (s *SuspendedProcess) SetSuspensionReason(v string) *SuspendedProcess { 17517 s.SuspensionReason = &v 17518 return s 17519 } 17520 17521 // Describes a tag for an Auto Scaling group. 17522 type Tag struct { 17523 _ struct{} `type:"structure"` 17524 17525 // The tag key. 17526 // 17527 // Key is a required field 17528 Key *string `min:"1" type:"string" required:"true"` 17529 17530 // Determines whether the tag is added to new instances as they are launched 17531 // in the group. 17532 PropagateAtLaunch *bool `type:"boolean"` 17533 17534 // The name of the Auto Scaling group. 17535 ResourceId *string `type:"string"` 17536 17537 // The type of resource. The only supported value is auto-scaling-group. 17538 ResourceType *string `type:"string"` 17539 17540 // The tag value. 17541 Value *string `type:"string"` 17542 } 17543 17544 // String returns the string representation. 17545 // 17546 // API parameter values that are decorated as "sensitive" in the API will not 17547 // be included in the string output. The member name will be present, but the 17548 // value will be replaced with "sensitive". 17549 func (s Tag) String() string { 17550 return awsutil.Prettify(s) 17551 } 17552 17553 // GoString returns the string representation. 17554 // 17555 // API parameter values that are decorated as "sensitive" in the API will not 17556 // be included in the string output. The member name will be present, but the 17557 // value will be replaced with "sensitive". 17558 func (s Tag) GoString() string { 17559 return s.String() 17560 } 17561 17562 // Validate inspects the fields of the type to determine if they are valid. 17563 func (s *Tag) Validate() error { 17564 invalidParams := request.ErrInvalidParams{Context: "Tag"} 17565 if s.Key == nil { 17566 invalidParams.Add(request.NewErrParamRequired("Key")) 17567 } 17568 if s.Key != nil && len(*s.Key) < 1 { 17569 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 17570 } 17571 17572 if invalidParams.Len() > 0 { 17573 return invalidParams 17574 } 17575 return nil 17576 } 17577 17578 // SetKey sets the Key field's value. 17579 func (s *Tag) SetKey(v string) *Tag { 17580 s.Key = &v 17581 return s 17582 } 17583 17584 // SetPropagateAtLaunch sets the PropagateAtLaunch field's value. 17585 func (s *Tag) SetPropagateAtLaunch(v bool) *Tag { 17586 s.PropagateAtLaunch = &v 17587 return s 17588 } 17589 17590 // SetResourceId sets the ResourceId field's value. 17591 func (s *Tag) SetResourceId(v string) *Tag { 17592 s.ResourceId = &v 17593 return s 17594 } 17595 17596 // SetResourceType sets the ResourceType field's value. 17597 func (s *Tag) SetResourceType(v string) *Tag { 17598 s.ResourceType = &v 17599 return s 17600 } 17601 17602 // SetValue sets the Value field's value. 17603 func (s *Tag) SetValue(v string) *Tag { 17604 s.Value = &v 17605 return s 17606 } 17607 17608 // Describes a tag for an Auto Scaling group. 17609 type TagDescription struct { 17610 _ struct{} `type:"structure"` 17611 17612 // The tag key. 17613 Key *string `min:"1" type:"string"` 17614 17615 // Determines whether the tag is added to new instances as they are launched 17616 // in the group. 17617 PropagateAtLaunch *bool `type:"boolean"` 17618 17619 // The name of the group. 17620 ResourceId *string `type:"string"` 17621 17622 // The type of resource. The only supported value is auto-scaling-group. 17623 ResourceType *string `type:"string"` 17624 17625 // The tag value. 17626 Value *string `type:"string"` 17627 } 17628 17629 // String returns the string representation. 17630 // 17631 // API parameter values that are decorated as "sensitive" in the API will not 17632 // be included in the string output. The member name will be present, but the 17633 // value will be replaced with "sensitive". 17634 func (s TagDescription) String() string { 17635 return awsutil.Prettify(s) 17636 } 17637 17638 // GoString returns the string representation. 17639 // 17640 // API parameter values that are decorated as "sensitive" in the API will not 17641 // be included in the string output. The member name will be present, but the 17642 // value will be replaced with "sensitive". 17643 func (s TagDescription) GoString() string { 17644 return s.String() 17645 } 17646 17647 // SetKey sets the Key field's value. 17648 func (s *TagDescription) SetKey(v string) *TagDescription { 17649 s.Key = &v 17650 return s 17651 } 17652 17653 // SetPropagateAtLaunch sets the PropagateAtLaunch field's value. 17654 func (s *TagDescription) SetPropagateAtLaunch(v bool) *TagDescription { 17655 s.PropagateAtLaunch = &v 17656 return s 17657 } 17658 17659 // SetResourceId sets the ResourceId field's value. 17660 func (s *TagDescription) SetResourceId(v string) *TagDescription { 17661 s.ResourceId = &v 17662 return s 17663 } 17664 17665 // SetResourceType sets the ResourceType field's value. 17666 func (s *TagDescription) SetResourceType(v string) *TagDescription { 17667 s.ResourceType = &v 17668 return s 17669 } 17670 17671 // SetValue sets the Value field's value. 17672 func (s *TagDescription) SetValue(v string) *TagDescription { 17673 s.Value = &v 17674 return s 17675 } 17676 17677 // Represents a target tracking scaling policy configuration to use with Amazon 17678 // EC2 Auto Scaling. 17679 type TargetTrackingConfiguration struct { 17680 _ struct{} `type:"structure"` 17681 17682 // A customized metric. You must specify either a predefined metric or a customized 17683 // metric. 17684 CustomizedMetricSpecification *CustomizedMetricSpecification `type:"structure"` 17685 17686 // Indicates whether scaling in by the target tracking scaling policy is disabled. 17687 // If scaling in is disabled, the target tracking scaling policy doesn't remove 17688 // instances from the Auto Scaling group. Otherwise, the target tracking scaling 17689 // policy can remove instances from the Auto Scaling group. The default is false. 17690 DisableScaleIn *bool `type:"boolean"` 17691 17692 // A predefined metric. You must specify either a predefined metric or a customized 17693 // metric. 17694 PredefinedMetricSpecification *PredefinedMetricSpecification `type:"structure"` 17695 17696 // The target value for the metric. 17697 // 17698 // TargetValue is a required field 17699 TargetValue *float64 `type:"double" required:"true"` 17700 } 17701 17702 // String returns the string representation. 17703 // 17704 // API parameter values that are decorated as "sensitive" in the API will not 17705 // be included in the string output. The member name will be present, but the 17706 // value will be replaced with "sensitive". 17707 func (s TargetTrackingConfiguration) String() string { 17708 return awsutil.Prettify(s) 17709 } 17710 17711 // GoString returns the string representation. 17712 // 17713 // API parameter values that are decorated as "sensitive" in the API will not 17714 // be included in the string output. The member name will be present, but the 17715 // value will be replaced with "sensitive". 17716 func (s TargetTrackingConfiguration) GoString() string { 17717 return s.String() 17718 } 17719 17720 // Validate inspects the fields of the type to determine if they are valid. 17721 func (s *TargetTrackingConfiguration) Validate() error { 17722 invalidParams := request.ErrInvalidParams{Context: "TargetTrackingConfiguration"} 17723 if s.TargetValue == nil { 17724 invalidParams.Add(request.NewErrParamRequired("TargetValue")) 17725 } 17726 if s.CustomizedMetricSpecification != nil { 17727 if err := s.CustomizedMetricSpecification.Validate(); err != nil { 17728 invalidParams.AddNested("CustomizedMetricSpecification", err.(request.ErrInvalidParams)) 17729 } 17730 } 17731 if s.PredefinedMetricSpecification != nil { 17732 if err := s.PredefinedMetricSpecification.Validate(); err != nil { 17733 invalidParams.AddNested("PredefinedMetricSpecification", err.(request.ErrInvalidParams)) 17734 } 17735 } 17736 17737 if invalidParams.Len() > 0 { 17738 return invalidParams 17739 } 17740 return nil 17741 } 17742 17743 // SetCustomizedMetricSpecification sets the CustomizedMetricSpecification field's value. 17744 func (s *TargetTrackingConfiguration) SetCustomizedMetricSpecification(v *CustomizedMetricSpecification) *TargetTrackingConfiguration { 17745 s.CustomizedMetricSpecification = v 17746 return s 17747 } 17748 17749 // SetDisableScaleIn sets the DisableScaleIn field's value. 17750 func (s *TargetTrackingConfiguration) SetDisableScaleIn(v bool) *TargetTrackingConfiguration { 17751 s.DisableScaleIn = &v 17752 return s 17753 } 17754 17755 // SetPredefinedMetricSpecification sets the PredefinedMetricSpecification field's value. 17756 func (s *TargetTrackingConfiguration) SetPredefinedMetricSpecification(v *PredefinedMetricSpecification) *TargetTrackingConfiguration { 17757 s.PredefinedMetricSpecification = v 17758 return s 17759 } 17760 17761 // SetTargetValue sets the TargetValue field's value. 17762 func (s *TargetTrackingConfiguration) SetTargetValue(v float64) *TargetTrackingConfiguration { 17763 s.TargetValue = &v 17764 return s 17765 } 17766 17767 type TerminateInstanceInAutoScalingGroupInput struct { 17768 _ struct{} `type:"structure"` 17769 17770 // The ID of the instance. 17771 // 17772 // InstanceId is a required field 17773 InstanceId *string `min:"1" type:"string" required:"true"` 17774 17775 // Indicates whether terminating the instance also decrements the size of the 17776 // Auto Scaling group. 17777 // 17778 // ShouldDecrementDesiredCapacity is a required field 17779 ShouldDecrementDesiredCapacity *bool `type:"boolean" required:"true"` 17780 } 17781 17782 // String returns the string representation. 17783 // 17784 // API parameter values that are decorated as "sensitive" in the API will not 17785 // be included in the string output. The member name will be present, but the 17786 // value will be replaced with "sensitive". 17787 func (s TerminateInstanceInAutoScalingGroupInput) String() string { 17788 return awsutil.Prettify(s) 17789 } 17790 17791 // GoString returns the string representation. 17792 // 17793 // API parameter values that are decorated as "sensitive" in the API will not 17794 // be included in the string output. The member name will be present, but the 17795 // value will be replaced with "sensitive". 17796 func (s TerminateInstanceInAutoScalingGroupInput) GoString() string { 17797 return s.String() 17798 } 17799 17800 // Validate inspects the fields of the type to determine if they are valid. 17801 func (s *TerminateInstanceInAutoScalingGroupInput) Validate() error { 17802 invalidParams := request.ErrInvalidParams{Context: "TerminateInstanceInAutoScalingGroupInput"} 17803 if s.InstanceId == nil { 17804 invalidParams.Add(request.NewErrParamRequired("InstanceId")) 17805 } 17806 if s.InstanceId != nil && len(*s.InstanceId) < 1 { 17807 invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) 17808 } 17809 if s.ShouldDecrementDesiredCapacity == nil { 17810 invalidParams.Add(request.NewErrParamRequired("ShouldDecrementDesiredCapacity")) 17811 } 17812 17813 if invalidParams.Len() > 0 { 17814 return invalidParams 17815 } 17816 return nil 17817 } 17818 17819 // SetInstanceId sets the InstanceId field's value. 17820 func (s *TerminateInstanceInAutoScalingGroupInput) SetInstanceId(v string) *TerminateInstanceInAutoScalingGroupInput { 17821 s.InstanceId = &v 17822 return s 17823 } 17824 17825 // SetShouldDecrementDesiredCapacity sets the ShouldDecrementDesiredCapacity field's value. 17826 func (s *TerminateInstanceInAutoScalingGroupInput) SetShouldDecrementDesiredCapacity(v bool) *TerminateInstanceInAutoScalingGroupInput { 17827 s.ShouldDecrementDesiredCapacity = &v 17828 return s 17829 } 17830 17831 type TerminateInstanceInAutoScalingGroupOutput struct { 17832 _ struct{} `type:"structure"` 17833 17834 // A scaling activity. 17835 Activity *Activity `type:"structure"` 17836 } 17837 17838 // String returns the string representation. 17839 // 17840 // API parameter values that are decorated as "sensitive" in the API will not 17841 // be included in the string output. The member name will be present, but the 17842 // value will be replaced with "sensitive". 17843 func (s TerminateInstanceInAutoScalingGroupOutput) String() string { 17844 return awsutil.Prettify(s) 17845 } 17846 17847 // GoString returns the string representation. 17848 // 17849 // API parameter values that are decorated as "sensitive" in the API will not 17850 // be included in the string output. The member name will be present, but the 17851 // value will be replaced with "sensitive". 17852 func (s TerminateInstanceInAutoScalingGroupOutput) GoString() string { 17853 return s.String() 17854 } 17855 17856 // SetActivity sets the Activity field's value. 17857 func (s *TerminateInstanceInAutoScalingGroupOutput) SetActivity(v *Activity) *TerminateInstanceInAutoScalingGroupOutput { 17858 s.Activity = v 17859 return s 17860 } 17861 17862 type UpdateAutoScalingGroupInput struct { 17863 _ struct{} `type:"structure"` 17864 17865 // The name of the Auto Scaling group. 17866 // 17867 // AutoScalingGroupName is a required field 17868 AutoScalingGroupName *string `min:"1" type:"string" required:"true"` 17869 17870 // One or more Availability Zones for the group. 17871 AvailabilityZones []*string `type:"list"` 17872 17873 // Enables or disables Capacity Rebalancing. For more information, see Amazon 17874 // EC2 Auto Scaling Capacity Rebalancing (https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html) 17875 // in the Amazon EC2 Auto Scaling User Guide. 17876 CapacityRebalance *bool `type:"boolean"` 17877 17878 // Reserved. 17879 Context *string `type:"string"` 17880 17881 // The amount of time, in seconds, after a scaling activity completes before 17882 // another scaling activity can start. The default value is 300. This setting 17883 // applies when using simple scaling policies, but not when using other scaling 17884 // policies or scheduled scaling. For more information, see Scaling cooldowns 17885 // for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html) 17886 // in the Amazon EC2 Auto Scaling User Guide. 17887 DefaultCooldown *int64 `type:"integer"` 17888 17889 // The desired capacity is the initial capacity of the Auto Scaling group after 17890 // this operation completes and the capacity it attempts to maintain. This number 17891 // must be greater than or equal to the minimum size of the group and less than 17892 // or equal to the maximum size of the group. 17893 DesiredCapacity *int64 `type:"integer"` 17894 17895 // The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before 17896 // checking the health status of an EC2 instance that has come into service. 17897 // The default value is 0. For more information, see Health check grace period 17898 // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html#health-check-grace-period) 17899 // in the Amazon EC2 Auto Scaling User Guide. 17900 // 17901 // Conditional: Required if you are adding an ELB health check. 17902 HealthCheckGracePeriod *int64 `type:"integer"` 17903 17904 // The service to use for the health checks. The valid values are EC2 and ELB. 17905 // If you configure an Auto Scaling group to use ELB health checks, it considers 17906 // the instance unhealthy if it fails either the EC2 status checks or the load 17907 // balancer health checks. 17908 HealthCheckType *string `min:"1" type:"string"` 17909 17910 // The name of the launch configuration. If you specify LaunchConfigurationName 17911 // in your update request, you can't specify LaunchTemplate or MixedInstancesPolicy. 17912 LaunchConfigurationName *string `min:"1" type:"string"` 17913 17914 // The launch template and version to use to specify the updates. If you specify 17915 // LaunchTemplate in your update request, you can't specify LaunchConfigurationName 17916 // or MixedInstancesPolicy. 17917 LaunchTemplate *LaunchTemplateSpecification `type:"structure"` 17918 17919 // The maximum amount of time, in seconds, that an instance can be in service. 17920 // The default is null. If specified, the value must be either 0 or a number 17921 // equal to or greater than 86,400 seconds (1 day). To clear a previously set 17922 // value, specify a new value of 0. For more information, see Replacing Auto 17923 // Scaling instances based on maximum instance lifetime (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html) 17924 // in the Amazon EC2 Auto Scaling User Guide. 17925 MaxInstanceLifetime *int64 `type:"integer"` 17926 17927 // The maximum size of the Auto Scaling group. 17928 // 17929 // With a mixed instances policy that uses instance weighting, Amazon EC2 Auto 17930 // Scaling may need to go above MaxSize to meet your capacity requirements. 17931 // In this event, Amazon EC2 Auto Scaling will never go above MaxSize by more 17932 // than your largest instance weight (weights that define how many units each 17933 // instance contributes to the desired capacity of the group). 17934 MaxSize *int64 `type:"integer"` 17935 17936 // The minimum size of the Auto Scaling group. 17937 MinSize *int64 `type:"integer"` 17938 17939 // An embedded object that specifies a mixed instances policy. When you make 17940 // changes to an existing policy, all optional properties are left unchanged 17941 // if not specified. For more information, see Auto Scaling groups with multiple 17942 // instance types and purchase options (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html) 17943 // in the Amazon EC2 Auto Scaling User Guide. 17944 MixedInstancesPolicy *MixedInstancesPolicy `type:"structure"` 17945 17946 // Indicates whether newly launched instances are protected from termination 17947 // by Amazon EC2 Auto Scaling when scaling in. For more information about preventing 17948 // instances from terminating on scale in, see Instance scale-in protection 17949 // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) 17950 // in the Amazon EC2 Auto Scaling User Guide. 17951 NewInstancesProtectedFromScaleIn *bool `type:"boolean"` 17952 17953 // The name of an existing placement group into which to launch your instances, 17954 // if any. A placement group is a logical grouping of instances within a single 17955 // Availability Zone. You cannot specify multiple Availability Zones and a placement 17956 // group. For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 17957 // in the Amazon EC2 User Guide for Linux Instances. 17958 PlacementGroup *string `min:"1" type:"string"` 17959 17960 // The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling 17961 // group uses to call other Amazon Web Services on your behalf. For more information, 17962 // see Service-linked roles (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html) 17963 // in the Amazon EC2 Auto Scaling User Guide. 17964 ServiceLinkedRoleARN *string `min:"1" type:"string"` 17965 17966 // A policy or a list of policies that are used to select the instances to terminate. 17967 // The policies are executed in the order that you list them. For more information, 17968 // see Controlling which Auto Scaling instances terminate during scale in (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html) 17969 // in the Amazon EC2 Auto Scaling User Guide. 17970 TerminationPolicies []*string `type:"list"` 17971 17972 // A comma-separated list of subnet IDs for a virtual private cloud (VPC). If 17973 // you specify VPCZoneIdentifier with AvailabilityZones, the subnets that you 17974 // specify for this parameter must reside in those Availability Zones. 17975 VPCZoneIdentifier *string `min:"1" type:"string"` 17976 } 17977 17978 // String returns the string representation. 17979 // 17980 // API parameter values that are decorated as "sensitive" in the API will not 17981 // be included in the string output. The member name will be present, but the 17982 // value will be replaced with "sensitive". 17983 func (s UpdateAutoScalingGroupInput) String() string { 17984 return awsutil.Prettify(s) 17985 } 17986 17987 // GoString returns the string representation. 17988 // 17989 // API parameter values that are decorated as "sensitive" in the API will not 17990 // be included in the string output. The member name will be present, but the 17991 // value will be replaced with "sensitive". 17992 func (s UpdateAutoScalingGroupInput) GoString() string { 17993 return s.String() 17994 } 17995 17996 // Validate inspects the fields of the type to determine if they are valid. 17997 func (s *UpdateAutoScalingGroupInput) Validate() error { 17998 invalidParams := request.ErrInvalidParams{Context: "UpdateAutoScalingGroupInput"} 17999 if s.AutoScalingGroupName == nil { 18000 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) 18001 } 18002 if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { 18003 invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) 18004 } 18005 if s.HealthCheckType != nil && len(*s.HealthCheckType) < 1 { 18006 invalidParams.Add(request.NewErrParamMinLen("HealthCheckType", 1)) 18007 } 18008 if s.LaunchConfigurationName != nil && len(*s.LaunchConfigurationName) < 1 { 18009 invalidParams.Add(request.NewErrParamMinLen("LaunchConfigurationName", 1)) 18010 } 18011 if s.PlacementGroup != nil && len(*s.PlacementGroup) < 1 { 18012 invalidParams.Add(request.NewErrParamMinLen("PlacementGroup", 1)) 18013 } 18014 if s.ServiceLinkedRoleARN != nil && len(*s.ServiceLinkedRoleARN) < 1 { 18015 invalidParams.Add(request.NewErrParamMinLen("ServiceLinkedRoleARN", 1)) 18016 } 18017 if s.VPCZoneIdentifier != nil && len(*s.VPCZoneIdentifier) < 1 { 18018 invalidParams.Add(request.NewErrParamMinLen("VPCZoneIdentifier", 1)) 18019 } 18020 if s.LaunchTemplate != nil { 18021 if err := s.LaunchTemplate.Validate(); err != nil { 18022 invalidParams.AddNested("LaunchTemplate", err.(request.ErrInvalidParams)) 18023 } 18024 } 18025 if s.MixedInstancesPolicy != nil { 18026 if err := s.MixedInstancesPolicy.Validate(); err != nil { 18027 invalidParams.AddNested("MixedInstancesPolicy", err.(request.ErrInvalidParams)) 18028 } 18029 } 18030 18031 if invalidParams.Len() > 0 { 18032 return invalidParams 18033 } 18034 return nil 18035 } 18036 18037 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 18038 func (s *UpdateAutoScalingGroupInput) SetAutoScalingGroupName(v string) *UpdateAutoScalingGroupInput { 18039 s.AutoScalingGroupName = &v 18040 return s 18041 } 18042 18043 // SetAvailabilityZones sets the AvailabilityZones field's value. 18044 func (s *UpdateAutoScalingGroupInput) SetAvailabilityZones(v []*string) *UpdateAutoScalingGroupInput { 18045 s.AvailabilityZones = v 18046 return s 18047 } 18048 18049 // SetCapacityRebalance sets the CapacityRebalance field's value. 18050 func (s *UpdateAutoScalingGroupInput) SetCapacityRebalance(v bool) *UpdateAutoScalingGroupInput { 18051 s.CapacityRebalance = &v 18052 return s 18053 } 18054 18055 // SetContext sets the Context field's value. 18056 func (s *UpdateAutoScalingGroupInput) SetContext(v string) *UpdateAutoScalingGroupInput { 18057 s.Context = &v 18058 return s 18059 } 18060 18061 // SetDefaultCooldown sets the DefaultCooldown field's value. 18062 func (s *UpdateAutoScalingGroupInput) SetDefaultCooldown(v int64) *UpdateAutoScalingGroupInput { 18063 s.DefaultCooldown = &v 18064 return s 18065 } 18066 18067 // SetDesiredCapacity sets the DesiredCapacity field's value. 18068 func (s *UpdateAutoScalingGroupInput) SetDesiredCapacity(v int64) *UpdateAutoScalingGroupInput { 18069 s.DesiredCapacity = &v 18070 return s 18071 } 18072 18073 // SetHealthCheckGracePeriod sets the HealthCheckGracePeriod field's value. 18074 func (s *UpdateAutoScalingGroupInput) SetHealthCheckGracePeriod(v int64) *UpdateAutoScalingGroupInput { 18075 s.HealthCheckGracePeriod = &v 18076 return s 18077 } 18078 18079 // SetHealthCheckType sets the HealthCheckType field's value. 18080 func (s *UpdateAutoScalingGroupInput) SetHealthCheckType(v string) *UpdateAutoScalingGroupInput { 18081 s.HealthCheckType = &v 18082 return s 18083 } 18084 18085 // SetLaunchConfigurationName sets the LaunchConfigurationName field's value. 18086 func (s *UpdateAutoScalingGroupInput) SetLaunchConfigurationName(v string) *UpdateAutoScalingGroupInput { 18087 s.LaunchConfigurationName = &v 18088 return s 18089 } 18090 18091 // SetLaunchTemplate sets the LaunchTemplate field's value. 18092 func (s *UpdateAutoScalingGroupInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *UpdateAutoScalingGroupInput { 18093 s.LaunchTemplate = v 18094 return s 18095 } 18096 18097 // SetMaxInstanceLifetime sets the MaxInstanceLifetime field's value. 18098 func (s *UpdateAutoScalingGroupInput) SetMaxInstanceLifetime(v int64) *UpdateAutoScalingGroupInput { 18099 s.MaxInstanceLifetime = &v 18100 return s 18101 } 18102 18103 // SetMaxSize sets the MaxSize field's value. 18104 func (s *UpdateAutoScalingGroupInput) SetMaxSize(v int64) *UpdateAutoScalingGroupInput { 18105 s.MaxSize = &v 18106 return s 18107 } 18108 18109 // SetMinSize sets the MinSize field's value. 18110 func (s *UpdateAutoScalingGroupInput) SetMinSize(v int64) *UpdateAutoScalingGroupInput { 18111 s.MinSize = &v 18112 return s 18113 } 18114 18115 // SetMixedInstancesPolicy sets the MixedInstancesPolicy field's value. 18116 func (s *UpdateAutoScalingGroupInput) SetMixedInstancesPolicy(v *MixedInstancesPolicy) *UpdateAutoScalingGroupInput { 18117 s.MixedInstancesPolicy = v 18118 return s 18119 } 18120 18121 // SetNewInstancesProtectedFromScaleIn sets the NewInstancesProtectedFromScaleIn field's value. 18122 func (s *UpdateAutoScalingGroupInput) SetNewInstancesProtectedFromScaleIn(v bool) *UpdateAutoScalingGroupInput { 18123 s.NewInstancesProtectedFromScaleIn = &v 18124 return s 18125 } 18126 18127 // SetPlacementGroup sets the PlacementGroup field's value. 18128 func (s *UpdateAutoScalingGroupInput) SetPlacementGroup(v string) *UpdateAutoScalingGroupInput { 18129 s.PlacementGroup = &v 18130 return s 18131 } 18132 18133 // SetServiceLinkedRoleARN sets the ServiceLinkedRoleARN field's value. 18134 func (s *UpdateAutoScalingGroupInput) SetServiceLinkedRoleARN(v string) *UpdateAutoScalingGroupInput { 18135 s.ServiceLinkedRoleARN = &v 18136 return s 18137 } 18138 18139 // SetTerminationPolicies sets the TerminationPolicies field's value. 18140 func (s *UpdateAutoScalingGroupInput) SetTerminationPolicies(v []*string) *UpdateAutoScalingGroupInput { 18141 s.TerminationPolicies = v 18142 return s 18143 } 18144 18145 // SetVPCZoneIdentifier sets the VPCZoneIdentifier field's value. 18146 func (s *UpdateAutoScalingGroupInput) SetVPCZoneIdentifier(v string) *UpdateAutoScalingGroupInput { 18147 s.VPCZoneIdentifier = &v 18148 return s 18149 } 18150 18151 type UpdateAutoScalingGroupOutput struct { 18152 _ struct{} `type:"structure"` 18153 } 18154 18155 // String returns the string representation. 18156 // 18157 // API parameter values that are decorated as "sensitive" in the API will not 18158 // be included in the string output. The member name will be present, but the 18159 // value will be replaced with "sensitive". 18160 func (s UpdateAutoScalingGroupOutput) String() string { 18161 return awsutil.Prettify(s) 18162 } 18163 18164 // GoString returns the string representation. 18165 // 18166 // API parameter values that are decorated as "sensitive" in the API will not 18167 // be included in the string output. The member name will be present, but the 18168 // value will be replaced with "sensitive". 18169 func (s UpdateAutoScalingGroupOutput) GoString() string { 18170 return s.String() 18171 } 18172 18173 // Describes a warm pool configuration. 18174 type WarmPoolConfiguration struct { 18175 _ struct{} `type:"structure"` 18176 18177 // The maximum number of instances that are allowed to be in the warm pool or 18178 // in any state except Terminated for the Auto Scaling group. 18179 MaxGroupPreparedCapacity *int64 `type:"integer"` 18180 18181 // The minimum number of instances to maintain in the warm pool. 18182 MinSize *int64 `type:"integer"` 18183 18184 // The instance state to transition to after the lifecycle actions are complete. 18185 PoolState *string `type:"string" enum:"WarmPoolState"` 18186 18187 // The status of a warm pool that is marked for deletion. 18188 Status *string `type:"string" enum:"WarmPoolStatus"` 18189 } 18190 18191 // String returns the string representation. 18192 // 18193 // API parameter values that are decorated as "sensitive" in the API will not 18194 // be included in the string output. The member name will be present, but the 18195 // value will be replaced with "sensitive". 18196 func (s WarmPoolConfiguration) String() string { 18197 return awsutil.Prettify(s) 18198 } 18199 18200 // GoString returns the string representation. 18201 // 18202 // API parameter values that are decorated as "sensitive" in the API will not 18203 // be included in the string output. The member name will be present, but the 18204 // value will be replaced with "sensitive". 18205 func (s WarmPoolConfiguration) GoString() string { 18206 return s.String() 18207 } 18208 18209 // SetMaxGroupPreparedCapacity sets the MaxGroupPreparedCapacity field's value. 18210 func (s *WarmPoolConfiguration) SetMaxGroupPreparedCapacity(v int64) *WarmPoolConfiguration { 18211 s.MaxGroupPreparedCapacity = &v 18212 return s 18213 } 18214 18215 // SetMinSize sets the MinSize field's value. 18216 func (s *WarmPoolConfiguration) SetMinSize(v int64) *WarmPoolConfiguration { 18217 s.MinSize = &v 18218 return s 18219 } 18220 18221 // SetPoolState sets the PoolState field's value. 18222 func (s *WarmPoolConfiguration) SetPoolState(v string) *WarmPoolConfiguration { 18223 s.PoolState = &v 18224 return s 18225 } 18226 18227 // SetStatus sets the Status field's value. 18228 func (s *WarmPoolConfiguration) SetStatus(v string) *WarmPoolConfiguration { 18229 s.Status = &v 18230 return s 18231 } 18232 18233 const ( 18234 // InstanceMetadataEndpointStateDisabled is a InstanceMetadataEndpointState enum value 18235 InstanceMetadataEndpointStateDisabled = "disabled" 18236 18237 // InstanceMetadataEndpointStateEnabled is a InstanceMetadataEndpointState enum value 18238 InstanceMetadataEndpointStateEnabled = "enabled" 18239 ) 18240 18241 // InstanceMetadataEndpointState_Values returns all elements of the InstanceMetadataEndpointState enum 18242 func InstanceMetadataEndpointState_Values() []string { 18243 return []string{ 18244 InstanceMetadataEndpointStateDisabled, 18245 InstanceMetadataEndpointStateEnabled, 18246 } 18247 } 18248 18249 const ( 18250 // InstanceMetadataHttpTokensStateOptional is a InstanceMetadataHttpTokensState enum value 18251 InstanceMetadataHttpTokensStateOptional = "optional" 18252 18253 // InstanceMetadataHttpTokensStateRequired is a InstanceMetadataHttpTokensState enum value 18254 InstanceMetadataHttpTokensStateRequired = "required" 18255 ) 18256 18257 // InstanceMetadataHttpTokensState_Values returns all elements of the InstanceMetadataHttpTokensState enum 18258 func InstanceMetadataHttpTokensState_Values() []string { 18259 return []string{ 18260 InstanceMetadataHttpTokensStateOptional, 18261 InstanceMetadataHttpTokensStateRequired, 18262 } 18263 } 18264 18265 const ( 18266 // InstanceRefreshStatusPending is a InstanceRefreshStatus enum value 18267 InstanceRefreshStatusPending = "Pending" 18268 18269 // InstanceRefreshStatusInProgress is a InstanceRefreshStatus enum value 18270 InstanceRefreshStatusInProgress = "InProgress" 18271 18272 // InstanceRefreshStatusSuccessful is a InstanceRefreshStatus enum value 18273 InstanceRefreshStatusSuccessful = "Successful" 18274 18275 // InstanceRefreshStatusFailed is a InstanceRefreshStatus enum value 18276 InstanceRefreshStatusFailed = "Failed" 18277 18278 // InstanceRefreshStatusCancelling is a InstanceRefreshStatus enum value 18279 InstanceRefreshStatusCancelling = "Cancelling" 18280 18281 // InstanceRefreshStatusCancelled is a InstanceRefreshStatus enum value 18282 InstanceRefreshStatusCancelled = "Cancelled" 18283 ) 18284 18285 // InstanceRefreshStatus_Values returns all elements of the InstanceRefreshStatus enum 18286 func InstanceRefreshStatus_Values() []string { 18287 return []string{ 18288 InstanceRefreshStatusPending, 18289 InstanceRefreshStatusInProgress, 18290 InstanceRefreshStatusSuccessful, 18291 InstanceRefreshStatusFailed, 18292 InstanceRefreshStatusCancelling, 18293 InstanceRefreshStatusCancelled, 18294 } 18295 } 18296 18297 const ( 18298 // LifecycleStatePending is a LifecycleState enum value 18299 LifecycleStatePending = "Pending" 18300 18301 // LifecycleStatePendingWait is a LifecycleState enum value 18302 LifecycleStatePendingWait = "Pending:Wait" 18303 18304 // LifecycleStatePendingProceed is a LifecycleState enum value 18305 LifecycleStatePendingProceed = "Pending:Proceed" 18306 18307 // LifecycleStateQuarantined is a LifecycleState enum value 18308 LifecycleStateQuarantined = "Quarantined" 18309 18310 // LifecycleStateInService is a LifecycleState enum value 18311 LifecycleStateInService = "InService" 18312 18313 // LifecycleStateTerminating is a LifecycleState enum value 18314 LifecycleStateTerminating = "Terminating" 18315 18316 // LifecycleStateTerminatingWait is a LifecycleState enum value 18317 LifecycleStateTerminatingWait = "Terminating:Wait" 18318 18319 // LifecycleStateTerminatingProceed is a LifecycleState enum value 18320 LifecycleStateTerminatingProceed = "Terminating:Proceed" 18321 18322 // LifecycleStateTerminated is a LifecycleState enum value 18323 LifecycleStateTerminated = "Terminated" 18324 18325 // LifecycleStateDetaching is a LifecycleState enum value 18326 LifecycleStateDetaching = "Detaching" 18327 18328 // LifecycleStateDetached is a LifecycleState enum value 18329 LifecycleStateDetached = "Detached" 18330 18331 // LifecycleStateEnteringStandby is a LifecycleState enum value 18332 LifecycleStateEnteringStandby = "EnteringStandby" 18333 18334 // LifecycleStateStandby is a LifecycleState enum value 18335 LifecycleStateStandby = "Standby" 18336 18337 // LifecycleStateWarmedPending is a LifecycleState enum value 18338 LifecycleStateWarmedPending = "Warmed:Pending" 18339 18340 // LifecycleStateWarmedPendingWait is a LifecycleState enum value 18341 LifecycleStateWarmedPendingWait = "Warmed:Pending:Wait" 18342 18343 // LifecycleStateWarmedPendingProceed is a LifecycleState enum value 18344 LifecycleStateWarmedPendingProceed = "Warmed:Pending:Proceed" 18345 18346 // LifecycleStateWarmedTerminating is a LifecycleState enum value 18347 LifecycleStateWarmedTerminating = "Warmed:Terminating" 18348 18349 // LifecycleStateWarmedTerminatingWait is a LifecycleState enum value 18350 LifecycleStateWarmedTerminatingWait = "Warmed:Terminating:Wait" 18351 18352 // LifecycleStateWarmedTerminatingProceed is a LifecycleState enum value 18353 LifecycleStateWarmedTerminatingProceed = "Warmed:Terminating:Proceed" 18354 18355 // LifecycleStateWarmedTerminated is a LifecycleState enum value 18356 LifecycleStateWarmedTerminated = "Warmed:Terminated" 18357 18358 // LifecycleStateWarmedStopped is a LifecycleState enum value 18359 LifecycleStateWarmedStopped = "Warmed:Stopped" 18360 18361 // LifecycleStateWarmedRunning is a LifecycleState enum value 18362 LifecycleStateWarmedRunning = "Warmed:Running" 18363 ) 18364 18365 // LifecycleState_Values returns all elements of the LifecycleState enum 18366 func LifecycleState_Values() []string { 18367 return []string{ 18368 LifecycleStatePending, 18369 LifecycleStatePendingWait, 18370 LifecycleStatePendingProceed, 18371 LifecycleStateQuarantined, 18372 LifecycleStateInService, 18373 LifecycleStateTerminating, 18374 LifecycleStateTerminatingWait, 18375 LifecycleStateTerminatingProceed, 18376 LifecycleStateTerminated, 18377 LifecycleStateDetaching, 18378 LifecycleStateDetached, 18379 LifecycleStateEnteringStandby, 18380 LifecycleStateStandby, 18381 LifecycleStateWarmedPending, 18382 LifecycleStateWarmedPendingWait, 18383 LifecycleStateWarmedPendingProceed, 18384 LifecycleStateWarmedTerminating, 18385 LifecycleStateWarmedTerminatingWait, 18386 LifecycleStateWarmedTerminatingProceed, 18387 LifecycleStateWarmedTerminated, 18388 LifecycleStateWarmedStopped, 18389 LifecycleStateWarmedRunning, 18390 } 18391 } 18392 18393 const ( 18394 // MetricStatisticAverage is a MetricStatistic enum value 18395 MetricStatisticAverage = "Average" 18396 18397 // MetricStatisticMinimum is a MetricStatistic enum value 18398 MetricStatisticMinimum = "Minimum" 18399 18400 // MetricStatisticMaximum is a MetricStatistic enum value 18401 MetricStatisticMaximum = "Maximum" 18402 18403 // MetricStatisticSampleCount is a MetricStatistic enum value 18404 MetricStatisticSampleCount = "SampleCount" 18405 18406 // MetricStatisticSum is a MetricStatistic enum value 18407 MetricStatisticSum = "Sum" 18408 ) 18409 18410 // MetricStatistic_Values returns all elements of the MetricStatistic enum 18411 func MetricStatistic_Values() []string { 18412 return []string{ 18413 MetricStatisticAverage, 18414 MetricStatisticMinimum, 18415 MetricStatisticMaximum, 18416 MetricStatisticSampleCount, 18417 MetricStatisticSum, 18418 } 18419 } 18420 18421 const ( 18422 // MetricTypeAsgaverageCpuutilization is a MetricType enum value 18423 MetricTypeAsgaverageCpuutilization = "ASGAverageCPUUtilization" 18424 18425 // MetricTypeAsgaverageNetworkIn is a MetricType enum value 18426 MetricTypeAsgaverageNetworkIn = "ASGAverageNetworkIn" 18427 18428 // MetricTypeAsgaverageNetworkOut is a MetricType enum value 18429 MetricTypeAsgaverageNetworkOut = "ASGAverageNetworkOut" 18430 18431 // MetricTypeAlbrequestCountPerTarget is a MetricType enum value 18432 MetricTypeAlbrequestCountPerTarget = "ALBRequestCountPerTarget" 18433 ) 18434 18435 // MetricType_Values returns all elements of the MetricType enum 18436 func MetricType_Values() []string { 18437 return []string{ 18438 MetricTypeAsgaverageCpuutilization, 18439 MetricTypeAsgaverageNetworkIn, 18440 MetricTypeAsgaverageNetworkOut, 18441 MetricTypeAlbrequestCountPerTarget, 18442 } 18443 } 18444 18445 const ( 18446 // PredefinedLoadMetricTypeAsgtotalCpuutilization is a PredefinedLoadMetricType enum value 18447 PredefinedLoadMetricTypeAsgtotalCpuutilization = "ASGTotalCPUUtilization" 18448 18449 // PredefinedLoadMetricTypeAsgtotalNetworkIn is a PredefinedLoadMetricType enum value 18450 PredefinedLoadMetricTypeAsgtotalNetworkIn = "ASGTotalNetworkIn" 18451 18452 // PredefinedLoadMetricTypeAsgtotalNetworkOut is a PredefinedLoadMetricType enum value 18453 PredefinedLoadMetricTypeAsgtotalNetworkOut = "ASGTotalNetworkOut" 18454 18455 // PredefinedLoadMetricTypeAlbtargetGroupRequestCount is a PredefinedLoadMetricType enum value 18456 PredefinedLoadMetricTypeAlbtargetGroupRequestCount = "ALBTargetGroupRequestCount" 18457 ) 18458 18459 // PredefinedLoadMetricType_Values returns all elements of the PredefinedLoadMetricType enum 18460 func PredefinedLoadMetricType_Values() []string { 18461 return []string{ 18462 PredefinedLoadMetricTypeAsgtotalCpuutilization, 18463 PredefinedLoadMetricTypeAsgtotalNetworkIn, 18464 PredefinedLoadMetricTypeAsgtotalNetworkOut, 18465 PredefinedLoadMetricTypeAlbtargetGroupRequestCount, 18466 } 18467 } 18468 18469 const ( 18470 // PredefinedMetricPairTypeAsgcpuutilization is a PredefinedMetricPairType enum value 18471 PredefinedMetricPairTypeAsgcpuutilization = "ASGCPUUtilization" 18472 18473 // PredefinedMetricPairTypeAsgnetworkIn is a PredefinedMetricPairType enum value 18474 PredefinedMetricPairTypeAsgnetworkIn = "ASGNetworkIn" 18475 18476 // PredefinedMetricPairTypeAsgnetworkOut is a PredefinedMetricPairType enum value 18477 PredefinedMetricPairTypeAsgnetworkOut = "ASGNetworkOut" 18478 18479 // PredefinedMetricPairTypeAlbrequestCount is a PredefinedMetricPairType enum value 18480 PredefinedMetricPairTypeAlbrequestCount = "ALBRequestCount" 18481 ) 18482 18483 // PredefinedMetricPairType_Values returns all elements of the PredefinedMetricPairType enum 18484 func PredefinedMetricPairType_Values() []string { 18485 return []string{ 18486 PredefinedMetricPairTypeAsgcpuutilization, 18487 PredefinedMetricPairTypeAsgnetworkIn, 18488 PredefinedMetricPairTypeAsgnetworkOut, 18489 PredefinedMetricPairTypeAlbrequestCount, 18490 } 18491 } 18492 18493 const ( 18494 // PredefinedScalingMetricTypeAsgaverageCpuutilization is a PredefinedScalingMetricType enum value 18495 PredefinedScalingMetricTypeAsgaverageCpuutilization = "ASGAverageCPUUtilization" 18496 18497 // PredefinedScalingMetricTypeAsgaverageNetworkIn is a PredefinedScalingMetricType enum value 18498 PredefinedScalingMetricTypeAsgaverageNetworkIn = "ASGAverageNetworkIn" 18499 18500 // PredefinedScalingMetricTypeAsgaverageNetworkOut is a PredefinedScalingMetricType enum value 18501 PredefinedScalingMetricTypeAsgaverageNetworkOut = "ASGAverageNetworkOut" 18502 18503 // PredefinedScalingMetricTypeAlbrequestCountPerTarget is a PredefinedScalingMetricType enum value 18504 PredefinedScalingMetricTypeAlbrequestCountPerTarget = "ALBRequestCountPerTarget" 18505 ) 18506 18507 // PredefinedScalingMetricType_Values returns all elements of the PredefinedScalingMetricType enum 18508 func PredefinedScalingMetricType_Values() []string { 18509 return []string{ 18510 PredefinedScalingMetricTypeAsgaverageCpuutilization, 18511 PredefinedScalingMetricTypeAsgaverageNetworkIn, 18512 PredefinedScalingMetricTypeAsgaverageNetworkOut, 18513 PredefinedScalingMetricTypeAlbrequestCountPerTarget, 18514 } 18515 } 18516 18517 const ( 18518 // PredictiveScalingMaxCapacityBreachBehaviorHonorMaxCapacity is a PredictiveScalingMaxCapacityBreachBehavior enum value 18519 PredictiveScalingMaxCapacityBreachBehaviorHonorMaxCapacity = "HonorMaxCapacity" 18520 18521 // PredictiveScalingMaxCapacityBreachBehaviorIncreaseMaxCapacity is a PredictiveScalingMaxCapacityBreachBehavior enum value 18522 PredictiveScalingMaxCapacityBreachBehaviorIncreaseMaxCapacity = "IncreaseMaxCapacity" 18523 ) 18524 18525 // PredictiveScalingMaxCapacityBreachBehavior_Values returns all elements of the PredictiveScalingMaxCapacityBreachBehavior enum 18526 func PredictiveScalingMaxCapacityBreachBehavior_Values() []string { 18527 return []string{ 18528 PredictiveScalingMaxCapacityBreachBehaviorHonorMaxCapacity, 18529 PredictiveScalingMaxCapacityBreachBehaviorIncreaseMaxCapacity, 18530 } 18531 } 18532 18533 const ( 18534 // PredictiveScalingModeForecastAndScale is a PredictiveScalingMode enum value 18535 PredictiveScalingModeForecastAndScale = "ForecastAndScale" 18536 18537 // PredictiveScalingModeForecastOnly is a PredictiveScalingMode enum value 18538 PredictiveScalingModeForecastOnly = "ForecastOnly" 18539 ) 18540 18541 // PredictiveScalingMode_Values returns all elements of the PredictiveScalingMode enum 18542 func PredictiveScalingMode_Values() []string { 18543 return []string{ 18544 PredictiveScalingModeForecastAndScale, 18545 PredictiveScalingModeForecastOnly, 18546 } 18547 } 18548 18549 const ( 18550 // RefreshStrategyRolling is a RefreshStrategy enum value 18551 RefreshStrategyRolling = "Rolling" 18552 ) 18553 18554 // RefreshStrategy_Values returns all elements of the RefreshStrategy enum 18555 func RefreshStrategy_Values() []string { 18556 return []string{ 18557 RefreshStrategyRolling, 18558 } 18559 } 18560 18561 const ( 18562 // ScalingActivityStatusCodePendingSpotBidPlacement is a ScalingActivityStatusCode enum value 18563 ScalingActivityStatusCodePendingSpotBidPlacement = "PendingSpotBidPlacement" 18564 18565 // ScalingActivityStatusCodeWaitingForSpotInstanceRequestId is a ScalingActivityStatusCode enum value 18566 ScalingActivityStatusCodeWaitingForSpotInstanceRequestId = "WaitingForSpotInstanceRequestId" 18567 18568 // ScalingActivityStatusCodeWaitingForSpotInstanceId is a ScalingActivityStatusCode enum value 18569 ScalingActivityStatusCodeWaitingForSpotInstanceId = "WaitingForSpotInstanceId" 18570 18571 // ScalingActivityStatusCodeWaitingForInstanceId is a ScalingActivityStatusCode enum value 18572 ScalingActivityStatusCodeWaitingForInstanceId = "WaitingForInstanceId" 18573 18574 // ScalingActivityStatusCodePreInService is a ScalingActivityStatusCode enum value 18575 ScalingActivityStatusCodePreInService = "PreInService" 18576 18577 // ScalingActivityStatusCodeInProgress is a ScalingActivityStatusCode enum value 18578 ScalingActivityStatusCodeInProgress = "InProgress" 18579 18580 // ScalingActivityStatusCodeWaitingForElbconnectionDraining is a ScalingActivityStatusCode enum value 18581 ScalingActivityStatusCodeWaitingForElbconnectionDraining = "WaitingForELBConnectionDraining" 18582 18583 // ScalingActivityStatusCodeMidLifecycleAction is a ScalingActivityStatusCode enum value 18584 ScalingActivityStatusCodeMidLifecycleAction = "MidLifecycleAction" 18585 18586 // ScalingActivityStatusCodeWaitingForInstanceWarmup is a ScalingActivityStatusCode enum value 18587 ScalingActivityStatusCodeWaitingForInstanceWarmup = "WaitingForInstanceWarmup" 18588 18589 // ScalingActivityStatusCodeSuccessful is a ScalingActivityStatusCode enum value 18590 ScalingActivityStatusCodeSuccessful = "Successful" 18591 18592 // ScalingActivityStatusCodeFailed is a ScalingActivityStatusCode enum value 18593 ScalingActivityStatusCodeFailed = "Failed" 18594 18595 // ScalingActivityStatusCodeCancelled is a ScalingActivityStatusCode enum value 18596 ScalingActivityStatusCodeCancelled = "Cancelled" 18597 ) 18598 18599 // ScalingActivityStatusCode_Values returns all elements of the ScalingActivityStatusCode enum 18600 func ScalingActivityStatusCode_Values() []string { 18601 return []string{ 18602 ScalingActivityStatusCodePendingSpotBidPlacement, 18603 ScalingActivityStatusCodeWaitingForSpotInstanceRequestId, 18604 ScalingActivityStatusCodeWaitingForSpotInstanceId, 18605 ScalingActivityStatusCodeWaitingForInstanceId, 18606 ScalingActivityStatusCodePreInService, 18607 ScalingActivityStatusCodeInProgress, 18608 ScalingActivityStatusCodeWaitingForElbconnectionDraining, 18609 ScalingActivityStatusCodeMidLifecycleAction, 18610 ScalingActivityStatusCodeWaitingForInstanceWarmup, 18611 ScalingActivityStatusCodeSuccessful, 18612 ScalingActivityStatusCodeFailed, 18613 ScalingActivityStatusCodeCancelled, 18614 } 18615 } 18616 18617 const ( 18618 // WarmPoolStateStopped is a WarmPoolState enum value 18619 WarmPoolStateStopped = "Stopped" 18620 18621 // WarmPoolStateRunning is a WarmPoolState enum value 18622 WarmPoolStateRunning = "Running" 18623 ) 18624 18625 // WarmPoolState_Values returns all elements of the WarmPoolState enum 18626 func WarmPoolState_Values() []string { 18627 return []string{ 18628 WarmPoolStateStopped, 18629 WarmPoolStateRunning, 18630 } 18631 } 18632 18633 const ( 18634 // WarmPoolStatusPendingDelete is a WarmPoolStatus enum value 18635 WarmPoolStatusPendingDelete = "PendingDelete" 18636 ) 18637 18638 // WarmPoolStatus_Values returns all elements of the WarmPoolStatus enum 18639 func WarmPoolStatus_Values() []string { 18640 return []string{ 18641 WarmPoolStatusPendingDelete, 18642 } 18643 }