aws-sdk-ec2 1.659.0 → 1.660.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: 9de3164d5145903daf51f95207e70f04b3a3eaa93d53598bf6be288b00d11a38
4
- data.tar.gz: 689525c5bd81bf78ae9b98b1cc212fcef8128fcd9af0afeb54eae6e21f16c4bd
3
+ metadata.gz: 146ebe1a85bcd506ae0924a14bba9a6d50c738616d192e7517ea115b429f0a3b
4
+ data.tar.gz: 12d77e3bcdd481929459d2e5df193d9fcb46df311a6bcc70691a1fd613aeb14a
5
5
  SHA512:
6
- metadata.gz: 1369df5384c42868369591b1f02def76655f51d203018485f209c8fb62455c2c8464bcc12156634d144b7f734ea729330e7f0425dfec852b79e7961d6832d929
7
- data.tar.gz: 8c402975688f02b56356ddde0c5cd3d1553a3401facb0a0a43d392dbf94d178c8944e9036d07fc02f3ba693a62678ede3ead53ed366e7a12ad15b7671bbb6f9f
6
+ metadata.gz: 492bab6cf58b7c04879dec7550bc9245895b6e06cbfcca8b367b293e3ffc5b8096c72e2287eb3201359910df371457658336698d0ab4ad9d11a03e18c16ed9f7
7
+ data.tar.gz: b794004890ca8e39ef8c82b2dde78c3ad98a11c57683e553f5efacd15ec2dcf1f76d6618c9d250035725e0ded84ef8ea80c5268e65375c46ebb7294892f94a7d
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.660.0 (2026-10-22)
5
+ ------------------
6
+
7
+ * Feature - AWS Transit Gateway now provides managed one-to-one NAT directly on its attachments, through integration with Regional Private NAT Gateway. Use ModifyTransitGatewayAttachmentNatConfiguration to enable NAT and configure NAT rules, and GetTransitGatewayAttachmentNatConfiguration to view them.
8
+
4
9
  1.659.0 (2026-10-21)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.659.0
1
+ 1.660.0
@@ -18067,7 +18067,7 @@ module Aws::EC2
18067
18067
  # resp.route.transit_gateway_attachments[0].resource_id #=> String
18068
18068
  # resp.route.transit_gateway_attachments[0].transit_gateway_attachment_id #=> String
18069
18069
  # resp.route.transit_gateway_attachments[0].resource_type #=> String, one of "vpc", "vpn", "vpn-concentrator", "direct-connect-gateway", "connect", "peering", "tgw-peering", "network-function", "client-vpn"
18070
- # resp.route.type #=> String, one of "static", "propagated"
18070
+ # resp.route.type #=> String, one of "static", "propagated", "system"
18071
18071
  # resp.route.state #=> String, one of "pending", "active", "blackhole", "deleting", "deleted"
18072
18072
  #
18073
18073
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute AWS API Documentation
@@ -24718,7 +24718,7 @@ module Aws::EC2
24718
24718
  # resp.route.transit_gateway_attachments[0].resource_id #=> String
24719
24719
  # resp.route.transit_gateway_attachments[0].transit_gateway_attachment_id #=> String
24720
24720
  # resp.route.transit_gateway_attachments[0].resource_type #=> String, one of "vpc", "vpn", "vpn-concentrator", "direct-connect-gateway", "connect", "peering", "tgw-peering", "network-function", "client-vpn"
24721
- # resp.route.type #=> String, one of "static", "propagated"
24721
+ # resp.route.type #=> String, one of "static", "propagated", "system"
24722
24722
  # resp.route.state #=> String, one of "pending", "active", "blackhole", "deleting", "deleted"
24723
24723
  #
24724
24724
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute AWS API Documentation
@@ -24730,11 +24730,13 @@ module Aws::EC2
24730
24730
  req.send_request(options)
24731
24731
  end
24732
24732
 
24733
- # Deletes the specified transit gateway route table. If there are any
24734
- # route tables associated with the transit gateway route table, you must
24735
- # first run DisassociateRouteTable before you can delete the transit
24736
- # gateway route table. This removes any route tables associated with the
24737
- # transit gateway route table.
24733
+ # Deletes the specified transit gateway route table. Before you can
24734
+ # delete a transit gateway route table, you must disassociate all
24735
+ # attachments from it by using DisassociateTransitGatewayRouteTable and
24736
+ # wait for the disassociations to complete. You can't delete a transit
24737
+ # gateway route table that is the default association route table or
24738
+ # default propagation route table for the transit gateway. To change the
24739
+ # default route tables, use ModifyTransitGateway.
24738
24740
  #
24739
24741
  # @option params [required, String] :transit_gateway_route_table_id
24740
24742
  # The ID of the transit gateway route table.
@@ -45903,6 +45905,7 @@ module Aws::EC2
45903
45905
  # resp.transit_gateway_attachments[0].tags #=> Array
45904
45906
  # resp.transit_gateway_attachments[0].tags[0].key #=> String
45905
45907
  # resp.transit_gateway_attachments[0].tags[0].value #=> String
45908
+ # resp.transit_gateway_attachments[0].nat_gateway_support #=> String, one of "enabled", "disabled", "enabling", "disabling"
45906
45909
  # resp.next_token #=> String
45907
45910
  #
45908
45911
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments AWS API Documentation
@@ -59179,6 +59182,53 @@ module Aws::EC2
59179
59182
  req.send_request(options)
59180
59183
  end
59181
59184
 
