aws-sdk-computeoptimizer 1.12.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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