aws-sdk-computeoptimizer 1.52.0 → 1.54.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.
data/sig/types.rbs ADDED
@@ -0,0 +1,1028 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::ComputeOptimizer
9
+ module Types
10
+
11
+ class AccessDeniedException
12
+ attr_accessor message: ::String
13
+ SENSITIVE: []
14
+ end
15
+
16
+ class AccountEnrollmentStatus
17
+ attr_accessor account_id: ::String
18
+ attr_accessor status: ("Active" | "Inactive" | "Pending" | "Failed")
19
+ attr_accessor status_reason: ::String
20
+ attr_accessor last_updated_timestamp: ::Time
21
+ SENSITIVE: []
22
+ end
23
+
24
+ class AutoScalingGroupConfiguration
25
+ attr_accessor desired_capacity: ::Integer
26
+ attr_accessor min_size: ::Integer
27
+ attr_accessor max_size: ::Integer
28
+ attr_accessor instance_type: ::String
29
+ SENSITIVE: []
30
+ end
31
+
32
+ class AutoScalingGroupEstimatedMonthlySavings
33
+ attr_accessor currency: ("USD" | "CNY")
34
+ attr_accessor value: ::Float
35
+ SENSITIVE: []
36
+ end
37
+
38
+ class AutoScalingGroupRecommendation
39
+ attr_accessor account_id: ::String
40
+ attr_accessor auto_scaling_group_arn: ::String
41
+ attr_accessor auto_scaling_group_name: ::String
42
+ attr_accessor finding: ("Underprovisioned" | "Overprovisioned" | "Optimized" | "NotOptimized")
43
+ attr_accessor utilization_metrics: ::Array[Types::UtilizationMetric]
44
+ attr_accessor look_back_period_in_days: ::Float
45
+ attr_accessor current_configuration: Types::AutoScalingGroupConfiguration
46
+ attr_accessor recommendation_options: ::Array[Types::AutoScalingGroupRecommendationOption]
47
+ attr_accessor last_refresh_timestamp: ::Time
48
+ attr_accessor current_performance_risk: ("VeryLow" | "Low" | "Medium" | "High")
49
+ attr_accessor effective_recommendation_preferences: Types::EffectiveRecommendationPreferences
50
+ attr_accessor inferred_workload_types: ::Array[("AmazonEmr" | "ApacheCassandra" | "ApacheHadoop" | "Memcached" | "Nginx" | "PostgreSql" | "Redis" | "Kafka" | "SQLServer")]
51
+ attr_accessor current_instance_gpu_info: Types::GpuInfo
52
+ SENSITIVE: []
53
+ end
54
+
55
+ class AutoScalingGroupRecommendationOption
56
+ attr_accessor configuration: Types::AutoScalingGroupConfiguration
57
+ attr_accessor projected_utilization_metrics: ::Array[Types::UtilizationMetric]
58
+ attr_accessor performance_risk: ::Float
59
+ attr_accessor rank: ::Integer
60
+ attr_accessor savings_opportunity: Types::SavingsOpportunity
61
+ attr_accessor migration_effort: ("VeryLow" | "Low" | "Medium" | "High")
62
+ attr_accessor instance_gpu_info: Types::GpuInfo
63
+ attr_accessor savings_opportunity_after_discounts: Types::AutoScalingGroupSavingsOpportunityAfterDiscounts
64
+ SENSITIVE: []
65
+ end
66
+
67
+ class AutoScalingGroupSavingsOpportunityAfterDiscounts
68
+ attr_accessor savings_opportunity_percentage: ::Float
69
+ attr_accessor estimated_monthly_savings: Types::AutoScalingGroupEstimatedMonthlySavings
70
+ SENSITIVE: []
71
+ end
72
+
73
+ class ContainerConfiguration
74
+ attr_accessor container_name: ::String
75
+ attr_accessor memory_size_configuration: Types::MemorySizeConfiguration
76
+ attr_accessor cpu: ::Integer
77
+ SENSITIVE: []
78
+ end
79
+
80
+ class ContainerRecommendation
81
+ attr_accessor container_name: ::String
82
+ attr_accessor memory_size_configuration: Types::MemorySizeConfiguration
83
+ attr_accessor cpu: ::Integer
84
+ SENSITIVE: []
85
+ end
86
+
87
+ class CurrentPerformanceRiskRatings
88
+ attr_accessor high: ::Integer
89
+ attr_accessor medium: ::Integer
90
+ attr_accessor low: ::Integer
91
+ attr_accessor very_low: ::Integer
92
+ SENSITIVE: []
93
+ end
94
+
95
+ class CustomizableMetricParameters
96
+ attr_accessor threshold: ("P90" | "P95" | "P99_5")
97
+ attr_accessor headroom: ("PERCENT_30" | "PERCENT_20" | "PERCENT_10" | "PERCENT_0")
98
+ SENSITIVE: []
99
+ end
100
+
101
+ class DeleteRecommendationPreferencesRequest
102
+ attr_accessor resource_type: ("Ec2Instance" | "AutoScalingGroup" | "EbsVolume" | "LambdaFunction" | "NotApplicable" | "EcsService" | "License")
103
+ attr_accessor scope: Types::Scope
104
+ attr_accessor recommendation_preference_names: ::Array[("EnhancedInfrastructureMetrics" | "InferredWorkloadTypes" | "ExternalMetricsPreference" | "LookBackPeriodPreference" | "PreferredResources" | "UtilizationPreferences")]
105
+ SENSITIVE: []
106
+ end
107
+
108
+ class DeleteRecommendationPreferencesResponse < Aws::EmptyStructure
109
+ end
110
+
111
+ class DescribeRecommendationExportJobsRequest
112
+ attr_accessor job_ids: ::Array[::String]
113
+ attr_accessor filters: ::Array[Types::JobFilter]
114
+ attr_accessor next_token: ::String
115
+ attr_accessor max_results: ::Integer
116
+ SENSITIVE: []
117
+ end
118
+
119
+ class DescribeRecommendationExportJobsResponse
120
+ attr_accessor recommendation_export_jobs: ::Array[Types::RecommendationExportJob]
121
+ attr_accessor next_token: ::String
122
+ SENSITIVE: []
123
+ end
124
+
125
+ class EBSEffectiveRecommendationPreferences
126
+ attr_accessor savings_estimation_mode: Types::EBSSavingsEstimationMode
127
+ SENSITIVE: []
128
+ end
129
+
130
+ class EBSEstimatedMonthlySavings
131
+ attr_accessor currency: ("USD" | "CNY")
132
+ attr_accessor value: ::Float
133
+ SENSITIVE: []
134
+ end
135
+
136
+ class EBSFilter
137
+ attr_accessor name: ("Finding")
138
+ attr_accessor values: ::Array[::String]
139
+ SENSITIVE: []
140
+ end
141
+
142
+ class EBSSavingsEstimationMode
143
+ attr_accessor source: ("PublicPricing" | "CostExplorerRightsizing" | "CostOptimizationHub")
144
+ SENSITIVE: []
145
+ end
146
+
147
+ class EBSSavingsOpportunityAfterDiscounts
148
+ attr_accessor savings_opportunity_percentage: ::Float
149
+ attr_accessor estimated_monthly_savings: Types::EBSEstimatedMonthlySavings
150
+ SENSITIVE: []
151
+ end
152
+
153
+ class EBSUtilizationMetric
154
+ attr_accessor name: ("VolumeReadOpsPerSecond" | "VolumeWriteOpsPerSecond" | "VolumeReadBytesPerSecond" | "VolumeWriteBytesPerSecond")
155
+ attr_accessor statistic: ("Maximum" | "Average")
156
+ attr_accessor value: ::Float
157
+ SENSITIVE: []
158
+ end
159
+
160
+ class ECSEffectiveRecommendationPreferences
161
+ attr_accessor savings_estimation_mode: Types::ECSSavingsEstimationMode
162
+ SENSITIVE: []
163
+ end
164
+
165
+ class ECSEstimatedMonthlySavings
166
+ attr_accessor currency: ("USD" | "CNY")
167
+ attr_accessor value: ::Float
168
+ SENSITIVE: []
169
+ end
170
+
171
+ class ECSSavingsEstimationMode
172
+ attr_accessor source: ("PublicPricing" | "CostExplorerRightsizing" | "CostOptimizationHub")
173
+ SENSITIVE: []
174
+ end
175
+
176
+ class ECSSavingsOpportunityAfterDiscounts
177
+ attr_accessor savings_opportunity_percentage: ::Float
178
+ attr_accessor estimated_monthly_savings: Types::ECSEstimatedMonthlySavings
179
+ SENSITIVE: []
180
+ end
181
+
182
+ class ECSServiceProjectedMetric
183
+ attr_accessor name: ("Cpu" | "Memory")
184
+ attr_accessor timestamps: ::Array[::Time]
185
+ attr_accessor upper_bound_values: ::Array[::Float]
186
+ attr_accessor lower_bound_values: ::Array[::Float]
187
+ SENSITIVE: []
188
+ end
189
+
190
+ class ECSServiceProjectedUtilizationMetric
191
+ attr_accessor name: ("Cpu" | "Memory")
192
+ attr_accessor statistic: ("Maximum" | "Average")
193
+ attr_accessor lower_bound_value: ::Float
194
+ attr_accessor upper_bound_value: ::Float
195
+ SENSITIVE: []
196
+ end
197
+
198
+ class ECSServiceRecommendation
199
+ attr_accessor service_arn: ::String
200
+ attr_accessor account_id: ::String
201
+ attr_accessor current_service_configuration: Types::ServiceConfiguration
202
+ attr_accessor utilization_metrics: ::Array[Types::ECSServiceUtilizationMetric]
203
+ attr_accessor lookback_period_in_days: ::Float
204
+ attr_accessor launch_type: ("EC2" | "Fargate")
205
+ attr_accessor last_refresh_timestamp: ::Time
206
+ attr_accessor finding: ("Optimized" | "Underprovisioned" | "Overprovisioned")
207
+ attr_accessor finding_reason_codes: ::Array[("MemoryOverprovisioned" | "MemoryUnderprovisioned" | "CPUOverprovisioned" | "CPUUnderprovisioned")]
208
+ attr_accessor service_recommendation_options: ::Array[Types::ECSServiceRecommendationOption]
209
+ attr_accessor current_performance_risk: ("VeryLow" | "Low" | "Medium" | "High")
210
+ attr_accessor tags: ::Array[Types::Tag]
211
+ attr_accessor effective_recommendation_preferences: Types::ECSEffectiveRecommendationPreferences
212
+ SENSITIVE: []
213
+ end
214
+
215
+ class ECSServiceRecommendationFilter
216
+ attr_accessor name: ("Finding" | "FindingReasonCode")
217
+ attr_accessor values: ::Array[::String]
218
+ SENSITIVE: []
219
+ end
220
+
221
+ class ECSServiceRecommendationOption
222
+ attr_accessor memory: ::Integer
223
+ attr_accessor cpu: ::Integer
224
+ attr_accessor savings_opportunity: Types::SavingsOpportunity
225
+ attr_accessor projected_utilization_metrics: ::Array[Types::ECSServiceProjectedUtilizationMetric]
226
+ attr_accessor container_recommendations: ::Array[Types::ContainerRecommendation]
227
+ attr_accessor savings_opportunity_after_discounts: Types::ECSSavingsOpportunityAfterDiscounts
228
+ SENSITIVE: []
229
+ end
230
+
231
+ class ECSServiceRecommendedOptionProjectedMetric
232
+ attr_accessor recommended_cpu_units: ::Integer
233
+ attr_accessor recommended_memory_size: ::Integer
234
+ attr_accessor projected_metrics: ::Array[Types::ECSServiceProjectedMetric]
235
+ SENSITIVE: []
236
+ end
237
+
238
+ class ECSServiceUtilizationMetric
239
+ attr_accessor name: ("Cpu" | "Memory")
240
+ attr_accessor statistic: ("Maximum" | "Average")
241
+ attr_accessor value: ::Float
242
+ SENSITIVE: []
243
+ end
244
+
245
+ class EffectivePreferredResource
246
+ attr_accessor name: ("Ec2InstanceTypes")
247
+ attr_accessor include_list: ::Array[::String]
248
+ attr_accessor effective_include_list: ::Array[::String]
249
+ attr_accessor exclude_list: ::Array[::String]
250
+ SENSITIVE: []
251
+ end
252
+
253
+ class EffectiveRecommendationPreferences
254
+ attr_accessor cpu_vendor_architectures: ::Array[("AWS_ARM64" | "CURRENT")]
255
+ attr_accessor enhanced_infrastructure_metrics: ("Active" | "Inactive")
256
+ attr_accessor inferred_workload_types: ("Active" | "Inactive")
257
+ attr_accessor external_metrics_preference: Types::ExternalMetricsPreference
258
+ attr_accessor look_back_period: ("DAYS_14" | "DAYS_32" | "DAYS_93")
259
+ attr_accessor utilization_preferences: ::Array[Types::UtilizationPreference]
260
+ attr_accessor preferred_resources: ::Array[Types::EffectivePreferredResource]
261
+ attr_accessor savings_estimation_mode: Types::InstanceSavingsEstimationMode
262
+ SENSITIVE: []
263
+ end
264
+
265
+ class EnrollmentFilter
266
+ attr_accessor name: ("Status")
267
+ attr_accessor values: ::Array[::String]
268
+ SENSITIVE: []
269
+ end
270
+
271
+ class EstimatedMonthlySavings
272
+ attr_accessor currency: ("USD" | "CNY")
273
+ attr_accessor value: ::Float
274
+ SENSITIVE: []
275
+ end
276
+
277
+ class ExportAutoScalingGroupRecommendationsRequest
278
+ attr_accessor account_ids: ::Array[::String]
279
+ attr_accessor filters: ::Array[Types::Filter]
280
+ attr_accessor fields_to_export: ::Array[("AccountId" | "AutoScalingGroupArn" | "AutoScalingGroupName" | "Finding" | "UtilizationMetricsCpuMaximum" | "UtilizationMetricsMemoryMaximum" | "UtilizationMetricsEbsReadOpsPerSecondMaximum" | "UtilizationMetricsEbsWriteOpsPerSecondMaximum" | "UtilizationMetricsEbsReadBytesPerSecondMaximum" | "UtilizationMetricsEbsWriteBytesPerSecondMaximum" | "UtilizationMetricsDiskReadOpsPerSecondMaximum" | "UtilizationMetricsDiskWriteOpsPerSecondMaximum" | "UtilizationMetricsDiskReadBytesPerSecondMaximum" | "UtilizationMetricsDiskWriteBytesPerSecondMaximum" | "UtilizationMetricsNetworkInBytesPerSecondMaximum" | "UtilizationMetricsNetworkOutBytesPerSecondMaximum" | "UtilizationMetricsNetworkPacketsInPerSecondMaximum" | "UtilizationMetricsNetworkPacketsOutPerSecondMaximum" | "LookbackPeriodInDays" | "CurrentConfigurationInstanceType" | "CurrentConfigurationDesiredCapacity" | "CurrentConfigurationMinSize" | "CurrentConfigurationMaxSize" | "CurrentOnDemandPrice" | "CurrentStandardOneYearNoUpfrontReservedPrice" | "CurrentStandardThreeYearNoUpfrontReservedPrice" | "CurrentVCpus" | "CurrentMemory" | "CurrentStorage" | "CurrentNetwork" | "RecommendationOptionsConfigurationInstanceType" | "RecommendationOptionsConfigurationDesiredCapacity" | "RecommendationOptionsConfigurationMinSize" | "RecommendationOptionsConfigurationMaxSize" | "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum" | "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum" | "RecommendationOptionsPerformanceRisk" | "RecommendationOptionsOnDemandPrice" | "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice" | "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice" | "RecommendationOptionsVcpus" | "RecommendationOptionsMemory" | "RecommendationOptionsStorage" | "RecommendationOptionsNetwork" | "LastRefreshTimestamp" | "CurrentPerformanceRisk" | "RecommendationOptionsSavingsOpportunityPercentage" | "RecommendationOptionsEstimatedMonthlySavingsCurrency" | "RecommendationOptionsEstimatedMonthlySavingsValue" | "EffectiveRecommendationPreferencesCpuVendorArchitectures" | "EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics" | "EffectiveRecommendationPreferencesInferredWorkloadTypes" | "InferredWorkloadTypes" | "RecommendationOptionsMigrationEffort" | "CurrentInstanceGpuInfo" | "RecommendationOptionsInstanceGpuInfo" | "UtilizationMetricsGpuPercentageMaximum" | "UtilizationMetricsGpuMemoryPercentageMaximum" | "RecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum" | "RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum" | "EffectiveRecommendationPreferencesSavingsEstimationMode" | "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage" | "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts" | "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts" | "EffectiveRecommendationPreferencesPreferredResources" | "EffectiveRecommendationPreferencesLookBackPeriod")]
281
+ attr_accessor s3_destination_config: Types::S3DestinationConfig
282
+ attr_accessor file_format: ("Csv")
283
+ attr_accessor include_member_accounts: bool
284
+ attr_accessor recommendation_preferences: Types::RecommendationPreferences
285
+ SENSITIVE: []
286
+ end
287
+
288
+ class ExportAutoScalingGroupRecommendationsResponse
289
+ attr_accessor job_id: ::String
290
+ attr_accessor s3_destination: Types::S3Destination
291
+ SENSITIVE: []
292
+ end
293
+
294
+ class ExportDestination
295
+ attr_accessor s3: Types::S3Destination
296
+ SENSITIVE: []
297
+ end
298
+
299
+ class ExportEBSVolumeRecommendationsRequest
300
+ attr_accessor account_ids: ::Array[::String]
301
+ attr_accessor filters: ::Array[Types::EBSFilter]
302
+ attr_accessor fields_to_export: ::Array[("AccountId" | "VolumeArn" | "Finding" | "UtilizationMetricsVolumeReadOpsPerSecondMaximum" | "UtilizationMetricsVolumeWriteOpsPerSecondMaximum" | "UtilizationMetricsVolumeReadBytesPerSecondMaximum" | "UtilizationMetricsVolumeWriteBytesPerSecondMaximum" | "LookbackPeriodInDays" | "CurrentConfigurationVolumeType" | "CurrentConfigurationVolumeBaselineIOPS" | "CurrentConfigurationVolumeBaselineThroughput" | "CurrentConfigurationVolumeBurstIOPS" | "CurrentConfigurationVolumeBurstThroughput" | "CurrentConfigurationVolumeSize" | "CurrentMonthlyPrice" | "RecommendationOptionsConfigurationVolumeType" | "RecommendationOptionsConfigurationVolumeBaselineIOPS" | "RecommendationOptionsConfigurationVolumeBaselineThroughput" | "RecommendationOptionsConfigurationVolumeBurstIOPS" | "RecommendationOptionsConfigurationVolumeBurstThroughput" | "RecommendationOptionsConfigurationVolumeSize" | "RecommendationOptionsMonthlyPrice" | "RecommendationOptionsPerformanceRisk" | "LastRefreshTimestamp" | "CurrentPerformanceRisk" | "RecommendationOptionsSavingsOpportunityPercentage" | "RecommendationOptionsEstimatedMonthlySavingsCurrency" | "RecommendationOptionsEstimatedMonthlySavingsValue" | "RootVolume" | "Tags" | "CurrentConfigurationRootVolume" | "EffectiveRecommendationPreferencesSavingsEstimationMode" | "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage" | "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts" | "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts")]
303
+ attr_accessor s3_destination_config: Types::S3DestinationConfig
304
+ attr_accessor file_format: ("Csv")
305
+ attr_accessor include_member_accounts: bool
306
+ SENSITIVE: []
307
+ end
308
+
309
+ class ExportEBSVolumeRecommendationsResponse
310
+ attr_accessor job_id: ::String
311
+ attr_accessor s3_destination: Types::S3Destination
312
+ SENSITIVE: []
313
+ end
314
+
315
+ class ExportEC2InstanceRecommendationsRequest
316
+ attr_accessor account_ids: ::Array[::String]
317
+ attr_accessor filters: ::Array[Types::Filter]
318
+ attr_accessor fields_to_export: ::Array[("AccountId" | "InstanceArn" | "InstanceName" | "Finding" | "FindingReasonCodes" | "LookbackPeriodInDays" | "CurrentInstanceType" | "UtilizationMetricsCpuMaximum" | "UtilizationMetricsMemoryMaximum" | "UtilizationMetricsEbsReadOpsPerSecondMaximum" | "UtilizationMetricsEbsWriteOpsPerSecondMaximum" | "UtilizationMetricsEbsReadBytesPerSecondMaximum" | "UtilizationMetricsEbsWriteBytesPerSecondMaximum" | "UtilizationMetricsDiskReadOpsPerSecondMaximum" | "UtilizationMetricsDiskWriteOpsPerSecondMaximum" | "UtilizationMetricsDiskReadBytesPerSecondMaximum" | "UtilizationMetricsDiskWriteBytesPerSecondMaximum" | "UtilizationMetricsNetworkInBytesPerSecondMaximum" | "UtilizationMetricsNetworkOutBytesPerSecondMaximum" | "UtilizationMetricsNetworkPacketsInPerSecondMaximum" | "UtilizationMetricsNetworkPacketsOutPerSecondMaximum" | "CurrentOnDemandPrice" | "CurrentStandardOneYearNoUpfrontReservedPrice" | "CurrentStandardThreeYearNoUpfrontReservedPrice" | "CurrentVCpus" | "CurrentMemory" | "CurrentStorage" | "CurrentNetwork" | "RecommendationOptionsInstanceType" | "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum" | "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum" | "RecommendationOptionsPlatformDifferences" | "RecommendationOptionsPerformanceRisk" | "RecommendationOptionsVcpus" | "RecommendationOptionsMemory" | "RecommendationOptionsStorage" | "RecommendationOptionsNetwork" | "RecommendationOptionsOnDemandPrice" | "RecommendationOptionsStandardOneYearNoUpfrontReservedPrice" | "RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice" | "RecommendationsSourcesRecommendationSourceArn" | "RecommendationsSourcesRecommendationSourceType" | "LastRefreshTimestamp" | "CurrentPerformanceRisk" | "RecommendationOptionsSavingsOpportunityPercentage" | "RecommendationOptionsEstimatedMonthlySavingsCurrency" | "RecommendationOptionsEstimatedMonthlySavingsValue" | "EffectiveRecommendationPreferencesCpuVendorArchitectures" | "EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics" | "EffectiveRecommendationPreferencesInferredWorkloadTypes" | "InferredWorkloadTypes" | "RecommendationOptionsMigrationEffort" | "EffectiveRecommendationPreferencesExternalMetricsSource" | "InstanceState" | "Tags" | "ExternalMetricStatusCode" | "ExternalMetricStatusReason" | "CurrentInstanceGpuInfo" | "RecommendationOptionsInstanceGpuInfo" | "UtilizationMetricsGpuPercentageMaximum" | "UtilizationMetricsGpuMemoryPercentageMaximum" | "RecommendationOptionsProjectedUtilizationMetricsGpuPercentageMaximum" | "RecommendationOptionsProjectedUtilizationMetricsGpuMemoryPercentageMaximum" | "Idle" | "EffectiveRecommendationPreferencesPreferredResources" | "EffectiveRecommendationPreferencesLookBackPeriod" | "EffectiveRecommendationPreferencesUtilizationPreferences" | "EffectiveRecommendationPreferencesSavingsEstimationMode" | "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage" | "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts" | "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts")]
319
+ attr_accessor s3_destination_config: Types::S3DestinationConfig
320
+ attr_accessor file_format: ("Csv")
321
+ attr_accessor include_member_accounts: bool
322
+ attr_accessor recommendation_preferences: Types::RecommendationPreferences
323
+ SENSITIVE: []
324
+ end
325
+
326
+ class ExportEC2InstanceRecommendationsResponse
327
+ attr_accessor job_id: ::String
328
+ attr_accessor s3_destination: Types::S3Destination
329
+ SENSITIVE: []
330
+ end
331
+
332
+ class ExportECSServiceRecommendationsRequest
333
+ attr_accessor account_ids: ::Array[::String]
334
+ attr_accessor filters: ::Array[Types::ECSServiceRecommendationFilter]
335
+ attr_accessor fields_to_export: ::Array[("AccountId" | "ServiceArn" | "LookbackPeriodInDays" | "LastRefreshTimestamp" | "LaunchType" | "CurrentPerformanceRisk" | "CurrentServiceConfigurationMemory" | "CurrentServiceConfigurationCpu" | "CurrentServiceConfigurationTaskDefinitionArn" | "CurrentServiceConfigurationAutoScalingConfiguration" | "CurrentServiceContainerConfigurations" | "UtilizationMetricsCpuMaximum" | "UtilizationMetricsMemoryMaximum" | "Finding" | "FindingReasonCodes" | "RecommendationOptionsMemory" | "RecommendationOptionsCpu" | "RecommendationOptionsSavingsOpportunityPercentage" | "RecommendationOptionsEstimatedMonthlySavingsCurrency" | "RecommendationOptionsEstimatedMonthlySavingsValue" | "RecommendationOptionsContainerRecommendations" | "RecommendationOptionsProjectedUtilizationMetricsCpuMaximum" | "RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum" | "Tags" | "EffectiveRecommendationPreferencesSavingsEstimationMode" | "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage" | "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts" | "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts")]
336
+ attr_accessor s3_destination_config: Types::S3DestinationConfig
337
+ attr_accessor file_format: ("Csv")
338
+ attr_accessor include_member_accounts: bool
339
+ SENSITIVE: []
340
+ end
341
+
342
+ class ExportECSServiceRecommendationsResponse
343
+ attr_accessor job_id: ::String
344
+ attr_accessor s3_destination: Types::S3Destination
345
+ SENSITIVE: []
346
+ end
347
+
348
+ class ExportLambdaFunctionRecommendationsRequest
349
+ attr_accessor account_ids: ::Array[::String]
350
+ attr_accessor filters: ::Array[Types::LambdaFunctionRecommendationFilter]
351
+ attr_accessor fields_to_export: ::Array[("AccountId" | "FunctionArn" | "FunctionVersion" | "Finding" | "FindingReasonCodes" | "NumberOfInvocations" | "UtilizationMetricsDurationMaximum" | "UtilizationMetricsDurationAverage" | "UtilizationMetricsMemoryMaximum" | "UtilizationMetricsMemoryAverage" | "LookbackPeriodInDays" | "CurrentConfigurationMemorySize" | "CurrentConfigurationTimeout" | "CurrentCostTotal" | "CurrentCostAverage" | "RecommendationOptionsConfigurationMemorySize" | "RecommendationOptionsCostLow" | "RecommendationOptionsCostHigh" | "RecommendationOptionsProjectedUtilizationMetricsDurationLowerBound" | "RecommendationOptionsProjectedUtilizationMetricsDurationUpperBound" | "RecommendationOptionsProjectedUtilizationMetricsDurationExpected" | "LastRefreshTimestamp" | "CurrentPerformanceRisk" | "RecommendationOptionsSavingsOpportunityPercentage" | "RecommendationOptionsEstimatedMonthlySavingsCurrency" | "RecommendationOptionsEstimatedMonthlySavingsValue" | "Tags" | "EffectiveRecommendationPreferencesSavingsEstimationMode" | "RecommendationOptionsSavingsOpportunityAfterDiscountsPercentage" | "RecommendationOptionsEstimatedMonthlySavingsCurrencyAfterDiscounts" | "RecommendationOptionsEstimatedMonthlySavingsValueAfterDiscounts")]
352
+ attr_accessor s3_destination_config: Types::S3DestinationConfig
353
+ attr_accessor file_format: ("Csv")
354
+ attr_accessor include_member_accounts: bool
355
+ SENSITIVE: []
356
+ end
357
+
358
+ class ExportLambdaFunctionRecommendationsResponse
359
+ attr_accessor job_id: ::String
360
+ attr_accessor s3_destination: Types::S3Destination
361
+ SENSITIVE: []
362
+ end
363
+
364
+ class ExportLicenseRecommendationsRequest
365
+ attr_accessor account_ids: ::Array[::String]
366
+ attr_accessor filters: ::Array[Types::LicenseRecommendationFilter]
367
+ attr_accessor fields_to_export: ::Array[("AccountId" | "ResourceArn" | "LookbackPeriodInDays" | "LastRefreshTimestamp" | "Finding" | "FindingReasonCodes" | "CurrentLicenseConfigurationNumberOfCores" | "CurrentLicenseConfigurationInstanceType" | "CurrentLicenseConfigurationOperatingSystem" | "CurrentLicenseConfigurationLicenseName" | "CurrentLicenseConfigurationLicenseEdition" | "CurrentLicenseConfigurationLicenseModel" | "CurrentLicenseConfigurationLicenseVersion" | "CurrentLicenseConfigurationMetricsSource" | "RecommendationOptionsOperatingSystem" | "RecommendationOptionsLicenseEdition" | "RecommendationOptionsLicenseModel" | "RecommendationOptionsSavingsOpportunityPercentage" | "RecommendationOptionsEstimatedMonthlySavingsCurrency" | "RecommendationOptionsEstimatedMonthlySavingsValue" | "Tags")]
368
+ attr_accessor s3_destination_config: Types::S3DestinationConfig
369
+ attr_accessor file_format: ("Csv")
370
+ attr_accessor include_member_accounts: bool
371
+ SENSITIVE: []
372
+ end
373
+
374
+ class ExportLicenseRecommendationsResponse
375
+ attr_accessor job_id: ::String
376
+ attr_accessor s3_destination: Types::S3Destination
377
+ SENSITIVE: []
378
+ end
379
+
380
+ class ExternalMetricStatus
381
+ attr_accessor status_code: ("NO_EXTERNAL_METRIC_SET" | "INTEGRATION_SUCCESS" | "DATADOG_INTEGRATION_ERROR" | "DYNATRACE_INTEGRATION_ERROR" | "NEWRELIC_INTEGRATION_ERROR" | "INSTANA_INTEGRATION_ERROR" | "INSUFFICIENT_DATADOG_METRICS" | "INSUFFICIENT_DYNATRACE_METRICS" | "INSUFFICIENT_NEWRELIC_METRICS" | "INSUFFICIENT_INSTANA_METRICS")
382
+ attr_accessor status_reason: ::String
383
+ SENSITIVE: []
384
+ end
385
+
386
+ class ExternalMetricsPreference
387
+ attr_accessor source: ("Datadog" | "Dynatrace" | "NewRelic" | "Instana")
388
+ SENSITIVE: []
389
+ end
390
+
391
+ class Filter
392
+ attr_accessor name: ("Finding" | "FindingReasonCodes" | "RecommendationSourceType" | "InferredWorkloadTypes")
393
+ attr_accessor values: ::Array[::String]
394
+ SENSITIVE: []
395
+ end
396
+
397
+ class GetAutoScalingGroupRecommendationsRequest
398
+ attr_accessor account_ids: ::Array[::String]
399
+ attr_accessor auto_scaling_group_arns: ::Array[::String]
400
+ attr_accessor next_token: ::String
401
+ attr_accessor max_results: ::Integer
402
+ attr_accessor filters: ::Array[Types::Filter]
403
+ attr_accessor recommendation_preferences: Types::RecommendationPreferences
404
+ SENSITIVE: []
405
+ end
406
+
407
+ class GetAutoScalingGroupRecommendationsResponse
408
+ attr_accessor next_token: ::String
409
+ attr_accessor auto_scaling_group_recommendations: ::Array[Types::AutoScalingGroupRecommendation]
410
+ attr_accessor errors: ::Array[Types::GetRecommendationError]
411
+ SENSITIVE: []
412
+ end
413
+
414
+ class GetEBSVolumeRecommendationsRequest
415
+ attr_accessor volume_arns: ::Array[::String]
416
+ attr_accessor next_token: ::String
417
+ attr_accessor max_results: ::Integer
418
+ attr_accessor filters: ::Array[Types::EBSFilter]
419
+ attr_accessor account_ids: ::Array[::String]
420
+ SENSITIVE: []
421
+ end
422
+
423
+ class GetEBSVolumeRecommendationsResponse
424
+ attr_accessor next_token: ::String
425
+ attr_accessor volume_recommendations: ::Array[Types::VolumeRecommendation]
426
+ attr_accessor errors: ::Array[Types::GetRecommendationError]
427
+ SENSITIVE: []
428
+ end
429
+
430
+ class GetEC2InstanceRecommendationsRequest
431
+ attr_accessor instance_arns: ::Array[::String]
432
+ attr_accessor next_token: ::String
433
+ attr_accessor max_results: ::Integer
434
+ attr_accessor filters: ::Array[Types::Filter]
435
+ attr_accessor account_ids: ::Array[::String]
436
+ attr_accessor recommendation_preferences: Types::RecommendationPreferences
437
+ SENSITIVE: []
438
+ end
439
+
440
+ class GetEC2InstanceRecommendationsResponse
441
+ attr_accessor next_token: ::String
442
+ attr_accessor instance_recommendations: ::Array[Types::InstanceRecommendation]
443
+ attr_accessor errors: ::Array[Types::GetRecommendationError]
444
+ SENSITIVE: []
445
+ end
446
+
447
+ class GetEC2RecommendationProjectedMetricsRequest
448
+ attr_accessor instance_arn: ::String
449
+ attr_accessor stat: ("Maximum" | "Average")
450
+ attr_accessor period: ::Integer
451
+ attr_accessor start_time: ::Time
452
+ attr_accessor end_time: ::Time
453
+ attr_accessor recommendation_preferences: Types::RecommendationPreferences
454
+ SENSITIVE: []
455
+ end
456
+
457
+ class GetEC2RecommendationProjectedMetricsResponse
458
+ attr_accessor recommended_option_projected_metrics: ::Array[Types::RecommendedOptionProjectedMetric]
459
+ SENSITIVE: []
460
+ end
461
+
462
+ class GetECSServiceRecommendationProjectedMetricsRequest
463
+ attr_accessor service_arn: ::String
464
+ attr_accessor stat: ("Maximum" | "Average")
465
+ attr_accessor period: ::Integer
466
+ attr_accessor start_time: ::Time
467
+ attr_accessor end_time: ::Time
468
+ SENSITIVE: []
469
+ end
470
+
471
+ class GetECSServiceRecommendationProjectedMetricsResponse
472
+ attr_accessor recommended_option_projected_metrics: ::Array[Types::ECSServiceRecommendedOptionProjectedMetric]
473
+ SENSITIVE: []
474
+ end
475
+
476
+ class GetECSServiceRecommendationsRequest
477
+ attr_accessor service_arns: ::Array[::String]
478
+ attr_accessor next_token: ::String
479
+ attr_accessor max_results: ::Integer
480
+ attr_accessor filters: ::Array[Types::ECSServiceRecommendationFilter]
481
+ attr_accessor account_ids: ::Array[::String]
482
+ SENSITIVE: []
483
+ end
484
+
485
+ class GetECSServiceRecommendationsResponse
486
+ attr_accessor next_token: ::String
487
+ attr_accessor ecs_service_recommendations: ::Array[Types::ECSServiceRecommendation]
488
+ attr_accessor errors: ::Array[Types::GetRecommendationError]
489
+ SENSITIVE: []
490
+ end
491
+
492
+ class GetEffectiveRecommendationPreferencesRequest
493
+ attr_accessor resource_arn: ::String
494
+ SENSITIVE: []
495
+ end
496
+
497
+ class GetEffectiveRecommendationPreferencesResponse
498
+ attr_accessor enhanced_infrastructure_metrics: ("Active" | "Inactive")
499
+ attr_accessor external_metrics_preference: Types::ExternalMetricsPreference
500
+ attr_accessor look_back_period: ("DAYS_14" | "DAYS_32" | "DAYS_93")
501
+ attr_accessor utilization_preferences: ::Array[Types::UtilizationPreference]
502
+ attr_accessor preferred_resources: ::Array[Types::EffectivePreferredResource]
503
+ SENSITIVE: []
504
+ end
505
+
506
+ class GetEnrollmentStatusRequest < Aws::EmptyStructure
507
+ end
508
+
509
+ class GetEnrollmentStatusResponse
510
+ attr_accessor status: ("Active" | "Inactive" | "Pending" | "Failed")
511
+ attr_accessor status_reason: ::String
512
+ attr_accessor member_accounts_enrolled: bool
513
+ attr_accessor last_updated_timestamp: ::Time
514
+ attr_accessor number_of_member_accounts_opted_in: ::Integer
515
+ SENSITIVE: []
516
+ end
517
+
518
+ class GetEnrollmentStatusesForOrganizationRequest
519
+ attr_accessor filters: ::Array[Types::EnrollmentFilter]
520
+ attr_accessor next_token: ::String
521
+ attr_accessor max_results: ::Integer
522
+ SENSITIVE: []
523
+ end
524
+
525
+ class GetEnrollmentStatusesForOrganizationResponse
526
+ attr_accessor account_enrollment_statuses: ::Array[Types::AccountEnrollmentStatus]
527
+ attr_accessor next_token: ::String
528
+ SENSITIVE: []
529
+ end
530
+
531
+ class GetLambdaFunctionRecommendationsRequest
532
+ attr_accessor function_arns: ::Array[::String]
533
+ attr_accessor account_ids: ::Array[::String]
534
+ attr_accessor filters: ::Array[Types::LambdaFunctionRecommendationFilter]
535
+ attr_accessor next_token: ::String
536
+ attr_accessor max_results: ::Integer
537
+ SENSITIVE: []
538
+ end
539
+
540
+ class GetLambdaFunctionRecommendationsResponse
541
+ attr_accessor next_token: ::String
542
+ attr_accessor lambda_function_recommendations: ::Array[Types::LambdaFunctionRecommendation]
543
+ SENSITIVE: []
544
+ end
545
+
546
+ class GetLicenseRecommendationsRequest
547
+ attr_accessor resource_arns: ::Array[::String]
548
+ attr_accessor next_token: ::String
549
+ attr_accessor max_results: ::Integer
550
+ attr_accessor filters: ::Array[Types::LicenseRecommendationFilter]
551
+ attr_accessor account_ids: ::Array[::String]
552
+ SENSITIVE: []
553
+ end
554
+
555
+ class GetLicenseRecommendationsResponse
556
+ attr_accessor next_token: ::String
557
+ attr_accessor license_recommendations: ::Array[Types::LicenseRecommendation]
558
+ attr_accessor errors: ::Array[Types::GetRecommendationError]
559
+ SENSITIVE: []
560
+ end
561
+
562
+ class GetRecommendationError
563
+ attr_accessor identifier: ::String
564
+ attr_accessor code: ::String
565
+ attr_accessor message: ::String
566
+ SENSITIVE: []
567
+ end
568
+
569
+ class GetRecommendationPreferencesRequest
570
+ attr_accessor resource_type: ("Ec2Instance" | "AutoScalingGroup" | "EbsVolume" | "LambdaFunction" | "NotApplicable" | "EcsService" | "License")
571
+ attr_accessor scope: Types::Scope
572
+ attr_accessor next_token: ::String
573
+ attr_accessor max_results: ::Integer
574
+ SENSITIVE: []
575
+ end
576
+
577
+ class GetRecommendationPreferencesResponse
578
+ attr_accessor next_token: ::String
579
+ attr_accessor recommendation_preferences_details: ::Array[Types::RecommendationPreferencesDetail]
580
+ SENSITIVE: []
581
+ end
582
+
583
+ class GetRecommendationSummariesRequest
584
+ attr_accessor account_ids: ::Array[::String]
585
+ attr_accessor next_token: ::String
586
+ attr_accessor max_results: ::Integer
587
+ SENSITIVE: []
588
+ end
589
+
590
+ class GetRecommendationSummariesResponse
591
+ attr_accessor next_token: ::String
592
+ attr_accessor recommendation_summaries: ::Array[Types::RecommendationSummary]
593
+ SENSITIVE: []
594
+ end
595
+
596
+ class Gpu
597
+ attr_accessor gpu_count: ::Integer
598
+ attr_accessor gpu_memory_size_in_mi_b: ::Integer
599
+ SENSITIVE: []
600
+ end
601
+
602
+ class GpuInfo
603
+ attr_accessor gpus: ::Array[Types::Gpu]
604
+ SENSITIVE: []
605
+ end
606
+
607
+ class InferredWorkloadSaving
608
+ attr_accessor inferred_workload_types: ::Array[("AmazonEmr" | "ApacheCassandra" | "ApacheHadoop" | "Memcached" | "Nginx" | "PostgreSql" | "Redis" | "Kafka" | "SQLServer")]
609
+ attr_accessor estimated_monthly_savings: Types::EstimatedMonthlySavings
610
+ SENSITIVE: []
611
+ end
612
+
613
+ class InstanceEstimatedMonthlySavings
614
+ attr_accessor currency: ("USD" | "CNY")
615
+ attr_accessor value: ::Float
616
+ SENSITIVE: []
617
+ end
618
+
619
+ class InstanceRecommendation
620
+ attr_accessor instance_arn: ::String
621
+ attr_accessor account_id: ::String
622
+ attr_accessor instance_name: ::String
623
+ attr_accessor current_instance_type: ::String
624
+ attr_accessor finding: ("Underprovisioned" | "Overprovisioned" | "Optimized" | "NotOptimized")
625
+ attr_accessor finding_reason_codes: ::Array[("CPUOverprovisioned" | "CPUUnderprovisioned" | "MemoryOverprovisioned" | "MemoryUnderprovisioned" | "EBSThroughputOverprovisioned" | "EBSThroughputUnderprovisioned" | "EBSIOPSOverprovisioned" | "EBSIOPSUnderprovisioned" | "NetworkBandwidthOverprovisioned" | "NetworkBandwidthUnderprovisioned" | "NetworkPPSOverprovisioned" | "NetworkPPSUnderprovisioned" | "DiskIOPSOverprovisioned" | "DiskIOPSUnderprovisioned" | "DiskThroughputOverprovisioned" | "DiskThroughputUnderprovisioned" | "GPUUnderprovisioned" | "GPUOverprovisioned" | "GPUMemoryUnderprovisioned" | "GPUMemoryOverprovisioned")]
626
+ attr_accessor utilization_metrics: ::Array[Types::UtilizationMetric]
627
+ attr_accessor look_back_period_in_days: ::Float
628
+ attr_accessor recommendation_options: ::Array[Types::InstanceRecommendationOption]
629
+ attr_accessor recommendation_sources: ::Array[Types::RecommendationSource]
630
+ attr_accessor last_refresh_timestamp: ::Time
631
+ attr_accessor current_performance_risk: ("VeryLow" | "Low" | "Medium" | "High")
632
+ attr_accessor effective_recommendation_preferences: Types::EffectiveRecommendationPreferences
633
+ attr_accessor inferred_workload_types: ::Array[("AmazonEmr" | "ApacheCassandra" | "ApacheHadoop" | "Memcached" | "Nginx" | "PostgreSql" | "Redis" | "Kafka" | "SQLServer")]
634
+ attr_accessor instance_state: ("pending" | "running" | "shutting-down" | "terminated" | "stopping" | "stopped")
635
+ attr_accessor tags: ::Array[Types::Tag]
636
+ attr_accessor external_metric_status: Types::ExternalMetricStatus
637
+ attr_accessor current_instance_gpu_info: Types::GpuInfo
638
+ attr_accessor idle: ("True" | "False")
639
+ SENSITIVE: []
640
+ end
641
+
642
+ class InstanceRecommendationOption
643
+ attr_accessor instance_type: ::String
644
+ attr_accessor projected_utilization_metrics: ::Array[Types::UtilizationMetric]
645
+ attr_accessor platform_differences: ::Array[("Hypervisor" | "NetworkInterface" | "StorageInterface" | "InstanceStoreAvailability" | "VirtualizationType" | "Architecture")]
646
+ attr_accessor performance_risk: ::Float
647
+ attr_accessor rank: ::Integer
648
+ attr_accessor savings_opportunity: Types::SavingsOpportunity
649
+ attr_accessor migration_effort: ("VeryLow" | "Low" | "Medium" | "High")
650
+ attr_accessor instance_gpu_info: Types::GpuInfo
651
+ attr_accessor savings_opportunity_after_discounts: Types::InstanceSavingsOpportunityAfterDiscounts
652
+ SENSITIVE: []
653
+ end
654
+
655
+ class InstanceSavingsEstimationMode
656
+ attr_accessor source: ("PublicPricing" | "CostExplorerRightsizing" | "CostOptimizationHub")
657
+ SENSITIVE: []
658
+ end
659
+
660
+ class InstanceSavingsOpportunityAfterDiscounts
661
+ attr_accessor savings_opportunity_percentage: ::Float
662
+ attr_accessor estimated_monthly_savings: Types::InstanceEstimatedMonthlySavings
663
+ SENSITIVE: []
664
+ end
665
+
666
+ class InternalServerException
667
+ attr_accessor message: ::String
668
+ SENSITIVE: []
669
+ end
670
+
671
+ class InvalidParameterValueException
672
+ attr_accessor message: ::String
673
+ SENSITIVE: []
674
+ end
675
+
676
+ class JobFilter
677
+ attr_accessor name: ("ResourceType" | "JobStatus")
678
+ attr_accessor values: ::Array[::String]
679
+ SENSITIVE: []
680
+ end
681
+
682
+ class LambdaEffectiveRecommendationPreferences
683
+ attr_accessor savings_estimation_mode: Types::LambdaSavingsEstimationMode
684
+ SENSITIVE: []
685
+ end
686
+
687
+ class LambdaEstimatedMonthlySavings
688
+ attr_accessor currency: ("USD" | "CNY")
689
+ attr_accessor value: ::Float
690
+ SENSITIVE: []
691
+ end
692
+
693
+ class LambdaFunctionMemoryProjectedMetric
694
+ attr_accessor name: ("Duration")
695
+ attr_accessor statistic: ("LowerBound" | "UpperBound" | "Expected")
696
+ attr_accessor value: ::Float
697
+ SENSITIVE: []
698
+ end
699
+
700
+ class LambdaFunctionMemoryRecommendationOption
701
+ attr_accessor rank: ::Integer
702
+ attr_accessor memory_size: ::Integer
703
+ attr_accessor projected_utilization_metrics: ::Array[Types::LambdaFunctionMemoryProjectedMetric]
704
+ attr_accessor savings_opportunity: Types::SavingsOpportunity
705
+ attr_accessor savings_opportunity_after_discounts: Types::LambdaSavingsOpportunityAfterDiscounts
706
+ SENSITIVE: []
707
+ end
708
+
709
+ class LambdaFunctionRecommendation
710
+ attr_accessor function_arn: ::String
711
+ attr_accessor function_version: ::String
712
+ attr_accessor account_id: ::String
713
+ attr_accessor current_memory_size: ::Integer
714
+ attr_accessor number_of_invocations: ::Integer
715
+ attr_accessor utilization_metrics: ::Array[Types::LambdaFunctionUtilizationMetric]
716
+ attr_accessor lookback_period_in_days: ::Float
717
+ attr_accessor last_refresh_timestamp: ::Time
718
+ attr_accessor finding: ("Optimized" | "NotOptimized" | "Unavailable")
719
+ attr_accessor finding_reason_codes: ::Array[("MemoryOverprovisioned" | "MemoryUnderprovisioned" | "InsufficientData" | "Inconclusive")]
720
+ attr_accessor memory_size_recommendation_options: ::Array[Types::LambdaFunctionMemoryRecommendationOption]
721
+ attr_accessor current_performance_risk: ("VeryLow" | "Low" | "Medium" | "High")
722
+ attr_accessor tags: ::Array[Types::Tag]
723
+ attr_accessor effective_recommendation_preferences: Types::LambdaEffectiveRecommendationPreferences
724
+ SENSITIVE: []
725
+ end
726
+
727
+ class LambdaFunctionRecommendationFilter
728
+ attr_accessor name: ("Finding" | "FindingReasonCode")
729
+ attr_accessor values: ::Array[::String]
730
+ SENSITIVE: []
731
+ end
732
+
733
+ class LambdaFunctionUtilizationMetric
734
+ attr_accessor name: ("Duration" | "Memory")
735
+ attr_accessor statistic: ("Maximum" | "Average")
736
+ attr_accessor value: ::Float
737
+ SENSITIVE: []
738
+ end
739
+
740
+ class LambdaSavingsEstimationMode
741
+ attr_accessor source: ("PublicPricing" | "CostExplorerRightsizing" | "CostOptimizationHub")
742
+ SENSITIVE: []
743
+ end
744
+
745
+ class LambdaSavingsOpportunityAfterDiscounts
746
+ attr_accessor savings_opportunity_percentage: ::Float
747
+ attr_accessor estimated_monthly_savings: Types::LambdaEstimatedMonthlySavings
748
+ SENSITIVE: []
749
+ end
750
+
751
+ class LicenseConfiguration
752
+ attr_accessor number_of_cores: ::Integer
753
+ attr_accessor instance_type: ::String
754
+ attr_accessor operating_system: ::String
755
+ attr_accessor license_edition: ("Enterprise" | "Standard" | "Free" | "NoLicenseEditionFound")
756
+ attr_accessor license_name: ("SQLServer")
757
+ attr_accessor license_model: ("LicenseIncluded" | "BringYourOwnLicense")
758
+ attr_accessor license_version: ::String
759
+ attr_accessor metrics_source: ::Array[Types::MetricSource]
760
+ SENSITIVE: []
761
+ end
762
+
763
+ class LicenseRecommendation
764
+ attr_accessor resource_arn: ::String
765
+ attr_accessor account_id: ::String
766
+ attr_accessor current_license_configuration: Types::LicenseConfiguration
767
+ attr_accessor lookback_period_in_days: ::Float
768
+ attr_accessor last_refresh_timestamp: ::Time
769
+ attr_accessor finding: ("InsufficientMetrics" | "Optimized" | "NotOptimized")
770
+ attr_accessor finding_reason_codes: ::Array[("InvalidCloudWatchApplicationInsightsSetup" | "CloudWatchApplicationInsightsError" | "LicenseOverprovisioned" | "Optimized")]
771
+ attr_accessor license_recommendation_options: ::Array[Types::LicenseRecommendationOption]
772
+ attr_accessor tags: ::Array[Types::Tag]
773
+ SENSITIVE: []
774
+ end
775
+
776
+ class LicenseRecommendationFilter
777
+ attr_accessor name: ("Finding" | "FindingReasonCode" | "LicenseName")
778
+ attr_accessor values: ::Array[::String]
779
+ SENSITIVE: []
780
+ end
781
+
782
+ class LicenseRecommendationOption
783
+ attr_accessor rank: ::Integer
784
+ attr_accessor operating_system: ::String
785
+ attr_accessor license_edition: ("Enterprise" | "Standard" | "Free" | "NoLicenseEditionFound")
786
+ attr_accessor license_model: ("LicenseIncluded" | "BringYourOwnLicense")
787
+ attr_accessor savings_opportunity: Types::SavingsOpportunity
788
+ SENSITIVE: []
789
+ end
790
+
791
+ class LimitExceededException
792
+ attr_accessor message: ::String
793
+ SENSITIVE: []
794
+ end
795
+
796
+ class MemorySizeConfiguration
797
+ attr_accessor memory: ::Integer
798
+ attr_accessor memory_reservation: ::Integer
799
+ SENSITIVE: []
800
+ end
801
+
802
+ class MetricSource
803
+ attr_accessor provider: ("CloudWatchApplicationInsights")
804
+ attr_accessor provider_arn: ::String
805
+ SENSITIVE: []
806
+ end
807
+
808
+ class MissingAuthenticationToken
809
+ attr_accessor message: ::String
810
+ SENSITIVE: []
811
+ end
812
+
813
+ class OptInRequiredException
814
+ attr_accessor message: ::String
815
+ SENSITIVE: []
816
+ end
817
+
818
+ class PreferredResource
819
+ attr_accessor name: ("Ec2InstanceTypes")
820
+ attr_accessor include_list: ::Array[::String]
821
+ attr_accessor exclude_list: ::Array[::String]
822
+ SENSITIVE: []
823
+ end
824
+
825
+ class ProjectedMetric
826
+ attr_accessor name: ("Cpu" | "Memory" | "EBS_READ_OPS_PER_SECOND" | "EBS_WRITE_OPS_PER_SECOND" | "EBS_READ_BYTES_PER_SECOND" | "EBS_WRITE_BYTES_PER_SECOND" | "DISK_READ_OPS_PER_SECOND" | "DISK_WRITE_OPS_PER_SECOND" | "DISK_READ_BYTES_PER_SECOND" | "DISK_WRITE_BYTES_PER_SECOND" | "NETWORK_IN_BYTES_PER_SECOND" | "NETWORK_OUT_BYTES_PER_SECOND" | "NETWORK_PACKETS_IN_PER_SECOND" | "NETWORK_PACKETS_OUT_PER_SECOND" | "GPU_PERCENTAGE" | "GPU_MEMORY_PERCENTAGE")
827
+ attr_accessor timestamps: ::Array[::Time]
828
+ attr_accessor values: ::Array[::Float]
829
+ SENSITIVE: []
830
+ end
831
+
832
+ class PutRecommendationPreferencesRequest
833
+ attr_accessor resource_type: ("Ec2Instance" | "AutoScalingGroup" | "EbsVolume" | "LambdaFunction" | "NotApplicable" | "EcsService" | "License")
834
+ attr_accessor scope: Types::Scope
835
+ attr_accessor enhanced_infrastructure_metrics: ("Active" | "Inactive")
836
+ attr_accessor inferred_workload_types: ("Active" | "Inactive")
837
+ attr_accessor external_metrics_preference: Types::ExternalMetricsPreference
838
+ attr_accessor look_back_period: ("DAYS_14" | "DAYS_32" | "DAYS_93")
839
+ attr_accessor utilization_preferences: ::Array[Types::UtilizationPreference]
840
+ attr_accessor preferred_resources: ::Array[Types::PreferredResource]
841
+ attr_accessor savings_estimation_mode: ("AfterDiscounts" | "BeforeDiscounts")
842
+ SENSITIVE: []
843
+ end
844
+
845
+ class PutRecommendationPreferencesResponse < Aws::EmptyStructure
846
+ end
847
+
848
+ class ReasonCodeSummary
849
+ attr_accessor name: ("MemoryOverprovisioned" | "MemoryUnderprovisioned")
850
+ attr_accessor value: ::Float
851
+ SENSITIVE: []
852
+ end
853
+
854
+ class RecommendationExportJob
855
+ attr_accessor job_id: ::String
856
+ attr_accessor destination: Types::ExportDestination
857
+ attr_accessor resource_type: ("Ec2Instance" | "AutoScalingGroup" | "EbsVolume" | "LambdaFunction" | "NotApplicable" | "EcsService" | "License")
858
+ attr_accessor status: ("Queued" | "InProgress" | "Complete" | "Failed")
859
+ attr_accessor creation_timestamp: ::Time
860
+ attr_accessor last_updated_timestamp: ::Time
861
+ attr_accessor failure_reason: ::String
862
+ SENSITIVE: []
863
+ end
864
+
865
+ class RecommendationPreferences
866
+ attr_accessor cpu_vendor_architectures: ::Array[("AWS_ARM64" | "CURRENT")]
867
+ SENSITIVE: []
868
+ end
869
+
870
+ class RecommendationPreferencesDetail
871
+ attr_accessor scope: Types::Scope
872
+ attr_accessor resource_type: ("Ec2Instance" | "AutoScalingGroup" | "EbsVolume" | "LambdaFunction" | "NotApplicable" | "EcsService" | "License")
873
+ attr_accessor enhanced_infrastructure_metrics: ("Active" | "Inactive")
874
+ attr_accessor inferred_workload_types: ("Active" | "Inactive")
875
+ attr_accessor external_metrics_preference: Types::ExternalMetricsPreference
876
+ attr_accessor look_back_period: ("DAYS_14" | "DAYS_32" | "DAYS_93")
877
+ attr_accessor utilization_preferences: ::Array[Types::UtilizationPreference]
878
+ attr_accessor preferred_resources: ::Array[Types::EffectivePreferredResource]
879
+ attr_accessor savings_estimation_mode: ("AfterDiscounts" | "BeforeDiscounts")
880
+ SENSITIVE: []
881
+ end
882
+
883
+ class RecommendationSource
884
+ attr_accessor recommendation_source_arn: ::String
885
+ attr_accessor recommendation_source_type: ("Ec2Instance" | "AutoScalingGroup" | "EbsVolume" | "LambdaFunction" | "EcsService" | "License")
886
+ SENSITIVE: []
887
+ end
888
+
889
+ class RecommendationSummary
890
+ attr_accessor summaries: ::Array[Types::Summary]
891
+ attr_accessor recommendation_resource_type: ("Ec2Instance" | "AutoScalingGroup" | "EbsVolume" | "LambdaFunction" | "EcsService" | "License")
892
+ attr_accessor account_id: ::String
893
+ attr_accessor savings_opportunity: Types::SavingsOpportunity
894
+ attr_accessor current_performance_risk_ratings: Types::CurrentPerformanceRiskRatings
895
+ attr_accessor inferred_workload_savings: ::Array[Types::InferredWorkloadSaving]
896
+ SENSITIVE: []
897
+ end
898
+
899
+ class RecommendedOptionProjectedMetric
900
+ attr_accessor recommended_instance_type: ::String
901
+ attr_accessor rank: ::Integer
902
+ attr_accessor projected_metrics: ::Array[Types::ProjectedMetric]
903
+ SENSITIVE: []
904
+ end
905
+
906
+ class ResourceNotFoundException
907
+ attr_accessor message: ::String
908
+ SENSITIVE: []
909
+ end
910
+
911
+ class S3Destination
912
+ attr_accessor bucket: ::String
913
+ attr_accessor key: ::String
914
+ attr_accessor metadata_key: ::String
915
+ SENSITIVE: []
916
+ end
917
+
918
+ class S3DestinationConfig
919
+ attr_accessor bucket: ::String
920
+ attr_accessor key_prefix: ::String
921
+ SENSITIVE: []
922
+ end
923
+
924
+ class SavingsOpportunity
925
+ attr_accessor savings_opportunity_percentage: ::Float
926
+ attr_accessor estimated_monthly_savings: Types::EstimatedMonthlySavings
927
+ SENSITIVE: []
928
+ end
929
+
930
+ class Scope
931
+ attr_accessor name: ("Organization" | "AccountId" | "ResourceArn")
932
+ attr_accessor value: ::String
933
+ SENSITIVE: []
934
+ end
935
+
936
+ class ServiceConfiguration
937
+ attr_accessor memory: ::Integer
938
+ attr_accessor cpu: ::Integer
939
+ attr_accessor container_configurations: ::Array[Types::ContainerConfiguration]
940
+ attr_accessor auto_scaling_configuration: ("TargetTrackingScalingCpu" | "TargetTrackingScalingMemory")
941
+ attr_accessor task_definition_arn: ::String
942
+ SENSITIVE: []
943
+ end
944
+
945
+ class ServiceUnavailableException
946
+ attr_accessor message: ::String
947
+ SENSITIVE: []
948
+ end
949
+
950
+ class Summary
951
+ attr_accessor name: ("Underprovisioned" | "Overprovisioned" | "Optimized" | "NotOptimized")
952
+ attr_accessor value: ::Float
953
+ attr_accessor reason_code_summaries: ::Array[Types::ReasonCodeSummary]
954
+ SENSITIVE: []
955
+ end
956
+
957
+ class Tag
958
+ attr_accessor key: ::String
959
+ attr_accessor value: ::String
960
+ SENSITIVE: []
961
+ end
962
+
963
+ class ThrottlingException
964
+ attr_accessor message: ::String
965
+ SENSITIVE: []
966
+ end
967
+
968
+ class UpdateEnrollmentStatusRequest
969
+ attr_accessor status: ("Active" | "Inactive" | "Pending" | "Failed")
970
+ attr_accessor include_member_accounts: bool
971
+ SENSITIVE: []
972
+ end
973
+
974
+ class UpdateEnrollmentStatusResponse
975
+ attr_accessor status: ("Active" | "Inactive" | "Pending" | "Failed")
976
+ attr_accessor status_reason: ::String
977
+ SENSITIVE: []
978
+ end
979
+
980
+ class UtilizationMetric
981
+ attr_accessor name: ("Cpu" | "Memory" | "EBS_READ_OPS_PER_SECOND" | "EBS_WRITE_OPS_PER_SECOND" | "EBS_READ_BYTES_PER_SECOND" | "EBS_WRITE_BYTES_PER_SECOND" | "DISK_READ_OPS_PER_SECOND" | "DISK_WRITE_OPS_PER_SECOND" | "DISK_READ_BYTES_PER_SECOND" | "DISK_WRITE_BYTES_PER_SECOND" | "NETWORK_IN_BYTES_PER_SECOND" | "NETWORK_OUT_BYTES_PER_SECOND" | "NETWORK_PACKETS_IN_PER_SECOND" | "NETWORK_PACKETS_OUT_PER_SECOND" | "GPU_PERCENTAGE" | "GPU_MEMORY_PERCENTAGE")
982
+ attr_accessor statistic: ("Maximum" | "Average")
983
+ attr_accessor value: ::Float
984
+ SENSITIVE: []
985
+ end
986
+
987
+ class UtilizationPreference
988
+ attr_accessor metric_name: ("CpuUtilization" | "MemoryUtilization")
989
+ attr_accessor metric_parameters: Types::CustomizableMetricParameters
990
+ SENSITIVE: []
991
+ end
992
+
993
+ class VolumeConfiguration
994
+ attr_accessor volume_type: ::String
995
+ attr_accessor volume_size: ::Integer
996
+ attr_accessor volume_baseline_iops: ::Integer
997
+ attr_accessor volume_burst_iops: ::Integer
998
+ attr_accessor volume_baseline_throughput: ::Integer
999
+ attr_accessor volume_burst_throughput: ::Integer
1000
+ attr_accessor root_volume: bool
1001
+ SENSITIVE: []
1002
+ end
1003
+
1004
+ class VolumeRecommendation
1005
+ attr_accessor volume_arn: ::String
1006
+ attr_accessor account_id: ::String
1007
+ attr_accessor current_configuration: Types::VolumeConfiguration
1008
+ attr_accessor finding: ("Optimized" | "NotOptimized")
1009
+ attr_accessor utilization_metrics: ::Array[Types::EBSUtilizationMetric]
1010
+ attr_accessor look_back_period_in_days: ::Float
1011
+ attr_accessor volume_recommendation_options: ::Array[Types::VolumeRecommendationOption]
1012
+ attr_accessor last_refresh_timestamp: ::Time
1013
+ attr_accessor current_performance_risk: ("VeryLow" | "Low" | "Medium" | "High")
1014
+ attr_accessor tags: ::Array[Types::Tag]
1015
+ attr_accessor effective_recommendation_preferences: Types::EBSEffectiveRecommendationPreferences
1016
+ SENSITIVE: []
1017
+ end
1018
+
1019
+ class VolumeRecommendationOption
1020
+ attr_accessor configuration: Types::VolumeConfiguration
1021
+ attr_accessor performance_risk: ::Float
1022
+ attr_accessor rank: ::Integer
1023
+ attr_accessor savings_opportunity: Types::SavingsOpportunity
1024
+ attr_accessor savings_opportunity_after_discounts: Types::EBSSavingsOpportunityAfterDiscounts
1025
+ SENSITIVE: []
1026
+ end
1027
+ end
1028
+ end