aws-sdk-costexplorer 1.28.0 → 1.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/aws-sdk-costexplorer.rb +1 -1
- data/lib/aws-sdk-costexplorer/client.rb +178 -7
- data/lib/aws-sdk-costexplorer/client_api.rb +111 -0
- data/lib/aws-sdk-costexplorer/types.rb +487 -23
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 66609ec229477b6ab3d86706a9d466d31b698018
|
4
|
+
data.tar.gz: f7faa946260d6825f5285ce27dfe1278e13c22e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a8ff47fe15bdb17c29b8f1b750fc02f45641bf2932e4ab5cf4c56000bdc3bbbc6f0a6537bdf90800f2cad8f4a743a03bfb904c82e14d029667468f8da5af199
|
7
|
+
data.tar.gz: a2fc7c132739cec212c13d855fb8ff9c03d6ff9b62d2250dac5f6214c41e7379950c36d43170217d5a397a0db9c1501363c1b421e458eb95b2ca3853a383a81c
|
data/lib/aws-sdk-costexplorer.rb
CHANGED
@@ -373,7 +373,7 @@ module Aws::CostExplorer
|
|
373
373
|
# # recursive Expression
|
374
374
|
# },
|
375
375
|
# dimensions: {
|
376
|
-
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
376
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
377
377
|
# values: ["Value"],
|
378
378
|
# },
|
379
379
|
# tags: {
|
@@ -496,7 +496,7 @@ module Aws::CostExplorer
|
|
496
496
|
# # recursive Expression
|
497
497
|
# },
|
498
498
|
# dimensions: {
|
499
|
-
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
499
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
500
500
|
# values: ["Value"],
|
501
501
|
# },
|
502
502
|
# tags: {
|
@@ -650,7 +650,7 @@ module Aws::CostExplorer
|
|
650
650
|
# start: "YearMonthDay", # required
|
651
651
|
# end: "YearMonthDay", # required
|
652
652
|
# },
|
653
|
-
# dimension: "AZ", # required, accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
653
|
+
# dimension: "AZ", # required, accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
654
654
|
# context: "COST_AND_USAGE", # accepts COST_AND_USAGE, RESERVATIONS
|
655
655
|
# next_page_token: "NextPageToken",
|
656
656
|
# })
|
@@ -838,7 +838,7 @@ module Aws::CostExplorer
|
|
838
838
|
# # recursive Expression
|
839
839
|
# },
|
840
840
|
# dimensions: {
|
841
|
-
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
841
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
842
842
|
# values: ["Value"],
|
843
843
|
# },
|
844
844
|
# tags: {
|
@@ -1156,7 +1156,7 @@ module Aws::CostExplorer
|
|
1156
1156
|
# # recursive Expression
|
1157
1157
|
# },
|
1158
1158
|
# dimensions: {
|
1159
|
-
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
1159
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
1160
1160
|
# values: ["Value"],
|
1161
1161
|
# },
|
1162
1162
|
# tags: {
|
@@ -1230,6 +1230,177 @@ module Aws::CostExplorer
|
|
1230
1230
|
req.send_request(options)
|
1231
1231
|
end
|
1232
1232
|
|
1233
|
+
# Creates recommendations that helps you save cost by identifying idle
|
1234
|
+
# and underutilized Amazon EC2 instances.
|
1235
|
+
#
|
1236
|
+
# Recommendations are generated to either downsize or terminate
|
1237
|
+
# instances, along with providing savings detail and metrics. For
|
1238
|
+
# details on calculation and function, see [Optimizing Your Cost with
|
1239
|
+
# Rightsizing Recommendations][1].
|
1240
|
+
#
|
1241
|
+
#
|
1242
|
+
#
|
1243
|
+
# [1]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-what-is.html
|
1244
|
+
#
|
1245
|
+
# @option params [Types::Expression] :filter
|
1246
|
+
# Use `Expression` to filter by cost or by usage. There are two
|
1247
|
+
# patterns:
|
1248
|
+
#
|
1249
|
+
# * Simple dimension values - You can set the dimension name and values
|
1250
|
+
# for the filters that you plan to use. For example, you can filter
|
1251
|
+
# for `REGION==us-east-1 OR REGION==us-west-1`. The `Expression` for
|
1252
|
+
# that looks like this:
|
1253
|
+
#
|
1254
|
+
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
1255
|
+
# “us-west-1” ] \} \}`
|
1256
|
+
#
|
1257
|
+
# The list of dimension values are OR'd together to retrieve cost or
|
1258
|
+
# usage data. You can create `Expression` and `DimensionValues`
|
1259
|
+
# objects using either `with*` methods or `set*` methods in multiple
|
1260
|
+
# lines.
|
1261
|
+
#
|
1262
|
+
# * Compound dimension values with logical operations - You can use
|
1263
|
+
# multiple `Expression` types and the logical operators `AND/OR/NOT`
|
1264
|
+
# to create a list of one or more `Expression` objects. This allows
|
1265
|
+
# you to filter on more advanced options. For example, you can filter
|
1266
|
+
# on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
|
1267
|
+
# Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
|
1268
|
+
# looks like this:
|
1269
|
+
#
|
1270
|
+
# `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
|
1271
|
+
# [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
|
1272
|
+
# "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
|
1273
|
+
# "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
|
1274
|
+
#
|
1275
|
+
# <note markdown="1"> Because each `Expression` can have only one operator, the service
|
1276
|
+
# returns an error if more than one is specified. The following
|
1277
|
+
# example shows an `Expression` object that creates an error.
|
1278
|
+
#
|
1279
|
+
# </note>
|
1280
|
+
#
|
1281
|
+
# ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
|
1282
|
+
# "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
|
1283
|
+
#
|
1284
|
+
# <note markdown="1"> For `GetRightsizingRecommendation` action, a combination of OR and NOT
|
1285
|
+
# is not supported. OR is not supported between different dimensions, or
|
1286
|
+
# dimensions and tags. NOT operators aren't supported. Dimentions are
|
1287
|
+
# also limited to `LINKED_ACCOUNT`, `REGION`, or `RIGHTSIZING_TYPE`.
|
1288
|
+
#
|
1289
|
+
# </note>
|
1290
|
+
#
|
1291
|
+
# @option params [required, String] :service
|
1292
|
+
# The specific service that you want recommendations for.
|
1293
|
+
#
|
1294
|
+
# @option params [Integer] :page_size
|
1295
|
+
# The number of recommendations that you want returned in a single
|
1296
|
+
# response object.
|
1297
|
+
#
|
1298
|
+
# @option params [String] :next_page_token
|
1299
|
+
# The pagination token that indicates the next set of results that you
|
1300
|
+
# want to retrieve.
|
1301
|
+
#
|
1302
|
+
# @return [Types::GetRightsizingRecommendationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1303
|
+
#
|
1304
|
+
# * {Types::GetRightsizingRecommendationResponse#metadata #metadata} => Types::RightsizingRecommendationMetadata
|
1305
|
+
# * {Types::GetRightsizingRecommendationResponse#summary #summary} => Types::RightsizingRecommendationSummary
|
1306
|
+
# * {Types::GetRightsizingRecommendationResponse#rightsizing_recommendations #rightsizing_recommendations} => Array<Types::RightsizingRecommendation>
|
1307
|
+
# * {Types::GetRightsizingRecommendationResponse#next_page_token #next_page_token} => String
|
1308
|
+
#
|
1309
|
+
# @example Request syntax with placeholder values
|
1310
|
+
#
|
1311
|
+
# resp = client.get_rightsizing_recommendation({
|
1312
|
+
# filter: {
|
1313
|
+
# or: [
|
1314
|
+
# {
|
1315
|
+
# # recursive Expression
|
1316
|
+
# },
|
1317
|
+
# ],
|
1318
|
+
# and: [
|
1319
|
+
# {
|
1320
|
+
# # recursive Expression
|
1321
|
+
# },
|
1322
|
+
# ],
|
1323
|
+
# not: {
|
1324
|
+
# # recursive Expression
|
1325
|
+
# },
|
1326
|
+
# dimensions: {
|
1327
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
1328
|
+
# values: ["Value"],
|
1329
|
+
# },
|
1330
|
+
# tags: {
|
1331
|
+
# key: "TagKey",
|
1332
|
+
# values: ["Value"],
|
1333
|
+
# },
|
1334
|
+
# },
|
1335
|
+
# service: "GenericString", # required
|
1336
|
+
# page_size: 1,
|
1337
|
+
# next_page_token: "NextPageToken",
|
1338
|
+
# })
|
1339
|
+
#
|
1340
|
+
# @example Response structure
|
1341
|
+
#
|
1342
|
+
# resp.metadata.recommendation_id #=> String
|
1343
|
+
# resp.metadata.generation_timestamp #=> String
|
1344
|
+
# resp.metadata.lookback_period_in_days #=> String, one of "SEVEN_DAYS", "THIRTY_DAYS", "SIXTY_DAYS"
|
1345
|
+
# resp.summary.total_recommendation_count #=> String
|
1346
|
+
# resp.summary.estimated_total_monthly_savings_amount #=> String
|
1347
|
+
# resp.summary.savings_currency_code #=> String
|
1348
|
+
# resp.summary.savings_percentage #=> String
|
1349
|
+
# resp.rightsizing_recommendations #=> Array
|
1350
|
+
# resp.rightsizing_recommendations[0].account_id #=> String
|
1351
|
+
# resp.rightsizing_recommendations[0].current_instance.resource_id #=> String
|
1352
|
+
# resp.rightsizing_recommendations[0].current_instance.tags #=> Array
|
1353
|
+
# resp.rightsizing_recommendations[0].current_instance.tags[0].key #=> String
|
1354
|
+
# resp.rightsizing_recommendations[0].current_instance.tags[0].values #=> Array
|
1355
|
+
# resp.rightsizing_recommendations[0].current_instance.tags[0].values[0] #=> String
|
1356
|
+
# resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.hourly_on_demand_rate #=> String
|
1357
|
+
# resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.instance_type #=> String
|
1358
|
+
# resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.platform #=> String
|
1359
|
+
# resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.region #=> String
|
1360
|
+
# resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.sku #=> String
|
1361
|
+
# resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.memory #=> String
|
1362
|
+
# resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.network_performance #=> String
|
1363
|
+
# resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.storage #=> String
|
1364
|
+
# resp.rightsizing_recommendations[0].current_instance.resource_details.ec2_resource_details.vcpu #=> String
|
1365
|
+
# resp.rightsizing_recommendations[0].current_instance.resource_utilization.ec2_resource_utilization.max_cpu_utilization_percentage #=> String
|
1366
|
+
# resp.rightsizing_recommendations[0].current_instance.resource_utilization.ec2_resource_utilization.max_memory_utilization_percentage #=> String
|
1367
|
+
# resp.rightsizing_recommendations[0].current_instance.resource_utilization.ec2_resource_utilization.max_storage_utilization_percentage #=> String
|
1368
|
+
# resp.rightsizing_recommendations[0].current_instance.reservation_covered_hours_in_lookback_period #=> String
|
1369
|
+
# resp.rightsizing_recommendations[0].current_instance.on_demand_hours_in_lookback_period #=> String
|
1370
|
+
# resp.rightsizing_recommendations[0].current_instance.total_running_hours_in_lookback_period #=> String
|
1371
|
+
# resp.rightsizing_recommendations[0].current_instance.monthly_cost #=> String
|
1372
|
+
# resp.rightsizing_recommendations[0].current_instance.currency_code #=> String
|
1373
|
+
# resp.rightsizing_recommendations[0].rightsizing_type #=> String, one of "TERMINATE", "MODIFY"
|
1374
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances #=> Array
|
1375
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].estimated_monthly_cost #=> String
|
1376
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].estimated_monthly_savings #=> String
|
1377
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].currency_code #=> String
|
1378
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].default_target_instance #=> Boolean
|
1379
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].resource_details.ec2_resource_details.hourly_on_demand_rate #=> String
|
1380
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].resource_details.ec2_resource_details.instance_type #=> String
|
1381
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].resource_details.ec2_resource_details.platform #=> String
|
1382
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].resource_details.ec2_resource_details.region #=> String
|
1383
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].resource_details.ec2_resource_details.sku #=> String
|
1384
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].resource_details.ec2_resource_details.memory #=> String
|
1385
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].resource_details.ec2_resource_details.network_performance #=> String
|
1386
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].resource_details.ec2_resource_details.storage #=> String
|
1387
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].resource_details.ec2_resource_details.vcpu #=> String
|
1388
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].expected_resource_utilization.ec2_resource_utilization.max_cpu_utilization_percentage #=> String
|
1389
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].expected_resource_utilization.ec2_resource_utilization.max_memory_utilization_percentage #=> String
|
1390
|
+
# resp.rightsizing_recommendations[0].modify_recommendation_detail.target_instances[0].expected_resource_utilization.ec2_resource_utilization.max_storage_utilization_percentage #=> String
|
1391
|
+
# resp.rightsizing_recommendations[0].terminate_recommendation_detail.estimated_monthly_savings #=> String
|
1392
|
+
# resp.rightsizing_recommendations[0].terminate_recommendation_detail.currency_code #=> String
|
1393
|
+
# resp.next_page_token #=> String
|
1394
|
+
#
|
1395
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetRightsizingRecommendation AWS API Documentation
|
1396
|
+
#
|
1397
|
+
# @overload get_rightsizing_recommendation(params = {})
|
1398
|
+
# @param [Hash] params ({})
|
1399
|
+
def get_rightsizing_recommendation(params = {}, options = {})
|
1400
|
+
req = build_request(:get_rightsizing_recommendation, params)
|
1401
|
+
req.send_request(options)
|
1402
|
+
end
|
1403
|
+
|
1233
1404
|
# Queries for available tag keys and tag values for a specified period.
|
1234
1405
|
# You can search the tag values for an arbitrary string.
|
1235
1406
|
#
|
@@ -1356,7 +1527,7 @@ module Aws::CostExplorer
|
|
1356
1527
|
# # recursive Expression
|
1357
1528
|
# },
|
1358
1529
|
# dimensions: {
|
1359
|
-
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
1530
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
1360
1531
|
# values: ["Value"],
|
1361
1532
|
# },
|
1362
1533
|
# tags: {
|
@@ -1400,7 +1571,7 @@ module Aws::CostExplorer
|
|
1400
1571
|
params: params,
|
1401
1572
|
config: config)
|
1402
1573
|
context[:gem_name] = 'aws-sdk-costexplorer'
|
1403
|
-
context[:gem_version] = '1.
|
1574
|
+
context[:gem_version] = '1.29.0'
|
1404
1575
|
Seahorse::Client::Request.new(handlers, context)
|
1405
1576
|
end
|
1406
1577
|
|
@@ -27,6 +27,7 @@ module Aws::CostExplorer
|
|
27
27
|
CoverageNormalizedUnits = Shapes::StructureShape.new(name: 'CoverageNormalizedUnits')
|
28
28
|
CoverageNormalizedUnitsPercentage = Shapes::StringShape.new(name: 'CoverageNormalizedUnitsPercentage')
|
29
29
|
CoveragesByTime = Shapes::ListShape.new(name: 'CoveragesByTime')
|
30
|
+
CurrentInstance = Shapes::StructureShape.new(name: 'CurrentInstance')
|
30
31
|
DataUnavailableException = Shapes::StructureShape.new(name: 'DataUnavailableException')
|
31
32
|
DateInterval = Shapes::StructureShape.new(name: 'DateInterval')
|
32
33
|
Dimension = Shapes::StringShape.new(name: 'Dimension')
|
@@ -34,6 +35,8 @@ module Aws::CostExplorer
|
|
34
35
|
DimensionValuesWithAttributes = Shapes::StructureShape.new(name: 'DimensionValuesWithAttributes')
|
35
36
|
DimensionValuesWithAttributesList = Shapes::ListShape.new(name: 'DimensionValuesWithAttributesList')
|
36
37
|
EC2InstanceDetails = Shapes::StructureShape.new(name: 'EC2InstanceDetails')
|
38
|
+
EC2ResourceDetails = Shapes::StructureShape.new(name: 'EC2ResourceDetails')
|
39
|
+
EC2ResourceUtilization = Shapes::StructureShape.new(name: 'EC2ResourceUtilization')
|
37
40
|
EC2Specification = Shapes::StructureShape.new(name: 'EC2Specification')
|
38
41
|
ESInstanceDetails = Shapes::StructureShape.new(name: 'ESInstanceDetails')
|
39
42
|
ElastiCacheInstanceDetails = Shapes::StructureShape.new(name: 'ElastiCacheInstanceDetails')
|
@@ -58,6 +61,8 @@ module Aws::CostExplorer
|
|
58
61
|
GetReservationPurchaseRecommendationResponse = Shapes::StructureShape.new(name: 'GetReservationPurchaseRecommendationResponse')
|
59
62
|
GetReservationUtilizationRequest = Shapes::StructureShape.new(name: 'GetReservationUtilizationRequest')
|
60
63
|
GetReservationUtilizationResponse = Shapes::StructureShape.new(name: 'GetReservationUtilizationResponse')
|
64
|
+
GetRightsizingRecommendationRequest = Shapes::StructureShape.new(name: 'GetRightsizingRecommendationRequest')
|
65
|
+
GetRightsizingRecommendationResponse = Shapes::StructureShape.new(name: 'GetRightsizingRecommendationResponse')
|
61
66
|
GetTagsRequest = Shapes::StructureShape.new(name: 'GetTagsRequest')
|
62
67
|
GetTagsResponse = Shapes::StructureShape.new(name: 'GetTagsResponse')
|
63
68
|
GetUsageForecastRequest = Shapes::StructureShape.new(name: 'GetUsageForecastRequest')
|
@@ -82,6 +87,7 @@ module Aws::CostExplorer
|
|
82
87
|
MetricUnit = Shapes::StringShape.new(name: 'MetricUnit')
|
83
88
|
MetricValue = Shapes::StructureShape.new(name: 'MetricValue')
|
84
89
|
Metrics = Shapes::MapShape.new(name: 'Metrics')
|
90
|
+
ModifyRecommendationDetail = Shapes::StructureShape.new(name: 'ModifyRecommendationDetail')
|
85
91
|
NetRISavings = Shapes::StringShape.new(name: 'NetRISavings')
|
86
92
|
NextPageToken = Shapes::StringShape.new(name: 'NextPageToken')
|
87
93
|
NonNegativeInteger = Shapes::IntegerShape.new(name: 'NonNegativeInteger')
|
@@ -113,14 +119,25 @@ module Aws::CostExplorer
|
|
113
119
|
ReservationUtilizationGroups = Shapes::ListShape.new(name: 'ReservationUtilizationGroups')
|
114
120
|
ReservedHours = Shapes::StringShape.new(name: 'ReservedHours')
|
115
121
|
ReservedNormalizedUnits = Shapes::StringShape.new(name: 'ReservedNormalizedUnits')
|
122
|
+
ResourceDetails = Shapes::StructureShape.new(name: 'ResourceDetails')
|
123
|
+
ResourceUtilization = Shapes::StructureShape.new(name: 'ResourceUtilization')
|
116
124
|
ResultByTime = Shapes::StructureShape.new(name: 'ResultByTime')
|
117
125
|
ResultsByTime = Shapes::ListShape.new(name: 'ResultsByTime')
|
126
|
+
RightsizingRecommendation = Shapes::StructureShape.new(name: 'RightsizingRecommendation')
|
127
|
+
RightsizingRecommendationList = Shapes::ListShape.new(name: 'RightsizingRecommendationList')
|
128
|
+
RightsizingRecommendationMetadata = Shapes::StructureShape.new(name: 'RightsizingRecommendationMetadata')
|
129
|
+
RightsizingRecommendationSummary = Shapes::StructureShape.new(name: 'RightsizingRecommendationSummary')
|
130
|
+
RightsizingType = Shapes::StringShape.new(name: 'RightsizingType')
|
118
131
|
SearchString = Shapes::StringShape.new(name: 'SearchString')
|
119
132
|
ServiceSpecification = Shapes::StructureShape.new(name: 'ServiceSpecification')
|
120
133
|
TagKey = Shapes::StringShape.new(name: 'TagKey')
|
121
134
|
TagList = Shapes::ListShape.new(name: 'TagList')
|
122
135
|
TagValues = Shapes::StructureShape.new(name: 'TagValues')
|
136
|
+
TagValuesList = Shapes::ListShape.new(name: 'TagValuesList')
|
137
|
+
TargetInstance = Shapes::StructureShape.new(name: 'TargetInstance')
|
138
|
+
TargetInstancesList = Shapes::ListShape.new(name: 'TargetInstancesList')
|
123
139
|
TermInYears = Shapes::StringShape.new(name: 'TermInYears')
|
140
|
+
TerminateRecommendationDetail = Shapes::StructureShape.new(name: 'TerminateRecommendationDetail')
|
124
141
|
TotalActualHours = Shapes::StringShape.new(name: 'TotalActualHours')
|
125
142
|
TotalActualUnits = Shapes::StringShape.new(name: 'TotalActualUnits')
|
126
143
|
TotalAmortizedFee = Shapes::StringShape.new(name: 'TotalAmortizedFee')
|
@@ -171,6 +188,17 @@ module Aws::CostExplorer
|
|
171
188
|
|
172
189
|
CoveragesByTime.member = Shapes::ShapeRef.new(shape: CoverageByTime)
|
173
190
|
|
191
|
+
CurrentInstance.add_member(:resource_id, Shapes::ShapeRef.new(shape: GenericString, location_name: "ResourceId"))
|
192
|
+
CurrentInstance.add_member(:tags, Shapes::ShapeRef.new(shape: TagValuesList, location_name: "Tags"))
|
193
|
+
CurrentInstance.add_member(:resource_details, Shapes::ShapeRef.new(shape: ResourceDetails, location_name: "ResourceDetails"))
|
194
|
+
CurrentInstance.add_member(:resource_utilization, Shapes::ShapeRef.new(shape: ResourceUtilization, location_name: "ResourceUtilization"))
|
195
|
+
CurrentInstance.add_member(:reservation_covered_hours_in_lookback_period, Shapes::ShapeRef.new(shape: GenericString, location_name: "ReservationCoveredHoursInLookbackPeriod"))
|
196
|
+
CurrentInstance.add_member(:on_demand_hours_in_lookback_period, Shapes::ShapeRef.new(shape: GenericString, location_name: "OnDemandHoursInLookbackPeriod"))
|
197
|
+
CurrentInstance.add_member(:total_running_hours_in_lookback_period, Shapes::ShapeRef.new(shape: GenericString, location_name: "TotalRunningHoursInLookbackPeriod"))
|
198
|
+
CurrentInstance.add_member(:monthly_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "MonthlyCost"))
|
199
|
+
CurrentInstance.add_member(:currency_code, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrencyCode"))
|
200
|
+
CurrentInstance.struct_class = Types::CurrentInstance
|
201
|
+
|
174
202
|
DataUnavailableException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
|
175
203
|
DataUnavailableException.struct_class = Types::DataUnavailableException
|
176
204
|
|
@@ -198,6 +226,22 @@ module Aws::CostExplorer
|
|
198
226
|
EC2InstanceDetails.add_member(:size_flex_eligible, Shapes::ShapeRef.new(shape: GenericBoolean, location_name: "SizeFlexEligible"))
|
199
227
|
EC2InstanceDetails.struct_class = Types::EC2InstanceDetails
|
200
228
|
|
229
|
+
EC2ResourceDetails.add_member(:hourly_on_demand_rate, Shapes::ShapeRef.new(shape: GenericString, location_name: "HourlyOnDemandRate"))
|
230
|
+
EC2ResourceDetails.add_member(:instance_type, Shapes::ShapeRef.new(shape: GenericString, location_name: "InstanceType"))
|
231
|
+
EC2ResourceDetails.add_member(:platform, Shapes::ShapeRef.new(shape: GenericString, location_name: "Platform"))
|
232
|
+
EC2ResourceDetails.add_member(:region, Shapes::ShapeRef.new(shape: GenericString, location_name: "Region"))
|
233
|
+
EC2ResourceDetails.add_member(:sku, Shapes::ShapeRef.new(shape: GenericString, location_name: "Sku"))
|
234
|
+
EC2ResourceDetails.add_member(:memory, Shapes::ShapeRef.new(shape: GenericString, location_name: "Memory"))
|
235
|
+
EC2ResourceDetails.add_member(:network_performance, Shapes::ShapeRef.new(shape: GenericString, location_name: "NetworkPerformance"))
|
236
|
+
EC2ResourceDetails.add_member(:storage, Shapes::ShapeRef.new(shape: GenericString, location_name: "Storage"))
|
237
|
+
EC2ResourceDetails.add_member(:vcpu, Shapes::ShapeRef.new(shape: GenericString, location_name: "Vcpu"))
|
238
|
+
EC2ResourceDetails.struct_class = Types::EC2ResourceDetails
|
239
|
+
|
240
|
+
EC2ResourceUtilization.add_member(:max_cpu_utilization_percentage, Shapes::ShapeRef.new(shape: GenericString, location_name: "MaxCpuUtilizationPercentage"))
|
241
|
+
EC2ResourceUtilization.add_member(:max_memory_utilization_percentage, Shapes::ShapeRef.new(shape: GenericString, location_name: "MaxMemoryUtilizationPercentage"))
|
242
|
+
EC2ResourceUtilization.add_member(:max_storage_utilization_percentage, Shapes::ShapeRef.new(shape: GenericString, location_name: "MaxStorageUtilizationPercentage"))
|
243
|
+
EC2ResourceUtilization.struct_class = Types::EC2ResourceUtilization
|
244
|
+
|
201
245
|
EC2Specification.add_member(:offering_class, Shapes::ShapeRef.new(shape: OfferingClass, location_name: "OfferingClass"))
|
202
246
|
EC2Specification.struct_class = Types::EC2Specification
|
203
247
|
|
@@ -311,6 +355,18 @@ module Aws::CostExplorer
|
|
311
355
|
GetReservationUtilizationResponse.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
|
312
356
|
GetReservationUtilizationResponse.struct_class = Types::GetReservationUtilizationResponse
|
313
357
|
|
358
|
+
GetRightsizingRecommendationRequest.add_member(:filter, Shapes::ShapeRef.new(shape: Expression, location_name: "Filter"))
|
359
|
+
GetRightsizingRecommendationRequest.add_member(:service, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "Service"))
|
360
|
+
GetRightsizingRecommendationRequest.add_member(:page_size, Shapes::ShapeRef.new(shape: NonNegativeInteger, location_name: "PageSize"))
|
361
|
+
GetRightsizingRecommendationRequest.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
|
362
|
+
GetRightsizingRecommendationRequest.struct_class = Types::GetRightsizingRecommendationRequest
|
363
|
+
|
364
|
+
GetRightsizingRecommendationResponse.add_member(:metadata, Shapes::ShapeRef.new(shape: RightsizingRecommendationMetadata, location_name: "Metadata"))
|
365
|
+
GetRightsizingRecommendationResponse.add_member(:summary, Shapes::ShapeRef.new(shape: RightsizingRecommendationSummary, location_name: "Summary"))
|
366
|
+
GetRightsizingRecommendationResponse.add_member(:rightsizing_recommendations, Shapes::ShapeRef.new(shape: RightsizingRecommendationList, location_name: "RightsizingRecommendations"))
|
367
|
+
GetRightsizingRecommendationResponse.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
|
368
|
+
GetRightsizingRecommendationResponse.struct_class = Types::GetRightsizingRecommendationResponse
|
369
|
+
|
314
370
|
GetTagsRequest.add_member(:search_string, Shapes::ShapeRef.new(shape: SearchString, location_name: "SearchString"))
|
315
371
|
GetTagsRequest.add_member(:time_period, Shapes::ShapeRef.new(shape: DateInterval, required: true, location_name: "TimePeriod"))
|
316
372
|
GetTagsRequest.add_member(:tag_key, Shapes::ShapeRef.new(shape: TagKey, location_name: "TagKey"))
|
@@ -370,6 +426,9 @@ module Aws::CostExplorer
|
|
370
426
|
Metrics.key = Shapes::ShapeRef.new(shape: MetricName)
|
371
427
|
Metrics.value = Shapes::ShapeRef.new(shape: MetricValue)
|
372
428
|
|
429
|
+
ModifyRecommendationDetail.add_member(:target_instances, Shapes::ShapeRef.new(shape: TargetInstancesList, location_name: "TargetInstances"))
|
430
|
+
ModifyRecommendationDetail.struct_class = Types::ModifyRecommendationDetail
|
431
|
+
|
373
432
|
RDSInstanceDetails.add_member(:family, Shapes::ShapeRef.new(shape: GenericString, location_name: "Family"))
|
374
433
|
RDSInstanceDetails.add_member(:instance_type, Shapes::ShapeRef.new(shape: GenericString, location_name: "InstanceType"))
|
375
434
|
RDSInstanceDetails.add_member(:region, Shapes::ShapeRef.new(shape: GenericString, location_name: "Region"))
|
@@ -464,6 +523,12 @@ module Aws::CostExplorer
|
|
464
523
|
|
465
524
|
ReservationUtilizationGroups.member = Shapes::ShapeRef.new(shape: ReservationUtilizationGroup)
|
466
525
|
|
526
|
+
ResourceDetails.add_member(:ec2_resource_details, Shapes::ShapeRef.new(shape: EC2ResourceDetails, location_name: "EC2ResourceDetails"))
|
527
|
+
ResourceDetails.struct_class = Types::ResourceDetails
|
528
|
+
|
529
|
+
ResourceUtilization.add_member(:ec2_resource_utilization, Shapes::ShapeRef.new(shape: EC2ResourceUtilization, location_name: "EC2ResourceUtilization"))
|
530
|
+
ResourceUtilization.struct_class = Types::ResourceUtilization
|
531
|
+
|
467
532
|
ResultByTime.add_member(:time_period, Shapes::ShapeRef.new(shape: DateInterval, location_name: "TimePeriod"))
|
468
533
|
ResultByTime.add_member(:total, Shapes::ShapeRef.new(shape: Metrics, location_name: "Total"))
|
469
534
|
ResultByTime.add_member(:groups, Shapes::ShapeRef.new(shape: Groups, location_name: "Groups"))
|
@@ -472,6 +537,26 @@ module Aws::CostExplorer
|
|
472
537
|
|
473
538
|
ResultsByTime.member = Shapes::ShapeRef.new(shape: ResultByTime)
|
474
539
|
|
540
|
+
RightsizingRecommendation.add_member(:account_id, Shapes::ShapeRef.new(shape: GenericString, location_name: "AccountId"))
|
541
|
+
RightsizingRecommendation.add_member(:current_instance, Shapes::ShapeRef.new(shape: CurrentInstance, location_name: "CurrentInstance"))
|
542
|
+
RightsizingRecommendation.add_member(:rightsizing_type, Shapes::ShapeRef.new(shape: RightsizingType, location_name: "RightsizingType"))
|
543
|
+
RightsizingRecommendation.add_member(:modify_recommendation_detail, Shapes::ShapeRef.new(shape: ModifyRecommendationDetail, location_name: "ModifyRecommendationDetail"))
|
544
|
+
RightsizingRecommendation.add_member(:terminate_recommendation_detail, Shapes::ShapeRef.new(shape: TerminateRecommendationDetail, location_name: "TerminateRecommendationDetail"))
|
545
|
+
RightsizingRecommendation.struct_class = Types::RightsizingRecommendation
|
546
|
+
|
547
|
+
RightsizingRecommendationList.member = Shapes::ShapeRef.new(shape: RightsizingRecommendation)
|
548
|
+
|
549
|
+
RightsizingRecommendationMetadata.add_member(:recommendation_id, Shapes::ShapeRef.new(shape: GenericString, location_name: "RecommendationId"))
|
550
|
+
RightsizingRecommendationMetadata.add_member(:generation_timestamp, Shapes::ShapeRef.new(shape: GenericString, location_name: "GenerationTimestamp"))
|
551
|
+
RightsizingRecommendationMetadata.add_member(:lookback_period_in_days, Shapes::ShapeRef.new(shape: LookbackPeriodInDays, location_name: "LookbackPeriodInDays"))
|
552
|
+
RightsizingRecommendationMetadata.struct_class = Types::RightsizingRecommendationMetadata
|
553
|
+
|
554
|
+
RightsizingRecommendationSummary.add_member(:total_recommendation_count, Shapes::ShapeRef.new(shape: GenericString, location_name: "TotalRecommendationCount"))
|
555
|
+
RightsizingRecommendationSummary.add_member(:estimated_total_monthly_savings_amount, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedTotalMonthlySavingsAmount"))
|
556
|
+
RightsizingRecommendationSummary.add_member(:savings_currency_code, Shapes::ShapeRef.new(shape: GenericString, location_name: "SavingsCurrencyCode"))
|
557
|
+
RightsizingRecommendationSummary.add_member(:savings_percentage, Shapes::ShapeRef.new(shape: GenericString, location_name: "SavingsPercentage"))
|
558
|
+
RightsizingRecommendationSummary.struct_class = Types::RightsizingRecommendationSummary
|
559
|
+
|
475
560
|
ServiceSpecification.add_member(:ec2_specification, Shapes::ShapeRef.new(shape: EC2Specification, location_name: "EC2Specification"))
|
476
561
|
ServiceSpecification.struct_class = Types::ServiceSpecification
|
477
562
|
|
@@ -481,6 +566,22 @@ module Aws::CostExplorer
|
|
481
566
|
TagValues.add_member(:values, Shapes::ShapeRef.new(shape: Values, location_name: "Values"))
|
482
567
|
TagValues.struct_class = Types::TagValues
|
483
568
|
|
569
|
+
TagValuesList.member = Shapes::ShapeRef.new(shape: TagValues)
|
570
|
+
|
571
|
+
TargetInstance.add_member(:estimated_monthly_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedMonthlyCost"))
|
572
|
+
TargetInstance.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedMonthlySavings"))
|
573
|
+
TargetInstance.add_member(:currency_code, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrencyCode"))
|
574
|
+
TargetInstance.add_member(:default_target_instance, Shapes::ShapeRef.new(shape: GenericBoolean, location_name: "DefaultTargetInstance"))
|
575
|
+
TargetInstance.add_member(:resource_details, Shapes::ShapeRef.new(shape: ResourceDetails, location_name: "ResourceDetails"))
|
576
|
+
TargetInstance.add_member(:expected_resource_utilization, Shapes::ShapeRef.new(shape: ResourceUtilization, location_name: "ExpectedResourceUtilization"))
|
577
|
+
TargetInstance.struct_class = Types::TargetInstance
|
578
|
+
|
579
|
+
TargetInstancesList.member = Shapes::ShapeRef.new(shape: TargetInstance)
|
580
|
+
|
581
|
+
TerminateRecommendationDetail.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedMonthlySavings"))
|
582
|
+
TerminateRecommendationDetail.add_member(:currency_code, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrencyCode"))
|
583
|
+
TerminateRecommendationDetail.struct_class = Types::TerminateRecommendationDetail
|
584
|
+
|
484
585
|
UnresolvableUsageUnitException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
|
485
586
|
UnresolvableUsageUnitException.struct_class = Types::UnresolvableUsageUnitException
|
486
587
|
|
@@ -582,6 +683,16 @@ module Aws::CostExplorer
|
|
582
683
|
o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
|
583
684
|
end)
|
584
685
|
|
686
|
+
api.add_operation(:get_rightsizing_recommendation, Seahorse::Model::Operation.new.tap do |o|
|
687
|
+
o.name = "GetRightsizingRecommendation"
|
688
|
+
o.http_method = "POST"
|
689
|
+
o.http_request_uri = "/"
|
690
|
+
o.input = Shapes::ShapeRef.new(shape: GetRightsizingRecommendationRequest)
|
691
|
+
o.output = Shapes::ShapeRef.new(shape: GetRightsizingRecommendationResponse)
|
692
|
+
o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
|
693
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
|
694
|
+
end)
|
695
|
+
|
585
696
|
api.add_operation(:get_tags, Seahorse::Model::Operation.new.tap do |o|
|
586
697
|
o.name = "GetTags"
|
587
698
|
o.http_method = "POST"
|
@@ -155,6 +155,64 @@ module Aws::CostExplorer
|
|
155
155
|
include Aws::Structure
|
156
156
|
end
|
157
157
|
|
158
|
+
# Context about the current instance.
|
159
|
+
#
|
160
|
+
# @!attribute [rw] resource_id
|
161
|
+
# Resource ID of the current instance.
|
162
|
+
# @return [String]
|
163
|
+
#
|
164
|
+
# @!attribute [rw] tags
|
165
|
+
# Cost allocation resource tags applied to the instance.
|
166
|
+
# @return [Array<Types::TagValues>]
|
167
|
+
#
|
168
|
+
# @!attribute [rw] resource_details
|
169
|
+
# Details about the resource and utilization.
|
170
|
+
# @return [Types::ResourceDetails]
|
171
|
+
#
|
172
|
+
# @!attribute [rw] resource_utilization
|
173
|
+
# Utilization information of the current instance during the lookback
|
174
|
+
# period.
|
175
|
+
# @return [Types::ResourceUtilization]
|
176
|
+
#
|
177
|
+
# @!attribute [rw] reservation_covered_hours_in_lookback_period
|
178
|
+
# Number of hours during the lookback period covered by reservations.
|
179
|
+
# @return [String]
|
180
|
+
#
|
181
|
+
# @!attribute [rw] on_demand_hours_in_lookback_period
|
182
|
+
# Number of hours during the lookback period billed at On Demand
|
183
|
+
# rates.
|
184
|
+
# @return [String]
|
185
|
+
#
|
186
|
+
# @!attribute [rw] total_running_hours_in_lookback_period
|
187
|
+
# The total number of hours the instance ran during the lookback
|
188
|
+
# period.
|
189
|
+
# @return [String]
|
190
|
+
#
|
191
|
+
# @!attribute [rw] monthly_cost
|
192
|
+
# Current On Demand cost of operating this instance on a monthly
|
193
|
+
# basis.
|
194
|
+
# @return [String]
|
195
|
+
#
|
196
|
+
# @!attribute [rw] currency_code
|
197
|
+
# The currency code that Amazon Web Services used to calculate the
|
198
|
+
# costs for this instance.
|
199
|
+
# @return [String]
|
200
|
+
#
|
201
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CurrentInstance AWS API Documentation
|
202
|
+
#
|
203
|
+
class CurrentInstance < Struct.new(
|
204
|
+
:resource_id,
|
205
|
+
:tags,
|
206
|
+
:resource_details,
|
207
|
+
:resource_utilization,
|
208
|
+
:reservation_covered_hours_in_lookback_period,
|
209
|
+
:on_demand_hours_in_lookback_period,
|
210
|
+
:total_running_hours_in_lookback_period,
|
211
|
+
:monthly_cost,
|
212
|
+
:currency_code)
|
213
|
+
include Aws::Structure
|
214
|
+
end
|
215
|
+
|
158
216
|
# The requested data is unavailable.
|
159
217
|
#
|
160
218
|
# @!attribute [rw] message
|
@@ -206,7 +264,7 @@ module Aws::CostExplorer
|
|
206
264
|
# data as a hash:
|
207
265
|
#
|
208
266
|
# {
|
209
|
-
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
267
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
210
268
|
# values: ["Value"],
|
211
269
|
# }
|
212
270
|
#
|
@@ -305,6 +363,86 @@ module Aws::CostExplorer
|
|
305
363
|
include Aws::Structure
|
306
364
|
end
|
307
365
|
|
366
|
+
# Details on the Amazon EC2 Resource.
|
367
|
+
#
|
368
|
+
# @!attribute [rw] hourly_on_demand_rate
|
369
|
+
# Hourly public On Demand rate for the instance type.
|
370
|
+
# @return [String]
|
371
|
+
#
|
372
|
+
# @!attribute [rw] instance_type
|
373
|
+
# The type of Amazon Web Services instance.
|
374
|
+
# @return [String]
|
375
|
+
#
|
376
|
+
# @!attribute [rw] platform
|
377
|
+
# The platform of the Amazon Web Services instance. The platform is
|
378
|
+
# the specific combination of operating system, license model, and
|
379
|
+
# software on an instance.
|
380
|
+
# @return [String]
|
381
|
+
#
|
382
|
+
# @!attribute [rw] region
|
383
|
+
# The Amazon Web Services Region of the instance.
|
384
|
+
# @return [String]
|
385
|
+
#
|
386
|
+
# @!attribute [rw] sku
|
387
|
+
# The SKU of the product.
|
388
|
+
# @return [String]
|
389
|
+
#
|
390
|
+
# @!attribute [rw] memory
|
391
|
+
# Memory capacity of Amazon Web Services instance.
|
392
|
+
# @return [String]
|
393
|
+
#
|
394
|
+
# @!attribute [rw] network_performance
|
395
|
+
# Network performance capacity of the Amazon Web Services instance.
|
396
|
+
# @return [String]
|
397
|
+
#
|
398
|
+
# @!attribute [rw] storage
|
399
|
+
# The disk storage of the Amazon Web Services instance (Not EBS
|
400
|
+
# storage).
|
401
|
+
# @return [String]
|
402
|
+
#
|
403
|
+
# @!attribute [rw] vcpu
|
404
|
+
# Number of VCPU cores in the Amazon Web Services instance type.
|
405
|
+
# @return [String]
|
406
|
+
#
|
407
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/EC2ResourceDetails AWS API Documentation
|
408
|
+
#
|
409
|
+
class EC2ResourceDetails < Struct.new(
|
410
|
+
:hourly_on_demand_rate,
|
411
|
+
:instance_type,
|
412
|
+
:platform,
|
413
|
+
:region,
|
414
|
+
:sku,
|
415
|
+
:memory,
|
416
|
+
:network_performance,
|
417
|
+
:storage,
|
418
|
+
:vcpu)
|
419
|
+
include Aws::Structure
|
420
|
+
end
|
421
|
+
|
422
|
+
# Utilization metrics of the instance.
|
423
|
+
#
|
424
|
+
# @!attribute [rw] max_cpu_utilization_percentage
|
425
|
+
# Maximum observed or expected CPU utilization of the instance.
|
426
|
+
# @return [String]
|
427
|
+
#
|
428
|
+
# @!attribute [rw] max_memory_utilization_percentage
|
429
|
+
# Maximum observed or expected memory utilization of the instance.
|
430
|
+
# @return [String]
|
431
|
+
#
|
432
|
+
# @!attribute [rw] max_storage_utilization_percentage
|
433
|
+
# Maximum observed or expected storage utilization of the instance
|
434
|
+
# (does not measure EBS storage).
|
435
|
+
# @return [String]
|
436
|
+
#
|
437
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/EC2ResourceUtilization AWS API Documentation
|
438
|
+
#
|
439
|
+
class EC2ResourceUtilization < Struct.new(
|
440
|
+
:max_cpu_utilization_percentage,
|
441
|
+
:max_memory_utilization_percentage,
|
442
|
+
:max_storage_utilization_percentage)
|
443
|
+
include Aws::Structure
|
444
|
+
end
|
445
|
+
|
308
446
|
# The Amazon EC2 hardware specifications that you want AWS to provide
|
309
447
|
# recommendations for.
|
310
448
|
#
|
@@ -405,11 +543,11 @@ module Aws::CostExplorer
|
|
405
543
|
#
|
406
544
|
# * Simple dimension values - You can set the dimension name and values
|
407
545
|
# for the filters that you plan to use. For example, you can filter
|
408
|
-
# for `
|
409
|
-
#
|
546
|
+
# for `REGION==us-east-1 OR REGION==us-west-1`. The `Expression` for
|
547
|
+
# that looks like this:
|
410
548
|
#
|
411
|
-
# `\{ "Dimensions": \{ "Key": "
|
412
|
-
#
|
549
|
+
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
550
|
+
# “us-west-1” ] \} \}`
|
413
551
|
#
|
414
552
|
# The list of dimension values are OR'd together to retrieve cost or
|
415
553
|
# usage data. You can create `Expression` and `DimensionValues`
|
@@ -420,14 +558,14 @@ module Aws::CostExplorer
|
|
420
558
|
# multiple `Expression` types and the logical operators `AND/OR/NOT`
|
421
559
|
# to create a list of one or more `Expression` objects. This allows
|
422
560
|
# you to filter on more advanced options. For example, you can filter
|
423
|
-
# on `((
|
424
|
-
#
|
425
|
-
#
|
561
|
+
# on `((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type ==
|
562
|
+
# Type1)) AND (USAGE_TYPE != DataTransfer)`. The `Expression` for that
|
563
|
+
# looks like this:
|
426
564
|
#
|
427
|
-
# `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "
|
428
|
-
#
|
429
|
-
# "
|
430
|
-
#
|
565
|
+
# `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION", "Values":
|
566
|
+
# [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key": "TagName",
|
567
|
+
# "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{ "Key":
|
568
|
+
# "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \} `
|
431
569
|
#
|
432
570
|
# <note markdown="1"> Because each `Expression` can have only one operator, the service
|
433
571
|
# returns an error if more than one is specified. The following
|
@@ -438,6 +576,13 @@ module Aws::CostExplorer
|
|
438
576
|
# ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
|
439
577
|
# "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
|
440
578
|
#
|
579
|
+
# <note markdown="1"> For `GetRightsizingRecommendation` action, a combination of OR and NOT
|
580
|
+
# is not supported. OR is not supported between different dimensions, or
|
581
|
+
# dimensions and tags. NOT operators aren't supported. Dimentions are
|
582
|
+
# also limited to `LINKED_ACCOUNT`, `REGION`, or `RIGHTSIZING_TYPE`.
|
583
|
+
#
|
584
|
+
# </note>
|
585
|
+
#
|
441
586
|
# @note When making an API call, you may pass Expression
|
442
587
|
# data as a hash:
|
443
588
|
#
|
@@ -454,7 +599,7 @@ module Aws::CostExplorer
|
|
454
599
|
# # recursive Expression
|
455
600
|
# },
|
456
601
|
# dimensions: {
|
457
|
-
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
602
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
458
603
|
# values: ["Value"],
|
459
604
|
# },
|
460
605
|
# tags: {
|
@@ -475,7 +620,7 @@ module Aws::CostExplorer
|
|
475
620
|
# # recursive Expression
|
476
621
|
# },
|
477
622
|
# dimensions: {
|
478
|
-
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
623
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
479
624
|
# values: ["Value"],
|
480
625
|
# },
|
481
626
|
# tags: {
|
@@ -499,7 +644,7 @@ module Aws::CostExplorer
|
|
499
644
|
# # recursive Expression
|
500
645
|
# },
|
501
646
|
# dimensions: {
|
502
|
-
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
647
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
503
648
|
# values: ["Value"],
|
504
649
|
# },
|
505
650
|
# tags: {
|
@@ -508,7 +653,7 @@ module Aws::CostExplorer
|
|
508
653
|
# },
|
509
654
|
# },
|
510
655
|
# dimensions: {
|
511
|
-
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
656
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
512
657
|
# values: ["Value"],
|
513
658
|
# },
|
514
659
|
# tags: {
|
@@ -600,7 +745,7 @@ module Aws::CostExplorer
|
|
600
745
|
# # recursive Expression
|
601
746
|
# },
|
602
747
|
# dimensions: {
|
603
|
-
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
748
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
604
749
|
# values: ["Value"],
|
605
750
|
# },
|
606
751
|
# tags: {
|
@@ -752,7 +897,7 @@ module Aws::CostExplorer
|
|
752
897
|
# # recursive Expression
|
753
898
|
# },
|
754
899
|
# dimensions: {
|
755
|
-
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
900
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
756
901
|
# values: ["Value"],
|
757
902
|
# },
|
758
903
|
# tags: {
|
@@ -850,7 +995,7 @@ module Aws::CostExplorer
|
|
850
995
|
# start: "YearMonthDay", # required
|
851
996
|
# end: "YearMonthDay", # required
|
852
997
|
# },
|
853
|
-
# dimension: "AZ", # required, accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
998
|
+
# dimension: "AZ", # required, accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
854
999
|
# context: "COST_AND_USAGE", # accepts COST_AND_USAGE, RESERVATIONS
|
855
1000
|
# next_page_token: "NextPageToken",
|
856
1001
|
# }
|
@@ -1113,7 +1258,7 @@ module Aws::CostExplorer
|
|
1113
1258
|
# # recursive Expression
|
1114
1259
|
# },
|
1115
1260
|
# dimensions: {
|
1116
|
-
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
1261
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
1117
1262
|
# values: ["Value"],
|
1118
1263
|
# },
|
1119
1264
|
# tags: {
|
@@ -1392,7 +1537,7 @@ module Aws::CostExplorer
|
|
1392
1537
|
# # recursive Expression
|
1393
1538
|
# },
|
1394
1539
|
# dimensions: {
|
1395
|
-
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
1540
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
1396
1541
|
# values: ["Value"],
|
1397
1542
|
# },
|
1398
1543
|
# tags: {
|
@@ -1503,6 +1648,137 @@ module Aws::CostExplorer
|
|
1503
1648
|
include Aws::Structure
|
1504
1649
|
end
|
1505
1650
|
|
1651
|
+
# @note When making an API call, you may pass GetRightsizingRecommendationRequest
|
1652
|
+
# data as a hash:
|
1653
|
+
#
|
1654
|
+
# {
|
1655
|
+
# filter: {
|
1656
|
+
# or: [
|
1657
|
+
# {
|
1658
|
+
# # recursive Expression
|
1659
|
+
# },
|
1660
|
+
# ],
|
1661
|
+
# and: [
|
1662
|
+
# {
|
1663
|
+
# # recursive Expression
|
1664
|
+
# },
|
1665
|
+
# ],
|
1666
|
+
# not: {
|
1667
|
+
# # recursive Expression
|
1668
|
+
# },
|
1669
|
+
# dimensions: {
|
1670
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
1671
|
+
# values: ["Value"],
|
1672
|
+
# },
|
1673
|
+
# tags: {
|
1674
|
+
# key: "TagKey",
|
1675
|
+
# values: ["Value"],
|
1676
|
+
# },
|
1677
|
+
# },
|
1678
|
+
# service: "GenericString", # required
|
1679
|
+
# page_size: 1,
|
1680
|
+
# next_page_token: "NextPageToken",
|
1681
|
+
# }
|
1682
|
+
#
|
1683
|
+
# @!attribute [rw] filter
|
1684
|
+
# Use `Expression` to filter by cost or by usage. There are two
|
1685
|
+
# patterns:
|
1686
|
+
#
|
1687
|
+
# * Simple dimension values - You can set the dimension name and
|
1688
|
+
# values for the filters that you plan to use. For example, you can
|
1689
|
+
# filter for `REGION==us-east-1 OR REGION==us-west-1`. The
|
1690
|
+
# `Expression` for that looks like this:
|
1691
|
+
#
|
1692
|
+
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
1693
|
+
# “us-west-1” ] \} \}`
|
1694
|
+
#
|
1695
|
+
# The list of dimension values are OR'd together to retrieve cost
|
1696
|
+
# or usage data. You can create `Expression` and `DimensionValues`
|
1697
|
+
# objects using either `with*` methods or `set*` methods in multiple
|
1698
|
+
# lines.
|
1699
|
+
#
|
1700
|
+
# * Compound dimension values with logical operations - You can use
|
1701
|
+
# multiple `Expression` types and the logical operators `AND/OR/NOT`
|
1702
|
+
# to create a list of one or more `Expression` objects. This allows
|
1703
|
+
# you to filter on more advanced options. For example, you can
|
1704
|
+
# filter on `((REGION == us-east-1 OR REGION == us-west-1) OR
|
1705
|
+
# (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)`. The
|
1706
|
+
# `Expression` for that looks like this:
|
1707
|
+
#
|
1708
|
+
# `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION",
|
1709
|
+
# "Values": [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key":
|
1710
|
+
# "TagName", "Values": ["Value1"] \} \} ]\}, \{"Not":
|
1711
|
+
# \{"Dimensions": \{ "Key": "USAGE_TYPE", "Values": ["DataTransfer"]
|
1712
|
+
# \}\}\} ] \} `
|
1713
|
+
#
|
1714
|
+
# <note markdown="1"> Because each `Expression` can have only one operator, the service
|
1715
|
+
# returns an error if more than one is specified. The following
|
1716
|
+
# example shows an `Expression` object that creates an error.
|
1717
|
+
#
|
1718
|
+
# </note>
|
1719
|
+
#
|
1720
|
+
# ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
|
1721
|
+
# "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
|
1722
|
+
#
|
1723
|
+
# <note markdown="1"> For `GetRightsizingRecommendation` action, a combination of OR and
|
1724
|
+
# NOT is not supported. OR is not supported between different
|
1725
|
+
# dimensions, or dimensions and tags. NOT operators aren't supported.
|
1726
|
+
# Dimentions are also limited to `LINKED_ACCOUNT`, `REGION`, or
|
1727
|
+
# `RIGHTSIZING_TYPE`.
|
1728
|
+
#
|
1729
|
+
# </note>
|
1730
|
+
# @return [Types::Expression]
|
1731
|
+
#
|
1732
|
+
# @!attribute [rw] service
|
1733
|
+
# The specific service that you want recommendations for.
|
1734
|
+
# @return [String]
|
1735
|
+
#
|
1736
|
+
# @!attribute [rw] page_size
|
1737
|
+
# The number of recommendations that you want returned in a single
|
1738
|
+
# response object.
|
1739
|
+
# @return [Integer]
|
1740
|
+
#
|
1741
|
+
# @!attribute [rw] next_page_token
|
1742
|
+
# The pagination token that indicates the next set of results that you
|
1743
|
+
# want to retrieve.
|
1744
|
+
# @return [String]
|
1745
|
+
#
|
1746
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetRightsizingRecommendationRequest AWS API Documentation
|
1747
|
+
#
|
1748
|
+
class GetRightsizingRecommendationRequest < Struct.new(
|
1749
|
+
:filter,
|
1750
|
+
:service,
|
1751
|
+
:page_size,
|
1752
|
+
:next_page_token)
|
1753
|
+
include Aws::Structure
|
1754
|
+
end
|
1755
|
+
|
1756
|
+
# @!attribute [rw] metadata
|
1757
|
+
# Information regarding this specific recommendation set.
|
1758
|
+
# @return [Types::RightsizingRecommendationMetadata]
|
1759
|
+
#
|
1760
|
+
# @!attribute [rw] summary
|
1761
|
+
# Summary of this recommendation set.
|
1762
|
+
# @return [Types::RightsizingRecommendationSummary]
|
1763
|
+
#
|
1764
|
+
# @!attribute [rw] rightsizing_recommendations
|
1765
|
+
# Recommendations to rightsize resources.
|
1766
|
+
# @return [Array<Types::RightsizingRecommendation>]
|
1767
|
+
#
|
1768
|
+
# @!attribute [rw] next_page_token
|
1769
|
+
# The token to retrieve the next set of results.
|
1770
|
+
# @return [String]
|
1771
|
+
#
|
1772
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetRightsizingRecommendationResponse AWS API Documentation
|
1773
|
+
#
|
1774
|
+
class GetRightsizingRecommendationResponse < Struct.new(
|
1775
|
+
:metadata,
|
1776
|
+
:summary,
|
1777
|
+
:rightsizing_recommendations,
|
1778
|
+
:next_page_token)
|
1779
|
+
include Aws::Structure
|
1780
|
+
end
|
1781
|
+
|
1506
1782
|
# @note When making an API call, you may pass GetTagsRequest
|
1507
1783
|
# data as a hash:
|
1508
1784
|
#
|
@@ -1601,7 +1877,7 @@ module Aws::CostExplorer
|
|
1601
1877
|
# # recursive Expression
|
1602
1878
|
# },
|
1603
1879
|
# dimensions: {
|
1604
|
-
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID
|
1880
|
+
# key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, OPERATION, PURCHASE_TYPE, REGION, SERVICE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RIGHTSIZING_TYPE
|
1605
1881
|
# values: ["Value"],
|
1606
1882
|
# },
|
1607
1883
|
# tags: {
|
@@ -1802,6 +2078,20 @@ module Aws::CostExplorer
|
|
1802
2078
|
include Aws::Structure
|
1803
2079
|
end
|
1804
2080
|
|
2081
|
+
# Details on the modification recommendation.
|
2082
|
+
#
|
2083
|
+
# @!attribute [rw] target_instances
|
2084
|
+
# Identifies whether this instance type is the Amazon Web Services
|
2085
|
+
# default recommendation.
|
2086
|
+
# @return [Array<Types::TargetInstance>]
|
2087
|
+
#
|
2088
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ModifyRecommendationDetail AWS API Documentation
|
2089
|
+
#
|
2090
|
+
class ModifyRecommendationDetail < Struct.new(
|
2091
|
+
:target_instances)
|
2092
|
+
include Aws::Structure
|
2093
|
+
end
|
2094
|
+
|
1805
2095
|
# Details about the Amazon RDS instances that AWS recommends that you
|
1806
2096
|
# purchase.
|
1807
2097
|
#
|
@@ -2260,6 +2550,32 @@ module Aws::CostExplorer
|
|
2260
2550
|
include Aws::Structure
|
2261
2551
|
end
|
2262
2552
|
|
2553
|
+
# Details on the resource.
|
2554
|
+
#
|
2555
|
+
# @!attribute [rw] ec2_resource_details
|
2556
|
+
# Details on the Amazon EC2 resource.
|
2557
|
+
# @return [Types::EC2ResourceDetails]
|
2558
|
+
#
|
2559
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ResourceDetails AWS API Documentation
|
2560
|
+
#
|
2561
|
+
class ResourceDetails < Struct.new(
|
2562
|
+
:ec2_resource_details)
|
2563
|
+
include Aws::Structure
|
2564
|
+
end
|
2565
|
+
|
2566
|
+
# Resource utilization of current resource.
|
2567
|
+
#
|
2568
|
+
# @!attribute [rw] ec2_resource_utilization
|
2569
|
+
# Utilization of current Amazon EC2 Instance
|
2570
|
+
# @return [Types::EC2ResourceUtilization]
|
2571
|
+
#
|
2572
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ResourceUtilization AWS API Documentation
|
2573
|
+
#
|
2574
|
+
class ResourceUtilization < Struct.new(
|
2575
|
+
:ec2_resource_utilization)
|
2576
|
+
include Aws::Structure
|
2577
|
+
end
|
2578
|
+
|
2263
2579
|
# The result that is associated with a time period.
|
2264
2580
|
#
|
2265
2581
|
# @!attribute [rw] time_period
|
@@ -2288,6 +2604,95 @@ module Aws::CostExplorer
|
|
2288
2604
|
include Aws::Structure
|
2289
2605
|
end
|
2290
2606
|
|
2607
|
+
# Recommendations to rightsize resources.
|
2608
|
+
#
|
2609
|
+
# @!attribute [rw] account_id
|
2610
|
+
# The account that this recommendation is for.
|
2611
|
+
# @return [String]
|
2612
|
+
#
|
2613
|
+
# @!attribute [rw] current_instance
|
2614
|
+
# Context regarding the current instance.
|
2615
|
+
# @return [Types::CurrentInstance]
|
2616
|
+
#
|
2617
|
+
# @!attribute [rw] rightsizing_type
|
2618
|
+
# Recommendation to either terminate or modify the resource.
|
2619
|
+
# @return [String]
|
2620
|
+
#
|
2621
|
+
# @!attribute [rw] modify_recommendation_detail
|
2622
|
+
# Details for modification recommendations.
|
2623
|
+
# @return [Types::ModifyRecommendationDetail]
|
2624
|
+
#
|
2625
|
+
# @!attribute [rw] terminate_recommendation_detail
|
2626
|
+
# Details for termination recommendations.
|
2627
|
+
# @return [Types::TerminateRecommendationDetail]
|
2628
|
+
#
|
2629
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/RightsizingRecommendation AWS API Documentation
|
2630
|
+
#
|
2631
|
+
class RightsizingRecommendation < Struct.new(
|
2632
|
+
:account_id,
|
2633
|
+
:current_instance,
|
2634
|
+
:rightsizing_type,
|
2635
|
+
:modify_recommendation_detail,
|
2636
|
+
:terminate_recommendation_detail)
|
2637
|
+
include Aws::Structure
|
2638
|
+
end
|
2639
|
+
|
2640
|
+
# Metadata for this recommendation set.
|
2641
|
+
#
|
2642
|
+
# @!attribute [rw] recommendation_id
|
2643
|
+
# The ID for this specific recommendation.
|
2644
|
+
# @return [String]
|
2645
|
+
#
|
2646
|
+
# @!attribute [rw] generation_timestamp
|
2647
|
+
# The time stamp for when Amazon Web Services made this
|
2648
|
+
# recommendation.
|
2649
|
+
# @return [String]
|
2650
|
+
#
|
2651
|
+
# @!attribute [rw] lookback_period_in_days
|
2652
|
+
# How many days of previous usage that Amazon Web Services considers
|
2653
|
+
# when making this recommendation.
|
2654
|
+
# @return [String]
|
2655
|
+
#
|
2656
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/RightsizingRecommendationMetadata AWS API Documentation
|
2657
|
+
#
|
2658
|
+
class RightsizingRecommendationMetadata < Struct.new(
|
2659
|
+
:recommendation_id,
|
2660
|
+
:generation_timestamp,
|
2661
|
+
:lookback_period_in_days)
|
2662
|
+
include Aws::Structure
|
2663
|
+
end
|
2664
|
+
|
2665
|
+
# Summary of rightsizing recommendations
|
2666
|
+
#
|
2667
|
+
# @!attribute [rw] total_recommendation_count
|
2668
|
+
# Total number of instance recommendations.
|
2669
|
+
# @return [String]
|
2670
|
+
#
|
2671
|
+
# @!attribute [rw] estimated_total_monthly_savings_amount
|
2672
|
+
# Estimated total savings resulting from modifications, on a monthly
|
2673
|
+
# basis.
|
2674
|
+
# @return [String]
|
2675
|
+
#
|
2676
|
+
# @!attribute [rw] savings_currency_code
|
2677
|
+
# The currency code that Amazon Web Services used to calculate the
|
2678
|
+
# savings.
|
2679
|
+
# @return [String]
|
2680
|
+
#
|
2681
|
+
# @!attribute [rw] savings_percentage
|
2682
|
+
# Savings percentage based on the recommended modifications, relative
|
2683
|
+
# to the total On Demand costs associated with these instances.
|
2684
|
+
# @return [String]
|
2685
|
+
#
|
2686
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/RightsizingRecommendationSummary AWS API Documentation
|
2687
|
+
#
|
2688
|
+
class RightsizingRecommendationSummary < Struct.new(
|
2689
|
+
:total_recommendation_count,
|
2690
|
+
:estimated_total_monthly_savings_amount,
|
2691
|
+
:savings_currency_code,
|
2692
|
+
:savings_percentage)
|
2693
|
+
include Aws::Structure
|
2694
|
+
end
|
2695
|
+
|
2291
2696
|
# Hardware specifications for the service that you want recommendations
|
2292
2697
|
# for.
|
2293
2698
|
#
|
@@ -2338,9 +2743,68 @@ module Aws::CostExplorer
|
|
2338
2743
|
include Aws::Structure
|
2339
2744
|
end
|
2340
2745
|
|
2746
|
+
# Details on recommended instance.
|
2747
|
+
#
|
2748
|
+
# @!attribute [rw] estimated_monthly_cost
|
2749
|
+
# Expected cost to operate this instance type on a monthly basis.
|
2750
|
+
# @return [String]
|
2751
|
+
#
|
2752
|
+
# @!attribute [rw] estimated_monthly_savings
|
2753
|
+
# Estimated savings resulting from modification, on a monthly basis.
|
2754
|
+
# @return [String]
|
2755
|
+
#
|
2756
|
+
# @!attribute [rw] currency_code
|
2757
|
+
# The currency code that Amazon Web Services used to calculate the
|
2758
|
+
# costs for this instance.
|
2759
|
+
# @return [String]
|
2760
|
+
#
|
2761
|
+
# @!attribute [rw] default_target_instance
|
2762
|
+
# Indicates whether or not this recommendation is the defaulted Amazon
|
2763
|
+
# Web Services recommendation.
|
2764
|
+
# @return [Boolean]
|
2765
|
+
#
|
2766
|
+
# @!attribute [rw] resource_details
|
2767
|
+
# Details on the target instance type.
|
2768
|
+
# @return [Types::ResourceDetails]
|
2769
|
+
#
|
2770
|
+
# @!attribute [rw] expected_resource_utilization
|
2771
|
+
# Expected utilization metrics for target instance type.
|
2772
|
+
# @return [Types::ResourceUtilization]
|
2773
|
+
#
|
2774
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/TargetInstance AWS API Documentation
|
2775
|
+
#
|
2776
|
+
class TargetInstance < Struct.new(
|
2777
|
+
:estimated_monthly_cost,
|
2778
|
+
:estimated_monthly_savings,
|
2779
|
+
:currency_code,
|
2780
|
+
:default_target_instance,
|
2781
|
+
:resource_details,
|
2782
|
+
:expected_resource_utilization)
|
2783
|
+
include Aws::Structure
|
2784
|
+
end
|
2785
|
+
|
2786
|
+
# Details on termination recommendation.
|
2787
|
+
#
|
2788
|
+
# @!attribute [rw] estimated_monthly_savings
|
2789
|
+
# Estimated savings resulting from modification, on a monthly basis.
|
2790
|
+
# @return [String]
|
2791
|
+
#
|
2792
|
+
# @!attribute [rw] currency_code
|
2793
|
+
# The currency code that Amazon Web Services used to calculate the
|
2794
|
+
# costs for this instance.
|
2795
|
+
# @return [String]
|
2796
|
+
#
|
2797
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/TerminateRecommendationDetail AWS API Documentation
|
2798
|
+
#
|
2799
|
+
class TerminateRecommendationDetail < Struct.new(
|
2800
|
+
:estimated_monthly_savings,
|
2801
|
+
:currency_code)
|
2802
|
+
include Aws::Structure
|
2803
|
+
end
|
2804
|
+
|
2341
2805
|
# Cost Explorer was unable to identify the usage unit. Provide
|
2342
2806
|
# `UsageType/UsageTypeGroup` filter selections that contain matching
|
2343
|
-
# units, for example: `hours`.
|
2807
|
+
# units, for example: `hours`.
|
2344
2808
|
#
|
2345
2809
|
# @!attribute [rw] message
|
2346
2810
|
# @return [String]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-costexplorer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.29.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-07-
|
11
|
+
date: 2019-07-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|