aws-sdk-computeoptimizer 1.2.0 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -23,9 +25,26 @@ module Aws::ComputeOptimizer
23
25
  AutoScalingGroupRecommendationOptions = Shapes::ListShape.new(name: 'AutoScalingGroupRecommendationOptions')
24
26
  AutoScalingGroupRecommendations = Shapes::ListShape.new(name: 'AutoScalingGroupRecommendations')
25
27
  Code = Shapes::StringShape.new(name: 'Code')
28
+ CreationTimestamp = Shapes::TimestampShape.new(name: 'CreationTimestamp')
26
29
  CurrentInstanceType = Shapes::StringShape.new(name: 'CurrentInstanceType')
30
+ DescribeRecommendationExportJobsRequest = Shapes::StructureShape.new(name: 'DescribeRecommendationExportJobsRequest')
31
+ DescribeRecommendationExportJobsResponse = Shapes::StructureShape.new(name: 'DescribeRecommendationExportJobsResponse')
27
32
  DesiredCapacity = Shapes::IntegerShape.new(name: 'DesiredCapacity')
33
+ DestinationBucket = Shapes::StringShape.new(name: 'DestinationBucket')
34
+ DestinationKey = Shapes::StringShape.new(name: 'DestinationKey')
35
+ DestinationKeyPrefix = Shapes::StringShape.new(name: 'DestinationKeyPrefix')
28
36
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
37
+ ExportAutoScalingGroupRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportAutoScalingGroupRecommendationsRequest')
38
+ ExportAutoScalingGroupRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportAutoScalingGroupRecommendationsResponse')
39
+ ExportDestination = Shapes::StructureShape.new(name: 'ExportDestination')
40
+ ExportEC2InstanceRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportEC2InstanceRecommendationsRequest')
41
+ ExportEC2InstanceRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportEC2InstanceRecommendationsResponse')
42
+ ExportableAutoScalingGroupField = Shapes::StringShape.new(name: 'ExportableAutoScalingGroupField')
43
+ ExportableAutoScalingGroupFields = Shapes::ListShape.new(name: 'ExportableAutoScalingGroupFields')
44
+ ExportableInstanceField = Shapes::StringShape.new(name: 'ExportableInstanceField')
45
+ ExportableInstanceFields = Shapes::ListShape.new(name: 'ExportableInstanceFields')
46
+ FailureReason = Shapes::StringShape.new(name: 'FailureReason')
47
+ FileFormat = Shapes::StringShape.new(name: 'FileFormat')
29
48
  Filter = Shapes::StructureShape.new(name: 'Filter')
30
49
  FilterName = Shapes::StringShape.new(name: 'FilterName')
31
50
  FilterValue = Shapes::StringShape.new(name: 'FilterValue')
@@ -55,12 +74,21 @@ module Aws::ComputeOptimizer
55
74
  InstanceType = Shapes::StringShape.new(name: 'InstanceType')
56
75
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
57
76
  InvalidParameterValueException = Shapes::StructureShape.new(name: 'InvalidParameterValueException')
77
+ JobFilter = Shapes::StructureShape.new(name: 'JobFilter')
78
+ JobFilterName = Shapes::StringShape.new(name: 'JobFilterName')
79
+ JobFilters = Shapes::ListShape.new(name: 'JobFilters')
80
+ JobId = Shapes::StringShape.new(name: 'JobId')
81
+ JobIds = Shapes::ListShape.new(name: 'JobIds')
82
+ JobStatus = Shapes::StringShape.new(name: 'JobStatus')
58
83
  LastRefreshTimestamp = Shapes::TimestampShape.new(name: 'LastRefreshTimestamp')
84
+ LastUpdatedTimestamp = Shapes::TimestampShape.new(name: 'LastUpdatedTimestamp')
85
+ LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
59
86
  LookBackPeriodInDays = Shapes::FloatShape.new(name: 'LookBackPeriodInDays')
60
87
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
61
88
  MaxSize = Shapes::IntegerShape.new(name: 'MaxSize')
62
89
  MemberAccountsEnrolled = Shapes::BooleanShape.new(name: 'MemberAccountsEnrolled')
63
90
  Message = Shapes::StringShape.new(name: 'Message')
91
+ MetadataKey = Shapes::StringShape.new(name: 'MetadataKey')
64
92
  MetricName = Shapes::StringShape.new(name: 'MetricName')
65
93
  MetricStatistic = Shapes::StringShape.new(name: 'MetricStatistic')
66
94
  MetricValue = Shapes::FloatShape.new(name: 'MetricValue')
@@ -75,6 +103,8 @@ module Aws::ComputeOptimizer
75
103
  ProjectedMetrics = Shapes::ListShape.new(name: 'ProjectedMetrics')
76
104
  ProjectedUtilizationMetrics = Shapes::ListShape.new(name: 'ProjectedUtilizationMetrics')
77
105
  Rank = Shapes::IntegerShape.new(name: 'Rank')
106
+ RecommendationExportJob = Shapes::StructureShape.new(name: 'RecommendationExportJob')
107
+ RecommendationExportJobs = Shapes::ListShape.new(name: 'RecommendationExportJobs')
78
108
  RecommendationOptions = Shapes::ListShape.new(name: 'RecommendationOptions')
79
109
  RecommendationSource = Shapes::StructureShape.new(name: 'RecommendationSource')
80
110
  RecommendationSourceArn = Shapes::StringShape.new(name: 'RecommendationSourceArn')
@@ -86,6 +116,9 @@ module Aws::ComputeOptimizer
86
116
  RecommendedOptionProjectedMetric = Shapes::StructureShape.new(name: 'RecommendedOptionProjectedMetric')
87
117
  RecommendedOptionProjectedMetrics = Shapes::ListShape.new(name: 'RecommendedOptionProjectedMetrics')
88
118
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
119
+ ResourceType = Shapes::StringShape.new(name: 'ResourceType')
120
+ S3Destination = Shapes::StructureShape.new(name: 'S3Destination')
121
+ S3DestinationConfig = Shapes::StructureShape.new(name: 'S3DestinationConfig')
89
122
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
90
123
  Status = Shapes::StringShape.new(name: 'Status')
91
124
  StatusReason = Shapes::StringShape.new(name: 'StatusReason')
@@ -134,6 +167,47 @@ module Aws::ComputeOptimizer
134
167
 
135
168
  AutoScalingGroupRecommendations.member = Shapes::ShapeRef.new(shape: AutoScalingGroupRecommendation)
136
169
 
