aws-sdk-costoptimizationhub 1.20.0 → 1.22.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 986ce880c5bbad5e4e79d1ed8a319e9a0f01a4397383b92e2763696c2fc79f08
4
- data.tar.gz: 59b96bbe67e7c5764623ba82b21023731c3573f13c2d02f2b2caba2e7a26d6fc
3
+ metadata.gz: fe91a41be62b0a1b8e75304925f1252175c9c4ecc697c126274907ea7871da75
4
+ data.tar.gz: e5450ddc611996053916ca431efb64ec6f8b0b1be926a38b204158fb3afdb938
5
5
  SHA512:
6
- metadata.gz: a9145ed3326c3252b8d4663a184b894f189cd3733f946465e5b8aeb26bf949422ced965e43d254a66f2dddd854940c93867b9157e5f683f53b6603814afc7ffc
7
- data.tar.gz: 7b800050e6de5bdab155fcc8cac09b669a8ac4de2bbfe59453f5c745b9a7b8aaf6c735dbc4356f9f7e799de058b37dadad97f901a456fa7bc01f6923ca85f3f0
6
+ metadata.gz: 731137418751e13a1b28756527c57615baf685c14de8d3fbe09081644c4469a82cc50113fea4ce05c4fd186a1880b0a2746157e1e241c62fb48aecf6841ddaf9
7
+ data.tar.gz: 3e5c52c49d7756ad63e79c1826b213f263a8ff0966f3082119388762d5870dee50d80e4a588a6d476271056d90c5f8c5ecab1d7040eabcf6220bfe8143439328
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.22.0 (2025-02-18)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.21.0 (2025-02-06)
10
+ ------------------
11
+
12
+ * Feature - This release enables AWS Cost Optimization Hub to show cost optimization recommendations for Amazon Auto Scaling Groups, including those with single and mixed instance types.
13
+
4
14
  1.20.0 (2025-01-15)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.20.0
1
+ 1.22.0
@@ -7,34 +7,34 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
- require 'seahorse/client/plugins/content_length.rb'
11
- require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
- require 'aws-sdk-core/plugins/logging.rb'
13
- require 'aws-sdk-core/plugins/param_converter.rb'
14
- require 'aws-sdk-core/plugins/param_validator.rb'
15
- require 'aws-sdk-core/plugins/user_agent.rb'
16
- require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
- require 'aws-sdk-core/plugins/retry_errors.rb'
18
- require 'aws-sdk-core/plugins/global_configuration.rb'
19
- require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
- require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
- require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
- require 'aws-sdk-core/plugins/response_paging.rb'
23
- require 'aws-sdk-core/plugins/stub_responses.rb'
24
- require 'aws-sdk-core/plugins/idempotency_token.rb'
25
- require 'aws-sdk-core/plugins/invocation_id.rb'
26
- require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
27
- require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
28
- require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
29
- require 'aws-sdk-core/plugins/transfer_encoding.rb'
30
- require 'aws-sdk-core/plugins/http_checksum.rb'
31
- require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
- require 'aws-sdk-core/plugins/request_compression.rb'
33
- require 'aws-sdk-core/plugins/defaults_mode.rb'
34
- require 'aws-sdk-core/plugins/recursion_detection.rb'
35
- require 'aws-sdk-core/plugins/telemetry.rb'
36
- require 'aws-sdk-core/plugins/sign.rb'
37
- require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
10
+ require 'seahorse/client/plugins/content_length'
11
+ require 'aws-sdk-core/plugins/credentials_configuration'
12
+ require 'aws-sdk-core/plugins/logging'
13
+ require 'aws-sdk-core/plugins/param_converter'
14
+ require 'aws-sdk-core/plugins/param_validator'
15
+ require 'aws-sdk-core/plugins/user_agent'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors'
17
+ require 'aws-sdk-core/plugins/retry_errors'
18
+ require 'aws-sdk-core/plugins/global_configuration'
19
+ require 'aws-sdk-core/plugins/regional_endpoint'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern'
22
+ require 'aws-sdk-core/plugins/response_paging'
23
+ require 'aws-sdk-core/plugins/stub_responses'
24
+ require 'aws-sdk-core/plugins/idempotency_token'
25
+ require 'aws-sdk-core/plugins/invocation_id'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin'
29
+ require 'aws-sdk-core/plugins/transfer_encoding'
30
+ require 'aws-sdk-core/plugins/http_checksum'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm'
32
+ require 'aws-sdk-core/plugins/request_compression'
33
+ require 'aws-sdk-core/plugins/defaults_mode'
34
+ require 'aws-sdk-core/plugins/recursion_detection'
35
+ require 'aws-sdk-core/plugins/telemetry'
36
+ require 'aws-sdk-core/plugins/sign'
37
+ require 'aws-sdk-core/plugins/protocols/json_rpc'
38
38
 
