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 // ApplicationSource is a required field 676 ApplicationSource *ApplicationSource `type:"structure" required:"true"` 677 678 // The scaling instructions. 679 // 680 // ScalingInstructions is a required field 681 ScalingInstructions []*ScalingInstruction `type:"list" required:"true"` 682 683 // The name of the scaling plan. Names cannot contain vertical bars, colons, 684 // or forward slashes. 685 // 686 // ScalingPlanName is a required field 687 ScalingPlanName *string `min:"1" type:"string" required:"true"` 688} 689 690// String returns the string representation 691func (s CreateScalingPlanInput) String() string { 692 return awsutil.Prettify(s) 693} 694 695// GoString returns the string representation 696func (s CreateScalingPlanInput) GoString() string { 697 return s.String() 698} 699 700// Validate inspects the fields of the type to determine if they are valid. 701func (s *CreateScalingPlanInput) Validate() error { 702 invalidParams := request.ErrInvalidParams{Context: "CreateScalingPlanInput"} 703 if s.ApplicationSource == nil { 704 invalidParams.Add(request.NewErrParamRequired("ApplicationSource")) 705 } 706 if s.ScalingInstructions == nil { 707 invalidParams.Add(request.NewErrParamRequired("ScalingInstructions")) 708 } 709 if s.ScalingPlanName == nil { 710 invalidParams.Add(request.NewErrParamRequired("ScalingPlanName")) 711 } 712 if s.ScalingPlanName != nil && len(*s.ScalingPlanName) < 1 { 713 invalidParams.Add(request.NewErrParamMinLen("ScalingPlanName", 1)) 714 } 715 if s.ApplicationSource != nil { 716 if err := s.ApplicationSource.Validate(); err != nil { 717 invalidParams.AddNested("ApplicationSource", err.(request.ErrInvalidParams)) 718 } 719 } 720 if s.ScalingInstructions != nil { 721 for i, v := range s.ScalingInstructions { 722 if v == nil { 723 continue 724 } 725 if err := v.Validate(); err != nil { 726 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScalingInstructions", i), err.(request.ErrInvalidParams)) 727 } 728 } 729 } 730 731 if invalidParams.Len() > 0 { 732 return invalidParams 733 } 734 return nil 735} 736 737// SetApplicationSource sets the ApplicationSource field's value. 738func (s *CreateScalingPlanInput) SetApplicationSource(v *ApplicationSource) *CreateScalingPlanInput { 739 s.ApplicationSource = v 740 return s 741} 742 743// SetScalingInstructions sets the ScalingInstructions field's value. 744func (s *CreateScalingPlanInput) SetScalingInstructions(v []*ScalingInstruction) *CreateScalingPlanInput { 745 s.ScalingInstructions = v 746 return s 747} 748 749// SetScalingPlanName sets the ScalingPlanName field's value. 750func (s *CreateScalingPlanInput) SetScalingPlanName(v string) *CreateScalingPlanInput { 751 s.ScalingPlanName = &v 752 return s 753} 754 755type CreateScalingPlanOutput struct { 756 _ struct{} `type:"structure"` 757 758 // The version number of the scaling plan. This value is always 1. 759 // 760 // Currently, you cannot specify multiple scaling plan versions. 761 // 762 // ScalingPlanVersion is a required field 763 ScalingPlanVersion *int64 `type:"long" required:"true"` 764} 765 766// String returns the string representation 767func (s CreateScalingPlanOutput) String() string { 768 return awsutil.Prettify(s) 769} 770 771// GoString returns the string representation 772func (s CreateScalingPlanOutput) GoString() string { 773 return s.String() 774} 775 776// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 777func (s *CreateScalingPlanOutput) SetScalingPlanVersion(v int64) *CreateScalingPlanOutput { 778 s.ScalingPlanVersion = &v 779 return s 780} 781 782// Represents a CloudWatch metric of your choosing that can be used for predictive 783// scaling. 784// 785// For predictive scaling to work with a customized load metric specification, 786// AWS Auto Scaling needs access to the Sum and Average statistics that CloudWatch 787// computes from metric data. Statistics are calculations used to aggregate 788// data over specified time periods. 789// 790// When you choose a load metric, make sure that the required Sum and Average 791// statistics for your metric are available in CloudWatch and that they provide 792// relevant data for predictive scaling. The Sum statistic must represent the 793// total load on the resource, and the Average statistic must represent the 794// average load per capacity unit of the resource. For example, there is a metric 795// that counts the number of requests processed by your Auto Scaling group. 796// If the Sum statistic represents the total request count processed by the 797// group, then the Average statistic for the specified metric must represent 798// the average request count processed by each instance of the group. 799// 800// For information about terminology, available metrics, or how to publish new 801// metrics, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html) 802// in the Amazon CloudWatch User Guide. 803type CustomizedLoadMetricSpecification struct { 804 _ struct{} `type:"structure"` 805 806 // The dimensions of the metric. 807 // 808 // Conditional: If you published your metric with dimensions, you must specify 809 // the same dimensions in your customized load metric specification. 810 Dimensions []*MetricDimension `type:"list"` 811 812 // The name of the metric. 813 // 814 // MetricName is a required field 815 MetricName *string `type:"string" required:"true"` 816 817 // The namespace of the metric. 818 // 819 // Namespace is a required field 820 Namespace *string `type:"string" required:"true"` 821 822 // The statistic of the metric. Currently, the value must always be Sum. 823 // 824 // Statistic is a required field 825 Statistic *string `type:"string" required:"true" enum:"MetricStatistic"` 826 827 // The unit of the metric. 828 Unit *string `type:"string"` 829} 830 831// String returns the string representation 832func (s CustomizedLoadMetricSpecification) String() string { 833 return awsutil.Prettify(s) 834} 835 836// GoString returns the string representation 837func (s CustomizedLoadMetricSpecification) GoString() string { 838 return s.String() 839} 840 841// Validate inspects the fields of the type to determine if they are valid. 842func (s *CustomizedLoadMetricSpecification) Validate() error { 843 invalidParams := request.ErrInvalidParams{Context: "CustomizedLoadMetricSpecification"} 844 if s.MetricName == nil { 845 invalidParams.Add(request.NewErrParamRequired("MetricName")) 846 } 847 if s.Namespace == nil { 848 invalidParams.Add(request.NewErrParamRequired("Namespace")) 849 } 850 if s.Statistic == nil { 851 invalidParams.Add(request.NewErrParamRequired("Statistic")) 852 } 853 if s.Dimensions != nil { 854 for i, v := range s.Dimensions { 855 if v == nil { 856 continue 857 } 858 if err := v.Validate(); err != nil { 859 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) 860 } 861 } 862 } 863 864 if invalidParams.Len() > 0 { 865 return invalidParams 866 } 867 return nil 868} 869 870// SetDimensions sets the Dimensions field's value. 871func (s *CustomizedLoadMetricSpecification) SetDimensions(v []*MetricDimension) *CustomizedLoadMetricSpecification { 872 s.Dimensions = v 873 return s 874} 875 876// SetMetricName sets the MetricName field's value. 877func (s *CustomizedLoadMetricSpecification) SetMetricName(v string) *CustomizedLoadMetricSpecification { 878 s.MetricName = &v 879 return s 880} 881 882// SetNamespace sets the Namespace field's value. 883func (s *CustomizedLoadMetricSpecification) SetNamespace(v string) *CustomizedLoadMetricSpecification { 884 s.Namespace = &v 885 return s 886} 887 888// SetStatistic sets the Statistic field's value. 889func (s *CustomizedLoadMetricSpecification) SetStatistic(v string) *CustomizedLoadMetricSpecification { 890 s.Statistic = &v 891 return s 892} 893 894// SetUnit sets the Unit field's value. 895func (s *CustomizedLoadMetricSpecification) SetUnit(v string) *CustomizedLoadMetricSpecification { 896 s.Unit = &v 897 return s 898} 899 900// Represents a CloudWatch metric of your choosing that can be used for dynamic 901// scaling as part of a target tracking scaling policy. 902// 903// To create your customized scaling metric specification: 904// 905// * Add values for each required parameter from CloudWatch. You can use 906// an existing metric, or a new metric that you create. To use your own metric, 907// you must first publish the metric to CloudWatch. For more information, 908// see Publish Custom Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) 909// in the Amazon CloudWatch User Guide. 910// 911// * Choose a metric that changes proportionally with capacity. The value 912// of the metric should increase or decrease in inverse proportion to the 913// number of capacity units. That is, the value of the metric should decrease 914// when capacity increases. 915// 916// For more information about CloudWatch, see Amazon CloudWatch Concepts (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html). 917type CustomizedScalingMetricSpecification struct { 918 _ struct{} `type:"structure"` 919 920 // The dimensions of the metric. 921 // 922 // Conditional: If you published your metric with dimensions, you must specify 923 // the same dimensions in your customized scaling metric specification. 924 Dimensions []*MetricDimension `type:"list"` 925 926 // The name of the metric. 927 // 928 // MetricName is a required field 929 MetricName *string `type:"string" required:"true"` 930 931 // The namespace of the metric. 932 // 933 // Namespace is a required field 934 Namespace *string `type:"string" required:"true"` 935 936 // The statistic of the metric. 937 // 938 // Statistic is a required field 939 Statistic *string `type:"string" required:"true" enum:"MetricStatistic"` 940 941 // The unit of the metric. 942 Unit *string `type:"string"` 943} 944 945// String returns the string representation 946func (s CustomizedScalingMetricSpecification) String() string { 947 return awsutil.Prettify(s) 948} 949 950// GoString returns the string representation 951func (s CustomizedScalingMetricSpecification) GoString() string { 952 return s.String() 953} 954 955// Validate inspects the fields of the type to determine if they are valid. 956func (s *CustomizedScalingMetricSpecification) Validate() error { 957 invalidParams := request.ErrInvalidParams{Context: "CustomizedScalingMetricSpecification"} 958 if s.MetricName == nil { 959 invalidParams.Add(request.NewErrParamRequired("MetricName")) 960 } 961 if s.Namespace == nil { 962 invalidParams.Add(request.NewErrParamRequired("Namespace")) 963 } 964 if s.Statistic == nil { 965 invalidParams.Add(request.NewErrParamRequired("Statistic")) 966 } 967 if s.Dimensions != nil { 968 for i, v := range s.Dimensions { 969 if v == nil { 970 continue 971 } 972 if err := v.Validate(); err != nil { 973 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams)) 974 } 975 } 976 } 977 978 if invalidParams.Len() > 0 { 979 return invalidParams 980 } 981 return nil 982} 983 984// SetDimensions sets the Dimensions field's value. 985func (s *CustomizedScalingMetricSpecification) SetDimensions(v []*MetricDimension) *CustomizedScalingMetricSpecification { 986 s.Dimensions = v 987 return s 988} 989 990// SetMetricName sets the MetricName field's value. 991func (s *CustomizedScalingMetricSpecification) SetMetricName(v string) *CustomizedScalingMetricSpecification { 992 s.MetricName = &v 993 return s 994} 995 996// SetNamespace sets the Namespace field's value. 997func (s *CustomizedScalingMetricSpecification) SetNamespace(v string) *CustomizedScalingMetricSpecification { 998 s.Namespace = &v 999 return s 1000} 1001 1002// SetStatistic sets the Statistic field's value. 1003func (s *CustomizedScalingMetricSpecification) SetStatistic(v string) *CustomizedScalingMetricSpecification { 1004 s.Statistic = &v 1005 return s 1006} 1007 1008// SetUnit sets the Unit field's value. 1009func (s *CustomizedScalingMetricSpecification) SetUnit(v string) *CustomizedScalingMetricSpecification { 1010 s.Unit = &v 1011 return s 1012} 1013 1014// Represents a single value in the forecast data used for predictive scaling. 1015type Datapoint struct { 1016 _ struct{} `type:"structure"` 1017 1018 // The time stamp for the data point in UTC format. 1019 Timestamp *time.Time `type:"timestamp"` 1020 1021 // The value of the data point. 1022 Value *float64 `type:"double"` 1023} 1024 1025// String returns the string representation 1026func (s Datapoint) String() string { 1027 return awsutil.Prettify(s) 1028} 1029 1030// GoString returns the string representation 1031func (s Datapoint) GoString() string { 1032 return s.String() 1033} 1034 1035// SetTimestamp sets the Timestamp field's value. 1036func (s *Datapoint) SetTimestamp(v time.Time) *Datapoint { 1037 s.Timestamp = &v 1038 return s 1039} 1040 1041// SetValue sets the Value field's value. 1042func (s *Datapoint) SetValue(v float64) *Datapoint { 1043 s.Value = &v 1044 return s 1045} 1046 1047type DeleteScalingPlanInput struct { 1048 _ struct{} `type:"structure"` 1049 1050 // The name of the scaling plan. 1051 // 1052 // ScalingPlanName is a required field 1053 ScalingPlanName *string `min:"1" type:"string" required:"true"` 1054 1055 // The version number of the scaling plan. 1056 // 1057 // ScalingPlanVersion is a required field 1058 ScalingPlanVersion *int64 `type:"long" required:"true"` 1059} 1060 1061// String returns the string representation 1062func (s DeleteScalingPlanInput) String() string { 1063 return awsutil.Prettify(s) 1064} 1065 1066// GoString returns the string representation 1067func (s DeleteScalingPlanInput) GoString() string { 1068 return s.String() 1069} 1070 1071// Validate inspects the fields of the type to determine if they are valid. 1072func (s *DeleteScalingPlanInput) Validate() error { 1073 invalidParams := request.ErrInvalidParams{Context: "DeleteScalingPlanInput"} 1074 if s.ScalingPlanName == nil { 1075 invalidParams.Add(request.NewErrParamRequired("ScalingPlanName")) 1076 } 1077 if s.ScalingPlanName != nil && len(*s.ScalingPlanName) < 1 { 1078 invalidParams.Add(request.NewErrParamMinLen("ScalingPlanName", 1)) 1079 } 1080 if s.ScalingPlanVersion == nil { 1081 invalidParams.Add(request.NewErrParamRequired("ScalingPlanVersion")) 1082 } 1083 1084 if invalidParams.Len() > 0 { 1085 return invalidParams 1086 } 1087 return nil 1088} 1089 1090// SetScalingPlanName sets the ScalingPlanName field's value. 1091func (s *DeleteScalingPlanInput) SetScalingPlanName(v string) *DeleteScalingPlanInput { 1092 s.ScalingPlanName = &v 1093 return s 1094} 1095 1096// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 1097func (s *DeleteScalingPlanInput) SetScalingPlanVersion(v int64) *DeleteScalingPlanInput { 1098 s.ScalingPlanVersion = &v 1099 return s 1100} 1101 1102type DeleteScalingPlanOutput struct { 1103 _ struct{} `type:"structure"` 1104} 1105 1106// String returns the string representation 1107func (s DeleteScalingPlanOutput) String() string { 1108 return awsutil.Prettify(s) 1109} 1110 1111// GoString returns the string representation 1112func (s DeleteScalingPlanOutput) GoString() string { 1113 return s.String() 1114} 1115 1116type DescribeScalingPlanResourcesInput struct { 1117 _ struct{} `type:"structure"` 1118 1119 // The maximum number of scalable resources to return. The value must be between 1120 // 1 and 50. The default value is 50. 1121 MaxResults *int64 `type:"integer"` 1122 1123 // The token for the next set of results. 1124 NextToken *string `type:"string"` 1125 1126 // The name of the scaling plan. 1127 // 1128 // ScalingPlanName is a required field 1129 ScalingPlanName *string `min:"1" type:"string" required:"true"` 1130 1131 // The version number of the scaling plan. 1132 // 1133 // ScalingPlanVersion is a required field 1134 ScalingPlanVersion *int64 `type:"long" required:"true"` 1135} 1136 1137// String returns the string representation 1138func (s DescribeScalingPlanResourcesInput) String() string { 1139 return awsutil.Prettify(s) 1140} 1141 1142// GoString returns the string representation 1143func (s DescribeScalingPlanResourcesInput) GoString() string { 1144 return s.String() 1145} 1146 1147// Validate inspects the fields of the type to determine if they are valid. 1148func (s *DescribeScalingPlanResourcesInput) Validate() error { 1149 invalidParams := request.ErrInvalidParams{Context: "DescribeScalingPlanResourcesInput"} 1150 if s.ScalingPlanName == nil { 1151 invalidParams.Add(request.NewErrParamRequired("ScalingPlanName")) 1152 } 1153 if s.ScalingPlanName != nil && len(*s.ScalingPlanName) < 1 { 1154 invalidParams.Add(request.NewErrParamMinLen("ScalingPlanName", 1)) 1155 } 1156 if s.ScalingPlanVersion == nil { 1157 invalidParams.Add(request.NewErrParamRequired("ScalingPlanVersion")) 1158 } 1159 1160 if invalidParams.Len() > 0 { 1161 return invalidParams 1162 } 1163 return nil 1164} 1165 1166// SetMaxResults sets the MaxResults field's value. 1167func (s *DescribeScalingPlanResourcesInput) SetMaxResults(v int64) *DescribeScalingPlanResourcesInput { 1168 s.MaxResults = &v 1169 return s 1170} 1171 1172// SetNextToken sets the NextToken field's value. 1173func (s *DescribeScalingPlanResourcesInput) SetNextToken(v string) *DescribeScalingPlanResourcesInput { 1174 s.NextToken = &v 1175 return s 1176} 1177 1178// SetScalingPlanName sets the ScalingPlanName field's value. 1179func (s *DescribeScalingPlanResourcesInput) SetScalingPlanName(v string) *DescribeScalingPlanResourcesInput { 1180 s.ScalingPlanName = &v 1181 return s 1182} 1183 1184// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 1185func (s *DescribeScalingPlanResourcesInput) SetScalingPlanVersion(v int64) *DescribeScalingPlanResourcesInput { 1186 s.ScalingPlanVersion = &v 1187 return s 1188} 1189 1190type DescribeScalingPlanResourcesOutput struct { 1191 _ struct{} `type:"structure"` 1192 1193 // The token required to get the next set of results. This value is null if 1194 // there are no more results to return. 1195 NextToken *string `type:"string"` 1196 1197 // Information about the scalable resources. 1198 ScalingPlanResources []*ScalingPlanResource `type:"list"` 1199} 1200 1201// String returns the string representation 1202func (s DescribeScalingPlanResourcesOutput) String() string { 1203 return awsutil.Prettify(s) 1204} 1205 1206// GoString returns the string representation 1207func (s DescribeScalingPlanResourcesOutput) GoString() string { 1208 return s.String() 1209} 1210 1211// SetNextToken sets the NextToken field's value. 1212func (s *DescribeScalingPlanResourcesOutput) SetNextToken(v string) *DescribeScalingPlanResourcesOutput { 1213 s.NextToken = &v 1214 return s 1215} 1216 1217// SetScalingPlanResources sets the ScalingPlanResources field's value. 1218func (s *DescribeScalingPlanResourcesOutput) SetScalingPlanResources(v []*ScalingPlanResource) *DescribeScalingPlanResourcesOutput { 1219 s.ScalingPlanResources = v 1220 return s 1221} 1222 1223type DescribeScalingPlansInput struct { 1224 _ struct{} `type:"structure"` 1225 1226 // The sources for the applications (up to 10). If you specify scaling plan 1227 // names, you cannot specify application sources. 1228 ApplicationSources []*ApplicationSource `type:"list"` 1229 1230 // The maximum number of scalable resources to return. This value can be between 1231 // 1 and 50. The default value is 50. 1232 MaxResults *int64 `type:"integer"` 1233 1234 // The token for the next set of results. 1235 NextToken *string `type:"string"` 1236 1237 // The names of the scaling plans (up to 10). If you specify application sources, 1238 // you cannot specify scaling plan names. 1239 ScalingPlanNames []*string `type:"list"` 1240 1241 // The version number of the scaling plan. If you specify a scaling plan version, 1242 // you must also specify a scaling plan name. 1243 ScalingPlanVersion *int64 `type:"long"` 1244} 1245 1246// String returns the string representation 1247func (s DescribeScalingPlansInput) String() string { 1248 return awsutil.Prettify(s) 1249} 1250 1251// GoString returns the string representation 1252func (s DescribeScalingPlansInput) GoString() string { 1253 return s.String() 1254} 1255 1256// Validate inspects the fields of the type to determine if they are valid. 1257func (s *DescribeScalingPlansInput) Validate() error { 1258 invalidParams := request.ErrInvalidParams{Context: "DescribeScalingPlansInput"} 1259 if s.ApplicationSources != nil { 1260 for i, v := range s.ApplicationSources { 1261 if v == nil { 1262 continue 1263 } 1264 if err := v.Validate(); err != nil { 1265 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ApplicationSources", i), err.(request.ErrInvalidParams)) 1266 } 1267 } 1268 } 1269 1270 if invalidParams.Len() > 0 { 1271 return invalidParams 1272 } 1273 return nil 1274} 1275 1276// SetApplicationSources sets the ApplicationSources field's value. 1277func (s *DescribeScalingPlansInput) SetApplicationSources(v []*ApplicationSource) *DescribeScalingPlansInput { 1278 s.ApplicationSources = v 1279 return s 1280} 1281 1282// SetMaxResults sets the MaxResults field's value. 1283func (s *DescribeScalingPlansInput) SetMaxResults(v int64) *DescribeScalingPlansInput { 1284 s.MaxResults = &v 1285 return s 1286} 1287 1288// SetNextToken sets the NextToken field's value. 1289func (s *DescribeScalingPlansInput) SetNextToken(v string) *DescribeScalingPlansInput { 1290 s.NextToken = &v 1291 return s 1292} 1293 1294// SetScalingPlanNames sets the ScalingPlanNames field's value. 1295func (s *DescribeScalingPlansInput) SetScalingPlanNames(v []*string) *DescribeScalingPlansInput { 1296 s.ScalingPlanNames = v 1297 return s 1298} 1299 1300// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 1301func (s *DescribeScalingPlansInput) SetScalingPlanVersion(v int64) *DescribeScalingPlansInput { 1302 s.ScalingPlanVersion = &v 1303 return s 1304} 1305 1306type DescribeScalingPlansOutput struct { 1307 _ struct{} `type:"structure"` 1308 1309 // The token required to get the next set of results. This value is null if 1310 // there are no more results to return. 1311 NextToken *string `type:"string"` 1312 1313 // Information about the scaling plans. 1314 ScalingPlans []*ScalingPlan `type:"list"` 1315} 1316 1317// String returns the string representation 1318func (s DescribeScalingPlansOutput) String() string { 1319 return awsutil.Prettify(s) 1320} 1321 1322// GoString returns the string representation 1323func (s DescribeScalingPlansOutput) GoString() string { 1324 return s.String() 1325} 1326 1327// SetNextToken sets the NextToken field's value. 1328func (s *DescribeScalingPlansOutput) SetNextToken(v string) *DescribeScalingPlansOutput { 1329 s.NextToken = &v 1330 return s 1331} 1332 1333// SetScalingPlans sets the ScalingPlans field's value. 1334func (s *DescribeScalingPlansOutput) SetScalingPlans(v []*ScalingPlan) *DescribeScalingPlansOutput { 1335 s.ScalingPlans = v 1336 return s 1337} 1338 1339type GetScalingPlanResourceForecastDataInput struct { 1340 _ struct{} `type:"structure"` 1341 1342 // The exclusive end time of the time range for the forecast data to get. The 1343 // maximum time duration between the start and end time is seven days. 1344 // 1345 // Although this parameter can accept a date and time that is more than two 1346 // days in the future, the availability of forecast data has limits. AWS Auto 1347 // Scaling only issues forecasts for periods of two days in advance. 1348 // 1349 // EndTime is a required field 1350 EndTime *time.Time `type:"timestamp" required:"true"` 1351 1352 // The type of forecast data to get. 1353 // 1354 // * LoadForecast: The load metric forecast. 1355 // 1356 // * CapacityForecast: The capacity forecast. 1357 // 1358 // * ScheduledActionMinCapacity: The minimum capacity for each scheduled 1359 // scaling action. This data is calculated as the larger of two values: the 1360 // capacity forecast or the minimum capacity in the scaling instruction. 1361 // 1362 // * ScheduledActionMaxCapacity: The maximum capacity for each scheduled 1363 // scaling action. The calculation used is determined by the predictive scaling 1364 // maximum capacity behavior setting in the scaling instruction. 1365 // 1366 // ForecastDataType is a required field 1367 ForecastDataType *string `type:"string" required:"true" enum:"ForecastDataType"` 1368 1369 // The ID of the resource. This string consists of the resource type and unique 1370 // identifier. 1371 // 1372 // * Auto Scaling group - The resource type is autoScalingGroup and the unique 1373 // identifier is the name of the Auto Scaling group. Example: autoScalingGroup/my-asg. 1374 // 1375 // * ECS service - The resource type is service and the unique identifier 1376 // is the cluster name and service name. Example: service/default/sample-webapp. 1377 // 1378 // * Spot Fleet request - The resource type is spot-fleet-request and the 1379 // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 1380 // 1381 // * DynamoDB table - The resource type is table and the unique identifier 1382 // is the resource ID. Example: table/my-table. 1383 // 1384 // * DynamoDB global secondary index - The resource type is index and the 1385 // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. 1386 // 1387 // * Aurora DB cluster - The resource type is cluster and the unique identifier 1388 // is the cluster name. Example: cluster:my-db-cluster. 1389 // 1390 // ResourceId is a required field 1391 ResourceId *string `type:"string" required:"true"` 1392 1393 // The scalable dimension for the resource. 1394 // 1395 // ScalableDimension is a required field 1396 ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` 1397 1398 // The name of the scaling plan. 1399 // 1400 // ScalingPlanName is a required field 1401 ScalingPlanName *string `min:"1" type:"string" required:"true"` 1402 1403 // The version number of the scaling plan. 1404 // 1405 // ScalingPlanVersion is a required field 1406 ScalingPlanVersion *int64 `type:"long" required:"true"` 1407 1408 // The namespace of the AWS service. 1409 // 1410 // ServiceNamespace is a required field 1411 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 1412 1413 // The inclusive start time of the time range for the forecast data to get. 1414 // The date and time can be at most 56 days before the current date and time. 1415 // 1416 // StartTime is a required field 1417 StartTime *time.Time `type:"timestamp" required:"true"` 1418} 1419 1420// String returns the string representation 1421func (s GetScalingPlanResourceForecastDataInput) String() string { 1422 return awsutil.Prettify(s) 1423} 1424 1425// GoString returns the string representation 1426func (s GetScalingPlanResourceForecastDataInput) GoString() string { 1427 return s.String() 1428} 1429 1430// Validate inspects the fields of the type to determine if they are valid. 1431func (s *GetScalingPlanResourceForecastDataInput) Validate() error { 1432 invalidParams := request.ErrInvalidParams{Context: "GetScalingPlanResourceForecastDataInput"} 1433 if s.EndTime == nil { 1434 invalidParams.Add(request.NewErrParamRequired("EndTime")) 1435 } 1436 if s.ForecastDataType == nil { 1437 invalidParams.Add(request.NewErrParamRequired("ForecastDataType")) 1438 } 1439 if s.ResourceId == nil { 1440 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 1441 } 1442 if s.ScalableDimension == nil { 1443 invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) 1444 } 1445 if s.ScalingPlanName == nil { 1446 invalidParams.Add(request.NewErrParamRequired("ScalingPlanName")) 1447 } 1448 if s.ScalingPlanName != nil && len(*s.ScalingPlanName) < 1 { 1449 invalidParams.Add(request.NewErrParamMinLen("ScalingPlanName", 1)) 1450 } 1451 if s.ScalingPlanVersion == nil { 1452 invalidParams.Add(request.NewErrParamRequired("ScalingPlanVersion")) 1453 } 1454 if s.ServiceNamespace == nil { 1455 invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) 1456 } 1457 if s.StartTime == nil { 1458 invalidParams.Add(request.NewErrParamRequired("StartTime")) 1459 } 1460 1461 if invalidParams.Len() > 0 { 1462 return invalidParams 1463 } 1464 return nil 1465} 1466 1467// SetEndTime sets the EndTime field's value. 1468func (s *GetScalingPlanResourceForecastDataInput) SetEndTime(v time.Time) *GetScalingPlanResourceForecastDataInput { 1469 s.EndTime = &v 1470 return s 1471} 1472 1473// SetForecastDataType sets the ForecastDataType field's value. 1474func (s *GetScalingPlanResourceForecastDataInput) SetForecastDataType(v string) *GetScalingPlanResourceForecastDataInput { 1475 s.ForecastDataType = &v 1476 return s 1477} 1478 1479// SetResourceId sets the ResourceId field's value. 1480func (s *GetScalingPlanResourceForecastDataInput) SetResourceId(v string) *GetScalingPlanResourceForecastDataInput { 1481 s.ResourceId = &v 1482 return s 1483} 1484 1485// SetScalableDimension sets the ScalableDimension field's value. 1486func (s *GetScalingPlanResourceForecastDataInput) SetScalableDimension(v string) *GetScalingPlanResourceForecastDataInput { 1487 s.ScalableDimension = &v 1488 return s 1489} 1490 1491// SetScalingPlanName sets the ScalingPlanName field's value. 1492func (s *GetScalingPlanResourceForecastDataInput) SetScalingPlanName(v string) *GetScalingPlanResourceForecastDataInput { 1493 s.ScalingPlanName = &v 1494 return s 1495} 1496 1497// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 1498func (s *GetScalingPlanResourceForecastDataInput) SetScalingPlanVersion(v int64) *GetScalingPlanResourceForecastDataInput { 1499 s.ScalingPlanVersion = &v 1500 return s 1501} 1502 1503// SetServiceNamespace sets the ServiceNamespace field's value. 1504func (s *GetScalingPlanResourceForecastDataInput) SetServiceNamespace(v string) *GetScalingPlanResourceForecastDataInput { 1505 s.ServiceNamespace = &v 1506 return s 1507} 1508 1509// SetStartTime sets the StartTime field's value. 1510func (s *GetScalingPlanResourceForecastDataInput) SetStartTime(v time.Time) *GetScalingPlanResourceForecastDataInput { 1511 s.StartTime = &v 1512 return s 1513} 1514 1515type GetScalingPlanResourceForecastDataOutput struct { 1516 _ struct{} `type:"structure"` 1517 1518 // The data points to return. 1519 // 1520 // Datapoints is a required field 1521 Datapoints []*Datapoint `type:"list" required:"true"` 1522} 1523 1524// String returns the string representation 1525func (s GetScalingPlanResourceForecastDataOutput) String() string { 1526 return awsutil.Prettify(s) 1527} 1528 1529// GoString returns the string representation 1530func (s GetScalingPlanResourceForecastDataOutput) GoString() string { 1531 return s.String() 1532} 1533 1534// SetDatapoints sets the Datapoints field's value. 1535func (s *GetScalingPlanResourceForecastDataOutput) SetDatapoints(v []*Datapoint) *GetScalingPlanResourceForecastDataOutput { 1536 s.Datapoints = v 1537 return s 1538} 1539 1540// The service encountered an internal error. 1541type InternalServiceException struct { 1542 _ struct{} `type:"structure"` 1543 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1544 1545 Message_ *string `locationName:"Message" type:"string"` 1546} 1547 1548// String returns the string representation 1549func (s InternalServiceException) String() string { 1550 return awsutil.Prettify(s) 1551} 1552 1553// GoString returns the string representation 1554func (s InternalServiceException) GoString() string { 1555 return s.String() 1556} 1557 1558func newErrorInternalServiceException(v protocol.ResponseMetadata) error { 1559 return &InternalServiceException{ 1560 RespMetadata: v, 1561 } 1562} 1563 1564// Code returns the exception type name. 1565func (s *InternalServiceException) Code() string { 1566 return "InternalServiceException" 1567} 1568 1569// Message returns the exception's message. 1570func (s *InternalServiceException) Message() string { 1571 if s.Message_ != nil { 1572 return *s.Message_ 1573 } 1574 return "" 1575} 1576 1577// OrigErr always returns nil, satisfies awserr.Error interface. 1578func (s *InternalServiceException) OrigErr() error { 1579 return nil 1580} 1581 1582func (s *InternalServiceException) Error() string { 1583 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1584} 1585 1586// Status code returns the HTTP status code for the request's response error. 1587func (s *InternalServiceException) StatusCode() int { 1588 return s.RespMetadata.StatusCode 1589} 1590 1591// RequestID returns the service's response RequestID for request. 1592func (s *InternalServiceException) RequestID() string { 1593 return s.RespMetadata.RequestID 1594} 1595 1596// The token provided is not valid. 1597type InvalidNextTokenException struct { 1598 _ struct{} `type:"structure"` 1599 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1600 1601 Message_ *string `locationName:"Message" type:"string"` 1602} 1603 1604// String returns the string representation 1605func (s InvalidNextTokenException) String() string { 1606 return awsutil.Prettify(s) 1607} 1608 1609// GoString returns the string representation 1610func (s InvalidNextTokenException) GoString() string { 1611 return s.String() 1612} 1613 1614func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { 1615 return &InvalidNextTokenException{ 1616 RespMetadata: v, 1617 } 1618} 1619 1620// Code returns the exception type name. 1621func (s *InvalidNextTokenException) Code() string { 1622 return "InvalidNextTokenException" 1623} 1624 1625// Message returns the exception's message. 1626func (s *InvalidNextTokenException) Message() string { 1627 if s.Message_ != nil { 1628 return *s.Message_ 1629 } 1630 return "" 1631} 1632 1633// OrigErr always returns nil, satisfies awserr.Error interface. 1634func (s *InvalidNextTokenException) OrigErr() error { 1635 return nil 1636} 1637 1638func (s *InvalidNextTokenException) Error() string { 1639 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1640} 1641 1642// Status code returns the HTTP status code for the request's response error. 1643func (s *InvalidNextTokenException) StatusCode() int { 1644 return s.RespMetadata.StatusCode 1645} 1646 1647// RequestID returns the service's response RequestID for request. 1648func (s *InvalidNextTokenException) RequestID() string { 1649 return s.RespMetadata.RequestID 1650} 1651 1652// Your account exceeded a limit. This exception is thrown when a per-account 1653// resource limit is exceeded. 1654type LimitExceededException struct { 1655 _ struct{} `type:"structure"` 1656 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1657 1658 Message_ *string `locationName:"Message" type:"string"` 1659} 1660 1661// String returns the string representation 1662func (s LimitExceededException) String() string { 1663 return awsutil.Prettify(s) 1664} 1665 1666// GoString returns the string representation 1667func (s LimitExceededException) GoString() string { 1668 return s.String() 1669} 1670 1671func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 1672 return &LimitExceededException{ 1673 RespMetadata: v, 1674 } 1675} 1676 1677// Code returns the exception type name. 1678func (s *LimitExceededException) Code() string { 1679 return "LimitExceededException" 1680} 1681 1682// Message returns the exception's message. 1683func (s *LimitExceededException) Message() string { 1684 if s.Message_ != nil { 1685 return *s.Message_ 1686 } 1687 return "" 1688} 1689 1690// OrigErr always returns nil, satisfies awserr.Error interface. 1691func (s *LimitExceededException) OrigErr() error { 1692 return nil 1693} 1694 1695func (s *LimitExceededException) Error() string { 1696 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1697} 1698 1699// Status code returns the HTTP status code for the request's response error. 1700func (s *LimitExceededException) StatusCode() int { 1701 return s.RespMetadata.StatusCode 1702} 1703 1704// RequestID returns the service's response RequestID for request. 1705func (s *LimitExceededException) RequestID() string { 1706 return s.RespMetadata.RequestID 1707} 1708 1709// Represents a dimension for a customized metric. 1710type MetricDimension struct { 1711 _ struct{} `type:"structure"` 1712 1713 // The name of the dimension. 1714 // 1715 // Name is a required field 1716 Name *string `type:"string" required:"true"` 1717 1718 // The value of the dimension. 1719 // 1720 // Value is a required field 1721 Value *string `type:"string" required:"true"` 1722} 1723 1724// String returns the string representation 1725func (s MetricDimension) String() string { 1726 return awsutil.Prettify(s) 1727} 1728 1729// GoString returns the string representation 1730func (s MetricDimension) GoString() string { 1731 return s.String() 1732} 1733 1734// Validate inspects the fields of the type to determine if they are valid. 1735func (s *MetricDimension) Validate() error { 1736 invalidParams := request.ErrInvalidParams{Context: "MetricDimension"} 1737 if s.Name == nil { 1738 invalidParams.Add(request.NewErrParamRequired("Name")) 1739 } 1740 if s.Value == nil { 1741 invalidParams.Add(request.NewErrParamRequired("Value")) 1742 } 1743 1744 if invalidParams.Len() > 0 { 1745 return invalidParams 1746 } 1747 return nil 1748} 1749 1750// SetName sets the Name field's value. 1751func (s *MetricDimension) SetName(v string) *MetricDimension { 1752 s.Name = &v 1753 return s 1754} 1755 1756// SetValue sets the Value field's value. 1757func (s *MetricDimension) SetValue(v string) *MetricDimension { 1758 s.Value = &v 1759 return s 1760} 1761 1762// The specified object could not be found. 1763type ObjectNotFoundException struct { 1764 _ struct{} `type:"structure"` 1765 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1766 1767 Message_ *string `locationName:"Message" type:"string"` 1768} 1769 1770// String returns the string representation 1771func (s ObjectNotFoundException) String() string { 1772 return awsutil.Prettify(s) 1773} 1774 1775// GoString returns the string representation 1776func (s ObjectNotFoundException) GoString() string { 1777 return s.String() 1778} 1779 1780func newErrorObjectNotFoundException(v protocol.ResponseMetadata) error { 1781 return &ObjectNotFoundException{ 1782 RespMetadata: v, 1783 } 1784} 1785 1786// Code returns the exception type name. 1787func (s *ObjectNotFoundException) Code() string { 1788 return "ObjectNotFoundException" 1789} 1790 1791// Message returns the exception's message. 1792func (s *ObjectNotFoundException) Message() string { 1793 if s.Message_ != nil { 1794 return *s.Message_ 1795 } 1796 return "" 1797} 1798 1799// OrigErr always returns nil, satisfies awserr.Error interface. 1800func (s *ObjectNotFoundException) OrigErr() error { 1801 return nil 1802} 1803 1804func (s *ObjectNotFoundException) Error() string { 1805 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1806} 1807 1808// Status code returns the HTTP status code for the request's response error. 1809func (s *ObjectNotFoundException) StatusCode() int { 1810 return s.RespMetadata.StatusCode 1811} 1812 1813// RequestID returns the service's response RequestID for request. 1814func (s *ObjectNotFoundException) RequestID() string { 1815 return s.RespMetadata.RequestID 1816} 1817 1818// Represents a predefined metric that can be used for predictive scaling. 1819type PredefinedLoadMetricSpecification struct { 1820 _ struct{} `type:"structure"` 1821 1822 // The metric type. 1823 // 1824 // PredefinedLoadMetricType is a required field 1825 PredefinedLoadMetricType *string `type:"string" required:"true" enum:"LoadMetricType"` 1826 1827 // Identifies the resource associated with the metric type. You can't specify 1828 // a resource label unless the metric type is ALBRequestCountPerTarget and there 1829 // is a target group for an Application Load Balancer attached to the Auto Scaling 1830 // group. 1831 // 1832 // The format is app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>, 1833 // where: 1834 // 1835 // * app/<load-balancer-name>/<load-balancer-id> is the final portion of 1836 // the load balancer ARN. 1837 // 1838 // * targetgroup/<target-group-name>/<target-group-id> is the final portion 1839 // of the target group ARN. 1840 ResourceLabel *string `min:"1" type:"string"` 1841} 1842 1843// String returns the string representation 1844func (s PredefinedLoadMetricSpecification) String() string { 1845 return awsutil.Prettify(s) 1846} 1847 1848// GoString returns the string representation 1849func (s PredefinedLoadMetricSpecification) GoString() string { 1850 return s.String() 1851} 1852 1853// Validate inspects the fields of the type to determine if they are valid. 1854func (s *PredefinedLoadMetricSpecification) Validate() error { 1855 invalidParams := request.ErrInvalidParams{Context: "PredefinedLoadMetricSpecification"} 1856 if s.PredefinedLoadMetricType == nil { 1857 invalidParams.Add(request.NewErrParamRequired("PredefinedLoadMetricType")) 1858 } 1859 if s.ResourceLabel != nil && len(*s.ResourceLabel) < 1 { 1860 invalidParams.Add(request.NewErrParamMinLen("ResourceLabel", 1)) 1861 } 1862 1863 if invalidParams.Len() > 0 { 1864 return invalidParams 1865 } 1866 return nil 1867} 1868 1869// SetPredefinedLoadMetricType sets the PredefinedLoadMetricType field's value. 1870func (s *PredefinedLoadMetricSpecification) SetPredefinedLoadMetricType(v string) *PredefinedLoadMetricSpecification { 1871 s.PredefinedLoadMetricType = &v 1872 return s 1873} 1874 1875// SetResourceLabel sets the ResourceLabel field's value. 1876func (s *PredefinedLoadMetricSpecification) SetResourceLabel(v string) *PredefinedLoadMetricSpecification { 1877 s.ResourceLabel = &v 1878 return s 1879} 1880 1881// Represents a predefined metric that can be used for dynamic scaling as part 1882// of a target tracking scaling policy. 1883type PredefinedScalingMetricSpecification struct { 1884 _ struct{} `type:"structure"` 1885 1886 // The metric type. The ALBRequestCountPerTarget metric type applies only to 1887 // Auto Scaling groups, Spot Fleet requests, and ECS services. 1888 // 1889 // PredefinedScalingMetricType is a required field 1890 PredefinedScalingMetricType *string `type:"string" required:"true" enum:"ScalingMetricType"` 1891 1892 // Identifies the resource associated with the metric type. You can't specify 1893 // a resource label unless the metric type is ALBRequestCountPerTarget and there 1894 // is a target group for an Application Load Balancer attached to the Auto Scaling 1895 // group, Spot Fleet request, or ECS service. 1896 // 1897 // The format is app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>, 1898 // where: 1899 // 1900 // * app/<load-balancer-name>/<load-balancer-id> is the final portion of 1901 // the load balancer ARN. 1902 // 1903 // * targetgroup/<target-group-name>/<target-group-id> is the final portion 1904 // of the target group ARN. 1905 ResourceLabel *string `min:"1" type:"string"` 1906} 1907 1908// String returns the string representation 1909func (s PredefinedScalingMetricSpecification) String() string { 1910 return awsutil.Prettify(s) 1911} 1912 1913// GoString returns the string representation 1914func (s PredefinedScalingMetricSpecification) GoString() string { 1915 return s.String() 1916} 1917 1918// Validate inspects the fields of the type to determine if they are valid. 1919func (s *PredefinedScalingMetricSpecification) Validate() error { 1920 invalidParams := request.ErrInvalidParams{Context: "PredefinedScalingMetricSpecification"} 1921 if s.PredefinedScalingMetricType == nil { 1922 invalidParams.Add(request.NewErrParamRequired("PredefinedScalingMetricType")) 1923 } 1924 if s.ResourceLabel != nil && len(*s.ResourceLabel) < 1 { 1925 invalidParams.Add(request.NewErrParamMinLen("ResourceLabel", 1)) 1926 } 1927 1928 if invalidParams.Len() > 0 { 1929 return invalidParams 1930 } 1931 return nil 1932} 1933 1934// SetPredefinedScalingMetricType sets the PredefinedScalingMetricType field's value. 1935func (s *PredefinedScalingMetricSpecification) SetPredefinedScalingMetricType(v string) *PredefinedScalingMetricSpecification { 1936 s.PredefinedScalingMetricType = &v 1937 return s 1938} 1939 1940// SetResourceLabel sets the ResourceLabel field's value. 1941func (s *PredefinedScalingMetricSpecification) SetResourceLabel(v string) *PredefinedScalingMetricSpecification { 1942 s.ResourceLabel = &v 1943 return s 1944} 1945 1946// Describes a scaling instruction for a scalable resource. 1947// 1948// The scaling instruction is used in combination with a scaling plan, which 1949// is a set of instructions for configuring dynamic scaling and predictive scaling 1950// for the scalable resources in your application. Each scaling instruction 1951// applies to one resource. 1952// 1953// AWS Auto Scaling creates target tracking scaling policies based on the scaling 1954// instructions. Target tracking scaling policies adjust the capacity of your 1955// scalable resource as required to maintain resource utilization at the target 1956// value that you specified. 1957// 1958// AWS Auto Scaling also configures predictive scaling for your Amazon EC2 Auto 1959// Scaling groups using a subset of parameters, including the load metric, the 1960// scaling metric, the target value for the scaling metric, the predictive scaling 1961// mode (forecast and scale or forecast only), and the desired behavior when 1962// the forecast capacity exceeds the maximum capacity of the resource. With 1963// predictive scaling, AWS Auto Scaling generates forecasts with traffic predictions 1964// for the two days ahead and schedules scaling actions that proactively add 1965// and remove resource capacity to match the forecast. 1966// 1967// We recommend waiting a minimum of 24 hours after creating an Auto Scaling 1968// group to configure predictive scaling. At minimum, there must be 24 hours 1969// of historical data to generate a forecast. 1970// 1971// For more information, see Getting Started with AWS Auto Scaling (https://docs.aws.amazon.com/autoscaling/plans/userguide/auto-scaling-getting-started.html). 1972type ScalingInstruction struct { 1973 _ struct{} `type:"structure"` 1974 1975 // The customized load metric to use for predictive scaling. This parameter 1976 // or a PredefinedLoadMetricSpecification is required when configuring predictive 1977 // scaling, and cannot be used otherwise. 1978 CustomizedLoadMetricSpecification *CustomizedLoadMetricSpecification `type:"structure"` 1979 1980 // Controls whether dynamic scaling by AWS Auto Scaling is disabled. When dynamic 1981 // scaling is enabled, AWS Auto Scaling creates target tracking scaling policies 1982 // based on the specified target tracking configurations. 1983 // 1984 // The default is enabled (false). 1985 DisableDynamicScaling *bool `type:"boolean"` 1986 1987 // The maximum capacity of the resource. The exception to this upper limit is 1988 // if you specify a non-default setting for PredictiveScalingMaxCapacityBehavior. 1989 // 1990 // MaxCapacity is a required field 1991 MaxCapacity *int64 `type:"integer" required:"true"` 1992 1993 // The minimum capacity of the resource. 1994 // 1995 // MinCapacity is a required field 1996 MinCapacity *int64 `type:"integer" required:"true"` 1997 1998 // The predefined load metric to use for predictive scaling. This parameter 1999 // or a CustomizedLoadMetricSpecification is required when configuring predictive 2000 // scaling, and cannot be used otherwise. 2001 PredefinedLoadMetricSpecification *PredefinedLoadMetricSpecification `type:"structure"` 2002 2003 // Defines the behavior that should be applied if the forecast capacity approaches 2004 // or exceeds the maximum capacity specified for the resource. The default value 2005 // is SetForecastCapacityToMaxCapacity. 2006 // 2007 // The following are possible values: 2008 // 2009 // * SetForecastCapacityToMaxCapacity - AWS Auto Scaling cannot scale resource 2010 // capacity higher than the maximum capacity. The maximum capacity is enforced 2011 // as a hard limit. 2012 // 2013 // * SetMaxCapacityToForecastCapacity - AWS Auto Scaling may scale resource 2014 // capacity higher than the maximum capacity to equal but not exceed forecast 2015 // capacity. 2016 // 2017 // * SetMaxCapacityAboveForecastCapacity - AWS Auto Scaling may scale resource 2018 // capacity higher than the maximum capacity by a specified buffer value. 2019 // The intention is to give the target tracking scaling policy extra capacity 2020 // if unexpected traffic occurs. 2021 // 2022 // Only valid when configuring predictive scaling. 2023 PredictiveScalingMaxCapacityBehavior *string `type:"string" enum:"PredictiveScalingMaxCapacityBehavior"` 2024 2025 // The size of the capacity buffer to use when the forecast capacity is close 2026 // to or exceeds the maximum capacity. The value is specified as a percentage 2027 // relative to the forecast capacity. For example, if the buffer is 10, this 2028 // means a 10 percent buffer, such that if the forecast capacity is 50, and 2029 // the maximum capacity is 40, then the effective maximum capacity is 55. 2030 // 2031 // Only valid when configuring predictive scaling. Required if the PredictiveScalingMaxCapacityBehavior 2032 // is set to SetMaxCapacityAboveForecastCapacity, and cannot be used otherwise. 2033 // 2034 // The range is 1-100. 2035 PredictiveScalingMaxCapacityBuffer *int64 `type:"integer"` 2036 2037 // The predictive scaling mode. The default value is ForecastAndScale. Otherwise, 2038 // AWS Auto Scaling forecasts capacity but does not create any scheduled scaling 2039 // actions based on the capacity forecast. 2040 PredictiveScalingMode *string `type:"string" enum:"PredictiveScalingMode"` 2041 2042 // The ID of the resource. This string consists of the resource type and unique 2043 // identifier. 2044 // 2045 // * Auto Scaling group - The resource type is autoScalingGroup and the unique 2046 // identifier is the name of the Auto Scaling group. Example: autoScalingGroup/my-asg. 2047 // 2048 // * ECS service - The resource type is service and the unique identifier 2049 // is the cluster name and service name. Example: service/default/sample-webapp. 2050 // 2051 // * Spot Fleet request - The resource type is spot-fleet-request and the 2052 // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 2053 // 2054 // * DynamoDB table - The resource type is table and the unique identifier 2055 // is the resource ID. Example: table/my-table. 2056 // 2057 // * DynamoDB global secondary index - The resource type is index and the 2058 // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. 2059 // 2060 // * Aurora DB cluster - The resource type is cluster and the unique identifier 2061 // is the cluster name. Example: cluster:my-db-cluster. 2062 // 2063 // ResourceId is a required field 2064 ResourceId *string `min:"1" type:"string" required:"true"` 2065 2066 // The scalable dimension associated with the resource. 2067 // 2068 // * autoscaling:autoScalingGroup:DesiredCapacity - The desired capacity 2069 // of an Auto Scaling group. 2070 // 2071 // * ecs:service:DesiredCount - The desired task count of an ECS service. 2072 // 2073 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 2074 // Fleet request. 2075 // 2076 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 2077 // a DynamoDB table. 2078 // 2079 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 2080 // a DynamoDB table. 2081 // 2082 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 2083 // a DynamoDB global secondary index. 2084 // 2085 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 2086 // a DynamoDB global secondary index. 2087 // 2088 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 2089 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 2090 // edition. 2091 // 2092 // ScalableDimension is a required field 2093 ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` 2094 2095 // Controls whether a resource's externally created scaling policies are kept 2096 // or replaced. 2097 // 2098 // The default value is KeepExternalPolicies. If the parameter is set to ReplaceExternalPolicies, 2099 // any scaling policies that are external to AWS Auto Scaling are deleted and 2100 // new target tracking scaling policies created. 2101 // 2102 // Only valid when configuring dynamic scaling. 2103 // 2104 // Condition: The number of existing policies to be replaced must be less than 2105 // or equal to 50. If there are more than 50 policies to be replaced, AWS Auto 2106 // Scaling keeps all existing policies and does not create new ones. 2107 ScalingPolicyUpdateBehavior *string `type:"string" enum:"ScalingPolicyUpdateBehavior"` 2108 2109 // The amount of time, in seconds, to buffer the run time of scheduled scaling 2110 // actions when scaling out. For example, if the forecast says to add capacity 2111 // at 10:00 AM, and the buffer time is 5 minutes, then the run time of the corresponding 2112 // scheduled scaling action will be 9:55 AM. The intention is to give resources 2113 // time to be provisioned. For example, it can take a few minutes to launch 2114 // an EC2 instance. The actual amount of time required depends on several factors, 2115 // such as the size of the instance and whether there are startup scripts to 2116 // complete. 2117 // 2118 // The value must be less than the forecast interval duration of 3600 seconds 2119 // (60 minutes). The default is 300 seconds. 2120 // 2121 // Only valid when configuring predictive scaling. 2122 ScheduledActionBufferTime *int64 `type:"integer"` 2123 2124 // The namespace of the AWS service. 2125 // 2126 // ServiceNamespace is a required field 2127 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 2128 2129 // The structure that defines new target tracking configurations (up to 10). 2130 // Each of these structures includes a specific scaling metric and a target 2131 // value for the metric, along with various parameters to use with dynamic scaling. 2132 // 2133 // With predictive scaling and dynamic scaling, the resource scales based on 2134 // the target tracking configuration that provides the largest capacity for 2135 // both scale in and scale out. 2136 // 2137 // Condition: The scaling metric must be unique across target tracking configurations. 2138 // 2139 // TargetTrackingConfigurations is a required field 2140 TargetTrackingConfigurations []*TargetTrackingConfiguration `type:"list" required:"true"` 2141} 2142 2143// String returns the string representation 2144func (s ScalingInstruction) String() string { 2145 return awsutil.Prettify(s) 2146} 2147 2148// GoString returns the string representation 2149func (s ScalingInstruction) GoString() string { 2150 return s.String() 2151} 2152 2153// Validate inspects the fields of the type to determine if they are valid. 2154func (s *ScalingInstruction) Validate() error { 2155 invalidParams := request.ErrInvalidParams{Context: "ScalingInstruction"} 2156 if s.MaxCapacity == nil { 2157 invalidParams.Add(request.NewErrParamRequired("MaxCapacity")) 2158 } 2159 if s.MinCapacity == nil { 2160 invalidParams.Add(request.NewErrParamRequired("MinCapacity")) 2161 } 2162 if s.ResourceId == nil { 2163 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 2164 } 2165 if s.ResourceId != nil && len(*s.ResourceId) < 1 { 2166 invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) 2167 } 2168 if s.ScalableDimension == nil { 2169 invalidParams.Add(request.NewErrParamRequired("ScalableDimension")) 2170 } 2171 if s.ServiceNamespace == nil { 2172 invalidParams.Add(request.NewErrParamRequired("ServiceNamespace")) 2173 } 2174 if s.TargetTrackingConfigurations == nil { 2175 invalidParams.Add(request.NewErrParamRequired("TargetTrackingConfigurations")) 2176 } 2177 if s.CustomizedLoadMetricSpecification != nil { 2178 if err := s.CustomizedLoadMetricSpecification.Validate(); err != nil { 2179 invalidParams.AddNested("CustomizedLoadMetricSpecification", err.(request.ErrInvalidParams)) 2180 } 2181 } 2182 if s.PredefinedLoadMetricSpecification != nil { 2183 if err := s.PredefinedLoadMetricSpecification.Validate(); err != nil { 2184 invalidParams.AddNested("PredefinedLoadMetricSpecification", err.(request.ErrInvalidParams)) 2185 } 2186 } 2187 if s.TargetTrackingConfigurations != nil { 2188 for i, v := range s.TargetTrackingConfigurations { 2189 if v == nil { 2190 continue 2191 } 2192 if err := v.Validate(); err != nil { 2193 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetTrackingConfigurations", i), err.(request.ErrInvalidParams)) 2194 } 2195 } 2196 } 2197 2198 if invalidParams.Len() > 0 { 2199 return invalidParams 2200 } 2201 return nil 2202} 2203 2204// SetCustomizedLoadMetricSpecification sets the CustomizedLoadMetricSpecification field's value. 2205func (s *ScalingInstruction) SetCustomizedLoadMetricSpecification(v *CustomizedLoadMetricSpecification) *ScalingInstruction { 2206 s.CustomizedLoadMetricSpecification = v 2207 return s 2208} 2209 2210// SetDisableDynamicScaling sets the DisableDynamicScaling field's value. 2211func (s *ScalingInstruction) SetDisableDynamicScaling(v bool) *ScalingInstruction { 2212 s.DisableDynamicScaling = &v 2213 return s 2214} 2215 2216// SetMaxCapacity sets the MaxCapacity field's value. 2217func (s *ScalingInstruction) SetMaxCapacity(v int64) *ScalingInstruction { 2218 s.MaxCapacity = &v 2219 return s 2220} 2221 2222// SetMinCapacity sets the MinCapacity field's value. 2223func (s *ScalingInstruction) SetMinCapacity(v int64) *ScalingInstruction { 2224 s.MinCapacity = &v 2225 return s 2226} 2227 2228// SetPredefinedLoadMetricSpecification sets the PredefinedLoadMetricSpecification field's value. 2229func (s *ScalingInstruction) SetPredefinedLoadMetricSpecification(v *PredefinedLoadMetricSpecification) *ScalingInstruction { 2230 s.PredefinedLoadMetricSpecification = v 2231 return s 2232} 2233 2234// SetPredictiveScalingMaxCapacityBehavior sets the PredictiveScalingMaxCapacityBehavior field's value. 2235func (s *ScalingInstruction) SetPredictiveScalingMaxCapacityBehavior(v string) *ScalingInstruction { 2236 s.PredictiveScalingMaxCapacityBehavior = &v 2237 return s 2238} 2239 2240// SetPredictiveScalingMaxCapacityBuffer sets the PredictiveScalingMaxCapacityBuffer field's value. 2241func (s *ScalingInstruction) SetPredictiveScalingMaxCapacityBuffer(v int64) *ScalingInstruction { 2242 s.PredictiveScalingMaxCapacityBuffer = &v 2243 return s 2244} 2245 2246// SetPredictiveScalingMode sets the PredictiveScalingMode field's value. 2247func (s *ScalingInstruction) SetPredictiveScalingMode(v string) *ScalingInstruction { 2248 s.PredictiveScalingMode = &v 2249 return s 2250} 2251 2252// SetResourceId sets the ResourceId field's value. 2253func (s *ScalingInstruction) SetResourceId(v string) *ScalingInstruction { 2254 s.ResourceId = &v 2255 return s 2256} 2257 2258// SetScalableDimension sets the ScalableDimension field's value. 2259func (s *ScalingInstruction) SetScalableDimension(v string) *ScalingInstruction { 2260 s.ScalableDimension = &v 2261 return s 2262} 2263 2264// SetScalingPolicyUpdateBehavior sets the ScalingPolicyUpdateBehavior field's value. 2265func (s *ScalingInstruction) SetScalingPolicyUpdateBehavior(v string) *ScalingInstruction { 2266 s.ScalingPolicyUpdateBehavior = &v 2267 return s 2268} 2269 2270// SetScheduledActionBufferTime sets the ScheduledActionBufferTime field's value. 2271func (s *ScalingInstruction) SetScheduledActionBufferTime(v int64) *ScalingInstruction { 2272 s.ScheduledActionBufferTime = &v 2273 return s 2274} 2275 2276// SetServiceNamespace sets the ServiceNamespace field's value. 2277func (s *ScalingInstruction) SetServiceNamespace(v string) *ScalingInstruction { 2278 s.ServiceNamespace = &v 2279 return s 2280} 2281 2282// SetTargetTrackingConfigurations sets the TargetTrackingConfigurations field's value. 2283func (s *ScalingInstruction) SetTargetTrackingConfigurations(v []*TargetTrackingConfiguration) *ScalingInstruction { 2284 s.TargetTrackingConfigurations = v 2285 return s 2286} 2287 2288// Represents a scaling plan. 2289type ScalingPlan struct { 2290 _ struct{} `type:"structure"` 2291 2292 // The application source. 2293 // 2294 // ApplicationSource is a required field 2295 ApplicationSource *ApplicationSource `type:"structure" required:"true"` 2296 2297 // The Unix time stamp when the scaling plan was created. 2298 CreationTime *time.Time `type:"timestamp"` 2299 2300 // The scaling instructions. 2301 // 2302 // ScalingInstructions is a required field 2303 ScalingInstructions []*ScalingInstruction `type:"list" required:"true"` 2304 2305 // The name of the scaling plan. 2306 // 2307 // ScalingPlanName is a required field 2308 ScalingPlanName *string `min:"1" type:"string" required:"true"` 2309 2310 // The version number of the scaling plan. 2311 // 2312 // ScalingPlanVersion is a required field 2313 ScalingPlanVersion *int64 `type:"long" required:"true"` 2314 2315 // The status of the scaling plan. 2316 // 2317 // * Active - The scaling plan is active. 2318 // 2319 // * ActiveWithProblems - The scaling plan is active, but the scaling configuration 2320 // for one or more resources could not be applied. 2321 // 2322 // * CreationInProgress - The scaling plan is being created. 2323 // 2324 // * CreationFailed - The scaling plan could not be created. 2325 // 2326 // * DeletionInProgress - The scaling plan is being deleted. 2327 // 2328 // * DeletionFailed - The scaling plan could not be deleted. 2329 // 2330 // * UpdateInProgress - The scaling plan is being updated. 2331 // 2332 // * UpdateFailed - The scaling plan could not be updated. 2333 // 2334 // StatusCode is a required field 2335 StatusCode *string `type:"string" required:"true" enum:"ScalingPlanStatusCode"` 2336 2337 // A simple message about the current status of the scaling plan. 2338 StatusMessage *string `type:"string"` 2339 2340 // The Unix time stamp when the scaling plan entered the current status. 2341 StatusStartTime *time.Time `type:"timestamp"` 2342} 2343 2344// String returns the string representation 2345func (s ScalingPlan) String() string { 2346 return awsutil.Prettify(s) 2347} 2348 2349// GoString returns the string representation 2350func (s ScalingPlan) GoString() string { 2351 return s.String() 2352} 2353 2354// SetApplicationSource sets the ApplicationSource field's value. 2355func (s *ScalingPlan) SetApplicationSource(v *ApplicationSource) *ScalingPlan { 2356 s.ApplicationSource = v 2357 return s 2358} 2359 2360// SetCreationTime sets the CreationTime field's value. 2361func (s *ScalingPlan) SetCreationTime(v time.Time) *ScalingPlan { 2362 s.CreationTime = &v 2363 return s 2364} 2365 2366// SetScalingInstructions sets the ScalingInstructions field's value. 2367func (s *ScalingPlan) SetScalingInstructions(v []*ScalingInstruction) *ScalingPlan { 2368 s.ScalingInstructions = v 2369 return s 2370} 2371 2372// SetScalingPlanName sets the ScalingPlanName field's value. 2373func (s *ScalingPlan) SetScalingPlanName(v string) *ScalingPlan { 2374 s.ScalingPlanName = &v 2375 return s 2376} 2377 2378// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 2379func (s *ScalingPlan) SetScalingPlanVersion(v int64) *ScalingPlan { 2380 s.ScalingPlanVersion = &v 2381 return s 2382} 2383 2384// SetStatusCode sets the StatusCode field's value. 2385func (s *ScalingPlan) SetStatusCode(v string) *ScalingPlan { 2386 s.StatusCode = &v 2387 return s 2388} 2389 2390// SetStatusMessage sets the StatusMessage field's value. 2391func (s *ScalingPlan) SetStatusMessage(v string) *ScalingPlan { 2392 s.StatusMessage = &v 2393 return s 2394} 2395 2396// SetStatusStartTime sets the StatusStartTime field's value. 2397func (s *ScalingPlan) SetStatusStartTime(v time.Time) *ScalingPlan { 2398 s.StatusStartTime = &v 2399 return s 2400} 2401 2402// Represents a scalable resource. 2403type ScalingPlanResource struct { 2404 _ struct{} `type:"structure"` 2405 2406 // The ID of the resource. This string consists of the resource type and unique 2407 // identifier. 2408 // 2409 // * Auto Scaling group - The resource type is autoScalingGroup and the unique 2410 // identifier is the name of the Auto Scaling group. Example: autoScalingGroup/my-asg. 2411 // 2412 // * ECS service - The resource type is service and the unique identifier 2413 // is the cluster name and service name. Example: service/default/sample-webapp. 2414 // 2415 // * Spot Fleet request - The resource type is spot-fleet-request and the 2416 // unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. 2417 // 2418 // * DynamoDB table - The resource type is table and the unique identifier 2419 // is the resource ID. Example: table/my-table. 2420 // 2421 // * DynamoDB global secondary index - The resource type is index and the 2422 // unique identifier is the resource ID. Example: table/my-table/index/my-table-index. 2423 // 2424 // * Aurora DB cluster - The resource type is cluster and the unique identifier 2425 // is the cluster name. Example: cluster:my-db-cluster. 2426 // 2427 // ResourceId is a required field 2428 ResourceId *string `min:"1" type:"string" required:"true"` 2429 2430 // The scalable dimension for the resource. 2431 // 2432 // * autoscaling:autoScalingGroup:DesiredCapacity - The desired capacity 2433 // of an Auto Scaling group. 2434 // 2435 // * ecs:service:DesiredCount - The desired task count of an ECS service. 2436 // 2437 // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot 2438 // Fleet request. 2439 // 2440 // * dynamodb:table:ReadCapacityUnits - The provisioned read capacity for 2441 // a DynamoDB table. 2442 // 2443 // * dynamodb:table:WriteCapacityUnits - The provisioned write capacity for 2444 // a DynamoDB table. 2445 // 2446 // * dynamodb:index:ReadCapacityUnits - The provisioned read capacity for 2447 // a DynamoDB global secondary index. 2448 // 2449 // * dynamodb:index:WriteCapacityUnits - The provisioned write capacity for 2450 // a DynamoDB global secondary index. 2451 // 2452 // * rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora 2453 // DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible 2454 // edition. 2455 // 2456 // ScalableDimension is a required field 2457 ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` 2458 2459 // The name of the scaling plan. 2460 // 2461 // ScalingPlanName is a required field 2462 ScalingPlanName *string `min:"1" type:"string" required:"true"` 2463 2464 // The version number of the scaling plan. 2465 // 2466 // ScalingPlanVersion is a required field 2467 ScalingPlanVersion *int64 `type:"long" required:"true"` 2468 2469 // The scaling policies. 2470 ScalingPolicies []*ScalingPolicy `type:"list"` 2471 2472 // The scaling status of the resource. 2473 // 2474 // * Active - The scaling configuration is active. 2475 // 2476 // * Inactive - The scaling configuration is not active because the scaling 2477 // plan is being created or the scaling configuration could not be applied. 2478 // Check the status message for more information. 2479 // 2480 // * PartiallyActive - The scaling configuration is partially active because 2481 // the scaling plan is being created or deleted or the scaling configuration 2482 // could not be fully applied. Check the status message for more information. 2483 // 2484 // ScalingStatusCode is a required field 2485 ScalingStatusCode *string `type:"string" required:"true" enum:"ScalingStatusCode"` 2486 2487 // A simple message about the current scaling status of the resource. 2488 ScalingStatusMessage *string `type:"string"` 2489 2490 // The namespace of the AWS service. 2491 // 2492 // ServiceNamespace is a required field 2493 ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` 2494} 2495 2496// String returns the string representation 2497func (s ScalingPlanResource) String() string { 2498 return awsutil.Prettify(s) 2499} 2500 2501// GoString returns the string representation 2502func (s ScalingPlanResource) GoString() string { 2503 return s.String() 2504} 2505 2506// SetResourceId sets the ResourceId field's value. 2507func (s *ScalingPlanResource) SetResourceId(v string) *ScalingPlanResource { 2508 s.ResourceId = &v 2509 return s 2510} 2511 2512// SetScalableDimension sets the ScalableDimension field's value. 2513func (s *ScalingPlanResource) SetScalableDimension(v string) *ScalingPlanResource { 2514 s.ScalableDimension = &v 2515 return s 2516} 2517 2518// SetScalingPlanName sets the ScalingPlanName field's value. 2519func (s *ScalingPlanResource) SetScalingPlanName(v string) *ScalingPlanResource { 2520 s.ScalingPlanName = &v 2521 return s 2522} 2523 2524// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 2525func (s *ScalingPlanResource) SetScalingPlanVersion(v int64) *ScalingPlanResource { 2526 s.ScalingPlanVersion = &v 2527 return s 2528} 2529 2530// SetScalingPolicies sets the ScalingPolicies field's value. 2531func (s *ScalingPlanResource) SetScalingPolicies(v []*ScalingPolicy) *ScalingPlanResource { 2532 s.ScalingPolicies = v 2533 return s 2534} 2535 2536// SetScalingStatusCode sets the ScalingStatusCode field's value. 2537func (s *ScalingPlanResource) SetScalingStatusCode(v string) *ScalingPlanResource { 2538 s.ScalingStatusCode = &v 2539 return s 2540} 2541 2542// SetScalingStatusMessage sets the ScalingStatusMessage field's value. 2543func (s *ScalingPlanResource) SetScalingStatusMessage(v string) *ScalingPlanResource { 2544 s.ScalingStatusMessage = &v 2545 return s 2546} 2547 2548// SetServiceNamespace sets the ServiceNamespace field's value. 2549func (s *ScalingPlanResource) SetServiceNamespace(v string) *ScalingPlanResource { 2550 s.ServiceNamespace = &v 2551 return s 2552} 2553 2554// Represents a scaling policy. 2555type ScalingPolicy struct { 2556 _ struct{} `type:"structure"` 2557 2558 // The name of the scaling policy. 2559 // 2560 // PolicyName is a required field 2561 PolicyName *string `min:"1" type:"string" required:"true"` 2562 2563 // The type of scaling policy. 2564 // 2565 // PolicyType is a required field 2566 PolicyType *string `type:"string" required:"true" enum:"PolicyType"` 2567 2568 // The target tracking scaling policy. Includes support for predefined or customized 2569 // metrics. 2570 TargetTrackingConfiguration *TargetTrackingConfiguration `type:"structure"` 2571} 2572 2573// String returns the string representation 2574func (s ScalingPolicy) String() string { 2575 return awsutil.Prettify(s) 2576} 2577 2578// GoString returns the string representation 2579func (s ScalingPolicy) GoString() string { 2580 return s.String() 2581} 2582 2583// SetPolicyName sets the PolicyName field's value. 2584func (s *ScalingPolicy) SetPolicyName(v string) *ScalingPolicy { 2585 s.PolicyName = &v 2586 return s 2587} 2588 2589// SetPolicyType sets the PolicyType field's value. 2590func (s *ScalingPolicy) SetPolicyType(v string) *ScalingPolicy { 2591 s.PolicyType = &v 2592 return s 2593} 2594 2595// SetTargetTrackingConfiguration sets the TargetTrackingConfiguration field's value. 2596func (s *ScalingPolicy) SetTargetTrackingConfiguration(v *TargetTrackingConfiguration) *ScalingPolicy { 2597 s.TargetTrackingConfiguration = v 2598 return s 2599} 2600 2601// Represents a tag. 2602type TagFilter struct { 2603 _ struct{} `type:"structure"` 2604 2605 // The tag key. 2606 Key *string `min:"1" type:"string"` 2607 2608 // The tag values (0 to 20). 2609 Values []*string `type:"list"` 2610} 2611 2612// String returns the string representation 2613func (s TagFilter) String() string { 2614 return awsutil.Prettify(s) 2615} 2616 2617// GoString returns the string representation 2618func (s TagFilter) GoString() string { 2619 return s.String() 2620} 2621 2622// Validate inspects the fields of the type to determine if they are valid. 2623func (s *TagFilter) Validate() error { 2624 invalidParams := request.ErrInvalidParams{Context: "TagFilter"} 2625 if s.Key != nil && len(*s.Key) < 1 { 2626 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 2627 } 2628 2629 if invalidParams.Len() > 0 { 2630 return invalidParams 2631 } 2632 return nil 2633} 2634 2635// SetKey sets the Key field's value. 2636func (s *TagFilter) SetKey(v string) *TagFilter { 2637 s.Key = &v 2638 return s 2639} 2640 2641// SetValues sets the Values field's value. 2642func (s *TagFilter) SetValues(v []*string) *TagFilter { 2643 s.Values = v 2644 return s 2645} 2646 2647// Describes a target tracking configuration to use with AWS Auto Scaling. Used 2648// with ScalingInstruction and ScalingPolicy. 2649type TargetTrackingConfiguration struct { 2650 _ struct{} `type:"structure"` 2651 2652 // A customized metric. You can specify either a predefined metric or a customized 2653 // metric. 2654 CustomizedScalingMetricSpecification *CustomizedScalingMetricSpecification `type:"structure"` 2655 2656 // Indicates whether scale in by the target tracking scaling policy is disabled. 2657 // If the value is true, scale in is disabled and the target tracking scaling 2658 // policy doesn't remove capacity from the scalable resource. Otherwise, scale 2659 // in is enabled and the target tracking scaling policy can remove capacity 2660 // from the scalable resource. 2661 // 2662 // The default value is false. 2663 DisableScaleIn *bool `type:"boolean"` 2664 2665 // The estimated time, in seconds, until a newly launched instance can contribute 2666 // to the CloudWatch metrics. This value is used only if the resource is an 2667 // Auto Scaling group. 2668 EstimatedInstanceWarmup *int64 `type:"integer"` 2669 2670 // A predefined metric. You can specify either a predefined metric or a customized 2671 // metric. 2672 PredefinedScalingMetricSpecification *PredefinedScalingMetricSpecification `type:"structure"` 2673 2674 // The amount of time, in seconds, after a scale in activity completes before 2675 // another scale in activity can start. This value is not used if the scalable 2676 // resource is an Auto Scaling group. 2677 // 2678 // The cooldown period is used to block subsequent scale in requests until it 2679 // has expired. The intention is to scale in conservatively to protect your 2680 // application's availability. However, if another alarm triggers a scale-out 2681 // policy during the cooldown period after a scale-in, AWS Auto Scaling scales 2682 // out your scalable target immediately. 2683 ScaleInCooldown *int64 `type:"integer"` 2684 2685 // The amount of time, in seconds, after a scale-out activity completes before 2686 // another scale-out activity can start. This value is not used if the scalable 2687 // resource is an Auto Scaling group. 2688 // 2689 // While the cooldown period is in effect, the capacity that has been added 2690 // by the previous scale-out event that initiated the cooldown is calculated 2691 // as part of the desired capacity for the next scale out. The intention is 2692 // to continuously (but not excessively) scale out. 2693 ScaleOutCooldown *int64 `type:"integer"` 2694 2695 // The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 2696 // (Base 10) or 2e-360 to 2e360 (Base 2). 2697 // 2698 // TargetValue is a required field 2699 TargetValue *float64 `type:"double" required:"true"` 2700} 2701 2702// String returns the string representation 2703func (s TargetTrackingConfiguration) String() string { 2704 return awsutil.Prettify(s) 2705} 2706 2707// GoString returns the string representation 2708func (s TargetTrackingConfiguration) GoString() string { 2709 return s.String() 2710} 2711 2712// Validate inspects the fields of the type to determine if they are valid. 2713func (s *TargetTrackingConfiguration) Validate() error { 2714 invalidParams := request.ErrInvalidParams{Context: "TargetTrackingConfiguration"} 2715 if s.TargetValue == nil { 2716 invalidParams.Add(request.NewErrParamRequired("TargetValue")) 2717 } 2718 if s.CustomizedScalingMetricSpecification != nil { 2719 if err := s.CustomizedScalingMetricSpecification.Validate(); err != nil { 2720 invalidParams.AddNested("CustomizedScalingMetricSpecification", err.(request.ErrInvalidParams)) 2721 } 2722 } 2723 if s.PredefinedScalingMetricSpecification != nil { 2724 if err := s.PredefinedScalingMetricSpecification.Validate(); err != nil { 2725 invalidParams.AddNested("PredefinedScalingMetricSpecification", err.(request.ErrInvalidParams)) 2726 } 2727 } 2728 2729 if invalidParams.Len() > 0 { 2730 return invalidParams 2731 } 2732 return nil 2733} 2734 2735// SetCustomizedScalingMetricSpecification sets the CustomizedScalingMetricSpecification field's value. 2736func (s *TargetTrackingConfiguration) SetCustomizedScalingMetricSpecification(v *CustomizedScalingMetricSpecification) *TargetTrackingConfiguration { 2737 s.CustomizedScalingMetricSpecification = v 2738 return s 2739} 2740 2741// SetDisableScaleIn sets the DisableScaleIn field's value. 2742func (s *TargetTrackingConfiguration) SetDisableScaleIn(v bool) *TargetTrackingConfiguration { 2743 s.DisableScaleIn = &v 2744 return s 2745} 2746 2747// SetEstimatedInstanceWarmup sets the EstimatedInstanceWarmup field's value. 2748func (s *TargetTrackingConfiguration) SetEstimatedInstanceWarmup(v int64) *TargetTrackingConfiguration { 2749 s.EstimatedInstanceWarmup = &v 2750 return s 2751} 2752 2753// SetPredefinedScalingMetricSpecification sets the PredefinedScalingMetricSpecification field's value. 2754func (s *TargetTrackingConfiguration) SetPredefinedScalingMetricSpecification(v *PredefinedScalingMetricSpecification) *TargetTrackingConfiguration { 2755 s.PredefinedScalingMetricSpecification = v 2756 return s 2757} 2758 2759// SetScaleInCooldown sets the ScaleInCooldown field's value. 2760func (s *TargetTrackingConfiguration) SetScaleInCooldown(v int64) *TargetTrackingConfiguration { 2761 s.ScaleInCooldown = &v 2762 return s 2763} 2764 2765// SetScaleOutCooldown sets the ScaleOutCooldown field's value. 2766func (s *TargetTrackingConfiguration) SetScaleOutCooldown(v int64) *TargetTrackingConfiguration { 2767 s.ScaleOutCooldown = &v 2768 return s 2769} 2770 2771// SetTargetValue sets the TargetValue field's value. 2772func (s *TargetTrackingConfiguration) SetTargetValue(v float64) *TargetTrackingConfiguration { 2773 s.TargetValue = &v 2774 return s 2775} 2776 2777type UpdateScalingPlanInput struct { 2778 _ struct{} `type:"structure"` 2779 2780 // A CloudFormation stack or set of tags. 2781 ApplicationSource *ApplicationSource `type:"structure"` 2782 2783 // The scaling instructions. 2784 ScalingInstructions []*ScalingInstruction `type:"list"` 2785 2786 // The name of the scaling plan. 2787 // 2788 // ScalingPlanName is a required field 2789 ScalingPlanName *string `min:"1" type:"string" required:"true"` 2790 2791 // The version number of the scaling plan. 2792 // 2793 // ScalingPlanVersion is a required field 2794 ScalingPlanVersion *int64 `type:"long" required:"true"` 2795} 2796 2797// String returns the string representation 2798func (s UpdateScalingPlanInput) String() string { 2799 return awsutil.Prettify(s) 2800} 2801 2802// GoString returns the string representation 2803func (s UpdateScalingPlanInput) GoString() string { 2804 return s.String() 2805} 2806 2807// Validate inspects the fields of the type to determine if they are valid. 2808func (s *UpdateScalingPlanInput) Validate() error { 2809 invalidParams := request.ErrInvalidParams{Context: "UpdateScalingPlanInput"} 2810 if s.ScalingPlanName == nil { 2811 invalidParams.Add(request.NewErrParamRequired("ScalingPlanName")) 2812 } 2813 if s.ScalingPlanName != nil && len(*s.ScalingPlanName) < 1 { 2814 invalidParams.Add(request.NewErrParamMinLen("ScalingPlanName", 1)) 2815 } 2816 if s.ScalingPlanVersion == nil { 2817 invalidParams.Add(request.NewErrParamRequired("ScalingPlanVersion")) 2818 } 2819 if s.ApplicationSource != nil { 2820 if err := s.ApplicationSource.Validate(); err != nil { 2821 invalidParams.AddNested("ApplicationSource", err.(request.ErrInvalidParams)) 2822 } 2823 } 2824 if s.ScalingInstructions != nil { 2825 for i, v := range s.ScalingInstructions { 2826 if v == nil { 2827 continue 2828 } 2829 if err := v.Validate(); err != nil { 2830 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScalingInstructions", i), err.(request.ErrInvalidParams)) 2831 } 2832 } 2833 } 2834 2835 if invalidParams.Len() > 0 { 2836 return invalidParams 2837 } 2838 return nil 2839} 2840 2841// SetApplicationSource sets the ApplicationSource field's value. 2842func (s *UpdateScalingPlanInput) SetApplicationSource(v *ApplicationSource) *UpdateScalingPlanInput { 2843 s.ApplicationSource = v 2844 return s 2845} 2846 2847// SetScalingInstructions sets the ScalingInstructions field's value. 2848func (s *UpdateScalingPlanInput) SetScalingInstructions(v []*ScalingInstruction) *UpdateScalingPlanInput { 2849 s.ScalingInstructions = v 2850 return s 2851} 2852 2853// SetScalingPlanName sets the ScalingPlanName field's value. 2854func (s *UpdateScalingPlanInput) SetScalingPlanName(v string) *UpdateScalingPlanInput { 2855 s.ScalingPlanName = &v 2856 return s 2857} 2858 2859// SetScalingPlanVersion sets the ScalingPlanVersion field's value. 2860func (s *UpdateScalingPlanInput) SetScalingPlanVersion(v int64) *UpdateScalingPlanInput { 2861 s.ScalingPlanVersion = &v 2862 return s 2863} 2864 2865type UpdateScalingPlanOutput struct { 2866 _ struct{} `type:"structure"` 2867} 2868 2869// String returns the string representation 2870func (s UpdateScalingPlanOutput) String() string { 2871 return awsutil.Prettify(s) 2872} 2873 2874// GoString returns the string representation 2875func (s UpdateScalingPlanOutput) GoString() string { 2876 return s.String() 2877} 2878 2879// An exception was thrown for a validation issue. Review the parameters provided. 2880type ValidationException struct { 2881 _ struct{} `type:"structure"` 2882 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2883 2884 Message_ *string `locationName:"Message" type:"string"` 2885} 2886 2887// String returns the string representation 2888func (s ValidationException) String() string { 2889 return awsutil.Prettify(s) 2890} 2891 2892// GoString returns the string representation 2893func (s ValidationException) GoString() string { 2894 return s.String() 2895} 2896 2897func newErrorValidationException(v protocol.ResponseMetadata) error { 2898 return &ValidationException{ 2899 RespMetadata: v, 2900 } 2901} 2902 2903// Code returns the exception type name. 2904func (s *ValidationException) Code() string { 2905 return "ValidationException" 2906} 2907 2908// Message returns the exception's message. 2909func (s *ValidationException) Message() string { 2910 if s.Message_ != nil { 2911 return *s.Message_ 2912 } 2913 return "" 2914} 2915 2916// OrigErr always returns nil, satisfies awserr.Error interface. 2917func (s *ValidationException) OrigErr() error { 2918 return nil 2919} 2920 2921func (s *ValidationException) Error() string { 2922 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2923} 2924 2925// Status code returns the HTTP status code for the request's response error. 2926func (s *ValidationException) StatusCode() int { 2927 return s.RespMetadata.StatusCode 2928} 2929 2930// RequestID returns the service's response RequestID for request. 2931func (s *ValidationException) RequestID() string { 2932 return s.RespMetadata.RequestID 2933} 2934 2935const ( 2936 // ForecastDataTypeCapacityForecast is a ForecastDataType enum value 2937 ForecastDataTypeCapacityForecast = "CapacityForecast" 2938 2939 // ForecastDataTypeLoadForecast is a ForecastDataType enum value 2940 ForecastDataTypeLoadForecast = "LoadForecast" 2941 2942 // ForecastDataTypeScheduledActionMinCapacity is a ForecastDataType enum value 2943 ForecastDataTypeScheduledActionMinCapacity = "ScheduledActionMinCapacity" 2944 2945 // ForecastDataTypeScheduledActionMaxCapacity is a ForecastDataType enum value 2946 ForecastDataTypeScheduledActionMaxCapacity = "ScheduledActionMaxCapacity" 2947) 2948 2949const ( 2950 // LoadMetricTypeAsgtotalCpuutilization is a LoadMetricType enum value 2951 LoadMetricTypeAsgtotalCpuutilization = "ASGTotalCPUUtilization" 2952 2953 // LoadMetricTypeAsgtotalNetworkIn is a LoadMetricType enum value 2954 LoadMetricTypeAsgtotalNetworkIn = "ASGTotalNetworkIn" 2955 2956 // LoadMetricTypeAsgtotalNetworkOut is a LoadMetricType enum value 2957 LoadMetricTypeAsgtotalNetworkOut = "ASGTotalNetworkOut" 2958 2959 // LoadMetricTypeAlbtargetGroupRequestCount is a LoadMetricType enum value 2960 LoadMetricTypeAlbtargetGroupRequestCount = "ALBTargetGroupRequestCount" 2961) 2962 2963const ( 2964 // MetricStatisticAverage is a MetricStatistic enum value 2965 MetricStatisticAverage = "Average" 2966 2967 // MetricStatisticMinimum is a MetricStatistic enum value 2968 MetricStatisticMinimum = "Minimum" 2969 2970 // MetricStatisticMaximum is a MetricStatistic enum value 2971 MetricStatisticMaximum = "Maximum" 2972 2973 // MetricStatisticSampleCount is a MetricStatistic enum value 2974 MetricStatisticSampleCount = "SampleCount" 2975 2976 // MetricStatisticSum is a MetricStatistic enum value 2977 MetricStatisticSum = "Sum" 2978) 2979 2980const ( 2981 // PolicyTypeTargetTrackingScaling is a PolicyType enum value 2982 PolicyTypeTargetTrackingScaling = "TargetTrackingScaling" 2983) 2984 2985const ( 2986 // PredictiveScalingMaxCapacityBehaviorSetForecastCapacityToMaxCapacity is a PredictiveScalingMaxCapacityBehavior enum value 2987 PredictiveScalingMaxCapacityBehaviorSetForecastCapacityToMaxCapacity = "SetForecastCapacityToMaxCapacity" 2988 2989 // PredictiveScalingMaxCapacityBehaviorSetMaxCapacityToForecastCapacity is a PredictiveScalingMaxCapacityBehavior enum value 2990 PredictiveScalingMaxCapacityBehaviorSetMaxCapacityToForecastCapacity = "SetMaxCapacityToForecastCapacity" 2991 2992 // PredictiveScalingMaxCapacityBehaviorSetMaxCapacityAboveForecastCapacity is a PredictiveScalingMaxCapacityBehavior enum value 2993 PredictiveScalingMaxCapacityBehaviorSetMaxCapacityAboveForecastCapacity = "SetMaxCapacityAboveForecastCapacity" 2994) 2995 2996const ( 2997 // PredictiveScalingModeForecastAndScale is a PredictiveScalingMode enum value 2998 PredictiveScalingModeForecastAndScale = "ForecastAndScale" 2999 3000 // PredictiveScalingModeForecastOnly is a PredictiveScalingMode enum value 3001 PredictiveScalingModeForecastOnly = "ForecastOnly" 3002) 3003 3004const ( 3005 // ScalableDimensionAutoscalingAutoScalingGroupDesiredCapacity is a ScalableDimension enum value 3006 ScalableDimensionAutoscalingAutoScalingGroupDesiredCapacity = "autoscaling:autoScalingGroup:DesiredCapacity" 3007 3008 // ScalableDimensionEcsServiceDesiredCount is a ScalableDimension enum value 3009 ScalableDimensionEcsServiceDesiredCount = "ecs:service:DesiredCount" 3010 3011 // ScalableDimensionEc2SpotFleetRequestTargetCapacity is a ScalableDimension enum value 3012 ScalableDimensionEc2SpotFleetRequestTargetCapacity = "ec2:spot-fleet-request:TargetCapacity" 3013 3014 // ScalableDimensionRdsClusterReadReplicaCount is a ScalableDimension enum value 3015 ScalableDimensionRdsClusterReadReplicaCount = "rds:cluster:ReadReplicaCount" 3016 3017 // ScalableDimensionDynamodbTableReadCapacityUnits is a ScalableDimension enum value 3018 ScalableDimensionDynamodbTableReadCapacityUnits = "dynamodb:table:ReadCapacityUnits" 3019 3020 // ScalableDimensionDynamodbTableWriteCapacityUnits is a ScalableDimension enum value 3021 ScalableDimensionDynamodbTableWriteCapacityUnits = "dynamodb:table:WriteCapacityUnits" 3022 3023 // ScalableDimensionDynamodbIndexReadCapacityUnits is a ScalableDimension enum value 3024 ScalableDimensionDynamodbIndexReadCapacityUnits = "dynamodb:index:ReadCapacityUnits" 3025 3026 // ScalableDimensionDynamodbIndexWriteCapacityUnits is a ScalableDimension enum value 3027 ScalableDimensionDynamodbIndexWriteCapacityUnits = "dynamodb:index:WriteCapacityUnits" 3028) 3029 3030const ( 3031 // ScalingMetricTypeAsgaverageCpuutilization is a ScalingMetricType enum value 3032 ScalingMetricTypeAsgaverageCpuutilization = "ASGAverageCPUUtilization" 3033 3034 // ScalingMetricTypeAsgaverageNetworkIn is a ScalingMetricType enum value 3035 ScalingMetricTypeAsgaverageNetworkIn = "ASGAverageNetworkIn" 3036 3037 // ScalingMetricTypeAsgaverageNetworkOut is a ScalingMetricType enum value 3038 ScalingMetricTypeAsgaverageNetworkOut = "ASGAverageNetworkOut" 3039 3040 // ScalingMetricTypeDynamoDbreadCapacityUtilization is a ScalingMetricType enum value 3041 ScalingMetricTypeDynamoDbreadCapacityUtilization = "DynamoDBReadCapacityUtilization" 3042 3043 // ScalingMetricTypeDynamoDbwriteCapacityUtilization is a ScalingMetricType enum value 3044 ScalingMetricTypeDynamoDbwriteCapacityUtilization = "DynamoDBWriteCapacityUtilization" 3045 3046 // ScalingMetricTypeEcsserviceAverageCpuutilization is a ScalingMetricType enum value 3047 ScalingMetricTypeEcsserviceAverageCpuutilization = "ECSServiceAverageCPUUtilization" 3048 3049 // ScalingMetricTypeEcsserviceAverageMemoryUtilization is a ScalingMetricType enum value 3050 ScalingMetricTypeEcsserviceAverageMemoryUtilization = "ECSServiceAverageMemoryUtilization" 3051 3052 // ScalingMetricTypeAlbrequestCountPerTarget is a ScalingMetricType enum value 3053 ScalingMetricTypeAlbrequestCountPerTarget = "ALBRequestCountPerTarget" 3054 3055 // ScalingMetricTypeRdsreaderAverageCpuutilization is a ScalingMetricType enum value 3056 ScalingMetricTypeRdsreaderAverageCpuutilization = "RDSReaderAverageCPUUtilization" 3057 3058 // ScalingMetricTypeRdsreaderAverageDatabaseConnections is a ScalingMetricType enum value 3059 ScalingMetricTypeRdsreaderAverageDatabaseConnections = "RDSReaderAverageDatabaseConnections" 3060 3061 // ScalingMetricTypeEc2spotFleetRequestAverageCpuutilization is a ScalingMetricType enum value 3062 ScalingMetricTypeEc2spotFleetRequestAverageCpuutilization = "EC2SpotFleetRequestAverageCPUUtilization" 3063 3064 // ScalingMetricTypeEc2spotFleetRequestAverageNetworkIn is a ScalingMetricType enum value 3065 ScalingMetricTypeEc2spotFleetRequestAverageNetworkIn = "EC2SpotFleetRequestAverageNetworkIn" 3066 3067 // ScalingMetricTypeEc2spotFleetRequestAverageNetworkOut is a ScalingMetricType enum value 3068 ScalingMetricTypeEc2spotFleetRequestAverageNetworkOut = "EC2SpotFleetRequestAverageNetworkOut" 3069) 3070 3071const ( 3072 // ScalingPlanStatusCodeActive is a ScalingPlanStatusCode enum value 3073 ScalingPlanStatusCodeActive = "Active" 3074 3075 // ScalingPlanStatusCodeActiveWithProblems is a ScalingPlanStatusCode enum value 3076 ScalingPlanStatusCodeActiveWithProblems = "ActiveWithProblems" 3077 3078 // ScalingPlanStatusCodeCreationInProgress is a ScalingPlanStatusCode enum value 3079 ScalingPlanStatusCodeCreationInProgress = "CreationInProgress" 3080 3081 // ScalingPlanStatusCodeCreationFailed is a ScalingPlanStatusCode enum value 3082 ScalingPlanStatusCodeCreationFailed = "CreationFailed" 3083 3084 // ScalingPlanStatusCodeDeletionInProgress is a ScalingPlanStatusCode enum value 3085 ScalingPlanStatusCodeDeletionInProgress = "DeletionInProgress" 3086 3087 // ScalingPlanStatusCodeDeletionFailed is a ScalingPlanStatusCode enum value 3088 ScalingPlanStatusCodeDeletionFailed = "DeletionFailed" 3089 3090 // ScalingPlanStatusCodeUpdateInProgress is a ScalingPlanStatusCode enum value 3091 ScalingPlanStatusCodeUpdateInProgress = "UpdateInProgress" 3092 3093 // ScalingPlanStatusCodeUpdateFailed is a ScalingPlanStatusCode enum value 3094 ScalingPlanStatusCodeUpdateFailed = "UpdateFailed" 3095) 3096 3097const ( 3098 // ScalingPolicyUpdateBehaviorKeepExternalPolicies is a ScalingPolicyUpdateBehavior enum value 3099 ScalingPolicyUpdateBehaviorKeepExternalPolicies = "KeepExternalPolicies" 3100 3101 // ScalingPolicyUpdateBehaviorReplaceExternalPolicies is a ScalingPolicyUpdateBehavior enum value 3102 ScalingPolicyUpdateBehaviorReplaceExternalPolicies = "ReplaceExternalPolicies" 3103) 3104 3105const ( 3106 // ScalingStatusCodeInactive is a ScalingStatusCode enum value 3107 ScalingStatusCodeInactive = "Inactive" 3108 3109 // ScalingStatusCodePartiallyActive is a ScalingStatusCode enum value 3110 ScalingStatusCodePartiallyActive = "PartiallyActive" 3111 3112 // ScalingStatusCodeActive is a ScalingStatusCode enum value 3113 ScalingStatusCodeActive = "Active" 3114) 3115 3116const ( 3117 // ServiceNamespaceAutoscaling is a ServiceNamespace enum value 3118 ServiceNamespaceAutoscaling = "autoscaling" 3119 3120 // ServiceNamespaceEcs is a ServiceNamespace enum value 3121 ServiceNamespaceEcs = "ecs" 3122 3123 // ServiceNamespaceEc2 is a ServiceNamespace enum value 3124 ServiceNamespaceEc2 = "ec2" 3125 3126 // ServiceNamespaceRds is a ServiceNamespace enum value 3127 ServiceNamespaceRds = "rds" 3128 3129 // ServiceNamespaceDynamodb is a ServiceNamespace enum value 3130 ServiceNamespaceDynamodb = "dynamodb" 3131) 3132