1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package autoscalingplans 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" 14) 15 16const opCreateScalingPlan = "CreateScalingPlan" 17 18// CreateScalingPlanRequest generates a "aws/request.Request" representing the 19// client's request for the CreateScalingPlan 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 CreateScalingPlan for more information on using the CreateScalingPlan 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 CreateScalingPlanRequest method. 34// req, resp := client.CreateScalingPlanRequest(params) 35// 36// err := req.Send() 37// if err == nil { // resp is now filled 38// fmt.Println(resp) 39// } 40// 41// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/CreateScalingPlan 42func (c *AutoScalingPlans) CreateScalingPlanRequest(input *CreateScalingPlanInput) (req *request.Request, output *CreateScalingPlanOutput) { 43 op := &request.Operation{ 44 Name: opCreateScalingPlan, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &CreateScalingPlanInput{} 51 } 52 53 output = &CreateScalingPlanOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// CreateScalingPlan API operation for AWS Auto Scaling Plans. 59// 60// Creates a scaling plan. 61// 62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 63// with awserr.Error's Code and Message methods to get detailed information about 64// the error. 65// 66// See the AWS API reference guide for AWS Auto Scaling Plans's 67// API operation CreateScalingPlan for usage and error information. 68// 69// Returned Error Types: 70// * ValidationException 71// An exception was thrown for a validation issue. Review the parameters provided. 72// 73// * LimitExceededException 74// Your account exceeded a limit. This exception is thrown when a per-account 75// resource limit is exceeded. 76// 77// * ConcurrentUpdateException 78// Concurrent updates caused an exception, for example, if you request an update 79// to a scaling plan that already has a pending update. 80// 81// * InternalServiceException 82// The service encountered an internal error. 83// 84// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/CreateScalingPlan 85func (c *AutoScalingPlans) CreateScalingPlan(input *CreateScalingPlanInput) (*CreateScalingPlanOutput, error) { 86 req, out := c.CreateScalingPlanRequest(input) 87 return out, req.Send() 88} 89 90// CreateScalingPlanWithContext is the same as CreateScalingPlan with the addition of 91// the ability to pass a context and additional request options. 92// 93// See CreateScalingPlan for details on how to use this API operation. 94// 95// The context must be non-nil and will be used for request cancellation. If 96// the context is nil a panic will occur. In the future the SDK may create 97// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 98// for more information on using Contexts. 99func (c *AutoScalingPlans) CreateScalingPlanWithContext(ctx aws.Context, input *CreateScalingPlanInput, opts ...request.Option) (*CreateScalingPlanOutput, error) { 100 req, out := c.CreateScalingPlanRequest(input) 101 req.SetContext(ctx) 102 req.ApplyOptions(opts...) 103 return out, req.Send() 104} 105 106const opDeleteScalingPlan = "DeleteScalingPlan" 107 108// DeleteScalingPlanRequest generates a "aws/request.Request" representing the 109// client's request for the DeleteScalingPlan operation. The "output" return 110// value will be populated with the request's response once the request completes 111// successfully. 112// 113// Use "Send" method on the returned Request to send the API call to the service. 114// the "output" return value is not valid until after Send returns without error. 115// 116// See DeleteScalingPlan for more information on using the DeleteScalingPlan 117// API call, and error handling. 118// 119// This method is useful when you want to inject custom logic or configuration 120// into the SDK's request lifecycle. Such as custom headers, or retry logic. 121// 122// 123// // Example sending a request using the DeleteScalingPlanRequest method. 124// req, resp := client.DeleteScalingPlanRequest(params) 125// 126// err := req.Send() 127// if err == nil { // resp is now filled 128// fmt.Println(resp) 129// } 130// 131// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/DeleteScalingPlan 132func (c *AutoScalingPlans) DeleteScalingPlanRequest(input *DeleteScalingPlanInput) (req *request.Request, output *DeleteScalingPlanOutput) { 133 op := &request.Operation{ 134 Name: opDeleteScalingPlan, 135 HTTPMethod: "POST", 136 HTTPPath: "/", 137 } 138 139 if input == nil { 140 input = &DeleteScalingPlanInput{} 141 } 142 143 output = &DeleteScalingPlanOutput{} 144 req = c.newRequest(op, input, output) 145 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 146 return 147} 148 149// DeleteScalingPlan API operation for AWS Auto Scaling Plans. 150// 151// Deletes the specified scaling plan. 152// 153// Deleting a scaling plan deletes the underlying ScalingInstruction for all 154// of the scalable resources that are covered by the plan. 155// 156// If the plan has launched resources or has scaling activities in progress, 157// you must delete those resources separately. 158// 159// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 160// with awserr.Error's Code and Message methods to get detailed information about 161// the error. 162// 163// See the AWS API reference guide for AWS Auto Scaling Plans's 164// API operation DeleteScalingPlan for usage and error information. 165// 166// Returned Error Types: 167// * ValidationException 168// An exception was thrown for a validation issue. Review the parameters provided. 169// 170// * ObjectNotFoundException 171// The specified object could not be found. 172// 173// * ConcurrentUpdateException 174// Concurrent updates caused an exception, for example, if you request an update 175// to a scaling plan that already has a pending update. 176// 177// * InternalServiceException 178// The service encountered an internal error. 179// 180// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/DeleteScalingPlan 181func (c *AutoScalingPlans) DeleteScalingPlan(input *DeleteScalingPlanInput) (*DeleteScalingPlanOutput, error) { 182 req, out := c.DeleteScalingPlanRequest(input) 183 return out, req.Send() 184} 185 186// DeleteScalingPlanWithContext is the same as DeleteScalingPlan with the addition of 187// the ability to pass a context and additional request options. 188// 189// See DeleteScalingPlan for details on how to use this API operation. 190// 191// The context must be non-nil and will be used for request cancellation. If 192// the context is nil a panic will occur. In the future the SDK may create 193// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 194// for more information on using Contexts. 195func (c *AutoScalingPlans) DeleteScalingPlanWithContext(ctx aws.Context, input *DeleteScalingPlanInput, opts ...request.Option) (*DeleteScalingPlanOutput, error) { 196 req, out := c.DeleteScalingPlanRequest(input) 197 req.SetContext(ctx) 198 req.ApplyOptions(opts...) 199 return out, req.Send() 200} 201 202const opDescribeScalingPlanResources = "DescribeScalingPlanResources" 203 204// DescribeScalingPlanResourcesRequest generates a "aws/request.Request" representing the 205// client's request for the DescribeScalingPlanResources operation. The "output" return 206// value will be populated with the request's response once the request completes 207// successfully. 208// 209// Use "Send" method on the returned Request to send the API call to the service. 210// the "output" return value is not valid until after Send returns without error. 211// 212// See DescribeScalingPlanResources for more information on using the DescribeScalingPlanResources 213// API call, and error handling. 214// 215// This method is useful when you want to inject custom logic or configuration 216// into the SDK's request lifecycle. Such as custom headers, or retry logic. 217// 218// 219// // Example sending a request using the DescribeScalingPlanResourcesRequest method. 220// req, resp := client.DescribeScalingPlanResourcesRequest(params) 221// 222// err := req.Send() 223// if err == nil { // resp is now filled 224// fmt.Println(resp) 225// } 226// 227// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/DescribeScalingPlanResources 228func (c *AutoScalingPlans) DescribeScalingPlanResourcesRequest(input *DescribeScalingPlanResourcesInput) (req *request.Request, output *DescribeScalingPlanResourcesOutput) { 229 op := &request.Operation{ 230 Name: opDescribeScalingPlanResources, 231 HTTPMethod: "POST", 232 HTTPPath: "/", 233 } 234 235 if input == nil { 236 input = &DescribeScalingPlanResourcesInput{} 237 } 238 239 output = &DescribeScalingPlanResourcesOutput{} 240 req = c.newRequest(op, input, output) 241 return 242} 243 244// DescribeScalingPlanResources API operation for AWS Auto Scaling Plans. 245// 246// Describes the scalable resources in the specified scaling plan. 247// 248// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 249// with awserr.Error's Code and Message methods to get detailed information about 250// the error. 251// 252// See the AWS API reference guide for AWS Auto Scaling Plans's 253// API operation DescribeScalingPlanResources for usage and error information. 254// 255// Returned Error Types: 256// * ValidationException 257// An exception was thrown for a validation issue. Review the parameters provided. 258// 259// * InvalidNextTokenException 260// The token provided is not valid. 261// 262// * ConcurrentUpdateException 263// Concurrent updates caused an exception, for example, if you request an update 264// to a scaling plan that already has a pending update. 265// 266// * InternalServiceException 267// The service encountered an internal error. 268// 269// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/DescribeScalingPlanResources 270func (c *AutoScalingPlans) DescribeScalingPlanResources(input *DescribeScalingPlanResourcesInput) (*DescribeScalingPlanResourcesOutput, error) { 271 req, out := c.DescribeScalingPlanResourcesRequest(input) 272 return out, req.Send() 273} 274 275// DescribeScalingPlanResourcesWithContext is the same as DescribeScalingPlanResources with the addition of 276// the ability to pass a context and additional request options. 277// 278// See DescribeScalingPlanResources for details on how to use this API operation. 279// 280// The context must be non-nil and will be used for request cancellation. If 281// the context is nil a panic will occur. In the future the SDK may create 282// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 283// for more information on using Contexts. 284func (c *AutoScalingPlans) DescribeScalingPlanResourcesWithContext(ctx aws.Context, input *DescribeScalingPlanResourcesInput, opts ...request.Option) (*DescribeScalingPlanResourcesOutput, error) { 285 req, out := c.DescribeScalingPlanResourcesRequest(input) 286 req.SetContext(ctx) 287 req.ApplyOptions(opts...) 288 return out, req.Send() 289} 290 291const opDescribeScalingPlans = "DescribeScalingPlans" 292 293// DescribeScalingPlansRequest generates a "aws/request.Request" representing the 294// client's request for the DescribeScalingPlans operation. The "output" return 295// value will be populated with the request's response once the request completes 296// successfully. 297// 298// Use "Send" method on the returned Request to send the API call to the service. 299// the "output" return value is not valid until after Send returns without error. 300// 301// See DescribeScalingPlans for more information on using the DescribeScalingPlans 302// API call, and error handling. 303// 304// This method is useful when you want to inject custom logic or configuration 305// into the SDK's request lifecycle. Such as custom headers, or retry logic. 306// 307// 308// // Example sending a request using the DescribeScalingPlansRequest method. 309// req, resp := client.DescribeScalingPlansRequest(params) 310// 311// err := req.Send() 312// if err == nil { // resp is now filled 313// fmt.Println(resp) 314// } 315// 316// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/DescribeScalingPlans 317func (c *AutoScalingPlans) DescribeScalingPlansRequest(input *DescribeScalingPlansInput) (req *request.Request, output *DescribeScalingPlansOutput) { 318 op := &request.Operation{ 319 Name: opDescribeScalingPlans, 320 HTTPMethod: "POST", 321 HTTPPath: "/", 322 } 323 324 if input == nil { 325 input = &DescribeScalingPlansInput{} 326 } 327 328 output = &DescribeScalingPlansOutput{} 329 req = c.newRequest(op, input, output) 330 return 331} 332 333// DescribeScalingPlans API operation for AWS Auto Scaling Plans. 334// 335// Describes one or more of your scaling plans. 336// 337// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 338// with awserr.Error's Code and Message methods to get detailed information about 339// the error. 340// 341// See the AWS API reference guide for AWS Auto Scaling Plans's 342// API operation DescribeScalingPlans for usage and error information. 343// 344// Returned Error Types: 345// * ValidationException 346// An exception was thrown for a validation issue. Review the parameters provided. 347// 348// * InvalidNextTokenException 349// The token provided is not valid. 350// 351// * ConcurrentUpdateException 352// Concurrent updates caused an exception, for example, if you request an update 353// to a scaling plan that already has a pending update. 354// 355// * InternalServiceException 356// The service encountered an internal error. 357// 358// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/DescribeScalingPlans 359func (c *AutoScalingPlans) DescribeScalingPlans(input *DescribeScalingPlansInput) (*DescribeScalingPlansOutput, error) { 360 req, out := c.DescribeScalingPlansRequest(input) 361 return out, req.Send() 362} 363 364// DescribeScalingPlansWithContext is the same as DescribeScalingPlans with the addition of 365// the ability to pass a context and additional request options. 366// 367// See DescribeScalingPlans for details on how to use this API operation. 368// 369// The context must be non-nil and will be used for request cancellation. If 370// the context is nil a panic will occur. In the future the SDK may create 371// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 372// for more information on using Contexts. 373func (c *AutoScalingPlans) DescribeScalingPlansWithContext(ctx aws.Context, input *DescribeScalingPlansInput, opts ...request.Option) (*DescribeScalingPlansOutput, error) { 374 req, out := c.DescribeScalingPlansRequest(input) 375 req.SetContext(ctx) 376 req.ApplyOptions(opts...) 377 return out, req.Send() 378} 379 380const opGetScalingPlanResourceForecastData = "GetScalingPlanResourceForecastData" 381 382// GetScalingPlanResourceForecastDataRequest generates a "aws/request.Request" representing the 383// client's request for the GetScalingPlanResourceForecastData operation. The "output" return 384// value will be populated with the request's response once the request completes 385// successfully. 386// 387// Use "Send" method on the returned Request to send the API call to the service. 388// the "output" return value is not valid until after Send returns without error. 389// 390// See GetScalingPlanResourceForecastData for more information on using the GetScalingPlanResourceForecastData 391// API call, and error handling. 392// 393// This method is useful when you want to inject custom logic or configuration 394// into the SDK's request lifecycle. Such as custom headers, or retry logic. 395// 396// 397// // Example sending a request using the GetScalingPlanResourceForecastDataRequest method. 398// req, resp := client.GetScalingPlanResourceForecastDataRequest(params) 399// 400// err := req.Send() 401// if err == nil { // resp is now filled 402// fmt.Println(resp) 403// } 404// 405// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/GetScalingPlanResourceForecastData 406func (c *AutoScalingPlans) GetScalingPlanResourceForecastDataRequest(input *GetScalingPlanResourceForecastDataInput) (req *request.Request, output *GetScalingPlanResourceForecastDataOutput) { 407 op := &request.Operation{ 408 Name: opGetScalingPlanResourceForecastData, 409 HTTPMethod: "POST", 410 HTTPPath: "/", 411 } 412 413 if input == nil { 414 input = &GetScalingPlanResourceForecastDataInput{} 415 } 416 417 output = &GetScalingPlanResourceForecastDataOutput{} 418 req = c.newRequest(op, input, output) 419 return 420} 421 422// GetScalingPlanResourceForecastData API operation for AWS Auto Scaling Plans. 423// 424// Retrieves the forecast data for a scalable resource. 425// 426// Capacity forecasts are represented as predicted values, or data points, that 427// are calculated using historical data points from a specified CloudWatch load 428// metric. Data points are available for up to 56 days. 429// 430// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 431// with awserr.Error's Code and Message methods to get detailed information about 432// the error. 433// 434// See the AWS API reference guide for AWS Auto Scaling Plans's 435// API operation GetScalingPlanResourceForecastData for usage and error information. 436// 437// Returned Error Types: 438// * ValidationException 439// An exception was thrown for a validation issue. Review the parameters provided. 440// 441// * InternalServiceException 442// The service encountered an internal error. 443// 444// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/GetScalingPlanResourceForecastData 445func (c *AutoScalingPlans) GetScalingPlanResourceForecastData(input *GetScalingPlanResourceForecastDataInput) (*GetScalingPlanResourceForecastDataOutput, error) { 446 req, out := c.GetScalingPlanResourceForecastDataRequest(input) 447 return out, req.Send() 448} 449 450// GetScalingPlanResourceForecastDataWithContext is the same as GetScalingPlanResourceForecastData with the addition of 451// the ability to pass a context and additional request options. 452// 453// See GetScalingPlanResourceForecastData for details on how to use this API operation. 454// 455// The context must be non-nil and will be used for request cancellation. If 456// the context is nil a panic will occur. In the future the SDK may create 457// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 458// for more information on using Contexts. 459func (c *AutoScalingPlans) GetScalingPlanResourceForecastDataWithContext(ctx aws.Context, input *GetScalingPlanResourceForecastDataInput, opts ...request.Option) (*GetScalingPlanResourceForecastDataOutput, error) { 460 req, out := c.GetScalingPlanResourceForecastDataRequest(input) 461 req.SetContext(ctx) 462 req.ApplyOptions(opts...) 463 return out, req.Send() 464} 465 466const opUpdateScalingPlan = "UpdateScalingPlan" 467 468// UpdateScalingPlanRequest generates a "aws/request.Request" representing the 469// client's request for the UpdateScalingPlan operation. The "output" return 470// value will be populated with the request's response once the request completes 471// successfully. 472// 473// Use "Send" method on the returned Request to send the API call to the service. 474// the "output" return value is not valid until after Send returns without error. 475// 476// See UpdateScalingPlan for more information on using the UpdateScalingPlan 477// API call, and error handling. 478// 479// This method is useful when you want to inject custom logic or configuration 480// into the SDK's request lifecycle. Such as custom headers, or retry logic. 481// 482// 483// // Example sending a request using the UpdateScalingPlanRequest method. 484// req, resp := client.UpdateScalingPlanRequest(params) 485// 486// err := req.Send() 487// if err == nil { // resp is now filled 488// fmt.Println(resp) 489// } 490// 491// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/UpdateScalingPlan 492func (c *AutoScalingPlans) UpdateScalingPlanRequest(input *UpdateScalingPlanInput) (req *request.Request, output *UpdateScalingPlanOutput) { 493 op := &request.Operation{ 494 Name: opUpdateScalingPlan, 495 HTTPMethod: "POST", 496 HTTPPath: "/", 497 } 498 499 if input == nil { 500 input = &UpdateScalingPlanInput{} 501 } 502 503 output = &UpdateScalingPlanOutput{} 504 req = c.newRequest(op, input, output) 505 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 506 return 507} 508 509// UpdateScalingPlan API operation for AWS Auto Scaling Plans. 510// 511// Updates the specified scaling plan. 512// 513// You cannot update a scaling plan if it is in the process of being created, 514// updated, or deleted. 515// 516// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 517// with awserr.Error's Code and Message methods to get detailed information about 518// the error. 519// 520// See the AWS API reference guide for AWS Auto Scaling Plans's 521// API operation UpdateScalingPlan for usage and error information. 522// 523// Returned Error Types: 524// * ValidationException 525// An exception was thrown for a validation issue. Review the parameters provided. 526// 527// * ConcurrentUpdateException 528// Concurrent updates caused an exception, for example, if you request an update 529// to a scaling plan that already has a pending update. 530// 531// * InternalServiceException 532// The service encountered an internal error. 533// 534// * ObjectNotFoundException 535// The specified object could not be found. 536// 537// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans-2018-01-06/UpdateScalingPlan 538func (c *AutoScalingPlans) UpdateScalingPlan(input *UpdateScalingPlanInput) (*UpdateScalingPlanOutput, error) { 539 req, out := c.UpdateScalingPlanRequest(input) 540 return out, req.Send() 541} 542 543// UpdateScalingPlanWithContext is the same as UpdateScalingPlan with the addition of 544// the ability to pass a context and additional request options. 545// 546// See UpdateScalingPlan for details on how to use this API operation. 547// 548// The context must be non-nil and will be used for request cancellation. If 549// the context is nil a panic will occur. In the future the SDK may create 550// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 551// for more information on using Contexts. 552func (c *AutoScalingPlans) UpdateScalingPlanWithContext(ctx aws.Context, input *UpdateScalingPlanInput, opts ...request.Option) (*UpdateScalingPlanOutput, error) { 553 req, out := c.UpdateScalingPlanRequest(input) 554 req.SetContext(ctx) 555 req.ApplyOptions(opts...) 556 return out, req.Send() 557} 558 559// Represents an application source. 560type ApplicationSource struct { 561 _ struct{} `type:"structure"` 562 563 // The Amazon Resource Name (ARN) of a AWS CloudFormation stack. 564 CloudFormationStackARN *string `type:"string"` 565 566 // A set of tags (up to 50). 567 TagFilters []*TagFilter `type:"list"` 568} 569 570// String returns the string representation 571func (s ApplicationSource) String() string { 572 return awsutil.Prettify(s) 573} 574 575// GoString returns the string representation 576func (s ApplicationSource) GoString() string { 577 return s.String() 578} 579 580// Validate inspects the fields of the type to determine if they are valid. 581func (s *ApplicationSource) Validate() error { 582 invalidParams := request.ErrInvalidParams{Context: "ApplicationSource"} 583 if s.TagFilters != nil { 584 for i, v := range s.TagFilters { 585 if v == nil { 586 continue 587 } 588 if err := v.Validate(); err != nil { 589 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagFilters", i), err.(request.ErrInvalidParams)) 590 } 591 } 592 } 593 594 if invalidParams.Len() > 0 { 595 return invalidParams 596 } 597 return nil 598} 599 600// SetCloudFormationStackARN sets the CloudFormationStackARN field's value. 601func (s *ApplicationSource) SetCloudFormationStackARN(v string) *ApplicationSource { 602 s.CloudFormationStackARN = &v 603 return s 604} 605 606// SetTagFilters sets the TagFilters field's value. 607func (s *ApplicationSource) SetTagFilters(v []*TagFilter) *ApplicationSource { 608 s.TagFilters = v 609 return s 610} 611 612// Concurrent updates caused an exception, for example, if you request an update 613// to a scaling plan that already has a pending update. 614type ConcurrentUpdateException struct { 615 _ struct{} `type:"structure"` 616 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 617 618 Message_ *string `locationName:"Message" type:"string"` 619} 620 621// String returns the string representation 622func (s ConcurrentUpdateException) String() string { 623 return awsutil.Prettify(s) 624} 625 626// GoString returns the string representation 627func (s ConcurrentUpdateException) GoString() string { 628 return s.String() 629} 630 631func newErrorConcurrentUpdateException(v protocol.ResponseMetadata) error { 632 return &ConcurrentUpdateException{ 633 RespMetadata: v, 634 } 635} 636 637// Code returns the exception type name. 638func (s *ConcurrentUpdateException) Code() string { 639 return "ConcurrentUpdateException" 640} 641 642// Message returns the exception's message. 643func (s *ConcurrentUpdateException) Message() string { 644 if s.Message_ != nil { 645 return *s.Message_ 646 } 647 return "" 648} 649 650// OrigErr always returns nil, satisfies awserr.Error interface. 651func (s *ConcurrentUpdateException) OrigErr() error { 652 return nil 653} 654 655func (s *ConcurrentUpdateException) Error() string { 656 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 657} 658 659// Status code returns the HTTP status code for the request's response error. 660func (s *ConcurrentUpdateException) StatusCode() int { 661 return s.RespMetadata.StatusCode 662} 663 664// RequestID returns the service's response RequestID for request. 665func (s *ConcurrentUpdateException) RequestID() string { 666 return s.RespMetadata.RequestID 667} 668 669type CreateScalingPlanInput struct { 670 _ struct{} `type:"structure"` 671 672 // A CloudFormation stack or set of tags. You can create one scaling plan per 673 // application source. 674 // 675 // For more information, see ApplicationSource (https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ApplicationSource.html) 676 // in the AWS Auto Scaling API Reference. 677 // 678 // ApplicationSource is a required field 679 ApplicationSource *ApplicationSource `type:"structure" required:"true"` 680 681 // The scaling instructions. 682 // 683 // For more information, see ScalingInstruction (https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ScalingInstruction.html) 684 // in the AWS Auto Scaling API Reference. 685 // 686 // ScalingInstructions is a required field 687 ScalingInstructions []*ScalingInstruction `type:"list" required:"true"` 688 689 // The name of the scaling plan. Names cannot contain vertical bars, colons, 690 // or forward slashes. 691 // 692 // ScalingPlanName is a required field 693 ScalingPlanName *string `min:"1" type:"string" required:"true"` 694} 695 696// String returns the string representation 697func (s CreateScalingPlanInput) String() string { 698 return awsutil.Prettify(s) 699} 700 701// GoString returns the string representation 702func (s CreateScalingPlanInput) GoString() string { 703 return s.String() 704} 705 706// Validate inspects the fields of the type to determine if they are valid. 707func (s *CreateScalingPlanInput) Validate() error { 708 invalidParams := request.ErrInvalidParams{Context: "CreateScalingPlanInput"} 709 if s.ApplicationSource == nil { 710 invalidParams.Add(request.NewErrParamRequired("ApplicationSource")) 711 } 712 if s.ScalingInstructions == nil { 713 invalidParams.Add(request.NewErrParamRequired("ScalingInstructions")) 714 } 715 if s.ScalingPlanName == nil { 716 invalidParams.Add(request.NewErrParamRequired("ScalingPlanName")) 717 } 718 if s.ScalingPlanName != nil && len(*s.ScalingPlanName) < 1 { 719 invalidParams.Add(request.NewErrParamMinLen("ScalingPlanName", 1)) 720 } 721 if s.ApplicationSource != nil { 722 if err := s.ApplicationSource.Validate(); err != nil { 723 invalidParams.AddNested("ApplicationSource", err.(request.ErrInvalidParams)) 724 } 725 } 726 if s.ScalingInstructions != nil { 727 for i, v := range s.ScalingInstructions { 728 if v == nil { 729 continue 730 } 731 if err := v.Validate(); err != nil { 732 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScalingInstructions", i), err.(request.ErrInvalidParams)) 733 } 734 } 735 } 736 737 if invalidParams.Len() > 0 { 738 return invalidParams 739 } 740 return nil 741} 742 743// SetApplicationSource sets the ApplicationSource field's value. 744func (s *CreateScalingPlanInput) SetApplicationSource(v *ApplicationSource) *CreateScalingPlanInput { 745 s.ApplicationSource = v 746 return s 747} 748 749// SetScalingInstructions sets the ScalingInstructions field's value. 750func (s *CreateScalingPlanInput) SetScalingInstructions(v []*ScalingInstruction) *CreateScalingPlanInput { 751 s.ScalingInstructions = v 752 return s 753} 754 755// SetScalingPlanName sets the ScalingPlanName field's value. 756func (s *CreateScalingPlanInput) SetScalingPlanName(v string) *CreateScalingPlanInput { 757 s.ScalingPlanName = &v 758 return s 759} 760 761type CreateScalingPlanOutput struct { 762 _ struct{} `type:"structure"` 763 764 // The version number of the scaling plan. This value is always 1. Currently, 765 // you cannot have multiple scaling plan versions. 766 // 767 // ScalingPlanVersion is a required field 768 ScalingPlanVersion *int64 `type:"long" required:"true"` 769} 770 771// String returns the string representation 772func (s CreateScalingPlanOutput) String() string { 773 return awsutil.Prettify(s) 774} 775 776// GoString returns the string representation 777func (s CreateScalingPlanOutput) GoString() string { 778 return s.String() 779} 780 781// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 782func (s *CreateScalingPlanOutput) SetScalingPlanVersion(v int64) *CreateScalingPlanOutput { 783 s.ScalingPlanVersion = &v 784 return s 785} 786 787// Represents a CloudWatch metric of your choosing that can be used for predictive 788// scaling. 789// 790// For predictive scaling to work with a customized load metric specification, 791// AWS Auto Scaling needs access to the Sum and Average statistics that CloudWatch 792// computes from metric data. 793// 794// When you choose a load metric, make sure that the required Sum and Average 795// statistics for your metric are available in CloudWatch and that they provide 796// relevant data for predictive scaling. The Sum statistic must represent the 797// total load on the resource, and the Average statistic must represent the 798// average load per capacity unit of the resource. For example, there is a metric 799// that counts the number of requests processed by your Auto Scaling group. 800// If the Sum statistic represents the total request count processed by the 801// group, then the Average statistic for the specified metric must represent 802// the average request count processed by each instance of the group. 803// 804// If you publish your own metrics, you can aggregate the data points at a given 805// interval and then publish the aggregated data points to CloudWatch. Before 806// AWS Auto Scaling generates the forecast, it sums up all the metric data points 807// that occurred within each hour to match the granularity period that is used 808// in the forecast (60 minutes). 809// 810// For information about terminology, available metrics, or how to publish new 811// metrics, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html) 812// in the Amazon CloudWatch User Guide. 813// 814// After creating your scaling plan, you can use the AWS Auto Scaling console 815// to visualize forecasts for the specified metric. For more information, see 816// View Scaling Information for a Resource (https://docs.aws.amazon.com/autoscaling/plans/userguide/gs-create-scaling-plan.html#gs-view-resource) 817// in the AWS Auto Scaling User Guide. 818type CustomizedLoadMetricSpecification struct { 819 _ struct{} `type:"structure"` 820 821 // The dimensions of the metric. 822 // 823 // Conditional: If you published your metric with dimensions, you must specify 824 // the same dimensions in your customized load metric specification. 825 Dimensions []*MetricDimension `type:"list"` 826 827 // The name of the metric. 828 // 829 // MetricName is a required field 830 MetricName *string `type:"string" required:"true"` 831 832 // The namespace of the metric. 833 // 834 // Namespace is a required field 835 Namespace *string `type:"string" required:"true"` 836 837 // The statistic of the metric. The only valid value is Sum. 838 // 839 // Statistic is a required field 840 Statistic *string `type:"string" required:"true" enum:"MetricStatistic"` 841 842 // The unit of the metric. 843 Unit *string `type:"string"` 844} 845 846// String returns the string representation 847func (s CustomizedLoadMetricSpecification) String() string { 848 return awsutil.Prettify(s) 849} 850 851// GoString returns the string representation 852func (s CustomizedLoadMetricSpecification) GoString() string { 853 return s.String() 854} 855 856// Validate inspects the fields of the type to determine if they are valid. 857func (s *CustomizedLoadMetricSpecification) Validate() error { 858 invalidParams := request.ErrInvalidParams{Context: "CustomizedLoadMetricSpecification"} 859 if s.MetricName == nil { 860 invalidParams.Add(request.NewErrParamRequired("MetricName")) 861 } 862 if s.Namespace == nil { 863 invalidParams.Add(request.NewErrParamRequired("Namespace")) 864 } 865 if s.Statistic == nil { 866 invalidParams.Add(request.NewErrParamRequired("Statistic")) 867 } 868 if s.Dimensions != nil { 869 for i, v := range s.Dimensions { 870 if v == nil { 871 continue 872 } 873 if err := v.Validate(); err != nil { 874 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) 875 } 876 } 877 } 878 879 if invalidParams.Len() > 0 { 880 return invalidParams 881 } 882 return nil 883} 884 885// SetDimensions sets the Dimensions field's value. 886func (s *CustomizedLoadMetricSpecification) SetDimensions(v []*MetricDimension) *CustomizedLoadMetricSpecification { 887 s.Dimensions = v 888 return s 889} 890 891// SetMetricName sets the MetricName field's value. 892func (s *CustomizedLoadMetricSpecification) SetMetricName(v string) *CustomizedLoadMetricSpecification { 893 s.MetricName = &v 894 return s 895} 896 897// SetNamespace sets the Namespace field's value. 898func (s *CustomizedLoadMetricSpecification) SetNamespace(v string) *CustomizedLoadMetricSpecification { 899 s.Namespace = &v 900 return s 901} 902 903// SetStatistic sets the Statistic field's value. 904func (s *CustomizedLoadMetricSpecification) SetStatistic(v string) *CustomizedLoadMetricSpecification { 905 s.Statistic = &v 906 return s 907} 908 909// SetUnit sets the Unit field's value. 910func (s *CustomizedLoadMetricSpecification) SetUnit(v string) *CustomizedLoadMetricSpecification { 911 s.Unit = &v 912 return s 913} 914 915// Represents a CloudWatch metric of your choosing that can be used for dynamic 916// scaling as part of a target tracking scaling policy. 917// 918// To create your customized scaling metric specification: 919// 920// * Add values for each required parameter from CloudWatch. You can use 921// an existing metric, or a new metric that you create. To use your own metric, 922// you must first publish the metric to CloudWatch. For more information, 923// see Publish Custom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) 924// in the Amazon CloudWatch User Guide. 925// 926// * Choose a metric that changes proportionally with capacity. The value 927// of the metric should increase or decrease in inverse proportion to the 928// number of capacity units. That is, the value of the metric should decrease 929// when capacity increases. 930// 931// For information about terminology, available metrics, or how to publish new 932// metrics, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html) 933// in the Amazon CloudWatch User Guide. 934type CustomizedScalingMetricSpecification struct { 935 _ struct{} `type:"structure"` 936 937 // The dimensions of the metric. 938 // 939 // Conditional: If you published your metric with dimensions, you must specify 940 // the same dimensions in your customized scaling metric specification. 941 Dimensions []*MetricDimension `type:"list"` 942 943 // The name of the metric. 944 // 945 // MetricName is a required field 946 MetricName *string `type:"string" required:"true"` 947 948 // The namespace of the metric. 949 // 950 // Namespace is a required field 951 Namespace *string `type:"string" required:"true"` 952 953 // The statistic of the metric. 954 // 955 // Statistic is a required field 956 Statistic *string `type:"string" required:"true" enum:"MetricStatistic"` 957 958 // The unit of the metric. 959 Unit *string `type:"string"` 960} 961 962// String returns the string representation 963func (s CustomizedScalingMetricSpecification) String() string { 964 return awsutil.Prettify(s) 965} 966 967// GoString returns the string representation 968func (s CustomizedScalingMetricSpecification) GoString() string { 969 return s.String() 970} 971 972// Validate inspects the fields of the type to determine if they are valid. 973func (s *CustomizedScalingMetricSpecification) Validate() error { 974 invalidParams := request.ErrInvalidParams{Context: "CustomizedScalingMetricSpecification"} 975 if s.MetricName == nil { 976 invalidParams.Add(request.NewErrParamRequired("MetricName")) 977 } 978 if s.Namespace == nil { 979 invalidParams.Add(request.NewErrParamRequired("Namespace")) 980 } 981 if s.Statistic == nil { 982 invalidParams.Add(request.NewErrParamRequired("Statistic")) 983 } 984 if s.Dimensions != nil { 985 for i, v := range s.Dimensions { 986 if v == nil { 987 continue 988 } 989 if err := v.Validate(); err != nil { 990 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) 991 } 992 } 993 } 994 995 if invalidParams.Len() > 0 { 996 return invalidParams 997 } 998 return nil 999} 1000 1001// SetDimensions sets the Dimensions field's value. 1002func (s *CustomizedScalingMetricSpecification) SetDimensions(v []*MetricDimension) *CustomizedScalingMetricSpecification { 1003 s.Dimensions = v 1004 return s 1005} 1006 1007// SetMetricName sets the MetricName field's value. 1008func (s *CustomizedScalingMetricSpecification) SetMetricName(v string) *CustomizedScalingMetricSpecification { 1009 s.MetricName = &v 1010 return s 1011} 1012 1013// SetNamespace sets the Namespace field's value. 1014func (s *CustomizedScalingMetricSpecification) SetNamespace(v string) *CustomizedScalingMetricSpecification { 1015 s.Namespace = &v 1016 return s 1017} 1018 1019// SetStatistic sets the Statistic field's value. 1020func (s *CustomizedScalingMetricSpecification) SetStatistic(v string) *CustomizedScalingMetricSpecification { 1021 s.Statistic = &v 1022 return s 1023} 1024 1025// SetUnit sets the Unit field's value. 1026func (s *CustomizedScalingMetricSpecification) SetUnit(v string) *CustomizedScalingMetricSpecification { 1027 s.Unit = &v 1028 return s 1029} 1030 1031// Represents a single value in the forecast data used for predictive scaling. 1032type Datapoint struct { 1033 _ struct{} `type:"structure"` 1034 1035 // The time stamp for the data point in UTC format. 1036 Timestamp *time.Time `type:"timestamp"` 1037 1038 // The value of the data point. 1039 Value *float64 `type:"double"` 1040} 1041 1042// String returns the string representation 1043func (s Datapoint) String() string { 1044 return awsutil.Prettify(s) 1045} 1046 1047// GoString returns the string representation 1048func (s Datapoint) GoString() string { 1049 return s.String() 1050} 1051 1052// SetTimestamp sets the Timestamp field's value. 1053func (s *Datapoint) SetTimestamp(v time.Time) *Datapoint { 1054 s.Timestamp = &v 1055 return s 1056} 1057 1058// SetValue sets the Value field's value. 1059func (s *Datapoint) SetValue(v float64) *Datapoint { 1060 s.Value = &v 1061 return s 1062} 1063 1064type DeleteScalingPlanInput struct { 1065 _ struct{} `type:"structure"` 1066 1067 // The name of the scaling plan. 1068 // 1069 // ScalingPlanName is a required field 1070 ScalingPlanName *string `min:"1" type:"string" required:"true"` 1071 1072 // The version number of the scaling plan. Currently, the only valid value is 1073 // 1. 1074 // 1075 // ScalingPlanVersion is a required field 1076 ScalingPlanVersion *int64 `type:"long" required:"true"` 1077} 1078 1079// String returns the string representation 1080func (s DeleteScalingPlanInput) String() string { 1081 return awsutil.Prettify(s) 1082} 1083 1084// GoString returns the string representation 1085func (s DeleteScalingPlanInput) GoString() string { 1086 return s.String() 1087} 1088 1089// Validate inspects the fields of the type to determine if they are valid. 1090func (s *DeleteScalingPlanInput) Validate() error { 1091 invalidParams := request.ErrInvalidParams{Context: "DeleteScalingPlanInput"} 1092 if s.ScalingPlanName == nil { 1093 invalidParams.Add(request.NewErrParamRequired("ScalingPlanName")) 1094 } 1095 if s.ScalingPlanName != nil && len(*s.ScalingPlanName) < 1 { 1096 invalidParams.Add(request.NewErrParamMinLen("ScalingPlanName", 1)) 1097 } 1098 if s.ScalingPlanVersion == nil { 1099 invalidParams.Add(request.NewErrParamRequired("ScalingPlanVersion")) 1100 } 1101 1102 if invalidParams.Len() > 0 { 1103 return invalidParams 1104 } 1105 return nil 1106} 1107 1108// SetScalingPlanName sets the ScalingPlanName field's value. 1109func (s *DeleteScalingPlanInput) SetScalingPlanName(v string) *DeleteScalingPlanInput { 1110 s.ScalingPlanName = &v 1111 return s 1112} 1113 1114// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 1115func (s *DeleteScalingPlanInput) SetScalingPlanVersion(v int64) *DeleteScalingPlanInput { 1116 s.ScalingPlanVersion = &v 1117 return s 1118} 1119 1120type DeleteScalingPlanOutput struct { 1121 _ struct{} `type:"structure"` 1122} 1123 1124// String returns the string representation 1125func (s DeleteScalingPlanOutput) String() string { 1126 return awsutil.Prettify(s) 1127} 1128 1129// GoString returns the string representation 1130func (s DeleteScalingPlanOutput) GoString() string { 1131 return s.String() 1132} 1133 1134type DescribeScalingPlanResourcesInput struct { 1135 _ struct{} `type:"structure"` 1136 1137 // The maximum number of scalable resources to return. The value must be between 1138 // 1 and 50. The default value is 50. 1139 MaxResults *int64 `type:"integer"` 1140 1141 // The token for the next set of results. 1142 NextToken *string `type:"string"` 1143 1144 // The name of the scaling plan. 1145 // 1146 // ScalingPlanName is a required field 1147 ScalingPlanName *string `min:"1" type:"string" required:"true"` 1148 1149 // The version number of the scaling plan. Currently, the only valid value is 1150 // 1. 1151 // 1152 // ScalingPlanVersion is a required field 1153 ScalingPlanVersion *int64 `type:"long" required:"true"` 1154} 1155 1156// String returns the string representation 1157func (s DescribeScalingPlanResourcesInput) String() string { 1158 return awsutil.Prettify(s) 1159} 1160 1161// GoString returns the string representation 1162func (s DescribeScalingPlanResourcesInput) GoString() string { 1163 return s.String() 1164} 1165 1166// Validate inspects the fields of the type to determine if they are valid. 1167func (s *DescribeScalingPlanResourcesInput) Validate() error { 1168 invalidParams := request.ErrInvalidParams{Context: "DescribeScalingPlanResourcesInput"} 1169 if s.ScalingPlanName == nil { 1170 invalidParams.Add(request.NewErrParamRequired("ScalingPlanName")) 1171 } 1172 if s.ScalingPlanName != nil && len(*s.ScalingPlanName) < 1 { 1173 invalidParams.Add(request.NewErrParamMinLen("ScalingPlanName", 1)) 1174 } 1175 if s.ScalingPlanVersion == nil { 1176 invalidParams.Add(request.NewErrParamRequired("ScalingPlanVersion")) 1177 } 1178 1179 if invalidParams.Len() > 0 { 1180 return invalidParams 1181 } 1182 return nil 1183} 1184 1185// SetMaxResults sets the MaxResults field's value. 1186func (s *DescribeScalingPlanResourcesInput) SetMaxResults(v int64) *DescribeScalingPlanResourcesInput { 1187 s.MaxResults = &v 1188 return s 1189} 1190 1191// SetNextToken sets the NextToken field's value. 1192func (s *DescribeScalingPlanResourcesInput) SetNextToken(v string) *DescribeScalingPlanResourcesInput { 1193 s.NextToken = &v 1194 return s 1195} 1196 1197// SetScalingPlanName sets the ScalingPlanName field's value. 1198func (s *DescribeScalingPlanResourcesInput) SetScalingPlanName(v string) *DescribeScalingPlanResourcesInput { 1199 s.ScalingPlanName = &v 1200 return s 1201} 1202 1203// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 1204func (s *DescribeScalingPlanResourcesInput) SetScalingPlanVersion(v int64) *DescribeScalingPlanResourcesInput { 1205 s.ScalingPlanVersion = &v 1206 return s 1207} 1208 1209type DescribeScalingPlanResourcesOutput struct { 1210 _ struct{} `type:"structure"` 1211 1212 // The token required to get the next set of results. This value is null if 1213 // there are no more results to return. 1214 NextToken *string `type:"string"` 1215 1216 // Information about the scalable resources. 1217 ScalingPlanResources []*ScalingPlanResource `type:"list"` 1218} 1219 1220// String returns the string representation 1221func (s DescribeScalingPlanResourcesOutput) String() string { 1222 return awsutil.Prettify(s) 1223} 1224 1225// GoString returns the string representation 1226func (s DescribeScalingPlanResourcesOutput) GoString() string { 1227 return s.String() 1228} 1229 1230// SetNextToken sets the NextToken field's value. 1231func (s *DescribeScalingPlanResourcesOutput) SetNextToken(v string) *DescribeScalingPlanResourcesOutput { 1232 s.NextToken = &v 1233 return s 1234} 1235 1236// SetScalingPlanResources sets the ScalingPlanResources field's value. 1237func (s *DescribeScalingPlanResourcesOutput) SetScalingPlanResources(v []*ScalingPlanResource) *DescribeScalingPlanResourcesOutput { 1238 s.ScalingPlanResources = v 1239 return s 1240} 1241 1242type DescribeScalingPlansInput struct { 1243 _ struct{} `type:"structure"` 1244 1245 // The sources for the applications (up to 10). If you specify scaling plan 1246 // names, you cannot specify application sources. 1247 ApplicationSources []*ApplicationSource `type:"list"` 1248 1249 // The maximum number of scalable resources to return. This value can be between 1250 // 1 and 50. The default value is 50. 1251 MaxResults *int64 `type:"integer"` 1252 1253 // The token for the next set of results. 1254 NextToken *string `type:"string"` 1255 1256 // The names of the scaling plans (up to 10). If you specify application sources, 1257 // you cannot specify scaling plan names. 1258 ScalingPlanNames []*string `type:"list"` 1259 1260 // The version number of the scaling plan. Currently, the only valid value is 1261 // 1. 1262 // 1263 // If you specify a scaling plan version, you must also specify a scaling plan 1264 // name. 1265 ScalingPlanVersion *int64 `type:"long"` 1266} 1267 1268// String returns the string representation 1269func (s DescribeScalingPlansInput) String() string { 1270 return awsutil.Prettify(s) 1271} 1272 1273// GoString returns the string representation 1274func (s DescribeScalingPlansInput) GoString() string { 1275 return s.String() 1276} 1277 1278// Validate inspects the fields of the type to determine if they are valid. 1279func (s *DescribeScalingPlansInput) Validate() error { 1280 invalidParams := request.ErrInvalidParams{Context: "DescribeScalingPlansInput"} 1281 if s.ApplicationSources != nil { 1282 for i, v := range s.ApplicationSources { 1283 if v == nil { 1284 continue 1285 } 1286 if err := v.Validate(); err != nil { 1287 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ApplicationSources", i), err.(request.ErrInvalidParams)) 1288 } 1289 } 1290 } 1291 1292 if invalidParams.Len() > 0 { 1293 return invalidParams 1294 } 1295 return nil 1296} 1297 1298// SetApplicationSources sets the ApplicationSources field's value. 1299func (s *DescribeScalingPlansInput) SetApplicationSources(v []*ApplicationSource) *DescribeScalingPlansInput { 1300 s.ApplicationSources = v 1301 return s 1302} 1303 1304// SetMaxResults sets the MaxResults field's value. 1305func (s *DescribeScalingPlansInput) SetMaxResults(v int64) *DescribeScalingPlansInput { 1306 s.MaxResults = &v 1307 return s 1308} 1309 1310// SetNextToken sets the NextToken field's value. 1311func (s *DescribeScalingPlansInput) SetNextToken(v string) *DescribeScalingPlansInput { 1312 s.NextToken = &v 1313 return s 1314} 1315 1316// SetScalingPlanNames sets the ScalingPlanNames field's value. 1317func (s *DescribeScalingPlansInput) SetScalingPlanNames(v []*string) *DescribeScalingPlansInput { 1318 s.ScalingPlanNames = v 1319 return s 1320} 1321 1322// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 1323func (s *DescribeScalingPlansInput) SetScalingPlanVersion(v int64) *DescribeScalingPlansInput { 1324 s.ScalingPlanVersion = &v 1325 return s 1326} 1327 1328type DescribeScalingPlansOutput struct { 1329 _ struct{} `type:"structure"` 1330 1331 // The token required to get the next set of results. This value is null if 1332 // there are no more results to return. 1333 NextToken *string `type:"string"` 1334 1335 // Information about the scaling plans. 1336 ScalingPlans []*ScalingPlan `type:"list"` 1337} 1338 1339// String returns the string representation 1340func (s DescribeScalingPlansOutput) String() string { 1341 return awsutil.Prettify(s) 1342} 1343 1344// GoString returns the string representation 1345func (s DescribeScalingPlansOutput) GoString() string { 1346 return s.String() 1347} 1348 1349// SetNextToken sets the NextToken field's value. 1350func (s *DescribeScalingPlansOutput) SetNextToken(v string) *DescribeScalingPlansOutput { 1351 s.NextToken = &v 1352 return s 1353} 1354 1355// SetScalingPlans sets the ScalingPlans field's value. 1356func (s *DescribeScalingPlansOutput) SetScalingPlans(v []*ScalingPlan) *DescribeScalingPlansOutput { 1357 s.ScalingPlans = v 1358 return s 1359} 1360 1361type GetScalingPlanResourceForecastDataInput struct { 1362 _ struct{} `type:"structure"` 1363 1364 // The exclusive end time of the time range for the forecast data to get. The 1365 // maximum time duration between the start and end time is seven days. 1366 // 1367 // Although this parameter can accept a date and time that is more than two 1368 // days in the future, the availability of forecast data has limits. AWS Auto 1369 // Scaling only issues forecasts for periods of two days in advance. 1370 // 1371 // EndTime is a required field 1372 EndTime *time.Time `type:"timestamp" required:"true"` 1373 1374 // The type of forecast data to get. 1375 // 1376 // * LoadForecast: The load metric forecast. 1377 // 1378 // * CapacityForecast: The capacity forecast. 1379 // 1380 // * ScheduledActionMinCapacity: The minimum capacity for each scheduled 1381 // scaling action. This data is calculated as the larger of two values: the 1382 // capacity forecast or the minimum capacity in the scaling instruction. 1383 // 1384 // * ScheduledActionMaxCapacity: The maximum capacity for each scheduled 1385 // scaling action. The calculation used is determined by the predictive scaling 1386 // maximum capacity behavior setting in the scaling instruction. 1387 // 1388 // ForecastDataType is a required field 1389 ForecastDataType *string `type:"string" required:"true" enum:"ForecastDataType"` 1390 1391 // The ID of the resource. This string consists of a prefix (autoScalingGroup) 1392 // followed by the name of a specified Auto Scaling group (my-asg). Example: 1393 // autoScalingGroup/my-asg. 1394 // 1395 // ResourceId is a required field 1396 ResourceId *string `type:"string" required:"true"` 1397 1398 // The scalable dimension for the resource. The only valid value is autoscaling:autoScalingGroup:DesiredCapacity. 1399 // 1400 // ScalableDimension is a required field 1401 ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` 1402 1403 // The name of the scaling plan. 1404 // 1405 // ScalingPlanName is a required field 1406 ScalingPlanName *string `min:"1" type:"string" required:"true"` 1407 1408 // The version number of the scaling plan. Currently, the only valid value is 1409 // 1. 1410 // 1411 // ScalingPlanVersion is a required field 1412 ScalingPlanVersion *int64 `type:"long" required:"true"` 1413 1414 // The namespace of the AWS service. The only valid value is autoscaling. 1415 // 1416 // ServiceNamespace is a required field 1417 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 1418 1419 // The inclusive start time of the time range for the forecast data to get. 1420 // The date and time can be at most 56 days before the current date and time. 1421 // 1422 // StartTime is a required field 1423 StartTime *time.Time `type:"timestamp" required:"true"` 1424} 1425 1426// String returns the string representation 1427func (s GetScalingPlanResourceForecastDataInput) String() string { 1428 return awsutil.Prettify(s) 1429} 1430 1431// GoString returns the string representation 1432func (s GetScalingPlanResourceForecastDataInput) GoString() string { 1433 return s.String() 1434} 1435 1436// Validate inspects the fields of the type to determine if they are valid. 1437func (s *GetScalingPlanResourceForecastDataInput) Validate() error { 1438 invalidParams := request.ErrInvalidParams{Context: "GetScalingPlanResourceForecastDataInput"} 1439 if s.EndTime == nil { 1440 invalidParams.Add(request.NewErrParamRequired("EndTime")) 1441 } 1442 if s.ForecastDataType == nil { 1443 invalidParams.Add(request.NewErrParamRequired("ForecastDataType")) 1444 } 1445 if s.ResourceId == nil { 1446 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 1447 } 1448 if s.ScalableDimension == nil { 1449 invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) 1450 } 1451 if s.ScalingPlanName == nil { 1452 invalidParams.Add(request.NewErrParamRequired("ScalingPlanName")) 1453 } 1454 if s.ScalingPlanName != nil && len(*s.ScalingPlanName) < 1 { 1455 invalidParams.Add(request.NewErrParamMinLen("ScalingPlanName", 1)) 1456 } 1457 if s.ScalingPlanVersion == nil { 1458 invalidParams.Add(request.NewErrParamRequired("ScalingPlanVersion")) 1459 } 1460 if s.ServiceNamespace == nil { 1461 invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) 1462 } 1463 if s.StartTime == nil { 1464 invalidParams.Add(request.NewErrParamRequired("StartTime")) 1465 } 1466 1467 if invalidParams.Len() > 0 { 1468 return invalidParams 1469 } 1470 return nil 1471} 1472 1473// SetEndTime sets the EndTime field's value. 1474func (s *GetScalingPlanResourceForecastDataInput) SetEndTime(v time.Time) *GetScalingPlanResourceForecastDataInput { 1475 s.EndTime = &v 1476 return s 1477} 1478 1479// SetForecastDataType sets the ForecastDataType field's value. 1480func (s *GetScalingPlanResourceForecastDataInput) SetForecastDataType(v string) *GetScalingPlanResourceForecastDataInput { 1481 s.ForecastDataType = &v 1482 return s 1483} 1484 1485// SetResourceId sets the ResourceId field's value. 1486func (s *GetScalingPlanResourceForecastDataInput) SetResourceId(v string) *GetScalingPlanResourceForecastDataInput { 1487 s.ResourceId = &v 1488 return s 1489} 1490 1491// SetScalableDimension sets the ScalableDimension field's value. 1492func (s *GetScalingPlanResourceForecastDataInput) SetScalableDimension(v string) *GetScalingPlanResourceForecastDataInput { 1493 s.ScalableDimension = &v 1494 return s 1495} 1496 1497// SetScalingPlanName sets the ScalingPlanName field's value. 1498func (s *GetScalingPlanResourceForecastDataInput) SetScalingPlanName(v string) *GetScalingPlanResourceForecastDataInput { 1499 s.ScalingPlanName = &v 1500 return s 1501} 1502 1503// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 1504func (s *GetScalingPlanResourceForecastDataInput) SetScalingPlanVersion(v int64) *GetScalingPlanResourceForecastDataInput { 1505 s.ScalingPlanVersion = &v 1506 return s 1507} 1508 1509// SetServiceNamespace sets the ServiceNamespace field's value. 1510func (s *GetScalingPlanResourceForecastDataInput) SetServiceNamespace(v string) *GetScalingPlanResourceForecastDataInput { 1511 s.ServiceNamespace = &v 1512 return s 1513} 1514 1515// SetStartTime sets the StartTime field's value. 1516func (s *GetScalingPlanResourceForecastDataInput) SetStartTime(v time.Time) *GetScalingPlanResourceForecastDataInput { 1517 s.StartTime = &v 1518 return s 1519} 1520 1521type GetScalingPlanResourceForecastDataOutput struct { 1522 _ struct{} `type:"structure"` 1523 1524 // The data points to return. 1525 // 1526 // Datapoints is a required field 1527 Datapoints []*Datapoint `type:"list" required:"true"` 1528} 1529 1530// String returns the string representation 1531func (s GetScalingPlanResourceForecastDataOutput) String() string { 1532 return awsutil.Prettify(s) 1533} 1534 1535// GoString returns the string representation 1536func (s GetScalingPlanResourceForecastDataOutput) GoString() string { 1537 return s.String() 1538} 1539 1540// SetDatapoints sets the Datapoints field's value. 1541func (s *GetScalingPlanResourceForecastDataOutput) SetDatapoints(v []*Datapoint) *GetScalingPlanResourceForecastDataOutput { 1542 s.Datapoints = v 1543 return s 1544} 1545 1546// The service encountered an internal error. 1547type InternalServiceException struct { 1548 _ struct{} `type:"structure"` 1549 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1550 1551 Message_ *string `locationName:"Message" type:"string"` 1552} 1553 1554// String returns the string representation 1555func (s InternalServiceException) String() string { 1556 return awsutil.Prettify(s) 1557} 1558 1559// GoString returns the string representation 1560func (s InternalServiceException) GoString() string { 1561 return s.String() 1562} 1563 1564func newErrorInternalServiceException(v protocol.ResponseMetadata) error { 1565 return &InternalServiceException{ 1566 RespMetadata: v, 1567 } 1568} 1569 1570// Code returns the exception type name. 1571func (s *InternalServiceException) Code() string { 1572 return "InternalServiceException" 1573} 1574 1575// Message returns the exception's message. 1576func (s *InternalServiceException) Message() string { 1577 if s.Message_ != nil { 1578 return *s.Message_ 1579 } 1580 return "" 1581} 1582 1583// OrigErr always returns nil, satisfies awserr.Error interface. 1584func (s *InternalServiceException) OrigErr() error { 1585 return nil 1586} 1587 1588func (s *InternalServiceException) Error() string { 1589 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1590} 1591 1592// Status code returns the HTTP status code for the request's response error. 1593func (s *InternalServiceException) StatusCode() int { 1594 return s.RespMetadata.StatusCode 1595} 1596 1597// RequestID returns the service's response RequestID for request. 1598func (s *InternalServiceException) RequestID() string { 1599 return s.RespMetadata.RequestID 1600} 1601 1602// The token provided is not valid. 1603type InvalidNextTokenException struct { 1604 _ struct{} `type:"structure"` 1605 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1606 1607 Message_ *string `locationName:"Message" type:"string"` 1608} 1609 1610// String returns the string representation 1611func (s InvalidNextTokenException) String() string { 1612 return awsutil.Prettify(s) 1613} 1614 1615// GoString returns the string representation 1616func (s InvalidNextTokenException) GoString() string { 1617 return s.String() 1618} 1619 1620func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { 1621 return &InvalidNextTokenException{ 1622 RespMetadata: v, 1623 } 1624} 1625 1626// Code returns the exception type name. 1627func (s *InvalidNextTokenException) Code() string { 1628 return "InvalidNextTokenException" 1629} 1630 1631// Message returns the exception's message. 1632func (s *InvalidNextTokenException) Message() string { 1633 if s.Message_ != nil { 1634 return *s.Message_ 1635 } 1636 return "" 1637} 1638 1639// OrigErr always returns nil, satisfies awserr.Error interface. 1640func (s *InvalidNextTokenException) OrigErr() error { 1641 return nil 1642} 1643 1644func (s *InvalidNextTokenException) Error() string { 1645 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1646} 1647 1648// Status code returns the HTTP status code for the request's response error. 1649func (s *InvalidNextTokenException) StatusCode() int { 1650 return s.RespMetadata.StatusCode 1651} 1652 1653// RequestID returns the service's response RequestID for request. 1654func (s *InvalidNextTokenException) RequestID() string { 1655 return s.RespMetadata.RequestID 1656} 1657 1658// Your account exceeded a limit. This exception is thrown when a per-account 1659// resource limit is exceeded. 1660type LimitExceededException struct { 1661 _ struct{} `type:"structure"` 1662 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1663 1664 Message_ *string `locationName:"Message" type:"string"` 1665} 1666 1667// String returns the string representation 1668func (s LimitExceededException) String() string { 1669 return awsutil.Prettify(s) 1670} 1671 1672// GoString returns the string representation 1673func (s LimitExceededException) GoString() string { 1674 return s.String() 1675} 1676 1677func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 1678 return &LimitExceededException{ 1679 RespMetadata: v, 1680 } 1681} 1682 1683// Code returns the exception type name. 1684func (s *LimitExceededException) Code() string { 1685 return "LimitExceededException" 1686} 1687 1688// Message returns the exception's message. 1689func (s *LimitExceededException) Message() string { 1690 if s.Message_ != nil { 1691 return *s.Message_ 1692 } 1693 return "" 1694} 1695 1696// OrigErr always returns nil, satisfies awserr.Error interface. 1697func (s *LimitExceededException) OrigErr() error { 1698 return nil 1699} 1700 1701func (s *LimitExceededException) Error() string { 1702 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1703} 1704 1705// Status code returns the HTTP status code for the request's response error. 1706func (s *LimitExceededException) StatusCode() int { 1707 return s.RespMetadata.StatusCode 1708} 1709 1710// RequestID returns the service's response RequestID for request. 1711func (s *LimitExceededException) RequestID() string { 1712 return s.RespMetadata.RequestID 1713} 1714 1715// Represents a dimension for a customized metric. 1716type MetricDimension struct { 1717 _ struct{} `type:"structure"` 1718 1719 // The name of the dimension. 1720 // 1721 // Name is a required field 1722 Name *string `type:"string" required:"true"` 1723 1724 // The value of the dimension. 1725 // 1726 // Value is a required field 1727 Value *string `type:"string" required:"true"` 1728} 1729 1730// String returns the string representation 1731func (s MetricDimension) String() string { 1732 return awsutil.Prettify(s) 1733} 1734 1735// GoString returns the string representation 1736func (s MetricDimension) GoString() string { 1737 return s.String() 1738} 1739 1740// Validate inspects the fields of the type to determine if they are valid. 1741func (s *MetricDimension) Validate() error { 1742 invalidParams := request.ErrInvalidParams{Context: "MetricDimension"} 1743 if s.Name == nil { 1744 invalidParams.Add(request.NewErrParamRequired("Name")) 1745 } 1746 if s.Value == nil { 1747 invalidParams.Add(request.NewErrParamRequired("Value")) 1748 } 1749 1750 if invalidParams.Len() > 0 { 1751 return invalidParams 1752 } 1753 return nil 1754} 1755 1756// SetName sets the Name field's value. 1757func (s *MetricDimension) SetName(v string) *MetricDimension { 1758 s.Name = &v 1759 return s 1760} 1761 1762// SetValue sets the Value field's value. 1763func (s *MetricDimension) SetValue(v string) *MetricDimension { 1764 s.Value = &v 1765 return s 1766} 1767 1768// The specified object could not be found. 1769type ObjectNotFoundException struct { 1770 _ struct{} `type:"structure"` 1771 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1772 1773 Message_ *string `locationName:"Message" type:"string"` 1774} 1775 1776// String returns the string representation 1777func (s ObjectNotFoundException) String() string { 1778 return awsutil.Prettify(s) 1779} 1780 1781// GoString returns the string representation 1782func (s ObjectNotFoundException) GoString() string { 1783 return s.String() 1784} 1785 1786func newErrorObjectNotFoundException(v protocol.ResponseMetadata) error { 1787 return &ObjectNotFoundException{ 1788 RespMetadata: v, 1789 } 1790} 1791 1792// Code returns the exception type name. 1793func (s *ObjectNotFoundException) Code() string { 1794 return "ObjectNotFoundException" 1795} 1796 1797// Message returns the exception's message. 1798func (s *ObjectNotFoundException) Message() string { 1799 if s.Message_ != nil { 1800 return *s.Message_ 1801 } 1802 return "" 1803} 1804 1805// OrigErr always returns nil, satisfies awserr.Error interface. 1806func (s *ObjectNotFoundException) OrigErr() error { 1807 return nil 1808} 1809 1810func (s *ObjectNotFoundException) Error() string { 1811 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1812} 1813 1814// Status code returns the HTTP status code for the request's response error. 1815func (s *ObjectNotFoundException) StatusCode() int { 1816 return s.RespMetadata.StatusCode 1817} 1818 1819// RequestID returns the service's response RequestID for request. 1820func (s *ObjectNotFoundException) RequestID() string { 1821 return s.RespMetadata.RequestID 1822} 1823 1824// Represents a predefined metric that can be used for predictive scaling. 1825// 1826// After creating your scaling plan, you can use the AWS Auto Scaling console 1827// to visualize forecasts for the specified metric. For more information, see 1828// View Scaling Information for a Resource (https://docs.aws.amazon.com/autoscaling/plans/userguide/gs-create-scaling-plan.html#gs-view-resource) 1829// in the AWS Auto Scaling User Guide. 1830type PredefinedLoadMetricSpecification struct { 1831 _ struct{} `type:"structure"` 1832 1833 // The metric type. 1834 // 1835 // PredefinedLoadMetricType is a required field 1836 PredefinedLoadMetricType *string `type:"string" required:"true" enum:"LoadMetricType"` 1837 1838 // Identifies the resource associated with the metric type. You can't specify 1839 // a resource label unless the metric type is ALBTargetGroupRequestCount and 1840 // there is a target group for an Application Load Balancer attached to the 1841 // Auto Scaling group. 1842 // 1843 // You create the resource label by appending the final portion of the load 1844 // balancer ARN and the final portion of the target group ARN into a single 1845 // value, separated by a forward slash (/). The format is app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>, 1846 // where: 1847 // 1848 // * app/<load-balancer-name>/<load-balancer-id> is the final portion of 1849 // the load balancer ARN 1850 // 1851 // * targetgroup/<target-group-name>/<target-group-id> is the final portion 1852 // of the target group ARN. 1853 // 1854 // This is an example: app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d. 1855 // 1856 // To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers 1857 // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) 1858 // API operation. To find the ARN for the target group, use the DescribeTargetGroups 1859 // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) 1860 // API operation. 1861 ResourceLabel *string `min:"1" type:"string"` 1862} 1863 1864// String returns the string representation 1865func (s PredefinedLoadMetricSpecification) String() string { 1866 return awsutil.Prettify(s) 1867} 1868 1869// GoString returns the string representation 1870func (s PredefinedLoadMetricSpecification) GoString() string { 1871 return s.String() 1872} 1873 1874// Validate inspects the fields of the type to determine if they are valid. 1875func (s *PredefinedLoadMetricSpecification) Validate() error { 1876 invalidParams := request.ErrInvalidParams{Context: "PredefinedLoadMetricSpecification"} 1877 if s.PredefinedLoadMetricType == nil { 1878 invalidParams.Add(request.NewErrParamRequired("PredefinedLoadMetricType")) 1879 } 1880 if s.ResourceLabel != nil && len(*s.ResourceLabel) < 1 { 1881 invalidParams.Add(request.NewErrParamMinLen("ResourceLabel", 1)) 1882 } 1883 1884 if invalidParams.Len() > 0 { 1885 return invalidParams 1886 } 1887 return nil 1888} 1889 1890// SetPredefinedLoadMetricType sets the PredefinedLoadMetricType field's value. 1891func (s *PredefinedLoadMetricSpecification) SetPredefinedLoadMetricType(v string) *PredefinedLoadMetricSpecification { 1892 s.PredefinedLoadMetricType = &v 1893 return s 1894} 1895 1896// SetResourceLabel sets the ResourceLabel field's value. 1897func (s *PredefinedLoadMetricSpecification) SetResourceLabel(v string) *PredefinedLoadMetricSpecification { 1898 s.ResourceLabel = &v 1899 return s 1900} 1901 1902// Represents a predefined metric that can be used for dynamic scaling as part 1903// of a target tracking scaling policy. 1904type PredefinedScalingMetricSpecification struct { 1905 _ struct{} `type:"structure"` 1906 1907 // The metric type. The ALBRequestCountPerTarget metric type applies only to 1908 // Auto Scaling groups, Spot Fleet requests, and ECS services. 1909 // 1910 // PredefinedScalingMetricType is a required field 1911 PredefinedScalingMetricType *string `type:"string" required:"true" enum:"ScalingMetricType"` 1912 1913 // Identifies the resource associated with the metric type. You can't specify 1914 // a resource label unless the metric type is ALBRequestCountPerTarget and there 1915 // is a target group for an Application Load Balancer attached to the Auto Scaling 1916 // group, Spot Fleet request, or ECS service. 1917 // 1918 // You create the resource label by appending the final portion of the load 1919 // balancer ARN and the final portion of the target group ARN into a single 1920 // value, separated by a forward slash (/). The format is app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>, 1921 // where: 1922 // 1923 // * app/<load-balancer-name>/<load-balancer-id> is the final portion of 1924 // the load balancer ARN 1925 // 1926 // * targetgroup/<target-group-name>/<target-group-id> is the final portion 1927 // of the target group ARN. 1928 // 1929 // This is an example: app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d. 1930 // 1931 // To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers 1932 // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) 1933 // API operation. To find the ARN for the target group, use the DescribeTargetGroups 1934 // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) 1935 // API operation. 1936 ResourceLabel *string `min:"1" type:"string"` 1937} 1938 1939// String returns the string representation 1940func (s PredefinedScalingMetricSpecification) String() string { 1941 return awsutil.Prettify(s) 1942} 1943 1944// GoString returns the string representation 1945func (s PredefinedScalingMetricSpecification) GoString() string { 1946 return s.String() 1947} 1948 1949// Validate inspects the fields of the type to determine if they are valid. 1950func (s *PredefinedScalingMetricSpecification) Validate() error { 1951 invalidParams := request.ErrInvalidParams{Context: "PredefinedScalingMetricSpecification"} 1952 if s.PredefinedScalingMetricType == nil { 1953 invalidParams.Add(request.NewErrParamRequired("PredefinedScalingMetricType")) 1954 } 1955 if s.ResourceLabel != nil && len(*s.ResourceLabel) < 1 { 1956 invalidParams.Add(request.NewErrParamMinLen("ResourceLabel", 1)) 1957 } 1958 1959 if invalidParams.Len() > 0 { 1960 return invalidParams 1961 } 1962 return nil 1963} 1964 1965// SetPredefinedScalingMetricType sets the PredefinedScalingMetricType field's value. 1966func (s *PredefinedScalingMetricSpecification) SetPredefinedScalingMetricType(v string) *PredefinedScalingMetricSpecification { 1967 s.PredefinedScalingMetricType = &v 1968 return s 1969} 1970 1971// SetResourceLabel sets the ResourceLabel field's value. 1972func (s *PredefinedScalingMetricSpecification) SetResourceLabel(v string) *PredefinedScalingMetricSpecification { 1973 s.ResourceLabel = &v 1974 return s 1975} 1976 1977// Describes a scaling instruction for a scalable resource in a scaling plan. 1978// Each scaling instruction applies to one resource. 1979// 1980// AWS Auto Scaling creates target tracking scaling policies based on the scaling 1981// instructions. Target tracking scaling policies adjust the capacity of your 1982// scalable resource as required to maintain resource utilization at the target 1983// value that you specified. 1984// 1985// AWS Auto Scaling also configures predictive scaling for your Amazon EC2 Auto 1986// Scaling groups using a subset of parameters, including the load metric, the 1987// scaling metric, the target value for the scaling metric, the predictive scaling 1988// mode (forecast and scale or forecast only), and the desired behavior when 1989// the forecast capacity exceeds the maximum capacity of the resource. With 1990// predictive scaling, AWS Auto Scaling generates forecasts with traffic predictions 1991// for the two days ahead and schedules scaling actions that proactively add 1992// and remove resource capacity to match the forecast. 1993// 1994// We recommend waiting a minimum of 24 hours after creating an Auto Scaling 1995// group to configure predictive scaling. At minimum, there must be 24 hours 1996// of historical data to generate a forecast. For more information, see Best 1997// Practices for AWS Auto Scaling (https://docs.aws.amazon.com/autoscaling/plans/userguide/gs-best-practices.html) 1998// in the AWS Auto Scaling User Guide. 1999type ScalingInstruction struct { 2000 _ struct{} `type:"structure"` 2001 2002 // The customized load metric to use for predictive scaling. This parameter 2003 // or a PredefinedLoadMetricSpecification is required when configuring predictive 2004 // scaling, and cannot be used otherwise. 2005 CustomizedLoadMetricSpecification *CustomizedLoadMetricSpecification `type:"structure"` 2006 2007 // Controls whether dynamic scaling by AWS Auto Scaling is disabled. When dynamic 2008 // scaling is enabled, AWS Auto Scaling creates target tracking scaling policies 2009 // based on the specified target tracking configurations. 2010 // 2011 // The default is enabled (false). 2012 DisableDynamicScaling *bool `type:"boolean"` 2013 2014 // The maximum capacity of the resource. The exception to this upper limit is 2015 // if you specify a non-default setting for PredictiveScalingMaxCapacityBehavior. 2016 // 2017 // MaxCapacity is a required field 2018 MaxCapacity *int64 `type:"integer" required:"true"` 2019 2020 // The minimum capacity of the resource. 2021 // 2022 // MinCapacity is a required field 2023 MinCapacity *int64 `type:"integer" required:"true"` 2024 2025 // The predefined load metric to use for predictive scaling. This parameter 2026 // or a CustomizedLoadMetricSpecification is required when configuring predictive 2027 // scaling, and cannot be used otherwise. 2028 PredefinedLoadMetricSpecification *PredefinedLoadMetricSpecification `type:"structure"` 2029 2030 // Defines the behavior that should be applied if the forecast capacity approaches 2031 // or exceeds the maximum capacity specified for the resource. The default value 2032 // is SetForecastCapacityToMaxCapacity. 2033 // 2034 // The following are possible values: 2035 // 2036 // * SetForecastCapacityToMaxCapacity - AWS Auto Scaling cannot scale resource 2037 // capacity higher than the maximum capacity. The maximum capacity is enforced 2038 // as a hard limit. 2039 // 2040 // * SetMaxCapacityToForecastCapacity - AWS Auto Scaling may scale resource 2041 // capacity higher than the maximum capacity to equal but not exceed forecast 2042 // capacity. 2043 // 2044 // * SetMaxCapacityAboveForecastCapacity - AWS Auto Scaling may scale resource 2045 // capacity higher than the maximum capacity by a specified buffer value. 2046 // The intention is to give the target tracking scaling policy extra capacity 2047 // if unexpected traffic occurs. 2048 // 2049 // Only valid when configuring predictive scaling. 2050 PredictiveScalingMaxCapacityBehavior *string `type:"string" enum:"PredictiveScalingMaxCapacityBehavior"` 2051 2052 // The size of the capacity buffer to use when the forecast capacity is close 2053 // to or exceeds the maximum capacity. The value is specified as a percentage 2054 // relative to the forecast capacity. For example, if the buffer is 10, this 2055 // means a 10 percent buffer, such that if the forecast capacity is 50, and 2056 // the maximum capacity is 40, then the effective maximum capacity is 55. 2057 // 2058 // Only valid when configuring predictive scaling. Required if the PredictiveScalingMaxCapacityBehavior 2059 // is set to SetMaxCapacityAboveForecastCapacity, and cannot be used otherwise. 2060 // 2061 // The range is 1-100. 2062 PredictiveScalingMaxCapacityBuffer *int64 `type:"integer"` 2063 2064 // The predictive scaling mode. The default value is ForecastAndScale. Otherwise, 2065 // AWS Auto Scaling forecasts capacity but does not create any scheduled scaling 2066 // actions based on the capacity forecast. 2067 PredictiveScalingMode *string `type:"string" enum:"PredictiveScalingMode"` 2068 2069 // The ID of the resource. This string consists of the resource type and unique 2070 // identifier. 2071 // 2072 // * Auto Scaling group - The resource type is autoScalingGroup and the unique 2073 // identifier is the name of the Auto Scaling group. Example: autoScalingGroup/my-asg. 2074 // 2075 // * ECS service - The resource type is service and the unique identifier 2076 // is the cluster name and service name. Example: service/default/sample-webapp. 2077 // 2078 // * Spot Fleet request - The resource type is spot-fleet-request and the 2079 // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 2080 // 2081 // * DynamoDB table - The resource type is table and the unique identifier 2082 // is the resource ID. Example: table/my-table. 2083 // 2084 // * DynamoDB global secondary index - The resource type is index and the 2085 // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. 2086 // 2087 // * Aurora DB cluster - The resource type is cluster and the unique identifier 2088 // is the cluster name. Example: cluster:my-db-cluster. 2089 // 2090 // ResourceId is a required field 2091 ResourceId *string `min:"1" type:"string" required:"true"` 2092 2093 // The scalable dimension associated with the resource. 2094 // 2095 // * autoscaling:autoScalingGroup:DesiredCapacity - The desired capacity 2096 // of an Auto Scaling group. 2097 // 2098 // * ecs:service:DesiredCount - The desired task count of an ECS service. 2099 // 2100 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 2101 // Fleet request. 2102 // 2103 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 2104 // a DynamoDB table. 2105 // 2106 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 2107 // a DynamoDB table. 2108 // 2109 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 2110 // a DynamoDB global secondary index. 2111 // 2112 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 2113 // a DynamoDB global secondary index. 2114 // 2115 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 2116 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 2117 // edition. 2118 // 2119 // ScalableDimension is a required field 2120 ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` 2121 2122 // Controls whether a resource's externally created scaling policies are kept 2123 // or replaced. 2124 // 2125 // The default value is KeepExternalPolicies. If the parameter is set to ReplaceExternalPolicies, 2126 // any scaling policies that are external to AWS Auto Scaling are deleted and 2127 // new target tracking scaling policies created. 2128 // 2129 // Only valid when configuring dynamic scaling. 2130 // 2131 // Condition: The number of existing policies to be replaced must be less than 2132 // or equal to 50. If there are more than 50 policies to be replaced, AWS Auto 2133 // Scaling keeps all existing policies and does not create new ones. 2134 ScalingPolicyUpdateBehavior *string `type:"string" enum:"ScalingPolicyUpdateBehavior"` 2135 2136 // The amount of time, in seconds, to buffer the run time of scheduled scaling 2137 // actions when scaling out. For example, if the forecast says to add capacity 2138 // at 10:00 AM, and the buffer time is 5 minutes, then the run time of the corresponding 2139 // scheduled scaling action will be 9:55 AM. The intention is to give resources 2140 // time to be provisioned. For example, it can take a few minutes to launch 2141 // an EC2 instance. The actual amount of time required depends on several factors, 2142 // such as the size of the instance and whether there are startup scripts to 2143 // complete. 2144 // 2145 // The value must be less than the forecast interval duration of 3600 seconds 2146 // (60 minutes). The default is 300 seconds. 2147 // 2148 // Only valid when configuring predictive scaling. 2149 ScheduledActionBufferTime *int64 `type:"integer"` 2150 2151 // The namespace of the AWS service. 2152 // 2153 // ServiceNamespace is a required field 2154 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 2155 2156 // The target tracking configurations (up to 10). Each of these structures must 2157 // specify a unique scaling metric and a target value for the metric. 2158 // 2159 // TargetTrackingConfigurations is a required field 2160 TargetTrackingConfigurations []*TargetTrackingConfiguration `type:"list" required:"true"` 2161} 2162 2163// String returns the string representation 2164func (s ScalingInstruction) String() string { 2165 return awsutil.Prettify(s) 2166} 2167 2168// GoString returns the string representation 2169func (s ScalingInstruction) GoString() string { 2170 return s.String() 2171} 2172 2173// Validate inspects the fields of the type to determine if they are valid. 2174func (s *ScalingInstruction) Validate() error { 2175 invalidParams := request.ErrInvalidParams{Context: "ScalingInstruction"} 2176 if s.MaxCapacity == nil { 2177 invalidParams.Add(request.NewErrParamRequired("MaxCapacity")) 2178 } 2179 if s.MinCapacity == nil { 2180 invalidParams.Add(request.NewErrParamRequired("MinCapacity")) 2181 } 2182 if s.ResourceId == nil { 2183 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 2184 } 2185 if s.ResourceId != nil && len(*s.ResourceId) < 1 { 2186 invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) 2187 } 2188 if s.ScalableDimension == nil { 2189 invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) 2190 } 2191 if s.ServiceNamespace == nil { 2192 invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) 2193 } 2194 if s.TargetTrackingConfigurations == nil { 2195 invalidParams.Add(request.NewErrParamRequired("TargetTrackingConfigurations")) 2196 } 2197 if s.CustomizedLoadMetricSpecification != nil { 2198 if err := s.CustomizedLoadMetricSpecification.Validate(); err != nil { 2199 invalidParams.AddNested("CustomizedLoadMetricSpecification", err.(request.ErrInvalidParams)) 2200 } 2201 } 2202 if s.PredefinedLoadMetricSpecification != nil { 2203 if err := s.PredefinedLoadMetricSpecification.Validate(); err != nil { 2204 invalidParams.AddNested("PredefinedLoadMetricSpecification", err.(request.ErrInvalidParams)) 2205 } 2206 } 2207 if s.TargetTrackingConfigurations != nil { 2208 for i, v := range s.TargetTrackingConfigurations { 2209 if v == nil { 2210 continue 2211 } 2212 if err := v.Validate(); err != nil { 2213 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetTrackingConfigurations", i), err.(request.ErrInvalidParams)) 2214 } 2215 } 2216 } 2217 2218 if invalidParams.Len() > 0 { 2219 return invalidParams 2220 } 2221 return nil 2222} 2223 2224// SetCustomizedLoadMetricSpecification sets the CustomizedLoadMetricSpecification field's value. 2225func (s *ScalingInstruction) SetCustomizedLoadMetricSpecification(v *CustomizedLoadMetricSpecification) *ScalingInstruction { 2226 s.CustomizedLoadMetricSpecification = v 2227 return s 2228} 2229 2230// SetDisableDynamicScaling sets the DisableDynamicScaling field's value. 2231func (s *ScalingInstruction) SetDisableDynamicScaling(v bool) *ScalingInstruction { 2232 s.DisableDynamicScaling = &v 2233 return s 2234} 2235 2236// SetMaxCapacity sets the MaxCapacity field's value. 2237func (s *ScalingInstruction) SetMaxCapacity(v int64) *ScalingInstruction { 2238 s.MaxCapacity = &v 2239 return s 2240} 2241 2242// SetMinCapacity sets the MinCapacity field's value. 2243func (s *ScalingInstruction) SetMinCapacity(v int64) *ScalingInstruction { 2244 s.MinCapacity = &v 2245 return s 2246} 2247 2248// SetPredefinedLoadMetricSpecification sets the PredefinedLoadMetricSpecification field's value. 2249func (s *ScalingInstruction) SetPredefinedLoadMetricSpecification(v *PredefinedLoadMetricSpecification) *ScalingInstruction { 2250 s.PredefinedLoadMetricSpecification = v 2251 return s 2252} 2253 2254// SetPredictiveScalingMaxCapacityBehavior sets the PredictiveScalingMaxCapacityBehavior field's value. 2255func (s *ScalingInstruction) SetPredictiveScalingMaxCapacityBehavior(v string) *ScalingInstruction { 2256 s.PredictiveScalingMaxCapacityBehavior = &v 2257 return s 2258} 2259 2260// SetPredictiveScalingMaxCapacityBuffer sets the PredictiveScalingMaxCapacityBuffer field's value. 2261func (s *ScalingInstruction) SetPredictiveScalingMaxCapacityBuffer(v int64) *ScalingInstruction { 2262 s.PredictiveScalingMaxCapacityBuffer = &v 2263 return s 2264} 2265 2266// SetPredictiveScalingMode sets the PredictiveScalingMode field's value. 2267func (s *ScalingInstruction) SetPredictiveScalingMode(v string) *ScalingInstruction { 2268 s.PredictiveScalingMode = &v 2269 return s 2270} 2271 2272// SetResourceId sets the ResourceId field's value. 2273func (s *ScalingInstruction) SetResourceId(v string) *ScalingInstruction { 2274 s.ResourceId = &v 2275 return s 2276} 2277 2278// SetScalableDimension sets the ScalableDimension field's value. 2279func (s *ScalingInstruction) SetScalableDimension(v string) *ScalingInstruction { 2280 s.ScalableDimension = &v 2281 return s 2282} 2283 2284// SetScalingPolicyUpdateBehavior sets the ScalingPolicyUpdateBehavior field's value. 2285func (s *ScalingInstruction) SetScalingPolicyUpdateBehavior(v string) *ScalingInstruction { 2286 s.ScalingPolicyUpdateBehavior = &v 2287 return s 2288} 2289 2290// SetScheduledActionBufferTime sets the ScheduledActionBufferTime field's value. 2291func (s *ScalingInstruction) SetScheduledActionBufferTime(v int64) *ScalingInstruction { 2292 s.ScheduledActionBufferTime = &v 2293 return s 2294} 2295 2296// SetServiceNamespace sets the ServiceNamespace field's value. 2297func (s *ScalingInstruction) SetServiceNamespace(v string) *ScalingInstruction { 2298 s.ServiceNamespace = &v 2299 return s 2300} 2301 2302// SetTargetTrackingConfigurations sets the TargetTrackingConfigurations field's value. 2303func (s *ScalingInstruction) SetTargetTrackingConfigurations(v []*TargetTrackingConfiguration) *ScalingInstruction { 2304 s.TargetTrackingConfigurations = v 2305 return s 2306} 2307 2308// Represents a scaling plan. 2309type ScalingPlan struct { 2310 _ struct{} `type:"structure"` 2311 2312 // A CloudFormation stack or a set of tags. You can create one scaling plan 2313 // per application source. 2314 // 2315 // ApplicationSource is a required field 2316 ApplicationSource *ApplicationSource `type:"structure" required:"true"` 2317 2318 // The Unix time stamp when the scaling plan was created. 2319 CreationTime *time.Time `type:"timestamp"` 2320 2321 // The scaling instructions. 2322 // 2323 // ScalingInstructions is a required field 2324 ScalingInstructions []*ScalingInstruction `type:"list" required:"true"` 2325 2326 // The name of the scaling plan. 2327 // 2328 // ScalingPlanName is a required field 2329 ScalingPlanName *string `min:"1" type:"string" required:"true"` 2330 2331 // The version number of the scaling plan. 2332 // 2333 // ScalingPlanVersion is a required field 2334 ScalingPlanVersion *int64 `type:"long" required:"true"` 2335 2336 // The status of the scaling plan. 2337 // 2338 // * Active - The scaling plan is active. 2339 // 2340 // * ActiveWithProblems - The scaling plan is active, but the scaling configuration 2341 // for one or more resources could not be applied. 2342 // 2343 // * CreationInProgress - The scaling plan is being created. 2344 // 2345 // * CreationFailed - The scaling plan could not be created. 2346 // 2347 // * DeletionInProgress - The scaling plan is being deleted. 2348 // 2349 // * DeletionFailed - The scaling plan could not be deleted. 2350 // 2351 // * UpdateInProgress - The scaling plan is being updated. 2352 // 2353 // * UpdateFailed - The scaling plan could not be updated. 2354 // 2355 // StatusCode is a required field 2356 StatusCode *string `type:"string" required:"true" enum:"ScalingPlanStatusCode"` 2357 2358 // A simple message about the current status of the scaling plan. 2359 StatusMessage *string `type:"string"` 2360 2361 // The Unix time stamp when the scaling plan entered the current status. 2362 StatusStartTime *time.Time `type:"timestamp"` 2363} 2364 2365// String returns the string representation 2366func (s ScalingPlan) String() string { 2367 return awsutil.Prettify(s) 2368} 2369 2370// GoString returns the string representation 2371func (s ScalingPlan) GoString() string { 2372 return s.String() 2373} 2374 2375// SetApplicationSource sets the ApplicationSource field's value. 2376func (s *ScalingPlan) SetApplicationSource(v *ApplicationSource) *ScalingPlan { 2377 s.ApplicationSource = v 2378 return s 2379} 2380 2381// SetCreationTime sets the CreationTime field's value. 2382func (s *ScalingPlan) SetCreationTime(v time.Time) *ScalingPlan { 2383 s.CreationTime = &v 2384 return s 2385} 2386 2387// SetScalingInstructions sets the ScalingInstructions field's value. 2388func (s *ScalingPlan) SetScalingInstructions(v []*ScalingInstruction) *ScalingPlan { 2389 s.ScalingInstructions = v 2390 return s 2391} 2392 2393// SetScalingPlanName sets the ScalingPlanName field's value. 2394func (s *ScalingPlan) SetScalingPlanName(v string) *ScalingPlan { 2395 s.ScalingPlanName = &v 2396 return s 2397} 2398 2399// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 2400func (s *ScalingPlan) SetScalingPlanVersion(v int64) *ScalingPlan { 2401 s.ScalingPlanVersion = &v 2402 return s 2403} 2404 2405// SetStatusCode sets the StatusCode field's value. 2406func (s *ScalingPlan) SetStatusCode(v string) *ScalingPlan { 2407 s.StatusCode = &v 2408 return s 2409} 2410 2411// SetStatusMessage sets the StatusMessage field's value. 2412func (s *ScalingPlan) SetStatusMessage(v string) *ScalingPlan { 2413 s.StatusMessage = &v 2414 return s 2415} 2416 2417// SetStatusStartTime sets the StatusStartTime field's value. 2418func (s *ScalingPlan) SetStatusStartTime(v time.Time) *ScalingPlan { 2419 s.StatusStartTime = &v 2420 return s 2421} 2422 2423// Represents a scalable resource. 2424type ScalingPlanResource struct { 2425 _ struct{} `type:"structure"` 2426 2427 // The ID of the resource. This string consists of the resource type and unique 2428 // identifier. 2429 // 2430 // * Auto Scaling group - The resource type is autoScalingGroup and the unique 2431 // identifier is the name of the Auto Scaling group. Example: autoScalingGroup/my-asg. 2432 // 2433 // * ECS service - The resource type is service and the unique identifier 2434 // is the cluster name and service name. Example: service/default/sample-webapp. 2435 // 2436 // * Spot Fleet request - The resource type is spot-fleet-request and the 2437 // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 2438 // 2439 // * DynamoDB table - The resource type is table and the unique identifier 2440 // is the resource ID. Example: table/my-table. 2441 // 2442 // * DynamoDB global secondary index - The resource type is index and the 2443 // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. 2444 // 2445 // * Aurora DB cluster - The resource type is cluster and the unique identifier 2446 // is the cluster name. Example: cluster:my-db-cluster. 2447 // 2448 // ResourceId is a required field 2449 ResourceId *string `min:"1" type:"string" required:"true"` 2450 2451 // The scalable dimension for the resource. 2452 // 2453 // * autoscaling:autoScalingGroup:DesiredCapacity - The desired capacity 2454 // of an Auto Scaling group. 2455 // 2456 // * ecs:service:DesiredCount - The desired task count of an ECS service. 2457 // 2458 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 2459 // Fleet request. 2460 // 2461 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 2462 // a DynamoDB table. 2463 // 2464 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 2465 // a DynamoDB table. 2466 // 2467 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 2468 // a DynamoDB global secondary index. 2469 // 2470 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 2471 // a DynamoDB global secondary index. 2472 // 2473 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 2474 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 2475 // edition. 2476 // 2477 // ScalableDimension is a required field 2478 ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` 2479 2480 // The name of the scaling plan. 2481 // 2482 // ScalingPlanName is a required field 2483 ScalingPlanName *string `min:"1" type:"string" required:"true"` 2484 2485 // The version number of the scaling plan. 2486 // 2487 // ScalingPlanVersion is a required field 2488 ScalingPlanVersion *int64 `type:"long" required:"true"` 2489 2490 // The scaling policies. 2491 ScalingPolicies []*ScalingPolicy `type:"list"` 2492 2493 // The scaling status of the resource. 2494 // 2495 // * Active - The scaling configuration is active. 2496 // 2497 // * Inactive - The scaling configuration is not active because the scaling 2498 // plan is being created or the scaling configuration could not be applied. 2499 // Check the status message for more information. 2500 // 2501 // * PartiallyActive - The scaling configuration is partially active because 2502 // the scaling plan is being created or deleted or the scaling configuration 2503 // could not be fully applied. Check the status message for more information. 2504 // 2505 // ScalingStatusCode is a required field 2506 ScalingStatusCode *string `type:"string" required:"true" enum:"ScalingStatusCode"` 2507 2508 // A simple message about the current scaling status of the resource. 2509 ScalingStatusMessage *string `type:"string"` 2510 2511 // The namespace of the AWS service. 2512 // 2513 // ServiceNamespace is a required field 2514 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 2515} 2516 2517// String returns the string representation 2518func (s ScalingPlanResource) String() string { 2519 return awsutil.Prettify(s) 2520} 2521 2522// GoString returns the string representation 2523func (s ScalingPlanResource) GoString() string { 2524 return s.String() 2525} 2526 2527// SetResourceId sets the ResourceId field's value. 2528func (s *ScalingPlanResource) SetResourceId(v string) *ScalingPlanResource { 2529 s.ResourceId = &v 2530 return s 2531} 2532 2533// SetScalableDimension sets the ScalableDimension field's value. 2534func (s *ScalingPlanResource) SetScalableDimension(v string) *ScalingPlanResource { 2535 s.ScalableDimension = &v 2536 return s 2537} 2538 2539// SetScalingPlanName sets the ScalingPlanName field's value. 2540func (s *ScalingPlanResource) SetScalingPlanName(v string) *ScalingPlanResource { 2541 s.ScalingPlanName = &v 2542 return s 2543} 2544 2545// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 2546func (s *ScalingPlanResource) SetScalingPlanVersion(v int64) *ScalingPlanResource { 2547 s.ScalingPlanVersion = &v 2548 return s 2549} 2550 2551// SetScalingPolicies sets the ScalingPolicies field's value. 2552func (s *ScalingPlanResource) SetScalingPolicies(v []*ScalingPolicy) *ScalingPlanResource { 2553 s.ScalingPolicies = v 2554 return s 2555} 2556 2557// SetScalingStatusCode sets the ScalingStatusCode field's value. 2558func (s *ScalingPlanResource) SetScalingStatusCode(v string) *ScalingPlanResource { 2559 s.ScalingStatusCode = &v 2560 return s 2561} 2562 2563// SetScalingStatusMessage sets the ScalingStatusMessage field's value. 2564func (s *ScalingPlanResource) SetScalingStatusMessage(v string) *ScalingPlanResource { 2565 s.ScalingStatusMessage = &v 2566 return s 2567} 2568 2569// SetServiceNamespace sets the ServiceNamespace field's value. 2570func (s *ScalingPlanResource) SetServiceNamespace(v string) *ScalingPlanResource { 2571 s.ServiceNamespace = &v 2572 return s 2573} 2574 2575// Represents a scaling policy. 2576type ScalingPolicy struct { 2577 _ struct{} `type:"structure"` 2578 2579 // The name of the scaling policy. 2580 // 2581 // PolicyName is a required field 2582 PolicyName *string `min:"1" type:"string" required:"true"` 2583 2584 // The type of scaling policy. 2585 // 2586 // PolicyType is a required field 2587 PolicyType *string `type:"string" required:"true" enum:"PolicyType"` 2588 2589 // The target tracking scaling policy. Includes support for predefined or customized 2590 // metrics. 2591 TargetTrackingConfiguration *TargetTrackingConfiguration `type:"structure"` 2592} 2593 2594// String returns the string representation 2595func (s ScalingPolicy) String() string { 2596 return awsutil.Prettify(s) 2597} 2598 2599// GoString returns the string representation 2600func (s ScalingPolicy) GoString() string { 2601 return s.String() 2602} 2603 2604// SetPolicyName sets the PolicyName field's value. 2605func (s *ScalingPolicy) SetPolicyName(v string) *ScalingPolicy { 2606 s.PolicyName = &v 2607 return s 2608} 2609 2610// SetPolicyType sets the PolicyType field's value. 2611func (s *ScalingPolicy) SetPolicyType(v string) *ScalingPolicy { 2612 s.PolicyType = &v 2613 return s 2614} 2615 2616// SetTargetTrackingConfiguration sets the TargetTrackingConfiguration field's value. 2617func (s *ScalingPolicy) SetTargetTrackingConfiguration(v *TargetTrackingConfiguration) *ScalingPolicy { 2618 s.TargetTrackingConfiguration = v 2619 return s 2620} 2621 2622// Represents a tag. 2623type TagFilter struct { 2624 _ struct{} `type:"structure"` 2625 2626 // The tag key. 2627 Key *string `min:"1" type:"string"` 2628 2629 // The tag values (0 to 20). 2630 Values []*string `type:"list"` 2631} 2632 2633// String returns the string representation 2634func (s TagFilter) String() string { 2635 return awsutil.Prettify(s) 2636} 2637 2638// GoString returns the string representation 2639func (s TagFilter) GoString() string { 2640 return s.String() 2641} 2642 2643// Validate inspects the fields of the type to determine if they are valid. 2644func (s *TagFilter) Validate() error { 2645 invalidParams := request.ErrInvalidParams{Context: "TagFilter"} 2646 if s.Key != nil && len(*s.Key) < 1 { 2647 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 2648 } 2649 2650 if invalidParams.Len() > 0 { 2651 return invalidParams 2652 } 2653 return nil 2654} 2655 2656// SetKey sets the Key field's value. 2657func (s *TagFilter) SetKey(v string) *TagFilter { 2658 s.Key = &v 2659 return s 2660} 2661 2662// SetValues sets the Values field's value. 2663func (s *TagFilter) SetValues(v []*string) *TagFilter { 2664 s.Values = v 2665 return s 2666} 2667 2668// Describes a target tracking configuration to use with AWS Auto Scaling. Used 2669// with ScalingInstruction and ScalingPolicy. 2670type TargetTrackingConfiguration struct { 2671 _ struct{} `type:"structure"` 2672 2673 // A customized metric. You can specify either a predefined metric or a customized 2674 // metric. 2675 CustomizedScalingMetricSpecification *CustomizedScalingMetricSpecification `type:"structure"` 2676 2677 // Indicates whether scale in by the target tracking scaling policy is disabled. 2678 // If the value is true, scale in is disabled and the target tracking scaling 2679 // policy doesn't remove capacity from the scalable resource. Otherwise, scale 2680 // in is enabled and the target tracking scaling policy can remove capacity 2681 // from the scalable resource. 2682 // 2683 // The default value is false. 2684 DisableScaleIn *bool `type:"boolean"` 2685 2686 // The estimated time, in seconds, until a newly launched instance can contribute 2687 // to the CloudWatch metrics. This value is used only if the resource is an 2688 // Auto Scaling group. 2689 EstimatedInstanceWarmup *int64 `type:"integer"` 2690 2691 // A predefined metric. You can specify either a predefined metric or a customized 2692 // metric. 2693 PredefinedScalingMetricSpecification *PredefinedScalingMetricSpecification `type:"structure"` 2694 2695 // The amount of time, in seconds, after a scale-in activity completes before 2696 // another scale-in activity can start. This property is not used if the scalable 2697 // resource is an Auto Scaling group. 2698 // 2699 // With the scale-in cooldown period, the intention is to scale in conservatively 2700 // to protect your application’s availability, so scale-in activities are 2701 // blocked until the cooldown period has expired. However, if another alarm 2702 // triggers a scale-out activity during the scale-in cooldown period, Auto Scaling 2703 // scales out the target immediately. In this case, the scale-in cooldown period 2704 // stops and doesn't complete. 2705 ScaleInCooldown *int64 `type:"integer"` 2706 2707 // The amount of time, in seconds, to wait for a previous scale-out activity 2708 // to take effect. This property is not used if the scalable resource is an 2709 // Auto Scaling group. 2710 // 2711 // With the scale-out cooldown period, the intention is to continuously (but 2712 // not excessively) scale out. After Auto Scaling successfully scales out using 2713 // a target tracking scaling policy, it starts to calculate the cooldown time. 2714 // The scaling policy won't increase the desired capacity again unless either 2715 // a larger scale out is triggered or the cooldown period ends. 2716 ScaleOutCooldown *int64 `type:"integer"` 2717 2718 // The target value for the metric. Although this property accepts numbers of 2719 // type Double, it won't accept values that are either too small or too large. 2720 // Values must be in the range of -2^360 to 2^360. 2721 // 2722 // TargetValue is a required field 2723 TargetValue *float64 `type:"double" required:"true"` 2724} 2725 2726// String returns the string representation 2727func (s TargetTrackingConfiguration) String() string { 2728 return awsutil.Prettify(s) 2729} 2730 2731// GoString returns the string representation 2732func (s TargetTrackingConfiguration) GoString() string { 2733 return s.String() 2734} 2735 2736// Validate inspects the fields of the type to determine if they are valid. 2737func (s *TargetTrackingConfiguration) Validate() error { 2738 invalidParams := request.ErrInvalidParams{Context: "TargetTrackingConfiguration"} 2739 if s.TargetValue == nil { 2740 invalidParams.Add(request.NewErrParamRequired("TargetValue")) 2741 } 2742 if s.CustomizedScalingMetricSpecification != nil { 2743 if err := s.CustomizedScalingMetricSpecification.Validate(); err != nil { 2744 invalidParams.AddNested("CustomizedScalingMetricSpecification", err.(request.ErrInvalidParams)) 2745 } 2746 } 2747 if s.PredefinedScalingMetricSpecification != nil { 2748 if err := s.PredefinedScalingMetricSpecification.Validate(); err != nil { 2749 invalidParams.AddNested("PredefinedScalingMetricSpecification", err.(request.ErrInvalidParams)) 2750 } 2751 } 2752 2753 if invalidParams.Len() > 0 { 2754 return invalidParams 2755 } 2756 return nil 2757} 2758 2759// SetCustomizedScalingMetricSpecification sets the CustomizedScalingMetricSpecification field's value. 2760func (s *TargetTrackingConfiguration) SetCustomizedScalingMetricSpecification(v *CustomizedScalingMetricSpecification) *TargetTrackingConfiguration { 2761 s.CustomizedScalingMetricSpecification = v 2762 return s 2763} 2764 2765// SetDisableScaleIn sets the DisableScaleIn field's value. 2766func (s *TargetTrackingConfiguration) SetDisableScaleIn(v bool) *TargetTrackingConfiguration { 2767 s.DisableScaleIn = &v 2768 return s 2769} 2770 2771// SetEstimatedInstanceWarmup sets the EstimatedInstanceWarmup field's value. 2772func (s *TargetTrackingConfiguration) SetEstimatedInstanceWarmup(v int64) *TargetTrackingConfiguration { 2773 s.EstimatedInstanceWarmup = &v 2774 return s 2775} 2776 2777// SetPredefinedScalingMetricSpecification sets the PredefinedScalingMetricSpecification field's value. 2778func (s *TargetTrackingConfiguration) SetPredefinedScalingMetricSpecification(v *PredefinedScalingMetricSpecification) *TargetTrackingConfiguration { 2779 s.PredefinedScalingMetricSpecification = v 2780 return s 2781} 2782 2783// SetScaleInCooldown sets the ScaleInCooldown field's value. 2784func (s *TargetTrackingConfiguration) SetScaleInCooldown(v int64) *TargetTrackingConfiguration { 2785 s.ScaleInCooldown = &v 2786 return s 2787} 2788 2789// SetScaleOutCooldown sets the ScaleOutCooldown field's value. 2790func (s *TargetTrackingConfiguration) SetScaleOutCooldown(v int64) *TargetTrackingConfiguration { 2791 s.ScaleOutCooldown = &v 2792 return s 2793} 2794 2795// SetTargetValue sets the TargetValue field's value. 2796func (s *TargetTrackingConfiguration) SetTargetValue(v float64) *TargetTrackingConfiguration { 2797 s.TargetValue = &v 2798 return s 2799} 2800 2801type UpdateScalingPlanInput struct { 2802 _ struct{} `type:"structure"` 2803 2804 // A CloudFormation stack or set of tags. 2805 // 2806 // For more information, see ApplicationSource (https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ApplicationSource.html) 2807 // in the AWS Auto Scaling API Reference. 2808 ApplicationSource *ApplicationSource `type:"structure"` 2809 2810 // The scaling instructions. 2811 // 2812 // For more information, see ScalingInstruction (https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ScalingInstruction.html) 2813 // in the AWS Auto Scaling API Reference. 2814 ScalingInstructions []*ScalingInstruction `type:"list"` 2815 2816 // The name of the scaling plan. 2817 // 2818 // ScalingPlanName is a required field 2819 ScalingPlanName *string `min:"1" type:"string" required:"true"` 2820 2821 // The version number of the scaling plan. The only valid value is 1. Currently, 2822 // you cannot have multiple scaling plan versions. 2823 // 2824 // ScalingPlanVersion is a required field 2825 ScalingPlanVersion *int64 `type:"long" required:"true"` 2826} 2827 2828// String returns the string representation 2829func (s UpdateScalingPlanInput) String() string { 2830 return awsutil.Prettify(s) 2831} 2832 2833// GoString returns the string representation 2834func (s UpdateScalingPlanInput) GoString() string { 2835 return s.String() 2836} 2837 2838// Validate inspects the fields of the type to determine if they are valid. 2839func (s *UpdateScalingPlanInput) Validate() error { 2840 invalidParams := request.ErrInvalidParams{Context: "UpdateScalingPlanInput"} 2841 if s.ScalingPlanName == nil { 2842 invalidParams.Add(request.NewErrParamRequired("ScalingPlanName")) 2843 } 2844 if s.ScalingPlanName != nil && len(*s.ScalingPlanName) < 1 { 2845 invalidParams.Add(request.NewErrParamMinLen("ScalingPlanName", 1)) 2846 } 2847 if s.ScalingPlanVersion == nil { 2848 invalidParams.Add(request.NewErrParamRequired("ScalingPlanVersion")) 2849 } 2850 if s.ApplicationSource != nil { 2851 if err := s.ApplicationSource.Validate(); err != nil { 2852 invalidParams.AddNested("ApplicationSource", err.(request.ErrInvalidParams)) 2853 } 2854 } 2855 if s.ScalingInstructions != nil { 2856 for i, v := range s.ScalingInstructions { 2857 if v == nil { 2858 continue 2859 } 2860 if err := v.Validate(); err != nil { 2861 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScalingInstructions", i), err.(request.ErrInvalidParams)) 2862 } 2863 } 2864 } 2865 2866 if invalidParams.Len() > 0 { 2867 return invalidParams 2868 } 2869 return nil 2870} 2871 2872// SetApplicationSource sets the ApplicationSource field's value. 2873func (s *UpdateScalingPlanInput) SetApplicationSource(v *ApplicationSource) *UpdateScalingPlanInput { 2874 s.ApplicationSource = v 2875 return s 2876} 2877 2878// SetScalingInstructions sets the ScalingInstructions field's value. 2879func (s *UpdateScalingPlanInput) SetScalingInstructions(v []*ScalingInstruction) *UpdateScalingPlanInput { 2880 s.ScalingInstructions = v 2881 return s 2882} 2883 2884// SetScalingPlanName sets the ScalingPlanName field's value. 2885func (s *UpdateScalingPlanInput) SetScalingPlanName(v string) *UpdateScalingPlanInput { 2886 s.ScalingPlanName = &v 2887 return s 2888} 2889 2890// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 2891func (s *UpdateScalingPlanInput) SetScalingPlanVersion(v int64) *UpdateScalingPlanInput { 2892 s.ScalingPlanVersion = &v 2893 return s 2894} 2895 2896type UpdateScalingPlanOutput struct { 2897 _ struct{} `type:"structure"` 2898} 2899 2900// String returns the string representation 2901func (s UpdateScalingPlanOutput) String() string { 2902 return awsutil.Prettify(s) 2903} 2904 2905// GoString returns the string representation 2906func (s UpdateScalingPlanOutput) GoString() string { 2907 return s.String() 2908} 2909 2910// An exception was thrown for a validation issue. Review the parameters provided. 2911type ValidationException struct { 2912 _ struct{} `type:"structure"` 2913 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2914 2915 Message_ *string `locationName:"Message" type:"string"` 2916} 2917 2918// String returns the string representation 2919func (s ValidationException) String() string { 2920 return awsutil.Prettify(s) 2921} 2922 2923// GoString returns the string representation 2924func (s ValidationException) GoString() string { 2925 return s.String() 2926} 2927 2928func newErrorValidationException(v protocol.ResponseMetadata) error { 2929 return &ValidationException{ 2930 RespMetadata: v, 2931 } 2932} 2933 2934// Code returns the exception type name. 2935func (s *ValidationException) Code() string { 2936 return "ValidationException" 2937} 2938 2939// Message returns the exception's message. 2940func (s *ValidationException) Message() string { 2941 if s.Message_ != nil { 2942 return *s.Message_ 2943 } 2944 return "" 2945} 2946 2947// OrigErr always returns nil, satisfies awserr.Error interface. 2948func (s *ValidationException) OrigErr() error { 2949 return nil 2950} 2951 2952func (s *ValidationException) Error() string { 2953 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2954} 2955 2956// Status code returns the HTTP status code for the request's response error. 2957func (s *ValidationException) StatusCode() int { 2958 return s.RespMetadata.StatusCode 2959} 2960 2961// RequestID returns the service's response RequestID for request. 2962func (s *ValidationException) RequestID() string { 2963 return s.RespMetadata.RequestID 2964} 2965 2966const ( 2967 // ForecastDataTypeCapacityForecast is a ForecastDataType enum value 2968 ForecastDataTypeCapacityForecast = "CapacityForecast" 2969 2970 // ForecastDataTypeLoadForecast is a ForecastDataType enum value 2971 ForecastDataTypeLoadForecast = "LoadForecast" 2972 2973 // ForecastDataTypeScheduledActionMinCapacity is a ForecastDataType enum value 2974 ForecastDataTypeScheduledActionMinCapacity = "ScheduledActionMinCapacity" 2975 2976 // ForecastDataTypeScheduledActionMaxCapacity is a ForecastDataType enum value 2977 ForecastDataTypeScheduledActionMaxCapacity = "ScheduledActionMaxCapacity" 2978) 2979 2980// ForecastDataType_Values returns all elements of the ForecastDataType enum 2981func ForecastDataType_Values() []string { 2982 return []string{ 2983 ForecastDataTypeCapacityForecast, 2984 ForecastDataTypeLoadForecast, 2985 ForecastDataTypeScheduledActionMinCapacity, 2986 ForecastDataTypeScheduledActionMaxCapacity, 2987 } 2988} 2989 2990const ( 2991 // LoadMetricTypeAsgtotalCpuutilization is a LoadMetricType enum value 2992 LoadMetricTypeAsgtotalCpuutilization = "ASGTotalCPUUtilization" 2993 2994 // LoadMetricTypeAsgtotalNetworkIn is a LoadMetricType enum value 2995 LoadMetricTypeAsgtotalNetworkIn = "ASGTotalNetworkIn" 2996 2997 // LoadMetricTypeAsgtotalNetworkOut is a LoadMetricType enum value 2998 LoadMetricTypeAsgtotalNetworkOut = "ASGTotalNetworkOut" 2999 3000 // LoadMetricTypeAlbtargetGroupRequestCount is a LoadMetricType enum value 3001 LoadMetricTypeAlbtargetGroupRequestCount = "ALBTargetGroupRequestCount" 3002) 3003 3004// LoadMetricType_Values returns all elements of the LoadMetricType enum 3005func LoadMetricType_Values() []string { 3006 return []string{ 3007 LoadMetricTypeAsgtotalCpuutilization, 3008 LoadMetricTypeAsgtotalNetworkIn, 3009 LoadMetricTypeAsgtotalNetworkOut, 3010 LoadMetricTypeAlbtargetGroupRequestCount, 3011 } 3012} 3013 3014const ( 3015 // MetricStatisticAverage is a MetricStatistic enum value 3016 MetricStatisticAverage = "Average" 3017 3018 // MetricStatisticMinimum is a MetricStatistic enum value 3019 MetricStatisticMinimum = "Minimum" 3020 3021 // MetricStatisticMaximum is a MetricStatistic enum value 3022 MetricStatisticMaximum = "Maximum" 3023 3024 // MetricStatisticSampleCount is a MetricStatistic enum value 3025 MetricStatisticSampleCount = "SampleCount" 3026 3027 // MetricStatisticSum is a MetricStatistic enum value 3028 MetricStatisticSum = "Sum" 3029) 3030 3031// MetricStatistic_Values returns all elements of the MetricStatistic enum 3032func MetricStatistic_Values() []string { 3033 return []string{ 3034 MetricStatisticAverage, 3035 MetricStatisticMinimum, 3036 MetricStatisticMaximum, 3037 MetricStatisticSampleCount, 3038 MetricStatisticSum, 3039 } 3040} 3041 3042const ( 3043 // PolicyTypeTargetTrackingScaling is a PolicyType enum value 3044 PolicyTypeTargetTrackingScaling = "TargetTrackingScaling" 3045) 3046 3047// PolicyType_Values returns all elements of the PolicyType enum 3048func PolicyType_Values() []string { 3049 return []string{ 3050 PolicyTypeTargetTrackingScaling, 3051 } 3052} 3053 3054const ( 3055 // PredictiveScalingMaxCapacityBehaviorSetForecastCapacityToMaxCapacity is a PredictiveScalingMaxCapacityBehavior enum value 3056 PredictiveScalingMaxCapacityBehaviorSetForecastCapacityToMaxCapacity = "SetForecastCapacityToMaxCapacity" 3057 3058 // PredictiveScalingMaxCapacityBehaviorSetMaxCapacityToForecastCapacity is a PredictiveScalingMaxCapacityBehavior enum value 3059 PredictiveScalingMaxCapacityBehaviorSetMaxCapacityToForecastCapacity = "SetMaxCapacityToForecastCapacity" 3060 3061 // PredictiveScalingMaxCapacityBehaviorSetMaxCapacityAboveForecastCapacity is a PredictiveScalingMaxCapacityBehavior enum value 3062 PredictiveScalingMaxCapacityBehaviorSetMaxCapacityAboveForecastCapacity = "SetMaxCapacityAboveForecastCapacity" 3063) 3064 3065// PredictiveScalingMaxCapacityBehavior_Values returns all elements of the PredictiveScalingMaxCapacityBehavior enum 3066func PredictiveScalingMaxCapacityBehavior_Values() []string { 3067 return []string{ 3068 PredictiveScalingMaxCapacityBehaviorSetForecastCapacityToMaxCapacity, 3069 PredictiveScalingMaxCapacityBehaviorSetMaxCapacityToForecastCapacity, 3070 PredictiveScalingMaxCapacityBehaviorSetMaxCapacityAboveForecastCapacity, 3071 } 3072} 3073 3074const ( 3075 // PredictiveScalingModeForecastAndScale is a PredictiveScalingMode enum value 3076 PredictiveScalingModeForecastAndScale = "ForecastAndScale" 3077 3078 // PredictiveScalingModeForecastOnly is a PredictiveScalingMode enum value 3079 PredictiveScalingModeForecastOnly = "ForecastOnly" 3080) 3081 3082// PredictiveScalingMode_Values returns all elements of the PredictiveScalingMode enum 3083func PredictiveScalingMode_Values() []string { 3084 return []string{ 3085 PredictiveScalingModeForecastAndScale, 3086 PredictiveScalingModeForecastOnly, 3087 } 3088} 3089 3090const ( 3091 // ScalableDimensionAutoscalingAutoScalingGroupDesiredCapacity is a ScalableDimension enum value 3092 ScalableDimensionAutoscalingAutoScalingGroupDesiredCapacity = "autoscaling:autoScalingGroup:DesiredCapacity" 3093 3094 // ScalableDimensionEcsServiceDesiredCount is a ScalableDimension enum value 3095 ScalableDimensionEcsServiceDesiredCount = "ecs:service:DesiredCount" 3096 3097 // ScalableDimensionEc2SpotFleetRequestTargetCapacity is a ScalableDimension enum value 3098 ScalableDimensionEc2SpotFleetRequestTargetCapacity = "ec2:spot-fleet-request:TargetCapacity" 3099 3100 // ScalableDimensionRdsClusterReadReplicaCount is a ScalableDimension enum value 3101 ScalableDimensionRdsClusterReadReplicaCount = "rds:cluster:ReadReplicaCount" 3102 3103 // ScalableDimensionDynamodbTableReadCapacityUnits is a ScalableDimension enum value 3104 ScalableDimensionDynamodbTableReadCapacityUnits = "dynamodb:table:ReadCapacityUnits" 3105 3106 // ScalableDimensionDynamodbTableWriteCapacityUnits is a ScalableDimension enum value 3107 ScalableDimensionDynamodbTableWriteCapacityUnits = "dynamodb:table:WriteCapacityUnits" 3108 3109 // ScalableDimensionDynamodbIndexReadCapacityUnits is a ScalableDimension enum value 3110 ScalableDimensionDynamodbIndexReadCapacityUnits = "dynamodb:index:ReadCapacityUnits" 3111 3112 // ScalableDimensionDynamodbIndexWriteCapacityUnits is a ScalableDimension enum value 3113 ScalableDimensionDynamodbIndexWriteCapacityUnits = "dynamodb:index:WriteCapacityUnits" 3114) 3115 3116// ScalableDimension_Values returns all elements of the ScalableDimension enum 3117func ScalableDimension_Values() []string { 3118 return []string{ 3119 ScalableDimensionAutoscalingAutoScalingGroupDesiredCapacity, 3120 ScalableDimensionEcsServiceDesiredCount, 3121 ScalableDimensionEc2SpotFleetRequestTargetCapacity, 3122 ScalableDimensionRdsClusterReadReplicaCount, 3123 ScalableDimensionDynamodbTableReadCapacityUnits, 3124 ScalableDimensionDynamodbTableWriteCapacityUnits, 3125 ScalableDimensionDynamodbIndexReadCapacityUnits, 3126 ScalableDimensionDynamodbIndexWriteCapacityUnits, 3127 } 3128} 3129 3130const ( 3131 // ScalingMetricTypeAsgaverageCpuutilization is a ScalingMetricType enum value 3132 ScalingMetricTypeAsgaverageCpuutilization = "ASGAverageCPUUtilization" 3133 3134 // ScalingMetricTypeAsgaverageNetworkIn is a ScalingMetricType enum value 3135 ScalingMetricTypeAsgaverageNetworkIn = "ASGAverageNetworkIn" 3136 3137 // ScalingMetricTypeAsgaverageNetworkOut is a ScalingMetricType enum value 3138 ScalingMetricTypeAsgaverageNetworkOut = "ASGAverageNetworkOut" 3139 3140 // ScalingMetricTypeDynamoDbreadCapacityUtilization is a ScalingMetricType enum value 3141 ScalingMetricTypeDynamoDbreadCapacityUtilization = "DynamoDBReadCapacityUtilization" 3142 3143 // ScalingMetricTypeDynamoDbwriteCapacityUtilization is a ScalingMetricType enum value 3144 ScalingMetricTypeDynamoDbwriteCapacityUtilization = "DynamoDBWriteCapacityUtilization" 3145 3146 // ScalingMetricTypeEcsserviceAverageCpuutilization is a ScalingMetricType enum value 3147 ScalingMetricTypeEcsserviceAverageCpuutilization = "ECSServiceAverageCPUUtilization" 3148 3149 // ScalingMetricTypeEcsserviceAverageMemoryUtilization is a ScalingMetricType enum value 3150 ScalingMetricTypeEcsserviceAverageMemoryUtilization = "ECSServiceAverageMemoryUtilization" 3151 3152 // ScalingMetricTypeAlbrequestCountPerTarget is a ScalingMetricType enum value 3153 ScalingMetricTypeAlbrequestCountPerTarget = "ALBRequestCountPerTarget" 3154 3155 // ScalingMetricTypeRdsreaderAverageCpuutilization is a ScalingMetricType enum value 3156 ScalingMetricTypeRdsreaderAverageCpuutilization = "RDSReaderAverageCPUUtilization" 3157 3158 // ScalingMetricTypeRdsreaderAverageDatabaseConnections is a ScalingMetricType enum value 3159 ScalingMetricTypeRdsreaderAverageDatabaseConnections = "RDSReaderAverageDatabaseConnections" 3160 3161 // ScalingMetricTypeEc2spotFleetRequestAverageCpuutilization is a ScalingMetricType enum value 3162 ScalingMetricTypeEc2spotFleetRequestAverageCpuutilization = "EC2SpotFleetRequestAverageCPUUtilization" 3163 3164 // ScalingMetricTypeEc2spotFleetRequestAverageNetworkIn is a ScalingMetricType enum value 3165 ScalingMetricTypeEc2spotFleetRequestAverageNetworkIn = "EC2SpotFleetRequestAverageNetworkIn" 3166 3167 // ScalingMetricTypeEc2spotFleetRequestAverageNetworkOut is a ScalingMetricType enum value 3168 ScalingMetricTypeEc2spotFleetRequestAverageNetworkOut = "EC2SpotFleetRequestAverageNetworkOut" 3169) 3170 3171// ScalingMetricType_Values returns all elements of the ScalingMetricType enum 3172func ScalingMetricType_Values() []string { 3173 return []string{ 3174 ScalingMetricTypeAsgaverageCpuutilization, 3175 ScalingMetricTypeAsgaverageNetworkIn, 3176 ScalingMetricTypeAsgaverageNetworkOut, 3177 ScalingMetricTypeDynamoDbreadCapacityUtilization, 3178 ScalingMetricTypeDynamoDbwriteCapacityUtilization, 3179 ScalingMetricTypeEcsserviceAverageCpuutilization, 3180 ScalingMetricTypeEcsserviceAverageMemoryUtilization, 3181 ScalingMetricTypeAlbrequestCountPerTarget, 3182 ScalingMetricTypeRdsreaderAverageCpuutilization, 3183 ScalingMetricTypeRdsreaderAverageDatabaseConnections, 3184 ScalingMetricTypeEc2spotFleetRequestAverageCpuutilization, 3185 ScalingMetricTypeEc2spotFleetRequestAverageNetworkIn, 3186 ScalingMetricTypeEc2spotFleetRequestAverageNetworkOut, 3187 } 3188} 3189 3190const ( 3191 // ScalingPlanStatusCodeActive is a ScalingPlanStatusCode enum value 3192 ScalingPlanStatusCodeActive = "Active" 3193 3194 // ScalingPlanStatusCodeActiveWithProblems is a ScalingPlanStatusCode enum value 3195 ScalingPlanStatusCodeActiveWithProblems = "ActiveWithProblems" 3196 3197 // ScalingPlanStatusCodeCreationInProgress is a ScalingPlanStatusCode enum value 3198 ScalingPlanStatusCodeCreationInProgress = "CreationInProgress" 3199 3200 // ScalingPlanStatusCodeCreationFailed is a ScalingPlanStatusCode enum value 3201 ScalingPlanStatusCodeCreationFailed = "CreationFailed" 3202 3203 // ScalingPlanStatusCodeDeletionInProgress is a ScalingPlanStatusCode enum value 3204 ScalingPlanStatusCodeDeletionInProgress = "DeletionInProgress" 3205 3206 // ScalingPlanStatusCodeDeletionFailed is a ScalingPlanStatusCode enum value 3207 ScalingPlanStatusCodeDeletionFailed = "DeletionFailed" 3208 3209 // ScalingPlanStatusCodeUpdateInProgress is a ScalingPlanStatusCode enum value 3210 ScalingPlanStatusCodeUpdateInProgress = "UpdateInProgress" 3211 3212 // ScalingPlanStatusCodeUpdateFailed is a ScalingPlanStatusCode enum value 3213 ScalingPlanStatusCodeUpdateFailed = "UpdateFailed" 3214) 3215 3216// ScalingPlanStatusCode_Values returns all elements of the ScalingPlanStatusCode enum 3217func ScalingPlanStatusCode_Values() []string { 3218 return []string{ 3219 ScalingPlanStatusCodeActive, 3220 ScalingPlanStatusCodeActiveWithProblems, 3221 ScalingPlanStatusCodeCreationInProgress, 3222 ScalingPlanStatusCodeCreationFailed, 3223 ScalingPlanStatusCodeDeletionInProgress, 3224 ScalingPlanStatusCodeDeletionFailed, 3225 ScalingPlanStatusCodeUpdateInProgress, 3226 ScalingPlanStatusCodeUpdateFailed, 3227 } 3228} 3229 3230const ( 3231 // ScalingPolicyUpdateBehaviorKeepExternalPolicies is a ScalingPolicyUpdateBehavior enum value 3232 ScalingPolicyUpdateBehaviorKeepExternalPolicies = "KeepExternalPolicies" 3233 3234 // ScalingPolicyUpdateBehaviorReplaceExternalPolicies is a ScalingPolicyUpdateBehavior enum value 3235 ScalingPolicyUpdateBehaviorReplaceExternalPolicies = "ReplaceExternalPolicies" 3236) 3237 3238// ScalingPolicyUpdateBehavior_Values returns all elements of the ScalingPolicyUpdateBehavior enum 3239func ScalingPolicyUpdateBehavior_Values() []string { 3240 return []string{ 3241 ScalingPolicyUpdateBehaviorKeepExternalPolicies, 3242 ScalingPolicyUpdateBehaviorReplaceExternalPolicies, 3243 } 3244} 3245 3246const ( 3247 // ScalingStatusCodeInactive is a ScalingStatusCode enum value 3248 ScalingStatusCodeInactive = "Inactive" 3249 3250 // ScalingStatusCodePartiallyActive is a ScalingStatusCode enum value 3251 ScalingStatusCodePartiallyActive = "PartiallyActive" 3252 3253 // ScalingStatusCodeActive is a ScalingStatusCode enum value 3254 ScalingStatusCodeActive = "Active" 3255) 3256 3257// ScalingStatusCode_Values returns all elements of the ScalingStatusCode enum 3258func ScalingStatusCode_Values() []string { 3259 return []string{ 3260 ScalingStatusCodeInactive, 3261 ScalingStatusCodePartiallyActive, 3262 ScalingStatusCodeActive, 3263 } 3264} 3265 3266const ( 3267 // ServiceNamespaceAutoscaling is a ServiceNamespace enum value 3268 ServiceNamespaceAutoscaling = "autoscaling" 3269 3270 // ServiceNamespaceEcs is a ServiceNamespace enum value 3271 ServiceNamespaceEcs = "ecs" 3272 3273 // ServiceNamespaceEc2 is a ServiceNamespace enum value 3274 ServiceNamespaceEc2 = "ec2" 3275 3276 // ServiceNamespaceRds is a ServiceNamespace enum value 3277 ServiceNamespaceRds = "rds" 3278 3279 // ServiceNamespaceDynamodb is a ServiceNamespace enum value 3280 ServiceNamespaceDynamodb = "dynamodb" 3281) 3282 3283// ServiceNamespace_Values returns all elements of the ServiceNamespace enum 3284func ServiceNamespace_Values() []string { 3285 return []string{ 3286 ServiceNamespaceAutoscaling, 3287 ServiceNamespaceEcs, 3288 ServiceNamespaceEc2, 3289 ServiceNamespaceRds, 3290 ServiceNamespaceDynamodb, 3291 } 3292} 3293