@drunk-pulumi/azure 0.0.37 → 0.0.39

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.
Files changed (186) hide show
  1. package/Aks/Helper.d.ts +6 -11
  2. package/Aks/Helper.js +40 -65
  3. package/Aks/Identity.d.ts +3 -10
  4. package/Aks/Identity.js +9 -8
  5. package/Aks/index.d.ts +67 -71
  6. package/Aks/index.js +198 -314
  7. package/Apim/ApiProduct/PolicyBuilder.js +25 -27
  8. package/Apim/ApiProduct/SwaggerHelper.js +1 -3
  9. package/Apim/ApiProduct/index.d.ts +3 -3
  10. package/Apim/ApiProduct/index.js +1 -2
  11. package/Automation/index.d.ts +7 -0
  12. package/Automation/index.js +55 -0
  13. package/AzAd/EnvRoles.Consts.d.ts +12 -0
  14. package/AzAd/EnvRoles.Consts.js +125 -0
  15. package/AzAd/EnvRoles.d.ts +17 -15
  16. package/AzAd/EnvRoles.js +69 -47
  17. package/AzAd/GraphDefinition.d.ts +2 -2
  18. package/AzAd/GraphDefinition.js +3055 -3056
  19. package/AzAd/Helper.d.ts +24 -13
  20. package/AzAd/Helper.js +98 -25
  21. package/AzAd/Identities/AzDevOpsIdentity.d.ts +12 -0
  22. package/AzAd/Identities/AzDevOpsIdentity.js +32 -0
  23. package/AzAd/Identities/AzDevOpsManagedIdentity.d.ts +7 -0
  24. package/AzAd/Identities/AzDevOpsManagedIdentity.js +15 -0
  25. package/AzAd/Identities/AzUserAdRevertSync.d.ts +2 -9
  26. package/AzAd/Identities/AzUserAdRevertSync.js +4 -5
  27. package/AzAd/Identities/index.d.ts +3 -0
  28. package/AzAd/Identities/index.js +10 -0
  29. package/AzAd/Identity.d.ts +10 -22
  30. package/AzAd/Identity.js +50 -61
  31. package/AzAd/Role.d.ts +2 -3
  32. package/AzAd/Role.js +4 -5
  33. package/AzAd/RoleAssignment.d.ts +34 -5
  34. package/AzAd/RoleAssignment.js +2 -2
  35. package/AzAd/RoleDefinitions/JustInTimeRequestRole.d.ts +2 -0
  36. package/AzAd/RoleDefinitions/JustInTimeRequestRole.js +24 -0
  37. package/AzAd/RolesBuiltIn.d.ts +29 -0
  38. package/AzAd/RolesBuiltIn.js +13034 -8058
  39. package/AzAd/UserAssignedIdentity.d.ts +6 -0
  40. package/AzAd/UserAssignedIdentity.js +27 -0
  41. package/Builder/AksBuilder.d.ts +3 -0
  42. package/Builder/AksBuilder.js +95 -0
  43. package/Builder/ResourceBuilder.d.ts +3 -0
  44. package/Builder/ResourceBuilder.js +116 -0
  45. package/Builder/VnetBuilder.d.ts +3 -0
  46. package/Builder/VnetBuilder.js +279 -0
  47. package/Builder/index.d.ts +4 -0
  48. package/Builder/index.js +21 -0
  49. package/Builder/types/askBuilder.d.ts +32 -0
  50. package/Builder/types/askBuilder.js +3 -0
  51. package/Builder/types/genericBuilder.d.ts +26 -0
  52. package/Builder/types/genericBuilder.js +18 -0
  53. package/Builder/types/index.d.ts +4 -0
  54. package/Builder/types/index.js +21 -0
  55. package/Builder/types/resourceBuilder.d.ts +24 -0
  56. package/Builder/types/resourceBuilder.js +3 -0
  57. package/Builder/types/vnetBuilder.d.ts +65 -0
  58. package/Builder/types/vnetBuilder.js +3 -0
  59. package/Certificate/index.d.ts +1 -1
  60. package/Certificate/index.js +26 -28
  61. package/Common/AutoTags.js +2 -2
  62. package/Common/AzureEnv.d.ts +4 -3
  63. package/Common/AzureEnv.js +31 -24
  64. package/Common/GlobalEnv.d.ts +1 -2
  65. package/Common/GlobalEnv.js +7 -7
  66. package/Common/Location.d.ts +3 -3
  67. package/Common/Location.js +22 -9
  68. package/Common/LocationBuiltIn.d.ts +6 -81
  69. package/Common/LocationBuiltIn.js +491 -1923
  70. package/Common/Naming/index.d.ts +6 -4
  71. package/Common/Naming/index.js +64 -60
  72. package/Common/ResourceEnv.d.ts +2 -2
  73. package/Common/ResourceEnv.js +11 -10
  74. package/Common/StackEnv.js +2 -9
  75. package/Core/KeyGenetators.d.ts +16 -20
  76. package/Core/KeyGenetators.js +17 -16
  77. package/Core/Random.d.ts +4 -4
  78. package/Core/Random.js +10 -10
  79. package/Core/ResourceGroup.d.ts +13 -6
  80. package/Core/ResourceGroup.js +12 -24
  81. package/IOT/Hub/index.d.ts +4 -8
  82. package/IOT/Hub/index.js +19 -54
  83. package/KeyVault/Helper.d.ts +8 -6
  84. package/KeyVault/Helper.js +13 -19
  85. package/KeyVault/index.d.ts +1 -3
  86. package/KeyVault/index.js +2 -26
  87. package/Logs/Helpers.d.ts +35 -25
  88. package/Logs/Helpers.js +33 -20
  89. package/Logs/LogAnalytics.d.ts +2 -2
  90. package/Logs/LogAnalytics.js +15 -6
  91. package/Logs/index.d.ts +3 -3
  92. package/Logs/index.js +4 -4
  93. package/MySql/index.d.ts +2 -3
  94. package/MySql/index.js +16 -19
  95. package/{ReadMe.md → README.md} +6 -1
  96. package/Sql/index.d.ts +15 -9
  97. package/Sql/index.js +39 -41
  98. package/Storage/CdnEndpoint.d.ts +2 -2
  99. package/Storage/CdnEndpoint.js +14 -15
  100. package/Storage/Helper.d.ts +2 -2
  101. package/Storage/Helper.js +6 -6
  102. package/Storage/ManagementRules.d.ts +5 -23
  103. package/Storage/ManagementRules.js +3 -3
  104. package/Storage/index.d.ts +3 -3
  105. package/Storage/index.js +28 -28
  106. package/VM/AzureDevOpsExtension.d.ts +16 -0
  107. package/VM/AzureDevOpsExtension.js +14 -0
  108. package/VM/Extension.d.ts +15 -0
  109. package/VM/Extension.js +13 -0
  110. package/VM/GlobalSchedule.d.ts +10 -0
  111. package/VM/GlobalSchedule.js +20 -0
  112. package/VM/index.d.ts +18 -18
  113. package/VM/index.js +94 -57
  114. package/VNet/Bastion.d.ts +4 -4
  115. package/VNet/Bastion.js +12 -8
  116. package/VNet/Firewall.d.ts +19 -12
  117. package/VNet/Firewall.js +59 -40
  118. package/VNet/FirewallPolicies/AksFirewallPolicy.d.ts +16 -16
  119. package/VNet/FirewallPolicies/AksFirewallPolicy.js +193 -220
  120. package/VNet/FirewallPolicies/CloudPCFirewallPolicy.d.ts +12 -10
  121. package/VNet/FirewallPolicies/CloudPCFirewallPolicy.js +170 -282
  122. package/VNet/FirewallPolicies/DefaultFirewallPolicy.d.ts +3 -0
  123. package/VNet/FirewallPolicies/DefaultFirewallPolicy.js +25 -0
  124. package/VNet/FirewallPolicies/index.d.ts +4 -0
  125. package/VNet/FirewallPolicies/index.js +10 -0
  126. package/VNet/FirewallPolicy.d.ts +14 -11
  127. package/VNet/FirewallPolicy.js +67 -74
  128. package/VNet/FirewallRules/AksFirewallRules.d.ts +4 -3
  129. package/VNet/FirewallRules/AksFirewallRules.js +101 -100
  130. package/VNet/Helper.d.ts +8 -4
  131. package/VNet/Helper.js +42 -35
  132. package/VNet/IpAddress.d.ts +6 -8
  133. package/VNet/IpAddress.js +6 -11
  134. package/VNet/IpAddressPrefix.d.ts +12 -9
  135. package/VNet/IpAddressPrefix.js +14 -13
  136. package/VNet/NSGRules/AppGatewaySecurityRule.d.ts +9 -0
  137. package/VNet/NSGRules/AppGatewaySecurityRule.js +46 -0
  138. package/VNet/NSGRules/AzADSecurityRule.d.ts +6 -0
  139. package/VNet/NSGRules/AzADSecurityRule.js +39 -0
  140. package/VNet/NSGRules/BastionSecurityRule.d.ts +9 -0
  141. package/VNet/NSGRules/BastionSecurityRule.js +93 -0
  142. package/VNet/NatGateway.d.ts +10 -0
  143. package/VNet/NatGateway.js +21 -0
  144. package/VNet/NetworkPeering.d.ts +7 -7
  145. package/VNet/NetworkPeering.js +29 -20
  146. package/VNet/PrivateDns.d.ts +8 -10
  147. package/VNet/PrivateDns.js +12 -14
  148. package/VNet/PrivateEndpoint.js +5 -2
  149. package/VNet/RouteTable.d.ts +7 -8
  150. package/VNet/RouteTable.js +6 -6
  151. package/VNet/SecurityGroup.d.ts +4 -4
  152. package/VNet/SecurityGroup.js +7 -3
  153. package/VNet/Subnet.d.ts +10 -7
  154. package/VNet/Subnet.js +4 -3
  155. package/VNet/VPNGateway.d.ts +13 -0
  156. package/VNet/VPNGateway.js +73 -0
  157. package/VNet/VirtualWAN.d.ts +7 -10
  158. package/VNet/VirtualWAN.js +1 -1
  159. package/VNet/Vnet.d.ts +29 -23
  160. package/VNet/Vnet.js +58 -121
  161. package/VNet/index.d.ts +17 -18
  162. package/VNet/index.js +41 -54
  163. package/VNet/types.d.ts +94 -0
  164. package/VNet/types.js +3 -0
  165. package/Web/types.d.ts +2 -134
  166. package/package.json +8 -8
  167. package/types.d.ts +22 -8
  168. package/z_tests/_tools/Mocks.js +12 -13
  169. package/Automation/AutoAccount.d.ts +0 -5
  170. package/Automation/AutoAccount.js +0 -18
  171. package/AzAd/Identities/AzDevOps.d.ts +0 -23
  172. package/AzAd/Identities/AzDevOps.js +0 -61
  173. package/AzAd/KeyVaultRoles.d.ts +0 -8
  174. package/AzAd/KeyVaultRoles.js +0 -53
  175. package/AzAd/ManagedIdentity.d.ts +0 -6
  176. package/AzAd/ManagedIdentity.js +0 -20
  177. package/AzAd/UserIdentity.d.ts +0 -5
  178. package/AzAd/UserIdentity.js +0 -12
  179. package/Common/Naming/AzureRegions.d.ts +0 -4
  180. package/Common/Naming/AzureRegions.js +0 -49
  181. package/KeyVault/VaultPermissions.d.ts +0 -27
  182. package/KeyVault/VaultPermissions.js +0 -226
  183. package/VNet/FirewallRules/types.d.ts +0 -20
  184. package/VNet/FirewallRules/types.js +0 -5
  185. package/VNet/NSGRules/AzADService.d.ts +0 -10
  186. package/VNet/NSGRules/AzADService.js +0 -45
