aws-sdk-autoscaling 1.80.0 → 1.82.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1a90f86e7d7ff96c43ec9a64b9b24ade4ce7f9e84ae23970dd93d10b7c05b36a
4
- data.tar.gz: 7f7df9f6d208489a16eede23641360d7cf15e391f2168e009dfd07fe43818a51
3
+ metadata.gz: 790042ecc234e48a337b58238a9dbac69797666546cd5bdb196e4dfcfaac1bee
4
+ data.tar.gz: 854c0d721b133c23dcbd93bc844ba7dc75a3727920146ccf882d8344e19ef07c
5
5
  SHA512:
6
- metadata.gz: 2789123a1df9e9a5c33e43f1ba8c3f25529665b05ab0f8391dd05cac314a13aefaac825eb65b57166c37c4ce9a993d3e5b99b5c1cd7864f92a7217f55d07939a
7
- data.tar.gz: c8da8ad0f8f0ef50c4bc95827e4efbb1aed22ecea802fa5dadc78211fba004c375c9c05b73e83ea18b27c1bf30555ac2ac95ffc7a7ad5601fc5f0bced19c462a
6
+ metadata.gz: db95546b1b14d8ff200f9466563a5ff430da1be04ceb812cbdad47232b7677f2843f0d04e79571e176b8a80f4fc7d839e4d56d8fc504ee6176bcaf92b00e0ad8
7
+ data.tar.gz: e6a4b56cefed30d07a9550ef3ae33325747dd1117d7945cccb805d068387a295a6551217ee2c3c42b7da0c1a6ff9092285a5400599237e09de687e5192d9de18
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.82.0 (2022-11-07)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for two new attributes for attribute-based instance type selection - NetworkBandwidthGbps and AllowedInstanceTypes.
8
+
9
+ 1.81.0 (2022-10-25)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.80.0 (2022-07-25)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.80.0
1
+ 1.82.0
@@ -1168,6 +1168,11 @@ module Aws::AutoScaling
1168
1168
  # min: 1,
1169
1169
  # max: 1,
1170
1170
  # },
1171
+ # network_bandwidth_gbps: {
1172
+ # min: 1.0,
1173
+ # max: 1.0,
1174
+ # },
1175
+ # allowed_instance_types: ["AllowedInstanceType"],
1171
1176
  # },
1172
1177
  # },
1173
1178
  # ],
@@ -1209,9 +1214,9 @@ module Aws::AutoScaling
1209
1214
  # specify `LaunchTemplate` in your update request, you can't specify
1210
1215
  # `LaunchConfigurationName` or `MixedInstancesPolicy`.
1211
1216
  # @option options [Types::MixedInstancesPolicy] :mixed_instances_policy
1212
- # An embedded object that specifies a mixed instances policy. For more
1213
- # information, see [Auto Scaling groups with multiple instance types and
1214
- # purchase options][1] in the *Amazon EC2 Auto Scaling User Guide*.
1217
+ # The mixed instances policy. For more information, see [Auto Scaling
1218
+ # groups with multiple instance types and purchase options][1] in the
1219
+ # *Amazon EC2 Auto Scaling User Guide*.
1215
1220
  #
1216
1221
  #
