Skip to content

Commit f8b5681

Browse files
You can now create firewalls using a Transit Gateway instead of a VPC, resulting in a TGW attachment.
1 parent 6c1a0a9 commit f8b5681

File tree

53 files changed

+7497
-78
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+7497
-78
lines changed

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

Lines changed: 285 additions & 6 deletions
Large diffs are not rendered by default.

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

Lines changed: 157 additions & 5 deletions
Large diffs are not rendered by default.

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

Lines changed: 434 additions & 6 deletions
Large diffs are not rendered by default.

sdk/code-analysis/ServiceAnalysis/NetworkFirewall/Generated/PropertyValueRules.xml

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,53 @@
11
<?xml version="1.0" encoding="utf-16"?>
22
<property-value-rules>
3+
<property-value-rule>
4+
<property>Amazon.NetworkFirewall.Model.AcceptNetworkFirewallTransitGatewayAttachmentRequest.TransitGatewayAttachmentId</property>
5+
<min>1</min>
6+
<max>128</max>
7+
<pattern>^tgw-attach-[0-9a-z]+$</pattern>
8+
</property-value-rule>
9+
<property-value-rule>
10+
<property>Amazon.NetworkFirewall.Model.AcceptNetworkFirewallTransitGatewayAttachmentResponse.TransitGatewayAttachmentId</property>
11+
<min>1</min>
12+
<max>128</max>
13+
<pattern>^tgw-attach-[0-9a-z]+$</pattern>
14+
</property-value-rule>
15+
<property-value-rule>
16+
<property>Amazon.NetworkFirewall.Model.AssociateAvailabilityZonesRequest.FirewallArn</property>
17+
<min>1</min>
18+
<max>256</max>
19+
<pattern>^arn:aws.*</pattern>
20+
</property-value-rule>
21+
<property-value-rule>
22+
<property>Amazon.NetworkFirewall.Model.AssociateAvailabilityZonesRequest.FirewallName</property>
23+
<min>1</min>
24+
<max>128</max>
25+
<pattern>^[a-zA-Z0-9-]+$</pattern>
26+
</property-value-rule>
27+
<property-value-rule>
28+
<property>Amazon.NetworkFirewall.Model.AssociateAvailabilityZonesRequest.UpdateToken</property>
29+
<min>1</min>
30+
<max>1024</max>
31+
<pattern>^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$</pattern>
32+
</property-value-rule>
33+
<property-value-rule>
34+
<property>Amazon.NetworkFirewall.Model.AssociateAvailabilityZonesResponse.FirewallArn</property>
35+
<min>1</min>
36+
<max>256</max>
37+
<pattern>^arn:aws.*</pattern>
38+
</property-value-rule>
39+
<property-value-rule>
40+
<property>Amazon.NetworkFirewall.Model.AssociateAvailabilityZonesResponse.FirewallName</property>
41+
<min>1</min>
42+
<max>128</max>
43+
<pattern>^[a-zA-Z0-9-]+$</pattern>
44+
</property-value-rule>
45+
<property-value-rule>
46+
<property>Amazon.NetworkFirewall.Model.AssociateAvailabilityZonesResponse.UpdateToken</property>
47+
<min>1</min>
48+
<max>1024</max>
49+
<pattern>^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$</pattern>
50+
</property-value-rule>
351
<property-value-rule>
452
<property>Amazon.NetworkFirewall.Model.AssociateFirewallPolicyRequest.FirewallArn</property>
553
<min>1</min>
@@ -101,6 +149,12 @@
101149
<max>256</max>
102150
<pattern>^arn:aws.*</pattern>
103151
</property-value-rule>
152+
<property-value-rule>
153+
<property>Amazon.NetworkFirewall.Model.CreateFirewallRequest.TransitGatewayId</property>
154+
<min>1</min>
155+
<max>128</max>
156+
<pattern>^tgw-[0-9a-z]+$</pattern>
157+
</property-value-rule>
104158
<property-value-rule>
105159
<property>Amazon.NetworkFirewall.Model.CreateFirewallRequest.VpcId</property>
106160
<min>1</min>
@@ -204,6 +258,18 @@
204258
<max>128</max>
205259
<pattern>^[a-zA-Z0-9-]+$</pattern>
206260
</property-value-rule>
261+
<property-value-rule>
262+
<property>Amazon.NetworkFirewall.Model.DeleteNetworkFirewallTransitGatewayAttachmentRequest.TransitGatewayAttachmentId</property>
263+
<min>1</min>
264+
<max>128</max>
265+
<pattern>^tgw-attach-[0-9a-z]+$</pattern>
266+
</property-value-rule>
267+
<property-value-rule>
268+
<property>Amazon.NetworkFirewall.Model.DeleteNetworkFirewallTransitGatewayAttachmentResponse.TransitGatewayAttachmentId</property>
269+
<min>1</min>
270+
<max>128</max>
271+
<pattern>^tgw-attach-[0-9a-z]+$</pattern>
272+
</property-value-rule>
207273
<property-value-rule>
208274
<property>Amazon.NetworkFirewall.Model.DeleteResourcePolicyRequest.ResourceArn</property>
209275
<min>1</min>
@@ -281,6 +347,12 @@
281347
<max>256</max>
282348
<pattern>^arn:aws.*</pattern>
283349
</property-value-rule>
350+
<property-value-rule>
351+
<property>Amazon.NetworkFirewall.Model.DescribeFirewallMetadataResponse.TransitGatewayAttachmentId</property>
352+
<min>1</min>
353+
<max>128</max>
354+
<pattern>^tgw-attach-[0-9a-z]+$</pattern>
355+
</property-value-rule>
284356
<property-value-rule>
285357
<property>Amazon.NetworkFirewall.Model.DescribeFirewallPolicyRequest.FirewallPolicyArn</property>
286358
<min>1</min>
@@ -454,6 +526,42 @@
454526
<max>256</max>
455527
<pattern>^arn:aws.*</pattern>
456528
</property-value-rule>
529+
<property-value-rule>
530+
<property>Amazon.NetworkFirewall.Model.DisassociateAvailabilityZonesRequest.FirewallArn</property>
531+
<min>1</min>
532+
<max>256</max>
533+
<pattern>^arn:aws.*</pattern>
534+
</property-value-rule>
535+
<property-value-rule>
536+
<property>Amazon.NetworkFirewall.Model.DisassociateAvailabilityZonesRequest.FirewallName</property>
537+
<min>1</min>
538+
<max>128</max>
539+
<pattern>^[a-zA-Z0-9-]+$</pattern>
540+
</property-value-rule>
541+
<property-value-rule>
542+
<property>Amazon.NetworkFirewall.Model.DisassociateAvailabilityZonesRequest.UpdateToken</property>
543+
<min>1</min>
544+
<max>1024</max>
545+
<pattern>^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$</pattern>
546+
</property-value-rule>
547+
<property-value-rule>
548+
<property>Amazon.NetworkFirewall.Model.DisassociateAvailabilityZonesResponse.FirewallArn</property>
549+
<min>1</min>
550+
<max>256</max>
551+
<pattern>^arn:aws.*</pattern>
552+
</property-value-rule>
553+
<property-value-rule>
554+
<property>Amazon.NetworkFirewall.Model.DisassociateAvailabilityZonesResponse.FirewallName</property>
555+
<min>1</min>
556+
<max>128</max>
557+
<pattern>^[a-zA-Z0-9-]+$</pattern>
558+
</property-value-rule>
559+
<property-value-rule>
560+
<property>Amazon.NetworkFirewall.Model.DisassociateAvailabilityZonesResponse.UpdateToken</property>
561+
<min>1</min>
562+
<max>1024</max>
563+
<pattern>^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$</pattern>
564+
</property-value-rule>
457565
<property-value-rule>
458566
<property>Amazon.NetworkFirewall.Model.DisassociateSubnetsRequest.FirewallArn</property>
459567
<min>1</min>
@@ -784,6 +892,18 @@
784892
<max>256</max>
785893
<pattern>^arn:aws.*</pattern>
786894
</property-value-rule>
895+
<property-value-rule>
896+
<property>Amazon.NetworkFirewall.Model.RejectNetworkFirewallTransitGatewayAttachmentRequest.TransitGatewayAttachmentId</property>
897+
<min>1</min>
898+
<max>128</max>
899+
<pattern>^tgw-attach-[0-9a-z]+$</pattern>
900+
</property-value-rule>
901+
<property-value-rule>
902+
<property>Amazon.NetworkFirewall.Model.RejectNetworkFirewallTransitGatewayAttachmentResponse.TransitGatewayAttachmentId</property>
903+
<min>1</min>
904+
<max>128</max>
905+
<pattern>^tgw-attach-[0-9a-z]+$</pattern>
906+
</property-value-rule>
787907
<property-value-rule>
788908
<property>Amazon.NetworkFirewall.Model.StartAnalysisReportRequest.FirewallArn</property>
789909
<min>1</min>
@@ -874,6 +994,42 @@
874994
<max>256</max>
875995
<pattern>^arn:aws.*</pattern>
876996
</property-value-rule>
997+
<property-value-rule>
998+
<property>Amazon.NetworkFirewall.Model.UpdateAvailabilityZoneChangeProtectionRequest.FirewallArn</property>
999+
<min>1</min>
1000+
<max>256</max>
1001+
<pattern>^arn:aws.*</pattern>
1002+
</property-value-rule>
1003+
<property-value-rule>
1004+
<property>Amazon.NetworkFirewall.Model.UpdateAvailabilityZoneChangeProtectionRequest.FirewallName</property>
1005+
<min>1</min>
1006+
<max>128</max>
1007+
<pattern>^[a-zA-Z0-9-]+$</pattern>
1008+
</property-value-rule>
1009+
<property-value-rule>
1010+
<property>Amazon.NetworkFirewall.Model.UpdateAvailabilityZoneChangeProtectionRequest.UpdateToken</property>
1011+
<min>1</min>
1012+
<max>1024</max>
1013+
<pattern>^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$</pattern>
1014+
</property-value-rule>
1015+
<property-value-rule>
1016+
<property>Amazon.NetworkFirewall.Model.UpdateAvailabilityZoneChangeProtectionResponse.FirewallArn</property>
1017+
<min>1</min>
1018+
<max>256</max>
1019+
<pattern>^arn:aws.*</pattern>
1020+
</property-value-rule>
1021+
<property-value-rule>
1022+
<property>Amazon.NetworkFirewall.Model.UpdateAvailabilityZoneChangeProtectionResponse.FirewallName</property>
1023+
<min>1</min>
1024+
<max>128</max>
1025+
<pattern>^[a-zA-Z0-9-]+$</pattern>
1026+
</property-value-rule>
1027+
<property-value-rule>
1028+
<property>Amazon.NetworkFirewall.Model.UpdateAvailabilityZoneChangeProtectionResponse.UpdateToken</property>
1029+
<min>1</min>
1030+
<max>1024</max>
1031+
<pattern>^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$</pattern>
1032+
</property-value-rule>
8771033
<property-value-rule>
8781034
<property>Amazon.NetworkFirewall.Model.UpdateFirewallAnalysisSettingsRequest.FirewallArn</property>
8791035
<min>1</min>
@@ -1234,6 +1390,12 @@
12341390
<max>128</max>
12351391
<pattern>^subnet-[0-9a-f]+$</pattern>
12361392
</property-value-rule>
1393+
<property-value-rule>
1394+
<property>Amazon.NetworkFirewall.Model.AvailabilityZoneMapping.AvailabilityZone</property>
1395+
<min>1</min>
1396+
<max>128</max>
1397+
<pattern>\S+</pattern>
1398+
</property-value-rule>
12371399
<property-value-rule>
12381400
<property>Amazon.NetworkFirewall.Model.CIDRSummary.AvailableCIDRCount</property>
12391401
<min>0</min>
@@ -1291,6 +1453,18 @@
12911453
<max>256</max>
12921454
<pattern>^arn:aws.*</pattern>
12931455
</property-value-rule>
1456+
<property-value-rule>
1457+
<property>Amazon.NetworkFirewall.Model.Firewall.TransitGatewayId</property>
1458+
<min>1</min>
1459+
<max>128</max>
1460+
<pattern>^tgw-[0-9a-z]+$</pattern>
1461+
</property-value-rule>
1462+
<property-value-rule>
1463+
<property>Amazon.NetworkFirewall.Model.Firewall.TransitGatewayOwnerAccountId</property>
1464+
<min>12</min>
1465+
<max>12</max>
1466+
<pattern>^\d{12}$</pattern>
1467+
</property-value-rule>
12941468
<property-value-rule>
12951469
<property>Amazon.NetworkFirewall.Model.Firewall.VpcId</property>
12961470
<min>1</min>
@@ -1309,6 +1483,12 @@
13091483
<max>128</max>
13101484
<pattern>^[a-zA-Z0-9-]+$</pattern>
13111485
</property-value-rule>
1486+
<property-value-rule>
1487+
<property>Amazon.NetworkFirewall.Model.FirewallMetadata.TransitGatewayAttachmentId</property>
1488+
<min>1</min>
1489+
<max>128</max>
1490+
<pattern>^tgw-attach-[0-9a-z]+$</pattern>
1491+
</property-value-rule>
13121492
<property-value-rule>
13131493
<property>Amazon.NetworkFirewall.Model.FirewallPolicy.TLSInspectionConfigurationArn</property>
13141494
<min>1</min>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
/*
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
/*
17+
* Do not modify this file. This file is generated from the network-firewall-2020-11-12.normal.json service model.
18+
*/
19+
using System;
20+
using System.Collections.Generic;
21+
using System.Xml.Serialization;
22+
using System.Text;
23+
using System.IO;
24+
using System.Net;
25+
26+
using Amazon.Runtime;
27+
using Amazon.Runtime.Internal;
28+
29+
#pragma warning disable CS0612,CS0618,CS1570
30+
namespace Amazon.NetworkFirewall.Model
31+
{
32+
/// <summary>
33+
/// Container for the parameters to the AcceptNetworkFirewallTransitGatewayAttachment operation.
34+
/// Accepts a transit gateway attachment request for Network Firewall. When you accept
35+
/// the attachment request, Network Firewall creates the necessary routing components
36+
/// to enable traffic flow between the transit gateway and firewall endpoints.
37+
///
38+
///
39+
/// <para>
40+
/// You must accept a transit gateway attachment to complete the creation of a transit
41+
/// gateway-attached firewall, unless auto-accept is enabled on the transit gateway. After
42+
/// acceptance, use <a>DescribeFirewall</a> to verify the firewall status.
43+
/// </para>
44+
///
45+
/// <para>
46+
/// To reject an attachment instead of accepting it, use <a>RejectNetworkFirewallTransitGatewayAttachment</a>.
47+
/// </para>
48+
/// <note>
49+
/// <para>
50+
/// It can take several minutes for the attachment acceptance to complete and the firewall
51+
/// to become available.
52+
/// </para>
53+
/// </note>
54+
/// </summary>
55+
public partial class AcceptNetworkFirewallTransitGatewayAttachmentRequest : AmazonNetworkFirewallRequest
56+
{
57+
private string _transitGatewayAttachmentId;
58+
59+
/// <summary>
60+
/// Gets and sets the property TransitGatewayAttachmentId.
61+
/// <para>
62+
/// Required. The unique identifier of the transit gateway attachment to accept. This
63+
/// ID is returned in the response when creating a transit gateway-attached firewall.
64+
/// </para>
65+
/// </summary>
66+
[AWSProperty(Required=true, Min=1, Max=128)]
67+
public string TransitGatewayAttachmentId
68+
{
69+
get { return this._transitGatewayAttachmentId; }
70+
set { this._transitGatewayAttachmentId = value; }
71+
}
72+
73+
// Check to see if TransitGatewayAttachmentId property is set
74+
internal bool IsSetTransitGatewayAttachmentId()
75+
{
76+
return this._transitGatewayAttachmentId != null;
77+
}
78+
79+
}
80+
}

0 commit comments

Comments
 (0)