aws-sdk-ec2 1.356.0 → 1.358.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.
@@ -9,107 +9,46 @@
9
9
 
10
10
  module Aws::EC2
11
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
- )
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 (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
+ if Aws::Endpoints::Matchers.set?(endpoint)
19
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
+ end
22
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
+ end
25
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
+ end
27
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
+ 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"))
29
+ return Aws::Endpoints::Endpoint.new(url: "https://ec2-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
+ end
31
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
+ end
33
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
36
+ return Aws::Endpoints::Endpoint.new(url: "https://ec2.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ return Aws::Endpoints::Endpoint.new(url: "https://ec2-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
39
+ end
40
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
41
+ end
42
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
43
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
44
+ return Aws::Endpoints::Endpoint.new(url: "https://ec2.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
45
+ end
46
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
47
+ end
48
+ return Aws::Endpoints::Endpoint.new(url: "https://ec2.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
21
49
  end
22
- @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
- end
50
+ raise ArgumentError, 'No endpoint could be resolved'
24
51
 
25
- def resolve_endpoint(parameters)
26
- @provider.resolve_endpoint(parameters)
27
52
  end
28
-
29
- # @api private
30
- RULES = <<-JSON
31
- eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOnRydWUsImRvY3VtZW50
33
- YXRpb24iOiJUaGUgQVdTIHJlZ2lvbiB1c2VkIHRvIGRpc3BhdGNoIHRoZSBy
34
- ZXF1ZXN0LiIsInR5cGUiOiJTdHJpbmcifSwiVXNlRHVhbFN0YWNrIjp7ImJ1
35
- aWx0SW4iOiJBV1M6OlVzZUR1YWxTdGFjayIsInJlcXVpcmVkIjp0cnVlLCJk
36
- ZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRhdGlvbiI6IldoZW4gdHJ1ZSwgdXNl
37
- IHRoZSBkdWFsLXN0YWNrIGVuZHBvaW50LiBJZiB0aGUgY29uZmlndXJlZCBl
38
- bmRwb2ludCBkb2VzIG5vdCBzdXBwb3J0IGR1YWwtc3RhY2ssIGRpc3BhdGNo
39
- aW5nIHRoZSByZXF1ZXN0IE1BWSByZXR1cm4gYW4gZXJyb3IuIiwidHlwZSI6
40
- IkJvb2xlYW4ifSwiVXNlRklQUyI6eyJidWlsdEluIjoiQVdTOjpVc2VGSVBT
41
- IiwicmVxdWlyZWQiOnRydWUsImRlZmF1bHQiOmZhbHNlLCJkb2N1bWVudGF0
42
- aW9uIjoiV2hlbiB0cnVlLCBzZW5kIHRoaXMgcmVxdWVzdCB0byB0aGUgRklQ
43
- Uy1jb21wbGlhbnQgcmVnaW9uYWwgZW5kcG9pbnQuIElmIHRoZSBjb25maWd1
44
- cmVkIGVuZHBvaW50IGRvZXMgbm90IGhhdmUgYSBGSVBTIGNvbXBsaWFudCBl
45
- bmRwb2ludCwgZGlzcGF0Y2hpbmcgdGhlIHJlcXVlc3Qgd2lsbCByZXR1cm4g
46
- YW4gZXJyb3IuIiwidHlwZSI6IkJvb2xlYW4ifSwiRW5kcG9pbnQiOnsiYnVp
47
- bHRJbiI6IlNESzo6RW5kcG9pbnQiLCJyZXF1aXJlZCI6ZmFsc2UsImRvY3Vt
48
- ZW50YXRpb24iOiJPdmVycmlkZSB0aGUgZW5kcG9pbnQgdXNlZCB0byBzZW5k
49
- IHRoaXMgcmVxdWVzdCIsInR5cGUiOiJTdHJpbmcifX0sInJ1bGVzIjpbeyJj
50
- b25kaXRpb25zIjpbeyJmbiI6ImF3cy5wYXJ0aXRpb24iLCJhcmd2IjpbeyJy
51
- ZWYiOiJSZWdpb24ifV0sImFzc2lnbiI6IlBhcnRpdGlvblJlc3VsdCJ9XSwi
52
- dHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJp
53
- c1NldCIsImFyZ3YiOlt7InJlZiI6IkVuZHBvaW50In1dfV0sInR5cGUiOiJ0
54
- cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVx
55
- dWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX1dLCJlcnJv
56
- ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRklQUyBhbmQgY3VzdG9tIGVu
57
- ZHBvaW50IGFyZSBub3Qgc3VwcG9ydGVkIiwidHlwZSI6ImVycm9yIn0seyJj
58
- b25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
59
- aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
60
- VXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwiZXJyb3IiOiJJbnZhbGlkIENvbmZp
61
- Z3VyYXRpb246IER1YWxzdGFjayBhbmQgY3VzdG9tIGVuZHBvaW50IGFyZSBu
62
- b3Qgc3VwcG9ydGVkIiwidHlwZSI6ImVycm9yIn0seyJjb25kaXRpb25zIjpb
63
- XSwiZW5kcG9pbnQiOnsidXJsIjp7InJlZiI6IkVuZHBvaW50In0sInByb3Bl
64
- cnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1d
65
- fSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3Yi
66
- Olt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX0seyJmbiI6ImJvb2xlYW5FcXVh
67
- bHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0
68
- eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJv
69
- b2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFy
70
- Z3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0ZJUFMi
71
- XX1dfSx7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4i
72
- OiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0s
73
- InN1cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVz
74
- IjpbeyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6
75
- Ly9lYzItZmlwcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2R1YWxTdGFj
76
- a0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0
77
- eXBlIjoiZW5kcG9pbnQifV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoi
78
- RklQUyBhbmQgRHVhbFN0YWNrIGFyZSBlbmFibGVkLCBidXQgdGhpcyBwYXJ0
79
- aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBvbmUgb3IgYm90aCIsInR5cGUiOiJl
80
- cnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
81
- LCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBTIn0sdHJ1ZV19XSwidHlwZSI6InRy
82
- ZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1
83
- YWxzIiwiYXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJy
84
- ZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNGSVBTIl19XX1dLCJ0
85
- eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbXSwidHlwZSI6
86
- InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJzdHJpbmdF
87
- cXVhbHMiLCJhcmd2IjpbImF3cy11cy1nb3YiLHsiZm4iOiJnZXRBdHRyIiwi
88
- YXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sIm5hbWUiXX1dfV0s
89
- ImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vZWMyLntSZWdpb259LntQYXJ0
90
- aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFk
91
- ZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W10s
92
- ImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vZWMyLWZpcHMue1JlZ2lvbn0u
93
- e1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30s
94
- ImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0
95
- aW9ucyI6W10sImVycm9yIjoiRklQUyBpcyBlbmFibGVkIGJ1dCB0aGlzIHBh
96
- cnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IEZJUFMiLCJ0eXBlIjoiZXJyb3Ii
97
- fV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJn
98
- diI6W3sicmVmIjoiVXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRy
99
- ZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1
100
- YWxzIiwiYXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJy
101
- ZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1d
102
- fV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJl
103
- bmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2VjMi57UmVnaW9ufS57UGFydGl0
104
- aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7
105
- fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29uZGl0
106
- aW9ucyI6W10sImVycm9yIjoiRHVhbFN0YWNrIGlzIGVuYWJsZWQgYnV0IHRo
107
- aXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRHVhbFN0YWNrIiwidHlw
108
- ZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1
109
- cmwiOiJodHRwczovL2VjMi57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ru
110
- c1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBl
111
- IjoiZW5kcG9pbnQifV19XX0=
112
-
113
- JSON
114
53
  end
115
54
  end
@@ -342,12 +342,15 @@ module Aws::EC2
342
342
  # * `metadata-options.http-tokens` - The metadata request authorization
343
343
  # state (`optional` \| `required`)
344
344
  #
345
- # * `metadata-options.http-put-response-hop-limit` - The http metadata
345
+ # * `metadata-options.http-put-response-hop-limit` - The HTTP metadata
346
346
  # request put response hop limit (integer, possible values `1` to
347
347
  # `64`)
348
348
  #
349
- # * `metadata-options.http-endpoint` - Enable or disable metadata access
350
- # on http endpoint (`enabled` \| `disabled`)
349
+ # * `metadata-options.http-endpoint` - The status of access to the HTTP
350
+ # metadata endpoint on your instance (`enabled` \| `disabled`)
351
+ #
352
+ # * `metadata-options.instance-metadata-tags` - The status of access to
353
+ # instance tags from the instance metadata (`enabled` \| `disabled`)
351
354
  #
352
355
  # * `monitoring-state` - Indicates whether detailed monitoring is
353
356
  # enabled (`disabled` \| `enabled`).
@@ -376,8 +376,7 @@ module Aws::EC2
376
376
  #
377
377
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html
378
378
  # @option options [Array<String>] :security_groups
379
- # \[EC2-Classic, default VPC\] The names of the security groups. For a
380
- # nondefault VPC, you must use security group IDs instead.
379
+ # \[EC2-Classic, default VPC\] The names of the security groups.
381
380
  #
382
381
  # If you specify a network interface, you must specify any security
383
382
  # groups as part of the network interface.
@@ -2334,12 +2333,15 @@ module Aws::EC2
2334
2333
  # * `metadata-options.http-tokens` - The metadata request authorization
2335
2334
  # state (`optional` \| `required`)
2336
2335
  #
2337
- # * `metadata-options.http-put-response-hop-limit` - The http metadata
2336
+ # * `metadata-options.http-put-response-hop-limit` - The HTTP metadata
2338
2337
  # request put response hop limit (integer, possible values `1` to
2339
2338
  # `64`)
2340
2339
  #
2341
- # * `metadata-options.http-endpoint` - Enable or disable metadata access
2342
- # on http endpoint (`enabled` \| `disabled`)
2340
+ # * `metadata-options.http-endpoint` - The status of access to the HTTP
2341
+ # metadata endpoint on your instance (`enabled` \| `disabled`)
2342
+ #
2343
+ # * `metadata-options.instance-metadata-tags` - The status of access to
2344
+ # instance tags from the instance metadata (`enabled` \| `disabled`)
2343
2345
  #
2344
2346
  # * `monitoring-state` - Indicates whether detailed monitoring is
2345
2347
  # enabled (`disabled` \| `enabled`).
@@ -370,9 +370,10 @@ module Aws::EC2
370
370
  # Alternatively, use a set of IP permissions to specify multiple rules
371
371
  # and a description for the rule.
372
372
  # @option options [Integer] :from_port
373
- # The start of port range for the TCP and UDP protocols, or an ICMP type
374
- # number. For the ICMP type number, use `-1` to specify all types. If
375
- # you specify all ICMP types, you must specify all codes.
373
+ # If the protocol is TCP or UDP, this is the start of the port range. If
374
+ # the protocol is ICMP, this is the type number. A value of -1 indicates
375
+ # all ICMP types. If you specify all ICMP types, you must specify all
376
+ # ICMP codes.
376
377
  #
377
378
  # Alternatively, use a set of IP permissions to specify multiple rules
378
379
  # and a description for the rule.
@@ -415,9 +416,10 @@ module Aws::EC2
415
416
  # specific IP protocol and port range, use a set of IP permissions
416
417
  # instead.
417
418
  # @option options [Integer] :to_port
418
- # The end of port range for the TCP and UDP protocols, or an ICMP code
419
- # number. For the ICMP code number, use `-1` to specify all codes. If
420
- # you specify all ICMP types, you must specify all codes.
419
+ # If the protocol is TCP or UDP, this is the end of the port range. If
420
+ # the protocol is ICMP, this is the code. A value of -1 indicates all
421
+ # ICMP codes. If you specify all ICMP types, you must specify all ICMP
422
+ # codes.
421
423
  #
422
424
  # Alternatively, use a set of IP permissions to specify multiple rules
423
425
  # and a description for the rule.
@@ -676,8 +678,9 @@ module Aws::EC2
676
678
  # The CIDR IP address range. You can't specify this parameter when
677
679
  # specifying a source security group.
678
680
  # @option options [Integer] :from_port
679
- # The start of port range for the TCP and UDP protocols, or an ICMP type
680
- # number. For the ICMP type number, use `-1` to specify all ICMP types.
681
+ # If the protocol is TCP or UDP, this is the start of the port range. If
682
+ # the protocol is ICMP, this is the type number. A value of -1 indicates
683
+ # all ICMP types.
681
684
  # @option options [String] :group_name
682
685
  # \[EC2-Classic, default VPC\] The name of the security group. You must
683
686
  # specify either the security group ID or the security group name in the
@@ -710,9 +713,9 @@ module Aws::EC2
710
713
  # specific rule for an IP protocol and port range, use a set of IP
711
714
  # permissions instead.
712
715
  # @option options [Integer] :to_port
713
- # The end of port range for the TCP and UDP protocols, or an ICMP code
714
- # number. For the ICMP code number, use `-1` to specify all ICMP codes
715
- # for the ICMP type.
716
+ # If the protocol is TCP or UDP, this is the end of the port range. If
717
+ # the protocol is ICMP, this is the code. A value of -1 indicates all
718
+ # ICMP codes.
716
719
  # @option options [Boolean] :dry_run
717
720
  # Checks whether you have the required permissions for the action,
718
721
  # without actually making the request, and provides an error response.
@@ -600,8 +600,7 @@ module Aws::EC2
600
600
  #
601
601
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html
602
602
  # @option options [Array<String>] :security_groups
603
- # \[EC2-Classic, default VPC\] The names of the security groups. For a
604
- # nondefault VPC, you must use security group IDs instead.
603
+ # \[EC2-Classic, default VPC\] The names of the security groups.
605
604
  #
606
605
  # If you specify a network interface, you must specify any security
607
606
  # groups as part of the network interface.
@@ -1179,12 +1178,15 @@ module Aws::EC2
1179
1178
  # * `metadata-options.http-tokens` - The metadata request authorization
1180
1179
  # state (`optional` \| `required`)
1181
1180
  #
1182
- # * `metadata-options.http-put-response-hop-limit` - The http metadata
1181
+ # * `metadata-options.http-put-response-hop-limit` - The HTTP metadata
1183
1182
  # request put response hop limit (integer, possible values `1` to
1184
1183
  # `64`)
1185
1184
  #
1186
- # * `metadata-options.http-endpoint` - Enable or disable metadata access
1187
- # on http endpoint (`enabled` \| `disabled`)
1185
+ # * `metadata-options.http-endpoint` - The status of access to the HTTP
1186
+ # metadata endpoint on your instance (`enabled` \| `disabled`)
1187
+ #
1188
+ # * `metadata-options.instance-metadata-tags` - The status of access to
1189
+ # instance tags from the instance metadata (`enabled` \| `disabled`)
1188
1190
  #
1189
1191
  # * `monitoring-state` - Indicates whether detailed monitoring is
1190
1192
  # enabled (`disabled` \| `enabled`).