39
39
  module Aws::CostOptimizationHub
40
40
  # An API client for CostOptimizationHub. To construct a client, you need to configure a `:region` and `:credentials`.
@@ -564,7 +564,7 @@ module Aws::CostOptimizationHub
564
564
  # resp.estimated_monthly_cost #=> Float
565
565
  # resp.implementation_effort #=> String, one of "VeryLow", "Low", "Medium", "High", "VeryHigh"
566
566
  # resp.restart_needed #=> Boolean
567
- # resp.action_type #=> String, one of "Rightsize", "Stop", "Upgrade", "PurchaseSavingsPlans", "PurchaseReservedInstances", "MigrateToGraviton", "Delete"
567
+ # resp.action_type #=> String, one of "Rightsize", "Stop", "Upgrade", "PurchaseSavingsPlans", "PurchaseReservedInstances", "MigrateToGraviton", "Delete", "ScaleIn"
568
568
  # resp.rollback_possible #=> Boolean
569
569
  # resp.current_resource_details.lambda_function.configuration.compute.v_cpu #=> Float
570
570
  # resp.current_resource_details.lambda_function.configuration.compute.memory_size_in_mb #=> Integer
@@ -629,6 +629,10 @@ module Aws::CostOptimizationHub
629
629
  # resp.current_resource_details.ebs_volume.cost_calculation.pricing.estimated_discounts.other_discount #=> Float
630
630
  # resp.current_resource_details.ebs_volume.cost_calculation.pricing.estimated_cost_after_discounts #=> Float
631
631
  # resp.current_resource_details.ec2_auto_scaling_group.configuration.instance.type #=> String
632
+ # resp.current_resource_details.ec2_auto_scaling_group.configuration.mixed_instances #=> Array
633
+ # resp.current_resource_details.ec2_auto_scaling_group.configuration.mixed_instances[0].type #=> String
634
+ # resp.current_resource_details.ec2_auto_scaling_group.configuration.type #=> String, one of "SingleInstanceType", "MixedInstanceTypes"
635
+ # resp.current_resource_details.ec2_auto_scaling_group.configuration.allocation_strategy #=> String, one of "Prioritized", "LowestPrice"
632
636
  # resp.current_resource_details.ec2_auto_scaling_group.cost_calculation.usages #=> Array
633
637
  # resp.current_resource_details.ec2_auto_scaling_group.cost_calculation.usages[0].usage_type #=> String
634
638
  # resp.current_resource_details.ec2_auto_scaling_group.cost_calculation.usages[0].usage_amount #=> Float
@@ -850,6 +854,10 @@ module Aws::CostOptimizationHub
850
854
  # resp.recommended_resource_details.ebs_volume.cost_calculation.pricing.estimated_discounts.other_discount #=> Float
851
855
  # resp.recommended_resource_details.ebs_volume.cost_calculation.pricing.estimated_cost_after_discounts #=> Float
852
856
  # resp.recommended_resource_details.ec2_auto_scaling_group.configuration.instance.type #=> String
857
+ # resp.recommended_resource_details.ec2_auto_scaling_group.configuration.mixed_instances #=> Array
858
+ # resp.recommended_resource_details.ec2_auto_scaling_group.configuration.mixed_instances[0].type #=> String
859
+ # resp.recommended_resource_details.ec2_auto_scaling_group.configuration.type #=> String, one of "SingleInstanceType", "MixedInstanceTypes"
860
+ # resp.recommended_resource_details.ec2_auto_scaling_group.configuration.allocation_strategy #=> String, one of "Prioritized", "LowestPrice"
853
861
  # resp.recommended_resource_details.ec2_auto_scaling_group.cost_calculation.usages #=> Array
