1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package computeoptimizer 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) 14 15const opDescribeRecommendationExportJobs = "DescribeRecommendationExportJobs" 16 17// DescribeRecommendationExportJobsRequest generates a "aws/request.Request" representing the 18// client's request for the DescribeRecommendationExportJobs operation. The "output" return 19// value will be populated with the request's response once the request completes 20// successfully. 21// 22// Use "Send" method on the returned Request to send the API call to the service. 23// the "output" return value is not valid until after Send returns without error. 24// 25// See DescribeRecommendationExportJobs for more information on using the DescribeRecommendationExportJobs 26// API call, and error handling. 27// 28// This method is useful when you want to inject custom logic or configuration 29// into the SDK's request lifecycle. Such as custom headers, or retry logic. 30// 31// 32// // Example sending a request using the DescribeRecommendationExportJobsRequest method. 33// req, resp := client.DescribeRecommendationExportJobsRequest(params) 34// 35// err := req.Send() 36// if err == nil { // resp is now filled 37// fmt.Println(resp) 38// } 39// 40// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DescribeRecommendationExportJobs 41func (c *ComputeOptimizer) DescribeRecommendationExportJobsRequest(input *DescribeRecommendationExportJobsInput) (req *request.Request, output *DescribeRecommendationExportJobsOutput) { 42 op := &request.Operation{ 43 Name: opDescribeRecommendationExportJobs, 44 HTTPMethod: "POST", 45 HTTPPath: "/", 46 } 47 48 if input == nil { 49 input = &DescribeRecommendationExportJobsInput{} 50 } 51 52 output = &DescribeRecommendationExportJobsOutput{} 53 req = c.newRequest(op, input, output) 54 return 55} 56 57// DescribeRecommendationExportJobs API operation for AWS Compute Optimizer. 58// 59// Describes recommendation export jobs created in the last seven days. 60// 61// Use the ExportAutoScalingGroupRecommendations or ExportEC2InstanceRecommendations 62// actions to request an export of your recommendations. Then use the DescribeRecommendationExportJobs 63// action to view your export jobs. 64// 65// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 66// with awserr.Error's Code and Message methods to get detailed information about 67// the error. 68// 69// See the AWS API reference guide for AWS Compute Optimizer's 70// API operation DescribeRecommendationExportJobs for usage and error information. 71// 72// Returned Error Types: 73// * OptInRequiredException 74// The account is not opted in to AWS Compute Optimizer. 75// 76// * InternalServerException 77// An internal error has occurred. Try your call again. 78// 79// * ServiceUnavailableException 80// The request has failed due to a temporary failure of the server. 81// 82// * AccessDeniedException 83// You do not have sufficient access to perform this action. 84// 85// * InvalidParameterValueException 86// An invalid or out-of-range value was supplied for the input parameter. 87// 88// * ResourceNotFoundException 89// A resource that is required for the action doesn't exist. 90// 91// * MissingAuthenticationToken 92// The request must contain either a valid (registered) AWS access key ID or 93// X.509 certificate. 94// 95// * ThrottlingException 96// The request was denied due to request throttling. 97// 98// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DescribeRecommendationExportJobs 99func (c *ComputeOptimizer) DescribeRecommendationExportJobs(input *DescribeRecommendationExportJobsInput) (*DescribeRecommendationExportJobsOutput, error) { 100 req, out := c.DescribeRecommendationExportJobsRequest(input) 101 return out, req.Send() 102} 103 104// DescribeRecommendationExportJobsWithContext is the same as DescribeRecommendationExportJobs with the addition of 105// the ability to pass a context and additional request options. 106// 107// See DescribeRecommendationExportJobs for details on how to use this API operation. 108// 109// The context must be non-nil and will be used for request cancellation. If 110// the context is nil a panic will occur. In the future the SDK may create 111// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 112// for more information on using Contexts. 113func (c *ComputeOptimizer) DescribeRecommendationExportJobsWithContext(ctx aws.Context, input *DescribeRecommendationExportJobsInput, opts ...request.Option) (*DescribeRecommendationExportJobsOutput, error) { 114 req, out := c.DescribeRecommendationExportJobsRequest(input) 115 req.SetContext(ctx) 116 req.ApplyOptions(opts...) 117 return out, req.Send() 118} 119 120const opExportAutoScalingGroupRecommendations = "ExportAutoScalingGroupRecommendations" 121 122// ExportAutoScalingGroupRecommendationsRequest generates a "aws/request.Request" representing the 123// client's request for the ExportAutoScalingGroupRecommendations operation. The "output" return 124// value will be populated with the request's response once the request completes 125// successfully. 126// 127// Use "Send" method on the returned Request to send the API call to the service. 128// the "output" return value is not valid until after Send returns without error. 129// 130// See ExportAutoScalingGroupRecommendations for more information on using the ExportAutoScalingGroupRecommendations 131// API call, and error handling. 132// 133// This method is useful when you want to inject custom logic or configuration 134// into the SDK's request lifecycle. Such as custom headers, or retry logic. 135// 136// 137// // Example sending a request using the ExportAutoScalingGroupRecommendationsRequest method. 138// req, resp := client.ExportAutoScalingGroupRecommendationsRequest(params) 139// 140// err := req.Send() 141// if err == nil { // resp is now filled 142// fmt.Println(resp) 143// } 144// 145// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportAutoScalingGroupRecommendations 146func (c *ComputeOptimizer) ExportAutoScalingGroupRecommendationsRequest(input *ExportAutoScalingGroupRecommendationsInput) (req *request.Request, output *ExportAutoScalingGroupRecommendationsOutput) { 147 op := &request.Operation{ 148 Name: opExportAutoScalingGroupRecommendations, 149 HTTPMethod: "POST", 150 HTTPPath: "/", 151 } 152 153 if input == nil { 154 input = &ExportAutoScalingGroupRecommendationsInput{} 155 } 156 157 output = &ExportAutoScalingGroupRecommendationsOutput{} 158 req = c.newRequest(op, input, output) 159 return 160} 161 162// ExportAutoScalingGroupRecommendations API operation for AWS Compute Optimizer. 163// 164// Exports optimization recommendations for Auto Scaling groups. 165// 166// Recommendations are exported in a comma-separated values (.csv) file, and 167// its metadata in a JavaScript Object Notation (.json) file, to an existing 168// Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more 169// information, see Exporting Recommendations (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html) 170// in the Compute Optimizer User Guide. 171// 172// You can have only one Auto Scaling group export job in progress per AWS Region. 173// 174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 175// with awserr.Error's Code and Message methods to get detailed information about 176// the error. 177// 178// See the AWS API reference guide for AWS Compute Optimizer's 179// API operation ExportAutoScalingGroupRecommendations for usage and error information. 180// 181// Returned Error Types: 182// * OptInRequiredException 183// The account is not opted in to AWS Compute Optimizer. 184// 185// * InternalServerException 186// An internal error has occurred. Try your call again. 187// 188// * ServiceUnavailableException 189// The request has failed due to a temporary failure of the server. 190// 191// * AccessDeniedException 192// You do not have sufficient access to perform this action. 193// 194// * InvalidParameterValueException 195// An invalid or out-of-range value was supplied for the input parameter. 196// 197// * MissingAuthenticationToken 198// The request must contain either a valid (registered) AWS access key ID or 199// X.509 certificate. 200// 201// * ThrottlingException 202// The request was denied due to request throttling. 203// 204// * LimitExceededException 205// The request exceeds a limit of the service. 206// 207// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportAutoScalingGroupRecommendations 208func (c *ComputeOptimizer) ExportAutoScalingGroupRecommendations(input *ExportAutoScalingGroupRecommendationsInput) (*ExportAutoScalingGroupRecommendationsOutput, error) { 209 req, out := c.ExportAutoScalingGroupRecommendationsRequest(input) 210 return out, req.Send() 211} 212 213// ExportAutoScalingGroupRecommendationsWithContext is the same as ExportAutoScalingGroupRecommendations with the addition of 214// the ability to pass a context and additional request options. 215// 216// See ExportAutoScalingGroupRecommendations for details on how to use this API operation. 217// 218// The context must be non-nil and will be used for request cancellation. If 219// the context is nil a panic will occur. In the future the SDK may create 220// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 221// for more information on using Contexts. 222func (c *ComputeOptimizer) ExportAutoScalingGroupRecommendationsWithContext(ctx aws.Context, input *ExportAutoScalingGroupRecommendationsInput, opts ...request.Option) (*ExportAutoScalingGroupRecommendationsOutput, error) { 223 req, out := c.ExportAutoScalingGroupRecommendationsRequest(input) 224 req.SetContext(ctx) 225 req.ApplyOptions(opts...) 226 return out, req.Send() 227} 228 229const opExportEC2InstanceRecommendations = "ExportEC2InstanceRecommendations" 230 231// ExportEC2InstanceRecommendationsRequest generates a "aws/request.Request" representing the 232// client's request for the ExportEC2InstanceRecommendations operation. The "output" return 233// value will be populated with the request's response once the request completes 234// successfully. 235// 236// Use "Send" method on the returned Request to send the API call to the service. 237// the "output" return value is not valid until after Send returns without error. 238// 239// See ExportEC2InstanceRecommendations for more information on using the ExportEC2InstanceRecommendations 240// API call, and error handling. 241// 242// This method is useful when you want to inject custom logic or configuration 243// into the SDK's request lifecycle. Such as custom headers, or retry logic. 244// 245// 246// // Example sending a request using the ExportEC2InstanceRecommendationsRequest method. 247// req, resp := client.ExportEC2InstanceRecommendationsRequest(params) 248// 249// err := req.Send() 250// if err == nil { // resp is now filled 251// fmt.Println(resp) 252// } 253// 254// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendations 255func (c *ComputeOptimizer) ExportEC2InstanceRecommendationsRequest(input *ExportEC2InstanceRecommendationsInput) (req *request.Request, output *ExportEC2InstanceRecommendationsOutput) { 256 op := &request.Operation{ 257 Name: opExportEC2InstanceRecommendations, 258 HTTPMethod: "POST", 259 HTTPPath: "/", 260 } 261 262 if input == nil { 263 input = &ExportEC2InstanceRecommendationsInput{} 264 } 265 266 output = &ExportEC2InstanceRecommendationsOutput{} 267 req = c.newRequest(op, input, output) 268 return 269} 270 271// ExportEC2InstanceRecommendations API operation for AWS Compute Optimizer. 272// 273// Exports optimization recommendations for Amazon EC2 instances. 274// 275// Recommendations are exported in a comma-separated values (.csv) file, and 276// its metadata in a JavaScript Object Notation (.json) file, to an existing 277// Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more 278// information, see Exporting Recommendations (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html) 279// in the Compute Optimizer User Guide. 280// 281// You can have only one Amazon EC2 instance export job in progress per AWS 282// Region. 283// 284// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 285// with awserr.Error's Code and Message methods to get detailed information about 286// the error. 287// 288// See the AWS API reference guide for AWS Compute Optimizer's 289// API operation ExportEC2InstanceRecommendations for usage and error information. 290// 291// Returned Error Types: 292// * OptInRequiredException 293// The account is not opted in to AWS Compute Optimizer. 294// 295// * InternalServerException 296// An internal error has occurred. Try your call again. 297// 298// * ServiceUnavailableException 299// The request has failed due to a temporary failure of the server. 300// 301// * AccessDeniedException 302// You do not have sufficient access to perform this action. 303// 304// * InvalidParameterValueException 305// An invalid or out-of-range value was supplied for the input parameter. 306// 307// * MissingAuthenticationToken 308// The request must contain either a valid (registered) AWS access key ID or 309// X.509 certificate. 310// 311// * ThrottlingException 312// The request was denied due to request throttling. 313// 314// * LimitExceededException 315// The request exceeds a limit of the service. 316// 317// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendations 318func (c *ComputeOptimizer) ExportEC2InstanceRecommendations(input *ExportEC2InstanceRecommendationsInput) (*ExportEC2InstanceRecommendationsOutput, error) { 319 req, out := c.ExportEC2InstanceRecommendationsRequest(input) 320 return out, req.Send() 321} 322 323// ExportEC2InstanceRecommendationsWithContext is the same as ExportEC2InstanceRecommendations with the addition of 324// the ability to pass a context and additional request options. 325// 326// See ExportEC2InstanceRecommendations for details on how to use this API operation. 327// 328// The context must be non-nil and will be used for request cancellation. If 329// the context is nil a panic will occur. In the future the SDK may create 330// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 331// for more information on using Contexts. 332func (c *ComputeOptimizer) ExportEC2InstanceRecommendationsWithContext(ctx aws.Context, input *ExportEC2InstanceRecommendationsInput, opts ...request.Option) (*ExportEC2InstanceRecommendationsOutput, error) { 333 req, out := c.ExportEC2InstanceRecommendationsRequest(input) 334 req.SetContext(ctx) 335 req.ApplyOptions(opts...) 336 return out, req.Send() 337} 338 339const opGetAutoScalingGroupRecommendations = "GetAutoScalingGroupRecommendations" 340 341// GetAutoScalingGroupRecommendationsRequest generates a "aws/request.Request" representing the 342// client's request for the GetAutoScalingGroupRecommendations operation. The "output" return 343// value will be populated with the request's response once the request completes 344// successfully. 345// 346// Use "Send" method on the returned Request to send the API call to the service. 347// the "output" return value is not valid until after Send returns without error. 348// 349// See GetAutoScalingGroupRecommendations for more information on using the GetAutoScalingGroupRecommendations 350// API call, and error handling. 351// 352// This method is useful when you want to inject custom logic or configuration 353// into the SDK's request lifecycle. Such as custom headers, or retry logic. 354// 355// 356// // Example sending a request using the GetAutoScalingGroupRecommendationsRequest method. 357// req, resp := client.GetAutoScalingGroupRecommendationsRequest(params) 358// 359// err := req.Send() 360// if err == nil { // resp is now filled 361// fmt.Println(resp) 362// } 363// 364// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetAutoScalingGroupRecommendations 365func (c *ComputeOptimizer) GetAutoScalingGroupRecommendationsRequest(input *GetAutoScalingGroupRecommendationsInput) (req *request.Request, output *GetAutoScalingGroupRecommendationsOutput) { 366 op := &request.Operation{ 367 Name: opGetAutoScalingGroupRecommendations, 368 HTTPMethod: "POST", 369 HTTPPath: "/", 370 } 371 372 if input == nil { 373 input = &GetAutoScalingGroupRecommendationsInput{} 374 } 375 376 output = &GetAutoScalingGroupRecommendationsOutput{} 377 req = c.newRequest(op, input, output) 378 return 379} 380 381// GetAutoScalingGroupRecommendations API operation for AWS Compute Optimizer. 382// 383// Returns Auto Scaling group recommendations. 384// 385// AWS Compute Optimizer generates recommendations for Amazon EC2 Auto Scaling 386// groups that meet a specific set of requirements. For more information, see 387// the Supported resources and requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html) 388// in the AWS Compute Optimizer User Guide. 389// 390// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 391// with awserr.Error's Code and Message methods to get detailed information about 392// the error. 393// 394// See the AWS API reference guide for AWS Compute Optimizer's 395// API operation GetAutoScalingGroupRecommendations for usage and error information. 396// 397// Returned Error Types: 398// * OptInRequiredException 399// The account is not opted in to AWS Compute Optimizer. 400// 401// * InternalServerException 402// An internal error has occurred. Try your call again. 403// 404// * ServiceUnavailableException 405// The request has failed due to a temporary failure of the server. 406// 407// * AccessDeniedException 408// You do not have sufficient access to perform this action. 409// 410// * InvalidParameterValueException 411// An invalid or out-of-range value was supplied for the input parameter. 412// 413// * ResourceNotFoundException 414// A resource that is required for the action doesn't exist. 415// 416// * MissingAuthenticationToken 417// The request must contain either a valid (registered) AWS access key ID or 418// X.509 certificate. 419// 420// * ThrottlingException 421// The request was denied due to request throttling. 422// 423// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetAutoScalingGroupRecommendations 424func (c *ComputeOptimizer) GetAutoScalingGroupRecommendations(input *GetAutoScalingGroupRecommendationsInput) (*GetAutoScalingGroupRecommendationsOutput, error) { 425 req, out := c.GetAutoScalingGroupRecommendationsRequest(input) 426 return out, req.Send() 427} 428 429// GetAutoScalingGroupRecommendationsWithContext is the same as GetAutoScalingGroupRecommendations with the addition of 430// the ability to pass a context and additional request options. 431// 432// See GetAutoScalingGroupRecommendations for details on how to use this API operation. 433// 434// The context must be non-nil and will be used for request cancellation. If 435// the context is nil a panic will occur. In the future the SDK may create 436// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 437// for more information on using Contexts. 438func (c *ComputeOptimizer) GetAutoScalingGroupRecommendationsWithContext(ctx aws.Context, input *GetAutoScalingGroupRecommendationsInput, opts ...request.Option) (*GetAutoScalingGroupRecommendationsOutput, error) { 439 req, out := c.GetAutoScalingGroupRecommendationsRequest(input) 440 req.SetContext(ctx) 441 req.ApplyOptions(opts...) 442 return out, req.Send() 443} 444 445const opGetEC2InstanceRecommendations = "GetEC2InstanceRecommendations" 446 447// GetEC2InstanceRecommendationsRequest generates a "aws/request.Request" representing the 448// client's request for the GetEC2InstanceRecommendations operation. The "output" return 449// value will be populated with the request's response once the request completes 450// successfully. 451// 452// Use "Send" method on the returned Request to send the API call to the service. 453// the "output" return value is not valid until after Send returns without error. 454// 455// See GetEC2InstanceRecommendations for more information on using the GetEC2InstanceRecommendations 456// API call, and error handling. 457// 458// This method is useful when you want to inject custom logic or configuration 459// into the SDK's request lifecycle. Such as custom headers, or retry logic. 460// 461// 462// // Example sending a request using the GetEC2InstanceRecommendationsRequest method. 463// req, resp := client.GetEC2InstanceRecommendationsRequest(params) 464// 465// err := req.Send() 466// if err == nil { // resp is now filled 467// fmt.Println(resp) 468// } 469// 470// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2InstanceRecommendations 471func (c *ComputeOptimizer) GetEC2InstanceRecommendationsRequest(input *GetEC2InstanceRecommendationsInput) (req *request.Request, output *GetEC2InstanceRecommendationsOutput) { 472 op := &request.Operation{ 473 Name: opGetEC2InstanceRecommendations, 474 HTTPMethod: "POST", 475 HTTPPath: "/", 476 } 477 478 if input == nil { 479 input = &GetEC2InstanceRecommendationsInput{} 480 } 481 482 output = &GetEC2InstanceRecommendationsOutput{} 483 req = c.newRequest(op, input, output) 484 return 485} 486 487// GetEC2InstanceRecommendations API operation for AWS Compute Optimizer. 488// 489// Returns Amazon EC2 instance recommendations. 490// 491// AWS Compute Optimizer generates recommendations for Amazon Elastic Compute 492// Cloud (Amazon EC2) instances that meet a specific set of requirements. For 493// more information, see the Supported resources and requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html) 494// in the AWS Compute Optimizer User Guide. 495// 496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 497// with awserr.Error's Code and Message methods to get detailed information about 498// the error. 499// 500// See the AWS API reference guide for AWS Compute Optimizer's 501// API operation GetEC2InstanceRecommendations for usage and error information. 502// 503// Returned Error Types: 504// * OptInRequiredException 505// The account is not opted in to AWS Compute Optimizer. 506// 507// * InternalServerException 508// An internal error has occurred. Try your call again. 509// 510// * ServiceUnavailableException 511// The request has failed due to a temporary failure of the server. 512// 513// * AccessDeniedException 514// You do not have sufficient access to perform this action. 515// 516// * InvalidParameterValueException 517// An invalid or out-of-range value was supplied for the input parameter. 518// 519// * ResourceNotFoundException 520// A resource that is required for the action doesn't exist. 521// 522// * MissingAuthenticationToken 523// The request must contain either a valid (registered) AWS access key ID or 524// X.509 certificate. 525// 526// * ThrottlingException 527// The request was denied due to request throttling. 528// 529// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2InstanceRecommendations 530func (c *ComputeOptimizer) GetEC2InstanceRecommendations(input *GetEC2InstanceRecommendationsInput) (*GetEC2InstanceRecommendationsOutput, error) { 531 req, out := c.GetEC2InstanceRecommendationsRequest(input) 532 return out, req.Send() 533} 534 535// GetEC2InstanceRecommendationsWithContext is the same as GetEC2InstanceRecommendations with the addition of 536// the ability to pass a context and additional request options. 537// 538// See GetEC2InstanceRecommendations for details on how to use this API operation. 539// 540// The context must be non-nil and will be used for request cancellation. If 541// the context is nil a panic will occur. In the future the SDK may create 542// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 543// for more information on using Contexts. 544func (c *ComputeOptimizer) GetEC2InstanceRecommendationsWithContext(ctx aws.Context, input *GetEC2InstanceRecommendationsInput, opts ...request.Option) (*GetEC2InstanceRecommendationsOutput, error) { 545 req, out := c.GetEC2InstanceRecommendationsRequest(input) 546 req.SetContext(ctx) 547 req.ApplyOptions(opts...) 548 return out, req.Send() 549} 550 551const opGetEC2RecommendationProjectedMetrics = "GetEC2RecommendationProjectedMetrics" 552 553// GetEC2RecommendationProjectedMetricsRequest generates a "aws/request.Request" representing the 554// client's request for the GetEC2RecommendationProjectedMetrics operation. The "output" return 555// value will be populated with the request's response once the request completes 556// successfully. 557// 558// Use "Send" method on the returned Request to send the API call to the service. 559// the "output" return value is not valid until after Send returns without error. 560// 561// See GetEC2RecommendationProjectedMetrics for more information on using the GetEC2RecommendationProjectedMetrics 562// API call, and error handling. 563// 564// This method is useful when you want to inject custom logic or configuration 565// into the SDK's request lifecycle. Such as custom headers, or retry logic. 566// 567// 568// // Example sending a request using the GetEC2RecommendationProjectedMetricsRequest method. 569// req, resp := client.GetEC2RecommendationProjectedMetricsRequest(params) 570// 571// err := req.Send() 572// if err == nil { // resp is now filled 573// fmt.Println(resp) 574// } 575// 576// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2RecommendationProjectedMetrics 577func (c *ComputeOptimizer) GetEC2RecommendationProjectedMetricsRequest(input *GetEC2RecommendationProjectedMetricsInput) (req *request.Request, output *GetEC2RecommendationProjectedMetricsOutput) { 578 op := &request.Operation{ 579 Name: opGetEC2RecommendationProjectedMetrics, 580 HTTPMethod: "POST", 581 HTTPPath: "/", 582 } 583 584 if input == nil { 585 input = &GetEC2RecommendationProjectedMetricsInput{} 586 } 587 588 output = &GetEC2RecommendationProjectedMetricsOutput{} 589 req = c.newRequest(op, input, output) 590 return 591} 592 593// GetEC2RecommendationProjectedMetrics API operation for AWS Compute Optimizer. 594// 595// Returns the projected utilization metrics of Amazon EC2 instance recommendations. 596// 597// The Cpu and Memory metrics are the only projected utilization metrics returned 598// when you run this action. Additionally, the Memory metric is returned only 599// for resources that have the unified CloudWatch agent installed on them. For 600// more information, see Enabling Memory Utilization with the CloudWatch Agent 601// (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent). 602// 603// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 604// with awserr.Error's Code and Message methods to get detailed information about 605// the error. 606// 607// See the AWS API reference guide for AWS Compute Optimizer's 608// API operation GetEC2RecommendationProjectedMetrics for usage and error information. 609// 610// Returned Error Types: 611// * OptInRequiredException 612// The account is not opted in to AWS Compute Optimizer. 613// 614// * InternalServerException 615// An internal error has occurred. Try your call again. 616// 617// * ServiceUnavailableException 618// The request has failed due to a temporary failure of the server. 619// 620// * AccessDeniedException 621// You do not have sufficient access to perform this action. 622// 623// * InvalidParameterValueException 624// An invalid or out-of-range value was supplied for the input parameter. 625// 626// * ResourceNotFoundException 627// A resource that is required for the action doesn't exist. 628// 629// * MissingAuthenticationToken 630// The request must contain either a valid (registered) AWS access key ID or 631// X.509 certificate. 632// 633// * ThrottlingException 634// The request was denied due to request throttling. 635// 636// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2RecommendationProjectedMetrics 637func (c *ComputeOptimizer) GetEC2RecommendationProjectedMetrics(input *GetEC2RecommendationProjectedMetricsInput) (*GetEC2RecommendationProjectedMetricsOutput, error) { 638 req, out := c.GetEC2RecommendationProjectedMetricsRequest(input) 639 return out, req.Send() 640} 641 642// GetEC2RecommendationProjectedMetricsWithContext is the same as GetEC2RecommendationProjectedMetrics with the addition of 643// the ability to pass a context and additional request options. 644// 645// See GetEC2RecommendationProjectedMetrics for details on how to use this API operation. 646// 647// The context must be non-nil and will be used for request cancellation. If 648// the context is nil a panic will occur. In the future the SDK may create 649// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 650// for more information on using Contexts. 651func (c *ComputeOptimizer) GetEC2RecommendationProjectedMetricsWithContext(ctx aws.Context, input *GetEC2RecommendationProjectedMetricsInput, opts ...request.Option) (*GetEC2RecommendationProjectedMetricsOutput, error) { 652 req, out := c.GetEC2RecommendationProjectedMetricsRequest(input) 653 req.SetContext(ctx) 654 req.ApplyOptions(opts...) 655 return out, req.Send() 656} 657 658const opGetEnrollmentStatus = "GetEnrollmentStatus" 659 660// GetEnrollmentStatusRequest generates a "aws/request.Request" representing the 661// client's request for the GetEnrollmentStatus operation. The "output" return 662// value will be populated with the request's response once the request completes 663// successfully. 664// 665// Use "Send" method on the returned Request to send the API call to the service. 666// the "output" return value is not valid until after Send returns without error. 667// 668// See GetEnrollmentStatus for more information on using the GetEnrollmentStatus 669// API call, and error handling. 670// 671// This method is useful when you want to inject custom logic or configuration 672// into the SDK's request lifecycle. Such as custom headers, or retry logic. 673// 674// 675// // Example sending a request using the GetEnrollmentStatusRequest method. 676// req, resp := client.GetEnrollmentStatusRequest(params) 677// 678// err := req.Send() 679// if err == nil { // resp is now filled 680// fmt.Println(resp) 681// } 682// 683// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatus 684func (c *ComputeOptimizer) GetEnrollmentStatusRequest(input *GetEnrollmentStatusInput) (req *request.Request, output *GetEnrollmentStatusOutput) { 685 op := &request.Operation{ 686 Name: opGetEnrollmentStatus, 687 HTTPMethod: "POST", 688 HTTPPath: "/", 689 } 690 691 if input == nil { 692 input = &GetEnrollmentStatusInput{} 693 } 694 695 output = &GetEnrollmentStatusOutput{} 696 req = c.newRequest(op, input, output) 697 return 698} 699 700// GetEnrollmentStatus API operation for AWS Compute Optimizer. 701// 702// Returns the enrollment (opt in) status of an account to the AWS Compute Optimizer 703// service. 704// 705// If the account is the master account of an organization, this action also 706// confirms the enrollment status of member accounts within the organization. 707// 708// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 709// with awserr.Error's Code and Message methods to get detailed information about 710// the error. 711// 712// See the AWS API reference guide for AWS Compute Optimizer's 713// API operation GetEnrollmentStatus for usage and error information. 714// 715// Returned Error Types: 716// * InternalServerException 717// An internal error has occurred. Try your call again. 718// 719// * ServiceUnavailableException 720// The request has failed due to a temporary failure of the server. 721// 722// * AccessDeniedException 723// You do not have sufficient access to perform this action. 724// 725// * InvalidParameterValueException 726// An invalid or out-of-range value was supplied for the input parameter. 727// 728// * MissingAuthenticationToken 729// The request must contain either a valid (registered) AWS access key ID or 730// X.509 certificate. 731// 732// * ThrottlingException 733// The request was denied due to request throttling. 734// 735// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatus 736func (c *ComputeOptimizer) GetEnrollmentStatus(input *GetEnrollmentStatusInput) (*GetEnrollmentStatusOutput, error) { 737 req, out := c.GetEnrollmentStatusRequest(input) 738 return out, req.Send() 739} 740 741// GetEnrollmentStatusWithContext is the same as GetEnrollmentStatus with the addition of 742// the ability to pass a context and additional request options. 743// 744// See GetEnrollmentStatus for details on how to use this API operation. 745// 746// The context must be non-nil and will be used for request cancellation. If 747// the context is nil a panic will occur. In the future the SDK may create 748// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 749// for more information on using Contexts. 750func (c *ComputeOptimizer) GetEnrollmentStatusWithContext(ctx aws.Context, input *GetEnrollmentStatusInput, opts ...request.Option) (*GetEnrollmentStatusOutput, error) { 751 req, out := c.GetEnrollmentStatusRequest(input) 752 req.SetContext(ctx) 753 req.ApplyOptions(opts...) 754 return out, req.Send() 755} 756 757const opGetRecommendationSummaries = "GetRecommendationSummaries" 758 759// GetRecommendationSummariesRequest generates a "aws/request.Request" representing the 760// client's request for the GetRecommendationSummaries operation. The "output" return 761// value will be populated with the request's response once the request completes 762// successfully. 763// 764// Use "Send" method on the returned Request to send the API call to the service. 765// the "output" return value is not valid until after Send returns without error. 766// 767// See GetRecommendationSummaries for more information on using the GetRecommendationSummaries 768// API call, and error handling. 769// 770// This method is useful when you want to inject custom logic or configuration 771// into the SDK's request lifecycle. Such as custom headers, or retry logic. 772// 773// 774// // Example sending a request using the GetRecommendationSummariesRequest method. 775// req, resp := client.GetRecommendationSummariesRequest(params) 776// 777// err := req.Send() 778// if err == nil { // resp is now filled 779// fmt.Println(resp) 780// } 781// 782// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummaries 783func (c *ComputeOptimizer) GetRecommendationSummariesRequest(input *GetRecommendationSummariesInput) (req *request.Request, output *GetRecommendationSummariesOutput) { 784 op := &request.Operation{ 785 Name: opGetRecommendationSummaries, 786 HTTPMethod: "POST", 787 HTTPPath: "/", 788 } 789 790 if input == nil { 791 input = &GetRecommendationSummariesInput{} 792 } 793 794 output = &GetRecommendationSummariesOutput{} 795 req = c.newRequest(op, input, output) 796 return 797} 798 799// GetRecommendationSummaries API operation for AWS Compute Optimizer. 800// 801// Returns the optimization findings for an account. 802// 803// For example, it returns the number of Amazon EC2 instances in an account 804// that are under-provisioned, over-provisioned, or optimized. It also returns 805// the number of Auto Scaling groups in an account that are not optimized, or 806// optimized. 807// 808// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 809// with awserr.Error's Code and Message methods to get detailed information about 810// the error. 811// 812// See the AWS API reference guide for AWS Compute Optimizer's 813// API operation GetRecommendationSummaries for usage and error information. 814// 815// Returned Error Types: 816// * OptInRequiredException 817// The account is not opted in to AWS Compute Optimizer. 818// 819// * InternalServerException 820// An internal error has occurred. Try your call again. 821// 822// * ServiceUnavailableException 823// The request has failed due to a temporary failure of the server. 824// 825// * AccessDeniedException 826// You do not have sufficient access to perform this action. 827// 828// * InvalidParameterValueException 829// An invalid or out-of-range value was supplied for the input parameter. 830// 831// * MissingAuthenticationToken 832// The request must contain either a valid (registered) AWS access key ID or 833// X.509 certificate. 834// 835// * ThrottlingException 836// The request was denied due to request throttling. 837// 838// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummaries 839func (c *ComputeOptimizer) GetRecommendationSummaries(input *GetRecommendationSummariesInput) (*GetRecommendationSummariesOutput, error) { 840 req, out := c.GetRecommendationSummariesRequest(input) 841 return out, req.Send() 842} 843 844// GetRecommendationSummariesWithContext is the same as GetRecommendationSummaries with the addition of 845// the ability to pass a context and additional request options. 846// 847// See GetRecommendationSummaries for details on how to use this API operation. 848// 849// The context must be non-nil and will be used for request cancellation. If 850// the context is nil a panic will occur. In the future the SDK may create 851// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 852// for more information on using Contexts. 853func (c *ComputeOptimizer) GetRecommendationSummariesWithContext(ctx aws.Context, input *GetRecommendationSummariesInput, opts ...request.Option) (*GetRecommendationSummariesOutput, error) { 854 req, out := c.GetRecommendationSummariesRequest(input) 855 req.SetContext(ctx) 856 req.ApplyOptions(opts...) 857 return out, req.Send() 858} 859 860const opUpdateEnrollmentStatus = "UpdateEnrollmentStatus" 861 862// UpdateEnrollmentStatusRequest generates a "aws/request.Request" representing the 863// client's request for the UpdateEnrollmentStatus operation. The "output" return 864// value will be populated with the request's response once the request completes 865// successfully. 866// 867// Use "Send" method on the returned Request to send the API call to the service. 868// the "output" return value is not valid until after Send returns without error. 869// 870// See UpdateEnrollmentStatus for more information on using the UpdateEnrollmentStatus 871// API call, and error handling. 872// 873// This method is useful when you want to inject custom logic or configuration 874// into the SDK's request lifecycle. Such as custom headers, or retry logic. 875// 876// 877// // Example sending a request using the UpdateEnrollmentStatusRequest method. 878// req, resp := client.UpdateEnrollmentStatusRequest(params) 879// 880// err := req.Send() 881// if err == nil { // resp is now filled 882// fmt.Println(resp) 883// } 884// 885// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UpdateEnrollmentStatus 886func (c *ComputeOptimizer) UpdateEnrollmentStatusRequest(input *UpdateEnrollmentStatusInput) (req *request.Request, output *UpdateEnrollmentStatusOutput) { 887 op := &request.Operation{ 888 Name: opUpdateEnrollmentStatus, 889 HTTPMethod: "POST", 890 HTTPPath: "/", 891 } 892 893 if input == nil { 894 input = &UpdateEnrollmentStatusInput{} 895 } 896 897 output = &UpdateEnrollmentStatusOutput{} 898 req = c.newRequest(op, input, output) 899 return 900} 901 902// UpdateEnrollmentStatus API operation for AWS Compute Optimizer. 903// 904// Updates the enrollment (opt in) status of an account to the AWS Compute Optimizer 905// service. 906// 907// If the account is a master account of an organization, this action can also 908// be used to enroll member accounts within the organization. 909// 910// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 911// with awserr.Error's Code and Message methods to get detailed information about 912// the error. 913// 914// See the AWS API reference guide for AWS Compute Optimizer's 915// API operation UpdateEnrollmentStatus for usage and error information. 916// 917// Returned Error Types: 918// * InternalServerException 919// An internal error has occurred. Try your call again. 920// 921// * ServiceUnavailableException 922// The request has failed due to a temporary failure of the server. 923// 924// * AccessDeniedException 925// You do not have sufficient access to perform this action. 926// 927// * InvalidParameterValueException 928// An invalid or out-of-range value was supplied for the input parameter. 929// 930// * MissingAuthenticationToken 931// The request must contain either a valid (registered) AWS access key ID or 932// X.509 certificate. 933// 934// * ThrottlingException 935// The request was denied due to request throttling. 936// 937// See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UpdateEnrollmentStatus 938func (c *ComputeOptimizer) UpdateEnrollmentStatus(input *UpdateEnrollmentStatusInput) (*UpdateEnrollmentStatusOutput, error) { 939 req, out := c.UpdateEnrollmentStatusRequest(input) 940 return out, req.Send() 941} 942 943// UpdateEnrollmentStatusWithContext is the same as UpdateEnrollmentStatus with the addition of 944// the ability to pass a context and additional request options. 945// 946// See UpdateEnrollmentStatus for details on how to use this API operation. 947// 948// The context must be non-nil and will be used for request cancellation. If 949// the context is nil a panic will occur. In the future the SDK may create 950// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 951// for more information on using Contexts. 952func (c *ComputeOptimizer) UpdateEnrollmentStatusWithContext(ctx aws.Context, input *UpdateEnrollmentStatusInput, opts ...request.Option) (*UpdateEnrollmentStatusOutput, error) { 953 req, out := c.UpdateEnrollmentStatusRequest(input) 954 req.SetContext(ctx) 955 req.ApplyOptions(opts...) 956 return out, req.Send() 957} 958 959// You do not have sufficient access to perform this action. 960type AccessDeniedException struct { 961 _ struct{} `type:"structure"` 962 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 963 964 Message_ *string `locationName:"message" type:"string"` 965} 966 967// String returns the string representation 968func (s AccessDeniedException) String() string { 969 return awsutil.Prettify(s) 970} 971 972// GoString returns the string representation 973func (s AccessDeniedException) GoString() string { 974 return s.String() 975} 976 977func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 978 return &AccessDeniedException{ 979 RespMetadata: v, 980 } 981} 982 983// Code returns the exception type name. 984func (s *AccessDeniedException) Code() string { 985 return "AccessDeniedException" 986} 987 988// Message returns the exception's message. 989func (s *AccessDeniedException) Message() string { 990 if s.Message_ != nil { 991 return *s.Message_ 992 } 993 return "" 994} 995 996// OrigErr always returns nil, satisfies awserr.Error interface. 997func (s *AccessDeniedException) OrigErr() error { 998 return nil 999} 1000 1001func (s *AccessDeniedException) Error() string { 1002 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1003} 1004 1005// Status code returns the HTTP status code for the request's response error. 1006func (s *AccessDeniedException) StatusCode() int { 1007 return s.RespMetadata.StatusCode 1008} 1009 1010// RequestID returns the service's response RequestID for request. 1011func (s *AccessDeniedException) RequestID() string { 1012 return s.RespMetadata.RequestID 1013} 1014 1015// Describes the configuration of an Auto Scaling group. 1016type AutoScalingGroupConfiguration struct { 1017 _ struct{} `type:"structure"` 1018 1019 // The desired capacity, or number of instances, for the Auto Scaling group. 1020 DesiredCapacity *int64 `locationName:"desiredCapacity" type:"integer"` 1021 1022 // The instance type for the Auto Scaling group. 1023 InstanceType *string `locationName:"instanceType" type:"string"` 1024 1025 // The maximum size, or maximum number of instances, for the Auto Scaling group. 1026 MaxSize *int64 `locationName:"maxSize" type:"integer"` 1027 1028 // The minimum size, or minimum number of instances, for the Auto Scaling group. 1029 MinSize *int64 `locationName:"minSize" type:"integer"` 1030} 1031 1032// String returns the string representation 1033func (s AutoScalingGroupConfiguration) String() string { 1034 return awsutil.Prettify(s) 1035} 1036 1037// GoString returns the string representation 1038func (s AutoScalingGroupConfiguration) GoString() string { 1039 return s.String() 1040} 1041 1042// SetDesiredCapacity sets the DesiredCapacity field's value. 1043func (s *AutoScalingGroupConfiguration) SetDesiredCapacity(v int64) *AutoScalingGroupConfiguration { 1044 s.DesiredCapacity = &v 1045 return s 1046} 1047 1048// SetInstanceType sets the InstanceType field's value. 1049func (s *AutoScalingGroupConfiguration) SetInstanceType(v string) *AutoScalingGroupConfiguration { 1050 s.InstanceType = &v 1051 return s 1052} 1053 1054// SetMaxSize sets the MaxSize field's value. 1055func (s *AutoScalingGroupConfiguration) SetMaxSize(v int64) *AutoScalingGroupConfiguration { 1056 s.MaxSize = &v 1057 return s 1058} 1059 1060// SetMinSize sets the MinSize field's value. 1061func (s *AutoScalingGroupConfiguration) SetMinSize(v int64) *AutoScalingGroupConfiguration { 1062 s.MinSize = &v 1063 return s 1064} 1065 1066// Describes an Auto Scaling group recommendation. 1067type AutoScalingGroupRecommendation struct { 1068 _ struct{} `type:"structure"` 1069 1070 // The AWS account ID of the Auto Scaling group. 1071 AccountId *string `locationName:"accountId" type:"string"` 1072 1073 // The Amazon Resource Name (ARN) of the Auto Scaling group. 1074 AutoScalingGroupArn *string `locationName:"autoScalingGroupArn" type:"string"` 1075 1076 // The name of the Auto Scaling group. 1077 AutoScalingGroupName *string `locationName:"autoScalingGroupName" type:"string"` 1078 1079 // An array of objects that describe the current configuration of the Auto Scaling 1080 // group. 1081 CurrentConfiguration *AutoScalingGroupConfiguration `locationName:"currentConfiguration" type:"structure"` 1082 1083 // The finding classification for the Auto Scaling group. 1084 // 1085 // Findings for Auto Scaling groups include: 1086 // 1087 // * NotOptimized —An Auto Scaling group is considered not optimized when 1088 // AWS Compute Optimizer identifies a recommendation that can provide better 1089 // performance for your workload. 1090 // 1091 // * Optimized —An Auto Scaling group is considered optimized when Compute 1092 // Optimizer determines that the group is correctly provisioned to run your 1093 // workload based on the chosen instance type. For optimized resources, Compute 1094 // Optimizer might recommend a new generation instance type. 1095 // 1096 // The values that are returned might be NOT_OPTIMIZED or OPTIMIZED. 1097 Finding *string `locationName:"finding" type:"string" enum:"Finding"` 1098 1099 // The time stamp of when the Auto Scaling group recommendation was last refreshed. 1100 LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"` 1101 1102 // The number of days for which utilization metrics were analyzed for the Auto 1103 // Scaling group. 1104 LookBackPeriodInDays *float64 `locationName:"lookBackPeriodInDays" type:"double"` 1105 1106 // An array of objects that describe the recommendation options for the Auto 1107 // Scaling group. 1108 RecommendationOptions []*AutoScalingGroupRecommendationOption `locationName:"recommendationOptions" type:"list"` 1109 1110 // An array of objects that describe the utilization metrics of the Auto Scaling 1111 // group. 1112 UtilizationMetrics []*UtilizationMetric `locationName:"utilizationMetrics" type:"list"` 1113} 1114 1115// String returns the string representation 1116func (s AutoScalingGroupRecommendation) String() string { 1117 return awsutil.Prettify(s) 1118} 1119 1120// GoString returns the string representation 1121func (s AutoScalingGroupRecommendation) GoString() string { 1122 return s.String() 1123} 1124 1125// SetAccountId sets the AccountId field's value. 1126func (s *AutoScalingGroupRecommendation) SetAccountId(v string) *AutoScalingGroupRecommendation { 1127 s.AccountId = &v 1128 return s 1129} 1130 1131// SetAutoScalingGroupArn sets the AutoScalingGroupArn field's value. 1132func (s *AutoScalingGroupRecommendation) SetAutoScalingGroupArn(v string) *AutoScalingGroupRecommendation { 1133 s.AutoScalingGroupArn = &v 1134 return s 1135} 1136 1137// SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 1138func (s *AutoScalingGroupRecommendation) SetAutoScalingGroupName(v string) *AutoScalingGroupRecommendation { 1139 s.AutoScalingGroupName = &v 1140 return s 1141} 1142 1143// SetCurrentConfiguration sets the CurrentConfiguration field's value. 1144func (s *AutoScalingGroupRecommendation) SetCurrentConfiguration(v *AutoScalingGroupConfiguration) *AutoScalingGroupRecommendation { 1145 s.CurrentConfiguration = v 1146 return s 1147} 1148 1149// SetFinding sets the Finding field's value. 1150func (s *AutoScalingGroupRecommendation) SetFinding(v string) *AutoScalingGroupRecommendation { 1151 s.Finding = &v 1152 return s 1153} 1154 1155// SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value. 1156func (s *AutoScalingGroupRecommendation) SetLastRefreshTimestamp(v time.Time) *AutoScalingGroupRecommendation { 1157 s.LastRefreshTimestamp = &v 1158 return s 1159} 1160 1161// SetLookBackPeriodInDays sets the LookBackPeriodInDays field's value. 1162func (s *AutoScalingGroupRecommendation) SetLookBackPeriodInDays(v float64) *AutoScalingGroupRecommendation { 1163 s.LookBackPeriodInDays = &v 1164 return s 1165} 1166 1167// SetRecommendationOptions sets the RecommendationOptions field's value. 1168func (s *AutoScalingGroupRecommendation) SetRecommendationOptions(v []*AutoScalingGroupRecommendationOption) *AutoScalingGroupRecommendation { 1169 s.RecommendationOptions = v 1170 return s 1171} 1172 1173// SetUtilizationMetrics sets the UtilizationMetrics field's value. 1174func (s *AutoScalingGroupRecommendation) SetUtilizationMetrics(v []*UtilizationMetric) *AutoScalingGroupRecommendation { 1175 s.UtilizationMetrics = v 1176 return s 1177} 1178 1179// Describes a recommendation option for an Auto Scaling group. 1180type AutoScalingGroupRecommendationOption struct { 1181 _ struct{} `type:"structure"` 1182 1183 // An array of objects that describe an Auto Scaling group configuration. 1184 Configuration *AutoScalingGroupConfiguration `locationName:"configuration" type:"structure"` 1185 1186 // The performance risk of the Auto Scaling group configuration recommendation. 1187 // 1188 // Performance risk is the likelihood of the recommended instance type not meeting 1189 // the performance requirement of your workload. 1190 // 1191 // The lowest performance risk is categorized as 0, and the highest as 5. 1192 PerformanceRisk *float64 `locationName:"performanceRisk" type:"double"` 1193 1194 // An array of objects that describe the projected utilization metrics of the 1195 // Auto Scaling group recommendation option. 1196 // 1197 // The Cpu and Memory metrics are the only projected utilization metrics returned. 1198 // Additionally, the Memory metric is returned only for resources that have 1199 // the unified CloudWatch agent installed on them. For more information, see 1200 // Enabling Memory Utilization with the CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent). 1201 ProjectedUtilizationMetrics []*UtilizationMetric `locationName:"projectedUtilizationMetrics" type:"list"` 1202 1203 // The rank of the Auto Scaling group recommendation option. 1204 // 1205 // The top recommendation option is ranked as 1. 1206 Rank *int64 `locationName:"rank" type:"integer"` 1207} 1208 1209// String returns the string representation 1210func (s AutoScalingGroupRecommendationOption) String() string { 1211 return awsutil.Prettify(s) 1212} 1213 1214// GoString returns the string representation 1215func (s AutoScalingGroupRecommendationOption) GoString() string { 1216 return s.String() 1217} 1218 1219// SetConfiguration sets the Configuration field's value. 1220func (s *AutoScalingGroupRecommendationOption) SetConfiguration(v *AutoScalingGroupConfiguration) *AutoScalingGroupRecommendationOption { 1221 s.Configuration = v 1222 return s 1223} 1224 1225// SetPerformanceRisk sets the PerformanceRisk field's value. 1226func (s *AutoScalingGroupRecommendationOption) SetPerformanceRisk(v float64) *AutoScalingGroupRecommendationOption { 1227 s.PerformanceRisk = &v 1228 return s 1229} 1230 1231// SetProjectedUtilizationMetrics sets the ProjectedUtilizationMetrics field's value. 1232func (s *AutoScalingGroupRecommendationOption) SetProjectedUtilizationMetrics(v []*UtilizationMetric) *AutoScalingGroupRecommendationOption { 1233 s.ProjectedUtilizationMetrics = v 1234 return s 1235} 1236 1237// SetRank sets the Rank field's value. 1238func (s *AutoScalingGroupRecommendationOption) SetRank(v int64) *AutoScalingGroupRecommendationOption { 1239 s.Rank = &v 1240 return s 1241} 1242 1243type DescribeRecommendationExportJobsInput struct { 1244 _ struct{} `type:"structure"` 1245 1246 // An array of objects that describe a filter to return a more specific list 1247 // of export jobs. 1248 Filters []*JobFilter `locationName:"filters" type:"list"` 1249 1250 // The identification numbers of the export jobs to return. 1251 // 1252 // An export job ID is returned when you create an export using the ExportAutoScalingGroupRecommendations 1253 // or ExportEC2InstanceRecommendations actions. 1254 // 1255 // All export jobs created in the last seven days are returned if this parameter 1256 // is omitted. 1257 JobIds []*string `locationName:"jobIds" type:"list"` 1258 1259 // The maximum number of export jobs to return with a single request. 1260 // 1261 // To retrieve the remaining results, make another request with the returned 1262 // NextToken value. 1263 MaxResults *int64 `locationName:"maxResults" type:"integer"` 1264 1265 // The token to advance to the next page of export jobs. 1266 NextToken *string `locationName:"nextToken" type:"string"` 1267} 1268 1269// String returns the string representation 1270func (s DescribeRecommendationExportJobsInput) String() string { 1271 return awsutil.Prettify(s) 1272} 1273 1274// GoString returns the string representation 1275func (s DescribeRecommendationExportJobsInput) GoString() string { 1276 return s.String() 1277} 1278 1279// SetFilters sets the Filters field's value. 1280func (s *DescribeRecommendationExportJobsInput) SetFilters(v []*JobFilter) *DescribeRecommendationExportJobsInput { 1281 s.Filters = v 1282 return s 1283} 1284 1285// SetJobIds sets the JobIds field's value. 1286func (s *DescribeRecommendationExportJobsInput) SetJobIds(v []*string) *DescribeRecommendationExportJobsInput { 1287 s.JobIds = v 1288 return s 1289} 1290 1291// SetMaxResults sets the MaxResults field's value. 1292func (s *DescribeRecommendationExportJobsInput) SetMaxResults(v int64) *DescribeRecommendationExportJobsInput { 1293 s.MaxResults = &v 1294 return s 1295} 1296 1297// SetNextToken sets the NextToken field's value. 1298func (s *DescribeRecommendationExportJobsInput) SetNextToken(v string) *DescribeRecommendationExportJobsInput { 1299 s.NextToken = &v 1300 return s 1301} 1302 1303type DescribeRecommendationExportJobsOutput struct { 1304 _ struct{} `type:"structure"` 1305 1306 // The token to use to advance to the next page of export jobs. 1307 // 1308 // This value is null when there are no more pages of export jobs to return. 1309 NextToken *string `locationName:"nextToken" type:"string"` 1310 1311 // An array of objects that describe recommendation export jobs. 1312 RecommendationExportJobs []*RecommendationExportJob `locationName:"recommendationExportJobs" type:"list"` 1313} 1314 1315// String returns the string representation 1316func (s DescribeRecommendationExportJobsOutput) String() string { 1317 return awsutil.Prettify(s) 1318} 1319 1320// GoString returns the string representation 1321func (s DescribeRecommendationExportJobsOutput) GoString() string { 1322 return s.String() 1323} 1324 1325// SetNextToken sets the NextToken field's value. 1326func (s *DescribeRecommendationExportJobsOutput) SetNextToken(v string) *DescribeRecommendationExportJobsOutput { 1327 s.NextToken = &v 1328 return s 1329} 1330 1331// SetRecommendationExportJobs sets the RecommendationExportJobs field's value. 1332func (s *DescribeRecommendationExportJobsOutput) SetRecommendationExportJobs(v []*RecommendationExportJob) *DescribeRecommendationExportJobsOutput { 1333 s.RecommendationExportJobs = v 1334 return s 1335} 1336 1337type ExportAutoScalingGroupRecommendationsInput struct { 1338 _ struct{} `type:"structure"` 1339 1340 // The IDs of the AWS accounts for which to export Auto Scaling group recommendations. 1341 // 1342 // If your account is the master account of an organization, use this parameter 1343 // to specify the member accounts for which you want to export recommendations. 1344 // 1345 // This parameter cannot be specified together with the include member accounts 1346 // parameter. The parameters are mutually exclusive. 1347 // 1348 // Recommendations for member accounts are not included in the export if this 1349 // parameter, or the include member accounts parameter, is omitted. 1350 // 1351 // You can specify multiple account IDs per request. 1352 AccountIds []*string `locationName:"accountIds" type:"list"` 1353 1354 // The recommendations data to include in the export file. For more information 1355 // about the fields that can be exported, see Exported files (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files) 1356 // in the Compute Optimizer User Guide. 1357 FieldsToExport []*string `locationName:"fieldsToExport" type:"list"` 1358 1359 // The format of the export file. 1360 // 1361 // The only export file format currently supported is Csv. 1362 FileFormat *string `locationName:"fileFormat" type:"string" enum:"FileFormat"` 1363 1364 // An array of objects that describe a filter to export a more specific set 1365 // of Auto Scaling group recommendations. 1366 Filters []*Filter `locationName:"filters" type:"list"` 1367 1368 // Indicates whether to include recommendations for resources in all member 1369 // accounts of the organization if your account is the master account of an 1370 // organization. 1371 // 1372 // The member accounts must also be opted in to Compute Optimizer. 1373 // 1374 // Recommendations for member accounts of the organization are not included 1375 // in the export file if this parameter is omitted. 1376 // 1377 // This parameter cannot be specified together with the account IDs parameter. 1378 // The parameters are mutually exclusive. 1379 // 1380 // Recommendations for member accounts are not included in the export if this 1381 // parameter, or the account IDs parameter, is omitted. 1382 IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"` 1383 1384 // An object to specify the destination Amazon Simple Storage Service (Amazon 1385 // S3) bucket name and key prefix for the export job. 1386 // 1387 // You must create the destination Amazon S3 bucket for your recommendations 1388 // export before you create the export job. Compute Optimizer does not create 1389 // the S3 bucket for you. After you create the S3 bucket, ensure that it has 1390 // the required permission policy to allow Compute Optimizer to write the export 1391 // file to it. If you plan to specify an object prefix when you create the export 1392 // job, you must include the object prefix in the policy that you add to the 1393 // S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute 1394 // Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html) 1395 // in the Compute Optimizer user guide. 1396 // 1397 // S3DestinationConfig is a required field 1398 S3DestinationConfig *S3DestinationConfig `locationName:"s3DestinationConfig" type:"structure" required:"true"` 1399} 1400 1401// String returns the string representation 1402func (s ExportAutoScalingGroupRecommendationsInput) String() string { 1403 return awsutil.Prettify(s) 1404} 1405 1406// GoString returns the string representation 1407func (s ExportAutoScalingGroupRecommendationsInput) GoString() string { 1408 return s.String() 1409} 1410 1411// Validate inspects the fields of the type to determine if they are valid. 1412func (s *ExportAutoScalingGroupRecommendationsInput) Validate() error { 1413 invalidParams := request.ErrInvalidParams{Context: "ExportAutoScalingGroupRecommendationsInput"} 1414 if s.S3DestinationConfig == nil { 1415 invalidParams.Add(request.NewErrParamRequired("S3DestinationConfig")) 1416 } 1417 1418 if invalidParams.Len() > 0 { 1419 return invalidParams 1420 } 1421 return nil 1422} 1423 1424// SetAccountIds sets the AccountIds field's value. 1425func (s *ExportAutoScalingGroupRecommendationsInput) SetAccountIds(v []*string) *ExportAutoScalingGroupRecommendationsInput { 1426 s.AccountIds = v 1427 return s 1428} 1429 1430// SetFieldsToExport sets the FieldsToExport field's value. 1431func (s *ExportAutoScalingGroupRecommendationsInput) SetFieldsToExport(v []*string) *ExportAutoScalingGroupRecommendationsInput { 1432 s.FieldsToExport = v 1433 return s 1434} 1435 1436// SetFileFormat sets the FileFormat field's value. 1437func (s *ExportAutoScalingGroupRecommendationsInput) SetFileFormat(v string) *ExportAutoScalingGroupRecommendationsInput { 1438 s.FileFormat = &v 1439 return s 1440} 1441 1442// SetFilters sets the Filters field's value. 1443func (s *ExportAutoScalingGroupRecommendationsInput) SetFilters(v []*Filter) *ExportAutoScalingGroupRecommendationsInput { 1444 s.Filters = v 1445 return s 1446} 1447 1448// SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value. 1449func (s *ExportAutoScalingGroupRecommendationsInput) SetIncludeMemberAccounts(v bool) *ExportAutoScalingGroupRecommendationsInput { 1450 s.IncludeMemberAccounts = &v 1451 return s 1452} 1453 1454// SetS3DestinationConfig sets the S3DestinationConfig field's value. 1455func (s *ExportAutoScalingGroupRecommendationsInput) SetS3DestinationConfig(v *S3DestinationConfig) *ExportAutoScalingGroupRecommendationsInput { 1456 s.S3DestinationConfig = v 1457 return s 1458} 1459 1460type ExportAutoScalingGroupRecommendationsOutput struct { 1461 _ struct{} `type:"structure"` 1462 1463 // The identification number of the export job. 1464 // 1465 // Use the DescribeRecommendationExportJobs action, and specify the job ID to 1466 // view the status of an export job. 1467 JobId *string `locationName:"jobId" type:"string"` 1468 1469 // An object that describes the destination Amazon S3 bucket of a recommendations 1470 // export file. 1471 S3Destination *S3Destination `locationName:"s3Destination" type:"structure"` 1472} 1473 1474// String returns the string representation 1475func (s ExportAutoScalingGroupRecommendationsOutput) String() string { 1476 return awsutil.Prettify(s) 1477} 1478 1479// GoString returns the string representation 1480func (s ExportAutoScalingGroupRecommendationsOutput) GoString() string { 1481 return s.String() 1482} 1483 1484// SetJobId sets the JobId field's value. 1485func (s *ExportAutoScalingGroupRecommendationsOutput) SetJobId(v string) *ExportAutoScalingGroupRecommendationsOutput { 1486 s.JobId = &v 1487 return s 1488} 1489 1490// SetS3Destination sets the S3Destination field's value. 1491func (s *ExportAutoScalingGroupRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportAutoScalingGroupRecommendationsOutput { 1492 s.S3Destination = v 1493 return s 1494} 1495 1496// Describes the destination of the recommendations export and metadata files. 1497type ExportDestination struct { 1498 _ struct{} `type:"structure"` 1499 1500 // An object that describes the destination Amazon Simple Storage Service (Amazon 1501 // S3) bucket name and object keys of a recommendations export file, and its 1502 // associated metadata file. 1503 S3 *S3Destination `locationName:"s3" type:"structure"` 1504} 1505 1506// String returns the string representation 1507func (s ExportDestination) String() string { 1508 return awsutil.Prettify(s) 1509} 1510 1511// GoString returns the string representation 1512func (s ExportDestination) GoString() string { 1513 return s.String() 1514} 1515 1516// SetS3 sets the S3 field's value. 1517func (s *ExportDestination) SetS3(v *S3Destination) *ExportDestination { 1518 s.S3 = v 1519 return s 1520} 1521 1522type ExportEC2InstanceRecommendationsInput struct { 1523 _ struct{} `type:"structure"` 1524 1525 // The IDs of the AWS accounts for which to export instance recommendations. 1526 // 1527 // If your account is the master account of an organization, use this parameter 1528 // to specify the member accounts for which you want to export recommendations. 1529 // 1530 // This parameter cannot be specified together with the include member accounts 1531 // parameter. The parameters are mutually exclusive. 1532 // 1533 // Recommendations for member accounts are not included in the export if this 1534 // parameter, or the include member accounts parameter, is omitted. 1535 // 1536 // You can specify multiple account IDs per request. 1537 AccountIds []*string `locationName:"accountIds" type:"list"` 1538 1539 // The recommendations data to include in the export file. For more information 1540 // about the fields that can be exported, see Exported files (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files) 1541 // in the Compute Optimizer User Guide. 1542 FieldsToExport []*string `locationName:"fieldsToExport" type:"list"` 1543 1544 // The format of the export file. 1545 // 1546 // The only export file format currently supported is Csv. 1547 FileFormat *string `locationName:"fileFormat" type:"string" enum:"FileFormat"` 1548 1549 // An array of objects that describe a filter to export a more specific set 1550 // of instance recommendations. 1551 Filters []*Filter `locationName:"filters" type:"list"` 1552 1553 // Indicates whether to include recommendations for resources in all member 1554 // accounts of the organization if your account is the master account of an 1555 // organization. 1556 // 1557 // The member accounts must also be opted in to Compute Optimizer. 1558 // 1559 // Recommendations for member accounts of the organization are not included 1560 // in the export file if this parameter is omitted. 1561 // 1562 // Recommendations for member accounts are not included in the export if this 1563 // parameter, or the account IDs parameter, is omitted. 1564 IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"` 1565 1566 // An object to specify the destination Amazon Simple Storage Service (Amazon 1567 // S3) bucket name and key prefix for the export job. 1568 // 1569 // You must create the destination Amazon S3 bucket for your recommendations 1570 // export before you create the export job. Compute Optimizer does not create 1571 // the S3 bucket for you. After you create the S3 bucket, ensure that it has 1572 // the required permission policy to allow Compute Optimizer to write the export 1573 // file to it. If you plan to specify an object prefix when you create the export 1574 // job, you must include the object prefix in the policy that you add to the 1575 // S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute 1576 // Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html) 1577 // in the Compute Optimizer user guide. 1578 // 1579 // S3DestinationConfig is a required field 1580 S3DestinationConfig *S3DestinationConfig `locationName:"s3DestinationConfig" type:"structure" required:"true"` 1581} 1582 1583// String returns the string representation 1584func (s ExportEC2InstanceRecommendationsInput) String() string { 1585 return awsutil.Prettify(s) 1586} 1587 1588// GoString returns the string representation 1589func (s ExportEC2InstanceRecommendationsInput) GoString() string { 1590 return s.String() 1591} 1592 1593// Validate inspects the fields of the type to determine if they are valid. 1594func (s *ExportEC2InstanceRecommendationsInput) Validate() error { 1595 invalidParams := request.ErrInvalidParams{Context: "ExportEC2InstanceRecommendationsInput"} 1596 if s.S3DestinationConfig == nil { 1597 invalidParams.Add(request.NewErrParamRequired("S3DestinationConfig")) 1598 } 1599 1600 if invalidParams.Len() > 0 { 1601 return invalidParams 1602 } 1603 return nil 1604} 1605 1606// SetAccountIds sets the AccountIds field's value. 1607func (s *ExportEC2InstanceRecommendationsInput) SetAccountIds(v []*string) *ExportEC2InstanceRecommendationsInput { 1608 s.AccountIds = v 1609 return s 1610} 1611 1612// SetFieldsToExport sets the FieldsToExport field's value. 1613func (s *ExportEC2InstanceRecommendationsInput) SetFieldsToExport(v []*string) *ExportEC2InstanceRecommendationsInput { 1614 s.FieldsToExport = v 1615 return s 1616} 1617 1618// SetFileFormat sets the FileFormat field's value. 1619func (s *ExportEC2InstanceRecommendationsInput) SetFileFormat(v string) *ExportEC2InstanceRecommendationsInput { 1620 s.FileFormat = &v 1621 return s 1622} 1623 1624// SetFilters sets the Filters field's value. 1625func (s *ExportEC2InstanceRecommendationsInput) SetFilters(v []*Filter) *ExportEC2InstanceRecommendationsInput { 1626 s.Filters = v 1627 return s 1628} 1629 1630// SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value. 1631func (s *ExportEC2InstanceRecommendationsInput) SetIncludeMemberAccounts(v bool) *ExportEC2InstanceRecommendationsInput { 1632 s.IncludeMemberAccounts = &v 1633 return s 1634} 1635 1636// SetS3DestinationConfig sets the S3DestinationConfig field's value. 1637func (s *ExportEC2InstanceRecommendationsInput) SetS3DestinationConfig(v *S3DestinationConfig) *ExportEC2InstanceRecommendationsInput { 1638 s.S3DestinationConfig = v 1639 return s 1640} 1641 1642type ExportEC2InstanceRecommendationsOutput struct { 1643 _ struct{} `type:"structure"` 1644 1645 // The identification number of the export job. 1646 // 1647 // Use the DescribeRecommendationExportJobs action, and specify the job ID to 1648 // view the status of an export job. 1649 JobId *string `locationName:"jobId" type:"string"` 1650 1651 // An object that describes the destination Amazon S3 bucket of a recommendations 1652 // export file. 1653 S3Destination *S3Destination `locationName:"s3Destination" type:"structure"` 1654} 1655 1656// String returns the string representation 1657func (s ExportEC2InstanceRecommendationsOutput) String() string { 1658 return awsutil.Prettify(s) 1659} 1660 1661// GoString returns the string representation 1662func (s ExportEC2InstanceRecommendationsOutput) GoString() string { 1663 return s.String() 1664} 1665 1666// SetJobId sets the JobId field's value. 1667func (s *ExportEC2InstanceRecommendationsOutput) SetJobId(v string) *ExportEC2InstanceRecommendationsOutput { 1668 s.JobId = &v 1669 return s 1670} 1671 1672// SetS3Destination sets the S3Destination field's value. 1673func (s *ExportEC2InstanceRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportEC2InstanceRecommendationsOutput { 1674 s.S3Destination = v 1675 return s 1676} 1677 1678// Describes a filter that returns a more specific list of recommendations. 1679type Filter struct { 1680 _ struct{} `type:"structure"` 1681 1682 // The name of the filter. 1683 // 1684 // Specify Finding to return recommendations with a specific findings classification 1685 // (e.g., Overprovisioned). 1686 // 1687 // Specify RecommendationSourceType to return recommendations of a specific 1688 // resource type (e.g., AutoScalingGroup). 1689 Name *string `locationName:"name" type:"string" enum:"FilterName"` 1690 1691 // The value of the filter. 1692 // 1693 // If you specify the name parameter as Finding, and you request recommendations 1694 // for an instance, then the valid values are Underprovisioned, Overprovisioned, 1695 // NotOptimized, or Optimized. 1696 // 1697 // If you specify the name parameter as Finding, and you request recommendations 1698 // for an Auto Scaling group, then the valid values are Optimized, or NotOptimized. 1699 // 1700 // If you specify the name parameter as RecommendationSourceType, then the valid 1701 // values are Ec2Instance, or AutoScalingGroup. 1702 Values []*string `locationName:"values" type:"list"` 1703} 1704 1705// String returns the string representation 1706func (s Filter) String() string { 1707 return awsutil.Prettify(s) 1708} 1709 1710// GoString returns the string representation 1711func (s Filter) GoString() string { 1712 return s.String() 1713} 1714 1715// SetName sets the Name field's value. 1716func (s *Filter) SetName(v string) *Filter { 1717 s.Name = &v 1718 return s 1719} 1720 1721// SetValues sets the Values field's value. 1722func (s *Filter) SetValues(v []*string) *Filter { 1723 s.Values = v 1724 return s 1725} 1726 1727type GetAutoScalingGroupRecommendationsInput struct { 1728 _ struct{} `type:"structure"` 1729 1730 // The IDs of the AWS accounts for which to return Auto Scaling group recommendations. 1731 // 1732 // If your account is the master account of an organization, use this parameter 1733 // to specify the member accounts for which you want to return Auto Scaling 1734 // group recommendations. 1735 // 1736 // Only one account ID can be specified per request. 1737 AccountIds []*string `locationName:"accountIds" type:"list"` 1738 1739 // The Amazon Resource Name (ARN) of the Auto Scaling groups for which to return 1740 // recommendations. 1741 AutoScalingGroupArns []*string `locationName:"autoScalingGroupArns" type:"list"` 1742 1743 // An array of objects that describe a filter that returns a more specific list 1744 // of Auto Scaling group recommendations. 1745 Filters []*Filter `locationName:"filters" type:"list"` 1746 1747 // The maximum number of Auto Scaling group recommendations to return with a 1748 // single request. 1749 // 1750 // To retrieve the remaining results, make another request with the returned 1751 // NextToken value. 1752 MaxResults *int64 `locationName:"maxResults" type:"integer"` 1753 1754 // The token to advance to the next page of Auto Scaling group recommendations. 1755 NextToken *string `locationName:"nextToken" type:"string"` 1756} 1757 1758// String returns the string representation 1759func (s GetAutoScalingGroupRecommendationsInput) String() string { 1760 return awsutil.Prettify(s) 1761} 1762 1763// GoString returns the string representation 1764func (s GetAutoScalingGroupRecommendationsInput) GoString() string { 1765 return s.String() 1766} 1767 1768// SetAccountIds sets the AccountIds field's value. 1769func (s *GetAutoScalingGroupRecommendationsInput) SetAccountIds(v []*string) *GetAutoScalingGroupRecommendationsInput { 1770 s.AccountIds = v 1771 return s 1772} 1773 1774// SetAutoScalingGroupArns sets the AutoScalingGroupArns field's value. 1775func (s *GetAutoScalingGroupRecommendationsInput) SetAutoScalingGroupArns(v []*string) *GetAutoScalingGroupRecommendationsInput { 1776 s.AutoScalingGroupArns = v 1777 return s 1778} 1779 1780// SetFilters sets the Filters field's value. 1781func (s *GetAutoScalingGroupRecommendationsInput) SetFilters(v []*Filter) *GetAutoScalingGroupRecommendationsInput { 1782 s.Filters = v 1783 return s 1784} 1785 1786// SetMaxResults sets the MaxResults field's value. 1787func (s *GetAutoScalingGroupRecommendationsInput) SetMaxResults(v int64) *GetAutoScalingGroupRecommendationsInput { 1788 s.MaxResults = &v 1789 return s 1790} 1791 1792// SetNextToken sets the NextToken field's value. 1793func (s *GetAutoScalingGroupRecommendationsInput) SetNextToken(v string) *GetAutoScalingGroupRecommendationsInput { 1794 s.NextToken = &v 1795 return s 1796} 1797 1798type GetAutoScalingGroupRecommendationsOutput struct { 1799 _ struct{} `type:"structure"` 1800 1801 // An array of objects that describe Auto Scaling group recommendations. 1802 AutoScalingGroupRecommendations []*AutoScalingGroupRecommendation `locationName:"autoScalingGroupRecommendations" type:"list"` 1803 1804 // An array of objects that describe errors of the request. 1805 // 1806 // For example, an error is returned if you request recommendations for an unsupported 1807 // Auto Scaling group. 1808 Errors []*GetRecommendationError `locationName:"errors" type:"list"` 1809 1810 // The token to use to advance to the next page of Auto Scaling group recommendations. 1811 // 1812 // This value is null when there are no more pages of Auto Scaling group recommendations 1813 // to return. 1814 NextToken *string `locationName:"nextToken" type:"string"` 1815} 1816 1817// String returns the string representation 1818func (s GetAutoScalingGroupRecommendationsOutput) String() string { 1819 return awsutil.Prettify(s) 1820} 1821 1822// GoString returns the string representation 1823func (s GetAutoScalingGroupRecommendationsOutput) GoString() string { 1824 return s.String() 1825} 1826 1827// SetAutoScalingGroupRecommendations sets the AutoScalingGroupRecommendations field's value. 1828func (s *GetAutoScalingGroupRecommendationsOutput) SetAutoScalingGroupRecommendations(v []*AutoScalingGroupRecommendation) *GetAutoScalingGroupRecommendationsOutput { 1829 s.AutoScalingGroupRecommendations = v 1830 return s 1831} 1832 1833// SetErrors sets the Errors field's value. 1834func (s *GetAutoScalingGroupRecommendationsOutput) SetErrors(v []*GetRecommendationError) *GetAutoScalingGroupRecommendationsOutput { 1835 s.Errors = v 1836 return s 1837} 1838 1839// SetNextToken sets the NextToken field's value. 1840func (s *GetAutoScalingGroupRecommendationsOutput) SetNextToken(v string) *GetAutoScalingGroupRecommendationsOutput { 1841 s.NextToken = &v 1842 return s 1843} 1844 1845type GetEC2InstanceRecommendationsInput struct { 1846 _ struct{} `type:"structure"` 1847 1848 // The IDs of the AWS accounts for which to return instance recommendations. 1849 // 1850 // If your account is the master account of an organization, use this parameter 1851 // to specify the member accounts for which you want to return instance recommendations. 1852 // 1853 // Only one account ID can be specified per request. 1854 AccountIds []*string `locationName:"accountIds" type:"list"` 1855 1856 // An array of objects that describe a filter that returns a more specific list 1857 // of instance recommendations. 1858 Filters []*Filter `locationName:"filters" type:"list"` 1859 1860 // The Amazon Resource Name (ARN) of the instances for which to return recommendations. 1861 InstanceArns []*string `locationName:"instanceArns" type:"list"` 1862 1863 // The maximum number of instance recommendations to return with a single request. 1864 // 1865 // To retrieve the remaining results, make another request with the returned 1866 // NextToken value. 1867 MaxResults *int64 `locationName:"maxResults" type:"integer"` 1868 1869 // The token to advance to the next page of instance recommendations. 1870 NextToken *string `locationName:"nextToken" type:"string"` 1871} 1872 1873// String returns the string representation 1874func (s GetEC2InstanceRecommendationsInput) String() string { 1875 return awsutil.Prettify(s) 1876} 1877 1878// GoString returns the string representation 1879func (s GetEC2InstanceRecommendationsInput) GoString() string { 1880 return s.String() 1881} 1882 1883// SetAccountIds sets the AccountIds field's value. 1884func (s *GetEC2InstanceRecommendationsInput) SetAccountIds(v []*string) *GetEC2InstanceRecommendationsInput { 1885 s.AccountIds = v 1886 return s 1887} 1888 1889// SetFilters sets the Filters field's value. 1890func (s *GetEC2InstanceRecommendationsInput) SetFilters(v []*Filter) *GetEC2InstanceRecommendationsInput { 1891 s.Filters = v 1892 return s 1893} 1894 1895// SetInstanceArns sets the InstanceArns field's value. 1896func (s *GetEC2InstanceRecommendationsInput) SetInstanceArns(v []*string) *GetEC2InstanceRecommendationsInput { 1897 s.InstanceArns = v 1898 return s 1899} 1900 1901// SetMaxResults sets the MaxResults field's value. 1902func (s *GetEC2InstanceRecommendationsInput) SetMaxResults(v int64) *GetEC2InstanceRecommendationsInput { 1903 s.MaxResults = &v 1904 return s 1905} 1906 1907// SetNextToken sets the NextToken field's value. 1908func (s *GetEC2InstanceRecommendationsInput) SetNextToken(v string) *GetEC2InstanceRecommendationsInput { 1909 s.NextToken = &v 1910 return s 1911} 1912 1913type GetEC2InstanceRecommendationsOutput struct { 1914 _ struct{} `type:"structure"` 1915 1916 // An array of objects that describe errors of the request. 1917 // 1918 // For example, an error is returned if you request recommendations for an instance 1919 // of an unsupported instance family. 1920 Errors []*GetRecommendationError `locationName:"errors" type:"list"` 1921 1922 // An array of objects that describe instance recommendations. 1923 InstanceRecommendations []*InstanceRecommendation `locationName:"instanceRecommendations" type:"list"` 1924 1925 // The token to use to advance to the next page of instance recommendations. 1926 // 1927 // This value is null when there are no more pages of instance recommendations 1928 // to return. 1929 NextToken *string `locationName:"nextToken" type:"string"` 1930} 1931 1932// String returns the string representation 1933func (s GetEC2InstanceRecommendationsOutput) String() string { 1934 return awsutil.Prettify(s) 1935} 1936 1937// GoString returns the string representation 1938func (s GetEC2InstanceRecommendationsOutput) GoString() string { 1939 return s.String() 1940} 1941 1942// SetErrors sets the Errors field's value. 1943func (s *GetEC2InstanceRecommendationsOutput) SetErrors(v []*GetRecommendationError) *GetEC2InstanceRecommendationsOutput { 1944 s.Errors = v 1945 return s 1946} 1947 1948// SetInstanceRecommendations sets the InstanceRecommendations field's value. 1949func (s *GetEC2InstanceRecommendationsOutput) SetInstanceRecommendations(v []*InstanceRecommendation) *GetEC2InstanceRecommendationsOutput { 1950 s.InstanceRecommendations = v 1951 return s 1952} 1953 1954// SetNextToken sets the NextToken field's value. 1955func (s *GetEC2InstanceRecommendationsOutput) SetNextToken(v string) *GetEC2InstanceRecommendationsOutput { 1956 s.NextToken = &v 1957 return s 1958} 1959 1960type GetEC2RecommendationProjectedMetricsInput struct { 1961 _ struct{} `type:"structure"` 1962 1963 // The time stamp of the last projected metrics data point to return. 1964 // 1965 // EndTime is a required field 1966 EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"` 1967 1968 // The Amazon Resource Name (ARN) of the instances for which to return recommendation 1969 // projected metrics. 1970 // 1971 // InstanceArn is a required field 1972 InstanceArn *string `locationName:"instanceArn" type:"string" required:"true"` 1973 1974 // The granularity, in seconds, of the projected metrics data points. 1975 // 1976 // Period is a required field 1977 Period *int64 `locationName:"period" type:"integer" required:"true"` 1978 1979 // The time stamp of the first projected metrics data point to return. 1980 // 1981 // StartTime is a required field 1982 StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"` 1983 1984 // The statistic of the projected metrics. 1985 // 1986 // Stat is a required field 1987 Stat *string `locationName:"stat" type:"string" required:"true" enum:"MetricStatistic"` 1988} 1989 1990// String returns the string representation 1991func (s GetEC2RecommendationProjectedMetricsInput) String() string { 1992 return awsutil.Prettify(s) 1993} 1994 1995// GoString returns the string representation 1996func (s GetEC2RecommendationProjectedMetricsInput) GoString() string { 1997 return s.String() 1998} 1999 2000// Validate inspects the fields of the type to determine if they are valid. 2001func (s *GetEC2RecommendationProjectedMetricsInput) Validate() error { 2002 invalidParams := request.ErrInvalidParams{Context: "GetEC2RecommendationProjectedMetricsInput"} 2003 if s.EndTime == nil { 2004 invalidParams.Add(request.NewErrParamRequired("EndTime")) 2005 } 2006 if s.InstanceArn == nil { 2007 invalidParams.Add(request.NewErrParamRequired("InstanceArn")) 2008 } 2009 if s.Period == nil { 2010 invalidParams.Add(request.NewErrParamRequired("Period")) 2011 } 2012 if s.StartTime == nil { 2013 invalidParams.Add(request.NewErrParamRequired("StartTime")) 2014 } 2015 if s.Stat == nil { 2016 invalidParams.Add(request.NewErrParamRequired("Stat")) 2017 } 2018 2019 if invalidParams.Len() > 0 { 2020 return invalidParams 2021 } 2022 return nil 2023} 2024 2025// SetEndTime sets the EndTime field's value. 2026func (s *GetEC2RecommendationProjectedMetricsInput) SetEndTime(v time.Time) *GetEC2RecommendationProjectedMetricsInput { 2027 s.EndTime = &v 2028 return s 2029} 2030 2031// SetInstanceArn sets the InstanceArn field's value. 2032func (s *GetEC2RecommendationProjectedMetricsInput) SetInstanceArn(v string) *GetEC2RecommendationProjectedMetricsInput { 2033 s.InstanceArn = &v 2034 return s 2035} 2036 2037// SetPeriod sets the Period field's value. 2038func (s *GetEC2RecommendationProjectedMetricsInput) SetPeriod(v int64) *GetEC2RecommendationProjectedMetricsInput { 2039 s.Period = &v 2040 return s 2041} 2042 2043// SetStartTime sets the StartTime field's value. 2044func (s *GetEC2RecommendationProjectedMetricsInput) SetStartTime(v time.Time) *GetEC2RecommendationProjectedMetricsInput { 2045 s.StartTime = &v 2046 return s 2047} 2048 2049// SetStat sets the Stat field's value. 2050func (s *GetEC2RecommendationProjectedMetricsInput) SetStat(v string) *GetEC2RecommendationProjectedMetricsInput { 2051 s.Stat = &v 2052 return s 2053} 2054 2055type GetEC2RecommendationProjectedMetricsOutput struct { 2056 _ struct{} `type:"structure"` 2057 2058 // An array of objects that describe a projected metrics. 2059 RecommendedOptionProjectedMetrics []*RecommendedOptionProjectedMetric `locationName:"recommendedOptionProjectedMetrics" type:"list"` 2060} 2061 2062// String returns the string representation 2063func (s GetEC2RecommendationProjectedMetricsOutput) String() string { 2064 return awsutil.Prettify(s) 2065} 2066 2067// GoString returns the string representation 2068func (s GetEC2RecommendationProjectedMetricsOutput) GoString() string { 2069 return s.String() 2070} 2071 2072// SetRecommendedOptionProjectedMetrics sets the RecommendedOptionProjectedMetrics field's value. 2073func (s *GetEC2RecommendationProjectedMetricsOutput) SetRecommendedOptionProjectedMetrics(v []*RecommendedOptionProjectedMetric) *GetEC2RecommendationProjectedMetricsOutput { 2074 s.RecommendedOptionProjectedMetrics = v 2075 return s 2076} 2077 2078type GetEnrollmentStatusInput struct { 2079 _ struct{} `type:"structure"` 2080} 2081 2082// String returns the string representation 2083func (s GetEnrollmentStatusInput) String() string { 2084 return awsutil.Prettify(s) 2085} 2086 2087// GoString returns the string representation 2088func (s GetEnrollmentStatusInput) GoString() string { 2089 return s.String() 2090} 2091 2092type GetEnrollmentStatusOutput struct { 2093 _ struct{} `type:"structure"` 2094 2095 // Confirms the enrollment status of member accounts within the organization, 2096 // if the account is a master account of an organization. 2097 MemberAccountsEnrolled *bool `locationName:"memberAccountsEnrolled" type:"boolean"` 2098 2099 // The enrollment status of the account. 2100 Status *string `locationName:"status" type:"string" enum:"Status"` 2101 2102 // The reason for the enrollment status of the account. 2103 // 2104 // For example, an account might show a status of Pending because member accounts 2105 // of an organization require more time to be enrolled in the service. 2106 StatusReason *string `locationName:"statusReason" type:"string"` 2107} 2108 2109// String returns the string representation 2110func (s GetEnrollmentStatusOutput) String() string { 2111 return awsutil.Prettify(s) 2112} 2113 2114// GoString returns the string representation 2115func (s GetEnrollmentStatusOutput) GoString() string { 2116 return s.String() 2117} 2118 2119// SetMemberAccountsEnrolled sets the MemberAccountsEnrolled field's value. 2120func (s *GetEnrollmentStatusOutput) SetMemberAccountsEnrolled(v bool) *GetEnrollmentStatusOutput { 2121 s.MemberAccountsEnrolled = &v 2122 return s 2123} 2124 2125// SetStatus sets the Status field's value. 2126func (s *GetEnrollmentStatusOutput) SetStatus(v string) *GetEnrollmentStatusOutput { 2127 s.Status = &v 2128 return s 2129} 2130 2131// SetStatusReason sets the StatusReason field's value. 2132func (s *GetEnrollmentStatusOutput) SetStatusReason(v string) *GetEnrollmentStatusOutput { 2133 s.StatusReason = &v 2134 return s 2135} 2136 2137// Describes an error experienced when getting recommendations. 2138// 2139// For example, an error is returned if you request recommendations for an unsupported 2140// Auto Scaling group, or if you request recommendations for an instance of 2141// an unsupported instance family. 2142type GetRecommendationError struct { 2143 _ struct{} `type:"structure"` 2144 2145 // The error code. 2146 Code *string `locationName:"code" type:"string"` 2147 2148 // The ID of the error. 2149 Identifier *string `locationName:"identifier" type:"string"` 2150 2151 // The message, or reason, for the error. 2152 Message *string `locationName:"message" type:"string"` 2153} 2154 2155// String returns the string representation 2156func (s GetRecommendationError) String() string { 2157 return awsutil.Prettify(s) 2158} 2159 2160// GoString returns the string representation 2161func (s GetRecommendationError) GoString() string { 2162 return s.String() 2163} 2164 2165// SetCode sets the Code field's value. 2166func (s *GetRecommendationError) SetCode(v string) *GetRecommendationError { 2167 s.Code = &v 2168 return s 2169} 2170 2171// SetIdentifier sets the Identifier field's value. 2172func (s *GetRecommendationError) SetIdentifier(v string) *GetRecommendationError { 2173 s.Identifier = &v 2174 return s 2175} 2176 2177// SetMessage sets the Message field's value. 2178func (s *GetRecommendationError) SetMessage(v string) *GetRecommendationError { 2179 s.Message = &v 2180 return s 2181} 2182 2183type GetRecommendationSummariesInput struct { 2184 _ struct{} `type:"structure"` 2185 2186 // The IDs of the AWS accounts for which to return recommendation summaries. 2187 // 2188 // If your account is the master account of an organization, use this parameter 2189 // to specify the member accounts for which you want to return recommendation 2190 // summaries. 2191 // 2192 // Only one account ID can be specified per request. 2193 AccountIds []*string `locationName:"accountIds" type:"list"` 2194 2195 // The maximum number of recommendation summaries to return with a single request. 2196 // 2197 // To retrieve the remaining results, make another request with the returned 2198 // NextToken value. 2199 MaxResults *int64 `locationName:"maxResults" type:"integer"` 2200 2201 // The token to advance to the next page of recommendation summaries. 2202 NextToken *string `locationName:"nextToken" type:"string"` 2203} 2204 2205// String returns the string representation 2206func (s GetRecommendationSummariesInput) String() string { 2207 return awsutil.Prettify(s) 2208} 2209 2210// GoString returns the string representation 2211func (s GetRecommendationSummariesInput) GoString() string { 2212 return s.String() 2213} 2214 2215// SetAccountIds sets the AccountIds field's value. 2216func (s *GetRecommendationSummariesInput) SetAccountIds(v []*string) *GetRecommendationSummariesInput { 2217 s.AccountIds = v 2218 return s 2219} 2220 2221// SetMaxResults sets the MaxResults field's value. 2222func (s *GetRecommendationSummariesInput) SetMaxResults(v int64) *GetRecommendationSummariesInput { 2223 s.MaxResults = &v 2224 return s 2225} 2226 2227// SetNextToken sets the NextToken field's value. 2228func (s *GetRecommendationSummariesInput) SetNextToken(v string) *GetRecommendationSummariesInput { 2229 s.NextToken = &v 2230 return s 2231} 2232 2233type GetRecommendationSummariesOutput struct { 2234 _ struct{} `type:"structure"` 2235 2236 // The token to use to advance to the next page of recommendation summaries. 2237 // 2238 // This value is null when there are no more pages of recommendation summaries 2239 // to return. 2240 NextToken *string `locationName:"nextToken" type:"string"` 2241 2242 // An array of objects that summarize a recommendation. 2243 RecommendationSummaries []*RecommendationSummary `locationName:"recommendationSummaries" type:"list"` 2244} 2245 2246// String returns the string representation 2247func (s GetRecommendationSummariesOutput) String() string { 2248 return awsutil.Prettify(s) 2249} 2250 2251// GoString returns the string representation 2252func (s GetRecommendationSummariesOutput) GoString() string { 2253 return s.String() 2254} 2255 2256// SetNextToken sets the NextToken field's value. 2257func (s *GetRecommendationSummariesOutput) SetNextToken(v string) *GetRecommendationSummariesOutput { 2258 s.NextToken = &v 2259 return s 2260} 2261 2262// SetRecommendationSummaries sets the RecommendationSummaries field's value. 2263func (s *GetRecommendationSummariesOutput) SetRecommendationSummaries(v []*RecommendationSummary) *GetRecommendationSummariesOutput { 2264 s.RecommendationSummaries = v 2265 return s 2266} 2267 2268// Describes an Amazon EC2 instance recommendation. 2269type InstanceRecommendation struct { 2270 _ struct{} `type:"structure"` 2271 2272 // The AWS account ID of the instance. 2273 AccountId *string `locationName:"accountId" type:"string"` 2274 2275 // The instance type of the current instance. 2276 CurrentInstanceType *string `locationName:"currentInstanceType" type:"string"` 2277 2278 // The finding classification for the instance. 2279 // 2280 // Findings for instances include: 2281 // 2282 // * Underprovisioned —An instance is considered under-provisioned when 2283 // at least one specification of your instance, such as CPU, memory, or network, 2284 // does not meet the performance requirements of your workload. Under-provisioned 2285 // instances may lead to poor application performance. 2286 // 2287 // * Overprovisioned —An instance is considered over-provisioned when at 2288 // least one specification of your instance, such as CPU, memory, or network, 2289 // can be sized down while still meeting the performance requirements of 2290 // your workload, and no specification is under-provisioned. Over-provisioned 2291 // instances may lead to unnecessary infrastructure cost. 2292 // 2293 // * Optimized —An instance is considered optimized when all specifications 2294 // of your instance, such as CPU, memory, and network, meet the performance 2295 // requirements of your workload and is not over provisioned. An optimized 2296 // instance runs your workloads with optimal performance and infrastructure 2297 // cost. For optimized resources, AWS Compute Optimizer might recommend a 2298 // new generation instance type. 2299 // 2300 // The values that are returned might be UNDER_PROVISIONED, OVER_PROVISIONED, 2301 // or OPTIMIZED. 2302 Finding *string `locationName:"finding" type:"string" enum:"Finding"` 2303 2304 // The Amazon Resource Name (ARN) of the current instance. 2305 InstanceArn *string `locationName:"instanceArn" type:"string"` 2306 2307 // The name of the current instance. 2308 InstanceName *string `locationName:"instanceName" type:"string"` 2309 2310 // The time stamp of when the instance recommendation was last refreshed. 2311 LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"` 2312 2313 // The number of days for which utilization metrics were analyzed for the instance. 2314 LookBackPeriodInDays *float64 `locationName:"lookBackPeriodInDays" type:"double"` 2315 2316 // An array of objects that describe the recommendation options for the instance. 2317 RecommendationOptions []*InstanceRecommendationOption `locationName:"recommendationOptions" type:"list"` 2318 2319 // An array of objects that describe the source resource of the recommendation. 2320 RecommendationSources []*RecommendationSource `locationName:"recommendationSources" type:"list"` 2321 2322 // An array of objects that describe the utilization metrics of the instance. 2323 UtilizationMetrics []*UtilizationMetric `locationName:"utilizationMetrics" type:"list"` 2324} 2325 2326// String returns the string representation 2327func (s InstanceRecommendation) String() string { 2328 return awsutil.Prettify(s) 2329} 2330 2331// GoString returns the string representation 2332func (s InstanceRecommendation) GoString() string { 2333 return s.String() 2334} 2335 2336// SetAccountId sets the AccountId field's value. 2337func (s *InstanceRecommendation) SetAccountId(v string) *InstanceRecommendation { 2338 s.AccountId = &v 2339 return s 2340} 2341 2342// SetCurrentInstanceType sets the CurrentInstanceType field's value. 2343func (s *InstanceRecommendation) SetCurrentInstanceType(v string) *InstanceRecommendation { 2344 s.CurrentInstanceType = &v 2345 return s 2346} 2347 2348// SetFinding sets the Finding field's value. 2349func (s *InstanceRecommendation) SetFinding(v string) *InstanceRecommendation { 2350 s.Finding = &v 2351 return s 2352} 2353 2354// SetInstanceArn sets the InstanceArn field's value. 2355func (s *InstanceRecommendation) SetInstanceArn(v string) *InstanceRecommendation { 2356 s.InstanceArn = &v 2357 return s 2358} 2359 2360// SetInstanceName sets the InstanceName field's value. 2361func (s *InstanceRecommendation) SetInstanceName(v string) *InstanceRecommendation { 2362 s.InstanceName = &v 2363 return s 2364} 2365 2366// SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value. 2367func (s *InstanceRecommendation) SetLastRefreshTimestamp(v time.Time) *InstanceRecommendation { 2368 s.LastRefreshTimestamp = &v 2369 return s 2370} 2371 2372// SetLookBackPeriodInDays sets the LookBackPeriodInDays field's value. 2373func (s *InstanceRecommendation) SetLookBackPeriodInDays(v float64) *InstanceRecommendation { 2374 s.LookBackPeriodInDays = &v 2375 return s 2376} 2377 2378// SetRecommendationOptions sets the RecommendationOptions field's value. 2379func (s *InstanceRecommendation) SetRecommendationOptions(v []*InstanceRecommendationOption) *InstanceRecommendation { 2380 s.RecommendationOptions = v 2381 return s 2382} 2383 2384// SetRecommendationSources sets the RecommendationSources field's value. 2385func (s *InstanceRecommendation) SetRecommendationSources(v []*RecommendationSource) *InstanceRecommendation { 2386 s.RecommendationSources = v 2387 return s 2388} 2389 2390// SetUtilizationMetrics sets the UtilizationMetrics field's value. 2391func (s *InstanceRecommendation) SetUtilizationMetrics(v []*UtilizationMetric) *InstanceRecommendation { 2392 s.UtilizationMetrics = v 2393 return s 2394} 2395 2396// Describes a recommendation option for an Amazon EC2 instance. 2397type InstanceRecommendationOption struct { 2398 _ struct{} `type:"structure"` 2399 2400 // The instance type of the instance recommendation. 2401 InstanceType *string `locationName:"instanceType" type:"string"` 2402 2403 // The performance risk of the instance recommendation option. 2404 // 2405 // Performance risk is the likelihood of the recommended instance type not meeting 2406 // the performance requirement of your workload. 2407 // 2408 // The lowest performance risk is categorized as 0, and the highest as 5. 2409 PerformanceRisk *float64 `locationName:"performanceRisk" type:"double"` 2410 2411 // An array of objects that describe the projected utilization metrics of the 2412 // instance recommendation option. 2413 // 2414 // The Cpu and Memory metrics are the only projected utilization metrics returned. 2415 // Additionally, the Memory metric is returned only for resources that have 2416 // the unified CloudWatch agent installed on them. For more information, see 2417 // Enabling Memory Utilization with the CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent). 2418 ProjectedUtilizationMetrics []*UtilizationMetric `locationName:"projectedUtilizationMetrics" type:"list"` 2419 2420 // The rank of the instance recommendation option. 2421 // 2422 // The top recommendation option is ranked as 1. 2423 Rank *int64 `locationName:"rank" type:"integer"` 2424} 2425 2426// String returns the string representation 2427func (s InstanceRecommendationOption) String() string { 2428 return awsutil.Prettify(s) 2429} 2430 2431// GoString returns the string representation 2432func (s InstanceRecommendationOption) GoString() string { 2433 return s.String() 2434} 2435 2436// SetInstanceType sets the InstanceType field's value. 2437func (s *InstanceRecommendationOption) SetInstanceType(v string) *InstanceRecommendationOption { 2438 s.InstanceType = &v 2439 return s 2440} 2441 2442// SetPerformanceRisk sets the PerformanceRisk field's value. 2443func (s *InstanceRecommendationOption) SetPerformanceRisk(v float64) *InstanceRecommendationOption { 2444 s.PerformanceRisk = &v 2445 return s 2446} 2447 2448// SetProjectedUtilizationMetrics sets the ProjectedUtilizationMetrics field's value. 2449func (s *InstanceRecommendationOption) SetProjectedUtilizationMetrics(v []*UtilizationMetric) *InstanceRecommendationOption { 2450 s.ProjectedUtilizationMetrics = v 2451 return s 2452} 2453 2454// SetRank sets the Rank field's value. 2455func (s *InstanceRecommendationOption) SetRank(v int64) *InstanceRecommendationOption { 2456 s.Rank = &v 2457 return s 2458} 2459 2460// An internal error has occurred. Try your call again. 2461type InternalServerException struct { 2462 _ struct{} `type:"structure"` 2463 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2464 2465 Message_ *string `locationName:"message" type:"string"` 2466} 2467 2468// String returns the string representation 2469func (s InternalServerException) String() string { 2470 return awsutil.Prettify(s) 2471} 2472 2473// GoString returns the string representation 2474func (s InternalServerException) GoString() string { 2475 return s.String() 2476} 2477 2478func newErrorInternalServerException(v protocol.ResponseMetadata) error { 2479 return &InternalServerException{ 2480 RespMetadata: v, 2481 } 2482} 2483 2484// Code returns the exception type name. 2485func (s *InternalServerException) Code() string { 2486 return "InternalServerException" 2487} 2488 2489// Message returns the exception's message. 2490func (s *InternalServerException) Message() string { 2491 if s.Message_ != nil { 2492 return *s.Message_ 2493 } 2494 return "" 2495} 2496 2497// OrigErr always returns nil, satisfies awserr.Error interface. 2498func (s *InternalServerException) OrigErr() error { 2499 return nil 2500} 2501 2502func (s *InternalServerException) Error() string { 2503 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2504} 2505 2506// Status code returns the HTTP status code for the request's response error. 2507func (s *InternalServerException) StatusCode() int { 2508 return s.RespMetadata.StatusCode 2509} 2510 2511// RequestID returns the service's response RequestID for request. 2512func (s *InternalServerException) RequestID() string { 2513 return s.RespMetadata.RequestID 2514} 2515 2516// An invalid or out-of-range value was supplied for the input parameter. 2517type InvalidParameterValueException struct { 2518 _ struct{} `type:"structure"` 2519 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2520 2521 Message_ *string `locationName:"message" type:"string"` 2522} 2523 2524// String returns the string representation 2525func (s InvalidParameterValueException) String() string { 2526 return awsutil.Prettify(s) 2527} 2528 2529// GoString returns the string representation 2530func (s InvalidParameterValueException) GoString() string { 2531 return s.String() 2532} 2533 2534func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error { 2535 return &InvalidParameterValueException{ 2536 RespMetadata: v, 2537 } 2538} 2539 2540// Code returns the exception type name. 2541func (s *InvalidParameterValueException) Code() string { 2542 return "InvalidParameterValueException" 2543} 2544 2545// Message returns the exception's message. 2546func (s *InvalidParameterValueException) Message() string { 2547 if s.Message_ != nil { 2548 return *s.Message_ 2549 } 2550 return "" 2551} 2552 2553// OrigErr always returns nil, satisfies awserr.Error interface. 2554func (s *InvalidParameterValueException) OrigErr() error { 2555 return nil 2556} 2557 2558func (s *InvalidParameterValueException) Error() string { 2559 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2560} 2561 2562// Status code returns the HTTP status code for the request's response error. 2563func (s *InvalidParameterValueException) StatusCode() int { 2564 return s.RespMetadata.StatusCode 2565} 2566 2567// RequestID returns the service's response RequestID for request. 2568func (s *InvalidParameterValueException) RequestID() string { 2569 return s.RespMetadata.RequestID 2570} 2571 2572// Describes a filter that returns a more specific list of recommendation export 2573// jobs. 2574// 2575// This filter is used with the DescribeRecommendationExportJobs action. 2576type JobFilter struct { 2577 _ struct{} `type:"structure"` 2578 2579 // The name of the filter. 2580 // 2581 // Specify ResourceType to return export jobs of a specific resource type (e.g., 2582 // Ec2Instance). 2583 // 2584 // Specify JobStatus to return export jobs with a specific status (e.g, Complete). 2585 Name *string `locationName:"name" type:"string" enum:"JobFilterName"` 2586 2587 // The value of the filter. 2588 // 2589 // If you specify the name parameter as ResourceType, the valid values are Ec2Instance 2590 // or AutoScalingGroup. 2591 // 2592 // If you specify the name parameter as JobStatus, the valid values are Queued, 2593 // InProgress, Complete, or Failed. 2594 Values []*string `locationName:"values" type:"list"` 2595} 2596 2597// String returns the string representation 2598func (s JobFilter) String() string { 2599 return awsutil.Prettify(s) 2600} 2601 2602// GoString returns the string representation 2603func (s JobFilter) GoString() string { 2604 return s.String() 2605} 2606 2607// SetName sets the Name field's value. 2608func (s *JobFilter) SetName(v string) *JobFilter { 2609 s.Name = &v 2610 return s 2611} 2612 2613// SetValues sets the Values field's value. 2614func (s *JobFilter) SetValues(v []*string) *JobFilter { 2615 s.Values = v 2616 return s 2617} 2618 2619// The request exceeds a limit of the service. 2620type LimitExceededException struct { 2621 _ struct{} `type:"structure"` 2622 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2623 2624 Message_ *string `locationName:"message" type:"string"` 2625} 2626 2627// String returns the string representation 2628func (s LimitExceededException) String() string { 2629 return awsutil.Prettify(s) 2630} 2631 2632// GoString returns the string representation 2633func (s LimitExceededException) GoString() string { 2634 return s.String() 2635} 2636 2637func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 2638 return &LimitExceededException{ 2639 RespMetadata: v, 2640 } 2641} 2642 2643// Code returns the exception type name. 2644func (s *LimitExceededException) Code() string { 2645 return "LimitExceededException" 2646} 2647 2648// Message returns the exception's message. 2649func (s *LimitExceededException) Message() string { 2650 if s.Message_ != nil { 2651 return *s.Message_ 2652 } 2653 return "" 2654} 2655 2656// OrigErr always returns nil, satisfies awserr.Error interface. 2657func (s *LimitExceededException) OrigErr() error { 2658 return nil 2659} 2660 2661func (s *LimitExceededException) Error() string { 2662 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2663} 2664 2665// Status code returns the HTTP status code for the request's response error. 2666func (s *LimitExceededException) StatusCode() int { 2667 return s.RespMetadata.StatusCode 2668} 2669 2670// RequestID returns the service's response RequestID for request. 2671func (s *LimitExceededException) RequestID() string { 2672 return s.RespMetadata.RequestID 2673} 2674 2675// The request must contain either a valid (registered) AWS access key ID or 2676// X.509 certificate. 2677type MissingAuthenticationToken struct { 2678 _ struct{} `type:"structure"` 2679 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2680 2681 Message_ *string `locationName:"message" type:"string"` 2682} 2683 2684// String returns the string representation 2685func (s MissingAuthenticationToken) String() string { 2686 return awsutil.Prettify(s) 2687} 2688 2689// GoString returns the string representation 2690func (s MissingAuthenticationToken) GoString() string { 2691 return s.String() 2692} 2693 2694func newErrorMissingAuthenticationToken(v protocol.ResponseMetadata) error { 2695 return &MissingAuthenticationToken{ 2696 RespMetadata: v, 2697 } 2698} 2699 2700// Code returns the exception type name. 2701func (s *MissingAuthenticationToken) Code() string { 2702 return "MissingAuthenticationToken" 2703} 2704 2705// Message returns the exception's message. 2706func (s *MissingAuthenticationToken) Message() string { 2707 if s.Message_ != nil { 2708 return *s.Message_ 2709 } 2710 return "" 2711} 2712 2713// OrigErr always returns nil, satisfies awserr.Error interface. 2714func (s *MissingAuthenticationToken) OrigErr() error { 2715 return nil 2716} 2717 2718func (s *MissingAuthenticationToken) Error() string { 2719 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2720} 2721 2722// Status code returns the HTTP status code for the request's response error. 2723func (s *MissingAuthenticationToken) StatusCode() int { 2724 return s.RespMetadata.StatusCode 2725} 2726 2727// RequestID returns the service's response RequestID for request. 2728func (s *MissingAuthenticationToken) RequestID() string { 2729 return s.RespMetadata.RequestID 2730} 2731 2732// The account is not opted in to AWS Compute Optimizer. 2733type OptInRequiredException struct { 2734 _ struct{} `type:"structure"` 2735 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2736 2737 Message_ *string `locationName:"message" type:"string"` 2738} 2739 2740// String returns the string representation 2741func (s OptInRequiredException) String() string { 2742 return awsutil.Prettify(s) 2743} 2744 2745// GoString returns the string representation 2746func (s OptInRequiredException) GoString() string { 2747 return s.String() 2748} 2749 2750func newErrorOptInRequiredException(v protocol.ResponseMetadata) error { 2751 return &OptInRequiredException{ 2752 RespMetadata: v, 2753 } 2754} 2755 2756// Code returns the exception type name. 2757func (s *OptInRequiredException) Code() string { 2758 return "OptInRequiredException" 2759} 2760 2761// Message returns the exception's message. 2762func (s *OptInRequiredException) Message() string { 2763 if s.Message_ != nil { 2764 return *s.Message_ 2765 } 2766 return "" 2767} 2768 2769// OrigErr always returns nil, satisfies awserr.Error interface. 2770func (s *OptInRequiredException) OrigErr() error { 2771 return nil 2772} 2773 2774func (s *OptInRequiredException) Error() string { 2775 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2776} 2777 2778// Status code returns the HTTP status code for the request's response error. 2779func (s *OptInRequiredException) StatusCode() int { 2780 return s.RespMetadata.StatusCode 2781} 2782 2783// RequestID returns the service's response RequestID for request. 2784func (s *OptInRequiredException) RequestID() string { 2785 return s.RespMetadata.RequestID 2786} 2787 2788// Describes a projected utilization metric of a recommendation option, such 2789// as an Amazon EC2 instance. 2790// 2791// The Cpu and Memory metrics are the only projected utilization metrics returned 2792// when you run the GetEC2RecommendationProjectedMetrics action. Additionally, 2793// the Memory metric is returned only for resources that have the unified CloudWatch 2794// agent installed on them. For more information, see Enabling Memory Utilization 2795// with the CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent). 2796type ProjectedMetric struct { 2797 _ struct{} `type:"structure"` 2798 2799 // The name of the projected utilization metric. 2800 Name *string `locationName:"name" type:"string" enum:"MetricName"` 2801 2802 // The time stamps of the projected utilization metric. 2803 Timestamps []*time.Time `locationName:"timestamps" type:"list"` 2804 2805 // The values of the projected utilization metrics. 2806 Values []*float64 `locationName:"values" type:"list"` 2807} 2808 2809// String returns the string representation 2810func (s ProjectedMetric) String() string { 2811 return awsutil.Prettify(s) 2812} 2813 2814// GoString returns the string representation 2815func (s ProjectedMetric) GoString() string { 2816 return s.String() 2817} 2818 2819// SetName sets the Name field's value. 2820func (s *ProjectedMetric) SetName(v string) *ProjectedMetric { 2821 s.Name = &v 2822 return s 2823} 2824 2825// SetTimestamps sets the Timestamps field's value. 2826func (s *ProjectedMetric) SetTimestamps(v []*time.Time) *ProjectedMetric { 2827 s.Timestamps = v 2828 return s 2829} 2830 2831// SetValues sets the Values field's value. 2832func (s *ProjectedMetric) SetValues(v []*float64) *ProjectedMetric { 2833 s.Values = v 2834 return s 2835} 2836 2837// Describes a recommendation export job. 2838// 2839// Use the DescribeRecommendationExportJobs action to view your recommendation 2840// export jobs. 2841// 2842// Use the ExportAutoScalingGroupRecommendations or ExportEC2InstanceRecommendations 2843// actions to request an export of your recommendations. 2844type RecommendationExportJob struct { 2845 _ struct{} `type:"structure"` 2846 2847 // The timestamp of when the export job was created. 2848 CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` 2849 2850 // An object that describes the destination of the export file. 2851 Destination *ExportDestination `locationName:"destination" type:"structure"` 2852 2853 // The reason for an export job failure. 2854 FailureReason *string `locationName:"failureReason" type:"string"` 2855 2856 // The identification number of the export job. 2857 JobId *string `locationName:"jobId" type:"string"` 2858 2859 // The timestamp of when the export job was last updated. 2860 LastUpdatedTimestamp *time.Time `locationName:"lastUpdatedTimestamp" type:"timestamp"` 2861 2862 // The resource type of the exported recommendations. 2863 ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` 2864 2865 // The status of the export job. 2866 Status *string `locationName:"status" type:"string" enum:"JobStatus"` 2867} 2868 2869// String returns the string representation 2870func (s RecommendationExportJob) String() string { 2871 return awsutil.Prettify(s) 2872} 2873 2874// GoString returns the string representation 2875func (s RecommendationExportJob) GoString() string { 2876 return s.String() 2877} 2878 2879// SetCreationTimestamp sets the CreationTimestamp field's value. 2880func (s *RecommendationExportJob) SetCreationTimestamp(v time.Time) *RecommendationExportJob { 2881 s.CreationTimestamp = &v 2882 return s 2883} 2884 2885// SetDestination sets the Destination field's value. 2886func (s *RecommendationExportJob) SetDestination(v *ExportDestination) *RecommendationExportJob { 2887 s.Destination = v 2888 return s 2889} 2890 2891// SetFailureReason sets the FailureReason field's value. 2892func (s *RecommendationExportJob) SetFailureReason(v string) *RecommendationExportJob { 2893 s.FailureReason = &v 2894 return s 2895} 2896 2897// SetJobId sets the JobId field's value. 2898func (s *RecommendationExportJob) SetJobId(v string) *RecommendationExportJob { 2899 s.JobId = &v 2900 return s 2901} 2902 2903// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value. 2904func (s *RecommendationExportJob) SetLastUpdatedTimestamp(v time.Time) *RecommendationExportJob { 2905 s.LastUpdatedTimestamp = &v 2906 return s 2907} 2908 2909// SetResourceType sets the ResourceType field's value. 2910func (s *RecommendationExportJob) SetResourceType(v string) *RecommendationExportJob { 2911 s.ResourceType = &v 2912 return s 2913} 2914 2915// SetStatus sets the Status field's value. 2916func (s *RecommendationExportJob) SetStatus(v string) *RecommendationExportJob { 2917 s.Status = &v 2918 return s 2919} 2920 2921// Describes the source of a recommendation, such as an Amazon EC2 instance 2922// or Auto Scaling group. 2923type RecommendationSource struct { 2924 _ struct{} `type:"structure"` 2925 2926 // The Amazon Resource Name (ARN) of the recommendation source. 2927 RecommendationSourceArn *string `locationName:"recommendationSourceArn" type:"string"` 2928 2929 // The resource type of the recommendation source. 2930 RecommendationSourceType *string `locationName:"recommendationSourceType" type:"string" enum:"RecommendationSourceType"` 2931} 2932 2933// String returns the string representation 2934func (s RecommendationSource) String() string { 2935 return awsutil.Prettify(s) 2936} 2937 2938// GoString returns the string representation 2939func (s RecommendationSource) GoString() string { 2940 return s.String() 2941} 2942 2943// SetRecommendationSourceArn sets the RecommendationSourceArn field's value. 2944func (s *RecommendationSource) SetRecommendationSourceArn(v string) *RecommendationSource { 2945 s.RecommendationSourceArn = &v 2946 return s 2947} 2948 2949// SetRecommendationSourceType sets the RecommendationSourceType field's value. 2950func (s *RecommendationSource) SetRecommendationSourceType(v string) *RecommendationSource { 2951 s.RecommendationSourceType = &v 2952 return s 2953} 2954 2955// A summary of a recommendation. 2956type RecommendationSummary struct { 2957 _ struct{} `type:"structure"` 2958 2959 // The AWS account ID of the recommendation summary. 2960 AccountId *string `locationName:"accountId" type:"string"` 2961 2962 // The resource type of the recommendation. 2963 RecommendationResourceType *string `locationName:"recommendationResourceType" type:"string" enum:"RecommendationSourceType"` 2964 2965 // An array of objects that describe a recommendation summary. 2966 Summaries []*Summary `locationName:"summaries" type:"list"` 2967} 2968 2969// String returns the string representation 2970func (s RecommendationSummary) String() string { 2971 return awsutil.Prettify(s) 2972} 2973 2974// GoString returns the string representation 2975func (s RecommendationSummary) GoString() string { 2976 return s.String() 2977} 2978 2979// SetAccountId sets the AccountId field's value. 2980func (s *RecommendationSummary) SetAccountId(v string) *RecommendationSummary { 2981 s.AccountId = &v 2982 return s 2983} 2984 2985// SetRecommendationResourceType sets the RecommendationResourceType field's value. 2986func (s *RecommendationSummary) SetRecommendationResourceType(v string) *RecommendationSummary { 2987 s.RecommendationResourceType = &v 2988 return s 2989} 2990 2991// SetSummaries sets the Summaries field's value. 2992func (s *RecommendationSummary) SetSummaries(v []*Summary) *RecommendationSummary { 2993 s.Summaries = v 2994 return s 2995} 2996 2997// Describes a projected utilization metric of a recommendation option. 2998// 2999// The Cpu and Memory metrics are the only projected utilization metrics returned 3000// when you run the GetEC2RecommendationProjectedMetrics action. Additionally, 3001// the Memory metric is returned only for resources that have the unified CloudWatch 3002// agent installed on them. For more information, see Enabling Memory Utilization 3003// with the CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent). 3004type RecommendedOptionProjectedMetric struct { 3005 _ struct{} `type:"structure"` 3006 3007 // An array of objects that describe a projected utilization metric. 3008 ProjectedMetrics []*ProjectedMetric `locationName:"projectedMetrics" type:"list"` 3009 3010 // The rank of the recommendation option projected metric. 3011 // 3012 // The top recommendation option is ranked as 1. 3013 // 3014 // The projected metric rank correlates to the recommendation option rank. For 3015 // example, the projected metric ranked as 1 is related to the recommendation 3016 // option that is also ranked as 1 in the same response. 3017 Rank *int64 `locationName:"rank" type:"integer"` 3018 3019 // The recommended instance type. 3020 RecommendedInstanceType *string `locationName:"recommendedInstanceType" type:"string"` 3021} 3022 3023// String returns the string representation 3024func (s RecommendedOptionProjectedMetric) String() string { 3025 return awsutil.Prettify(s) 3026} 3027 3028// GoString returns the string representation 3029func (s RecommendedOptionProjectedMetric) GoString() string { 3030 return s.String() 3031} 3032 3033// SetProjectedMetrics sets the ProjectedMetrics field's value. 3034func (s *RecommendedOptionProjectedMetric) SetProjectedMetrics(v []*ProjectedMetric) *RecommendedOptionProjectedMetric { 3035 s.ProjectedMetrics = v 3036 return s 3037} 3038 3039// SetRank sets the Rank field's value. 3040func (s *RecommendedOptionProjectedMetric) SetRank(v int64) *RecommendedOptionProjectedMetric { 3041 s.Rank = &v 3042 return s 3043} 3044 3045// SetRecommendedInstanceType sets the RecommendedInstanceType field's value. 3046func (s *RecommendedOptionProjectedMetric) SetRecommendedInstanceType(v string) *RecommendedOptionProjectedMetric { 3047 s.RecommendedInstanceType = &v 3048 return s 3049} 3050 3051// A resource that is required for the action doesn't exist. 3052type ResourceNotFoundException struct { 3053 _ struct{} `type:"structure"` 3054 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3055 3056 Message_ *string `locationName:"message" type:"string"` 3057} 3058 3059// String returns the string representation 3060func (s ResourceNotFoundException) String() string { 3061 return awsutil.Prettify(s) 3062} 3063 3064// GoString returns the string representation 3065func (s ResourceNotFoundException) GoString() string { 3066 return s.String() 3067} 3068 3069func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 3070 return &ResourceNotFoundException{ 3071 RespMetadata: v, 3072 } 3073} 3074 3075// Code returns the exception type name. 3076func (s *ResourceNotFoundException) Code() string { 3077 return "ResourceNotFoundException" 3078} 3079 3080// Message returns the exception's message. 3081func (s *ResourceNotFoundException) Message() string { 3082 if s.Message_ != nil { 3083 return *s.Message_ 3084 } 3085 return "" 3086} 3087 3088// OrigErr always returns nil, satisfies awserr.Error interface. 3089func (s *ResourceNotFoundException) OrigErr() error { 3090 return nil 3091} 3092 3093func (s *ResourceNotFoundException) Error() string { 3094 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3095} 3096 3097// Status code returns the HTTP status code for the request's response error. 3098func (s *ResourceNotFoundException) StatusCode() int { 3099 return s.RespMetadata.StatusCode 3100} 3101 3102// RequestID returns the service's response RequestID for request. 3103func (s *ResourceNotFoundException) RequestID() string { 3104 return s.RespMetadata.RequestID 3105} 3106 3107// Describes the destination Amazon Simple Storage Service (Amazon S3) bucket 3108// name and object keys of a recommendations export file, and its associated 3109// metadata file. 3110type S3Destination struct { 3111 _ struct{} `type:"structure"` 3112 3113 // The name of the Amazon S3 bucket used as the destination of an export file. 3114 Bucket *string `locationName:"bucket" type:"string"` 3115 3116 // The Amazon S3 bucket key of an export file. 3117 // 3118 // The key uniquely identifies the object, or export file, in the S3 bucket. 3119 Key *string `locationName:"key" type:"string"` 3120 3121 // The Amazon S3 bucket key of a metadata file. 3122 // 3123 // The key uniquely identifies the object, or metadata file, in the S3 bucket. 3124 MetadataKey *string `locationName:"metadataKey" type:"string"` 3125} 3126 3127// String returns the string representation 3128func (s S3Destination) String() string { 3129 return awsutil.Prettify(s) 3130} 3131 3132// GoString returns the string representation 3133func (s S3Destination) GoString() string { 3134 return s.String() 3135} 3136 3137// SetBucket sets the Bucket field's value. 3138func (s *S3Destination) SetBucket(v string) *S3Destination { 3139 s.Bucket = &v 3140 return s 3141} 3142 3143// SetKey sets the Key field's value. 3144func (s *S3Destination) SetKey(v string) *S3Destination { 3145 s.Key = &v 3146 return s 3147} 3148 3149// SetMetadataKey sets the MetadataKey field's value. 3150func (s *S3Destination) SetMetadataKey(v string) *S3Destination { 3151 s.MetadataKey = &v 3152 return s 3153} 3154 3155// Describes the destination Amazon Simple Storage Service (Amazon S3) bucket 3156// name and key prefix for a recommendations export job. 3157// 3158// You must create the destination Amazon S3 bucket for your recommendations 3159// export before you create the export job. Compute Optimizer does not create 3160// the S3 bucket for you. After you create the S3 bucket, ensure that it has 3161// the required permission policy to allow Compute Optimizer to write the export 3162// file to it. If you plan to specify an object prefix when you create the export 3163// job, you must include the object prefix in the policy that you add to the 3164// S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute 3165// Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html) 3166// in the Compute Optimizer user guide. 3167type S3DestinationConfig struct { 3168 _ struct{} `type:"structure"` 3169 3170 // The name of the Amazon S3 bucket to use as the destination for an export 3171 // job. 3172 Bucket *string `locationName:"bucket" type:"string"` 3173 3174 // The Amazon S3 bucket prefix for an export job. 3175 KeyPrefix *string `locationName:"keyPrefix" type:"string"` 3176} 3177 3178// String returns the string representation 3179func (s S3DestinationConfig) String() string { 3180 return awsutil.Prettify(s) 3181} 3182 3183// GoString returns the string representation 3184func (s S3DestinationConfig) GoString() string { 3185 return s.String() 3186} 3187 3188// SetBucket sets the Bucket field's value. 3189func (s *S3DestinationConfig) SetBucket(v string) *S3DestinationConfig { 3190 s.Bucket = &v 3191 return s 3192} 3193 3194// SetKeyPrefix sets the KeyPrefix field's value. 3195func (s *S3DestinationConfig) SetKeyPrefix(v string) *S3DestinationConfig { 3196 s.KeyPrefix = &v 3197 return s 3198} 3199 3200// The request has failed due to a temporary failure of the server. 3201type ServiceUnavailableException struct { 3202 _ struct{} `type:"structure"` 3203 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3204 3205 Message_ *string `locationName:"message" type:"string"` 3206} 3207 3208// String returns the string representation 3209func (s ServiceUnavailableException) String() string { 3210 return awsutil.Prettify(s) 3211} 3212 3213// GoString returns the string representation 3214func (s ServiceUnavailableException) GoString() string { 3215 return s.String() 3216} 3217 3218func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { 3219 return &ServiceUnavailableException{ 3220 RespMetadata: v, 3221 } 3222} 3223 3224// Code returns the exception type name. 3225func (s *ServiceUnavailableException) Code() string { 3226 return "ServiceUnavailableException" 3227} 3228 3229// Message returns the exception's message. 3230func (s *ServiceUnavailableException) Message() string { 3231 if s.Message_ != nil { 3232 return *s.Message_ 3233 } 3234 return "" 3235} 3236 3237// OrigErr always returns nil, satisfies awserr.Error interface. 3238func (s *ServiceUnavailableException) OrigErr() error { 3239 return nil 3240} 3241 3242func (s *ServiceUnavailableException) Error() string { 3243 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3244} 3245 3246// Status code returns the HTTP status code for the request's response error. 3247func (s *ServiceUnavailableException) StatusCode() int { 3248 return s.RespMetadata.StatusCode 3249} 3250 3251// RequestID returns the service's response RequestID for request. 3252func (s *ServiceUnavailableException) RequestID() string { 3253 return s.RespMetadata.RequestID 3254} 3255 3256// The summary of a recommendation. 3257type Summary struct { 3258 _ struct{} `type:"structure"` 3259 3260 // The finding classification of the recommendation. 3261 Name *string `locationName:"name" type:"string" enum:"Finding"` 3262 3263 // The value of the recommendation summary. 3264 Value *float64 `locationName:"value" type:"double"` 3265} 3266 3267// String returns the string representation 3268func (s Summary) String() string { 3269 return awsutil.Prettify(s) 3270} 3271 3272// GoString returns the string representation 3273func (s Summary) GoString() string { 3274 return s.String() 3275} 3276 3277// SetName sets the Name field's value. 3278func (s *Summary) SetName(v string) *Summary { 3279 s.Name = &v 3280 return s 3281} 3282 3283// SetValue sets the Value field's value. 3284func (s *Summary) SetValue(v float64) *Summary { 3285 s.Value = &v 3286 return s 3287} 3288 3289// The request was denied due to request throttling. 3290type ThrottlingException struct { 3291 _ struct{} `type:"structure"` 3292 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3293 3294 Message_ *string `locationName:"message" type:"string"` 3295} 3296 3297// String returns the string representation 3298func (s ThrottlingException) String() string { 3299 return awsutil.Prettify(s) 3300} 3301 3302// GoString returns the string representation 3303func (s ThrottlingException) GoString() string { 3304 return s.String() 3305} 3306 3307func newErrorThrottlingException(v protocol.ResponseMetadata) error { 3308 return &ThrottlingException{ 3309 RespMetadata: v, 3310 } 3311} 3312 3313// Code returns the exception type name. 3314func (s *ThrottlingException) Code() string { 3315 return "ThrottlingException" 3316} 3317 3318// Message returns the exception's message. 3319func (s *ThrottlingException) Message() string { 3320 if s.Message_ != nil { 3321 return *s.Message_ 3322 } 3323 return "" 3324} 3325 3326// OrigErr always returns nil, satisfies awserr.Error interface. 3327func (s *ThrottlingException) OrigErr() error { 3328 return nil 3329} 3330 3331func (s *ThrottlingException) Error() string { 3332 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3333} 3334 3335// Status code returns the HTTP status code for the request's response error. 3336func (s *ThrottlingException) StatusCode() int { 3337 return s.RespMetadata.StatusCode 3338} 3339 3340// RequestID returns the service's response RequestID for request. 3341func (s *ThrottlingException) RequestID() string { 3342 return s.RespMetadata.RequestID 3343} 3344 3345type UpdateEnrollmentStatusInput struct { 3346 _ struct{} `type:"structure"` 3347 3348 // Indicates whether to enroll member accounts of the organization if the your 3349 // account is the master account of an organization. 3350 IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"` 3351 3352 // The new enrollment status of the account. 3353 // 3354 // Accepted options are Active or Inactive. You will get an error if Pending 3355 // or Failed are specified. 3356 // 3357 // Status is a required field 3358 Status *string `locationName:"status" type:"string" required:"true" enum:"Status"` 3359} 3360 3361// String returns the string representation 3362func (s UpdateEnrollmentStatusInput) String() string { 3363 return awsutil.Prettify(s) 3364} 3365 3366// GoString returns the string representation 3367func (s UpdateEnrollmentStatusInput) GoString() string { 3368 return s.String() 3369} 3370 3371// Validate inspects the fields of the type to determine if they are valid. 3372func (s *UpdateEnrollmentStatusInput) Validate() error { 3373 invalidParams := request.ErrInvalidParams{Context: "UpdateEnrollmentStatusInput"} 3374 if s.Status == nil { 3375 invalidParams.Add(request.NewErrParamRequired("Status")) 3376 } 3377 3378 if invalidParams.Len() > 0 { 3379 return invalidParams 3380 } 3381 return nil 3382} 3383 3384// SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value. 3385func (s *UpdateEnrollmentStatusInput) SetIncludeMemberAccounts(v bool) *UpdateEnrollmentStatusInput { 3386 s.IncludeMemberAccounts = &v 3387 return s 3388} 3389 3390// SetStatus sets the Status field's value. 3391func (s *UpdateEnrollmentStatusInput) SetStatus(v string) *UpdateEnrollmentStatusInput { 3392 s.Status = &v 3393 return s 3394} 3395 3396type UpdateEnrollmentStatusOutput struct { 3397 _ struct{} `type:"structure"` 3398 3399 // The enrollment status of the account. 3400 Status *string `locationName:"status" type:"string" enum:"Status"` 3401 3402 // The reason for the enrollment status of the account. For example, an account 3403 // might show a status of Pending because member accounts of an organization 3404 // require more time to be enrolled in the service. 3405 StatusReason *string `locationName:"statusReason" type:"string"` 3406} 3407 3408// String returns the string representation 3409func (s UpdateEnrollmentStatusOutput) String() string { 3410 return awsutil.Prettify(s) 3411} 3412 3413// GoString returns the string representation 3414func (s UpdateEnrollmentStatusOutput) GoString() string { 3415 return s.String() 3416} 3417 3418// SetStatus sets the Status field's value. 3419func (s *UpdateEnrollmentStatusOutput) SetStatus(v string) *UpdateEnrollmentStatusOutput { 3420 s.Status = &v 3421 return s 3422} 3423 3424// SetStatusReason sets the StatusReason field's value. 3425func (s *UpdateEnrollmentStatusOutput) SetStatusReason(v string) *UpdateEnrollmentStatusOutput { 3426 s.StatusReason = &v 3427 return s 3428} 3429 3430// Describes a utilization metric of a resource, such as an Amazon EC2 instance. 3431type UtilizationMetric struct { 3432 _ struct{} `type:"structure"` 3433 3434 // The name of the utilization metric. 3435 // 3436 // The Memory metric is returned only for resources that have the unified CloudWatch 3437 // agent installed on them. For more information, see Enabling Memory Utilization 3438 // with the CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent). 3439 Name *string `locationName:"name" type:"string" enum:"MetricName"` 3440 3441 // The statistic of the utilization metric. 3442 Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"` 3443 3444 // The value of the utilization metric. 3445 Value *float64 `locationName:"value" type:"double"` 3446} 3447 3448// String returns the string representation 3449func (s UtilizationMetric) String() string { 3450 return awsutil.Prettify(s) 3451} 3452 3453// GoString returns the string representation 3454func (s UtilizationMetric) GoString() string { 3455 return s.String() 3456} 3457 3458// SetName sets the Name field's value. 3459func (s *UtilizationMetric) SetName(v string) *UtilizationMetric { 3460 s.Name = &v 3461 return s 3462} 3463 3464// SetStatistic sets the Statistic field's value. 3465func (s *UtilizationMetric) SetStatistic(v string) *UtilizationMetric { 3466 s.Statistic = &v 3467 return s 3468} 3469 3470// SetValue sets the Value field's value. 3471func (s *UtilizationMetric) SetValue(v float64) *UtilizationMetric { 3472 s.Value = &v 3473 return s 3474} 3475 3476const ( 3477 // ExportableAutoScalingGroupFieldAccountId is a ExportableAutoScalingGroupField enum value 3478 ExportableAutoScalingGroupFieldAccountId = "AccountId" 3479 3480 // ExportableAutoScalingGroupFieldAutoScalingGroupArn is a ExportableAutoScalingGroupField enum value 3481 ExportableAutoScalingGroupFieldAutoScalingGroupArn = "AutoScalingGroupArn" 3482 3483 // ExportableAutoScalingGroupFieldAutoScalingGroupName is a ExportableAutoScalingGroupField enum value 3484 ExportableAutoScalingGroupFieldAutoScalingGroupName = "AutoScalingGroupName" 3485 3486 // ExportableAutoScalingGroupFieldFinding is a ExportableAutoScalingGroupField enum value 3487 ExportableAutoScalingGroupFieldFinding = "Finding" 3488 3489 // ExportableAutoScalingGroupFieldUtilizationMetricsCpuMaximum is a ExportableAutoScalingGroupField enum value 3490 ExportableAutoScalingGroupFieldUtilizationMetricsCpuMaximum = "UtilizationMetricsCpuMaximum" 3491 3492 // ExportableAutoScalingGroupFieldUtilizationMetricsMemoryMaximum is a ExportableAutoScalingGroupField enum value 3493 ExportableAutoScalingGroupFieldUtilizationMetricsMemoryMaximum = "UtilizationMetricsMemoryMaximum" 3494 3495 // ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadOpsPerSecondMaximum is a ExportableAutoScalingGroupField enum value 3496 ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadOpsPerSecondMaximum = "UtilizationMetricsEbsReadOpsPerSecondMaximum" 3497 3498 // ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum is a ExportableAutoScalingGroupField enum value 3499 ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum = "UtilizationMetricsEbsWriteOpsPerSecondMaximum" 3500 3501 // ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadBytesPerSecondMaximum is a ExportableAutoScalingGroupField enum value 3502 ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadBytesPerSecondMaximum = "UtilizationMetricsEbsReadBytesPerSecondMaximum" 3503 3504 // ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum is a ExportableAutoScalingGroupField enum value 3505 ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum = "UtilizationMetricsEbsWriteBytesPerSecondMaximum" 3506 3507 // ExportableAutoScalingGroupFieldLookbackPeriodInDays is a ExportableAutoScalingGroupField enum value 3508 ExportableAutoScalingGroupFieldLookbackPeriodInDays = "LookbackPeriodInDays" 3509 3510 // ExportableAutoScalingGroupFieldCurrentConfigurationInstanceType is a ExportableAutoScalingGroupField enum value 3511 ExportableAutoScalingGroupFieldCurrentConfigurationInstanceType = "CurrentConfigurationInstanceType" 3512 3513 // ExportableAutoScalingGroupFieldCurrentConfigurationDesiredCapacity is a ExportableAutoScalingGroupField enum value 3514 ExportableAutoScalingGroupFieldCurrentConfigurationDesiredCapacity = "CurrentConfigurationDesiredCapacity" 3515 3516 // ExportableAutoScalingGroupFieldCurrentConfigurationMinSize is a ExportableAutoScalingGroupField enum value 3517 ExportableAutoScalingGroupFieldCurrentConfigurationMinSize = "CurrentConfigurationMinSize" 3518 3519 // ExportableAutoScalingGroupFieldCurrentConfigurationMaxSize is a ExportableAutoScalingGroupField enum value 3520 ExportableAutoScalingGroupFieldCurrentConfigurationMaxSize = "CurrentConfigurationMaxSize" 3521 3522 // ExportableAutoScalingGroupFieldCurrentOnDemandPrice is a ExportableAutoScalingGroupField enum value 3523 ExportableAutoScalingGroupFieldCurrentOnDemandPrice = "CurrentOnDemandPrice" 3524 3525 // ExportableAutoScalingGroupFieldCurrentStandardOneYearNoUpfrontReservedPrice is a ExportableAutoScalingGroupField enum value 3526 ExportableAutoScalingGroupFieldCurrentStandardOneYearNoUpfrontReservedPrice = "CurrentStandardOneYearNoUpfrontReservedPrice" 3527 3528 // ExportableAutoScalingGroupFieldCurrentStandardThreeYearNoUpfrontReservedPrice is a ExportableAutoScalingGroupField enum value 3529 ExportableAutoScalingGroupFieldCurrentStandardThreeYearNoUpfrontReservedPrice = "CurrentStandardThreeYearNoUpfrontReservedPrice" 3530 3531 // ExportableAutoScalingGroupFieldCurrentVcpus is a ExportableAutoScalingGroupField enum value 3532 ExportableAutoScalingGroupFieldCurrentVcpus = "CurrentVCpus" 3533 3534 // ExportableAutoScalingGroupFieldCurrentMemory is a ExportableAutoScalingGroupField enum value 3535 ExportableAutoScalingGroupFieldCurrentMemory = "CurrentMemory" 3536 3537 // ExportableAutoScalingGroupFieldCurrentStorage is a ExportableAutoScalingGroupField enum value 3538 ExportableAutoScalingGroupFieldCurrentStorage = "CurrentStorage" 3539 3540 // ExportableAutoScalingGroupFieldCurrentNetwork is a ExportableAutoScalingGroupField enum value 3541 ExportableAutoScalingGroupFieldCurrentNetwork = "CurrentNetwork" 3542 3543 // ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationInstanceType is a ExportableAutoScalingGroupField enum value 3544 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationInstanceType = "RecommendationOptionsConfigurationInstanceType" 3545 3546 // ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationDesiredCapacity is a ExportableAutoScalingGroupField enum value 3547 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationDesiredCapacity = "RecommendationOptionsConfigurationDesiredCapacity" 3548 3549 // ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMinSize is a ExportableAutoScalingGroupField enum value 3550 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMinSize = "RecommendationOptionsConfigurationMinSize" 3551 3552 // ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMaxSize is a ExportableAutoScalingGroupField enum value 3553 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMaxSize = "RecommendationOptionsConfigurationMaxSize" 3554 3555 // ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum is a ExportableAutoScalingGroupField enum value 3556 ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum" 3557 3558 // ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum is a ExportableAutoScalingGroupField enum value 3559 ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum" 3560 3561 // ExportableAutoScalingGroupFieldRecommendationOptionsPerformanceRisk is a ExportableAutoScalingGroupField enum value 3562 ExportableAutoScalingGroupFieldRecommendationOptionsPerformanceRisk = "RecommendationOptionsPerformanceRisk" 3563 3564 // ExportableAutoScalingGroupFieldRecommendationOptionsOnDemandPrice is a ExportableAutoScalingGroupField enum value 3565 ExportableAutoScalingGroupFieldRecommendationOptionsOnDemandPrice = "RecommendationOptionsOnDemandPrice" 3566 3567 // ExportableAutoScalingGroupFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice is a ExportableAutoScalingGroupField enum value 3568 ExportableAutoScalingGroupFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice = "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice" 3569 3570 // ExportableAutoScalingGroupFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice is a ExportableAutoScalingGroupField enum value 3571 ExportableAutoScalingGroupFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice = "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice" 3572 3573 // ExportableAutoScalingGroupFieldRecommendationOptionsVcpus is a ExportableAutoScalingGroupField enum value 3574 ExportableAutoScalingGroupFieldRecommendationOptionsVcpus = "RecommendationOptionsVcpus" 3575 3576 // ExportableAutoScalingGroupFieldRecommendationOptionsMemory is a ExportableAutoScalingGroupField enum value 3577 ExportableAutoScalingGroupFieldRecommendationOptionsMemory = "RecommendationOptionsMemory" 3578 3579 // ExportableAutoScalingGroupFieldRecommendationOptionsStorage is a ExportableAutoScalingGroupField enum value 3580 ExportableAutoScalingGroupFieldRecommendationOptionsStorage = "RecommendationOptionsStorage" 3581 3582 // ExportableAutoScalingGroupFieldRecommendationOptionsNetwork is a ExportableAutoScalingGroupField enum value 3583 ExportableAutoScalingGroupFieldRecommendationOptionsNetwork = "RecommendationOptionsNetwork" 3584 3585 // ExportableAutoScalingGroupFieldLastRefreshTimestamp is a ExportableAutoScalingGroupField enum value 3586 ExportableAutoScalingGroupFieldLastRefreshTimestamp = "LastRefreshTimestamp" 3587) 3588 3589// ExportableAutoScalingGroupField_Values returns all elements of the ExportableAutoScalingGroupField enum 3590func ExportableAutoScalingGroupField_Values() []string { 3591 return []string{ 3592 ExportableAutoScalingGroupFieldAccountId, 3593 ExportableAutoScalingGroupFieldAutoScalingGroupArn, 3594 ExportableAutoScalingGroupFieldAutoScalingGroupName, 3595 ExportableAutoScalingGroupFieldFinding, 3596 ExportableAutoScalingGroupFieldUtilizationMetricsCpuMaximum, 3597 ExportableAutoScalingGroupFieldUtilizationMetricsMemoryMaximum, 3598 ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadOpsPerSecondMaximum, 3599 ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum, 3600 ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadBytesPerSecondMaximum, 3601 ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum, 3602 ExportableAutoScalingGroupFieldLookbackPeriodInDays, 3603 ExportableAutoScalingGroupFieldCurrentConfigurationInstanceType, 3604 ExportableAutoScalingGroupFieldCurrentConfigurationDesiredCapacity, 3605 ExportableAutoScalingGroupFieldCurrentConfigurationMinSize, 3606 ExportableAutoScalingGroupFieldCurrentConfigurationMaxSize, 3607 ExportableAutoScalingGroupFieldCurrentOnDemandPrice, 3608 ExportableAutoScalingGroupFieldCurrentStandardOneYearNoUpfrontReservedPrice, 3609 ExportableAutoScalingGroupFieldCurrentStandardThreeYearNoUpfrontReservedPrice, 3610 ExportableAutoScalingGroupFieldCurrentVcpus, 3611 ExportableAutoScalingGroupFieldCurrentMemory, 3612 ExportableAutoScalingGroupFieldCurrentStorage, 3613 ExportableAutoScalingGroupFieldCurrentNetwork, 3614 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationInstanceType, 3615 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationDesiredCapacity, 3616 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMinSize, 3617 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMaxSize, 3618 ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum, 3619 ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, 3620 ExportableAutoScalingGroupFieldRecommendationOptionsPerformanceRisk, 3621 ExportableAutoScalingGroupFieldRecommendationOptionsOnDemandPrice, 3622 ExportableAutoScalingGroupFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice, 3623 ExportableAutoScalingGroupFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, 3624 ExportableAutoScalingGroupFieldRecommendationOptionsVcpus, 3625 ExportableAutoScalingGroupFieldRecommendationOptionsMemory, 3626 ExportableAutoScalingGroupFieldRecommendationOptionsStorage, 3627 ExportableAutoScalingGroupFieldRecommendationOptionsNetwork, 3628 ExportableAutoScalingGroupFieldLastRefreshTimestamp, 3629 } 3630} 3631 3632const ( 3633 // ExportableInstanceFieldAccountId is a ExportableInstanceField enum value 3634 ExportableInstanceFieldAccountId = "AccountId" 3635 3636 // ExportableInstanceFieldInstanceArn is a ExportableInstanceField enum value 3637 ExportableInstanceFieldInstanceArn = "InstanceArn" 3638 3639 // ExportableInstanceFieldInstanceName is a ExportableInstanceField enum value 3640 ExportableInstanceFieldInstanceName = "InstanceName" 3641 3642 // ExportableInstanceFieldFinding is a ExportableInstanceField enum value 3643 ExportableInstanceFieldFinding = "Finding" 3644 3645 // ExportableInstanceFieldLookbackPeriodInDays is a ExportableInstanceField enum value 3646 ExportableInstanceFieldLookbackPeriodInDays = "LookbackPeriodInDays" 3647 3648 // ExportableInstanceFieldCurrentInstanceType is a ExportableInstanceField enum value 3649 ExportableInstanceFieldCurrentInstanceType = "CurrentInstanceType" 3650 3651 // ExportableInstanceFieldUtilizationMetricsCpuMaximum is a ExportableInstanceField enum value 3652 ExportableInstanceFieldUtilizationMetricsCpuMaximum = "UtilizationMetricsCpuMaximum" 3653 3654 // ExportableInstanceFieldUtilizationMetricsMemoryMaximum is a ExportableInstanceField enum value 3655 ExportableInstanceFieldUtilizationMetricsMemoryMaximum = "UtilizationMetricsMemoryMaximum" 3656 3657 // ExportableInstanceFieldUtilizationMetricsEbsReadOpsPerSecondMaximum is a ExportableInstanceField enum value 3658 ExportableInstanceFieldUtilizationMetricsEbsReadOpsPerSecondMaximum = "UtilizationMetricsEbsReadOpsPerSecondMaximum" 3659 3660 // ExportableInstanceFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum is a ExportableInstanceField enum value 3661 ExportableInstanceFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum = "UtilizationMetricsEbsWriteOpsPerSecondMaximum" 3662 3663 // ExportableInstanceFieldUtilizationMetricsEbsReadBytesPerSecondMaximum is a ExportableInstanceField enum value 3664 ExportableInstanceFieldUtilizationMetricsEbsReadBytesPerSecondMaximum = "UtilizationMetricsEbsReadBytesPerSecondMaximum" 3665 3666 // ExportableInstanceFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum is a ExportableInstanceField enum value 3667 ExportableInstanceFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum = "UtilizationMetricsEbsWriteBytesPerSecondMaximum" 3668 3669 // ExportableInstanceFieldCurrentOnDemandPrice is a ExportableInstanceField enum value 3670 ExportableInstanceFieldCurrentOnDemandPrice = "CurrentOnDemandPrice" 3671 3672 // ExportableInstanceFieldCurrentStandardOneYearNoUpfrontReservedPrice is a ExportableInstanceField enum value 3673 ExportableInstanceFieldCurrentStandardOneYearNoUpfrontReservedPrice = "CurrentStandardOneYearNoUpfrontReservedPrice" 3674 3675 // ExportableInstanceFieldCurrentStandardThreeYearNoUpfrontReservedPrice is a ExportableInstanceField enum value 3676 ExportableInstanceFieldCurrentStandardThreeYearNoUpfrontReservedPrice = "CurrentStandardThreeYearNoUpfrontReservedPrice" 3677 3678 // ExportableInstanceFieldCurrentVcpus is a ExportableInstanceField enum value 3679 ExportableInstanceFieldCurrentVcpus = "CurrentVCpus" 3680 3681 // ExportableInstanceFieldCurrentMemory is a ExportableInstanceField enum value 3682 ExportableInstanceFieldCurrentMemory = "CurrentMemory" 3683 3684 // ExportableInstanceFieldCurrentStorage is a ExportableInstanceField enum value 3685 ExportableInstanceFieldCurrentStorage = "CurrentStorage" 3686 3687 // ExportableInstanceFieldCurrentNetwork is a ExportableInstanceField enum value 3688 ExportableInstanceFieldCurrentNetwork = "CurrentNetwork" 3689 3690 // ExportableInstanceFieldRecommendationOptionsInstanceType is a ExportableInstanceField enum value 3691 ExportableInstanceFieldRecommendationOptionsInstanceType = "RecommendationOptionsInstanceType" 3692 3693 // ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum is a ExportableInstanceField enum value 3694 ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum" 3695 3696 // ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum is a ExportableInstanceField enum value 3697 ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum" 3698 3699 // ExportableInstanceFieldRecommendationOptionsPerformanceRisk is a ExportableInstanceField enum value 3700 ExportableInstanceFieldRecommendationOptionsPerformanceRisk = "RecommendationOptionsPerformanceRisk" 3701 3702 // ExportableInstanceFieldRecommendationOptionsVcpus is a ExportableInstanceField enum value 3703 ExportableInstanceFieldRecommendationOptionsVcpus = "RecommendationOptionsVcpus" 3704 3705 // ExportableInstanceFieldRecommendationOptionsMemory is a ExportableInstanceField enum value 3706 ExportableInstanceFieldRecommendationOptionsMemory = "RecommendationOptionsMemory" 3707 3708 // ExportableInstanceFieldRecommendationOptionsStorage is a ExportableInstanceField enum value 3709 ExportableInstanceFieldRecommendationOptionsStorage = "RecommendationOptionsStorage" 3710 3711 // ExportableInstanceFieldRecommendationOptionsNetwork is a ExportableInstanceField enum value 3712 ExportableInstanceFieldRecommendationOptionsNetwork = "RecommendationOptionsNetwork" 3713 3714 // ExportableInstanceFieldRecommendationOptionsOnDemandPrice is a ExportableInstanceField enum value 3715 ExportableInstanceFieldRecommendationOptionsOnDemandPrice = "RecommendationOptionsOnDemandPrice" 3716 3717 // ExportableInstanceFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice is a ExportableInstanceField enum value 3718 ExportableInstanceFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice = "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice" 3719 3720 // ExportableInstanceFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice is a ExportableInstanceField enum value 3721 ExportableInstanceFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice = "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice" 3722 3723 // ExportableInstanceFieldRecommendationsSourcesRecommendationSourceArn is a ExportableInstanceField enum value 3724 ExportableInstanceFieldRecommendationsSourcesRecommendationSourceArn = "RecommendationsSourcesRecommendationSourceArn" 3725 3726 // ExportableInstanceFieldRecommendationsSourcesRecommendationSourceType is a ExportableInstanceField enum value 3727 ExportableInstanceFieldRecommendationsSourcesRecommendationSourceType = "RecommendationsSourcesRecommendationSourceType" 3728 3729 // ExportableInstanceFieldLastRefreshTimestamp is a ExportableInstanceField enum value 3730 ExportableInstanceFieldLastRefreshTimestamp = "LastRefreshTimestamp" 3731) 3732 3733// ExportableInstanceField_Values returns all elements of the ExportableInstanceField enum 3734func ExportableInstanceField_Values() []string { 3735 return []string{ 3736 ExportableInstanceFieldAccountId, 3737 ExportableInstanceFieldInstanceArn, 3738 ExportableInstanceFieldInstanceName, 3739 ExportableInstanceFieldFinding, 3740 ExportableInstanceFieldLookbackPeriodInDays, 3741 ExportableInstanceFieldCurrentInstanceType, 3742 ExportableInstanceFieldUtilizationMetricsCpuMaximum, 3743 ExportableInstanceFieldUtilizationMetricsMemoryMaximum, 3744 ExportableInstanceFieldUtilizationMetricsEbsReadOpsPerSecondMaximum, 3745 ExportableInstanceFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum, 3746 ExportableInstanceFieldUtilizationMetricsEbsReadBytesPerSecondMaximum, 3747 ExportableInstanceFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum, 3748 ExportableInstanceFieldCurrentOnDemandPrice, 3749 ExportableInstanceFieldCurrentStandardOneYearNoUpfrontReservedPrice, 3750 ExportableInstanceFieldCurrentStandardThreeYearNoUpfrontReservedPrice, 3751 ExportableInstanceFieldCurrentVcpus, 3752 ExportableInstanceFieldCurrentMemory, 3753 ExportableInstanceFieldCurrentStorage, 3754 ExportableInstanceFieldCurrentNetwork, 3755 ExportableInstanceFieldRecommendationOptionsInstanceType, 3756 ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum, 3757 ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, 3758 ExportableInstanceFieldRecommendationOptionsPerformanceRisk, 3759 ExportableInstanceFieldRecommendationOptionsVcpus, 3760 ExportableInstanceFieldRecommendationOptionsMemory, 3761 ExportableInstanceFieldRecommendationOptionsStorage, 3762 ExportableInstanceFieldRecommendationOptionsNetwork, 3763 ExportableInstanceFieldRecommendationOptionsOnDemandPrice, 3764 ExportableInstanceFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice, 3765 ExportableInstanceFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, 3766 ExportableInstanceFieldRecommendationsSourcesRecommendationSourceArn, 3767 ExportableInstanceFieldRecommendationsSourcesRecommendationSourceType, 3768 ExportableInstanceFieldLastRefreshTimestamp, 3769 } 3770} 3771 3772const ( 3773 // FileFormatCsv is a FileFormat enum value 3774 FileFormatCsv = "Csv" 3775) 3776 3777// FileFormat_Values returns all elements of the FileFormat enum 3778func FileFormat_Values() []string { 3779 return []string{ 3780 FileFormatCsv, 3781 } 3782} 3783 3784const ( 3785 // FilterNameFinding is a FilterName enum value 3786 FilterNameFinding = "Finding" 3787 3788 // FilterNameRecommendationSourceType is a FilterName enum value 3789 FilterNameRecommendationSourceType = "RecommendationSourceType" 3790) 3791 3792// FilterName_Values returns all elements of the FilterName enum 3793func FilterName_Values() []string { 3794 return []string{ 3795 FilterNameFinding, 3796 FilterNameRecommendationSourceType, 3797 } 3798} 3799 3800const ( 3801 // FindingUnderprovisioned is a Finding enum value 3802 FindingUnderprovisioned = "Underprovisioned" 3803 3804 // FindingOverprovisioned is a Finding enum value 3805 FindingOverprovisioned = "Overprovisioned" 3806 3807 // FindingOptimized is a Finding enum value 3808 FindingOptimized = "Optimized" 3809 3810 // FindingNotOptimized is a Finding enum value 3811 FindingNotOptimized = "NotOptimized" 3812) 3813 3814// Finding_Values returns all elements of the Finding enum 3815func Finding_Values() []string { 3816 return []string{ 3817 FindingUnderprovisioned, 3818 FindingOverprovisioned, 3819 FindingOptimized, 3820 FindingNotOptimized, 3821 } 3822} 3823 3824const ( 3825 // JobFilterNameResourceType is a JobFilterName enum value 3826 JobFilterNameResourceType = "ResourceType" 3827 3828 // JobFilterNameJobStatus is a JobFilterName enum value 3829 JobFilterNameJobStatus = "JobStatus" 3830) 3831 3832// JobFilterName_Values returns all elements of the JobFilterName enum 3833func JobFilterName_Values() []string { 3834 return []string{ 3835 JobFilterNameResourceType, 3836 JobFilterNameJobStatus, 3837 } 3838} 3839 3840const ( 3841 // JobStatusQueued is a JobStatus enum value 3842 JobStatusQueued = "Queued" 3843 3844 // JobStatusInProgress is a JobStatus enum value 3845 JobStatusInProgress = "InProgress" 3846 3847 // JobStatusComplete is a JobStatus enum value 3848 JobStatusComplete = "Complete" 3849 3850 // JobStatusFailed is a JobStatus enum value 3851 JobStatusFailed = "Failed" 3852) 3853 3854// JobStatus_Values returns all elements of the JobStatus enum 3855func JobStatus_Values() []string { 3856 return []string{ 3857 JobStatusQueued, 3858 JobStatusInProgress, 3859 JobStatusComplete, 3860 JobStatusFailed, 3861 } 3862} 3863 3864const ( 3865 // MetricNameCpu is a MetricName enum value 3866 MetricNameCpu = "Cpu" 3867 3868 // MetricNameMemory is a MetricName enum value 3869 MetricNameMemory = "Memory" 3870 3871 // MetricNameEbsReadOpsPerSecond is a MetricName enum value 3872 MetricNameEbsReadOpsPerSecond = "EBS_READ_OPS_PER_SECOND" 3873 3874 // MetricNameEbsWriteOpsPerSecond is a MetricName enum value 3875 MetricNameEbsWriteOpsPerSecond = "EBS_WRITE_OPS_PER_SECOND" 3876 3877 // MetricNameEbsReadBytesPerSecond is a MetricName enum value 3878 MetricNameEbsReadBytesPerSecond = "EBS_READ_BYTES_PER_SECOND" 3879 3880 // MetricNameEbsWriteBytesPerSecond is a MetricName enum value 3881 MetricNameEbsWriteBytesPerSecond = "EBS_WRITE_BYTES_PER_SECOND" 3882) 3883 3884// MetricName_Values returns all elements of the MetricName enum 3885func MetricName_Values() []string { 3886 return []string{ 3887 MetricNameCpu, 3888 MetricNameMemory, 3889 MetricNameEbsReadOpsPerSecond, 3890 MetricNameEbsWriteOpsPerSecond, 3891 MetricNameEbsReadBytesPerSecond, 3892 MetricNameEbsWriteBytesPerSecond, 3893 } 3894} 3895 3896const ( 3897 // MetricStatisticMaximum is a MetricStatistic enum value 3898 MetricStatisticMaximum = "Maximum" 3899 3900 // MetricStatisticAverage is a MetricStatistic enum value 3901 MetricStatisticAverage = "Average" 3902) 3903 3904// MetricStatistic_Values returns all elements of the MetricStatistic enum 3905func MetricStatistic_Values() []string { 3906 return []string{ 3907 MetricStatisticMaximum, 3908 MetricStatisticAverage, 3909 } 3910} 3911 3912const ( 3913 // RecommendationSourceTypeEc2instance is a RecommendationSourceType enum value 3914 RecommendationSourceTypeEc2instance = "Ec2Instance" 3915 3916 // RecommendationSourceTypeAutoScalingGroup is a RecommendationSourceType enum value 3917 RecommendationSourceTypeAutoScalingGroup = "AutoScalingGroup" 3918) 3919 3920// RecommendationSourceType_Values returns all elements of the RecommendationSourceType enum 3921func RecommendationSourceType_Values() []string { 3922 return []string{ 3923 RecommendationSourceTypeEc2instance, 3924 RecommendationSourceTypeAutoScalingGroup, 3925 } 3926} 3927 3928const ( 3929 // ResourceTypeEc2instance is a ResourceType enum value 3930 ResourceTypeEc2instance = "Ec2Instance" 3931 3932 // ResourceTypeAutoScalingGroup is a ResourceType enum value 3933 ResourceTypeAutoScalingGroup = "AutoScalingGroup" 3934) 3935 3936// ResourceType_Values returns all elements of the ResourceType enum 3937func ResourceType_Values() []string { 3938 return []string{ 3939 ResourceTypeEc2instance, 3940 ResourceTypeAutoScalingGroup, 3941 } 3942} 3943 3944const ( 3945 // StatusActive is a Status enum value 3946 StatusActive = "Active" 3947 3948 // StatusInactive is a Status enum value 3949 StatusInactive = "Inactive" 3950 3951 // StatusPending is a Status enum value 3952 StatusPending = "Pending" 3953 3954 // StatusFailed is a Status enum value 3955 StatusFailed = "Failed" 3956) 3957 3958// Status_Values returns all elements of the Status enum 3959func Status_Values() []string { 3960 return []string{ 3961 StatusActive, 3962 StatusInactive, 3963 StatusPending, 3964 StatusFailed, 3965 } 3966} 3967