aws-sdk-computeoptimizer 1.12.0 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -44,12 +44,20 @@ module Aws::ComputeOptimizer
44
44
  ExportAutoScalingGroupRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportAutoScalingGroupRecommendationsRequest')
45
45
  ExportAutoScalingGroupRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportAutoScalingGroupRecommendationsResponse')
46
46
  ExportDestination = Shapes::StructureShape.new(name: 'ExportDestination')
47
+ ExportEBSVolumeRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportEBSVolumeRecommendationsRequest')
48
+ ExportEBSVolumeRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportEBSVolumeRecommendationsResponse')
47
49
  ExportEC2InstanceRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportEC2InstanceRecommendationsRequest')
48
50
  ExportEC2InstanceRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportEC2InstanceRecommendationsResponse')
51
+ ExportLambdaFunctionRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportLambdaFunctionRecommendationsRequest')
52
+ ExportLambdaFunctionRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportLambdaFunctionRecommendationsResponse')
49
53
  ExportableAutoScalingGroupField = Shapes::StringShape.new(name: 'ExportableAutoScalingGroupField')
50
54
  ExportableAutoScalingGroupFields = Shapes::ListShape.new(name: 'ExportableAutoScalingGroupFields')
51
55
  ExportableInstanceField = Shapes::StringShape.new(name: 'ExportableInstanceField')
52
56
  ExportableInstanceFields = Shapes::ListShape.new(name: 'ExportableInstanceFields')
57
+ ExportableLambdaFunctionField = Shapes::StringShape.new(name: 'ExportableLambdaFunctionField')
58
+ ExportableLambdaFunctionFields = Shapes::ListShape.new(name: 'ExportableLambdaFunctionFields')
59
+ ExportableVolumeField = Shapes::StringShape.new(name: 'ExportableVolumeField')
60
+ ExportableVolumeFields = Shapes::ListShape.new(name: 'ExportableVolumeFields')
53
61
  FailureReason = Shapes::StringShape.new(name: 'FailureReason')
54
62
  FileFormat = Shapes::StringShape.new(name: 'FileFormat')
55
63
  Filter = Shapes::StructureShape.new(name: 'Filter')
@@ -255,6 +263,18 @@ module Aws::ComputeOptimizer
255
263
  ExportDestination.add_member(:s3, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3"))
256
264
  ExportDestination.struct_class = Types::ExportDestination
257
265
 
266
+ ExportEBSVolumeRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
267
+ ExportEBSVolumeRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: EBSFilters, location_name: "filters"))
268
+ ExportEBSVolumeRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableVolumeFields, location_name: "fieldsToExport"))
269
+ ExportEBSVolumeRecommendationsRequest.add_member(:s3_destination_config, Shapes::ShapeRef.new(shape: S3DestinationConfig, required: true, location_name: "s3DestinationConfig"))
270
+ ExportEBSVolumeRecommendationsRequest.add_member(:file_format, Shapes::ShapeRef.new(shape: FileFormat, location_name: "fileFormat"))
271
+ ExportEBSVolumeRecommendationsRequest.add_member(:include_member_accounts, Shapes::ShapeRef.new(shape: IncludeMemberAccounts, location_name: "includeMemberAccounts"))
272
+ ExportEBSVolumeRecommendationsRequest.struct_class = Types::ExportEBSVolumeRecommendationsRequest
273
+
274
+ ExportEBSVolumeRecommendationsResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
275
+ ExportEBSVolumeRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
276
+ ExportEBSVolumeRecommendationsResponse.struct_class = Types::ExportEBSVolumeRecommendationsResponse
277
+
258
278
  ExportEC2InstanceRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
259
279
  ExportEC2InstanceRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: Filters, location_name: "filters"))
260
280
  ExportEC2InstanceRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableInstanceFields, location_name: "fieldsToExport"))
@@ -267,10 +287,26 @@ module Aws::ComputeOptimizer
267
287
  ExportEC2InstanceRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
268
288
  ExportEC2InstanceRecommendationsResponse.struct_class = Types::ExportEC2InstanceRecommendationsResponse
269
289
 
