aws-sdk-computeoptimizer 1.3.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -23,9 +23,26 @@ module Aws::ComputeOptimizer
23
23
  AutoScalingGroupRecommendationOptions = Shapes::ListShape.new(name: 'AutoScalingGroupRecommendationOptions')
24
24
  AutoScalingGroupRecommendations = Shapes::ListShape.new(name: 'AutoScalingGroupRecommendations')
25
25
  Code = Shapes::StringShape.new(name: 'Code')
26
+ CreationTimestamp = Shapes::TimestampShape.new(name: 'CreationTimestamp')
26
27
  CurrentInstanceType = Shapes::StringShape.new(name: 'CurrentInstanceType')
28
+ DescribeRecommendationExportJobsRequest = Shapes::StructureShape.new(name: 'DescribeRecommendationExportJobsRequest')
29
+ DescribeRecommendationExportJobsResponse = Shapes::StructureShape.new(name: 'DescribeRecommendationExportJobsResponse')
27
30
  DesiredCapacity = Shapes::IntegerShape.new(name: 'DesiredCapacity')
31
+ DestinationBucket = Shapes::StringShape.new(name: 'DestinationBucket')
32
+ DestinationKey = Shapes::StringShape.new(name: 'DestinationKey')
33
+ DestinationKeyPrefix = Shapes::StringShape.new(name: 'DestinationKeyPrefix')
28
34
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
35
+ ExportAutoScalingGroupRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportAutoScalingGroupRecommendationsRequest')
36
+ ExportAutoScalingGroupRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportAutoScalingGroupRecommendationsResponse')
37
+ ExportDestination = Shapes::StructureShape.new(name: 'ExportDestination')
38
+ ExportEC2InstanceRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportEC2InstanceRecommendationsRequest')
39
+ ExportEC2InstanceRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportEC2InstanceRecommendationsResponse')
40
+ ExportableAutoScalingGroupField = Shapes::StringShape.new(name: 'ExportableAutoScalingGroupField')
41
+ ExportableAutoScalingGroupFields = Shapes::ListShape.new(name: 'ExportableAutoScalingGroupFields')
42
+ ExportableInstanceField = Shapes::StringShape.new(name: 'ExportableInstanceField')
43
+ ExportableInstanceFields = Shapes::ListShape.new(name: 'ExportableInstanceFields')
44
+ FailureReason = Shapes::StringShape.new(name: 'FailureReason')
45
+ FileFormat = Shapes::StringShape.new(name: 'FileFormat')
29
46
  Filter = Shapes::StructureShape.new(name: 'Filter')
30
47
  FilterName = Shapes::StringShape.new(name: 'FilterName')
31
48
  FilterValue = Shapes::StringShape.new(name: 'FilterValue')
@@ -55,12 +72,21 @@ module Aws::ComputeOptimizer
55
72
  InstanceType = Shapes::StringShape.new(name: 'InstanceType')
56
73
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
57
74
  InvalidParameterValueException = Shapes::StructureShape.new(name: 'InvalidParameterValueException')
75
+ JobFilter = Shapes::StructureShape.new(name: 'JobFilter')
76
+ JobFilterName = Shapes::StringShape.new(name: 'JobFilterName')
77
+ JobFilters = Shapes::ListShape.new(name: 'JobFilters')
78
+ JobId = Shapes::StringShape.new(name: 'JobId')
79
+ JobIds = Shapes::ListShape.new(name: 'JobIds')
80
+ JobStatus = Shapes::StringShape.new(name: 'JobStatus')
58
81
  LastRefreshTimestamp = Shapes::TimestampShape.new(name: 'LastRefreshTimestamp')
82
+ LastUpdatedTimestamp = Shapes::TimestampShape.new(name: 'LastUpdatedTimestamp')
83
+ LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
59
84
  LookBackPeriodInDays = Shapes::FloatShape.new(name: 'LookBackPeriodInDays')
60
85
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
61
86
  MaxSize = Shapes::IntegerShape.new(name: 'MaxSize')
62
87
  MemberAccountsEnrolled = Shapes::BooleanShape.new(name: 'MemberAccountsEnrolled')
63
88
  Message = Shapes::StringShape.new(name: 'Message')
89
+ MetadataKey = Shapes::StringShape.new(name: 'MetadataKey')
64
90
  MetricName = Shapes::StringShape.new(name: 'MetricName')
65
91
  MetricStatistic = Shapes::StringShape.new(name: 'MetricStatistic')
66
92
  MetricValue = Shapes::FloatShape.new(name: 'MetricValue')
@@ -75,6 +101,8 @@ module Aws::ComputeOptimizer
75
101
  ProjectedMetrics = Shapes::ListShape.new(name: 'ProjectedMetrics')
76
102
  ProjectedUtilizationMetrics = Shapes::ListShape.new(name: 'ProjectedUtilizationMetrics')
77
103
  Rank = Shapes::IntegerShape.new(name: 'Rank')
104
+ RecommendationExportJob = Shapes::StructureShape.new(name: 'RecommendationExportJob')
105
+ RecommendationExportJobs = Shapes::ListShape.new(name: 'RecommendationExportJobs')
78
106
  RecommendationOptions = Shapes::ListShape.new(name: 'RecommendationOptions')
79
107
  RecommendationSource = Shapes::StructureShape.new(name: 'RecommendationSource')
80
108
  RecommendationSourceArn = Shapes::StringShape.new(name: 'RecommendationSourceArn')
@@ -86,6 +114,9 @@ module Aws::ComputeOptimizer
86
114
  RecommendedOptionProjectedMetric = Shapes::StructureShape.new(name: 'RecommendedOptionProjectedMetric')