59185
+ # Describes the NAT configuration for the specified transit gateway
59186
+ # attachment. Only the owner of the transit gateway can describe the NAT
59187
+ # configuration.
59188
+ #
59189
+ # @option params [required, String] :transit_gateway_attachment_id
59190
+ # The ID of the transit gateway attachment.
59191
+ #
59192
+ # @option params [Boolean] :dry_run
59193
+ # Checks whether you have the required permissions for the action,
59194
+ # without actually making the request, and provides an error response.
59195
+ # If you have the required permissions, the error response is
59196
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
59197
+ #
59198
+ # @return [Types::GetTransitGatewayAttachmentNatConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
59199
+ #
59200
+ # * {Types::GetTransitGatewayAttachmentNatConfigurationResult#transit_gateway_attachment_id #transit_gateway_attachment_id} => String
59201
+ # * {Types::GetTransitGatewayAttachmentNatConfigurationResult#nat_gateway_support #nat_gateway_support} => String
59202
+ # * {Types::GetTransitGatewayAttachmentNatConfigurationResult#nat_system_route_support #nat_system_route_support} => String
59203
+ # * {Types::GetTransitGatewayAttachmentNatConfigurationResult#nat_gateway_rules #nat_gateway_rules} => Array<Types::TransitGatewayNatRule>
59204
+ #
59205
+ # @example Request syntax with placeholder values
59206
+ #
59207
+ # resp = client.get_transit_gateway_attachment_nat_configuration({
59208
+ # transit_gateway_attachment_id: "TransitGatewayAttachmentId", # required
59209
+ # dry_run: false,
59210
+ # })
59211
+ #
59212
+ # @example Response structure
59213
+ #
59214
+ # resp.transit_gateway_attachment_id #=> String
59215
+ # resp.nat_gateway_support #=> String, one of "enabled", "disabled", "enabling", "disabling"
59216
+ # resp.nat_system_route_support #=> String, one of "enable", "disable"
59217
+ # resp.nat_gateway_rules #=> Array
59218
+ # resp.nat_gateway_rules[0].rule_number #=> Integer
59219
+ # resp.nat_gateway_rules[0].match_source_cidr #=> String
59220
+ # resp.nat_gateway_rules[0].nat_cidr #=> String
59221
+ # resp.nat_gateway_rules[0].state #=> String, one of "pending", "activated", "deactivated", "deleting"
59222
+ #
59223
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentNatConfiguration AWS API Documentation
59224
+ #
59225
+ # @overload get_transit_gateway_attachment_nat_configuration(params = {})
59226
+ # @param [Hash] params ({})
59227
+ def get_transit_gateway_attachment_nat_configuration(params = {}, options = {})
59228
+ req = build_request(:get_transit_gateway_attachment_nat_configuration, params)
59229
+ req.send_request(options)
59230
+ end
59231
+
59182
59232
  # Lists the route tables to which the specified resource attachment
59183
59233
  # propagates routes.
59184
59234
  #
@@ -66730,6 +66780,110 @@ module Aws::EC2
66730
66780
  req.send_request(options)
66731
66781
  end
66732
66782
 
66783
+ # Modifies the NAT configuration for the specified transit gateway
66784
+ # attachment. Use this operation to do the following:
66785
+ #
66786
+ # * Enable or disable NAT gateway support for the attachment.
66787
+ #
66788
+ # * Specify whether the transit gateway installs routes for the NAT
66789
+ # CIDRs.
66790
+ #
66791
+ # * Replace the NAT gateway rules for the attachment.
66792
+ #
66793
+ # Only the owner of the transit gateway can modify the NAT
66794
+ # configuration.
66795
+ #
66796
+ # With NAT gateway support enabled, the transit gateway translates
66797
+ # addresses in each rule's `MatchSourceCidr` range to the corresponding
66798
+ # addresses in its `NatCidr` range.
66799
+ #
66800
+ # The transit gateway applies changes asynchronously. To check the
66801
+ # result, use `GetTransitGatewayAttachmentNatConfiguration`.
66802
+ #
66803
+ # @option params [required, String] :transit_gateway_attachment_id
66804
+ # The ID of the transit gateway attachment.
66805
+ #
66806
+ # @option params [String] :nat_gateway_support
66807
+ # Specifies whether to enable or disable NAT gateway support for the
66808
+ # attachment. To enable NAT gateway support, the attachment must have at
66809
+ # least one NAT gateway rule. You can't modify the NAT configuration
66810
+ # while NAT gateway support is `enabling` or `disabling`. If you omit
66811
+ # this parameter, the current value doesn't change.
66812
+ #
66813
+ # @option params [String] :nat_system_route_support
66814
+ # Specifies whether the transit gateway installs routes for the NAT
66815
+ # CIDRs in the route tables to which the attachment propagates. For VPC
66816
+ # attachments, the transit gateway always installs these routes. You can
66817
+ # enable or disable this option only for Amazon Web Services Direct
66818
+ # Connect gateway attachments and Site-to-Site VPN attachments that use
66819
+ # dynamic routing. For these attachments, the default is `enable`. If
66820
+ # you omit this parameter, the current value doesn't change.
66821
+ #
66822
+ # @option params [Array<Types::TransitGatewayNatRuleRequest>] :nat_gateway_rules
66823
+ # The NAT gateway rules for the attachment. The rules that you specify
66824
+ # replace all existing NAT gateway rules for the attachment. You can
66825
+ # specify up to 50 rules for an attachment. If you omit this parameter,
66826
+ # the existing rules don't change. To remove all rules, use
66827
+ # `ResetNatGatewayRules`.
66828
+ #
66829
+ # @option params [Boolean] :reset_nat_gateway_rules
66830
+ # Specifies whether to remove all NAT gateway rules from the attachment.
66831
+ # If you omit this parameter, the transit gateway doesn't remove any
66832
+ # rules. You can't specify this parameter together with
66833
+ # `NatGatewayRules`. Because you can't enable NAT gateway support
66834
+ # without rules, also set `NatGatewaySupport` to `disable` in the same
66835
+ # request if NAT gateway support is currently enabled.
66836
+ #
66837
+ # @option params [Boolean] :dry_run
66838
+ # Checks whether you have the required permissions for the action,
66839
+ # without actually making the request, and provides an error response.
66840
+ # If you have the required permissions, the error response is
66841
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
66842
+ #
66843
+ # @return [Types::ModifyTransitGatewayAttachmentNatConfigurationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
66844
+ #
66845
+ # * {Types::ModifyTransitGatewayAttachmentNatConfigurationResult#transit_gateway_attachment_id #transit_gateway_attachment_id} => String
66846
+ # * {Types::ModifyTransitGatewayAttachmentNatConfigurationResult#nat_gateway_support #nat_gateway_support} => String
66847
+ # * {Types::ModifyTransitGatewayAttachmentNatConfigurationResult#nat_system_route_support #nat_system_route_support} => String
66848
+ # * {Types::ModifyTransitGatewayAttachmentNatConfigurationResult#nat_gateway_rules #nat_gateway_rules} => Array&lt;Types::TransitGatewayNatRule&gt;
66849
+ #
66850
+ # @example Request syntax with placeholder values
66851
+ #
66852
+ # resp = client.modify_transit_gateway_attachment_nat_configuration({
66853
+ # transit_gateway_attachment_id: "TransitGatewayAttachmentId", # required
66854
+ # nat_gateway_support: "enable", # accepts enable, disable
66855
+ # nat_system_route_support: "enable", # accepts enable, disable
66856
+ # nat_gateway_rules: [
66857
+ # {
66858
+ # rule_number: 1,
66859
+ # match_source_cidr: "String",
66860
+ # nat_cidr: "String",
66861
+ # },
66862
+ # ],
66863
+ # reset_nat_gateway_rules: false,
66864
+ # dry_run: false,
66865
+ # })
66866
+ #
66867
+ # @example Response structure
66868
+ #
66869
+ # resp.transit_gateway_attachment_id #=> String
66870
+ # resp.nat_gateway_support #=> String, one of "enabled", "disabled", "enabling", "disabling"
66871
+ # resp.nat_system_route_support #=> String, one of "enable", "disable"
66872
+ # resp.nat_gateway_rules #=> Array
66873
+ # resp.nat_gateway_rules[0].rule_number #=> Integer
66874
+ # resp.nat_gateway_rules[0].match_source_cidr #=> String
66875
+ # resp.nat_gateway_rules[0].nat_cidr #=> String
66876
+ # resp.nat_gateway_rules[0].state #=> String, one of "pending", "activated", "deactivated", "deleting"
66877
+ #
66878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayAttachmentNatConfiguration AWS API Documentation
66879
+ #
66880
+ # @overload modify_transit_gateway_attachment_nat_configuration(params = {})
66881
+ # @param [Hash] params ({})
66882
+ def modify_transit_gateway_attachment_nat_configuration(params = {}, options = {})
66883
+ req = build_request(:modify_transit_gateway_attachment_nat_configuration, params)
66884
+ req.send_request(options)
66885
+ end
66886
+
66733
66887
  # Modifies a transit gateway metering policy.
