Skip to content

Commit 1882bab

Browse files
Network Firewall now allows creation of dual stack endpoints, enabling inspection of IPv6 traffic.
1 parent 93d300b commit 1882bab

File tree

9 files changed

+147
-10
lines changed

9 files changed

+147
-10
lines changed

generator/ServiceModels/network-firewall/network-firewall-2020-11-12.api.json

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1106,6 +1106,13 @@
11061106
"DestinationPort":{"shape":"Port"}
11071107
}
11081108
},
1109+
"IPAddressType":{
1110+
"type":"string",
1111+
"enum":[
1112+
"DUALSTACK",
1113+
"IPV4"
1114+
]
1115+
},
11091116
"IPSet":{
11101117
"type":"structure",
11111118
"required":["Definition"],
@@ -1808,7 +1815,8 @@
18081815
"type":"structure",
18091816
"required":["SubnetId"],
18101817
"members":{
1811-
"SubnetId":{"shape":"CollectionMember_String"}
1818+
"SubnetId":{"shape":"CollectionMember_String"},
1819+
"IPAddressType":{"shape":"IPAddressType"}
18121820
}
18131821
},
18141822
"SubnetMappings":{

generator/ServiceModels/network-firewall/network-firewall-2020-11-12.docs.json

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
"AddressDefinition": {
5757
"base": null,
5858
"refs": {
59-
"Address$AddressDefinition": "<p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4. </p> <p>Examples: </p> <ul> <li> <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p> </li> </ul> <p>For more information about CIDR notation, see the Wikipedia entry <a href=\"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing\">Classless Inter-Domain Routing</a>.</p>"
59+
"Address$AddressDefinition": "<p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6. </p> <p>Examples: </p> <ul> <li> <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p> </li> </ul> <p>For more information about CIDR notation, see the Wikipedia entry <a href=\"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing\">Classless Inter-Domain Routing</a>.</p>"
6060
}
6161
},
6262
"Addresses": {
@@ -335,7 +335,7 @@
335335
"Destination": {
336336
"base": null,
337337
"refs": {
338-
"Header$Destination": "<p>The destination IP address or address range to inspect for, in CIDR notation. To match with any address, specify <code>ANY</code>. </p> <p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4. </p> <p>Examples: </p> <ul> <li> <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p> </li> </ul> <p>For more information about CIDR notation, see the Wikipedia entry <a href=\"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing\">Classless Inter-Domain Routing</a>.</p>"
338+
"Header$Destination": "<p>The destination IP address or address range to inspect for, in CIDR notation. To match with any address, specify <code>ANY</code>. </p> <p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6. </p> <p>Examples: </p> <ul> <li> <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p> </li> </ul> <p>For more information about CIDR notation, see the Wikipedia entry <a href=\"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing\">Classless Inter-Domain Routing</a>.</p>"
339339
}
340340
},
341341
"Dimension": {
@@ -504,6 +504,12 @@
504504
"StatefulRule$Header": "<p>The stateful inspection criteria for this rule, used to inspect traffic flows. </p>"
505505
}
506506
},
507+
"IPAddressType": {
508+
"base": null,
509+
"refs": {
510+
"SubnetMapping$IPAddressType": "<p>The subnet's IP address type. You can't change the IP address type after you create the subnet.</p>"
511+
}
512+
},
507513
"IPSet": {
508514
"base": "<p>A list of IP addresses and address ranges, in CIDR notation. This is part of a <a>RuleVariables</a>. </p>",
509515
"refs": {
@@ -1099,7 +1105,7 @@
10991105
"Source": {
11001106
"base": null,
11011107
"refs": {
1102-
"Header$Source": "<p>The source IP address or address range to inspect for, in CIDR notation. To match with any address, specify <code>ANY</code>. </p> <p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4. </p> <p>Examples: </p> <ul> <li> <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p> </li> </ul> <p>For more information about CIDR notation, see the Wikipedia entry <a href=\"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing\">Classless Inter-Domain Routing</a>.</p>"
1108+
"Header$Source": "<p>The source IP address or address range to inspect for, in CIDR notation. To match with any address, specify <code>ANY</code>. </p> <p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6. </p> <p>Examples: </p> <ul> <li> <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p> </li> </ul> <p>For more information about CIDR notation, see the Wikipedia entry <a href=\"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing\">Classless Inter-Domain Routing</a>.</p>"
11031109
}
11041110
},
11051111
"SourceMetadata": {

generator/ServiceModels/network-firewall/network-firewall-2020-11-12.normal.json

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -563,7 +563,7 @@
563563
"members":{
564564
"AddressDefinition":{
565565
"shape":"AddressDefinition",
566-
"documentation":"<p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4. </p> <p>Examples: </p> <ul> <li> <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p> </li> </ul> <p>For more information about CIDR notation, see the Wikipedia entry <a href=\"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing\">Classless Inter-Domain Routing</a>.</p>"
566+
"documentation":"<p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6. </p> <p>Examples: </p> <ul> <li> <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p> </li> </ul> <p>For more information about CIDR notation, see the Wikipedia entry <a href=\"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing\">Classless Inter-Domain Routing</a>.</p>"
567567
}
568568
},
569569
"documentation":"<p>A single IP address specification. This is used in the <a>MatchAttributes</a> source and destination specifications.</p>"
@@ -1596,7 +1596,7 @@
15961596
},
15971597
"Source":{
15981598
"shape":"Source",
1599-
"documentation":"<p>The source IP address or address range to inspect for, in CIDR notation. To match with any address, specify <code>ANY</code>. </p> <p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4. </p> <p>Examples: </p> <ul> <li> <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p> </li> </ul> <p>For more information about CIDR notation, see the Wikipedia entry <a href=\"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing\">Classless Inter-Domain Routing</a>.</p>"
1599+
"documentation":"<p>The source IP address or address range to inspect for, in CIDR notation. To match with any address, specify <code>ANY</code>. </p> <p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6. </p> <p>Examples: </p> <ul> <li> <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p> </li> </ul> <p>For more information about CIDR notation, see the Wikipedia entry <a href=\"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing\">Classless Inter-Domain Routing</a>.</p>"
16001600
},
16011601
"SourcePort":{
16021602
"shape":"Port",
@@ -1608,7 +1608,7 @@
16081608
},
16091609
"Destination":{
16101610
"shape":"Destination",
1611-
"documentation":"<p>The destination IP address or address range to inspect for, in CIDR notation. To match with any address, specify <code>ANY</code>. </p> <p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4. </p> <p>Examples: </p> <ul> <li> <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p> </li> </ul> <p>For more information about CIDR notation, see the Wikipedia entry <a href=\"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing\">Classless Inter-Domain Routing</a>.</p>"
1611+
"documentation":"<p>The destination IP address or address range to inspect for, in CIDR notation. To match with any address, specify <code>ANY</code>. </p> <p>Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6. </p> <p>Examples: </p> <ul> <li> <p>To configure Network Firewall to inspect for the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255, specify <code>192.0.2.0/24</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p> </li> <li> <p>To configure Network Firewall to inspect for IP addresses from 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p> </li> </ul> <p>For more information about CIDR notation, see the Wikipedia entry <a href=\"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing\">Classless Inter-Domain Routing</a>.</p>"
16121612
},
16131613
"DestinationPort":{
16141614
"shape":"Port",
@@ -1617,6 +1617,13 @@
16171617
},
16181618
"documentation":"<p>The basic rule criteria for Network Firewall to use to inspect packet headers in stateful traffic flow inspection. Traffic flows that match the criteria are a match for the corresponding <a>StatefulRule</a>. </p>"
16191619
},
1620+
"IPAddressType":{
1621+
"type":"string",
1622+
"enum":[
1623+
"DUALSTACK",
1624+
"IPV4"
1625+
]
1626+
},
16201627
"IPSet":{
16211628
"type":"structure",
16221629
"required":["Definition"],
@@ -2640,6 +2647,10 @@
26402647
"SubnetId":{
26412648
"shape":"CollectionMember_String",
26422649
"documentation":"<p>The unique identifier for the subnet. </p>"
2650+
},
2651+
"IPAddressType":{
2652+
"shape":"IPAddressType",
2653+
"documentation":"<p>The subnet's IP address type. You can't change the IP address type after you create the subnet.</p>"
26432654
}
26442655
},
26452656
"documentation":"<p>The ID for a subnet that you want to associate with the firewall. This is used with <a>CreateFirewall</a> and <a>AssociateSubnets</a>. Network Firewall creates an instance of the associated firewall in each subnet that you specify, to filter traffic in the subnet's Availability Zone.</p>"

sdk/src/Services/NetworkFirewall/Generated/Model/Address.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public partial class Address
4040
/// Gets and sets the property AddressDefinition.
4141
/// <para>
4242
/// Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing
43-
/// (CIDR) notation. Network Firewall supports all address ranges for IPv4.
43+
/// (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6.
4444
/// </para>
4545
///
4646
/// <para>
@@ -55,6 +55,16 @@ public partial class Address
5555
/// To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255,
5656
/// specify <code>192.0.2.0/24</code>.
5757
/// </para>
58+
/// </li> <li>
59+
/// <para>
60+
/// To configure Network Firewall to inspect for the IP address 1111:0000:0000:0000:0000:0000:0000:0111,
61+
/// specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.
62+
/// </para>
63+
/// </li> <li>
64+
/// <para>
65+
/// To configure Network Firewall to inspect for IP addresses from 1111:0000:0000:0000:0000:0000:0000:0000
66+
/// to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.
67+
/// </para>
5868
/// </li> </ul>
5969
/// <para>
6070
/// For more information about CIDR notation, see the Wikipedia entry <a href="https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">Classless

sdk/src/Services/NetworkFirewall/Generated/Model/Header.cs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public partial class Header
5151
///
5252
/// <para>
5353
/// Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing
54-
/// (CIDR) notation. Network Firewall supports all address ranges for IPv4.
54+
/// (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6.
5555
/// </para>
5656
///
5757
/// <para>
@@ -66,6 +66,16 @@ public partial class Header
6666
/// To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255,
6767
/// specify <code>192.0.2.0/24</code>.
6868
/// </para>
69+
/// </li> <li>
70+
/// <para>
71+
/// To configure Network Firewall to inspect for the IP address 1111:0000:0000:0000:0000:0000:0000:0111,
72+
/// specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.
73+
/// </para>
74+
/// </li> <li>
75+
/// <para>
76+
/// To configure Network Firewall to inspect for IP addresses from 1111:0000:0000:0000:0000:0000:0000:0000
77+
/// to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.
78+
/// </para>
6979
/// </li> </ul>
7080
/// <para>
7181
/// For more information about CIDR notation, see the Wikipedia entry <a href="https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">Classless
@@ -157,7 +167,7 @@ internal bool IsSetProtocol()
157167
///
158168
/// <para>
159169
/// Specify an IP address or a block of IP addresses in Classless Inter-Domain Routing
160-
/// (CIDR) notation. Network Firewall supports all address ranges for IPv4.
170+
/// (CIDR) notation. Network Firewall supports all address ranges for IPv4 and IPv6.
161171
/// </para>
162172
///
163173
/// <para>
@@ -172,6 +182,16 @@ internal bool IsSetProtocol()
172182
/// To configure Network Firewall to inspect for IP addresses from 192.0.2.0 to 192.0.2.255,
173183
/// specify <code>192.0.2.0/24</code>.
174184
/// </para>
185+
/// </li> <li>
186+
/// <para>
187+
/// To configure Network Firewall to inspect for the IP address 1111:0000:0000:0000:0000:0000:0000:0111,
188+
/// specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.
189+
/// </para>
190+
/// </li> <li>
191+
/// <para>
192+
/// To configure Network Firewall to inspect for IP addresses from 1111:0000:0000:0000:0000:0000:0000:0000
193+
/// to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.
194+
/// </para>
175195
/// </li> </ul>
176196
/// <para>
177197
/// For more information about CIDR notation, see the Wikipedia entry <a href="https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">Classless

sdk/src/Services/NetworkFirewall/Generated/Model/Internal/MarshallTransformations/SubnetMappingMarshaller.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@ public class SubnetMappingMarshaller : IRequestMarshaller<SubnetMapping, JsonMar
4545
/// <returns></returns>
4646
public void Marshall(SubnetMapping requestObject, JsonMarshallerContext context)
4747
{
48+
if(requestObject.IsSetIPAddressType())
49+
{
50+
context.Writer.WritePropertyName("IPAddressType");
51+
context.Writer.Write(requestObject.IPAddressType);
52+
}
53+
4854
if(requestObject.IsSetSubnetId())
4955
{
5056
context.Writer.WritePropertyName("SubnetId");

0 commit comments

Comments
 (0)