87
115
  RecommendedOptionProjectedMetrics = Shapes::ListShape.new(name: 'RecommendedOptionProjectedMetrics')
88
116
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
117
+ ResourceType = Shapes::StringShape.new(name: 'ResourceType')
118
+ S3Destination = Shapes::StructureShape.new(name: 'S3Destination')
119
+ S3DestinationConfig = Shapes::StructureShape.new(name: 'S3DestinationConfig')
89
120
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
90
121
  Status = Shapes::StringShape.new(name: 'Status')
91
122
  StatusReason = Shapes::StringShape.new(name: 'StatusReason')
@@ -134,6 +165,47 @@ module Aws::ComputeOptimizer
134
165
 
135
166
  AutoScalingGroupRecommendations.member = Shapes::ShapeRef.new(shape: AutoScalingGroupRecommendation)
136
167
 
168
+ DescribeRecommendationExportJobsRequest.add_member(:job_ids, Shapes::ShapeRef.new(shape: JobIds, location_name: "jobIds"))
169
+ DescribeRecommendationExportJobsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: JobFilters, location_name: "filters"))
170
+ DescribeRecommendationExportJobsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
171
+ DescribeRecommendationExportJobsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
172
+ DescribeRecommendationExportJobsRequest.struct_class = Types::DescribeRecommendationExportJobsRequest
173
+
174
+ DescribeRecommendationExportJobsResponse.add_member(:recommendation_export_jobs, Shapes::ShapeRef.new(shape: RecommendationExportJobs, location_name: "recommendationExportJobs"))
175
+ DescribeRecommendationExportJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
176
+ DescribeRecommendationExportJobsResponse.struct_class = Types::DescribeRecommendationExportJobsResponse
177
+
178
+ ExportAutoScalingGroupRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
179
+ ExportAutoScalingGroupRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: Filters, location_name: "filters"))
180
+ ExportAutoScalingGroupRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableAutoScalingGroupFields, location_name: "fieldsToExport"))
181
+ ExportAutoScalingGroupRecommendationsRequest.add_member(:s3_destination_config, Shapes::ShapeRef.new(shape: S3DestinationConfig, required: true, location_name: "s3DestinationConfig"))
182
+ ExportAutoScalingGroupRecommendationsRequest.add_member(:file_format, Shapes::ShapeRef.new(shape: FileFormat, location_name: "fileFormat"))
183
+ ExportAutoScalingGroupRecommendationsRequest.add_member(:include_member_accounts, Shapes::ShapeRef.new(shape: IncludeMemberAccounts, location_name: "includeMemberAccounts"))
184
+ ExportAutoScalingGroupRecommendationsRequest.struct_class = Types::ExportAutoScalingGroupRecommendationsRequest
185
+
186
+ ExportAutoScalingGroupRecommendationsResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
187
+ ExportAutoScalingGroupRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
188
+ ExportAutoScalingGroupRecommendationsResponse.struct_class = Types::ExportAutoScalingGroupRecommendationsResponse
189
+
190
+ ExportDestination.add_member(:s3, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3"))
191
+ ExportDestination.struct_class = Types::ExportDestination
192
+
193
+ ExportEC2InstanceRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
194
+ ExportEC2InstanceRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: Filters, location_name: "filters"))
195
+ ExportEC2InstanceRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableInstanceFields, location_name: "fieldsToExport"))
196
+ ExportEC2InstanceRecommendationsRequest.add_member(:s3_destination_config, Shapes::ShapeRef.new(shape: S3DestinationConfig, required: true, location_name: "s3DestinationConfig"))
197
+ ExportEC2InstanceRecommendationsRequest.add_member(:file_format, Shapes::ShapeRef.new(shape: FileFormat, location_name: "fileFormat"))
198
+ ExportEC2InstanceRecommendationsRequest.add_member(:include_member_accounts, Shapes::ShapeRef.new(shape: IncludeMemberAccounts, location_name: "includeMemberAccounts"))
199
+ ExportEC2InstanceRecommendationsRequest.struct_class = Types::ExportEC2InstanceRecommendationsRequest
200
+
201
+ ExportEC2InstanceRecommendationsResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
202
+ ExportEC2InstanceRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
203
+ ExportEC2InstanceRecommendationsResponse.struct_class = Types::ExportEC2InstanceRecommendationsResponse
204
+
205
+ ExportableAutoScalingGroupFields.member = Shapes::ShapeRef.new(shape: ExportableAutoScalingGroupField)
206
+
207
+ ExportableInstanceFields.member = Shapes::ShapeRef.new(shape: ExportableInstanceField)
208
+
137
209
  Filter.add_member(:name, Shapes::ShapeRef.new(shape: FilterName, location_name: "name"))
138
210
  Filter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
139
211
  Filter.struct_class = Types::Filter
@@ -227,6 +299,17 @@ module Aws::ComputeOptimizer
227
299
  InvalidParameterValueException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
228
300
  InvalidParameterValueException.struct_class = Types::InvalidParameterValueException
229
301
 
302
+ JobFilter.add_member(:name, Shapes::ShapeRef.new(shape: JobFilterName, location_name: "name"))
303
+ JobFilter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
304
+ JobFilter.struct_class = Types::JobFilter
305
+
306
+ JobFilters.member = Shapes::ShapeRef.new(shape: JobFilter)
307
+
308
+ JobIds.member = Shapes::ShapeRef.new(shape: JobId)
309
+
310
+ LimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
311
+ LimitExceededException.struct_class = Types::LimitExceededException
312
+
230
313
  MetricValues.member = Shapes::ShapeRef.new(shape: MetricValue)
231
314
 
232
315
  MissingAuthenticationToken.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
@@ -244,6 +327,17 @@ module Aws::ComputeOptimizer
244
327
 