66734
66888
  #
66735
66889
  # @option params [required, String] :transit_gateway_metering_policy_id
@@ -72071,7 +72225,7 @@ module Aws::EC2
72071
72225
  # resp.route.transit_gateway_attachments[0].resource_id #=> String
72072
72226
  # resp.route.transit_gateway_attachments[0].transit_gateway_attachment_id #=> String
72073
72227
  # resp.route.transit_gateway_attachments[0].resource_type #=> String, one of "vpc", "vpn", "vpn-concentrator", "direct-connect-gateway", "connect", "peering", "tgw-peering", "network-function", "client-vpn"
72074
- # resp.route.type #=> String, one of "static", "propagated"
72228
+ # resp.route.type #=> String, one of "static", "propagated", "system"
72075
72229
  # resp.route.state #=> String, one of "pending", "active", "blackhole", "deleting", "deleted"
72076
72230
  #
72077
72231
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute AWS API Documentation
@@ -75515,7 +75669,7 @@ module Aws::EC2
75515
75669
  # resp.routes[0].transit_gateway_attachments[0].resource_id #=> String
75516
75670
  # resp.routes[0].transit_gateway_attachments[0].transit_gateway_attachment_id #=> String
75517
75671
  # resp.routes[0].transit_gateway_attachments[0].resource_type #=> String, one of "vpc", "vpn", "vpn-concentrator", "direct-connect-gateway", "connect", "peering", "tgw-peering", "network-function", "client-vpn"
75518
- # resp.routes[0].type #=> String, one of "static", "propagated"
75672
+ # resp.routes[0].type #=> String, one of "static", "propagated", "system"
75519
75673
  # resp.routes[0].state #=> String, one of "pending", "active", "blackhole", "deleting", "deleted"
75520
75674
  # resp.additional_routes_available #=> Boolean
75521
75675
  # resp.next_token #=> String
@@ -78070,7 +78224,7 @@ module Aws::EC2
78070
78224
  tracer: tracer
78071
78225
  )
78072
78226
  context[:gem_name] = 'aws-sdk-ec2'
78073
- context[:gem_version] = '1.659.0'
78227
+ context[:gem_version] = '1.660.0'
78074
78228
  Seahorse::Client::Request.new(handlers, context)
78075
78229
  end
78076
78230
 
@@ -2041,6 +2041,8 @@ module Aws::EC2
2041
2041
  GetSubnetCidrReservationsMaxResults = Shapes::IntegerShape.new(name: 'GetSubnetCidrReservationsMaxResults')
2042
2042
  GetSubnetCidrReservationsRequest = Shapes::StructureShape.new(name: 'GetSubnetCidrReservationsRequest')
2043
2043
  GetSubnetCidrReservationsResult = Shapes::StructureShape.new(name: 'GetSubnetCidrReservationsResult')
2044
+ GetTransitGatewayAttachmentNatConfigurationRequest = Shapes::StructureShape.new(name: 'GetTransitGatewayAttachmentNatConfigurationRequest')
2045
+ GetTransitGatewayAttachmentNatConfigurationResult = Shapes::StructureShape.new(name: 'GetTransitGatewayAttachmentNatConfigurationResult')
2044
2046
  GetTransitGatewayAttachmentPropagationsRequest = Shapes::StructureShape.new(name: 'GetTransitGatewayAttachmentPropagationsRequest')
2045
2047
  GetTransitGatewayAttachmentPropagationsResult = Shapes::StructureShape.new(name: 'GetTransitGatewayAttachmentPropagationsResult')
2046
2048
  GetTransitGatewayMeteringPolicyEntriesRequest = Shapes::StructureShape.new(name: 'GetTransitGatewayMeteringPolicyEntriesRequest')
@@ -2943,6 +2945,8 @@ module Aws::EC2
2943
2945
  ModifyTrafficMirrorFilterRuleResult = Shapes::StructureShape.new(name: 'ModifyTrafficMirrorFilterRuleResult')
2944
2946
  ModifyTrafficMirrorSessionRequest = Shapes::StructureShape.new(name: 'ModifyTrafficMirrorSessionRequest')
2945
2947
  ModifyTrafficMirrorSessionResult = Shapes::StructureShape.new(name: 'ModifyTrafficMirrorSessionResult')
2948
+ ModifyTransitGatewayAttachmentNatConfigurationRequest = Shapes::StructureShape.new(name: 'ModifyTransitGatewayAttachmentNatConfigurationRequest')
2949
+ ModifyTransitGatewayAttachmentNatConfigurationResult = Shapes::StructureShape.new(name: 'ModifyTransitGatewayAttachmentNatConfigurationResult')
2946
2950
  ModifyTransitGatewayMeteringPolicyRequest = Shapes::StructureShape.new(name: 'ModifyTransitGatewayMeteringPolicyRequest')
2947
2951
  ModifyTransitGatewayMeteringPolicyResult = Shapes::StructureShape.new(name: 'ModifyTransitGatewayMeteringPolicyResult')
2948
2952
  ModifyTransitGatewayOptions = Shapes::StructureShape.new(name: 'ModifyTransitGatewayOptions')
@@ -3912,6 +3916,9 @@ module Aws::EC2
3912
3916
  TransitGatewayAttachmentId = Shapes::StringShape.new(name: 'TransitGatewayAttachmentId')
3913
3917
  TransitGatewayAttachmentIdStringList = Shapes::ListShape.new(name: 'TransitGatewayAttachmentIdStringList')
3914
3918
  TransitGatewayAttachmentList = Shapes::ListShape.new(name: 'TransitGatewayAttachmentList')