170
+ DescribeRecommendationExportJobsRequest.add_member(:job_ids, Shapes::ShapeRef.new(shape: JobIds, location_name: "jobIds"))
171
+ DescribeRecommendationExportJobsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: JobFilters, location_name: "filters"))
172
+ DescribeRecommendationExportJobsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
173
+ DescribeRecommendationExportJobsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
174
+ DescribeRecommendationExportJobsRequest.struct_class = Types::DescribeRecommendationExportJobsRequest
175
+
176
+ DescribeRecommendationExportJobsResponse.add_member(:recommendation_export_jobs, Shapes::ShapeRef.new(shape: RecommendationExportJobs, location_name: "recommendationExportJobs"))
177
+ DescribeRecommendationExportJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
178
+ DescribeRecommendationExportJobsResponse.struct_class = Types::DescribeRecommendationExportJobsResponse
179
+
180
+ ExportAutoScalingGroupRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
181
+ ExportAutoScalingGroupRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: Filters, location_name: "filters"))
182
+ ExportAutoScalingGroupRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableAutoScalingGroupFields, location_name: "fieldsToExport"))
183
+ ExportAutoScalingGroupRecommendationsRequest.add_member(:s3_destination_config, Shapes::ShapeRef.new(shape: S3DestinationConfig, required: true, location_name: "s3DestinationConfig"))
184
+ ExportAutoScalingGroupRecommendationsRequest.add_member(:file_format, Shapes::ShapeRef.new(shape: FileFormat, location_name: "fileFormat"))
185
+ ExportAutoScalingGroupRecommendationsRequest.add_member(:include_member_accounts, Shapes::ShapeRef.new(shape: IncludeMemberAccounts, location_name: "includeMemberAccounts"))
186
+ ExportAutoScalingGroupRecommendationsRequest.struct_class = Types::ExportAutoScalingGroupRecommendationsRequest
187
+
188
+ ExportAutoScalingGroupRecommendationsResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
189
+ ExportAutoScalingGroupRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
190
+ ExportAutoScalingGroupRecommendationsResponse.struct_class = Types::ExportAutoScalingGroupRecommendationsResponse
191
+
192
+ ExportDestination.add_member(:s3, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3"))
193
+ ExportDestination.struct_class = Types::ExportDestination
194
+
195
+ ExportEC2InstanceRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
196
+ ExportEC2InstanceRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: Filters, location_name: "filters"))
197
+ ExportEC2InstanceRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableInstanceFields, location_name: "fieldsToExport"))
198
+ ExportEC2InstanceRecommendationsRequest.add_member(:s3_destination_config, Shapes::ShapeRef.new(shape: S3DestinationConfig, required: true, location_name: "s3DestinationConfig"))
199
+ ExportEC2InstanceRecommendationsRequest.add_member(:file_format, Shapes::ShapeRef.new(shape: FileFormat, location_name: "fileFormat"))
200
+ ExportEC2InstanceRecommendationsRequest.add_member(:include_member_accounts, Shapes::ShapeRef.new(shape: IncludeMemberAccounts, location_name: "includeMemberAccounts"))
201
+ ExportEC2InstanceRecommendationsRequest.struct_class = Types::ExportEC2InstanceRecommendationsRequest
202
+
203
+ ExportEC2InstanceRecommendationsResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
204
+ ExportEC2InstanceRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
205
+ ExportEC2InstanceRecommendationsResponse.struct_class = Types::ExportEC2InstanceRecommendationsResponse
206
+
207
+ ExportableAutoScalingGroupFields.member = Shapes::ShapeRef.new(shape: ExportableAutoScalingGroupField)
208
+
209
+ ExportableInstanceFields.member = Shapes::ShapeRef.new(shape: ExportableInstanceField)
210
+
137
211
  Filter.add_member(:name, Shapes::ShapeRef.new(shape: FilterName, location_name: "name"))
138
212
  Filter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
139
213
  Filter.struct_class = Types::Filter
@@ -227,6 +301,17 @@ module Aws::ComputeOptimizer
227
301
  InvalidParameterValueException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
228
302
  InvalidParameterValueException.struct_class = Types::InvalidParameterValueException
229
303
 
304
+ JobFilter.add_member(:name, Shapes::ShapeRef.new(shape: JobFilterName, location_name: "name"))
305
+ JobFilter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
306
+ JobFilter.struct_class = Types::JobFilter
307
+
308
+ JobFilters.member = Shapes::ShapeRef.new(shape: JobFilter)
309
+
310
+ JobIds.member = Shapes::ShapeRef.new(shape: JobId)
311
+
312
+ LimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
313
+ LimitExceededException.struct_class = Types::LimitExceededException
314
+
230
315
  MetricValues.member = Shapes::ShapeRef.new(shape: MetricValue)
231
316
 
232
317
  MissingAuthenticationToken.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
@@ -244,6 +329,17 @@ module Aws::ComputeOptimizer
244
329
 
245
330
  ProjectedUtilizationMetrics.member = Shapes::ShapeRef.new(shape: UtilizationMetric)
246
331
 
332
+ RecommendationExportJob.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
333
+ RecommendationExportJob.add_member(:destination, Shapes::ShapeRef.new(shape: ExportDestination, location_name: "destination"))
334
+ RecommendationExportJob.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "resourceType"))
335
+ RecommendationExportJob.add_member(:status, Shapes::ShapeRef.new(shape: JobStatus, location_name: "status"))
336
+ RecommendationExportJob.add_member(:creation_timestamp, Shapes::ShapeRef.new(shape: CreationTimestamp, location_name: "creationTimestamp"))
337
+ RecommendationExportJob.add_member(:last_updated_timestamp, Shapes::ShapeRef.new(shape: LastUpdatedTimestamp, location_name: "lastUpdatedTimestamp"))
338
+ RecommendationExportJob.add_member(:failure_reason, Shapes::ShapeRef.new(shape: FailureReason, location_name: "failureReason"))
339
+ RecommendationExportJob.struct_class = Types::RecommendationExportJob
340
+
341
+ RecommendationExportJobs.member = Shapes::ShapeRef.new(shape: RecommendationExportJob)
342
+
247
343
  RecommendationOptions.member = Shapes::ShapeRef.new(shape: InstanceRecommendationOption)
248
344
 
249
345
  RecommendationSource.add_member(:recommendation_source_arn, Shapes::ShapeRef.new(shape: RecommendationSourceArn, location_name: "recommendationSourceArn"))
@@ -269,6 +365,15 @@ module Aws::ComputeOptimizer
269
365
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
270
366
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
271
367
 