854
862
  # resp.recommended_resource_details.ec2_auto_scaling_group.cost_calculation.usages[0].usage_type #=> String
855
863
  # resp.recommended_resource_details.ec2_auto_scaling_group.cost_calculation.usages[0].usage_amount #=> Float
@@ -1120,7 +1128,7 @@ module Aws::CostOptimizationHub
1120
1128
  # account_ids: ["AccountId"],
1121
1129
  # regions: ["String"],
1122
1130
  # resource_types: ["Ec2Instance"], # accepts Ec2Instance, LambdaFunction, EbsVolume, EcsService, Ec2AutoScalingGroup, Ec2InstanceSavingsPlans, ComputeSavingsPlans, SageMakerSavingsPlans, Ec2ReservedInstances, RdsReservedInstances, OpenSearchReservedInstances, RedshiftReservedInstances, ElastiCacheReservedInstances, RdsDbInstanceStorage, RdsDbInstance
1123
- # action_types: ["Rightsize"], # accepts Rightsize, Stop, Upgrade, PurchaseSavingsPlans, PurchaseReservedInstances, MigrateToGraviton, Delete
1131
+ # action_types: ["Rightsize"], # accepts Rightsize, Stop, Upgrade, PurchaseSavingsPlans, PurchaseReservedInstances, MigrateToGraviton, Delete, ScaleIn
1124
1132
  # tags: [
1125
1133
  # {
1126
1134
  # key: "String",
@@ -1194,7 +1202,7 @@ module Aws::CostOptimizationHub
1194
1202
  # account_ids: ["AccountId"],
1195
1203
  # regions: ["String"],
1196
1204
  # resource_types: ["Ec2Instance"], # accepts Ec2Instance, LambdaFunction, EbsVolume, EcsService, Ec2AutoScalingGroup, Ec2InstanceSavingsPlans, ComputeSavingsPlans, SageMakerSavingsPlans, Ec2ReservedInstances, RdsReservedInstances, OpenSearchReservedInstances, RedshiftReservedInstances, ElastiCacheReservedInstances, RdsDbInstanceStorage, RdsDbInstance
1197
- # action_types: ["Rightsize"], # accepts Rightsize, Stop, Upgrade, PurchaseSavingsPlans, PurchaseReservedInstances, MigrateToGraviton, Delete
1205
+ # action_types: ["Rightsize"], # accepts Rightsize, Stop, Upgrade, PurchaseSavingsPlans, PurchaseReservedInstances, MigrateToGraviton, Delete, ScaleIn
1198
1206
  # tags: [
1199
1207
  # {
1200
1208
  # key: "String",
@@ -1348,7 +1356,7 @@ module Aws::CostOptimizationHub
1348
1356
  tracer: tracer
1349
1357
  )
1350
1358
  context[:gem_name] = 'aws-sdk-costoptimizationhub'
1351
- context[:gem_version] = '1.20.0'
1359
+ context[:gem_version] = '1.22.0'
1352
1360
  Seahorse::Client::Request.new(handlers, context)
1353
1361
  end
1354
1362
 
@@ -21,6 +21,7 @@ module Aws::CostOptimizationHub
21
21
  AccountIdList = Shapes::ListShape.new(name: 'AccountIdList')
22
22
  ActionType = Shapes::StringShape.new(name: 'ActionType')
23
23
  ActionTypeList = Shapes::ListShape.new(name: 'ActionTypeList')
24
+ AllocationStrategy = Shapes::StringShape.new(name: 'AllocationStrategy')
24
25
  BlockStoragePerformanceConfiguration = Shapes::StructureShape.new(name: 'BlockStoragePerformanceConfiguration')
25
26
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
26
27
  ComputeConfiguration = Shapes::StructureShape.new(name: 'ComputeConfiguration')
@@ -33,6 +34,7 @@ module Aws::CostOptimizationHub
33
34
  EbsVolumeConfiguration = Shapes::StructureShape.new(name: 'EbsVolumeConfiguration')
34
35
  Ec2AutoScalingGroup = Shapes::StructureShape.new(name: 'Ec2AutoScalingGroup')
