aws-sdk-autoscaling 1.80.0 → 1.82.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: 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