290
+ ExportLambdaFunctionRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
291
+ ExportLambdaFunctionRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFilters, location_name: "filters"))
292
+ ExportLambdaFunctionRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableLambdaFunctionFields, location_name: "fieldsToExport"))
293
+ ExportLambdaFunctionRecommendationsRequest.add_member(:s3_destination_config, Shapes::ShapeRef.new(shape: S3DestinationConfig, required: true, location_name: "s3DestinationConfig"))
294
+ ExportLambdaFunctionRecommendationsRequest.add_member(:file_format, Shapes::ShapeRef.new(shape: FileFormat, location_name: "fileFormat"))
295
+ ExportLambdaFunctionRecommendationsRequest.add_member(:include_member_accounts, Shapes::ShapeRef.new(shape: IncludeMemberAccounts, location_name: "includeMemberAccounts"))
296
+ ExportLambdaFunctionRecommendationsRequest.struct_class = Types::ExportLambdaFunctionRecommendationsRequest
297
+
298
+ ExportLambdaFunctionRecommendationsResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
299
+ ExportLambdaFunctionRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
300
+ ExportLambdaFunctionRecommendationsResponse.struct_class = Types::ExportLambdaFunctionRecommendationsResponse
301
+
270
302
  ExportableAutoScalingGroupFields.member = Shapes::ShapeRef.new(shape: ExportableAutoScalingGroupField)
271
303
 
272
304
  ExportableInstanceFields.member = Shapes::ShapeRef.new(shape: ExportableInstanceField)
273
305
 
306
+ ExportableLambdaFunctionFields.member = Shapes::ShapeRef.new(shape: ExportableLambdaFunctionField)
307
+
308
+ ExportableVolumeFields.member = Shapes::ShapeRef.new(shape: ExportableVolumeField)
309
+
274
310
  Filter.add_member(:name, Shapes::ShapeRef.new(shape: FilterName, location_name: "name"))
275
311
  Filter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
276
312
  Filter.struct_class = Types::Filter
@@ -622,6 +658,22 @@ module Aws::ComputeOptimizer
622
658
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
623
659
  end)
624
660
 
661
+ api.add_operation(:export_ebs_volume_recommendations, Seahorse::Model::Operation.new.tap do |o|
662
+ o.name = "ExportEBSVolumeRecommendations"
663
+ o.http_method = "POST"
664
+ o.http_request_uri = "/"
665
+ o.input = Shapes::ShapeRef.new(shape: ExportEBSVolumeRecommendationsRequest)
666
+ o.output = Shapes::ShapeRef.new(shape: ExportEBSVolumeRecommendationsResponse)
667
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
668
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
669
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
670
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
671
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
672
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
673
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
674
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
675
+ end)
676
+
625
677
  api.add_operation(:export_ec2_instance_recommendations, Seahorse::Model::Operation.new.tap do |o|
626
678
  o.name = "ExportEC2InstanceRecommendations"
627
679
  o.http_method = "POST"
@@ -638,6 +690,22 @@ module Aws::ComputeOptimizer
638
690
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
639
691
  end)
640
692
 
