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.
- checksums.yaml +4 -4
- data/lib/aws-sdk-computeoptimizer.rb +5 -3
- data/lib/aws-sdk-computeoptimizer/client.rb +366 -31
- data/lib/aws-sdk-computeoptimizer/client_api.rb +153 -0
- data/lib/aws-sdk-computeoptimizer/errors.rb +18 -0
- data/lib/aws-sdk-computeoptimizer/resource.rb +3 -7
- data/lib/aws-sdk-computeoptimizer/types.rb +587 -24
- metadata +6 -5
| @@ -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 | 
            -
             | 
| 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  | 
| 184 | 
            -
                #   classification.
         | 
| 522 | 
            +
                #   Specify `Finding` to return recommendations with a specific findings
         | 
| 523 | 
            +
                #   classification (e.g., `Overprovisioned`).
         | 
| 185 524 | 
             
                #
         | 
| 186 | 
            -
                #   Specify `RecommendationSourceType` to  | 
| 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 | 
| 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 | 
| 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 ` | 
| 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  | 
| 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  | 
| 593 | 
            +
                #   with a single request.
         | 
| 250 594 | 
             
                #
         | 
| 251 | 
            -
                #   To retrieve the remaining results, make another  | 
| 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  | 
| 673 | 
            +
                #   single request.
         | 
| 328 674 | 
             
                #
         | 
| 329 | 
            -
                #   To retrieve the remaining results, make another  | 
| 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  | 
| 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  | 
| 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  | 
| 879 | 
            +
                #   single request.
         | 
| 518 880 | 
             
                #
         | 
| 519 | 
            -
                #   To retrieve the remaining results, make another  | 
| 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 | 
| 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 | 
            -
                #  | 
| 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 | 
            -
                #  | 
| 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 | 
            -
                #  | 
| 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  | 
| 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  | 
| 907 | 
            -
                #    | 
| 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 |  |