@@ -1,241 +1,214 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const pulumi_1 = require("@pulumi/pulumi");
4
- const Location_1 = require("../../Common/Location");
5
- exports.default = ({ name, location, privateCluster, allowAccessPublicRegistries, vnetAddressSpace, natRule, }) => {
6
- location = (0, Location_1.getLocation)(location);
3
+ const AzureEnv_1 = require("../../Common/AzureEnv");
4
+ const FirewallPolicy_1 = require("../FirewallPolicy");
5
+ exports.default = ({ priority, allowAccessPublicRegistries, subnetSpaces, dNATs, }) => {
7
6
  const dnatRules = new Array();
8
7
  const netRules = new Array();
9
8
  const appRules = new Array();
10
- if (natRule.apim) {
11
- dnatRules.push({
12
- ruleType: 'NatRule',
13
- name: 'apim-inbound-443',
14
- description: 'Forward APIM inbound port 443 to api IP of Ingress',
15
- sourceAddresses: [natRule.apim.apimPublicIpAddress],
16
- destinationAddresses: [natRule.publicIpAddress],
17
- destinationPorts: ['443'],
18
- ipProtocols: ['TCP'],
19
- translatedAddress: natRule.apim.internalIpAddress,
20
- translatedPort: '443',
9
+ if (dNATs) {
10
+ dNATs.forEach((nat) => {
11
+ dnatRules.push({
12
+ ruleType: "NatRule",
13
+ name: `${nat.name}-inbound-443`,
14
+ description: `Forward port 443 external IpAddress of ${nat.name} to internal IpAddress`,
15
+ sourceAddresses: [nat.sourceIpAddress ?? "*"],
16
+ destinationAddresses: nat.publicIpAddresses,
17
+ destinationPorts: ["443"],
18
+ ipProtocols: ["TCP"],
19
+ translatedAddress: nat.internalIpAddress,
20
+ translatedPort: "443",
21
+ });
22
+ if (nat.allowHttp)
23
+ dnatRules.push({
24
+ ruleType: "NatRule",
25
+ name: `${nat.name}-inbound-80`,
26
+ description: `Forward port 80 external IpAddress of ${nat.name} to internal IpAddress`,
27
+ sourceAddresses: [nat.sourceIpAddress ?? "*"],
28
+ destinationAddresses: nat.publicIpAddresses,
29
+ destinationPorts: ["80"],
30
+ ipProtocols: ["TCP"],
31
+ translatedAddress: nat.internalIpAddress,
32
+ translatedPort: "80",
33
+ });
21
34
  });
22
35
  }
23
- dnatRules.push({
24
- ruleType: 'NatRule',
25
- name: 'public-inbound-443',
26
- description: 'Forward public inbound port 443 to api IP of Ingress',
27
- sourceAddresses: ['*'],
28
- destinationAddresses: [natRule.publicIpAddress],
29
- destinationPorts: ['443'],
30
- ipProtocols: ['TCP'],
31
- translatedAddress: natRule.internalIpAddress,
32
- translatedPort: '443',
36
+ //AKS Network Rules
37
+ netRules.push({
38
+ ruleType: "NetworkRule",
39
+ name: "aks-vpn",
40
+ description: "For OPEN VPN tunneled secure communication between the nodes and the control plane for AzureCloud.SoutheastAsia",
41
+ ipProtocols: ["UDP"],
42
+ sourceAddresses: subnetSpaces,
43
+ destinationAddresses: [`AzureCloud.${AzureEnv_1.currentRegionCode}`],
44
+ destinationPorts: ["1194"],
33
45
  }, {
34
- ruleType: 'NatRule',
35
- name: 'public-inbound-80',
36
- description: 'Forward public inbound port 80 to api IP of Ingress',
37
- sourceAddresses: ['*'],
38
- destinationAddresses: [natRule.publicIpAddress],
39
- destinationPorts: ['80'],
40
- ipProtocols: ['TCP'],
41
- translatedAddress: natRule.internalIpAddress,
42
- translatedPort: '80',
46
+ ruleType: "NetworkRule",
47
+ name: "aks-tcp",
48
+ description: "For tunneled secure communication between the nodes and the control plane for AzureCloud.SoutheastAsia",
49
+ ipProtocols: ["TCP"],
50
+ sourceAddresses: subnetSpaces,
51
+ destinationAddresses: [`AzureCloud.${AzureEnv_1.currentRegionCode}`],
52
+ destinationPorts: ["443", "9000"],
53
+ }, {
54
+ ruleType: "NetworkRule",
55
+ name: "aks-time",
56
+ description: "Required for Network Time Protocol (NTP) time synchronization on Linux nodes.",
57
+ ipProtocols: ["UDP"],
58
+ sourceAddresses: subnetSpaces,
59
+ destinationAddresses: ["ntp.ubuntu.com"],
60
+ destinationPorts: ["123"],
61
+ },
62
+ //TODO: Remove this
63
+ {
64
+ ruleType: "NetworkRule",
65
+ name: "aks-time-others",
66
+ description: "Required for Network Time Protocol (NTP) time synchronization on Linux nodes.",
67
+ ipProtocols: ["UDP"],
68
+ sourceAddresses: subnetSpaces,
69
+ destinationAddresses: ["*"],
70
+ destinationPorts: ["123"],
71
+ }, {
72
+ ruleType: "NetworkRule",
73
+ name: "azure-services-tags",
74
+ description: "Allows internal services to connect to Azure Resources.",
75
+ ipProtocols: ["TCP"],
76
+ sourceAddresses: subnetSpaces,
77
+ destinationAddresses: [
78
+ "AzureContainerRegistry.SoutheastAsia",
79
+ "MicrosoftContainerRegistry.SoutheastAsia",
80
+ "AzureActiveDirectory",
81
+ "AzureMonitor.SoutheastAsia",
82
+ "AppConfiguration",
83
+ "AzureKeyVault.SoutheastAsia",
84
+ //'AzureConnectors.SoutheastAsia',
85
+ //'AzureSignalR', This already using private endpoint
86
+ //'DataFactory.SoutheastAsia',
87
+ //'EventHub.SoutheastAsia',
88
+ "ServiceBus.SoutheastAsia",
89
+ //'Sql.SoutheastAsia', This already using private endpoint
90
+ "Storage.SoutheastAsia",
91
+ ],
92
+ destinationPorts: ["443"],
93
+ }, {
94
+ ruleType: "NetworkRule",
95
+ name: "others-dns",
96
+ description: "Others DNS.",
97
+ ipProtocols: ["TCP", "UDP"],
98
+ sourceAddresses: subnetSpaces,
99
+ destinationAddresses: ["*"],
100
+ destinationPorts: ["53"],
101
+ });
102
+ //AKS Apps Rules
103
+ appRules.push({
104
+ ruleType: "ApplicationRule",
105
+ name: "aks-services-fqdnTags",
106
+ description: "Allows pods to access AzureKubernetesService",
107
+ sourceAddresses: subnetSpaces,
108
+ fqdnTags: ["AzureKubernetesService"],
109
+ protocols: [{ protocolType: "Https", port: 443 }],
110
+ }, {
111
+ ruleType: "ApplicationRule",
112
+ name: "aks-fqdn",
113
+ description: "Azure Global required FQDN",
114
+ sourceAddresses: subnetSpaces,
115
+ targetFqdns: [
116
+ //AKS mater
117
+ "*.hcp.southeastasia.azmk8s.io",
118
+ //Microsoft Container Registry
119
+ "mcr.microsoft.com",
120
+ "data.mcr.microsoft.com",
121
+ "*.data.mcr.microsoft.com",
122
+ //Azure management
123
+ "management.azure.com",
124
+ "login.microsoftonline.com",
125
+ //Microsoft trusted package repository
126
+ "packages.microsoft.com",
127
+ //Azure CDN
128
+ //"acs-mirror.azureedge.net",
129
+ //CosmosDb
130
+ //"*.documents.azure.com",
131
+ ],
132
+ protocols: [{ protocolType: "Https", port: 443 }],
133
+ }, {
134
+ ruleType: "ApplicationRule",
135
+ name: "azure-monitors",
136
+ description: "Azure AKS Monitoring",
137
+ sourceAddresses: subnetSpaces,
138
+ targetFqdns: [
139
+ "dc.services.visualstudio.com",
140
+ "*.ods.opinsights.azure.com",
141
+ "*.oms.opinsights.azure.com",
142
+ "*.monitoring.azure.com",
143
+ "*.services.visualstudio.com",
144
+ ],
145
+ protocols: [{ protocolType: "Https", port: 443 }],
146
+ }, {
147
+ ruleType: "ApplicationRule",
148
+ name: "azure-policy",
149
+ description: "Azure AKS Policy Management",
150
+ sourceAddresses: subnetSpaces,
151
+ targetFqdns: [
152
+ "*.policy.core.windows.net",
153
+ "gov-prod-policy-data.trafficmanager.net",
154
+ "raw.githubusercontent.com",
155
+ "dc.services.visualstudio.com",
156
+ ],
157
+ protocols: [{ protocolType: "Https", port: 443 }],
43
158
  });
44
- if (!privateCluster) {
45
- //Net Rules for non-private cluster
46
- netRules.push({
47
- ruleType: 'NetworkRule',
48
- name: 'aks-tcp',
49
- description: 'For tunneled secure communication between the nodes and the control plane for AzureCloud.SoutheastAsia',
50
- ipProtocols: ['TCP'],
51
- sourceAddresses: vnetAddressSpace,
52
- destinationAddresses: [(0, pulumi_1.interpolate) `AzureCloud.${location}`],
53
- destinationPorts: ['443', '9000'],
54
- });
55
- //App rule for non-private cluster
56
- appRules.push({
57
- ruleType: 'ApplicationRule',
58
- name: 'aks-services',
59
- description: 'Allows pods to access AzureKubernetesService',
60
- sourceAddresses: vnetAddressSpace,
61
- //AzureKubernetesService is allow to access google.com
62
- fqdnTags: ['AzureKubernetesService'],
63
- }, {
64
- ruleType: 'ApplicationRule',
65
- name: 'aks-controller',
66
- description: 'Allows pods to access AKS controller',
67
- sourceAddresses: vnetAddressSpace,
68
- protocols: [{ port: 443, protocolType: 'Https' }],
69
- targetFqdns: [(0, pulumi_1.interpolate) `*.hcp.${location}.azmk8s.io`],
70
- });
71
- }
72
159
  if (allowAccessPublicRegistries) {
73
160
  appRules.push({
74
- ruleType: 'ApplicationRule',
161
+ ruleType: "ApplicationRule",
75
162
  //TODO Allow Docker Access is potential risk once we have budget and able to upload external images to ACR then remove docker.
76
- name: 'docker-services',
77
- sourceAddresses: vnetAddressSpace,
163
+ name: "docker-services",
164
+ sourceAddresses: subnetSpaces,
78
165
  targetFqdns: [
79
- '*quay.io', //For Cert Manager
80
- '*auth.docker.io',
81
- '*cloudflare.docker.io',
82
- '*cloudflare.docker.com',
83
- '*registry-1.docker.io',
166
+ "quay.io", //For Cert Manager
167
+ "registry.k8s.io",
168
+ "*.cloudfront.net",
169
+ "*.quay.io",
170
+ "auth.docker.io",
171
+ "*.auth.docker.io",
172
+ "*.cloudflare.docker.io",
173
+ "docker.io",
174
+ "cloudflare.docker.io",
175
+ "cloudflare.docker.com",
176
+ "*.cloudflare.docker.com",
177
+ "*.registry-1.docker.io",
178
+ "registry-1.docker.io",
84
179
  ],
85
- protocols: [{ protocolType: 'Https', port: 443 }],
180
+ protocols: [{ protocolType: "Https", port: 443 }],
86
181
  }, {
87
- ruleType: 'ApplicationRule',
182
+ ruleType: "ApplicationRule",
88
183
  //TODO Allow external registry is potential risk once we have budget and able to upload external images to ACR then remove docker.
89
- name: 'k8s-services',
90
- sourceAddresses: vnetAddressSpace,
184
+ name: "k8s-services",
185
+ sourceAddresses: subnetSpaces,
91
186
  targetFqdns: [
92
- 'k8s.gcr.io', //nginx images
93
- '*.k8s.io',
94
- 'storage.googleapis.com',
187
+ "k8s.gcr.io", //nginx images
188
+ "*.k8s.io",
189
+ "asia-east1-docker.pkg.dev",
190
+ "prod-registry-k8s-io-ap-southeast-1.s3.dualstack.ap-southeast-1.amazonaws.com",
191
+ "*.gcr.io",
192
+ "*.googleapis.com",
95
193
  ],
96
- protocols: [{ protocolType: 'Https', port: 443 }],
194
+ protocols: [{ protocolType: "Https", port: 443 }],
195
+ }, {
196
+ ruleType: "ApplicationRule",
197
+ //TODO Allow external registry is potential risk once we have budget and able to upload external images to ACR then remove docker.
198
+ name: "ubuntu-services",
199
+ sourceAddresses: subnetSpaces,
200
+ targetFqdns: [
201
+ "security.ubuntu.com",
202
+ "azure.archive.ubuntu.com",
203
+ "changelogs.ubuntu.com",
204
+ ],
205
+ protocols: [{ protocolType: "Https", port: 443 }],
97
206
  });
98
207
  }
99
- return {
100
- name,
101
- dnatRules,
102
- networkRules: [
103
- ...netRules,
104
- // {
105
- // name: 'aks-vpn',
106
- // description:
107
- // 'For OPEN VPN tunneled secure communication between the nodes and the control plane for AzureCloud.SoutheastAsia',
108
- // protocols: ['UDP'],
109
- // sourceAddresses: vnetAddressSpace,
110
- // destinationAddresses: [`AzureCloud.${location}`],
111
- // destinationPorts: ['1194'],
112
- // },
113
- {
114
- ruleType: 'NetworkRule',
115
- name: 'aks-time',
116
- description: 'Required for Network Time Protocol (NTP) time synchronization on Linux nodes.',
117
- ipProtocols: ['UDP'],
118
- sourceAddresses: vnetAddressSpace,
119
- destinationFqdns: ['ntp.ubuntu.com'],
120
- destinationPorts: ['123'],
121
- },
122
- {
123
- ruleType: 'NetworkRule',
124
- name: 'aks-time_others',
125
- description: 'Required for Network Time Protocol (NTP) time synchronization on Linux nodes.',
126
- ipProtocols: ['UDP'],
127
- sourceAddresses: vnetAddressSpace,
128
- destinationAddresses: ['*'],
129
- destinationPorts: ['123'],
130
- },
131
- // {
132
- // name: 'aks-control-server',
133
- // description:
134
- // 'Required if running pods/deployments that access the API Server, those pods/deployments would use the API IP.',
135
- // protocols: ['TCP'],
136
- // sourceAddresses: vnetAddressSpace,
137
- // destinationAddresses: ['10.0.0.0/16'],//Ask default is '10.0.0.0/16'
138
- // destinationPorts: ['443', '10250', '10251'],
139
- // },
140
- {
141
- ruleType: 'NetworkRule',
142
- name: 'azure-services-tags',
143
- description: 'Allows internal services to connect to Azure Resources.',
144
- ipProtocols: ['TCP'],
145
- sourceAddresses: vnetAddressSpace,
146
- destinationAddresses: [
147
- (0, pulumi_1.interpolate) `AzureContainerRegistry.${location}`,
148
- (0, pulumi_1.interpolate) `MicrosoftContainerRegistry.${location}`,
149
- 'AzureActiveDirectory',
150
- (0, pulumi_1.interpolate) `AzureMonitor.${location}`,
151
- 'AppConfiguration',
152
- ],
153
- destinationPorts: ['443'],
154
- },
155
- // {
156
- // name: 'azure-dns',
157
- // description: 'Azure DNS.',
158
- // protocols: ['TCP', 'UDP'],
159
- // sourceAddresses: vnetAddressSpace,
160
- // destinationFqdns: [
161
- // 'ns1-01.azure-dns.com',
162
- // 'ns2-01.azure-dns.net',
163
- // 'ns3-01.azure-dns.org',
164
- // 'ns4-01.azure-dns.info',
165
- // ],
166
- // destinationPorts: ['53'],
167
- // },
168
- {
169
- ruleType: 'NetworkRule',
170
- name: 'others-dns',
171
- description: 'Others DNS.',
172
- ipProtocols: ['TCP', 'UDP'],
173
- sourceAddresses: vnetAddressSpace,
174
- destinationAddresses: ['*'],
175
- destinationPorts: ['53'],
176
- },
177
- ],
178
- applicationRules: [
179
- ...appRules,
180
- {
181
- ruleType: 'ApplicationRule',
182
- name: 'aks-fqdn',
183
- description: 'Azure Global required FQDN',
184
- sourceAddresses: vnetAddressSpace,
185
- targetFqdns: [
186
- //Microsoft Container Registry
187
- 'mcr.microsoft.com',
188
- 'data.mcr.microsoft.com',
189
- '*.data.mcr.microsoft.com',
190
- //Azure management
191
- 'management.azure.com',
192
- 'login.microsoftonline.com',
193
- //Microsoft trusted package repository
194
- 'packages.microsoft.com',
195
- //Azure CDN
196
- 'acs-mirror.azureedge.net',
197
- //CosmosDb
198
- '*.documents.azure.com',
199
- ],
200
- protocols: [{ protocolType: 'Https', port: 443 }],
201
- },
202
- {
203
- ruleType: 'ApplicationRule',
204
- name: 'azure-monitors',
205
- sourceAddresses: vnetAddressSpace,
206
- targetFqdns: [
207
- 'dc.services.visualstudio.com',
208
- '*.ods.opinsights.azure.com',
209
- '*.oms.opinsights.azure.com',
210
- '*.monitoring.azure.com',
211
- '*.services.visualstudio.com',
212
- ],
213
- protocols: [{ protocolType: 'Https', port: 443 }],
214
- },
215
- {
216
- ruleType: 'ApplicationRule',
217
- name: 'azure-policy',
218
- sourceAddresses: vnetAddressSpace,
219
- targetFqdns: [
220
- '*.policy.core.windows.net',
221
- 'gov-prod-policy-data.trafficmanager.net',
222
- 'raw.githubusercontent.com',
223
- 'dc.services.visualstudio.com',
224
- ],
225
- protocols: [{ protocolType: 'Https', port: 443 }],
226
- },
227
- {
228
- ruleType: 'ApplicationRule',
229
- name: 'ubuntu-services',
230
- sourceAddresses: vnetAddressSpace,
231
- targetFqdns: [
232
- 'security.ubuntu.com',
233
- 'azure.archive.ubuntu.com',
234
- 'changelogs.ubuntu.com',
235
- ],
236
- protocols: [{ protocolType: 'Https', port: 443 }],
237
- },
238
- ],
239
- };
208
+ return (0, FirewallPolicy_1.FirewallPolicyGroup)({
209
+ policy: { name: "aks-firewall-policy", dnatRules, netRules, appRules },
210
+ priority,
211
+ action: "Allow",
212
+ });
240
213
  };
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWtzRmlyZXdhbGxQb2xpY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvVk5ldC9GaXJld2FsbFBvbGljaWVzL0Frc0ZpcmV3YWxsUG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkNBQW9EO0FBR3BELG9EQUFvRDtBQXVCcEQsa0JBQWUsQ0FBQyxFQUNkLElBQUksRUFDSixRQUFRLEVBQ1IsY0FBYyxFQUNkLDJCQUEyQixFQUMzQixnQkFBZ0IsRUFDaEIsT0FBTyxHQUNELEVBQXFCLEVBQUU7SUFDN0IsUUFBUSxHQUFHLElBQUEsc0JBQVcsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUVqQyxNQUFNLFNBQVMsR0FBRyxJQUFJLEtBQUssRUFBcUMsQ0FBQztJQUNqRSxNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssRUFBeUMsQ0FBQztJQUNwRSxNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssRUFBNkMsQ0FBQztJQUV4RSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2IsUUFBUSxFQUFFLFNBQVM7WUFDbkIsSUFBSSxFQUFFLGtCQUFrQjtZQUN4QixXQUFXLEVBQUUsb0RBQW9EO1lBQ2pFLGVBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFDbkQsb0JBQW9CLEVBQUUsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO1lBQy9DLGdCQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3pCLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNwQixpQkFBaUIsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUNqRCxjQUFjLEVBQUUsS0FBSztTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQUksQ0FDWjtRQUNFLFFBQVEsRUFBRSxTQUFTO1FBQ25CLElBQUksRUFBRSxvQkFBb0I7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
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWtzRmlyZXdhbGxQb2xpY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvVk5ldC9GaXJld2FsbFBvbGljaWVzL0Frc0ZpcmV3YWxsUG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsb0RBQTBEO0FBTTFELHNEQUF3RDtBQXFCeEQsa0JBQWUsQ0FBQyxFQUNkLFFBQVEsRUFDUiwyQkFBMkIsRUFDM0IsWUFBWSxFQUNaLEtBQUssR0FDb0IsRUFBdUMsRUFBRTtJQUNsRSxNQUFNLFNBQVMsR0FBRyxJQUFJLEtBQUssRUFBcUMsQ0FBQztJQUNqRSxNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssRUFBMEIsQ0FBQztJQUNyRCxNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssRUFBOEIsQ0FBQztJQUV6RCxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ1YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3BCLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2IsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQyxJQUFJLGNBQWM7Z0JBQy9CLFdBQVcsRUFBRSwwQ0FBMEMsR0FBRyxDQUFDLElBQUksd0JBQXdCO2dCQUN2RixlQUFlLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLEdBQUcsQ0FBQztnQkFDN0Msb0JBQW9CLEVBQUUsR0FBRyxDQUFDLGlCQUFpQjtnQkFDM0MsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLENBQUM7Z0JBQ3pCLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQztnQkFDcEIsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLGlCQUFpQjtnQkFDeEMsY0FBYyxFQUFFLEtBQUs7YUFDdEIsQ0FBQyxDQUFDO1lBRUgsSUFBSSxHQUFHLENBQUMsU0FBUztnQkFDZixTQUFTLENBQUMsSUFBSSxDQUFDO29CQUNiLFFBQVEsRUFBRSxTQUFTO29CQUNuQixJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxhQUFhO29CQUM5QixXQUFXLEVBQUUseUNBQXlDLEdBQUcsQ0FBQyxJQUFJLHdCQUF3QjtvQkFDdEYsZUFBZSxFQUFFLENBQUMsR0FBRyxDQUFDLGVBQWUsSUFBSSxHQUFHLENBQUM7b0JBQzdDLG9CQUFvQixFQUFFLEdBQUcsQ0FBQyxpQkFBaUI7b0JBQzNDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDO29CQUN4QixXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUM7b0JBQ3BCLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxpQkFBaUI7b0JBQ3hDLGNBQWMsRUFBRSxJQUFJO2lCQUNyQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsUUFBUSxDQUFDLElBQUksQ0FDWDtRQUNFLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLElBQUksRUFBRSxTQUFTO1FBQ2YsV0FBVyxFQUNULGlIQUFpSDtRQUNuSCxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDcEIsZUFBZSxFQUFFLFlBQVk7UUFDN0Isb0JBQW9CLEVBQUUsQ0FBQyxjQUFjLDRCQUFpQixFQUFFLENBQUM7UUFDekQsZ0JBQWdCLEVBQUUsQ0FBQyxNQUFNLENBQUM7S0FDM0IsRUFDRDtRQUNFLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLElBQUksRUFBRSxTQUFTO1FBQ2YsV0FBVyxFQUNULHdHQUF3RztRQUMxRyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDcEIsZUFBZSxFQUFFLFlBQVk7UUFDN0Isb0JBQW9CLEVBQUUsQ0FBQyxjQUFjLDRCQUFpQixFQUFFLENBQUM7UUFDekQsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0tBQ2xDLEVBQ0Q7UUFDRSxRQUFRLEVBQUUsYUFBYTtRQUN2QixJQUFJLEVBQUUsVUFBVTtRQUNoQixXQUFXLEVBQ1QsK0VBQStFO1FBQ2pGLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNwQixlQUFlLEVBQUUsWUFBWTtRQUM3QixvQkFBb0IsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQ3hDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDO0tBQzFCO0lBQ0QsbUJBQW1CO0lBQ25CO1FBQ0UsUUFBUSxFQUFFLGFBQWE7UUFDdkIsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixXQUFXLEVBQ1QsK0VBQStFO1FBQ2pGLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNwQixlQUFlLEVBQUUsWUFBWTtRQUM3QixvQkFBb0IsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUMzQixnQkFBZ0IsRUFBRSxDQUFDLEtBQUssQ0FBQztLQUMxQixFQUNEO1FBQ0UsUUFBUSxFQUFFLGFBQWE7UUFDdkIsSUFBSSxFQUFFLHFCQUFxQjtRQUMzQixXQUFXLEVBQUUseURBQXlEO1FBQ3RFLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNwQixlQUFlLEVBQUUsWUFBWTtRQUM3QixvQkFBb0IsRUFBRTtZQUNwQixzQ0FBc0M7WUFDdEMsMENBQTBDO1lBQzFDLHNCQUFzQjtZQUN0Qiw0QkFBNEI7WUFDNUIsa0JBQWtCO1lBQ2xCLDZCQUE2QjtZQUM3QixrQ0FBa0M7WUFDbEMscURBQXFEO1lBQ3JELDhCQUE4QjtZQUM5QiwyQkFBMkI7WUFDM0IsMEJBQTBCO1lBQzFCLDBEQUEwRDtZQUMxRCx1QkFBdUI7U0FDeEI7UUFDRCxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssQ0FBQztLQUMxQixFQUNEO1FBQ0UsUUFBUSxFQUFFLGFBQWE7UUFDdkIsSUFBSSxFQUFFLFlBQVk7UUFDbEIsV0FBVyxFQUFFLGFBQWE7UUFDMUIsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUMzQixlQUFlLEVBQUUsWUFBWTtRQUM3QixvQkFBb0IsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUMzQixnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQztLQUN6QixDQUNGLENBQUM7SUFFRixnQkFBZ0I7SUFDaEIsUUFBUSxDQUFDLElBQUksQ0FDWDtRQUNFLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixXQUFXLEVBQUUsOENBQThDO1FBQzNELGVBQWUsRUFBRSxZQUFZO1FBQzdCLFFBQVEsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1FBQ3BDLFNBQVMsRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7S0FDbEQsRUFDRDtRQUNFLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsSUFBSSxFQUFFLFVBQVU7UUFDaEIsV0FBVyxFQUFFLDRCQUE0QjtRQUN6QyxlQUFlLEVBQUUsWUFBWTtRQUM3QixXQUFXLEVBQUU7WUFDWCxXQUFXO1lBQ1gsK0JBQStCO1lBQy9CLDhCQUE4QjtZQUM5QixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLDBCQUEwQjtZQUMxQixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLDJCQUEyQjtZQUMzQixzQ0FBc0M7WUFDdEMsd0JBQXdCO1lBQ3hCLFdBQVc7WUFDWCw2QkFBNkI7WUFDN0IsVUFBVTtZQUNWLDBCQUEwQjtTQUMzQjtRQUNELFNBQVMsRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7S0FDbEQsRUFDRDtRQUNFLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixXQUFXLEVBQUUsc0JBQXNCO1FBQ25DLGVBQWUsRUFBRSxZQUFZO1FBQzdCLFdBQVcsRUFBRTtZQUNYLDhCQUE4QjtZQUM5Qiw0QkFBNEI7WUFDNUIsNEJBQTRCO1lBQzVCLHdCQUF3QjtZQUN4Qiw2QkFBNkI7U0FDOUI7UUFDRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO0tBQ2xELEVBQ0Q7UUFDRSxRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLElBQUksRUFBRSxjQUFjO1FBQ3BCLFdBQVcsRUFBRSw2QkFBNkI7UUFDMUMsZUFBZSxFQUFFLFlBQVk7UUFDN0IsV0FBVyxFQUFFO1lBQ1gsMkJBQTJCO1lBQzNCLHlDQUF5QztZQUN6QywyQkFBMkI7WUFDM0IsOEJBQThCO1NBQy9CO1FBQ0QsU0FBUyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQztLQUNsRCxDQUNGLENBQUM7SUFFRixJQUFJLDJCQUEyQixFQUFFLENBQUM7UUFDaEMsUUFBUSxDQUFDLElBQUksQ0FDWDtZQUNFLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsOEhBQThIO1lBQzlILElBQUksRUFBRSxpQkFBaUI7WUFDdkIsZUFBZSxFQUFFLFlBQVk7WUFDN0IsV0FBVyxFQUFFO2dCQUNYLFNBQVMsRUFBRSxrQkFBa0I7Z0JBQzdCLGlCQUFpQjtnQkFDakIsa0JBQWtCO2dCQUNsQixXQUFXO2dCQUNYLGdCQUFnQjtnQkFDaEIsa0JBQWtCO2dCQUNsQix3QkFBd0I7Z0JBQ3hCLFdBQVc7Z0JBQ1gsc0JBQXNCO2dCQUN0Qix1QkFBdUI7Z0JBQ3ZCLHlCQUF5QjtnQkFDekIsd0JBQXdCO2dCQUN4QixzQkFBc0I7YUFDdkI7WUFDRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO1NBQ2xELEVBQ0Q7WUFDRSxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLGtJQUFrSTtZQUNsSSxJQUFJLEVBQUUsY0FBYztZQUNwQixlQUFlLEVBQUUsWUFBWTtZQUM3QixXQUFXLEVBQUU7Z0JBQ1gsWUFBWSxFQUFFLGNBQWM7Z0JBQzVCLFVBQVU7Z0JBQ1YsMkJBQTJCO2dCQUMzQiwrRUFBK0U7Z0JBQy9FLFVBQVU7Z0JBQ1Ysa0JBQWtCO2FBQ25CO1lBQ0QsU0FBUyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQztTQUNsRCxFQUNEO1lBQ0UsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixrSUFBa0k7WUFDbEksSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixlQUFlLEVBQUUsWUFBWTtZQUM3QixXQUFXLEVBQUU7Z0JBQ1gscUJBQXFCO2dCQUNyQiwwQkFBMEI7Z0JBQzFCLHVCQUF1QjthQUN4QjtZQUNELFNBQVMsRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7U0FDbEQsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sSUFBQSxvQ0FBbUIsRUFBQztRQUN6QixNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7UUFDdEUsUUFBUTtRQUNSLE1BQU0sRUFBRSxPQUFPO0tBQ2hCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyJ9
@@ -1,14 +1,16 @@
1
- import { Input } from '@pulumi/pulumi';
2
- import { FirewallRuleProps } from '../FirewallRules/types';
1
+ import { Input } from "@pulumi/pulumi";
2
+ import { FirewallPolicyRuleCollectionResults } from "../types";
3
3
  interface Props {
4
- name: string;
5
- vnetAddressSpace: Array<Input<string>>;
6
- location: Input<string>;
7
- allowFullOutboundAddress?: Array<Input<string>>;
4
+ name?: string;
5
+ priority: number;
6
+ subnetSpaces: Array<Input<string>>;
7
+ allowAllOutbound?: boolean;
8
8
  allowIpCheckApi?: boolean;
9
- enableCloudPcRules?: boolean;
10
- enableDeveloperResources?: boolean;
11
- enableAzureResources?: boolean;
9
+ allowsAzure?: boolean;
10
+ allowsAzDevOps?: boolean;
11
+ allowsK8sTools?: boolean;
12
+ allowsSearch?: boolean;
13
+ allowsOffice365?: boolean;
12
14
  }
13
- declare const _default: ({ name, location, vnetAddressSpace, enableCloudPcRules, enableDeveloperResources, enableAzureResources, allowIpCheckApi, allowFullOutboundAddress, }: Props) => Array<FirewallRuleProps>;
15
+ declare const _default: ({ name, priority, subnetSpaces, allowsOffice365, allowsAzure, allowsAzDevOps, allowsK8sTools, allowIpCheckApi, allowsSearch, allowAllOutbound, }: Props) => FirewallPolicyRuleCollectionResults;
14
16
  export default _default;