aws-sdk-costoptimizationhub 1.34.0 → 1.35.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/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-costoptimizationhub/client.rb +91 -4
- data/lib/aws-sdk-costoptimizationhub/client_api.rb +58 -0
- data/lib/aws-sdk-costoptimizationhub/types.rb +176 -6
- data/lib/aws-sdk-costoptimizationhub.rb +1 -1
- data/sig/client.rbs +22 -0
- data/sig/types.rbs +37 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ede5c1c6502491a0b9ce395faff4c101b135083f20607368a1425520b54b0e90
|
|
4
|
+
data.tar.gz: 6939651877ccb6815920b923e298159cb82e8c05c2ee529b51c4f9b93950c2ae
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 721696b6e0b199e5a38a94e327053b71f9e550833b26a17430ac693e6de92dd7cd435da61dbae3414da4902482b09ee39cfe02ca77cff4dd5d1e17e863b1432c
|
|
7
|
+
data.tar.gz: 51f97a055d51f30d3e9a65c5a517477d977e89d1b35e14d6483b80bb7dba956b0585888e801f871e2f0916bb429e43b33f0256b93c6240e9128cfe32f3f39ddd
|
data/CHANGELOG.md
CHANGED
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.35.0
|
|
@@ -1124,6 +1124,94 @@ module Aws::CostOptimizationHub
|
|
|
1124
1124
|
req.send_request(options)
|
|
1125
1125
|
end
|
|
1126
1126
|
|
|
1127
|
+
# Returns cost efficiency metrics aggregated over time and optionally
|
|
1128
|
+
# grouped by a specified dimension. The metrics provide insights into
|
|
1129
|
+
# your cost optimization progress by tracking estimated savings,
|
|
1130
|
+
# spending, and measures how effectively you're optimizing your Cloud
|
|
1131
|
+
# resources.
|
|
1132
|
+
#
|
|
1133
|
+
# The operation supports both daily and monthly time granularities and
|
|
1134
|
+
# allows grouping results by account ID, Amazon Web Services Region.
|
|
1135
|
+
# Results are returned as time-series data, enabling you to analyze
|
|
1136
|
+
# trends in your cost optimization performance over the specified time
|
|
1137
|
+
# period.
|
|
1138
|
+
#
|
|
1139
|
+
# @option params [String] :group_by
|
|
1140
|
+
# The dimension by which to group the cost efficiency metrics. Valid
|
|
1141
|
+
# values include account ID, Amazon Web Services Region. When no
|
|
1142
|
+
# grouping is specified, metrics are aggregated across all resources in
|
|
1143
|
+
# the specified time period.
|
|
1144
|
+
#
|
|
1145
|
+
# @option params [required, String] :granularity
|
|
1146
|
+
# The time granularity for the cost efficiency metrics. Specify `Daily`
|
|
1147
|
+
# for metrics aggregated by day, or `Monthly` for metrics aggregated by
|
|
1148
|
+
# month.
|
|
1149
|
+
#
|
|
1150
|
+
# @option params [required, Types::TimePeriod] :time_period
|
|
1151
|
+
# The time period for which to retrieve the cost efficiency metrics. The
|
|
1152
|
+
# start date is inclusive and the end date is exclusive. Dates can be
|
|
1153
|
+
# specified in either YYYY-MM-DD format or YYYY-MM format depending on
|
|
1154
|
+
# the desired granularity.
|
|
1155
|
+
#
|
|
1156
|
+
# @option params [Integer] :max_results
|
|
1157
|
+
# The maximum number of groups to return in the response. Valid values
|
|
1158
|
+
# range from 0 to 1000. Use in conjunction with `nextToken` to paginate
|
|
1159
|
+
# through results when the total number of groups exceeds this limit.
|
|
1160
|
+
#
|
|
1161
|
+
# @option params [Types::OrderBy] :order_by
|
|
1162
|
+
# The ordering specification for the results. Defines which dimension to
|
|
1163
|
+
# sort by and whether to sort in ascending or descending order.
|
|
1164
|
+
#
|
|
1165
|
+
# @option params [String] :next_token
|
|
1166
|
+
# The token to retrieve the next page of results. This value is returned
|
|
1167
|
+
# in the response when the number of groups exceeds the specified
|
|
1168
|
+
# `maxResults` value.
|
|
1169
|
+
#
|
|
1170
|
+
# @return [Types::ListEfficiencyMetricsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
1171
|
+
#
|
|
1172
|
+
# * {Types::ListEfficiencyMetricsResponse#efficiency_metrics_by_group #efficiency_metrics_by_group} => Array<Types::EfficiencyMetricsByGroup>
|
|
1173
|
+
# * {Types::ListEfficiencyMetricsResponse#next_token #next_token} => String
|
|
1174
|
+
#
|
|
1175
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
|
1176
|
+
#
|
|
1177
|
+
# @example Request syntax with placeholder values
|
|
1178
|
+
#
|
|
1179
|
+
# resp = client.list_efficiency_metrics({
|
|
1180
|
+
# group_by: "String",
|
|
1181
|
+
# granularity: "Daily", # required, accepts Daily, Monthly
|
|
1182
|
+
# time_period: { # required
|
|
1183
|
+
# start: "String", # required
|
|
1184
|
+
# end: "String", # required
|
|
1185
|
+
# },
|
|
1186
|
+
# max_results: 1,
|
|
1187
|
+
# order_by: {
|
|
1188
|
+
# dimension: "String",
|
|
1189
|
+
# order: "Asc", # accepts Asc, Desc
|
|
1190
|
+
# },
|
|
1191
|
+
# next_token: "String",
|
|
1192
|
+
# })
|
|
1193
|
+
#
|
|
1194
|
+
# @example Response structure
|
|
1195
|
+
#
|
|
1196
|
+
# resp.efficiency_metrics_by_group #=> Array
|
|
1197
|
+
# resp.efficiency_metrics_by_group[0].metrics_by_time #=> Array
|
|
1198
|
+
# resp.efficiency_metrics_by_group[0].metrics_by_time[0].score #=> Float
|
|
1199
|
+
# resp.efficiency_metrics_by_group[0].metrics_by_time[0].savings #=> Float
|
|
1200
|
+
# resp.efficiency_metrics_by_group[0].metrics_by_time[0].spend #=> Float
|
|
1201
|
+
# resp.efficiency_metrics_by_group[0].metrics_by_time[0].timestamp #=> String
|
|
1202
|
+
# resp.efficiency_metrics_by_group[0].group #=> String
|
|
1203
|
+
# resp.efficiency_metrics_by_group[0].message #=> String
|
|
1204
|
+
# resp.next_token #=> String
|
|
1205
|
+
#
|
|
1206
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ListEfficiencyMetrics AWS API Documentation
|
|
1207
|
+
#
|
|
1208
|
+
# @overload list_efficiency_metrics(params = {})
|
|
1209
|
+
# @param [Hash] params ({})
|
|
1210
|
+
def list_efficiency_metrics(params = {}, options = {})
|
|
1211
|
+
req = build_request(:list_efficiency_metrics, params)
|
|
1212
|
+
req.send_request(options)
|
|
1213
|
+
end
|
|
1214
|
+
|
|
1127
1215
|
# Retrieves the enrollment status for an account. It can also return the
|
|
1128
1216
|
# list of accounts that are enrolled under the organization.
|
|
1129
1217
|
#
|
|
@@ -1357,9 +1445,8 @@ module Aws::CostOptimizationHub
|
|
|
1357
1445
|
# Updates the enrollment (opt in and opt out) status of an account to
|
|
1358
1446
|
# the Cost Optimization Hub service.
|
|
1359
1447
|
#
|
|
1360
|
-
# If the account is a management account
|
|
1361
|
-
#
|
|
1362
|
-
# accounts of the organization.
|
|
1448
|
+
# If the account is a management account of an organization, this action
|
|
1449
|
+
# can also be used to enroll member accounts of the organization.
|
|
1363
1450
|
#
|
|
1364
1451
|
# You must have the appropriate permissions to opt in to Cost
|
|
1365
1452
|
# Optimization Hub and to view its recommendations. When you opt in,
|
|
@@ -1463,7 +1550,7 @@ module Aws::CostOptimizationHub
|
|
|
1463
1550
|
tracer: tracer
|
|
1464
1551
|
)
|
|
1465
1552
|
context[:gem_name] = 'aws-sdk-costoptimizationhub'
|
|
1466
|
-
context[:gem_version] = '1.
|
|
1553
|
+
context[:gem_version] = '1.35.0'
|
|
1467
1554
|
Seahorse::Client::Request.new(handlers, context)
|
|
1468
1555
|
end
|
|
1469
1556
|
|
|
@@ -47,6 +47,8 @@ module Aws::CostOptimizationHub
|
|
|
47
47
|
Ec2ReservedInstancesConfiguration = Shapes::StructureShape.new(name: 'Ec2ReservedInstancesConfiguration')
|
|
48
48
|
EcsService = Shapes::StructureShape.new(name: 'EcsService')
|
|
49
49
|
EcsServiceConfiguration = Shapes::StructureShape.new(name: 'EcsServiceConfiguration')
|
|
50
|
+
EfficiencyMetricsByGroup = Shapes::StructureShape.new(name: 'EfficiencyMetricsByGroup')
|
|
51
|
+
EfficiencyMetricsByGroupList = Shapes::ListShape.new(name: 'EfficiencyMetricsByGroupList')
|
|
50
52
|
ElastiCacheReservedInstances = Shapes::StructureShape.new(name: 'ElastiCacheReservedInstances')
|
|
51
53
|
ElastiCacheReservedInstancesConfiguration = Shapes::StructureShape.new(name: 'ElastiCacheReservedInstancesConfiguration')
|
|
52
54
|
EnrollmentStatus = Shapes::StringShape.new(name: 'EnrollmentStatus')
|
|
@@ -56,6 +58,7 @@ module Aws::CostOptimizationHub
|
|
|
56
58
|
GetPreferencesResponse = Shapes::StructureShape.new(name: 'GetPreferencesResponse')
|
|
57
59
|
GetRecommendationRequest = Shapes::StructureShape.new(name: 'GetRecommendationRequest')
|
|
58
60
|
GetRecommendationResponse = Shapes::StructureShape.new(name: 'GetRecommendationResponse')
|
|
61
|
+
GranularityType = Shapes::StringShape.new(name: 'GranularityType')
|
|
59
62
|
ImplementationEffort = Shapes::StringShape.new(name: 'ImplementationEffort')
|
|
60
63
|
ImplementationEffortList = Shapes::ListShape.new(name: 'ImplementationEffortList')
|
|
61
64
|
InstanceConfiguration = Shapes::StructureShape.new(name: 'InstanceConfiguration')
|
|
@@ -63,6 +66,9 @@ module Aws::CostOptimizationHub
|
|
|
63
66
|
InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
|
|
64
67
|
LambdaFunction = Shapes::StructureShape.new(name: 'LambdaFunction')
|
|
65
68
|
LambdaFunctionConfiguration = Shapes::StructureShape.new(name: 'LambdaFunctionConfiguration')
|
|
69
|
+
ListEfficiencyMetricsRequest = Shapes::StructureShape.new(name: 'ListEfficiencyMetricsRequest')
|
|
70
|
+
ListEfficiencyMetricsRequestMaxResultsInteger = Shapes::IntegerShape.new(name: 'ListEfficiencyMetricsRequestMaxResultsInteger')
|
|
71
|
+
ListEfficiencyMetricsResponse = Shapes::StructureShape.new(name: 'ListEfficiencyMetricsResponse')
|
|
66
72
|
ListEnrollmentStatusesRequest = Shapes::StructureShape.new(name: 'ListEnrollmentStatusesRequest')
|
|
67
73
|
ListEnrollmentStatusesResponse = Shapes::StructureShape.new(name: 'ListEnrollmentStatusesResponse')
|
|
68
74
|
ListRecommendationSummariesRequest = Shapes::StructureShape.new(name: 'ListRecommendationSummariesRequest')
|
|
@@ -75,6 +81,8 @@ module Aws::CostOptimizationHub
|
|
|
75
81
|
MemberAccountDiscountVisibility = Shapes::StringShape.new(name: 'MemberAccountDiscountVisibility')
|
|
76
82
|
MemoryDbReservedInstances = Shapes::StructureShape.new(name: 'MemoryDbReservedInstances')
|
|
77
83
|
MemoryDbReservedInstancesConfiguration = Shapes::StructureShape.new(name: 'MemoryDbReservedInstancesConfiguration')
|
|
84
|
+
MetricsByTime = Shapes::StructureShape.new(name: 'MetricsByTime')
|
|
85
|
+
MetricsByTimeList = Shapes::ListShape.new(name: 'MetricsByTimeList')
|
|
78
86
|
MixedInstanceConfiguration = Shapes::StructureShape.new(name: 'MixedInstanceConfiguration')
|
|
79
87
|
MixedInstanceConfigurationList = Shapes::ListShape.new(name: 'MixedInstanceConfigurationList')
|
|
80
88
|
OpenSearchReservedInstances = Shapes::StructureShape.new(name: 'OpenSearchReservedInstances')
|
|
@@ -123,6 +131,7 @@ module Aws::CostOptimizationHub
|
|
|
123
131
|
TagList = Shapes::ListShape.new(name: 'TagList')
|
|
124
132
|
Term = Shapes::StringShape.new(name: 'Term')
|
|
125
133
|
ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
|
|
134
|
+
TimePeriod = Shapes::StructureShape.new(name: 'TimePeriod')
|
|
126
135
|
Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
|
|
127
136
|
UpdateEnrollmentStatusRequest = Shapes::StructureShape.new(name: 'UpdateEnrollmentStatusRequest')
|
|
128
137
|
UpdateEnrollmentStatusResponse = Shapes::StructureShape.new(name: 'UpdateEnrollmentStatusResponse')
|
|
@@ -262,6 +271,13 @@ module Aws::CostOptimizationHub
|
|
|
262
271
|
EcsServiceConfiguration.add_member(:compute, Shapes::ShapeRef.new(shape: ComputeConfiguration, location_name: "compute"))
|
|
263
272
|
EcsServiceConfiguration.struct_class = Types::EcsServiceConfiguration
|
|
264
273
|
|
|
274
|
+
EfficiencyMetricsByGroup.add_member(:metrics_by_time, Shapes::ShapeRef.new(shape: MetricsByTimeList, location_name: "metricsByTime"))
|
|
275
|
+
EfficiencyMetricsByGroup.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
|
|
276
|
+
EfficiencyMetricsByGroup.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
|
|
277
|
+
EfficiencyMetricsByGroup.struct_class = Types::EfficiencyMetricsByGroup
|
|
278
|
+
|
|
279
|
+
EfficiencyMetricsByGroupList.member = Shapes::ShapeRef.new(shape: EfficiencyMetricsByGroup)
|
|
280
|
+
|
|
265
281
|
ElastiCacheReservedInstances.add_member(:configuration, Shapes::ShapeRef.new(shape: ElastiCacheReservedInstancesConfiguration, location_name: "configuration"))
|
|
266
282
|
ElastiCacheReservedInstances.add_member(:cost_calculation, Shapes::ShapeRef.new(shape: ReservedInstancesCostCalculation, location_name: "costCalculation"))
|
|
267
283
|
ElastiCacheReservedInstances.struct_class = Types::ElastiCacheReservedInstances
|
|
@@ -349,6 +365,18 @@ module Aws::CostOptimizationHub
|
|
|
349
365
|
LambdaFunctionConfiguration.add_member(:compute, Shapes::ShapeRef.new(shape: ComputeConfiguration, location_name: "compute"))
|
|
350
366
|
LambdaFunctionConfiguration.struct_class = Types::LambdaFunctionConfiguration
|
|
351
367
|
|
|
368
|
+
ListEfficiencyMetricsRequest.add_member(:group_by, Shapes::ShapeRef.new(shape: String, location_name: "groupBy"))
|
|
369
|
+
ListEfficiencyMetricsRequest.add_member(:granularity, Shapes::ShapeRef.new(shape: GranularityType, required: true, location_name: "granularity"))
|
|
370
|
+
ListEfficiencyMetricsRequest.add_member(:time_period, Shapes::ShapeRef.new(shape: TimePeriod, required: true, location_name: "timePeriod"))
|
|
371
|
+
ListEfficiencyMetricsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListEfficiencyMetricsRequestMaxResultsInteger, location_name: "maxResults"))
|
|
372
|
+
ListEfficiencyMetricsRequest.add_member(:order_by, Shapes::ShapeRef.new(shape: OrderBy, location_name: "orderBy"))
|
|
373
|
+
ListEfficiencyMetricsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
|
|
374
|
+
ListEfficiencyMetricsRequest.struct_class = Types::ListEfficiencyMetricsRequest
|
|
375
|
+
|
|
376
|
+
ListEfficiencyMetricsResponse.add_member(:efficiency_metrics_by_group, Shapes::ShapeRef.new(shape: EfficiencyMetricsByGroupList, location_name: "efficiencyMetricsByGroup"))
|
|
377
|
+
ListEfficiencyMetricsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
|
|
378
|
+
ListEfficiencyMetricsResponse.struct_class = Types::ListEfficiencyMetricsResponse
|
|
379
|
+
|
|
352
380
|
ListEnrollmentStatusesRequest.add_member(:include_organization_info, Shapes::ShapeRef.new(shape: PrimitiveBoolean, location_name: "includeOrganizationInfo"))
|
|
353
381
|
ListEnrollmentStatusesRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
|
|
354
382
|
ListEnrollmentStatusesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
|
|
@@ -405,6 +433,14 @@ module Aws::CostOptimizationHub
|
|
|
405
433
|
MemoryDbReservedInstancesConfiguration.add_member(:current_generation, Shapes::ShapeRef.new(shape: String, location_name: "currentGeneration"))
|
|
406
434
|
MemoryDbReservedInstancesConfiguration.struct_class = Types::MemoryDbReservedInstancesConfiguration
|
|
407
435
|
|
|
436
|
+
MetricsByTime.add_member(:score, Shapes::ShapeRef.new(shape: Double, location_name: "score"))
|
|
437
|
+
MetricsByTime.add_member(:savings, Shapes::ShapeRef.new(shape: Double, location_name: "savings"))
|
|
438
|
+
MetricsByTime.add_member(:spend, Shapes::ShapeRef.new(shape: Double, location_name: "spend"))
|
|
439
|
+
MetricsByTime.add_member(:timestamp, Shapes::ShapeRef.new(shape: String, location_name: "timestamp"))
|
|
440
|
+
MetricsByTime.struct_class = Types::MetricsByTime
|
|
441
|
+
|
|
442
|
+
MetricsByTimeList.member = Shapes::ShapeRef.new(shape: MetricsByTime)
|
|
443
|
+
|
|
408
444
|
MixedInstanceConfiguration.add_member(:type, Shapes::ShapeRef.new(shape: String, location_name: "type"))
|
|
409
445
|
MixedInstanceConfiguration.struct_class = Types::MixedInstanceConfiguration
|
|
410
446
|
|
|
@@ -637,6 +673,10 @@ module Aws::CostOptimizationHub
|
|
|
637
673
|
ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
|
|
638
674
|
ThrottlingException.struct_class = Types::ThrottlingException
|
|
639
675
|
|
|
676
|
+
TimePeriod.add_member(:start, Shapes::ShapeRef.new(shape: String, required: true, location_name: "start"))
|
|
677
|
+
TimePeriod.add_member(:end, Shapes::ShapeRef.new(shape: String, required: true, location_name: "end"))
|
|
678
|
+
TimePeriod.struct_class = Types::TimePeriod
|
|
679
|
+
|
|
640
680
|
UpdateEnrollmentStatusRequest.add_member(:status, Shapes::ShapeRef.new(shape: EnrollmentStatus, required: true, location_name: "status"))
|
|
641
681
|
UpdateEnrollmentStatusRequest.add_member(:include_member_accounts, Shapes::ShapeRef.new(shape: Boolean, location_name: "includeMemberAccounts"))
|
|
642
682
|
UpdateEnrollmentStatusRequest.struct_class = Types::UpdateEnrollmentStatusRequest
|
|
@@ -720,6 +760,24 @@ module Aws::CostOptimizationHub
|
|
|
720
760
|
o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
|
|
721
761
|
end)
|
|
722
762
|
|
|
763
|
+
api.add_operation(:list_efficiency_metrics, Seahorse::Model::Operation.new.tap do |o|
|
|
764
|
+
o.name = "ListEfficiencyMetrics"
|
|
765
|
+
o.http_method = "POST"
|
|
766
|
+
o.http_request_uri = "/"
|
|
767
|
+
o.input = Shapes::ShapeRef.new(shape: ListEfficiencyMetricsRequest)
|
|
768
|
+
o.output = Shapes::ShapeRef.new(shape: ListEfficiencyMetricsResponse)
|
|
769
|
+
o.errors << Shapes::ShapeRef.new(shape: ValidationException)
|
|
770
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
|
771
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
|
772
|
+
o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
|
|
773
|
+
o[:pager] = Aws::Pager.new(
|
|
774
|
+
limit_key: "max_results",
|
|
775
|
+
tokens: {
|
|
776
|
+
"next_token" => "next_token"
|
|
777
|
+
}
|
|
778
|
+
)
|
|
779
|
+
end)
|
|
780
|
+
|
|
723
781
|
api.add_operation(:list_enrollment_statuses, Seahorse::Model::Operation.new.tap do |o|
|
|
724
782
|
o.name = "ListEnrollmentStatuses"
|
|
725
783
|
o.http_method = "POST"
|
|
@@ -454,7 +454,7 @@ module Aws::CostOptimizationHub
|
|
|
454
454
|
# @return [String]
|
|
455
455
|
#
|
|
456
456
|
# @!attribute [rw] instance_family
|
|
457
|
-
# The instance family of the recommended Savings
|
|
457
|
+
# The instance family of the recommended Savings Plans.
|
|
458
458
|
# @return [String]
|
|
459
459
|
#
|
|
460
460
|
# @!attribute [rw] savings_plans_region
|
|
@@ -623,6 +623,43 @@ module Aws::CostOptimizationHub
|
|
|
623
623
|
include Aws::Structure
|
|
624
624
|
end
|
|
625
625
|
|
|
626
|
+
# Contains cost efficiency metrics for a specific group over time. The
|
|
627
|
+
# group is defined by the grouping dimension specified in the request,
|
|
628
|
+
# such as account ID, Amazon Web Services Region.
|
|
629
|
+
#
|
|
630
|
+
# @!attribute [rw] metrics_by_time
|
|
631
|
+
# A list of time-series data points containing efficiency metrics for
|
|
632
|
+
# this group. Each data point includes an efficiency score, estimated
|
|
633
|
+
# savings, spending, and a timestamp corresponding to the specified
|
|
634
|
+
# granularity. This field is null when efficiency metrics cannot be
|
|
635
|
+
# calculated for the group, in which case the message field provides
|
|
636
|
+
# an explanation.
|
|
637
|
+
# @return [Array<Types::MetricsByTime>]
|
|
638
|
+
#
|
|
639
|
+
# @!attribute [rw] group
|
|
640
|
+
# The value of the grouping dimension for this set of metrics. For
|
|
641
|
+
# example, if grouped by account ID, this field contains the account
|
|
642
|
+
# ID. If no grouping is specified, this field is empty.
|
|
643
|
+
# @return [String]
|
|
644
|
+
#
|
|
645
|
+
# @!attribute [rw] message
|
|
646
|
+
# An explanation of why efficiency metrics could not be calculated for
|
|
647
|
+
# this group when the metricsByTime field is null. Common reasons
|
|
648
|
+
# include insufficient or inconclusive cost and usage data during the
|
|
649
|
+
# specified time period. This field is null or empty when metrics are
|
|
650
|
+
# successfully calculated.
|
|
651
|
+
# @return [String]
|
|
652
|
+
#
|
|
653
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/EfficiencyMetricsByGroup AWS API Documentation
|
|
654
|
+
#
|
|
655
|
+
class EfficiencyMetricsByGroup < Struct.new(
|
|
656
|
+
:metrics_by_time,
|
|
657
|
+
:group,
|
|
658
|
+
:message)
|
|
659
|
+
SENSITIVE = []
|
|
660
|
+
include Aws::Structure
|
|
661
|
+
end
|
|
662
|
+
|
|
626
663
|
# The ElastiCache reserved instances recommendation details.
|
|
627
664
|
#
|
|
628
665
|
# @!attribute [rw] configuration
|
|
@@ -1047,6 +1084,80 @@ module Aws::CostOptimizationHub
|
|
|
1047
1084
|
include Aws::Structure
|
|
1048
1085
|
end
|
|
1049
1086
|
|
|
1087
|
+
# @!attribute [rw] group_by
|
|
1088
|
+
# The dimension by which to group the cost efficiency metrics. Valid
|
|
1089
|
+
# values include account ID, Amazon Web Services Region. When no
|
|
1090
|
+
# grouping is specified, metrics are aggregated across all resources
|
|
1091
|
+
# in the specified time period.
|
|
1092
|
+
# @return [String]
|
|
1093
|
+
#
|
|
1094
|
+
# @!attribute [rw] granularity
|
|
1095
|
+
# The time granularity for the cost efficiency metrics. Specify
|
|
1096
|
+
# `Daily` for metrics aggregated by day, or `Monthly` for metrics
|
|
1097
|
+
# aggregated by month.
|
|
1098
|
+
# @return [String]
|
|
1099
|
+
#
|
|
1100
|
+
# @!attribute [rw] time_period
|
|
1101
|
+
# The time period for which to retrieve the cost efficiency metrics.
|
|
1102
|
+
# The start date is inclusive and the end date is exclusive. Dates can
|
|
1103
|
+
# be specified in either YYYY-MM-DD format or YYYY-MM format depending
|
|
1104
|
+
# on the desired granularity.
|
|
1105
|
+
# @return [Types::TimePeriod]
|
|
1106
|
+
#
|
|
1107
|
+
# @!attribute [rw] max_results
|
|
1108
|
+
# The maximum number of groups to return in the response. Valid values
|
|
1109
|
+
# range from 0 to 1000. Use in conjunction with `nextToken` to
|
|
1110
|
+
# paginate through results when the total number of groups exceeds
|
|
1111
|
+
# this limit.
|
|
1112
|
+
# @return [Integer]
|
|
1113
|
+
#
|
|
1114
|
+
# @!attribute [rw] order_by
|
|
1115
|
+
# The ordering specification for the results. Defines which dimension
|
|
1116
|
+
# to sort by and whether to sort in ascending or descending order.
|
|
1117
|
+
# @return [Types::OrderBy]
|
|
1118
|
+
#
|
|
1119
|
+
# @!attribute [rw] next_token
|
|
1120
|
+
# The token to retrieve the next page of results. This value is
|
|
1121
|
+
# returned in the response when the number of groups exceeds the
|
|
1122
|
+
# specified `maxResults` value.
|
|
1123
|
+
# @return [String]
|
|
1124
|
+
#
|
|
1125
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ListEfficiencyMetricsRequest AWS API Documentation
|
|
1126
|
+
#
|
|
1127
|
+
class ListEfficiencyMetricsRequest < Struct.new(
|
|
1128
|
+
:group_by,
|
|
1129
|
+
:granularity,
|
|
1130
|
+
:time_period,
|
|
1131
|
+
:max_results,
|
|
1132
|
+
:order_by,
|
|
1133
|
+
:next_token)
|
|
1134
|
+
SENSITIVE = []
|
|
1135
|
+
include Aws::Structure
|
|
1136
|
+
end
|
|
1137
|
+
|
|
1138
|
+
# @!attribute [rw] efficiency_metrics_by_group
|
|
1139
|
+
# A list of cost efficiency metrics grouped by the specified
|
|
1140
|
+
# dimension. Each group contains time-series data points with cost
|
|
1141
|
+
# efficiency, potential savings, and optimzable spend for the
|
|
1142
|
+
# specified time period.
|
|
1143
|
+
# @return [Array<Types::EfficiencyMetricsByGroup>]
|
|
1144
|
+
#
|
|
1145
|
+
# @!attribute [rw] next_token
|
|
1146
|
+
# The token to retrieve the next page of results. When this value is
|
|
1147
|
+
# present in the response, additional groups are available. Pass this
|
|
1148
|
+
# token in the `nextToken` parameter of a subsequent request to
|
|
1149
|
+
# retrieve the next page.
|
|
1150
|
+
# @return [String]
|
|
1151
|
+
#
|
|
1152
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/ListEfficiencyMetricsResponse AWS API Documentation
|
|
1153
|
+
#
|
|
1154
|
+
class ListEfficiencyMetricsResponse < Struct.new(
|
|
1155
|
+
:efficiency_metrics_by_group,
|
|
1156
|
+
:next_token)
|
|
1157
|
+
SENSITIVE = []
|
|
1158
|
+
include Aws::Structure
|
|
1159
|
+
end
|
|
1160
|
+
|
|
1050
1161
|
# @!attribute [rw] include_organization_info
|
|
1051
1162
|
# Indicates whether to return the enrollment status for the
|
|
1052
1163
|
# organization.
|
|
@@ -1334,6 +1445,42 @@ module Aws::CostOptimizationHub
|
|
|
1334
1445
|
include Aws::Structure
|
|
1335
1446
|
end
|
|
1336
1447
|
|
|
1448
|
+
# Contains efficiency metrics for a specific point in time, including an
|
|
1449
|
+
# efficiency score, potential savings, optimizable spend, and timestamp.
|
|
1450
|
+
#
|
|
1451
|
+
# @!attribute [rw] score
|
|
1452
|
+
# The efficiency score for this time period. The score represents a
|
|
1453
|
+
# measure of how effectively the cloud resources are being optimized,
|
|
1454
|
+
# with higher scores indicating better optimization performance.
|
|
1455
|
+
# @return [Float]
|
|
1456
|
+
#
|
|
1457
|
+
# @!attribute [rw] savings
|
|
1458
|
+
# The estimated savings amount for this time period, representing the
|
|
1459
|
+
# potential cost reduction achieved through optimization
|
|
1460
|
+
# recommendations.
|
|
1461
|
+
# @return [Float]
|
|
1462
|
+
#
|
|
1463
|
+
# @!attribute [rw] spend
|
|
1464
|
+
# The total spending amount for this time period.
|
|
1465
|
+
# @return [Float]
|
|
1466
|
+
#
|
|
1467
|
+
# @!attribute [rw] timestamp
|
|
1468
|
+
# The timestamp for this data point. The format depends on the
|
|
1469
|
+
# granularity: YYYY-MM-DD for daily metrics, or YYYY-MM for monthly
|
|
1470
|
+
# metrics.
|
|
1471
|
+
# @return [String]
|
|
1472
|
+
#
|
|
1473
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/MetricsByTime AWS API Documentation
|
|
1474
|
+
#
|
|
1475
|
+
class MetricsByTime < Struct.new(
|
|
1476
|
+
:score,
|
|
1477
|
+
:savings,
|
|
1478
|
+
:spend,
|
|
1479
|
+
:timestamp)
|
|
1480
|
+
SENSITIVE = []
|
|
1481
|
+
include Aws::Structure
|
|
1482
|
+
end
|
|
1483
|
+
|
|
1337
1484
|
# The configuration for the EC2 Auto Scaling group with mixed instance
|
|
1338
1485
|
# types.
|
|
1339
1486
|
#
|
|
@@ -2232,23 +2379,24 @@ module Aws::CostOptimizationHub
|
|
|
2232
2379
|
include Aws::Structure
|
|
2233
2380
|
end
|
|
2234
2381
|
|
|
2235
|
-
# Pricing information about a Savings
|
|
2382
|
+
# Pricing information about a Savings Plans.
|
|
2236
2383
|
#
|
|
2237
2384
|
# @!attribute [rw] monthly_savings_plans_eligible_cost
|
|
2238
|
-
# The cost of paying for the recommended Savings
|
|
2385
|
+
# The cost of paying for the recommended Savings Plans monthly.
|
|
2239
2386
|
# @return [Float]
|
|
2240
2387
|
#
|
|
2241
2388
|
# @!attribute [rw] estimated_monthly_commitment
|
|
2242
|
-
# Estimated monthly commitment for the Savings
|
|
2389
|
+
# Estimated monthly commitment for the Savings Plans.
|
|
2243
2390
|
# @return [Float]
|
|
2244
2391
|
#
|
|
2245
2392
|
# @!attribute [rw] savings_percentage
|
|
2246
2393
|
# Estimated savings as a percentage of your overall costs after buying
|
|
2247
|
-
# the Savings
|
|
2394
|
+
# the Savings Plans.
|
|
2248
2395
|
# @return [Float]
|
|
2249
2396
|
#
|
|
2250
2397
|
# @!attribute [rw] estimated_on_demand_cost
|
|
2251
|
-
# Estimated On-Demand cost you will pay after buying the Savings
|
|
2398
|
+
# Estimated On-Demand cost you will pay after buying the Savings
|
|
2399
|
+
# Plans.
|
|
2252
2400
|
# @return [Float]
|
|
2253
2401
|
#
|
|
2254
2402
|
# @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/SavingsPlansPricing AWS API Documentation
|
|
@@ -2334,6 +2482,28 @@ module Aws::CostOptimizationHub
|
|
|
2334
2482
|
include Aws::Structure
|
|
2335
2483
|
end
|
|
2336
2484
|
|
|
2485
|
+
# Specifies a date range for retrieving efficiency metrics. The start
|
|
2486
|
+
# date is inclusive and the end date is exclusive.
|
|
2487
|
+
#
|
|
2488
|
+
# @!attribute [rw] start
|
|
2489
|
+
# The beginning of the time period (inclusive). Specify the date in
|
|
2490
|
+
# ISO 8601 format, such as 2024-01-01.
|
|
2491
|
+
# @return [String]
|
|
2492
|
+
#
|
|
2493
|
+
# @!attribute [rw] end
|
|
2494
|
+
# The end of the time period (exclusive). Specify the date in ISO 8601
|
|
2495
|
+
# format, such as 2024-12-31.
|
|
2496
|
+
# @return [String]
|
|
2497
|
+
#
|
|
2498
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/TimePeriod AWS API Documentation
|
|
2499
|
+
#
|
|
2500
|
+
class TimePeriod < Struct.new(
|
|
2501
|
+
:start,
|
|
2502
|
+
:end)
|
|
2503
|
+
SENSITIVE = []
|
|
2504
|
+
include Aws::Structure
|
|
2505
|
+
end
|
|
2506
|
+
|
|
2337
2507
|
# @!attribute [rw] status
|
|
2338
2508
|
# Sets the account status.
|
|
2339
2509
|
# @return [String]
|
data/sig/client.rbs
CHANGED
|
@@ -122,6 +122,28 @@ module Aws
|
|
|
122
122
|
) -> _GetRecommendationResponseSuccess
|
|
123
123
|
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetRecommendationResponseSuccess
|
|
124
124
|
|
|
125
|
+
interface _ListEfficiencyMetricsResponseSuccess
|
|
126
|
+
include ::Seahorse::Client::_ResponseSuccess[Types::ListEfficiencyMetricsResponse]
|
|
127
|
+
def efficiency_metrics_by_group: () -> ::Array[Types::EfficiencyMetricsByGroup]
|
|
128
|
+
def next_token: () -> ::String
|
|
129
|
+
end
|
|
130
|
+
# https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CostOptimizationHub/Client.html#list_efficiency_metrics-instance_method
|
|
131
|
+
def list_efficiency_metrics: (
|
|
132
|
+
?group_by: ::String,
|
|
133
|
+
granularity: ("Daily" | "Monthly"),
|
|
134
|
+
time_period: {
|
|
135
|
+
start: ::String,
|
|
136
|
+
end: ::String
|
|
137
|
+
},
|
|
138
|
+
?max_results: ::Integer,
|
|
139
|
+
?order_by: {
|
|
140
|
+
dimension: ::String?,
|
|
141
|
+
order: ("Asc" | "Desc")?
|
|
142
|
+
},
|
|
143
|
+
?next_token: ::String
|
|
144
|
+
) -> _ListEfficiencyMetricsResponseSuccess
|
|
145
|
+
| (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListEfficiencyMetricsResponseSuccess
|
|
146
|
+
|
|
125
147
|
interface _ListEnrollmentStatusesResponseSuccess
|
|
126
148
|
include ::Seahorse::Client::_ResponseSuccess[Types::ListEnrollmentStatusesResponse]
|
|
127
149
|
def items: () -> ::Array[Types::AccountEnrollmentStatus]
|
data/sig/types.rbs
CHANGED
|
@@ -175,6 +175,13 @@ module Aws::CostOptimizationHub
|
|
|
175
175
|
SENSITIVE: []
|
|
176
176
|
end
|
|
177
177
|
|
|
178
|
+
class EfficiencyMetricsByGroup
|
|
179
|
+
attr_accessor metrics_by_time: ::Array[Types::MetricsByTime]
|
|
180
|
+
attr_accessor group: ::String
|
|
181
|
+
attr_accessor message: ::String
|
|
182
|
+
SENSITIVE: []
|
|
183
|
+
end
|
|
184
|
+
|
|
178
185
|
class ElastiCacheReservedInstances
|
|
179
186
|
attr_accessor configuration: Types::ElastiCacheReservedInstancesConfiguration
|
|
180
187
|
attr_accessor cost_calculation: Types::ReservedInstancesCostCalculation
|
|
@@ -283,6 +290,22 @@ module Aws::CostOptimizationHub
|
|
|
283
290
|
SENSITIVE: []
|
|
284
291
|
end
|
|
285
292
|
|
|
293
|
+
class ListEfficiencyMetricsRequest
|
|
294
|
+
attr_accessor group_by: ::String
|
|
295
|
+
attr_accessor granularity: ("Daily" | "Monthly")
|
|
296
|
+
attr_accessor time_period: Types::TimePeriod
|
|
297
|
+
attr_accessor max_results: ::Integer
|
|
298
|
+
attr_accessor order_by: Types::OrderBy
|
|
299
|
+
attr_accessor next_token: ::String
|
|
300
|
+
SENSITIVE: []
|
|
301
|
+
end
|
|
302
|
+
|
|
303
|
+
class ListEfficiencyMetricsResponse
|
|
304
|
+
attr_accessor efficiency_metrics_by_group: ::Array[Types::EfficiencyMetricsByGroup]
|
|
305
|
+
attr_accessor next_token: ::String
|
|
306
|
+
SENSITIVE: []
|
|
307
|
+
end
|
|
308
|
+
|
|
286
309
|
class ListEnrollmentStatusesRequest
|
|
287
310
|
attr_accessor include_organization_info: bool
|
|
288
311
|
attr_accessor account_id: ::String
|
|
@@ -355,6 +378,14 @@ module Aws::CostOptimizationHub
|
|
|
355
378
|
SENSITIVE: []
|
|
356
379
|
end
|
|
357
380
|
|
|
381
|
+
class MetricsByTime
|
|
382
|
+
attr_accessor score: ::Float
|
|
383
|
+
attr_accessor savings: ::Float
|
|
384
|
+
attr_accessor spend: ::Float
|
|
385
|
+
attr_accessor timestamp: ::String
|
|
386
|
+
SENSITIVE: []
|
|
387
|
+
end
|
|
388
|
+
|
|
358
389
|
class MixedInstanceConfiguration
|
|
359
390
|
attr_accessor type: ::String
|
|
360
391
|
SENSITIVE: []
|
|
@@ -645,6 +676,12 @@ module Aws::CostOptimizationHub
|
|
|
645
676
|
SENSITIVE: []
|
|
646
677
|
end
|
|
647
678
|
|
|
679
|
+
class TimePeriod
|
|
680
|
+
attr_accessor start: ::String
|
|
681
|
+
attr_accessor end: ::String
|
|
682
|
+
SENSITIVE: []
|
|
683
|
+
end
|
|
684
|
+
|
|
648
685
|
class UpdateEnrollmentStatusRequest
|
|
649
686
|
attr_accessor status: ("Active" | "Inactive")
|
|
650
687
|
attr_accessor include_member_accounts: bool
|