3919
+ TransitGatewayAttachmentNatGatewaySupportState = Shapes::StringShape.new(name: 'TransitGatewayAttachmentNatGatewaySupportState')
3920
+ TransitGatewayAttachmentNatGatewaySupportValue = Shapes::StringShape.new(name: 'TransitGatewayAttachmentNatGatewaySupportValue')
3921
+ TransitGatewayAttachmentNatSystemRouteSupportValue = Shapes::StringShape.new(name: 'TransitGatewayAttachmentNatSystemRouteSupportValue')
3915
3922
  TransitGatewayAttachmentPropagation = Shapes::StructureShape.new(name: 'TransitGatewayAttachmentPropagation')
3916
3923
  TransitGatewayAttachmentPropagationList = Shapes::ListShape.new(name: 'TransitGatewayAttachmentPropagationList')
3917
3924
  TransitGatewayAttachmentResourceType = Shapes::StringShape.new(name: 'TransitGatewayAttachmentResourceType')
@@ -3961,6 +3968,11 @@ module Aws::EC2
3961
3968
  TransitGatewayMulticastGroupList = Shapes::ListShape.new(name: 'TransitGatewayMulticastGroupList')
3962
3969
  TransitGatewayMulticastRegisteredGroupMembers = Shapes::StructureShape.new(name: 'TransitGatewayMulticastRegisteredGroupMembers')
3963
3970
  TransitGatewayMulticastRegisteredGroupSources = Shapes::StructureShape.new(name: 'TransitGatewayMulticastRegisteredGroupSources')
3971
+ TransitGatewayNatRule = Shapes::StructureShape.new(name: 'TransitGatewayNatRule')
3972
+ TransitGatewayNatRuleList = Shapes::ListShape.new(name: 'TransitGatewayNatRuleList')
3973
+ TransitGatewayNatRuleRequest = Shapes::StructureShape.new(name: 'TransitGatewayNatRuleRequest')
3974
+ TransitGatewayNatRuleRequestList = Shapes::ListShape.new(name: 'TransitGatewayNatRuleRequestList')
3975
+ TransitGatewayNatRuleState = Shapes::StringShape.new(name: 'TransitGatewayNatRuleState')
3964
3976
  TransitGatewayNetworkInterfaceIdList = Shapes::ListShape.new(name: 'TransitGatewayNetworkInterfaceIdList')
3965
3977
  TransitGatewayOptions = Shapes::StructureShape.new(name: 'TransitGatewayOptions')
3966
3978
  TransitGatewayPeeringAttachment = Shapes::StructureShape.new(name: 'TransitGatewayPeeringAttachment')
@@ -12705,6 +12717,16 @@ module Aws::EC2
12705
12717
  GetSubnetCidrReservationsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
12706
12718
  GetSubnetCidrReservationsResult.struct_class = Types::GetSubnetCidrReservationsResult
12707
12719
 
12720
+ GetTransitGatewayAttachmentNatConfigurationRequest.add_member(:transit_gateway_attachment_id, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentId, required: true, location_name: "TransitGatewayAttachmentId"))
12721
+ GetTransitGatewayAttachmentNatConfigurationRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
12722
+ GetTransitGatewayAttachmentNatConfigurationRequest.struct_class = Types::GetTransitGatewayAttachmentNatConfigurationRequest
12723
+
12724
+ GetTransitGatewayAttachmentNatConfigurationResult.add_member(:transit_gateway_attachment_id, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentId, location_name: "transitGatewayAttachmentId"))
12725
+ GetTransitGatewayAttachmentNatConfigurationResult.add_member(:nat_gateway_support, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentNatGatewaySupportState, location_name: "natGatewaySupport"))
12726
+ GetTransitGatewayAttachmentNatConfigurationResult.add_member(:nat_system_route_support, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentNatSystemRouteSupportValue, location_name: "natSystemRouteSupport"))
12727
+ GetTransitGatewayAttachmentNatConfigurationResult.add_member(:nat_gateway_rules, Shapes::ShapeRef.new(shape: TransitGatewayNatRuleList, location_name: "natGatewayRuleSet"))
12728
+ GetTransitGatewayAttachmentNatConfigurationResult.struct_class = Types::GetTransitGatewayAttachmentNatConfigurationResult
12729
+
12708
12730
  GetTransitGatewayAttachmentPropagationsRequest.add_member(:transit_gateway_attachment_id, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentId, required: true, location_name: "TransitGatewayAttachmentId"))
12709
12731
  GetTransitGatewayAttachmentPropagationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
12710
12732
  GetTransitGatewayAttachmentPropagationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: TransitGatewayMaxResults, location_name: "MaxResults"))
@@ -16078,6 +16100,20 @@ module Aws::EC2
16078
16100
  ModifyTrafficMirrorSessionResult.add_member(:traffic_mirror_session, Shapes::ShapeRef.new(shape: TrafficMirrorSession, location_name: "trafficMirrorSession"))
16079
16101
  ModifyTrafficMirrorSessionResult.struct_class = Types::ModifyTrafficMirrorSessionResult
16080
16102
 
16103
+ ModifyTransitGatewayAttachmentNatConfigurationRequest.add_member(:transit_gateway_attachment_id, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentId, required: true, location_name: "TransitGatewayAttachmentId"))
16104
+ ModifyTransitGatewayAttachmentNatConfigurationRequest.add_member(:nat_gateway_support, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentNatGatewaySupportValue, location_name: "NatGatewaySupport"))
16105
+ ModifyTransitGatewayAttachmentNatConfigurationRequest.add_member(:nat_system_route_support, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentNatSystemRouteSupportValue, location_name: "NatSystemRouteSupport"))
16106
+ ModifyTransitGatewayAttachmentNatConfigurationRequest.add_member(:nat_gateway_rules, Shapes::ShapeRef.new(shape: TransitGatewayNatRuleRequestList, location_name: "NatGatewayRule"))
16107
+ ModifyTransitGatewayAttachmentNatConfigurationRequest.add_member(:reset_nat_gateway_rules, Shapes::ShapeRef.new(shape: Boolean, location_name: "ResetNatGatewayRules"))
16108
+ ModifyTransitGatewayAttachmentNatConfigurationRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
16109
+ ModifyTransitGatewayAttachmentNatConfigurationRequest.struct_class = Types::ModifyTransitGatewayAttachmentNatConfigurationRequest
16110
+
16111
+ ModifyTransitGatewayAttachmentNatConfigurationResult.add_member(:transit_gateway_attachment_id, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentId, location_name: "transitGatewayAttachmentId"))
16112
+ ModifyTransitGatewayAttachmentNatConfigurationResult.add_member(:nat_gateway_support, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentNatGatewaySupportState, location_name: "natGatewaySupport"))
16113
+ ModifyTransitGatewayAttachmentNatConfigurationResult.add_member(:nat_system_route_support, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentNatSystemRouteSupportValue, location_name: "natSystemRouteSupport"))
16114
+ ModifyTransitGatewayAttachmentNatConfigurationResult.add_member(:nat_gateway_rules, Shapes::ShapeRef.new(shape: TransitGatewayNatRuleList, location_name: "natGatewayRuleSet"))
16115
+ ModifyTransitGatewayAttachmentNatConfigurationResult.struct_class = Types::ModifyTransitGatewayAttachmentNatConfigurationResult
16116
+
16081
16117
  ModifyTransitGatewayMeteringPolicyRequest.add_member(:transit_gateway_metering_policy_id, Shapes::ShapeRef.new(shape: TransitGatewayMeteringPolicyId, required: true, location_name: "TransitGatewayMeteringPolicyId"))
