github.com/aavshr/aws-sdk-go@v1.41.3/service/computeoptimizer/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package computeoptimizer 4 5 import ( 6 "fmt" 7 "time" 8 9 "github.com/aavshr/aws-sdk-go/aws" 10 "github.com/aavshr/aws-sdk-go/aws/awsutil" 11 "github.com/aavshr/aws-sdk-go/aws/request" 12 "github.com/aavshr/aws-sdk-go/private/protocol" 13 ) 14 15 const 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 41 func (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 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 // The value supplied for the input parameter is out of range or not valid. 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) Amazon Web Services 93 // access key ID or 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 99 func (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. 113 func (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 120 const 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 146 func (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) (.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 Amazon 173 // Web Services Region. 174 // 175 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 176 // with awserr.Error's Code and Message methods to get detailed information about 177 // the error. 178 // 179 // See the AWS API reference guide for AWS Compute Optimizer's 180 // API operation ExportAutoScalingGroupRecommendations for usage and error information. 181 // 182 // Returned Error Types: 183 // * OptInRequiredException 184 // The account is not opted in to Compute Optimizer. 185 // 186 // * InternalServerException 187 // An internal error has occurred. Try your call again. 188 // 189 // * ServiceUnavailableException 190 // The request has failed due to a temporary failure of the server. 191 // 192 // * AccessDeniedException 193 // You do not have sufficient access to perform this action. 194 // 195 // * InvalidParameterValueException 196 // The value supplied for the input parameter is out of range or not valid. 197 // 198 // * MissingAuthenticationToken 199 // The request must contain either a valid (registered) Amazon Web Services 200 // access key ID or X.509 certificate. 201 // 202 // * ThrottlingException 203 // The request was denied due to request throttling. 204 // 205 // * LimitExceededException 206 // The request exceeds a limit of the service. 207 // 208 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportAutoScalingGroupRecommendations 209 func (c *ComputeOptimizer) ExportAutoScalingGroupRecommendations(input *ExportAutoScalingGroupRecommendationsInput) (*ExportAutoScalingGroupRecommendationsOutput, error) { 210 req, out := c.ExportAutoScalingGroupRecommendationsRequest(input) 211 return out, req.Send() 212 } 213 214 // ExportAutoScalingGroupRecommendationsWithContext is the same as ExportAutoScalingGroupRecommendations with the addition of 215 // the ability to pass a context and additional request options. 216 // 217 // See ExportAutoScalingGroupRecommendations for details on how to use this API operation. 218 // 219 // The context must be non-nil and will be used for request cancellation. If 220 // the context is nil a panic will occur. In the future the SDK may create 221 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 222 // for more information on using Contexts. 223 func (c *ComputeOptimizer) ExportAutoScalingGroupRecommendationsWithContext(ctx aws.Context, input *ExportAutoScalingGroupRecommendationsInput, opts ...request.Option) (*ExportAutoScalingGroupRecommendationsOutput, error) { 224 req, out := c.ExportAutoScalingGroupRecommendationsRequest(input) 225 req.SetContext(ctx) 226 req.ApplyOptions(opts...) 227 return out, req.Send() 228 } 229 230 const opExportEBSVolumeRecommendations = "ExportEBSVolumeRecommendations" 231 232 // ExportEBSVolumeRecommendationsRequest generates a "aws/request.Request" representing the 233 // client's request for the ExportEBSVolumeRecommendations operation. The "output" return 234 // value will be populated with the request's response once the request completes 235 // successfully. 236 // 237 // Use "Send" method on the returned Request to send the API call to the service. 238 // the "output" return value is not valid until after Send returns without error. 239 // 240 // See ExportEBSVolumeRecommendations for more information on using the ExportEBSVolumeRecommendations 241 // API call, and error handling. 242 // 243 // This method is useful when you want to inject custom logic or configuration 244 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 245 // 246 // 247 // // Example sending a request using the ExportEBSVolumeRecommendationsRequest method. 248 // req, resp := client.ExportEBSVolumeRecommendationsRequest(params) 249 // 250 // err := req.Send() 251 // if err == nil { // resp is now filled 252 // fmt.Println(resp) 253 // } 254 // 255 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEBSVolumeRecommendations 256 func (c *ComputeOptimizer) ExportEBSVolumeRecommendationsRequest(input *ExportEBSVolumeRecommendationsInput) (req *request.Request, output *ExportEBSVolumeRecommendationsOutput) { 257 op := &request.Operation{ 258 Name: opExportEBSVolumeRecommendations, 259 HTTPMethod: "POST", 260 HTTPPath: "/", 261 } 262 263 if input == nil { 264 input = &ExportEBSVolumeRecommendationsInput{} 265 } 266 267 output = &ExportEBSVolumeRecommendationsOutput{} 268 req = c.newRequest(op, input, output) 269 return 270 } 271 272 // ExportEBSVolumeRecommendations API operation for AWS Compute Optimizer. 273 // 274 // Exports optimization recommendations for Amazon EBS volumes. 275 // 276 // Recommendations are exported in a comma-separated values (.csv) file, and 277 // its metadata in a JavaScript Object Notation (JSON) (.json) file, to an existing 278 // Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more 279 // information, see Exporting Recommendations (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html) 280 // in the Compute Optimizer User Guide. 281 // 282 // You can have only one Amazon EBS volume export job in progress per Amazon 283 // Web Services Region. 284 // 285 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 286 // with awserr.Error's Code and Message methods to get detailed information about 287 // the error. 288 // 289 // See the AWS API reference guide for AWS Compute Optimizer's 290 // API operation ExportEBSVolumeRecommendations for usage and error information. 291 // 292 // Returned Error Types: 293 // * OptInRequiredException 294 // The account is not opted in to Compute Optimizer. 295 // 296 // * InternalServerException 297 // An internal error has occurred. Try your call again. 298 // 299 // * ServiceUnavailableException 300 // The request has failed due to a temporary failure of the server. 301 // 302 // * AccessDeniedException 303 // You do not have sufficient access to perform this action. 304 // 305 // * InvalidParameterValueException 306 // The value supplied for the input parameter is out of range or not valid. 307 // 308 // * MissingAuthenticationToken 309 // The request must contain either a valid (registered) Amazon Web Services 310 // access key ID or X.509 certificate. 311 // 312 // * ThrottlingException 313 // The request was denied due to request throttling. 314 // 315 // * LimitExceededException 316 // The request exceeds a limit of the service. 317 // 318 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEBSVolumeRecommendations 319 func (c *ComputeOptimizer) ExportEBSVolumeRecommendations(input *ExportEBSVolumeRecommendationsInput) (*ExportEBSVolumeRecommendationsOutput, error) { 320 req, out := c.ExportEBSVolumeRecommendationsRequest(input) 321 return out, req.Send() 322 } 323 324 // ExportEBSVolumeRecommendationsWithContext is the same as ExportEBSVolumeRecommendations with the addition of 325 // the ability to pass a context and additional request options. 326 // 327 // See ExportEBSVolumeRecommendations for details on how to use this API operation. 328 // 329 // The context must be non-nil and will be used for request cancellation. If 330 // the context is nil a panic will occur. In the future the SDK may create 331 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 332 // for more information on using Contexts. 333 func (c *ComputeOptimizer) ExportEBSVolumeRecommendationsWithContext(ctx aws.Context, input *ExportEBSVolumeRecommendationsInput, opts ...request.Option) (*ExportEBSVolumeRecommendationsOutput, error) { 334 req, out := c.ExportEBSVolumeRecommendationsRequest(input) 335 req.SetContext(ctx) 336 req.ApplyOptions(opts...) 337 return out, req.Send() 338 } 339 340 const opExportEC2InstanceRecommendations = "ExportEC2InstanceRecommendations" 341 342 // ExportEC2InstanceRecommendationsRequest generates a "aws/request.Request" representing the 343 // client's request for the ExportEC2InstanceRecommendations operation. The "output" return 344 // value will be populated with the request's response once the request completes 345 // successfully. 346 // 347 // Use "Send" method on the returned Request to send the API call to the service. 348 // the "output" return value is not valid until after Send returns without error. 349 // 350 // See ExportEC2InstanceRecommendations for more information on using the ExportEC2InstanceRecommendations 351 // API call, and error handling. 352 // 353 // This method is useful when you want to inject custom logic or configuration 354 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 355 // 356 // 357 // // Example sending a request using the ExportEC2InstanceRecommendationsRequest method. 358 // req, resp := client.ExportEC2InstanceRecommendationsRequest(params) 359 // 360 // err := req.Send() 361 // if err == nil { // resp is now filled 362 // fmt.Println(resp) 363 // } 364 // 365 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendations 366 func (c *ComputeOptimizer) ExportEC2InstanceRecommendationsRequest(input *ExportEC2InstanceRecommendationsInput) (req *request.Request, output *ExportEC2InstanceRecommendationsOutput) { 367 op := &request.Operation{ 368 Name: opExportEC2InstanceRecommendations, 369 HTTPMethod: "POST", 370 HTTPPath: "/", 371 } 372 373 if input == nil { 374 input = &ExportEC2InstanceRecommendationsInput{} 375 } 376 377 output = &ExportEC2InstanceRecommendationsOutput{} 378 req = c.newRequest(op, input, output) 379 return 380 } 381 382 // ExportEC2InstanceRecommendations API operation for AWS Compute Optimizer. 383 // 384 // Exports optimization recommendations for Amazon EC2 instances. 385 // 386 // Recommendations are exported in a comma-separated values (.csv) file, and 387 // its metadata in a JavaScript Object Notation (JSON) (.json) file, to an existing 388 // Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more 389 // information, see Exporting Recommendations (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html) 390 // in the Compute Optimizer User Guide. 391 // 392 // You can have only one Amazon EC2 instance export job in progress per Amazon 393 // Web Services Region. 394 // 395 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 396 // with awserr.Error's Code and Message methods to get detailed information about 397 // the error. 398 // 399 // See the AWS API reference guide for AWS Compute Optimizer's 400 // API operation ExportEC2InstanceRecommendations for usage and error information. 401 // 402 // Returned Error Types: 403 // * OptInRequiredException 404 // The account is not opted in to Compute Optimizer. 405 // 406 // * InternalServerException 407 // An internal error has occurred. Try your call again. 408 // 409 // * ServiceUnavailableException 410 // The request has failed due to a temporary failure of the server. 411 // 412 // * AccessDeniedException 413 // You do not have sufficient access to perform this action. 414 // 415 // * InvalidParameterValueException 416 // The value supplied for the input parameter is out of range or not valid. 417 // 418 // * MissingAuthenticationToken 419 // The request must contain either a valid (registered) Amazon Web Services 420 // access key ID or X.509 certificate. 421 // 422 // * ThrottlingException 423 // The request was denied due to request throttling. 424 // 425 // * LimitExceededException 426 // The request exceeds a limit of the service. 427 // 428 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendations 429 func (c *ComputeOptimizer) ExportEC2InstanceRecommendations(input *ExportEC2InstanceRecommendationsInput) (*ExportEC2InstanceRecommendationsOutput, error) { 430 req, out := c.ExportEC2InstanceRecommendationsRequest(input) 431 return out, req.Send() 432 } 433 434 // ExportEC2InstanceRecommendationsWithContext is the same as ExportEC2InstanceRecommendations with the addition of 435 // the ability to pass a context and additional request options. 436 // 437 // See ExportEC2InstanceRecommendations for details on how to use this API operation. 438 // 439 // The context must be non-nil and will be used for request cancellation. If 440 // the context is nil a panic will occur. In the future the SDK may create 441 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 442 // for more information on using Contexts. 443 func (c *ComputeOptimizer) ExportEC2InstanceRecommendationsWithContext(ctx aws.Context, input *ExportEC2InstanceRecommendationsInput, opts ...request.Option) (*ExportEC2InstanceRecommendationsOutput, error) { 444 req, out := c.ExportEC2InstanceRecommendationsRequest(input) 445 req.SetContext(ctx) 446 req.ApplyOptions(opts...) 447 return out, req.Send() 448 } 449 450 const opExportLambdaFunctionRecommendations = "ExportLambdaFunctionRecommendations" 451 452 // ExportLambdaFunctionRecommendationsRequest generates a "aws/request.Request" representing the 453 // client's request for the ExportLambdaFunctionRecommendations operation. The "output" return 454 // value will be populated with the request's response once the request completes 455 // successfully. 456 // 457 // Use "Send" method on the returned Request to send the API call to the service. 458 // the "output" return value is not valid until after Send returns without error. 459 // 460 // See ExportLambdaFunctionRecommendations for more information on using the ExportLambdaFunctionRecommendations 461 // API call, and error handling. 462 // 463 // This method is useful when you want to inject custom logic or configuration 464 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 465 // 466 // 467 // // Example sending a request using the ExportLambdaFunctionRecommendationsRequest method. 468 // req, resp := client.ExportLambdaFunctionRecommendationsRequest(params) 469 // 470 // err := req.Send() 471 // if err == nil { // resp is now filled 472 // fmt.Println(resp) 473 // } 474 // 475 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportLambdaFunctionRecommendations 476 func (c *ComputeOptimizer) ExportLambdaFunctionRecommendationsRequest(input *ExportLambdaFunctionRecommendationsInput) (req *request.Request, output *ExportLambdaFunctionRecommendationsOutput) { 477 op := &request.Operation{ 478 Name: opExportLambdaFunctionRecommendations, 479 HTTPMethod: "POST", 480 HTTPPath: "/", 481 } 482 483 if input == nil { 484 input = &ExportLambdaFunctionRecommendationsInput{} 485 } 486 487 output = &ExportLambdaFunctionRecommendationsOutput{} 488 req = c.newRequest(op, input, output) 489 return 490 } 491 492 // ExportLambdaFunctionRecommendations API operation for AWS Compute Optimizer. 493 // 494 // Exports optimization recommendations for Lambda functions. 495 // 496 // Recommendations are exported in a comma-separated values (.csv) file, and 497 // its metadata in a JavaScript Object Notation (JSON) (.json) file, to an existing 498 // Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more 499 // information, see Exporting Recommendations (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html) 500 // in the Compute Optimizer User Guide. 501 // 502 // You can have only one Lambda function export job in progress per Amazon Web 503 // Services Region. 504 // 505 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 506 // with awserr.Error's Code and Message methods to get detailed information about 507 // the error. 508 // 509 // See the AWS API reference guide for AWS Compute Optimizer's 510 // API operation ExportLambdaFunctionRecommendations for usage and error information. 511 // 512 // Returned Error Types: 513 // * OptInRequiredException 514 // The account is not opted in to Compute Optimizer. 515 // 516 // * InternalServerException 517 // An internal error has occurred. Try your call again. 518 // 519 // * ServiceUnavailableException 520 // The request has failed due to a temporary failure of the server. 521 // 522 // * AccessDeniedException 523 // You do not have sufficient access to perform this action. 524 // 525 // * InvalidParameterValueException 526 // The value supplied for the input parameter is out of range or not valid. 527 // 528 // * MissingAuthenticationToken 529 // The request must contain either a valid (registered) Amazon Web Services 530 // access key ID or X.509 certificate. 531 // 532 // * ThrottlingException 533 // The request was denied due to request throttling. 534 // 535 // * LimitExceededException 536 // The request exceeds a limit of the service. 537 // 538 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportLambdaFunctionRecommendations 539 func (c *ComputeOptimizer) ExportLambdaFunctionRecommendations(input *ExportLambdaFunctionRecommendationsInput) (*ExportLambdaFunctionRecommendationsOutput, error) { 540 req, out := c.ExportLambdaFunctionRecommendationsRequest(input) 541 return out, req.Send() 542 } 543 544 // ExportLambdaFunctionRecommendationsWithContext is the same as ExportLambdaFunctionRecommendations with the addition of 545 // the ability to pass a context and additional request options. 546 // 547 // See ExportLambdaFunctionRecommendations for details on how to use this API operation. 548 // 549 // The context must be non-nil and will be used for request cancellation. If 550 // the context is nil a panic will occur. In the future the SDK may create 551 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 552 // for more information on using Contexts. 553 func (c *ComputeOptimizer) ExportLambdaFunctionRecommendationsWithContext(ctx aws.Context, input *ExportLambdaFunctionRecommendationsInput, opts ...request.Option) (*ExportLambdaFunctionRecommendationsOutput, error) { 554 req, out := c.ExportLambdaFunctionRecommendationsRequest(input) 555 req.SetContext(ctx) 556 req.ApplyOptions(opts...) 557 return out, req.Send() 558 } 559 560 const opGetAutoScalingGroupRecommendations = "GetAutoScalingGroupRecommendations" 561 562 // GetAutoScalingGroupRecommendationsRequest generates a "aws/request.Request" representing the 563 // client's request for the GetAutoScalingGroupRecommendations operation. The "output" return 564 // value will be populated with the request's response once the request completes 565 // successfully. 566 // 567 // Use "Send" method on the returned Request to send the API call to the service. 568 // the "output" return value is not valid until after Send returns without error. 569 // 570 // See GetAutoScalingGroupRecommendations for more information on using the GetAutoScalingGroupRecommendations 571 // API call, and error handling. 572 // 573 // This method is useful when you want to inject custom logic or configuration 574 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 575 // 576 // 577 // // Example sending a request using the GetAutoScalingGroupRecommendationsRequest method. 578 // req, resp := client.GetAutoScalingGroupRecommendationsRequest(params) 579 // 580 // err := req.Send() 581 // if err == nil { // resp is now filled 582 // fmt.Println(resp) 583 // } 584 // 585 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetAutoScalingGroupRecommendations 586 func (c *ComputeOptimizer) GetAutoScalingGroupRecommendationsRequest(input *GetAutoScalingGroupRecommendationsInput) (req *request.Request, output *GetAutoScalingGroupRecommendationsOutput) { 587 op := &request.Operation{ 588 Name: opGetAutoScalingGroupRecommendations, 589 HTTPMethod: "POST", 590 HTTPPath: "/", 591 } 592 593 if input == nil { 594 input = &GetAutoScalingGroupRecommendationsInput{} 595 } 596 597 output = &GetAutoScalingGroupRecommendationsOutput{} 598 req = c.newRequest(op, input, output) 599 return 600 } 601 602 // GetAutoScalingGroupRecommendations API operation for AWS Compute Optimizer. 603 // 604 // Returns Auto Scaling group recommendations. 605 // 606 // Compute Optimizer generates recommendations for Amazon EC2 Auto Scaling groups 607 // that meet a specific set of requirements. For more information, see the Supported 608 // resources and requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html) 609 // in the Compute Optimizer User Guide. 610 // 611 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 612 // with awserr.Error's Code and Message methods to get detailed information about 613 // the error. 614 // 615 // See the AWS API reference guide for AWS Compute Optimizer's 616 // API operation GetAutoScalingGroupRecommendations for usage and error information. 617 // 618 // Returned Error Types: 619 // * OptInRequiredException 620 // The account is not opted in to Compute Optimizer. 621 // 622 // * InternalServerException 623 // An internal error has occurred. Try your call again. 624 // 625 // * ServiceUnavailableException 626 // The request has failed due to a temporary failure of the server. 627 // 628 // * AccessDeniedException 629 // You do not have sufficient access to perform this action. 630 // 631 // * InvalidParameterValueException 632 // The value supplied for the input parameter is out of range or not valid. 633 // 634 // * ResourceNotFoundException 635 // A resource that is required for the action doesn't exist. 636 // 637 // * MissingAuthenticationToken 638 // The request must contain either a valid (registered) Amazon Web Services 639 // access key ID or X.509 certificate. 640 // 641 // * ThrottlingException 642 // The request was denied due to request throttling. 643 // 644 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetAutoScalingGroupRecommendations 645 func (c *ComputeOptimizer) GetAutoScalingGroupRecommendations(input *GetAutoScalingGroupRecommendationsInput) (*GetAutoScalingGroupRecommendationsOutput, error) { 646 req, out := c.GetAutoScalingGroupRecommendationsRequest(input) 647 return out, req.Send() 648 } 649 650 // GetAutoScalingGroupRecommendationsWithContext is the same as GetAutoScalingGroupRecommendations with the addition of 651 // the ability to pass a context and additional request options. 652 // 653 // See GetAutoScalingGroupRecommendations for details on how to use this API operation. 654 // 655 // The context must be non-nil and will be used for request cancellation. If 656 // the context is nil a panic will occur. In the future the SDK may create 657 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 658 // for more information on using Contexts. 659 func (c *ComputeOptimizer) GetAutoScalingGroupRecommendationsWithContext(ctx aws.Context, input *GetAutoScalingGroupRecommendationsInput, opts ...request.Option) (*GetAutoScalingGroupRecommendationsOutput, error) { 660 req, out := c.GetAutoScalingGroupRecommendationsRequest(input) 661 req.SetContext(ctx) 662 req.ApplyOptions(opts...) 663 return out, req.Send() 664 } 665 666 const opGetEBSVolumeRecommendations = "GetEBSVolumeRecommendations" 667 668 // GetEBSVolumeRecommendationsRequest generates a "aws/request.Request" representing the 669 // client's request for the GetEBSVolumeRecommendations operation. The "output" return 670 // value will be populated with the request's response once the request completes 671 // successfully. 672 // 673 // Use "Send" method on the returned Request to send the API call to the service. 674 // the "output" return value is not valid until after Send returns without error. 675 // 676 // See GetEBSVolumeRecommendations for more information on using the GetEBSVolumeRecommendations 677 // API call, and error handling. 678 // 679 // This method is useful when you want to inject custom logic or configuration 680 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 681 // 682 // 683 // // Example sending a request using the GetEBSVolumeRecommendationsRequest method. 684 // req, resp := client.GetEBSVolumeRecommendationsRequest(params) 685 // 686 // err := req.Send() 687 // if err == nil { // resp is now filled 688 // fmt.Println(resp) 689 // } 690 // 691 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEBSVolumeRecommendations 692 func (c *ComputeOptimizer) GetEBSVolumeRecommendationsRequest(input *GetEBSVolumeRecommendationsInput) (req *request.Request, output *GetEBSVolumeRecommendationsOutput) { 693 op := &request.Operation{ 694 Name: opGetEBSVolumeRecommendations, 695 HTTPMethod: "POST", 696 HTTPPath: "/", 697 } 698 699 if input == nil { 700 input = &GetEBSVolumeRecommendationsInput{} 701 } 702 703 output = &GetEBSVolumeRecommendationsOutput{} 704 req = c.newRequest(op, input, output) 705 return 706 } 707 708 // GetEBSVolumeRecommendations API operation for AWS Compute Optimizer. 709 // 710 // Returns Amazon Elastic Block Store (Amazon EBS) volume recommendations. 711 // 712 // Compute Optimizer generates recommendations for Amazon EBS volumes that meet 713 // a specific set of requirements. For more information, see the Supported resources 714 // and requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html) 715 // in the Compute Optimizer User Guide. 716 // 717 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 718 // with awserr.Error's Code and Message methods to get detailed information about 719 // the error. 720 // 721 // See the AWS API reference guide for AWS Compute Optimizer's 722 // API operation GetEBSVolumeRecommendations for usage and error information. 723 // 724 // Returned Error Types: 725 // * OptInRequiredException 726 // The account is not opted in to Compute Optimizer. 727 // 728 // * InternalServerException 729 // An internal error has occurred. Try your call again. 730 // 731 // * ServiceUnavailableException 732 // The request has failed due to a temporary failure of the server. 733 // 734 // * AccessDeniedException 735 // You do not have sufficient access to perform this action. 736 // 737 // * InvalidParameterValueException 738 // The value supplied for the input parameter is out of range or not valid. 739 // 740 // * ResourceNotFoundException 741 // A resource that is required for the action doesn't exist. 742 // 743 // * MissingAuthenticationToken 744 // The request must contain either a valid (registered) Amazon Web Services 745 // access key ID or X.509 certificate. 746 // 747 // * ThrottlingException 748 // The request was denied due to request throttling. 749 // 750 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEBSVolumeRecommendations 751 func (c *ComputeOptimizer) GetEBSVolumeRecommendations(input *GetEBSVolumeRecommendationsInput) (*GetEBSVolumeRecommendationsOutput, error) { 752 req, out := c.GetEBSVolumeRecommendationsRequest(input) 753 return out, req.Send() 754 } 755 756 // GetEBSVolumeRecommendationsWithContext is the same as GetEBSVolumeRecommendations with the addition of 757 // the ability to pass a context and additional request options. 758 // 759 // See GetEBSVolumeRecommendations for details on how to use this API operation. 760 // 761 // The context must be non-nil and will be used for request cancellation. If 762 // the context is nil a panic will occur. In the future the SDK may create 763 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 764 // for more information on using Contexts. 765 func (c *ComputeOptimizer) GetEBSVolumeRecommendationsWithContext(ctx aws.Context, input *GetEBSVolumeRecommendationsInput, opts ...request.Option) (*GetEBSVolumeRecommendationsOutput, error) { 766 req, out := c.GetEBSVolumeRecommendationsRequest(input) 767 req.SetContext(ctx) 768 req.ApplyOptions(opts...) 769 return out, req.Send() 770 } 771 772 const opGetEC2InstanceRecommendations = "GetEC2InstanceRecommendations" 773 774 // GetEC2InstanceRecommendationsRequest generates a "aws/request.Request" representing the 775 // client's request for the GetEC2InstanceRecommendations operation. The "output" return 776 // value will be populated with the request's response once the request completes 777 // successfully. 778 // 779 // Use "Send" method on the returned Request to send the API call to the service. 780 // the "output" return value is not valid until after Send returns without error. 781 // 782 // See GetEC2InstanceRecommendations for more information on using the GetEC2InstanceRecommendations 783 // API call, and error handling. 784 // 785 // This method is useful when you want to inject custom logic or configuration 786 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 787 // 788 // 789 // // Example sending a request using the GetEC2InstanceRecommendationsRequest method. 790 // req, resp := client.GetEC2InstanceRecommendationsRequest(params) 791 // 792 // err := req.Send() 793 // if err == nil { // resp is now filled 794 // fmt.Println(resp) 795 // } 796 // 797 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2InstanceRecommendations 798 func (c *ComputeOptimizer) GetEC2InstanceRecommendationsRequest(input *GetEC2InstanceRecommendationsInput) (req *request.Request, output *GetEC2InstanceRecommendationsOutput) { 799 op := &request.Operation{ 800 Name: opGetEC2InstanceRecommendations, 801 HTTPMethod: "POST", 802 HTTPPath: "/", 803 } 804 805 if input == nil { 806 input = &GetEC2InstanceRecommendationsInput{} 807 } 808 809 output = &GetEC2InstanceRecommendationsOutput{} 810 req = c.newRequest(op, input, output) 811 return 812 } 813 814 // GetEC2InstanceRecommendations API operation for AWS Compute Optimizer. 815 // 816 // Returns Amazon EC2 instance recommendations. 817 // 818 // Compute Optimizer generates recommendations for Amazon Elastic Compute Cloud 819 // (Amazon EC2) instances that meet a specific set of requirements. For more 820 // information, see the Supported resources and requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html) 821 // in the Compute Optimizer User Guide. 822 // 823 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 824 // with awserr.Error's Code and Message methods to get detailed information about 825 // the error. 826 // 827 // See the AWS API reference guide for AWS Compute Optimizer's 828 // API operation GetEC2InstanceRecommendations for usage and error information. 829 // 830 // Returned Error Types: 831 // * OptInRequiredException 832 // The account is not opted in to Compute Optimizer. 833 // 834 // * InternalServerException 835 // An internal error has occurred. Try your call again. 836 // 837 // * ServiceUnavailableException 838 // The request has failed due to a temporary failure of the server. 839 // 840 // * AccessDeniedException 841 // You do not have sufficient access to perform this action. 842 // 843 // * InvalidParameterValueException 844 // The value supplied for the input parameter is out of range or not valid. 845 // 846 // * ResourceNotFoundException 847 // A resource that is required for the action doesn't exist. 848 // 849 // * MissingAuthenticationToken 850 // The request must contain either a valid (registered) Amazon Web Services 851 // access key ID or X.509 certificate. 852 // 853 // * ThrottlingException 854 // The request was denied due to request throttling. 855 // 856 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2InstanceRecommendations 857 func (c *ComputeOptimizer) GetEC2InstanceRecommendations(input *GetEC2InstanceRecommendationsInput) (*GetEC2InstanceRecommendationsOutput, error) { 858 req, out := c.GetEC2InstanceRecommendationsRequest(input) 859 return out, req.Send() 860 } 861 862 // GetEC2InstanceRecommendationsWithContext is the same as GetEC2InstanceRecommendations with the addition of 863 // the ability to pass a context and additional request options. 864 // 865 // See GetEC2InstanceRecommendations for details on how to use this API operation. 866 // 867 // The context must be non-nil and will be used for request cancellation. If 868 // the context is nil a panic will occur. In the future the SDK may create 869 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 870 // for more information on using Contexts. 871 func (c *ComputeOptimizer) GetEC2InstanceRecommendationsWithContext(ctx aws.Context, input *GetEC2InstanceRecommendationsInput, opts ...request.Option) (*GetEC2InstanceRecommendationsOutput, error) { 872 req, out := c.GetEC2InstanceRecommendationsRequest(input) 873 req.SetContext(ctx) 874 req.ApplyOptions(opts...) 875 return out, req.Send() 876 } 877 878 const opGetEC2RecommendationProjectedMetrics = "GetEC2RecommendationProjectedMetrics" 879 880 // GetEC2RecommendationProjectedMetricsRequest generates a "aws/request.Request" representing the 881 // client's request for the GetEC2RecommendationProjectedMetrics operation. The "output" return 882 // value will be populated with the request's response once the request completes 883 // successfully. 884 // 885 // Use "Send" method on the returned Request to send the API call to the service. 886 // the "output" return value is not valid until after Send returns without error. 887 // 888 // See GetEC2RecommendationProjectedMetrics for more information on using the GetEC2RecommendationProjectedMetrics 889 // API call, and error handling. 890 // 891 // This method is useful when you want to inject custom logic or configuration 892 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 893 // 894 // 895 // // Example sending a request using the GetEC2RecommendationProjectedMetricsRequest method. 896 // req, resp := client.GetEC2RecommendationProjectedMetricsRequest(params) 897 // 898 // err := req.Send() 899 // if err == nil { // resp is now filled 900 // fmt.Println(resp) 901 // } 902 // 903 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2RecommendationProjectedMetrics 904 func (c *ComputeOptimizer) GetEC2RecommendationProjectedMetricsRequest(input *GetEC2RecommendationProjectedMetricsInput) (req *request.Request, output *GetEC2RecommendationProjectedMetricsOutput) { 905 op := &request.Operation{ 906 Name: opGetEC2RecommendationProjectedMetrics, 907 HTTPMethod: "POST", 908 HTTPPath: "/", 909 } 910 911 if input == nil { 912 input = &GetEC2RecommendationProjectedMetricsInput{} 913 } 914 915 output = &GetEC2RecommendationProjectedMetricsOutput{} 916 req = c.newRequest(op, input, output) 917 return 918 } 919 920 // GetEC2RecommendationProjectedMetrics API operation for AWS Compute Optimizer. 921 // 922 // Returns the projected utilization metrics of Amazon EC2 instance recommendations. 923 // 924 // The Cpu and Memory metrics are the only projected utilization metrics returned 925 // when you run this action. Additionally, the Memory metric is returned only 926 // for resources that have the unified CloudWatch agent installed on them. For 927 // more information, see Enabling Memory Utilization with the CloudWatch Agent 928 // (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent). 929 // 930 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 931 // with awserr.Error's Code and Message methods to get detailed information about 932 // the error. 933 // 934 // See the AWS API reference guide for AWS Compute Optimizer's 935 // API operation GetEC2RecommendationProjectedMetrics for usage and error information. 936 // 937 // Returned Error Types: 938 // * OptInRequiredException 939 // The account is not opted in to Compute Optimizer. 940 // 941 // * InternalServerException 942 // An internal error has occurred. Try your call again. 943 // 944 // * ServiceUnavailableException 945 // The request has failed due to a temporary failure of the server. 946 // 947 // * AccessDeniedException 948 // You do not have sufficient access to perform this action. 949 // 950 // * InvalidParameterValueException 951 // The value supplied for the input parameter is out of range or not valid. 952 // 953 // * ResourceNotFoundException 954 // A resource that is required for the action doesn't exist. 955 // 956 // * MissingAuthenticationToken 957 // The request must contain either a valid (registered) Amazon Web Services 958 // access key ID or X.509 certificate. 959 // 960 // * ThrottlingException 961 // The request was denied due to request throttling. 962 // 963 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEC2RecommendationProjectedMetrics 964 func (c *ComputeOptimizer) GetEC2RecommendationProjectedMetrics(input *GetEC2RecommendationProjectedMetricsInput) (*GetEC2RecommendationProjectedMetricsOutput, error) { 965 req, out := c.GetEC2RecommendationProjectedMetricsRequest(input) 966 return out, req.Send() 967 } 968 969 // GetEC2RecommendationProjectedMetricsWithContext is the same as GetEC2RecommendationProjectedMetrics with the addition of 970 // the ability to pass a context and additional request options. 971 // 972 // See GetEC2RecommendationProjectedMetrics for details on how to use this API operation. 973 // 974 // The context must be non-nil and will be used for request cancellation. If 975 // the context is nil a panic will occur. In the future the SDK may create 976 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 977 // for more information on using Contexts. 978 func (c *ComputeOptimizer) GetEC2RecommendationProjectedMetricsWithContext(ctx aws.Context, input *GetEC2RecommendationProjectedMetricsInput, opts ...request.Option) (*GetEC2RecommendationProjectedMetricsOutput, error) { 979 req, out := c.GetEC2RecommendationProjectedMetricsRequest(input) 980 req.SetContext(ctx) 981 req.ApplyOptions(opts...) 982 return out, req.Send() 983 } 984 985 const opGetEnrollmentStatus = "GetEnrollmentStatus" 986 987 // GetEnrollmentStatusRequest generates a "aws/request.Request" representing the 988 // client's request for the GetEnrollmentStatus operation. The "output" return 989 // value will be populated with the request's response once the request completes 990 // successfully. 991 // 992 // Use "Send" method on the returned Request to send the API call to the service. 993 // the "output" return value is not valid until after Send returns without error. 994 // 995 // See GetEnrollmentStatus for more information on using the GetEnrollmentStatus 996 // API call, and error handling. 997 // 998 // This method is useful when you want to inject custom logic or configuration 999 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1000 // 1001 // 1002 // // Example sending a request using the GetEnrollmentStatusRequest method. 1003 // req, resp := client.GetEnrollmentStatusRequest(params) 1004 // 1005 // err := req.Send() 1006 // if err == nil { // resp is now filled 1007 // fmt.Println(resp) 1008 // } 1009 // 1010 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatus 1011 func (c *ComputeOptimizer) GetEnrollmentStatusRequest(input *GetEnrollmentStatusInput) (req *request.Request, output *GetEnrollmentStatusOutput) { 1012 op := &request.Operation{ 1013 Name: opGetEnrollmentStatus, 1014 HTTPMethod: "POST", 1015 HTTPPath: "/", 1016 } 1017 1018 if input == nil { 1019 input = &GetEnrollmentStatusInput{} 1020 } 1021 1022 output = &GetEnrollmentStatusOutput{} 1023 req = c.newRequest(op, input, output) 1024 return 1025 } 1026 1027 // GetEnrollmentStatus API operation for AWS Compute Optimizer. 1028 // 1029 // Returns the enrollment (opt in) status of an account to the Compute Optimizer 1030 // service. 1031 // 1032 // If the account is the management account of an organization, this action 1033 // also confirms the enrollment status of member accounts of the organization. 1034 // Use the GetEnrollmentStatusesForOrganization action to get detailed information 1035 // about the enrollment status of member accounts of an organization. 1036 // 1037 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1038 // with awserr.Error's Code and Message methods to get detailed information about 1039 // the error. 1040 // 1041 // See the AWS API reference guide for AWS Compute Optimizer's 1042 // API operation GetEnrollmentStatus for usage and error information. 1043 // 1044 // Returned Error Types: 1045 // * InternalServerException 1046 // An internal error has occurred. Try your call again. 1047 // 1048 // * ServiceUnavailableException 1049 // The request has failed due to a temporary failure of the server. 1050 // 1051 // * AccessDeniedException 1052 // You do not have sufficient access to perform this action. 1053 // 1054 // * InvalidParameterValueException 1055 // The value supplied for the input parameter is out of range or not valid. 1056 // 1057 // * MissingAuthenticationToken 1058 // The request must contain either a valid (registered) Amazon Web Services 1059 // access key ID or X.509 certificate. 1060 // 1061 // * ThrottlingException 1062 // The request was denied due to request throttling. 1063 // 1064 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatus 1065 func (c *ComputeOptimizer) GetEnrollmentStatus(input *GetEnrollmentStatusInput) (*GetEnrollmentStatusOutput, error) { 1066 req, out := c.GetEnrollmentStatusRequest(input) 1067 return out, req.Send() 1068 } 1069 1070 // GetEnrollmentStatusWithContext is the same as GetEnrollmentStatus with the addition of 1071 // the ability to pass a context and additional request options. 1072 // 1073 // See GetEnrollmentStatus for details on how to use this API operation. 1074 // 1075 // The context must be non-nil and will be used for request cancellation. If 1076 // the context is nil a panic will occur. In the future the SDK may create 1077 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1078 // for more information on using Contexts. 1079 func (c *ComputeOptimizer) GetEnrollmentStatusWithContext(ctx aws.Context, input *GetEnrollmentStatusInput, opts ...request.Option) (*GetEnrollmentStatusOutput, error) { 1080 req, out := c.GetEnrollmentStatusRequest(input) 1081 req.SetContext(ctx) 1082 req.ApplyOptions(opts...) 1083 return out, req.Send() 1084 } 1085 1086 const opGetEnrollmentStatusesForOrganization = "GetEnrollmentStatusesForOrganization" 1087 1088 // GetEnrollmentStatusesForOrganizationRequest generates a "aws/request.Request" representing the 1089 // client's request for the GetEnrollmentStatusesForOrganization operation. The "output" return 1090 // value will be populated with the request's response once the request completes 1091 // successfully. 1092 // 1093 // Use "Send" method on the returned Request to send the API call to the service. 1094 // the "output" return value is not valid until after Send returns without error. 1095 // 1096 // See GetEnrollmentStatusesForOrganization for more information on using the GetEnrollmentStatusesForOrganization 1097 // API call, and error handling. 1098 // 1099 // This method is useful when you want to inject custom logic or configuration 1100 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1101 // 1102 // 1103 // // Example sending a request using the GetEnrollmentStatusesForOrganizationRequest method. 1104 // req, resp := client.GetEnrollmentStatusesForOrganizationRequest(params) 1105 // 1106 // err := req.Send() 1107 // if err == nil { // resp is now filled 1108 // fmt.Println(resp) 1109 // } 1110 // 1111 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatusesForOrganization 1112 func (c *ComputeOptimizer) GetEnrollmentStatusesForOrganizationRequest(input *GetEnrollmentStatusesForOrganizationInput) (req *request.Request, output *GetEnrollmentStatusesForOrganizationOutput) { 1113 op := &request.Operation{ 1114 Name: opGetEnrollmentStatusesForOrganization, 1115 HTTPMethod: "POST", 1116 HTTPPath: "/", 1117 } 1118 1119 if input == nil { 1120 input = &GetEnrollmentStatusesForOrganizationInput{} 1121 } 1122 1123 output = &GetEnrollmentStatusesForOrganizationOutput{} 1124 req = c.newRequest(op, input, output) 1125 return 1126 } 1127 1128 // GetEnrollmentStatusesForOrganization API operation for AWS Compute Optimizer. 1129 // 1130 // Returns the Compute Optimizer enrollment (opt-in) status of organization 1131 // member accounts, if your account is an organization management account. 1132 // 1133 // To get the enrollment status of standalone accounts, use the GetEnrollmentStatus 1134 // action. 1135 // 1136 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1137 // with awserr.Error's Code and Message methods to get detailed information about 1138 // the error. 1139 // 1140 // See the AWS API reference guide for AWS Compute Optimizer's 1141 // API operation GetEnrollmentStatusesForOrganization for usage and error information. 1142 // 1143 // Returned Error Types: 1144 // * InternalServerException 1145 // An internal error has occurred. Try your call again. 1146 // 1147 // * ServiceUnavailableException 1148 // The request has failed due to a temporary failure of the server. 1149 // 1150 // * AccessDeniedException 1151 // You do not have sufficient access to perform this action. 1152 // 1153 // * InvalidParameterValueException 1154 // The value supplied for the input parameter is out of range or not valid. 1155 // 1156 // * MissingAuthenticationToken 1157 // The request must contain either a valid (registered) Amazon Web Services 1158 // access key ID or X.509 certificate. 1159 // 1160 // * ThrottlingException 1161 // The request was denied due to request throttling. 1162 // 1163 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatusesForOrganization 1164 func (c *ComputeOptimizer) GetEnrollmentStatusesForOrganization(input *GetEnrollmentStatusesForOrganizationInput) (*GetEnrollmentStatusesForOrganizationOutput, error) { 1165 req, out := c.GetEnrollmentStatusesForOrganizationRequest(input) 1166 return out, req.Send() 1167 } 1168 1169 // GetEnrollmentStatusesForOrganizationWithContext is the same as GetEnrollmentStatusesForOrganization with the addition of 1170 // the ability to pass a context and additional request options. 1171 // 1172 // See GetEnrollmentStatusesForOrganization for details on how to use this API operation. 1173 // 1174 // The context must be non-nil and will be used for request cancellation. If 1175 // the context is nil a panic will occur. In the future the SDK may create 1176 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1177 // for more information on using Contexts. 1178 func (c *ComputeOptimizer) GetEnrollmentStatusesForOrganizationWithContext(ctx aws.Context, input *GetEnrollmentStatusesForOrganizationInput, opts ...request.Option) (*GetEnrollmentStatusesForOrganizationOutput, error) { 1179 req, out := c.GetEnrollmentStatusesForOrganizationRequest(input) 1180 req.SetContext(ctx) 1181 req.ApplyOptions(opts...) 1182 return out, req.Send() 1183 } 1184 1185 const opGetLambdaFunctionRecommendations = "GetLambdaFunctionRecommendations" 1186 1187 // GetLambdaFunctionRecommendationsRequest generates a "aws/request.Request" representing the 1188 // client's request for the GetLambdaFunctionRecommendations operation. The "output" return 1189 // value will be populated with the request's response once the request completes 1190 // successfully. 1191 // 1192 // Use "Send" method on the returned Request to send the API call to the service. 1193 // the "output" return value is not valid until after Send returns without error. 1194 // 1195 // See GetLambdaFunctionRecommendations for more information on using the GetLambdaFunctionRecommendations 1196 // API call, and error handling. 1197 // 1198 // This method is useful when you want to inject custom logic or configuration 1199 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1200 // 1201 // 1202 // // Example sending a request using the GetLambdaFunctionRecommendationsRequest method. 1203 // req, resp := client.GetLambdaFunctionRecommendationsRequest(params) 1204 // 1205 // err := req.Send() 1206 // if err == nil { // resp is now filled 1207 // fmt.Println(resp) 1208 // } 1209 // 1210 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLambdaFunctionRecommendations 1211 func (c *ComputeOptimizer) GetLambdaFunctionRecommendationsRequest(input *GetLambdaFunctionRecommendationsInput) (req *request.Request, output *GetLambdaFunctionRecommendationsOutput) { 1212 op := &request.Operation{ 1213 Name: opGetLambdaFunctionRecommendations, 1214 HTTPMethod: "POST", 1215 HTTPPath: "/", 1216 } 1217 1218 if input == nil { 1219 input = &GetLambdaFunctionRecommendationsInput{} 1220 } 1221 1222 output = &GetLambdaFunctionRecommendationsOutput{} 1223 req = c.newRequest(op, input, output) 1224 return 1225 } 1226 1227 // GetLambdaFunctionRecommendations API operation for AWS Compute Optimizer. 1228 // 1229 // Returns Lambda function recommendations. 1230 // 1231 // Compute Optimizer generates recommendations for functions that meet a specific 1232 // set of requirements. For more information, see the Supported resources and 1233 // requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html) 1234 // in the Compute Optimizer User Guide. 1235 // 1236 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1237 // with awserr.Error's Code and Message methods to get detailed information about 1238 // the error. 1239 // 1240 // See the AWS API reference guide for AWS Compute Optimizer's 1241 // API operation GetLambdaFunctionRecommendations for usage and error information. 1242 // 1243 // Returned Error Types: 1244 // * OptInRequiredException 1245 // The account is not opted in to Compute Optimizer. 1246 // 1247 // * InternalServerException 1248 // An internal error has occurred. Try your call again. 1249 // 1250 // * ServiceUnavailableException 1251 // The request has failed due to a temporary failure of the server. 1252 // 1253 // * AccessDeniedException 1254 // You do not have sufficient access to perform this action. 1255 // 1256 // * InvalidParameterValueException 1257 // The value supplied for the input parameter is out of range or not valid. 1258 // 1259 // * MissingAuthenticationToken 1260 // The request must contain either a valid (registered) Amazon Web Services 1261 // access key ID or X.509 certificate. 1262 // 1263 // * ThrottlingException 1264 // The request was denied due to request throttling. 1265 // 1266 // * LimitExceededException 1267 // The request exceeds a limit of the service. 1268 // 1269 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLambdaFunctionRecommendations 1270 func (c *ComputeOptimizer) GetLambdaFunctionRecommendations(input *GetLambdaFunctionRecommendationsInput) (*GetLambdaFunctionRecommendationsOutput, error) { 1271 req, out := c.GetLambdaFunctionRecommendationsRequest(input) 1272 return out, req.Send() 1273 } 1274 1275 // GetLambdaFunctionRecommendationsWithContext is the same as GetLambdaFunctionRecommendations with the addition of 1276 // the ability to pass a context and additional request options. 1277 // 1278 // See GetLambdaFunctionRecommendations for details on how to use this API operation. 1279 // 1280 // The context must be non-nil and will be used for request cancellation. If 1281 // the context is nil a panic will occur. In the future the SDK may create 1282 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1283 // for more information on using Contexts. 1284 func (c *ComputeOptimizer) GetLambdaFunctionRecommendationsWithContext(ctx aws.Context, input *GetLambdaFunctionRecommendationsInput, opts ...request.Option) (*GetLambdaFunctionRecommendationsOutput, error) { 1285 req, out := c.GetLambdaFunctionRecommendationsRequest(input) 1286 req.SetContext(ctx) 1287 req.ApplyOptions(opts...) 1288 return out, req.Send() 1289 } 1290 1291 const opGetRecommendationSummaries = "GetRecommendationSummaries" 1292 1293 // GetRecommendationSummariesRequest generates a "aws/request.Request" representing the 1294 // client's request for the GetRecommendationSummaries operation. The "output" return 1295 // value will be populated with the request's response once the request completes 1296 // successfully. 1297 // 1298 // Use "Send" method on the returned Request to send the API call to the service. 1299 // the "output" return value is not valid until after Send returns without error. 1300 // 1301 // See GetRecommendationSummaries for more information on using the GetRecommendationSummaries 1302 // API call, and error handling. 1303 // 1304 // This method is useful when you want to inject custom logic or configuration 1305 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1306 // 1307 // 1308 // // Example sending a request using the GetRecommendationSummariesRequest method. 1309 // req, resp := client.GetRecommendationSummariesRequest(params) 1310 // 1311 // err := req.Send() 1312 // if err == nil { // resp is now filled 1313 // fmt.Println(resp) 1314 // } 1315 // 1316 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummaries 1317 func (c *ComputeOptimizer) GetRecommendationSummariesRequest(input *GetRecommendationSummariesInput) (req *request.Request, output *GetRecommendationSummariesOutput) { 1318 op := &request.Operation{ 1319 Name: opGetRecommendationSummaries, 1320 HTTPMethod: "POST", 1321 HTTPPath: "/", 1322 } 1323 1324 if input == nil { 1325 input = &GetRecommendationSummariesInput{} 1326 } 1327 1328 output = &GetRecommendationSummariesOutput{} 1329 req = c.newRequest(op, input, output) 1330 return 1331 } 1332 1333 // GetRecommendationSummaries API operation for AWS Compute Optimizer. 1334 // 1335 // Returns the optimization findings for an account. 1336 // 1337 // It returns the number of: 1338 // 1339 // * Amazon EC2 instances in an account that are Underprovisioned, Overprovisioned, 1340 // or Optimized. 1341 // 1342 // * Auto Scaling groups in an account that are NotOptimized, or Optimized. 1343 // 1344 // * Amazon EBS volumes in an account that are NotOptimized, or Optimized. 1345 // 1346 // * Lambda functions in an account that are NotOptimized, or Optimized. 1347 // 1348 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1349 // with awserr.Error's Code and Message methods to get detailed information about 1350 // the error. 1351 // 1352 // See the AWS API reference guide for AWS Compute Optimizer's 1353 // API operation GetRecommendationSummaries for usage and error information. 1354 // 1355 // Returned Error Types: 1356 // * OptInRequiredException 1357 // The account is not opted in to Compute Optimizer. 1358 // 1359 // * InternalServerException 1360 // An internal error has occurred. Try your call again. 1361 // 1362 // * ServiceUnavailableException 1363 // The request has failed due to a temporary failure of the server. 1364 // 1365 // * AccessDeniedException 1366 // You do not have sufficient access to perform this action. 1367 // 1368 // * InvalidParameterValueException 1369 // The value supplied for the input parameter is out of range or not valid. 1370 // 1371 // * MissingAuthenticationToken 1372 // The request must contain either a valid (registered) Amazon Web Services 1373 // access key ID or X.509 certificate. 1374 // 1375 // * ThrottlingException 1376 // The request was denied due to request throttling. 1377 // 1378 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummaries 1379 func (c *ComputeOptimizer) GetRecommendationSummaries(input *GetRecommendationSummariesInput) (*GetRecommendationSummariesOutput, error) { 1380 req, out := c.GetRecommendationSummariesRequest(input) 1381 return out, req.Send() 1382 } 1383 1384 // GetRecommendationSummariesWithContext is the same as GetRecommendationSummaries with the addition of 1385 // the ability to pass a context and additional request options. 1386 // 1387 // See GetRecommendationSummaries for details on how to use this API operation. 1388 // 1389 // The context must be non-nil and will be used for request cancellation. If 1390 // the context is nil a panic will occur. In the future the SDK may create 1391 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1392 // for more information on using Contexts. 1393 func (c *ComputeOptimizer) GetRecommendationSummariesWithContext(ctx aws.Context, input *GetRecommendationSummariesInput, opts ...request.Option) (*GetRecommendationSummariesOutput, error) { 1394 req, out := c.GetRecommendationSummariesRequest(input) 1395 req.SetContext(ctx) 1396 req.ApplyOptions(opts...) 1397 return out, req.Send() 1398 } 1399 1400 const opUpdateEnrollmentStatus = "UpdateEnrollmentStatus" 1401 1402 // UpdateEnrollmentStatusRequest generates a "aws/request.Request" representing the 1403 // client's request for the UpdateEnrollmentStatus operation. The "output" return 1404 // value will be populated with the request's response once the request completes 1405 // successfully. 1406 // 1407 // Use "Send" method on the returned Request to send the API call to the service. 1408 // the "output" return value is not valid until after Send returns without error. 1409 // 1410 // See UpdateEnrollmentStatus for more information on using the UpdateEnrollmentStatus 1411 // API call, and error handling. 1412 // 1413 // This method is useful when you want to inject custom logic or configuration 1414 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1415 // 1416 // 1417 // // Example sending a request using the UpdateEnrollmentStatusRequest method. 1418 // req, resp := client.UpdateEnrollmentStatusRequest(params) 1419 // 1420 // err := req.Send() 1421 // if err == nil { // resp is now filled 1422 // fmt.Println(resp) 1423 // } 1424 // 1425 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UpdateEnrollmentStatus 1426 func (c *ComputeOptimizer) UpdateEnrollmentStatusRequest(input *UpdateEnrollmentStatusInput) (req *request.Request, output *UpdateEnrollmentStatusOutput) { 1427 op := &request.Operation{ 1428 Name: opUpdateEnrollmentStatus, 1429 HTTPMethod: "POST", 1430 HTTPPath: "/", 1431 } 1432 1433 if input == nil { 1434 input = &UpdateEnrollmentStatusInput{} 1435 } 1436 1437 output = &UpdateEnrollmentStatusOutput{} 1438 req = c.newRequest(op, input, output) 1439 return 1440 } 1441 1442 // UpdateEnrollmentStatus API operation for AWS Compute Optimizer. 1443 // 1444 // Updates the enrollment (opt in and opt out) status of an account to the Compute 1445 // Optimizer service. 1446 // 1447 // If the account is a management account of an organization, this action can 1448 // also be used to enroll member accounts of the organization. 1449 // 1450 // You must have the appropriate permissions to opt in to Compute Optimizer, 1451 // to view its recommendations, and to opt out. For more information, see Controlling 1452 // access with Amazon Web Services Identity and Access Management (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html) 1453 // in the Compute Optimizer User Guide. 1454 // 1455 // When you opt in, Compute Optimizer automatically creates a service-linked 1456 // role in your account to access its data. For more information, see Using 1457 // Service-Linked Roles for Compute Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/using-service-linked-roles.html) 1458 // in the Compute Optimizer User Guide. 1459 // 1460 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1461 // with awserr.Error's Code and Message methods to get detailed information about 1462 // the error. 1463 // 1464 // See the AWS API reference guide for AWS Compute Optimizer's 1465 // API operation UpdateEnrollmentStatus for usage and error information. 1466 // 1467 // Returned Error Types: 1468 // * InternalServerException 1469 // An internal error has occurred. Try your call again. 1470 // 1471 // * ServiceUnavailableException 1472 // The request has failed due to a temporary failure of the server. 1473 // 1474 // * AccessDeniedException 1475 // You do not have sufficient access to perform this action. 1476 // 1477 // * InvalidParameterValueException 1478 // The value supplied for the input parameter is out of range or not valid. 1479 // 1480 // * MissingAuthenticationToken 1481 // The request must contain either a valid (registered) Amazon Web Services 1482 // access key ID or X.509 certificate. 1483 // 1484 // * ThrottlingException 1485 // The request was denied due to request throttling. 1486 // 1487 // See also, https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UpdateEnrollmentStatus 1488 func (c *ComputeOptimizer) UpdateEnrollmentStatus(input *UpdateEnrollmentStatusInput) (*UpdateEnrollmentStatusOutput, error) { 1489 req, out := c.UpdateEnrollmentStatusRequest(input) 1490 return out, req.Send() 1491 } 1492 1493 // UpdateEnrollmentStatusWithContext is the same as UpdateEnrollmentStatus with the addition of 1494 // the ability to pass a context and additional request options. 1495 // 1496 // See UpdateEnrollmentStatus for details on how to use this API operation. 1497 // 1498 // The context must be non-nil and will be used for request cancellation. If 1499 // the context is nil a panic will occur. In the future the SDK may create 1500 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1501 // for more information on using Contexts. 1502 func (c *ComputeOptimizer) UpdateEnrollmentStatusWithContext(ctx aws.Context, input *UpdateEnrollmentStatusInput, opts ...request.Option) (*UpdateEnrollmentStatusOutput, error) { 1503 req, out := c.UpdateEnrollmentStatusRequest(input) 1504 req.SetContext(ctx) 1505 req.ApplyOptions(opts...) 1506 return out, req.Send() 1507 } 1508 1509 // You do not have sufficient access to perform this action. 1510 type AccessDeniedException struct { 1511 _ struct{} `type:"structure"` 1512 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1513 1514 Message_ *string `locationName:"message" type:"string"` 1515 } 1516 1517 // String returns the string representation. 1518 // 1519 // API parameter values that are decorated as "sensitive" in the API will not 1520 // be included in the string output. The member name will be present, but the 1521 // value will be replaced with "sensitive". 1522 func (s AccessDeniedException) String() string { 1523 return awsutil.Prettify(s) 1524 } 1525 1526 // GoString returns the string representation. 1527 // 1528 // API parameter values that are decorated as "sensitive" in the API will not 1529 // be included in the string output. The member name will be present, but the 1530 // value will be replaced with "sensitive". 1531 func (s AccessDeniedException) GoString() string { 1532 return s.String() 1533 } 1534 1535 func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 1536 return &AccessDeniedException{ 1537 RespMetadata: v, 1538 } 1539 } 1540 1541 // Code returns the exception type name. 1542 func (s *AccessDeniedException) Code() string { 1543 return "AccessDeniedException" 1544 } 1545 1546 // Message returns the exception's message. 1547 func (s *AccessDeniedException) Message() string { 1548 if s.Message_ != nil { 1549 return *s.Message_ 1550 } 1551 return "" 1552 } 1553 1554 // OrigErr always returns nil, satisfies awserr.Error interface. 1555 func (s *AccessDeniedException) OrigErr() error { 1556 return nil 1557 } 1558 1559 func (s *AccessDeniedException) Error() string { 1560 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1561 } 1562 1563 // Status code returns the HTTP status code for the request's response error. 1564 func (s *AccessDeniedException) StatusCode() int { 1565 return s.RespMetadata.StatusCode 1566 } 1567 1568 // RequestID returns the service's response RequestID for request. 1569 func (s *AccessDeniedException) RequestID() string { 1570 return s.RespMetadata.RequestID 1571 } 1572 1573 // Describes the enrollment status of an organization's member accounts in Compute 1574 // Optimizer. 1575 type AccountEnrollmentStatus struct { 1576 _ struct{} `type:"structure"` 1577 1578 // The Amazon Web Services account ID. 1579 AccountId *string `locationName:"accountId" type:"string"` 1580 1581 // The Unix epoch timestamp, in seconds, of when the account enrollment status 1582 // was last updated. 1583 LastUpdatedTimestamp *time.Time `locationName:"lastUpdatedTimestamp" type:"timestamp"` 1584 1585 // The account enrollment status. 1586 Status *string `locationName:"status" type:"string" enum:"Status"` 1587 1588 // The reason for the account enrollment status. 1589 // 1590 // For example, an account might show a status of Pending because member accounts 1591 // of an organization require more time to be enrolled in the service. 1592 StatusReason *string `locationName:"statusReason" type:"string"` 1593 } 1594 1595 // String returns the string representation. 1596 // 1597 // API parameter values that are decorated as "sensitive" in the API will not 1598 // be included in the string output. The member name will be present, but the 1599 // value will be replaced with "sensitive". 1600 func (s AccountEnrollmentStatus) String() string { 1601 return awsutil.Prettify(s) 1602 } 1603 1604 // GoString returns the string representation. 1605 // 1606 // API parameter values that are decorated as "sensitive" in the API will not 1607 // be included in the string output. The member name will be present, but the 1608 // value will be replaced with "sensitive". 1609 func (s AccountEnrollmentStatus) GoString() string { 1610 return s.String() 1611 } 1612 1613 // SetAccountId sets the AccountId field's value. 1614 func (s *AccountEnrollmentStatus) SetAccountId(v string) *AccountEnrollmentStatus { 1615 s.AccountId = &v 1616 return s 1617 } 1618 1619 // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value. 1620 func (s *AccountEnrollmentStatus) SetLastUpdatedTimestamp(v time.Time) *AccountEnrollmentStatus { 1621 s.LastUpdatedTimestamp = &v 1622 return s 1623 } 1624 1625 // SetStatus sets the Status field's value. 1626 func (s *AccountEnrollmentStatus) SetStatus(v string) *AccountEnrollmentStatus { 1627 s.Status = &v 1628 return s 1629 } 1630 1631 // SetStatusReason sets the StatusReason field's value. 1632 func (s *AccountEnrollmentStatus) SetStatusReason(v string) *AccountEnrollmentStatus { 1633 s.StatusReason = &v 1634 return s 1635 } 1636 1637 // Describes the configuration of an Auto Scaling group. 1638 type AutoScalingGroupConfiguration struct { 1639 _ struct{} `type:"structure"` 1640 1641 // The desired capacity, or number of instances, for the Auto Scaling group. 1642 DesiredCapacity *int64 `locationName:"desiredCapacity" type:"integer"` 1643 1644 // The instance type for the Auto Scaling group. 1645 InstanceType *string `locationName:"instanceType" type:"string"` 1646 1647 // The maximum size, or maximum number of instances, for the Auto Scaling group. 1648 MaxSize *int64 `locationName:"maxSize" type:"integer"` 1649 1650 // The minimum size, or minimum number of instances, for the Auto Scaling group. 1651 MinSize *int64 `locationName:"minSize" type:"integer"` 1652 } 1653 1654 // String returns the string representation. 1655 // 1656 // API parameter values that are decorated as "sensitive" in the API will not 1657 // be included in the string output. The member name will be present, but the 1658 // value will be replaced with "sensitive". 1659 func (s AutoScalingGroupConfiguration) String() string { 1660 return awsutil.Prettify(s) 1661 } 1662 1663 // GoString returns the string representation. 1664 // 1665 // API parameter values that are decorated as "sensitive" in the API will not 1666 // be included in the string output. The member name will be present, but the 1667 // value will be replaced with "sensitive". 1668 func (s AutoScalingGroupConfiguration) GoString() string { 1669 return s.String() 1670 } 1671 1672 // SetDesiredCapacity sets the DesiredCapacity field's value. 1673 func (s *AutoScalingGroupConfiguration) SetDesiredCapacity(v int64) *AutoScalingGroupConfiguration { 1674 s.DesiredCapacity = &v 1675 return s 1676 } 1677 1678 // SetInstanceType sets the InstanceType field's value. 1679 func (s *AutoScalingGroupConfiguration) SetInstanceType(v string) *AutoScalingGroupConfiguration { 1680 s.InstanceType = &v 1681 return s 1682 } 1683 1684 // SetMaxSize sets the MaxSize field's value. 1685 func (s *AutoScalingGroupConfiguration) SetMaxSize(v int64) *AutoScalingGroupConfiguration { 1686 s.MaxSize = &v 1687 return s 1688 } 1689 1690 // SetMinSize sets the MinSize field's value. 1691 func (s *AutoScalingGroupConfiguration) SetMinSize(v int64) *AutoScalingGroupConfiguration { 1692 s.MinSize = &v 1693 return s 1694 } 1695 1696 // Describes an Auto Scaling group recommendation. 1697 type AutoScalingGroupRecommendation struct { 1698 _ struct{} `type:"structure"` 1699 1700 // The Amazon Web Services account ID of the Auto Scaling group. 1701 AccountId *string `locationName:"accountId" type:"string"` 1702 1703 // The Amazon Resource Name (ARN) of the Auto Scaling group. 1704 AutoScalingGroupArn *string `locationName:"autoScalingGroupArn" type:"string"` 1705 1706 // The name of the Auto Scaling group. 1707 AutoScalingGroupName *string `locationName:"autoScalingGroupName" type:"string"` 1708 1709 // An array of objects that describe the current configuration of the Auto Scaling 1710 // group. 1711 CurrentConfiguration *AutoScalingGroupConfiguration `locationName:"currentConfiguration" type:"structure"` 1712 1713 // The finding classification of the Auto Scaling group. 1714 // 1715 // Findings for Auto Scaling groups include: 1716 // 1717 // * NotOptimized —An Auto Scaling group is considered not optimized when 1718 // Compute Optimizer identifies a recommendation that can provide better 1719 // performance for your workload. 1720 // 1721 // * Optimized —An Auto Scaling group is considered optimized when Compute 1722 // Optimizer determines that the group is correctly provisioned to run your 1723 // workload based on the chosen instance type. For optimized resources, Compute 1724 // Optimizer might recommend a new generation instance type. 1725 Finding *string `locationName:"finding" type:"string" enum:"Finding"` 1726 1727 // The timestamp of when the Auto Scaling group recommendation was last refreshed. 1728 LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"` 1729 1730 // The number of days for which utilization metrics were analyzed for the Auto 1731 // Scaling group. 1732 LookBackPeriodInDays *float64 `locationName:"lookBackPeriodInDays" type:"double"` 1733 1734 // An array of objects that describe the recommendation options for the Auto 1735 // Scaling group. 1736 RecommendationOptions []*AutoScalingGroupRecommendationOption `locationName:"recommendationOptions" type:"list"` 1737 1738 // An array of objects that describe the utilization metrics of the Auto Scaling 1739 // group. 1740 UtilizationMetrics []*UtilizationMetric `locationName:"utilizationMetrics" type:"list"` 1741 } 1742 1743 // String returns the string representation. 1744 // 1745 // API parameter values that are decorated as "sensitive" in the API will not 1746 // be included in the string output. The member name will be present, but the 1747 // value will be replaced with "sensitive". 1748 func (s AutoScalingGroupRecommendation) String() string { 1749 return awsutil.Prettify(s) 1750 } 1751 1752 // GoString returns the string representation. 1753 // 1754 // API parameter values that are decorated as "sensitive" in the API will not 1755 // be included in the string output. The member name will be present, but the 1756 // value will be replaced with "sensitive". 1757 func (s AutoScalingGroupRecommendation) GoString() string { 1758 return s.String() 1759 } 1760 1761 // SetAccountId sets the AccountId field's value. 1762 func (s *AutoScalingGroupRecommendation) SetAccountId(v string) *AutoScalingGroupRecommendation { 1763 s.AccountId = &v 1764 return s 1765 } 1766 1767 // SetAutoScalingGroupArn sets the AutoScalingGroupArn field's value. 1768 func (s *AutoScalingGroupRecommendation) SetAutoScalingGroupArn(v string) *AutoScalingGroupRecommendation { 1769 s.AutoScalingGroupArn = &v 1770 return s 1771 } 1772 1773 // SetAutoScalingGroupName sets the AutoScalingGroupName field's value. 1774 func (s *AutoScalingGroupRecommendation) SetAutoScalingGroupName(v string) *AutoScalingGroupRecommendation { 1775 s.AutoScalingGroupName = &v 1776 return s 1777 } 1778 1779 // SetCurrentConfiguration sets the CurrentConfiguration field's value. 1780 func (s *AutoScalingGroupRecommendation) SetCurrentConfiguration(v *AutoScalingGroupConfiguration) *AutoScalingGroupRecommendation { 1781 s.CurrentConfiguration = v 1782 return s 1783 } 1784 1785 // SetFinding sets the Finding field's value. 1786 func (s *AutoScalingGroupRecommendation) SetFinding(v string) *AutoScalingGroupRecommendation { 1787 s.Finding = &v 1788 return s 1789 } 1790 1791 // SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value. 1792 func (s *AutoScalingGroupRecommendation) SetLastRefreshTimestamp(v time.Time) *AutoScalingGroupRecommendation { 1793 s.LastRefreshTimestamp = &v 1794 return s 1795 } 1796 1797 // SetLookBackPeriodInDays sets the LookBackPeriodInDays field's value. 1798 func (s *AutoScalingGroupRecommendation) SetLookBackPeriodInDays(v float64) *AutoScalingGroupRecommendation { 1799 s.LookBackPeriodInDays = &v 1800 return s 1801 } 1802 1803 // SetRecommendationOptions sets the RecommendationOptions field's value. 1804 func (s *AutoScalingGroupRecommendation) SetRecommendationOptions(v []*AutoScalingGroupRecommendationOption) *AutoScalingGroupRecommendation { 1805 s.RecommendationOptions = v 1806 return s 1807 } 1808 1809 // SetUtilizationMetrics sets the UtilizationMetrics field's value. 1810 func (s *AutoScalingGroupRecommendation) SetUtilizationMetrics(v []*UtilizationMetric) *AutoScalingGroupRecommendation { 1811 s.UtilizationMetrics = v 1812 return s 1813 } 1814 1815 // Describes a recommendation option for an Auto Scaling group. 1816 type AutoScalingGroupRecommendationOption struct { 1817 _ struct{} `type:"structure"` 1818 1819 // An array of objects that describe an Auto Scaling group configuration. 1820 Configuration *AutoScalingGroupConfiguration `locationName:"configuration" type:"structure"` 1821 1822 // The performance risk of the Auto Scaling group configuration recommendation. 1823 // 1824 // Performance risk indicates the likelihood of the recommended instance type 1825 // not meeting the resource needs of your workload. Compute Optimizer calculates 1826 // an individual performance risk score for each specification of the recommended 1827 // instance, including CPU, memory, EBS throughput, EBS IOPS, disk throughput, 1828 // disk IOPS, network throughput, and network PPS. The performance risk of the 1829 // recommended instance is calculated as the maximum performance risk score 1830 // across the analyzed resource specifications. 1831 // 1832 // The value ranges from 0 - 4, with 0 meaning that the recommended resource 1833 // is predicted to always provide enough hardware capability. The higher the 1834 // performance risk is, the more likely you should validate whether the recommendation 1835 // will meet the performance requirements of your workload before migrating 1836 // your resource. 1837 PerformanceRisk *float64 `locationName:"performanceRisk" type:"double"` 1838 1839 // An array of objects that describe the projected utilization metrics of the 1840 // Auto Scaling group recommendation option. 1841 // 1842 // The Cpu and Memory metrics are the only projected utilization metrics returned. 1843 // Additionally, the Memory metric is returned only for resources that have 1844 // the unified CloudWatch agent installed on them. For more information, see 1845 // Enabling Memory Utilization with the CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent). 1846 ProjectedUtilizationMetrics []*UtilizationMetric `locationName:"projectedUtilizationMetrics" type:"list"` 1847 1848 // The rank of the Auto Scaling group recommendation option. 1849 // 1850 // The top recommendation option is ranked as 1. 1851 Rank *int64 `locationName:"rank" type:"integer"` 1852 } 1853 1854 // String returns the string representation. 1855 // 1856 // API parameter values that are decorated as "sensitive" in the API will not 1857 // be included in the string output. The member name will be present, but the 1858 // value will be replaced with "sensitive". 1859 func (s AutoScalingGroupRecommendationOption) String() string { 1860 return awsutil.Prettify(s) 1861 } 1862 1863 // GoString returns the string representation. 1864 // 1865 // API parameter values that are decorated as "sensitive" in the API will not 1866 // be included in the string output. The member name will be present, but the 1867 // value will be replaced with "sensitive". 1868 func (s AutoScalingGroupRecommendationOption) GoString() string { 1869 return s.String() 1870 } 1871 1872 // SetConfiguration sets the Configuration field's value. 1873 func (s *AutoScalingGroupRecommendationOption) SetConfiguration(v *AutoScalingGroupConfiguration) *AutoScalingGroupRecommendationOption { 1874 s.Configuration = v 1875 return s 1876 } 1877 1878 // SetPerformanceRisk sets the PerformanceRisk field's value. 1879 func (s *AutoScalingGroupRecommendationOption) SetPerformanceRisk(v float64) *AutoScalingGroupRecommendationOption { 1880 s.PerformanceRisk = &v 1881 return s 1882 } 1883 1884 // SetProjectedUtilizationMetrics sets the ProjectedUtilizationMetrics field's value. 1885 func (s *AutoScalingGroupRecommendationOption) SetProjectedUtilizationMetrics(v []*UtilizationMetric) *AutoScalingGroupRecommendationOption { 1886 s.ProjectedUtilizationMetrics = v 1887 return s 1888 } 1889 1890 // SetRank sets the Rank field's value. 1891 func (s *AutoScalingGroupRecommendationOption) SetRank(v int64) *AutoScalingGroupRecommendationOption { 1892 s.Rank = &v 1893 return s 1894 } 1895 1896 type DescribeRecommendationExportJobsInput struct { 1897 _ struct{} `type:"structure"` 1898 1899 // An array of objects to specify a filter that returns a more specific list 1900 // of export jobs. 1901 Filters []*JobFilter `locationName:"filters" type:"list"` 1902 1903 // The identification numbers of the export jobs to return. 1904 // 1905 // An export job ID is returned when you create an export using the ExportAutoScalingGroupRecommendations 1906 // or ExportEC2InstanceRecommendations actions. 1907 // 1908 // All export jobs created in the last seven days are returned if this parameter 1909 // is omitted. 1910 JobIds []*string `locationName:"jobIds" type:"list"` 1911 1912 // The maximum number of export jobs to return with a single request. 1913 // 1914 // To retrieve the remaining results, make another request with the returned 1915 // nextToken value. 1916 MaxResults *int64 `locationName:"maxResults" type:"integer"` 1917 1918 // The token to advance to the next page of export jobs. 1919 NextToken *string `locationName:"nextToken" type:"string"` 1920 } 1921 1922 // String returns the string representation. 1923 // 1924 // API parameter values that are decorated as "sensitive" in the API will not 1925 // be included in the string output. The member name will be present, but the 1926 // value will be replaced with "sensitive". 1927 func (s DescribeRecommendationExportJobsInput) String() string { 1928 return awsutil.Prettify(s) 1929 } 1930 1931 // GoString returns the string representation. 1932 // 1933 // API parameter values that are decorated as "sensitive" in the API will not 1934 // be included in the string output. The member name will be present, but the 1935 // value will be replaced with "sensitive". 1936 func (s DescribeRecommendationExportJobsInput) GoString() string { 1937 return s.String() 1938 } 1939 1940 // SetFilters sets the Filters field's value. 1941 func (s *DescribeRecommendationExportJobsInput) SetFilters(v []*JobFilter) *DescribeRecommendationExportJobsInput { 1942 s.Filters = v 1943 return s 1944 } 1945 1946 // SetJobIds sets the JobIds field's value. 1947 func (s *DescribeRecommendationExportJobsInput) SetJobIds(v []*string) *DescribeRecommendationExportJobsInput { 1948 s.JobIds = v 1949 return s 1950 } 1951 1952 // SetMaxResults sets the MaxResults field's value. 1953 func (s *DescribeRecommendationExportJobsInput) SetMaxResults(v int64) *DescribeRecommendationExportJobsInput { 1954 s.MaxResults = &v 1955 return s 1956 } 1957 1958 // SetNextToken sets the NextToken field's value. 1959 func (s *DescribeRecommendationExportJobsInput) SetNextToken(v string) *DescribeRecommendationExportJobsInput { 1960 s.NextToken = &v 1961 return s 1962 } 1963 1964 type DescribeRecommendationExportJobsOutput struct { 1965 _ struct{} `type:"structure"` 1966 1967 // The token to use to advance to the next page of export jobs. 1968 // 1969 // This value is null when there are no more pages of export jobs to return. 1970 NextToken *string `locationName:"nextToken" type:"string"` 1971 1972 // An array of objects that describe recommendation export jobs. 1973 RecommendationExportJobs []*RecommendationExportJob `locationName:"recommendationExportJobs" type:"list"` 1974 } 1975 1976 // String returns the string representation. 1977 // 1978 // API parameter values that are decorated as "sensitive" in the API will not 1979 // be included in the string output. The member name will be present, but the 1980 // value will be replaced with "sensitive". 1981 func (s DescribeRecommendationExportJobsOutput) String() string { 1982 return awsutil.Prettify(s) 1983 } 1984 1985 // GoString returns the string representation. 1986 // 1987 // API parameter values that are decorated as "sensitive" in the API will not 1988 // be included in the string output. The member name will be present, but the 1989 // value will be replaced with "sensitive". 1990 func (s DescribeRecommendationExportJobsOutput) GoString() string { 1991 return s.String() 1992 } 1993 1994 // SetNextToken sets the NextToken field's value. 1995 func (s *DescribeRecommendationExportJobsOutput) SetNextToken(v string) *DescribeRecommendationExportJobsOutput { 1996 s.NextToken = &v 1997 return s 1998 } 1999 2000 // SetRecommendationExportJobs sets the RecommendationExportJobs field's value. 2001 func (s *DescribeRecommendationExportJobsOutput) SetRecommendationExportJobs(v []*RecommendationExportJob) *DescribeRecommendationExportJobsOutput { 2002 s.RecommendationExportJobs = v 2003 return s 2004 } 2005 2006 // Describes a filter that returns a more specific list of Amazon Elastic Block 2007 // Store (Amazon EBS) volume recommendations. Use this filter with the GetEBSVolumeRecommendations 2008 // action. 2009 // 2010 // You can use LambdaFunctionRecommendationFilter with the GetLambdaFunctionRecommendations 2011 // action, JobFilter with the DescribeRecommendationExportJobs action, and Filter 2012 // with the GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations 2013 // actions. 2014 type EBSFilter struct { 2015 _ struct{} `type:"structure"` 2016 2017 // The name of the filter. 2018 // 2019 // Specify Finding to return recommendations with a specific finding classification 2020 // (for example, NotOptimized). 2021 Name *string `locationName:"name" type:"string" enum:"EBSFilterName"` 2022 2023 // The value of the filter. 2024 // 2025 // The valid values are Optimized, or NotOptimized. 2026 Values []*string `locationName:"values" type:"list"` 2027 } 2028 2029 // String returns the string representation. 2030 // 2031 // API parameter values that are decorated as "sensitive" in the API will not 2032 // be included in the string output. The member name will be present, but the 2033 // value will be replaced with "sensitive". 2034 func (s EBSFilter) String() string { 2035 return awsutil.Prettify(s) 2036 } 2037 2038 // GoString returns the string representation. 2039 // 2040 // API parameter values that are decorated as "sensitive" in the API will not 2041 // be included in the string output. The member name will be present, but the 2042 // value will be replaced with "sensitive". 2043 func (s EBSFilter) GoString() string { 2044 return s.String() 2045 } 2046 2047 // SetName sets the Name field's value. 2048 func (s *EBSFilter) SetName(v string) *EBSFilter { 2049 s.Name = &v 2050 return s 2051 } 2052 2053 // SetValues sets the Values field's value. 2054 func (s *EBSFilter) SetValues(v []*string) *EBSFilter { 2055 s.Values = v 2056 return s 2057 } 2058 2059 // Describes a utilization metric of an Amazon Elastic Block Store (Amazon EBS) 2060 // volume. 2061 // 2062 // Compare the utilization metric data of your resource against its projected 2063 // utilization metric data to determine the performance difference between your 2064 // current resource and the recommended option. 2065 type EBSUtilizationMetric struct { 2066 _ struct{} `type:"structure"` 2067 2068 // The name of the utilization metric. 2069 // 2070 // The following utilization metrics are available: 2071 // 2072 // * VolumeReadOpsPerSecond - The completed read operations per second from 2073 // the volume in a specified period of time. Unit: Count 2074 // 2075 // * VolumeWriteOpsPerSecond - The completed write operations per second 2076 // to the volume in a specified period of time. Unit: Count 2077 // 2078 // * VolumeReadBytesPerSecond - The bytes read per second from the volume 2079 // in a specified period of time. Unit: Bytes 2080 // 2081 // * VolumeWriteBytesPerSecond - The bytes written to the volume in a specified 2082 // period of time. Unit: Bytes 2083 Name *string `locationName:"name" type:"string" enum:"EBSMetricName"` 2084 2085 // The statistic of the utilization metric. 2086 // 2087 // The Compute Optimizer API, Command Line Interface (CLI), and SDKs return 2088 // utilization metrics using only the Maximum statistic, which is the highest 2089 // value observed during the specified period. 2090 // 2091 // The Compute Optimizer console displays graphs for some utilization metrics 2092 // using the Average statistic, which is the value of Sum / SampleCount during 2093 // the specified period. For more information, see Viewing resource recommendations 2094 // (https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html) 2095 // in the Compute Optimizer User Guide. You can also get averaged utilization 2096 // metric data for your resources using Amazon CloudWatch. For more information, 2097 // see the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html). 2098 Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"` 2099 2100 // The value of the utilization metric. 2101 Value *float64 `locationName:"value" type:"double"` 2102 } 2103 2104 // String returns the string representation. 2105 // 2106 // API parameter values that are decorated as "sensitive" in the API will not 2107 // be included in the string output. The member name will be present, but the 2108 // value will be replaced with "sensitive". 2109 func (s EBSUtilizationMetric) String() string { 2110 return awsutil.Prettify(s) 2111 } 2112 2113 // GoString returns the string representation. 2114 // 2115 // API parameter values that are decorated as "sensitive" in the API will not 2116 // be included in the string output. The member name will be present, but the 2117 // value will be replaced with "sensitive". 2118 func (s EBSUtilizationMetric) GoString() string { 2119 return s.String() 2120 } 2121 2122 // SetName sets the Name field's value. 2123 func (s *EBSUtilizationMetric) SetName(v string) *EBSUtilizationMetric { 2124 s.Name = &v 2125 return s 2126 } 2127 2128 // SetStatistic sets the Statistic field's value. 2129 func (s *EBSUtilizationMetric) SetStatistic(v string) *EBSUtilizationMetric { 2130 s.Statistic = &v 2131 return s 2132 } 2133 2134 // SetValue sets the Value field's value. 2135 func (s *EBSUtilizationMetric) SetValue(v float64) *EBSUtilizationMetric { 2136 s.Value = &v 2137 return s 2138 } 2139 2140 // Describes a filter that returns a more specific list of account enrollment 2141 // statuses. Use this filter with the GetEnrollmentStatusesForOrganization action. 2142 type EnrollmentFilter struct { 2143 _ struct{} `type:"structure"` 2144 2145 // The name of the filter. 2146 // 2147 // Specify Status to return accounts with a specific enrollment status (for 2148 // example, Active). 2149 Name *string `locationName:"name" type:"string" enum:"EnrollmentFilterName"` 2150 2151 // The value of the filter. 2152 // 2153 // The valid values are Active, Inactive, Pending, and Failed. 2154 Values []*string `locationName:"values" type:"list"` 2155 } 2156 2157 // String returns the string representation. 2158 // 2159 // API parameter values that are decorated as "sensitive" in the API will not 2160 // be included in the string output. The member name will be present, but the 2161 // value will be replaced with "sensitive". 2162 func (s EnrollmentFilter) String() string { 2163 return awsutil.Prettify(s) 2164 } 2165 2166 // GoString returns the string representation. 2167 // 2168 // API parameter values that are decorated as "sensitive" in the API will not 2169 // be included in the string output. The member name will be present, but the 2170 // value will be replaced with "sensitive". 2171 func (s EnrollmentFilter) GoString() string { 2172 return s.String() 2173 } 2174 2175 // SetName sets the Name field's value. 2176 func (s *EnrollmentFilter) SetName(v string) *EnrollmentFilter { 2177 s.Name = &v 2178 return s 2179 } 2180 2181 // SetValues sets the Values field's value. 2182 func (s *EnrollmentFilter) SetValues(v []*string) *EnrollmentFilter { 2183 s.Values = v 2184 return s 2185 } 2186 2187 type ExportAutoScalingGroupRecommendationsInput struct { 2188 _ struct{} `type:"structure"` 2189 2190 // The IDs of the Amazon Web Services accounts for which to export Auto Scaling 2191 // group recommendations. 2192 // 2193 // If your account is the management account of an organization, use this parameter 2194 // to specify the member account for which you want to export recommendations. 2195 // 2196 // This parameter cannot be specified together with the include member accounts 2197 // parameter. The parameters are mutually exclusive. 2198 // 2199 // Recommendations for member accounts are not included in the export if this 2200 // parameter, or the include member accounts parameter, is omitted. 2201 // 2202 // You can specify multiple account IDs per request. 2203 AccountIds []*string `locationName:"accountIds" type:"list"` 2204 2205 // The recommendations data to include in the export file. For more information 2206 // about the fields that can be exported, see Exported files (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files) 2207 // in the Compute Optimizer User Guide. 2208 FieldsToExport []*string `locationName:"fieldsToExport" type:"list"` 2209 2210 // The format of the export file. 2211 // 2212 // The only export file format currently supported is Csv. 2213 FileFormat *string `locationName:"fileFormat" type:"string" enum:"FileFormat"` 2214 2215 // An array of objects to specify a filter that exports a more specific set 2216 // of Auto Scaling group recommendations. 2217 Filters []*Filter `locationName:"filters" type:"list"` 2218 2219 // Indicates whether to include recommendations for resources in all member 2220 // accounts of the organization if your account is the management account of 2221 // an organization. 2222 // 2223 // The member accounts must also be opted in to Compute Optimizer, and trusted 2224 // access for Compute Optimizer must be enabled in the organization account. 2225 // For more information, see Compute Optimizer and Amazon Web Services Organizations 2226 // trusted access (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access) 2227 // in the Compute Optimizer User Guide. 2228 // 2229 // Recommendations for member accounts of the organization are not included 2230 // in the export file if this parameter is omitted. 2231 // 2232 // This parameter cannot be specified together with the account IDs parameter. 2233 // The parameters are mutually exclusive. 2234 // 2235 // Recommendations for member accounts are not included in the export if this 2236 // parameter, or the account IDs parameter, is omitted. 2237 IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"` 2238 2239 // An object to specify the preferences for the Auto Scaling group recommendations 2240 // to export. 2241 RecommendationPreferences *RecommendationPreferences `locationName:"recommendationPreferences" type:"structure"` 2242 2243 // An object to specify the destination Amazon Simple Storage Service (Amazon 2244 // S3) bucket name and key prefix for the export job. 2245 // 2246 // You must create the destination Amazon S3 bucket for your recommendations 2247 // export before you create the export job. Compute Optimizer does not create 2248 // the S3 bucket for you. After you create the S3 bucket, ensure that it has 2249 // the required permissions policy to allow Compute Optimizer to write the export 2250 // file to it. If you plan to specify an object prefix when you create the export 2251 // job, you must include the object prefix in the policy that you add to the 2252 // S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute 2253 // Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html) 2254 // in the Compute Optimizer User Guide. 2255 // 2256 // S3DestinationConfig is a required field 2257 S3DestinationConfig *S3DestinationConfig `locationName:"s3DestinationConfig" type:"structure" required:"true"` 2258 } 2259 2260 // String returns the string representation. 2261 // 2262 // API parameter values that are decorated as "sensitive" in the API will not 2263 // be included in the string output. The member name will be present, but the 2264 // value will be replaced with "sensitive". 2265 func (s ExportAutoScalingGroupRecommendationsInput) String() string { 2266 return awsutil.Prettify(s) 2267 } 2268 2269 // GoString returns the string representation. 2270 // 2271 // API parameter values that are decorated as "sensitive" in the API will not 2272 // be included in the string output. The member name will be present, but the 2273 // value will be replaced with "sensitive". 2274 func (s ExportAutoScalingGroupRecommendationsInput) GoString() string { 2275 return s.String() 2276 } 2277 2278 // Validate inspects the fields of the type to determine if they are valid. 2279 func (s *ExportAutoScalingGroupRecommendationsInput) Validate() error { 2280 invalidParams := request.ErrInvalidParams{Context: "ExportAutoScalingGroupRecommendationsInput"} 2281 if s.S3DestinationConfig == nil { 2282 invalidParams.Add(request.NewErrParamRequired("S3DestinationConfig")) 2283 } 2284 2285 if invalidParams.Len() > 0 { 2286 return invalidParams 2287 } 2288 return nil 2289 } 2290 2291 // SetAccountIds sets the AccountIds field's value. 2292 func (s *ExportAutoScalingGroupRecommendationsInput) SetAccountIds(v []*string) *ExportAutoScalingGroupRecommendationsInput { 2293 s.AccountIds = v 2294 return s 2295 } 2296 2297 // SetFieldsToExport sets the FieldsToExport field's value. 2298 func (s *ExportAutoScalingGroupRecommendationsInput) SetFieldsToExport(v []*string) *ExportAutoScalingGroupRecommendationsInput { 2299 s.FieldsToExport = v 2300 return s 2301 } 2302 2303 // SetFileFormat sets the FileFormat field's value. 2304 func (s *ExportAutoScalingGroupRecommendationsInput) SetFileFormat(v string) *ExportAutoScalingGroupRecommendationsInput { 2305 s.FileFormat = &v 2306 return s 2307 } 2308 2309 // SetFilters sets the Filters field's value. 2310 func (s *ExportAutoScalingGroupRecommendationsInput) SetFilters(v []*Filter) *ExportAutoScalingGroupRecommendationsInput { 2311 s.Filters = v 2312 return s 2313 } 2314 2315 // SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value. 2316 func (s *ExportAutoScalingGroupRecommendationsInput) SetIncludeMemberAccounts(v bool) *ExportAutoScalingGroupRecommendationsInput { 2317 s.IncludeMemberAccounts = &v 2318 return s 2319 } 2320 2321 // SetRecommendationPreferences sets the RecommendationPreferences field's value. 2322 func (s *ExportAutoScalingGroupRecommendationsInput) SetRecommendationPreferences(v *RecommendationPreferences) *ExportAutoScalingGroupRecommendationsInput { 2323 s.RecommendationPreferences = v 2324 return s 2325 } 2326 2327 // SetS3DestinationConfig sets the S3DestinationConfig field's value. 2328 func (s *ExportAutoScalingGroupRecommendationsInput) SetS3DestinationConfig(v *S3DestinationConfig) *ExportAutoScalingGroupRecommendationsInput { 2329 s.S3DestinationConfig = v 2330 return s 2331 } 2332 2333 type ExportAutoScalingGroupRecommendationsOutput struct { 2334 _ struct{} `type:"structure"` 2335 2336 // The identification number of the export job. 2337 // 2338 // Use the DescribeRecommendationExportJobs action, and specify the job ID to 2339 // view the status of an export job. 2340 JobId *string `locationName:"jobId" type:"string"` 2341 2342 // An object that describes the destination Amazon S3 bucket of a recommendations 2343 // export file. 2344 S3Destination *S3Destination `locationName:"s3Destination" type:"structure"` 2345 } 2346 2347 // String returns the string representation. 2348 // 2349 // API parameter values that are decorated as "sensitive" in the API will not 2350 // be included in the string output. The member name will be present, but the 2351 // value will be replaced with "sensitive". 2352 func (s ExportAutoScalingGroupRecommendationsOutput) String() string { 2353 return awsutil.Prettify(s) 2354 } 2355 2356 // GoString returns the string representation. 2357 // 2358 // API parameter values that are decorated as "sensitive" in the API will not 2359 // be included in the string output. The member name will be present, but the 2360 // value will be replaced with "sensitive". 2361 func (s ExportAutoScalingGroupRecommendationsOutput) GoString() string { 2362 return s.String() 2363 } 2364 2365 // SetJobId sets the JobId field's value. 2366 func (s *ExportAutoScalingGroupRecommendationsOutput) SetJobId(v string) *ExportAutoScalingGroupRecommendationsOutput { 2367 s.JobId = &v 2368 return s 2369 } 2370 2371 // SetS3Destination sets the S3Destination field's value. 2372 func (s *ExportAutoScalingGroupRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportAutoScalingGroupRecommendationsOutput { 2373 s.S3Destination = v 2374 return s 2375 } 2376 2377 // Describes the destination of the recommendations export and metadata files. 2378 type ExportDestination struct { 2379 _ struct{} `type:"structure"` 2380 2381 // An object that describes the destination Amazon Simple Storage Service (Amazon 2382 // S3) bucket name and object keys of a recommendations export file, and its 2383 // associated metadata file. 2384 S3 *S3Destination `locationName:"s3" type:"structure"` 2385 } 2386 2387 // String returns the string representation. 2388 // 2389 // API parameter values that are decorated as "sensitive" in the API will not 2390 // be included in the string output. The member name will be present, but the 2391 // value will be replaced with "sensitive". 2392 func (s ExportDestination) String() string { 2393 return awsutil.Prettify(s) 2394 } 2395 2396 // GoString returns the string representation. 2397 // 2398 // API parameter values that are decorated as "sensitive" in the API will not 2399 // be included in the string output. The member name will be present, but the 2400 // value will be replaced with "sensitive". 2401 func (s ExportDestination) GoString() string { 2402 return s.String() 2403 } 2404 2405 // SetS3 sets the S3 field's value. 2406 func (s *ExportDestination) SetS3(v *S3Destination) *ExportDestination { 2407 s.S3 = v 2408 return s 2409 } 2410 2411 type ExportEBSVolumeRecommendationsInput struct { 2412 _ struct{} `type:"structure"` 2413 2414 // The IDs of the Amazon Web Services accounts for which to export Amazon EBS 2415 // volume recommendations. 2416 // 2417 // If your account is the management account of an organization, use this parameter 2418 // to specify the member account for which you want to export recommendations. 2419 // 2420 // This parameter cannot be specified together with the include member accounts 2421 // parameter. The parameters are mutually exclusive. 2422 // 2423 // Recommendations for member accounts are not included in the export if this 2424 // parameter, or the include member accounts parameter, is omitted. 2425 // 2426 // You can specify multiple account IDs per request. 2427 AccountIds []*string `locationName:"accountIds" type:"list"` 2428 2429 // The recommendations data to include in the export file. For more information 2430 // about the fields that can be exported, see Exported files (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files) 2431 // in the Compute Optimizer User Guide. 2432 FieldsToExport []*string `locationName:"fieldsToExport" type:"list"` 2433 2434 // The format of the export file. 2435 // 2436 // The only export file format currently supported is Csv. 2437 FileFormat *string `locationName:"fileFormat" type:"string" enum:"FileFormat"` 2438 2439 // An array of objects to specify a filter that exports a more specific set 2440 // of Amazon EBS volume recommendations. 2441 Filters []*EBSFilter `locationName:"filters" type:"list"` 2442 2443 // Indicates whether to include recommendations for resources in all member 2444 // accounts of the organization if your account is the management account of 2445 // an organization. 2446 // 2447 // The member accounts must also be opted in to Compute Optimizer, and trusted 2448 // access for Compute Optimizer must be enabled in the organization account. 2449 // For more information, see Compute Optimizer and Amazon Web Services Organizations 2450 // trusted access (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access) 2451 // in the Compute Optimizer User Guide. 2452 // 2453 // Recommendations for member accounts of the organization are not included 2454 // in the export file if this parameter is omitted. 2455 // 2456 // This parameter cannot be specified together with the account IDs parameter. 2457 // The parameters are mutually exclusive. 2458 // 2459 // Recommendations for member accounts are not included in the export if this 2460 // parameter, or the account IDs parameter, is omitted. 2461 IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"` 2462 2463 // Describes the destination Amazon Simple Storage Service (Amazon S3) bucket 2464 // name and key prefix for a recommendations export job. 2465 // 2466 // You must create the destination Amazon S3 bucket for your recommendations 2467 // export before you create the export job. Compute Optimizer does not create 2468 // the S3 bucket for you. After you create the S3 bucket, ensure that it has 2469 // the required permission policy to allow Compute Optimizer to write the export 2470 // file to it. If you plan to specify an object prefix when you create the export 2471 // job, you must include the object prefix in the policy that you add to the 2472 // S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute 2473 // Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html) 2474 // in the Compute Optimizer User Guide. 2475 // 2476 // S3DestinationConfig is a required field 2477 S3DestinationConfig *S3DestinationConfig `locationName:"s3DestinationConfig" type:"structure" required:"true"` 2478 } 2479 2480 // String returns the string representation. 2481 // 2482 // API parameter values that are decorated as "sensitive" in the API will not 2483 // be included in the string output. The member name will be present, but the 2484 // value will be replaced with "sensitive". 2485 func (s ExportEBSVolumeRecommendationsInput) String() string { 2486 return awsutil.Prettify(s) 2487 } 2488 2489 // GoString returns the string representation. 2490 // 2491 // API parameter values that are decorated as "sensitive" in the API will not 2492 // be included in the string output. The member name will be present, but the 2493 // value will be replaced with "sensitive". 2494 func (s ExportEBSVolumeRecommendationsInput) GoString() string { 2495 return s.String() 2496 } 2497 2498 // Validate inspects the fields of the type to determine if they are valid. 2499 func (s *ExportEBSVolumeRecommendationsInput) Validate() error { 2500 invalidParams := request.ErrInvalidParams{Context: "ExportEBSVolumeRecommendationsInput"} 2501 if s.S3DestinationConfig == nil { 2502 invalidParams.Add(request.NewErrParamRequired("S3DestinationConfig")) 2503 } 2504 2505 if invalidParams.Len() > 0 { 2506 return invalidParams 2507 } 2508 return nil 2509 } 2510 2511 // SetAccountIds sets the AccountIds field's value. 2512 func (s *ExportEBSVolumeRecommendationsInput) SetAccountIds(v []*string) *ExportEBSVolumeRecommendationsInput { 2513 s.AccountIds = v 2514 return s 2515 } 2516 2517 // SetFieldsToExport sets the FieldsToExport field's value. 2518 func (s *ExportEBSVolumeRecommendationsInput) SetFieldsToExport(v []*string) *ExportEBSVolumeRecommendationsInput { 2519 s.FieldsToExport = v 2520 return s 2521 } 2522 2523 // SetFileFormat sets the FileFormat field's value. 2524 func (s *ExportEBSVolumeRecommendationsInput) SetFileFormat(v string) *ExportEBSVolumeRecommendationsInput { 2525 s.FileFormat = &v 2526 return s 2527 } 2528 2529 // SetFilters sets the Filters field's value. 2530 func (s *ExportEBSVolumeRecommendationsInput) SetFilters(v []*EBSFilter) *ExportEBSVolumeRecommendationsInput { 2531 s.Filters = v 2532 return s 2533 } 2534 2535 // SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value. 2536 func (s *ExportEBSVolumeRecommendationsInput) SetIncludeMemberAccounts(v bool) *ExportEBSVolumeRecommendationsInput { 2537 s.IncludeMemberAccounts = &v 2538 return s 2539 } 2540 2541 // SetS3DestinationConfig sets the S3DestinationConfig field's value. 2542 func (s *ExportEBSVolumeRecommendationsInput) SetS3DestinationConfig(v *S3DestinationConfig) *ExportEBSVolumeRecommendationsInput { 2543 s.S3DestinationConfig = v 2544 return s 2545 } 2546 2547 type ExportEBSVolumeRecommendationsOutput struct { 2548 _ struct{} `type:"structure"` 2549 2550 // The identification number of the export job. 2551 // 2552 // Use the DescribeRecommendationExportJobs action, and specify the job ID to 2553 // view the status of an export job. 2554 JobId *string `locationName:"jobId" type:"string"` 2555 2556 // Describes the destination Amazon Simple Storage Service (Amazon S3) bucket 2557 // name and object keys of a recommendations export file, and its associated 2558 // metadata file. 2559 S3Destination *S3Destination `locationName:"s3Destination" type:"structure"` 2560 } 2561 2562 // String returns the string representation. 2563 // 2564 // API parameter values that are decorated as "sensitive" in the API will not 2565 // be included in the string output. The member name will be present, but the 2566 // value will be replaced with "sensitive". 2567 func (s ExportEBSVolumeRecommendationsOutput) String() string { 2568 return awsutil.Prettify(s) 2569 } 2570 2571 // GoString returns the string representation. 2572 // 2573 // API parameter values that are decorated as "sensitive" in the API will not 2574 // be included in the string output. The member name will be present, but the 2575 // value will be replaced with "sensitive". 2576 func (s ExportEBSVolumeRecommendationsOutput) GoString() string { 2577 return s.String() 2578 } 2579 2580 // SetJobId sets the JobId field's value. 2581 func (s *ExportEBSVolumeRecommendationsOutput) SetJobId(v string) *ExportEBSVolumeRecommendationsOutput { 2582 s.JobId = &v 2583 return s 2584 } 2585 2586 // SetS3Destination sets the S3Destination field's value. 2587 func (s *ExportEBSVolumeRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportEBSVolumeRecommendationsOutput { 2588 s.S3Destination = v 2589 return s 2590 } 2591 2592 type ExportEC2InstanceRecommendationsInput struct { 2593 _ struct{} `type:"structure"` 2594 2595 // The IDs of the Amazon Web Services accounts for which to export instance 2596 // recommendations. 2597 // 2598 // If your account is the management account of an organization, use this parameter 2599 // to specify the member account for which you want to export recommendations. 2600 // 2601 // This parameter cannot be specified together with the include member accounts 2602 // parameter. The parameters are mutually exclusive. 2603 // 2604 // Recommendations for member accounts are not included in the export if this 2605 // parameter, or the include member accounts parameter, is omitted. 2606 // 2607 // You can specify multiple account IDs per request. 2608 AccountIds []*string `locationName:"accountIds" type:"list"` 2609 2610 // The recommendations data to include in the export file. For more information 2611 // about the fields that can be exported, see Exported files (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files) 2612 // in the Compute Optimizer User Guide. 2613 FieldsToExport []*string `locationName:"fieldsToExport" type:"list"` 2614 2615 // The format of the export file. 2616 // 2617 // The only export file format currently supported is Csv. 2618 FileFormat *string `locationName:"fileFormat" type:"string" enum:"FileFormat"` 2619 2620 // An array of objects to specify a filter that exports a more specific set 2621 // of instance recommendations. 2622 Filters []*Filter `locationName:"filters" type:"list"` 2623 2624 // Indicates whether to include recommendations for resources in all member 2625 // accounts of the organization if your account is the management account of 2626 // an organization. 2627 // 2628 // The member accounts must also be opted in to Compute Optimizer, and trusted 2629 // access for Compute Optimizer must be enabled in the organization account. 2630 // For more information, see Compute Optimizer and Amazon Web Services Organizations 2631 // trusted access (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access) 2632 // in the Compute Optimizer User Guide. 2633 // 2634 // Recommendations for member accounts of the organization are not included 2635 // in the export file if this parameter is omitted. 2636 // 2637 // Recommendations for member accounts are not included in the export if this 2638 // parameter, or the account IDs parameter, is omitted. 2639 IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"` 2640 2641 // An object to specify the preferences for the Amazon EC2 instance recommendations 2642 // to export. 2643 RecommendationPreferences *RecommendationPreferences `locationName:"recommendationPreferences" type:"structure"` 2644 2645 // An object to specify the destination Amazon Simple Storage Service (Amazon 2646 // S3) bucket name and key prefix for the export job. 2647 // 2648 // You must create the destination Amazon S3 bucket for your recommendations 2649 // export before you create the export job. Compute Optimizer does not create 2650 // the S3 bucket for you. After you create the S3 bucket, ensure that it has 2651 // the required permissions policy policy to allow Compute Optimizer to write 2652 // the export file to it. If you plan to specify an object prefix when you create 2653 // the export job, you must include the object prefix in the that you add to 2654 // the S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute 2655 // Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html) 2656 // in the Compute Optimizer User Guide. 2657 // 2658 // S3DestinationConfig is a required field 2659 S3DestinationConfig *S3DestinationConfig `locationName:"s3DestinationConfig" type:"structure" required:"true"` 2660 } 2661 2662 // String returns the string representation. 2663 // 2664 // API parameter values that are decorated as "sensitive" in the API will not 2665 // be included in the string output. The member name will be present, but the 2666 // value will be replaced with "sensitive". 2667 func (s ExportEC2InstanceRecommendationsInput) String() string { 2668 return awsutil.Prettify(s) 2669 } 2670 2671 // GoString returns the string representation. 2672 // 2673 // API parameter values that are decorated as "sensitive" in the API will not 2674 // be included in the string output. The member name will be present, but the 2675 // value will be replaced with "sensitive". 2676 func (s ExportEC2InstanceRecommendationsInput) GoString() string { 2677 return s.String() 2678 } 2679 2680 // Validate inspects the fields of the type to determine if they are valid. 2681 func (s *ExportEC2InstanceRecommendationsInput) Validate() error { 2682 invalidParams := request.ErrInvalidParams{Context: "ExportEC2InstanceRecommendationsInput"} 2683 if s.S3DestinationConfig == nil { 2684 invalidParams.Add(request.NewErrParamRequired("S3DestinationConfig")) 2685 } 2686 2687 if invalidParams.Len() > 0 { 2688 return invalidParams 2689 } 2690 return nil 2691 } 2692 2693 // SetAccountIds sets the AccountIds field's value. 2694 func (s *ExportEC2InstanceRecommendationsInput) SetAccountIds(v []*string) *ExportEC2InstanceRecommendationsInput { 2695 s.AccountIds = v 2696 return s 2697 } 2698 2699 // SetFieldsToExport sets the FieldsToExport field's value. 2700 func (s *ExportEC2InstanceRecommendationsInput) SetFieldsToExport(v []*string) *ExportEC2InstanceRecommendationsInput { 2701 s.FieldsToExport = v 2702 return s 2703 } 2704 2705 // SetFileFormat sets the FileFormat field's value. 2706 func (s *ExportEC2InstanceRecommendationsInput) SetFileFormat(v string) *ExportEC2InstanceRecommendationsInput { 2707 s.FileFormat = &v 2708 return s 2709 } 2710 2711 // SetFilters sets the Filters field's value. 2712 func (s *ExportEC2InstanceRecommendationsInput) SetFilters(v []*Filter) *ExportEC2InstanceRecommendationsInput { 2713 s.Filters = v 2714 return s 2715 } 2716 2717 // SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value. 2718 func (s *ExportEC2InstanceRecommendationsInput) SetIncludeMemberAccounts(v bool) *ExportEC2InstanceRecommendationsInput { 2719 s.IncludeMemberAccounts = &v 2720 return s 2721 } 2722 2723 // SetRecommendationPreferences sets the RecommendationPreferences field's value. 2724 func (s *ExportEC2InstanceRecommendationsInput) SetRecommendationPreferences(v *RecommendationPreferences) *ExportEC2InstanceRecommendationsInput { 2725 s.RecommendationPreferences = v 2726 return s 2727 } 2728 2729 // SetS3DestinationConfig sets the S3DestinationConfig field's value. 2730 func (s *ExportEC2InstanceRecommendationsInput) SetS3DestinationConfig(v *S3DestinationConfig) *ExportEC2InstanceRecommendationsInput { 2731 s.S3DestinationConfig = v 2732 return s 2733 } 2734 2735 type ExportEC2InstanceRecommendationsOutput struct { 2736 _ struct{} `type:"structure"` 2737 2738 // The identification number of the export job. 2739 // 2740 // Use the DescribeRecommendationExportJobs action, and specify the job ID to 2741 // view the status of an export job. 2742 JobId *string `locationName:"jobId" type:"string"` 2743 2744 // An object that describes the destination Amazon S3 bucket of a recommendations 2745 // export file. 2746 S3Destination *S3Destination `locationName:"s3Destination" type:"structure"` 2747 } 2748 2749 // String returns the string representation. 2750 // 2751 // API parameter values that are decorated as "sensitive" in the API will not 2752 // be included in the string output. The member name will be present, but the 2753 // value will be replaced with "sensitive". 2754 func (s ExportEC2InstanceRecommendationsOutput) String() string { 2755 return awsutil.Prettify(s) 2756 } 2757 2758 // GoString returns the string representation. 2759 // 2760 // API parameter values that are decorated as "sensitive" in the API will not 2761 // be included in the string output. The member name will be present, but the 2762 // value will be replaced with "sensitive". 2763 func (s ExportEC2InstanceRecommendationsOutput) GoString() string { 2764 return s.String() 2765 } 2766 2767 // SetJobId sets the JobId field's value. 2768 func (s *ExportEC2InstanceRecommendationsOutput) SetJobId(v string) *ExportEC2InstanceRecommendationsOutput { 2769 s.JobId = &v 2770 return s 2771 } 2772 2773 // SetS3Destination sets the S3Destination field's value. 2774 func (s *ExportEC2InstanceRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportEC2InstanceRecommendationsOutput { 2775 s.S3Destination = v 2776 return s 2777 } 2778 2779 type ExportLambdaFunctionRecommendationsInput struct { 2780 _ struct{} `type:"structure"` 2781 2782 // The IDs of the Amazon Web Services accounts for which to export Lambda function 2783 // recommendations. 2784 // 2785 // If your account is the management account of an organization, use this parameter 2786 // to specify the member account for which you want to export recommendations. 2787 // 2788 // This parameter cannot be specified together with the include member accounts 2789 // parameter. The parameters are mutually exclusive. 2790 // 2791 // Recommendations for member accounts are not included in the export if this 2792 // parameter, or the include member accounts parameter, is omitted. 2793 // 2794 // You can specify multiple account IDs per request. 2795 AccountIds []*string `locationName:"accountIds" type:"list"` 2796 2797 // The recommendations data to include in the export file. For more information 2798 // about the fields that can be exported, see Exported files (https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files) 2799 // in the Compute Optimizer User Guide. 2800 FieldsToExport []*string `locationName:"fieldsToExport" type:"list"` 2801 2802 // The format of the export file. 2803 // 2804 // The only export file format currently supported is Csv. 2805 FileFormat *string `locationName:"fileFormat" type:"string" enum:"FileFormat"` 2806 2807 // An array of objects to specify a filter that exports a more specific set 2808 // of Lambda function recommendations. 2809 Filters []*LambdaFunctionRecommendationFilter `locationName:"filters" type:"list"` 2810 2811 // Indicates whether to include recommendations for resources in all member 2812 // accounts of the organization if your account is the management account of 2813 // an organization. 2814 // 2815 // The member accounts must also be opted in to Compute Optimizer, and trusted 2816 // access for Compute Optimizer must be enabled in the organization account. 2817 // For more information, see Compute Optimizer and Amazon Web Services Organizations 2818 // trusted access (https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access) 2819 // in the Compute Optimizer User Guide. 2820 // 2821 // Recommendations for member accounts of the organization are not included 2822 // in the export file if this parameter is omitted. 2823 // 2824 // This parameter cannot be specified together with the account IDs parameter. 2825 // The parameters are mutually exclusive. 2826 // 2827 // Recommendations for member accounts are not included in the export if this 2828 // parameter, or the account IDs parameter, is omitted. 2829 IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"` 2830 2831 // Describes the destination Amazon Simple Storage Service (Amazon S3) bucket 2832 // name and key prefix for a recommendations export job. 2833 // 2834 // You must create the destination Amazon S3 bucket for your recommendations 2835 // export before you create the export job. Compute Optimizer does not create 2836 // the S3 bucket for you. After you create the S3 bucket, ensure that it has 2837 // the required permission policy to allow Compute Optimizer to write the export 2838 // file to it. If you plan to specify an object prefix when you create the export 2839 // job, you must include the object prefix in the policy that you add to the 2840 // S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute 2841 // Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html) 2842 // in the Compute Optimizer User Guide. 2843 // 2844 // S3DestinationConfig is a required field 2845 S3DestinationConfig *S3DestinationConfig `locationName:"s3DestinationConfig" type:"structure" required:"true"` 2846 } 2847 2848 // String returns the string representation. 2849 // 2850 // API parameter values that are decorated as "sensitive" in the API will not 2851 // be included in the string output. The member name will be present, but the 2852 // value will be replaced with "sensitive". 2853 func (s ExportLambdaFunctionRecommendationsInput) String() string { 2854 return awsutil.Prettify(s) 2855 } 2856 2857 // GoString returns the string representation. 2858 // 2859 // API parameter values that are decorated as "sensitive" in the API will not 2860 // be included in the string output. The member name will be present, but the 2861 // value will be replaced with "sensitive". 2862 func (s ExportLambdaFunctionRecommendationsInput) GoString() string { 2863 return s.String() 2864 } 2865 2866 // Validate inspects the fields of the type to determine if they are valid. 2867 func (s *ExportLambdaFunctionRecommendationsInput) Validate() error { 2868 invalidParams := request.ErrInvalidParams{Context: "ExportLambdaFunctionRecommendationsInput"} 2869 if s.S3DestinationConfig == nil { 2870 invalidParams.Add(request.NewErrParamRequired("S3DestinationConfig")) 2871 } 2872 2873 if invalidParams.Len() > 0 { 2874 return invalidParams 2875 } 2876 return nil 2877 } 2878 2879 // SetAccountIds sets the AccountIds field's value. 2880 func (s *ExportLambdaFunctionRecommendationsInput) SetAccountIds(v []*string) *ExportLambdaFunctionRecommendationsInput { 2881 s.AccountIds = v 2882 return s 2883 } 2884 2885 // SetFieldsToExport sets the FieldsToExport field's value. 2886 func (s *ExportLambdaFunctionRecommendationsInput) SetFieldsToExport(v []*string) *ExportLambdaFunctionRecommendationsInput { 2887 s.FieldsToExport = v 2888 return s 2889 } 2890 2891 // SetFileFormat sets the FileFormat field's value. 2892 func (s *ExportLambdaFunctionRecommendationsInput) SetFileFormat(v string) *ExportLambdaFunctionRecommendationsInput { 2893 s.FileFormat = &v 2894 return s 2895 } 2896 2897 // SetFilters sets the Filters field's value. 2898 func (s *ExportLambdaFunctionRecommendationsInput) SetFilters(v []*LambdaFunctionRecommendationFilter) *ExportLambdaFunctionRecommendationsInput { 2899 s.Filters = v 2900 return s 2901 } 2902 2903 // SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value. 2904 func (s *ExportLambdaFunctionRecommendationsInput) SetIncludeMemberAccounts(v bool) *ExportLambdaFunctionRecommendationsInput { 2905 s.IncludeMemberAccounts = &v 2906 return s 2907 } 2908 2909 // SetS3DestinationConfig sets the S3DestinationConfig field's value. 2910 func (s *ExportLambdaFunctionRecommendationsInput) SetS3DestinationConfig(v *S3DestinationConfig) *ExportLambdaFunctionRecommendationsInput { 2911 s.S3DestinationConfig = v 2912 return s 2913 } 2914 2915 type ExportLambdaFunctionRecommendationsOutput struct { 2916 _ struct{} `type:"structure"` 2917 2918 // The identification number of the export job. 2919 // 2920 // Use the DescribeRecommendationExportJobs action, and specify the job ID to 2921 // view the status of an export job. 2922 JobId *string `locationName:"jobId" type:"string"` 2923 2924 // Describes the destination Amazon Simple Storage Service (Amazon S3) bucket 2925 // name and object keys of a recommendations export file, and its associated 2926 // metadata file. 2927 S3Destination *S3Destination `locationName:"s3Destination" type:"structure"` 2928 } 2929 2930 // String returns the string representation. 2931 // 2932 // API parameter values that are decorated as "sensitive" in the API will not 2933 // be included in the string output. The member name will be present, but the 2934 // value will be replaced with "sensitive". 2935 func (s ExportLambdaFunctionRecommendationsOutput) String() string { 2936 return awsutil.Prettify(s) 2937 } 2938 2939 // GoString returns the string representation. 2940 // 2941 // API parameter values that are decorated as "sensitive" in the API will not 2942 // be included in the string output. The member name will be present, but the 2943 // value will be replaced with "sensitive". 2944 func (s ExportLambdaFunctionRecommendationsOutput) GoString() string { 2945 return s.String() 2946 } 2947 2948 // SetJobId sets the JobId field's value. 2949 func (s *ExportLambdaFunctionRecommendationsOutput) SetJobId(v string) *ExportLambdaFunctionRecommendationsOutput { 2950 s.JobId = &v 2951 return s 2952 } 2953 2954 // SetS3Destination sets the S3Destination field's value. 2955 func (s *ExportLambdaFunctionRecommendationsOutput) SetS3Destination(v *S3Destination) *ExportLambdaFunctionRecommendationsOutput { 2956 s.S3Destination = v 2957 return s 2958 } 2959 2960 // Describes a filter that returns a more specific list of recommendations. 2961 // Use this filter with the GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations 2962 // actions. 2963 // 2964 // You can use EBSFilter with the GetEBSVolumeRecommendations action, LambdaFunctionRecommendationFilter 2965 // with the GetLambdaFunctionRecommendations action, and JobFilter with the 2966 // DescribeRecommendationExportJobs action. 2967 type Filter struct { 2968 _ struct{} `type:"structure"` 2969 2970 // The name of the filter. 2971 // 2972 // Specify Finding to return recommendations with a specific finding classification 2973 // (for example, Underprovisioned). 2974 // 2975 // Specify RecommendationSourceType to return recommendations of a specific 2976 // resource type (for example, Ec2Instance). 2977 // 2978 // Specify FindingReasonCodes to return recommendations with a specific finding 2979 // reason code (for example, CPUUnderprovisioned). 2980 Name *string `locationName:"name" type:"string" enum:"FilterName"` 2981 2982 // The value of the filter. 2983 // 2984 // The valid values for this parameter are as follows, depending on what you 2985 // specify for the name parameter and the resource type that you wish to filter 2986 // results for: 2987 // 2988 // * Specify Optimized or NotOptimized if you specify the name parameter 2989 // as Finding and you want to filter results for Auto Scaling groups. 2990 // 2991 // * Specify Underprovisioned, Overprovisioned, or Optimized if you specify 2992 // the name parameter as Finding and you want to filter results for EC2 instances. 2993 // 2994 // * Specify Ec2Instance or AutoScalingGroup if you specify the name parameter 2995 // as RecommendationSourceType. 2996 // 2997 // * Specify one of the following options if you specify the name parameter 2998 // as FindingReasonCodes: CPUOverprovisioned — The instance’s CPU configuration 2999 // can be sized down while still meeting the performance requirements of 3000 // your workload. CPUUnderprovisioned — The instance’s CPU configuration 3001 // doesn't meet the performance requirements of your workload and there is 3002 // an alternative instance type that provides better CPU performance. MemoryOverprovisioned 3003 // — The instance’s memory configuration can be sized down while still 3004 // meeting the performance requirements of your workload. MemoryUnderprovisioned 3005 // — The instance’s memory configuration doesn't meet the performance 3006 // requirements of your workload and there is an alternative instance type 3007 // that provides better memory performance. EBSThroughputOverprovisioned 3008 // — The instance’s EBS throughput configuration can be sized down while 3009 // still meeting the performance requirements of your workload. EBSThroughputUnderprovisioned 3010 // — The instance’s EBS throughput configuration doesn't meet the performance 3011 // requirements of your workload and there is an alternative instance type 3012 // that provides better EBS throughput performance. EBSIOPSOverprovisioned 3013 // — The instance’s EBS IOPS configuration can be sized down while still 3014 // meeting the performance requirements of your workload. EBSIOPSUnderprovisioned 3015 // — The instance’s EBS IOPS configuration doesn't meet the performance 3016 // requirements of your workload and there is an alternative instance type 3017 // that provides better EBS IOPS performance. NetworkBandwidthOverprovisioned 3018 // — The instance’s network bandwidth configuration can be sized down 3019 // while still meeting the performance requirements of your workload. NetworkBandwidthUnderprovisioned 3020 // — The instance’s network bandwidth configuration doesn't meet the 3021 // performance requirements of your workload and there is an alternative 3022 // instance type that provides better network bandwidth performance. This 3023 // finding reason happens when the NetworkIn or NetworkOut performance of 3024 // an instance is impacted. NetworkPPSOverprovisioned — The instance’s 3025 // network PPS (packets per second) configuration can be sized down while 3026 // still meeting the performance requirements of your workload. NetworkPPSUnderprovisioned 3027 // — The instance’s network PPS (packets per second) configuration doesn't 3028 // meet the performance requirements of your workload and there is an alternative 3029 // instance type that provides better network PPS performance. DiskIOPSOverprovisioned 3030 // — The instance’s disk IOPS configuration can be sized down while still 3031 // meeting the performance requirements of your workload. DiskIOPSUnderprovisioned 3032 // — The instance’s disk IOPS configuration doesn't meet the performance 3033 // requirements of your workload and there is an alternative instance type 3034 // that provides better disk IOPS performance. DiskThroughputOverprovisioned 3035 // — The instance’s disk throughput configuration can be sized down while 3036 // still meeting the performance requirements of your workload. DiskThroughputUnderprovisioned 3037 // — The instance’s disk throughput configuration doesn't meet the performance 3038 // requirements of your workload and there is an alternative instance type 3039 // that provides better disk throughput performance. 3040 Values []*string `locationName:"values" type:"list"` 3041 } 3042 3043 // String returns the string representation. 3044 // 3045 // API parameter values that are decorated as "sensitive" in the API will not 3046 // be included in the string output. The member name will be present, but the 3047 // value will be replaced with "sensitive". 3048 func (s Filter) String() string { 3049 return awsutil.Prettify(s) 3050 } 3051 3052 // GoString returns the string representation. 3053 // 3054 // API parameter values that are decorated as "sensitive" in the API will not 3055 // be included in the string output. The member name will be present, but the 3056 // value will be replaced with "sensitive". 3057 func (s Filter) GoString() string { 3058 return s.String() 3059 } 3060 3061 // SetName sets the Name field's value. 3062 func (s *Filter) SetName(v string) *Filter { 3063 s.Name = &v 3064 return s 3065 } 3066 3067 // SetValues sets the Values field's value. 3068 func (s *Filter) SetValues(v []*string) *Filter { 3069 s.Values = v 3070 return s 3071 } 3072 3073 type GetAutoScalingGroupRecommendationsInput struct { 3074 _ struct{} `type:"structure"` 3075 3076 // The ID of the Amazon Web Services account for which to return Auto Scaling 3077 // group recommendations. 3078 // 3079 // If your account is the management account of an organization, use this parameter 3080 // to specify the member account for which you want to return Auto Scaling group 3081 // recommendations. 3082 // 3083 // Only one account ID can be specified per request. 3084 AccountIds []*string `locationName:"accountIds" type:"list"` 3085 3086 // The Amazon Resource Name (ARN) of the Auto Scaling groups for which to return 3087 // recommendations. 3088 AutoScalingGroupArns []*string `locationName:"autoScalingGroupArns" type:"list"` 3089 3090 // An array of objects to specify a filter that returns a more specific list 3091 // of Auto Scaling group recommendations. 3092 Filters []*Filter `locationName:"filters" type:"list"` 3093 3094 // The maximum number of Auto Scaling group recommendations to return with a 3095 // single request. 3096 // 3097 // To retrieve the remaining results, make another request with the returned 3098 // nextToken value. 3099 MaxResults *int64 `locationName:"maxResults" type:"integer"` 3100 3101 // The token to advance to the next page of Auto Scaling group recommendations. 3102 NextToken *string `locationName:"nextToken" type:"string"` 3103 3104 // An object to specify the preferences for the Auto Scaling group recommendations 3105 // to return in the response. 3106 RecommendationPreferences *RecommendationPreferences `locationName:"recommendationPreferences" type:"structure"` 3107 } 3108 3109 // String returns the string representation. 3110 // 3111 // API parameter values that are decorated as "sensitive" in the API will not 3112 // be included in the string output. The member name will be present, but the 3113 // value will be replaced with "sensitive". 3114 func (s GetAutoScalingGroupRecommendationsInput) String() string { 3115 return awsutil.Prettify(s) 3116 } 3117 3118 // GoString returns the string representation. 3119 // 3120 // API parameter values that are decorated as "sensitive" in the API will not 3121 // be included in the string output. The member name will be present, but the 3122 // value will be replaced with "sensitive". 3123 func (s GetAutoScalingGroupRecommendationsInput) GoString() string { 3124 return s.String() 3125 } 3126 3127 // SetAccountIds sets the AccountIds field's value. 3128 func (s *GetAutoScalingGroupRecommendationsInput) SetAccountIds(v []*string) *GetAutoScalingGroupRecommendationsInput { 3129 s.AccountIds = v 3130 return s 3131 } 3132 3133 // SetAutoScalingGroupArns sets the AutoScalingGroupArns field's value. 3134 func (s *GetAutoScalingGroupRecommendationsInput) SetAutoScalingGroupArns(v []*string) *GetAutoScalingGroupRecommendationsInput { 3135 s.AutoScalingGroupArns = v 3136 return s 3137 } 3138 3139 // SetFilters sets the Filters field's value. 3140 func (s *GetAutoScalingGroupRecommendationsInput) SetFilters(v []*Filter) *GetAutoScalingGroupRecommendationsInput { 3141 s.Filters = v 3142 return s 3143 } 3144 3145 // SetMaxResults sets the MaxResults field's value. 3146 func (s *GetAutoScalingGroupRecommendationsInput) SetMaxResults(v int64) *GetAutoScalingGroupRecommendationsInput { 3147 s.MaxResults = &v 3148 return s 3149 } 3150 3151 // SetNextToken sets the NextToken field's value. 3152 func (s *GetAutoScalingGroupRecommendationsInput) SetNextToken(v string) *GetAutoScalingGroupRecommendationsInput { 3153 s.NextToken = &v 3154 return s 3155 } 3156 3157 // SetRecommendationPreferences sets the RecommendationPreferences field's value. 3158 func (s *GetAutoScalingGroupRecommendationsInput) SetRecommendationPreferences(v *RecommendationPreferences) *GetAutoScalingGroupRecommendationsInput { 3159 s.RecommendationPreferences = v 3160 return s 3161 } 3162 3163 type GetAutoScalingGroupRecommendationsOutput struct { 3164 _ struct{} `type:"structure"` 3165 3166 // An array of objects that describe Auto Scaling group recommendations. 3167 AutoScalingGroupRecommendations []*AutoScalingGroupRecommendation `locationName:"autoScalingGroupRecommendations" type:"list"` 3168 3169 // An array of objects that describe errors of the request. 3170 // 3171 // For example, an error is returned if you request recommendations for an unsupported 3172 // Auto Scaling group. 3173 Errors []*GetRecommendationError `locationName:"errors" type:"list"` 3174 3175 // The token to use to advance to the next page of Auto Scaling group recommendations. 3176 // 3177 // This value is null when there are no more pages of Auto Scaling group recommendations 3178 // to return. 3179 NextToken *string `locationName:"nextToken" type:"string"` 3180 } 3181 3182 // String returns the string representation. 3183 // 3184 // API parameter values that are decorated as "sensitive" in the API will not 3185 // be included in the string output. The member name will be present, but the 3186 // value will be replaced with "sensitive". 3187 func (s GetAutoScalingGroupRecommendationsOutput) String() string { 3188 return awsutil.Prettify(s) 3189 } 3190 3191 // GoString returns the string representation. 3192 // 3193 // API parameter values that are decorated as "sensitive" in the API will not 3194 // be included in the string output. The member name will be present, but the 3195 // value will be replaced with "sensitive". 3196 func (s GetAutoScalingGroupRecommendationsOutput) GoString() string { 3197 return s.String() 3198 } 3199 3200 // SetAutoScalingGroupRecommendations sets the AutoScalingGroupRecommendations field's value. 3201 func (s *GetAutoScalingGroupRecommendationsOutput) SetAutoScalingGroupRecommendations(v []*AutoScalingGroupRecommendation) *GetAutoScalingGroupRecommendationsOutput { 3202 s.AutoScalingGroupRecommendations = v 3203 return s 3204 } 3205 3206 // SetErrors sets the Errors field's value. 3207 func (s *GetAutoScalingGroupRecommendationsOutput) SetErrors(v []*GetRecommendationError) *GetAutoScalingGroupRecommendationsOutput { 3208 s.Errors = v 3209 return s 3210 } 3211 3212 // SetNextToken sets the NextToken field's value. 3213 func (s *GetAutoScalingGroupRecommendationsOutput) SetNextToken(v string) *GetAutoScalingGroupRecommendationsOutput { 3214 s.NextToken = &v 3215 return s 3216 } 3217 3218 type GetEBSVolumeRecommendationsInput struct { 3219 _ struct{} `type:"structure"` 3220 3221 // The ID of the Amazon Web Services account for which to return volume recommendations. 3222 // 3223 // If your account is the management account of an organization, use this parameter 3224 // to specify the member account for which you want to return volume recommendations. 3225 // 3226 // Only one account ID can be specified per request. 3227 AccountIds []*string `locationName:"accountIds" type:"list"` 3228 3229 // An array of objects to specify a filter that returns a more specific list 3230 // of volume recommendations. 3231 Filters []*EBSFilter `locationName:"filters" type:"list"` 3232 3233 // The maximum number of volume recommendations to return with a single request. 3234 // 3235 // To retrieve the remaining results, make another request with the returned 3236 // nextToken value. 3237 MaxResults *int64 `locationName:"maxResults" type:"integer"` 3238 3239 // The token to advance to the next page of volume recommendations. 3240 NextToken *string `locationName:"nextToken" type:"string"` 3241 3242 // The Amazon Resource Name (ARN) of the volumes for which to return recommendations. 3243 VolumeArns []*string `locationName:"volumeArns" type:"list"` 3244 } 3245 3246 // String returns the string representation. 3247 // 3248 // API parameter values that are decorated as "sensitive" in the API will not 3249 // be included in the string output. The member name will be present, but the 3250 // value will be replaced with "sensitive". 3251 func (s GetEBSVolumeRecommendationsInput) String() string { 3252 return awsutil.Prettify(s) 3253 } 3254 3255 // GoString returns the string representation. 3256 // 3257 // API parameter values that are decorated as "sensitive" in the API will not 3258 // be included in the string output. The member name will be present, but the 3259 // value will be replaced with "sensitive". 3260 func (s GetEBSVolumeRecommendationsInput) GoString() string { 3261 return s.String() 3262 } 3263 3264 // SetAccountIds sets the AccountIds field's value. 3265 func (s *GetEBSVolumeRecommendationsInput) SetAccountIds(v []*string) *GetEBSVolumeRecommendationsInput { 3266 s.AccountIds = v 3267 return s 3268 } 3269 3270 // SetFilters sets the Filters field's value. 3271 func (s *GetEBSVolumeRecommendationsInput) SetFilters(v []*EBSFilter) *GetEBSVolumeRecommendationsInput { 3272 s.Filters = v 3273 return s 3274 } 3275 3276 // SetMaxResults sets the MaxResults field's value. 3277 func (s *GetEBSVolumeRecommendationsInput) SetMaxResults(v int64) *GetEBSVolumeRecommendationsInput { 3278 s.MaxResults = &v 3279 return s 3280 } 3281 3282 // SetNextToken sets the NextToken field's value. 3283 func (s *GetEBSVolumeRecommendationsInput) SetNextToken(v string) *GetEBSVolumeRecommendationsInput { 3284 s.NextToken = &v 3285 return s 3286 } 3287 3288 // SetVolumeArns sets the VolumeArns field's value. 3289 func (s *GetEBSVolumeRecommendationsInput) SetVolumeArns(v []*string) *GetEBSVolumeRecommendationsInput { 3290 s.VolumeArns = v 3291 return s 3292 } 3293 3294 type GetEBSVolumeRecommendationsOutput struct { 3295 _ struct{} `type:"structure"` 3296 3297 // An array of objects that describe errors of the request. 3298 // 3299 // For example, an error is returned if you request recommendations for an unsupported 3300 // volume. 3301 Errors []*GetRecommendationError `locationName:"errors" type:"list"` 3302 3303 // The token to use to advance to the next page of volume recommendations. 3304 // 3305 // This value is null when there are no more pages of volume recommendations 3306 // to return. 3307 NextToken *string `locationName:"nextToken" type:"string"` 3308 3309 // An array of objects that describe volume recommendations. 3310 VolumeRecommendations []*VolumeRecommendation `locationName:"volumeRecommendations" type:"list"` 3311 } 3312 3313 // String returns the string representation. 3314 // 3315 // API parameter values that are decorated as "sensitive" in the API will not 3316 // be included in the string output. The member name will be present, but the 3317 // value will be replaced with "sensitive". 3318 func (s GetEBSVolumeRecommendationsOutput) String() string { 3319 return awsutil.Prettify(s) 3320 } 3321 3322 // GoString returns the string representation. 3323 // 3324 // API parameter values that are decorated as "sensitive" in the API will not 3325 // be included in the string output. The member name will be present, but the 3326 // value will be replaced with "sensitive". 3327 func (s GetEBSVolumeRecommendationsOutput) GoString() string { 3328 return s.String() 3329 } 3330 3331 // SetErrors sets the Errors field's value. 3332 func (s *GetEBSVolumeRecommendationsOutput) SetErrors(v []*GetRecommendationError) *GetEBSVolumeRecommendationsOutput { 3333 s.Errors = v 3334 return s 3335 } 3336 3337 // SetNextToken sets the NextToken field's value. 3338 func (s *GetEBSVolumeRecommendationsOutput) SetNextToken(v string) *GetEBSVolumeRecommendationsOutput { 3339 s.NextToken = &v 3340 return s 3341 } 3342 3343 // SetVolumeRecommendations sets the VolumeRecommendations field's value. 3344 func (s *GetEBSVolumeRecommendationsOutput) SetVolumeRecommendations(v []*VolumeRecommendation) *GetEBSVolumeRecommendationsOutput { 3345 s.VolumeRecommendations = v 3346 return s 3347 } 3348 3349 type GetEC2InstanceRecommendationsInput struct { 3350 _ struct{} `type:"structure"` 3351 3352 // The ID of the Amazon Web Services account for which to return instance recommendations. 3353 // 3354 // If your account is the management account of an organization, use this parameter 3355 // to specify the member account for which you want to return instance recommendations. 3356 // 3357 // Only one account ID can be specified per request. 3358 AccountIds []*string `locationName:"accountIds" type:"list"` 3359 3360 // An array of objects to specify a filter that returns a more specific list 3361 // of instance recommendations. 3362 Filters []*Filter `locationName:"filters" type:"list"` 3363 3364 // The Amazon Resource Name (ARN) of the instances for which to return recommendations. 3365 InstanceArns []*string `locationName:"instanceArns" type:"list"` 3366 3367 // The maximum number of instance recommendations to return with a single request. 3368 // 3369 // To retrieve the remaining results, make another request with the returned 3370 // nextToken value. 3371 MaxResults *int64 `locationName:"maxResults" type:"integer"` 3372 3373 // The token to advance to the next page of instance recommendations. 3374 NextToken *string `locationName:"nextToken" type:"string"` 3375 3376 // An object to specify the preferences for the Amazon EC2 instance recommendations 3377 // to return in the response. 3378 RecommendationPreferences *RecommendationPreferences `locationName:"recommendationPreferences" type:"structure"` 3379 } 3380 3381 // String returns the string representation. 3382 // 3383 // API parameter values that are decorated as "sensitive" in the API will not 3384 // be included in the string output. The member name will be present, but the 3385 // value will be replaced with "sensitive". 3386 func (s GetEC2InstanceRecommendationsInput) String() string { 3387 return awsutil.Prettify(s) 3388 } 3389 3390 // GoString returns the string representation. 3391 // 3392 // API parameter values that are decorated as "sensitive" in the API will not 3393 // be included in the string output. The member name will be present, but the 3394 // value will be replaced with "sensitive". 3395 func (s GetEC2InstanceRecommendationsInput) GoString() string { 3396 return s.String() 3397 } 3398 3399 // SetAccountIds sets the AccountIds field's value. 3400 func (s *GetEC2InstanceRecommendationsInput) SetAccountIds(v []*string) *GetEC2InstanceRecommendationsInput { 3401 s.AccountIds = v 3402 return s 3403 } 3404 3405 // SetFilters sets the Filters field's value. 3406 func (s *GetEC2InstanceRecommendationsInput) SetFilters(v []*Filter) *GetEC2InstanceRecommendationsInput { 3407 s.Filters = v 3408 return s 3409 } 3410 3411 // SetInstanceArns sets the InstanceArns field's value. 3412 func (s *GetEC2InstanceRecommendationsInput) SetInstanceArns(v []*string) *GetEC2InstanceRecommendationsInput { 3413 s.InstanceArns = v 3414 return s 3415 } 3416 3417 // SetMaxResults sets the MaxResults field's value. 3418 func (s *GetEC2InstanceRecommendationsInput) SetMaxResults(v int64) *GetEC2InstanceRecommendationsInput { 3419 s.MaxResults = &v 3420 return s 3421 } 3422 3423 // SetNextToken sets the NextToken field's value. 3424 func (s *GetEC2InstanceRecommendationsInput) SetNextToken(v string) *GetEC2InstanceRecommendationsInput { 3425 s.NextToken = &v 3426 return s 3427 } 3428 3429 // SetRecommendationPreferences sets the RecommendationPreferences field's value. 3430 func (s *GetEC2InstanceRecommendationsInput) SetRecommendationPreferences(v *RecommendationPreferences) *GetEC2InstanceRecommendationsInput { 3431 s.RecommendationPreferences = v 3432 return s 3433 } 3434 3435 type GetEC2InstanceRecommendationsOutput struct { 3436 _ struct{} `type:"structure"` 3437 3438 // An array of objects that describe errors of the request. 3439 // 3440 // For example, an error is returned if you request recommendations for an instance 3441 // of an unsupported instance family. 3442 Errors []*GetRecommendationError `locationName:"errors" type:"list"` 3443 3444 // An array of objects that describe instance recommendations. 3445 InstanceRecommendations []*InstanceRecommendation `locationName:"instanceRecommendations" type:"list"` 3446 3447 // The token to use to advance to the next page of instance recommendations. 3448 // 3449 // This value is null when there are no more pages of instance recommendations 3450 // to return. 3451 NextToken *string `locationName:"nextToken" type:"string"` 3452 } 3453 3454 // String returns the string representation. 3455 // 3456 // API parameter values that are decorated as "sensitive" in the API will not 3457 // be included in the string output. The member name will be present, but the 3458 // value will be replaced with "sensitive". 3459 func (s GetEC2InstanceRecommendationsOutput) String() string { 3460 return awsutil.Prettify(s) 3461 } 3462 3463 // GoString returns the string representation. 3464 // 3465 // API parameter values that are decorated as "sensitive" in the API will not 3466 // be included in the string output. The member name will be present, but the 3467 // value will be replaced with "sensitive". 3468 func (s GetEC2InstanceRecommendationsOutput) GoString() string { 3469 return s.String() 3470 } 3471 3472 // SetErrors sets the Errors field's value. 3473 func (s *GetEC2InstanceRecommendationsOutput) SetErrors(v []*GetRecommendationError) *GetEC2InstanceRecommendationsOutput { 3474 s.Errors = v 3475 return s 3476 } 3477 3478 // SetInstanceRecommendations sets the InstanceRecommendations field's value. 3479 func (s *GetEC2InstanceRecommendationsOutput) SetInstanceRecommendations(v []*InstanceRecommendation) *GetEC2InstanceRecommendationsOutput { 3480 s.InstanceRecommendations = v 3481 return s 3482 } 3483 3484 // SetNextToken sets the NextToken field's value. 3485 func (s *GetEC2InstanceRecommendationsOutput) SetNextToken(v string) *GetEC2InstanceRecommendationsOutput { 3486 s.NextToken = &v 3487 return s 3488 } 3489 3490 type GetEC2RecommendationProjectedMetricsInput struct { 3491 _ struct{} `type:"structure"` 3492 3493 // The timestamp of the last projected metrics data point to return. 3494 // 3495 // EndTime is a required field 3496 EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"` 3497 3498 // The Amazon Resource Name (ARN) of the instances for which to return recommendation 3499 // projected metrics. 3500 // 3501 // InstanceArn is a required field 3502 InstanceArn *string `locationName:"instanceArn" type:"string" required:"true"` 3503 3504 // The granularity, in seconds, of the projected metrics data points. 3505 // 3506 // Period is a required field 3507 Period *int64 `locationName:"period" type:"integer" required:"true"` 3508 3509 // An object to specify the preferences for the Amazon EC2 recommendation projected 3510 // metrics to return in the response. 3511 RecommendationPreferences *RecommendationPreferences `locationName:"recommendationPreferences" type:"structure"` 3512 3513 // The timestamp of the first projected metrics data point to return. 3514 // 3515 // StartTime is a required field 3516 StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"` 3517 3518 // The statistic of the projected metrics. 3519 // 3520 // Stat is a required field 3521 Stat *string `locationName:"stat" type:"string" required:"true" enum:"MetricStatistic"` 3522 } 3523 3524 // String returns the string representation. 3525 // 3526 // API parameter values that are decorated as "sensitive" in the API will not 3527 // be included in the string output. The member name will be present, but the 3528 // value will be replaced with "sensitive". 3529 func (s GetEC2RecommendationProjectedMetricsInput) String() string { 3530 return awsutil.Prettify(s) 3531 } 3532 3533 // GoString returns the string representation. 3534 // 3535 // API parameter values that are decorated as "sensitive" in the API will not 3536 // be included in the string output. The member name will be present, but the 3537 // value will be replaced with "sensitive". 3538 func (s GetEC2RecommendationProjectedMetricsInput) GoString() string { 3539 return s.String() 3540 } 3541 3542 // Validate inspects the fields of the type to determine if they are valid. 3543 func (s *GetEC2RecommendationProjectedMetricsInput) Validate() error { 3544 invalidParams := request.ErrInvalidParams{Context: "GetEC2RecommendationProjectedMetricsInput"} 3545 if s.EndTime == nil { 3546 invalidParams.Add(request.NewErrParamRequired("EndTime")) 3547 } 3548 if s.InstanceArn == nil { 3549 invalidParams.Add(request.NewErrParamRequired("InstanceArn")) 3550 } 3551 if s.Period == nil { 3552 invalidParams.Add(request.NewErrParamRequired("Period")) 3553 } 3554 if s.StartTime == nil { 3555 invalidParams.Add(request.NewErrParamRequired("StartTime")) 3556 } 3557 if s.Stat == nil { 3558 invalidParams.Add(request.NewErrParamRequired("Stat")) 3559 } 3560 3561 if invalidParams.Len() > 0 { 3562 return invalidParams 3563 } 3564 return nil 3565 } 3566 3567 // SetEndTime sets the EndTime field's value. 3568 func (s *GetEC2RecommendationProjectedMetricsInput) SetEndTime(v time.Time) *GetEC2RecommendationProjectedMetricsInput { 3569 s.EndTime = &v 3570 return s 3571 } 3572 3573 // SetInstanceArn sets the InstanceArn field's value. 3574 func (s *GetEC2RecommendationProjectedMetricsInput) SetInstanceArn(v string) *GetEC2RecommendationProjectedMetricsInput { 3575 s.InstanceArn = &v 3576 return s 3577 } 3578 3579 // SetPeriod sets the Period field's value. 3580 func (s *GetEC2RecommendationProjectedMetricsInput) SetPeriod(v int64) *GetEC2RecommendationProjectedMetricsInput { 3581 s.Period = &v 3582 return s 3583 } 3584 3585 // SetRecommendationPreferences sets the RecommendationPreferences field's value. 3586 func (s *GetEC2RecommendationProjectedMetricsInput) SetRecommendationPreferences(v *RecommendationPreferences) *GetEC2RecommendationProjectedMetricsInput { 3587 s.RecommendationPreferences = v 3588 return s 3589 } 3590 3591 // SetStartTime sets the StartTime field's value. 3592 func (s *GetEC2RecommendationProjectedMetricsInput) SetStartTime(v time.Time) *GetEC2RecommendationProjectedMetricsInput { 3593 s.StartTime = &v 3594 return s 3595 } 3596 3597 // SetStat sets the Stat field's value. 3598 func (s *GetEC2RecommendationProjectedMetricsInput) SetStat(v string) *GetEC2RecommendationProjectedMetricsInput { 3599 s.Stat = &v 3600 return s 3601 } 3602 3603 type GetEC2RecommendationProjectedMetricsOutput struct { 3604 _ struct{} `type:"structure"` 3605 3606 // An array of objects that describes projected metrics. 3607 RecommendedOptionProjectedMetrics []*RecommendedOptionProjectedMetric `locationName:"recommendedOptionProjectedMetrics" type:"list"` 3608 } 3609 3610 // String returns the string representation. 3611 // 3612 // API parameter values that are decorated as "sensitive" in the API will not 3613 // be included in the string output. The member name will be present, but the 3614 // value will be replaced with "sensitive". 3615 func (s GetEC2RecommendationProjectedMetricsOutput) String() string { 3616 return awsutil.Prettify(s) 3617 } 3618 3619 // GoString returns the string representation. 3620 // 3621 // API parameter values that are decorated as "sensitive" in the API will not 3622 // be included in the string output. The member name will be present, but the 3623 // value will be replaced with "sensitive". 3624 func (s GetEC2RecommendationProjectedMetricsOutput) GoString() string { 3625 return s.String() 3626 } 3627 3628 // SetRecommendedOptionProjectedMetrics sets the RecommendedOptionProjectedMetrics field's value. 3629 func (s *GetEC2RecommendationProjectedMetricsOutput) SetRecommendedOptionProjectedMetrics(v []*RecommendedOptionProjectedMetric) *GetEC2RecommendationProjectedMetricsOutput { 3630 s.RecommendedOptionProjectedMetrics = v 3631 return s 3632 } 3633 3634 type GetEnrollmentStatusInput struct { 3635 _ struct{} `type:"structure"` 3636 } 3637 3638 // String returns the string representation. 3639 // 3640 // API parameter values that are decorated as "sensitive" in the API will not 3641 // be included in the string output. The member name will be present, but the 3642 // value will be replaced with "sensitive". 3643 func (s GetEnrollmentStatusInput) String() string { 3644 return awsutil.Prettify(s) 3645 } 3646 3647 // GoString returns the string representation. 3648 // 3649 // API parameter values that are decorated as "sensitive" in the API will not 3650 // be included in the string output. The member name will be present, but the 3651 // value will be replaced with "sensitive". 3652 func (s GetEnrollmentStatusInput) GoString() string { 3653 return s.String() 3654 } 3655 3656 type GetEnrollmentStatusOutput struct { 3657 _ struct{} `type:"structure"` 3658 3659 // The Unix epoch timestamp, in seconds, of when the account enrollment status 3660 // was last updated. 3661 LastUpdatedTimestamp *time.Time `locationName:"lastUpdatedTimestamp" type:"timestamp"` 3662 3663 // Confirms the enrollment status of member accounts of the organization, if 3664 // the account is a management account of an organization. 3665 MemberAccountsEnrolled *bool `locationName:"memberAccountsEnrolled" type:"boolean"` 3666 3667 // The count of organization member accounts that are opted in to the service, 3668 // if your account is an organization management account. 3669 NumberOfMemberAccountsOptedIn *int64 `locationName:"numberOfMemberAccountsOptedIn" type:"integer"` 3670 3671 // The enrollment status of the account. 3672 Status *string `locationName:"status" type:"string" enum:"Status"` 3673 3674 // The reason for the enrollment status of the account. 3675 // 3676 // For example, an account might show a status of Pending because member accounts 3677 // of an organization require more time to be enrolled in the service. 3678 StatusReason *string `locationName:"statusReason" type:"string"` 3679 } 3680 3681 // String returns the string representation. 3682 // 3683 // API parameter values that are decorated as "sensitive" in the API will not 3684 // be included in the string output. The member name will be present, but the 3685 // value will be replaced with "sensitive". 3686 func (s GetEnrollmentStatusOutput) String() string { 3687 return awsutil.Prettify(s) 3688 } 3689 3690 // GoString returns the string representation. 3691 // 3692 // API parameter values that are decorated as "sensitive" in the API will not 3693 // be included in the string output. The member name will be present, but the 3694 // value will be replaced with "sensitive". 3695 func (s GetEnrollmentStatusOutput) GoString() string { 3696 return s.String() 3697 } 3698 3699 // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value. 3700 func (s *GetEnrollmentStatusOutput) SetLastUpdatedTimestamp(v time.Time) *GetEnrollmentStatusOutput { 3701 s.LastUpdatedTimestamp = &v 3702 return s 3703 } 3704 3705 // SetMemberAccountsEnrolled sets the MemberAccountsEnrolled field's value. 3706 func (s *GetEnrollmentStatusOutput) SetMemberAccountsEnrolled(v bool) *GetEnrollmentStatusOutput { 3707 s.MemberAccountsEnrolled = &v 3708 return s 3709 } 3710 3711 // SetNumberOfMemberAccountsOptedIn sets the NumberOfMemberAccountsOptedIn field's value. 3712 func (s *GetEnrollmentStatusOutput) SetNumberOfMemberAccountsOptedIn(v int64) *GetEnrollmentStatusOutput { 3713 s.NumberOfMemberAccountsOptedIn = &v 3714 return s 3715 } 3716 3717 // SetStatus sets the Status field's value. 3718 func (s *GetEnrollmentStatusOutput) SetStatus(v string) *GetEnrollmentStatusOutput { 3719 s.Status = &v 3720 return s 3721 } 3722 3723 // SetStatusReason sets the StatusReason field's value. 3724 func (s *GetEnrollmentStatusOutput) SetStatusReason(v string) *GetEnrollmentStatusOutput { 3725 s.StatusReason = &v 3726 return s 3727 } 3728 3729 type GetEnrollmentStatusesForOrganizationInput struct { 3730 _ struct{} `type:"structure"` 3731 3732 // An array of objects to specify a filter that returns a more specific list 3733 // of account enrollment statuses. 3734 Filters []*EnrollmentFilter `locationName:"filters" type:"list"` 3735 3736 // The maximum number of account enrollment statuses to return with a single 3737 // request. You can specify up to 100 statuses to return with each request. 3738 // 3739 // To retrieve the remaining results, make another request with the returned 3740 // nextToken value. 3741 MaxResults *int64 `locationName:"maxResults" type:"integer"` 3742 3743 // The token to advance to the next page of account enrollment statuses. 3744 NextToken *string `locationName:"nextToken" type:"string"` 3745 } 3746 3747 // String returns the string representation. 3748 // 3749 // API parameter values that are decorated as "sensitive" in the API will not 3750 // be included in the string output. The member name will be present, but the 3751 // value will be replaced with "sensitive". 3752 func (s GetEnrollmentStatusesForOrganizationInput) String() string { 3753 return awsutil.Prettify(s) 3754 } 3755 3756 // GoString returns the string representation. 3757 // 3758 // API parameter values that are decorated as "sensitive" in the API will not 3759 // be included in the string output. The member name will be present, but the 3760 // value will be replaced with "sensitive". 3761 func (s GetEnrollmentStatusesForOrganizationInput) GoString() string { 3762 return s.String() 3763 } 3764 3765 // SetFilters sets the Filters field's value. 3766 func (s *GetEnrollmentStatusesForOrganizationInput) SetFilters(v []*EnrollmentFilter) *GetEnrollmentStatusesForOrganizationInput { 3767 s.Filters = v 3768 return s 3769 } 3770 3771 // SetMaxResults sets the MaxResults field's value. 3772 func (s *GetEnrollmentStatusesForOrganizationInput) SetMaxResults(v int64) *GetEnrollmentStatusesForOrganizationInput { 3773 s.MaxResults = &v 3774 return s 3775 } 3776 3777 // SetNextToken sets the NextToken field's value. 3778 func (s *GetEnrollmentStatusesForOrganizationInput) SetNextToken(v string) *GetEnrollmentStatusesForOrganizationInput { 3779 s.NextToken = &v 3780 return s 3781 } 3782 3783 type GetEnrollmentStatusesForOrganizationOutput struct { 3784 _ struct{} `type:"structure"` 3785 3786 // An array of objects that describe the enrollment statuses of organization 3787 // member accounts. 3788 AccountEnrollmentStatuses []*AccountEnrollmentStatus `locationName:"accountEnrollmentStatuses" type:"list"` 3789 3790 // The token to use to advance to the next page of account enrollment statuses. 3791 // 3792 // This value is null when there are no more pages of account enrollment statuses 3793 // to return. 3794 NextToken *string `locationName:"nextToken" type:"string"` 3795 } 3796 3797 // String returns the string representation. 3798 // 3799 // API parameter values that are decorated as "sensitive" in the API will not 3800 // be included in the string output. The member name will be present, but the 3801 // value will be replaced with "sensitive". 3802 func (s GetEnrollmentStatusesForOrganizationOutput) String() string { 3803 return awsutil.Prettify(s) 3804 } 3805 3806 // GoString returns the string representation. 3807 // 3808 // API parameter values that are decorated as "sensitive" in the API will not 3809 // be included in the string output. The member name will be present, but the 3810 // value will be replaced with "sensitive". 3811 func (s GetEnrollmentStatusesForOrganizationOutput) GoString() string { 3812 return s.String() 3813 } 3814 3815 // SetAccountEnrollmentStatuses sets the AccountEnrollmentStatuses field's value. 3816 func (s *GetEnrollmentStatusesForOrganizationOutput) SetAccountEnrollmentStatuses(v []*AccountEnrollmentStatus) *GetEnrollmentStatusesForOrganizationOutput { 3817 s.AccountEnrollmentStatuses = v 3818 return s 3819 } 3820 3821 // SetNextToken sets the NextToken field's value. 3822 func (s *GetEnrollmentStatusesForOrganizationOutput) SetNextToken(v string) *GetEnrollmentStatusesForOrganizationOutput { 3823 s.NextToken = &v 3824 return s 3825 } 3826 3827 type GetLambdaFunctionRecommendationsInput struct { 3828 _ struct{} `type:"structure"` 3829 3830 // The ID of the Amazon Web Services account for which to return function recommendations. 3831 // 3832 // If your account is the management account of an organization, use this parameter 3833 // to specify the member account for which you want to return function recommendations. 3834 // 3835 // Only one account ID can be specified per request. 3836 AccountIds []*string `locationName:"accountIds" type:"list"` 3837 3838 // An array of objects to specify a filter that returns a more specific list 3839 // of function recommendations. 3840 Filters []*LambdaFunctionRecommendationFilter `locationName:"filters" type:"list"` 3841 3842 // The Amazon Resource Name (ARN) of the functions for which to return recommendations. 3843 // 3844 // You can specify a qualified or unqualified ARN. If you specify an unqualified 3845 // ARN without a function version suffix, Compute Optimizer will return recommendations 3846 // for the latest ($LATEST) version of the function. If you specify a qualified 3847 // ARN with a version suffix, Compute Optimizer will return recommendations 3848 // for the specified function version. For more information about using function 3849 // versions, see Using versions (https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html#versioning-versions-using) 3850 // in the Lambda Developer Guide. 3851 FunctionArns []*string `locationName:"functionArns" type:"list"` 3852 3853 // The maximum number of function recommendations to return with a single request. 3854 // 3855 // To retrieve the remaining results, make another request with the returned 3856 // nextToken value. 3857 MaxResults *int64 `locationName:"maxResults" type:"integer"` 3858 3859 // The token to advance to the next page of function recommendations. 3860 NextToken *string `locationName:"nextToken" type:"string"` 3861 } 3862 3863 // String returns the string representation. 3864 // 3865 // API parameter values that are decorated as "sensitive" in the API will not 3866 // be included in the string output. The member name will be present, but the 3867 // value will be replaced with "sensitive". 3868 func (s GetLambdaFunctionRecommendationsInput) String() string { 3869 return awsutil.Prettify(s) 3870 } 3871 3872 // GoString returns the string representation. 3873 // 3874 // API parameter values that are decorated as "sensitive" in the API will not 3875 // be included in the string output. The member name will be present, but the 3876 // value will be replaced with "sensitive". 3877 func (s GetLambdaFunctionRecommendationsInput) GoString() string { 3878 return s.String() 3879 } 3880 3881 // SetAccountIds sets the AccountIds field's value. 3882 func (s *GetLambdaFunctionRecommendationsInput) SetAccountIds(v []*string) *GetLambdaFunctionRecommendationsInput { 3883 s.AccountIds = v 3884 return s 3885 } 3886 3887 // SetFilters sets the Filters field's value. 3888 func (s *GetLambdaFunctionRecommendationsInput) SetFilters(v []*LambdaFunctionRecommendationFilter) *GetLambdaFunctionRecommendationsInput { 3889 s.Filters = v 3890 return s 3891 } 3892 3893 // SetFunctionArns sets the FunctionArns field's value. 3894 func (s *GetLambdaFunctionRecommendationsInput) SetFunctionArns(v []*string) *GetLambdaFunctionRecommendationsInput { 3895 s.FunctionArns = v 3896 return s 3897 } 3898 3899 // SetMaxResults sets the MaxResults field's value. 3900 func (s *GetLambdaFunctionRecommendationsInput) SetMaxResults(v int64) *GetLambdaFunctionRecommendationsInput { 3901 s.MaxResults = &v 3902 return s 3903 } 3904 3905 // SetNextToken sets the NextToken field's value. 3906 func (s *GetLambdaFunctionRecommendationsInput) SetNextToken(v string) *GetLambdaFunctionRecommendationsInput { 3907 s.NextToken = &v 3908 return s 3909 } 3910 3911 type GetLambdaFunctionRecommendationsOutput struct { 3912 _ struct{} `type:"structure"` 3913 3914 // An array of objects that describe function recommendations. 3915 LambdaFunctionRecommendations []*LambdaFunctionRecommendation `locationName:"lambdaFunctionRecommendations" type:"list"` 3916 3917 // The token to use to advance to the next page of function recommendations. 3918 // 3919 // This value is null when there are no more pages of function recommendations 3920 // to return. 3921 NextToken *string `locationName:"nextToken" type:"string"` 3922 } 3923 3924 // String returns the string representation. 3925 // 3926 // API parameter values that are decorated as "sensitive" in the API will not 3927 // be included in the string output. The member name will be present, but the 3928 // value will be replaced with "sensitive". 3929 func (s GetLambdaFunctionRecommendationsOutput) String() string { 3930 return awsutil.Prettify(s) 3931 } 3932 3933 // GoString returns the string representation. 3934 // 3935 // API parameter values that are decorated as "sensitive" in the API will not 3936 // be included in the string output. The member name will be present, but the 3937 // value will be replaced with "sensitive". 3938 func (s GetLambdaFunctionRecommendationsOutput) GoString() string { 3939 return s.String() 3940 } 3941 3942 // SetLambdaFunctionRecommendations sets the LambdaFunctionRecommendations field's value. 3943 func (s *GetLambdaFunctionRecommendationsOutput) SetLambdaFunctionRecommendations(v []*LambdaFunctionRecommendation) *GetLambdaFunctionRecommendationsOutput { 3944 s.LambdaFunctionRecommendations = v 3945 return s 3946 } 3947 3948 // SetNextToken sets the NextToken field's value. 3949 func (s *GetLambdaFunctionRecommendationsOutput) SetNextToken(v string) *GetLambdaFunctionRecommendationsOutput { 3950 s.NextToken = &v 3951 return s 3952 } 3953 3954 // Describes an error experienced when getting recommendations. 3955 // 3956 // For example, an error is returned if you request recommendations for an unsupported 3957 // Auto Scaling group, or if you request recommendations for an instance of 3958 // an unsupported instance family. 3959 type GetRecommendationError struct { 3960 _ struct{} `type:"structure"` 3961 3962 // The error code. 3963 Code *string `locationName:"code" type:"string"` 3964 3965 // The ID of the error. 3966 Identifier *string `locationName:"identifier" type:"string"` 3967 3968 // The message, or reason, for the error. 3969 Message *string `locationName:"message" type:"string"` 3970 } 3971 3972 // String returns the string representation. 3973 // 3974 // API parameter values that are decorated as "sensitive" in the API will not 3975 // be included in the string output. The member name will be present, but the 3976 // value will be replaced with "sensitive". 3977 func (s GetRecommendationError) String() string { 3978 return awsutil.Prettify(s) 3979 } 3980 3981 // GoString returns the string representation. 3982 // 3983 // API parameter values that are decorated as "sensitive" in the API will not 3984 // be included in the string output. The member name will be present, but the 3985 // value will be replaced with "sensitive". 3986 func (s GetRecommendationError) GoString() string { 3987 return s.String() 3988 } 3989 3990 // SetCode sets the Code field's value. 3991 func (s *GetRecommendationError) SetCode(v string) *GetRecommendationError { 3992 s.Code = &v 3993 return s 3994 } 3995 3996 // SetIdentifier sets the Identifier field's value. 3997 func (s *GetRecommendationError) SetIdentifier(v string) *GetRecommendationError { 3998 s.Identifier = &v 3999 return s 4000 } 4001 4002 // SetMessage sets the Message field's value. 4003 func (s *GetRecommendationError) SetMessage(v string) *GetRecommendationError { 4004 s.Message = &v 4005 return s 4006 } 4007 4008 type GetRecommendationSummariesInput struct { 4009 _ struct{} `type:"structure"` 4010 4011 // The ID of the Amazon Web Services account for which to return recommendation 4012 // summaries. 4013 // 4014 // If your account is the management account of an organization, use this parameter 4015 // to specify the member account for which you want to return recommendation 4016 // summaries. 4017 // 4018 // Only one account ID can be specified per request. 4019 AccountIds []*string `locationName:"accountIds" type:"list"` 4020 4021 // The maximum number of recommendation summaries to return with a single request. 4022 // 4023 // To retrieve the remaining results, make another request with the returned 4024 // nextToken value. 4025 MaxResults *int64 `locationName:"maxResults" type:"integer"` 4026 4027 // The token to advance to the next page of recommendation summaries. 4028 NextToken *string `locationName:"nextToken" type:"string"` 4029 } 4030 4031 // String returns the string representation. 4032 // 4033 // API parameter values that are decorated as "sensitive" in the API will not 4034 // be included in the string output. The member name will be present, but the 4035 // value will be replaced with "sensitive". 4036 func (s GetRecommendationSummariesInput) String() string { 4037 return awsutil.Prettify(s) 4038 } 4039 4040 // GoString returns the string representation. 4041 // 4042 // API parameter values that are decorated as "sensitive" in the API will not 4043 // be included in the string output. The member name will be present, but the 4044 // value will be replaced with "sensitive". 4045 func (s GetRecommendationSummariesInput) GoString() string { 4046 return s.String() 4047 } 4048 4049 // SetAccountIds sets the AccountIds field's value. 4050 func (s *GetRecommendationSummariesInput) SetAccountIds(v []*string) *GetRecommendationSummariesInput { 4051 s.AccountIds = v 4052 return s 4053 } 4054 4055 // SetMaxResults sets the MaxResults field's value. 4056 func (s *GetRecommendationSummariesInput) SetMaxResults(v int64) *GetRecommendationSummariesInput { 4057 s.MaxResults = &v 4058 return s 4059 } 4060 4061 // SetNextToken sets the NextToken field's value. 4062 func (s *GetRecommendationSummariesInput) SetNextToken(v string) *GetRecommendationSummariesInput { 4063 s.NextToken = &v 4064 return s 4065 } 4066 4067 type GetRecommendationSummariesOutput struct { 4068 _ struct{} `type:"structure"` 4069 4070 // The token to use to advance to the next page of recommendation summaries. 4071 // 4072 // This value is null when there are no more pages of recommendation summaries 4073 // to return. 4074 NextToken *string `locationName:"nextToken" type:"string"` 4075 4076 // An array of objects that summarize a recommendation. 4077 RecommendationSummaries []*RecommendationSummary `locationName:"recommendationSummaries" type:"list"` 4078 } 4079 4080 // String returns the string representation. 4081 // 4082 // API parameter values that are decorated as "sensitive" in the API will not 4083 // be included in the string output. The member name will be present, but the 4084 // value will be replaced with "sensitive". 4085 func (s GetRecommendationSummariesOutput) String() string { 4086 return awsutil.Prettify(s) 4087 } 4088 4089 // GoString returns the string representation. 4090 // 4091 // API parameter values that are decorated as "sensitive" in the API will not 4092 // be included in the string output. The member name will be present, but the 4093 // value will be replaced with "sensitive". 4094 func (s GetRecommendationSummariesOutput) GoString() string { 4095 return s.String() 4096 } 4097 4098 // SetNextToken sets the NextToken field's value. 4099 func (s *GetRecommendationSummariesOutput) SetNextToken(v string) *GetRecommendationSummariesOutput { 4100 s.NextToken = &v 4101 return s 4102 } 4103 4104 // SetRecommendationSummaries sets the RecommendationSummaries field's value. 4105 func (s *GetRecommendationSummariesOutput) SetRecommendationSummaries(v []*RecommendationSummary) *GetRecommendationSummariesOutput { 4106 s.RecommendationSummaries = v 4107 return s 4108 } 4109 4110 // Describes an Amazon EC2 instance recommendation. 4111 type InstanceRecommendation struct { 4112 _ struct{} `type:"structure"` 4113 4114 // The Amazon Web Services account ID of the instance. 4115 AccountId *string `locationName:"accountId" type:"string"` 4116 4117 // The instance type of the current instance. 4118 CurrentInstanceType *string `locationName:"currentInstanceType" type:"string"` 4119 4120 // The finding classification of the instance. 4121 // 4122 // Findings for instances include: 4123 // 4124 // * Underprovisioned —An instance is considered under-provisioned when 4125 // at least one specification of your instance, such as CPU, memory, or network, 4126 // does not meet the performance requirements of your workload. Under-provisioned 4127 // instances may lead to poor application performance. 4128 // 4129 // * Overprovisioned —An instance is considered over-provisioned when at 4130 // least one specification of your instance, such as CPU, memory, or network, 4131 // can be sized down while still meeting the performance requirements of 4132 // your workload, and no specification is under-provisioned. Over-provisioned 4133 // instances may lead to unnecessary infrastructure cost. 4134 // 4135 // * Optimized —An instance is considered optimized when all specifications 4136 // of your instance, such as CPU, memory, and network, meet the performance 4137 // requirements of your workload and is not over provisioned. For optimized 4138 // resources, Compute Optimizer might recommend a new generation instance 4139 // type. 4140 Finding *string `locationName:"finding" type:"string" enum:"Finding"` 4141 4142 // The reason for the finding classification of the instance. 4143 // 4144 // Finding reason codes for instances include: 4145 // 4146 // * CPUOverprovisioned — The instance’s CPU configuration can be sized 4147 // down while still meeting the performance requirements of your workload. 4148 // This is identified by analyzing the CPUUtilization metric of the current 4149 // instance during the look-back period. 4150 // 4151 // * CPUUnderprovisioned — The instance’s CPU configuration doesn't meet 4152 // the performance requirements of your workload and there is an alternative 4153 // instance type that provides better CPU performance. This is identified 4154 // by analyzing the CPUUtilization metric of the current instance during 4155 // the look-back period. 4156 // 4157 // * MemoryOverprovisioned — The instance’s memory configuration can 4158 // be sized down while still meeting the performance requirements of your 4159 // workload. This is identified by analyzing the memory utilization metric 4160 // of the current instance during the look-back period. 4161 // 4162 // * MemoryUnderprovisioned — The instance’s memory configuration doesn't 4163 // meet the performance requirements of your workload and there is an alternative 4164 // instance type that provides better memory performance. This is identified 4165 // by analyzing the memory utilization metric of the current instance during 4166 // the look-back period. Memory utilization is analyzed only for resources 4167 // that have the unified CloudWatch agent installed on them. For more information, 4168 // see Enabling memory utilization with the Amazon CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent) 4169 // in the Compute Optimizer User Guide. On Linux instances, Compute Optimizer 4170 // analyses the mem_used_percent metric in the CWAgent namespace, or the 4171 // legacy MemoryUtilization metric in the System/Linux namespace. On Windows 4172 // instances, Compute Optimizer analyses the Memory % Committed Bytes In 4173 // Use metric in the CWAgent namespace. 4174 // 4175 // * EBSThroughputOverprovisioned — The instance’s EBS throughput configuration 4176 // can be sized down while still meeting the performance requirements of 4177 // your workload. This is identified by analyzing the VolumeReadOps and VolumeWriteOps 4178 // metrics of EBS volumes attached to the current instance during the look-back 4179 // period. 4180 // 4181 // * EBSThroughputUnderprovisioned — The instance’s EBS throughput configuration 4182 // doesn't meet the performance requirements of your workload and there is 4183 // an alternative instance type that provides better EBS throughput performance. 4184 // This is identified by analyzing the VolumeReadOps and VolumeWriteOps metrics 4185 // of EBS volumes attached to the current instance during the look-back period. 4186 // 4187 // * EBSIOPSOverprovisioned — The instance’s EBS IOPS configuration can 4188 // be sized down while still meeting the performance requirements of your 4189 // workload. This is identified by analyzing the VolumeReadBytes and VolumeWriteBytes 4190 // metric of EBS volumes attached to the current instance during the look-back 4191 // period. 4192 // 4193 // * EBSIOPSUnderprovisioned — The instance’s EBS IOPS configuration 4194 // doesn't meet the performance requirements of your workload and there is 4195 // an alternative instance type that provides better EBS IOPS performance. 4196 // This is identified by analyzing the VolumeReadBytes and VolumeWriteBytes 4197 // metric of EBS volumes attached to the current instance during the look-back 4198 // period. 4199 // 4200 // * NetworkBandwidthOverprovisioned — The instance’s network bandwidth 4201 // configuration can be sized down while still meeting the performance requirements 4202 // of your workload. This is identified by analyzing the NetworkIn and NetworkOut 4203 // metrics of the current instance during the look-back period. 4204 // 4205 // * NetworkBandwidthUnderprovisioned — The instance’s network bandwidth 4206 // configuration doesn't meet the performance requirements of your workload 4207 // and there is an alternative instance type that provides better network 4208 // bandwidth performance. This is identified by analyzing the NetworkIn and 4209 // NetworkOut metrics of the current instance during the look-back period. 4210 // This finding reason happens when the NetworkIn or NetworkOut performance 4211 // of an instance is impacted. 4212 // 4213 // * NetworkPPSOverprovisioned — The instance’s network PPS (packets 4214 // per second) configuration can be sized down while still meeting the performance 4215 // requirements of your workload. This is identified by analyzing the NetworkPacketsIn 4216 // and NetworkPacketsIn metrics of the current instance during the look-back 4217 // period. 4218 // 4219 // * NetworkPPSUnderprovisioned — The instance’s network PPS (packets 4220 // per second) configuration doesn't meet the performance requirements of 4221 // your workload and there is an alternative instance type that provides 4222 // better network PPS performance. This is identified by analyzing the NetworkPacketsIn 4223 // and NetworkPacketsIn metrics of the current instance during the look-back 4224 // period. 4225 // 4226 // * DiskIOPSOverprovisioned — The instance’s disk IOPS configuration 4227 // can be sized down while still meeting the performance requirements of 4228 // your workload. This is identified by analyzing the DiskReadOps and DiskWriteOps 4229 // metrics of the current instance during the look-back period. 4230 // 4231 // * DiskIOPSUnderprovisioned — The instance’s disk IOPS configuration 4232 // doesn't meet the performance requirements of your workload and there is 4233 // an alternative instance type that provides better disk IOPS performance. 4234 // This is identified by analyzing the DiskReadOps and DiskWriteOps metrics 4235 // of the current instance during the look-back period. 4236 // 4237 // * DiskThroughputOverprovisioned — The instance’s disk throughput configuration 4238 // can be sized down while still meeting the performance requirements of 4239 // your workload. This is identified by analyzing the DiskReadBytes and DiskWriteBytes 4240 // metrics of the current instance during the look-back period. 4241 // 4242 // * DiskThroughputUnderprovisioned — The instance’s disk throughput 4243 // configuration doesn't meet the performance requirements of your workload 4244 // and there is an alternative instance type that provides better disk throughput 4245 // performance. This is identified by analyzing the DiskReadBytes and DiskWriteBytes 4246 // metrics of the current instance during the look-back period. 4247 // 4248 // For more information about instance metrics, see List the available CloudWatch 4249 // metrics for your instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html) 4250 // in the Amazon Elastic Compute Cloud User Guide. For more information about 4251 // EBS volume metrics, see Amazon CloudWatch metrics for Amazon EBS (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cloudwatch_ebs.html) 4252 // in the Amazon Elastic Compute Cloud User Guide. 4253 FindingReasonCodes []*string `locationName:"findingReasonCodes" type:"list"` 4254 4255 // The Amazon Resource Name (ARN) of the current instance. 4256 InstanceArn *string `locationName:"instanceArn" type:"string"` 4257 4258 // The name of the current instance. 4259 InstanceName *string `locationName:"instanceName" type:"string"` 4260 4261 // The timestamp of when the instance recommendation was last refreshed. 4262 LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"` 4263 4264 // The number of days for which utilization metrics were analyzed for the instance. 4265 LookBackPeriodInDays *float64 `locationName:"lookBackPeriodInDays" type:"double"` 4266 4267 // An array of objects that describe the recommendation options for the instance. 4268 RecommendationOptions []*InstanceRecommendationOption `locationName:"recommendationOptions" type:"list"` 4269 4270 // An array of objects that describe the source resource of the recommendation. 4271 RecommendationSources []*RecommendationSource `locationName:"recommendationSources" type:"list"` 4272 4273 // An array of objects that describe the utilization metrics of the instance. 4274 UtilizationMetrics []*UtilizationMetric `locationName:"utilizationMetrics" type:"list"` 4275 } 4276 4277 // String returns the string representation. 4278 // 4279 // API parameter values that are decorated as "sensitive" in the API will not 4280 // be included in the string output. The member name will be present, but the 4281 // value will be replaced with "sensitive". 4282 func (s InstanceRecommendation) String() string { 4283 return awsutil.Prettify(s) 4284 } 4285 4286 // GoString returns the string representation. 4287 // 4288 // API parameter values that are decorated as "sensitive" in the API will not 4289 // be included in the string output. The member name will be present, but the 4290 // value will be replaced with "sensitive". 4291 func (s InstanceRecommendation) GoString() string { 4292 return s.String() 4293 } 4294 4295 // SetAccountId sets the AccountId field's value. 4296 func (s *InstanceRecommendation) SetAccountId(v string) *InstanceRecommendation { 4297 s.AccountId = &v 4298 return s 4299 } 4300 4301 // SetCurrentInstanceType sets the CurrentInstanceType field's value. 4302 func (s *InstanceRecommendation) SetCurrentInstanceType(v string) *InstanceRecommendation { 4303 s.CurrentInstanceType = &v 4304 return s 4305 } 4306 4307 // SetFinding sets the Finding field's value. 4308 func (s *InstanceRecommendation) SetFinding(v string) *InstanceRecommendation { 4309 s.Finding = &v 4310 return s 4311 } 4312 4313 // SetFindingReasonCodes sets the FindingReasonCodes field's value. 4314 func (s *InstanceRecommendation) SetFindingReasonCodes(v []*string) *InstanceRecommendation { 4315 s.FindingReasonCodes = v 4316 return s 4317 } 4318 4319 // SetInstanceArn sets the InstanceArn field's value. 4320 func (s *InstanceRecommendation) SetInstanceArn(v string) *InstanceRecommendation { 4321 s.InstanceArn = &v 4322 return s 4323 } 4324 4325 // SetInstanceName sets the InstanceName field's value. 4326 func (s *InstanceRecommendation) SetInstanceName(v string) *InstanceRecommendation { 4327 s.InstanceName = &v 4328 return s 4329 } 4330 4331 // SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value. 4332 func (s *InstanceRecommendation) SetLastRefreshTimestamp(v time.Time) *InstanceRecommendation { 4333 s.LastRefreshTimestamp = &v 4334 return s 4335 } 4336 4337 // SetLookBackPeriodInDays sets the LookBackPeriodInDays field's value. 4338 func (s *InstanceRecommendation) SetLookBackPeriodInDays(v float64) *InstanceRecommendation { 4339 s.LookBackPeriodInDays = &v 4340 return s 4341 } 4342 4343 // SetRecommendationOptions sets the RecommendationOptions field's value. 4344 func (s *InstanceRecommendation) SetRecommendationOptions(v []*InstanceRecommendationOption) *InstanceRecommendation { 4345 s.RecommendationOptions = v 4346 return s 4347 } 4348 4349 // SetRecommendationSources sets the RecommendationSources field's value. 4350 func (s *InstanceRecommendation) SetRecommendationSources(v []*RecommendationSource) *InstanceRecommendation { 4351 s.RecommendationSources = v 4352 return s 4353 } 4354 4355 // SetUtilizationMetrics sets the UtilizationMetrics field's value. 4356 func (s *InstanceRecommendation) SetUtilizationMetrics(v []*UtilizationMetric) *InstanceRecommendation { 4357 s.UtilizationMetrics = v 4358 return s 4359 } 4360 4361 // Describes a recommendation option for an Amazon EC2 instance. 4362 type InstanceRecommendationOption struct { 4363 _ struct{} `type:"structure"` 4364 4365 // The instance type of the instance recommendation. 4366 InstanceType *string `locationName:"instanceType" type:"string"` 4367 4368 // The performance risk of the instance recommendation option. 4369 // 4370 // Performance risk indicates the likelihood of the recommended instance type 4371 // not meeting the resource needs of your workload. Compute Optimizer calculates 4372 // an individual performance risk score for each specification of the recommended 4373 // instance, including CPU, memory, EBS throughput, EBS IOPS, disk throughput, 4374 // disk IOPS, network throughput, and network PPS. The performance risk of the 4375 // recommended instance is calculated as the maximum performance risk score 4376 // across the analyzed resource specifications. 4377 // 4378 // The value ranges from 0 - 4, with 0 meaning that the recommended resource 4379 // is predicted to always provide enough hardware capability. The higher the 4380 // performance risk is, the more likely you should validate whether the recommendation 4381 // will meet the performance requirements of your workload before migrating 4382 // your resource. 4383 PerformanceRisk *float64 `locationName:"performanceRisk" type:"double"` 4384 4385 // Describes the configuration differences between the current instance and 4386 // the recommended instance type. You should consider the configuration differences 4387 // before migrating your workloads from the current instance to the recommended 4388 // instance type. The Change the instance type guide for Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html) 4389 // and Change the instance type guide for Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-resize.html) 4390 // provide general guidance for getting started with an instance migration. 4391 // 4392 // Platform differences include: 4393 // 4394 // * Hypervisor — The hypervisor of the recommended instance type is different 4395 // than that of the current instance. For example, the recommended instance 4396 // type uses a Nitro hypervisor and the current instance uses a Xen hypervisor. 4397 // The differences that you should consider between these hypervisors are 4398 // covered in the Nitro Hypervisor (http://aws.amazon.com/ec2/faqs/#Nitro_Hypervisor) 4399 // section of the Amazon EC2 frequently asked questions. For more information, 4400 // see Instances built on the Nitro System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances) 4401 // in the Amazon EC2 User Guide for Linux, or Instances built on the Nitro 4402 // System (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/instance-types.html#ec2-nitro-instances) 4403 // in the Amazon EC2 User Guide for Windows. 4404 // 4405 // * NetworkInterface — The network interface of the recommended instance 4406 // type is different than that of the current instance. For example, the 4407 // recommended instance type supports enhanced networking and the current 4408 // instance might not. To enable enhanced networking for the recommended 4409 // instance type, you must install the Elastic Network Adapter (ENA) driver 4410 // or the Intel 82599 Virtual Function driver. For more information, see 4411 // Networking and storage features (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#instance-networking-storage) 4412 // and Enhanced networking on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 4413 // in the Amazon EC2 User Guide for Linux, or Networking and storage features 4414 // (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/instance-types.html#instance-networking-storage) 4415 // and Enhanced networking on Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 4416 // in the Amazon EC2 User Guide for Windows. 4417 // 4418 // * StorageInterface — The storage interface of the recommended instance 4419 // type is different than that of the current instance. For example, the 4420 // recommended instance type uses an NVMe storage interface and the current 4421 // instance does not. To access NVMe volumes for the recommended instance 4422 // type, you will need to install or upgrade the NVMe driver. For more information, 4423 // see Networking and storage features (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#instance-networking-storage) 4424 // and Amazon EBS and NVMe on Linux instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html) 4425 // in the Amazon EC2 User Guide for Linux, or Networking and storage features 4426 // (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/instance-types.html#instance-networking-storage) 4427 // and Amazon EBS and NVMe on Windows instances (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/nvme-ebs-volumes.html) 4428 // in the Amazon EC2 User Guide for Windows. 4429 // 4430 // * InstanceStoreAvailability — The recommended instance type does not 4431 // support instance store volumes and the current instance does. Before migrating, 4432 // you might need to back up the data on your instance store volumes if you 4433 // want to preserve them. For more information, see How do I back up an instance 4434 // store volume on my Amazon EC2 instance to Amazon EBS? (https://aws.amazon.com/premiumsupport/knowledge-center/back-up-instance-store-ebs/) 4435 // in the Amazon Web Services Premium Support Knowledge Base. For more information, 4436 // see Networking and storage features (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#instance-networking-storage) 4437 // and Amazon EC2 instance store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) 4438 // in the Amazon EC2 User Guide for Linux, or see Networking and storage 4439 // features (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/instance-types.html#instance-networking-storage) 4440 // and Amazon EC2 instance store (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/InstanceStorage.html) 4441 // in the Amazon EC2 User Guide for Windows. 4442 // 4443 // * VirtualizationType — The recommended instance type uses the hardware 4444 // virtual machine (HVM) virtualization type and the current instance uses 4445 // the paravirtual (PV) virtualization type. For more information about the 4446 // differences between these virtualization types, see Linux AMI virtualization 4447 // types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html) 4448 // in the Amazon EC2 User Guide for Linux, or Windows AMI virtualization 4449 // types (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/windows-ami-version-history.html#virtualization-types) 4450 // in the Amazon EC2 User Guide for Windows. 4451 // 4452 // * Architecture — The CPU architecture between the recommended instance 4453 // type and the current instance is different. For example, the recommended 4454 // instance type might use an Arm CPU architecture and the current instance 4455 // type might use a different one, such as x86. Before migrating, you should 4456 // consider recompiling the software on your instance for the new architecture. 4457 // Alternatively, you might switch to an Amazon Machine Image (AMI) that 4458 // supports the new architecture. For more information about the CPU architecture 4459 // for each instance type, see Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/). 4460 PlatformDifferences []*string `locationName:"platformDifferences" type:"list"` 4461 4462 // An array of objects that describe the projected utilization metrics of the 4463 // instance recommendation option. 4464 // 4465 // The Cpu and Memory metrics are the only projected utilization metrics returned. 4466 // Additionally, the Memory metric is returned only for resources that have 4467 // the unified CloudWatch agent installed on them. For more information, see 4468 // Enabling Memory Utilization with the CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent). 4469 ProjectedUtilizationMetrics []*UtilizationMetric `locationName:"projectedUtilizationMetrics" type:"list"` 4470 4471 // The rank of the instance recommendation option. 4472 // 4473 // The top recommendation option is ranked as 1. 4474 Rank *int64 `locationName:"rank" type:"integer"` 4475 } 4476 4477 // String returns the string representation. 4478 // 4479 // API parameter values that are decorated as "sensitive" in the API will not 4480 // be included in the string output. The member name will be present, but the 4481 // value will be replaced with "sensitive". 4482 func (s InstanceRecommendationOption) String() string { 4483 return awsutil.Prettify(s) 4484 } 4485 4486 // GoString returns the string representation. 4487 // 4488 // API parameter values that are decorated as "sensitive" in the API will not 4489 // be included in the string output. The member name will be present, but the 4490 // value will be replaced with "sensitive". 4491 func (s InstanceRecommendationOption) GoString() string { 4492 return s.String() 4493 } 4494 4495 // SetInstanceType sets the InstanceType field's value. 4496 func (s *InstanceRecommendationOption) SetInstanceType(v string) *InstanceRecommendationOption { 4497 s.InstanceType = &v 4498 return s 4499 } 4500 4501 // SetPerformanceRisk sets the PerformanceRisk field's value. 4502 func (s *InstanceRecommendationOption) SetPerformanceRisk(v float64) *InstanceRecommendationOption { 4503 s.PerformanceRisk = &v 4504 return s 4505 } 4506 4507 // SetPlatformDifferences sets the PlatformDifferences field's value. 4508 func (s *InstanceRecommendationOption) SetPlatformDifferences(v []*string) *InstanceRecommendationOption { 4509 s.PlatformDifferences = v 4510 return s 4511 } 4512 4513 // SetProjectedUtilizationMetrics sets the ProjectedUtilizationMetrics field's value. 4514 func (s *InstanceRecommendationOption) SetProjectedUtilizationMetrics(v []*UtilizationMetric) *InstanceRecommendationOption { 4515 s.ProjectedUtilizationMetrics = v 4516 return s 4517 } 4518 4519 // SetRank sets the Rank field's value. 4520 func (s *InstanceRecommendationOption) SetRank(v int64) *InstanceRecommendationOption { 4521 s.Rank = &v 4522 return s 4523 } 4524 4525 // An internal error has occurred. Try your call again. 4526 type InternalServerException struct { 4527 _ struct{} `type:"structure"` 4528 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4529 4530 Message_ *string `locationName:"message" type:"string"` 4531 } 4532 4533 // String returns the string representation. 4534 // 4535 // API parameter values that are decorated as "sensitive" in the API will not 4536 // be included in the string output. The member name will be present, but the 4537 // value will be replaced with "sensitive". 4538 func (s InternalServerException) String() string { 4539 return awsutil.Prettify(s) 4540 } 4541 4542 // GoString returns the string representation. 4543 // 4544 // API parameter values that are decorated as "sensitive" in the API will not 4545 // be included in the string output. The member name will be present, but the 4546 // value will be replaced with "sensitive". 4547 func (s InternalServerException) GoString() string { 4548 return s.String() 4549 } 4550 4551 func newErrorInternalServerException(v protocol.ResponseMetadata) error { 4552 return &InternalServerException{ 4553 RespMetadata: v, 4554 } 4555 } 4556 4557 // Code returns the exception type name. 4558 func (s *InternalServerException) Code() string { 4559 return "InternalServerException" 4560 } 4561 4562 // Message returns the exception's message. 4563 func (s *InternalServerException) Message() string { 4564 if s.Message_ != nil { 4565 return *s.Message_ 4566 } 4567 return "" 4568 } 4569 4570 // OrigErr always returns nil, satisfies awserr.Error interface. 4571 func (s *InternalServerException) OrigErr() error { 4572 return nil 4573 } 4574 4575 func (s *InternalServerException) Error() string { 4576 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4577 } 4578 4579 // Status code returns the HTTP status code for the request's response error. 4580 func (s *InternalServerException) StatusCode() int { 4581 return s.RespMetadata.StatusCode 4582 } 4583 4584 // RequestID returns the service's response RequestID for request. 4585 func (s *InternalServerException) RequestID() string { 4586 return s.RespMetadata.RequestID 4587 } 4588 4589 // The value supplied for the input parameter is out of range or not valid. 4590 type InvalidParameterValueException struct { 4591 _ struct{} `type:"structure"` 4592 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4593 4594 Message_ *string `locationName:"message" type:"string"` 4595 } 4596 4597 // String returns the string representation. 4598 // 4599 // API parameter values that are decorated as "sensitive" in the API will not 4600 // be included in the string output. The member name will be present, but the 4601 // value will be replaced with "sensitive". 4602 func (s InvalidParameterValueException) String() string { 4603 return awsutil.Prettify(s) 4604 } 4605 4606 // GoString returns the string representation. 4607 // 4608 // API parameter values that are decorated as "sensitive" in the API will not 4609 // be included in the string output. The member name will be present, but the 4610 // value will be replaced with "sensitive". 4611 func (s InvalidParameterValueException) GoString() string { 4612 return s.String() 4613 } 4614 4615 func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error { 4616 return &InvalidParameterValueException{ 4617 RespMetadata: v, 4618 } 4619 } 4620 4621 // Code returns the exception type name. 4622 func (s *InvalidParameterValueException) Code() string { 4623 return "InvalidParameterValueException" 4624 } 4625 4626 // Message returns the exception's message. 4627 func (s *InvalidParameterValueException) Message() string { 4628 if s.Message_ != nil { 4629 return *s.Message_ 4630 } 4631 return "" 4632 } 4633 4634 // OrigErr always returns nil, satisfies awserr.Error interface. 4635 func (s *InvalidParameterValueException) OrigErr() error { 4636 return nil 4637 } 4638 4639 func (s *InvalidParameterValueException) Error() string { 4640 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4641 } 4642 4643 // Status code returns the HTTP status code for the request's response error. 4644 func (s *InvalidParameterValueException) StatusCode() int { 4645 return s.RespMetadata.StatusCode 4646 } 4647 4648 // RequestID returns the service's response RequestID for request. 4649 func (s *InvalidParameterValueException) RequestID() string { 4650 return s.RespMetadata.RequestID 4651 } 4652 4653 // Describes a filter that returns a more specific list of recommendation export 4654 // jobs. Use this filter with the DescribeRecommendationExportJobs action. 4655 // 4656 // You can use EBSFilter with the GetEBSVolumeRecommendations action, LambdaFunctionRecommendationFilter 4657 // with the GetLambdaFunctionRecommendations action, and Filter with the GetAutoScalingGroupRecommendations 4658 // and GetEC2InstanceRecommendations actions. 4659 type JobFilter struct { 4660 _ struct{} `type:"structure"` 4661 4662 // The name of the filter. 4663 // 4664 // Specify ResourceType to return export jobs of a specific resource type (for 4665 // example, Ec2Instance). 4666 // 4667 // Specify JobStatus to return export jobs with a specific status (e.g, Complete). 4668 Name *string `locationName:"name" type:"string" enum:"JobFilterName"` 4669 4670 // The value of the filter. 4671 // 4672 // The valid values for this parameter are as follows, depending on what you 4673 // specify for the name parameter: 4674 // 4675 // * Specify Ec2Instance or AutoScalingGroup if you specify the name parameter 4676 // as ResourceType. There is no filter for EBS volumes because volume recommendations 4677 // cannot be exported at this time. 4678 // 4679 // * Specify Queued, InProgress, Complete, or Failed if you specify the name 4680 // parameter as JobStatus. 4681 Values []*string `locationName:"values" type:"list"` 4682 } 4683 4684 // String returns the string representation. 4685 // 4686 // API parameter values that are decorated as "sensitive" in the API will not 4687 // be included in the string output. The member name will be present, but the 4688 // value will be replaced with "sensitive". 4689 func (s JobFilter) String() string { 4690 return awsutil.Prettify(s) 4691 } 4692 4693 // GoString returns the string representation. 4694 // 4695 // API parameter values that are decorated as "sensitive" in the API will not 4696 // be included in the string output. The member name will be present, but the 4697 // value will be replaced with "sensitive". 4698 func (s JobFilter) GoString() string { 4699 return s.String() 4700 } 4701 4702 // SetName sets the Name field's value. 4703 func (s *JobFilter) SetName(v string) *JobFilter { 4704 s.Name = &v 4705 return s 4706 } 4707 4708 // SetValues sets the Values field's value. 4709 func (s *JobFilter) SetValues(v []*string) *JobFilter { 4710 s.Values = v 4711 return s 4712 } 4713 4714 // Describes a projected utilization metric of an Lambda function recommendation 4715 // option. 4716 type LambdaFunctionMemoryProjectedMetric struct { 4717 _ struct{} `type:"structure"` 4718 4719 // The name of the projected utilization metric. 4720 Name *string `locationName:"name" type:"string" enum:"LambdaFunctionMemoryMetricName"` 4721 4722 // The statistic of the projected utilization metric. 4723 Statistic *string `locationName:"statistic" type:"string" enum:"LambdaFunctionMemoryMetricStatistic"` 4724 4725 // The values of the projected utilization metrics. 4726 Value *float64 `locationName:"value" type:"double"` 4727 } 4728 4729 // String returns the string representation. 4730 // 4731 // API parameter values that are decorated as "sensitive" in the API will not 4732 // be included in the string output. The member name will be present, but the 4733 // value will be replaced with "sensitive". 4734 func (s LambdaFunctionMemoryProjectedMetric) String() string { 4735 return awsutil.Prettify(s) 4736 } 4737 4738 // GoString returns the string representation. 4739 // 4740 // API parameter values that are decorated as "sensitive" in the API will not 4741 // be included in the string output. The member name will be present, but the 4742 // value will be replaced with "sensitive". 4743 func (s LambdaFunctionMemoryProjectedMetric) GoString() string { 4744 return s.String() 4745 } 4746 4747 // SetName sets the Name field's value. 4748 func (s *LambdaFunctionMemoryProjectedMetric) SetName(v string) *LambdaFunctionMemoryProjectedMetric { 4749 s.Name = &v 4750 return s 4751 } 4752 4753 // SetStatistic sets the Statistic field's value. 4754 func (s *LambdaFunctionMemoryProjectedMetric) SetStatistic(v string) *LambdaFunctionMemoryProjectedMetric { 4755 s.Statistic = &v 4756 return s 4757 } 4758 4759 // SetValue sets the Value field's value. 4760 func (s *LambdaFunctionMemoryProjectedMetric) SetValue(v float64) *LambdaFunctionMemoryProjectedMetric { 4761 s.Value = &v 4762 return s 4763 } 4764 4765 // Describes a recommendation option for an Lambda function. 4766 type LambdaFunctionMemoryRecommendationOption struct { 4767 _ struct{} `type:"structure"` 4768 4769 // The memory size, in MB, of the function recommendation option. 4770 MemorySize *int64 `locationName:"memorySize" type:"integer"` 4771 4772 // An array of objects that describe the projected utilization metrics of the 4773 // function recommendation option. 4774 ProjectedUtilizationMetrics []*LambdaFunctionMemoryProjectedMetric `locationName:"projectedUtilizationMetrics" type:"list"` 4775 4776 // The rank of the function recommendation option. 4777 // 4778 // The top recommendation option is ranked as 1. 4779 Rank *int64 `locationName:"rank" type:"integer"` 4780 } 4781 4782 // String returns the string representation. 4783 // 4784 // API parameter values that are decorated as "sensitive" in the API will not 4785 // be included in the string output. The member name will be present, but the 4786 // value will be replaced with "sensitive". 4787 func (s LambdaFunctionMemoryRecommendationOption) String() string { 4788 return awsutil.Prettify(s) 4789 } 4790 4791 // GoString returns the string representation. 4792 // 4793 // API parameter values that are decorated as "sensitive" in the API will not 4794 // be included in the string output. The member name will be present, but the 4795 // value will be replaced with "sensitive". 4796 func (s LambdaFunctionMemoryRecommendationOption) GoString() string { 4797 return s.String() 4798 } 4799 4800 // SetMemorySize sets the MemorySize field's value. 4801 func (s *LambdaFunctionMemoryRecommendationOption) SetMemorySize(v int64) *LambdaFunctionMemoryRecommendationOption { 4802 s.MemorySize = &v 4803 return s 4804 } 4805 4806 // SetProjectedUtilizationMetrics sets the ProjectedUtilizationMetrics field's value. 4807 func (s *LambdaFunctionMemoryRecommendationOption) SetProjectedUtilizationMetrics(v []*LambdaFunctionMemoryProjectedMetric) *LambdaFunctionMemoryRecommendationOption { 4808 s.ProjectedUtilizationMetrics = v 4809 return s 4810 } 4811 4812 // SetRank sets the Rank field's value. 4813 func (s *LambdaFunctionMemoryRecommendationOption) SetRank(v int64) *LambdaFunctionMemoryRecommendationOption { 4814 s.Rank = &v 4815 return s 4816 } 4817 4818 // Describes an Lambda function recommendation. 4819 type LambdaFunctionRecommendation struct { 4820 _ struct{} `type:"structure"` 4821 4822 // The Amazon Web Services account ID of the function. 4823 AccountId *string `locationName:"accountId" type:"string"` 4824 4825 // The amount of memory, in MB, that's allocated to the current function. 4826 CurrentMemorySize *int64 `locationName:"currentMemorySize" type:"integer"` 4827 4828 // The finding classification of the function. 4829 // 4830 // Findings for functions include: 4831 // 4832 // * Optimized — The function is correctly provisioned to run your workload 4833 // based on its current configuration and its utilization history. This finding 4834 // classification does not include finding reason codes. 4835 // 4836 // * NotOptimized — The function is performing at a higher level (over-provisioned) 4837 // or at a lower level (under-provisioned) than required for your workload 4838 // because its current configuration is not optimal. Over-provisioned resources 4839 // might lead to unnecessary infrastructure cost, and under-provisioned resources 4840 // might lead to poor application performance. This finding classification 4841 // can include the MemoryUnderprovisioned and MemoryUnderprovisioned finding 4842 // reason codes. 4843 // 4844 // * Unavailable — Compute Optimizer was unable to generate a recommendation 4845 // for the function. This could be because the function has not accumulated 4846 // sufficient metric data, or the function does not qualify for a recommendation. 4847 // This finding classification can include the InsufficientData and Inconclusive 4848 // finding reason codes. Functions with a finding of unavailable are not 4849 // returned unless you specify the filter parameter with a value of Unavailable 4850 // in your GetLambdaFunctionRecommendations request. 4851 Finding *string `locationName:"finding" type:"string" enum:"LambdaFunctionRecommendationFinding"` 4852 4853 // The reason for the finding classification of the function. 4854 // 4855 // Functions that have a finding classification of Optimized don't have a finding 4856 // reason code. 4857 // 4858 // Finding reason codes for functions include: 4859 // 4860 // * MemoryOverprovisioned — The function is over-provisioned when its 4861 // memory configuration can be sized down while still meeting the performance 4862 // requirements of your workload. An over-provisioned function might lead 4863 // to unnecessary infrastructure cost. This finding reason code is part of 4864 // the NotOptimized finding classification. 4865 // 4866 // * MemoryUnderprovisioned — The function is under-provisioned when its 4867 // memory configuration doesn't meet the performance requirements of the 4868 // workload. An under-provisioned function might lead to poor application 4869 // performance. This finding reason code is part of the NotOptimized finding 4870 // classification. 4871 // 4872 // * InsufficientData — The function does not have sufficient metric data 4873 // for Compute Optimizer to generate a recommendation. For more information, 4874 // see the Supported resources and requirements (https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html) 4875 // in the Compute Optimizer User Guide. This finding reason code is part 4876 // of the Unavailable finding classification. 4877 // 4878 // * Inconclusive — The function does not qualify for a recommendation 4879 // because Compute Optimizer cannot generate a recommendation with a high 4880 // degree of confidence. This finding reason code is part of the Unavailable 4881 // finding classification. 4882 FindingReasonCodes []*string `locationName:"findingReasonCodes" type:"list"` 4883 4884 // The Amazon Resource Name (ARN) of the current function. 4885 FunctionArn *string `locationName:"functionArn" type:"string"` 4886 4887 // The version number of the current function. 4888 FunctionVersion *string `locationName:"functionVersion" type:"string"` 4889 4890 // The timestamp of when the function recommendation was last refreshed. 4891 LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"` 4892 4893 // The number of days for which utilization metrics were analyzed for the function. 4894 LookbackPeriodInDays *float64 `locationName:"lookbackPeriodInDays" type:"double"` 4895 4896 // An array of objects that describe the memory configuration recommendation 4897 // options for the function. 4898 MemorySizeRecommendationOptions []*LambdaFunctionMemoryRecommendationOption `locationName:"memorySizeRecommendationOptions" type:"list"` 4899 4900 // The number of times your function code was applied during the look-back period. 4901 NumberOfInvocations *int64 `locationName:"numberOfInvocations" type:"long"` 4902 4903 // An array of objects that describe the utilization metrics of the function. 4904 UtilizationMetrics []*LambdaFunctionUtilizationMetric `locationName:"utilizationMetrics" type:"list"` 4905 } 4906 4907 // String returns the string representation. 4908 // 4909 // API parameter values that are decorated as "sensitive" in the API will not 4910 // be included in the string output. The member name will be present, but the 4911 // value will be replaced with "sensitive". 4912 func (s LambdaFunctionRecommendation) String() string { 4913 return awsutil.Prettify(s) 4914 } 4915 4916 // GoString returns the string representation. 4917 // 4918 // API parameter values that are decorated as "sensitive" in the API will not 4919 // be included in the string output. The member name will be present, but the 4920 // value will be replaced with "sensitive". 4921 func (s LambdaFunctionRecommendation) GoString() string { 4922 return s.String() 4923 } 4924 4925 // SetAccountId sets the AccountId field's value. 4926 func (s *LambdaFunctionRecommendation) SetAccountId(v string) *LambdaFunctionRecommendation { 4927 s.AccountId = &v 4928 return s 4929 } 4930 4931 // SetCurrentMemorySize sets the CurrentMemorySize field's value. 4932 func (s *LambdaFunctionRecommendation) SetCurrentMemorySize(v int64) *LambdaFunctionRecommendation { 4933 s.CurrentMemorySize = &v 4934 return s 4935 } 4936 4937 // SetFinding sets the Finding field's value. 4938 func (s *LambdaFunctionRecommendation) SetFinding(v string) *LambdaFunctionRecommendation { 4939 s.Finding = &v 4940 return s 4941 } 4942 4943 // SetFindingReasonCodes sets the FindingReasonCodes field's value. 4944 func (s *LambdaFunctionRecommendation) SetFindingReasonCodes(v []*string) *LambdaFunctionRecommendation { 4945 s.FindingReasonCodes = v 4946 return s 4947 } 4948 4949 // SetFunctionArn sets the FunctionArn field's value. 4950 func (s *LambdaFunctionRecommendation) SetFunctionArn(v string) *LambdaFunctionRecommendation { 4951 s.FunctionArn = &v 4952 return s 4953 } 4954 4955 // SetFunctionVersion sets the FunctionVersion field's value. 4956 func (s *LambdaFunctionRecommendation) SetFunctionVersion(v string) *LambdaFunctionRecommendation { 4957 s.FunctionVersion = &v 4958 return s 4959 } 4960 4961 // SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value. 4962 func (s *LambdaFunctionRecommendation) SetLastRefreshTimestamp(v time.Time) *LambdaFunctionRecommendation { 4963 s.LastRefreshTimestamp = &v 4964 return s 4965 } 4966 4967 // SetLookbackPeriodInDays sets the LookbackPeriodInDays field's value. 4968 func (s *LambdaFunctionRecommendation) SetLookbackPeriodInDays(v float64) *LambdaFunctionRecommendation { 4969 s.LookbackPeriodInDays = &v 4970 return s 4971 } 4972 4973 // SetMemorySizeRecommendationOptions sets the MemorySizeRecommendationOptions field's value. 4974 func (s *LambdaFunctionRecommendation) SetMemorySizeRecommendationOptions(v []*LambdaFunctionMemoryRecommendationOption) *LambdaFunctionRecommendation { 4975 s.MemorySizeRecommendationOptions = v 4976 return s 4977 } 4978 4979 // SetNumberOfInvocations sets the NumberOfInvocations field's value. 4980 func (s *LambdaFunctionRecommendation) SetNumberOfInvocations(v int64) *LambdaFunctionRecommendation { 4981 s.NumberOfInvocations = &v 4982 return s 4983 } 4984 4985 // SetUtilizationMetrics sets the UtilizationMetrics field's value. 4986 func (s *LambdaFunctionRecommendation) SetUtilizationMetrics(v []*LambdaFunctionUtilizationMetric) *LambdaFunctionRecommendation { 4987 s.UtilizationMetrics = v 4988 return s 4989 } 4990 4991 // Describes a filter that returns a more specific list of Lambda function recommendations. 4992 // Use this filter with the GetLambdaFunctionRecommendations action. 4993 // 4994 // You can use EBSFilter with the GetEBSVolumeRecommendations action, JobFilter 4995 // with the DescribeRecommendationExportJobs action, and Filter with the GetAutoScalingGroupRecommendations 4996 // and GetEC2InstanceRecommendations actions. 4997 type LambdaFunctionRecommendationFilter struct { 4998 _ struct{} `type:"structure"` 4999 5000 // The name of the filter. 5001 // 5002 // Specify Finding to return recommendations with a specific finding classification 5003 // (for example, NotOptimized). 5004 // 5005 // Specify FindingReasonCode to return recommendations with a specific finding 5006 // reason code (for example, MemoryUnderprovisioned). 5007 Name *string `locationName:"name" type:"string" enum:"LambdaFunctionRecommendationFilterName"` 5008 5009 // The value of the filter. 5010 // 5011 // The valid values for this parameter are as follows, depending on what you 5012 // specify for the name parameter: 5013 // 5014 // * Specify Optimized, NotOptimized, or Unavailable if you specify the name 5015 // parameter as Finding. 5016 // 5017 // * Specify MemoryOverprovisioned, MemoryUnderprovisioned, InsufficientData, 5018 // or Inconclusive if you specify the name parameter as FindingReasonCode. 5019 Values []*string `locationName:"values" type:"list"` 5020 } 5021 5022 // String returns the string representation. 5023 // 5024 // API parameter values that are decorated as "sensitive" in the API will not 5025 // be included in the string output. The member name will be present, but the 5026 // value will be replaced with "sensitive". 5027 func (s LambdaFunctionRecommendationFilter) String() string { 5028 return awsutil.Prettify(s) 5029 } 5030 5031 // GoString returns the string representation. 5032 // 5033 // API parameter values that are decorated as "sensitive" in the API will not 5034 // be included in the string output. The member name will be present, but the 5035 // value will be replaced with "sensitive". 5036 func (s LambdaFunctionRecommendationFilter) GoString() string { 5037 return s.String() 5038 } 5039 5040 // SetName sets the Name field's value. 5041 func (s *LambdaFunctionRecommendationFilter) SetName(v string) *LambdaFunctionRecommendationFilter { 5042 s.Name = &v 5043 return s 5044 } 5045 5046 // SetValues sets the Values field's value. 5047 func (s *LambdaFunctionRecommendationFilter) SetValues(v []*string) *LambdaFunctionRecommendationFilter { 5048 s.Values = v 5049 return s 5050 } 5051 5052 // Describes a utilization metric of an Lambda function. 5053 type LambdaFunctionUtilizationMetric struct { 5054 _ struct{} `type:"structure"` 5055 5056 // The name of the utilization metric. 5057 // 5058 // The following utilization metrics are available: 5059 // 5060 // * Duration - The amount of time that your function code spends processing 5061 // an event. 5062 // 5063 // * Memory - The amount of memory used per invocation. 5064 Name *string `locationName:"name" type:"string" enum:"LambdaFunctionMetricName"` 5065 5066 // The statistic of the utilization metric. 5067 // 5068 // The Compute Optimizer API, Command Line Interface (CLI), and SDKs return 5069 // utilization metrics using only the Maximum statistic, which is the highest 5070 // value observed during the specified period. 5071 // 5072 // The Compute Optimizer console displays graphs for some utilization metrics 5073 // using the Average statistic, which is the value of Sum / SampleCount during 5074 // the specified period. For more information, see Viewing resource recommendations 5075 // (https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html) 5076 // in the Compute Optimizer User Guide. You can also get averaged utilization 5077 // metric data for your resources using Amazon CloudWatch. For more information, 5078 // see the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html). 5079 Statistic *string `locationName:"statistic" type:"string" enum:"LambdaFunctionMetricStatistic"` 5080 5081 // The value of the utilization metric. 5082 Value *float64 `locationName:"value" type:"double"` 5083 } 5084 5085 // String returns the string representation. 5086 // 5087 // API parameter values that are decorated as "sensitive" in the API will not 5088 // be included in the string output. The member name will be present, but the 5089 // value will be replaced with "sensitive". 5090 func (s LambdaFunctionUtilizationMetric) String() string { 5091 return awsutil.Prettify(s) 5092 } 5093 5094 // GoString returns the string representation. 5095 // 5096 // API parameter values that are decorated as "sensitive" in the API will not 5097 // be included in the string output. The member name will be present, but the 5098 // value will be replaced with "sensitive". 5099 func (s LambdaFunctionUtilizationMetric) GoString() string { 5100 return s.String() 5101 } 5102 5103 // SetName sets the Name field's value. 5104 func (s *LambdaFunctionUtilizationMetric) SetName(v string) *LambdaFunctionUtilizationMetric { 5105 s.Name = &v 5106 return s 5107 } 5108 5109 // SetStatistic sets the Statistic field's value. 5110 func (s *LambdaFunctionUtilizationMetric) SetStatistic(v string) *LambdaFunctionUtilizationMetric { 5111 s.Statistic = &v 5112 return s 5113 } 5114 5115 // SetValue sets the Value field's value. 5116 func (s *LambdaFunctionUtilizationMetric) SetValue(v float64) *LambdaFunctionUtilizationMetric { 5117 s.Value = &v 5118 return s 5119 } 5120 5121 // The request exceeds a limit of the service. 5122 type LimitExceededException struct { 5123 _ struct{} `type:"structure"` 5124 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5125 5126 Message_ *string `locationName:"message" type:"string"` 5127 } 5128 5129 // String returns the string representation. 5130 // 5131 // API parameter values that are decorated as "sensitive" in the API will not 5132 // be included in the string output. The member name will be present, but the 5133 // value will be replaced with "sensitive". 5134 func (s LimitExceededException) String() string { 5135 return awsutil.Prettify(s) 5136 } 5137 5138 // GoString returns the string representation. 5139 // 5140 // API parameter values that are decorated as "sensitive" in the API will not 5141 // be included in the string output. The member name will be present, but the 5142 // value will be replaced with "sensitive". 5143 func (s LimitExceededException) GoString() string { 5144 return s.String() 5145 } 5146 5147 func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 5148 return &LimitExceededException{ 5149 RespMetadata: v, 5150 } 5151 } 5152 5153 // Code returns the exception type name. 5154 func (s *LimitExceededException) Code() string { 5155 return "LimitExceededException" 5156 } 5157 5158 // Message returns the exception's message. 5159 func (s *LimitExceededException) Message() string { 5160 if s.Message_ != nil { 5161 return *s.Message_ 5162 } 5163 return "" 5164 } 5165 5166 // OrigErr always returns nil, satisfies awserr.Error interface. 5167 func (s *LimitExceededException) OrigErr() error { 5168 return nil 5169 } 5170 5171 func (s *LimitExceededException) Error() string { 5172 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5173 } 5174 5175 // Status code returns the HTTP status code for the request's response error. 5176 func (s *LimitExceededException) StatusCode() int { 5177 return s.RespMetadata.StatusCode 5178 } 5179 5180 // RequestID returns the service's response RequestID for request. 5181 func (s *LimitExceededException) RequestID() string { 5182 return s.RespMetadata.RequestID 5183 } 5184 5185 // The request must contain either a valid (registered) Amazon Web Services 5186 // access key ID or X.509 certificate. 5187 type MissingAuthenticationToken struct { 5188 _ struct{} `type:"structure"` 5189 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5190 5191 Message_ *string `locationName:"message" type:"string"` 5192 } 5193 5194 // String returns the string representation. 5195 // 5196 // API parameter values that are decorated as "sensitive" in the API will not 5197 // be included in the string output. The member name will be present, but the 5198 // value will be replaced with "sensitive". 5199 func (s MissingAuthenticationToken) String() string { 5200 return awsutil.Prettify(s) 5201 } 5202 5203 // GoString returns the string representation. 5204 // 5205 // API parameter values that are decorated as "sensitive" in the API will not 5206 // be included in the string output. The member name will be present, but the 5207 // value will be replaced with "sensitive". 5208 func (s MissingAuthenticationToken) GoString() string { 5209 return s.String() 5210 } 5211 5212 func newErrorMissingAuthenticationToken(v protocol.ResponseMetadata) error { 5213 return &MissingAuthenticationToken{ 5214 RespMetadata: v, 5215 } 5216 } 5217 5218 // Code returns the exception type name. 5219 func (s *MissingAuthenticationToken) Code() string { 5220 return "MissingAuthenticationToken" 5221 } 5222 5223 // Message returns the exception's message. 5224 func (s *MissingAuthenticationToken) Message() string { 5225 if s.Message_ != nil { 5226 return *s.Message_ 5227 } 5228 return "" 5229 } 5230 5231 // OrigErr always returns nil, satisfies awserr.Error interface. 5232 func (s *MissingAuthenticationToken) OrigErr() error { 5233 return nil 5234 } 5235 5236 func (s *MissingAuthenticationToken) Error() string { 5237 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5238 } 5239 5240 // Status code returns the HTTP status code for the request's response error. 5241 func (s *MissingAuthenticationToken) StatusCode() int { 5242 return s.RespMetadata.StatusCode 5243 } 5244 5245 // RequestID returns the service's response RequestID for request. 5246 func (s *MissingAuthenticationToken) RequestID() string { 5247 return s.RespMetadata.RequestID 5248 } 5249 5250 // The account is not opted in to Compute Optimizer. 5251 type OptInRequiredException struct { 5252 _ struct{} `type:"structure"` 5253 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5254 5255 Message_ *string `locationName:"message" type:"string"` 5256 } 5257 5258 // String returns the string representation. 5259 // 5260 // API parameter values that are decorated as "sensitive" in the API will not 5261 // be included in the string output. The member name will be present, but the 5262 // value will be replaced with "sensitive". 5263 func (s OptInRequiredException) String() string { 5264 return awsutil.Prettify(s) 5265 } 5266 5267 // GoString returns the string representation. 5268 // 5269 // API parameter values that are decorated as "sensitive" in the API will not 5270 // be included in the string output. The member name will be present, but the 5271 // value will be replaced with "sensitive". 5272 func (s OptInRequiredException) GoString() string { 5273 return s.String() 5274 } 5275 5276 func newErrorOptInRequiredException(v protocol.ResponseMetadata) error { 5277 return &OptInRequiredException{ 5278 RespMetadata: v, 5279 } 5280 } 5281 5282 // Code returns the exception type name. 5283 func (s *OptInRequiredException) Code() string { 5284 return "OptInRequiredException" 5285 } 5286 5287 // Message returns the exception's message. 5288 func (s *OptInRequiredException) Message() string { 5289 if s.Message_ != nil { 5290 return *s.Message_ 5291 } 5292 return "" 5293 } 5294 5295 // OrigErr always returns nil, satisfies awserr.Error interface. 5296 func (s *OptInRequiredException) OrigErr() error { 5297 return nil 5298 } 5299 5300 func (s *OptInRequiredException) Error() string { 5301 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5302 } 5303 5304 // Status code returns the HTTP status code for the request's response error. 5305 func (s *OptInRequiredException) StatusCode() int { 5306 return s.RespMetadata.StatusCode 5307 } 5308 5309 // RequestID returns the service's response RequestID for request. 5310 func (s *OptInRequiredException) RequestID() string { 5311 return s.RespMetadata.RequestID 5312 } 5313 5314 // Describes a projected utilization metric of a recommendation option, such 5315 // as an Amazon EC2 instance. This represents the projected utilization of a 5316 // recommendation option had you used that resource during the analyzed period. 5317 // 5318 // Compare the utilization metric data of your resource against its projected 5319 // utilization metric data to determine the performance difference between your 5320 // current resource and the recommended option. 5321 // 5322 // The Cpu and Memory metrics are the only projected utilization metrics returned 5323 // when you run the GetEC2RecommendationProjectedMetrics action. Additionally, 5324 // the Memory metric is returned only for resources that have the unified CloudWatch 5325 // agent installed on them. For more information, see Enabling Memory Utilization 5326 // with the CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent). 5327 type ProjectedMetric struct { 5328 _ struct{} `type:"structure"` 5329 5330 // The name of the projected utilization metric. 5331 // 5332 // The following projected utilization metrics are returned: 5333 // 5334 // * Cpu - The projected percentage of allocated EC2 compute units that would 5335 // be in use on the recommendation option had you used that resource during 5336 // the analyzed period. This metric identifies the processing power required 5337 // to run an application on the recommendation option. Depending on the instance 5338 // type, tools in your operating system can show a lower percentage than 5339 // CloudWatch when the instance is not allocated a full processor core. Units: 5340 // Percent 5341 // 5342 // * Memory - The percentage of memory that would be in use on the recommendation 5343 // option had you used that resource during the analyzed period. This metric 5344 // identifies the amount of memory required to run an application on the 5345 // recommendation option. Units: Percent The Memory metric is returned only 5346 // for resources that have the unified CloudWatch agent installed on them. 5347 // For more information, see Enabling Memory Utilization with the CloudWatch 5348 // Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent). 5349 Name *string `locationName:"name" type:"string" enum:"MetricName"` 5350 5351 // The timestamps of the projected utilization metric. 5352 Timestamps []*time.Time `locationName:"timestamps" type:"list"` 5353 5354 // The values of the projected utilization metrics. 5355 Values []*float64 `locationName:"values" type:"list"` 5356 } 5357 5358 // String returns the string representation. 5359 // 5360 // API parameter values that are decorated as "sensitive" in the API will not 5361 // be included in the string output. The member name will be present, but the 5362 // value will be replaced with "sensitive". 5363 func (s ProjectedMetric) String() string { 5364 return awsutil.Prettify(s) 5365 } 5366 5367 // GoString returns the string representation. 5368 // 5369 // API parameter values that are decorated as "sensitive" in the API will not 5370 // be included in the string output. The member name will be present, but the 5371 // value will be replaced with "sensitive". 5372 func (s ProjectedMetric) GoString() string { 5373 return s.String() 5374 } 5375 5376 // SetName sets the Name field's value. 5377 func (s *ProjectedMetric) SetName(v string) *ProjectedMetric { 5378 s.Name = &v 5379 return s 5380 } 5381 5382 // SetTimestamps sets the Timestamps field's value. 5383 func (s *ProjectedMetric) SetTimestamps(v []*time.Time) *ProjectedMetric { 5384 s.Timestamps = v 5385 return s 5386 } 5387 5388 // SetValues sets the Values field's value. 5389 func (s *ProjectedMetric) SetValues(v []*float64) *ProjectedMetric { 5390 s.Values = v 5391 return s 5392 } 5393 5394 // A summary of a finding reason code. 5395 type ReasonCodeSummary struct { 5396 _ struct{} `type:"structure"` 5397 5398 // The name of the finding reason code. 5399 Name *string `locationName:"name" type:"string" enum:"FindingReasonCode"` 5400 5401 // The value of the finding reason code summary. 5402 Value *float64 `locationName:"value" type:"double"` 5403 } 5404 5405 // String returns the string representation. 5406 // 5407 // API parameter values that are decorated as "sensitive" in the API will not 5408 // be included in the string output. The member name will be present, but the 5409 // value will be replaced with "sensitive". 5410 func (s ReasonCodeSummary) String() string { 5411 return awsutil.Prettify(s) 5412 } 5413 5414 // GoString returns the string representation. 5415 // 5416 // API parameter values that are decorated as "sensitive" in the API will not 5417 // be included in the string output. The member name will be present, but the 5418 // value will be replaced with "sensitive". 5419 func (s ReasonCodeSummary) GoString() string { 5420 return s.String() 5421 } 5422 5423 // SetName sets the Name field's value. 5424 func (s *ReasonCodeSummary) SetName(v string) *ReasonCodeSummary { 5425 s.Name = &v 5426 return s 5427 } 5428 5429 // SetValue sets the Value field's value. 5430 func (s *ReasonCodeSummary) SetValue(v float64) *ReasonCodeSummary { 5431 s.Value = &v 5432 return s 5433 } 5434 5435 // Describes a recommendation export job. 5436 // 5437 // Use the DescribeRecommendationExportJobs action to view your recommendation 5438 // export jobs. 5439 // 5440 // Use the ExportAutoScalingGroupRecommendations or ExportEC2InstanceRecommendations 5441 // actions to request an export of your recommendations. 5442 type RecommendationExportJob struct { 5443 _ struct{} `type:"structure"` 5444 5445 // The timestamp of when the export job was created. 5446 CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` 5447 5448 // An object that describes the destination of the export file. 5449 Destination *ExportDestination `locationName:"destination" type:"structure"` 5450 5451 // The reason for an export job failure. 5452 FailureReason *string `locationName:"failureReason" type:"string"` 5453 5454 // The identification number of the export job. 5455 JobId *string `locationName:"jobId" type:"string"` 5456 5457 // The timestamp of when the export job was last updated. 5458 LastUpdatedTimestamp *time.Time `locationName:"lastUpdatedTimestamp" type:"timestamp"` 5459 5460 // The resource type of the exported recommendations. 5461 ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` 5462 5463 // The status of the export job. 5464 Status *string `locationName:"status" type:"string" enum:"JobStatus"` 5465 } 5466 5467 // String returns the string representation. 5468 // 5469 // API parameter values that are decorated as "sensitive" in the API will not 5470 // be included in the string output. The member name will be present, but the 5471 // value will be replaced with "sensitive". 5472 func (s RecommendationExportJob) String() string { 5473 return awsutil.Prettify(s) 5474 } 5475 5476 // GoString returns the string representation. 5477 // 5478 // API parameter values that are decorated as "sensitive" in the API will not 5479 // be included in the string output. The member name will be present, but the 5480 // value will be replaced with "sensitive". 5481 func (s RecommendationExportJob) GoString() string { 5482 return s.String() 5483 } 5484 5485 // SetCreationTimestamp sets the CreationTimestamp field's value. 5486 func (s *RecommendationExportJob) SetCreationTimestamp(v time.Time) *RecommendationExportJob { 5487 s.CreationTimestamp = &v 5488 return s 5489 } 5490 5491 // SetDestination sets the Destination field's value. 5492 func (s *RecommendationExportJob) SetDestination(v *ExportDestination) *RecommendationExportJob { 5493 s.Destination = v 5494 return s 5495 } 5496 5497 // SetFailureReason sets the FailureReason field's value. 5498 func (s *RecommendationExportJob) SetFailureReason(v string) *RecommendationExportJob { 5499 s.FailureReason = &v 5500 return s 5501 } 5502 5503 // SetJobId sets the JobId field's value. 5504 func (s *RecommendationExportJob) SetJobId(v string) *RecommendationExportJob { 5505 s.JobId = &v 5506 return s 5507 } 5508 5509 // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value. 5510 func (s *RecommendationExportJob) SetLastUpdatedTimestamp(v time.Time) *RecommendationExportJob { 5511 s.LastUpdatedTimestamp = &v 5512 return s 5513 } 5514 5515 // SetResourceType sets the ResourceType field's value. 5516 func (s *RecommendationExportJob) SetResourceType(v string) *RecommendationExportJob { 5517 s.ResourceType = &v 5518 return s 5519 } 5520 5521 // SetStatus sets the Status field's value. 5522 func (s *RecommendationExportJob) SetStatus(v string) *RecommendationExportJob { 5523 s.Status = &v 5524 return s 5525 } 5526 5527 // Describes preferences for recommendations. 5528 type RecommendationPreferences struct { 5529 _ struct{} `type:"structure"` 5530 5531 // Specifies the CPU vendor and architecture for Amazon EC2 instance and Auto 5532 // Scaling group recommendations. 5533 // 5534 // For example, when you specify AWS_ARM64 with: 5535 // 5536 // * A GetEC2InstanceRecommendations or GetAutoScalingGroupRecommendations 5537 // request, Compute Optimizer returns recommendations that consist of Graviton2 5538 // instance types only. 5539 // 5540 // * A GetEC2RecommendationProjectedMetrics request, Compute Optimizer returns 5541 // projected utilization metrics for Graviton2 instance type recommendations 5542 // only. 5543 // 5544 // * A ExportEC2InstanceRecommendations or ExportAutoScalingGroupRecommendations 5545 // request, Compute Optimizer exports recommendations that consist of Graviton2 5546 // instance types only. 5547 CpuVendorArchitectures []*string `locationName:"cpuVendorArchitectures" type:"list"` 5548 } 5549 5550 // String returns the string representation. 5551 // 5552 // API parameter values that are decorated as "sensitive" in the API will not 5553 // be included in the string output. The member name will be present, but the 5554 // value will be replaced with "sensitive". 5555 func (s RecommendationPreferences) String() string { 5556 return awsutil.Prettify(s) 5557 } 5558 5559 // GoString returns the string representation. 5560 // 5561 // API parameter values that are decorated as "sensitive" in the API will not 5562 // be included in the string output. The member name will be present, but the 5563 // value will be replaced with "sensitive". 5564 func (s RecommendationPreferences) GoString() string { 5565 return s.String() 5566 } 5567 5568 // SetCpuVendorArchitectures sets the CpuVendorArchitectures field's value. 5569 func (s *RecommendationPreferences) SetCpuVendorArchitectures(v []*string) *RecommendationPreferences { 5570 s.CpuVendorArchitectures = v 5571 return s 5572 } 5573 5574 // Describes the source of a recommendation, such as an Amazon EC2 instance 5575 // or Auto Scaling group. 5576 type RecommendationSource struct { 5577 _ struct{} `type:"structure"` 5578 5579 // The Amazon Resource Name (ARN) of the recommendation source. 5580 RecommendationSourceArn *string `locationName:"recommendationSourceArn" type:"string"` 5581 5582 // The resource type of the recommendation source. 5583 RecommendationSourceType *string `locationName:"recommendationSourceType" type:"string" enum:"RecommendationSourceType"` 5584 } 5585 5586 // String returns the string representation. 5587 // 5588 // API parameter values that are decorated as "sensitive" in the API will not 5589 // be included in the string output. The member name will be present, but the 5590 // value will be replaced with "sensitive". 5591 func (s RecommendationSource) String() string { 5592 return awsutil.Prettify(s) 5593 } 5594 5595 // GoString returns the string representation. 5596 // 5597 // API parameter values that are decorated as "sensitive" in the API will not 5598 // be included in the string output. The member name will be present, but the 5599 // value will be replaced with "sensitive". 5600 func (s RecommendationSource) GoString() string { 5601 return s.String() 5602 } 5603 5604 // SetRecommendationSourceArn sets the RecommendationSourceArn field's value. 5605 func (s *RecommendationSource) SetRecommendationSourceArn(v string) *RecommendationSource { 5606 s.RecommendationSourceArn = &v 5607 return s 5608 } 5609 5610 // SetRecommendationSourceType sets the RecommendationSourceType field's value. 5611 func (s *RecommendationSource) SetRecommendationSourceType(v string) *RecommendationSource { 5612 s.RecommendationSourceType = &v 5613 return s 5614 } 5615 5616 // A summary of a recommendation. 5617 type RecommendationSummary struct { 5618 _ struct{} `type:"structure"` 5619 5620 // The Amazon Web Services account ID of the recommendation summary. 5621 AccountId *string `locationName:"accountId" type:"string"` 5622 5623 // The resource type of the recommendation. 5624 RecommendationResourceType *string `locationName:"recommendationResourceType" type:"string" enum:"RecommendationSourceType"` 5625 5626 // An array of objects that describe a recommendation summary. 5627 Summaries []*Summary `locationName:"summaries" type:"list"` 5628 } 5629 5630 // String returns the string representation. 5631 // 5632 // API parameter values that are decorated as "sensitive" in the API will not 5633 // be included in the string output. The member name will be present, but the 5634 // value will be replaced with "sensitive". 5635 func (s RecommendationSummary) String() string { 5636 return awsutil.Prettify(s) 5637 } 5638 5639 // GoString returns the string representation. 5640 // 5641 // API parameter values that are decorated as "sensitive" in the API will not 5642 // be included in the string output. The member name will be present, but the 5643 // value will be replaced with "sensitive". 5644 func (s RecommendationSummary) GoString() string { 5645 return s.String() 5646 } 5647 5648 // SetAccountId sets the AccountId field's value. 5649 func (s *RecommendationSummary) SetAccountId(v string) *RecommendationSummary { 5650 s.AccountId = &v 5651 return s 5652 } 5653 5654 // SetRecommendationResourceType sets the RecommendationResourceType field's value. 5655 func (s *RecommendationSummary) SetRecommendationResourceType(v string) *RecommendationSummary { 5656 s.RecommendationResourceType = &v 5657 return s 5658 } 5659 5660 // SetSummaries sets the Summaries field's value. 5661 func (s *RecommendationSummary) SetSummaries(v []*Summary) *RecommendationSummary { 5662 s.Summaries = v 5663 return s 5664 } 5665 5666 // Describes a projected utilization metric of a recommendation option. 5667 // 5668 // The Cpu and Memory metrics are the only projected utilization metrics returned 5669 // when you run the GetEC2RecommendationProjectedMetrics action. Additionally, 5670 // the Memory metric is returned only for resources that have the unified CloudWatch 5671 // agent installed on them. For more information, see Enabling Memory Utilization 5672 // with the CloudWatch Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent). 5673 type RecommendedOptionProjectedMetric struct { 5674 _ struct{} `type:"structure"` 5675 5676 // An array of objects that describe a projected utilization metric. 5677 ProjectedMetrics []*ProjectedMetric `locationName:"projectedMetrics" type:"list"` 5678 5679 // The rank of the recommendation option projected metric. 5680 // 5681 // The top recommendation option is ranked as 1. 5682 // 5683 // The projected metric rank correlates to the recommendation option rank. For 5684 // example, the projected metric ranked as 1 is related to the recommendation 5685 // option that is also ranked as 1 in the same response. 5686 Rank *int64 `locationName:"rank" type:"integer"` 5687 5688 // The recommended instance type. 5689 RecommendedInstanceType *string `locationName:"recommendedInstanceType" type:"string"` 5690 } 5691 5692 // String returns the string representation. 5693 // 5694 // API parameter values that are decorated as "sensitive" in the API will not 5695 // be included in the string output. The member name will be present, but the 5696 // value will be replaced with "sensitive". 5697 func (s RecommendedOptionProjectedMetric) String() string { 5698 return awsutil.Prettify(s) 5699 } 5700 5701 // GoString returns the string representation. 5702 // 5703 // API parameter values that are decorated as "sensitive" in the API will not 5704 // be included in the string output. The member name will be present, but the 5705 // value will be replaced with "sensitive". 5706 func (s RecommendedOptionProjectedMetric) GoString() string { 5707 return s.String() 5708 } 5709 5710 // SetProjectedMetrics sets the ProjectedMetrics field's value. 5711 func (s *RecommendedOptionProjectedMetric) SetProjectedMetrics(v []*ProjectedMetric) *RecommendedOptionProjectedMetric { 5712 s.ProjectedMetrics = v 5713 return s 5714 } 5715 5716 // SetRank sets the Rank field's value. 5717 func (s *RecommendedOptionProjectedMetric) SetRank(v int64) *RecommendedOptionProjectedMetric { 5718 s.Rank = &v 5719 return s 5720 } 5721 5722 // SetRecommendedInstanceType sets the RecommendedInstanceType field's value. 5723 func (s *RecommendedOptionProjectedMetric) SetRecommendedInstanceType(v string) *RecommendedOptionProjectedMetric { 5724 s.RecommendedInstanceType = &v 5725 return s 5726 } 5727 5728 // A resource that is required for the action doesn't exist. 5729 type ResourceNotFoundException struct { 5730 _ struct{} `type:"structure"` 5731 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5732 5733 Message_ *string `locationName:"message" type:"string"` 5734 } 5735 5736 // String returns the string representation. 5737 // 5738 // API parameter values that are decorated as "sensitive" in the API will not 5739 // be included in the string output. The member name will be present, but the 5740 // value will be replaced with "sensitive". 5741 func (s ResourceNotFoundException) String() string { 5742 return awsutil.Prettify(s) 5743 } 5744 5745 // GoString returns the string representation. 5746 // 5747 // API parameter values that are decorated as "sensitive" in the API will not 5748 // be included in the string output. The member name will be present, but the 5749 // value will be replaced with "sensitive". 5750 func (s ResourceNotFoundException) GoString() string { 5751 return s.String() 5752 } 5753 5754 func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 5755 return &ResourceNotFoundException{ 5756 RespMetadata: v, 5757 } 5758 } 5759 5760 // Code returns the exception type name. 5761 func (s *ResourceNotFoundException) Code() string { 5762 return "ResourceNotFoundException" 5763 } 5764 5765 // Message returns the exception's message. 5766 func (s *ResourceNotFoundException) Message() string { 5767 if s.Message_ != nil { 5768 return *s.Message_ 5769 } 5770 return "" 5771 } 5772 5773 // OrigErr always returns nil, satisfies awserr.Error interface. 5774 func (s *ResourceNotFoundException) OrigErr() error { 5775 return nil 5776 } 5777 5778 func (s *ResourceNotFoundException) Error() string { 5779 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5780 } 5781 5782 // Status code returns the HTTP status code for the request's response error. 5783 func (s *ResourceNotFoundException) StatusCode() int { 5784 return s.RespMetadata.StatusCode 5785 } 5786 5787 // RequestID returns the service's response RequestID for request. 5788 func (s *ResourceNotFoundException) RequestID() string { 5789 return s.RespMetadata.RequestID 5790 } 5791 5792 // Describes the destination Amazon Simple Storage Service (Amazon S3) bucket 5793 // name and object keys of a recommendations export file, and its associated 5794 // metadata file. 5795 type S3Destination struct { 5796 _ struct{} `type:"structure"` 5797 5798 // The name of the Amazon S3 bucket used as the destination of an export file. 5799 Bucket *string `locationName:"bucket" type:"string"` 5800 5801 // The Amazon S3 bucket key of an export file. 5802 // 5803 // The key uniquely identifies the object, or export file, in the S3 bucket. 5804 Key *string `locationName:"key" type:"string"` 5805 5806 // The Amazon S3 bucket key of a metadata file. 5807 // 5808 // The key uniquely identifies the object, or metadata file, in the S3 bucket. 5809 MetadataKey *string `locationName:"metadataKey" type:"string"` 5810 } 5811 5812 // String returns the string representation. 5813 // 5814 // API parameter values that are decorated as "sensitive" in the API will not 5815 // be included in the string output. The member name will be present, but the 5816 // value will be replaced with "sensitive". 5817 func (s S3Destination) String() string { 5818 return awsutil.Prettify(s) 5819 } 5820 5821 // GoString returns the string representation. 5822 // 5823 // API parameter values that are decorated as "sensitive" in the API will not 5824 // be included in the string output. The member name will be present, but the 5825 // value will be replaced with "sensitive". 5826 func (s S3Destination) GoString() string { 5827 return s.String() 5828 } 5829 5830 // SetBucket sets the Bucket field's value. 5831 func (s *S3Destination) SetBucket(v string) *S3Destination { 5832 s.Bucket = &v 5833 return s 5834 } 5835 5836 // SetKey sets the Key field's value. 5837 func (s *S3Destination) SetKey(v string) *S3Destination { 5838 s.Key = &v 5839 return s 5840 } 5841 5842 // SetMetadataKey sets the MetadataKey field's value. 5843 func (s *S3Destination) SetMetadataKey(v string) *S3Destination { 5844 s.MetadataKey = &v 5845 return s 5846 } 5847 5848 // Describes the destination Amazon Simple Storage Service (Amazon S3) bucket 5849 // name and key prefix for a recommendations export job. 5850 // 5851 // You must create the destination Amazon S3 bucket for your recommendations 5852 // export before you create the export job. Compute Optimizer does not create 5853 // the S3 bucket for you. After you create the S3 bucket, ensure that it has 5854 // the required permission policy to allow Compute Optimizer to write the export 5855 // file to it. If you plan to specify an object prefix when you create the export 5856 // job, you must include the object prefix in the policy that you add to the 5857 // S3 bucket. For more information, see Amazon S3 Bucket Policy for Compute 5858 // Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html) 5859 // in the Compute Optimizer User Guide. 5860 type S3DestinationConfig struct { 5861 _ struct{} `type:"structure"` 5862 5863 // The name of the Amazon S3 bucket to use as the destination for an export 5864 // job. 5865 Bucket *string `locationName:"bucket" type:"string"` 5866 5867 // The Amazon S3 bucket prefix for an export job. 5868 KeyPrefix *string `locationName:"keyPrefix" type:"string"` 5869 } 5870 5871 // String returns the string representation. 5872 // 5873 // API parameter values that are decorated as "sensitive" in the API will not 5874 // be included in the string output. The member name will be present, but the 5875 // value will be replaced with "sensitive". 5876 func (s S3DestinationConfig) String() string { 5877 return awsutil.Prettify(s) 5878 } 5879 5880 // GoString returns the string representation. 5881 // 5882 // API parameter values that are decorated as "sensitive" in the API will not 5883 // be included in the string output. The member name will be present, but the 5884 // value will be replaced with "sensitive". 5885 func (s S3DestinationConfig) GoString() string { 5886 return s.String() 5887 } 5888 5889 // SetBucket sets the Bucket field's value. 5890 func (s *S3DestinationConfig) SetBucket(v string) *S3DestinationConfig { 5891 s.Bucket = &v 5892 return s 5893 } 5894 5895 // SetKeyPrefix sets the KeyPrefix field's value. 5896 func (s *S3DestinationConfig) SetKeyPrefix(v string) *S3DestinationConfig { 5897 s.KeyPrefix = &v 5898 return s 5899 } 5900 5901 // The request has failed due to a temporary failure of the server. 5902 type ServiceUnavailableException struct { 5903 _ struct{} `type:"structure"` 5904 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5905 5906 Message_ *string `locationName:"message" type:"string"` 5907 } 5908 5909 // String returns the string representation. 5910 // 5911 // API parameter values that are decorated as "sensitive" in the API will not 5912 // be included in the string output. The member name will be present, but the 5913 // value will be replaced with "sensitive". 5914 func (s ServiceUnavailableException) String() string { 5915 return awsutil.Prettify(s) 5916 } 5917 5918 // GoString returns the string representation. 5919 // 5920 // API parameter values that are decorated as "sensitive" in the API will not 5921 // be included in the string output. The member name will be present, but the 5922 // value will be replaced with "sensitive". 5923 func (s ServiceUnavailableException) GoString() string { 5924 return s.String() 5925 } 5926 5927 func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { 5928 return &ServiceUnavailableException{ 5929 RespMetadata: v, 5930 } 5931 } 5932 5933 // Code returns the exception type name. 5934 func (s *ServiceUnavailableException) Code() string { 5935 return "ServiceUnavailableException" 5936 } 5937 5938 // Message returns the exception's message. 5939 func (s *ServiceUnavailableException) Message() string { 5940 if s.Message_ != nil { 5941 return *s.Message_ 5942 } 5943 return "" 5944 } 5945 5946 // OrigErr always returns nil, satisfies awserr.Error interface. 5947 func (s *ServiceUnavailableException) OrigErr() error { 5948 return nil 5949 } 5950 5951 func (s *ServiceUnavailableException) Error() string { 5952 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5953 } 5954 5955 // Status code returns the HTTP status code for the request's response error. 5956 func (s *ServiceUnavailableException) StatusCode() int { 5957 return s.RespMetadata.StatusCode 5958 } 5959 5960 // RequestID returns the service's response RequestID for request. 5961 func (s *ServiceUnavailableException) RequestID() string { 5962 return s.RespMetadata.RequestID 5963 } 5964 5965 // The summary of a recommendation. 5966 type Summary struct { 5967 _ struct{} `type:"structure"` 5968 5969 // The finding classification of the recommendation. 5970 Name *string `locationName:"name" type:"string" enum:"Finding"` 5971 5972 // An array of objects that summarize a finding reason code. 5973 ReasonCodeSummaries []*ReasonCodeSummary `locationName:"reasonCodeSummaries" type:"list"` 5974 5975 // The value of the recommendation summary. 5976 Value *float64 `locationName:"value" type:"double"` 5977 } 5978 5979 // String returns the string representation. 5980 // 5981 // API parameter values that are decorated as "sensitive" in the API will not 5982 // be included in the string output. The member name will be present, but the 5983 // value will be replaced with "sensitive". 5984 func (s Summary) String() string { 5985 return awsutil.Prettify(s) 5986 } 5987 5988 // GoString returns the string representation. 5989 // 5990 // API parameter values that are decorated as "sensitive" in the API will not 5991 // be included in the string output. The member name will be present, but the 5992 // value will be replaced with "sensitive". 5993 func (s Summary) GoString() string { 5994 return s.String() 5995 } 5996 5997 // SetName sets the Name field's value. 5998 func (s *Summary) SetName(v string) *Summary { 5999 s.Name = &v 6000 return s 6001 } 6002 6003 // SetReasonCodeSummaries sets the ReasonCodeSummaries field's value. 6004 func (s *Summary) SetReasonCodeSummaries(v []*ReasonCodeSummary) *Summary { 6005 s.ReasonCodeSummaries = v 6006 return s 6007 } 6008 6009 // SetValue sets the Value field's value. 6010 func (s *Summary) SetValue(v float64) *Summary { 6011 s.Value = &v 6012 return s 6013 } 6014 6015 // The request was denied due to request throttling. 6016 type ThrottlingException struct { 6017 _ struct{} `type:"structure"` 6018 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6019 6020 Message_ *string `locationName:"message" type:"string"` 6021 } 6022 6023 // String returns the string representation. 6024 // 6025 // API parameter values that are decorated as "sensitive" in the API will not 6026 // be included in the string output. The member name will be present, but the 6027 // value will be replaced with "sensitive". 6028 func (s ThrottlingException) String() string { 6029 return awsutil.Prettify(s) 6030 } 6031 6032 // GoString returns the string representation. 6033 // 6034 // API parameter values that are decorated as "sensitive" in the API will not 6035 // be included in the string output. The member name will be present, but the 6036 // value will be replaced with "sensitive". 6037 func (s ThrottlingException) GoString() string { 6038 return s.String() 6039 } 6040 6041 func newErrorThrottlingException(v protocol.ResponseMetadata) error { 6042 return &ThrottlingException{ 6043 RespMetadata: v, 6044 } 6045 } 6046 6047 // Code returns the exception type name. 6048 func (s *ThrottlingException) Code() string { 6049 return "ThrottlingException" 6050 } 6051 6052 // Message returns the exception's message. 6053 func (s *ThrottlingException) Message() string { 6054 if s.Message_ != nil { 6055 return *s.Message_ 6056 } 6057 return "" 6058 } 6059 6060 // OrigErr always returns nil, satisfies awserr.Error interface. 6061 func (s *ThrottlingException) OrigErr() error { 6062 return nil 6063 } 6064 6065 func (s *ThrottlingException) Error() string { 6066 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6067 } 6068 6069 // Status code returns the HTTP status code for the request's response error. 6070 func (s *ThrottlingException) StatusCode() int { 6071 return s.RespMetadata.StatusCode 6072 } 6073 6074 // RequestID returns the service's response RequestID for request. 6075 func (s *ThrottlingException) RequestID() string { 6076 return s.RespMetadata.RequestID 6077 } 6078 6079 type UpdateEnrollmentStatusInput struct { 6080 _ struct{} `type:"structure"` 6081 6082 // Indicates whether to enroll member accounts of the organization if the account 6083 // is the management account of an organization. 6084 IncludeMemberAccounts *bool `locationName:"includeMemberAccounts" type:"boolean"` 6085 6086 // The new enrollment status of the account. 6087 // 6088 // The following status options are available: 6089 // 6090 // * Active - Opts in your account to the Compute Optimizer service. Compute 6091 // Optimizer begins analyzing the configuration and utilization metrics of 6092 // your Amazon Web Services resources after you opt in. For more information, 6093 // see Metrics analyzed by Compute Optimizer (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html) 6094 // in the Compute Optimizer User Guide. 6095 // 6096 // * Inactive - Opts out your account from the Compute Optimizer service. 6097 // Your account's recommendations and related metrics data will be deleted 6098 // from Compute Optimizer after you opt out. 6099 // 6100 // The Pending and Failed options cannot be used to update the enrollment status 6101 // of an account. They are returned in the response of a request to update the 6102 // enrollment status of an account. 6103 // 6104 // Status is a required field 6105 Status *string `locationName:"status" type:"string" required:"true" enum:"Status"` 6106 } 6107 6108 // String returns the string representation. 6109 // 6110 // API parameter values that are decorated as "sensitive" in the API will not 6111 // be included in the string output. The member name will be present, but the 6112 // value will be replaced with "sensitive". 6113 func (s UpdateEnrollmentStatusInput) String() string { 6114 return awsutil.Prettify(s) 6115 } 6116 6117 // GoString returns the string representation. 6118 // 6119 // API parameter values that are decorated as "sensitive" in the API will not 6120 // be included in the string output. The member name will be present, but the 6121 // value will be replaced with "sensitive". 6122 func (s UpdateEnrollmentStatusInput) GoString() string { 6123 return s.String() 6124 } 6125 6126 // Validate inspects the fields of the type to determine if they are valid. 6127 func (s *UpdateEnrollmentStatusInput) Validate() error { 6128 invalidParams := request.ErrInvalidParams{Context: "UpdateEnrollmentStatusInput"} 6129 if s.Status == nil { 6130 invalidParams.Add(request.NewErrParamRequired("Status")) 6131 } 6132 6133 if invalidParams.Len() > 0 { 6134 return invalidParams 6135 } 6136 return nil 6137 } 6138 6139 // SetIncludeMemberAccounts sets the IncludeMemberAccounts field's value. 6140 func (s *UpdateEnrollmentStatusInput) SetIncludeMemberAccounts(v bool) *UpdateEnrollmentStatusInput { 6141 s.IncludeMemberAccounts = &v 6142 return s 6143 } 6144 6145 // SetStatus sets the Status field's value. 6146 func (s *UpdateEnrollmentStatusInput) SetStatus(v string) *UpdateEnrollmentStatusInput { 6147 s.Status = &v 6148 return s 6149 } 6150 6151 type UpdateEnrollmentStatusOutput struct { 6152 _ struct{} `type:"structure"` 6153 6154 // The enrollment status of the account. 6155 Status *string `locationName:"status" type:"string" enum:"Status"` 6156 6157 // The reason for the enrollment status of the account. For example, an account 6158 // might show a status of Pending because member accounts of an organization 6159 // require more time to be enrolled in the service. 6160 StatusReason *string `locationName:"statusReason" type:"string"` 6161 } 6162 6163 // String returns the string representation. 6164 // 6165 // API parameter values that are decorated as "sensitive" in the API will not 6166 // be included in the string output. The member name will be present, but the 6167 // value will be replaced with "sensitive". 6168 func (s UpdateEnrollmentStatusOutput) String() string { 6169 return awsutil.Prettify(s) 6170 } 6171 6172 // GoString returns the string representation. 6173 // 6174 // API parameter values that are decorated as "sensitive" in the API will not 6175 // be included in the string output. The member name will be present, but the 6176 // value will be replaced with "sensitive". 6177 func (s UpdateEnrollmentStatusOutput) GoString() string { 6178 return s.String() 6179 } 6180 6181 // SetStatus sets the Status field's value. 6182 func (s *UpdateEnrollmentStatusOutput) SetStatus(v string) *UpdateEnrollmentStatusOutput { 6183 s.Status = &v 6184 return s 6185 } 6186 6187 // SetStatusReason sets the StatusReason field's value. 6188 func (s *UpdateEnrollmentStatusOutput) SetStatusReason(v string) *UpdateEnrollmentStatusOutput { 6189 s.StatusReason = &v 6190 return s 6191 } 6192 6193 // Describes a utilization metric of a resource, such as an Amazon EC2 instance. 6194 // 6195 // Compare the utilization metric data of your resource against its projected 6196 // utilization metric data to determine the performance difference between your 6197 // current resource and the recommended option. 6198 type UtilizationMetric struct { 6199 _ struct{} `type:"structure"` 6200 6201 // The name of the utilization metric. 6202 // 6203 // The following utilization metrics are available: 6204 // 6205 // * Cpu - The percentage of allocated EC2 compute units that are currently 6206 // in use on the instance. This metric identifies the processing power required 6207 // to run an application on the instance. Depending on the instance type, 6208 // tools in your operating system can show a lower percentage than CloudWatch 6209 // when the instance is not allocated a full processor core. Units: Percent 6210 // 6211 // * Memory - The percentage of memory that is currently in use on the instance. 6212 // This metric identifies the amount of memory required to run an application 6213 // on the instance. Units: Percent The Memory metric is returned only for 6214 // resources that have the unified CloudWatch agent installed on them. For 6215 // more information, see Enabling Memory Utilization with the CloudWatch 6216 // Agent (https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent). 6217 // 6218 // * EBS_READ_OPS_PER_SECOND - The completed read operations from all EBS 6219 // volumes attached to the instance in a specified period of time. Unit: 6220 // Count 6221 // 6222 // * EBS_WRITE_OPS_PER_SECOND - The completed write operations to all EBS 6223 // volumes attached to the instance in a specified period of time. Unit: 6224 // Count 6225 // 6226 // * EBS_READ_BYTES_PER_SECOND - The bytes read from all EBS volumes attached 6227 // to the instance in a specified period of time. Unit: Bytes 6228 // 6229 // * EBS_WRITE_BYTES_PER_SECOND - The bytes written to all EBS volumes attached 6230 // to the instance in a specified period of time. Unit: Bytes 6231 // 6232 // * DISK_READ_OPS_PER_SECOND - The completed read operations from all instance 6233 // store volumes available to the instance in a specified period of time. 6234 // If there are no instance store volumes, either the value is 0 or the metric 6235 // is not reported. 6236 // 6237 // * DISK_WRITE_OPS_PER_SECOND - The completed write operations from all 6238 // instance store volumes available to the instance in a specified period 6239 // of time. If there are no instance store volumes, either the value is 0 6240 // or the metric is not reported. 6241 // 6242 // * DISK_READ_BYTES_PER_SECOND - The bytes read from all instance store 6243 // volumes available to the instance. This metric is used to determine the 6244 // volume of the data the application reads from the disk of the instance. 6245 // This can be used to determine the speed of the application. If there are 6246 // no instance store volumes, either the value is 0 or the metric is not 6247 // reported. 6248 // 6249 // * DISK_WRITE_BYTES_PER_SECOND - The bytes written to all instance store 6250 // volumes available to the instance. This metric is used to determine the 6251 // volume of the data the application writes onto the disk of the instance. 6252 // This can be used to determine the speed of the application. If there are 6253 // no instance store volumes, either the value is 0 or the metric is not 6254 // reported. 6255 // 6256 // * NETWORK_IN_BYTES_PER_SECOND - The number of bytes received by the instance 6257 // on all network interfaces. This metric identifies the volume of incoming 6258 // network traffic to a single instance. 6259 // 6260 // * NETWORK_OUT_BYTES_PER_SECOND - The number of bytes sent out by the instance 6261 // on all network interfaces. This metric identifies the volume of outgoing 6262 // network traffic from a single instance. 6263 // 6264 // * NETWORK_PACKETS_IN_PER_SECOND - The number of packets received by the 6265 // instance on all network interfaces. This metric identifies the volume 6266 // of incoming traffic in terms of the number of packets on a single instance. 6267 // 6268 // * NETWORK_PACKETS_OUT_PER_SECOND - The number of packets sent out by the 6269 // instance on all network interfaces. This metric identifies the volume 6270 // of outgoing traffic in terms of the number of packets on a single instance. 6271 Name *string `locationName:"name" type:"string" enum:"MetricName"` 6272 6273 // The statistic of the utilization metric. 6274 // 6275 // The Compute Optimizer API, Command Line Interface (CLI), and SDKs return 6276 // utilization metrics using only the Maximum statistic, which is the highest 6277 // value observed during the specified period. 6278 // 6279 // The Compute Optimizer console displays graphs for some utilization metrics 6280 // using the Average statistic, which is the value of Sum / SampleCount during 6281 // the specified period. For more information, see Viewing resource recommendations 6282 // (https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html) 6283 // in the Compute Optimizer User Guide. You can also get averaged utilization 6284 // metric data for your resources using Amazon CloudWatch. For more information, 6285 // see the Amazon CloudWatch User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html). 6286 Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"` 6287 6288 // The value of the utilization metric. 6289 Value *float64 `locationName:"value" type:"double"` 6290 } 6291 6292 // String returns the string representation. 6293 // 6294 // API parameter values that are decorated as "sensitive" in the API will not 6295 // be included in the string output. The member name will be present, but the 6296 // value will be replaced with "sensitive". 6297 func (s UtilizationMetric) String() string { 6298 return awsutil.Prettify(s) 6299 } 6300 6301 // GoString returns the string representation. 6302 // 6303 // API parameter values that are decorated as "sensitive" in the API will not 6304 // be included in the string output. The member name will be present, but the 6305 // value will be replaced with "sensitive". 6306 func (s UtilizationMetric) GoString() string { 6307 return s.String() 6308 } 6309 6310 // SetName sets the Name field's value. 6311 func (s *UtilizationMetric) SetName(v string) *UtilizationMetric { 6312 s.Name = &v 6313 return s 6314 } 6315 6316 // SetStatistic sets the Statistic field's value. 6317 func (s *UtilizationMetric) SetStatistic(v string) *UtilizationMetric { 6318 s.Statistic = &v 6319 return s 6320 } 6321 6322 // SetValue sets the Value field's value. 6323 func (s *UtilizationMetric) SetValue(v float64) *UtilizationMetric { 6324 s.Value = &v 6325 return s 6326 } 6327 6328 // Describes the configuration of an Amazon Elastic Block Store (Amazon EBS) 6329 // volume. 6330 type VolumeConfiguration struct { 6331 _ struct{} `type:"structure"` 6332 6333 // The baseline IOPS of the volume. 6334 VolumeBaselineIOPS *int64 `locationName:"volumeBaselineIOPS" type:"integer"` 6335 6336 // The baseline throughput of the volume. 6337 VolumeBaselineThroughput *int64 `locationName:"volumeBaselineThroughput" type:"integer"` 6338 6339 // The burst IOPS of the volume. 6340 VolumeBurstIOPS *int64 `locationName:"volumeBurstIOPS" type:"integer"` 6341 6342 // The burst throughput of the volume. 6343 VolumeBurstThroughput *int64 `locationName:"volumeBurstThroughput" type:"integer"` 6344 6345 // The size of the volume, in GiB. 6346 VolumeSize *int64 `locationName:"volumeSize" type:"integer"` 6347 6348 // The volume type. 6349 // 6350 // This can be gp2 for General Purpose SSD, io1 or io2 for Provisioned IOPS 6351 // SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for 6352 // Magnetic volumes. 6353 VolumeType *string `locationName:"volumeType" type:"string"` 6354 } 6355 6356 // String returns the string representation. 6357 // 6358 // API parameter values that are decorated as "sensitive" in the API will not 6359 // be included in the string output. The member name will be present, but the 6360 // value will be replaced with "sensitive". 6361 func (s VolumeConfiguration) String() string { 6362 return awsutil.Prettify(s) 6363 } 6364 6365 // GoString returns the string representation. 6366 // 6367 // API parameter values that are decorated as "sensitive" in the API will not 6368 // be included in the string output. The member name will be present, but the 6369 // value will be replaced with "sensitive". 6370 func (s VolumeConfiguration) GoString() string { 6371 return s.String() 6372 } 6373 6374 // SetVolumeBaselineIOPS sets the VolumeBaselineIOPS field's value. 6375 func (s *VolumeConfiguration) SetVolumeBaselineIOPS(v int64) *VolumeConfiguration { 6376 s.VolumeBaselineIOPS = &v 6377 return s 6378 } 6379 6380 // SetVolumeBaselineThroughput sets the VolumeBaselineThroughput field's value. 6381 func (s *VolumeConfiguration) SetVolumeBaselineThroughput(v int64) *VolumeConfiguration { 6382 s.VolumeBaselineThroughput = &v 6383 return s 6384 } 6385 6386 // SetVolumeBurstIOPS sets the VolumeBurstIOPS field's value. 6387 func (s *VolumeConfiguration) SetVolumeBurstIOPS(v int64) *VolumeConfiguration { 6388 s.VolumeBurstIOPS = &v 6389 return s 6390 } 6391 6392 // SetVolumeBurstThroughput sets the VolumeBurstThroughput field's value. 6393 func (s *VolumeConfiguration) SetVolumeBurstThroughput(v int64) *VolumeConfiguration { 6394 s.VolumeBurstThroughput = &v 6395 return s 6396 } 6397 6398 // SetVolumeSize sets the VolumeSize field's value. 6399 func (s *VolumeConfiguration) SetVolumeSize(v int64) *VolumeConfiguration { 6400 s.VolumeSize = &v 6401 return s 6402 } 6403 6404 // SetVolumeType sets the VolumeType field's value. 6405 func (s *VolumeConfiguration) SetVolumeType(v string) *VolumeConfiguration { 6406 s.VolumeType = &v 6407 return s 6408 } 6409 6410 // Describes an Amazon Elastic Block Store (Amazon EBS) volume recommendation. 6411 type VolumeRecommendation struct { 6412 _ struct{} `type:"structure"` 6413 6414 // The Amazon Web Services account ID of the volume. 6415 AccountId *string `locationName:"accountId" type:"string"` 6416 6417 // An array of objects that describe the current configuration of the volume. 6418 CurrentConfiguration *VolumeConfiguration `locationName:"currentConfiguration" type:"structure"` 6419 6420 // The finding classification of the volume. 6421 // 6422 // Findings for volumes include: 6423 // 6424 // * NotOptimized —A volume is considered not optimized when Compute Optimizer 6425 // identifies a recommendation that can provide better performance for your 6426 // workload. 6427 // 6428 // * Optimized —An volume is considered optimized when Compute Optimizer 6429 // determines that the volume is correctly provisioned to run your workload 6430 // based on the chosen volume type. For optimized resources, Compute Optimizer 6431 // might recommend a new generation volume type. 6432 Finding *string `locationName:"finding" type:"string" enum:"EBSFinding"` 6433 6434 // The timestamp of when the volume recommendation was last refreshed. 6435 LastRefreshTimestamp *time.Time `locationName:"lastRefreshTimestamp" type:"timestamp"` 6436 6437 // The number of days for which utilization metrics were analyzed for the volume. 6438 LookBackPeriodInDays *float64 `locationName:"lookBackPeriodInDays" type:"double"` 6439 6440 // An array of objects that describe the utilization metrics of the volume. 6441 UtilizationMetrics []*EBSUtilizationMetric `locationName:"utilizationMetrics" type:"list"` 6442 6443 // The Amazon Resource Name (ARN) of the current volume. 6444 VolumeArn *string `locationName:"volumeArn" type:"string"` 6445 6446 // An array of objects that describe the recommendation options for the volume. 6447 VolumeRecommendationOptions []*VolumeRecommendationOption `locationName:"volumeRecommendationOptions" type:"list"` 6448 } 6449 6450 // String returns the string representation. 6451 // 6452 // API parameter values that are decorated as "sensitive" in the API will not 6453 // be included in the string output. The member name will be present, but the 6454 // value will be replaced with "sensitive". 6455 func (s VolumeRecommendation) String() string { 6456 return awsutil.Prettify(s) 6457 } 6458 6459 // GoString returns the string representation. 6460 // 6461 // API parameter values that are decorated as "sensitive" in the API will not 6462 // be included in the string output. The member name will be present, but the 6463 // value will be replaced with "sensitive". 6464 func (s VolumeRecommendation) GoString() string { 6465 return s.String() 6466 } 6467 6468 // SetAccountId sets the AccountId field's value. 6469 func (s *VolumeRecommendation) SetAccountId(v string) *VolumeRecommendation { 6470 s.AccountId = &v 6471 return s 6472 } 6473 6474 // SetCurrentConfiguration sets the CurrentConfiguration field's value. 6475 func (s *VolumeRecommendation) SetCurrentConfiguration(v *VolumeConfiguration) *VolumeRecommendation { 6476 s.CurrentConfiguration = v 6477 return s 6478 } 6479 6480 // SetFinding sets the Finding field's value. 6481 func (s *VolumeRecommendation) SetFinding(v string) *VolumeRecommendation { 6482 s.Finding = &v 6483 return s 6484 } 6485 6486 // SetLastRefreshTimestamp sets the LastRefreshTimestamp field's value. 6487 func (s *VolumeRecommendation) SetLastRefreshTimestamp(v time.Time) *VolumeRecommendation { 6488 s.LastRefreshTimestamp = &v 6489 return s 6490 } 6491 6492 // SetLookBackPeriodInDays sets the LookBackPeriodInDays field's value. 6493 func (s *VolumeRecommendation) SetLookBackPeriodInDays(v float64) *VolumeRecommendation { 6494 s.LookBackPeriodInDays = &v 6495 return s 6496 } 6497 6498 // SetUtilizationMetrics sets the UtilizationMetrics field's value. 6499 func (s *VolumeRecommendation) SetUtilizationMetrics(v []*EBSUtilizationMetric) *VolumeRecommendation { 6500 s.UtilizationMetrics = v 6501 return s 6502 } 6503 6504 // SetVolumeArn sets the VolumeArn field's value. 6505 func (s *VolumeRecommendation) SetVolumeArn(v string) *VolumeRecommendation { 6506 s.VolumeArn = &v 6507 return s 6508 } 6509 6510 // SetVolumeRecommendationOptions sets the VolumeRecommendationOptions field's value. 6511 func (s *VolumeRecommendation) SetVolumeRecommendationOptions(v []*VolumeRecommendationOption) *VolumeRecommendation { 6512 s.VolumeRecommendationOptions = v 6513 return s 6514 } 6515 6516 // Describes a recommendation option for an Amazon Elastic Block Store (Amazon 6517 // EBS) instance. 6518 type VolumeRecommendationOption struct { 6519 _ struct{} `type:"structure"` 6520 6521 // An array of objects that describe a volume configuration. 6522 Configuration *VolumeConfiguration `locationName:"configuration" type:"structure"` 6523 6524 // The performance risk of the volume recommendation option. 6525 // 6526 // Performance risk is the likelihood of the recommended volume type meeting 6527 // the performance requirement of your workload. 6528 // 6529 // The value ranges from 0 - 4, with 0 meaning that the recommended resource 6530 // is predicted to always provide enough hardware capability. The higher the 6531 // performance risk is, the more likely you should validate whether the recommendation 6532 // will meet the performance requirements of your workload before migrating 6533 // your resource. 6534 PerformanceRisk *float64 `locationName:"performanceRisk" type:"double"` 6535 6536 // The rank of the volume recommendation option. 6537 // 6538 // The top recommendation option is ranked as 1. 6539 Rank *int64 `locationName:"rank" type:"integer"` 6540 } 6541 6542 // String returns the string representation. 6543 // 6544 // API parameter values that are decorated as "sensitive" in the API will not 6545 // be included in the string output. The member name will be present, but the 6546 // value will be replaced with "sensitive". 6547 func (s VolumeRecommendationOption) String() string { 6548 return awsutil.Prettify(s) 6549 } 6550 6551 // GoString returns the string representation. 6552 // 6553 // API parameter values that are decorated as "sensitive" in the API will not 6554 // be included in the string output. The member name will be present, but the 6555 // value will be replaced with "sensitive". 6556 func (s VolumeRecommendationOption) GoString() string { 6557 return s.String() 6558 } 6559 6560 // SetConfiguration sets the Configuration field's value. 6561 func (s *VolumeRecommendationOption) SetConfiguration(v *VolumeConfiguration) *VolumeRecommendationOption { 6562 s.Configuration = v 6563 return s 6564 } 6565 6566 // SetPerformanceRisk sets the PerformanceRisk field's value. 6567 func (s *VolumeRecommendationOption) SetPerformanceRisk(v float64) *VolumeRecommendationOption { 6568 s.PerformanceRisk = &v 6569 return s 6570 } 6571 6572 // SetRank sets the Rank field's value. 6573 func (s *VolumeRecommendationOption) SetRank(v int64) *VolumeRecommendationOption { 6574 s.Rank = &v 6575 return s 6576 } 6577 6578 const ( 6579 // CpuVendorArchitectureAwsArm64 is a CpuVendorArchitecture enum value 6580 CpuVendorArchitectureAwsArm64 = "AWS_ARM64" 6581 6582 // CpuVendorArchitectureCurrent is a CpuVendorArchitecture enum value 6583 CpuVendorArchitectureCurrent = "CURRENT" 6584 ) 6585 6586 // CpuVendorArchitecture_Values returns all elements of the CpuVendorArchitecture enum 6587 func CpuVendorArchitecture_Values() []string { 6588 return []string{ 6589 CpuVendorArchitectureAwsArm64, 6590 CpuVendorArchitectureCurrent, 6591 } 6592 } 6593 6594 const ( 6595 // EBSFilterNameFinding is a EBSFilterName enum value 6596 EBSFilterNameFinding = "Finding" 6597 ) 6598 6599 // EBSFilterName_Values returns all elements of the EBSFilterName enum 6600 func EBSFilterName_Values() []string { 6601 return []string{ 6602 EBSFilterNameFinding, 6603 } 6604 } 6605 6606 const ( 6607 // EBSFindingOptimized is a EBSFinding enum value 6608 EBSFindingOptimized = "Optimized" 6609 6610 // EBSFindingNotOptimized is a EBSFinding enum value 6611 EBSFindingNotOptimized = "NotOptimized" 6612 ) 6613 6614 // EBSFinding_Values returns all elements of the EBSFinding enum 6615 func EBSFinding_Values() []string { 6616 return []string{ 6617 EBSFindingOptimized, 6618 EBSFindingNotOptimized, 6619 } 6620 } 6621 6622 const ( 6623 // EBSMetricNameVolumeReadOpsPerSecond is a EBSMetricName enum value 6624 EBSMetricNameVolumeReadOpsPerSecond = "VolumeReadOpsPerSecond" 6625 6626 // EBSMetricNameVolumeWriteOpsPerSecond is a EBSMetricName enum value 6627 EBSMetricNameVolumeWriteOpsPerSecond = "VolumeWriteOpsPerSecond" 6628 6629 // EBSMetricNameVolumeReadBytesPerSecond is a EBSMetricName enum value 6630 EBSMetricNameVolumeReadBytesPerSecond = "VolumeReadBytesPerSecond" 6631 6632 // EBSMetricNameVolumeWriteBytesPerSecond is a EBSMetricName enum value 6633 EBSMetricNameVolumeWriteBytesPerSecond = "VolumeWriteBytesPerSecond" 6634 ) 6635 6636 // EBSMetricName_Values returns all elements of the EBSMetricName enum 6637 func EBSMetricName_Values() []string { 6638 return []string{ 6639 EBSMetricNameVolumeReadOpsPerSecond, 6640 EBSMetricNameVolumeWriteOpsPerSecond, 6641 EBSMetricNameVolumeReadBytesPerSecond, 6642 EBSMetricNameVolumeWriteBytesPerSecond, 6643 } 6644 } 6645 6646 const ( 6647 // EnrollmentFilterNameStatus is a EnrollmentFilterName enum value 6648 EnrollmentFilterNameStatus = "Status" 6649 ) 6650 6651 // EnrollmentFilterName_Values returns all elements of the EnrollmentFilterName enum 6652 func EnrollmentFilterName_Values() []string { 6653 return []string{ 6654 EnrollmentFilterNameStatus, 6655 } 6656 } 6657 6658 const ( 6659 // ExportableAutoScalingGroupFieldAccountId is a ExportableAutoScalingGroupField enum value 6660 ExportableAutoScalingGroupFieldAccountId = "AccountId" 6661 6662 // ExportableAutoScalingGroupFieldAutoScalingGroupArn is a ExportableAutoScalingGroupField enum value 6663 ExportableAutoScalingGroupFieldAutoScalingGroupArn = "AutoScalingGroupArn" 6664 6665 // ExportableAutoScalingGroupFieldAutoScalingGroupName is a ExportableAutoScalingGroupField enum value 6666 ExportableAutoScalingGroupFieldAutoScalingGroupName = "AutoScalingGroupName" 6667 6668 // ExportableAutoScalingGroupFieldFinding is a ExportableAutoScalingGroupField enum value 6669 ExportableAutoScalingGroupFieldFinding = "Finding" 6670 6671 // ExportableAutoScalingGroupFieldUtilizationMetricsCpuMaximum is a ExportableAutoScalingGroupField enum value 6672 ExportableAutoScalingGroupFieldUtilizationMetricsCpuMaximum = "UtilizationMetricsCpuMaximum" 6673 6674 // ExportableAutoScalingGroupFieldUtilizationMetricsMemoryMaximum is a ExportableAutoScalingGroupField enum value 6675 ExportableAutoScalingGroupFieldUtilizationMetricsMemoryMaximum = "UtilizationMetricsMemoryMaximum" 6676 6677 // ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadOpsPerSecondMaximum is a ExportableAutoScalingGroupField enum value 6678 ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadOpsPerSecondMaximum = "UtilizationMetricsEbsReadOpsPerSecondMaximum" 6679 6680 // ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum is a ExportableAutoScalingGroupField enum value 6681 ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum = "UtilizationMetricsEbsWriteOpsPerSecondMaximum" 6682 6683 // ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadBytesPerSecondMaximum is a ExportableAutoScalingGroupField enum value 6684 ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadBytesPerSecondMaximum = "UtilizationMetricsEbsReadBytesPerSecondMaximum" 6685 6686 // ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum is a ExportableAutoScalingGroupField enum value 6687 ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum = "UtilizationMetricsEbsWriteBytesPerSecondMaximum" 6688 6689 // ExportableAutoScalingGroupFieldUtilizationMetricsDiskReadOpsPerSecondMaximum is a ExportableAutoScalingGroupField enum value 6690 ExportableAutoScalingGroupFieldUtilizationMetricsDiskReadOpsPerSecondMaximum = "UtilizationMetricsDiskReadOpsPerSecondMaximum" 6691 6692 // ExportableAutoScalingGroupFieldUtilizationMetricsDiskWriteOpsPerSecondMaximum is a ExportableAutoScalingGroupField enum value 6693 ExportableAutoScalingGroupFieldUtilizationMetricsDiskWriteOpsPerSecondMaximum = "UtilizationMetricsDiskWriteOpsPerSecondMaximum" 6694 6695 // ExportableAutoScalingGroupFieldUtilizationMetricsDiskReadBytesPerSecondMaximum is a ExportableAutoScalingGroupField enum value 6696 ExportableAutoScalingGroupFieldUtilizationMetricsDiskReadBytesPerSecondMaximum = "UtilizationMetricsDiskReadBytesPerSecondMaximum" 6697 6698 // ExportableAutoScalingGroupFieldUtilizationMetricsDiskWriteBytesPerSecondMaximum is a ExportableAutoScalingGroupField enum value 6699 ExportableAutoScalingGroupFieldUtilizationMetricsDiskWriteBytesPerSecondMaximum = "UtilizationMetricsDiskWriteBytesPerSecondMaximum" 6700 6701 // ExportableAutoScalingGroupFieldUtilizationMetricsNetworkInBytesPerSecondMaximum is a ExportableAutoScalingGroupField enum value 6702 ExportableAutoScalingGroupFieldUtilizationMetricsNetworkInBytesPerSecondMaximum = "UtilizationMetricsNetworkInBytesPerSecondMaximum" 6703 6704 // ExportableAutoScalingGroupFieldUtilizationMetricsNetworkOutBytesPerSecondMaximum is a ExportableAutoScalingGroupField enum value 6705 ExportableAutoScalingGroupFieldUtilizationMetricsNetworkOutBytesPerSecondMaximum = "UtilizationMetricsNetworkOutBytesPerSecondMaximum" 6706 6707 // ExportableAutoScalingGroupFieldUtilizationMetricsNetworkPacketsInPerSecondMaximum is a ExportableAutoScalingGroupField enum value 6708 ExportableAutoScalingGroupFieldUtilizationMetricsNetworkPacketsInPerSecondMaximum = "UtilizationMetricsNetworkPacketsInPerSecondMaximum" 6709 6710 // ExportableAutoScalingGroupFieldUtilizationMetricsNetworkPacketsOutPerSecondMaximum is a ExportableAutoScalingGroupField enum value 6711 ExportableAutoScalingGroupFieldUtilizationMetricsNetworkPacketsOutPerSecondMaximum = "UtilizationMetricsNetworkPacketsOutPerSecondMaximum" 6712 6713 // ExportableAutoScalingGroupFieldLookbackPeriodInDays is a ExportableAutoScalingGroupField enum value 6714 ExportableAutoScalingGroupFieldLookbackPeriodInDays = "LookbackPeriodInDays" 6715 6716 // ExportableAutoScalingGroupFieldCurrentConfigurationInstanceType is a ExportableAutoScalingGroupField enum value 6717 ExportableAutoScalingGroupFieldCurrentConfigurationInstanceType = "CurrentConfigurationInstanceType" 6718 6719 // ExportableAutoScalingGroupFieldCurrentConfigurationDesiredCapacity is a ExportableAutoScalingGroupField enum value 6720 ExportableAutoScalingGroupFieldCurrentConfigurationDesiredCapacity = "CurrentConfigurationDesiredCapacity" 6721 6722 // ExportableAutoScalingGroupFieldCurrentConfigurationMinSize is a ExportableAutoScalingGroupField enum value 6723 ExportableAutoScalingGroupFieldCurrentConfigurationMinSize = "CurrentConfigurationMinSize" 6724 6725 // ExportableAutoScalingGroupFieldCurrentConfigurationMaxSize is a ExportableAutoScalingGroupField enum value 6726 ExportableAutoScalingGroupFieldCurrentConfigurationMaxSize = "CurrentConfigurationMaxSize" 6727 6728 // ExportableAutoScalingGroupFieldCurrentOnDemandPrice is a ExportableAutoScalingGroupField enum value 6729 ExportableAutoScalingGroupFieldCurrentOnDemandPrice = "CurrentOnDemandPrice" 6730 6731 // ExportableAutoScalingGroupFieldCurrentStandardOneYearNoUpfrontReservedPrice is a ExportableAutoScalingGroupField enum value 6732 ExportableAutoScalingGroupFieldCurrentStandardOneYearNoUpfrontReservedPrice = "CurrentStandardOneYearNoUpfrontReservedPrice" 6733 6734 // ExportableAutoScalingGroupFieldCurrentStandardThreeYearNoUpfrontReservedPrice is a ExportableAutoScalingGroupField enum value 6735 ExportableAutoScalingGroupFieldCurrentStandardThreeYearNoUpfrontReservedPrice = "CurrentStandardThreeYearNoUpfrontReservedPrice" 6736 6737 // ExportableAutoScalingGroupFieldCurrentVcpus is a ExportableAutoScalingGroupField enum value 6738 ExportableAutoScalingGroupFieldCurrentVcpus = "CurrentVCpus" 6739 6740 // ExportableAutoScalingGroupFieldCurrentMemory is a ExportableAutoScalingGroupField enum value 6741 ExportableAutoScalingGroupFieldCurrentMemory = "CurrentMemory" 6742 6743 // ExportableAutoScalingGroupFieldCurrentStorage is a ExportableAutoScalingGroupField enum value 6744 ExportableAutoScalingGroupFieldCurrentStorage = "CurrentStorage" 6745 6746 // ExportableAutoScalingGroupFieldCurrentNetwork is a ExportableAutoScalingGroupField enum value 6747 ExportableAutoScalingGroupFieldCurrentNetwork = "CurrentNetwork" 6748 6749 // ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationInstanceType is a ExportableAutoScalingGroupField enum value 6750 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationInstanceType = "RecommendationOptionsConfigurationInstanceType" 6751 6752 // ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationDesiredCapacity is a ExportableAutoScalingGroupField enum value 6753 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationDesiredCapacity = "RecommendationOptionsConfigurationDesiredCapacity" 6754 6755 // ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMinSize is a ExportableAutoScalingGroupField enum value 6756 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMinSize = "RecommendationOptionsConfigurationMinSize" 6757 6758 // ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMaxSize is a ExportableAutoScalingGroupField enum value 6759 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMaxSize = "RecommendationOptionsConfigurationMaxSize" 6760 6761 // ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum is a ExportableAutoScalingGroupField enum value 6762 ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum" 6763 6764 // ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum is a ExportableAutoScalingGroupField enum value 6765 ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum" 6766 6767 // ExportableAutoScalingGroupFieldRecommendationOptionsPerformanceRisk is a ExportableAutoScalingGroupField enum value 6768 ExportableAutoScalingGroupFieldRecommendationOptionsPerformanceRisk = "RecommendationOptionsPerformanceRisk" 6769 6770 // ExportableAutoScalingGroupFieldRecommendationOptionsOnDemandPrice is a ExportableAutoScalingGroupField enum value 6771 ExportableAutoScalingGroupFieldRecommendationOptionsOnDemandPrice = "RecommendationOptionsOnDemandPrice" 6772 6773 // ExportableAutoScalingGroupFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice is a ExportableAutoScalingGroupField enum value 6774 ExportableAutoScalingGroupFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice = "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice" 6775 6776 // ExportableAutoScalingGroupFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice is a ExportableAutoScalingGroupField enum value 6777 ExportableAutoScalingGroupFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice = "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice" 6778 6779 // ExportableAutoScalingGroupFieldRecommendationOptionsVcpus is a ExportableAutoScalingGroupField enum value 6780 ExportableAutoScalingGroupFieldRecommendationOptionsVcpus = "RecommendationOptionsVcpus" 6781 6782 // ExportableAutoScalingGroupFieldRecommendationOptionsMemory is a ExportableAutoScalingGroupField enum value 6783 ExportableAutoScalingGroupFieldRecommendationOptionsMemory = "RecommendationOptionsMemory" 6784 6785 // ExportableAutoScalingGroupFieldRecommendationOptionsStorage is a ExportableAutoScalingGroupField enum value 6786 ExportableAutoScalingGroupFieldRecommendationOptionsStorage = "RecommendationOptionsStorage" 6787 6788 // ExportableAutoScalingGroupFieldRecommendationOptionsNetwork is a ExportableAutoScalingGroupField enum value 6789 ExportableAutoScalingGroupFieldRecommendationOptionsNetwork = "RecommendationOptionsNetwork" 6790 6791 // ExportableAutoScalingGroupFieldLastRefreshTimestamp is a ExportableAutoScalingGroupField enum value 6792 ExportableAutoScalingGroupFieldLastRefreshTimestamp = "LastRefreshTimestamp" 6793 ) 6794 6795 // ExportableAutoScalingGroupField_Values returns all elements of the ExportableAutoScalingGroupField enum 6796 func ExportableAutoScalingGroupField_Values() []string { 6797 return []string{ 6798 ExportableAutoScalingGroupFieldAccountId, 6799 ExportableAutoScalingGroupFieldAutoScalingGroupArn, 6800 ExportableAutoScalingGroupFieldAutoScalingGroupName, 6801 ExportableAutoScalingGroupFieldFinding, 6802 ExportableAutoScalingGroupFieldUtilizationMetricsCpuMaximum, 6803 ExportableAutoScalingGroupFieldUtilizationMetricsMemoryMaximum, 6804 ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadOpsPerSecondMaximum, 6805 ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum, 6806 ExportableAutoScalingGroupFieldUtilizationMetricsEbsReadBytesPerSecondMaximum, 6807 ExportableAutoScalingGroupFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum, 6808 ExportableAutoScalingGroupFieldUtilizationMetricsDiskReadOpsPerSecondMaximum, 6809 ExportableAutoScalingGroupFieldUtilizationMetricsDiskWriteOpsPerSecondMaximum, 6810 ExportableAutoScalingGroupFieldUtilizationMetricsDiskReadBytesPerSecondMaximum, 6811 ExportableAutoScalingGroupFieldUtilizationMetricsDiskWriteBytesPerSecondMaximum, 6812 ExportableAutoScalingGroupFieldUtilizationMetricsNetworkInBytesPerSecondMaximum, 6813 ExportableAutoScalingGroupFieldUtilizationMetricsNetworkOutBytesPerSecondMaximum, 6814 ExportableAutoScalingGroupFieldUtilizationMetricsNetworkPacketsInPerSecondMaximum, 6815 ExportableAutoScalingGroupFieldUtilizationMetricsNetworkPacketsOutPerSecondMaximum, 6816 ExportableAutoScalingGroupFieldLookbackPeriodInDays, 6817 ExportableAutoScalingGroupFieldCurrentConfigurationInstanceType, 6818 ExportableAutoScalingGroupFieldCurrentConfigurationDesiredCapacity, 6819 ExportableAutoScalingGroupFieldCurrentConfigurationMinSize, 6820 ExportableAutoScalingGroupFieldCurrentConfigurationMaxSize, 6821 ExportableAutoScalingGroupFieldCurrentOnDemandPrice, 6822 ExportableAutoScalingGroupFieldCurrentStandardOneYearNoUpfrontReservedPrice, 6823 ExportableAutoScalingGroupFieldCurrentStandardThreeYearNoUpfrontReservedPrice, 6824 ExportableAutoScalingGroupFieldCurrentVcpus, 6825 ExportableAutoScalingGroupFieldCurrentMemory, 6826 ExportableAutoScalingGroupFieldCurrentStorage, 6827 ExportableAutoScalingGroupFieldCurrentNetwork, 6828 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationInstanceType, 6829 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationDesiredCapacity, 6830 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMinSize, 6831 ExportableAutoScalingGroupFieldRecommendationOptionsConfigurationMaxSize, 6832 ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum, 6833 ExportableAutoScalingGroupFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, 6834 ExportableAutoScalingGroupFieldRecommendationOptionsPerformanceRisk, 6835 ExportableAutoScalingGroupFieldRecommendationOptionsOnDemandPrice, 6836 ExportableAutoScalingGroupFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice, 6837 ExportableAutoScalingGroupFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, 6838 ExportableAutoScalingGroupFieldRecommendationOptionsVcpus, 6839 ExportableAutoScalingGroupFieldRecommendationOptionsMemory, 6840 ExportableAutoScalingGroupFieldRecommendationOptionsStorage, 6841 ExportableAutoScalingGroupFieldRecommendationOptionsNetwork, 6842 ExportableAutoScalingGroupFieldLastRefreshTimestamp, 6843 } 6844 } 6845 6846 const ( 6847 // ExportableInstanceFieldAccountId is a ExportableInstanceField enum value 6848 ExportableInstanceFieldAccountId = "AccountId" 6849 6850 // ExportableInstanceFieldInstanceArn is a ExportableInstanceField enum value 6851 ExportableInstanceFieldInstanceArn = "InstanceArn" 6852 6853 // ExportableInstanceFieldInstanceName is a ExportableInstanceField enum value 6854 ExportableInstanceFieldInstanceName = "InstanceName" 6855 6856 // ExportableInstanceFieldFinding is a ExportableInstanceField enum value 6857 ExportableInstanceFieldFinding = "Finding" 6858 6859 // ExportableInstanceFieldFindingReasonCodes is a ExportableInstanceField enum value 6860 ExportableInstanceFieldFindingReasonCodes = "FindingReasonCodes" 6861 6862 // ExportableInstanceFieldLookbackPeriodInDays is a ExportableInstanceField enum value 6863 ExportableInstanceFieldLookbackPeriodInDays = "LookbackPeriodInDays" 6864 6865 // ExportableInstanceFieldCurrentInstanceType is a ExportableInstanceField enum value 6866 ExportableInstanceFieldCurrentInstanceType = "CurrentInstanceType" 6867 6868 // ExportableInstanceFieldUtilizationMetricsCpuMaximum is a ExportableInstanceField enum value 6869 ExportableInstanceFieldUtilizationMetricsCpuMaximum = "UtilizationMetricsCpuMaximum" 6870 6871 // ExportableInstanceFieldUtilizationMetricsMemoryMaximum is a ExportableInstanceField enum value 6872 ExportableInstanceFieldUtilizationMetricsMemoryMaximum = "UtilizationMetricsMemoryMaximum" 6873 6874 // ExportableInstanceFieldUtilizationMetricsEbsReadOpsPerSecondMaximum is a ExportableInstanceField enum value 6875 ExportableInstanceFieldUtilizationMetricsEbsReadOpsPerSecondMaximum = "UtilizationMetricsEbsReadOpsPerSecondMaximum" 6876 6877 // ExportableInstanceFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum is a ExportableInstanceField enum value 6878 ExportableInstanceFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum = "UtilizationMetricsEbsWriteOpsPerSecondMaximum" 6879 6880 // ExportableInstanceFieldUtilizationMetricsEbsReadBytesPerSecondMaximum is a ExportableInstanceField enum value 6881 ExportableInstanceFieldUtilizationMetricsEbsReadBytesPerSecondMaximum = "UtilizationMetricsEbsReadBytesPerSecondMaximum" 6882 6883 // ExportableInstanceFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum is a ExportableInstanceField enum value 6884 ExportableInstanceFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum = "UtilizationMetricsEbsWriteBytesPerSecondMaximum" 6885 6886 // ExportableInstanceFieldUtilizationMetricsDiskReadOpsPerSecondMaximum is a ExportableInstanceField enum value 6887 ExportableInstanceFieldUtilizationMetricsDiskReadOpsPerSecondMaximum = "UtilizationMetricsDiskReadOpsPerSecondMaximum" 6888 6889 // ExportableInstanceFieldUtilizationMetricsDiskWriteOpsPerSecondMaximum is a ExportableInstanceField enum value 6890 ExportableInstanceFieldUtilizationMetricsDiskWriteOpsPerSecondMaximum = "UtilizationMetricsDiskWriteOpsPerSecondMaximum" 6891 6892 // ExportableInstanceFieldUtilizationMetricsDiskReadBytesPerSecondMaximum is a ExportableInstanceField enum value 6893 ExportableInstanceFieldUtilizationMetricsDiskReadBytesPerSecondMaximum = "UtilizationMetricsDiskReadBytesPerSecondMaximum" 6894 6895 // ExportableInstanceFieldUtilizationMetricsDiskWriteBytesPerSecondMaximum is a ExportableInstanceField enum value 6896 ExportableInstanceFieldUtilizationMetricsDiskWriteBytesPerSecondMaximum = "UtilizationMetricsDiskWriteBytesPerSecondMaximum" 6897 6898 // ExportableInstanceFieldUtilizationMetricsNetworkInBytesPerSecondMaximum is a ExportableInstanceField enum value 6899 ExportableInstanceFieldUtilizationMetricsNetworkInBytesPerSecondMaximum = "UtilizationMetricsNetworkInBytesPerSecondMaximum" 6900 6901 // ExportableInstanceFieldUtilizationMetricsNetworkOutBytesPerSecondMaximum is a ExportableInstanceField enum value 6902 ExportableInstanceFieldUtilizationMetricsNetworkOutBytesPerSecondMaximum = "UtilizationMetricsNetworkOutBytesPerSecondMaximum" 6903 6904 // ExportableInstanceFieldUtilizationMetricsNetworkPacketsInPerSecondMaximum is a ExportableInstanceField enum value 6905 ExportableInstanceFieldUtilizationMetricsNetworkPacketsInPerSecondMaximum = "UtilizationMetricsNetworkPacketsInPerSecondMaximum" 6906 6907 // ExportableInstanceFieldUtilizationMetricsNetworkPacketsOutPerSecondMaximum is a ExportableInstanceField enum value 6908 ExportableInstanceFieldUtilizationMetricsNetworkPacketsOutPerSecondMaximum = "UtilizationMetricsNetworkPacketsOutPerSecondMaximum" 6909 6910 // ExportableInstanceFieldCurrentOnDemandPrice is a ExportableInstanceField enum value 6911 ExportableInstanceFieldCurrentOnDemandPrice = "CurrentOnDemandPrice" 6912 6913 // ExportableInstanceFieldCurrentStandardOneYearNoUpfrontReservedPrice is a ExportableInstanceField enum value 6914 ExportableInstanceFieldCurrentStandardOneYearNoUpfrontReservedPrice = "CurrentStandardOneYearNoUpfrontReservedPrice" 6915 6916 // ExportableInstanceFieldCurrentStandardThreeYearNoUpfrontReservedPrice is a ExportableInstanceField enum value 6917 ExportableInstanceFieldCurrentStandardThreeYearNoUpfrontReservedPrice = "CurrentStandardThreeYearNoUpfrontReservedPrice" 6918 6919 // ExportableInstanceFieldCurrentVcpus is a ExportableInstanceField enum value 6920 ExportableInstanceFieldCurrentVcpus = "CurrentVCpus" 6921 6922 // ExportableInstanceFieldCurrentMemory is a ExportableInstanceField enum value 6923 ExportableInstanceFieldCurrentMemory = "CurrentMemory" 6924 6925 // ExportableInstanceFieldCurrentStorage is a ExportableInstanceField enum value 6926 ExportableInstanceFieldCurrentStorage = "CurrentStorage" 6927 6928 // ExportableInstanceFieldCurrentNetwork is a ExportableInstanceField enum value 6929 ExportableInstanceFieldCurrentNetwork = "CurrentNetwork" 6930 6931 // ExportableInstanceFieldRecommendationOptionsInstanceType is a ExportableInstanceField enum value 6932 ExportableInstanceFieldRecommendationOptionsInstanceType = "RecommendationOptionsInstanceType" 6933 6934 // ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum is a ExportableInstanceField enum value 6935 ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum = "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum" 6936 6937 // ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum is a ExportableInstanceField enum value 6938 ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum = "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum" 6939 6940 // ExportableInstanceFieldRecommendationOptionsPlatformDifferences is a ExportableInstanceField enum value 6941 ExportableInstanceFieldRecommendationOptionsPlatformDifferences = "RecommendationOptionsPlatformDifferences" 6942 6943 // ExportableInstanceFieldRecommendationOptionsPerformanceRisk is a ExportableInstanceField enum value 6944 ExportableInstanceFieldRecommendationOptionsPerformanceRisk = "RecommendationOptionsPerformanceRisk" 6945 6946 // ExportableInstanceFieldRecommendationOptionsVcpus is a ExportableInstanceField enum value 6947 ExportableInstanceFieldRecommendationOptionsVcpus = "RecommendationOptionsVcpus" 6948 6949 // ExportableInstanceFieldRecommendationOptionsMemory is a ExportableInstanceField enum value 6950 ExportableInstanceFieldRecommendationOptionsMemory = "RecommendationOptionsMemory" 6951 6952 // ExportableInstanceFieldRecommendationOptionsStorage is a ExportableInstanceField enum value 6953 ExportableInstanceFieldRecommendationOptionsStorage = "RecommendationOptionsStorage" 6954 6955 // ExportableInstanceFieldRecommendationOptionsNetwork is a ExportableInstanceField enum value 6956 ExportableInstanceFieldRecommendationOptionsNetwork = "RecommendationOptionsNetwork" 6957 6958 // ExportableInstanceFieldRecommendationOptionsOnDemandPrice is a ExportableInstanceField enum value 6959 ExportableInstanceFieldRecommendationOptionsOnDemandPrice = "RecommendationOptionsOnDemandPrice" 6960 6961 // ExportableInstanceFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice is a ExportableInstanceField enum value 6962 ExportableInstanceFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice = "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice" 6963 6964 // ExportableInstanceFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice is a ExportableInstanceField enum value 6965 ExportableInstanceFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice = "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice" 6966 6967 // ExportableInstanceFieldRecommendationsSourcesRecommendationSourceArn is a ExportableInstanceField enum value 6968 ExportableInstanceFieldRecommendationsSourcesRecommendationSourceArn = "RecommendationsSourcesRecommendationSourceArn" 6969 6970 // ExportableInstanceFieldRecommendationsSourcesRecommendationSourceType is a ExportableInstanceField enum value 6971 ExportableInstanceFieldRecommendationsSourcesRecommendationSourceType = "RecommendationsSourcesRecommendationSourceType" 6972 6973 // ExportableInstanceFieldLastRefreshTimestamp is a ExportableInstanceField enum value 6974 ExportableInstanceFieldLastRefreshTimestamp = "LastRefreshTimestamp" 6975 ) 6976 6977 // ExportableInstanceField_Values returns all elements of the ExportableInstanceField enum 6978 func ExportableInstanceField_Values() []string { 6979 return []string{ 6980 ExportableInstanceFieldAccountId, 6981 ExportableInstanceFieldInstanceArn, 6982 ExportableInstanceFieldInstanceName, 6983 ExportableInstanceFieldFinding, 6984 ExportableInstanceFieldFindingReasonCodes, 6985 ExportableInstanceFieldLookbackPeriodInDays, 6986 ExportableInstanceFieldCurrentInstanceType, 6987 ExportableInstanceFieldUtilizationMetricsCpuMaximum, 6988 ExportableInstanceFieldUtilizationMetricsMemoryMaximum, 6989 ExportableInstanceFieldUtilizationMetricsEbsReadOpsPerSecondMaximum, 6990 ExportableInstanceFieldUtilizationMetricsEbsWriteOpsPerSecondMaximum, 6991 ExportableInstanceFieldUtilizationMetricsEbsReadBytesPerSecondMaximum, 6992 ExportableInstanceFieldUtilizationMetricsEbsWriteBytesPerSecondMaximum, 6993 ExportableInstanceFieldUtilizationMetricsDiskReadOpsPerSecondMaximum, 6994 ExportableInstanceFieldUtilizationMetricsDiskWriteOpsPerSecondMaximum, 6995 ExportableInstanceFieldUtilizationMetricsDiskReadBytesPerSecondMaximum, 6996 ExportableInstanceFieldUtilizationMetricsDiskWriteBytesPerSecondMaximum, 6997 ExportableInstanceFieldUtilizationMetricsNetworkInBytesPerSecondMaximum, 6998 ExportableInstanceFieldUtilizationMetricsNetworkOutBytesPerSecondMaximum, 6999 ExportableInstanceFieldUtilizationMetricsNetworkPacketsInPerSecondMaximum, 7000 ExportableInstanceFieldUtilizationMetricsNetworkPacketsOutPerSecondMaximum, 7001 ExportableInstanceFieldCurrentOnDemandPrice, 7002 ExportableInstanceFieldCurrentStandardOneYearNoUpfrontReservedPrice, 7003 ExportableInstanceFieldCurrentStandardThreeYearNoUpfrontReservedPrice, 7004 ExportableInstanceFieldCurrentVcpus, 7005 ExportableInstanceFieldCurrentMemory, 7006 ExportableInstanceFieldCurrentStorage, 7007 ExportableInstanceFieldCurrentNetwork, 7008 ExportableInstanceFieldRecommendationOptionsInstanceType, 7009 ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsCpuMaximum, 7010 ExportableInstanceFieldRecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, 7011 ExportableInstanceFieldRecommendationOptionsPlatformDifferences, 7012 ExportableInstanceFieldRecommendationOptionsPerformanceRisk, 7013 ExportableInstanceFieldRecommendationOptionsVcpus, 7014 ExportableInstanceFieldRecommendationOptionsMemory, 7015 ExportableInstanceFieldRecommendationOptionsStorage, 7016 ExportableInstanceFieldRecommendationOptionsNetwork, 7017 ExportableInstanceFieldRecommendationOptionsOnDemandPrice, 7018 ExportableInstanceFieldRecommendationOptionsStandardOneYearNoUpfrontReservedPrice, 7019 ExportableInstanceFieldRecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, 7020 ExportableInstanceFieldRecommendationsSourcesRecommendationSourceArn, 7021 ExportableInstanceFieldRecommendationsSourcesRecommendationSourceType, 7022 ExportableInstanceFieldLastRefreshTimestamp, 7023 } 7024 } 7025 7026 const ( 7027 // ExportableLambdaFunctionFieldAccountId is a ExportableLambdaFunctionField enum value 7028 ExportableLambdaFunctionFieldAccountId = "AccountId" 7029 7030 // ExportableLambdaFunctionFieldFunctionArn is a ExportableLambdaFunctionField enum value 7031 ExportableLambdaFunctionFieldFunctionArn = "FunctionArn" 7032 7033 // ExportableLambdaFunctionFieldFunctionVersion is a ExportableLambdaFunctionField enum value 7034 ExportableLambdaFunctionFieldFunctionVersion = "FunctionVersion" 7035 7036 // ExportableLambdaFunctionFieldFinding is a ExportableLambdaFunctionField enum value 7037 ExportableLambdaFunctionFieldFinding = "Finding" 7038 7039 // ExportableLambdaFunctionFieldFindingReasonCodes is a ExportableLambdaFunctionField enum value 7040 ExportableLambdaFunctionFieldFindingReasonCodes = "FindingReasonCodes" 7041 7042 // ExportableLambdaFunctionFieldNumberOfInvocations is a ExportableLambdaFunctionField enum value 7043 ExportableLambdaFunctionFieldNumberOfInvocations = "NumberOfInvocations" 7044 7045 // ExportableLambdaFunctionFieldUtilizationMetricsDurationMaximum is a ExportableLambdaFunctionField enum value 7046 ExportableLambdaFunctionFieldUtilizationMetricsDurationMaximum = "UtilizationMetricsDurationMaximum" 7047 7048 // ExportableLambdaFunctionFieldUtilizationMetricsDurationAverage is a ExportableLambdaFunctionField enum value 7049 ExportableLambdaFunctionFieldUtilizationMetricsDurationAverage = "UtilizationMetricsDurationAverage" 7050 7051 // ExportableLambdaFunctionFieldUtilizationMetricsMemoryMaximum is a ExportableLambdaFunctionField enum value 7052 ExportableLambdaFunctionFieldUtilizationMetricsMemoryMaximum = "UtilizationMetricsMemoryMaximum" 7053 7054 // ExportableLambdaFunctionFieldUtilizationMetricsMemoryAverage is a ExportableLambdaFunctionField enum value 7055 ExportableLambdaFunctionFieldUtilizationMetricsMemoryAverage = "UtilizationMetricsMemoryAverage" 7056 7057 // ExportableLambdaFunctionFieldLookbackPeriodInDays is a ExportableLambdaFunctionField enum value 7058 ExportableLambdaFunctionFieldLookbackPeriodInDays = "LookbackPeriodInDays" 7059 7060 // ExportableLambdaFunctionFieldCurrentConfigurationMemorySize is a ExportableLambdaFunctionField enum value 7061 ExportableLambdaFunctionFieldCurrentConfigurationMemorySize = "CurrentConfigurationMemorySize" 7062 7063 // ExportableLambdaFunctionFieldCurrentConfigurationTimeout is a ExportableLambdaFunctionField enum value 7064 ExportableLambdaFunctionFieldCurrentConfigurationTimeout = "CurrentConfigurationTimeout" 7065 7066 // ExportableLambdaFunctionFieldCurrentCostTotal is a ExportableLambdaFunctionField enum value 7067 ExportableLambdaFunctionFieldCurrentCostTotal = "CurrentCostTotal" 7068 7069 // ExportableLambdaFunctionFieldCurrentCostAverage is a ExportableLambdaFunctionField enum value 7070 ExportableLambdaFunctionFieldCurrentCostAverage = "CurrentCostAverage" 7071 7072 // ExportableLambdaFunctionFieldRecommendationOptionsConfigurationMemorySize is a ExportableLambdaFunctionField enum value 7073 ExportableLambdaFunctionFieldRecommendationOptionsConfigurationMemorySize = "RecommendationOptionsConfigurationMemorySize" 7074 7075 // ExportableLambdaFunctionFieldRecommendationOptionsCostLow is a ExportableLambdaFunctionField enum value 7076 ExportableLambdaFunctionFieldRecommendationOptionsCostLow = "RecommendationOptionsCostLow" 7077 7078 // ExportableLambdaFunctionFieldRecommendationOptionsCostHigh is a ExportableLambdaFunctionField enum value 7079 ExportableLambdaFunctionFieldRecommendationOptionsCostHigh = "RecommendationOptionsCostHigh" 7080 7081 // ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationLowerBound is a ExportableLambdaFunctionField enum value 7082 ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationLowerBound = "RecommendationOptionsProjectedUtilizationMetricsDurationLowerBound" 7083 7084 // ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationUpperBound is a ExportableLambdaFunctionField enum value 7085 ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationUpperBound = "RecommendationOptionsProjectedUtilizationMetricsDurationUpperBound" 7086 7087 // ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationExpected is a ExportableLambdaFunctionField enum value 7088 ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationExpected = "RecommendationOptionsProjectedUtilizationMetricsDurationExpected" 7089 7090 // ExportableLambdaFunctionFieldLastRefreshTimestamp is a ExportableLambdaFunctionField enum value 7091 ExportableLambdaFunctionFieldLastRefreshTimestamp = "LastRefreshTimestamp" 7092 ) 7093 7094 // ExportableLambdaFunctionField_Values returns all elements of the ExportableLambdaFunctionField enum 7095 func ExportableLambdaFunctionField_Values() []string { 7096 return []string{ 7097 ExportableLambdaFunctionFieldAccountId, 7098 ExportableLambdaFunctionFieldFunctionArn, 7099 ExportableLambdaFunctionFieldFunctionVersion, 7100 ExportableLambdaFunctionFieldFinding, 7101 ExportableLambdaFunctionFieldFindingReasonCodes, 7102 ExportableLambdaFunctionFieldNumberOfInvocations, 7103 ExportableLambdaFunctionFieldUtilizationMetricsDurationMaximum, 7104 ExportableLambdaFunctionFieldUtilizationMetricsDurationAverage, 7105 ExportableLambdaFunctionFieldUtilizationMetricsMemoryMaximum, 7106 ExportableLambdaFunctionFieldUtilizationMetricsMemoryAverage, 7107 ExportableLambdaFunctionFieldLookbackPeriodInDays, 7108 ExportableLambdaFunctionFieldCurrentConfigurationMemorySize, 7109 ExportableLambdaFunctionFieldCurrentConfigurationTimeout, 7110 ExportableLambdaFunctionFieldCurrentCostTotal, 7111 ExportableLambdaFunctionFieldCurrentCostAverage, 7112 ExportableLambdaFunctionFieldRecommendationOptionsConfigurationMemorySize, 7113 ExportableLambdaFunctionFieldRecommendationOptionsCostLow, 7114 ExportableLambdaFunctionFieldRecommendationOptionsCostHigh, 7115 ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationLowerBound, 7116 ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationUpperBound, 7117 ExportableLambdaFunctionFieldRecommendationOptionsProjectedUtilizationMetricsDurationExpected, 7118 ExportableLambdaFunctionFieldLastRefreshTimestamp, 7119 } 7120 } 7121 7122 const ( 7123 // ExportableVolumeFieldAccountId is a ExportableVolumeField enum value 7124 ExportableVolumeFieldAccountId = "AccountId" 7125 7126 // ExportableVolumeFieldVolumeArn is a ExportableVolumeField enum value 7127 ExportableVolumeFieldVolumeArn = "VolumeArn" 7128 7129 // ExportableVolumeFieldFinding is a ExportableVolumeField enum value 7130 ExportableVolumeFieldFinding = "Finding" 7131 7132 // ExportableVolumeFieldUtilizationMetricsVolumeReadOpsPerSecondMaximum is a ExportableVolumeField enum value 7133 ExportableVolumeFieldUtilizationMetricsVolumeReadOpsPerSecondMaximum = "UtilizationMetricsVolumeReadOpsPerSecondMaximum" 7134 7135 // ExportableVolumeFieldUtilizationMetricsVolumeWriteOpsPerSecondMaximum is a ExportableVolumeField enum value 7136 ExportableVolumeFieldUtilizationMetricsVolumeWriteOpsPerSecondMaximum = "UtilizationMetricsVolumeWriteOpsPerSecondMaximum" 7137 7138 // ExportableVolumeFieldUtilizationMetricsVolumeReadBytesPerSecondMaximum is a ExportableVolumeField enum value 7139 ExportableVolumeFieldUtilizationMetricsVolumeReadBytesPerSecondMaximum = "UtilizationMetricsVolumeReadBytesPerSecondMaximum" 7140 7141 // ExportableVolumeFieldUtilizationMetricsVolumeWriteBytesPerSecondMaximum is a ExportableVolumeField enum value 7142 ExportableVolumeFieldUtilizationMetricsVolumeWriteBytesPerSecondMaximum = "UtilizationMetricsVolumeWriteBytesPerSecondMaximum" 7143 7144 // ExportableVolumeFieldLookbackPeriodInDays is a ExportableVolumeField enum value 7145 ExportableVolumeFieldLookbackPeriodInDays = "LookbackPeriodInDays" 7146 7147 // ExportableVolumeFieldCurrentConfigurationVolumeType is a ExportableVolumeField enum value 7148 ExportableVolumeFieldCurrentConfigurationVolumeType = "CurrentConfigurationVolumeType" 7149 7150 // ExportableVolumeFieldCurrentConfigurationVolumeBaselineIops is a ExportableVolumeField enum value 7151 ExportableVolumeFieldCurrentConfigurationVolumeBaselineIops = "CurrentConfigurationVolumeBaselineIOPS" 7152 7153 // ExportableVolumeFieldCurrentConfigurationVolumeBaselineThroughput is a ExportableVolumeField enum value 7154 ExportableVolumeFieldCurrentConfigurationVolumeBaselineThroughput = "CurrentConfigurationVolumeBaselineThroughput" 7155 7156 // ExportableVolumeFieldCurrentConfigurationVolumeBurstIops is a ExportableVolumeField enum value 7157 ExportableVolumeFieldCurrentConfigurationVolumeBurstIops = "CurrentConfigurationVolumeBurstIOPS" 7158 7159 // ExportableVolumeFieldCurrentConfigurationVolumeBurstThroughput is a ExportableVolumeField enum value 7160 ExportableVolumeFieldCurrentConfigurationVolumeBurstThroughput = "CurrentConfigurationVolumeBurstThroughput" 7161 7162 // ExportableVolumeFieldCurrentConfigurationVolumeSize is a ExportableVolumeField enum value 7163 ExportableVolumeFieldCurrentConfigurationVolumeSize = "CurrentConfigurationVolumeSize" 7164 7165 // ExportableVolumeFieldCurrentMonthlyPrice is a ExportableVolumeField enum value 7166 ExportableVolumeFieldCurrentMonthlyPrice = "CurrentMonthlyPrice" 7167 7168 // ExportableVolumeFieldRecommendationOptionsConfigurationVolumeType is a ExportableVolumeField enum value 7169 ExportableVolumeFieldRecommendationOptionsConfigurationVolumeType = "RecommendationOptionsConfigurationVolumeType" 7170 7171 // ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBaselineIops is a ExportableVolumeField enum value 7172 ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBaselineIops = "RecommendationOptionsConfigurationVolumeBaselineIOPS" 7173 7174 // ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBaselineThroughput is a ExportableVolumeField enum value 7175 ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBaselineThroughput = "RecommendationOptionsConfigurationVolumeBaselineThroughput" 7176 7177 // ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBurstIops is a ExportableVolumeField enum value 7178 ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBurstIops = "RecommendationOptionsConfigurationVolumeBurstIOPS" 7179 7180 // ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBurstThroughput is a ExportableVolumeField enum value 7181 ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBurstThroughput = "RecommendationOptionsConfigurationVolumeBurstThroughput" 7182 7183 // ExportableVolumeFieldRecommendationOptionsConfigurationVolumeSize is a ExportableVolumeField enum value 7184 ExportableVolumeFieldRecommendationOptionsConfigurationVolumeSize = "RecommendationOptionsConfigurationVolumeSize" 7185 7186 // ExportableVolumeFieldRecommendationOptionsMonthlyPrice is a ExportableVolumeField enum value 7187 ExportableVolumeFieldRecommendationOptionsMonthlyPrice = "RecommendationOptionsMonthlyPrice" 7188 7189 // ExportableVolumeFieldRecommendationOptionsPerformanceRisk is a ExportableVolumeField enum value 7190 ExportableVolumeFieldRecommendationOptionsPerformanceRisk = "RecommendationOptionsPerformanceRisk" 7191 7192 // ExportableVolumeFieldLastRefreshTimestamp is a ExportableVolumeField enum value 7193 ExportableVolumeFieldLastRefreshTimestamp = "LastRefreshTimestamp" 7194 ) 7195 7196 // ExportableVolumeField_Values returns all elements of the ExportableVolumeField enum 7197 func ExportableVolumeField_Values() []string { 7198 return []string{ 7199 ExportableVolumeFieldAccountId, 7200 ExportableVolumeFieldVolumeArn, 7201 ExportableVolumeFieldFinding, 7202 ExportableVolumeFieldUtilizationMetricsVolumeReadOpsPerSecondMaximum, 7203 ExportableVolumeFieldUtilizationMetricsVolumeWriteOpsPerSecondMaximum, 7204 ExportableVolumeFieldUtilizationMetricsVolumeReadBytesPerSecondMaximum, 7205 ExportableVolumeFieldUtilizationMetricsVolumeWriteBytesPerSecondMaximum, 7206 ExportableVolumeFieldLookbackPeriodInDays, 7207 ExportableVolumeFieldCurrentConfigurationVolumeType, 7208 ExportableVolumeFieldCurrentConfigurationVolumeBaselineIops, 7209 ExportableVolumeFieldCurrentConfigurationVolumeBaselineThroughput, 7210 ExportableVolumeFieldCurrentConfigurationVolumeBurstIops, 7211 ExportableVolumeFieldCurrentConfigurationVolumeBurstThroughput, 7212 ExportableVolumeFieldCurrentConfigurationVolumeSize, 7213 ExportableVolumeFieldCurrentMonthlyPrice, 7214 ExportableVolumeFieldRecommendationOptionsConfigurationVolumeType, 7215 ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBaselineIops, 7216 ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBaselineThroughput, 7217 ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBurstIops, 7218 ExportableVolumeFieldRecommendationOptionsConfigurationVolumeBurstThroughput, 7219 ExportableVolumeFieldRecommendationOptionsConfigurationVolumeSize, 7220 ExportableVolumeFieldRecommendationOptionsMonthlyPrice, 7221 ExportableVolumeFieldRecommendationOptionsPerformanceRisk, 7222 ExportableVolumeFieldLastRefreshTimestamp, 7223 } 7224 } 7225 7226 const ( 7227 // FileFormatCsv is a FileFormat enum value 7228 FileFormatCsv = "Csv" 7229 ) 7230 7231 // FileFormat_Values returns all elements of the FileFormat enum 7232 func FileFormat_Values() []string { 7233 return []string{ 7234 FileFormatCsv, 7235 } 7236 } 7237 7238 const ( 7239 // FilterNameFinding is a FilterName enum value 7240 FilterNameFinding = "Finding" 7241 7242 // FilterNameFindingReasonCodes is a FilterName enum value 7243 FilterNameFindingReasonCodes = "FindingReasonCodes" 7244 7245 // FilterNameRecommendationSourceType is a FilterName enum value 7246 FilterNameRecommendationSourceType = "RecommendationSourceType" 7247 ) 7248 7249 // FilterName_Values returns all elements of the FilterName enum 7250 func FilterName_Values() []string { 7251 return []string{ 7252 FilterNameFinding, 7253 FilterNameFindingReasonCodes, 7254 FilterNameRecommendationSourceType, 7255 } 7256 } 7257 7258 const ( 7259 // FindingUnderprovisioned is a Finding enum value 7260 FindingUnderprovisioned = "Underprovisioned" 7261 7262 // FindingOverprovisioned is a Finding enum value 7263 FindingOverprovisioned = "Overprovisioned" 7264 7265 // FindingOptimized is a Finding enum value 7266 FindingOptimized = "Optimized" 7267 7268 // FindingNotOptimized is a Finding enum value 7269 FindingNotOptimized = "NotOptimized" 7270 ) 7271 7272 // Finding_Values returns all elements of the Finding enum 7273 func Finding_Values() []string { 7274 return []string{ 7275 FindingUnderprovisioned, 7276 FindingOverprovisioned, 7277 FindingOptimized, 7278 FindingNotOptimized, 7279 } 7280 } 7281 7282 const ( 7283 // FindingReasonCodeMemoryOverprovisioned is a FindingReasonCode enum value 7284 FindingReasonCodeMemoryOverprovisioned = "MemoryOverprovisioned" 7285 7286 // FindingReasonCodeMemoryUnderprovisioned is a FindingReasonCode enum value 7287 FindingReasonCodeMemoryUnderprovisioned = "MemoryUnderprovisioned" 7288 ) 7289 7290 // FindingReasonCode_Values returns all elements of the FindingReasonCode enum 7291 func FindingReasonCode_Values() []string { 7292 return []string{ 7293 FindingReasonCodeMemoryOverprovisioned, 7294 FindingReasonCodeMemoryUnderprovisioned, 7295 } 7296 } 7297 7298 const ( 7299 // InstanceRecommendationFindingReasonCodeCpuoverprovisioned is a InstanceRecommendationFindingReasonCode enum value 7300 InstanceRecommendationFindingReasonCodeCpuoverprovisioned = "CPUOverprovisioned" 7301 7302 // InstanceRecommendationFindingReasonCodeCpuunderprovisioned is a InstanceRecommendationFindingReasonCode enum value 7303 InstanceRecommendationFindingReasonCodeCpuunderprovisioned = "CPUUnderprovisioned" 7304 7305 // InstanceRecommendationFindingReasonCodeMemoryOverprovisioned is a InstanceRecommendationFindingReasonCode enum value 7306 InstanceRecommendationFindingReasonCodeMemoryOverprovisioned = "MemoryOverprovisioned" 7307 7308 // InstanceRecommendationFindingReasonCodeMemoryUnderprovisioned is a InstanceRecommendationFindingReasonCode enum value 7309 InstanceRecommendationFindingReasonCodeMemoryUnderprovisioned = "MemoryUnderprovisioned" 7310 7311 // InstanceRecommendationFindingReasonCodeEbsthroughputOverprovisioned is a InstanceRecommendationFindingReasonCode enum value 7312 InstanceRecommendationFindingReasonCodeEbsthroughputOverprovisioned = "EBSThroughputOverprovisioned" 7313 7314 // InstanceRecommendationFindingReasonCodeEbsthroughputUnderprovisioned is a InstanceRecommendationFindingReasonCode enum value 7315 InstanceRecommendationFindingReasonCodeEbsthroughputUnderprovisioned = "EBSThroughputUnderprovisioned" 7316 7317 // InstanceRecommendationFindingReasonCodeEbsiopsoverprovisioned is a InstanceRecommendationFindingReasonCode enum value 7318 InstanceRecommendationFindingReasonCodeEbsiopsoverprovisioned = "EBSIOPSOverprovisioned" 7319 7320 // InstanceRecommendationFindingReasonCodeEbsiopsunderprovisioned is a InstanceRecommendationFindingReasonCode enum value 7321 InstanceRecommendationFindingReasonCodeEbsiopsunderprovisioned = "EBSIOPSUnderprovisioned" 7322 7323 // InstanceRecommendationFindingReasonCodeNetworkBandwidthOverprovisioned is a InstanceRecommendationFindingReasonCode enum value 7324 InstanceRecommendationFindingReasonCodeNetworkBandwidthOverprovisioned = "NetworkBandwidthOverprovisioned" 7325 7326 // InstanceRecommendationFindingReasonCodeNetworkBandwidthUnderprovisioned is a InstanceRecommendationFindingReasonCode enum value 7327 InstanceRecommendationFindingReasonCodeNetworkBandwidthUnderprovisioned = "NetworkBandwidthUnderprovisioned" 7328 7329 // InstanceRecommendationFindingReasonCodeNetworkPpsoverprovisioned is a InstanceRecommendationFindingReasonCode enum value 7330 InstanceRecommendationFindingReasonCodeNetworkPpsoverprovisioned = "NetworkPPSOverprovisioned" 7331 7332 // InstanceRecommendationFindingReasonCodeNetworkPpsunderprovisioned is a InstanceRecommendationFindingReasonCode enum value 7333 InstanceRecommendationFindingReasonCodeNetworkPpsunderprovisioned = "NetworkPPSUnderprovisioned" 7334 7335 // InstanceRecommendationFindingReasonCodeDiskIopsoverprovisioned is a InstanceRecommendationFindingReasonCode enum value 7336 InstanceRecommendationFindingReasonCodeDiskIopsoverprovisioned = "DiskIOPSOverprovisioned" 7337 7338 // InstanceRecommendationFindingReasonCodeDiskIopsunderprovisioned is a InstanceRecommendationFindingReasonCode enum value 7339 InstanceRecommendationFindingReasonCodeDiskIopsunderprovisioned = "DiskIOPSUnderprovisioned" 7340 7341 // InstanceRecommendationFindingReasonCodeDiskThroughputOverprovisioned is a InstanceRecommendationFindingReasonCode enum value 7342 InstanceRecommendationFindingReasonCodeDiskThroughputOverprovisioned = "DiskThroughputOverprovisioned" 7343 7344 // InstanceRecommendationFindingReasonCodeDiskThroughputUnderprovisioned is a InstanceRecommendationFindingReasonCode enum value 7345 InstanceRecommendationFindingReasonCodeDiskThroughputUnderprovisioned = "DiskThroughputUnderprovisioned" 7346 ) 7347 7348 // InstanceRecommendationFindingReasonCode_Values returns all elements of the InstanceRecommendationFindingReasonCode enum 7349 func InstanceRecommendationFindingReasonCode_Values() []string { 7350 return []string{ 7351 InstanceRecommendationFindingReasonCodeCpuoverprovisioned, 7352 InstanceRecommendationFindingReasonCodeCpuunderprovisioned, 7353 InstanceRecommendationFindingReasonCodeMemoryOverprovisioned, 7354 InstanceRecommendationFindingReasonCodeMemoryUnderprovisioned, 7355 InstanceRecommendationFindingReasonCodeEbsthroughputOverprovisioned, 7356 InstanceRecommendationFindingReasonCodeEbsthroughputUnderprovisioned, 7357 InstanceRecommendationFindingReasonCodeEbsiopsoverprovisioned, 7358 InstanceRecommendationFindingReasonCodeEbsiopsunderprovisioned, 7359 InstanceRecommendationFindingReasonCodeNetworkBandwidthOverprovisioned, 7360 InstanceRecommendationFindingReasonCodeNetworkBandwidthUnderprovisioned, 7361 InstanceRecommendationFindingReasonCodeNetworkPpsoverprovisioned, 7362 InstanceRecommendationFindingReasonCodeNetworkPpsunderprovisioned, 7363 InstanceRecommendationFindingReasonCodeDiskIopsoverprovisioned, 7364 InstanceRecommendationFindingReasonCodeDiskIopsunderprovisioned, 7365 InstanceRecommendationFindingReasonCodeDiskThroughputOverprovisioned, 7366 InstanceRecommendationFindingReasonCodeDiskThroughputUnderprovisioned, 7367 } 7368 } 7369 7370 const ( 7371 // JobFilterNameResourceType is a JobFilterName enum value 7372 JobFilterNameResourceType = "ResourceType" 7373 7374 // JobFilterNameJobStatus is a JobFilterName enum value 7375 JobFilterNameJobStatus = "JobStatus" 7376 ) 7377 7378 // JobFilterName_Values returns all elements of the JobFilterName enum 7379 func JobFilterName_Values() []string { 7380 return []string{ 7381 JobFilterNameResourceType, 7382 JobFilterNameJobStatus, 7383 } 7384 } 7385 7386 const ( 7387 // JobStatusQueued is a JobStatus enum value 7388 JobStatusQueued = "Queued" 7389 7390 // JobStatusInProgress is a JobStatus enum value 7391 JobStatusInProgress = "InProgress" 7392 7393 // JobStatusComplete is a JobStatus enum value 7394 JobStatusComplete = "Complete" 7395 7396 // JobStatusFailed is a JobStatus enum value 7397 JobStatusFailed = "Failed" 7398 ) 7399 7400 // JobStatus_Values returns all elements of the JobStatus enum 7401 func JobStatus_Values() []string { 7402 return []string{ 7403 JobStatusQueued, 7404 JobStatusInProgress, 7405 JobStatusComplete, 7406 JobStatusFailed, 7407 } 7408 } 7409 7410 const ( 7411 // LambdaFunctionMemoryMetricNameDuration is a LambdaFunctionMemoryMetricName enum value 7412 LambdaFunctionMemoryMetricNameDuration = "Duration" 7413 ) 7414 7415 // LambdaFunctionMemoryMetricName_Values returns all elements of the LambdaFunctionMemoryMetricName enum 7416 func LambdaFunctionMemoryMetricName_Values() []string { 7417 return []string{ 7418 LambdaFunctionMemoryMetricNameDuration, 7419 } 7420 } 7421 7422 const ( 7423 // LambdaFunctionMemoryMetricStatisticLowerBound is a LambdaFunctionMemoryMetricStatistic enum value 7424 LambdaFunctionMemoryMetricStatisticLowerBound = "LowerBound" 7425 7426 // LambdaFunctionMemoryMetricStatisticUpperBound is a LambdaFunctionMemoryMetricStatistic enum value 7427 LambdaFunctionMemoryMetricStatisticUpperBound = "UpperBound" 7428 7429 // LambdaFunctionMemoryMetricStatisticExpected is a LambdaFunctionMemoryMetricStatistic enum value 7430 LambdaFunctionMemoryMetricStatisticExpected = "Expected" 7431 ) 7432 7433 // LambdaFunctionMemoryMetricStatistic_Values returns all elements of the LambdaFunctionMemoryMetricStatistic enum 7434 func LambdaFunctionMemoryMetricStatistic_Values() []string { 7435 return []string{ 7436 LambdaFunctionMemoryMetricStatisticLowerBound, 7437 LambdaFunctionMemoryMetricStatisticUpperBound, 7438 LambdaFunctionMemoryMetricStatisticExpected, 7439 } 7440 } 7441 7442 const ( 7443 // LambdaFunctionMetricNameDuration is a LambdaFunctionMetricName enum value 7444 LambdaFunctionMetricNameDuration = "Duration" 7445 7446 // LambdaFunctionMetricNameMemory is a LambdaFunctionMetricName enum value 7447 LambdaFunctionMetricNameMemory = "Memory" 7448 ) 7449 7450 // LambdaFunctionMetricName_Values returns all elements of the LambdaFunctionMetricName enum 7451 func LambdaFunctionMetricName_Values() []string { 7452 return []string{ 7453 LambdaFunctionMetricNameDuration, 7454 LambdaFunctionMetricNameMemory, 7455 } 7456 } 7457 7458 const ( 7459 // LambdaFunctionMetricStatisticMaximum is a LambdaFunctionMetricStatistic enum value 7460 LambdaFunctionMetricStatisticMaximum = "Maximum" 7461 7462 // LambdaFunctionMetricStatisticAverage is a LambdaFunctionMetricStatistic enum value 7463 LambdaFunctionMetricStatisticAverage = "Average" 7464 ) 7465 7466 // LambdaFunctionMetricStatistic_Values returns all elements of the LambdaFunctionMetricStatistic enum 7467 func LambdaFunctionMetricStatistic_Values() []string { 7468 return []string{ 7469 LambdaFunctionMetricStatisticMaximum, 7470 LambdaFunctionMetricStatisticAverage, 7471 } 7472 } 7473 7474 const ( 7475 // LambdaFunctionRecommendationFilterNameFinding is a LambdaFunctionRecommendationFilterName enum value 7476 LambdaFunctionRecommendationFilterNameFinding = "Finding" 7477 7478 // LambdaFunctionRecommendationFilterNameFindingReasonCode is a LambdaFunctionRecommendationFilterName enum value 7479 LambdaFunctionRecommendationFilterNameFindingReasonCode = "FindingReasonCode" 7480 ) 7481 7482 // LambdaFunctionRecommendationFilterName_Values returns all elements of the LambdaFunctionRecommendationFilterName enum 7483 func LambdaFunctionRecommendationFilterName_Values() []string { 7484 return []string{ 7485 LambdaFunctionRecommendationFilterNameFinding, 7486 LambdaFunctionRecommendationFilterNameFindingReasonCode, 7487 } 7488 } 7489 7490 const ( 7491 // LambdaFunctionRecommendationFindingOptimized is a LambdaFunctionRecommendationFinding enum value 7492 LambdaFunctionRecommendationFindingOptimized = "Optimized" 7493 7494 // LambdaFunctionRecommendationFindingNotOptimized is a LambdaFunctionRecommendationFinding enum value 7495 LambdaFunctionRecommendationFindingNotOptimized = "NotOptimized" 7496 7497 // LambdaFunctionRecommendationFindingUnavailable is a LambdaFunctionRecommendationFinding enum value 7498 LambdaFunctionRecommendationFindingUnavailable = "Unavailable" 7499 ) 7500 7501 // LambdaFunctionRecommendationFinding_Values returns all elements of the LambdaFunctionRecommendationFinding enum 7502 func LambdaFunctionRecommendationFinding_Values() []string { 7503 return []string{ 7504 LambdaFunctionRecommendationFindingOptimized, 7505 LambdaFunctionRecommendationFindingNotOptimized, 7506 LambdaFunctionRecommendationFindingUnavailable, 7507 } 7508 } 7509 7510 const ( 7511 // LambdaFunctionRecommendationFindingReasonCodeMemoryOverprovisioned is a LambdaFunctionRecommendationFindingReasonCode enum value 7512 LambdaFunctionRecommendationFindingReasonCodeMemoryOverprovisioned = "MemoryOverprovisioned" 7513 7514 // LambdaFunctionRecommendationFindingReasonCodeMemoryUnderprovisioned is a LambdaFunctionRecommendationFindingReasonCode enum value 7515 LambdaFunctionRecommendationFindingReasonCodeMemoryUnderprovisioned = "MemoryUnderprovisioned" 7516 7517 // LambdaFunctionRecommendationFindingReasonCodeInsufficientData is a LambdaFunctionRecommendationFindingReasonCode enum value 7518 LambdaFunctionRecommendationFindingReasonCodeInsufficientData = "InsufficientData" 7519 7520 // LambdaFunctionRecommendationFindingReasonCodeInconclusive is a LambdaFunctionRecommendationFindingReasonCode enum value 7521 LambdaFunctionRecommendationFindingReasonCodeInconclusive = "Inconclusive" 7522 ) 7523 7524 // LambdaFunctionRecommendationFindingReasonCode_Values returns all elements of the LambdaFunctionRecommendationFindingReasonCode enum 7525 func LambdaFunctionRecommendationFindingReasonCode_Values() []string { 7526 return []string{ 7527 LambdaFunctionRecommendationFindingReasonCodeMemoryOverprovisioned, 7528 LambdaFunctionRecommendationFindingReasonCodeMemoryUnderprovisioned, 7529 LambdaFunctionRecommendationFindingReasonCodeInsufficientData, 7530 LambdaFunctionRecommendationFindingReasonCodeInconclusive, 7531 } 7532 } 7533 7534 const ( 7535 // MetricNameCpu is a MetricName enum value 7536 MetricNameCpu = "Cpu" 7537 7538 // MetricNameMemory is a MetricName enum value 7539 MetricNameMemory = "Memory" 7540 7541 // MetricNameEbsReadOpsPerSecond is a MetricName enum value 7542 MetricNameEbsReadOpsPerSecond = "EBS_READ_OPS_PER_SECOND" 7543 7544 // MetricNameEbsWriteOpsPerSecond is a MetricName enum value 7545 MetricNameEbsWriteOpsPerSecond = "EBS_WRITE_OPS_PER_SECOND" 7546 7547 // MetricNameEbsReadBytesPerSecond is a MetricName enum value 7548 MetricNameEbsReadBytesPerSecond = "EBS_READ_BYTES_PER_SECOND" 7549 7550 // MetricNameEbsWriteBytesPerSecond is a MetricName enum value 7551 MetricNameEbsWriteBytesPerSecond = "EBS_WRITE_BYTES_PER_SECOND" 7552 7553 // MetricNameDiskReadOpsPerSecond is a MetricName enum value 7554 MetricNameDiskReadOpsPerSecond = "DISK_READ_OPS_PER_SECOND" 7555 7556 // MetricNameDiskWriteOpsPerSecond is a MetricName enum value 7557 MetricNameDiskWriteOpsPerSecond = "DISK_WRITE_OPS_PER_SECOND" 7558 7559 // MetricNameDiskReadBytesPerSecond is a MetricName enum value 7560 MetricNameDiskReadBytesPerSecond = "DISK_READ_BYTES_PER_SECOND" 7561 7562 // MetricNameDiskWriteBytesPerSecond is a MetricName enum value 7563 MetricNameDiskWriteBytesPerSecond = "DISK_WRITE_BYTES_PER_SECOND" 7564 7565 // MetricNameNetworkInBytesPerSecond is a MetricName enum value 7566 MetricNameNetworkInBytesPerSecond = "NETWORK_IN_BYTES_PER_SECOND" 7567 7568 // MetricNameNetworkOutBytesPerSecond is a MetricName enum value 7569 MetricNameNetworkOutBytesPerSecond = "NETWORK_OUT_BYTES_PER_SECOND" 7570 7571 // MetricNameNetworkPacketsInPerSecond is a MetricName enum value 7572 MetricNameNetworkPacketsInPerSecond = "NETWORK_PACKETS_IN_PER_SECOND" 7573 7574 // MetricNameNetworkPacketsOutPerSecond is a MetricName enum value 7575 MetricNameNetworkPacketsOutPerSecond = "NETWORK_PACKETS_OUT_PER_SECOND" 7576 ) 7577 7578 // MetricName_Values returns all elements of the MetricName enum 7579 func MetricName_Values() []string { 7580 return []string{ 7581 MetricNameCpu, 7582 MetricNameMemory, 7583 MetricNameEbsReadOpsPerSecond, 7584 MetricNameEbsWriteOpsPerSecond, 7585 MetricNameEbsReadBytesPerSecond, 7586 MetricNameEbsWriteBytesPerSecond, 7587 MetricNameDiskReadOpsPerSecond, 7588 MetricNameDiskWriteOpsPerSecond, 7589 MetricNameDiskReadBytesPerSecond, 7590 MetricNameDiskWriteBytesPerSecond, 7591 MetricNameNetworkInBytesPerSecond, 7592 MetricNameNetworkOutBytesPerSecond, 7593 MetricNameNetworkPacketsInPerSecond, 7594 MetricNameNetworkPacketsOutPerSecond, 7595 } 7596 } 7597 7598 const ( 7599 // MetricStatisticMaximum is a MetricStatistic enum value 7600 MetricStatisticMaximum = "Maximum" 7601 7602 // MetricStatisticAverage is a MetricStatistic enum value 7603 MetricStatisticAverage = "Average" 7604 ) 7605 7606 // MetricStatistic_Values returns all elements of the MetricStatistic enum 7607 func MetricStatistic_Values() []string { 7608 return []string{ 7609 MetricStatisticMaximum, 7610 MetricStatisticAverage, 7611 } 7612 } 7613 7614 const ( 7615 // PlatformDifferenceHypervisor is a PlatformDifference enum value 7616 PlatformDifferenceHypervisor = "Hypervisor" 7617 7618 // PlatformDifferenceNetworkInterface is a PlatformDifference enum value 7619 PlatformDifferenceNetworkInterface = "NetworkInterface" 7620 7621 // PlatformDifferenceStorageInterface is a PlatformDifference enum value 7622 PlatformDifferenceStorageInterface = "StorageInterface" 7623 7624 // PlatformDifferenceInstanceStoreAvailability is a PlatformDifference enum value 7625 PlatformDifferenceInstanceStoreAvailability = "InstanceStoreAvailability" 7626 7627 // PlatformDifferenceVirtualizationType is a PlatformDifference enum value 7628 PlatformDifferenceVirtualizationType = "VirtualizationType" 7629 7630 // PlatformDifferenceArchitecture is a PlatformDifference enum value 7631 PlatformDifferenceArchitecture = "Architecture" 7632 ) 7633 7634 // PlatformDifference_Values returns all elements of the PlatformDifference enum 7635 func PlatformDifference_Values() []string { 7636 return []string{ 7637 PlatformDifferenceHypervisor, 7638 PlatformDifferenceNetworkInterface, 7639 PlatformDifferenceStorageInterface, 7640 PlatformDifferenceInstanceStoreAvailability, 7641 PlatformDifferenceVirtualizationType, 7642 PlatformDifferenceArchitecture, 7643 } 7644 } 7645 7646 const ( 7647 // RecommendationSourceTypeEc2instance is a RecommendationSourceType enum value 7648 RecommendationSourceTypeEc2instance = "Ec2Instance" 7649 7650 // RecommendationSourceTypeAutoScalingGroup is a RecommendationSourceType enum value 7651 RecommendationSourceTypeAutoScalingGroup = "AutoScalingGroup" 7652 7653 // RecommendationSourceTypeEbsVolume is a RecommendationSourceType enum value 7654 RecommendationSourceTypeEbsVolume = "EbsVolume" 7655 7656 // RecommendationSourceTypeLambdaFunction is a RecommendationSourceType enum value 7657 RecommendationSourceTypeLambdaFunction = "LambdaFunction" 7658 ) 7659 7660 // RecommendationSourceType_Values returns all elements of the RecommendationSourceType enum 7661 func RecommendationSourceType_Values() []string { 7662 return []string{ 7663 RecommendationSourceTypeEc2instance, 7664 RecommendationSourceTypeAutoScalingGroup, 7665 RecommendationSourceTypeEbsVolume, 7666 RecommendationSourceTypeLambdaFunction, 7667 } 7668 } 7669 7670 const ( 7671 // ResourceTypeEc2instance is a ResourceType enum value 7672 ResourceTypeEc2instance = "Ec2Instance" 7673 7674 // ResourceTypeAutoScalingGroup is a ResourceType enum value 7675 ResourceTypeAutoScalingGroup = "AutoScalingGroup" 7676 7677 // ResourceTypeEbsVolume is a ResourceType enum value 7678 ResourceTypeEbsVolume = "EbsVolume" 7679 7680 // ResourceTypeLambdaFunction is a ResourceType enum value 7681 ResourceTypeLambdaFunction = "LambdaFunction" 7682 ) 7683 7684 // ResourceType_Values returns all elements of the ResourceType enum 7685 func ResourceType_Values() []string { 7686 return []string{ 7687 ResourceTypeEc2instance, 7688 ResourceTypeAutoScalingGroup, 7689 ResourceTypeEbsVolume, 7690 ResourceTypeLambdaFunction, 7691 } 7692 } 7693 7694 const ( 7695 // StatusActive is a Status enum value 7696 StatusActive = "Active" 7697 7698 // StatusInactive is a Status enum value 7699 StatusInactive = "Inactive" 7700 7701 // StatusPending is a Status enum value 7702 StatusPending = "Pending" 7703 7704 // StatusFailed is a Status enum value 7705 StatusFailed = "Failed" 7706 ) 7707 7708 // Status_Values returns all elements of the Status enum 7709 func Status_Values() []string { 7710 return []string{ 7711 StatusActive, 7712 StatusInactive, 7713 StatusPending, 7714 StatusFailed, 7715 } 7716 }