1217
1222
  #
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/query.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:autoscaling)
@@ -79,8 +79,9 @@ module Aws::AutoScaling
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::Query)
84
+ add_plugin(Aws::AutoScaling::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::AutoScaling
287
288
  # ** Please note ** When response stubbing is enabled, no HTTP
288
289
  # requests are made, and retries are disabled.
289
290
  #
291
+ # @option options [Aws::TokenProvider] :token_provider
292
+ # A Bearer Token Provider. This can be an instance of any one of the
293
+ # following classes:
294
+ #
295
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
296
+ # tokens.
297
+ #
298
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
299
+ # access token generated from `aws login`.
300
+ #
301
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
302
+ # will be used to search for tokens configured for your profile in shared configuration files.
303
+ #
290
304
  # @option options [Boolean] :use_dualstack_endpoint
291
305
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
306
  # will be used if available.
@@ -300,6 +314,9 @@ module Aws::AutoScaling
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::AutoScaling::EndpointProvider] :endpoint_provider
318
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::AutoScaling::EndpointParameters`
319
+ #
303
320
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
321
  # requests through. Formatted like 'http://proxy.com:123'.
305
322
  #
@@ -826,11 +843,9 @@ module Aws::AutoScaling
826
843
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html
827
844
  #
828
845
  # @option params [Types::MixedInstancesPolicy] :mixed_instances_policy
829
- # An embedded object that specifies a mixed instances policy.
830
- #
831
- # For more information, see [Auto Scaling groups with multiple instance
832
- # types and purchase options][1] in the *Amazon EC2 Auto Scaling User
833
- # Guide*.
846
+ # The mixed instances policy. For more information, see [Auto Scaling
847
+ # groups with multiple instance types and purchase options][1] in the
848
+ # *Amazon EC2 Auto Scaling User Guide*.
834
849
  #
835
850
  #
836
851
  #
@@ -1239,6 +1254,11 @@ module Aws::AutoScaling
1239
1254
  # min: 1,
1240
1255
  # max: 1,
1241
1256
  # },
1257
+ # network_bandwidth_gbps: {
1258
+ # min: 1.0,
1259
+ # max: 1.0,
1260
+ # },
1261
+ # allowed_instance_types: ["AllowedInstanceType"],
1242
1262
  # },
1243
1263
  # },
1244
1264
  # ],
@@ -1313,10 +1333,21 @@ module Aws::AutoScaling
1313
1333
  # For more information, see [Launch configurations][2] in the *Amazon
1314
1334
  # EC2 Auto Scaling User Guide*.
1315
1335
  #
1336
+ # <note markdown="1"> Amazon EC2 Auto Scaling configures instances launched as part of an
1337
+ # Auto Scaling group using either a launch template or a launch
1338
+ # configuration. We strongly recommend that you do not use launch
1339
+ # configurations. They do not provide full functionality for Amazon EC2
1340
+ # Auto Scaling or Amazon EC2. For information about using launch
1341
+ # templates, see [Launch templates][3] in the *Amazon EC2 Auto Scaling
1342
+ # User Guide*.
1343
+ #
1344
+ # </note>
1345
+ #
1316
1346
  #
1317
1347
  #
1318
1348
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-quotas.html
1319
1349
  # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchConfiguration.html
1350
+ # [3]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-templates.html
1320
1351
  #
1321
1352
  # @option params [required, String] :launch_configuration_name
1322
1353
  # The name of the launch configuration. This name must be unique per
@@ -1353,26 +1384,10 @@ module Aws::AutoScaling
1353
1384
  # [1]: https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html
1354
1385
  #
1355
1386
  # @option params [String] :classic_link_vpc_id
1356
- # *EC2-Classic retires on August 15, 2022. This property is not
1357
- # supported after that date.*
1358
- #
1359
- # The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances
1360
- # to. For more information, see [ClassicLink][1] in the *Amazon EC2 User
1361
- # Guide for Linux Instances*.
1362
- #
1363
- #
1364
- #
1365
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
1387
+ # Available for backward compatibility.
1366
1388
  #
1367
1389
  # @option params [Array<String>] :classic_link_vpc_security_groups
1368
- # *EC2-Classic retires on August 15, 2022. This property is not
1369
- # supported after that date.*
1370
- #
1371
- # The IDs of one or more security groups for the specified
1372
- # ClassicLink-enabled VPC.
1373
- #
1374
- # If you specify the `ClassicLinkVPCId` property, you must specify
1375
- # `ClassicLinkVPCSecurityGroups`.
1390
+ # Available for backward compatibility.
1376
1391
  #
1377
1392
  # @option params [String] :user_data
1378
1393
  # The user data to make available to the launched EC2 instances. For
@@ -1703,10 +1718,9 @@ module Aws::AutoScaling
1703
1718
  #
1704
1719
  # If the group has instances or scaling activities in progress, you must
1705
1720
  # specify the option to force the deletion in order for it to succeed.
1706
- #
1707
- # If the group has policies, deleting the group deletes the policies,
1708
- # the underlying alarm actions, and any alarm that no longer has an
1709
- # associated action.
1721
+ # The force delete operation will also terminate the EC2 instances. If
1722
+ # the group has a warm pool, the force delete option also deletes the
1723
+ # warm pool.
1710
1724
  #
1711
1725
  # To remove instances from the Auto Scaling group before deleting it,
1712
1726
  # call the DetachInstances API with the list of instances and the option
@@ -1717,6 +1731,17 @@ module Aws::AutoScaling
1717
1731
  # call the UpdateAutoScalingGroup API and set the minimum size and
1718
1732
  # desired capacity of the Auto Scaling group to zero.
1719
1733
  #
1734
+ # If the group has scaling policies, deleting the group deletes the
1735
+ # policies, the underlying alarm actions, and any alarm that no longer
1736
+ # has an associated action.
1737
+ #
1738
+ # For more information, see [Delete your Auto Scaling infrastructure][1]
1739
+ # in the *Amazon EC2 Auto Scaling User Guide*.
1740
+ #
1741
+ #
1742
+ #
1743
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-process-shutdown.html
1744
+ #
1720
1745
  # @option params [required, String] :auto_scaling_group_name
1721
1746
  # The name of the Auto Scaling group.
1722
1747
  #
@@ -2304,6 +2329,10 @@ module Aws::AutoScaling
2304
2329
  # resp.auto_scaling_groups[0].mixed_instances_policy.launch_template.overrides[0].instance_requirements.accelerator_names[0] #=> String, one of "a100", "v100", "k80", "t4", "m60", "radeon-pro-v520", "vu9p"
2305
2330
  # resp.auto_scaling_groups[0].mixed_instances_policy.launch_template.overrides[0].instance_requirements.accelerator_total_memory_mi_b.min #=> Integer
2306
2331
  # resp.auto_scaling_groups[0].mixed_instances_policy.launch_template.overrides[0].instance_requirements.accelerator_total_memory_mi_b.max #=> Integer
2332
+ # resp.auto_scaling_groups[0].mixed_instances_policy.launch_template.overrides[0].instance_requirements.network_bandwidth_gbps.min #=> Float
2333
+ # resp.auto_scaling_groups[0].mixed_instances_policy.launch_template.overrides[0].instance_requirements.network_bandwidth_gbps.max #=> Float
2334
+ # resp.auto_scaling_groups[0].mixed_instances_policy.launch_template.overrides[0].instance_requirements.allowed_instance_types #=> Array
2335
+ # resp.auto_scaling_groups[0].mixed_instances_policy.launch_template.overrides[0].instance_requirements.allowed_instance_types[0] #=> String
2307
2336
  # resp.auto_scaling_groups[0].mixed_instances_policy.instances_distribution.on_demand_allocation_strategy #=> String
2308
2337
  # resp.auto_scaling_groups[0].mixed_instances_policy.instances_distribution.on_demand_base_capacity #=> Integer
2309
2338
  # resp.auto_scaling_groups[0].mixed_instances_policy.instances_distribution.on_demand_percentage_above_base_capacity #=> Integer
@@ -2673,6 +2702,10 @@ module Aws::AutoScaling
2673
2702
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].instance_requirements.accelerator_names[0] #=> String, one of "a100", "v100", "k80", "t4", "m60", "radeon-pro-v520", "vu9p"
2674
2703
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].instance_requirements.accelerator_total_memory_mi_b.min #=> Integer
2675
2704
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].instance_requirements.accelerator_total_memory_mi_b.max #=> Integer
2705
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].instance_requirements.network_bandwidth_gbps.min #=> Float
2706
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].instance_requirements.network_bandwidth_gbps.max #=> Float
2707
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].instance_requirements.allowed_instance_types #=> Array
2708
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].instance_requirements.allowed_instance_types[0] #=> String
2676
2709
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.on_demand_allocation_strategy #=> String
2677
2710
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.on_demand_base_capacity #=> Integer
2678
2711
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.on_demand_percentage_above_base_capacity #=> Integer
@@ -5963,6 +5996,11 @@ module Aws::AutoScaling
5963
5996
  # min: 1,
5964
5997
  # max: 1,
5965
5998
  # },
5999
+ # network_bandwidth_gbps: {
6000
+ # min: 1.0,
6001
+ # max: 1.0,
6002
+ # },
6003
+ # allowed_instance_types: ["AllowedInstanceType"],
5966
6004
  # },
5967
6005
  # },
5968
6006
  # ],
@@ -6211,9 +6249,9 @@ module Aws::AutoScaling
6211
6249
  # `LaunchConfigurationName` or `MixedInstancesPolicy`.
6212
6250
  #
6213
6251
  # @option params [Types::MixedInstancesPolicy] :mixed_instances_policy
6214
- # An embedded object that specifies a mixed instances policy. For more
6215
- # information, see [Auto Scaling groups with multiple instance types and
6216
- # purchase options][1] in the *Amazon EC2 Auto Scaling User Guide*.
6252
+ # The mixed instances policy. For more information, see [Auto Scaling
6253
+ # groups with multiple instance types and purchase options][1] in the
6254
+ # *Amazon EC2 Auto Scaling User Guide*.
6217
6255
  #
6218
6256
  #
6219
6257
  #
@@ -6485,6 +6523,11 @@ module Aws::AutoScaling
6485
6523
  # min: 1,
6486
6524
  # max: 1,
6487
6525
  # },
6526
+ # network_bandwidth_gbps: {
6527
+ # min: 1.0,
6528
+ # max: 1.0,
6529
+ # },
6530
+ # allowed_instance_types: ["AllowedInstanceType"],
6488
6531
  # },
6489
6532
  # },
6490
6533
  # ],
@@ -6539,7 +6582,7 @@ module Aws::AutoScaling
6539
6582
  params: params,
6540
6583
  config: config)
6541
6584
  context[:gem_name] = 'aws-sdk-autoscaling'
6542
- context[:gem_version] = '1.80.0'
6585
+ context[:gem_version] = '1.82.0'
6543
6586
  Seahorse::Client::Request.new(handlers, context)
6544
6587
  end
6545
6588
 
@@ -31,6 +31,8 @@ module Aws::AutoScaling
31
31
  AdjustmentTypes = Shapes::ListShape.new(name: 'AdjustmentTypes')
32
32
  Alarm = Shapes::StructureShape.new(name: 'Alarm')
33
33
  Alarms = Shapes::ListShape.new(name: 'Alarms')
34
+ AllowedInstanceType = Shapes::StringShape.new(name: 'AllowedInstanceType')
35
+ AllowedInstanceTypes = Shapes::ListShape.new(name: 'AllowedInstanceTypes')
34
36
  AlreadyExistsFault = Shapes::StructureShape.new(name: 'AlreadyExistsFault')
35
37
  AsciiStringMaxLen255 = Shapes::StringShape.new(name: 'AsciiStringMaxLen255')
36
38
  AssociatePublicIpAddress = Shapes::BooleanShape.new(name: 'AssociatePublicIpAddress')
@@ -239,6 +241,7 @@ module Aws::AutoScaling
239
241
  MixedInstanceSpotPrice = Shapes::StringShape.new(name: 'MixedInstanceSpotPrice')
240
242
  MixedInstancesPolicy = Shapes::StructureShape.new(name: 'MixedInstancesPolicy')
241
243
  MonitoringEnabled = Shapes::BooleanShape.new(name: 'MonitoringEnabled')
244
+ NetworkBandwidthGbpsRequest = Shapes::StructureShape.new(name: 'NetworkBandwidthGbpsRequest')
242
245
  NetworkInterfaceCountRequest = Shapes::StructureShape.new(name: 'NetworkInterfaceCountRequest')
243
246
  NoDevice = Shapes::BooleanShape.new(name: 'NoDevice')
244
247
  NonZeroIntPercent = Shapes::IntegerShape.new(name: 'NonZeroIntPercent')
@@ -417,6 +420,8 @@ module Aws::AutoScaling
417
420
 
418
421
  Alarms.member = Shapes::ShapeRef.new(shape: Alarm)
419
422
 
423
+ AllowedInstanceTypes.member = Shapes::ShapeRef.new(shape: AllowedInstanceType)
424
+
420
425
  AlreadyExistsFault.add_member(:message, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "message"))
421
426
  AlreadyExistsFault.struct_class = Types::AlreadyExistsFault
422
427
 
@@ -928,6 +933,8 @@ module Aws::AutoScaling
928
933
  InstanceRequirements.add_member(:accelerator_manufacturers, Shapes::ShapeRef.new(shape: AcceleratorManufacturers, location_name: "AcceleratorManufacturers"))
929
934
  InstanceRequirements.add_member(:accelerator_names, Shapes::ShapeRef.new(shape: AcceleratorNames, location_name: "AcceleratorNames"))
930
935
  InstanceRequirements.add_member(:accelerator_total_memory_mi_b, Shapes::ShapeRef.new(shape: AcceleratorTotalMemoryMiBRequest, location_name: "AcceleratorTotalMemoryMiB"))
936
+ InstanceRequirements.add_member(:network_bandwidth_gbps, Shapes::ShapeRef.new(shape: NetworkBandwidthGbpsRequest, location_name: "NetworkBandwidthGbps"))
937
+ InstanceRequirements.add_member(:allowed_instance_types, Shapes::ShapeRef.new(shape: AllowedInstanceTypes, location_name: "AllowedInstanceTypes"))
931
938
  InstanceRequirements.struct_class = Types::InstanceRequirements
932
939
 
933
940
  InstanceReusePolicy.add_member(:reuse_on_scale_in, Shapes::ShapeRef.new(shape: ReuseOnScaleIn, location_name: "ReuseOnScaleIn"))
@@ -1100,6 +1107,10 @@ module Aws::AutoScaling
1100
1107
  MixedInstancesPolicy.add_member(:instances_distribution, Shapes::ShapeRef.new(shape: InstancesDistribution, location_name: "InstancesDistribution"))
1101
1108
  MixedInstancesPolicy.struct_class = Types::MixedInstancesPolicy
1102
1109
 
1110
+ NetworkBandwidthGbpsRequest.add_member(:min, Shapes::ShapeRef.new(shape: NullablePositiveDouble, location_name: "Min"))
1111
+ NetworkBandwidthGbpsRequest.add_member(:max, Shapes::ShapeRef.new(shape: NullablePositiveDouble, location_name: "Max"))
1112
+ NetworkBandwidthGbpsRequest.struct_class = Types::NetworkBandwidthGbpsRequest
1113
+
1103
1114
  NetworkInterfaceCountRequest.add_member(:min, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Min"))
1104
1115
  NetworkInterfaceCountRequest.add_member(:max, Shapes::ShapeRef.new(shape: NullablePositiveInteger, location_name: "Max"))
1105
1116
  NetworkInterfaceCountRequest.struct_class = Types::NetworkInterfaceCountRequest
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::AutoScaling
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,117 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::AutoScaling
11
+ class EndpointProvider
12
+ def initialize(rule_set = nil)
13
+ @@rule_set ||= begin
14
+ endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
+ Aws::Endpoints::RuleSet.new(
16
+ version: endpoint_rules['version'],
17
+ service_id: endpoint_rules['serviceId'],
18
+ parameters: endpoint_rules['parameters'],
19
+ rules: endpoint_rules['rules']
20
+ )
21
+ end
22
+ @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
+ end
24
+
25
+ def resolve_endpoint(parameters)
26
+ @provider.resolve_endpoint(parameters)
27
+ end
28
+
29
+ # @api private
30
+ RULES = <<-JSON
31
+ eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
+ dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
+ cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
+ dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
+ ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
+ ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
+ ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
+ aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
+ OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
+ UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
+ dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
+ UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
+ dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
+ ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
+ IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
+ aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
+ bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
+ ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
+ Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
+ cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
+ InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
+ aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
+ cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
+ InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
+ W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
+ UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
+ SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
+ eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
+ InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
+ b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
+ fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
+ RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
+ ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
+ ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
+ ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
+ dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
+ dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
+ Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
+ In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
+ YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
+ YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
+ cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
+ dCI6eyJ1cmwiOiJodHRwczovL2F1dG9zY2FsaW5nLWZpcHMue1JlZ2lvbn0u
77
+ e1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVy
78
+ dGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7
79
+ ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFjayBh
80
+ cmUgZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBv
81
+ cnQgb25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9u
82
+ cyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNl
83
+ RklQUyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
84
+ dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
85
+ Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
86
+ In0sInN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6
87
+ W3siY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
88
+ bmRpdGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6WyJhd3Mt
89
+ dXMtZ292Iix7ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRp
90
+ dGlvblJlc3VsdCJ9LCJuYW1lIl19XX1dLCJlbmRwb2ludCI6eyJ1cmwiOiJo
91
+ dHRwczovL2F1dG9zY2FsaW5nLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQj
92
+ ZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5
93
+ cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7
94
+ InVybCI6Imh0dHBzOi8vYXV0b3NjYWxpbmctZmlwcy57UmVnaW9ufS57UGFy
95
+ dGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVh
96
+ ZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0seyJjb25kaXRpb25z
97
+ IjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQgYnV0IHRoaXMgcGFydGl0
98
+ aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5cGUiOiJlcnJvciJ9XX0s
99
+ eyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2Ijpb
100
+ eyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0eXBlIjoidHJlZSIs
101
+ InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
102
+ LCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6
103
+ IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxTdGFjayJdfV19XSwi
104
+ dHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBv
105
+ aW50Ijp7InVybCI6Imh0dHBzOi8vYXV0b3NjYWxpbmcue1JlZ2lvbn0ue1Bh
106
+ cnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGll
107
+ cyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNv
108
+ bmRpdGlvbnMiOltdLCJlcnJvciI6IkR1YWxTdGFjayBpcyBlbmFibGVkIGJ1
109
+ dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IER1YWxTdGFjayIs
110
+ InR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQi
111
+ OnsidXJsIjoiaHR0cHM6Ly9hdXRvc2NhbGluZy57UmVnaW9ufS57UGFydGl0
112
+ aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVy
113
+ cyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0=
114
+
115
+ JSON
116
+ end
117
+ end