368
+ S3Destination.add_member(:bucket, Shapes::ShapeRef.new(shape: DestinationBucket, location_name: "bucket"))
369
+ S3Destination.add_member(:key, Shapes::ShapeRef.new(shape: DestinationKey, location_name: "key"))
370
+ S3Destination.add_member(:metadata_key, Shapes::ShapeRef.new(shape: MetadataKey, location_name: "metadataKey"))
371
+ S3Destination.struct_class = Types::S3Destination
372
+
373
+ S3DestinationConfig.add_member(:bucket, Shapes::ShapeRef.new(shape: DestinationBucket, location_name: "bucket"))
374
+ S3DestinationConfig.add_member(:key_prefix, Shapes::ShapeRef.new(shape: DestinationKeyPrefix, location_name: "keyPrefix"))
375
+ S3DestinationConfig.struct_class = Types::S3DestinationConfig
376
+
272
377
  ServiceUnavailableException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
273
378
  ServiceUnavailableException.struct_class = Types::ServiceUnavailableException
274
379
 
@@ -317,6 +422,54 @@ module Aws::ComputeOptimizer
317
422
  "uid" => "compute-optimizer-2019-11-01",
318
423
  }
319
424
 
425
+ api.add_operation(:describe_recommendation_export_jobs, Seahorse::Model::Operation.new.tap do |o|
426
+ o.name = "DescribeRecommendationExportJobs"
427
+ o.http_method = "POST"
428
+ o.http_request_uri = "/"
429
+ o.input = Shapes::ShapeRef.new(shape: DescribeRecommendationExportJobsRequest)
430
+ o.output = Shapes::ShapeRef.new(shape: DescribeRecommendationExportJobsResponse)
431
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
432
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
433
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
434
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
435
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
436
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
437
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
438
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
439
+ end)
440
+
441
+ api.add_operation(:export_auto_scaling_group_recommendations, Seahorse::Model::Operation.new.tap do |o|
442
+ o.name = "ExportAutoScalingGroupRecommendations"
443
+ o.http_method = "POST"
444
+ o.http_request_uri = "/"
445
+ o.input = Shapes::ShapeRef.new(shape: ExportAutoScalingGroupRecommendationsRequest)
446
+ o.output = Shapes::ShapeRef.new(shape: ExportAutoScalingGroupRecommendationsResponse)
447
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
448
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
449
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
450
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
451
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
452
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
453
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
454
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
455
+ end)
456
+
457
+ api.add_operation(:export_ec2_instance_recommendations, Seahorse::Model::Operation.new.tap do |o|
458
+ o.name = "ExportEC2InstanceRecommendations"
459
+ o.http_method = "POST"
460
+ o.http_request_uri = "/"
461
+ o.input = Shapes::ShapeRef.new(shape: ExportEC2InstanceRecommendationsRequest)
462
+ o.output = Shapes::ShapeRef.new(shape: ExportEC2InstanceRecommendationsResponse)
463
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
464
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
465
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
466
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
467
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
468
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
469
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
470
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
471
+ end)
472
+
320
473
  api.add_operation(:get_auto_scaling_group_recommendations, Seahorse::Model::Operation.new.tap do |o|
321
474
  o.name = "GetAutoScalingGroupRecommendations"
322
475
  o.http_method = "POST"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -28,6 +30,7 @@ module Aws::ComputeOptimizer
28
30
  # * {AccessDeniedException}
29
31
  # * {InternalServerException}
30
32
  # * {InvalidParameterValueException}
33
+ # * {LimitExceededException}
31
34
  # * {MissingAuthenticationToken}
32
35
  # * {OptInRequiredException}
33
36
  # * {ResourceNotFoundException}
@@ -85,6 +88,21 @@ module Aws::ComputeOptimizer
85
88
  end
86
89
  end
87
90
 
91
+ class LimitExceededException < ServiceError
92
+
93
+ # @param [Seahorse::Client::RequestContext] context
94
+ # @param [String] message
95
+ # @param [Aws::ComputeOptimizer::Types::LimitExceededException] data
96
+ def initialize(context, message, data = Aws::EmptyStructure.new)
97
+ super(context, message, data)
98
+ end
99
+
100
+ # @return [String]
101
+ def message
102
+ @message || @data[:message]
103
+ end
104
+ end
105
+
88
106
  class MissingAuthenticationToken < ServiceError
89
107
 
90
108
  # @param [Seahorse::Client::RequestContext] context
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -17,6 +19,7 @@ module Aws::ComputeOptimizer
17
19
  #
18
20
  class AccessDeniedException < Struct.new(
19
21
  :message)
22
+ SENSITIVE = []
20
23
  include Aws::Structure
21
24
  end
22
25
 
@@ -48,6 +51,7 @@ module Aws::ComputeOptimizer
48
51
  :min_size,
49
52
  :max_size,
50
53
  :instance_type)
54
+ SENSITIVE = []
51
55
  include Aws::Structure
52
56
  end
53
57
 
@@ -124,6 +128,7 @@ module Aws::ComputeOptimizer
124
128
  :current_configuration,
125
129
  :recommendation_options,
126
130
  :last_refresh_timestamp)
131
+ SENSITIVE = []
127
132
  include Aws::Structure
128
133
  end
129
134
 
@@ -163,6 +168,340 @@ module Aws::ComputeOptimizer
163
168
  :projected_utilization_metrics,
164
169
  :performance_risk,
165
170
  :rank)
