github.com/aavshr/aws-sdk-go@v1.41.3/service/applicationautoscaling/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package applicationautoscaling 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/jsonrpc" 14 ) 15 16 const opDeleteScalingPolicy = "DeleteScalingPolicy" 17 18 // DeleteScalingPolicyRequest generates a "aws/request.Request" representing the 19 // client's request for the DeleteScalingPolicy 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 DeleteScalingPolicy for more information on using the DeleteScalingPolicy 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 DeleteScalingPolicyRequest method. 34 // req, resp := client.DeleteScalingPolicyRequest(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/application-autoscaling-2016-02-06/DeleteScalingPolicy 42 func (c *ApplicationAutoScaling) DeleteScalingPolicyRequest(input *DeleteScalingPolicyInput) (req *request.Request, output *DeleteScalingPolicyOutput) { 43 op := &request.Operation{ 44 Name: opDeleteScalingPolicy, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &DeleteScalingPolicyInput{} 51 } 52 53 output = &DeleteScalingPolicyOutput{} 54 req = c.newRequest(op, input, output) 55 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 56 return 57 } 58 59 // DeleteScalingPolicy API operation for Application Auto Scaling. 60 // 61 // Deletes the specified scaling policy for an Application Auto Scaling scalable 62 // target. 63 // 64 // Deleting a step scaling policy deletes the underlying alarm action, but does 65 // not delete the CloudWatch alarm associated with the scaling policy, even 66 // if it no longer has an associated action. 67 // 68 // For more information, see Delete a step scaling policy (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html#delete-step-scaling-policy) 69 // and Delete a target tracking scaling policy (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html#delete-target-tracking-policy) 70 // in the Application Auto Scaling User Guide. 71 // 72 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 73 // with awserr.Error's Code and Message methods to get detailed information about 74 // the error. 75 // 76 // See the AWS API reference guide for Application Auto Scaling's 77 // API operation DeleteScalingPolicy for usage and error information. 78 // 79 // Returned Error Types: 80 // * ValidationException 81 // An exception was thrown for a validation issue. Review the available parameters 82 // for the API request. 83 // 84 // * ObjectNotFoundException 85 // The specified object could not be found. For any operation that depends on 86 // the existence of a scalable target, this exception is thrown if the scalable 87 // target with the specified service namespace, resource ID, and scalable dimension 88 // does not exist. For any operation that deletes or deregisters a resource, 89 // this exception is thrown if the resource cannot be found. 90 // 91 // * ConcurrentUpdateException 92 // Concurrent updates caused an exception, for example, if you request an update 93 // to an Application Auto Scaling resource that already has a pending update. 94 // 95 // * InternalServiceException 96 // The service encountered an internal error. 97 // 98 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeleteScalingPolicy 99 func (c *ApplicationAutoScaling) DeleteScalingPolicy(input *DeleteScalingPolicyInput) (*DeleteScalingPolicyOutput, error) { 100 req, out := c.DeleteScalingPolicyRequest(input) 101 return out, req.Send() 102 } 103 104 // DeleteScalingPolicyWithContext is the same as DeleteScalingPolicy with the addition of 105 // the ability to pass a context and additional request options. 106 // 107 // See DeleteScalingPolicy for details on how to use this API operation. 108 // 109 // The context must be non-nil and will be used for request cancellation. If 110 // the context is nil a panic will occur. In the future the SDK may create 111 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 112 // for more information on using Contexts. 113 func (c *ApplicationAutoScaling) DeleteScalingPolicyWithContext(ctx aws.Context, input *DeleteScalingPolicyInput, opts ...request.Option) (*DeleteScalingPolicyOutput, error) { 114 req, out := c.DeleteScalingPolicyRequest(input) 115 req.SetContext(ctx) 116 req.ApplyOptions(opts...) 117 return out, req.Send() 118 } 119 120 const opDeleteScheduledAction = "DeleteScheduledAction" 121 122 // DeleteScheduledActionRequest generates a "aws/request.Request" representing the 123 // client's request for the DeleteScheduledAction operation. The "output" return 124 // value will be populated with the request's response once the request completes 125 // successfully. 126 // 127 // Use "Send" method on the returned Request to send the API call to the service. 128 // the "output" return value is not valid until after Send returns without error. 129 // 130 // See DeleteScheduledAction for more information on using the DeleteScheduledAction 131 // API call, and error handling. 132 // 133 // This method is useful when you want to inject custom logic or configuration 134 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 135 // 136 // 137 // // Example sending a request using the DeleteScheduledActionRequest method. 138 // req, resp := client.DeleteScheduledActionRequest(params) 139 // 140 // err := req.Send() 141 // if err == nil { // resp is now filled 142 // fmt.Println(resp) 143 // } 144 // 145 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeleteScheduledAction 146 func (c *ApplicationAutoScaling) DeleteScheduledActionRequest(input *DeleteScheduledActionInput) (req *request.Request, output *DeleteScheduledActionOutput) { 147 op := &request.Operation{ 148 Name: opDeleteScheduledAction, 149 HTTPMethod: "POST", 150 HTTPPath: "/", 151 } 152 153 if input == nil { 154 input = &DeleteScheduledActionInput{} 155 } 156 157 output = &DeleteScheduledActionOutput{} 158 req = c.newRequest(op, input, output) 159 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 160 return 161 } 162 163 // DeleteScheduledAction API operation for Application Auto Scaling. 164 // 165 // Deletes the specified scheduled action for an Application Auto Scaling scalable 166 // target. 167 // 168 // For more information, see Delete a scheduled action (https://docs.aws.amazon.com/autoscaling/application/userguide/scheduled-scaling-additional-cli-commands.html#delete-scheduled-action) 169 // in the Application Auto Scaling User Guide. 170 // 171 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 172 // with awserr.Error's Code and Message methods to get detailed information about 173 // the error. 174 // 175 // See the AWS API reference guide for Application Auto Scaling's 176 // API operation DeleteScheduledAction for usage and error information. 177 // 178 // Returned Error Types: 179 // * ValidationException 180 // An exception was thrown for a validation issue. Review the available parameters 181 // for the API request. 182 // 183 // * ObjectNotFoundException 184 // The specified object could not be found. For any operation that depends on 185 // the existence of a scalable target, this exception is thrown if the scalable 186 // target with the specified service namespace, resource ID, and scalable dimension 187 // does not exist. For any operation that deletes or deregisters a resource, 188 // this exception is thrown if the resource cannot be found. 189 // 190 // * ConcurrentUpdateException 191 // Concurrent updates caused an exception, for example, if you request an update 192 // to an Application Auto Scaling resource that already has a pending update. 193 // 194 // * InternalServiceException 195 // The service encountered an internal error. 196 // 197 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeleteScheduledAction 198 func (c *ApplicationAutoScaling) DeleteScheduledAction(input *DeleteScheduledActionInput) (*DeleteScheduledActionOutput, error) { 199 req, out := c.DeleteScheduledActionRequest(input) 200 return out, req.Send() 201 } 202 203 // DeleteScheduledActionWithContext is the same as DeleteScheduledAction with the addition of 204 // the ability to pass a context and additional request options. 205 // 206 // See DeleteScheduledAction for details on how to use this API operation. 207 // 208 // The context must be non-nil and will be used for request cancellation. If 209 // the context is nil a panic will occur. In the future the SDK may create 210 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 211 // for more information on using Contexts. 212 func (c *ApplicationAutoScaling) DeleteScheduledActionWithContext(ctx aws.Context, input *DeleteScheduledActionInput, opts ...request.Option) (*DeleteScheduledActionOutput, error) { 213 req, out := c.DeleteScheduledActionRequest(input) 214 req.SetContext(ctx) 215 req.ApplyOptions(opts...) 216 return out, req.Send() 217 } 218 219 const opDeregisterScalableTarget = "DeregisterScalableTarget" 220 221 // DeregisterScalableTargetRequest generates a "aws/request.Request" representing the 222 // client's request for the DeregisterScalableTarget operation. The "output" return 223 // value will be populated with the request's response once the request completes 224 // successfully. 225 // 226 // Use "Send" method on the returned Request to send the API call to the service. 227 // the "output" return value is not valid until after Send returns without error. 228 // 229 // See DeregisterScalableTarget for more information on using the DeregisterScalableTarget 230 // API call, and error handling. 231 // 232 // This method is useful when you want to inject custom logic or configuration 233 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 234 // 235 // 236 // // Example sending a request using the DeregisterScalableTargetRequest method. 237 // req, resp := client.DeregisterScalableTargetRequest(params) 238 // 239 // err := req.Send() 240 // if err == nil { // resp is now filled 241 // fmt.Println(resp) 242 // } 243 // 244 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeregisterScalableTarget 245 func (c *ApplicationAutoScaling) DeregisterScalableTargetRequest(input *DeregisterScalableTargetInput) (req *request.Request, output *DeregisterScalableTargetOutput) { 246 op := &request.Operation{ 247 Name: opDeregisterScalableTarget, 248 HTTPMethod: "POST", 249 HTTPPath: "/", 250 } 251 252 if input == nil { 253 input = &DeregisterScalableTargetInput{} 254 } 255 256 output = &DeregisterScalableTargetOutput{} 257 req = c.newRequest(op, input, output) 258 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 259 return 260 } 261 262 // DeregisterScalableTarget API operation for Application Auto Scaling. 263 // 264 // Deregisters an Application Auto Scaling scalable target when you have finished 265 // using it. To see which resources have been registered, use DescribeScalableTargets 266 // (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html). 267 // 268 // Deregistering a scalable target deletes the scaling policies and the scheduled 269 // actions that are associated with it. 270 // 271 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 272 // with awserr.Error's Code and Message methods to get detailed information about 273 // the error. 274 // 275 // See the AWS API reference guide for Application Auto Scaling's 276 // API operation DeregisterScalableTarget for usage and error information. 277 // 278 // Returned Error Types: 279 // * ValidationException 280 // An exception was thrown for a validation issue. Review the available parameters 281 // for the API request. 282 // 283 // * ObjectNotFoundException 284 // The specified object could not be found. For any operation that depends on 285 // the existence of a scalable target, this exception is thrown if the scalable 286 // target with the specified service namespace, resource ID, and scalable dimension 287 // does not exist. For any operation that deletes or deregisters a resource, 288 // this exception is thrown if the resource cannot be found. 289 // 290 // * ConcurrentUpdateException 291 // Concurrent updates caused an exception, for example, if you request an update 292 // to an Application Auto Scaling resource that already has a pending update. 293 // 294 // * InternalServiceException 295 // The service encountered an internal error. 296 // 297 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeregisterScalableTarget 298 func (c *ApplicationAutoScaling) DeregisterScalableTarget(input *DeregisterScalableTargetInput) (*DeregisterScalableTargetOutput, error) { 299 req, out := c.DeregisterScalableTargetRequest(input) 300 return out, req.Send() 301 } 302 303 // DeregisterScalableTargetWithContext is the same as DeregisterScalableTarget with the addition of 304 // the ability to pass a context and additional request options. 305 // 306 // See DeregisterScalableTarget for details on how to use this API operation. 307 // 308 // The context must be non-nil and will be used for request cancellation. If 309 // the context is nil a panic will occur. In the future the SDK may create 310 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 311 // for more information on using Contexts. 312 func (c *ApplicationAutoScaling) DeregisterScalableTargetWithContext(ctx aws.Context, input *DeregisterScalableTargetInput, opts ...request.Option) (*DeregisterScalableTargetOutput, error) { 313 req, out := c.DeregisterScalableTargetRequest(input) 314 req.SetContext(ctx) 315 req.ApplyOptions(opts...) 316 return out, req.Send() 317 } 318 319 const opDescribeScalableTargets = "DescribeScalableTargets" 320 321 // DescribeScalableTargetsRequest generates a "aws/request.Request" representing the 322 // client's request for the DescribeScalableTargets operation. The "output" return 323 // value will be populated with the request's response once the request completes 324 // successfully. 325 // 326 // Use "Send" method on the returned Request to send the API call to the service. 327 // the "output" return value is not valid until after Send returns without error. 328 // 329 // See DescribeScalableTargets for more information on using the DescribeScalableTargets 330 // API call, and error handling. 331 // 332 // This method is useful when you want to inject custom logic or configuration 333 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 334 // 335 // 336 // // Example sending a request using the DescribeScalableTargetsRequest method. 337 // req, resp := client.DescribeScalableTargetsRequest(params) 338 // 339 // err := req.Send() 340 // if err == nil { // resp is now filled 341 // fmt.Println(resp) 342 // } 343 // 344 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScalableTargets 345 func (c *ApplicationAutoScaling) DescribeScalableTargetsRequest(input *DescribeScalableTargetsInput) (req *request.Request, output *DescribeScalableTargetsOutput) { 346 op := &request.Operation{ 347 Name: opDescribeScalableTargets, 348 HTTPMethod: "POST", 349 HTTPPath: "/", 350 Paginator: &request.Paginator{ 351 InputTokens: []string{"NextToken"}, 352 OutputTokens: []string{"NextToken"}, 353 LimitToken: "MaxResults", 354 TruncationToken: "", 355 }, 356 } 357 358 if input == nil { 359 input = &DescribeScalableTargetsInput{} 360 } 361 362 output = &DescribeScalableTargetsOutput{} 363 req = c.newRequest(op, input, output) 364 return 365 } 366 367 // DescribeScalableTargets API operation for Application Auto Scaling. 368 // 369 // Gets information about the scalable targets in the specified namespace. 370 // 371 // You can filter the results using ResourceIds and ScalableDimension. 372 // 373 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 374 // with awserr.Error's Code and Message methods to get detailed information about 375 // the error. 376 // 377 // See the AWS API reference guide for Application Auto Scaling's 378 // API operation DescribeScalableTargets for usage and error information. 379 // 380 // Returned Error Types: 381 // * ValidationException 382 // An exception was thrown for a validation issue. Review the available parameters 383 // for the API request. 384 // 385 // * InvalidNextTokenException 386 // The next token supplied was invalid. 387 // 388 // * ConcurrentUpdateException 389 // Concurrent updates caused an exception, for example, if you request an update 390 // to an Application Auto Scaling resource that already has a pending update. 391 // 392 // * InternalServiceException 393 // The service encountered an internal error. 394 // 395 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScalableTargets 396 func (c *ApplicationAutoScaling) DescribeScalableTargets(input *DescribeScalableTargetsInput) (*DescribeScalableTargetsOutput, error) { 397 req, out := c.DescribeScalableTargetsRequest(input) 398 return out, req.Send() 399 } 400 401 // DescribeScalableTargetsWithContext is the same as DescribeScalableTargets with the addition of 402 // the ability to pass a context and additional request options. 403 // 404 // See DescribeScalableTargets for details on how to use this API operation. 405 // 406 // The context must be non-nil and will be used for request cancellation. If 407 // the context is nil a panic will occur. In the future the SDK may create 408 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 409 // for more information on using Contexts. 410 func (c *ApplicationAutoScaling) DescribeScalableTargetsWithContext(ctx aws.Context, input *DescribeScalableTargetsInput, opts ...request.Option) (*DescribeScalableTargetsOutput, error) { 411 req, out := c.DescribeScalableTargetsRequest(input) 412 req.SetContext(ctx) 413 req.ApplyOptions(opts...) 414 return out, req.Send() 415 } 416 417 // DescribeScalableTargetsPages iterates over the pages of a DescribeScalableTargets operation, 418 // calling the "fn" function with the response data for each page. To stop 419 // iterating, return false from the fn function. 420 // 421 // See DescribeScalableTargets method for more information on how to use this operation. 422 // 423 // Note: This operation can generate multiple requests to a service. 424 // 425 // // Example iterating over at most 3 pages of a DescribeScalableTargets operation. 426 // pageNum := 0 427 // err := client.DescribeScalableTargetsPages(params, 428 // func(page *applicationautoscaling.DescribeScalableTargetsOutput, lastPage bool) bool { 429 // pageNum++ 430 // fmt.Println(page) 431 // return pageNum <= 3 432 // }) 433 // 434 func (c *ApplicationAutoScaling) DescribeScalableTargetsPages(input *DescribeScalableTargetsInput, fn func(*DescribeScalableTargetsOutput, bool) bool) error { 435 return c.DescribeScalableTargetsPagesWithContext(aws.BackgroundContext(), input, fn) 436 } 437 438 // DescribeScalableTargetsPagesWithContext same as DescribeScalableTargetsPages except 439 // it takes a Context and allows setting request options on the pages. 440 // 441 // The context must be non-nil and will be used for request cancellation. If 442 // the context is nil a panic will occur. In the future the SDK may create 443 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 444 // for more information on using Contexts. 445 func (c *ApplicationAutoScaling) DescribeScalableTargetsPagesWithContext(ctx aws.Context, input *DescribeScalableTargetsInput, fn func(*DescribeScalableTargetsOutput, bool) bool, opts ...request.Option) error { 446 p := request.Pagination{ 447 NewRequest: func() (*request.Request, error) { 448 var inCpy *DescribeScalableTargetsInput 449 if input != nil { 450 tmp := *input 451 inCpy = &tmp 452 } 453 req, _ := c.DescribeScalableTargetsRequest(inCpy) 454 req.SetContext(ctx) 455 req.ApplyOptions(opts...) 456 return req, nil 457 }, 458 } 459 460 for p.Next() { 461 if !fn(p.Page().(*DescribeScalableTargetsOutput), !p.HasNextPage()) { 462 break 463 } 464 } 465 466 return p.Err() 467 } 468 469 const opDescribeScalingActivities = "DescribeScalingActivities" 470 471 // DescribeScalingActivitiesRequest generates a "aws/request.Request" representing the 472 // client's request for the DescribeScalingActivities operation. The "output" return 473 // value will be populated with the request's response once the request completes 474 // successfully. 475 // 476 // Use "Send" method on the returned Request to send the API call to the service. 477 // the "output" return value is not valid until after Send returns without error. 478 // 479 // See DescribeScalingActivities for more information on using the DescribeScalingActivities 480 // API call, and error handling. 481 // 482 // This method is useful when you want to inject custom logic or configuration 483 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 484 // 485 // 486 // // Example sending a request using the DescribeScalingActivitiesRequest method. 487 // req, resp := client.DescribeScalingActivitiesRequest(params) 488 // 489 // err := req.Send() 490 // if err == nil { // resp is now filled 491 // fmt.Println(resp) 492 // } 493 // 494 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScalingActivities 495 func (c *ApplicationAutoScaling) DescribeScalingActivitiesRequest(input *DescribeScalingActivitiesInput) (req *request.Request, output *DescribeScalingActivitiesOutput) { 496 op := &request.Operation{ 497 Name: opDescribeScalingActivities, 498 HTTPMethod: "POST", 499 HTTPPath: "/", 500 Paginator: &request.Paginator{ 501 InputTokens: []string{"NextToken"}, 502 OutputTokens: []string{"NextToken"}, 503 LimitToken: "MaxResults", 504 TruncationToken: "", 505 }, 506 } 507 508 if input == nil { 509 input = &DescribeScalingActivitiesInput{} 510 } 511 512 output = &DescribeScalingActivitiesOutput{} 513 req = c.newRequest(op, input, output) 514 return 515 } 516 517 // DescribeScalingActivities API operation for Application Auto Scaling. 518 // 519 // Provides descriptive information about the scaling activities in the specified 520 // namespace from the previous six weeks. 521 // 522 // You can filter the results using ResourceId and ScalableDimension. 523 // 524 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 525 // with awserr.Error's Code and Message methods to get detailed information about 526 // the error. 527 // 528 // See the AWS API reference guide for Application Auto Scaling's 529 // API operation DescribeScalingActivities for usage and error information. 530 // 531 // Returned Error Types: 532 // * ValidationException 533 // An exception was thrown for a validation issue. Review the available parameters 534 // for the API request. 535 // 536 // * InvalidNextTokenException 537 // The next token supplied was invalid. 538 // 539 // * ConcurrentUpdateException 540 // Concurrent updates caused an exception, for example, if you request an update 541 // to an Application Auto Scaling resource that already has a pending update. 542 // 543 // * InternalServiceException 544 // The service encountered an internal error. 545 // 546 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScalingActivities 547 func (c *ApplicationAutoScaling) DescribeScalingActivities(input *DescribeScalingActivitiesInput) (*DescribeScalingActivitiesOutput, error) { 548 req, out := c.DescribeScalingActivitiesRequest(input) 549 return out, req.Send() 550 } 551 552 // DescribeScalingActivitiesWithContext is the same as DescribeScalingActivities with the addition of 553 // the ability to pass a context and additional request options. 554 // 555 // See DescribeScalingActivities for details on how to use this API operation. 556 // 557 // The context must be non-nil and will be used for request cancellation. If 558 // the context is nil a panic will occur. In the future the SDK may create 559 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 560 // for more information on using Contexts. 561 func (c *ApplicationAutoScaling) DescribeScalingActivitiesWithContext(ctx aws.Context, input *DescribeScalingActivitiesInput, opts ...request.Option) (*DescribeScalingActivitiesOutput, error) { 562 req, out := c.DescribeScalingActivitiesRequest(input) 563 req.SetContext(ctx) 564 req.ApplyOptions(opts...) 565 return out, req.Send() 566 } 567 568 // DescribeScalingActivitiesPages iterates over the pages of a DescribeScalingActivities operation, 569 // calling the "fn" function with the response data for each page. To stop 570 // iterating, return false from the fn function. 571 // 572 // See DescribeScalingActivities method for more information on how to use this operation. 573 // 574 // Note: This operation can generate multiple requests to a service. 575 // 576 // // Example iterating over at most 3 pages of a DescribeScalingActivities operation. 577 // pageNum := 0 578 // err := client.DescribeScalingActivitiesPages(params, 579 // func(page *applicationautoscaling.DescribeScalingActivitiesOutput, lastPage bool) bool { 580 // pageNum++ 581 // fmt.Println(page) 582 // return pageNum <= 3 583 // }) 584 // 585 func (c *ApplicationAutoScaling) DescribeScalingActivitiesPages(input *DescribeScalingActivitiesInput, fn func(*DescribeScalingActivitiesOutput, bool) bool) error { 586 return c.DescribeScalingActivitiesPagesWithContext(aws.BackgroundContext(), input, fn) 587 } 588 589 // DescribeScalingActivitiesPagesWithContext same as DescribeScalingActivitiesPages except 590 // it takes a Context and allows setting request options on the pages. 591 // 592 // The context must be non-nil and will be used for request cancellation. If 593 // the context is nil a panic will occur. In the future the SDK may create 594 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 595 // for more information on using Contexts. 596 func (c *ApplicationAutoScaling) DescribeScalingActivitiesPagesWithContext(ctx aws.Context, input *DescribeScalingActivitiesInput, fn func(*DescribeScalingActivitiesOutput, bool) bool, opts ...request.Option) error { 597 p := request.Pagination{ 598 NewRequest: func() (*request.Request, error) { 599 var inCpy *DescribeScalingActivitiesInput 600 if input != nil { 601 tmp := *input 602 inCpy = &tmp 603 } 604 req, _ := c.DescribeScalingActivitiesRequest(inCpy) 605 req.SetContext(ctx) 606 req.ApplyOptions(opts...) 607 return req, nil 608 }, 609 } 610 611 for p.Next() { 612 if !fn(p.Page().(*DescribeScalingActivitiesOutput), !p.HasNextPage()) { 613 break 614 } 615 } 616 617 return p.Err() 618 } 619 620 const opDescribeScalingPolicies = "DescribeScalingPolicies" 621 622 // DescribeScalingPoliciesRequest generates a "aws/request.Request" representing the 623 // client's request for the DescribeScalingPolicies operation. The "output" return 624 // value will be populated with the request's response once the request completes 625 // successfully. 626 // 627 // Use "Send" method on the returned Request to send the API call to the service. 628 // the "output" return value is not valid until after Send returns without error. 629 // 630 // See DescribeScalingPolicies for more information on using the DescribeScalingPolicies 631 // API call, and error handling. 632 // 633 // This method is useful when you want to inject custom logic or configuration 634 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 635 // 636 // 637 // // Example sending a request using the DescribeScalingPoliciesRequest method. 638 // req, resp := client.DescribeScalingPoliciesRequest(params) 639 // 640 // err := req.Send() 641 // if err == nil { // resp is now filled 642 // fmt.Println(resp) 643 // } 644 // 645 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScalingPolicies 646 func (c *ApplicationAutoScaling) DescribeScalingPoliciesRequest(input *DescribeScalingPoliciesInput) (req *request.Request, output *DescribeScalingPoliciesOutput) { 647 op := &request.Operation{ 648 Name: opDescribeScalingPolicies, 649 HTTPMethod: "POST", 650 HTTPPath: "/", 651 Paginator: &request.Paginator{ 652 InputTokens: []string{"NextToken"}, 653 OutputTokens: []string{"NextToken"}, 654 LimitToken: "MaxResults", 655 TruncationToken: "", 656 }, 657 } 658 659 if input == nil { 660 input = &DescribeScalingPoliciesInput{} 661 } 662 663 output = &DescribeScalingPoliciesOutput{} 664 req = c.newRequest(op, input, output) 665 return 666 } 667 668 // DescribeScalingPolicies API operation for Application Auto Scaling. 669 // 670 // Describes the Application Auto Scaling scaling policies for the specified 671 // service namespace. 672 // 673 // You can filter the results using ResourceId, ScalableDimension, and PolicyNames. 674 // 675 // For more information, see Target tracking scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) 676 // and Step scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) 677 // in the Application Auto Scaling User Guide. 678 // 679 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 680 // with awserr.Error's Code and Message methods to get detailed information about 681 // the error. 682 // 683 // See the AWS API reference guide for Application Auto Scaling's 684 // API operation DescribeScalingPolicies for usage and error information. 685 // 686 // Returned Error Types: 687 // * ValidationException 688 // An exception was thrown for a validation issue. Review the available parameters 689 // for the API request. 690 // 691 // * FailedResourceAccessException 692 // Failed access to resources caused an exception. This exception is thrown 693 // when Application Auto Scaling is unable to retrieve the alarms associated 694 // with a scaling policy due to a client error, for example, if the role ARN 695 // specified for a scalable target does not have permission to call the CloudWatch 696 // DescribeAlarms (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) 697 // on your behalf. 698 // 699 // * InvalidNextTokenException 700 // The next token supplied was invalid. 701 // 702 // * ConcurrentUpdateException 703 // Concurrent updates caused an exception, for example, if you request an update 704 // to an Application Auto Scaling resource that already has a pending update. 705 // 706 // * InternalServiceException 707 // The service encountered an internal error. 708 // 709 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScalingPolicies 710 func (c *ApplicationAutoScaling) DescribeScalingPolicies(input *DescribeScalingPoliciesInput) (*DescribeScalingPoliciesOutput, error) { 711 req, out := c.DescribeScalingPoliciesRequest(input) 712 return out, req.Send() 713 } 714 715 // DescribeScalingPoliciesWithContext is the same as DescribeScalingPolicies with the addition of 716 // the ability to pass a context and additional request options. 717 // 718 // See DescribeScalingPolicies for details on how to use this API operation. 719 // 720 // The context must be non-nil and will be used for request cancellation. If 721 // the context is nil a panic will occur. In the future the SDK may create 722 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 723 // for more information on using Contexts. 724 func (c *ApplicationAutoScaling) DescribeScalingPoliciesWithContext(ctx aws.Context, input *DescribeScalingPoliciesInput, opts ...request.Option) (*DescribeScalingPoliciesOutput, error) { 725 req, out := c.DescribeScalingPoliciesRequest(input) 726 req.SetContext(ctx) 727 req.ApplyOptions(opts...) 728 return out, req.Send() 729 } 730 731 // DescribeScalingPoliciesPages iterates over the pages of a DescribeScalingPolicies operation, 732 // calling the "fn" function with the response data for each page. To stop 733 // iterating, return false from the fn function. 734 // 735 // See DescribeScalingPolicies method for more information on how to use this operation. 736 // 737 // Note: This operation can generate multiple requests to a service. 738 // 739 // // Example iterating over at most 3 pages of a DescribeScalingPolicies operation. 740 // pageNum := 0 741 // err := client.DescribeScalingPoliciesPages(params, 742 // func(page *applicationautoscaling.DescribeScalingPoliciesOutput, lastPage bool) bool { 743 // pageNum++ 744 // fmt.Println(page) 745 // return pageNum <= 3 746 // }) 747 // 748 func (c *ApplicationAutoScaling) DescribeScalingPoliciesPages(input *DescribeScalingPoliciesInput, fn func(*DescribeScalingPoliciesOutput, bool) bool) error { 749 return c.DescribeScalingPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) 750 } 751 752 // DescribeScalingPoliciesPagesWithContext same as DescribeScalingPoliciesPages except 753 // it takes a Context and allows setting request options on the pages. 754 // 755 // The context must be non-nil and will be used for request cancellation. If 756 // the context is nil a panic will occur. In the future the SDK may create 757 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 758 // for more information on using Contexts. 759 func (c *ApplicationAutoScaling) DescribeScalingPoliciesPagesWithContext(ctx aws.Context, input *DescribeScalingPoliciesInput, fn func(*DescribeScalingPoliciesOutput, bool) bool, opts ...request.Option) error { 760 p := request.Pagination{ 761 NewRequest: func() (*request.Request, error) { 762 var inCpy *DescribeScalingPoliciesInput 763 if input != nil { 764 tmp := *input 765 inCpy = &tmp 766 } 767 req, _ := c.DescribeScalingPoliciesRequest(inCpy) 768 req.SetContext(ctx) 769 req.ApplyOptions(opts...) 770 return req, nil 771 }, 772 } 773 774 for p.Next() { 775 if !fn(p.Page().(*DescribeScalingPoliciesOutput), !p.HasNextPage()) { 776 break 777 } 778 } 779 780 return p.Err() 781 } 782 783 const opDescribeScheduledActions = "DescribeScheduledActions" 784 785 // DescribeScheduledActionsRequest generates a "aws/request.Request" representing the 786 // client's request for the DescribeScheduledActions operation. The "output" return 787 // value will be populated with the request's response once the request completes 788 // successfully. 789 // 790 // Use "Send" method on the returned Request to send the API call to the service. 791 // the "output" return value is not valid until after Send returns without error. 792 // 793 // See DescribeScheduledActions for more information on using the DescribeScheduledActions 794 // API call, and error handling. 795 // 796 // This method is useful when you want to inject custom logic or configuration 797 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 798 // 799 // 800 // // Example sending a request using the DescribeScheduledActionsRequest method. 801 // req, resp := client.DescribeScheduledActionsRequest(params) 802 // 803 // err := req.Send() 804 // if err == nil { // resp is now filled 805 // fmt.Println(resp) 806 // } 807 // 808 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScheduledActions 809 func (c *ApplicationAutoScaling) DescribeScheduledActionsRequest(input *DescribeScheduledActionsInput) (req *request.Request, output *DescribeScheduledActionsOutput) { 810 op := &request.Operation{ 811 Name: opDescribeScheduledActions, 812 HTTPMethod: "POST", 813 HTTPPath: "/", 814 Paginator: &request.Paginator{ 815 InputTokens: []string{"NextToken"}, 816 OutputTokens: []string{"NextToken"}, 817 LimitToken: "MaxResults", 818 TruncationToken: "", 819 }, 820 } 821 822 if input == nil { 823 input = &DescribeScheduledActionsInput{} 824 } 825 826 output = &DescribeScheduledActionsOutput{} 827 req = c.newRequest(op, input, output) 828 return 829 } 830 831 // DescribeScheduledActions API operation for Application Auto Scaling. 832 // 833 // Describes the Application Auto Scaling scheduled actions for the specified 834 // service namespace. 835 // 836 // You can filter the results using the ResourceId, ScalableDimension, and ScheduledActionNames 837 // parameters. 838 // 839 // For more information, see Scheduled scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html) 840 // and Managing scheduled scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/scheduled-scaling-additional-cli-commands.html) 841 // in the Application Auto Scaling User Guide. 842 // 843 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 844 // with awserr.Error's Code and Message methods to get detailed information about 845 // the error. 846 // 847 // See the AWS API reference guide for Application Auto Scaling's 848 // API operation DescribeScheduledActions for usage and error information. 849 // 850 // Returned Error Types: 851 // * ValidationException 852 // An exception was thrown for a validation issue. Review the available parameters 853 // for the API request. 854 // 855 // * InvalidNextTokenException 856 // The next token supplied was invalid. 857 // 858 // * ConcurrentUpdateException 859 // Concurrent updates caused an exception, for example, if you request an update 860 // to an Application Auto Scaling resource that already has a pending update. 861 // 862 // * InternalServiceException 863 // The service encountered an internal error. 864 // 865 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScheduledActions 866 func (c *ApplicationAutoScaling) DescribeScheduledActions(input *DescribeScheduledActionsInput) (*DescribeScheduledActionsOutput, error) { 867 req, out := c.DescribeScheduledActionsRequest(input) 868 return out, req.Send() 869 } 870 871 // DescribeScheduledActionsWithContext is the same as DescribeScheduledActions with the addition of 872 // the ability to pass a context and additional request options. 873 // 874 // See DescribeScheduledActions for details on how to use this API operation. 875 // 876 // The context must be non-nil and will be used for request cancellation. If 877 // the context is nil a panic will occur. In the future the SDK may create 878 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 879 // for more information on using Contexts. 880 func (c *ApplicationAutoScaling) DescribeScheduledActionsWithContext(ctx aws.Context, input *DescribeScheduledActionsInput, opts ...request.Option) (*DescribeScheduledActionsOutput, error) { 881 req, out := c.DescribeScheduledActionsRequest(input) 882 req.SetContext(ctx) 883 req.ApplyOptions(opts...) 884 return out, req.Send() 885 } 886 887 // DescribeScheduledActionsPages iterates over the pages of a DescribeScheduledActions operation, 888 // calling the "fn" function with the response data for each page. To stop 889 // iterating, return false from the fn function. 890 // 891 // See DescribeScheduledActions method for more information on how to use this operation. 892 // 893 // Note: This operation can generate multiple requests to a service. 894 // 895 // // Example iterating over at most 3 pages of a DescribeScheduledActions operation. 896 // pageNum := 0 897 // err := client.DescribeScheduledActionsPages(params, 898 // func(page *applicationautoscaling.DescribeScheduledActionsOutput, lastPage bool) bool { 899 // pageNum++ 900 // fmt.Println(page) 901 // return pageNum <= 3 902 // }) 903 // 904 func (c *ApplicationAutoScaling) DescribeScheduledActionsPages(input *DescribeScheduledActionsInput, fn func(*DescribeScheduledActionsOutput, bool) bool) error { 905 return c.DescribeScheduledActionsPagesWithContext(aws.BackgroundContext(), input, fn) 906 } 907 908 // DescribeScheduledActionsPagesWithContext same as DescribeScheduledActionsPages except 909 // it takes a Context and allows setting request options on the pages. 910 // 911 // The context must be non-nil and will be used for request cancellation. If 912 // the context is nil a panic will occur. In the future the SDK may create 913 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 914 // for more information on using Contexts. 915 func (c *ApplicationAutoScaling) DescribeScheduledActionsPagesWithContext(ctx aws.Context, input *DescribeScheduledActionsInput, fn func(*DescribeScheduledActionsOutput, bool) bool, opts ...request.Option) error { 916 p := request.Pagination{ 917 NewRequest: func() (*request.Request, error) { 918 var inCpy *DescribeScheduledActionsInput 919 if input != nil { 920 tmp := *input 921 inCpy = &tmp 922 } 923 req, _ := c.DescribeScheduledActionsRequest(inCpy) 924 req.SetContext(ctx) 925 req.ApplyOptions(opts...) 926 return req, nil 927 }, 928 } 929 930 for p.Next() { 931 if !fn(p.Page().(*DescribeScheduledActionsOutput), !p.HasNextPage()) { 932 break 933 } 934 } 935 936 return p.Err() 937 } 938 939 const opPutScalingPolicy = "PutScalingPolicy" 940 941 // PutScalingPolicyRequest generates a "aws/request.Request" representing the 942 // client's request for the PutScalingPolicy operation. The "output" return 943 // value will be populated with the request's response once the request completes 944 // successfully. 945 // 946 // Use "Send" method on the returned Request to send the API call to the service. 947 // the "output" return value is not valid until after Send returns without error. 948 // 949 // See PutScalingPolicy for more information on using the PutScalingPolicy 950 // API call, and error handling. 951 // 952 // This method is useful when you want to inject custom logic or configuration 953 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 954 // 955 // 956 // // Example sending a request using the PutScalingPolicyRequest method. 957 // req, resp := client.PutScalingPolicyRequest(params) 958 // 959 // err := req.Send() 960 // if err == nil { // resp is now filled 961 // fmt.Println(resp) 962 // } 963 // 964 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PutScalingPolicy 965 func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req *request.Request, output *PutScalingPolicyOutput) { 966 op := &request.Operation{ 967 Name: opPutScalingPolicy, 968 HTTPMethod: "POST", 969 HTTPPath: "/", 970 } 971 972 if input == nil { 973 input = &PutScalingPolicyInput{} 974 } 975 976 output = &PutScalingPolicyOutput{} 977 req = c.newRequest(op, input, output) 978 return 979 } 980 981 // PutScalingPolicy API operation for Application Auto Scaling. 982 // 983 // Creates or updates a scaling policy for an Application Auto Scaling scalable 984 // target. 985 // 986 // Each scalable target is identified by a service namespace, resource ID, and 987 // scalable dimension. A scaling policy applies to the scalable target identified 988 // by those three attributes. You cannot create a scaling policy until you have 989 // registered the resource as a scalable target. 990 // 991 // Multiple scaling policies can be in force at the same time for the same scalable 992 // target. You can have one or more target tracking scaling policies, one or 993 // more step scaling policies, or both. However, there is a chance that multiple 994 // policies could conflict, instructing the scalable target to scale out or 995 // in at the same time. Application Auto Scaling gives precedence to the policy 996 // that provides the largest capacity for both scale out and scale in. For example, 997 // if one policy increases capacity by 3, another policy increases capacity 998 // by 200 percent, and the current capacity is 10, Application Auto Scaling 999 // uses the policy with the highest calculated capacity (200% of 10 = 20) and 1000 // scales out to 30. 1001 // 1002 // We recommend caution, however, when using target tracking scaling policies 1003 // with step scaling policies because conflicts between these policies can cause 1004 // undesirable behavior. For example, if the step scaling policy initiates a 1005 // scale-in activity before the target tracking policy is ready to scale in, 1006 // the scale-in activity will not be blocked. After the scale-in activity completes, 1007 // the target tracking policy could instruct the scalable target to scale out 1008 // again. 1009 // 1010 // For more information, see Target tracking scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) 1011 // and Step scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) 1012 // in the Application Auto Scaling User Guide. 1013 // 1014 // If a scalable target is deregistered, the scalable target is no longer available 1015 // to execute scaling policies. Any scaling policies that were specified for 1016 // the scalable target are deleted. 1017 // 1018 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1019 // with awserr.Error's Code and Message methods to get detailed information about 1020 // the error. 1021 // 1022 // See the AWS API reference guide for Application Auto Scaling's 1023 // API operation PutScalingPolicy for usage and error information. 1024 // 1025 // Returned Error Types: 1026 // * ValidationException 1027 // An exception was thrown for a validation issue. Review the available parameters 1028 // for the API request. 1029 // 1030 // * LimitExceededException 1031 // A per-account resource limit is exceeded. For more information, see Application 1032 // Auto Scaling service quotas (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-limits.html). 1033 // 1034 // * ObjectNotFoundException 1035 // The specified object could not be found. For any operation that depends on 1036 // the existence of a scalable target, this exception is thrown if the scalable 1037 // target with the specified service namespace, resource ID, and scalable dimension 1038 // does not exist. For any operation that deletes or deregisters a resource, 1039 // this exception is thrown if the resource cannot be found. 1040 // 1041 // * ConcurrentUpdateException 1042 // Concurrent updates caused an exception, for example, if you request an update 1043 // to an Application Auto Scaling resource that already has a pending update. 1044 // 1045 // * FailedResourceAccessException 1046 // Failed access to resources caused an exception. This exception is thrown 1047 // when Application Auto Scaling is unable to retrieve the alarms associated 1048 // with a scaling policy due to a client error, for example, if the role ARN 1049 // specified for a scalable target does not have permission to call the CloudWatch 1050 // DescribeAlarms (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) 1051 // on your behalf. 1052 // 1053 // * InternalServiceException 1054 // The service encountered an internal error. 1055 // 1056 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PutScalingPolicy 1057 func (c *ApplicationAutoScaling) PutScalingPolicy(input *PutScalingPolicyInput) (*PutScalingPolicyOutput, error) { 1058 req, out := c.PutScalingPolicyRequest(input) 1059 return out, req.Send() 1060 } 1061 1062 // PutScalingPolicyWithContext is the same as PutScalingPolicy with the addition of 1063 // the ability to pass a context and additional request options. 1064 // 1065 // See PutScalingPolicy for details on how to use this API operation. 1066 // 1067 // The context must be non-nil and will be used for request cancellation. If 1068 // the context is nil a panic will occur. In the future the SDK may create 1069 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1070 // for more information on using Contexts. 1071 func (c *ApplicationAutoScaling) PutScalingPolicyWithContext(ctx aws.Context, input *PutScalingPolicyInput, opts ...request.Option) (*PutScalingPolicyOutput, error) { 1072 req, out := c.PutScalingPolicyRequest(input) 1073 req.SetContext(ctx) 1074 req.ApplyOptions(opts...) 1075 return out, req.Send() 1076 } 1077 1078 const opPutScheduledAction = "PutScheduledAction" 1079 1080 // PutScheduledActionRequest generates a "aws/request.Request" representing the 1081 // client's request for the PutScheduledAction operation. The "output" return 1082 // value will be populated with the request's response once the request completes 1083 // successfully. 1084 // 1085 // Use "Send" method on the returned Request to send the API call to the service. 1086 // the "output" return value is not valid until after Send returns without error. 1087 // 1088 // See PutScheduledAction for more information on using the PutScheduledAction 1089 // API call, and error handling. 1090 // 1091 // This method is useful when you want to inject custom logic or configuration 1092 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1093 // 1094 // 1095 // // Example sending a request using the PutScheduledActionRequest method. 1096 // req, resp := client.PutScheduledActionRequest(params) 1097 // 1098 // err := req.Send() 1099 // if err == nil { // resp is now filled 1100 // fmt.Println(resp) 1101 // } 1102 // 1103 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PutScheduledAction 1104 func (c *ApplicationAutoScaling) PutScheduledActionRequest(input *PutScheduledActionInput) (req *request.Request, output *PutScheduledActionOutput) { 1105 op := &request.Operation{ 1106 Name: opPutScheduledAction, 1107 HTTPMethod: "POST", 1108 HTTPPath: "/", 1109 } 1110 1111 if input == nil { 1112 input = &PutScheduledActionInput{} 1113 } 1114 1115 output = &PutScheduledActionOutput{} 1116 req = c.newRequest(op, input, output) 1117 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1118 return 1119 } 1120 1121 // PutScheduledAction API operation for Application Auto Scaling. 1122 // 1123 // Creates or updates a scheduled action for an Application Auto Scaling scalable 1124 // target. 1125 // 1126 // Each scalable target is identified by a service namespace, resource ID, and 1127 // scalable dimension. A scheduled action applies to the scalable target identified 1128 // by those three attributes. You cannot create a scheduled action until you 1129 // have registered the resource as a scalable target. 1130 // 1131 // When start and end times are specified with a recurring schedule using a 1132 // cron expression or rates, they form the boundaries for when the recurring 1133 // action starts and stops. 1134 // 1135 // To update a scheduled action, specify the parameters that you want to change. 1136 // If you don't specify start and end times, the old values are deleted. 1137 // 1138 // For more information, see Scheduled scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html) 1139 // in the Application Auto Scaling User Guide. 1140 // 1141 // If a scalable target is deregistered, the scalable target is no longer available 1142 // to run scheduled actions. Any scheduled actions that were specified for the 1143 // scalable target are deleted. 1144 // 1145 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1146 // with awserr.Error's Code and Message methods to get detailed information about 1147 // the error. 1148 // 1149 // See the AWS API reference guide for Application Auto Scaling's 1150 // API operation PutScheduledAction for usage and error information. 1151 // 1152 // Returned Error Types: 1153 // * ValidationException 1154 // An exception was thrown for a validation issue. Review the available parameters 1155 // for the API request. 1156 // 1157 // * LimitExceededException 1158 // A per-account resource limit is exceeded. For more information, see Application 1159 // Auto Scaling service quotas (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-limits.html). 1160 // 1161 // * ObjectNotFoundException 1162 // The specified object could not be found. For any operation that depends on 1163 // the existence of a scalable target, this exception is thrown if the scalable 1164 // target with the specified service namespace, resource ID, and scalable dimension 1165 // does not exist. For any operation that deletes or deregisters a resource, 1166 // this exception is thrown if the resource cannot be found. 1167 // 1168 // * ConcurrentUpdateException 1169 // Concurrent updates caused an exception, for example, if you request an update 1170 // to an Application Auto Scaling resource that already has a pending update. 1171 // 1172 // * InternalServiceException 1173 // The service encountered an internal error. 1174 // 1175 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PutScheduledAction 1176 func (c *ApplicationAutoScaling) PutScheduledAction(input *PutScheduledActionInput) (*PutScheduledActionOutput, error) { 1177 req, out := c.PutScheduledActionRequest(input) 1178 return out, req.Send() 1179 } 1180 1181 // PutScheduledActionWithContext is the same as PutScheduledAction with the addition of 1182 // the ability to pass a context and additional request options. 1183 // 1184 // See PutScheduledAction for details on how to use this API operation. 1185 // 1186 // The context must be non-nil and will be used for request cancellation. If 1187 // the context is nil a panic will occur. In the future the SDK may create 1188 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1189 // for more information on using Contexts. 1190 func (c *ApplicationAutoScaling) PutScheduledActionWithContext(ctx aws.Context, input *PutScheduledActionInput, opts ...request.Option) (*PutScheduledActionOutput, error) { 1191 req, out := c.PutScheduledActionRequest(input) 1192 req.SetContext(ctx) 1193 req.ApplyOptions(opts...) 1194 return out, req.Send() 1195 } 1196 1197 const opRegisterScalableTarget = "RegisterScalableTarget" 1198 1199 // RegisterScalableTargetRequest generates a "aws/request.Request" representing the 1200 // client's request for the RegisterScalableTarget operation. The "output" return 1201 // value will be populated with the request's response once the request completes 1202 // successfully. 1203 // 1204 // Use "Send" method on the returned Request to send the API call to the service. 1205 // the "output" return value is not valid until after Send returns without error. 1206 // 1207 // See RegisterScalableTarget for more information on using the RegisterScalableTarget 1208 // API call, and error handling. 1209 // 1210 // This method is useful when you want to inject custom logic or configuration 1211 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1212 // 1213 // 1214 // // Example sending a request using the RegisterScalableTargetRequest method. 1215 // req, resp := client.RegisterScalableTargetRequest(params) 1216 // 1217 // err := req.Send() 1218 // if err == nil { // resp is now filled 1219 // fmt.Println(resp) 1220 // } 1221 // 1222 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/RegisterScalableTarget 1223 func (c *ApplicationAutoScaling) RegisterScalableTargetRequest(input *RegisterScalableTargetInput) (req *request.Request, output *RegisterScalableTargetOutput) { 1224 op := &request.Operation{ 1225 Name: opRegisterScalableTarget, 1226 HTTPMethod: "POST", 1227 HTTPPath: "/", 1228 } 1229 1230 if input == nil { 1231 input = &RegisterScalableTargetInput{} 1232 } 1233 1234 output = &RegisterScalableTargetOutput{} 1235 req = c.newRequest(op, input, output) 1236 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1237 return 1238 } 1239 1240 // RegisterScalableTarget API operation for Application Auto Scaling. 1241 // 1242 // Registers or updates a scalable target. 1243 // 1244 // A scalable target is a resource that Application Auto Scaling can scale out 1245 // and scale in. Scalable targets are uniquely identified by the combination 1246 // of resource ID, scalable dimension, and namespace. 1247 // 1248 // When you register a new scalable target, you must specify values for minimum 1249 // and maximum capacity. Current capacity will be adjusted within the specified 1250 // range when scaling starts. Application Auto Scaling scaling policies will 1251 // not scale capacity to values that are outside of this range. 1252 // 1253 // After you register a scalable target, you do not need to register it again 1254 // to use other Application Auto Scaling operations. To see which resources 1255 // have been registered, use DescribeScalableTargets (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html). 1256 // You can also view the scaling policies for a service namespace by using DescribeScalableTargets 1257 // (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalableTargets.html). 1258 // If you no longer need a scalable target, you can deregister it by using DeregisterScalableTarget 1259 // (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DeregisterScalableTarget.html). 1260 // 1261 // To update a scalable target, specify the parameters that you want to change. 1262 // Include the parameters that identify the scalable target: resource ID, scalable 1263 // dimension, and namespace. Any parameters that you don't specify are not changed 1264 // by this update request. 1265 // 1266 // If you call the RegisterScalableTarget API to update an existing scalable 1267 // target, Application Auto Scaling retrieves the current capacity of the resource. 1268 // If it is below the minimum capacity or above the maximum capacity, Application 1269 // Auto Scaling adjusts the capacity of the scalable target to place it within 1270 // these bounds, even if you don't include the MinCapacity or MaxCapacity request 1271 // parameters. 1272 // 1273 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1274 // with awserr.Error's Code and Message methods to get detailed information about 1275 // the error. 1276 // 1277 // See the AWS API reference guide for Application Auto Scaling's 1278 // API operation RegisterScalableTarget for usage and error information. 1279 // 1280 // Returned Error Types: 1281 // * ValidationException 1282 // An exception was thrown for a validation issue. Review the available parameters 1283 // for the API request. 1284 // 1285 // * LimitExceededException 1286 // A per-account resource limit is exceeded. For more information, see Application 1287 // Auto Scaling service quotas (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-limits.html). 1288 // 1289 // * ConcurrentUpdateException 1290 // Concurrent updates caused an exception, for example, if you request an update 1291 // to an Application Auto Scaling resource that already has a pending update. 1292 // 1293 // * InternalServiceException 1294 // The service encountered an internal error. 1295 // 1296 // See also, https://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/RegisterScalableTarget 1297 func (c *ApplicationAutoScaling) RegisterScalableTarget(input *RegisterScalableTargetInput) (*RegisterScalableTargetOutput, error) { 1298 req, out := c.RegisterScalableTargetRequest(input) 1299 return out, req.Send() 1300 } 1301 1302 // RegisterScalableTargetWithContext is the same as RegisterScalableTarget with the addition of 1303 // the ability to pass a context and additional request options. 1304 // 1305 // See RegisterScalableTarget for details on how to use this API operation. 1306 // 1307 // The context must be non-nil and will be used for request cancellation. If 1308 // the context is nil a panic will occur. In the future the SDK may create 1309 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1310 // for more information on using Contexts. 1311 func (c *ApplicationAutoScaling) RegisterScalableTargetWithContext(ctx aws.Context, input *RegisterScalableTargetInput, opts ...request.Option) (*RegisterScalableTargetOutput, error) { 1312 req, out := c.RegisterScalableTargetRequest(input) 1313 req.SetContext(ctx) 1314 req.ApplyOptions(opts...) 1315 return out, req.Send() 1316 } 1317 1318 // Represents a CloudWatch alarm associated with a scaling policy. 1319 type Alarm struct { 1320 _ struct{} `type:"structure"` 1321 1322 // The Amazon Resource Name (ARN) of the alarm. 1323 // 1324 // AlarmARN is a required field 1325 AlarmARN *string `type:"string" required:"true"` 1326 1327 // The name of the alarm. 1328 // 1329 // AlarmName is a required field 1330 AlarmName *string `type:"string" required:"true"` 1331 } 1332 1333 // String returns the string representation. 1334 // 1335 // API parameter values that are decorated as "sensitive" in the API will not 1336 // be included in the string output. The member name will be present, but the 1337 // value will be replaced with "sensitive". 1338 func (s Alarm) String() string { 1339 return awsutil.Prettify(s) 1340 } 1341 1342 // GoString returns the string representation. 1343 // 1344 // API parameter values that are decorated as "sensitive" in the API will not 1345 // be included in the string output. The member name will be present, but the 1346 // value will be replaced with "sensitive". 1347 func (s Alarm) GoString() string { 1348 return s.String() 1349 } 1350 1351 // SetAlarmARN sets the AlarmARN field's value. 1352 func (s *Alarm) SetAlarmARN(v string) *Alarm { 1353 s.AlarmARN = &v 1354 return s 1355 } 1356 1357 // SetAlarmName sets the AlarmName field's value. 1358 func (s *Alarm) SetAlarmName(v string) *Alarm { 1359 s.AlarmName = &v 1360 return s 1361 } 1362 1363 // Concurrent updates caused an exception, for example, if you request an update 1364 // to an Application Auto Scaling resource that already has a pending update. 1365 type ConcurrentUpdateException struct { 1366 _ struct{} `type:"structure"` 1367 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1368 1369 Message_ *string `locationName:"Message" type:"string"` 1370 } 1371 1372 // String returns the string representation. 1373 // 1374 // API parameter values that are decorated as "sensitive" in the API will not 1375 // be included in the string output. The member name will be present, but the 1376 // value will be replaced with "sensitive". 1377 func (s ConcurrentUpdateException) String() string { 1378 return awsutil.Prettify(s) 1379 } 1380 1381 // GoString returns the string representation. 1382 // 1383 // API parameter values that are decorated as "sensitive" in the API will not 1384 // be included in the string output. The member name will be present, but the 1385 // value will be replaced with "sensitive". 1386 func (s ConcurrentUpdateException) GoString() string { 1387 return s.String() 1388 } 1389 1390 func newErrorConcurrentUpdateException(v protocol.ResponseMetadata) error { 1391 return &ConcurrentUpdateException{ 1392 RespMetadata: v, 1393 } 1394 } 1395 1396 // Code returns the exception type name. 1397 func (s *ConcurrentUpdateException) Code() string { 1398 return "ConcurrentUpdateException" 1399 } 1400 1401 // Message returns the exception's message. 1402 func (s *ConcurrentUpdateException) Message() string { 1403 if s.Message_ != nil { 1404 return *s.Message_ 1405 } 1406 return "" 1407 } 1408 1409 // OrigErr always returns nil, satisfies awserr.Error interface. 1410 func (s *ConcurrentUpdateException) OrigErr() error { 1411 return nil 1412 } 1413 1414 func (s *ConcurrentUpdateException) Error() string { 1415 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1416 } 1417 1418 // Status code returns the HTTP status code for the request's response error. 1419 func (s *ConcurrentUpdateException) StatusCode() int { 1420 return s.RespMetadata.StatusCode 1421 } 1422 1423 // RequestID returns the service's response RequestID for request. 1424 func (s *ConcurrentUpdateException) RequestID() string { 1425 return s.RespMetadata.RequestID 1426 } 1427 1428 // Represents a CloudWatch metric of your choosing for a target tracking scaling 1429 // policy to use with Application Auto Scaling. 1430 // 1431 // For information about the available metrics for a service, see Amazon Web 1432 // Services Services That Publish CloudWatch Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) 1433 // in the Amazon CloudWatch User Guide. 1434 // 1435 // To create your customized metric specification: 1436 // 1437 // * Add values for each required parameter from CloudWatch. You can use 1438 // an existing metric, or a new metric that you create. To use your own metric, 1439 // you must first publish the metric to CloudWatch. For more information, 1440 // see Publish Custom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) 1441 // in the Amazon CloudWatch User Guide. 1442 // 1443 // * Choose a metric that changes proportionally with capacity. The value 1444 // of the metric should increase or decrease in inverse proportion to the 1445 // number of capacity units. That is, the value of the metric should decrease 1446 // when capacity increases, and increase when capacity decreases. 1447 // 1448 // For more information about CloudWatch, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html). 1449 type CustomizedMetricSpecification struct { 1450 _ struct{} `type:"structure"` 1451 1452 // The dimensions of the metric. 1453 // 1454 // Conditional: If you published your metric with dimensions, you must specify 1455 // the same dimensions in your scaling policy. 1456 Dimensions []*MetricDimension `type:"list"` 1457 1458 // The name of the metric. 1459 // 1460 // MetricName is a required field 1461 MetricName *string `type:"string" required:"true"` 1462 1463 // The namespace of the metric. 1464 // 1465 // Namespace is a required field 1466 Namespace *string `type:"string" required:"true"` 1467 1468 // The statistic of the metric. 1469 // 1470 // Statistic is a required field 1471 Statistic *string `type:"string" required:"true" enum:"MetricStatistic"` 1472 1473 // The unit of the metric. 1474 Unit *string `type:"string"` 1475 } 1476 1477 // String returns the string representation. 1478 // 1479 // API parameter values that are decorated as "sensitive" in the API will not 1480 // be included in the string output. The member name will be present, but the 1481 // value will be replaced with "sensitive". 1482 func (s CustomizedMetricSpecification) String() string { 1483 return awsutil.Prettify(s) 1484 } 1485 1486 // GoString returns the string representation. 1487 // 1488 // API parameter values that are decorated as "sensitive" in the API will not 1489 // be included in the string output. The member name will be present, but the 1490 // value will be replaced with "sensitive". 1491 func (s CustomizedMetricSpecification) GoString() string { 1492 return s.String() 1493 } 1494 1495 // Validate inspects the fields of the type to determine if they are valid. 1496 func (s *CustomizedMetricSpecification) Validate() error { 1497 invalidParams := request.ErrInvalidParams{Context: "CustomizedMetricSpecification"} 1498 if s.MetricName == nil { 1499 invalidParams.Add(request.NewErrParamRequired("MetricName")) 1500 } 1501 if s.Namespace == nil { 1502 invalidParams.Add(request.NewErrParamRequired("Namespace")) 1503 } 1504 if s.Statistic == nil { 1505 invalidParams.Add(request.NewErrParamRequired("Statistic")) 1506 } 1507 if s.Dimensions != nil { 1508 for i, v := range s.Dimensions { 1509 if v == nil { 1510 continue 1511 } 1512 if err := v.Validate(); err != nil { 1513 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) 1514 } 1515 } 1516 } 1517 1518 if invalidParams.Len() > 0 { 1519 return invalidParams 1520 } 1521 return nil 1522 } 1523 1524 // SetDimensions sets the Dimensions field's value. 1525 func (s *CustomizedMetricSpecification) SetDimensions(v []*MetricDimension) *CustomizedMetricSpecification { 1526 s.Dimensions = v 1527 return s 1528 } 1529 1530 // SetMetricName sets the MetricName field's value. 1531 func (s *CustomizedMetricSpecification) SetMetricName(v string) *CustomizedMetricSpecification { 1532 s.MetricName = &v 1533 return s 1534 } 1535 1536 // SetNamespace sets the Namespace field's value. 1537 func (s *CustomizedMetricSpecification) SetNamespace(v string) *CustomizedMetricSpecification { 1538 s.Namespace = &v 1539 return s 1540 } 1541 1542 // SetStatistic sets the Statistic field's value. 1543 func (s *CustomizedMetricSpecification) SetStatistic(v string) *CustomizedMetricSpecification { 1544 s.Statistic = &v 1545 return s 1546 } 1547 1548 // SetUnit sets the Unit field's value. 1549 func (s *CustomizedMetricSpecification) SetUnit(v string) *CustomizedMetricSpecification { 1550 s.Unit = &v 1551 return s 1552 } 1553 1554 type DeleteScalingPolicyInput struct { 1555 _ struct{} `type:"structure"` 1556 1557 // The name of the scaling policy. 1558 // 1559 // PolicyName is a required field 1560 PolicyName *string `min:"1" type:"string" required:"true"` 1561 1562 // The identifier of the resource associated with the scalable target. This 1563 // string consists of the resource type and unique identifier. 1564 // 1565 // * ECS service - The resource type is service and the unique identifier 1566 // is the cluster name and service name. Example: service/default/sample-webapp. 1567 // 1568 // * Spot Fleet - The resource type is spot-fleet-request and the unique 1569 // identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 1570 // 1571 // * EMR cluster - The resource type is instancegroup and the unique identifier 1572 // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. 1573 // 1574 // * AppStream 2.0 fleet - The resource type is fleet and the unique identifier 1575 // is the fleet name. Example: fleet/sample-fleet. 1576 // 1577 // * DynamoDB table - The resource type is table and the unique identifier 1578 // is the table name. Example: table/my-table. 1579 // 1580 // * DynamoDB global secondary index - The resource type is index and the 1581 // unique identifier is the index name. Example: table/my-table/index/my-table-index. 1582 // 1583 // * Aurora DB cluster - The resource type is cluster and the unique identifier 1584 // is the cluster name. Example: cluster:my-db-cluster. 1585 // 1586 // * SageMaker endpoint variant - The resource type is variant and the unique 1587 // identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. 1588 // 1589 // * Custom resources are not supported with a resource type. This parameter 1590 // must specify the OutputValue from the CloudFormation template stack used 1591 // to access the resources. The unique identifier is defined by the service 1592 // provider. More information is available in our GitHub repository (https://github.com/aavshr/aws-auto-scaling-custom-resource). 1593 // 1594 // * Amazon Comprehend document classification endpoint - The resource type 1595 // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. 1596 // 1597 // * Amazon Comprehend entity recognizer endpoint - The resource type and 1598 // unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. 1599 // 1600 // * Lambda provisioned concurrency - The resource type is function and the 1601 // unique identifier is the function name with a function version or alias 1602 // name suffix that is not $LATEST. Example: function:my-function:prod or 1603 // function:my-function:1. 1604 // 1605 // * Amazon Keyspaces table - The resource type is table and the unique identifier 1606 // is the table name. Example: keyspace/mykeyspace/table/mytable. 1607 // 1608 // * Amazon MSK cluster - The resource type and unique identifier are specified 1609 // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. 1610 // 1611 // * Amazon ElastiCache replication group - The resource type is replication-group 1612 // and the unique identifier is the replication group name. Example: replication-group/mycluster. 1613 // 1614 // * Neptune cluster - The resource type is cluster and the unique identifier 1615 // is the cluster name. Example: cluster:mycluster. 1616 // 1617 // ResourceId is a required field 1618 ResourceId *string `min:"1" type:"string" required:"true"` 1619 1620 // The scalable dimension. This string consists of the service namespace, resource 1621 // type, and scaling property. 1622 // 1623 // * ecs:service:DesiredCount - The desired task count of an ECS service. 1624 // 1625 // * elasticmapreduce:instancegroup:InstanceCount - The instance count of 1626 // an EMR Instance Group. 1627 // 1628 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 1629 // Fleet. 1630 // 1631 // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 1632 // 2.0 fleet. 1633 // 1634 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 1635 // a DynamoDB table. 1636 // 1637 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 1638 // a DynamoDB table. 1639 // 1640 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 1641 // a DynamoDB global secondary index. 1642 // 1643 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 1644 // a DynamoDB global secondary index. 1645 // 1646 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 1647 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 1648 // edition. 1649 // 1650 // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances 1651 // for an SageMaker model endpoint variant. 1652 // 1653 // * custom-resource:ResourceType:Property - The scalable dimension for a 1654 // custom resource provided by your own application or service. 1655 // 1656 // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The 1657 // number of inference units for an Amazon Comprehend document classification 1658 // endpoint. 1659 // 1660 // * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number 1661 // of inference units for an Amazon Comprehend entity recognizer endpoint. 1662 // 1663 // * lambda:function:ProvisionedConcurrency - The provisioned concurrency 1664 // for a Lambda function. 1665 // 1666 // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for 1667 // an Amazon Keyspaces table. 1668 // 1669 // * cassandra:table:WriteCapacityUnits - The provisioned write capacity 1670 // for an Amazon Keyspaces table. 1671 // 1672 // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) 1673 // for brokers in an Amazon MSK cluster. 1674 // 1675 // * elasticache:replication-group:NodeGroups - The number of node groups 1676 // for an Amazon ElastiCache replication group. 1677 // 1678 // * elasticache:replication-group:Replicas - The number of replicas per 1679 // node group for an Amazon ElastiCache replication group. 1680 // 1681 // * neptune:cluster:ReadReplicaCount - The count of read replicas in an 1682 // Amazon Neptune DB cluster. 1683 // 1684 // ScalableDimension is a required field 1685 ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` 1686 1687 // The namespace of the Amazon Web Services service that provides the resource. 1688 // For a resource provided by your own application or service, use custom-resource 1689 // instead. 1690 // 1691 // ServiceNamespace is a required field 1692 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 1693 } 1694 1695 // String returns the string representation. 1696 // 1697 // API parameter values that are decorated as "sensitive" in the API will not 1698 // be included in the string output. The member name will be present, but the 1699 // value will be replaced with "sensitive". 1700 func (s DeleteScalingPolicyInput) String() string { 1701 return awsutil.Prettify(s) 1702 } 1703 1704 // GoString returns the string representation. 1705 // 1706 // API parameter values that are decorated as "sensitive" in the API will not 1707 // be included in the string output. The member name will be present, but the 1708 // value will be replaced with "sensitive". 1709 func (s DeleteScalingPolicyInput) GoString() string { 1710 return s.String() 1711 } 1712 1713 // Validate inspects the fields of the type to determine if they are valid. 1714 func (s *DeleteScalingPolicyInput) Validate() error { 1715 invalidParams := request.ErrInvalidParams{Context: "DeleteScalingPolicyInput"} 1716 if s.PolicyName == nil { 1717 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 1718 } 1719 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 1720 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 1721 } 1722 if s.ResourceId == nil { 1723 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 1724 } 1725 if s.ResourceId != nil && len(*s.ResourceId) < 1 { 1726 invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) 1727 } 1728 if s.ScalableDimension == nil { 1729 invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) 1730 } 1731 if s.ServiceNamespace == nil { 1732 invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) 1733 } 1734 1735 if invalidParams.Len() > 0 { 1736 return invalidParams 1737 } 1738 return nil 1739 } 1740 1741 // SetPolicyName sets the PolicyName field's value. 1742 func (s *DeleteScalingPolicyInput) SetPolicyName(v string) *DeleteScalingPolicyInput { 1743 s.PolicyName = &v 1744 return s 1745 } 1746 1747 // SetResourceId sets the ResourceId field's value. 1748 func (s *DeleteScalingPolicyInput) SetResourceId(v string) *DeleteScalingPolicyInput { 1749 s.ResourceId = &v 1750 return s 1751 } 1752 1753 // SetScalableDimension sets the ScalableDimension field's value. 1754 func (s *DeleteScalingPolicyInput) SetScalableDimension(v string) *DeleteScalingPolicyInput { 1755 s.ScalableDimension = &v 1756 return s 1757 } 1758 1759 // SetServiceNamespace sets the ServiceNamespace field's value. 1760 func (s *DeleteScalingPolicyInput) SetServiceNamespace(v string) *DeleteScalingPolicyInput { 1761 s.ServiceNamespace = &v 1762 return s 1763 } 1764 1765 type DeleteScalingPolicyOutput struct { 1766 _ struct{} `type:"structure"` 1767 } 1768 1769 // String returns the string representation. 1770 // 1771 // API parameter values that are decorated as "sensitive" in the API will not 1772 // be included in the string output. The member name will be present, but the 1773 // value will be replaced with "sensitive". 1774 func (s DeleteScalingPolicyOutput) String() string { 1775 return awsutil.Prettify(s) 1776 } 1777 1778 // GoString returns the string representation. 1779 // 1780 // API parameter values that are decorated as "sensitive" in the API will not 1781 // be included in the string output. The member name will be present, but the 1782 // value will be replaced with "sensitive". 1783 func (s DeleteScalingPolicyOutput) GoString() string { 1784 return s.String() 1785 } 1786 1787 type DeleteScheduledActionInput struct { 1788 _ struct{} `type:"structure"` 1789 1790 // The identifier of the resource associated with the scheduled action. This 1791 // string consists of the resource type and unique identifier. 1792 // 1793 // * ECS service - The resource type is service and the unique identifier 1794 // is the cluster name and service name. Example: service/default/sample-webapp. 1795 // 1796 // * Spot Fleet - The resource type is spot-fleet-request and the unique 1797 // identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 1798 // 1799 // * EMR cluster - The resource type is instancegroup and the unique identifier 1800 // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. 1801 // 1802 // * AppStream 2.0 fleet - The resource type is fleet and the unique identifier 1803 // is the fleet name. Example: fleet/sample-fleet. 1804 // 1805 // * DynamoDB table - The resource type is table and the unique identifier 1806 // is the table name. Example: table/my-table. 1807 // 1808 // * DynamoDB global secondary index - The resource type is index and the 1809 // unique identifier is the index name. Example: table/my-table/index/my-table-index. 1810 // 1811 // * Aurora DB cluster - The resource type is cluster and the unique identifier 1812 // is the cluster name. Example: cluster:my-db-cluster. 1813 // 1814 // * SageMaker endpoint variant - The resource type is variant and the unique 1815 // identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. 1816 // 1817 // * Custom resources are not supported with a resource type. This parameter 1818 // must specify the OutputValue from the CloudFormation template stack used 1819 // to access the resources. The unique identifier is defined by the service 1820 // provider. More information is available in our GitHub repository (https://github.com/aavshr/aws-auto-scaling-custom-resource). 1821 // 1822 // * Amazon Comprehend document classification endpoint - The resource type 1823 // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. 1824 // 1825 // * Amazon Comprehend entity recognizer endpoint - The resource type and 1826 // unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. 1827 // 1828 // * Lambda provisioned concurrency - The resource type is function and the 1829 // unique identifier is the function name with a function version or alias 1830 // name suffix that is not $LATEST. Example: function:my-function:prod or 1831 // function:my-function:1. 1832 // 1833 // * Amazon Keyspaces table - The resource type is table and the unique identifier 1834 // is the table name. Example: keyspace/mykeyspace/table/mytable. 1835 // 1836 // * Amazon MSK cluster - The resource type and unique identifier are specified 1837 // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. 1838 // 1839 // * Amazon ElastiCache replication group - The resource type is replication-group 1840 // and the unique identifier is the replication group name. Example: replication-group/mycluster. 1841 // 1842 // * Neptune cluster - The resource type is cluster and the unique identifier 1843 // is the cluster name. Example: cluster:mycluster. 1844 // 1845 // ResourceId is a required field 1846 ResourceId *string `min:"1" type:"string" required:"true"` 1847 1848 // The scalable dimension. This string consists of the service namespace, resource 1849 // type, and scaling property. 1850 // 1851 // * ecs:service:DesiredCount - The desired task count of an ECS service. 1852 // 1853 // * elasticmapreduce:instancegroup:InstanceCount - The instance count of 1854 // an EMR Instance Group. 1855 // 1856 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 1857 // Fleet. 1858 // 1859 // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 1860 // 2.0 fleet. 1861 // 1862 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 1863 // a DynamoDB table. 1864 // 1865 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 1866 // a DynamoDB table. 1867 // 1868 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 1869 // a DynamoDB global secondary index. 1870 // 1871 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 1872 // a DynamoDB global secondary index. 1873 // 1874 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 1875 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 1876 // edition. 1877 // 1878 // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances 1879 // for an SageMaker model endpoint variant. 1880 // 1881 // * custom-resource:ResourceType:Property - The scalable dimension for a 1882 // custom resource provided by your own application or service. 1883 // 1884 // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The 1885 // number of inference units for an Amazon Comprehend document classification 1886 // endpoint. 1887 // 1888 // * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number 1889 // of inference units for an Amazon Comprehend entity recognizer endpoint. 1890 // 1891 // * lambda:function:ProvisionedConcurrency - The provisioned concurrency 1892 // for a Lambda function. 1893 // 1894 // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for 1895 // an Amazon Keyspaces table. 1896 // 1897 // * cassandra:table:WriteCapacityUnits - The provisioned write capacity 1898 // for an Amazon Keyspaces table. 1899 // 1900 // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) 1901 // for brokers in an Amazon MSK cluster. 1902 // 1903 // * elasticache:replication-group:NodeGroups - The number of node groups 1904 // for an Amazon ElastiCache replication group. 1905 // 1906 // * elasticache:replication-group:Replicas - The number of replicas per 1907 // node group for an Amazon ElastiCache replication group. 1908 // 1909 // * neptune:cluster:ReadReplicaCount - The count of read replicas in an 1910 // Amazon Neptune DB cluster. 1911 // 1912 // ScalableDimension is a required field 1913 ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` 1914 1915 // The name of the scheduled action. 1916 // 1917 // ScheduledActionName is a required field 1918 ScheduledActionName *string `min:"1" type:"string" required:"true"` 1919 1920 // The namespace of the Amazon Web Services service that provides the resource. 1921 // For a resource provided by your own application or service, use custom-resource 1922 // instead. 1923 // 1924 // ServiceNamespace is a required field 1925 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 1926 } 1927 1928 // String returns the string representation. 1929 // 1930 // API parameter values that are decorated as "sensitive" in the API will not 1931 // be included in the string output. The member name will be present, but the 1932 // value will be replaced with "sensitive". 1933 func (s DeleteScheduledActionInput) String() string { 1934 return awsutil.Prettify(s) 1935 } 1936 1937 // GoString returns the string representation. 1938 // 1939 // API parameter values that are decorated as "sensitive" in the API will not 1940 // be included in the string output. The member name will be present, but the 1941 // value will be replaced with "sensitive". 1942 func (s DeleteScheduledActionInput) GoString() string { 1943 return s.String() 1944 } 1945 1946 // Validate inspects the fields of the type to determine if they are valid. 1947 func (s *DeleteScheduledActionInput) Validate() error { 1948 invalidParams := request.ErrInvalidParams{Context: "DeleteScheduledActionInput"} 1949 if s.ResourceId == nil { 1950 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 1951 } 1952 if s.ResourceId != nil && len(*s.ResourceId) < 1 { 1953 invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) 1954 } 1955 if s.ScalableDimension == nil { 1956 invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) 1957 } 1958 if s.ScheduledActionName == nil { 1959 invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) 1960 } 1961 if s.ScheduledActionName != nil && len(*s.ScheduledActionName) < 1 { 1962 invalidParams.Add(request.NewErrParamMinLen("ScheduledActionName", 1)) 1963 } 1964 if s.ServiceNamespace == nil { 1965 invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) 1966 } 1967 1968 if invalidParams.Len() > 0 { 1969 return invalidParams 1970 } 1971 return nil 1972 } 1973 1974 // SetResourceId sets the ResourceId field's value. 1975 func (s *DeleteScheduledActionInput) SetResourceId(v string) *DeleteScheduledActionInput { 1976 s.ResourceId = &v 1977 return s 1978 } 1979 1980 // SetScalableDimension sets the ScalableDimension field's value. 1981 func (s *DeleteScheduledActionInput) SetScalableDimension(v string) *DeleteScheduledActionInput { 1982 s.ScalableDimension = &v 1983 return s 1984 } 1985 1986 // SetScheduledActionName sets the ScheduledActionName field's value. 1987 func (s *DeleteScheduledActionInput) SetScheduledActionName(v string) *DeleteScheduledActionInput { 1988 s.ScheduledActionName = &v 1989 return s 1990 } 1991 1992 // SetServiceNamespace sets the ServiceNamespace field's value. 1993 func (s *DeleteScheduledActionInput) SetServiceNamespace(v string) *DeleteScheduledActionInput { 1994 s.ServiceNamespace = &v 1995 return s 1996 } 1997 1998 type DeleteScheduledActionOutput struct { 1999 _ struct{} `type:"structure"` 2000 } 2001 2002 // String returns the string representation. 2003 // 2004 // API parameter values that are decorated as "sensitive" in the API will not 2005 // be included in the string output. The member name will be present, but the 2006 // value will be replaced with "sensitive". 2007 func (s DeleteScheduledActionOutput) String() string { 2008 return awsutil.Prettify(s) 2009 } 2010 2011 // GoString returns the string representation. 2012 // 2013 // API parameter values that are decorated as "sensitive" in the API will not 2014 // be included in the string output. The member name will be present, but the 2015 // value will be replaced with "sensitive". 2016 func (s DeleteScheduledActionOutput) GoString() string { 2017 return s.String() 2018 } 2019 2020 type DeregisterScalableTargetInput struct { 2021 _ struct{} `type:"structure"` 2022 2023 // The identifier of the resource associated with the scalable target. This 2024 // string consists of the resource type and unique identifier. 2025 // 2026 // * ECS service - The resource type is service and the unique identifier 2027 // is the cluster name and service name. Example: service/default/sample-webapp. 2028 // 2029 // * Spot Fleet - The resource type is spot-fleet-request and the unique 2030 // identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 2031 // 2032 // * EMR cluster - The resource type is instancegroup and the unique identifier 2033 // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. 2034 // 2035 // * AppStream 2.0 fleet - The resource type is fleet and the unique identifier 2036 // is the fleet name. Example: fleet/sample-fleet. 2037 // 2038 // * DynamoDB table - The resource type is table and the unique identifier 2039 // is the table name. Example: table/my-table. 2040 // 2041 // * DynamoDB global secondary index - The resource type is index and the 2042 // unique identifier is the index name. Example: table/my-table/index/my-table-index. 2043 // 2044 // * Aurora DB cluster - The resource type is cluster and the unique identifier 2045 // is the cluster name. Example: cluster:my-db-cluster. 2046 // 2047 // * SageMaker endpoint variant - The resource type is variant and the unique 2048 // identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. 2049 // 2050 // * Custom resources are not supported with a resource type. This parameter 2051 // must specify the OutputValue from the CloudFormation template stack used 2052 // to access the resources. The unique identifier is defined by the service 2053 // provider. More information is available in our GitHub repository (https://github.com/aavshr/aws-auto-scaling-custom-resource). 2054 // 2055 // * Amazon Comprehend document classification endpoint - The resource type 2056 // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. 2057 // 2058 // * Amazon Comprehend entity recognizer endpoint - The resource type and 2059 // unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. 2060 // 2061 // * Lambda provisioned concurrency - The resource type is function and the 2062 // unique identifier is the function name with a function version or alias 2063 // name suffix that is not $LATEST. Example: function:my-function:prod or 2064 // function:my-function:1. 2065 // 2066 // * Amazon Keyspaces table - The resource type is table and the unique identifier 2067 // is the table name. Example: keyspace/mykeyspace/table/mytable. 2068 // 2069 // * Amazon MSK cluster - The resource type and unique identifier are specified 2070 // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. 2071 // 2072 // * Amazon ElastiCache replication group - The resource type is replication-group 2073 // and the unique identifier is the replication group name. Example: replication-group/mycluster. 2074 // 2075 // * Neptune cluster - The resource type is cluster and the unique identifier 2076 // is the cluster name. Example: cluster:mycluster. 2077 // 2078 // ResourceId is a required field 2079 ResourceId *string `min:"1" type:"string" required:"true"` 2080 2081 // The scalable dimension associated with the scalable target. This string consists 2082 // of the service namespace, resource type, and scaling property. 2083 // 2084 // * ecs:service:DesiredCount - The desired task count of an ECS service. 2085 // 2086 // * elasticmapreduce:instancegroup:InstanceCount - The instance count of 2087 // an EMR Instance Group. 2088 // 2089 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 2090 // Fleet. 2091 // 2092 // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2093 // 2.0 fleet. 2094 // 2095 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 2096 // a DynamoDB table. 2097 // 2098 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 2099 // a DynamoDB table. 2100 // 2101 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 2102 // a DynamoDB global secondary index. 2103 // 2104 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 2105 // a DynamoDB global secondary index. 2106 // 2107 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 2108 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 2109 // edition. 2110 // 2111 // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances 2112 // for an SageMaker model endpoint variant. 2113 // 2114 // * custom-resource:ResourceType:Property - The scalable dimension for a 2115 // custom resource provided by your own application or service. 2116 // 2117 // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The 2118 // number of inference units for an Amazon Comprehend document classification 2119 // endpoint. 2120 // 2121 // * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number 2122 // of inference units for an Amazon Comprehend entity recognizer endpoint. 2123 // 2124 // * lambda:function:ProvisionedConcurrency - The provisioned concurrency 2125 // for a Lambda function. 2126 // 2127 // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for 2128 // an Amazon Keyspaces table. 2129 // 2130 // * cassandra:table:WriteCapacityUnits - The provisioned write capacity 2131 // for an Amazon Keyspaces table. 2132 // 2133 // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) 2134 // for brokers in an Amazon MSK cluster. 2135 // 2136 // * elasticache:replication-group:NodeGroups - The number of node groups 2137 // for an Amazon ElastiCache replication group. 2138 // 2139 // * elasticache:replication-group:Replicas - The number of replicas per 2140 // node group for an Amazon ElastiCache replication group. 2141 // 2142 // * neptune:cluster:ReadReplicaCount - The count of read replicas in an 2143 // Amazon Neptune DB cluster. 2144 // 2145 // ScalableDimension is a required field 2146 ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` 2147 2148 // The namespace of the Amazon Web Services service that provides the resource. 2149 // For a resource provided by your own application or service, use custom-resource 2150 // instead. 2151 // 2152 // ServiceNamespace is a required field 2153 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 2154 } 2155 2156 // String returns the string representation. 2157 // 2158 // API parameter values that are decorated as "sensitive" in the API will not 2159 // be included in the string output. The member name will be present, but the 2160 // value will be replaced with "sensitive". 2161 func (s DeregisterScalableTargetInput) String() string { 2162 return awsutil.Prettify(s) 2163 } 2164 2165 // GoString returns the string representation. 2166 // 2167 // API parameter values that are decorated as "sensitive" in the API will not 2168 // be included in the string output. The member name will be present, but the 2169 // value will be replaced with "sensitive". 2170 func (s DeregisterScalableTargetInput) GoString() string { 2171 return s.String() 2172 } 2173 2174 // Validate inspects the fields of the type to determine if they are valid. 2175 func (s *DeregisterScalableTargetInput) Validate() error { 2176 invalidParams := request.ErrInvalidParams{Context: "DeregisterScalableTargetInput"} 2177 if s.ResourceId == nil { 2178 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 2179 } 2180 if s.ResourceId != nil && len(*s.ResourceId) < 1 { 2181 invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) 2182 } 2183 if s.ScalableDimension == nil { 2184 invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) 2185 } 2186 if s.ServiceNamespace == nil { 2187 invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) 2188 } 2189 2190 if invalidParams.Len() > 0 { 2191 return invalidParams 2192 } 2193 return nil 2194 } 2195 2196 // SetResourceId sets the ResourceId field's value. 2197 func (s *DeregisterScalableTargetInput) SetResourceId(v string) *DeregisterScalableTargetInput { 2198 s.ResourceId = &v 2199 return s 2200 } 2201 2202 // SetScalableDimension sets the ScalableDimension field's value. 2203 func (s *DeregisterScalableTargetInput) SetScalableDimension(v string) *DeregisterScalableTargetInput { 2204 s.ScalableDimension = &v 2205 return s 2206 } 2207 2208 // SetServiceNamespace sets the ServiceNamespace field's value. 2209 func (s *DeregisterScalableTargetInput) SetServiceNamespace(v string) *DeregisterScalableTargetInput { 2210 s.ServiceNamespace = &v 2211 return s 2212 } 2213 2214 type DeregisterScalableTargetOutput struct { 2215 _ struct{} `type:"structure"` 2216 } 2217 2218 // String returns the string representation. 2219 // 2220 // API parameter values that are decorated as "sensitive" in the API will not 2221 // be included in the string output. The member name will be present, but the 2222 // value will be replaced with "sensitive". 2223 func (s DeregisterScalableTargetOutput) String() string { 2224 return awsutil.Prettify(s) 2225 } 2226 2227 // GoString returns the string representation. 2228 // 2229 // API parameter values that are decorated as "sensitive" in the API will not 2230 // be included in the string output. The member name will be present, but the 2231 // value will be replaced with "sensitive". 2232 func (s DeregisterScalableTargetOutput) GoString() string { 2233 return s.String() 2234 } 2235 2236 type DescribeScalableTargetsInput struct { 2237 _ struct{} `type:"structure"` 2238 2239 // The maximum number of scalable targets. This value can be between 1 and 50. 2240 // The default value is 50. 2241 // 2242 // If this parameter is used, the operation returns up to MaxResults results 2243 // at a time, along with a NextToken value. To get the next set of results, 2244 // include the NextToken value in a subsequent call. If this parameter is not 2245 // used, the operation returns up to 50 results and a NextToken value, if applicable. 2246 MaxResults *int64 `type:"integer"` 2247 2248 // The token for the next set of results. 2249 NextToken *string `type:"string"` 2250 2251 // The identifier of the resource associated with the scalable target. This 2252 // string consists of the resource type and unique identifier. 2253 // 2254 // * ECS service - The resource type is service and the unique identifier 2255 // is the cluster name and service name. Example: service/default/sample-webapp. 2256 // 2257 // * Spot Fleet - The resource type is spot-fleet-request and the unique 2258 // identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 2259 // 2260 // * EMR cluster - The resource type is instancegroup and the unique identifier 2261 // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. 2262 // 2263 // * AppStream 2.0 fleet - The resource type is fleet and the unique identifier 2264 // is the fleet name. Example: fleet/sample-fleet. 2265 // 2266 // * DynamoDB table - The resource type is table and the unique identifier 2267 // is the table name. Example: table/my-table. 2268 // 2269 // * DynamoDB global secondary index - The resource type is index and the 2270 // unique identifier is the index name. Example: table/my-table/index/my-table-index. 2271 // 2272 // * Aurora DB cluster - The resource type is cluster and the unique identifier 2273 // is the cluster name. Example: cluster:my-db-cluster. 2274 // 2275 // * SageMaker endpoint variant - The resource type is variant and the unique 2276 // identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. 2277 // 2278 // * Custom resources are not supported with a resource type. This parameter 2279 // must specify the OutputValue from the CloudFormation template stack used 2280 // to access the resources. The unique identifier is defined by the service 2281 // provider. More information is available in our GitHub repository (https://github.com/aavshr/aws-auto-scaling-custom-resource). 2282 // 2283 // * Amazon Comprehend document classification endpoint - The resource type 2284 // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. 2285 // 2286 // * Amazon Comprehend entity recognizer endpoint - The resource type and 2287 // unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. 2288 // 2289 // * Lambda provisioned concurrency - The resource type is function and the 2290 // unique identifier is the function name with a function version or alias 2291 // name suffix that is not $LATEST. Example: function:my-function:prod or 2292 // function:my-function:1. 2293 // 2294 // * Amazon Keyspaces table - The resource type is table and the unique identifier 2295 // is the table name. Example: keyspace/mykeyspace/table/mytable. 2296 // 2297 // * Amazon MSK cluster - The resource type and unique identifier are specified 2298 // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. 2299 // 2300 // * Amazon ElastiCache replication group - The resource type is replication-group 2301 // and the unique identifier is the replication group name. Example: replication-group/mycluster. 2302 // 2303 // * Neptune cluster - The resource type is cluster and the unique identifier 2304 // is the cluster name. Example: cluster:mycluster. 2305 ResourceIds []*string `type:"list"` 2306 2307 // The scalable dimension associated with the scalable target. This string consists 2308 // of the service namespace, resource type, and scaling property. If you specify 2309 // a scalable dimension, you must also specify a resource ID. 2310 // 2311 // * ecs:service:DesiredCount - The desired task count of an ECS service. 2312 // 2313 // * elasticmapreduce:instancegroup:InstanceCount - The instance count of 2314 // an EMR Instance Group. 2315 // 2316 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 2317 // Fleet. 2318 // 2319 // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2320 // 2.0 fleet. 2321 // 2322 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 2323 // a DynamoDB table. 2324 // 2325 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 2326 // a DynamoDB table. 2327 // 2328 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 2329 // a DynamoDB global secondary index. 2330 // 2331 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 2332 // a DynamoDB global secondary index. 2333 // 2334 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 2335 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 2336 // edition. 2337 // 2338 // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances 2339 // for an SageMaker model endpoint variant. 2340 // 2341 // * custom-resource:ResourceType:Property - The scalable dimension for a 2342 // custom resource provided by your own application or service. 2343 // 2344 // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The 2345 // number of inference units for an Amazon Comprehend document classification 2346 // endpoint. 2347 // 2348 // * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number 2349 // of inference units for an Amazon Comprehend entity recognizer endpoint. 2350 // 2351 // * lambda:function:ProvisionedConcurrency - The provisioned concurrency 2352 // for a Lambda function. 2353 // 2354 // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for 2355 // an Amazon Keyspaces table. 2356 // 2357 // * cassandra:table:WriteCapacityUnits - The provisioned write capacity 2358 // for an Amazon Keyspaces table. 2359 // 2360 // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) 2361 // for brokers in an Amazon MSK cluster. 2362 // 2363 // * elasticache:replication-group:NodeGroups - The number of node groups 2364 // for an Amazon ElastiCache replication group. 2365 // 2366 // * elasticache:replication-group:Replicas - The number of replicas per 2367 // node group for an Amazon ElastiCache replication group. 2368 // 2369 // * neptune:cluster:ReadReplicaCount - The count of read replicas in an 2370 // Amazon Neptune DB cluster. 2371 ScalableDimension *string `type:"string" enum:"ScalableDimension"` 2372 2373 // The namespace of the Amazon Web Services service that provides the resource. 2374 // For a resource provided by your own application or service, use custom-resource 2375 // instead. 2376 // 2377 // ServiceNamespace is a required field 2378 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 2379 } 2380 2381 // String returns the string representation. 2382 // 2383 // API parameter values that are decorated as "sensitive" in the API will not 2384 // be included in the string output. The member name will be present, but the 2385 // value will be replaced with "sensitive". 2386 func (s DescribeScalableTargetsInput) String() string { 2387 return awsutil.Prettify(s) 2388 } 2389 2390 // GoString returns the string representation. 2391 // 2392 // API parameter values that are decorated as "sensitive" in the API will not 2393 // be included in the string output. The member name will be present, but the 2394 // value will be replaced with "sensitive". 2395 func (s DescribeScalableTargetsInput) GoString() string { 2396 return s.String() 2397 } 2398 2399 // Validate inspects the fields of the type to determine if they are valid. 2400 func (s *DescribeScalableTargetsInput) Validate() error { 2401 invalidParams := request.ErrInvalidParams{Context: "DescribeScalableTargetsInput"} 2402 if s.ServiceNamespace == nil { 2403 invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) 2404 } 2405 2406 if invalidParams.Len() > 0 { 2407 return invalidParams 2408 } 2409 return nil 2410 } 2411 2412 // SetMaxResults sets the MaxResults field's value. 2413 func (s *DescribeScalableTargetsInput) SetMaxResults(v int64) *DescribeScalableTargetsInput { 2414 s.MaxResults = &v 2415 return s 2416 } 2417 2418 // SetNextToken sets the NextToken field's value. 2419 func (s *DescribeScalableTargetsInput) SetNextToken(v string) *DescribeScalableTargetsInput { 2420 s.NextToken = &v 2421 return s 2422 } 2423 2424 // SetResourceIds sets the ResourceIds field's value. 2425 func (s *DescribeScalableTargetsInput) SetResourceIds(v []*string) *DescribeScalableTargetsInput { 2426 s.ResourceIds = v 2427 return s 2428 } 2429 2430 // SetScalableDimension sets the ScalableDimension field's value. 2431 func (s *DescribeScalableTargetsInput) SetScalableDimension(v string) *DescribeScalableTargetsInput { 2432 s.ScalableDimension = &v 2433 return s 2434 } 2435 2436 // SetServiceNamespace sets the ServiceNamespace field's value. 2437 func (s *DescribeScalableTargetsInput) SetServiceNamespace(v string) *DescribeScalableTargetsInput { 2438 s.ServiceNamespace = &v 2439 return s 2440 } 2441 2442 type DescribeScalableTargetsOutput struct { 2443 _ struct{} `type:"structure"` 2444 2445 // The token required to get the next set of results. This value is null if 2446 // there are no more results to return. 2447 NextToken *string `type:"string"` 2448 2449 // The scalable targets that match the request parameters. 2450 ScalableTargets []*ScalableTarget `type:"list"` 2451 } 2452 2453 // String returns the string representation. 2454 // 2455 // API parameter values that are decorated as "sensitive" in the API will not 2456 // be included in the string output. The member name will be present, but the 2457 // value will be replaced with "sensitive". 2458 func (s DescribeScalableTargetsOutput) String() string { 2459 return awsutil.Prettify(s) 2460 } 2461 2462 // GoString returns the string representation. 2463 // 2464 // API parameter values that are decorated as "sensitive" in the API will not 2465 // be included in the string output. The member name will be present, but the 2466 // value will be replaced with "sensitive". 2467 func (s DescribeScalableTargetsOutput) GoString() string { 2468 return s.String() 2469 } 2470 2471 // SetNextToken sets the NextToken field's value. 2472 func (s *DescribeScalableTargetsOutput) SetNextToken(v string) *DescribeScalableTargetsOutput { 2473 s.NextToken = &v 2474 return s 2475 } 2476 2477 // SetScalableTargets sets the ScalableTargets field's value. 2478 func (s *DescribeScalableTargetsOutput) SetScalableTargets(v []*ScalableTarget) *DescribeScalableTargetsOutput { 2479 s.ScalableTargets = v 2480 return s 2481 } 2482 2483 type DescribeScalingActivitiesInput struct { 2484 _ struct{} `type:"structure"` 2485 2486 // The maximum number of scalable targets. This value can be between 1 and 50. 2487 // The default value is 50. 2488 // 2489 // If this parameter is used, the operation returns up to MaxResults results 2490 // at a time, along with a NextToken value. To get the next set of results, 2491 // include the NextToken value in a subsequent call. If this parameter is not 2492 // used, the operation returns up to 50 results and a NextToken value, if applicable. 2493 MaxResults *int64 `type:"integer"` 2494 2495 // The token for the next set of results. 2496 NextToken *string `type:"string"` 2497 2498 // The identifier of the resource associated with the scaling activity. This 2499 // string consists of the resource type and unique identifier. 2500 // 2501 // * ECS service - The resource type is service and the unique identifier 2502 // is the cluster name and service name. Example: service/default/sample-webapp. 2503 // 2504 // * Spot Fleet - The resource type is spot-fleet-request and the unique 2505 // identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 2506 // 2507 // * EMR cluster - The resource type is instancegroup and the unique identifier 2508 // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. 2509 // 2510 // * AppStream 2.0 fleet - The resource type is fleet and the unique identifier 2511 // is the fleet name. Example: fleet/sample-fleet. 2512 // 2513 // * DynamoDB table - The resource type is table and the unique identifier 2514 // is the table name. Example: table/my-table. 2515 // 2516 // * DynamoDB global secondary index - The resource type is index and the 2517 // unique identifier is the index name. Example: table/my-table/index/my-table-index. 2518 // 2519 // * Aurora DB cluster - The resource type is cluster and the unique identifier 2520 // is the cluster name. Example: cluster:my-db-cluster. 2521 // 2522 // * SageMaker endpoint variant - The resource type is variant and the unique 2523 // identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. 2524 // 2525 // * Custom resources are not supported with a resource type. This parameter 2526 // must specify the OutputValue from the CloudFormation template stack used 2527 // to access the resources. The unique identifier is defined by the service 2528 // provider. More information is available in our GitHub repository (https://github.com/aavshr/aws-auto-scaling-custom-resource). 2529 // 2530 // * Amazon Comprehend document classification endpoint - The resource type 2531 // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. 2532 // 2533 // * Amazon Comprehend entity recognizer endpoint - The resource type and 2534 // unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. 2535 // 2536 // * Lambda provisioned concurrency - The resource type is function and the 2537 // unique identifier is the function name with a function version or alias 2538 // name suffix that is not $LATEST. Example: function:my-function:prod or 2539 // function:my-function:1. 2540 // 2541 // * Amazon Keyspaces table - The resource type is table and the unique identifier 2542 // is the table name. Example: keyspace/mykeyspace/table/mytable. 2543 // 2544 // * Amazon MSK cluster - The resource type and unique identifier are specified 2545 // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. 2546 // 2547 // * Amazon ElastiCache replication group - The resource type is replication-group 2548 // and the unique identifier is the replication group name. Example: replication-group/mycluster. 2549 // 2550 // * Neptune cluster - The resource type is cluster and the unique identifier 2551 // is the cluster name. Example: cluster:mycluster. 2552 ResourceId *string `min:"1" type:"string"` 2553 2554 // The scalable dimension. This string consists of the service namespace, resource 2555 // type, and scaling property. If you specify a scalable dimension, you must 2556 // also specify a resource ID. 2557 // 2558 // * ecs:service:DesiredCount - The desired task count of an ECS service. 2559 // 2560 // * elasticmapreduce:instancegroup:InstanceCount - The instance count of 2561 // an EMR Instance Group. 2562 // 2563 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 2564 // Fleet. 2565 // 2566 // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2567 // 2.0 fleet. 2568 // 2569 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 2570 // a DynamoDB table. 2571 // 2572 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 2573 // a DynamoDB table. 2574 // 2575 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 2576 // a DynamoDB global secondary index. 2577 // 2578 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 2579 // a DynamoDB global secondary index. 2580 // 2581 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 2582 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 2583 // edition. 2584 // 2585 // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances 2586 // for an SageMaker model endpoint variant. 2587 // 2588 // * custom-resource:ResourceType:Property - The scalable dimension for a 2589 // custom resource provided by your own application or service. 2590 // 2591 // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The 2592 // number of inference units for an Amazon Comprehend document classification 2593 // endpoint. 2594 // 2595 // * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number 2596 // of inference units for an Amazon Comprehend entity recognizer endpoint. 2597 // 2598 // * lambda:function:ProvisionedConcurrency - The provisioned concurrency 2599 // for a Lambda function. 2600 // 2601 // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for 2602 // an Amazon Keyspaces table. 2603 // 2604 // * cassandra:table:WriteCapacityUnits - The provisioned write capacity 2605 // for an Amazon Keyspaces table. 2606 // 2607 // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) 2608 // for brokers in an Amazon MSK cluster. 2609 // 2610 // * elasticache:replication-group:NodeGroups - The number of node groups 2611 // for an Amazon ElastiCache replication group. 2612 // 2613 // * elasticache:replication-group:Replicas - The number of replicas per 2614 // node group for an Amazon ElastiCache replication group. 2615 // 2616 // * neptune:cluster:ReadReplicaCount - The count of read replicas in an 2617 // Amazon Neptune DB cluster. 2618 ScalableDimension *string `type:"string" enum:"ScalableDimension"` 2619 2620 // The namespace of the Amazon Web Services service that provides the resource. 2621 // For a resource provided by your own application or service, use custom-resource 2622 // instead. 2623 // 2624 // ServiceNamespace is a required field 2625 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 2626 } 2627 2628 // String returns the string representation. 2629 // 2630 // API parameter values that are decorated as "sensitive" in the API will not 2631 // be included in the string output. The member name will be present, but the 2632 // value will be replaced with "sensitive". 2633 func (s DescribeScalingActivitiesInput) String() string { 2634 return awsutil.Prettify(s) 2635 } 2636 2637 // GoString returns the string representation. 2638 // 2639 // API parameter values that are decorated as "sensitive" in the API will not 2640 // be included in the string output. The member name will be present, but the 2641 // value will be replaced with "sensitive". 2642 func (s DescribeScalingActivitiesInput) GoString() string { 2643 return s.String() 2644 } 2645 2646 // Validate inspects the fields of the type to determine if they are valid. 2647 func (s *DescribeScalingActivitiesInput) Validate() error { 2648 invalidParams := request.ErrInvalidParams{Context: "DescribeScalingActivitiesInput"} 2649 if s.ResourceId != nil && len(*s.ResourceId) < 1 { 2650 invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) 2651 } 2652 if s.ServiceNamespace == nil { 2653 invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) 2654 } 2655 2656 if invalidParams.Len() > 0 { 2657 return invalidParams 2658 } 2659 return nil 2660 } 2661 2662 // SetMaxResults sets the MaxResults field's value. 2663 func (s *DescribeScalingActivitiesInput) SetMaxResults(v int64) *DescribeScalingActivitiesInput { 2664 s.MaxResults = &v 2665 return s 2666 } 2667 2668 // SetNextToken sets the NextToken field's value. 2669 func (s *DescribeScalingActivitiesInput) SetNextToken(v string) *DescribeScalingActivitiesInput { 2670 s.NextToken = &v 2671 return s 2672 } 2673 2674 // SetResourceId sets the ResourceId field's value. 2675 func (s *DescribeScalingActivitiesInput) SetResourceId(v string) *DescribeScalingActivitiesInput { 2676 s.ResourceId = &v 2677 return s 2678 } 2679 2680 // SetScalableDimension sets the ScalableDimension field's value. 2681 func (s *DescribeScalingActivitiesInput) SetScalableDimension(v string) *DescribeScalingActivitiesInput { 2682 s.ScalableDimension = &v 2683 return s 2684 } 2685 2686 // SetServiceNamespace sets the ServiceNamespace field's value. 2687 func (s *DescribeScalingActivitiesInput) SetServiceNamespace(v string) *DescribeScalingActivitiesInput { 2688 s.ServiceNamespace = &v 2689 return s 2690 } 2691 2692 type DescribeScalingActivitiesOutput struct { 2693 _ struct{} `type:"structure"` 2694 2695 // The token required to get the next set of results. This value is null if 2696 // there are no more results to return. 2697 NextToken *string `type:"string"` 2698 2699 // A list of scaling activity objects. 2700 ScalingActivities []*ScalingActivity `type:"list"` 2701 } 2702 2703 // String returns the string representation. 2704 // 2705 // API parameter values that are decorated as "sensitive" in the API will not 2706 // be included in the string output. The member name will be present, but the 2707 // value will be replaced with "sensitive". 2708 func (s DescribeScalingActivitiesOutput) String() string { 2709 return awsutil.Prettify(s) 2710 } 2711 2712 // GoString returns the string representation. 2713 // 2714 // API parameter values that are decorated as "sensitive" in the API will not 2715 // be included in the string output. The member name will be present, but the 2716 // value will be replaced with "sensitive". 2717 func (s DescribeScalingActivitiesOutput) GoString() string { 2718 return s.String() 2719 } 2720 2721 // SetNextToken sets the NextToken field's value. 2722 func (s *DescribeScalingActivitiesOutput) SetNextToken(v string) *DescribeScalingActivitiesOutput { 2723 s.NextToken = &v 2724 return s 2725 } 2726 2727 // SetScalingActivities sets the ScalingActivities field's value. 2728 func (s *DescribeScalingActivitiesOutput) SetScalingActivities(v []*ScalingActivity) *DescribeScalingActivitiesOutput { 2729 s.ScalingActivities = v 2730 return s 2731 } 2732 2733 type DescribeScalingPoliciesInput struct { 2734 _ struct{} `type:"structure"` 2735 2736 // The maximum number of scalable targets. This value can be between 1 and 10. 2737 // The default value is 10. 2738 // 2739 // If this parameter is used, the operation returns up to MaxResults results 2740 // at a time, along with a NextToken value. To get the next set of results, 2741 // include the NextToken value in a subsequent call. If this parameter is not 2742 // used, the operation returns up to 10 results and a NextToken value, if applicable. 2743 MaxResults *int64 `type:"integer"` 2744 2745 // The token for the next set of results. 2746 NextToken *string `type:"string"` 2747 2748 // The names of the scaling policies to describe. 2749 PolicyNames []*string `type:"list"` 2750 2751 // The identifier of the resource associated with the scaling policy. This string 2752 // consists of the resource type and unique identifier. 2753 // 2754 // * ECS service - The resource type is service and the unique identifier 2755 // is the cluster name and service name. Example: service/default/sample-webapp. 2756 // 2757 // * Spot Fleet - The resource type is spot-fleet-request and the unique 2758 // identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 2759 // 2760 // * EMR cluster - The resource type is instancegroup and the unique identifier 2761 // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. 2762 // 2763 // * AppStream 2.0 fleet - The resource type is fleet and the unique identifier 2764 // is the fleet name. Example: fleet/sample-fleet. 2765 // 2766 // * DynamoDB table - The resource type is table and the unique identifier 2767 // is the table name. Example: table/my-table. 2768 // 2769 // * DynamoDB global secondary index - The resource type is index and the 2770 // unique identifier is the index name. Example: table/my-table/index/my-table-index. 2771 // 2772 // * Aurora DB cluster - The resource type is cluster and the unique identifier 2773 // is the cluster name. Example: cluster:my-db-cluster. 2774 // 2775 // * SageMaker endpoint variant - The resource type is variant and the unique 2776 // identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. 2777 // 2778 // * Custom resources are not supported with a resource type. This parameter 2779 // must specify the OutputValue from the CloudFormation template stack used 2780 // to access the resources. The unique identifier is defined by the service 2781 // provider. More information is available in our GitHub repository (https://github.com/aavshr/aws-auto-scaling-custom-resource). 2782 // 2783 // * Amazon Comprehend document classification endpoint - The resource type 2784 // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. 2785 // 2786 // * Amazon Comprehend entity recognizer endpoint - The resource type and 2787 // unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. 2788 // 2789 // * Lambda provisioned concurrency - The resource type is function and the 2790 // unique identifier is the function name with a function version or alias 2791 // name suffix that is not $LATEST. Example: function:my-function:prod or 2792 // function:my-function:1. 2793 // 2794 // * Amazon Keyspaces table - The resource type is table and the unique identifier 2795 // is the table name. Example: keyspace/mykeyspace/table/mytable. 2796 // 2797 // * Amazon MSK cluster - The resource type and unique identifier are specified 2798 // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. 2799 // 2800 // * Amazon ElastiCache replication group - The resource type is replication-group 2801 // and the unique identifier is the replication group name. Example: replication-group/mycluster. 2802 // 2803 // * Neptune cluster - The resource type is cluster and the unique identifier 2804 // is the cluster name. Example: cluster:mycluster. 2805 ResourceId *string `min:"1" type:"string"` 2806 2807 // The scalable dimension. This string consists of the service namespace, resource 2808 // type, and scaling property. If you specify a scalable dimension, you must 2809 // also specify a resource ID. 2810 // 2811 // * ecs:service:DesiredCount - The desired task count of an ECS service. 2812 // 2813 // * elasticmapreduce:instancegroup:InstanceCount - The instance count of 2814 // an EMR Instance Group. 2815 // 2816 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 2817 // Fleet. 2818 // 2819 // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2820 // 2.0 fleet. 2821 // 2822 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 2823 // a DynamoDB table. 2824 // 2825 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 2826 // a DynamoDB table. 2827 // 2828 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 2829 // a DynamoDB global secondary index. 2830 // 2831 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 2832 // a DynamoDB global secondary index. 2833 // 2834 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 2835 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 2836 // edition. 2837 // 2838 // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances 2839 // for an SageMaker model endpoint variant. 2840 // 2841 // * custom-resource:ResourceType:Property - The scalable dimension for a 2842 // custom resource provided by your own application or service. 2843 // 2844 // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The 2845 // number of inference units for an Amazon Comprehend document classification 2846 // endpoint. 2847 // 2848 // * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number 2849 // of inference units for an Amazon Comprehend entity recognizer endpoint. 2850 // 2851 // * lambda:function:ProvisionedConcurrency - The provisioned concurrency 2852 // for a Lambda function. 2853 // 2854 // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for 2855 // an Amazon Keyspaces table. 2856 // 2857 // * cassandra:table:WriteCapacityUnits - The provisioned write capacity 2858 // for an Amazon Keyspaces table. 2859 // 2860 // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) 2861 // for brokers in an Amazon MSK cluster. 2862 // 2863 // * elasticache:replication-group:NodeGroups - The number of node groups 2864 // for an Amazon ElastiCache replication group. 2865 // 2866 // * elasticache:replication-group:Replicas - The number of replicas per 2867 // node group for an Amazon ElastiCache replication group. 2868 // 2869 // * neptune:cluster:ReadReplicaCount - The count of read replicas in an 2870 // Amazon Neptune DB cluster. 2871 ScalableDimension *string `type:"string" enum:"ScalableDimension"` 2872 2873 // The namespace of the Amazon Web Services service that provides the resource. 2874 // For a resource provided by your own application or service, use custom-resource 2875 // instead. 2876 // 2877 // ServiceNamespace is a required field 2878 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 2879 } 2880 2881 // String returns the string representation. 2882 // 2883 // API parameter values that are decorated as "sensitive" in the API will not 2884 // be included in the string output. The member name will be present, but the 2885 // value will be replaced with "sensitive". 2886 func (s DescribeScalingPoliciesInput) String() string { 2887 return awsutil.Prettify(s) 2888 } 2889 2890 // GoString returns the string representation. 2891 // 2892 // API parameter values that are decorated as "sensitive" in the API will not 2893 // be included in the string output. The member name will be present, but the 2894 // value will be replaced with "sensitive". 2895 func (s DescribeScalingPoliciesInput) GoString() string { 2896 return s.String() 2897 } 2898 2899 // Validate inspects the fields of the type to determine if they are valid. 2900 func (s *DescribeScalingPoliciesInput) Validate() error { 2901 invalidParams := request.ErrInvalidParams{Context: "DescribeScalingPoliciesInput"} 2902 if s.ResourceId != nil && len(*s.ResourceId) < 1 { 2903 invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) 2904 } 2905 if s.ServiceNamespace == nil { 2906 invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) 2907 } 2908 2909 if invalidParams.Len() > 0 { 2910 return invalidParams 2911 } 2912 return nil 2913 } 2914 2915 // SetMaxResults sets the MaxResults field's value. 2916 func (s *DescribeScalingPoliciesInput) SetMaxResults(v int64) *DescribeScalingPoliciesInput { 2917 s.MaxResults = &v 2918 return s 2919 } 2920 2921 // SetNextToken sets the NextToken field's value. 2922 func (s *DescribeScalingPoliciesInput) SetNextToken(v string) *DescribeScalingPoliciesInput { 2923 s.NextToken = &v 2924 return s 2925 } 2926 2927 // SetPolicyNames sets the PolicyNames field's value. 2928 func (s *DescribeScalingPoliciesInput) SetPolicyNames(v []*string) *DescribeScalingPoliciesInput { 2929 s.PolicyNames = v 2930 return s 2931 } 2932 2933 // SetResourceId sets the ResourceId field's value. 2934 func (s *DescribeScalingPoliciesInput) SetResourceId(v string) *DescribeScalingPoliciesInput { 2935 s.ResourceId = &v 2936 return s 2937 } 2938 2939 // SetScalableDimension sets the ScalableDimension field's value. 2940 func (s *DescribeScalingPoliciesInput) SetScalableDimension(v string) *DescribeScalingPoliciesInput { 2941 s.ScalableDimension = &v 2942 return s 2943 } 2944 2945 // SetServiceNamespace sets the ServiceNamespace field's value. 2946 func (s *DescribeScalingPoliciesInput) SetServiceNamespace(v string) *DescribeScalingPoliciesInput { 2947 s.ServiceNamespace = &v 2948 return s 2949 } 2950 2951 type DescribeScalingPoliciesOutput struct { 2952 _ struct{} `type:"structure"` 2953 2954 // The token required to get the next set of results. This value is null if 2955 // there are no more results to return. 2956 NextToken *string `type:"string"` 2957 2958 // Information about the scaling policies. 2959 ScalingPolicies []*ScalingPolicy `type:"list"` 2960 } 2961 2962 // String returns the string representation. 2963 // 2964 // API parameter values that are decorated as "sensitive" in the API will not 2965 // be included in the string output. The member name will be present, but the 2966 // value will be replaced with "sensitive". 2967 func (s DescribeScalingPoliciesOutput) String() string { 2968 return awsutil.Prettify(s) 2969 } 2970 2971 // GoString returns the string representation. 2972 // 2973 // API parameter values that are decorated as "sensitive" in the API will not 2974 // be included in the string output. The member name will be present, but the 2975 // value will be replaced with "sensitive". 2976 func (s DescribeScalingPoliciesOutput) GoString() string { 2977 return s.String() 2978 } 2979 2980 // SetNextToken sets the NextToken field's value. 2981 func (s *DescribeScalingPoliciesOutput) SetNextToken(v string) *DescribeScalingPoliciesOutput { 2982 s.NextToken = &v 2983 return s 2984 } 2985 2986 // SetScalingPolicies sets the ScalingPolicies field's value. 2987 func (s *DescribeScalingPoliciesOutput) SetScalingPolicies(v []*ScalingPolicy) *DescribeScalingPoliciesOutput { 2988 s.ScalingPolicies = v 2989 return s 2990 } 2991 2992 type DescribeScheduledActionsInput struct { 2993 _ struct{} `type:"structure"` 2994 2995 // The maximum number of scheduled action results. This value can be between 2996 // 1 and 50. The default value is 50. 2997 // 2998 // If this parameter is used, the operation returns up to MaxResults results 2999 // at a time, along with a NextToken value. To get the next set of results, 3000 // include the NextToken value in a subsequent call. If this parameter is not 3001 // used, the operation returns up to 50 results and a NextToken value, if applicable. 3002 MaxResults *int64 `type:"integer"` 3003 3004 // The token for the next set of results. 3005 NextToken *string `type:"string"` 3006 3007 // The identifier of the resource associated with the scheduled action. This 3008 // string consists of the resource type and unique identifier. 3009 // 3010 // * ECS service - The resource type is service and the unique identifier 3011 // is the cluster name and service name. Example: service/default/sample-webapp. 3012 // 3013 // * Spot Fleet - The resource type is spot-fleet-request and the unique 3014 // identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 3015 // 3016 // * EMR cluster - The resource type is instancegroup and the unique identifier 3017 // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. 3018 // 3019 // * AppStream 2.0 fleet - The resource type is fleet and the unique identifier 3020 // is the fleet name. Example: fleet/sample-fleet. 3021 // 3022 // * DynamoDB table - The resource type is table and the unique identifier 3023 // is the table name. Example: table/my-table. 3024 // 3025 // * DynamoDB global secondary index - The resource type is index and the 3026 // unique identifier is the index name. Example: table/my-table/index/my-table-index. 3027 // 3028 // * Aurora DB cluster - The resource type is cluster and the unique identifier 3029 // is the cluster name. Example: cluster:my-db-cluster. 3030 // 3031 // * SageMaker endpoint variant - The resource type is variant and the unique 3032 // identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. 3033 // 3034 // * Custom resources are not supported with a resource type. This parameter 3035 // must specify the OutputValue from the CloudFormation template stack used 3036 // to access the resources. The unique identifier is defined by the service 3037 // provider. More information is available in our GitHub repository (https://github.com/aavshr/aws-auto-scaling-custom-resource). 3038 // 3039 // * Amazon Comprehend document classification endpoint - The resource type 3040 // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. 3041 // 3042 // * Amazon Comprehend entity recognizer endpoint - The resource type and 3043 // unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. 3044 // 3045 // * Lambda provisioned concurrency - The resource type is function and the 3046 // unique identifier is the function name with a function version or alias 3047 // name suffix that is not $LATEST. Example: function:my-function:prod or 3048 // function:my-function:1. 3049 // 3050 // * Amazon Keyspaces table - The resource type is table and the unique identifier 3051 // is the table name. Example: keyspace/mykeyspace/table/mytable. 3052 // 3053 // * Amazon MSK cluster - The resource type and unique identifier are specified 3054 // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. 3055 // 3056 // * Amazon ElastiCache replication group - The resource type is replication-group 3057 // and the unique identifier is the replication group name. Example: replication-group/mycluster. 3058 // 3059 // * Neptune cluster - The resource type is cluster and the unique identifier 3060 // is the cluster name. Example: cluster:mycluster. 3061 ResourceId *string `min:"1" type:"string"` 3062 3063 // The scalable dimension. This string consists of the service namespace, resource 3064 // type, and scaling property. If you specify a scalable dimension, you must 3065 // also specify a resource ID. 3066 // 3067 // * ecs:service:DesiredCount - The desired task count of an ECS service. 3068 // 3069 // * elasticmapreduce:instancegroup:InstanceCount - The instance count of 3070 // an EMR Instance Group. 3071 // 3072 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 3073 // Fleet. 3074 // 3075 // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 3076 // 2.0 fleet. 3077 // 3078 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 3079 // a DynamoDB table. 3080 // 3081 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 3082 // a DynamoDB table. 3083 // 3084 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 3085 // a DynamoDB global secondary index. 3086 // 3087 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 3088 // a DynamoDB global secondary index. 3089 // 3090 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 3091 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 3092 // edition. 3093 // 3094 // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances 3095 // for an SageMaker model endpoint variant. 3096 // 3097 // * custom-resource:ResourceType:Property - The scalable dimension for a 3098 // custom resource provided by your own application or service. 3099 // 3100 // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The 3101 // number of inference units for an Amazon Comprehend document classification 3102 // endpoint. 3103 // 3104 // * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number 3105 // of inference units for an Amazon Comprehend entity recognizer endpoint. 3106 // 3107 // * lambda:function:ProvisionedConcurrency - The provisioned concurrency 3108 // for a Lambda function. 3109 // 3110 // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for 3111 // an Amazon Keyspaces table. 3112 // 3113 // * cassandra:table:WriteCapacityUnits - The provisioned write capacity 3114 // for an Amazon Keyspaces table. 3115 // 3116 // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) 3117 // for brokers in an Amazon MSK cluster. 3118 // 3119 // * elasticache:replication-group:NodeGroups - The number of node groups 3120 // for an Amazon ElastiCache replication group. 3121 // 3122 // * elasticache:replication-group:Replicas - The number of replicas per 3123 // node group for an Amazon ElastiCache replication group. 3124 // 3125 // * neptune:cluster:ReadReplicaCount - The count of read replicas in an 3126 // Amazon Neptune DB cluster. 3127 ScalableDimension *string `type:"string" enum:"ScalableDimension"` 3128 3129 // The names of the scheduled actions to describe. 3130 ScheduledActionNames []*string `type:"list"` 3131 3132 // The namespace of the Amazon Web Services service that provides the resource. 3133 // For a resource provided by your own application or service, use custom-resource 3134 // instead. 3135 // 3136 // ServiceNamespace is a required field 3137 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 3138 } 3139 3140 // String returns the string representation. 3141 // 3142 // API parameter values that are decorated as "sensitive" in the API will not 3143 // be included in the string output. The member name will be present, but the 3144 // value will be replaced with "sensitive". 3145 func (s DescribeScheduledActionsInput) String() string { 3146 return awsutil.Prettify(s) 3147 } 3148 3149 // GoString returns the string representation. 3150 // 3151 // API parameter values that are decorated as "sensitive" in the API will not 3152 // be included in the string output. The member name will be present, but the 3153 // value will be replaced with "sensitive". 3154 func (s DescribeScheduledActionsInput) GoString() string { 3155 return s.String() 3156 } 3157 3158 // Validate inspects the fields of the type to determine if they are valid. 3159 func (s *DescribeScheduledActionsInput) Validate() error { 3160 invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledActionsInput"} 3161 if s.ResourceId != nil && len(*s.ResourceId) < 1 { 3162 invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) 3163 } 3164 if s.ServiceNamespace == nil { 3165 invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) 3166 } 3167 3168 if invalidParams.Len() > 0 { 3169 return invalidParams 3170 } 3171 return nil 3172 } 3173 3174 // SetMaxResults sets the MaxResults field's value. 3175 func (s *DescribeScheduledActionsInput) SetMaxResults(v int64) *DescribeScheduledActionsInput { 3176 s.MaxResults = &v 3177 return s 3178 } 3179 3180 // SetNextToken sets the NextToken field's value. 3181 func (s *DescribeScheduledActionsInput) SetNextToken(v string) *DescribeScheduledActionsInput { 3182 s.NextToken = &v 3183 return s 3184 } 3185 3186 // SetResourceId sets the ResourceId field's value. 3187 func (s *DescribeScheduledActionsInput) SetResourceId(v string) *DescribeScheduledActionsInput { 3188 s.ResourceId = &v 3189 return s 3190 } 3191 3192 // SetScalableDimension sets the ScalableDimension field's value. 3193 func (s *DescribeScheduledActionsInput) SetScalableDimension(v string) *DescribeScheduledActionsInput { 3194 s.ScalableDimension = &v 3195 return s 3196 } 3197 3198 // SetScheduledActionNames sets the ScheduledActionNames field's value. 3199 func (s *DescribeScheduledActionsInput) SetScheduledActionNames(v []*string) *DescribeScheduledActionsInput { 3200 s.ScheduledActionNames = v 3201 return s 3202 } 3203 3204 // SetServiceNamespace sets the ServiceNamespace field's value. 3205 func (s *DescribeScheduledActionsInput) SetServiceNamespace(v string) *DescribeScheduledActionsInput { 3206 s.ServiceNamespace = &v 3207 return s 3208 } 3209 3210 type DescribeScheduledActionsOutput struct { 3211 _ struct{} `type:"structure"` 3212 3213 // The token required to get the next set of results. This value is null if 3214 // there are no more results to return. 3215 NextToken *string `type:"string"` 3216 3217 // Information about the scheduled actions. 3218 ScheduledActions []*ScheduledAction `type:"list"` 3219 } 3220 3221 // String returns the string representation. 3222 // 3223 // API parameter values that are decorated as "sensitive" in the API will not 3224 // be included in the string output. The member name will be present, but the 3225 // value will be replaced with "sensitive". 3226 func (s DescribeScheduledActionsOutput) String() string { 3227 return awsutil.Prettify(s) 3228 } 3229 3230 // GoString returns the string representation. 3231 // 3232 // API parameter values that are decorated as "sensitive" in the API will not 3233 // be included in the string output. The member name will be present, but the 3234 // value will be replaced with "sensitive". 3235 func (s DescribeScheduledActionsOutput) GoString() string { 3236 return s.String() 3237 } 3238 3239 // SetNextToken sets the NextToken field's value. 3240 func (s *DescribeScheduledActionsOutput) SetNextToken(v string) *DescribeScheduledActionsOutput { 3241 s.NextToken = &v 3242 return s 3243 } 3244 3245 // SetScheduledActions sets the ScheduledActions field's value. 3246 func (s *DescribeScheduledActionsOutput) SetScheduledActions(v []*ScheduledAction) *DescribeScheduledActionsOutput { 3247 s.ScheduledActions = v 3248 return s 3249 } 3250 3251 // Failed access to resources caused an exception. This exception is thrown 3252 // when Application Auto Scaling is unable to retrieve the alarms associated 3253 // with a scaling policy due to a client error, for example, if the role ARN 3254 // specified for a scalable target does not have permission to call the CloudWatch 3255 // DescribeAlarms (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) 3256 // on your behalf. 3257 type FailedResourceAccessException struct { 3258 _ struct{} `type:"structure"` 3259 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3260 3261 Message_ *string `locationName:"Message" type:"string"` 3262 } 3263 3264 // String returns the string representation. 3265 // 3266 // API parameter values that are decorated as "sensitive" in the API will not 3267 // be included in the string output. The member name will be present, but the 3268 // value will be replaced with "sensitive". 3269 func (s FailedResourceAccessException) String() string { 3270 return awsutil.Prettify(s) 3271 } 3272 3273 // GoString returns the string representation. 3274 // 3275 // API parameter values that are decorated as "sensitive" in the API will not 3276 // be included in the string output. The member name will be present, but the 3277 // value will be replaced with "sensitive". 3278 func (s FailedResourceAccessException) GoString() string { 3279 return s.String() 3280 } 3281 3282 func newErrorFailedResourceAccessException(v protocol.ResponseMetadata) error { 3283 return &FailedResourceAccessException{ 3284 RespMetadata: v, 3285 } 3286 } 3287 3288 // Code returns the exception type name. 3289 func (s *FailedResourceAccessException) Code() string { 3290 return "FailedResourceAccessException" 3291 } 3292 3293 // Message returns the exception's message. 3294 func (s *FailedResourceAccessException) Message() string { 3295 if s.Message_ != nil { 3296 return *s.Message_ 3297 } 3298 return "" 3299 } 3300 3301 // OrigErr always returns nil, satisfies awserr.Error interface. 3302 func (s *FailedResourceAccessException) OrigErr() error { 3303 return nil 3304 } 3305 3306 func (s *FailedResourceAccessException) Error() string { 3307 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3308 } 3309 3310 // Status code returns the HTTP status code for the request's response error. 3311 func (s *FailedResourceAccessException) StatusCode() int { 3312 return s.RespMetadata.StatusCode 3313 } 3314 3315 // RequestID returns the service's response RequestID for request. 3316 func (s *FailedResourceAccessException) RequestID() string { 3317 return s.RespMetadata.RequestID 3318 } 3319 3320 // The service encountered an internal error. 3321 type InternalServiceException struct { 3322 _ struct{} `type:"structure"` 3323 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3324 3325 Message_ *string `locationName:"Message" type:"string"` 3326 } 3327 3328 // String returns the string representation. 3329 // 3330 // API parameter values that are decorated as "sensitive" in the API will not 3331 // be included in the string output. The member name will be present, but the 3332 // value will be replaced with "sensitive". 3333 func (s InternalServiceException) String() string { 3334 return awsutil.Prettify(s) 3335 } 3336 3337 // GoString returns the string representation. 3338 // 3339 // API parameter values that are decorated as "sensitive" in the API will not 3340 // be included in the string output. The member name will be present, but the 3341 // value will be replaced with "sensitive". 3342 func (s InternalServiceException) GoString() string { 3343 return s.String() 3344 } 3345 3346 func newErrorInternalServiceException(v protocol.ResponseMetadata) error { 3347 return &InternalServiceException{ 3348 RespMetadata: v, 3349 } 3350 } 3351 3352 // Code returns the exception type name. 3353 func (s *InternalServiceException) Code() string { 3354 return "InternalServiceException" 3355 } 3356 3357 // Message returns the exception's message. 3358 func (s *InternalServiceException) Message() string { 3359 if s.Message_ != nil { 3360 return *s.Message_ 3361 } 3362 return "" 3363 } 3364 3365 // OrigErr always returns nil, satisfies awserr.Error interface. 3366 func (s *InternalServiceException) OrigErr() error { 3367 return nil 3368 } 3369 3370 func (s *InternalServiceException) Error() string { 3371 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3372 } 3373 3374 // Status code returns the HTTP status code for the request's response error. 3375 func (s *InternalServiceException) StatusCode() int { 3376 return s.RespMetadata.StatusCode 3377 } 3378 3379 // RequestID returns the service's response RequestID for request. 3380 func (s *InternalServiceException) RequestID() string { 3381 return s.RespMetadata.RequestID 3382 } 3383 3384 // The next token supplied was invalid. 3385 type InvalidNextTokenException struct { 3386 _ struct{} `type:"structure"` 3387 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3388 3389 Message_ *string `locationName:"Message" type:"string"` 3390 } 3391 3392 // String returns the string representation. 3393 // 3394 // API parameter values that are decorated as "sensitive" in the API will not 3395 // be included in the string output. The member name will be present, but the 3396 // value will be replaced with "sensitive". 3397 func (s InvalidNextTokenException) String() string { 3398 return awsutil.Prettify(s) 3399 } 3400 3401 // GoString returns the string representation. 3402 // 3403 // API parameter values that are decorated as "sensitive" in the API will not 3404 // be included in the string output. The member name will be present, but the 3405 // value will be replaced with "sensitive". 3406 func (s InvalidNextTokenException) GoString() string { 3407 return s.String() 3408 } 3409 3410 func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { 3411 return &InvalidNextTokenException{ 3412 RespMetadata: v, 3413 } 3414 } 3415 3416 // Code returns the exception type name. 3417 func (s *InvalidNextTokenException) Code() string { 3418 return "InvalidNextTokenException" 3419 } 3420 3421 // Message returns the exception's message. 3422 func (s *InvalidNextTokenException) Message() string { 3423 if s.Message_ != nil { 3424 return *s.Message_ 3425 } 3426 return "" 3427 } 3428 3429 // OrigErr always returns nil, satisfies awserr.Error interface. 3430 func (s *InvalidNextTokenException) OrigErr() error { 3431 return nil 3432 } 3433 3434 func (s *InvalidNextTokenException) Error() string { 3435 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3436 } 3437 3438 // Status code returns the HTTP status code for the request's response error. 3439 func (s *InvalidNextTokenException) StatusCode() int { 3440 return s.RespMetadata.StatusCode 3441 } 3442 3443 // RequestID returns the service's response RequestID for request. 3444 func (s *InvalidNextTokenException) RequestID() string { 3445 return s.RespMetadata.RequestID 3446 } 3447 3448 // A per-account resource limit is exceeded. For more information, see Application 3449 // Auto Scaling service quotas (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-limits.html). 3450 type LimitExceededException struct { 3451 _ struct{} `type:"structure"` 3452 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3453 3454 Message_ *string `locationName:"Message" type:"string"` 3455 } 3456 3457 // String returns the string representation. 3458 // 3459 // API parameter values that are decorated as "sensitive" in the API will not 3460 // be included in the string output. The member name will be present, but the 3461 // value will be replaced with "sensitive". 3462 func (s LimitExceededException) String() string { 3463 return awsutil.Prettify(s) 3464 } 3465 3466 // GoString returns the string representation. 3467 // 3468 // API parameter values that are decorated as "sensitive" in the API will not 3469 // be included in the string output. The member name will be present, but the 3470 // value will be replaced with "sensitive". 3471 func (s LimitExceededException) GoString() string { 3472 return s.String() 3473 } 3474 3475 func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 3476 return &LimitExceededException{ 3477 RespMetadata: v, 3478 } 3479 } 3480 3481 // Code returns the exception type name. 3482 func (s *LimitExceededException) Code() string { 3483 return "LimitExceededException" 3484 } 3485 3486 // Message returns the exception's message. 3487 func (s *LimitExceededException) Message() string { 3488 if s.Message_ != nil { 3489 return *s.Message_ 3490 } 3491 return "" 3492 } 3493 3494 // OrigErr always returns nil, satisfies awserr.Error interface. 3495 func (s *LimitExceededException) OrigErr() error { 3496 return nil 3497 } 3498 3499 func (s *LimitExceededException) Error() string { 3500 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3501 } 3502 3503 // Status code returns the HTTP status code for the request's response error. 3504 func (s *LimitExceededException) StatusCode() int { 3505 return s.RespMetadata.StatusCode 3506 } 3507 3508 // RequestID returns the service's response RequestID for request. 3509 func (s *LimitExceededException) RequestID() string { 3510 return s.RespMetadata.RequestID 3511 } 3512 3513 // Describes the dimension names and values associated with a metric. 3514 type MetricDimension struct { 3515 _ struct{} `type:"structure"` 3516 3517 // The name of the dimension. 3518 // 3519 // Name is a required field 3520 Name *string `type:"string" required:"true"` 3521 3522 // The value of the dimension. 3523 // 3524 // Value is a required field 3525 Value *string `type:"string" required:"true"` 3526 } 3527 3528 // String returns the string representation. 3529 // 3530 // API parameter values that are decorated as "sensitive" in the API will not 3531 // be included in the string output. The member name will be present, but the 3532 // value will be replaced with "sensitive". 3533 func (s MetricDimension) String() string { 3534 return awsutil.Prettify(s) 3535 } 3536 3537 // GoString returns the string representation. 3538 // 3539 // API parameter values that are decorated as "sensitive" in the API will not 3540 // be included in the string output. The member name will be present, but the 3541 // value will be replaced with "sensitive". 3542 func (s MetricDimension) GoString() string { 3543 return s.String() 3544 } 3545 3546 // Validate inspects the fields of the type to determine if they are valid. 3547 func (s *MetricDimension) Validate() error { 3548 invalidParams := request.ErrInvalidParams{Context: "MetricDimension"} 3549 if s.Name == nil { 3550 invalidParams.Add(request.NewErrParamRequired("Name")) 3551 } 3552 if s.Value == nil { 3553 invalidParams.Add(request.NewErrParamRequired("Value")) 3554 } 3555 3556 if invalidParams.Len() > 0 { 3557 return invalidParams 3558 } 3559 return nil 3560 } 3561 3562 // SetName sets the Name field's value. 3563 func (s *MetricDimension) SetName(v string) *MetricDimension { 3564 s.Name = &v 3565 return s 3566 } 3567 3568 // SetValue sets the Value field's value. 3569 func (s *MetricDimension) SetValue(v string) *MetricDimension { 3570 s.Value = &v 3571 return s 3572 } 3573 3574 // The specified object could not be found. For any operation that depends on 3575 // the existence of a scalable target, this exception is thrown if the scalable 3576 // target with the specified service namespace, resource ID, and scalable dimension 3577 // does not exist. For any operation that deletes or deregisters a resource, 3578 // this exception is thrown if the resource cannot be found. 3579 type ObjectNotFoundException struct { 3580 _ struct{} `type:"structure"` 3581 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3582 3583 Message_ *string `locationName:"Message" type:"string"` 3584 } 3585 3586 // String returns the string representation. 3587 // 3588 // API parameter values that are decorated as "sensitive" in the API will not 3589 // be included in the string output. The member name will be present, but the 3590 // value will be replaced with "sensitive". 3591 func (s ObjectNotFoundException) String() string { 3592 return awsutil.Prettify(s) 3593 } 3594 3595 // GoString returns the string representation. 3596 // 3597 // API parameter values that are decorated as "sensitive" in the API will not 3598 // be included in the string output. The member name will be present, but the 3599 // value will be replaced with "sensitive". 3600 func (s ObjectNotFoundException) GoString() string { 3601 return s.String() 3602 } 3603 3604 func newErrorObjectNotFoundException(v protocol.ResponseMetadata) error { 3605 return &ObjectNotFoundException{ 3606 RespMetadata: v, 3607 } 3608 } 3609 3610 // Code returns the exception type name. 3611 func (s *ObjectNotFoundException) Code() string { 3612 return "ObjectNotFoundException" 3613 } 3614 3615 // Message returns the exception's message. 3616 func (s *ObjectNotFoundException) Message() string { 3617 if s.Message_ != nil { 3618 return *s.Message_ 3619 } 3620 return "" 3621 } 3622 3623 // OrigErr always returns nil, satisfies awserr.Error interface. 3624 func (s *ObjectNotFoundException) OrigErr() error { 3625 return nil 3626 } 3627 3628 func (s *ObjectNotFoundException) Error() string { 3629 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3630 } 3631 3632 // Status code returns the HTTP status code for the request's response error. 3633 func (s *ObjectNotFoundException) StatusCode() int { 3634 return s.RespMetadata.StatusCode 3635 } 3636 3637 // RequestID returns the service's response RequestID for request. 3638 func (s *ObjectNotFoundException) RequestID() string { 3639 return s.RespMetadata.RequestID 3640 } 3641 3642 // Represents a predefined metric for a target tracking scaling policy to use 3643 // with Application Auto Scaling. 3644 // 3645 // Only the Amazon Web Services that you're using send metrics to Amazon CloudWatch. 3646 // To determine whether a desired metric already exists by looking up its namespace 3647 // and dimension using the CloudWatch metrics dashboard in the console, follow 3648 // the procedure in Building dashboards with CloudWatch (https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html) 3649 // in the Application Auto Scaling User Guide. 3650 type PredefinedMetricSpecification struct { 3651 _ struct{} `type:"structure"` 3652 3653 // The metric type. The ALBRequestCountPerTarget metric type applies only to 3654 // Spot Fleet requests and ECS services. 3655 // 3656 // PredefinedMetricType is a required field 3657 PredefinedMetricType *string `type:"string" required:"true" enum:"MetricType"` 3658 3659 // Identifies the resource associated with the metric type. You can't specify 3660 // a resource label unless the metric type is ALBRequestCountPerTarget and there 3661 // is a target group attached to the Spot Fleet request or ECS service. 3662 // 3663 // You create the resource label by appending the final portion of the load 3664 // balancer ARN and the final portion of the target group ARN into a single 3665 // value, separated by a forward slash (/). The format of the resource label 3666 // is: 3667 // 3668 // app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff. 3669 // 3670 // Where: 3671 // 3672 // * app/<load-balancer-name>/<load-balancer-id> is the final portion of 3673 // the load balancer ARN 3674 // 3675 // * targetgroup/<target-group-name>/<target-group-id> is the final portion 3676 // of the target group ARN. 3677 // 3678 // To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers 3679 // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) 3680 // API operation. To find the ARN for the target group, use the DescribeTargetGroups 3681 // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) 3682 // API operation. 3683 ResourceLabel *string `min:"1" type:"string"` 3684 } 3685 3686 // String returns the string representation. 3687 // 3688 // API parameter values that are decorated as "sensitive" in the API will not 3689 // be included in the string output. The member name will be present, but the 3690 // value will be replaced with "sensitive". 3691 func (s PredefinedMetricSpecification) String() string { 3692 return awsutil.Prettify(s) 3693 } 3694 3695 // GoString returns the string representation. 3696 // 3697 // API parameter values that are decorated as "sensitive" in the API will not 3698 // be included in the string output. The member name will be present, but the 3699 // value will be replaced with "sensitive". 3700 func (s PredefinedMetricSpecification) GoString() string { 3701 return s.String() 3702 } 3703 3704 // Validate inspects the fields of the type to determine if they are valid. 3705 func (s *PredefinedMetricSpecification) Validate() error { 3706 invalidParams := request.ErrInvalidParams{Context: "PredefinedMetricSpecification"} 3707 if s.PredefinedMetricType == nil { 3708 invalidParams.Add(request.NewErrParamRequired("PredefinedMetricType")) 3709 } 3710 if s.ResourceLabel != nil && len(*s.ResourceLabel) < 1 { 3711 invalidParams.Add(request.NewErrParamMinLen("ResourceLabel", 1)) 3712 } 3713 3714 if invalidParams.Len() > 0 { 3715 return invalidParams 3716 } 3717 return nil 3718 } 3719 3720 // SetPredefinedMetricType sets the PredefinedMetricType field's value. 3721 func (s *PredefinedMetricSpecification) SetPredefinedMetricType(v string) *PredefinedMetricSpecification { 3722 s.PredefinedMetricType = &v 3723 return s 3724 } 3725 3726 // SetResourceLabel sets the ResourceLabel field's value. 3727 func (s *PredefinedMetricSpecification) SetResourceLabel(v string) *PredefinedMetricSpecification { 3728 s.ResourceLabel = &v 3729 return s 3730 } 3731 3732 type PutScalingPolicyInput struct { 3733 _ struct{} `type:"structure"` 3734 3735 // The name of the scaling policy. 3736 // 3737 // PolicyName is a required field 3738 PolicyName *string `min:"1" type:"string" required:"true"` 3739 3740 // The policy type. This parameter is required if you are creating a scaling 3741 // policy. 3742 // 3743 // The following policy types are supported: 3744 // 3745 // TargetTrackingScaling—Not supported for Amazon EMR 3746 // 3747 // StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon 3748 // Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune. 3749 // 3750 // For more information, see Target tracking scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) 3751 // and Step scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) 3752 // in the Application Auto Scaling User Guide. 3753 PolicyType *string `type:"string" enum:"PolicyType"` 3754 3755 // The identifier of the resource associated with the scaling policy. This string 3756 // consists of the resource type and unique identifier. 3757 // 3758 // * ECS service - The resource type is service and the unique identifier 3759 // is the cluster name and service name. Example: service/default/sample-webapp. 3760 // 3761 // * Spot Fleet - The resource type is spot-fleet-request and the unique 3762 // identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 3763 // 3764 // * EMR cluster - The resource type is instancegroup and the unique identifier 3765 // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. 3766 // 3767 // * AppStream 2.0 fleet - The resource type is fleet and the unique identifier 3768 // is the fleet name. Example: fleet/sample-fleet. 3769 // 3770 // * DynamoDB table - The resource type is table and the unique identifier 3771 // is the table name. Example: table/my-table. 3772 // 3773 // * DynamoDB global secondary index - The resource type is index and the 3774 // unique identifier is the index name. Example: table/my-table/index/my-table-index. 3775 // 3776 // * Aurora DB cluster - The resource type is cluster and the unique identifier 3777 // is the cluster name. Example: cluster:my-db-cluster. 3778 // 3779 // * SageMaker endpoint variant - The resource type is variant and the unique 3780 // identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. 3781 // 3782 // * Custom resources are not supported with a resource type. This parameter 3783 // must specify the OutputValue from the CloudFormation template stack used 3784 // to access the resources. The unique identifier is defined by the service 3785 // provider. More information is available in our GitHub repository (https://github.com/aavshr/aws-auto-scaling-custom-resource). 3786 // 3787 // * Amazon Comprehend document classification endpoint - The resource type 3788 // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. 3789 // 3790 // * Amazon Comprehend entity recognizer endpoint - The resource type and 3791 // unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. 3792 // 3793 // * Lambda provisioned concurrency - The resource type is function and the 3794 // unique identifier is the function name with a function version or alias 3795 // name suffix that is not $LATEST. Example: function:my-function:prod or 3796 // function:my-function:1. 3797 // 3798 // * Amazon Keyspaces table - The resource type is table and the unique identifier 3799 // is the table name. Example: keyspace/mykeyspace/table/mytable. 3800 // 3801 // * Amazon MSK cluster - The resource type and unique identifier are specified 3802 // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. 3803 // 3804 // * Amazon ElastiCache replication group - The resource type is replication-group 3805 // and the unique identifier is the replication group name. Example: replication-group/mycluster. 3806 // 3807 // * Neptune cluster - The resource type is cluster and the unique identifier 3808 // is the cluster name. Example: cluster:mycluster. 3809 // 3810 // ResourceId is a required field 3811 ResourceId *string `min:"1" type:"string" required:"true"` 3812 3813 // The scalable dimension. This string consists of the service namespace, resource 3814 // type, and scaling property. 3815 // 3816 // * ecs:service:DesiredCount - The desired task count of an ECS service. 3817 // 3818 // * elasticmapreduce:instancegroup:InstanceCount - The instance count of 3819 // an EMR Instance Group. 3820 // 3821 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 3822 // Fleet. 3823 // 3824 // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 3825 // 2.0 fleet. 3826 // 3827 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 3828 // a DynamoDB table. 3829 // 3830 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 3831 // a DynamoDB table. 3832 // 3833 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 3834 // a DynamoDB global secondary index. 3835 // 3836 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 3837 // a DynamoDB global secondary index. 3838 // 3839 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 3840 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 3841 // edition. 3842 // 3843 // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances 3844 // for an SageMaker model endpoint variant. 3845 // 3846 // * custom-resource:ResourceType:Property - The scalable dimension for a 3847 // custom resource provided by your own application or service. 3848 // 3849 // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The 3850 // number of inference units for an Amazon Comprehend document classification 3851 // endpoint. 3852 // 3853 // * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number 3854 // of inference units for an Amazon Comprehend entity recognizer endpoint. 3855 // 3856 // * lambda:function:ProvisionedConcurrency - The provisioned concurrency 3857 // for a Lambda function. 3858 // 3859 // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for 3860 // an Amazon Keyspaces table. 3861 // 3862 // * cassandra:table:WriteCapacityUnits - The provisioned write capacity 3863 // for an Amazon Keyspaces table. 3864 // 3865 // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) 3866 // for brokers in an Amazon MSK cluster. 3867 // 3868 // * elasticache:replication-group:NodeGroups - The number of node groups 3869 // for an Amazon ElastiCache replication group. 3870 // 3871 // * elasticache:replication-group:Replicas - The number of replicas per 3872 // node group for an Amazon ElastiCache replication group. 3873 // 3874 // * neptune:cluster:ReadReplicaCount - The count of read replicas in an 3875 // Amazon Neptune DB cluster. 3876 // 3877 // ScalableDimension is a required field 3878 ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` 3879 3880 // The namespace of the Amazon Web Services service that provides the resource. 3881 // For a resource provided by your own application or service, use custom-resource 3882 // instead. 3883 // 3884 // ServiceNamespace is a required field 3885 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 3886 3887 // A step scaling policy. 3888 // 3889 // This parameter is required if you are creating a policy and the policy type 3890 // is StepScaling. 3891 StepScalingPolicyConfiguration *StepScalingPolicyConfiguration `type:"structure"` 3892 3893 // A target tracking scaling policy. Includes support for predefined or customized 3894 // metrics. 3895 // 3896 // This parameter is required if you are creating a policy and the policy type 3897 // is TargetTrackingScaling. 3898 TargetTrackingScalingPolicyConfiguration *TargetTrackingScalingPolicyConfiguration `type:"structure"` 3899 } 3900 3901 // String returns the string representation. 3902 // 3903 // API parameter values that are decorated as "sensitive" in the API will not 3904 // be included in the string output. The member name will be present, but the 3905 // value will be replaced with "sensitive". 3906 func (s PutScalingPolicyInput) String() string { 3907 return awsutil.Prettify(s) 3908 } 3909 3910 // GoString returns the string representation. 3911 // 3912 // API parameter values that are decorated as "sensitive" in the API will not 3913 // be included in the string output. The member name will be present, but the 3914 // value will be replaced with "sensitive". 3915 func (s PutScalingPolicyInput) GoString() string { 3916 return s.String() 3917 } 3918 3919 // Validate inspects the fields of the type to determine if they are valid. 3920 func (s *PutScalingPolicyInput) Validate() error { 3921 invalidParams := request.ErrInvalidParams{Context: "PutScalingPolicyInput"} 3922 if s.PolicyName == nil { 3923 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 3924 } 3925 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 3926 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 3927 } 3928 if s.ResourceId == nil { 3929 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 3930 } 3931 if s.ResourceId != nil && len(*s.ResourceId) < 1 { 3932 invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) 3933 } 3934 if s.ScalableDimension == nil { 3935 invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) 3936 } 3937 if s.ServiceNamespace == nil { 3938 invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) 3939 } 3940 if s.StepScalingPolicyConfiguration != nil { 3941 if err := s.StepScalingPolicyConfiguration.Validate(); err != nil { 3942 invalidParams.AddNested("StepScalingPolicyConfiguration", err.(request.ErrInvalidParams)) 3943 } 3944 } 3945 if s.TargetTrackingScalingPolicyConfiguration != nil { 3946 if err := s.TargetTrackingScalingPolicyConfiguration.Validate(); err != nil { 3947 invalidParams.AddNested("TargetTrackingScalingPolicyConfiguration", err.(request.ErrInvalidParams)) 3948 } 3949 } 3950 3951 if invalidParams.Len() > 0 { 3952 return invalidParams 3953 } 3954 return nil 3955 } 3956 3957 // SetPolicyName sets the PolicyName field's value. 3958 func (s *PutScalingPolicyInput) SetPolicyName(v string) *PutScalingPolicyInput { 3959 s.PolicyName = &v 3960 return s 3961 } 3962 3963 // SetPolicyType sets the PolicyType field's value. 3964 func (s *PutScalingPolicyInput) SetPolicyType(v string) *PutScalingPolicyInput { 3965 s.PolicyType = &v 3966 return s 3967 } 3968 3969 // SetResourceId sets the ResourceId field's value. 3970 func (s *PutScalingPolicyInput) SetResourceId(v string) *PutScalingPolicyInput { 3971 s.ResourceId = &v 3972 return s 3973 } 3974 3975 // SetScalableDimension sets the ScalableDimension field's value. 3976 func (s *PutScalingPolicyInput) SetScalableDimension(v string) *PutScalingPolicyInput { 3977 s.ScalableDimension = &v 3978 return s 3979 } 3980 3981 // SetServiceNamespace sets the ServiceNamespace field's value. 3982 func (s *PutScalingPolicyInput) SetServiceNamespace(v string) *PutScalingPolicyInput { 3983 s.ServiceNamespace = &v 3984 return s 3985 } 3986 3987 // SetStepScalingPolicyConfiguration sets the StepScalingPolicyConfiguration field's value. 3988 func (s *PutScalingPolicyInput) SetStepScalingPolicyConfiguration(v *StepScalingPolicyConfiguration) *PutScalingPolicyInput { 3989 s.StepScalingPolicyConfiguration = v 3990 return s 3991 } 3992 3993 // SetTargetTrackingScalingPolicyConfiguration sets the TargetTrackingScalingPolicyConfiguration field's value. 3994 func (s *PutScalingPolicyInput) SetTargetTrackingScalingPolicyConfiguration(v *TargetTrackingScalingPolicyConfiguration) *PutScalingPolicyInput { 3995 s.TargetTrackingScalingPolicyConfiguration = v 3996 return s 3997 } 3998 3999 type PutScalingPolicyOutput struct { 4000 _ struct{} `type:"structure"` 4001 4002 // The CloudWatch alarms created for the target tracking scaling policy. 4003 Alarms []*Alarm `type:"list"` 4004 4005 // The Amazon Resource Name (ARN) of the resulting scaling policy. 4006 // 4007 // PolicyARN is a required field 4008 PolicyARN *string `min:"1" type:"string" required:"true"` 4009 } 4010 4011 // String returns the string representation. 4012 // 4013 // API parameter values that are decorated as "sensitive" in the API will not 4014 // be included in the string output. The member name will be present, but the 4015 // value will be replaced with "sensitive". 4016 func (s PutScalingPolicyOutput) String() string { 4017 return awsutil.Prettify(s) 4018 } 4019 4020 // GoString returns the string representation. 4021 // 4022 // API parameter values that are decorated as "sensitive" in the API will not 4023 // be included in the string output. The member name will be present, but the 4024 // value will be replaced with "sensitive". 4025 func (s PutScalingPolicyOutput) GoString() string { 4026 return s.String() 4027 } 4028 4029 // SetAlarms sets the Alarms field's value. 4030 func (s *PutScalingPolicyOutput) SetAlarms(v []*Alarm) *PutScalingPolicyOutput { 4031 s.Alarms = v 4032 return s 4033 } 4034 4035 // SetPolicyARN sets the PolicyARN field's value. 4036 func (s *PutScalingPolicyOutput) SetPolicyARN(v string) *PutScalingPolicyOutput { 4037 s.PolicyARN = &v 4038 return s 4039 } 4040 4041 type PutScheduledActionInput struct { 4042 _ struct{} `type:"structure"` 4043 4044 // The date and time for the recurring schedule to end, in UTC. 4045 EndTime *time.Time `type:"timestamp"` 4046 4047 // The identifier of the resource associated with the scheduled action. This 4048 // string consists of the resource type and unique identifier. 4049 // 4050 // * ECS service - The resource type is service and the unique identifier 4051 // is the cluster name and service name. Example: service/default/sample-webapp. 4052 // 4053 // * Spot Fleet - The resource type is spot-fleet-request and the unique 4054 // identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 4055 // 4056 // * EMR cluster - The resource type is instancegroup and the unique identifier 4057 // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. 4058 // 4059 // * AppStream 2.0 fleet - The resource type is fleet and the unique identifier 4060 // is the fleet name. Example: fleet/sample-fleet. 4061 // 4062 // * DynamoDB table - The resource type is table and the unique identifier 4063 // is the table name. Example: table/my-table. 4064 // 4065 // * DynamoDB global secondary index - The resource type is index and the 4066 // unique identifier is the index name. Example: table/my-table/index/my-table-index. 4067 // 4068 // * Aurora DB cluster - The resource type is cluster and the unique identifier 4069 // is the cluster name. Example: cluster:my-db-cluster. 4070 // 4071 // * SageMaker endpoint variant - The resource type is variant and the unique 4072 // identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. 4073 // 4074 // * Custom resources are not supported with a resource type. This parameter 4075 // must specify the OutputValue from the CloudFormation template stack used 4076 // to access the resources. The unique identifier is defined by the service 4077 // provider. More information is available in our GitHub repository (https://github.com/aavshr/aws-auto-scaling-custom-resource). 4078 // 4079 // * Amazon Comprehend document classification endpoint - The resource type 4080 // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. 4081 // 4082 // * Amazon Comprehend entity recognizer endpoint - The resource type and 4083 // unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. 4084 // 4085 // * Lambda provisioned concurrency - The resource type is function and the 4086 // unique identifier is the function name with a function version or alias 4087 // name suffix that is not $LATEST. Example: function:my-function:prod or 4088 // function:my-function:1. 4089 // 4090 // * Amazon Keyspaces table - The resource type is table and the unique identifier 4091 // is the table name. Example: keyspace/mykeyspace/table/mytable. 4092 // 4093 // * Amazon MSK cluster - The resource type and unique identifier are specified 4094 // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. 4095 // 4096 // * Amazon ElastiCache replication group - The resource type is replication-group 4097 // and the unique identifier is the replication group name. Example: replication-group/mycluster. 4098 // 4099 // * Neptune cluster - The resource type is cluster and the unique identifier 4100 // is the cluster name. Example: cluster:mycluster. 4101 // 4102 // ResourceId is a required field 4103 ResourceId *string `min:"1" type:"string" required:"true"` 4104 4105 // The scalable dimension. This string consists of the service namespace, resource 4106 // type, and scaling property. 4107 // 4108 // * ecs:service:DesiredCount - The desired task count of an ECS service. 4109 // 4110 // * elasticmapreduce:instancegroup:InstanceCount - The instance count of 4111 // an EMR Instance Group. 4112 // 4113 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 4114 // Fleet. 4115 // 4116 // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 4117 // 2.0 fleet. 4118 // 4119 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 4120 // a DynamoDB table. 4121 // 4122 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 4123 // a DynamoDB table. 4124 // 4125 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 4126 // a DynamoDB global secondary index. 4127 // 4128 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 4129 // a DynamoDB global secondary index. 4130 // 4131 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 4132 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 4133 // edition. 4134 // 4135 // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances 4136 // for an SageMaker model endpoint variant. 4137 // 4138 // * custom-resource:ResourceType:Property - The scalable dimension for a 4139 // custom resource provided by your own application or service. 4140 // 4141 // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The 4142 // number of inference units for an Amazon Comprehend document classification 4143 // endpoint. 4144 // 4145 // * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number 4146 // of inference units for an Amazon Comprehend entity recognizer endpoint. 4147 // 4148 // * lambda:function:ProvisionedConcurrency - The provisioned concurrency 4149 // for a Lambda function. 4150 // 4151 // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for 4152 // an Amazon Keyspaces table. 4153 // 4154 // * cassandra:table:WriteCapacityUnits - The provisioned write capacity 4155 // for an Amazon Keyspaces table. 4156 // 4157 // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) 4158 // for brokers in an Amazon MSK cluster. 4159 // 4160 // * elasticache:replication-group:NodeGroups - The number of node groups 4161 // for an Amazon ElastiCache replication group. 4162 // 4163 // * elasticache:replication-group:Replicas - The number of replicas per 4164 // node group for an Amazon ElastiCache replication group. 4165 // 4166 // * neptune:cluster:ReadReplicaCount - The count of read replicas in an 4167 // Amazon Neptune DB cluster. 4168 // 4169 // ScalableDimension is a required field 4170 ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` 4171 4172 // The new minimum and maximum capacity. You can set both values or just one. 4173 // At the scheduled time, if the current capacity is below the minimum capacity, 4174 // Application Auto Scaling scales out to the minimum capacity. If the current 4175 // capacity is above the maximum capacity, Application Auto Scaling scales in 4176 // to the maximum capacity. 4177 ScalableTargetAction *ScalableTargetAction `type:"structure"` 4178 4179 // The schedule for this action. The following formats are supported: 4180 // 4181 // * At expressions - "at(yyyy-mm-ddThh:mm:ss)" 4182 // 4183 // * Rate expressions - "rate(value unit)" 4184 // 4185 // * Cron expressions - "cron(fields)" 4186 // 4187 // At expressions are useful for one-time schedules. Cron expressions are useful 4188 // for scheduled actions that run periodically at a specified date and time, 4189 // and rate expressions are useful for scheduled actions that run at a regular 4190 // interval. 4191 // 4192 // At and cron expressions use Universal Coordinated Time (UTC) by default. 4193 // 4194 // The cron format consists of six fields separated by white spaces: [Minutes] 4195 // [Hours] [Day_of_Month] [Month] [Day_of_Week] [Year]. 4196 // 4197 // For rate expressions, value is a positive integer and unit is minute | minutes 4198 // | hour | hours | day | days. 4199 // 4200 // For more information and examples, see Example scheduled actions for Application 4201 // Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/examples-scheduled-actions.html) 4202 // in the Application Auto Scaling User Guide. 4203 Schedule *string `min:"1" type:"string"` 4204 4205 // The name of the scheduled action. This name must be unique among all other 4206 // scheduled actions on the specified scalable target. 4207 // 4208 // ScheduledActionName is a required field 4209 ScheduledActionName *string `min:"1" type:"string" required:"true"` 4210 4211 // The namespace of the Amazon Web Services service that provides the resource. 4212 // For a resource provided by your own application or service, use custom-resource 4213 // instead. 4214 // 4215 // ServiceNamespace is a required field 4216 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 4217 4218 // The date and time for this scheduled action to start, in UTC. 4219 StartTime *time.Time `type:"timestamp"` 4220 4221 // Specifies the time zone used when setting a scheduled action by using an 4222 // at or cron expression. If a time zone is not provided, UTC is used by default. 4223 // 4224 // Valid values are the canonical names of the IANA time zones supported by 4225 // Joda-Time (such as Etc/GMT+9 or Pacific/Tahiti). For more information, see 4226 // https://www.joda.org/joda-time/timezones.html (https://www.joda.org/joda-time/timezones.html). 4227 Timezone *string `min:"1" type:"string"` 4228 } 4229 4230 // String returns the string representation. 4231 // 4232 // API parameter values that are decorated as "sensitive" in the API will not 4233 // be included in the string output. The member name will be present, but the 4234 // value will be replaced with "sensitive". 4235 func (s PutScheduledActionInput) String() string { 4236 return awsutil.Prettify(s) 4237 } 4238 4239 // GoString returns the string representation. 4240 // 4241 // API parameter values that are decorated as "sensitive" in the API will not 4242 // be included in the string output. The member name will be present, but the 4243 // value will be replaced with "sensitive". 4244 func (s PutScheduledActionInput) GoString() string { 4245 return s.String() 4246 } 4247 4248 // Validate inspects the fields of the type to determine if they are valid. 4249 func (s *PutScheduledActionInput) Validate() error { 4250 invalidParams := request.ErrInvalidParams{Context: "PutScheduledActionInput"} 4251 if s.ResourceId == nil { 4252 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 4253 } 4254 if s.ResourceId != nil && len(*s.ResourceId) < 1 { 4255 invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) 4256 } 4257 if s.ScalableDimension == nil { 4258 invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) 4259 } 4260 if s.Schedule != nil && len(*s.Schedule) < 1 { 4261 invalidParams.Add(request.NewErrParamMinLen("Schedule", 1)) 4262 } 4263 if s.ScheduledActionName == nil { 4264 invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) 4265 } 4266 if s.ScheduledActionName != nil && len(*s.ScheduledActionName) < 1 { 4267 invalidParams.Add(request.NewErrParamMinLen("ScheduledActionName", 1)) 4268 } 4269 if s.ServiceNamespace == nil { 4270 invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) 4271 } 4272 if s.Timezone != nil && len(*s.Timezone) < 1 { 4273 invalidParams.Add(request.NewErrParamMinLen("Timezone", 1)) 4274 } 4275 4276 if invalidParams.Len() > 0 { 4277 return invalidParams 4278 } 4279 return nil 4280 } 4281 4282 // SetEndTime sets the EndTime field's value. 4283 func (s *PutScheduledActionInput) SetEndTime(v time.Time) *PutScheduledActionInput { 4284 s.EndTime = &v 4285 return s 4286 } 4287 4288 // SetResourceId sets the ResourceId field's value. 4289 func (s *PutScheduledActionInput) SetResourceId(v string) *PutScheduledActionInput { 4290 s.ResourceId = &v 4291 return s 4292 } 4293 4294 // SetScalableDimension sets the ScalableDimension field's value. 4295 func (s *PutScheduledActionInput) SetScalableDimension(v string) *PutScheduledActionInput { 4296 s.ScalableDimension = &v 4297 return s 4298 } 4299 4300 // SetScalableTargetAction sets the ScalableTargetAction field's value. 4301 func (s *PutScheduledActionInput) SetScalableTargetAction(v *ScalableTargetAction) *PutScheduledActionInput { 4302 s.ScalableTargetAction = v 4303 return s 4304 } 4305 4306 // SetSchedule sets the Schedule field's value. 4307 func (s *PutScheduledActionInput) SetSchedule(v string) *PutScheduledActionInput { 4308 s.Schedule = &v 4309 return s 4310 } 4311 4312 // SetScheduledActionName sets the ScheduledActionName field's value. 4313 func (s *PutScheduledActionInput) SetScheduledActionName(v string) *PutScheduledActionInput { 4314 s.ScheduledActionName = &v 4315 return s 4316 } 4317 4318 // SetServiceNamespace sets the ServiceNamespace field's value. 4319 func (s *PutScheduledActionInput) SetServiceNamespace(v string) *PutScheduledActionInput { 4320 s.ServiceNamespace = &v 4321 return s 4322 } 4323 4324 // SetStartTime sets the StartTime field's value. 4325 func (s *PutScheduledActionInput) SetStartTime(v time.Time) *PutScheduledActionInput { 4326 s.StartTime = &v 4327 return s 4328 } 4329 4330 // SetTimezone sets the Timezone field's value. 4331 func (s *PutScheduledActionInput) SetTimezone(v string) *PutScheduledActionInput { 4332 s.Timezone = &v 4333 return s 4334 } 4335 4336 type PutScheduledActionOutput struct { 4337 _ struct{} `type:"structure"` 4338 } 4339 4340 // String returns the string representation. 4341 // 4342 // API parameter values that are decorated as "sensitive" in the API will not 4343 // be included in the string output. The member name will be present, but the 4344 // value will be replaced with "sensitive". 4345 func (s PutScheduledActionOutput) String() string { 4346 return awsutil.Prettify(s) 4347 } 4348 4349 // GoString returns the string representation. 4350 // 4351 // API parameter values that are decorated as "sensitive" in the API will not 4352 // be included in the string output. The member name will be present, but the 4353 // value will be replaced with "sensitive". 4354 func (s PutScheduledActionOutput) GoString() string { 4355 return s.String() 4356 } 4357 4358 type RegisterScalableTargetInput struct { 4359 _ struct{} `type:"structure"` 4360 4361 // The maximum value that you plan to scale out to. When a scaling policy is 4362 // in effect, Application Auto Scaling can scale out (expand) as needed to the 4363 // maximum capacity limit in response to changing demand. This property is required 4364 // when registering a new scalable target. 4365 // 4366 // Although you can specify a large maximum capacity, note that service quotas 4367 // may impose lower limits. Each service has its own default quotas for the 4368 // maximum capacity of the resource. If you want to specify a higher limit, 4369 // you can request an increase. For more information, consult the documentation 4370 // for that service. For information about the default quotas for each service, 4371 // see Service Endpoints and Quotas (https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) 4372 // in the Amazon Web Services General Reference. 4373 MaxCapacity *int64 `type:"integer"` 4374 4375 // The minimum value that you plan to scale in to. When a scaling policy is 4376 // in effect, Application Auto Scaling can scale in (contract) as needed to 4377 // the minimum capacity limit in response to changing demand. This property 4378 // is required when registering a new scalable target. 4379 // 4380 // For certain resources, the minimum value allowed is 0. This includes Lambda 4381 // provisioned concurrency, Spot Fleet, ECS services, Aurora DB clusters, EMR 4382 // clusters, and custom resources. For all other resources, the minimum value 4383 // allowed is 1. 4384 MinCapacity *int64 `type:"integer"` 4385 4386 // The identifier of the resource that is associated with the scalable target. 4387 // This string consists of the resource type and unique identifier. 4388 // 4389 // * ECS service - The resource type is service and the unique identifier 4390 // is the cluster name and service name. Example: service/default/sample-webapp. 4391 // 4392 // * Spot Fleet - The resource type is spot-fleet-request and the unique 4393 // identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 4394 // 4395 // * EMR cluster - The resource type is instancegroup and the unique identifier 4396 // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. 4397 // 4398 // * AppStream 2.0 fleet - The resource type is fleet and the unique identifier 4399 // is the fleet name. Example: fleet/sample-fleet. 4400 // 4401 // * DynamoDB table - The resource type is table and the unique identifier 4402 // is the table name. Example: table/my-table. 4403 // 4404 // * DynamoDB global secondary index - The resource type is index and the 4405 // unique identifier is the index name. Example: table/my-table/index/my-table-index. 4406 // 4407 // * Aurora DB cluster - The resource type is cluster and the unique identifier 4408 // is the cluster name. Example: cluster:my-db-cluster. 4409 // 4410 // * SageMaker endpoint variant - The resource type is variant and the unique 4411 // identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. 4412 // 4413 // * Custom resources are not supported with a resource type. This parameter 4414 // must specify the OutputValue from the CloudFormation template stack used 4415 // to access the resources. The unique identifier is defined by the service 4416 // provider. More information is available in our GitHub repository (https://github.com/aavshr/aws-auto-scaling-custom-resource). 4417 // 4418 // * Amazon Comprehend document classification endpoint - The resource type 4419 // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. 4420 // 4421 // * Amazon Comprehend entity recognizer endpoint - The resource type and 4422 // unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. 4423 // 4424 // * Lambda provisioned concurrency - The resource type is function and the 4425 // unique identifier is the function name with a function version or alias 4426 // name suffix that is not $LATEST. Example: function:my-function:prod or 4427 // function:my-function:1. 4428 // 4429 // * Amazon Keyspaces table - The resource type is table and the unique identifier 4430 // is the table name. Example: keyspace/mykeyspace/table/mytable. 4431 // 4432 // * Amazon MSK cluster - The resource type and unique identifier are specified 4433 // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. 4434 // 4435 // * Amazon ElastiCache replication group - The resource type is replication-group 4436 // and the unique identifier is the replication group name. Example: replication-group/mycluster. 4437 // 4438 // * Neptune cluster - The resource type is cluster and the unique identifier 4439 // is the cluster name. Example: cluster:mycluster. 4440 // 4441 // ResourceId is a required field 4442 ResourceId *string `min:"1" type:"string" required:"true"` 4443 4444 // This parameter is required for services that do not support service-linked 4445 // roles (such as Amazon EMR), and it must specify the ARN of an IAM role that 4446 // allows Application Auto Scaling to modify the scalable target on your behalf. 4447 // 4448 // If the service supports service-linked roles, Application Auto Scaling uses 4449 // a service-linked role, which it creates if it does not yet exist. For more 4450 // information, see Application Auto Scaling IAM roles (https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles). 4451 RoleARN *string `min:"1" type:"string"` 4452 4453 // The scalable dimension associated with the scalable target. This string consists 4454 // of the service namespace, resource type, and scaling property. 4455 // 4456 // * ecs:service:DesiredCount - The desired task count of an ECS service. 4457 // 4458 // * elasticmapreduce:instancegroup:InstanceCount - The instance count of 4459 // an EMR Instance Group. 4460 // 4461 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 4462 // Fleet. 4463 // 4464 // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 4465 // 2.0 fleet. 4466 // 4467 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 4468 // a DynamoDB table. 4469 // 4470 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 4471 // a DynamoDB table. 4472 // 4473 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 4474 // a DynamoDB global secondary index. 4475 // 4476 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 4477 // a DynamoDB global secondary index. 4478 // 4479 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 4480 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 4481 // edition. 4482 // 4483 // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances 4484 // for an SageMaker model endpoint variant. 4485 // 4486 // * custom-resource:ResourceType:Property - The scalable dimension for a 4487 // custom resource provided by your own application or service. 4488 // 4489 // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The 4490 // number of inference units for an Amazon Comprehend document classification 4491 // endpoint. 4492 // 4493 // * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number 4494 // of inference units for an Amazon Comprehend entity recognizer endpoint. 4495 // 4496 // * lambda:function:ProvisionedConcurrency - The provisioned concurrency 4497 // for a Lambda function. 4498 // 4499 // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for 4500 // an Amazon Keyspaces table. 4501 // 4502 // * cassandra:table:WriteCapacityUnits - The provisioned write capacity 4503 // for an Amazon Keyspaces table. 4504 // 4505 // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) 4506 // for brokers in an Amazon MSK cluster. 4507 // 4508 // * elasticache:replication-group:NodeGroups - The number of node groups 4509 // for an Amazon ElastiCache replication group. 4510 // 4511 // * elasticache:replication-group:Replicas - The number of replicas per 4512 // node group for an Amazon ElastiCache replication group. 4513 // 4514 // * neptune:cluster:ReadReplicaCount - The count of read replicas in an 4515 // Amazon Neptune DB cluster. 4516 // 4517 // ScalableDimension is a required field 4518 ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` 4519 4520 // The namespace of the Amazon Web Services service that provides the resource. 4521 // For a resource provided by your own application or service, use custom-resource 4522 // instead. 4523 // 4524 // ServiceNamespace is a required field 4525 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 4526 4527 // An embedded object that contains attributes and attribute values that are 4528 // used to suspend and resume automatic scaling. Setting the value of an attribute 4529 // to true suspends the specified scaling activities. Setting it to false (default) 4530 // resumes the specified scaling activities. 4531 // 4532 // Suspension Outcomes 4533 // 4534 // * For DynamicScalingInSuspended, while a suspension is in effect, all 4535 // scale-in activities that are triggered by a scaling policy are suspended. 4536 // 4537 // * For DynamicScalingOutSuspended, while a suspension is in effect, all 4538 // scale-out activities that are triggered by a scaling policy are suspended. 4539 // 4540 // * For ScheduledScalingSuspended, while a suspension is in effect, all 4541 // scaling activities that involve scheduled actions are suspended. 4542 // 4543 // For more information, see Suspending and resuming scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html) 4544 // in the Application Auto Scaling User Guide. 4545 SuspendedState *SuspendedState `type:"structure"` 4546 } 4547 4548 // String returns the string representation. 4549 // 4550 // API parameter values that are decorated as "sensitive" in the API will not 4551 // be included in the string output. The member name will be present, but the 4552 // value will be replaced with "sensitive". 4553 func (s RegisterScalableTargetInput) String() string { 4554 return awsutil.Prettify(s) 4555 } 4556 4557 // GoString returns the string representation. 4558 // 4559 // API parameter values that are decorated as "sensitive" in the API will not 4560 // be included in the string output. The member name will be present, but the 4561 // value will be replaced with "sensitive". 4562 func (s RegisterScalableTargetInput) GoString() string { 4563 return s.String() 4564 } 4565 4566 // Validate inspects the fields of the type to determine if they are valid. 4567 func (s *RegisterScalableTargetInput) Validate() error { 4568 invalidParams := request.ErrInvalidParams{Context: "RegisterScalableTargetInput"} 4569 if s.ResourceId == nil { 4570 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 4571 } 4572 if s.ResourceId != nil && len(*s.ResourceId) < 1 { 4573 invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) 4574 } 4575 if s.RoleARN != nil && len(*s.RoleARN) < 1 { 4576 invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) 4577 } 4578 if s.ScalableDimension == nil { 4579 invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) 4580 } 4581 if s.ServiceNamespace == nil { 4582 invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) 4583 } 4584 4585 if invalidParams.Len() > 0 { 4586 return invalidParams 4587 } 4588 return nil 4589 } 4590 4591 // SetMaxCapacity sets the MaxCapacity field's value. 4592 func (s *RegisterScalableTargetInput) SetMaxCapacity(v int64) *RegisterScalableTargetInput { 4593 s.MaxCapacity = &v 4594 return s 4595 } 4596 4597 // SetMinCapacity sets the MinCapacity field's value. 4598 func (s *RegisterScalableTargetInput) SetMinCapacity(v int64) *RegisterScalableTargetInput { 4599 s.MinCapacity = &v 4600 return s 4601 } 4602 4603 // SetResourceId sets the ResourceId field's value. 4604 func (s *RegisterScalableTargetInput) SetResourceId(v string) *RegisterScalableTargetInput { 4605 s.ResourceId = &v 4606 return s 4607 } 4608 4609 // SetRoleARN sets the RoleARN field's value. 4610 func (s *RegisterScalableTargetInput) SetRoleARN(v string) *RegisterScalableTargetInput { 4611 s.RoleARN = &v 4612 return s 4613 } 4614 4615 // SetScalableDimension sets the ScalableDimension field's value. 4616 func (s *RegisterScalableTargetInput) SetScalableDimension(v string) *RegisterScalableTargetInput { 4617 s.ScalableDimension = &v 4618 return s 4619 } 4620 4621 // SetServiceNamespace sets the ServiceNamespace field's value. 4622 func (s *RegisterScalableTargetInput) SetServiceNamespace(v string) *RegisterScalableTargetInput { 4623 s.ServiceNamespace = &v 4624 return s 4625 } 4626 4627 // SetSuspendedState sets the SuspendedState field's value. 4628 func (s *RegisterScalableTargetInput) SetSuspendedState(v *SuspendedState) *RegisterScalableTargetInput { 4629 s.SuspendedState = v 4630 return s 4631 } 4632 4633 type RegisterScalableTargetOutput struct { 4634 _ struct{} `type:"structure"` 4635 } 4636 4637 // String returns the string representation. 4638 // 4639 // API parameter values that are decorated as "sensitive" in the API will not 4640 // be included in the string output. The member name will be present, but the 4641 // value will be replaced with "sensitive". 4642 func (s RegisterScalableTargetOutput) String() string { 4643 return awsutil.Prettify(s) 4644 } 4645 4646 // GoString returns the string representation. 4647 // 4648 // API parameter values that are decorated as "sensitive" in the API will not 4649 // be included in the string output. The member name will be present, but the 4650 // value will be replaced with "sensitive". 4651 func (s RegisterScalableTargetOutput) GoString() string { 4652 return s.String() 4653 } 4654 4655 // Represents a scalable target. 4656 type ScalableTarget struct { 4657 _ struct{} `type:"structure"` 4658 4659 // The Unix timestamp for when the scalable target was created. 4660 // 4661 // CreationTime is a required field 4662 CreationTime *time.Time `type:"timestamp" required:"true"` 4663 4664 // The maximum value to scale to in response to a scale-out activity. 4665 // 4666 // MaxCapacity is a required field 4667 MaxCapacity *int64 `type:"integer" required:"true"` 4668 4669 // The minimum value to scale to in response to a scale-in activity. 4670 // 4671 // MinCapacity is a required field 4672 MinCapacity *int64 `type:"integer" required:"true"` 4673 4674 // The identifier of the resource associated with the scalable target. This 4675 // string consists of the resource type and unique identifier. 4676 // 4677 // * ECS service - The resource type is service and the unique identifier 4678 // is the cluster name and service name. Example: service/default/sample-webapp. 4679 // 4680 // * Spot Fleet - The resource type is spot-fleet-request and the unique 4681 // identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 4682 // 4683 // * EMR cluster - The resource type is instancegroup and the unique identifier 4684 // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. 4685 // 4686 // * AppStream 2.0 fleet - The resource type is fleet and the unique identifier 4687 // is the fleet name. Example: fleet/sample-fleet. 4688 // 4689 // * DynamoDB table - The resource type is table and the unique identifier 4690 // is the table name. Example: table/my-table. 4691 // 4692 // * DynamoDB global secondary index - The resource type is index and the 4693 // unique identifier is the index name. Example: table/my-table/index/my-table-index. 4694 // 4695 // * Aurora DB cluster - The resource type is cluster and the unique identifier 4696 // is the cluster name. Example: cluster:my-db-cluster. 4697 // 4698 // * SageMaker endpoint variant - The resource type is variant and the unique 4699 // identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. 4700 // 4701 // * Custom resources are not supported with a resource type. This parameter 4702 // must specify the OutputValue from the CloudFormation template stack used 4703 // to access the resources. The unique identifier is defined by the service 4704 // provider. More information is available in our GitHub repository (https://github.com/aavshr/aws-auto-scaling-custom-resource). 4705 // 4706 // * Amazon Comprehend document classification endpoint - The resource type 4707 // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. 4708 // 4709 // * Amazon Comprehend entity recognizer endpoint - The resource type and 4710 // unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. 4711 // 4712 // * Lambda provisioned concurrency - The resource type is function and the 4713 // unique identifier is the function name with a function version or alias 4714 // name suffix that is not $LATEST. Example: function:my-function:prod or 4715 // function:my-function:1. 4716 // 4717 // * Amazon Keyspaces table - The resource type is table and the unique identifier 4718 // is the table name. Example: keyspace/mykeyspace/table/mytable. 4719 // 4720 // * Amazon MSK cluster - The resource type and unique identifier are specified 4721 // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. 4722 // 4723 // * Amazon ElastiCache replication group - The resource type is replication-group 4724 // and the unique identifier is the replication group name. Example: replication-group/mycluster. 4725 // 4726 // * Neptune cluster - The resource type is cluster and the unique identifier 4727 // is the cluster name. Example: cluster:mycluster. 4728 // 4729 // ResourceId is a required field 4730 ResourceId *string `min:"1" type:"string" required:"true"` 4731 4732 // The ARN of an IAM role that allows Application Auto Scaling to modify the 4733 // scalable target on your behalf. 4734 // 4735 // RoleARN is a required field 4736 RoleARN *string `min:"1" type:"string" required:"true"` 4737 4738 // The scalable dimension associated with the scalable target. This string consists 4739 // of the service namespace, resource type, and scaling property. 4740 // 4741 // * ecs:service:DesiredCount - The desired task count of an ECS service. 4742 // 4743 // * elasticmapreduce:instancegroup:InstanceCount - The instance count of 4744 // an EMR Instance Group. 4745 // 4746 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 4747 // Fleet. 4748 // 4749 // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 4750 // 2.0 fleet. 4751 // 4752 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 4753 // a DynamoDB table. 4754 // 4755 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 4756 // a DynamoDB table. 4757 // 4758 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 4759 // a DynamoDB global secondary index. 4760 // 4761 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 4762 // a DynamoDB global secondary index. 4763 // 4764 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 4765 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 4766 // edition. 4767 // 4768 // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances 4769 // for an SageMaker model endpoint variant. 4770 // 4771 // * custom-resource:ResourceType:Property - The scalable dimension for a 4772 // custom resource provided by your own application or service. 4773 // 4774 // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The 4775 // number of inference units for an Amazon Comprehend document classification 4776 // endpoint. 4777 // 4778 // * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number 4779 // of inference units for an Amazon Comprehend entity recognizer endpoint. 4780 // 4781 // * lambda:function:ProvisionedConcurrency - The provisioned concurrency 4782 // for a Lambda function. 4783 // 4784 // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for 4785 // an Amazon Keyspaces table. 4786 // 4787 // * cassandra:table:WriteCapacityUnits - The provisioned write capacity 4788 // for an Amazon Keyspaces table. 4789 // 4790 // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) 4791 // for brokers in an Amazon MSK cluster. 4792 // 4793 // * elasticache:replication-group:NodeGroups - The number of node groups 4794 // for an Amazon ElastiCache replication group. 4795 // 4796 // * elasticache:replication-group:Replicas - The number of replicas per 4797 // node group for an Amazon ElastiCache replication group. 4798 // 4799 // * neptune:cluster:ReadReplicaCount - The count of read replicas in an 4800 // Amazon Neptune DB cluster. 4801 // 4802 // ScalableDimension is a required field 4803 ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` 4804 4805 // The namespace of the Amazon Web Services service that provides the resource, 4806 // or a custom-resource. 4807 // 4808 // ServiceNamespace is a required field 4809 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 4810 4811 // Specifies whether the scaling activities for a scalable target are in a suspended 4812 // state. 4813 SuspendedState *SuspendedState `type:"structure"` 4814 } 4815 4816 // String returns the string representation. 4817 // 4818 // API parameter values that are decorated as "sensitive" in the API will not 4819 // be included in the string output. The member name will be present, but the 4820 // value will be replaced with "sensitive". 4821 func (s ScalableTarget) String() string { 4822 return awsutil.Prettify(s) 4823 } 4824 4825 // GoString returns the string representation. 4826 // 4827 // API parameter values that are decorated as "sensitive" in the API will not 4828 // be included in the string output. The member name will be present, but the 4829 // value will be replaced with "sensitive". 4830 func (s ScalableTarget) GoString() string { 4831 return s.String() 4832 } 4833 4834 // SetCreationTime sets the CreationTime field's value. 4835 func (s *ScalableTarget) SetCreationTime(v time.Time) *ScalableTarget { 4836 s.CreationTime = &v 4837 return s 4838 } 4839 4840 // SetMaxCapacity sets the MaxCapacity field's value. 4841 func (s *ScalableTarget) SetMaxCapacity(v int64) *ScalableTarget { 4842 s.MaxCapacity = &v 4843 return s 4844 } 4845 4846 // SetMinCapacity sets the MinCapacity field's value. 4847 func (s *ScalableTarget) SetMinCapacity(v int64) *ScalableTarget { 4848 s.MinCapacity = &v 4849 return s 4850 } 4851 4852 // SetResourceId sets the ResourceId field's value. 4853 func (s *ScalableTarget) SetResourceId(v string) *ScalableTarget { 4854 s.ResourceId = &v 4855 return s 4856 } 4857 4858 // SetRoleARN sets the RoleARN field's value. 4859 func (s *ScalableTarget) SetRoleARN(v string) *ScalableTarget { 4860 s.RoleARN = &v 4861 return s 4862 } 4863 4864 // SetScalableDimension sets the ScalableDimension field's value. 4865 func (s *ScalableTarget) SetScalableDimension(v string) *ScalableTarget { 4866 s.ScalableDimension = &v 4867 return s 4868 } 4869 4870 // SetServiceNamespace sets the ServiceNamespace field's value. 4871 func (s *ScalableTarget) SetServiceNamespace(v string) *ScalableTarget { 4872 s.ServiceNamespace = &v 4873 return s 4874 } 4875 4876 // SetSuspendedState sets the SuspendedState field's value. 4877 func (s *ScalableTarget) SetSuspendedState(v *SuspendedState) *ScalableTarget { 4878 s.SuspendedState = v 4879 return s 4880 } 4881 4882 // Represents the minimum and maximum capacity for a scheduled action. 4883 type ScalableTargetAction struct { 4884 _ struct{} `type:"structure"` 4885 4886 // The maximum capacity. 4887 // 4888 // Although you can specify a large maximum capacity, note that service quotas 4889 // may impose lower limits. Each service has its own default quotas for the 4890 // maximum capacity of the resource. If you want to specify a higher limit, 4891 // you can request an increase. For more information, consult the documentation 4892 // for that service. For information about the default quotas for each service, 4893 // see Service Endpoints and Quotas (https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) 4894 // in the Amazon Web Services General Reference. 4895 MaxCapacity *int64 `type:"integer"` 4896 4897 // The minimum capacity. 4898 // 4899 // For certain resources, the minimum value allowed is 0. This includes Lambda 4900 // provisioned concurrency, Spot Fleet, ECS services, Aurora DB clusters, EMR 4901 // clusters, and custom resources. For all other resources, the minimum value 4902 // allowed is 1. 4903 MinCapacity *int64 `type:"integer"` 4904 } 4905 4906 // String returns the string representation. 4907 // 4908 // API parameter values that are decorated as "sensitive" in the API will not 4909 // be included in the string output. The member name will be present, but the 4910 // value will be replaced with "sensitive". 4911 func (s ScalableTargetAction) String() string { 4912 return awsutil.Prettify(s) 4913 } 4914 4915 // GoString returns the string representation. 4916 // 4917 // API parameter values that are decorated as "sensitive" in the API will not 4918 // be included in the string output. The member name will be present, but the 4919 // value will be replaced with "sensitive". 4920 func (s ScalableTargetAction) GoString() string { 4921 return s.String() 4922 } 4923 4924 // SetMaxCapacity sets the MaxCapacity field's value. 4925 func (s *ScalableTargetAction) SetMaxCapacity(v int64) *ScalableTargetAction { 4926 s.MaxCapacity = &v 4927 return s 4928 } 4929 4930 // SetMinCapacity sets the MinCapacity field's value. 4931 func (s *ScalableTargetAction) SetMinCapacity(v int64) *ScalableTargetAction { 4932 s.MinCapacity = &v 4933 return s 4934 } 4935 4936 // Represents a scaling activity. 4937 type ScalingActivity struct { 4938 _ struct{} `type:"structure"` 4939 4940 // The unique identifier of the scaling activity. 4941 // 4942 // ActivityId is a required field 4943 ActivityId *string `type:"string" required:"true"` 4944 4945 // A simple description of what caused the scaling activity to happen. 4946 // 4947 // Cause is a required field 4948 Cause *string `type:"string" required:"true"` 4949 4950 // A simple description of what action the scaling activity intends to accomplish. 4951 // 4952 // Description is a required field 4953 Description *string `type:"string" required:"true"` 4954 4955 // The details about the scaling activity. 4956 Details *string `type:"string"` 4957 4958 // The Unix timestamp for when the scaling activity ended. 4959 EndTime *time.Time `type:"timestamp"` 4960 4961 // The identifier of the resource associated with the scaling activity. This 4962 // string consists of the resource type and unique identifier. 4963 // 4964 // * ECS service - The resource type is service and the unique identifier 4965 // is the cluster name and service name. Example: service/default/sample-webapp. 4966 // 4967 // * Spot Fleet - The resource type is spot-fleet-request and the unique 4968 // identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 4969 // 4970 // * EMR cluster - The resource type is instancegroup and the unique identifier 4971 // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. 4972 // 4973 // * AppStream 2.0 fleet - The resource type is fleet and the unique identifier 4974 // is the fleet name. Example: fleet/sample-fleet. 4975 // 4976 // * DynamoDB table - The resource type is table and the unique identifier 4977 // is the table name. Example: table/my-table. 4978 // 4979 // * DynamoDB global secondary index - The resource type is index and the 4980 // unique identifier is the index name. Example: table/my-table/index/my-table-index. 4981 // 4982 // * Aurora DB cluster - The resource type is cluster and the unique identifier 4983 // is the cluster name. Example: cluster:my-db-cluster. 4984 // 4985 // * SageMaker endpoint variant - The resource type is variant and the unique 4986 // identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. 4987 // 4988 // * Custom resources are not supported with a resource type. This parameter 4989 // must specify the OutputValue from the CloudFormation template stack used 4990 // to access the resources. The unique identifier is defined by the service 4991 // provider. More information is available in our GitHub repository (https://github.com/aavshr/aws-auto-scaling-custom-resource). 4992 // 4993 // * Amazon Comprehend document classification endpoint - The resource type 4994 // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. 4995 // 4996 // * Amazon Comprehend entity recognizer endpoint - The resource type and 4997 // unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. 4998 // 4999 // * Lambda provisioned concurrency - The resource type is function and the 5000 // unique identifier is the function name with a function version or alias 5001 // name suffix that is not $LATEST. Example: function:my-function:prod or 5002 // function:my-function:1. 5003 // 5004 // * Amazon Keyspaces table - The resource type is table and the unique identifier 5005 // is the table name. Example: keyspace/mykeyspace/table/mytable. 5006 // 5007 // * Amazon MSK cluster - The resource type and unique identifier are specified 5008 // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. 5009 // 5010 // * Amazon ElastiCache replication group - The resource type is replication-group 5011 // and the unique identifier is the replication group name. Example: replication-group/mycluster. 5012 // 5013 // * Neptune cluster - The resource type is cluster and the unique identifier 5014 // is the cluster name. Example: cluster:mycluster. 5015 // 5016 // ResourceId is a required field 5017 ResourceId *string `min:"1" type:"string" required:"true"` 5018 5019 // The scalable dimension. This string consists of the service namespace, resource 5020 // type, and scaling property. 5021 // 5022 // * ecs:service:DesiredCount - The desired task count of an ECS service. 5023 // 5024 // * elasticmapreduce:instancegroup:InstanceCount - The instance count of 5025 // an EMR Instance Group. 5026 // 5027 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 5028 // Fleet. 5029 // 5030 // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 5031 // 2.0 fleet. 5032 // 5033 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 5034 // a DynamoDB table. 5035 // 5036 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 5037 // a DynamoDB table. 5038 // 5039 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 5040 // a DynamoDB global secondary index. 5041 // 5042 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 5043 // a DynamoDB global secondary index. 5044 // 5045 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 5046 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 5047 // edition. 5048 // 5049 // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances 5050 // for an SageMaker model endpoint variant. 5051 // 5052 // * custom-resource:ResourceType:Property - The scalable dimension for a 5053 // custom resource provided by your own application or service. 5054 // 5055 // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The 5056 // number of inference units for an Amazon Comprehend document classification 5057 // endpoint. 5058 // 5059 // * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number 5060 // of inference units for an Amazon Comprehend entity recognizer endpoint. 5061 // 5062 // * lambda:function:ProvisionedConcurrency - The provisioned concurrency 5063 // for a Lambda function. 5064 // 5065 // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for 5066 // an Amazon Keyspaces table. 5067 // 5068 // * cassandra:table:WriteCapacityUnits - The provisioned write capacity 5069 // for an Amazon Keyspaces table. 5070 // 5071 // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) 5072 // for brokers in an Amazon MSK cluster. 5073 // 5074 // * elasticache:replication-group:NodeGroups - The number of node groups 5075 // for an Amazon ElastiCache replication group. 5076 // 5077 // * elasticache:replication-group:Replicas - The number of replicas per 5078 // node group for an Amazon ElastiCache replication group. 5079 // 5080 // * neptune:cluster:ReadReplicaCount - The count of read replicas in an 5081 // Amazon Neptune DB cluster. 5082 // 5083 // ScalableDimension is a required field 5084 ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` 5085 5086 // The namespace of the Amazon Web Services service that provides the resource, 5087 // or a custom-resource. 5088 // 5089 // ServiceNamespace is a required field 5090 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 5091 5092 // The Unix timestamp for when the scaling activity began. 5093 // 5094 // StartTime is a required field 5095 StartTime *time.Time `type:"timestamp" required:"true"` 5096 5097 // Indicates the status of the scaling activity. 5098 // 5099 // StatusCode is a required field 5100 StatusCode *string `type:"string" required:"true" enum:"ScalingActivityStatusCode"` 5101 5102 // A simple message about the current status of the scaling activity. 5103 StatusMessage *string `type:"string"` 5104 } 5105 5106 // String returns the string representation. 5107 // 5108 // API parameter values that are decorated as "sensitive" in the API will not 5109 // be included in the string output. The member name will be present, but the 5110 // value will be replaced with "sensitive". 5111 func (s ScalingActivity) String() string { 5112 return awsutil.Prettify(s) 5113 } 5114 5115 // GoString returns the string representation. 5116 // 5117 // API parameter values that are decorated as "sensitive" in the API will not 5118 // be included in the string output. The member name will be present, but the 5119 // value will be replaced with "sensitive". 5120 func (s ScalingActivity) GoString() string { 5121 return s.String() 5122 } 5123 5124 // SetActivityId sets the ActivityId field's value. 5125 func (s *ScalingActivity) SetActivityId(v string) *ScalingActivity { 5126 s.ActivityId = &v 5127 return s 5128 } 5129 5130 // SetCause sets the Cause field's value. 5131 func (s *ScalingActivity) SetCause(v string) *ScalingActivity { 5132 s.Cause = &v 5133 return s 5134 } 5135 5136 // SetDescription sets the Description field's value. 5137 func (s *ScalingActivity) SetDescription(v string) *ScalingActivity { 5138 s.Description = &v 5139 return s 5140 } 5141 5142 // SetDetails sets the Details field's value. 5143 func (s *ScalingActivity) SetDetails(v string) *ScalingActivity { 5144 s.Details = &v 5145 return s 5146 } 5147 5148 // SetEndTime sets the EndTime field's value. 5149 func (s *ScalingActivity) SetEndTime(v time.Time) *ScalingActivity { 5150 s.EndTime = &v 5151 return s 5152 } 5153 5154 // SetResourceId sets the ResourceId field's value. 5155 func (s *ScalingActivity) SetResourceId(v string) *ScalingActivity { 5156 s.ResourceId = &v 5157 return s 5158 } 5159 5160 // SetScalableDimension sets the ScalableDimension field's value. 5161 func (s *ScalingActivity) SetScalableDimension(v string) *ScalingActivity { 5162 s.ScalableDimension = &v 5163 return s 5164 } 5165 5166 // SetServiceNamespace sets the ServiceNamespace field's value. 5167 func (s *ScalingActivity) SetServiceNamespace(v string) *ScalingActivity { 5168 s.ServiceNamespace = &v 5169 return s 5170 } 5171 5172 // SetStartTime sets the StartTime field's value. 5173 func (s *ScalingActivity) SetStartTime(v time.Time) *ScalingActivity { 5174 s.StartTime = &v 5175 return s 5176 } 5177 5178 // SetStatusCode sets the StatusCode field's value. 5179 func (s *ScalingActivity) SetStatusCode(v string) *ScalingActivity { 5180 s.StatusCode = &v 5181 return s 5182 } 5183 5184 // SetStatusMessage sets the StatusMessage field's value. 5185 func (s *ScalingActivity) SetStatusMessage(v string) *ScalingActivity { 5186 s.StatusMessage = &v 5187 return s 5188 } 5189 5190 // Represents a scaling policy to use with Application Auto Scaling. 5191 // 5192 // For more information about configuring scaling policies for a specific service, 5193 // see Getting started with Application Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/getting-started.html) 5194 // in the Application Auto Scaling User Guide. 5195 type ScalingPolicy struct { 5196 _ struct{} `type:"structure"` 5197 5198 // The CloudWatch alarms associated with the scaling policy. 5199 Alarms []*Alarm `type:"list"` 5200 5201 // The Unix timestamp for when the scaling policy was created. 5202 // 5203 // CreationTime is a required field 5204 CreationTime *time.Time `type:"timestamp" required:"true"` 5205 5206 // The Amazon Resource Name (ARN) of the scaling policy. 5207 // 5208 // PolicyARN is a required field 5209 PolicyARN *string `min:"1" type:"string" required:"true"` 5210 5211 // The name of the scaling policy. 5212 // 5213 // PolicyName is a required field 5214 PolicyName *string `min:"1" type:"string" required:"true"` 5215 5216 // The scaling policy type. 5217 // 5218 // PolicyType is a required field 5219 PolicyType *string `type:"string" required:"true" enum:"PolicyType"` 5220 5221 // The identifier of the resource associated with the scaling policy. This string 5222 // consists of the resource type and unique identifier. 5223 // 5224 // * ECS service - The resource type is service and the unique identifier 5225 // is the cluster name and service name. Example: service/default/sample-webapp. 5226 // 5227 // * Spot Fleet - The resource type is spot-fleet-request and the unique 5228 // identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 5229 // 5230 // * EMR cluster - The resource type is instancegroup and the unique identifier 5231 // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. 5232 // 5233 // * AppStream 2.0 fleet - The resource type is fleet and the unique identifier 5234 // is the fleet name. Example: fleet/sample-fleet. 5235 // 5236 // * DynamoDB table - The resource type is table and the unique identifier 5237 // is the table name. Example: table/my-table. 5238 // 5239 // * DynamoDB global secondary index - The resource type is index and the 5240 // unique identifier is the index name. Example: table/my-table/index/my-table-index. 5241 // 5242 // * Aurora DB cluster - The resource type is cluster and the unique identifier 5243 // is the cluster name. Example: cluster:my-db-cluster. 5244 // 5245 // * SageMaker endpoint variant - The resource type is variant and the unique 5246 // identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. 5247 // 5248 // * Custom resources are not supported with a resource type. This parameter 5249 // must specify the OutputValue from the CloudFormation template stack used 5250 // to access the resources. The unique identifier is defined by the service 5251 // provider. More information is available in our GitHub repository (https://github.com/aavshr/aws-auto-scaling-custom-resource). 5252 // 5253 // * Amazon Comprehend document classification endpoint - The resource type 5254 // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. 5255 // 5256 // * Amazon Comprehend entity recognizer endpoint - The resource type and 5257 // unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. 5258 // 5259 // * Lambda provisioned concurrency - The resource type is function and the 5260 // unique identifier is the function name with a function version or alias 5261 // name suffix that is not $LATEST. Example: function:my-function:prod or 5262 // function:my-function:1. 5263 // 5264 // * Amazon Keyspaces table - The resource type is table and the unique identifier 5265 // is the table name. Example: keyspace/mykeyspace/table/mytable. 5266 // 5267 // * Amazon MSK cluster - The resource type and unique identifier are specified 5268 // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. 5269 // 5270 // * Amazon ElastiCache replication group - The resource type is replication-group 5271 // and the unique identifier is the replication group name. Example: replication-group/mycluster. 5272 // 5273 // * Neptune cluster - The resource type is cluster and the unique identifier 5274 // is the cluster name. Example: cluster:mycluster. 5275 // 5276 // ResourceId is a required field 5277 ResourceId *string `min:"1" type:"string" required:"true"` 5278 5279 // The scalable dimension. This string consists of the service namespace, resource 5280 // type, and scaling property. 5281 // 5282 // * ecs:service:DesiredCount - The desired task count of an ECS service. 5283 // 5284 // * elasticmapreduce:instancegroup:InstanceCount - The instance count of 5285 // an EMR Instance Group. 5286 // 5287 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 5288 // Fleet. 5289 // 5290 // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 5291 // 2.0 fleet. 5292 // 5293 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 5294 // a DynamoDB table. 5295 // 5296 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 5297 // a DynamoDB table. 5298 // 5299 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 5300 // a DynamoDB global secondary index. 5301 // 5302 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 5303 // a DynamoDB global secondary index. 5304 // 5305 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 5306 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 5307 // edition. 5308 // 5309 // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances 5310 // for an SageMaker model endpoint variant. 5311 // 5312 // * custom-resource:ResourceType:Property - The scalable dimension for a 5313 // custom resource provided by your own application or service. 5314 // 5315 // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The 5316 // number of inference units for an Amazon Comprehend document classification 5317 // endpoint. 5318 // 5319 // * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number 5320 // of inference units for an Amazon Comprehend entity recognizer endpoint. 5321 // 5322 // * lambda:function:ProvisionedConcurrency - The provisioned concurrency 5323 // for a Lambda function. 5324 // 5325 // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for 5326 // an Amazon Keyspaces table. 5327 // 5328 // * cassandra:table:WriteCapacityUnits - The provisioned write capacity 5329 // for an Amazon Keyspaces table. 5330 // 5331 // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) 5332 // for brokers in an Amazon MSK cluster. 5333 // 5334 // * elasticache:replication-group:NodeGroups - The number of node groups 5335 // for an Amazon ElastiCache replication group. 5336 // 5337 // * elasticache:replication-group:Replicas - The number of replicas per 5338 // node group for an Amazon ElastiCache replication group. 5339 // 5340 // * neptune:cluster:ReadReplicaCount - The count of read replicas in an 5341 // Amazon Neptune DB cluster. 5342 // 5343 // ScalableDimension is a required field 5344 ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` 5345 5346 // The namespace of the Amazon Web Services service that provides the resource, 5347 // or a custom-resource. 5348 // 5349 // ServiceNamespace is a required field 5350 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 5351 5352 // A step scaling policy. 5353 StepScalingPolicyConfiguration *StepScalingPolicyConfiguration `type:"structure"` 5354 5355 // A target tracking scaling policy. 5356 TargetTrackingScalingPolicyConfiguration *TargetTrackingScalingPolicyConfiguration `type:"structure"` 5357 } 5358 5359 // String returns the string representation. 5360 // 5361 // API parameter values that are decorated as "sensitive" in the API will not 5362 // be included in the string output. The member name will be present, but the 5363 // value will be replaced with "sensitive". 5364 func (s ScalingPolicy) String() string { 5365 return awsutil.Prettify(s) 5366 } 5367 5368 // GoString returns the string representation. 5369 // 5370 // API parameter values that are decorated as "sensitive" in the API will not 5371 // be included in the string output. The member name will be present, but the 5372 // value will be replaced with "sensitive". 5373 func (s ScalingPolicy) GoString() string { 5374 return s.String() 5375 } 5376 5377 // SetAlarms sets the Alarms field's value. 5378 func (s *ScalingPolicy) SetAlarms(v []*Alarm) *ScalingPolicy { 5379 s.Alarms = v 5380 return s 5381 } 5382 5383 // SetCreationTime sets the CreationTime field's value. 5384 func (s *ScalingPolicy) SetCreationTime(v time.Time) *ScalingPolicy { 5385 s.CreationTime = &v 5386 return s 5387 } 5388 5389 // SetPolicyARN sets the PolicyARN field's value. 5390 func (s *ScalingPolicy) SetPolicyARN(v string) *ScalingPolicy { 5391 s.PolicyARN = &v 5392 return s 5393 } 5394 5395 // SetPolicyName sets the PolicyName field's value. 5396 func (s *ScalingPolicy) SetPolicyName(v string) *ScalingPolicy { 5397 s.PolicyName = &v 5398 return s 5399 } 5400 5401 // SetPolicyType sets the PolicyType field's value. 5402 func (s *ScalingPolicy) SetPolicyType(v string) *ScalingPolicy { 5403 s.PolicyType = &v 5404 return s 5405 } 5406 5407 // SetResourceId sets the ResourceId field's value. 5408 func (s *ScalingPolicy) SetResourceId(v string) *ScalingPolicy { 5409 s.ResourceId = &v 5410 return s 5411 } 5412 5413 // SetScalableDimension sets the ScalableDimension field's value. 5414 func (s *ScalingPolicy) SetScalableDimension(v string) *ScalingPolicy { 5415 s.ScalableDimension = &v 5416 return s 5417 } 5418 5419 // SetServiceNamespace sets the ServiceNamespace field's value. 5420 func (s *ScalingPolicy) SetServiceNamespace(v string) *ScalingPolicy { 5421 s.ServiceNamespace = &v 5422 return s 5423 } 5424 5425 // SetStepScalingPolicyConfiguration sets the StepScalingPolicyConfiguration field's value. 5426 func (s *ScalingPolicy) SetStepScalingPolicyConfiguration(v *StepScalingPolicyConfiguration) *ScalingPolicy { 5427 s.StepScalingPolicyConfiguration = v 5428 return s 5429 } 5430 5431 // SetTargetTrackingScalingPolicyConfiguration sets the TargetTrackingScalingPolicyConfiguration field's value. 5432 func (s *ScalingPolicy) SetTargetTrackingScalingPolicyConfiguration(v *TargetTrackingScalingPolicyConfiguration) *ScalingPolicy { 5433 s.TargetTrackingScalingPolicyConfiguration = v 5434 return s 5435 } 5436 5437 // Represents a scheduled action. 5438 type ScheduledAction struct { 5439 _ struct{} `type:"structure"` 5440 5441 // The date and time that the scheduled action was created. 5442 // 5443 // CreationTime is a required field 5444 CreationTime *time.Time `type:"timestamp" required:"true"` 5445 5446 // The date and time that the action is scheduled to end, in UTC. 5447 EndTime *time.Time `type:"timestamp"` 5448 5449 // The identifier of the resource associated with the scaling policy. This string 5450 // consists of the resource type and unique identifier. 5451 // 5452 // * ECS service - The resource type is service and the unique identifier 5453 // is the cluster name and service name. Example: service/default/sample-webapp. 5454 // 5455 // * Spot Fleet - The resource type is spot-fleet-request and the unique 5456 // identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 5457 // 5458 // * EMR cluster - The resource type is instancegroup and the unique identifier 5459 // is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0. 5460 // 5461 // * AppStream 2.0 fleet - The resource type is fleet and the unique identifier 5462 // is the fleet name. Example: fleet/sample-fleet. 5463 // 5464 // * DynamoDB table - The resource type is table and the unique identifier 5465 // is the table name. Example: table/my-table. 5466 // 5467 // * DynamoDB global secondary index - The resource type is index and the 5468 // unique identifier is the index name. Example: table/my-table/index/my-table-index. 5469 // 5470 // * Aurora DB cluster - The resource type is cluster and the unique identifier 5471 // is the cluster name. Example: cluster:my-db-cluster. 5472 // 5473 // * SageMaker endpoint variant - The resource type is variant and the unique 5474 // identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. 5475 // 5476 // * Custom resources are not supported with a resource type. This parameter 5477 // must specify the OutputValue from the CloudFormation template stack used 5478 // to access the resources. The unique identifier is defined by the service 5479 // provider. More information is available in our GitHub repository (https://github.com/aavshr/aws-auto-scaling-custom-resource). 5480 // 5481 // * Amazon Comprehend document classification endpoint - The resource type 5482 // and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE. 5483 // 5484 // * Amazon Comprehend entity recognizer endpoint - The resource type and 5485 // unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE. 5486 // 5487 // * Lambda provisioned concurrency - The resource type is function and the 5488 // unique identifier is the function name with a function version or alias 5489 // name suffix that is not $LATEST. Example: function:my-function:prod or 5490 // function:my-function:1. 5491 // 5492 // * Amazon Keyspaces table - The resource type is table and the unique identifier 5493 // is the table name. Example: keyspace/mykeyspace/table/mytable. 5494 // 5495 // * Amazon MSK cluster - The resource type and unique identifier are specified 5496 // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. 5497 // 5498 // * Amazon ElastiCache replication group - The resource type is replication-group 5499 // and the unique identifier is the replication group name. Example: replication-group/mycluster. 5500 // 5501 // * Neptune cluster - The resource type is cluster and the unique identifier 5502 // is the cluster name. Example: cluster:mycluster. 5503 // 5504 // ResourceId is a required field 5505 ResourceId *string `min:"1" type:"string" required:"true"` 5506 5507 // The scalable dimension. This string consists of the service namespace, resource 5508 // type, and scaling property. 5509 // 5510 // * ecs:service:DesiredCount - The desired task count of an ECS service. 5511 // 5512 // * elasticmapreduce:instancegroup:InstanceCount - The instance count of 5513 // an EMR Instance Group. 5514 // 5515 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 5516 // Fleet. 5517 // 5518 // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 5519 // 2.0 fleet. 5520 // 5521 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 5522 // a DynamoDB table. 5523 // 5524 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 5525 // a DynamoDB table. 5526 // 5527 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 5528 // a DynamoDB global secondary index. 5529 // 5530 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 5531 // a DynamoDB global secondary index. 5532 // 5533 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 5534 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 5535 // edition. 5536 // 5537 // * sagemaker:variant:DesiredInstanceCount - The number of EC2 instances 5538 // for an SageMaker model endpoint variant. 5539 // 5540 // * custom-resource:ResourceType:Property - The scalable dimension for a 5541 // custom resource provided by your own application or service. 5542 // 5543 // * comprehend:document-classifier-endpoint:DesiredInferenceUnits - The 5544 // number of inference units for an Amazon Comprehend document classification 5545 // endpoint. 5546 // 5547 // * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number 5548 // of inference units for an Amazon Comprehend entity recognizer endpoint. 5549 // 5550 // * lambda:function:ProvisionedConcurrency - The provisioned concurrency 5551 // for a Lambda function. 5552 // 5553 // * cassandra:table:ReadCapacityUnits - The provisioned read capacity for 5554 // an Amazon Keyspaces table. 5555 // 5556 // * cassandra:table:WriteCapacityUnits - The provisioned write capacity 5557 // for an Amazon Keyspaces table. 5558 // 5559 // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) 5560 // for brokers in an Amazon MSK cluster. 5561 // 5562 // * elasticache:replication-group:NodeGroups - The number of node groups 5563 // for an Amazon ElastiCache replication group. 5564 // 5565 // * elasticache:replication-group:Replicas - The number of replicas per 5566 // node group for an Amazon ElastiCache replication group. 5567 // 5568 // * neptune:cluster:ReadReplicaCount - The count of read replicas in an 5569 // Amazon Neptune DB cluster. 5570 ScalableDimension *string `type:"string" enum:"ScalableDimension"` 5571 5572 // The new minimum and maximum capacity. You can set both values or just one. 5573 // At the scheduled time, if the current capacity is below the minimum capacity, 5574 // Application Auto Scaling scales out to the minimum capacity. If the current 5575 // capacity is above the maximum capacity, Application Auto Scaling scales in 5576 // to the maximum capacity. 5577 ScalableTargetAction *ScalableTargetAction `type:"structure"` 5578 5579 // The schedule for this action. The following formats are supported: 5580 // 5581 // * At expressions - "at(yyyy-mm-ddThh:mm:ss)" 5582 // 5583 // * Rate expressions - "rate(value unit)" 5584 // 5585 // * Cron expressions - "cron(fields)" 5586 // 5587 // At expressions are useful for one-time schedules. Cron expressions are useful 5588 // for scheduled actions that run periodically at a specified date and time, 5589 // and rate expressions are useful for scheduled actions that run at a regular 5590 // interval. 5591 // 5592 // At and cron expressions use Universal Coordinated Time (UTC) by default. 5593 // 5594 // The cron format consists of six fields separated by white spaces: [Minutes] 5595 // [Hours] [Day_of_Month] [Month] [Day_of_Week] [Year]. 5596 // 5597 // For rate expressions, value is a positive integer and unit is minute | minutes 5598 // | hour | hours | day | days. 5599 // 5600 // For more information and examples, see Example scheduled actions for Application 5601 // Auto Scaling (https://docs.aws.amazon.com/autoscaling/application/userguide/examples-scheduled-actions.html) 5602 // in the Application Auto Scaling User Guide. 5603 // 5604 // Schedule is a required field 5605 Schedule *string `min:"1" type:"string" required:"true"` 5606 5607 // The Amazon Resource Name (ARN) of the scheduled action. 5608 // 5609 // ScheduledActionARN is a required field 5610 ScheduledActionARN *string `min:"1" type:"string" required:"true"` 5611 5612 // The name of the scheduled action. 5613 // 5614 // ScheduledActionName is a required field 5615 ScheduledActionName *string `min:"1" type:"string" required:"true"` 5616 5617 // The namespace of the Amazon Web Services service that provides the resource, 5618 // or a custom-resource. 5619 // 5620 // ServiceNamespace is a required field 5621 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 5622 5623 // The date and time that the action is scheduled to begin, in UTC. 5624 StartTime *time.Time `type:"timestamp"` 5625 5626 // The time zone used when referring to the date and time of a scheduled action, 5627 // when the scheduled action uses an at or cron expression. 5628 Timezone *string `min:"1" type:"string"` 5629 } 5630 5631 // String returns the string representation. 5632 // 5633 // API parameter values that are decorated as "sensitive" in the API will not 5634 // be included in the string output. The member name will be present, but the 5635 // value will be replaced with "sensitive". 5636 func (s ScheduledAction) String() string { 5637 return awsutil.Prettify(s) 5638 } 5639 5640 // GoString returns the string representation. 5641 // 5642 // API parameter values that are decorated as "sensitive" in the API will not 5643 // be included in the string output. The member name will be present, but the 5644 // value will be replaced with "sensitive". 5645 func (s ScheduledAction) GoString() string { 5646 return s.String() 5647 } 5648 5649 // SetCreationTime sets the CreationTime field's value. 5650 func (s *ScheduledAction) SetCreationTime(v time.Time) *ScheduledAction { 5651 s.CreationTime = &v 5652 return s 5653 } 5654 5655 // SetEndTime sets the EndTime field's value. 5656 func (s *ScheduledAction) SetEndTime(v time.Time) *ScheduledAction { 5657 s.EndTime = &v 5658 return s 5659 } 5660 5661 // SetResourceId sets the ResourceId field's value. 5662 func (s *ScheduledAction) SetResourceId(v string) *ScheduledAction { 5663 s.ResourceId = &v 5664 return s 5665 } 5666 5667 // SetScalableDimension sets the ScalableDimension field's value. 5668 func (s *ScheduledAction) SetScalableDimension(v string) *ScheduledAction { 5669 s.ScalableDimension = &v 5670 return s 5671 } 5672 5673 // SetScalableTargetAction sets the ScalableTargetAction field's value. 5674 func (s *ScheduledAction) SetScalableTargetAction(v *ScalableTargetAction) *ScheduledAction { 5675 s.ScalableTargetAction = v 5676 return s 5677 } 5678 5679 // SetSchedule sets the Schedule field's value. 5680 func (s *ScheduledAction) SetSchedule(v string) *ScheduledAction { 5681 s.Schedule = &v 5682 return s 5683 } 5684 5685 // SetScheduledActionARN sets the ScheduledActionARN field's value. 5686 func (s *ScheduledAction) SetScheduledActionARN(v string) *ScheduledAction { 5687 s.ScheduledActionARN = &v 5688 return s 5689 } 5690 5691 // SetScheduledActionName sets the ScheduledActionName field's value. 5692 func (s *ScheduledAction) SetScheduledActionName(v string) *ScheduledAction { 5693 s.ScheduledActionName = &v 5694 return s 5695 } 5696 5697 // SetServiceNamespace sets the ServiceNamespace field's value. 5698 func (s *ScheduledAction) SetServiceNamespace(v string) *ScheduledAction { 5699 s.ServiceNamespace = &v 5700 return s 5701 } 5702 5703 // SetStartTime sets the StartTime field's value. 5704 func (s *ScheduledAction) SetStartTime(v time.Time) *ScheduledAction { 5705 s.StartTime = &v 5706 return s 5707 } 5708 5709 // SetTimezone sets the Timezone field's value. 5710 func (s *ScheduledAction) SetTimezone(v string) *ScheduledAction { 5711 s.Timezone = &v 5712 return s 5713 } 5714 5715 // Represents a step adjustment for a StepScalingPolicyConfiguration (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepScalingPolicyConfiguration.html). 5716 // Describes an adjustment based on the difference between the value of the 5717 // aggregated CloudWatch metric and the breach threshold that you've defined 5718 // for the alarm. 5719 // 5720 // For the following examples, suppose that you have an alarm with a breach 5721 // threshold of 50: 5722 // 5723 // * To trigger the adjustment when the metric is greater than or equal to 5724 // 50 and less than 60, specify a lower bound of 0 and an upper bound of 5725 // 10. 5726 // 5727 // * To trigger the adjustment when the metric is greater than 40 and less 5728 // than or equal to 50, specify a lower bound of -10 and an upper bound of 5729 // 0. 5730 // 5731 // There are a few rules for the step adjustments for your step policy: 5732 // 5733 // * The ranges of your step adjustments can't overlap or have a gap. 5734 // 5735 // * At most one step adjustment can have a null lower bound. If one step 5736 // adjustment has a negative lower bound, then there must be a step adjustment 5737 // with a null lower bound. 5738 // 5739 // * At most one step adjustment can have a null upper bound. If one step 5740 // adjustment has a positive upper bound, then there must be a step adjustment 5741 // with a null upper bound. 5742 // 5743 // * The upper and lower bound can't be null in the same step adjustment. 5744 type StepAdjustment struct { 5745 _ struct{} `type:"structure"` 5746 5747 // The lower bound for the difference between the alarm threshold and the CloudWatch 5748 // metric. If the metric value is above the breach threshold, the lower bound 5749 // is inclusive (the metric must be greater than or equal to the threshold plus 5750 // the lower bound). Otherwise, it is exclusive (the metric must be greater 5751 // than the threshold plus the lower bound). A null value indicates negative 5752 // infinity. 5753 MetricIntervalLowerBound *float64 `type:"double"` 5754 5755 // The upper bound for the difference between the alarm threshold and the CloudWatch 5756 // metric. If the metric value is above the breach threshold, the upper bound 5757 // is exclusive (the metric must be less than the threshold plus the upper bound). 5758 // Otherwise, it is inclusive (the metric must be less than or equal to the 5759 // threshold plus the upper bound). A null value indicates positive infinity. 5760 // 5761 // The upper bound must be greater than the lower bound. 5762 MetricIntervalUpperBound *float64 `type:"double"` 5763 5764 // The amount by which to scale, based on the specified adjustment type. A positive 5765 // value adds to the current capacity while a negative number removes from the 5766 // current capacity. For exact capacity, you must specify a positive value. 5767 // 5768 // ScalingAdjustment is a required field 5769 ScalingAdjustment *int64 `type:"integer" required:"true"` 5770 } 5771 5772 // String returns the string representation. 5773 // 5774 // API parameter values that are decorated as "sensitive" in the API will not 5775 // be included in the string output. The member name will be present, but the 5776 // value will be replaced with "sensitive". 5777 func (s StepAdjustment) String() string { 5778 return awsutil.Prettify(s) 5779 } 5780 5781 // GoString returns the string representation. 5782 // 5783 // API parameter values that are decorated as "sensitive" in the API will not 5784 // be included in the string output. The member name will be present, but the 5785 // value will be replaced with "sensitive". 5786 func (s StepAdjustment) GoString() string { 5787 return s.String() 5788 } 5789 5790 // Validate inspects the fields of the type to determine if they are valid. 5791 func (s *StepAdjustment) Validate() error { 5792 invalidParams := request.ErrInvalidParams{Context: "StepAdjustment"} 5793 if s.ScalingAdjustment == nil { 5794 invalidParams.Add(request.NewErrParamRequired("ScalingAdjustment")) 5795 } 5796 5797 if invalidParams.Len() > 0 { 5798 return invalidParams 5799 } 5800 return nil 5801 } 5802 5803 // SetMetricIntervalLowerBound sets the MetricIntervalLowerBound field's value. 5804 func (s *StepAdjustment) SetMetricIntervalLowerBound(v float64) *StepAdjustment { 5805 s.MetricIntervalLowerBound = &v 5806 return s 5807 } 5808 5809 // SetMetricIntervalUpperBound sets the MetricIntervalUpperBound field's value. 5810 func (s *StepAdjustment) SetMetricIntervalUpperBound(v float64) *StepAdjustment { 5811 s.MetricIntervalUpperBound = &v 5812 return s 5813 } 5814 5815 // SetScalingAdjustment sets the ScalingAdjustment field's value. 5816 func (s *StepAdjustment) SetScalingAdjustment(v int64) *StepAdjustment { 5817 s.ScalingAdjustment = &v 5818 return s 5819 } 5820 5821 // Represents a step scaling policy configuration to use with Application Auto 5822 // Scaling. 5823 type StepScalingPolicyConfiguration struct { 5824 _ struct{} `type:"structure"` 5825 5826 // Specifies how the ScalingAdjustment value in a StepAdjustment (https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepAdjustment.html) 5827 // is interpreted (for example, an absolute number or a percentage). The valid 5828 // values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity. 5829 // 5830 // AdjustmentType is required if you are adding a new step scaling policy configuration. 5831 AdjustmentType *string `type:"string" enum:"AdjustmentType"` 5832 5833 // The amount of time, in seconds, to wait for a previous scaling activity to 5834 // take effect. 5835 // 5836 // With scale-out policies, the intention is to continuously (but not excessively) 5837 // scale out. After Application Auto Scaling successfully scales out using a 5838 // step scaling policy, it starts to calculate the cooldown time. The scaling 5839 // policy won't increase the desired capacity again unless either a larger scale 5840 // out is triggered or the cooldown period ends. While the cooldown period is 5841 // in effect, capacity added by the initiating scale-out activity is calculated 5842 // as part of the desired capacity for the next scale-out activity. For example, 5843 // when an alarm triggers a step scaling policy to increase the capacity by 5844 // 2, the scaling activity completes successfully, and a cooldown period starts. 5845 // If the alarm triggers again during the cooldown period but at a more aggressive 5846 // step adjustment of 3, the previous increase of 2 is considered part of the 5847 // current capacity. Therefore, only 1 is added to the capacity. 5848 // 5849 // With scale-in policies, the intention is to scale in conservatively to protect 5850 // your application’s availability, so scale-in activities are blocked until 5851 // the cooldown period has expired. However, if another alarm triggers a scale-out 5852 // activity during the cooldown period after a scale-in activity, Application 5853 // Auto Scaling scales out the target immediately. In this case, the cooldown 5854 // period for the scale-in activity stops and doesn't complete. 5855 // 5856 // Application Auto Scaling provides a default value of 600 for Amazon ElastiCache 5857 // replication groups and a default value of 300 for the following scalable 5858 // targets: 5859 // 5860 // * AppStream 2.0 fleets 5861 // 5862 // * Aurora DB clusters 5863 // 5864 // * ECS services 5865 // 5866 // * EMR clusters 5867 // 5868 // * Neptune clusters 5869 // 5870 // * SageMaker endpoint variants 5871 // 5872 // * Spot Fleets 5873 // 5874 // * Custom resources 5875 // 5876 // For all other scalable targets, the default value is 0: 5877 // 5878 // * Amazon Comprehend document classification and entity recognizer endpoints 5879 // 5880 // * DynamoDB tables and global secondary indexes 5881 // 5882 // * Amazon Keyspaces tables 5883 // 5884 // * Lambda provisioned concurrency 5885 // 5886 // * Amazon MSK broker storage 5887 Cooldown *int64 `type:"integer"` 5888 5889 // The aggregation type for the CloudWatch metrics. Valid values are Minimum, 5890 // Maximum, and Average. If the aggregation type is null, the value is treated 5891 // as Average. 5892 MetricAggregationType *string `type:"string" enum:"MetricAggregationType"` 5893 5894 // The minimum value to scale by when the adjustment type is PercentChangeInCapacity. 5895 // For example, suppose that you create a step scaling policy to scale out an 5896 // Amazon ECS service by 25 percent and you specify a MinAdjustmentMagnitude 5897 // of 2. If the service has 4 tasks and the scaling policy is performed, 25 5898 // percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude 5899 // of 2, Application Auto Scaling scales out the service by 2 tasks. 5900 MinAdjustmentMagnitude *int64 `type:"integer"` 5901 5902 // A set of adjustments that enable you to scale based on the size of the alarm 5903 // breach. 5904 // 5905 // At least one step adjustment is required if you are adding a new step scaling 5906 // policy configuration. 5907 StepAdjustments []*StepAdjustment `type:"list"` 5908 } 5909 5910 // String returns the string representation. 5911 // 5912 // API parameter values that are decorated as "sensitive" in the API will not 5913 // be included in the string output. The member name will be present, but the 5914 // value will be replaced with "sensitive". 5915 func (s StepScalingPolicyConfiguration) String() string { 5916 return awsutil.Prettify(s) 5917 } 5918 5919 // GoString returns the string representation. 5920 // 5921 // API parameter values that are decorated as "sensitive" in the API will not 5922 // be included in the string output. The member name will be present, but the 5923 // value will be replaced with "sensitive". 5924 func (s StepScalingPolicyConfiguration) GoString() string { 5925 return s.String() 5926 } 5927 5928 // Validate inspects the fields of the type to determine if they are valid. 5929 func (s *StepScalingPolicyConfiguration) Validate() error { 5930 invalidParams := request.ErrInvalidParams{Context: "StepScalingPolicyConfiguration"} 5931 if s.StepAdjustments != nil { 5932 for i, v := range s.StepAdjustments { 5933 if v == nil { 5934 continue 5935 } 5936 if err := v.Validate(); err != nil { 5937 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StepAdjustments", i), err.(request.ErrInvalidParams)) 5938 } 5939 } 5940 } 5941 5942 if invalidParams.Len() > 0 { 5943 return invalidParams 5944 } 5945 return nil 5946 } 5947 5948 // SetAdjustmentType sets the AdjustmentType field's value. 5949 func (s *StepScalingPolicyConfiguration) SetAdjustmentType(v string) *StepScalingPolicyConfiguration { 5950 s.AdjustmentType = &v 5951 return s 5952 } 5953 5954 // SetCooldown sets the Cooldown field's value. 5955 func (s *StepScalingPolicyConfiguration) SetCooldown(v int64) *StepScalingPolicyConfiguration { 5956 s.Cooldown = &v 5957 return s 5958 } 5959 5960 // SetMetricAggregationType sets the MetricAggregationType field's value. 5961 func (s *StepScalingPolicyConfiguration) SetMetricAggregationType(v string) *StepScalingPolicyConfiguration { 5962 s.MetricAggregationType = &v 5963 return s 5964 } 5965 5966 // SetMinAdjustmentMagnitude sets the MinAdjustmentMagnitude field's value. 5967 func (s *StepScalingPolicyConfiguration) SetMinAdjustmentMagnitude(v int64) *StepScalingPolicyConfiguration { 5968 s.MinAdjustmentMagnitude = &v 5969 return s 5970 } 5971 5972 // SetStepAdjustments sets the StepAdjustments field's value. 5973 func (s *StepScalingPolicyConfiguration) SetStepAdjustments(v []*StepAdjustment) *StepScalingPolicyConfiguration { 5974 s.StepAdjustments = v 5975 return s 5976 } 5977 5978 // Specifies whether the scaling activities for a scalable target are in a suspended 5979 // state. 5980 type SuspendedState struct { 5981 _ struct{} `type:"structure"` 5982 5983 // Whether scale in by a target tracking scaling policy or a step scaling policy 5984 // is suspended. Set the value to true if you don't want Application Auto Scaling 5985 // to remove capacity when a scaling policy is triggered. The default is false. 5986 DynamicScalingInSuspended *bool `type:"boolean"` 5987 5988 // Whether scale out by a target tracking scaling policy or a step scaling policy 5989 // is suspended. Set the value to true if you don't want Application Auto Scaling 5990 // to add capacity when a scaling policy is triggered. The default is false. 5991 DynamicScalingOutSuspended *bool `type:"boolean"` 5992 5993 // Whether scheduled scaling is suspended. Set the value to true if you don't 5994 // want Application Auto Scaling to add or remove capacity by initiating scheduled 5995 // actions. The default is false. 5996 ScheduledScalingSuspended *bool `type:"boolean"` 5997 } 5998 5999 // String returns the string representation. 6000 // 6001 // API parameter values that are decorated as "sensitive" in the API will not 6002 // be included in the string output. The member name will be present, but the 6003 // value will be replaced with "sensitive". 6004 func (s SuspendedState) String() string { 6005 return awsutil.Prettify(s) 6006 } 6007 6008 // GoString returns the string representation. 6009 // 6010 // API parameter values that are decorated as "sensitive" in the API will not 6011 // be included in the string output. The member name will be present, but the 6012 // value will be replaced with "sensitive". 6013 func (s SuspendedState) GoString() string { 6014 return s.String() 6015 } 6016 6017 // SetDynamicScalingInSuspended sets the DynamicScalingInSuspended field's value. 6018 func (s *SuspendedState) SetDynamicScalingInSuspended(v bool) *SuspendedState { 6019 s.DynamicScalingInSuspended = &v 6020 return s 6021 } 6022 6023 // SetDynamicScalingOutSuspended sets the DynamicScalingOutSuspended field's value. 6024 func (s *SuspendedState) SetDynamicScalingOutSuspended(v bool) *SuspendedState { 6025 s.DynamicScalingOutSuspended = &v 6026 return s 6027 } 6028 6029 // SetScheduledScalingSuspended sets the ScheduledScalingSuspended field's value. 6030 func (s *SuspendedState) SetScheduledScalingSuspended(v bool) *SuspendedState { 6031 s.ScheduledScalingSuspended = &v 6032 return s 6033 } 6034 6035 // Represents a target tracking scaling policy configuration to use with Application 6036 // Auto Scaling. 6037 type TargetTrackingScalingPolicyConfiguration struct { 6038 _ struct{} `type:"structure"` 6039 6040 // A customized metric. You can specify either a predefined metric or a customized 6041 // metric. 6042 CustomizedMetricSpecification *CustomizedMetricSpecification `type:"structure"` 6043 6044 // Indicates whether scale in by the target tracking scaling policy is disabled. 6045 // If the value is true, scale in is disabled and the target tracking scaling 6046 // policy won't remove capacity from the scalable target. Otherwise, scale in 6047 // is enabled and the target tracking scaling policy can remove capacity from 6048 // the scalable target. The default value is false. 6049 DisableScaleIn *bool `type:"boolean"` 6050 6051 // A predefined metric. You can specify either a predefined metric or a customized 6052 // metric. 6053 PredefinedMetricSpecification *PredefinedMetricSpecification `type:"structure"` 6054 6055 // The amount of time, in seconds, after a scale-in activity completes before 6056 // another scale-in activity can start. 6057 // 6058 // With the scale-in cooldown period, the intention is to scale in conservatively 6059 // to protect your application’s availability, so scale-in activities are 6060 // blocked until the cooldown period has expired. However, if another alarm 6061 // triggers a scale-out activity during the scale-in cooldown period, Application 6062 // Auto Scaling scales out the target immediately. In this case, the scale-in 6063 // cooldown period stops and doesn't complete. 6064 // 6065 // Application Auto Scaling provides a default value of 600 for Amazon ElastiCache 6066 // replication groups and a default value of 300 for the following scalable 6067 // targets: 6068 // 6069 // * AppStream 2.0 fleets 6070 // 6071 // * Aurora DB clusters 6072 // 6073 // * ECS services 6074 // 6075 // * EMR clusters 6076 // 6077 // * Neptune clusters 6078 // 6079 // * SageMaker endpoint variants 6080 // 6081 // * Spot Fleets 6082 // 6083 // * Custom resources 6084 // 6085 // For all other scalable targets, the default value is 0: 6086 // 6087 // * Amazon Comprehend document classification and entity recognizer endpoints 6088 // 6089 // * DynamoDB tables and global secondary indexes 6090 // 6091 // * Amazon Keyspaces tables 6092 // 6093 // * Lambda provisioned concurrency 6094 // 6095 // * Amazon MSK broker storage 6096 ScaleInCooldown *int64 `type:"integer"` 6097 6098 // The amount of time, in seconds, to wait for a previous scale-out activity 6099 // to take effect. 6100 // 6101 // With the scale-out cooldown period, the intention is to continuously (but 6102 // not excessively) scale out. After Application Auto Scaling successfully scales 6103 // out using a target tracking scaling policy, it starts to calculate the cooldown 6104 // time. The scaling policy won't increase the desired capacity again unless 6105 // either a larger scale out is triggered or the cooldown period ends. While 6106 // the cooldown period is in effect, the capacity added by the initiating scale-out 6107 // activity is calculated as part of the desired capacity for the next scale-out 6108 // activity. 6109 // 6110 // Application Auto Scaling provides a default value of 600 for Amazon ElastiCache 6111 // replication groups and a default value of 300 for the following scalable 6112 // targets: 6113 // 6114 // * AppStream 2.0 fleets 6115 // 6116 // * Aurora DB clusters 6117 // 6118 // * ECS services 6119 // 6120 // * EMR clusters 6121 // 6122 // * Neptune clusters 6123 // 6124 // * SageMaker endpoint variants 6125 // 6126 // * Spot Fleets 6127 // 6128 // * Custom resources 6129 // 6130 // For all other scalable targets, the default value is 0: 6131 // 6132 // * Amazon Comprehend document classification and entity recognizer endpoints 6133 // 6134 // * DynamoDB tables and global secondary indexes 6135 // 6136 // * Amazon Keyspaces tables 6137 // 6138 // * Lambda provisioned concurrency 6139 // 6140 // * Amazon MSK broker storage 6141 ScaleOutCooldown *int64 `type:"integer"` 6142 6143 // The target value for the metric. Although this property accepts numbers of 6144 // type Double, it won't accept values that are either too small or too large. 6145 // Values must be in the range of -2^360 to 2^360. The value must be a valid 6146 // number based on the choice of metric. For example, if the metric is CPU utilization, 6147 // then the target value is a percent value that represents how much of the 6148 // CPU can be used before scaling out. 6149 // 6150 // TargetValue is a required field 6151 TargetValue *float64 `type:"double" required:"true"` 6152 } 6153 6154 // String returns the string representation. 6155 // 6156 // API parameter values that are decorated as "sensitive" in the API will not 6157 // be included in the string output. The member name will be present, but the 6158 // value will be replaced with "sensitive". 6159 func (s TargetTrackingScalingPolicyConfiguration) String() string { 6160 return awsutil.Prettify(s) 6161 } 6162 6163 // GoString returns the string representation. 6164 // 6165 // API parameter values that are decorated as "sensitive" in the API will not 6166 // be included in the string output. The member name will be present, but the 6167 // value will be replaced with "sensitive". 6168 func (s TargetTrackingScalingPolicyConfiguration) GoString() string { 6169 return s.String() 6170 } 6171 6172 // Validate inspects the fields of the type to determine if they are valid. 6173 func (s *TargetTrackingScalingPolicyConfiguration) Validate() error { 6174 invalidParams := request.ErrInvalidParams{Context: "TargetTrackingScalingPolicyConfiguration"} 6175 if s.TargetValue == nil { 6176 invalidParams.Add(request.NewErrParamRequired("TargetValue")) 6177 } 6178 if s.CustomizedMetricSpecification != nil { 6179 if err := s.CustomizedMetricSpecification.Validate(); err != nil { 6180 invalidParams.AddNested("CustomizedMetricSpecification", err.(request.ErrInvalidParams)) 6181 } 6182 } 6183 if s.PredefinedMetricSpecification != nil { 6184 if err := s.PredefinedMetricSpecification.Validate(); err != nil { 6185 invalidParams.AddNested("PredefinedMetricSpecification", err.(request.ErrInvalidParams)) 6186 } 6187 } 6188 6189 if invalidParams.Len() > 0 { 6190 return invalidParams 6191 } 6192 return nil 6193 } 6194 6195 // SetCustomizedMetricSpecification sets the CustomizedMetricSpecification field's value. 6196 func (s *TargetTrackingScalingPolicyConfiguration) SetCustomizedMetricSpecification(v *CustomizedMetricSpecification) *TargetTrackingScalingPolicyConfiguration { 6197 s.CustomizedMetricSpecification = v 6198 return s 6199 } 6200 6201 // SetDisableScaleIn sets the DisableScaleIn field's value. 6202 func (s *TargetTrackingScalingPolicyConfiguration) SetDisableScaleIn(v bool) *TargetTrackingScalingPolicyConfiguration { 6203 s.DisableScaleIn = &v 6204 return s 6205 } 6206 6207 // SetPredefinedMetricSpecification sets the PredefinedMetricSpecification field's value. 6208 func (s *TargetTrackingScalingPolicyConfiguration) SetPredefinedMetricSpecification(v *PredefinedMetricSpecification) *TargetTrackingScalingPolicyConfiguration { 6209 s.PredefinedMetricSpecification = v 6210 return s 6211 } 6212 6213 // SetScaleInCooldown sets the ScaleInCooldown field's value. 6214 func (s *TargetTrackingScalingPolicyConfiguration) SetScaleInCooldown(v int64) *TargetTrackingScalingPolicyConfiguration { 6215 s.ScaleInCooldown = &v 6216 return s 6217 } 6218 6219 // SetScaleOutCooldown sets the ScaleOutCooldown field's value. 6220 func (s *TargetTrackingScalingPolicyConfiguration) SetScaleOutCooldown(v int64) *TargetTrackingScalingPolicyConfiguration { 6221 s.ScaleOutCooldown = &v 6222 return s 6223 } 6224 6225 // SetTargetValue sets the TargetValue field's value. 6226 func (s *TargetTrackingScalingPolicyConfiguration) SetTargetValue(v float64) *TargetTrackingScalingPolicyConfiguration { 6227 s.TargetValue = &v 6228 return s 6229 } 6230 6231 // An exception was thrown for a validation issue. Review the available parameters 6232 // for the API request. 6233 type ValidationException struct { 6234 _ struct{} `type:"structure"` 6235 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6236 6237 Message_ *string `locationName:"Message" type:"string"` 6238 } 6239 6240 // String returns the string representation. 6241 // 6242 // API parameter values that are decorated as "sensitive" in the API will not 6243 // be included in the string output. The member name will be present, but the 6244 // value will be replaced with "sensitive". 6245 func (s ValidationException) String() string { 6246 return awsutil.Prettify(s) 6247 } 6248 6249 // GoString returns the string representation. 6250 // 6251 // API parameter values that are decorated as "sensitive" in the API will not 6252 // be included in the string output. The member name will be present, but the 6253 // value will be replaced with "sensitive". 6254 func (s ValidationException) GoString() string { 6255 return s.String() 6256 } 6257 6258 func newErrorValidationException(v protocol.ResponseMetadata) error { 6259 return &ValidationException{ 6260 RespMetadata: v, 6261 } 6262 } 6263 6264 // Code returns the exception type name. 6265 func (s *ValidationException) Code() string { 6266 return "ValidationException" 6267 } 6268 6269 // Message returns the exception's message. 6270 func (s *ValidationException) Message() string { 6271 if s.Message_ != nil { 6272 return *s.Message_ 6273 } 6274 return "" 6275 } 6276 6277 // OrigErr always returns nil, satisfies awserr.Error interface. 6278 func (s *ValidationException) OrigErr() error { 6279 return nil 6280 } 6281 6282 func (s *ValidationException) Error() string { 6283 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6284 } 6285 6286 // Status code returns the HTTP status code for the request's response error. 6287 func (s *ValidationException) StatusCode() int { 6288 return s.RespMetadata.StatusCode 6289 } 6290 6291 // RequestID returns the service's response RequestID for request. 6292 func (s *ValidationException) RequestID() string { 6293 return s.RespMetadata.RequestID 6294 } 6295 6296 const ( 6297 // AdjustmentTypeChangeInCapacity is a AdjustmentType enum value 6298 AdjustmentTypeChangeInCapacity = "ChangeInCapacity" 6299 6300 // AdjustmentTypePercentChangeInCapacity is a AdjustmentType enum value 6301 AdjustmentTypePercentChangeInCapacity = "PercentChangeInCapacity" 6302 6303 // AdjustmentTypeExactCapacity is a AdjustmentType enum value 6304 AdjustmentTypeExactCapacity = "ExactCapacity" 6305 ) 6306 6307 // AdjustmentType_Values returns all elements of the AdjustmentType enum 6308 func AdjustmentType_Values() []string { 6309 return []string{ 6310 AdjustmentTypeChangeInCapacity, 6311 AdjustmentTypePercentChangeInCapacity, 6312 AdjustmentTypeExactCapacity, 6313 } 6314 } 6315 6316 const ( 6317 // MetricAggregationTypeAverage is a MetricAggregationType enum value 6318 MetricAggregationTypeAverage = "Average" 6319 6320 // MetricAggregationTypeMinimum is a MetricAggregationType enum value 6321 MetricAggregationTypeMinimum = "Minimum" 6322 6323 // MetricAggregationTypeMaximum is a MetricAggregationType enum value 6324 MetricAggregationTypeMaximum = "Maximum" 6325 ) 6326 6327 // MetricAggregationType_Values returns all elements of the MetricAggregationType enum 6328 func MetricAggregationType_Values() []string { 6329 return []string{ 6330 MetricAggregationTypeAverage, 6331 MetricAggregationTypeMinimum, 6332 MetricAggregationTypeMaximum, 6333 } 6334 } 6335 6336 const ( 6337 // MetricStatisticAverage is a MetricStatistic enum value 6338 MetricStatisticAverage = "Average" 6339 6340 // MetricStatisticMinimum is a MetricStatistic enum value 6341 MetricStatisticMinimum = "Minimum" 6342 6343 // MetricStatisticMaximum is a MetricStatistic enum value 6344 MetricStatisticMaximum = "Maximum" 6345 6346 // MetricStatisticSampleCount is a MetricStatistic enum value 6347 MetricStatisticSampleCount = "SampleCount" 6348 6349 // MetricStatisticSum is a MetricStatistic enum value 6350 MetricStatisticSum = "Sum" 6351 ) 6352 6353 // MetricStatistic_Values returns all elements of the MetricStatistic enum 6354 func MetricStatistic_Values() []string { 6355 return []string{ 6356 MetricStatisticAverage, 6357 MetricStatisticMinimum, 6358 MetricStatisticMaximum, 6359 MetricStatisticSampleCount, 6360 MetricStatisticSum, 6361 } 6362 } 6363 6364 const ( 6365 // MetricTypeDynamoDbreadCapacityUtilization is a MetricType enum value 6366 MetricTypeDynamoDbreadCapacityUtilization = "DynamoDBReadCapacityUtilization" 6367 6368 // MetricTypeDynamoDbwriteCapacityUtilization is a MetricType enum value 6369 MetricTypeDynamoDbwriteCapacityUtilization = "DynamoDBWriteCapacityUtilization" 6370 6371 // MetricTypeAlbrequestCountPerTarget is a MetricType enum value 6372 MetricTypeAlbrequestCountPerTarget = "ALBRequestCountPerTarget" 6373 6374 // MetricTypeRdsreaderAverageCpuutilization is a MetricType enum value 6375 MetricTypeRdsreaderAverageCpuutilization = "RDSReaderAverageCPUUtilization" 6376 6377 // MetricTypeRdsreaderAverageDatabaseConnections is a MetricType enum value 6378 MetricTypeRdsreaderAverageDatabaseConnections = "RDSReaderAverageDatabaseConnections" 6379 6380 // MetricTypeEc2spotFleetRequestAverageCpuutilization is a MetricType enum value 6381 MetricTypeEc2spotFleetRequestAverageCpuutilization = "EC2SpotFleetRequestAverageCPUUtilization" 6382 6383 // MetricTypeEc2spotFleetRequestAverageNetworkIn is a MetricType enum value 6384 MetricTypeEc2spotFleetRequestAverageNetworkIn = "EC2SpotFleetRequestAverageNetworkIn" 6385 6386 // MetricTypeEc2spotFleetRequestAverageNetworkOut is a MetricType enum value 6387 MetricTypeEc2spotFleetRequestAverageNetworkOut = "EC2SpotFleetRequestAverageNetworkOut" 6388 6389 // MetricTypeSageMakerVariantInvocationsPerInstance is a MetricType enum value 6390 MetricTypeSageMakerVariantInvocationsPerInstance = "SageMakerVariantInvocationsPerInstance" 6391 6392 // MetricTypeEcsserviceAverageCpuutilization is a MetricType enum value 6393 MetricTypeEcsserviceAverageCpuutilization = "ECSServiceAverageCPUUtilization" 6394 6395 // MetricTypeEcsserviceAverageMemoryUtilization is a MetricType enum value 6396 MetricTypeEcsserviceAverageMemoryUtilization = "ECSServiceAverageMemoryUtilization" 6397 6398 // MetricTypeAppStreamAverageCapacityUtilization is a MetricType enum value 6399 MetricTypeAppStreamAverageCapacityUtilization = "AppStreamAverageCapacityUtilization" 6400 6401 // MetricTypeComprehendInferenceUtilization is a MetricType enum value 6402 MetricTypeComprehendInferenceUtilization = "ComprehendInferenceUtilization" 6403 6404 // MetricTypeLambdaProvisionedConcurrencyUtilization is a MetricType enum value 6405 MetricTypeLambdaProvisionedConcurrencyUtilization = "LambdaProvisionedConcurrencyUtilization" 6406 6407 // MetricTypeCassandraReadCapacityUtilization is a MetricType enum value 6408 MetricTypeCassandraReadCapacityUtilization = "CassandraReadCapacityUtilization" 6409 6410 // MetricTypeCassandraWriteCapacityUtilization is a MetricType enum value 6411 MetricTypeCassandraWriteCapacityUtilization = "CassandraWriteCapacityUtilization" 6412 6413 // MetricTypeKafkaBrokerStorageUtilization is a MetricType enum value 6414 MetricTypeKafkaBrokerStorageUtilization = "KafkaBrokerStorageUtilization" 6415 6416 // MetricTypeElastiCachePrimaryEngineCpuutilization is a MetricType enum value 6417 MetricTypeElastiCachePrimaryEngineCpuutilization = "ElastiCachePrimaryEngineCPUUtilization" 6418 6419 // MetricTypeElastiCacheReplicaEngineCpuutilization is a MetricType enum value 6420 MetricTypeElastiCacheReplicaEngineCpuutilization = "ElastiCacheReplicaEngineCPUUtilization" 6421 6422 // MetricTypeElastiCacheDatabaseMemoryUsageCountedForEvictPercentage is a MetricType enum value 6423 MetricTypeElastiCacheDatabaseMemoryUsageCountedForEvictPercentage = "ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage" 6424 6425 // MetricTypeNeptuneReaderAverageCpuutilization is a MetricType enum value 6426 MetricTypeNeptuneReaderAverageCpuutilization = "NeptuneReaderAverageCPUUtilization" 6427 ) 6428 6429 // MetricType_Values returns all elements of the MetricType enum 6430 func MetricType_Values() []string { 6431 return []string{ 6432 MetricTypeDynamoDbreadCapacityUtilization, 6433 MetricTypeDynamoDbwriteCapacityUtilization, 6434 MetricTypeAlbrequestCountPerTarget, 6435 MetricTypeRdsreaderAverageCpuutilization, 6436 MetricTypeRdsreaderAverageDatabaseConnections, 6437 MetricTypeEc2spotFleetRequestAverageCpuutilization, 6438 MetricTypeEc2spotFleetRequestAverageNetworkIn, 6439 MetricTypeEc2spotFleetRequestAverageNetworkOut, 6440 MetricTypeSageMakerVariantInvocationsPerInstance, 6441 MetricTypeEcsserviceAverageCpuutilization, 6442 MetricTypeEcsserviceAverageMemoryUtilization, 6443 MetricTypeAppStreamAverageCapacityUtilization, 6444 MetricTypeComprehendInferenceUtilization, 6445 MetricTypeLambdaProvisionedConcurrencyUtilization, 6446 MetricTypeCassandraReadCapacityUtilization, 6447 MetricTypeCassandraWriteCapacityUtilization, 6448 MetricTypeKafkaBrokerStorageUtilization, 6449 MetricTypeElastiCachePrimaryEngineCpuutilization, 6450 MetricTypeElastiCacheReplicaEngineCpuutilization, 6451 MetricTypeElastiCacheDatabaseMemoryUsageCountedForEvictPercentage, 6452 MetricTypeNeptuneReaderAverageCpuutilization, 6453 } 6454 } 6455 6456 const ( 6457 // PolicyTypeStepScaling is a PolicyType enum value 6458 PolicyTypeStepScaling = "StepScaling" 6459 6460 // PolicyTypeTargetTrackingScaling is a PolicyType enum value 6461 PolicyTypeTargetTrackingScaling = "TargetTrackingScaling" 6462 ) 6463 6464 // PolicyType_Values returns all elements of the PolicyType enum 6465 func PolicyType_Values() []string { 6466 return []string{ 6467 PolicyTypeStepScaling, 6468 PolicyTypeTargetTrackingScaling, 6469 } 6470 } 6471 6472 const ( 6473 // ScalableDimensionEcsServiceDesiredCount is a ScalableDimension enum value 6474 ScalableDimensionEcsServiceDesiredCount = "ecs:service:DesiredCount" 6475 6476 // ScalableDimensionEc2SpotFleetRequestTargetCapacity is a ScalableDimension enum value 6477 ScalableDimensionEc2SpotFleetRequestTargetCapacity = "ec2:spot-fleet-request:TargetCapacity" 6478 6479 // ScalableDimensionElasticmapreduceInstancegroupInstanceCount is a ScalableDimension enum value 6480 ScalableDimensionElasticmapreduceInstancegroupInstanceCount = "elasticmapreduce:instancegroup:InstanceCount" 6481 6482 // ScalableDimensionAppstreamFleetDesiredCapacity is a ScalableDimension enum value 6483 ScalableDimensionAppstreamFleetDesiredCapacity = "appstream:fleet:DesiredCapacity" 6484 6485 // ScalableDimensionDynamodbTableReadCapacityUnits is a ScalableDimension enum value 6486 ScalableDimensionDynamodbTableReadCapacityUnits = "dynamodb:table:ReadCapacityUnits" 6487 6488 // ScalableDimensionDynamodbTableWriteCapacityUnits is a ScalableDimension enum value 6489 ScalableDimensionDynamodbTableWriteCapacityUnits = "dynamodb:table:WriteCapacityUnits" 6490 6491 // ScalableDimensionDynamodbIndexReadCapacityUnits is a ScalableDimension enum value 6492 ScalableDimensionDynamodbIndexReadCapacityUnits = "dynamodb:index:ReadCapacityUnits" 6493 6494 // ScalableDimensionDynamodbIndexWriteCapacityUnits is a ScalableDimension enum value 6495 ScalableDimensionDynamodbIndexWriteCapacityUnits = "dynamodb:index:WriteCapacityUnits" 6496 6497 // ScalableDimensionRdsClusterReadReplicaCount is a ScalableDimension enum value 6498 ScalableDimensionRdsClusterReadReplicaCount = "rds:cluster:ReadReplicaCount" 6499 6500 // ScalableDimensionSagemakerVariantDesiredInstanceCount is a ScalableDimension enum value 6501 ScalableDimensionSagemakerVariantDesiredInstanceCount = "sagemaker:variant:DesiredInstanceCount" 6502 6503 // ScalableDimensionCustomResourceResourceTypeProperty is a ScalableDimension enum value 6504 ScalableDimensionCustomResourceResourceTypeProperty = "custom-resource:ResourceType:Property" 6505 6506 // ScalableDimensionComprehendDocumentClassifierEndpointDesiredInferenceUnits is a ScalableDimension enum value 6507 ScalableDimensionComprehendDocumentClassifierEndpointDesiredInferenceUnits = "comprehend:document-classifier-endpoint:DesiredInferenceUnits" 6508 6509 // ScalableDimensionComprehendEntityRecognizerEndpointDesiredInferenceUnits is a ScalableDimension enum value 6510 ScalableDimensionComprehendEntityRecognizerEndpointDesiredInferenceUnits = "comprehend:entity-recognizer-endpoint:DesiredInferenceUnits" 6511 6512 // ScalableDimensionLambdaFunctionProvisionedConcurrency is a ScalableDimension enum value 6513 ScalableDimensionLambdaFunctionProvisionedConcurrency = "lambda:function:ProvisionedConcurrency" 6514 6515 // ScalableDimensionCassandraTableReadCapacityUnits is a ScalableDimension enum value 6516 ScalableDimensionCassandraTableReadCapacityUnits = "cassandra:table:ReadCapacityUnits" 6517 6518 // ScalableDimensionCassandraTableWriteCapacityUnits is a ScalableDimension enum value 6519 ScalableDimensionCassandraTableWriteCapacityUnits = "cassandra:table:WriteCapacityUnits" 6520 6521 // ScalableDimensionKafkaBrokerStorageVolumeSize is a ScalableDimension enum value 6522 ScalableDimensionKafkaBrokerStorageVolumeSize = "kafka:broker-storage:VolumeSize" 6523 6524 // ScalableDimensionElasticacheReplicationGroupNodeGroups is a ScalableDimension enum value 6525 ScalableDimensionElasticacheReplicationGroupNodeGroups = "elasticache:replication-group:NodeGroups" 6526 6527 // ScalableDimensionElasticacheReplicationGroupReplicas is a ScalableDimension enum value 6528 ScalableDimensionElasticacheReplicationGroupReplicas = "elasticache:replication-group:Replicas" 6529 6530 // ScalableDimensionNeptuneClusterReadReplicaCount is a ScalableDimension enum value 6531 ScalableDimensionNeptuneClusterReadReplicaCount = "neptune:cluster:ReadReplicaCount" 6532 ) 6533 6534 // ScalableDimension_Values returns all elements of the ScalableDimension enum 6535 func ScalableDimension_Values() []string { 6536 return []string{ 6537 ScalableDimensionEcsServiceDesiredCount, 6538 ScalableDimensionEc2SpotFleetRequestTargetCapacity, 6539 ScalableDimensionElasticmapreduceInstancegroupInstanceCount, 6540 ScalableDimensionAppstreamFleetDesiredCapacity, 6541 ScalableDimensionDynamodbTableReadCapacityUnits, 6542 ScalableDimensionDynamodbTableWriteCapacityUnits, 6543 ScalableDimensionDynamodbIndexReadCapacityUnits, 6544 ScalableDimensionDynamodbIndexWriteCapacityUnits, 6545 ScalableDimensionRdsClusterReadReplicaCount, 6546 ScalableDimensionSagemakerVariantDesiredInstanceCount, 6547 ScalableDimensionCustomResourceResourceTypeProperty, 6548 ScalableDimensionComprehendDocumentClassifierEndpointDesiredInferenceUnits, 6549 ScalableDimensionComprehendEntityRecognizerEndpointDesiredInferenceUnits, 6550 ScalableDimensionLambdaFunctionProvisionedConcurrency, 6551 ScalableDimensionCassandraTableReadCapacityUnits, 6552 ScalableDimensionCassandraTableWriteCapacityUnits, 6553 ScalableDimensionKafkaBrokerStorageVolumeSize, 6554 ScalableDimensionElasticacheReplicationGroupNodeGroups, 6555 ScalableDimensionElasticacheReplicationGroupReplicas, 6556 ScalableDimensionNeptuneClusterReadReplicaCount, 6557 } 6558 } 6559 6560 const ( 6561 // ScalingActivityStatusCodePending is a ScalingActivityStatusCode enum value 6562 ScalingActivityStatusCodePending = "Pending" 6563 6564 // ScalingActivityStatusCodeInProgress is a ScalingActivityStatusCode enum value 6565 ScalingActivityStatusCodeInProgress = "InProgress" 6566 6567 // ScalingActivityStatusCodeSuccessful is a ScalingActivityStatusCode enum value 6568 ScalingActivityStatusCodeSuccessful = "Successful" 6569 6570 // ScalingActivityStatusCodeOverridden is a ScalingActivityStatusCode enum value 6571 ScalingActivityStatusCodeOverridden = "Overridden" 6572 6573 // ScalingActivityStatusCodeUnfulfilled is a ScalingActivityStatusCode enum value 6574 ScalingActivityStatusCodeUnfulfilled = "Unfulfilled" 6575 6576 // ScalingActivityStatusCodeFailed is a ScalingActivityStatusCode enum value 6577 ScalingActivityStatusCodeFailed = "Failed" 6578 ) 6579 6580 // ScalingActivityStatusCode_Values returns all elements of the ScalingActivityStatusCode enum 6581 func ScalingActivityStatusCode_Values() []string { 6582 return []string{ 6583 ScalingActivityStatusCodePending, 6584 ScalingActivityStatusCodeInProgress, 6585 ScalingActivityStatusCodeSuccessful, 6586 ScalingActivityStatusCodeOverridden, 6587 ScalingActivityStatusCodeUnfulfilled, 6588 ScalingActivityStatusCodeFailed, 6589 } 6590 } 6591 6592 const ( 6593 // ServiceNamespaceEcs is a ServiceNamespace enum value 6594 ServiceNamespaceEcs = "ecs" 6595 6596 // ServiceNamespaceElasticmapreduce is a ServiceNamespace enum value 6597 ServiceNamespaceElasticmapreduce = "elasticmapreduce" 6598 6599 // ServiceNamespaceEc2 is a ServiceNamespace enum value 6600 ServiceNamespaceEc2 = "ec2" 6601 6602 // ServiceNamespaceAppstream is a ServiceNamespace enum value 6603 ServiceNamespaceAppstream = "appstream" 6604 6605 // ServiceNamespaceDynamodb is a ServiceNamespace enum value 6606 ServiceNamespaceDynamodb = "dynamodb" 6607 6608 // ServiceNamespaceRds is a ServiceNamespace enum value 6609 ServiceNamespaceRds = "rds" 6610 6611 // ServiceNamespaceSagemaker is a ServiceNamespace enum value 6612 ServiceNamespaceSagemaker = "sagemaker" 6613 6614 // ServiceNamespaceCustomResource is a ServiceNamespace enum value 6615 ServiceNamespaceCustomResource = "custom-resource" 6616 6617 // ServiceNamespaceComprehend is a ServiceNamespace enum value 6618 ServiceNamespaceComprehend = "comprehend" 6619 6620 // ServiceNamespaceLambda is a ServiceNamespace enum value 6621 ServiceNamespaceLambda = "lambda" 6622 6623 // ServiceNamespaceCassandra is a ServiceNamespace enum value 6624 ServiceNamespaceCassandra = "cassandra" 6625 6626 // ServiceNamespaceKafka is a ServiceNamespace enum value 6627 ServiceNamespaceKafka = "kafka" 6628 6629 // ServiceNamespaceElasticache is a ServiceNamespace enum value 6630 ServiceNamespaceElasticache = "elasticache" 6631 6632 // ServiceNamespaceNeptune is a ServiceNamespace enum value 6633 ServiceNamespaceNeptune = "neptune" 6634 ) 6635 6636 // ServiceNamespace_Values returns all elements of the ServiceNamespace enum 6637 func ServiceNamespace_Values() []string { 6638 return []string{ 6639 ServiceNamespaceEcs, 6640 ServiceNamespaceElasticmapreduce, 6641 ServiceNamespaceEc2, 6642 ServiceNamespaceAppstream, 6643 ServiceNamespaceDynamodb, 6644 ServiceNamespaceRds, 6645 ServiceNamespaceSagemaker, 6646 ServiceNamespaceCustomResource, 6647 ServiceNamespaceComprehend, 6648 ServiceNamespaceLambda, 6649 ServiceNamespaceCassandra, 6650 ServiceNamespaceKafka, 6651 ServiceNamespaceElasticache, 6652 ServiceNamespaceNeptune, 6653 } 6654 }