16082
16118
  ModifyTransitGatewayMeteringPolicyRequest.add_member(:add_middlebox_attachment_ids, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentIdStringList, location_name: "AddMiddleboxAttachmentId"))
16083
16119
  ModifyTransitGatewayMeteringPolicyRequest.add_member(:remove_middlebox_attachment_ids, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentIdStringList, location_name: "RemoveMiddleboxAttachmentId"))
@@ -19625,6 +19661,7 @@ module Aws::EC2
19625
19661
  TransitGatewayAttachment.add_member(:association, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentAssociation, location_name: "association"))
19626
19662
  TransitGatewayAttachment.add_member(:creation_time, Shapes::ShapeRef.new(shape: DateTime, location_name: "creationTime"))
19627
19663
  TransitGatewayAttachment.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tagSet"))
19664
+ TransitGatewayAttachment.add_member(:nat_gateway_support, Shapes::ShapeRef.new(shape: TransitGatewayAttachmentNatGatewaySupportState, location_name: "natGatewaySupport"))
19628
19665
  TransitGatewayAttachment.struct_class = Types::TransitGatewayAttachment
19629
19666
 
19630
19667
  TransitGatewayAttachmentAssociation.add_member(:transit_gateway_route_table_id, Shapes::ShapeRef.new(shape: String, location_name: "transitGatewayRouteTableId"))
@@ -19816,6 +19853,21 @@ module Aws::EC2
19816
19853
  TransitGatewayMulticastRegisteredGroupSources.add_member(:group_ip_address, Shapes::ShapeRef.new(shape: String, location_name: "groupIpAddress"))
19817
19854
  TransitGatewayMulticastRegisteredGroupSources.struct_class = Types::TransitGatewayMulticastRegisteredGroupSources
19818
19855
 
19856
+ TransitGatewayNatRule.add_member(:rule_number, Shapes::ShapeRef.new(shape: Integer, location_name: "ruleNumber"))
19857
+ TransitGatewayNatRule.add_member(:match_source_cidr, Shapes::ShapeRef.new(shape: String, location_name: "matchSourceCidr"))
19858
+ TransitGatewayNatRule.add_member(:nat_cidr, Shapes::ShapeRef.new(shape: String, location_name: "natCidr"))
19859
+ TransitGatewayNatRule.add_member(:state, Shapes::ShapeRef.new(shape: TransitGatewayNatRuleState, location_name: "state"))
19860
+ TransitGatewayNatRule.struct_class = Types::TransitGatewayNatRule
19861
+
19862
+ TransitGatewayNatRuleList.member = Shapes::ShapeRef.new(shape: TransitGatewayNatRule, location_name: "item")
19863
+
19864
+ TransitGatewayNatRuleRequest.add_member(:rule_number, Shapes::ShapeRef.new(shape: Integer, location_name: "RuleNumber"))
19865
+ TransitGatewayNatRuleRequest.add_member(:match_source_cidr, Shapes::ShapeRef.new(shape: String, location_name: "MatchSourceCidr"))
19866
+ TransitGatewayNatRuleRequest.add_member(:nat_cidr, Shapes::ShapeRef.new(shape: String, location_name: "NatCidr"))
19867
+ TransitGatewayNatRuleRequest.struct_class = Types::TransitGatewayNatRuleRequest
19868
+
19869
+ TransitGatewayNatRuleRequestList.member = Shapes::ShapeRef.new(shape: TransitGatewayNatRuleRequest, location_name: "item")
19870
+
19819
19871
  TransitGatewayNetworkInterfaceIdList.member = Shapes::ShapeRef.new(shape: NetworkInterfaceId, location_name: "item")
19820
19872
 
19821
19873
  TransitGatewayOptions.add_member(:amazon_side_asn, Shapes::ShapeRef.new(shape: Long, location_name: "amazonSideAsn"))
@@ -26883,6 +26935,14 @@ module Aws::EC2
26883
26935
  o.output = Shapes::ShapeRef.new(shape: GetSubnetCidrReservationsResult)
26884
26936
  end)
26885
26937
 
26938
+ api.add_operation(:get_transit_gateway_attachment_nat_configuration, Seahorse::Model::Operation.new.tap do |o|
26939
+ o.name = "GetTransitGatewayAttachmentNatConfiguration"
26940
+ o.http_method = "POST"
26941
+ o.http_request_uri = "/"
26942
+ o.input = Shapes::ShapeRef.new(shape: GetTransitGatewayAttachmentNatConfigurationRequest)
26943
+ o.output = Shapes::ShapeRef.new(shape: GetTransitGatewayAttachmentNatConfigurationResult)
26944
+ end)
26945
+
26886
26946
  api.add_operation(:get_transit_gateway_attachment_propagations, Seahorse::Model::Operation.new.tap do |o|
26887
26947
  o.name = "GetTransitGatewayAttachmentPropagations"
26888
26948
  o.http_method = "POST"
@@ -27591,6 +27651,14 @@ module Aws::EC2
27591
27651
  o.output = Shapes::ShapeRef.new(shape: ModifyTransitGatewayResult)
27592
27652
  end)
27593
27653
 