171
+ SENSITIVE = []
172
+ include Aws::Structure
173
+ end
174
+
175
+ # @note When making an API call, you may pass DescribeRecommendationExportJobsRequest
176
+ # data as a hash:
177
+ #
178
+ # {
179
+ # job_ids: ["JobId"],
180
+ # filters: [
181
+ # {
182
+ # name: "ResourceType", # accepts ResourceType, JobStatus
183
+ # values: ["FilterValue"],
184
+ # },
185
+ # ],
186
+ # next_token: "NextToken",
187
+ # max_results: 1,
188
+ # }
189
+ #
190
+ # @!attribute [rw] job_ids
191
+ # The identification numbers of the export jobs to return.
192
+ #
193
+ # An export job ID is returned when you create an export using the
194
+ # `ExportAutoScalingGroupRecommendations` or
195
+ # `ExportEC2InstanceRecommendations` actions.
196
+ #
197
+ # All export jobs created in the last seven days are returned if this
198
+ # parameter is omitted.
199
+ # @return [Array<String>]
200
+ #
201
+ # @!attribute [rw] filters
202
+ # An array of objects that describe a filter to return a more specific
203
+ # list of export jobs.
204
+ # @return [Array<Types::JobFilter>]
205
+ #
206
+ # @!attribute [rw] next_token
207
+ # The token to advance to the next page of export jobs.
208
+ # @return [String]
209
+ #
210
+ # @!attribute [rw] max_results
211
+ # The maximum number of export jobs to return with a single request.
212
+ #
213
+ # To retrieve the remaining results, make another request with the
214
+ # returned `NextToken` value.
215
+ # @return [Integer]
216
+ #
217
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DescribeRecommendationExportJobsRequest AWS API Documentation
218
+ #
219
+ class DescribeRecommendationExportJobsRequest < Struct.new(
220
+ :job_ids,
221
+ :filters,
222
+ :next_token,
223
+ :max_results)
224
+ SENSITIVE = []
225
+ include Aws::Structure
226
+ end
227
+
228
+ # @!attribute [rw] recommendation_export_jobs
229
+ # An array of objects that describe recommendation export jobs.
230
+ # @return [Array<Types::RecommendationExportJob>]
231
+ #
232
+ # @!attribute [rw] next_token
233
+ # The token to use to advance to the next page of export jobs.
234
+ #
235
+ # This value is null when there are no more pages of export jobs to
236
+ # return.
237
+ # @return [String]
238
+ #
239
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DescribeRecommendationExportJobsResponse AWS API Documentation
240
+ #
241
+ class DescribeRecommendationExportJobsResponse < Struct.new(
242
+ :recommendation_export_jobs,
243
+ :next_token)
244
+ SENSITIVE = []
245
+ include Aws::Structure
246
+ end
247
+
248
+ # @note When making an API call, you may pass ExportAutoScalingGroupRecommendationsRequest
249
+ # data as a hash:
250
+ #
251
+ # {
252
+ # account_ids: ["AccountId"],
253
+ # filters: [
254
+ # {
255
+ # name: "Finding", # accepts Finding, RecommendationSourceType
256
+ # values: ["FilterValue"],
257
+ # },
258
+ # ],
259
+ # 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
260
+ # s3_destination_config: { # required
261
+ # bucket: "DestinationBucket",
262
+ # key_prefix: "DestinationKeyPrefix",
263
+ # },
264
+ # file_format: "Csv", # accepts Csv
265
+ # include_member_accounts: false,
266
+ # }
267
+ #
268
+ # @!attribute [rw] account_ids
269
+ # The IDs of the AWS accounts for which to export Auto Scaling group
270
+ # recommendations.
271
+ #
272
+ # If your account is the master account of an organization, use this
273
+ # parameter to specify the member accounts for which you want to
274
+ # export recommendations.
275
+ #
276
+ # This parameter cannot be specified together with the include member
277
+ # accounts parameter. The parameters are mutually exclusive.
278
+ #
279
+ # Recommendations for member accounts are not included in the export
280
+ # if this parameter, or the include member accounts parameter, is
281
+ # omitted.
282
+ #
283
+ # You can specify multiple account IDs per request.
284
+ # @return [Array<String>]
285
+ #
286
+ # @!attribute [rw] filters
287
+ # An array of objects that describe a filter to export a more specific
288
+ # set of Auto Scaling group recommendations.
289
+ # @return [Array<Types::Filter>]
290
+ #
291
+ # @!attribute [rw] fields_to_export
292
+ # The recommendations data to include in the export file.
293
+ # @return [Array<String>]
294
+ #
295
+ # @!attribute [rw] s3_destination_config
296
+ # An object to specify the destination Amazon Simple Storage Service
297
+ # (Amazon S3) bucket name and key prefix for the export job.
298
+ #
299
+ # You must create the destination Amazon S3 bucket for your
300
+ # recommendations export before you create the export job. Compute
301
+ # Optimizer does not create the S3 bucket for you. After you create
302
+ # the S3 bucket, ensure that it has the required permission policy to
303
+ # allow Compute Optimizer to write the export file to it. If you plan
304
+ # to specify an object prefix when you create the export job, you must
305
+ # include the object prefix in the policy that you add to the S3
306
+ # bucket. For more information, see [Amazon S3 Bucket Policy for
307
+ # Compute Optimizer][1] in the *Compute Optimizer user guide*.
308
+ #
309
+ #
310
+ #
311
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
312
+ # @return [Types::S3DestinationConfig]
313
+ #
314
+ # @!attribute [rw] file_format
315
+ # The format of the export file.
316
+ #
317
+ # The only export file format currently supported is `Csv`.
318
+ # @return [String]
319
+ #
320
+ # @!attribute [rw] include_member_accounts
321
+ # Indicates whether to include recommendations for resources in all
322
+ # member accounts of the organization if your account is the master
323
+ # account of an organization.
324
+ #
325
+ # The member accounts must also be opted in to Compute Optimizer.
326
+ #
327
+ # Recommendations for member accounts of the organization are not
328
+ # included in the export file if this parameter is omitted.
329
+ #
330
+ # This parameter cannot be specified together with the account IDs
331
+ # parameter. The parameters are mutually exclusive.
332
+ #
333
+ # Recommendations for member accounts are not included in the export
334
+ # if this parameter, or the account IDs parameter, is omitted.
335
+ # @return [Boolean]
336
+ #
337
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportAutoScalingGroupRecommendationsRequest AWS API Documentation
338
+ #
339
+ class ExportAutoScalingGroupRecommendationsRequest < Struct.new(
340
+ :account_ids,
341
+ :filters,
342
+ :fields_to_export,
343
+ :s3_destination_config,
344
+ :file_format,
345
+ :include_member_accounts)
346
+ SENSITIVE = []
347
+ include Aws::Structure
348
+ end
349
+
350
+ # @!attribute [rw] job_id
351
+ # The identification number of the export job.
352
+ #
353
+ # Use the `DescribeRecommendationExportJobs` action, and specify the
354
+ # job ID to view the status of an export job.
355
+ # @return [String]
356
+ #
357
+ # @!attribute [rw] s3_destination
358
+ # An object that describes the destination Amazon S3 bucket of a
359
+ # recommendations export file.
360
+ # @return [Types::S3Destination]
361
+ #
362
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportAutoScalingGroupRecommendationsResponse AWS API Documentation
363
+ #
364
+ class ExportAutoScalingGroupRecommendationsResponse < Struct.new(
365
+ :job_id,
366
+ :s3_destination)
367
+ SENSITIVE = []
368
+ include Aws::Structure
369
+ end
370
+
371
+ # Describes the destination of the recommendations export and metadata
372
+ # files.
373
+ #
374
+ # @!attribute [rw] s3
375
+ # An object that describes the destination Amazon Simple Storage
376
+ # Service (Amazon S3) bucket name and object keys of a recommendations
377
+ # export file, and its associated metadata file.
378
+ # @return [Types::S3Destination]
379
+ #
380
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportDestination AWS API Documentation
381
+ #
382
+ class ExportDestination < Struct.new(
383
+ :s3)
384
+ SENSITIVE = []
385
+ include Aws::Structure
386
+ end
387
+
388
+ # @note When making an API call, you may pass ExportEC2InstanceRecommendationsRequest
389
+ # data as a hash:
390
+ #
391
+ # {
392
+ # account_ids: ["AccountId"],
393
+ # filters: [
394
+ # {
395
+ # name: "Finding", # accepts Finding, RecommendationSourceType
396
+ # values: ["FilterValue"],
397
+ # },
398
+ # ],
399
+ # 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
400
+ # s3_destination_config: { # required
401
+ # bucket: "DestinationBucket",
402
+ # key_prefix: "DestinationKeyPrefix",
403
+ # },
404
+ # file_format: "Csv", # accepts Csv
405
+ # include_member_accounts: false,
406
+ # }
407
+ #
408
+ # @!attribute [rw] account_ids
409
+ # The IDs of the AWS accounts for which to export instance
410
+ # recommendations.
411
+ #
412
+ # If your account is the master account of an organization, use this
413
+ # parameter to specify the member accounts for which you want to
414
+ # export recommendations.
415
+ #
416
+ # This parameter cannot be specified together with the include member
417
+ # accounts parameter. The parameters are mutually exclusive.
418
+ #
419
+ # Recommendations for member accounts are not included in the export
420
+ # if this parameter, or the include member accounts parameter, is
421
+ # omitted.
422
+ #
423
+ # You can specify multiple account IDs per request.
424
+ # @return [Array<String>]
425
+ #
426
+ # @!attribute [rw] filters
427
+ # An array of objects that describe a filter to export a more specific
428
+ # set of instance recommendations.
429
+ # @return [Array<Types::Filter>]
430
+ #
431
+ # @!attribute [rw] fields_to_export
432
+ # The recommendations data to include in the export file.
433
+ # @return [Array<String>]
434
+ #
435
+ # @!attribute [rw] s3_destination_config
436
+ # An object to specify the destination Amazon Simple Storage Service
437
+ # (Amazon S3) bucket name and key prefix for the export job.
438
+ #
439
+ # You must create the destination Amazon S3 bucket for your
440
+ # recommendations export before you create the export job. Compute
441
+ # Optimizer does not create the S3 bucket for you. After you create
442
+ # the S3 bucket, ensure that it has the required permission policy to
443
+ # allow Compute Optimizer to write the export file to it. If you plan
444
+ # to specify an object prefix when you create the export job, you must
445
+ # include the object prefix in the policy that you add to the S3
446
+ # bucket. For more information, see [Amazon S3 Bucket Policy for
447
+ # Compute Optimizer][1] in the *Compute Optimizer user guide*.
448
+ #
449
+ #
450
+ #
451
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
452
+ # @return [Types::S3DestinationConfig]
453
+ #
454
+ # @!attribute [rw] file_format
455
+ # The format of the export file.
456
+ #
457
+ # The only export file format currently supported is `Csv`.
458
+ # @return [String]
459
+ #
460
+ # @!attribute [rw] include_member_accounts
461
+ # Indicates whether to include recommendations for resources in all
462
+ # member accounts of the organization if your account is the master
463
+ # account of an organization.
464
+ #
465
+ # The member accounts must also be opted in to Compute Optimizer.
466
+ #
467
+ # Recommendations for member accounts of the organization are not
468
+ # included in the export file if this parameter is omitted.
469
+ #
470
+ # Recommendations for member accounts are not included in the export
471
+ # if this parameter, or the account IDs parameter, is omitted.
472
+ # @return [Boolean]
473
+ #
474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendationsRequest AWS API Documentation
475
+ #
476
+ class ExportEC2InstanceRecommendationsRequest < Struct.new(
477
+ :account_ids,
478
+ :filters,
479
+ :fields_to_export,
480
+ :s3_destination_config,
481
+ :file_format,
482
+ :include_member_accounts)
483
+ SENSITIVE = []
484
+ include Aws::Structure
485
+ end
486
+
487
+ # @!attribute [rw] job_id
488
+ # The identification number of the export job.
489
+ #
490
+ # Use the `DescribeRecommendationExportJobs` action, and specify the
491
+ # job ID to view the status of an export job.
492
+ # @return [String]
493
+ #
494
+ # @!attribute [rw] s3_destination
495
+ # An object that describes the destination Amazon S3 bucket of a
496
+ # recommendations export file.
497
+ # @return [Types::S3Destination]
498
+ #
499
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendationsResponse AWS API Documentation
500
+ #
501
+ class ExportEC2InstanceRecommendationsResponse < Struct.new(
502
+ :job_id,
503
+ :s3_destination)
504
+ SENSITIVE = []
166
505
  include Aws::Structure
