lib/aws-sdk-computeoptimizer/client.rb in aws-sdk-computeoptimizer-1.70.0 vs lib/aws-sdk-computeoptimizer/client.rb in aws-sdk-computeoptimizer-1.71.0
- old
+ new
@@ -492,11 +492,11 @@
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
# @example Request syntax with placeholder values
#
# resp = client.delete_recommendation_preferences({
- # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService, License, RdsDBInstance
+ # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService, License, RdsDBInstance, Idle
# scope: {
# name: "Organization", # accepts Organization, AccountId, ResourceArn
# value: "ScopeValue",
# },
# recommendation_preference_names: ["EnhancedInfrastructureMetrics"], # required, accepts EnhancedInfrastructureMetrics, InferredWorkloadTypes, ExternalMetricsPreference, LookBackPeriodPreference, PreferredResources, UtilizationPreferences
@@ -567,11 +567,11 @@
# resp.recommendation_export_jobs #=> Array
# resp.recommendation_export_jobs[0].job_id #=> String
# resp.recommendation_export_jobs[0].destination.s3.bucket #=> String
# resp.recommendation_export_jobs[0].destination.s3.key #=> String
# resp.recommendation_export_jobs[0].destination.s3.metadata_key #=> String
- # resp.recommendation_export_jobs[0].resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "NotApplicable", "EcsService", "License", "RdsDBInstance"
+ # resp.recommendation_export_jobs[0].resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "NotApplicable", "EcsService", "License", "RdsDBInstance", "Idle"
# resp.recommendation_export_jobs[0].status #=> String, one of "Queued", "InProgress", "Complete", "Failed"
# resp.recommendation_export_jobs[0].creation_timestamp #=> Time
# resp.recommendation_export_jobs[0].last_updated_timestamp #=> Time
# resp.recommendation_export_jobs[0].failure_reason #=> String
# resp.next_token #=> String
@@ -1117,10 +1117,139 @@
def export_ecs_service_recommendations(params = {}, options = {})
req = build_request(:export_ecs_service_recommendations, params)
req.send_request(options)
end
+ # Export optimization recommendations for your idle resources.
+ #
+ # Recommendations are exported in a comma-separated values (CSV) file,
+ # and its metadata in a JavaScript Object Notation (JSON) file, to an
+ # existing Amazon Simple Storage Service (Amazon S3) bucket that you
+ # specify. For more information, see [Exporting Recommendations][1] in
+ # the *Compute Optimizer User Guide*.
+ #
+ # You can have only one idle resource export job in progress per Amazon
+ # Web Services Region.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html
+ #
+ # @option params [Array<String>] :account_ids
+ # The Amazon Web Services account IDs for the export idle resource
+ # recommendations.
+ #
+ # If your account is the management account or the delegated
+ # administrator of an organization, use this parameter to specify the
+ # member account you want to export recommendations to.
+ #
+ # This parameter can't be specified together with the include member
+ # accounts parameter. The parameters are mutually exclusive.
+ #
+ # If this parameter or the include member accounts parameter is omitted,
+ # the recommendations for member accounts aren't included in the
+ # export.
+ #
+ # You can specify multiple account IDs per request.
+ #
+ # @option params [Array<Types::IdleRecommendationFilter>] :filters
+ # An array of objects to specify a filter that exports a more specific
+ # set of idle resource recommendations.
+ #
+ # @option params [Array<String>] :fields_to_export
+ # The recommendations data to include in the export file. For more
+ # information about the fields that can be exported, see [Exported
+ # files][1] in the *Compute Optimizer User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files
+ #
+ # @option params [required, Types::S3DestinationConfig] :s3_destination_config
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
+ # bucket name and key prefix for a recommendations export job.
+ #
+ # You must create the destination Amazon S3 bucket for your
+ # recommendations export before you create the export job. Compute
+ # Optimizer does not create the S3 bucket for you. After you create the
+ # S3 bucket, ensure that it has the required permission policy to allow
+ # Compute Optimizer to write the export file to it. If you plan to
+ # specify an object prefix when you create the export job, you must
+ # include the object prefix in the policy that you add to the S3 bucket.
+ # For more information, see [Amazon S3 Bucket Policy for Compute
+ # Optimizer][1] in the *Compute Optimizer User Guide*.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
+ #
+ # @option params [String] :file_format
+ # The format of the export file. The CSV file is the only export file
+ # format currently supported.
+ #
+ # @option params [Boolean] :include_member_accounts
+ # If your account is the management account or the delegated
+ # administrator of an organization, this parameter indicates whether to
+ # include recommendations for resources in all member accounts of the
+ # organization.
+ #
+ # The member accounts must also be opted in to Compute Optimizer, and
+ # trusted access for Compute Optimizer must be enabled in the
+ # organization account. For more information, see [Compute Optimizer and
+ # Amazon Web Services Organizations trusted access][1] in the *Compute
+ # Optimizer User Guide*.
+ #
+ # If this parameter is omitted, recommendations for member accounts of
+ # the organization aren't included in the export file.
+ #
+ # If this parameter or the account ID parameter is omitted,
+ # recommendations for member accounts aren't included in the export.
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
+ #
+ # @return [Types::ExportIdleRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::ExportIdleRecommendationsResponse#job_id #job_id} => String
+ # * {Types::ExportIdleRecommendationsResponse#s3_destination #s3_destination} => Types::S3Destination
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.export_idle_recommendations({
+ # account_ids: ["AccountId"],
+ # filters: [
+ # {
+ # name: "Finding", # accepts Finding, ResourceType
+ # values: ["FilterValue"],
+ # },
+ # ],
+ # fields_to_export: ["AccountId"], # accepts AccountId, ResourceArn, ResourceId, ResourceType, LastRefreshTimestamp, LookbackPeriodInDays, SavingsOpportunity, SavingsOpportunityAfterDiscount, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsNetworkOutBytesPerSecondMaximum, UtilizationMetricsNetworkInBytesPerSecondMaximum, UtilizationMetricsDatabaseConnectionsMaximum, UtilizationMetricsEBSVolumeReadIOPSMaximum, UtilizationMetricsEBSVolumeWriteIOPSMaximum, UtilizationMetricsVolumeReadOpsPerSecondMaximum, UtilizationMetricsVolumeWriteOpsPerSecondMaximum, Finding, FindingDescription, Tags
+ # s3_destination_config: { # required
+ # bucket: "DestinationBucket",
+ # key_prefix: "DestinationKeyPrefix",
+ # },
+ # file_format: "Csv", # accepts Csv
+ # include_member_accounts: false,
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.job_id #=> String
+ # resp.s3_destination.bucket #=> String
+ # resp.s3_destination.key #=> String
+ # resp.s3_destination.metadata_key #=> String
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportIdleRecommendations AWS API Documentation
+ #
+ # @overload export_idle_recommendations(params = {})
+ # @param [Hash] params ({})
+ def export_idle_recommendations(params = {}, options = {})
+ req = build_request(:export_idle_recommendations, params)
+ req.send_request(options)
+ end
+
# Exports optimization recommendations for Lambda functions.
#
# Recommendations are exported in a comma-separated values (.csv) file,
# and its metadata in a JavaScript Object Notation (JSON) (.json) file,
# to an existing Amazon Simple Storage Service (Amazon S3) bucket that
@@ -1488,11 +1617,11 @@
# {
# name: "InstanceFinding", # accepts InstanceFinding, InstanceFindingReasonCode, StorageFinding, StorageFindingReasonCode, Idle
# values: ["FilterValue"],
# },
# ],
- # fields_to_export: ["ResourceArn"], # accepts ResourceArn, AccountId, Engine, EngineVersion, Idle, MultiAZDBInstance, CurrentDBInstanceClass, CurrentStorageConfigurationStorageType, CurrentStorageConfigurationAllocatedStorage, CurrentStorageConfigurationMaxAllocatedStorage, CurrentStorageConfigurationIOPS, CurrentStorageConfigurationStorageThroughput, CurrentInstanceOnDemandHourlyPrice, CurrentStorageOnDemandMonthlyPrice, LookbackPeriodInDays, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEBSVolumeStorageSpaceUtilizationMaximum, UtilizationMetricsNetworkReceiveThroughputMaximum, UtilizationMetricsNetworkTransmitThroughputMaximum, UtilizationMetricsEBSVolumeReadIOPSMaximum, UtilizationMetricsEBSVolumeWriteIOPSMaximum, UtilizationMetricsEBSVolumeReadThroughputMaximum, UtilizationMetricsEBSVolumeWriteThroughputMaximum, UtilizationMetricsDatabaseConnectionsMaximum, InstanceFinding, InstanceFindingReasonCodes, StorageFinding, StorageFindingReasonCodes, InstanceRecommendationOptionsDBInstanceClass, InstanceRecommendationOptionsRank, InstanceRecommendationOptionsPerformanceRisk, InstanceRecommendationOptionsProjectedUtilizationMetricsCpuMaximum, StorageRecommendationOptionsStorageType, StorageRecommendationOptionsAllocatedStorage, StorageRecommendationOptionsMaxAllocatedStorage, StorageRecommendationOptionsIOPS, StorageRecommendationOptionsStorageThroughput, StorageRecommendationOptionsRank, InstanceRecommendationOptionsInstanceOnDemandHourlyPrice, InstanceRecommendationOptionsSavingsOpportunityPercentage, InstanceRecommendationOptionsEstimatedMonthlySavingsCurrency, InstanceRecommendationOptionsEstimatedMonthlySavingsValue, InstanceRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage, InstanceRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts, InstanceRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts, StorageRecommendationOptionsOnDemandMonthlyPrice, StorageRecommendationOptionsSavingsOpportunityPercentage, StorageRecommendationOptionsEstimatedMonthlySavingsCurrency, StorageRecommendationOptionsEstimatedMonthlySavingsValue, StorageRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage, StorageRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts, StorageRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts, EffectiveRecommendationPreferencesCpuVendorArchitectures, EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics, EffectiveRecommendationPreferencesLookBackPeriod, EffectiveRecommendationPreferencesSavingsEstimationMode, LastRefreshTimestamp, Tags
+ # fields_to_export: ["ResourceArn"], # accepts ResourceArn, AccountId, Engine, EngineVersion, Idle, MultiAZDBInstance, CurrentDBInstanceClass, CurrentStorageConfigurationStorageType, CurrentStorageConfigurationAllocatedStorage, CurrentStorageConfigurationMaxAllocatedStorage, CurrentStorageConfigurationIOPS, CurrentStorageConfigurationStorageThroughput, CurrentInstanceOnDemandHourlyPrice, CurrentStorageOnDemandMonthlyPrice, LookbackPeriodInDays, CurrentInstancePerformanceRisk, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEBSVolumeStorageSpaceUtilizationMaximum, UtilizationMetricsNetworkReceiveThroughputMaximum, UtilizationMetricsNetworkTransmitThroughputMaximum, UtilizationMetricsEBSVolumeReadIOPSMaximum, UtilizationMetricsEBSVolumeWriteIOPSMaximum, UtilizationMetricsEBSVolumeReadThroughputMaximum, UtilizationMetricsEBSVolumeWriteThroughputMaximum, UtilizationMetricsDatabaseConnectionsMaximum, UtilizationMetricsStorageNetworkReceiveThroughputMaximum, UtilizationMetricsStorageNetworkTransmitThroughputMaximum, UtilizationMetricsAuroraMemoryHealthStateMaximum, UtilizationMetricsAuroraMemoryNumDeclinedSqlTotalMaximum, UtilizationMetricsAuroraMemoryNumKillConnTotalMaximum, UtilizationMetricsAuroraMemoryNumKillQueryTotalMaximum, UtilizationMetricsReadIOPSEphemeralStorageMaximum, UtilizationMetricsWriteIOPSEphemeralStorageMaximum, InstanceFinding, InstanceFindingReasonCodes, StorageFinding, StorageFindingReasonCodes, InstanceRecommendationOptionsDBInstanceClass, InstanceRecommendationOptionsRank, InstanceRecommendationOptionsPerformanceRisk, InstanceRecommendationOptionsProjectedUtilizationMetricsCpuMaximum, StorageRecommendationOptionsStorageType, StorageRecommendationOptionsAllocatedStorage, StorageRecommendationOptionsMaxAllocatedStorage, StorageRecommendationOptionsIOPS, StorageRecommendationOptionsStorageThroughput, StorageRecommendationOptionsRank, InstanceRecommendationOptionsInstanceOnDemandHourlyPrice, InstanceRecommendationOptionsSavingsOpportunityPercentage, InstanceRecommendationOptionsEstimatedMonthlySavingsCurrency, InstanceRecommendationOptionsEstimatedMonthlySavingsValue, InstanceRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage, InstanceRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts, InstanceRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts, StorageRecommendationOptionsOnDemandMonthlyPrice, StorageRecommendationOptionsSavingsOpportunityPercentage, StorageRecommendationOptionsEstimatedMonthlySavingsCurrency, StorageRecommendationOptionsEstimatedMonthlySavingsValue, StorageRecommendationOptionsSavingsOpportunityAfterDiscountsPercentage, StorageRecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts, StorageRecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts, EffectiveRecommendationPreferencesCpuVendorArchitectures, EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics, EffectiveRecommendationPreferencesLookBackPeriod, EffectiveRecommendationPreferencesSavingsEstimationMode, LastRefreshTimestamp, Tags, DBClusterIdentifier, PromotionTier
# s3_destination_config: { # required
# bucket: "DestinationBucket",
# key_prefix: "DestinationKeyPrefix",
# },
# file_format: "Csv", # accepts Csv
@@ -2338,10 +2467,115 @@
def get_enrollment_statuses_for_organization(params = {}, options = {})
req = build_request(:get_enrollment_statuses_for_organization, params)
req.send_request(options)
end
+ # Returns idle resource recommendations. Compute Optimizer generates
+ # recommendations for idle resources that meet a specific set of
+ # requirements. For more information, see [Resource requirements][1] in
+ # the *Compute Optimizer User Guide*
+ #
+ #
+ #
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html
+ #
+ # @option params [Array<String>] :resource_arns
+ # The ARN that identifies the idle resource.
+ #
+ # @option params [String] :next_token
+ # The token to advance to the next page of idle resource
+ # recommendations.
+ #
+ # @option params [Integer] :max_results
+ # The maximum number of idle resource recommendations to return with a
+ # single request.
+ #
+ # To retrieve the remaining results, make another request with the
+ # returned `nextToken` value.
+ #
+ # @option params [Array<Types::IdleRecommendationFilter>] :filters
+ # An array of objects to specify a filter that returns a more specific
+ # list of idle resource recommendations.
+ #
+ # @option params [Array<String>] :account_ids
+ # Return the idle resource recommendations to the specified Amazon Web
+ # Services account IDs.
+ #
+ # If your account is the management account or the delegated
+ # administrator of an organization, use this parameter to return the
+ # idle resource recommendations to specific member accounts.
+ #
+ # You can only specify one account ID per request.
+ #
+ # @option params [Types::OrderBy] :order_by
+ # The order to sort the idle resource recommendations.
+ #
+ # @return [Types::GetIdleRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::GetIdleRecommendationsResponse#next_token #next_token} => String
+ # * {Types::GetIdleRecommendationsResponse#idle_recommendations #idle_recommendations} => Array<Types::IdleRecommendation>
+ # * {Types::GetIdleRecommendationsResponse#errors #errors} => Array<Types::IdleRecommendationError>
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.get_idle_recommendations({
+ # resource_arns: ["ResourceArn"],
+ # next_token: "NextToken",
+ # max_results: 1,
+ # filters: [
+ # {
+ # name: "Finding", # accepts Finding, ResourceType
+ # values: ["FilterValue"],
+ # },
+ # ],
+ # account_ids: ["AccountId"],
+ # order_by: {
+ # dimension: "SavingsValue", # accepts SavingsValue, SavingsValueAfterDiscount
+ # order: "Asc", # accepts Asc, Desc
+ # },
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.next_token #=> String
+ # resp.idle_recommendations #=> Array
+ # resp.idle_recommendations[0].resource_arn #=> String
+ # resp.idle_recommendations[0].resource_id #=> String
+ # resp.idle_recommendations[0].resource_type #=> String, one of "EC2Instance", "AutoScalingGroup", "EBSVolume", "ECSService", "RDSDBInstance"
+ # resp.idle_recommendations[0].account_id #=> String
+ # resp.idle_recommendations[0].finding #=> String, one of "Idle", "Unattached"
+ # resp.idle_recommendations[0].finding_description #=> String
+ # resp.idle_recommendations[0].savings_opportunity.savings_opportunity_percentage #=> Float
+ # resp.idle_recommendations[0].savings_opportunity.estimated_monthly_savings.currency #=> String, one of "USD", "CNY"
+ # resp.idle_recommendations[0].savings_opportunity.estimated_monthly_savings.value #=> Float
+ # resp.idle_recommendations[0].savings_opportunity_after_discounts.savings_opportunity_percentage #=> Float
+ # resp.idle_recommendations[0].savings_opportunity_after_discounts.estimated_monthly_savings.currency #=> String, one of "USD", "CNY"
+ # resp.idle_recommendations[0].savings_opportunity_after_discounts.estimated_monthly_savings.value #=> Float
+ # resp.idle_recommendations[0].utilization_metrics #=> Array
+ # resp.idle_recommendations[0].utilization_metrics[0].name #=> String, one of "CPU", "Memory", "NetworkOutBytesPerSecond", "NetworkInBytesPerSecond", "DatabaseConnections", "EBSVolumeReadIOPS", "EBSVolumeWriteIOPS", "VolumeReadOpsPerSecond", "VolumeWriteOpsPerSecond"
+ # resp.idle_recommendations[0].utilization_metrics[0].statistic #=> String, one of "Maximum", "Average"
+ # resp.idle_recommendations[0].utilization_metrics[0].value #=> Float
+ # resp.idle_recommendations[0].look_back_period_in_days #=> Float
+ # resp.idle_recommendations[0].last_refresh_timestamp #=> Time
+ # resp.idle_recommendations[0].tags #=> Array
+ # resp.idle_recommendations[0].tags[0].key #=> String
+ # resp.idle_recommendations[0].tags[0].value #=> String
+ # resp.errors #=> Array
+ # resp.errors[0].identifier #=> String
+ # resp.errors[0].code #=> String
+ # resp.errors[0].message #=> String
+ # resp.errors[0].resource_type #=> String, one of "EC2Instance", "AutoScalingGroup", "EBSVolume", "ECSService", "RDSDBInstance"
+ #
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetIdleRecommendations AWS API Documentation
+ #
+ # @overload get_idle_recommendations(params = {})
+ # @param [Hash] params ({})
+ def get_idle_recommendations(params = {}, options = {})
+ req = build_request(:get_idle_recommendations, params)
+ req.send_request(options)
+ end
+
# Returns Lambda function recommendations.
#
# Compute Optimizer generates recommendations for functions that meet a
# specific set of requirements. For more information, see the [Supported
# resources and requirements][1] in the *Compute Optimizer User Guide*.
@@ -2615,11 +2849,11 @@
#
# resp.recommended_option_projected_metrics #=> Array
# resp.recommended_option_projected_metrics[0].recommended_db_instance_class #=> String
# resp.recommended_option_projected_metrics[0].rank #=> Integer
# resp.recommended_option_projected_metrics[0].projected_metrics #=> Array
- # resp.recommended_option_projected_metrics[0].projected_metrics[0].name #=> String, one of "CPU", "Memory", "EBSVolumeStorageSpaceUtilization", "NetworkReceiveThroughput", "NetworkTransmitThroughput", "EBSVolumeReadIOPS", "EBSVolumeWriteIOPS", "EBSVolumeReadThroughput", "EBSVolumeWriteThroughput", "DatabaseConnections"
+ # resp.recommended_option_projected_metrics[0].projected_metrics[0].name #=> String, one of "CPU", "Memory", "EBSVolumeStorageSpaceUtilization", "NetworkReceiveThroughput", "NetworkTransmitThroughput", "EBSVolumeReadIOPS", "EBSVolumeWriteIOPS", "EBSVolumeReadThroughput", "EBSVolumeWriteThroughput", "DatabaseConnections", "StorageNetworkReceiveThroughput", "StorageNetworkTransmitThroughput", "AuroraMemoryHealthState", "AuroraMemoryNumDeclinedSql", "AuroraMemoryNumKillConnTotal", "AuroraMemoryNumKillQueryTotal", "ReadIOPSEphemeralStorage", "WriteIOPSEphemeralStorage"
# resp.recommended_option_projected_metrics[0].projected_metrics[0].timestamps #=> Array
# resp.recommended_option_projected_metrics[0].projected_metrics[0].timestamps[0] #=> Time
# resp.recommended_option_projected_metrics[0].projected_metrics[0].values #=> Array
# resp.recommended_option_projected_metrics[0].projected_metrics[0].values[0] #=> Float
#
@@ -2713,27 +2947,30 @@
# resp.rds_db_recommendations #=> Array
# resp.rds_db_recommendations[0].resource_arn #=> String
# resp.rds_db_recommendations[0].account_id #=> String
# resp.rds_db_recommendations[0].engine #=> String
# resp.rds_db_recommendations[0].engine_version #=> String
+ # resp.rds_db_recommendations[0].promotion_tier #=> Integer
# resp.rds_db_recommendations[0].current_db_instance_class #=> String
# resp.rds_db_recommendations[0].current_storage_configuration.storage_type #=> String
# resp.rds_db_recommendations[0].current_storage_configuration.allocated_storage #=> Integer
# resp.rds_db_recommendations[0].current_storage_configuration.iops #=> Integer
# resp.rds_db_recommendations[0].current_storage_configuration.max_allocated_storage #=> Integer
# resp.rds_db_recommendations[0].current_storage_configuration.storage_throughput #=> Integer
+ # resp.rds_db_recommendations[0].db_cluster_identifier #=> String
# resp.rds_db_recommendations[0].idle #=> String, one of "True", "False"
# resp.rds_db_recommendations[0].instance_finding #=> String, one of "Optimized", "Underprovisioned", "Overprovisioned"
# resp.rds_db_recommendations[0].storage_finding #=> String, one of "Optimized", "Underprovisioned", "Overprovisioned"
# resp.rds_db_recommendations[0].instance_finding_reason_codes #=> Array
- # resp.rds_db_recommendations[0].instance_finding_reason_codes[0] #=> String, one of "CPUOverprovisioned", "NetworkBandwidthOverprovisioned", "EBSIOPSOverprovisioned", "EBSThroughputOverprovisioned", "CPUUnderprovisioned", "NetworkBandwidthUnderprovisioned", "EBSThroughputUnderprovisioned", "NewGenerationDBInstanceClassAvailable", "NewEngineVersionAvailable"
+ # resp.rds_db_recommendations[0].instance_finding_reason_codes[0] #=> String, one of "CPUOverprovisioned", "NetworkBandwidthOverprovisioned", "EBSIOPSOverprovisioned", "EBSIOPSUnderprovisioned", "EBSThroughputOverprovisioned", "CPUUnderprovisioned", "NetworkBandwidthUnderprovisioned", "EBSThroughputUnderprovisioned", "NewGenerationDBInstanceClassAvailable", "NewEngineVersionAvailable", "DBClusterWriterUnderprovisioned", "MemoryUnderprovisioned", "InstanceStorageReadIOPSUnderprovisioned", "InstanceStorageWriteIOPSUnderprovisioned"
+ # resp.rds_db_recommendations[0].current_instance_performance_risk #=> String, one of "VeryLow", "Low", "Medium", "High"
# resp.rds_db_recommendations[0].storage_finding_reason_codes #=> Array
# resp.rds_db_recommendations[0].storage_finding_reason_codes[0] #=> String, one of "EBSVolumeAllocatedStorageUnderprovisioned", "EBSVolumeThroughputUnderprovisioned", "EBSVolumeIOPSOverprovisioned", "EBSVolumeThroughputOverprovisioned", "NewGenerationStorageTypeAvailable"
# resp.rds_db_recommendations[0].instance_recommendation_options #=> Array
# resp.rds_db_recommendations[0].instance_recommendation_options[0].db_instance_class #=> String
# resp.rds_db_recommendations[0].instance_recommendation_options[0].projected_utilization_metrics #=> Array
- # resp.rds_db_recommendations[0].instance_recommendation_options[0].projected_utilization_metrics[0].name #=> String, one of "CPU", "Memory", "EBSVolumeStorageSpaceUtilization", "NetworkReceiveThroughput", "NetworkTransmitThroughput", "EBSVolumeReadIOPS", "EBSVolumeWriteIOPS", "EBSVolumeReadThroughput", "EBSVolumeWriteThroughput", "DatabaseConnections"
+ # resp.rds_db_recommendations[0].instance_recommendation_options[0].projected_utilization_metrics[0].name #=> String, one of "CPU", "Memory", "EBSVolumeStorageSpaceUtilization", "NetworkReceiveThroughput", "NetworkTransmitThroughput", "EBSVolumeReadIOPS", "EBSVolumeWriteIOPS", "EBSVolumeReadThroughput", "EBSVolumeWriteThroughput", "DatabaseConnections", "StorageNetworkReceiveThroughput", "StorageNetworkTransmitThroughput", "AuroraMemoryHealthState", "AuroraMemoryNumDeclinedSql", "AuroraMemoryNumKillConnTotal", "AuroraMemoryNumKillQueryTotal", "ReadIOPSEphemeralStorage", "WriteIOPSEphemeralStorage"
# resp.rds_db_recommendations[0].instance_recommendation_options[0].projected_utilization_metrics[0].statistic #=> String, one of "Maximum", "Minimum", "Average"
# resp.rds_db_recommendations[0].instance_recommendation_options[0].projected_utilization_metrics[0].value #=> Float
# resp.rds_db_recommendations[0].instance_recommendation_options[0].performance_risk #=> Float
# resp.rds_db_recommendations[0].instance_recommendation_options[0].rank #=> Integer
# resp.rds_db_recommendations[0].instance_recommendation_options[0].savings_opportunity.savings_opportunity_percentage #=> Float
@@ -2754,11 +2991,11 @@
# resp.rds_db_recommendations[0].storage_recommendation_options[0].savings_opportunity.estimated_monthly_savings.value #=> Float
# resp.rds_db_recommendations[0].storage_recommendation_options[0].savings_opportunity_after_discounts.savings_opportunity_percentage #=> Float
# resp.rds_db_recommendations[0].storage_recommendation_options[0].savings_opportunity_after_discounts.estimated_monthly_savings.currency #=> String, one of "USD", "CNY"
# resp.rds_db_recommendations[0].storage_recommendation_options[0].savings_opportunity_after_discounts.estimated_monthly_savings.value #=> Float
# resp.rds_db_recommendations[0].utilization_metrics #=> Array
- # resp.rds_db_recommendations[0].utilization_metrics[0].name #=> String, one of "CPU", "Memory", "EBSVolumeStorageSpaceUtilization", "NetworkReceiveThroughput", "NetworkTransmitThroughput", "EBSVolumeReadIOPS", "EBSVolumeWriteIOPS", "EBSVolumeReadThroughput", "EBSVolumeWriteThroughput", "DatabaseConnections"
+ # resp.rds_db_recommendations[0].utilization_metrics[0].name #=> String, one of "CPU", "Memory", "EBSVolumeStorageSpaceUtilization", "NetworkReceiveThroughput", "NetworkTransmitThroughput", "EBSVolumeReadIOPS", "EBSVolumeWriteIOPS", "EBSVolumeReadThroughput", "EBSVolumeWriteThroughput", "DatabaseConnections", "StorageNetworkReceiveThroughput", "StorageNetworkTransmitThroughput", "AuroraMemoryHealthState", "AuroraMemoryNumDeclinedSql", "AuroraMemoryNumKillConnTotal", "AuroraMemoryNumKillQueryTotal", "ReadIOPSEphemeralStorage", "WriteIOPSEphemeralStorage"
# resp.rds_db_recommendations[0].utilization_metrics[0].statistic #=> String, one of "Maximum", "Minimum", "Average"
# resp.rds_db_recommendations[0].utilization_metrics[0].value #=> Float
# resp.rds_db_recommendations[0].effective_recommendation_preferences.cpu_vendor_architectures #=> Array
# resp.rds_db_recommendations[0].effective_recommendation_preferences.cpu_vendor_architectures[0] #=> String, one of "AWS_ARM64", "CURRENT"
# resp.rds_db_recommendations[0].effective_recommendation_preferences.enhanced_infrastructure_metrics #=> String, one of "Active", "Inactive"
@@ -2839,11 +3076,11 @@
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
# @example Request syntax with placeholder values
#
# resp = client.get_recommendation_preferences({
- # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService, License, RdsDBInstance
+ # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService, License, RdsDBInstance, Idle
# scope: {
# name: "Organization", # accepts Organization, AccountId, ResourceArn
# value: "ScopeValue",
# },
# next_token: "NextToken",
@@ -2854,11 +3091,11 @@
#
# resp.next_token #=> String
# resp.recommendation_preferences_details #=> Array
# resp.recommendation_preferences_details[0].scope.name #=> String, one of "Organization", "AccountId", "ResourceArn"
# resp.recommendation_preferences_details[0].scope.value #=> String
- # resp.recommendation_preferences_details[0].resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "NotApplicable", "EcsService", "License", "RdsDBInstance"
+ # resp.recommendation_preferences_details[0].resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "NotApplicable", "EcsService", "License", "RdsDBInstance", "Idle"
# resp.recommendation_preferences_details[0].enhanced_infrastructure_metrics #=> String, one of "Active", "Inactive"
# resp.recommendation_preferences_details[0].inferred_workload_types #=> String, one of "Active", "Inactive"
# resp.recommendation_preferences_details[0].external_metrics_preference.source #=> String, one of "Datadog", "Dynatrace", "NewRelic", "Instana"
# resp.recommendation_preferences_details[0].look_back_period #=> String, one of "DAYS_14", "DAYS_32", "DAYS_93"
# resp.recommendation_preferences_details[0].utilization_preferences #=> Array
@@ -2946,15 +3183,24 @@
# resp.recommendation_summaries[0].summaries[0].name #=> String, one of "Underprovisioned", "Overprovisioned", "Optimized", "NotOptimized"
# resp.recommendation_summaries[0].summaries[0].value #=> Float
# resp.recommendation_summaries[0].summaries[0].reason_code_summaries #=> Array
# resp.recommendation_summaries[0].summaries[0].reason_code_summaries[0].name #=> String, one of "MemoryOverprovisioned", "MemoryUnderprovisioned"
# resp.recommendation_summaries[0].summaries[0].reason_code_summaries[0].value #=> Float
+ # resp.recommendation_summaries[0].idle_summaries #=> Array
+ # resp.recommendation_summaries[0].idle_summaries[0].name #=> String, one of "Idle", "Unattached"
+ # resp.recommendation_summaries[0].idle_summaries[0].value #=> Float
# resp.recommendation_summaries[0].recommendation_resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "EcsService", "License", "RdsDBInstance", "RdsDBInstanceStorage"
# resp.recommendation_summaries[0].account_id #=> String
# resp.recommendation_summaries[0].savings_opportunity.savings_opportunity_percentage #=> Float
# resp.recommendation_summaries[0].savings_opportunity.estimated_monthly_savings.currency #=> String, one of "USD", "CNY"
# resp.recommendation_summaries[0].savings_opportunity.estimated_monthly_savings.value #=> Float
+ # resp.recommendation_summaries[0].idle_savings_opportunity.savings_opportunity_percentage #=> Float
+ # resp.recommendation_summaries[0].idle_savings_opportunity.estimated_monthly_savings.currency #=> String, one of "USD", "CNY"
+ # resp.recommendation_summaries[0].idle_savings_opportunity.estimated_monthly_savings.value #=> Float
+ # resp.recommendation_summaries[0].aggregated_savings_opportunity.savings_opportunity_percentage #=> Float
+ # resp.recommendation_summaries[0].aggregated_savings_opportunity.estimated_monthly_savings.currency #=> String, one of "USD", "CNY"
+ # resp.recommendation_summaries[0].aggregated_savings_opportunity.estimated_monthly_savings.value #=> Float
# resp.recommendation_summaries[0].current_performance_risk_ratings.high #=> Integer
# resp.recommendation_summaries[0].current_performance_risk_ratings.medium #=> Integer
# resp.recommendation_summaries[0].current_performance_risk_ratings.low #=> Integer
# resp.recommendation_summaries[0].current_performance_risk_ratings.very_low #=> Integer
# resp.recommendation_summaries[0].inferred_workload_savings #=> Array
@@ -3138,11 +3384,11 @@
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
# @example Request syntax with placeholder values
#
# resp = client.put_recommendation_preferences({
- # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService, License, RdsDBInstance
+ # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService, License, RdsDBInstance, Idle
# scope: {
# name: "Organization", # accepts Organization, AccountId, ResourceArn
# value: "ScopeValue",
# },
# enhanced_infrastructure_metrics: "Active", # accepts Active, Inactive
@@ -3271,10 +3517,10 @@
params: params,
config: config,
tracer: tracer
)
context[:gem_name] = 'aws-sdk-computeoptimizer'
- context[:gem_version] = '1.70.0'
+ context[:gem_version] = '1.71.0'
Seahorse::Client::Request.new(handlers, context)
end
# @api private
# @deprecated