35
36
  Ec2AutoScalingGroupConfiguration = Shapes::StructureShape.new(name: 'Ec2AutoScalingGroupConfiguration')
37
+ Ec2AutoScalingGroupType = Shapes::StringShape.new(name: 'Ec2AutoScalingGroupType')
36
38
  Ec2Instance = Shapes::StructureShape.new(name: 'Ec2Instance')
37
39
  Ec2InstanceConfiguration = Shapes::StructureShape.new(name: 'Ec2InstanceConfiguration')
38
40
  Ec2InstanceSavingsPlans = Shapes::StructureShape.new(name: 'Ec2InstanceSavingsPlans')
@@ -67,6 +69,8 @@ module Aws::CostOptimizationHub
67
69
  ListRecommendationsResponse = Shapes::StructureShape.new(name: 'ListRecommendationsResponse')
68
70
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
69
71
  MemberAccountDiscountVisibility = Shapes::StringShape.new(name: 'MemberAccountDiscountVisibility')
72
+ MixedInstanceConfiguration = Shapes::StructureShape.new(name: 'MixedInstanceConfiguration')
73
+ MixedInstanceConfigurationList = Shapes::ListShape.new(name: 'MixedInstanceConfigurationList')
70
74
  OpenSearchReservedInstances = Shapes::StructureShape.new(name: 'OpenSearchReservedInstances')
71
75
  OpenSearchReservedInstancesConfiguration = Shapes::StructureShape.new(name: 'OpenSearchReservedInstancesConfiguration')
72
76
  Order = Shapes::StringShape.new(name: 'Order')
@@ -174,6 +178,9 @@ module Aws::CostOptimizationHub
174
178
  Ec2AutoScalingGroup.struct_class = Types::Ec2AutoScalingGroup
175
179
 
176
180
  Ec2AutoScalingGroupConfiguration.add_member(:instance, Shapes::ShapeRef.new(shape: InstanceConfiguration, location_name: "instance"))
181
+ Ec2AutoScalingGroupConfiguration.add_member(:mixed_instances, Shapes::ShapeRef.new(shape: MixedInstanceConfigurationList, location_name: "mixedInstances"))
182
+ Ec2AutoScalingGroupConfiguration.add_member(:type, Shapes::ShapeRef.new(shape: Ec2AutoScalingGroupType, location_name: "type"))
183
+ Ec2AutoScalingGroupConfiguration.add_member(:allocation_strategy, Shapes::ShapeRef.new(shape: AllocationStrategy, location_name: "allocationStrategy"))
177
184
  Ec2AutoScalingGroupConfiguration.struct_class = Types::Ec2AutoScalingGroupConfiguration
178
185
 
179
186
  Ec2Instance.add_member(:configuration, Shapes::ShapeRef.new(shape: Ec2InstanceConfiguration, location_name: "configuration"))
@@ -347,6 +354,11 @@ module Aws::CostOptimizationHub
347
354
  ListRecommendationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
348
355
  ListRecommendationsResponse.struct_class = Types::ListRecommendationsResponse
349
356
 
357
+ MixedInstanceConfiguration.add_member(:type, Shapes::ShapeRef.new(shape: String, location_name: "type"))
358
+ MixedInstanceConfiguration.struct_class = Types::MixedInstanceConfiguration
359
+
360
+ MixedInstanceConfigurationList.member = Shapes::ShapeRef.new(shape: MixedInstanceConfiguration)
361
+
350
362
  OpenSearchReservedInstances.add_member(:configuration, Shapes::ShapeRef.new(shape: OpenSearchReservedInstancesConfiguration, location_name: "configuration"))
351
363
  OpenSearchReservedInstances.add_member(:cost_calculation, Shapes::ShapeRef.new(shape: ReservedInstancesCostCalculation, location_name: "costCalculation"))
352
364
  OpenSearchReservedInstances.struct_class = Types::OpenSearchReservedInstances
@@ -10,40 +10,36 @@
10
10
  module Aws::CostOptimizationHub
11
11
  class EndpointProvider
12
12
  def resolve_endpoint(parameters)