693
+ api.add_operation(:export_lambda_function_recommendations, Seahorse::Model::Operation.new.tap do |o|
694
+ o.name = "ExportLambdaFunctionRecommendations"
695
+ o.http_method = "POST"
696
+ o.http_request_uri = "/"
697
+ o.input = Shapes::ShapeRef.new(shape: ExportLambdaFunctionRecommendationsRequest)
698
+ o.output = Shapes::ShapeRef.new(shape: ExportLambdaFunctionRecommendationsResponse)
699
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
700
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
701
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
702
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
703
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
704
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
705
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
706
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
707
+ end)
708
+
641
709
  api.add_operation(:get_auto_scaling_group_recommendations, Seahorse::Model::Operation.new.tap do |o|
642
710
  o.name = "GetAutoScalingGroupRecommendations"
643
711
  o.http_method = "POST"
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -323,15 +323,22 @@ module Aws::ComputeOptimizer
323
323
  # @!attribute [rw] statistic
324
324
  # The statistic of the utilization metric.
325
325
  #
326
- # The following statistics are available:
326
+ # The Compute Optimizer API, AWS Command Line Interface (AWS CLI), and
327
+ # SDKs return utilization metrics using only the `Maximum` statistic,
328
+ # which is the highest value observed during the specified period.
327
329
  #
328
- # * `Average` - This is the value of Sum / SampleCount during the
329
- # specified period, or the average value observed during the
330
- # specified period.
330
+ # The Compute Optimizer console displays graphs for some utilization
331
+ # metrics using the `Average` statistic, which is the value of `Sum` /
332
+ # `SampleCount` during the specified period. For more information, see
333
+ # [Viewing resource recommendations][1] in the *AWS Compute Optimizer
334
+ # User Guide*. You can also get averaged utilization metric data for
335
+ # your resources using Amazon CloudWatch. For more information, see
336
+ # the [Amazon CloudWatch User Guide][2].
331
337
  #
332
- # * `Maximum` - The highest value observed during the specified
333
- # period. Use this value to determine high volumes of activity for
334
- # your application.
338
+ #
339
+ #
340
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html
341
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html
335
342
  # @return [String]
336
343
  #
337
344
  # @!attribute [rw] value
@@ -373,7 +380,7 @@ module Aws::ComputeOptimizer
373
380
  # recommendations.
374
381
  #
375
382
  # If your account is the management account of an organization, use
376
- # this parameter to specify the member accounts for which you want to
383
+ # this parameter to specify the member account for which you want to
377
384
  # export recommendations.
378
385
  #
379
386
  # This parameter cannot be specified together with the include member
@@ -431,7 +438,11 @@ module Aws::ComputeOptimizer
431
438
  # member accounts of the organization if your account is the
432
439
  # management account of an organization.
433
440
  #
434
- # The member accounts must also be opted in to Compute Optimizer.
441
+ # The member accounts must also be opted in to Compute Optimizer, and
442
+ # trusted access for Compute Optimizer must be enabled in the
443
+ # organization account. For more information, see [Compute Optimizer
444
+ # and AWS Organizations trusted access][1] in the *AWS Compute
445
+ # Optimizer User Guide*.
435
446
  #
436
447
  # Recommendations for member accounts of the organization are not
437
448
  # included in the export file if this parameter is omitted.
@@ -441,6 +452,10 @@ module Aws::ComputeOptimizer
441
452
  #
442
453
  # Recommendations for member accounts are not included in the export
443
454
  # if this parameter, or the account IDs parameter, is omitted.
455
+ #
456
+ #
457
+ #
458
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
444
459
  # @return [Boolean]
445
460
  #
446
461
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportAutoScalingGroupRecommendationsRequest AWS API Documentation
@@ -494,6 +509,144 @@ module Aws::ComputeOptimizer
494
509
  include Aws::Structure
495
510
  end
496
511
 
512
+ # @note When making an API call, you may pass ExportEBSVolumeRecommendationsRequest
513
+ # data as a hash:
514
+ #
515
+ # {
516
+ # account_ids: ["AccountId"],
517
+ # filters: [
518
+ # {
519
+ # name: "Finding", # accepts Finding
520
+ # values: ["FilterValue"],
521
+ # },
522
+ # ],
523
+ # fields_to_export: ["AccountId"], # accepts AccountId, VolumeArn, Finding, UtilizationMetricsVolumeReadOpsPerSecondMaximum, UtilizationMetricsVolumeWriteOpsPerSecondMaximum, UtilizationMetricsVolumeReadBytesPerSecondMaximum, UtilizationMetricsVolumeWriteBytesPerSecondMaximum, LookbackPeriodInDays, CurrentConfigurationVolumeType, CurrentConfigurationVolumeBaselineIOPS, CurrentConfigurationVolumeBaselineThroughput, CurrentConfigurationVolumeBurstIOPS, CurrentConfigurationVolumeBurstThroughput, CurrentConfigurationVolumeSize, CurrentMonthlyPrice, RecommendationOptionsConfigurationVolumeType, RecommendationOptionsConfigurationVolumeBaselineIOPS, RecommendationOptionsConfigurationVolumeBaselineThroughput, RecommendationOptionsConfigurationVolumeBurstIOPS, RecommendationOptionsConfigurationVolumeBurstThroughput, RecommendationOptionsConfigurationVolumeSize, RecommendationOptionsMonthlyPrice, RecommendationOptionsPerformanceRisk, LastRefreshTimestamp
524
+ # s3_destination_config: { # required
525
+ # bucket: "DestinationBucket",
526
+ # key_prefix: "DestinationKeyPrefix",
527
+ # },
528
+ # file_format: "Csv", # accepts Csv
529
+ # include_member_accounts: false,
530
+ # }
531
+ #
532
+ # @!attribute [rw] account_ids
533
+ # The IDs of the AWS accounts for which to export Amazon EBS volume
534
+ # recommendations.
535
+ #
536
+ # If your account is the management account of an organization, use
537
+ # this parameter to specify the member account for which you want to
538
+ # export recommendations.
539
+ #
540
+ # This parameter cannot be specified together with the include member
541
+ # accounts parameter. The parameters are mutually exclusive.
542
+ #
543
+ # Recommendations for member accounts are not included in the export
544
+ # if this parameter, or the include member accounts parameter, is
545
+ # omitted.
546
+ #
547
+ # You can specify multiple account IDs per request.
548
+ # @return [Array<String>]
549
+ #
550
+ # @!attribute [rw] filters
551
+ # An array of objects that describe a filter to export a more specific
552
+ # set of Amazon EBS volume recommendations.
553
+ # @return [Array<Types::EBSFilter>]
554
+ #
555
+ # @!attribute [rw] fields_to_export
556
+ # The recommendations data to include in the export file. For more
557
+ # information about the fields that can be exported, see [Exported
558
+ # files][1] in the *Compute Optimizer User Guide*.
559
+ #
560
+ #
561
+ #
562
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files
563
+ # @return [Array<String>]
564
+ #
565
+ # @!attribute [rw] s3_destination_config
566
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
567
+ # bucket name and key prefix for a recommendations export job.
568
+ #
569
+ # You must create the destination Amazon S3 bucket for your
570
+ # recommendations export before you create the export job. Compute
571
+ # Optimizer does not create the S3 bucket for you. After you create
572
+ # the S3 bucket, ensure that it has the required permission policy to
573
+ # allow Compute Optimizer to write the export file to it. If you plan
574
+ # to specify an object prefix when you create the export job, you must
575
+ # include the object prefix in the policy that you add to the S3
576
+ # bucket. For more information, see [Amazon S3 Bucket Policy for
577
+ # Compute Optimizer][1] in the *Compute Optimizer user guide*.
578
+ #
579
+ #
580
+ #
581
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
582
+ # @return [Types::S3DestinationConfig]
583
+ #
584
+ # @!attribute [rw] file_format
585
+ # The format of the export file.
586
+ #
587
+ # The only export file format currently supported is `Csv`.
588
+ # @return [String]
589
+ #
590
+ # @!attribute [rw] include_member_accounts
591
+ # Indicates whether to include recommendations for resources in all
592
+ # member accounts of the organization if your account is the
593
+ # management account of an organization.
594
+ #
595
+ # The member accounts must also be opted in to Compute Optimizer, and
596
+ # trusted access for Compute Optimizer must be enabled in the
597
+ # organization account. For more information, see [Compute Optimizer
598
+ # and AWS Organizations trusted access][1] in the *AWS Compute
599
+ # Optimizer User Guide*.
600
+ #
601
+ # Recommendations for member accounts of the organization are not
602
+ # included in the export file if this parameter is omitted.
603
+ #
604
+ # This parameter cannot be specified together with the account IDs
605
+ # parameter. The parameters are mutually exclusive.
606
+ #
607
+ # Recommendations for member accounts are not included in the export
608
+ # if this parameter, or the account IDs parameter, is omitted.
609
+ #
610
+ #
611
+ #
612
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
613
+ # @return [Boolean]
614
+ #
615
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEBSVolumeRecommendationsRequest AWS API Documentation
616
+ #
617
+ class ExportEBSVolumeRecommendationsRequest < Struct.new(
618
+ :account_ids,
619
+ :filters,
620
+ :fields_to_export,
621
+ :s3_destination_config,
622
+ :file_format,
623
+ :include_member_accounts)
624
+ SENSITIVE = []
625
+ include Aws::Structure
626
+ end
627
+
628
+ # @!attribute [rw] job_id
629
+ # The identification number of the export job.
630
+ #
631
+ # Use the `DescribeRecommendationExportJobs` action, and specify the
632
+ # job ID to view the status of an export job.
633
+ # @return [String]
634
+ #
635
+ # @!attribute [rw] s3_destination
636
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
637
+ # bucket name and object keys of a recommendations export file, and
638
+ # its associated metadata file.
639
+ # @return [Types::S3Destination]
640
+ #
641
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEBSVolumeRecommendationsResponse AWS API Documentation
642
+ #
643
+ class ExportEBSVolumeRecommendationsResponse < Struct.new(
644
+ :job_id,
645
+ :s3_destination)
646
+ SENSITIVE = []
647
+ include Aws::Structure
648
+ end
649
+
497
650
  # @note When making an API call, you may pass ExportEC2InstanceRecommendationsRequest
498
651
  # data as a hash:
499
652
  #
@@ -519,7 +672,7 @@ module Aws::ComputeOptimizer
519
672
  # recommendations.
520
673
  #
521
674
  # If your account is the management account of an organization, use
522
- # this parameter to specify the member accounts for which you want to
675
+ # this parameter to specify the member account for which you want to
523
676
  # export recommendations.
524
677
  #
525
678
  # This parameter cannot be specified together with the include member
@@ -577,13 +730,21 @@ module Aws::ComputeOptimizer
577
730
  # member accounts of the organization if your account is the
578
731
  # management account of an organization.
579
732
  #
580
- # The member accounts must also be opted in to Compute Optimizer.
733
+ # The member accounts must also be opted in to Compute Optimizer, and
734
+ # trusted access for Compute Optimizer must be enabled in the
735
+ # organization account. For more information, see [Compute Optimizer
736
+ # and AWS Organizations trusted access][1] in the *AWS Compute
737
+ # Optimizer User Guide*.
581
738
  #
582
739
  # Recommendations for member accounts of the organization are not
583
740
  # included in the export file if this parameter is omitted.
584
741
  #
585
742
  # Recommendations for member accounts are not included in the export
586
743
  # if this parameter, or the account IDs parameter, is omitted.
744
+ #
745
+ #
746
+ #
747
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
587
748
  # @return [Boolean]
588
749
  #
589
750
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendationsRequest AWS API Documentation
@@ -620,6 +781,144 @@ module Aws::ComputeOptimizer
620
781
  include Aws::Structure
621
782
  end
622
783
 
784
+ # @note When making an API call, you may pass ExportLambdaFunctionRecommendationsRequest
785
+ # data as a hash:
786
+ #
787
+ # {
788
+ # account_ids: ["AccountId"],
789
+ # filters: [
790
+ # {
791
+ # name: "Finding", # accepts Finding, FindingReasonCode
792
+ # values: ["FilterValue"],
793
+ # },
794
+ # ],
795
+ # fields_to_export: ["AccountId"], # accepts AccountId, FunctionArn, FunctionVersion, Finding, FindingReasonCodes, NumberOfInvocations, UtilizationMetricsDurationMaximum, UtilizationMetricsDurationAverage, UtilizationMetricsMemoryMaximum, UtilizationMetricsMemoryAverage, LookbackPeriodInDays, CurrentConfigurationMemorySize, CurrentConfigurationTimeout, CurrentCostTotal, CurrentCostAverage, RecommendationOptionsConfigurationMemorySize, RecommendationOptionsCostLow, RecommendationOptionsCostHigh, RecommendationOptionsProjectedUtilizationMetricsDurationLowerBound, RecommendationOptionsProjectedUtilizationMetricsDurationUpperBound, RecommendationOptionsProjectedUtilizationMetricsDurationExpected, LastRefreshTimestamp
796
+ # s3_destination_config: { # required
797
+ # bucket: "DestinationBucket",
798
+ # key_prefix: "DestinationKeyPrefix",
799
+ # },
800
+ # file_format: "Csv", # accepts Csv
801
+ # include_member_accounts: false,
802
+ # }
803
+ #
804
+ # @!attribute [rw] account_ids
805
+ # The IDs of the AWS accounts for which to export Lambda function
806
+ # recommendations.
807
+ #
808
+ # If your account is the management account of an organization, use
809
+ # this parameter to specify the member account for which you want to
810
+ # export recommendations.
811
+ #
812
+ # This parameter cannot be specified together with the include member
813
+ # accounts parameter. The parameters are mutually exclusive.
814
+ #
815
+ # Recommendations for member accounts are not included in the export
816
+ # if this parameter, or the include member accounts parameter, is
817
+ # omitted.
818
+ #
819
+ # You can specify multiple account IDs per request.
820
+ # @return [Array<String>]
821
+ #
822
+ # @!attribute [rw] filters
823
+ # An array of objects that describe a filter to export a more specific
824
+ # set of Lambda function recommendations.
825
+ # @return [Array<Types::LambdaFunctionRecommendationFilter>]
826
+ #
827
+ # @!attribute [rw] fields_to_export
828
+ # The recommendations data to include in the export file. For more
829
+ # information about the fields that can be exported, see [Exported
830
+ # files][1] in the *Compute Optimizer User Guide*.
831
+ #
832
+ #
833
+ #
834
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files
835
+ # @return [Array<String>]
836
+ #
837
+ # @!attribute [rw] s3_destination_config
838
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
839
+ # bucket name and key prefix for a recommendations export job.
840
+ #
841
+ # You must create the destination Amazon S3 bucket for your
842
+ # recommendations export before you create the export job. Compute
843
+ # Optimizer does not create the S3 bucket for you. After you create
844
+ # the S3 bucket, ensure that it has the required permission policy to
845
+ # allow Compute Optimizer to write the export file to it. If you plan
846
+ # to specify an object prefix when you create the export job, you must
847
+ # include the object prefix in the policy that you add to the S3
848
+ # bucket. For more information, see [Amazon S3 Bucket Policy for
849
+ # Compute Optimizer][1] in the *Compute Optimizer user guide*.
850
+ #
851
+ #
852
+ #
853
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
854
+ # @return [Types::S3DestinationConfig]
855
+ #
856
+ # @!attribute [rw] file_format
857
+ # The format of the export file.
858
+ #
859
+ # The only export file format currently supported is `Csv`.
860
+ # @return [String]
861
+ #
862
+ # @!attribute [rw] include_member_accounts
863
+ # Indicates whether to include recommendations for resources in all
864
+ # member accounts of the organization if your account is the
865
+ # management account of an organization.
866
+ #
867
+ # The member accounts must also be opted in to Compute Optimizer, and
868
+ # trusted access for Compute Optimizer must be enabled in the
869
+ # organization account. For more information, see [Compute Optimizer
870
+ # and AWS Organizations trusted access][1] in the *AWS Compute
871
+ # Optimizer User Guide*.
872
+ #
873
+ # Recommendations for member accounts of the organization are not
874
+ # included in the export file if this parameter is omitted.
875
+ #
876
+ # This parameter cannot be specified together with the account IDs
877
+ # parameter. The parameters are mutually exclusive.
878
+ #
879
+ # Recommendations for member accounts are not included in the export
880
+ # if this parameter, or the account IDs parameter, is omitted.
881
+ #
882
+ #
883
+ #
884
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
885
+ # @return [Boolean]
886
+ #
887
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportLambdaFunctionRecommendationsRequest AWS API Documentation
888
+ #
889
+ class ExportLambdaFunctionRecommendationsRequest < Struct.new(
890
+ :account_ids,
891
+ :filters,
892
+ :fields_to_export,
893
+ :s3_destination_config,
894
+ :file_format,
895
+ :include_member_accounts)
896
+ SENSITIVE = []
897
+ include Aws::Structure
898
+ end
899
+
900
+ # @!attribute [rw] job_id
901
+ # The identification number of the export job.
902
+ #
903
+ # Use the `DescribeRecommendationExportJobs` action, and specify the
904
+ # job ID to view the status of an export job.
905
+ # @return [String]
906
+ #
907
+ # @!attribute [rw] s3_destination
908
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
909
+ # bucket name and object keys of a recommendations export file, and
910
+ # its associated metadata file.
911
+ # @return [Types::S3Destination]
912
+ #
913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportLambdaFunctionRecommendationsResponse AWS API Documentation
914
+ #
915
+ class ExportLambdaFunctionRecommendationsResponse < Struct.new(
916
+ :job_id,
917
+ :s3_destination)
918
+ SENSITIVE = []
919
+ include Aws::Structure
920
+ end
921
+
623
922
  # Describes a filter that returns a more specific list of
624
923
  # recommendations.
625
924
  #
@@ -689,11 +988,11 @@ module Aws::ComputeOptimizer
689
988
  # }
690
989
  #
691
990
  # @!attribute [rw] account_ids
692
- # The IDs of the AWS accounts for which to return Auto Scaling group
991
+ # The ID of the AWS account for which to return Auto Scaling group
693
992
  # recommendations.
694
993
  #
695
994
  # If your account is the management account of an organization, use
696
- # this parameter to specify the member accounts for which you want to
995
+ # this parameter to specify the member account for which you want to
697
996
  # return Auto Scaling group recommendations.
698
997
  #
699
998
  # Only one account ID can be specified per request.
@@ -803,11 +1102,11 @@ module Aws::ComputeOptimizer
803
1102
  # @return [Array<Types::EBSFilter>]
804
1103
  #
805
1104
  # @!attribute [rw] account_ids
806
- # The IDs of the AWS accounts for which to return volume
1105
+ # The ID of the AWS account for which to return volume
807
1106
  # recommendations.
808
1107
  #
809
1108
  # If your account is the management account of an organization, use
810
- # this parameter to specify the member accounts for which you want to
1109
+ # this parameter to specify the member account for which you want to
811
1110
  # return volume recommendations.
812
1111
  #
813
1112
  # Only one account ID can be specified per request.
@@ -893,11 +1192,11 @@ module Aws::ComputeOptimizer
893
1192
  # @return [Array<Types::Filter>]
894
1193
  #
895
1194
  # @!attribute [rw] account_ids
896
- # The IDs of the AWS accounts for which to return instance
1195
+ # The ID of the AWS account for which to return instance
897
1196
  # recommendations.
898
1197
  #
899
1198
  # If your account is the management account of an organization, use
900
- # this parameter to specify the member accounts for which you want to
1199
+ # this parameter to specify the member account for which you want to
901
1200
  # return instance recommendations.
902
1201
  #
903
1202
  # Only one account ID can be specified per request.
@@ -1069,11 +1368,11 @@ module Aws::ComputeOptimizer
1069
1368
  # @return [Array<String>]
1070
1369
  #
1071
1370
  # @!attribute [rw] account_ids
1072
- # The IDs of the AWS accounts for which to return function
1371
+ # The ID of the AWS account for which to return function
1073
1372
  # recommendations.
1074
1373
  #
1075
1374
  # If your account is the management account of an organization, use
1076
- # this parameter to specify the member accounts for which you want to
1375
+ # this parameter to specify the member account for which you want to
1077
1376
  # return function recommendations.
1078
1377
  #
1079
1378
  # Only one account ID can be specified per request.
@@ -1167,11 +1466,11 @@ module Aws::ComputeOptimizer
1167
1466
  # }
1168
1467
  #
1169
1468
  # @!attribute [rw] account_ids
1170
- # The IDs of the AWS accounts for which to return recommendation
1469
+ # The ID of the AWS account for which to return recommendation
1171
1470
  # summaries.
1172
1471
  #
1173
1472
  # If your account is the management account of an organization, use
1174
- # this parameter to specify the member accounts for which you want to
1473
+ # this parameter to specify the member account for which you want to
1175
1474
  # return recommendation summaries.
1176
1475
  #
1177
1476
  # Only one account ID can be specified per request.
@@ -1587,7 +1886,8 @@ module Aws::ComputeOptimizer
1587
1886
  # classification.
1588
1887
  #
1589
1888
  # * <b> <code>Inconclusive</code> </b> — The function does not qualify
1590
- # for a recommendation, or there was an internal error. This finding
1889
+ # for a recommendation because Compute Optimizer cannot generate a
1890
+ # recommendation with a high degree of confidence. This finding
1591
1891
  # reason code is part of the `Unavailable` finding classification.
1592
1892
  #
1593
1893
  #
@@ -1666,10 +1966,34 @@ module Aws::ComputeOptimizer
1666
1966
  #
1667
1967
  # @!attribute [rw] name
1668
1968
  # The name of the utilization metric.
1969
+ #
1970
+ # The following utilization metrics are available:
1971
+ #
1972
+ # * `Duration` - The amount of time that your function code spends
1973
+ # processing an event.
1974
+ #
1975
+ # * `Memory` - The amount of memory used per invocation.
1669
1976
  # @return [String]
1670
1977
  #
1671
1978
  # @!attribute [rw] statistic
1672
1979
  # The statistic of the utilization metric.
1980
+ #
1981
+ # The Compute Optimizer API, AWS Command Line Interface (AWS CLI), and
1982
+ # SDKs return utilization metrics using only the `Maximum` statistic,
1983
+ # which is the highest value observed during the specified period.
1984
+ #
1985
+ # The Compute Optimizer console displays graphs for some utilization
1986
+ # metrics using the `Average` statistic, which is the value of `Sum` /
1987
+ # `SampleCount` during the specified period. For more information, see
1988
+ # [Viewing resource recommendations][1] in the *AWS Compute Optimizer
1989
+ # User Guide*. You can also get averaged utilization metric data for
1990
+ # your resources using Amazon CloudWatch. For more information, see
1991
+ # the [Amazon CloudWatch User Guide][2].
1992
+ #
1993
+ #
1994
+ #
1995
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html
1996
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html
1673
1997
  # @return [String]
1674
1998
  #
1675
1999
  # @!attribute [rw] value
@@ -2109,13 +2433,32 @@ module Aws::ComputeOptimizer
2109
2433
  # @!attribute [rw] status
2110
2434
  # The new enrollment status of the account.
2111
2435
  #
2112
- # Accepted options are `Active` or `Inactive`. You will get an error
2113
- # if `Pending` or `Failed` are specified.
2436
+ # The following status options are available:
2437
+ #
2438
+ # * `Active` - Opts in your account to the Compute Optimizer service.
2439
+ # Compute Optimizer begins analyzing the configuration and
2440
+ # utilization metrics of your AWS resources after you opt in. For
2441
+ # more information, see [Metrics analyzed by AWS Compute
2442
+ # Optimizer][1] in the *AWS Compute Optimizer User Guide*.
2443
+ #
2444
+ # * `Inactive` - Opts out your account from the Compute Optimizer
2445
+ # service. Your account's recommendations and related metrics data
2446
+ # will be deleted from Compute Optimizer after you opt out.
2447
+ #
2448
+ # <note markdown="1"> The `Pending` and `Failed` options cannot be used to update the
2449
+ # enrollment status of an account. They are returned in the response
2450
+ # of a request to update the enrollment status of an account.
2451
+ #
2452
+ # </note>
2453
+ #
2454
+ #
2455
+ #
2456
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html
2114
2457
  # @return [String]
2115
2458
  #
2116
2459
  # @!attribute [rw] include_member_accounts
2117
2460
  # Indicates whether to enroll member accounts of the organization if
2118
- # the your account is the management account of an organization.
2461
+ # the account is the management account of an organization.
2119
2462
  # @return [Boolean]
2120
2463
  #
2121
2464
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UpdateEnrollmentStatusRequest AWS API Documentation
@@ -2210,15 +2553,22 @@ module Aws::ComputeOptimizer
2210
2553
  # @!attribute [rw] statistic
2211
2554
  # The statistic of the utilization metric.
2212
2555
  #
2213
- # The following statistics are available:
2556
+ # The Compute Optimizer API, AWS Command Line Interface (AWS CLI), and
2557
+ # SDKs return utilization metrics using only the `Maximum` statistic,
2558
+ # which is the highest value observed during the specified period.
2559
+ #
2560
+ # The Compute Optimizer console displays graphs for some utilization
2561
+ # metrics using the `Average` statistic, which is the value of `Sum` /
2562
+ # `SampleCount` during the specified period. For more information, see
2563
+ # [Viewing resource recommendations][1] in the *AWS Compute Optimizer
2564
+ # User Guide*. You can also get averaged utilization metric data for
2565
+ # your resources using Amazon CloudWatch. For more information, see
2566
+ # the [Amazon CloudWatch User Guide][2].
2567
+ #
2214
2568
  #
2215
- # * `Average` - This is the value of Sum / SampleCount during the
2216
- # specified period, or the average value observed during the
2217
- # specified period.
2218
2569
  #
2219
- # * `Maximum` - The highest value observed during the specified
2220
- # period. Use this value to determine high volumes of activity for
2221
- # your application.
2570
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html
2571
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html
2222
2572
  # @return [String]
2223
2573
  #
2224
2574
  # @!attribute [rw] value