167
506
  end
168
507
 
@@ -180,27 +519,27 @@ module Aws::ComputeOptimizer
180
519
  # @!attribute [rw] name
181
520
  # The name of the filter.
182
521
  #
183
- # Specify `Finding` to filter the results to a specific findings
184
- # classification.
522
+ # Specify `Finding` to return recommendations with a specific findings
523
+ # classification (e.g., `Overprovisioned`).
185
524
  #
186
- # Specify `RecommendationSourceType` to filter the results to a
187
- # specific resource type.
525
+ # Specify `RecommendationSourceType` to return recommendations of a
526
+ # specific resource type (e.g., `AutoScalingGroup`).
188
527
  # @return [String]
189
528
  #
190
529
  # @!attribute [rw] values
191
530
  # The value of the filter.
192
531
  #
193
- # If you specify the `name` parameter as `Finding`, and you're
532
+ # If you specify the `name` parameter as `Finding`, and you request
194
533
  # recommendations for an *instance*, then the valid values are
195
534
  # `Underprovisioned`, `Overprovisioned`, `NotOptimized`, or
196
535
  # `Optimized`.
197
536
  #
198
- # If you specify the `name` parameter as `Finding`, and you're
537
+ # If you specify the `name` parameter as `Finding`, and you request
199
538
  # recommendations for an *Auto Scaling group*, then the valid values
200
539
  # are `Optimized`, or `NotOptimized`.
201
540
  #
202
541
  # If you specify the `name` parameter as `RecommendationSourceType`,
203
- # then the valid values are `EC2Instance`, or `AutoScalingGroup`.
542
+ # then the valid values are `Ec2Instance`, or `AutoScalingGroup`.
204
543
  # @return [Array<String>]
205
544
  #