27654
+ api.add_operation(:modify_transit_gateway_attachment_nat_configuration, Seahorse::Model::Operation.new.tap do |o|
27655
+ o.name = "ModifyTransitGatewayAttachmentNatConfiguration"
27656
+ o.http_method = "POST"
27657
+ o.http_request_uri = "/"
27658
+ o.input = Shapes::ShapeRef.new(shape: ModifyTransitGatewayAttachmentNatConfigurationRequest)
27659
+ o.output = Shapes::ShapeRef.new(shape: ModifyTransitGatewayAttachmentNatConfigurationResult)
27660
+ end)
27661
+
27594
27662
  api.add_operation(:modify_transit_gateway_metering_policy, Seahorse::Model::Operation.new.tap do |o|
27595
27663
  o.name = "ModifyTransitGatewayMeteringPolicy"
27596
27664
  o.http_method = "POST"
@@ -49920,6 +49920,54 @@ module Aws::EC2
49920
49920
  include Aws::Structure
49921
49921
  end
49922
49922
 
49923
+ # @!attribute [rw] transit_gateway_attachment_id
49924
+ # The ID of the transit gateway attachment.
49925
+ # @return [String]
49926
+ #
49927
+ # @!attribute [rw] dry_run
49928
+ # Checks whether you have the required permissions for the action,
49929
+ # without actually making the request, and provides an error response.
49930
+ # If you have the required permissions, the error response is
49931
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
49932
+ # @return [Boolean]
49933
+ #
49934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentNatConfigurationRequest AWS API Documentation
49935
+ #
49936
+ class GetTransitGatewayAttachmentNatConfigurationRequest < Struct.new(
49937
+ :transit_gateway_attachment_id,
49938
+ :dry_run)
49939
+ SENSITIVE = []
49940
+ include Aws::Structure
49941
+ end
49942
+
49943
+ # @!attribute [rw] transit_gateway_attachment_id
49944
+ # The ID of the transit gateway attachment.
49945
+ # @return [String]
49946
+ #
49947
+ # @!attribute [rw] nat_gateway_support
49948
+ # The state of NAT gateway support for the attachment.
49949
+ # @return [String]
49950
+ #
49951
+ # @!attribute [rw] nat_system_route_support
49952
+ # Specifies whether the transit gateway installs routes for the NAT
49953
+ # CIDRs in the route tables to which the attachment propagates.
49954
+ # @return [String]
49955
+ #
49956
+ # @!attribute [rw] nat_gateway_rules
49957
+ # The NAT gateway rules for the attachment.
49958
+ # @return [Array<Types::TransitGatewayNatRule>]
49959
+ #
49960
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentNatConfigurationResult AWS API Documentation
49961
+ #
49962
+ class GetTransitGatewayAttachmentNatConfigurationResult < Struct.new(
49963
+ :transit_gateway_attachment_id,
49964
+ :nat_gateway_support,
49965
+ :nat_system_route_support,
49966
+ :nat_gateway_rules)
49967
+ SENSITIVE = []
49968
+ include Aws::Structure
49969
+ end
49970
+
49923
49971
  # @!attribute [rw] transit_gateway_attachment_id
49924
49972
  # The ID of the attachment.
49925
49973
  # @return [String]
@@ -68948,6 +68996,95 @@ module Aws::EC2
68948
68996
  include Aws::Structure
68949
68997
  end
68950
68998
 
68999
+ # @!attribute [rw] transit_gateway_attachment_id
69000
+ # The ID of the transit gateway attachment.
69001
+ # @return [String]
69002
+ #
69003
+ # @!attribute [rw] nat_gateway_support
69004
+ # Specifies whether to enable or disable NAT gateway support for the
69005
+ # attachment. To enable NAT gateway support, the attachment must have
69006
+ # at least one NAT gateway rule. You can't modify the NAT
69007
+ # configuration while NAT gateway support is `enabling` or
69008
+ # `disabling`. If you omit this parameter, the current value doesn't
69009
+ # change.
69010
+ # @return [String]
69011
+ #
69012
+ # @!attribute [rw] nat_system_route_support
69013
+ # Specifies whether the transit gateway installs routes for the NAT
69014
+ # CIDRs in the route tables to which the attachment propagates. For
69015
+ # VPC attachments, the transit gateway always installs these routes.
69016
+ # You can enable or disable this option only for Amazon Web Services
69017
+ # Direct Connect gateway attachments and Site-to-Site VPN attachments
69018
+ # that use dynamic routing. For these attachments, the default is
69019
+ # `enable`. If you omit this parameter, the current value doesn't
69020
+ # change.
69021
+ # @return [String]
69022
+ #
69023
+ # @!attribute [rw] nat_gateway_rules
69024
+ # The NAT gateway rules for the attachment. The rules that you specify
69025
+ # replace all existing NAT gateway rules for the attachment. You can
69026
+ # specify up to 50 rules for an attachment. If you omit this
69027
+ # parameter, the existing rules don't change. To remove all rules,
69028
+ # use `ResetNatGatewayRules`.
69029
+ # @return [Array<Types::TransitGatewayNatRuleRequest>]
69030
+ #
69031
+ # @!attribute [rw] reset_nat_gateway_rules
69032
+ # Specifies whether to remove all NAT gateway rules from the
69033
+ # attachment. If you omit this parameter, the transit gateway doesn't
69034
+ # remove any rules. You can't specify this parameter together with
69035
+ # `NatGatewayRules`. Because you can't enable NAT gateway support
69036
+ # without rules, also set `NatGatewaySupport` to `disable` in the same
69037
+ # request if NAT gateway support is currently enabled.
69038
+ # @return [Boolean]
69039
+ #
69040
+ # @!attribute [rw] dry_run
69041
+ # Checks whether you have the required permissions for the action,
69042
+ # without actually making the request, and provides an error response.
69043
+ # If you have the required permissions, the error response is
69044
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
69045
+ # @return [Boolean]
69046
+ #
69047
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayAttachmentNatConfigurationRequest AWS API Documentation
69048
+ #
69049
+ class ModifyTransitGatewayAttachmentNatConfigurationRequest < Struct.new(
69050
+ :transit_gateway_attachment_id,
69051
+ :nat_gateway_support,
69052
+ :nat_system_route_support,
69053
+ :nat_gateway_rules,
69054
+ :reset_nat_gateway_rules,
69055
+ :dry_run)
69056
+ SENSITIVE = []
69057
+ include Aws::Structure
69058
+ end
69059
+
69060
+ # @!attribute [rw] transit_gateway_attachment_id
69061
+ # The ID of the transit gateway attachment.
69062
+ # @return [String]
69063
+ #
69064
+ # @!attribute [rw] nat_gateway_support
69065
+ # The state of NAT gateway support for the attachment.
69066
+ # @return [String]
69067
+ #
69068
+ # @!attribute [rw] nat_system_route_support
69069
+ # Specifies whether the transit gateway installs routes for the NAT
69070
+ # CIDRs in the route tables to which the attachment propagates.
69071
+ # @return [String]
69072
+ #
69073
+ # @!attribute [rw] nat_gateway_rules
69074
+ # The NAT gateway rules for the attachment.
69075
+ # @return [Array<Types::TransitGatewayNatRule>]
69076
+ #
69077
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayAttachmentNatConfigurationResult AWS API Documentation
69078
+ #
69079
+ class ModifyTransitGatewayAttachmentNatConfigurationResult < Struct.new(
69080
+ :transit_gateway_attachment_id,
69081
+ :nat_gateway_support,
69082
+ :nat_system_route_support,
69083
+ :nat_gateway_rules)
69084
+ SENSITIVE = []
69085
+ include Aws::Structure
69086
+ end
69087
+
68951
69088
  # @!attribute [rw] transit_gateway_metering_policy_id
68952
69089
  # The ID of the transit gateway metering policy to modify.
68953
69090
  # @return [String]
@@ -87408,6 +87545,11 @@ module Aws::EC2
87408
87545
  # The tags for the attachment.
87409
87546
  # @return [Array<Types::Tag>]
87410
87547
  #
87548
+ # @!attribute [rw] nat_gateway_support
87549
+ # The state of NAT gateway support for the attachment. Only the owner
87550
+ # of the transit gateway receives this parameter.
87551
+ # @return [String]
87552
+ #
87411
87553
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TransitGatewayAttachment AWS API Documentation
87412
87554
  #
87413
87555
  class TransitGatewayAttachment < Struct.new(
@@ -87420,7 +87562,8 @@ module Aws::EC2
87420
87562
  :state,
87421
87563
  :association,
87422
87564
  :creation_time,
87423
- :tags)
87565
+ :tags,
87566
+ :nat_gateway_support)
87424
87567
  SENSITIVE = []
