aws-sdk-computeoptimizer 1.1.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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:
@@ -6,13 +8,7 @@
6
8
  # WARNING ABOUT GENERATED CODE
7
9
 
8
10
  module Aws::ComputeOptimizer
9
- # This class provides a resource oriented interface for ComputeOptimizer.
10
- # To create a resource object:
11
- # resource = Aws::ComputeOptimizer::Resource.new(region: 'us-west-2')
12
- # You can supply a client object with custom configuration that will be used for all resource operations.
13
- # If you do not pass +:client+, a default client will be constructed.
14
- # client = Aws::ComputeOptimizer::Client.new(region: 'us-west-2')
15
- # resource = Aws::ComputeOptimizer::Resource.new(client: client)
11
+
16
12
  class Resource
17
13
 
18
14
  # @param options ({})
@@ -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