13
- region = parameters.region
14
- use_dual_stack = parameters.use_dual_stack
15
- use_fips = parameters.use_fips
16
- endpoint = parameters.endpoint
17
- if Aws::Endpoints::Matchers.set?(endpoint)
18
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
13
+ if Aws::Endpoints::Matchers.set?(parameters.endpoint)
14
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
19
15
  raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
20
16
  end
21
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
17
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
22
18
  raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
19
  end
24
- return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
20
+ return Aws::Endpoints::Endpoint.new(url: parameters.endpoint, headers: {}, properties: {})
25
21
  end
26
- if Aws::Endpoints::Matchers.set?(region)
27
- if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
22
+ if Aws::Endpoints::Matchers.set?(parameters.region)
23
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(parameters.region))
24
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
29
25
  if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
- return Aws::Endpoints::Endpoint.new(url: "https://cost-optimization-hub-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
26
+ return Aws::Endpoints::Endpoint.new(url: "https://cost-optimization-hub-fips.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
27
  end
32
28
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
29
  end
34
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
30
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
35
31
  if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
- return Aws::Endpoints::Endpoint.new(url: "https://cost-optimization-hub-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
32
+ return Aws::Endpoints::Endpoint.new(url: "https://cost-optimization-hub-fips.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
33
  end
38
34
  raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
35
  end
40
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
36
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
41
37
  if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
- return Aws::Endpoints::Endpoint.new(url: "https://cost-optimization-hub.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
38
+ return Aws::Endpoints::Endpoint.new(url: "https://cost-optimization-hub.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
39
  end
44
40
  raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
45
41
  end
46
- return Aws::Endpoints::Endpoint.new(url: "https://cost-optimization-hub.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
42
+ return Aws::Endpoints::Endpoint.new(url: "https://cost-optimization-hub.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
47
43
  end
48
44
  end
49
45
  raise ArgumentError, "Invalid Configuration: Missing Region"
@@ -238,16 +238,35 @@ module Aws::CostOptimizationHub
238
238
  include Aws::Structure
239
239
  end
240
240
 
241
- # The EC2 auto scaling group configuration used for recommendations.
241
+ # The EC2 Auto Scaling group configuration used for recommendations.
242
242
  #
243
243
  # @!attribute [rw] instance
244
- # Details about the instance.
244
+ # Details about the instance for the EC2 Auto Scaling group with a
245
+ # single instance type.
245
246
  # @return [Types::InstanceConfiguration]
246
247
  #
248
+ # @!attribute [rw] mixed_instances
249
+ # A list of instance types for an EC2 Auto Scaling group with mixed
250
+ # instance types.
251
+ # @return [Array<Types::MixedInstanceConfiguration>]
252
+ #
253
+ # @!attribute [rw] type
254
+ # The type of EC2 Auto Scaling group, showing whether it consists of a
255
+ # single instance type or mixed instance types.
256
+ # @return [String]
257
+ #
258
+ # @!attribute [rw] allocation_strategy
259
+ # The strategy used for allocating instances, based on a predefined
260
+ # priority order or based on the lowest available price.
261
+ # @return [String]
262
+ #
247
263
  # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/Ec2AutoScalingGroupConfiguration AWS API Documentation
248
264
  #
249
265
  class Ec2AutoScalingGroupConfiguration < Struct.new(
250
- :instance)
266
+ :instance,
267
+ :mixed_instances,
268
+ :type,
269
+ :allocation_strategy)
251
270
  SENSITIVE = []
252
271
  include Aws::Structure
253
272
  end
@@ -848,10 +867,10 @@ module Aws::CostOptimizationHub
848
867
  include Aws::Structure
849
868
  end
850
869
 
851
- # The Instance configuration used for recommendations.
870
+ # The instance configuration used for recommendations.
852
871
  #
853
872
  # @!attribute [rw] type
854
- # Details about the type.
873
+ # The instance type of the configuration.
855
874
  # @return [String]
856
875
  #
857
876
  # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/InstanceConfiguration AWS API Documentation
@@ -1085,6 +1104,21 @@ module Aws::CostOptimizationHub
1085
1104
  include Aws::Structure
1086
1105
  end
1087
1106
 
1107
+ # The configuration for the EC2 Auto Scaling group with mixed instance
1108
+ # types.
1109
+ #
1110
+ # @!attribute [rw] type
1111
+ # The instance type of the configuration.
1112
+ # @return [String]
1113
+ #
1114
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cost-optimization-hub-2022-07-26/MixedInstanceConfiguration AWS API Documentation
1115
+ #
1116
+ class MixedInstanceConfiguration < Struct.new(
1117
+ :type)
1118
+ SENSITIVE = []
1119
+ include Aws::Structure
1120
+ end
1121
+
1088
1122
  # The OpenSearch reserved instances recommendation details.
1089
1123
  #
1090
1124
  # @!attribute [rw] configuration
@@ -1759,7 +1793,7 @@ module Aws::CostOptimizationHub
1759
1793
  # @return [Types::ComputeSavingsPlans]
1760
1794
  #
1761
1795
  # @!attribute [rw] sage_maker_savings_plans
1762
- # The SageMaker Savings Plans recommendation details.
1796
+ # The SageMaker AI Savings Plans recommendation details.
1763
1797
  # @return [Types::SageMakerSavingsPlans]
1764
1798
  #
1765
1799
  # @!attribute [rw] rds_db_instance
@@ -55,7 +55,7 @@ module Aws::CostOptimizationHub
55
55
  autoload :EndpointProvider, 'aws-sdk-costoptimizationhub/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-costoptimizationhub/endpoints'
57
57
 
58
- GEM_VERSION = '1.20.0'
58
+ GEM_VERSION = '1.22.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -108,7 +108,7 @@ module Aws
108
108
  def estimated_monthly_cost: () -> ::Float
109
109
  def implementation_effort: () -> ("VeryLow" | "Low" | "Medium" | "High" | "VeryHigh")
110
110
  def restart_needed: () -> bool
111
- def action_type: () -> ("Rightsize" | "Stop" | "Upgrade" | "PurchaseSavingsPlans" | "PurchaseReservedInstances" | "MigrateToGraviton" | "Delete")
111
+ def action_type: () -> ("Rightsize" | "Stop" | "Upgrade" | "PurchaseSavingsPlans" | "PurchaseReservedInstances" | "MigrateToGraviton" | "Delete" | "ScaleIn")
112
112
  def rollback_possible: () -> bool
113
113
  def current_resource_details: () -> Types::ResourceDetails
114
114
  def recommended_resource_details: () -> Types::ResourceDetails
@@ -153,7 +153,7 @@ module Aws
153
153
  account_ids: Array[::String]?,
154
154
  regions: Array[::String]?,
155
155
  resource_types: Array[("Ec2Instance" | "LambdaFunction" | "EbsVolume" | "EcsService" | "Ec2AutoScalingGroup" | "Ec2InstanceSavingsPlans" | "ComputeSavingsPlans" | "SageMakerSavingsPlans" | "Ec2ReservedInstances" | "RdsReservedInstances" | "OpenSearchReservedInstances" | "RedshiftReservedInstances" | "ElastiCacheReservedInstances" | "RdsDbInstanceStorage" | "RdsDbInstance")]?,
156
- action_types: Array[("Rightsize" | "Stop" | "Upgrade" | "PurchaseSavingsPlans" | "PurchaseReservedInstances" | "MigrateToGraviton" | "Delete")]?,
156
+ action_types: Array[("Rightsize" | "Stop" | "Upgrade" | "PurchaseSavingsPlans" | "PurchaseReservedInstances" | "MigrateToGraviton" | "Delete" | "ScaleIn")]?,
157
157
  tags: Array[
158
158
  {
159
159
  key: ::String?,
@@ -185,7 +185,7 @@ module Aws
185
185
  account_ids: Array[::String]?,
186
186
  regions: Array[::String]?,
187
187
  resource_types: Array[("Ec2Instance" | "LambdaFunction" | "EbsVolume" | "EcsService" | "Ec2AutoScalingGroup" | "Ec2InstanceSavingsPlans" | "ComputeSavingsPlans" | "SageMakerSavingsPlans" | "Ec2ReservedInstances" | "RdsReservedInstances" | "OpenSearchReservedInstances" | "RedshiftReservedInstances" | "ElastiCacheReservedInstances" | "RdsDbInstanceStorage" | "RdsDbInstance")]?,
188
- action_types: Array[("Rightsize" | "Stop" | "Upgrade" | "PurchaseSavingsPlans" | "PurchaseReservedInstances" | "MigrateToGraviton" | "Delete")]?,
188
+ action_types: Array[("Rightsize" | "Stop" | "Upgrade" | "PurchaseSavingsPlans" | "PurchaseReservedInstances" | "MigrateToGraviton" | "Delete" | "ScaleIn")]?,
189
189
  tags: Array[
190
190
  {
191
191
  key: ::String?,
data/sig/types.rbs CHANGED
@@ -75,6 +75,9 @@ module Aws::CostOptimizationHub
75
75
 
76
76
  class Ec2AutoScalingGroupConfiguration
77
77
  attr_accessor instance: Types::InstanceConfiguration
78
+ attr_accessor mixed_instances: ::Array[Types::MixedInstanceConfiguration]
79
+ attr_accessor type: ("SingleInstanceType" | "MixedInstanceTypes")
80
+ attr_accessor allocation_strategy: ("Prioritized" | "LowestPrice")
78
81
  SENSITIVE: []
79
82
  end
80
83
 
@@ -179,7 +182,7 @@ module Aws::CostOptimizationHub
179
182
  attr_accessor account_ids: ::Array[::String]
180
183
  attr_accessor regions: ::Array[::String]
181
184
  attr_accessor resource_types: ::Array[("Ec2Instance" | "LambdaFunction" | "EbsVolume" | "EcsService" | "Ec2AutoScalingGroup" | "Ec2InstanceSavingsPlans" | "ComputeSavingsPlans" | "SageMakerSavingsPlans" | "Ec2ReservedInstances" | "RdsReservedInstances" | "OpenSearchReservedInstances" | "RedshiftReservedInstances" | "ElastiCacheReservedInstances" | "RdsDbInstanceStorage" | "RdsDbInstance")]
182
- attr_accessor action_types: ::Array[("Rightsize" | "Stop" | "Upgrade" | "PurchaseSavingsPlans" | "PurchaseReservedInstances" | "MigrateToGraviton" | "Delete")]
185
+ attr_accessor action_types: ::Array[("Rightsize" | "Stop" | "Upgrade" | "PurchaseSavingsPlans" | "PurchaseReservedInstances" | "MigrateToGraviton" | "Delete" | "ScaleIn")]
183
186
  attr_accessor tags: ::Array[Types::Tag]
184
187
  attr_accessor resource_ids: ::Array[::String]
185
188
  attr_accessor resource_arns: ::Array[::String]
@@ -220,7 +223,7 @@ module Aws::CostOptimizationHub
220
223
  attr_accessor estimated_monthly_cost: ::Float
221
224
  attr_accessor implementation_effort: ("VeryLow" | "Low" | "Medium" | "High" | "VeryHigh")
222
225
  attr_accessor restart_needed: bool
223
- attr_accessor action_type: ("Rightsize" | "Stop" | "Upgrade" | "PurchaseSavingsPlans" | "PurchaseReservedInstances" | "MigrateToGraviton" | "Delete")
226
+ attr_accessor action_type: ("Rightsize" | "Stop" | "Upgrade" | "PurchaseSavingsPlans" | "PurchaseReservedInstances" | "MigrateToGraviton" | "Delete" | "ScaleIn")
224
227
  attr_accessor rollback_possible: bool
225
228
  attr_accessor current_resource_details: Types::ResourceDetails
226
229
  attr_accessor recommended_resource_details: Types::ResourceDetails
@@ -298,6 +301,11 @@ module Aws::CostOptimizationHub
298
301
  SENSITIVE: []
299
302
  end
300
303
 
304
+ class MixedInstanceConfiguration
305
+ attr_accessor type: ::String
306
+ SENSITIVE: []
307
+ end
308
+
301
309
  class OpenSearchReservedInstances
302
310
  attr_accessor configuration: Types::OpenSearchReservedInstancesConfiguration
303
311
  attr_accessor cost_calculation: Types::ReservedInstancesCostCalculation
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-costoptimizationhub
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.20.0
4
+ version: 1.22.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: 2025-01-15 00:00:00.000000000 Z
11
+ date: 2025-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core