206
545
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/Filter AWS API Documentation
@@ -208,6 +547,7 @@ module Aws::ComputeOptimizer
208
547
  class Filter < Struct.new(
209
548
  :name,
210
549
  :values)
550
+ SENSITIVE = []
211
551
  include Aws::Structure
212
552
  end
213
553
 
@@ -228,9 +568,13 @@ module Aws::ComputeOptimizer
228
568
  # }
229
569
  #
230
570
  # @!attribute [rw] account_ids
231
- # The AWS account IDs for which to return Auto Scaling group
571
+ # The IDs of the AWS accounts for which to return Auto Scaling group
232
572
  # recommendations.
233
573
  #
574
+ # If your account is the master account of an organization, use this
575
+ # parameter to specify the member accounts for which you want to
576
+ # return Auto Scaling group recommendations.
577
+ #
234
578
  # Only one account ID can be specified per request.
235
579
  # @return [Array<String>]
236
580
  #
@@ -246,9 +590,9 @@ module Aws::ComputeOptimizer
246
590
  #
247
591
  # @!attribute [rw] max_results
248
592
  # The maximum number of Auto Scaling group recommendations to return
249
- # with a single call.
593
+ # with a single request.
250
594
  #
251
- # To retrieve the remaining results, make another call with the
595
+ # To retrieve the remaining results, make another request with the
252
596
  # returned `NextToken` value.
253
597
  # @return [Integer]
254
598
  #
@@ -265,6 +609,7 @@ module Aws::ComputeOptimizer
265
609
  :next_token,
266
610
  :max_results,
267
611
  :filters)
612
+ SENSITIVE = []
268
613
  include Aws::Structure
269
614
  end
270
615
 
@@ -294,6 +639,7 @@ module Aws::ComputeOptimizer
294
639
  :next_token,
295
640
  :auto_scaling_group_recommendations,
296
641
  :errors)
642
+ SENSITIVE = []
297
643
  include Aws::Structure
298
644
  end
299
645
 
@@ -324,9 +670,9 @@ module Aws::ComputeOptimizer
324
670
  #
325
671
  # @!attribute [rw] max_results
326
672
  # The maximum number of instance recommendations to return with a
327
- # single call.
673
+ # single request.
328
674
  #
329
- # To retrieve the remaining results, make another call with the
675
+ # To retrieve the remaining results, make another request with the
330
676
  # returned `NextToken` value.
331
677
  # @return [Integer]
332
678
  #
@@ -336,7 +682,12 @@ module Aws::ComputeOptimizer
336
682
  # @return [Array<Types::Filter>]
337
683
  #
338
684
  # @!attribute [rw] account_ids
339
- # The AWS account IDs for which to return instance recommendations.
685
+ # The IDs of the AWS accounts for which to return instance
686
+ # recommendations.
687
+ #
688
+ # If your account is the master account of an organization, use this
689
+ # parameter to specify the member accounts for which you want to
690
+ # return instance recommendations.
340
691
  #
341
692
  # Only one account ID can be specified per request.
342
693
  # @return [Array<String>]
@@ -349,6 +700,7 @@ module Aws::ComputeOptimizer
349
700
  :max_results,
350
701
  :filters,
351
702
  :account_ids)
703
+ SENSITIVE = []
352
704
  include Aws::Structure
353
705
  end
354
706
 
@@ -377,6 +729,7 @@ module Aws::ComputeOptimizer
377
729
  :next_token,
378
730
  :instance_recommendations,
379
731
  :errors)
732
+ SENSITIVE = []
380
733
  include Aws::Structure
381
734
  end
382
735
 
@@ -420,6 +773,7 @@ module Aws::ComputeOptimizer
420
773
  :period,
421
774
  :start_time,
422
775
  :end_time)
776
+ SENSITIVE = []
423
777
  include Aws::Structure
424
778
  end
425
779
 
@@ -431,6 +785,7 @@ module Aws::ComputeOptimizer
431
785
  #
432
786
  class GetEC2RecommendationProjectedMetricsResponse < Struct.new(
433
787
  :recommended_option_projected_metrics)
788
+ SENSITIVE = []
434
789
  include Aws::Structure
435
790
  end
436
791
 
@@ -463,6 +818,7 @@ module Aws::ComputeOptimizer
463
818
  :status,
464
819
  :status_reason,
465
820
  :member_accounts_enrolled)
821
+ SENSITIVE = []
466
822
  include Aws::Structure
467
823
  end
468
824
 
@@ -490,6 +846,7 @@ module Aws::ComputeOptimizer
490
846
  :identifier,
491
847
  :code,
492
848
  :message)
849
+ SENSITIVE = []
493
850
  include Aws::Structure
494
851
  end
495
852
 
@@ -503,7 +860,12 @@ module Aws::ComputeOptimizer
503
860
  # }
504
861
  #
505
862
  # @!attribute [rw] account_ids
506
- # The AWS account IDs for which to return recommendation summaries.
863
+ # The IDs of the AWS accounts for which to return recommendation
864
+ # summaries.
865
+ #
866
+ # If your account is the master account of an organization, use this
867
+ # parameter to specify the member accounts for which you want to
868
+ # return recommendation summaries.
507
869
  #
508
870
  # Only one account ID can be specified per request.
509
871
  # @return [Array<String>]
@@ -514,9 +876,9 @@ module Aws::ComputeOptimizer
514
876
  #
515
877
  # @!attribute [rw] max_results
516
878
  # The maximum number of recommendation summaries to return with a
517
- # single call.
879
+ # single request.
518
880
  #
519
- # To retrieve the remaining results, make another call with the
881
+ # To retrieve the remaining results, make another request with the
520
882
  # returned `NextToken` value.
521
883
  # @return [Integer]
522
884
  #
@@ -526,6 +888,7 @@ module Aws::ComputeOptimizer
526
888
  :account_ids,
527
889
  :next_token,
528
890
  :max_results)
891
+ SENSITIVE = []
529
892
  include Aws::Structure
530
893
  end
531
894
 
@@ -546,6 +909,7 @@ module Aws::ComputeOptimizer
546
909
  class GetRecommendationSummariesResponse < Struct.new(
547
910
  :next_token,
548
911
  :recommendation_summaries)
912
+ SENSITIVE = []
549
913
  include Aws::Structure
550
914
  end
551
915
 
@@ -556,7 +920,7 @@ module Aws::ComputeOptimizer
556
920
  # @return [String]
557
921
  #
558
922
  # @!attribute [rw] account_id
559
- # The AWS account ID of the instance recommendation.
923
+ # The AWS account ID of the instance.
560
924
  # @return [String]
561
925
  #
562
926
  # @!attribute [rw] instance_name