245
328
  ProjectedUtilizationMetrics.member = Shapes::ShapeRef.new(shape: UtilizationMetric)
246
329
 
330
+ RecommendationExportJob.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
331
+ RecommendationExportJob.add_member(:destination, Shapes::ShapeRef.new(shape: ExportDestination, location_name: "destination"))
332
+ RecommendationExportJob.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "resourceType"))
333
+ RecommendationExportJob.add_member(:status, Shapes::ShapeRef.new(shape: JobStatus, location_name: "status"))
334
+ RecommendationExportJob.add_member(:creation_timestamp, Shapes::ShapeRef.new(shape: CreationTimestamp, location_name: "creationTimestamp"))
335
+ RecommendationExportJob.add_member(:last_updated_timestamp, Shapes::ShapeRef.new(shape: LastUpdatedTimestamp, location_name: "lastUpdatedTimestamp"))
336
+ RecommendationExportJob.add_member(:failure_reason, Shapes::ShapeRef.new(shape: FailureReason, location_name: "failureReason"))
337
+ RecommendationExportJob.struct_class = Types::RecommendationExportJob
338
+
339
+ RecommendationExportJobs.member = Shapes::ShapeRef.new(shape: RecommendationExportJob)
340
+
247
341
  RecommendationOptions.member = Shapes::ShapeRef.new(shape: InstanceRecommendationOption)
248
342
 
249
343
  RecommendationSource.add_member(:recommendation_source_arn, Shapes::ShapeRef.new(shape: RecommendationSourceArn, location_name: "recommendationSourceArn"))
@@ -269,6 +363,15 @@ module Aws::ComputeOptimizer
269
363
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
270
364
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
271
365
 
366
+ S3Destination.add_member(:bucket, Shapes::ShapeRef.new(shape: DestinationBucket, location_name: "bucket"))
367
+ S3Destination.add_member(:key, Shapes::ShapeRef.new(shape: DestinationKey, location_name: "key"))
368
+ S3Destination.add_member(:metadata_key, Shapes::ShapeRef.new(shape: MetadataKey, location_name: "metadataKey"))
369
+ S3Destination.struct_class = Types::S3Destination
370
+
371
+ S3DestinationConfig.add_member(:bucket, Shapes::ShapeRef.new(shape: DestinationBucket, location_name: "bucket"))
372
+ S3DestinationConfig.add_member(:key_prefix, Shapes::ShapeRef.new(shape: DestinationKeyPrefix, location_name: "keyPrefix"))
373
+ S3DestinationConfig.struct_class = Types::S3DestinationConfig
374
+
272
375
  ServiceUnavailableException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
273
376
  ServiceUnavailableException.struct_class = Types::ServiceUnavailableException
274
377
 
@@ -317,6 +420,54 @@ module Aws::ComputeOptimizer
317
420
  "uid" => "compute-optimizer-2019-11-01",
318
421
  }
319
422
 