87425
87568
  include Aws::Structure
87426
87569
  end
@@ -88208,6 +88351,80 @@ module Aws::EC2
88208
88351
  include Aws::Structure
88209
88352
  end
88210
88353
 
88354
+ # Contains information about a NAT gateway rule for a transit gateway
88355
+ # attachment, including the rule number, the source CIDR block, the
88356
+ # translated CIDR block, and the state of the rule.
88357
+ #
88358
+ # @!attribute [rw] rule_number
88359
+ # The rule number.
88360
+ # @return [Integer]
88361
+ #
88362
+ # @!attribute [rw] match_source_cidr
88363
+ # The IPv4 CIDR block of the source addresses to translate.
88364
+ # @return [String]
88365
+ #
88366
+ # @!attribute [rw] nat_cidr
88367
+ # The IPv4 CIDR block that the transit gateway translates the source
88368
+ # addresses to.
88369
+ # @return [String]
88370
+ #
88371
+ # @!attribute [rw] state
88372
+ # The state of the NAT gateway rule. The possible values are:
88373
+ #
88374
+ # * `pending` - The transit gateway is applying a change to the rule.
88375
+ #
88376
+ # * `activated` - The rule is in effect because NAT gateway support is
88377
+ # enabled for the attachment.
88378
+ #
88379
+ # * `deactivated` - The rule isn't in effect because NAT gateway
88380
+ # support is disabled for the attachment.
88381
+ # @return [String]
88382
+ #
88383
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TransitGatewayNatRule AWS API Documentation
88384
+ #
88385
+ class TransitGatewayNatRule < Struct.new(
88386
+ :rule_number,
88387
+ :match_source_cidr,
88388
+ :nat_cidr,
88389
+ :state)
88390
+ SENSITIVE = []
88391
+ include Aws::Structure
88392
+ end
88393
+
88394
+ # Describes a NAT gateway rule to apply to a transit gateway attachment.
88395
+ # A NAT gateway rule translates source addresses in the
88396
+ # `MatchSourceCidr` range to the corresponding addresses in the
88397
+ # `NatCidr` range.
88398
+ #
88399
+ # @!attribute [rw] rule_number
88400
+ # The rule number. Valid values are 1 to 32766. Each rule number must
88401
+ # be unique within the request.
88402
+ # @return [Integer]
88403
+ #
88404
+ # @!attribute [rw] match_source_cidr
88405
+ # The IPv4 CIDR block of the source addresses to translate. The CIDR
88406
+ # block can't overlap the multicast range (`224.0.0.0/4`) or the
88407
+ # link-local range (`169.254.0.0/16`).
88408
+ # @return [String]
88409
+ #
88410
+ # @!attribute [rw] nat_cidr
88411
+ # The IPv4 CIDR block to translate the source addresses to. The CIDR
88412
+ # block must be in a private (RFC 1918) or shared address space (RFC
88413
+ # 6598) range, and must have the same prefix length as
88414
+ # `MatchSourceCidr`. The CIDR blocks in the rules for an attachment
88415
+ # can't overlap each other.
88416
+ # @return [String]
88417
+ #
88418
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TransitGatewayNatRuleRequest AWS API Documentation
88419
+ #
88420
+ class TransitGatewayNatRuleRequest < Struct.new(
88421
+ :rule_number,
88422
+ :match_source_cidr,
88423
+ :nat_cidr)
88424
+ SENSITIVE = []
88425
+ include Aws::Structure
88426
+ end
88427
+
88211
88428
  # Describes the options for a transit gateway.
88212
88429
  #
88213
88430
  # @!attribute [rw] amazon_side_asn
data/lib/aws-sdk-ec2.rb CHANGED
@@ -78,7 +78,7 @@ module Aws::EC2
78
78
  autoload :VpcPeeringConnection, 'aws-sdk-ec2/vpc_peering_connection'
79
79
  autoload :VpcAddress, 'aws-sdk-ec2/vpc_address'
80
80
 
81
- GEM_VERSION = '1.659.0'
81
+ GEM_VERSION = '1.660.0'
82
82
 
83
83
  end
84
84
 
data/sig/client.rbs CHANGED
@@ -11218,6 +11218,20 @@ module Aws
11218
11218
  ) -> _GetSubnetCidrReservationsResponseSuccess
11219
11219
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetSubnetCidrReservationsResponseSuccess
11220
11220
 
11221
+ interface _GetTransitGatewayAttachmentNatConfigurationResponseSuccess
11222
+ include ::Seahorse::Client::_ResponseSuccess[Types::GetTransitGatewayAttachmentNatConfigurationResult]
11223
+ def transit_gateway_attachment_id: () -> ::String
11224
+ def nat_gateway_support: () -> ("enabled" | "disabled" | "enabling" | "disabling")
11225
+ def nat_system_route_support: () -> ("enable" | "disable")
11226
+ def nat_gateway_rules: () -> ::Array[Types::TransitGatewayNatRule]
11227
+ end
11228
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Client.html#get_transit_gateway_attachment_nat_configuration-instance_method
11229
+ def get_transit_gateway_attachment_nat_configuration: (
11230
+ transit_gateway_attachment_id: ::String,
11231
+ ?dry_run: bool
11232
+ ) -> _GetTransitGatewayAttachmentNatConfigurationResponseSuccess
11233
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetTransitGatewayAttachmentNatConfigurationResponseSuccess
11234
+
11221
11235
  interface _GetTransitGatewayAttachmentPropagationsResponseSuccess
11222
11236
  include ::Seahorse::Client::_ResponseSuccess[Types::GetTransitGatewayAttachmentPropagationsResult]
11223
11237
  def transit_gateway_attachment_propagations: () -> ::Array[Types::TransitGatewayAttachmentPropagation]
@@ -12840,6 +12854,30 @@ module Aws
12840
12854
  ) -> _ModifyTransitGatewayResponseSuccess