@@ -637,6 +1001,7 @@ module Aws::ComputeOptimizer
637
1001
  :recommendation_options,
638
1002
  :recommendation_sources,
639
1003
  :last_refresh_timestamp)
1004
+ SENSITIVE = []
640
1005
  include Aws::Structure
641
1006
  end
642
1007
 
@@ -674,11 +1039,11 @@ module Aws::ComputeOptimizer
674
1039
  :projected_utilization_metrics,
675
1040
  :performance_risk,
676
1041
  :rank)
1042
+ SENSITIVE = []
677
1043
  include Aws::Structure
678
1044
  end
679
1045
 
680
- # The request processing has failed because of an unknown error,
681
- # exception, or failure.
1046
+ # An internal error has occurred. Try your call again.
682
1047
  #
683
1048
  # @!attribute [rw] message
684
1049
  # @return [String]
@@ -687,6 +1052,7 @@ module Aws::ComputeOptimizer
687
1052
  #
688
1053
  class InternalServerException < Struct.new(
689
1054
  :message)
1055
+ SENSITIVE = []
690
1056
  include Aws::Structure
691
1057
  end
692
1058
 
@@ -699,6 +1065,63 @@ module Aws::ComputeOptimizer
699
1065
  #
700
1066
  class InvalidParameterValueException < Struct.new(
701
1067
  :message)
1068
+ SENSITIVE = []
1069
+ include Aws::Structure
1070
+ end
1071
+
1072
+ # Describes a filter that returns a more specific list of recommendation
1073
+ # export jobs.
1074
+ #
1075
+ # This filter is used with the `DescribeRecommendationExportJobs`
1076
+ # action.
1077
+ #
1078
+ # @note When making an API call, you may pass JobFilter
1079
+ # data as a hash:
1080
+ #
1081
+ # {
1082
+ # name: "ResourceType", # accepts ResourceType, JobStatus
1083
+ # values: ["FilterValue"],
1084
+ # }
1085
+ #
1086
+ # @!attribute [rw] name
1087
+ # The name of the filter.
1088
+ #
1089
+ # Specify `ResourceType` to return export jobs of a specific resource
1090
+ # type (e.g., `Ec2Instance`).
1091
+ #
1092
+ # Specify `JobStatus` to return export jobs with a specific status
1093
+ # (e.g, `Complete`).
1094
+ # @return [String]
1095
+ #
1096
+ # @!attribute [rw] values
1097
+ # The value of the filter.
1098
+ #
1099
+ # If you specify the `name` parameter as `ResourceType`, the valid
1100
+ # values are `Ec2Instance` or `AutoScalingGroup`.
1101
+ #
1102
+ # If you specify the `name` parameter as `JobStatus`, the valid values
1103
+ # are `Queued`, `InProgress`, `Complete`, or `Failed`.
1104
+ # @return [Array<String>]
1105
+ #
1106
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/JobFilter AWS API Documentation
1107
+ #
1108
+ class JobFilter < Struct.new(
1109
+ :name,
1110
+ :values)
1111
+ SENSITIVE = []
1112
+ include Aws::Structure
1113
+ end
1114
+
1115
+ # The request exceeds a limit of the service.
1116
+ #
1117
+ # @!attribute [rw] message
1118
+ # @return [String]
1119
+ #
1120
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LimitExceededException AWS API Documentation
1121
+ #
1122
+ class LimitExceededException < Struct.new(
1123
+ :message)
1124
+ SENSITIVE = []
702
1125
  include Aws::Structure
703
1126
  end
704
1127
 
@@ -712,10 +1135,11 @@ module Aws::ComputeOptimizer
712
1135
  #
713
1136
  class MissingAuthenticationToken < Struct.new(
714
1137
  :message)
1138
+ SENSITIVE = []
715
1139
  include Aws::Structure
716
1140
  end
717
1141
 
718
- # You must opt in to the service to perform this action.
1142
+ # The account is not opted in to AWS Compute Optimizer.
719
1143
  #
720
1144
  # @!attribute [rw] message
721
1145
  # @return [String]
@@ -724,6 +1148,7 @@ module Aws::ComputeOptimizer
724
1148
  #
725
1149
  class OptInRequiredException < Struct.new(
726
1150
  :message)
1151
+ SENSITIVE = []
727
1152
  include Aws::Structure
728
1153
  end
729
1154
 
@@ -758,6 +1183,58 @@ module Aws::ComputeOptimizer
758
1183
  :name,
759
1184
  :timestamps,
760
1185
  :values)
1186
+ SENSITIVE = []
1187
+ include Aws::Structure
1188
+ end
1189
+
1190
+ # Describes a recommendation export job.
1191
+ #
1192
+ # Use the `DescribeRecommendationExportJobs` action to view your
1193
+ # recommendation export jobs.
1194
+ #
1195
+ # Use the `ExportAutoScalingGroupRecommendations` or
1196
+ # `ExportEC2InstanceRecommendations` actions to request an export of
1197
+ # your recommendations.
1198
+ #
1199
+ # @!attribute [rw] job_id
1200
+ # The identification number of the export job.
1201
+ # @return [String]
1202
+ #
1203
+ # @!attribute [rw] destination
1204
+ # An object that describes the destination of the export file.
1205
+ # @return [Types::ExportDestination]
1206
+ #
1207
+ # @!attribute [rw] resource_type
1208
+ # The resource type of the exported recommendations.
1209
+ # @return [String]
1210
+ #
1211
+ # @!attribute [rw] status
1212
+ # The status of the export job.
1213
+ # @return [String]
1214
+ #
1215
+ # @!attribute [rw] creation_timestamp
1216
+ # The timestamp of when the export job was created.
1217
+ # @return [Time]
1218
+ #
1219
+ # @!attribute [rw] last_updated_timestamp
1220
+ # The timestamp of when the export job was last updated.
1221
+ # @return [Time]
1222
+ #
1223
+ # @!attribute [rw] failure_reason
1224
+ # The reason for an export job failure.
1225
+ # @return [String]
1226
+ #
1227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/RecommendationExportJob AWS API Documentation
1228
+ #
1229
+ class RecommendationExportJob < Struct.new(
1230
+ :job_id,
1231
+ :destination,
1232
+ :resource_type,
1233
+ :status,
1234
+ :creation_timestamp,
1235
+ :last_updated_timestamp,
1236
+ :failure_reason)
1237
+ SENSITIVE = []
761
1238
  include Aws::Structure
762
1239
  end
763
1240
 
@@ -777,6 +1254,7 @@ module Aws::ComputeOptimizer
777
1254
  class RecommendationSource < Struct.new(
778
1255
  :recommendation_source_arn,
779
1256
  :recommendation_source_type)