423
+ api.add_operation(:describe_recommendation_export_jobs, Seahorse::Model::Operation.new.tap do |o|
424
+ o.name = "DescribeRecommendationExportJobs"
425
+ o.http_method = "POST"
426
+ o.http_request_uri = "/"
427
+ o.input = Shapes::ShapeRef.new(shape: DescribeRecommendationExportJobsRequest)
428
+ o.output = Shapes::ShapeRef.new(shape: DescribeRecommendationExportJobsResponse)
429
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
430
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
431
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
432
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
433
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
434
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
435
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
436
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
437
+ end)
438
+
439
+ api.add_operation(:export_auto_scaling_group_recommendations, Seahorse::Model::Operation.new.tap do |o|
440
+ o.name = "ExportAutoScalingGroupRecommendations"
441
+ o.http_method = "POST"
442
+ o.http_request_uri = "/"
443
+ o.input = Shapes::ShapeRef.new(shape: ExportAutoScalingGroupRecommendationsRequest)
444
+ o.output = Shapes::ShapeRef.new(shape: ExportAutoScalingGroupRecommendationsResponse)
445
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
446
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
447
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
448
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
449
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
450
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
451
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
452
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
453
+ end)
454
+
455
+ api.add_operation(:export_ec2_instance_recommendations, Seahorse::Model::Operation.new.tap do |o|
456
+ o.name = "ExportEC2InstanceRecommendations"
457
+ o.http_method = "POST"
458
+ o.http_request_uri = "/"
459
+ o.input = Shapes::ShapeRef.new(shape: ExportEC2InstanceRecommendationsRequest)
460
+ o.output = Shapes::ShapeRef.new(shape: ExportEC2InstanceRecommendationsResponse)
461
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
462
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
463
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
464
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
465
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
466
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
467
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
468
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
469
+ end)
470
+
320
471
  api.add_operation(:get_auto_scaling_group_recommendations, Seahorse::Model::Operation.new.tap do |o|
321
472
  o.name = "GetAutoScalingGroupRecommendations"
322
473
  o.http_method = "POST"
@@ -28,6 +28,7 @@ module Aws::ComputeOptimizer
28
28
  # * {AccessDeniedException}
29
29
  # * {InternalServerException}
30
30
  # * {InvalidParameterValueException}
31
+ # * {LimitExceededException}
31
32
  # * {MissingAuthenticationToken}
32
33
  # * {OptInRequiredException}
33
34
  # * {ResourceNotFoundException}
@@ -85,6 +86,21 @@ module Aws::ComputeOptimizer
85
86
  end
86
87
  end
87
88
 
89
+ class LimitExceededException < ServiceError
90
+
91
+ # @param [Seahorse::Client::RequestContext] context
92
+ # @param [String] message
93
+ # @param [Aws::ComputeOptimizer::Types::LimitExceededException] data
94
+ def initialize(context, message, data = Aws::EmptyStructure.new)
95
+ super(context, message, data)
96
+ end
97
+
98
+ # @return [String]
99
+ def message
100
+ @message || @data[:message]
101
+ end
102
+ end
103
+
88
104
  class MissingAuthenticationToken < ServiceError
89
105
 
90
106
  # @param [Seahorse::Client::RequestContext] context
@@ -166,6 +166,332 @@ module Aws::ComputeOptimizer
166
166
  include Aws::Structure
167
167
  end
168
168
 
169
+ # @note When making an API call, you may pass DescribeRecommendationExportJobsRequest
170
+ # data as a hash:
171
+ #
172
+ # {
173
+ # job_ids: ["JobId"],
174
+ # filters: [
175
+ # {
176
+ # name: "ResourceType", # accepts ResourceType, JobStatus
177
+ # values: ["FilterValue"],
178
+ # },
179
+ # ],
180
+ # next_token: "NextToken",
181
+ # max_results: 1,
182
+ # }
183
+ #
184
+ # @!attribute [rw] job_ids
185
+ # The identification numbers of the export jobs to return.
186
+ #
187
+ # An export job ID is returned when you create an export using the
188
+ # `ExportAutoScalingGroupRecommendations` or
189
+ # `ExportEC2InstanceRecommendations` actions.
190
+ #
191
+ # All export jobs created in the last seven days are returned if this
192
+ # parameter is omitted.
193
+ # @return [Array<String>]
194
+ #
195
+ # @!attribute [rw] filters
196
+ # An array of objects that describe a filter to return a more specific
197
+ # list of export jobs.
198
+ # @return [Array<Types::JobFilter>]
199
+ #
200
+ # @!attribute [rw] next_token
201
+ # The token to advance to the next page of export jobs.
202
+ # @return [String]
203
+ #
204
+ # @!attribute [rw] max_results
205
+ # The maximum number of export jobs to return with a single request.
206
+ #
207
+ # To retrieve the remaining results, make another request with the
208
+ # returned `NextToken` value.
209
+ # @return [Integer]
210
+ #
211
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DescribeRecommendationExportJobsRequest AWS API Documentation
212
+ #
213
+ class DescribeRecommendationExportJobsRequest < Struct.new(
214
+ :job_ids,
215
+ :filters,
216
+ :next_token,
217
+ :max_results)
218
+ include Aws::Structure
219
+ end
220
+
221
+ # @!attribute [rw] recommendation_export_jobs
222
+ # An array of objects that describe recommendation export jobs.
223
+ # @return [Array<Types::RecommendationExportJob>]
224
+ #
225
+ # @!attribute [rw] next_token
226
+ # The token to use to advance to the next page of export jobs.
227
+ #
228
+ # This value is null when there are no more pages of export jobs to
229
+ # return.
230
+ # @return [String]
231
+ #
232
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DescribeRecommendationExportJobsResponse AWS API Documentation
233
+ #
234
+ class DescribeRecommendationExportJobsResponse < Struct.new(
235
+ :recommendation_export_jobs,
236
+ :next_token)
237
+ include Aws::Structure
238
+ end
239
+
240
+ # @note When making an API call, you may pass ExportAutoScalingGroupRecommendationsRequest
241
+ # data as a hash:
242
+ #
243
+ # {
244
+ # account_ids: ["AccountId"],
245
+ # filters: [
246
+ # {
247
+ # name: "Finding", # accepts Finding, RecommendationSourceType
248
+ # values: ["FilterValue"],
249
+ # },
250
+ # ],
251
+ # fields_to_export: ["AccountId"], # accepts AccountId, AutoScalingGroupArn, AutoScalingGroupName, Finding, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, 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
252
+ # s3_destination_config: { # required
253
+ # bucket: "DestinationBucket",
254
+ # key_prefix: "DestinationKeyPrefix",
255
+ # },
256
+ # file_format: "Csv", # accepts Csv
257
+ # include_member_accounts: false,
258
+ # }
259
+ #
260
+ # @!attribute [rw] account_ids
261
+ # The IDs of the AWS accounts for which to export Auto Scaling group
262
+ # recommendations.
263
+ #
264
+ # If your account is the master account of an organization, use this
265
+ # parameter to specify the member accounts for which you want to
266
+ # export recommendations.
267
+ #
268
+ # This parameter cannot be specified together with the include member
269
+ # accounts parameter. The parameters are mutually exclusive.
270
+ #
271
+ # Recommendations for member accounts are not included in the export
272
+ # if this parameter, or the include member accounts parameter, is
273
+ # omitted.
274
+ #
275
+ # You can specify multiple account IDs per request.
276
+ # @return [Array<String>]
277
+ #
278
+ # @!attribute [rw] filters
279
+ # An array of objects that describe a filter to export a more specific
280
+ # set of Auto Scaling group recommendations.
281
+ # @return [Array<Types::Filter>]
282
+ #
283
+ # @!attribute [rw] fields_to_export
284
+ # The recommendations data to include in the export file.
285
+ # @return [Array<String>]
286
+ #
287
+ # @!attribute [rw] s3_destination_config
288
+ # An object to specify the destination Amazon Simple Storage Service
289
+ # (Amazon S3) bucket name and key prefix for the export job.
290
+ #
291
+ # You must create the destination Amazon S3 bucket for your
292
+ # recommendations export before you create the export job. Compute
293
+ # Optimizer does not create the S3 bucket for you. After you create
294
+ # the S3 bucket, ensure that it has the required permission policy to
295
+ # allow Compute Optimizer to write the export file to it. If you plan
296
+ # to specify an object prefix when you create the export job, you must
297
+ # include the object prefix in the policy that you add to the S3
298
+ # bucket. For more information, see [Amazon S3 Bucket Policy for
299
+ # Compute Optimizer][1] in the *Compute Optimizer user guide*.
300
+ #
301
+ #
302
+ #
303
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
304
+ # @return [Types::S3DestinationConfig]
305
+ #
306
+ # @!attribute [rw] file_format
307
+ # The format of the export file.
308
+ #
309
+ # The only export file format currently supported is `Csv`.
310
+ # @return [String]
311
+ #
312
+ # @!attribute [rw] include_member_accounts
313
+ # Indicates whether to include recommendations for resources in all
314
+ # member accounts of the organization if your account is the master
315
+ # account of an organization.
316
+ #
317
+ # The member accounts must also be opted in to Compute Optimizer.
318
+ #
319
+ # Recommendations for member accounts of the organization are not
320
+ # included in the export file if this parameter is omitted.
321
+ #
322
+ # This parameter cannot be specified together with the account IDs
323
+ # parameter. The parameters are mutually exclusive.
324
+ #
325
+ # Recommendations for member accounts are not included in the export
326
+ # if this parameter, or the account IDs parameter, is omitted.
327
+ # @return [Boolean]
328
+ #
329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportAutoScalingGroupRecommendationsRequest AWS API Documentation
330
+ #
331
+ class ExportAutoScalingGroupRecommendationsRequest < Struct.new(
332
+ :account_ids,
333
+ :filters,
334
+ :fields_to_export,
335
+ :s3_destination_config,
336
+ :file_format,
337
+ :include_member_accounts)
338
+ include Aws::Structure
339
+ end
340
+
341
+ # @!attribute [rw] job_id
342
+ # The identification number of the export job.
343
+ #
344
+ # Use the `DescribeRecommendationExportJobs` action, and specify the
345
+ # job ID to view the status of an export job.
346
+ # @return [String]
347
+ #
348
+ # @!attribute [rw] s3_destination
349
+ # An object that describes the destination Amazon S3 bucket of a
350
+ # recommendations export file.
351
+ # @return [Types::S3Destination]
352
+ #
353
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportAutoScalingGroupRecommendationsResponse AWS API Documentation
354
+ #
355
+ class ExportAutoScalingGroupRecommendationsResponse < Struct.new(
356
+ :job_id,
357
+ :s3_destination)
358
+ include Aws::Structure
359
+ end
360
+
361
+ # Describes the destination of the recommendations export and metadata
362
+ # files.
363
+ #
364
+ # @!attribute [rw] s3
365
+ # An object that describes the destination Amazon Simple Storage
366
+ # Service (Amazon S3) bucket name and object keys of a recommendations
367
+ # export file, and its associated metadata file.
368
+ # @return [Types::S3Destination]
369
+ #
370
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportDestination AWS API Documentation
371
+ #
372
+ class ExportDestination < Struct.new(
373
+ :s3)
374
+ include Aws::Structure
375
+ end
376
+
377
+ # @note When making an API call, you may pass ExportEC2InstanceRecommendationsRequest
378
+ # data as a hash:
379
+ #
380
+ # {
381
+ # account_ids: ["AccountId"],
382
+ # filters: [
383
+ # {
384
+ # name: "Finding", # accepts Finding, RecommendationSourceType
385
+ # values: ["FilterValue"],
386
+ # },
387
+ # ],
388
+ # fields_to_export: ["AccountId"], # accepts AccountId, InstanceArn, InstanceName, Finding, LookbackPeriodInDays, CurrentInstanceType, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsInstanceType, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPerformanceRisk, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationsSourcesRecommendationSourceArn, RecommendationsSourcesRecommendationSourceType, LastRefreshTimestamp
389
+ # s3_destination_config: { # required
390
+ # bucket: "DestinationBucket",
391
+ # key_prefix: "DestinationKeyPrefix",
392
+ # },
393
+ # file_format: "Csv", # accepts Csv
394
+ # include_member_accounts: false,
395
+ # }
396
+ #
397
+ # @!attribute [rw] account_ids
398
+ # The IDs of the AWS accounts for which to export instance
399
+ # recommendations.
400
+ #
401
+ # If your account is the master account of an organization, use this
402
+ # parameter to specify the member accounts for which you want to
403
+ # export recommendations.
404
+ #
405
+ # This parameter cannot be specified together with the include member
406
+ # accounts parameter. The parameters are mutually exclusive.
407
+ #
408
+ # Recommendations for member accounts are not included in the export
409
+ # if this parameter, or the include member accounts parameter, is
410
+ # omitted.
411
+ #
412
+ # You can specify multiple account IDs per request.
413
+ # @return [Array<String>]
414
+ #
415
+ # @!attribute [rw] filters
416
+ # An array of objects that describe a filter to export a more specific
417
+ # set of instance recommendations.
418
+ # @return [Array<Types::Filter>]
419
+ #
420
+ # @!attribute [rw] fields_to_export
421
+ # The recommendations data to include in the export file.
422
+ # @return [Array<String>]
423
+ #
424
+ # @!attribute [rw] s3_destination_config
425
+ # An object to specify the destination Amazon Simple Storage Service
426
+ # (Amazon S3) bucket name and key prefix for the export job.
427
+ #
428
+ # You must create the destination Amazon S3 bucket for your
429
+ # recommendations export before you create the export job. Compute
430
+ # Optimizer does not create the S3 bucket for you. After you create
431
+ # the S3 bucket, ensure that it has the required permission policy to
432
+ # allow Compute Optimizer to write the export file to it. If you plan
433
+ # to specify an object prefix when you create the export job, you must
434
+ # include the object prefix in the policy that you add to the S3
435
+ # bucket. For more information, see [Amazon S3 Bucket Policy for
436
+ # Compute Optimizer][1] in the *Compute Optimizer user guide*.
437
+ #
438
+ #
439
+ #
440
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
441
+ # @return [Types::S3DestinationConfig]
442
+ #
443
+ # @!attribute [rw] file_format
444
+ # The format of the export file.
445
+ #
446
+ # The only export file format currently supported is `Csv`.
447
+ # @return [String]
448
+ #
449
+ # @!attribute [rw] include_member_accounts
450
+ # Indicates whether to include recommendations for resources in all
451
+ # member accounts of the organization if your account is the master
452
+ # account of an organization.
453
+ #
454
+ # The member accounts must also be opted in to Compute Optimizer.
455
+ #
456
+ # Recommendations for member accounts of the organization are not
457
+ # included in the export file if this parameter is omitted.
458
+ #
459
+ # Recommendations for member accounts are not included in the export
460
+ # if this parameter, or the account IDs parameter, is omitted.
461
+ # @return [Boolean]
462
+ #
463
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendationsRequest AWS API Documentation
464
+ #
465
+ class ExportEC2InstanceRecommendationsRequest < Struct.new(
466
+ :account_ids,
467
+ :filters,
468
+ :fields_to_export,
469
+ :s3_destination_config,
470
+ :file_format,
471
+ :include_member_accounts)
472
+ include Aws::Structure
473
+ end
474
+
475
+ # @!attribute [rw] job_id
476
+ # The identification number of the export job.
477
+ #
478
+ # Use the `DescribeRecommendationExportJobs` action, and specify the
479
+ # job ID to view the status of an export job.
480
+ # @return [String]
481
+ #
482
+ # @!attribute [rw] s3_destination
483
+ # An object that describes the destination Amazon S3 bucket of a
484
+ # recommendations export file.
485
+ # @return [Types::S3Destination]
486
+ #
487
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendationsResponse AWS API Documentation
488
+ #
489
+ class ExportEC2InstanceRecommendationsResponse < Struct.new(
490
+ :job_id,
491
+ :s3_destination)
492
+ include Aws::Structure
493
+ end
494
+
169
495
  # Describes a filter that returns a more specific list of
170
496
  # recommendations.
171
497
  #
@@ -180,27 +506,27 @@ module Aws::ComputeOptimizer
180
506
  # @!attribute [rw] name
181
507
  # The name of the filter.
182
508
  #
183
- # Specify `Finding` to filter the results to a specific findings
184
- # classification.
509
+ # Specify `Finding` to return recommendations with a specific findings
510
+ # classification (e.g., `Overprovisioned`).
185
511
  #
186
- # Specify `RecommendationSourceType` to filter the results to a
187
- # specific resource type.
512
+ # Specify `RecommendationSourceType` to return recommendations of a
513
+ # specific resource type (e.g., `AutoScalingGroup`).
188
514
  # @return [String]
189
515
  #
190
516
  # @!attribute [rw] values
191
517
  # The value of the filter.
192
518
  #
193
- # If you specify the `name` parameter as `Finding`, and you're
519
+ # If you specify the `name` parameter as `Finding`, and you request
194
520
  # recommendations for an *instance*, then the valid values are
195
521
  # `Underprovisioned`, `Overprovisioned`, `NotOptimized`, or
196
522
  # `Optimized`.
197
523
  #
198
- # If you specify the `name` parameter as `Finding`, and you're
524
+ # If you specify the `name` parameter as `Finding`, and you request
199
525
  # recommendations for an *Auto Scaling group*, then the valid values
200
526
  # are `Optimized`, or `NotOptimized`.
201
527
  #
202
528
  # If you specify the `name` parameter as `RecommendationSourceType`,
203
- # then the valid values are `EC2Instance`, or `AutoScalingGroup`.
529
+ # then the valid values are `Ec2Instance`, or `AutoScalingGroup`.
204
530
  # @return [Array<String>]
205
531
  #
206
532
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/Filter AWS API Documentation
@@ -228,9 +554,13 @@ module Aws::ComputeOptimizer
228
554
  # }
229
555
  #
230
556
  # @!attribute [rw] account_ids
231
- # The AWS account IDs for which to return Auto Scaling group
557
+ # The IDs of the AWS accounts for which to return Auto Scaling group
232
558
  # recommendations.
233
559
  #
560
+ # If your account is the master account of an organization, use this
561
+ # parameter to specify the member accounts for which you want to
562
+ # return Auto Scaling group recommendations.
563
+ #
234
564
  # Only one account ID can be specified per request.
235
565
  # @return [Array<String>]
236
566
  #
@@ -246,9 +576,9 @@ module Aws::ComputeOptimizer
246
576
  #
247
577
  # @!attribute [rw] max_results
248
578
  # The maximum number of Auto Scaling group recommendations to return
249
- # with a single call.
579
+ # with a single request.
250
580
  #
251
- # To retrieve the remaining results, make another call with the
581
+ # To retrieve the remaining results, make another request with the
252
582
  # returned `NextToken` value.
253
583
  # @return [Integer]
254
584
  #
@@ -324,9 +654,9 @@ module Aws::ComputeOptimizer
324
654
  #
325
655
  # @!attribute [rw] max_results
326
656
  # The maximum number of instance recommendations to return with a
327
- # single call.
657
+ # single request.
328
658
  #
329
- # To retrieve the remaining results, make another call with the
659
+ # To retrieve the remaining results, make another request with the
330
660
  # returned `NextToken` value.
331
661
  # @return [Integer]
332
662
  #
@@ -336,7 +666,12 @@ module Aws::ComputeOptimizer
336
666
  # @return [Array<Types::Filter>]
337
667
  #
338
668
  # @!attribute [rw] account_ids
339
- # The AWS account IDs for which to return instance recommendations.
669
+ # The IDs of the AWS accounts for which to return instance
670
+ # recommendations.
671
+ #
672
+ # If your account is the master account of an organization, use this
673
+ # parameter to specify the member accounts for which you want to
674
+ # return instance recommendations.
340
675
  #
341
676
  # Only one account ID can be specified per request.
342
677
  # @return [Array<String>]
@@ -503,7 +838,12 @@ module Aws::ComputeOptimizer
503
838
  # }
504
839
  #
505
840
  # @!attribute [rw] account_ids
506
- # The AWS account IDs for which to return recommendation summaries.
841
+ # The IDs of the AWS accounts for which to return recommendation
842
+ # summaries.
843
+ #
844
+ # If your account is the master account of an organization, use this
845
+ # parameter to specify the member accounts for which you want to
846
+ # return recommendation summaries.
507
847
  #
508
848
  # Only one account ID can be specified per request.
509
849
  # @return [Array<String>]
@@ -514,9 +854,9 @@ module Aws::ComputeOptimizer
514
854
  #
515
855
  # @!attribute [rw] max_results
516
856
  # The maximum number of recommendation summaries to return with a
517
- # single call.
857
+ # single request.
518
858
  #
519
- # To retrieve the remaining results, make another call with the
859
+ # To retrieve the remaining results, make another request with the
520
860
  # returned `NextToken` value.
521
861
  # @return [Integer]
522
862
  #
@@ -556,7 +896,7 @@ module Aws::ComputeOptimizer
556
896
  # @return [String]
557
897
  #
558
898
  # @!attribute [rw] account_id
559
- # The AWS account ID of the instance recommendation.
899
+ # The AWS account ID of the instance.
560
900
  # @return [String]
561
901
  #
562
902
  # @!attribute [rw] instance_name
@@ -677,8 +1017,7 @@ module Aws::ComputeOptimizer
677
1017
  include Aws::Structure
678
1018
  end
679
1019
 
680
- # The request processing has failed because of an unknown error,
681
- # exception, or failure.
1020
+ # An internal error has occurred. Try your call again.
682
1021
  #
683
1022
  # @!attribute [rw] message
684
1023
  # @return [String]
@@ -702,6 +1041,60 @@ module Aws::ComputeOptimizer
702
1041
  include Aws::Structure
703
1042
  end
704
1043
 
1044
+ # Describes a filter that returns a more specific list of recommendation
1045
+ # export jobs.
1046
+ #
1047
+ # This filter is used with the `DescribeRecommendationExportJobs`
1048
+ # action.
1049
+ #
1050
+ # @note When making an API call, you may pass JobFilter
1051
+ # data as a hash:
1052
+ #
1053
+ # {
1054
+ # name: "ResourceType", # accepts ResourceType, JobStatus
1055
+ # values: ["FilterValue"],
1056
+ # }
1057
+ #
1058
+ # @!attribute [rw] name
1059
+ # The name of the filter.
1060
+ #
1061
+ # Specify `ResourceType` to return export jobs of a specific resource
1062
+ # type (e.g., `Ec2Instance`).
1063
+ #
1064
+ # Specify `JobStatus` to return export jobs with a specific status
1065
+ # (e.g, `Complete`).
1066
+ # @return [String]
1067
+ #
1068
+ # @!attribute [rw] values
1069
+ # The value of the filter.
1070
+ #
1071
+ # If you specify the `name` parameter as `ResourceType`, the valid
1072
+ # values are `Ec2Instance` or `AutoScalingGroup`.
1073
+ #
1074
+ # If you specify the `name` parameter as `JobStatus`, the valid values
1075
+ # are `Queued`, `InProgress`, `Complete`, or `Failed`.
1076
+ # @return [Array<String>]
1077
+ #
1078
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/JobFilter AWS API Documentation
1079
+ #
1080
+ class JobFilter < Struct.new(
1081
+ :name,
1082
+ :values)
1083
+ include Aws::Structure
1084
+ end
1085
+
1086
+ # The request exceeds a limit of the service.
1087
+ #
1088
+ # @!attribute [rw] message
1089
+ # @return [String]
1090
+ #
1091
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LimitExceededException AWS API Documentation
1092
+ #
1093
+ class LimitExceededException < Struct.new(
1094
+ :message)
1095
+ include Aws::Structure
1096
+ end
1097
+
705
1098
  # The request must contain either a valid (registered) AWS access key ID
706
1099
  # or X.509 certificate.
707
1100
  #
@@ -715,7 +1108,7 @@ module Aws::ComputeOptimizer
715
1108
  include Aws::Structure
716
1109
  end
717
1110
 
718
- # You must opt in to the service to perform this action.
1111
+ # The account is not opted in to AWS Compute Optimizer.
719
1112
  #
720
1113
  # @!attribute [rw] message
721
1114
  # @return [String]
@@ -761,6 +1154,56 @@ module Aws::ComputeOptimizer
761
1154
  include Aws::Structure
762
1155
  end
763
1156
 
1157
+ # Describes a recommendation export job.
1158
+ #
1159
+ # Use the `DescribeRecommendationExportJobs` action to view your
1160
+ # recommendation export jobs.
1161
+ #
1162
+ # Use the `ExportAutoScalingGroupRecommendations` or
1163
+ # `ExportEC2InstanceRecommendations` actions to request an export of
1164
+ # your recommendations.
1165
+ #
1166
+ # @!attribute [rw] job_id
1167
+ # The identification number of the export job.
1168
+ # @return [String]
1169
+ #
1170
+ # @!attribute [rw] destination
1171
+ # An object that describes the destination of the export file.
1172
+ # @return [Types::ExportDestination]
1173
+ #
1174
+ # @!attribute [rw] resource_type
1175
+ # The resource type of the exported recommendations.
1176
+ # @return [String]
1177
+ #
1178
+ # @!attribute [rw] status
1179
+ # The status of the export job.
1180
+ # @return [String]
1181
+ #
1182
+ # @!attribute [rw] creation_timestamp
1183
+ # The timestamp of when the export job was created.
1184
+ # @return [Time]
1185
+ #
1186
+ # @!attribute [rw] last_updated_timestamp
1187
+ # The timestamp of when the export job was last updated.
1188
+ # @return [Time]
1189
+ #
1190
+ # @!attribute [rw] failure_reason
1191
+ # The reason for an export job failure.
1192
+ # @return [String]
1193
+ #
1194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/RecommendationExportJob AWS API Documentation
1195
+ #
1196
+ class RecommendationExportJob < Struct.new(
1197
+ :job_id,
1198
+ :destination,
1199
+ :resource_type,
1200
+ :status,
1201
+ :creation_timestamp,
1202
+ :last_updated_timestamp,
1203
+ :failure_reason)
1204
+ include Aws::Structure
1205
+ end
1206
+
764
1207
  # Describes the source of a recommendation, such as an Amazon EC2
765
1208
  # instance or Auto Scaling group.
766
1209
  #
@@ -833,7 +1276,7 @@ module Aws::ComputeOptimizer
833
1276
  include Aws::Structure
834
1277
  end
835
1278
 
836
- # The specified resource was not found.
1279
+ # A resource that is required for the action doesn't exist.
837
1280
  #
838
1281
  # @!attribute [rw] message
839
1282
  # @return [String]
@@ -845,6 +1288,80 @@ module Aws::ComputeOptimizer
845
1288
  include Aws::Structure
846
1289
  end
847
1290
 
1291
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
1292
+ # bucket name and object keys of a recommendations export file, and its
1293
+ # associated metadata file.
1294
+ #
1295
+ # @!attribute [rw] bucket
1296
+ # The name of the Amazon S3 bucket used as the destination of an
1297
+ # export file.
1298
+ # @return [String]
1299
+ #
1300
+ # @!attribute [rw] key
1301
+ # The Amazon S3 bucket key of an export file.
1302
+ #
1303
+ # The key uniquely identifies the object, or export file, in the S3
1304
+ # bucket.
1305
+ # @return [String]
1306
+ #
1307
+ # @!attribute [rw] metadata_key
1308
+ # The Amazon S3 bucket key of a metadata file.
1309
+ #
1310
+ # The key uniquely identifies the object, or metadata file, in the S3
1311
+ # bucket.
1312
+ # @return [String]
1313
+ #
1314
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/S3Destination AWS API Documentation
1315
+ #
1316
+ class S3Destination < Struct.new(
1317
+ :bucket,
1318
+ :key,
1319
+ :metadata_key)
1320
+ include Aws::Structure
1321
+ end
1322
+
1323
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
1324
+ # bucket name and key prefix for a recommendations export job.
1325
+ #
1326
+ # You must create the destination Amazon S3 bucket for your
1327
+ # recommendations export before you create the export job. Compute
1328
+ # Optimizer does not create the S3 bucket for you. After you create the
1329
+ # S3 bucket, ensure that it has the required permission policy to allow
1330
+ # Compute Optimizer to write the export file to it. If you plan to
1331
+ # specify an object prefix when you create the export job, you must
1332
+ # include the object prefix in the policy that you add to the S3 bucket.
1333
+ # For more information, see [Amazon S3 Bucket Policy for Compute
1334
+ # Optimizer][1] in the *Compute Optimizer user guide*.
1335
+ #
1336
+ #
1337
+ #
1338
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
1339
+ #
1340
+ # @note When making an API call, you may pass S3DestinationConfig
1341
+ # data as a hash:
1342
+ #
1343
+ # {
1344
+ # bucket: "DestinationBucket",
1345
+ # key_prefix: "DestinationKeyPrefix",
1346
+ # }
1347
+ #
1348
+ # @!attribute [rw] bucket
1349
+ # The name of the Amazon S3 bucket to use as the destination for an
1350
+ # export job.
1351
+ # @return [String]
1352
+ #
1353
+ # @!attribute [rw] key_prefix
1354
+ # The Amazon S3 bucket prefix for an export job.
1355
+ # @return [String]
1356
+ #
1357
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/S3DestinationConfig AWS API Documentation
1358
+ #
1359
+ class S3DestinationConfig < Struct.new(
1360
+ :bucket,
1361
+ :key_prefix)
1362
+ include Aws::Structure
1363
+ end
1364
+
848
1365
  # The request has failed due to a temporary failure of the server.
849
1366
  #
850
1367
  # @!attribute [rw] message
@@ -875,7 +1392,7 @@ module Aws::ComputeOptimizer
875
1392
  include Aws::Structure
876
1393
  end
877
1394
 
878
- # The limit on the number of requests per second was exceeded.
1395
+ # The request was denied due to request throttling.
879
1396
  #
880
1397
  # @!attribute [rw] message
881
1398
  # @return [String]
@@ -903,8 +1420,8 @@ module Aws::ComputeOptimizer
903
1420
  # @return [String]
904
1421
  #
905
1422
  # @!attribute [rw] include_member_accounts
906
- # Indicates whether to enroll member accounts within the organization,
907
- # if the account is a master account of an organization.
1423
+ # Indicates whether to enroll member accounts of the organization if
1424
+ # the your account is the master account of an organization.
908
1425
  # @return [Boolean]
909
1426
  #
910
1427
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UpdateEnrollmentStatusRequest AWS API Documentation