12841
12855
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ModifyTransitGatewayResponseSuccess
12842
12856
 
12857
+ interface _ModifyTransitGatewayAttachmentNatConfigurationResponseSuccess
12858
+ include ::Seahorse::Client::_ResponseSuccess[Types::ModifyTransitGatewayAttachmentNatConfigurationResult]
12859
+ def transit_gateway_attachment_id: () -> ::String
12860
+ def nat_gateway_support: () -> ("enabled" | "disabled" | "enabling" | "disabling")
12861
+ def nat_system_route_support: () -> ("enable" | "disable")
12862
+ def nat_gateway_rules: () -> ::Array[Types::TransitGatewayNatRule]
12863
+ end
12864
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Client.html#modify_transit_gateway_attachment_nat_configuration-instance_method
12865
+ def modify_transit_gateway_attachment_nat_configuration: (
12866
+ transit_gateway_attachment_id: ::String,
12867
+ ?nat_gateway_support: ("enable" | "disable"),
12868
+ ?nat_system_route_support: ("enable" | "disable"),
12869
+ ?nat_gateway_rules: Array[
12870
+ {
12871
+ rule_number: ::Integer?,
12872
+ match_source_cidr: ::String?,
12873
+ nat_cidr: ::String?
12874
+ }
12875
+ ],
12876
+ ?reset_nat_gateway_rules: bool,
12877
+ ?dry_run: bool
12878
+ ) -> _ModifyTransitGatewayAttachmentNatConfigurationResponseSuccess
12879
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ModifyTransitGatewayAttachmentNatConfigurationResponseSuccess
12880
+
12843
12881
  interface _ModifyTransitGatewayMeteringPolicyResponseSuccess
12844
12882
  include ::Seahorse::Client::_ResponseSuccess[Types::ModifyTransitGatewayMeteringPolicyResult]
12845
12883
  def transit_gateway_metering_policy: () -> Types::TransitGatewayMeteringPolicy
data/sig/types.rbs CHANGED
@@ -10994,6 +10994,20 @@ module Aws::EC2
10994
10994
  SENSITIVE: []
10995
10995
  end
10996
10996
 
10997
+ class GetTransitGatewayAttachmentNatConfigurationRequest
10998
+ attr_accessor transit_gateway_attachment_id: ::String
10999
+ attr_accessor dry_run: bool
11000
+ SENSITIVE: []
11001
+ end
11002
+
11003
+ class GetTransitGatewayAttachmentNatConfigurationResult
11004
+ attr_accessor transit_gateway_attachment_id: ::String
11005
+ attr_accessor nat_gateway_support: ("enabled" | "disabled" | "enabling" | "disabling")
11006
+ attr_accessor nat_system_route_support: ("enable" | "disable")
11007
+ attr_accessor nat_gateway_rules: ::Array[Types::TransitGatewayNatRule]
11008
+ SENSITIVE: []
11009
+ end
11010
+
10997
11011
  class GetTransitGatewayAttachmentPropagationsRequest
10998
11012
  attr_accessor transit_gateway_attachment_id: ::String
10999
11013
  attr_accessor filters: ::Array[Types::Filter]
@@ -14791,6 +14805,24 @@ module Aws::EC2
14791
14805
  SENSITIVE: []
14792
14806
  end
14793
14807
 
14808
+ class ModifyTransitGatewayAttachmentNatConfigurationRequest
14809
+ attr_accessor transit_gateway_attachment_id: ::String
14810
+ attr_accessor nat_gateway_support: ("enable" | "disable")
14811
+ attr_accessor nat_system_route_support: ("enable" | "disable")
14812
+ attr_accessor nat_gateway_rules: ::Array[Types::TransitGatewayNatRuleRequest]
14813
+ attr_accessor reset_nat_gateway_rules: bool
14814
+ attr_accessor dry_run: bool
14815
+ SENSITIVE: []
14816
+ end
14817
+
14818
+ class ModifyTransitGatewayAttachmentNatConfigurationResult
14819
+ attr_accessor transit_gateway_attachment_id: ::String
14820
+ attr_accessor nat_gateway_support: ("enabled" | "disabled" | "enabling" | "disabling")
14821
+ attr_accessor nat_system_route_support: ("enable" | "disable")
14822
+ attr_accessor nat_gateway_rules: ::Array[Types::TransitGatewayNatRule]
14823
+ SENSITIVE: []
14824
+ end
14825
+
14794
14826
  class ModifyTransitGatewayMeteringPolicyRequest
14795
14827
  attr_accessor transit_gateway_metering_policy_id: ::String
14796
14828
  attr_accessor add_middlebox_attachment_ids: ::Array[::String]
@@ -18763,6 +18795,7 @@ module Aws::EC2
18763
18795
  attr_accessor association: Types::TransitGatewayAttachmentAssociation
18764
18796
  attr_accessor creation_time: ::Time
18765
18797
  attr_accessor tags: ::Array[Types::Tag]
18798
+ attr_accessor nat_gateway_support: ("enabled" | "disabled" | "enabling" | "disabling")
18766
18799
  SENSITIVE: []
18767
18800
  end
18768
18801
 
@@ -18967,6 +19000,21 @@ module Aws::EC2
18967
19000
  SENSITIVE: []
18968
19001
  end
18969
19002
 
19003
+ class TransitGatewayNatRule
19004
+ attr_accessor rule_number: ::Integer
19005
+ attr_accessor match_source_cidr: ::String
19006
+ attr_accessor nat_cidr: ::String
19007
+ attr_accessor state: ("pending" | "activated" | "deactivated" | "deleting")
19008
+ SENSITIVE: []
19009
+ end
19010
+
19011
+ class TransitGatewayNatRuleRequest
19012
+ attr_accessor rule_number: ::Integer
19013
+ attr_accessor match_source_cidr: ::String
19014
+ attr_accessor nat_cidr: ::String
19015
+ SENSITIVE: []
19016
+ end
19017
+
18970
19018
  class TransitGatewayOptions
18971
19019
  attr_accessor amazon_side_asn: ::Integer
18972
19020
  attr_accessor transit_gateway_cidr_blocks: ::Array[::String]
@@ -19104,7 +19152,7 @@ module Aws::EC2
19104
19152
  attr_accessor prefix_list_id: ::String
19105
19153
  attr_accessor transit_gateway_route_table_announcement_id: ::String
19106
19154
  attr_accessor transit_gateway_attachments: ::Array[Types::TransitGatewayRouteAttachment]
19107
- attr_accessor type: ("static" | "propagated")
19155
+ attr_accessor type: ("static" | "propagated" | "system")
19108
19156
  attr_accessor state: ("pending" | "active" | "blackhole" | "deleting" | "deleted")
19109
19157
  SENSITIVE: []
19110
19158
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-ec2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.659.0
4
+ version: 1.660.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services