1257
+ SENSITIVE = []
780
1258
  include Aws::Structure
781
1259
  end
782
1260
 
@@ -800,6 +1278,7 @@ module Aws::ComputeOptimizer
800
1278
  :summaries,
801
1279
  :recommendation_resource_type,
802
1280
  :account_id)
1281
+ SENSITIVE = []
803
1282
  include Aws::Structure
804
1283
  end
805
1284
 
@@ -830,10 +1309,11 @@ module Aws::ComputeOptimizer
830
1309
  :recommended_instance_type,
831
1310
  :rank,
832
1311
  :projected_metrics)
1312
+ SENSITIVE = []
833
1313
  include Aws::Structure
834
1314
  end
835
1315
 
836
- # The specified resource was not found.
1316
+ # A resource that is required for the action doesn't exist.
837
1317
  #
838
1318
  # @!attribute [rw] message
839
1319
  # @return [String]
@@ -842,6 +1322,83 @@ module Aws::ComputeOptimizer
842
1322
  #
843
1323
  class ResourceNotFoundException < Struct.new(
844
1324
  :message)
1325
+ SENSITIVE = []
1326
+ include Aws::Structure
1327
+ end
1328
+
1329
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
1330
+ # bucket name and object keys of a recommendations export file, and its
1331
+ # associated metadata file.
1332
+ #
1333
+ # @!attribute [rw] bucket
1334
+ # The name of the Amazon S3 bucket used as the destination of an
1335
+ # export file.
1336
+ # @return [String]
1337
+ #
1338
+ # @!attribute [rw] key
1339
+ # The Amazon S3 bucket key of an export file.
1340
+ #
1341
+ # The key uniquely identifies the object, or export file, in the S3
1342
+ # bucket.
1343
+ # @return [String]
1344
+ #
1345
+ # @!attribute [rw] metadata_key
1346
+ # The Amazon S3 bucket key of a metadata file.
1347
+ #
1348
+ # The key uniquely identifies the object, or metadata file, in the S3
1349
+ # bucket.
1350
+ # @return [String]
1351
+ #
1352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/S3Destination AWS API Documentation
1353
+ #
1354
+ class S3Destination < Struct.new(
1355
+ :bucket,
1356
+ :key,
1357
+ :metadata_key)
1358
+ SENSITIVE = []
1359
+ include Aws::Structure
1360
+ end
1361
+
1362
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
1363
+ # bucket name and key prefix for a recommendations export job.
1364
+ #
1365
+ # You must create the destination Amazon S3 bucket for your
1366
+ # recommendations export before you create the export job. Compute
1367
+ # Optimizer does not create the S3 bucket for you. After you create the
1368
+ # S3 bucket, ensure that it has the required permission policy to allow
1369
+ # Compute Optimizer to write the export file to it. If you plan to
1370
+ # specify an object prefix when you create the export job, you must
1371
+ # include the object prefix in the policy that you add to the S3 bucket.
1372
+ # For more information, see [Amazon S3 Bucket Policy for Compute
1373
+ # Optimizer][1] in the *Compute Optimizer user guide*.
1374
+ #
1375
+ #
1376
+ #
1377
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
1378
+ #
1379
+ # @note When making an API call, you may pass S3DestinationConfig
1380
+ # data as a hash:
1381
+ #
1382
+ # {
1383
+ # bucket: "DestinationBucket",
1384
+ # key_prefix: "DestinationKeyPrefix",
1385
+ # }
1386
+ #
1387
+ # @!attribute [rw] bucket
1388
+ # The name of the Amazon S3 bucket to use as the destination for an
1389
+ # export job.
1390
+ # @return [String]
1391
+ #
1392
+ # @!attribute [rw] key_prefix
1393
+ # The Amazon S3 bucket prefix for an export job.
1394
+ # @return [String]
1395
+ #
1396
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/S3DestinationConfig AWS API Documentation
1397
+ #
1398
+ class S3DestinationConfig < Struct.new(
1399
+ :bucket,
1400
+ :key_prefix)
1401
+ SENSITIVE = []
845
1402
  include Aws::Structure
846
1403
  end
847
1404
 
@@ -854,6 +1411,7 @@ module Aws::ComputeOptimizer
854
1411
  #
855
1412
  class ServiceUnavailableException < Struct.new(
856
1413
  :message)
1414
+ SENSITIVE = []
857
1415
  include Aws::Structure
858
1416
  end
859
1417
 
@@ -872,10 +1430,11 @@ module Aws::ComputeOptimizer
872
1430
  class Summary < Struct.new(
873
1431
  :name,
874
1432
  :value)
1433
+ SENSITIVE = []
875
1434
  include Aws::Structure
876
1435
  end
877
1436
 
878
- # The limit on the number of requests per second was exceeded.
1437
+ # The request was denied due to request throttling.
879
1438
  #
880
1439
  # @!attribute [rw] message
881
1440
  # @return [String]
@@ -884,6 +1443,7 @@ module Aws::ComputeOptimizer
884
1443
  #
885
1444
  class ThrottlingException < Struct.new(
886
1445
  :message)
1446
+ SENSITIVE = []
887
1447
  include Aws::Structure
888
1448
  end
889
1449
 
@@ -903,8 +1463,8 @@ module Aws::ComputeOptimizer
903
1463
  # @return [String]
904
1464
  #
905
1465
  # @!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.
1466
+ # Indicates whether to enroll member accounts of the organization if
1467
+ # the your account is the master account of an organization.
908
1468
  # @return [Boolean]
909
1469
  #
910
1470
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UpdateEnrollmentStatusRequest AWS API Documentation
@@ -912,6 +1472,7 @@ module Aws::ComputeOptimizer
912
1472
  class UpdateEnrollmentStatusRequest < Struct.new(
913
1473
  :status,
914
1474
  :include_member_accounts)
1475
+ SENSITIVE = []
915
1476
  include Aws::Structure
916
1477
  end
917
1478
 
@@ -930,6 +1491,7 @@ module Aws::ComputeOptimizer
930
1491
  class UpdateEnrollmentStatusResponse < Struct.new(
931
1492
  :status,
932
1493
  :status_reason)
1494
+ SENSITIVE = []
933
1495
  include Aws::Structure
934
1496
  end
935
1497
 
@@ -964,6 +1526,7 @@ module Aws::ComputeOptimizer
964
1526
  :name,
965
1527
  :statistic,
966
1528
  :value)
1529
+ SENSITIVE = []
967
1530
  include Aws::Structure
968
1531
  end
969
1532