@drunk-pulumi/azure 0.0.36 → 0.0.38

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 (176) 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 +16 -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 +25 -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/VnetBuilder.d.ts +3 -0
  44. package/Builder/VnetBuilder.js +279 -0
  45. package/Builder/index.d.ts +2 -0
  46. package/Builder/index.js +8 -0
  47. package/Builder/types.d.ts +120 -0
  48. package/Builder/types.js +18 -0
  49. package/Certificate/index.d.ts +1 -1
  50. package/Certificate/index.js +26 -28
  51. package/Common/AutoTags.js +2 -2
  52. package/Common/AzureEnv.d.ts +4 -3
  53. package/Common/AzureEnv.js +31 -24
  54. package/Common/GlobalEnv.d.ts +1 -2
  55. package/Common/GlobalEnv.js +7 -7
  56. package/Common/Location.d.ts +3 -3
  57. package/Common/Location.js +22 -9
  58. package/Common/LocationBuiltIn.d.ts +6 -81
  59. package/Common/LocationBuiltIn.js +491 -1923
  60. package/Common/Naming/index.d.ts +6 -4
  61. package/Common/Naming/index.js +64 -60
  62. package/Common/ResourceEnv.d.ts +2 -2
  63. package/Common/ResourceEnv.js +11 -10
  64. package/Common/StackEnv.js +2 -9
  65. package/Core/KeyGenetators.d.ts +16 -20
  66. package/Core/KeyGenetators.js +17 -16
  67. package/Core/Random.d.ts +4 -4
  68. package/Core/Random.js +10 -10
  69. package/Core/ResourceGroup.d.ts +12 -6
  70. package/Core/ResourceGroup.js +12 -24
  71. package/IOT/Hub/index.d.ts +4 -8
  72. package/IOT/Hub/index.js +19 -54
  73. package/KeyVault/Helper.d.ts +8 -6
  74. package/KeyVault/Helper.js +13 -19
  75. package/KeyVault/index.d.ts +1 -3
  76. package/KeyVault/index.js +2 -26
  77. package/Logs/Helpers.d.ts +35 -25
  78. package/Logs/Helpers.js +33 -20
  79. package/Logs/LogAnalytics.d.ts +2 -2
  80. package/Logs/LogAnalytics.js +15 -6
  81. package/Logs/index.d.ts +3 -3
  82. package/Logs/index.js +4 -4
  83. package/MySql/index.d.ts +2 -3
  84. package/MySql/index.js +16 -19
  85. package/{ReadMe.md → README.md} +6 -1
  86. package/Sql/index.d.ts +17 -10
  87. package/Sql/index.js +39 -42
  88. package/Storage/CdnEndpoint.d.ts +2 -2
  89. package/Storage/CdnEndpoint.js +14 -15
  90. package/Storage/Helper.d.ts +2 -2
  91. package/Storage/Helper.js +6 -6
  92. package/Storage/ManagementRules.d.ts +5 -23
  93. package/Storage/ManagementRules.js +3 -3
  94. package/Storage/index.d.ts +3 -3
  95. package/Storage/index.js +28 -28
  96. package/VM/AzureDevOpsExtension.d.ts +16 -0
  97. package/VM/AzureDevOpsExtension.js +14 -0
  98. package/VM/Extension.d.ts +15 -0
  99. package/VM/Extension.js +13 -0
  100. package/VM/GlobalSchedule.d.ts +10 -0
  101. package/VM/GlobalSchedule.js +20 -0
  102. package/VM/index.d.ts +18 -18
  103. package/VM/index.js +94 -57
  104. package/VNet/Bastion.d.ts +4 -4
  105. package/VNet/Bastion.js +12 -8
  106. package/VNet/Firewall.d.ts +19 -12
  107. package/VNet/Firewall.js +59 -40
  108. package/VNet/FirewallPolicies/AksFirewallPolicy.d.ts +16 -16
  109. package/VNet/FirewallPolicies/AksFirewallPolicy.js +193 -220
  110. package/VNet/FirewallPolicies/CloudPCFirewallPolicy.d.ts +12 -10
  111. package/VNet/FirewallPolicies/CloudPCFirewallPolicy.js +170 -282
  112. package/VNet/FirewallPolicies/DefaultFirewallPolicy.d.ts +3 -0
  113. package/VNet/FirewallPolicies/DefaultFirewallPolicy.js +25 -0
  114. package/VNet/FirewallPolicies/index.d.ts +4 -0
  115. package/VNet/FirewallPolicies/index.js +10 -0
  116. package/VNet/FirewallPolicy.d.ts +14 -11
  117. package/VNet/FirewallPolicy.js +67 -74
  118. package/VNet/FirewallRules/AksFirewallRules.d.ts +4 -3
  119. package/VNet/FirewallRules/AksFirewallRules.js +101 -100
  120. package/VNet/Helper.d.ts +8 -4
  121. package/VNet/Helper.js +42 -35
  122. package/VNet/IpAddress.d.ts +6 -8
  123. package/VNet/IpAddress.js +6 -11
  124. package/VNet/IpAddressPrefix.d.ts +12 -9
  125. package/VNet/IpAddressPrefix.js +14 -13
  126. package/VNet/NSGRules/AppGatewaySecurityRule.d.ts +9 -0
  127. package/VNet/NSGRules/AppGatewaySecurityRule.js +46 -0
  128. package/VNet/NSGRules/AzADSecurityRule.d.ts +6 -0
  129. package/VNet/NSGRules/AzADSecurityRule.js +39 -0
  130. package/VNet/NSGRules/BastionSecurityRule.d.ts +9 -0
  131. package/VNet/NSGRules/BastionSecurityRule.js +93 -0
  132. package/VNet/NatGateway.d.ts +10 -0
  133. package/VNet/NatGateway.js +21 -0
  134. package/VNet/NetworkPeering.d.ts +7 -7
  135. package/VNet/NetworkPeering.js +29 -20
  136. package/VNet/PrivateDns.d.ts +8 -10
  137. package/VNet/PrivateDns.js +12 -14
  138. package/VNet/PrivateEndpoint.js +5 -2
  139. package/VNet/RouteTable.d.ts +7 -8
  140. package/VNet/RouteTable.js +6 -6
  141. package/VNet/SecurityGroup.d.ts +4 -4
  142. package/VNet/SecurityGroup.js +7 -3
  143. package/VNet/Subnet.d.ts +10 -7
  144. package/VNet/Subnet.js +4 -3
  145. package/VNet/VPNGateway.d.ts +13 -0
  146. package/VNet/VPNGateway.js +73 -0
  147. package/VNet/VirtualWAN.d.ts +7 -10
  148. package/VNet/VirtualWAN.js +1 -1
  149. package/VNet/Vnet.d.ts +29 -23
  150. package/VNet/Vnet.js +58 -121
  151. package/VNet/index.d.ts +17 -18
  152. package/VNet/index.js +41 -54
  153. package/VNet/types.d.ts +94 -0
  154. package/VNet/types.js +3 -0
  155. package/Web/types.d.ts +2 -134
  156. package/package.json +8 -8
  157. package/types.d.ts +22 -8
  158. package/z_tests/_tools/Mocks.js +12 -13
  159. package/Automation/AutoAccount.d.ts +0 -5
  160. package/Automation/AutoAccount.js +0 -18
  161. package/AzAd/Identities/AzDevOps.d.ts +0 -23
  162. package/AzAd/Identities/AzDevOps.js +0 -61
  163. package/AzAd/KeyVaultRoles.d.ts +0 -8
  164. package/AzAd/KeyVaultRoles.js +0 -53
  165. package/AzAd/ManagedIdentity.d.ts +0 -6
  166. package/AzAd/ManagedIdentity.js +0 -20
  167. package/AzAd/UserIdentity.d.ts +0 -5
  168. package/AzAd/UserIdentity.js +0 -12
  169. package/Common/Naming/AzureRegions.d.ts +0 -4
  170. package/Common/Naming/AzureRegions.js +0 -49
  171. package/KeyVault/VaultPermissions.d.ts +0 -27
  172. package/KeyVault/VaultPermissions.js +0 -226
  173. package/VNet/FirewallRules/types.d.ts +0 -20
  174. package/VNet/FirewallRules/types.js +0 -5
  175. package/VNet/NSGRules/AzADService.d.ts +0 -10
  176. package/VNet/NSGRules/AzADService.js +0 -45
@@ -1,6 +1,6 @@
1
- import * as native from '@pulumi/azure-native';
2
- import { Input, Resource } from '@pulumi/pulumi';
3
- import { ResourceGroupInfo } from '../types';
1
+ import * as native from "@pulumi/azure-native";
2
+ import { Input, Resource } from "@pulumi/pulumi";
3
+ import { BasicResourceArgs, ResourceGroupInfo } from "../types";
4
4
  interface RecordProps {
5
5
  zoneName: Input<string>;
6
6
  /**Default is Global Resource Group*/
@@ -10,24 +10,22 @@ interface RecordProps {
10
10
  dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
11
11
  }
12
12
  export declare const addARecord: ({ zoneName, group, recordName, ipAddresses, dependsOn, }: RecordProps) => import("@pulumi/azure-native/network/privateRecordSet").PrivateRecordSet;
13
- interface VnetToPrivateDnsProps {
13
+ interface VnetToPrivateDnsProps extends BasicResourceArgs {
14
14
  zoneName: string;
15
- vnetId: string;
15
+ vnetId: Input<string>;
16
16
  registrationEnabled?: boolean;
17
- group?: ResourceGroupInfo;
18
- dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
19
17
  }
20
- export declare const linkVnetToPrivateDns: ({ zoneName, group, vnetId, registrationEnabled, dependsOn, }: VnetToPrivateDnsProps) => import("@pulumi/azure-native/network/virtualNetworkLink").VirtualNetworkLink;
18
+ export declare const linkVnetToPrivateDns: ({ name, group, zoneName, vnetId, registrationEnabled, ...others }: VnetToPrivateDnsProps) => import("@pulumi/azure-native/network/virtualNetworkLink").VirtualNetworkLink;
21
19
  interface Props {
22
20
  name: string;
23
21
  vnetIds?: Input<string>[];
24
22
  group?: ResourceGroupInfo;
25
23
  records?: {
26
- aRecords: Array<Pick<RecordProps, 'recordName' | 'ipAddresses'>>;
24
+ aRecords: Array<Pick<RecordProps, "recordName" | "ipAddresses">>;
27
25
  };
28
26
  dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
29
27
  }
30
28
  /** Create Private DNS zone. This should be created in the Global resource group. */
31
29
  declare const _default: ({ name, group, vnetIds, records, dependsOn, }: Props) => import("@pulumi/azure-native/network/privateZone").PrivateZone;
32
30
  export default _default;
33
- export declare const getPrivateZone: ({ name, group, }: Omit<Props, 'vnetIds'>) => Promise<native.network.GetPrivateZoneResult>;
31
+ export declare const getPrivateZone: ({ name, group, }: Omit<Props, "vnetIds">) => Promise<native.network.GetPrivateZoneResult>;
@@ -4,33 +4,30 @@ exports.getPrivateZone = exports.linkVnetToPrivateDns = exports.addARecord = voi
4
4
  const native = require("@pulumi/azure-native");
5
5
  const pulumi_1 = require("@pulumi/pulumi");
6
6
  const global = require("../Common/GlobalEnv");
7
- const AzureEnv_1 = require("../Common/AzureEnv");
8
7
  const addARecord = ({ zoneName, group = global.groupInfo, recordName, ipAddresses, dependsOn, }) => {
9
- recordName = recordName.replace('https://', '').replace('http://', '');
8
+ recordName = recordName.replace("https://", "").replace("http://", "");
10
9
  //.replace(`.${zoneName}`, "");
11
- return new native.network.PrivateRecordSet(recordName === '*'
12
- ? 'All-ARecord'
13
- : recordName === '@'
14
- ? 'Root-ARecord'
10
+ return new native.network.PrivateRecordSet(recordName === "*"
11
+ ? "All-ARecord"
12
+ : recordName === "@"
13
+ ? "Root-ARecord"
15
14
  : `${recordName}-ARecord`, {
16
15
  privateZoneName: zoneName,
17
16
  ...group,
18
17
  relativeRecordSetName: recordName,
19
- recordType: 'A',
18
+ recordType: "A",
20
19
  aRecords: (0, pulumi_1.output)(ipAddresses).apply((ips) => ips.map((i) => ({ ipv4Address: i }))),
21
20
  ttl: 3600,
22
21
  }, { dependsOn });
23
22
  };
24
23
  exports.addARecord = addARecord;
25
- const linkVnetToPrivateDns = ({ zoneName, group = global.groupInfo, vnetId, registrationEnabled, dependsOn, }) => {
26
- const vnetInfo = (0, AzureEnv_1.getResourceInfoFromId)(vnetId);
27
- return new native.network.VirtualNetworkLink(`${zoneName}-link-${vnetInfo.name}`, {
24
+ const linkVnetToPrivateDns = ({ name, group, zoneName, vnetId, registrationEnabled, ...others }) => {
25
+ return new native.network.VirtualNetworkLink(`${name}-${zoneName}-link`, {
28
26
  ...group,
29
- location: global.globalKeyName,
30
27
  privateZoneName: zoneName,
31
28
  registrationEnabled: registrationEnabled || false,
32
29
  virtualNetwork: { id: vnetId },
33
- }, { dependsOn });
30
+ }, others);
34
31
  };
35
32
  exports.linkVnetToPrivateDns = linkVnetToPrivateDns;
36
33
  /** Create Private DNS zone. This should be created in the Global resource group. */
@@ -38,10 +35,11 @@ exports.default = ({ name, group = global.groupInfo, vnetIds, records, dependsOn
38
35
  const zone = new native.network.PrivateZone(name, {
39
36
  privateZoneName: name,
40
37
  ...group,
41
- location: 'global',
38
+ location: "global",
42
39
  }, { dependsOn });
43
40
  if (vnetIds) {
44
41
  (0, pulumi_1.all)(vnetIds).apply((vn) => vn.map((id) => (0, exports.linkVnetToPrivateDns)({
42
+ name,
45
43
  vnetId: id,
46
44
  zoneName: name,
47
45
  group,
@@ -61,4 +59,4 @@ const getPrivateZone = ({ name, group = global.groupInfo, }) => native.network.g
61
59
  resourceGroupName: group.resourceGroupName,
62
60
  });
63
61
  exports.getPrivateZone = getPrivateZone;
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZURucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9WTmV0L1ByaXZhdGVEbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0NBQStDO0FBQy9DLDJDQUE4RDtBQUM5RCw4Q0FBOEM7QUFDOUMsaURBQTJEO0FBV3BELE1BQU0sVUFBVSxHQUFHLENBQUMsRUFDekIsUUFBUSxFQUNSLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxFQUN4QixVQUFVLEVBQ1YsV0FBVyxFQUNYLFNBQVMsR0FDRyxFQUFFLEVBQUU7SUFDaEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkUsK0JBQStCO0lBRS9CLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUN4QyxVQUFVLEtBQUssR0FBRztRQUNoQixDQUFDLENBQUMsYUFBYTtRQUNmLENBQUMsQ0FBQyxVQUFVLEtBQUssR0FBRztZQUNwQixDQUFDLENBQUMsY0FBYztZQUNoQixDQUFDLENBQUMsR0FBRyxVQUFVLFVBQVUsRUFDM0I7UUFDRSxlQUFlLEVBQUUsUUFBUTtRQUN6QixHQUFHLEtBQUs7UUFDUixxQkFBcUIsRUFBRSxVQUFVO1FBQ2pDLFVBQVUsRUFBRSxHQUFHO1FBQ2YsUUFBUSxFQUFFLElBQUEsZUFBTSxFQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQzFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNyQztRQUNELEdBQUcsRUFBRSxJQUFJO0tBQ1YsRUFDRCxFQUFFLFNBQVMsRUFBRSxDQUNkLENBQUM7QUFDSixDQUFDLENBQUM7QUE1QlcsUUFBQSxVQUFVLGNBNEJyQjtBQVVLLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxFQUNuQyxRQUFRLEVBQ1IsS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQ3hCLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsU0FBUyxHQUNhLEVBQUUsRUFBRTtJQUMxQixNQUFNLFFBQVEsR0FBRyxJQUFBLGdDQUFxQixFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRS9DLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUMxQyxHQUFHLFFBQVEsU0FBUyxRQUFTLENBQUMsSUFBSSxFQUFFLEVBQ3BDO1FBQ0UsR0FBRyxLQUFLO1FBQ1IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxhQUFhO1FBQzlCLGVBQWUsRUFBRSxRQUFRO1FBQ3pCLG1CQUFtQixFQUFFLG1CQUFtQixJQUFJLEtBQUs7UUFDakQsY0FBYyxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRTtLQUMvQixFQUNELEVBQUUsU0FBUyxFQUFFLENBQ2QsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXBCVyxRQUFBLG9CQUFvQix3QkFvQi9CO0FBWUYsb0ZBQW9GO0FBQ3BGLGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQ3hCLE9BQU8sRUFDUCxPQUFPLEVBQ1AsU0FBUyxHQUNILEVBQUUsRUFBRTtJQUNWLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQ3pDLElBQUksRUFDSjtRQUNFLGVBQWUsRUFBRSxJQUFJO1FBQ3JCLEdBQUcsS0FBSztRQUNSLFFBQVEsRUFBRSxRQUFRO0tBQ25CLEVBQ0QsRUFBRSxTQUFTLEVBQUUsQ0FDZCxDQUFDO0lBRUYsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNaLElBQUEsWUFBRyxFQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQ3hCLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUNaLElBQUEsNEJBQW9CLEVBQUM7WUFDbkIsTUFBTSxFQUFFLEVBQUU7WUFDVixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUs7WUFDTCxtQkFBbUIsRUFBRSxLQUFLO1lBQzFCLFNBQVMsRUFBRSxJQUFJO1NBQ2hCLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNaLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDekIsSUFBQSxrQkFBVSxFQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUNsRSxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVLLE1BQU0sY0FBYyxHQUFHLENBQUMsRUFDN0IsSUFBSSxFQUNKLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxHQUNELEVBQUUsRUFBRSxDQUMzQixNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQztJQUM1QixlQUFlLEVBQUUsSUFBSTtJQUNyQixpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO0NBQzNDLENBQUMsQ0FBQztBQVBRLFFBQUEsY0FBYyxrQkFPdEIifQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZURucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9WTmV0L1ByaXZhdGVEbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0NBQStDO0FBQy9DLDJDQUE4RDtBQUM5RCw4Q0FBOEM7QUFZdkMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxFQUN6QixRQUFRLEVBQ1IsS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQ3hCLFVBQVUsRUFDVixXQUFXLEVBQ1gsU0FBUyxHQUNHLEVBQUUsRUFBRTtJQUNoQixVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RSwrQkFBK0I7SUFFL0IsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQ3hDLFVBQVUsS0FBSyxHQUFHO1FBQ2hCLENBQUMsQ0FBQyxhQUFhO1FBQ2YsQ0FBQyxDQUFDLFVBQVUsS0FBSyxHQUFHO1lBQ2xCLENBQUMsQ0FBQyxjQUFjO1lBQ2hCLENBQUMsQ0FBQyxHQUFHLFVBQVUsVUFBVSxFQUM3QjtRQUNFLGVBQWUsRUFBRSxRQUFRO1FBQ3pCLEdBQUcsS0FBSztRQUNSLHFCQUFxQixFQUFFLFVBQVU7UUFDakMsVUFBVSxFQUFFLEdBQUc7UUFDZixRQUFRLEVBQUUsSUFBQSxlQUFNLEVBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDMUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ3JDO1FBQ0QsR0FBRyxFQUFFLElBQUk7S0FDVixFQUNELEVBQUUsU0FBUyxFQUFFLENBQ2QsQ0FBQztBQUNKLENBQUMsQ0FBQztBQTVCVyxRQUFBLFVBQVUsY0E0QnJCO0FBUUssTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEVBQ25DLElBQUksRUFDSixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsR0FBRyxNQUFNLEVBQ2EsRUFBRSxFQUFFO0lBQzFCLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUMxQyxHQUFHLElBQUksSUFBSSxRQUFRLE9BQU8sRUFDMUI7UUFDRSxHQUFHLEtBQUs7UUFDUixlQUFlLEVBQUUsUUFBUTtRQUN6QixtQkFBbUIsRUFBRSxtQkFBbUIsSUFBSSxLQUFLO1FBQ2pELGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUU7S0FDL0IsRUFDRCxNQUFNLENBQ1AsQ0FBQztBQUNKLENBQUMsQ0FBQztBQWxCVyxRQUFBLG9CQUFvQix3QkFrQi9CO0FBWUYsb0ZBQW9GO0FBQ3BGLGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQ3hCLE9BQU8sRUFDUCxPQUFPLEVBQ1AsU0FBUyxHQUNILEVBQUUsRUFBRTtJQUNWLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQ3pDLElBQUksRUFDSjtRQUNFLGVBQWUsRUFBRSxJQUFJO1FBQ3JCLEdBQUcsS0FBSztRQUNSLFFBQVEsRUFBRSxRQUFRO0tBQ25CLEVBQ0QsRUFBRSxTQUFTLEVBQUUsQ0FDZCxDQUFDO0lBRUYsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNaLElBQUEsWUFBRyxFQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQ3hCLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUNaLElBQUEsNEJBQW9CLEVBQUM7WUFDbkIsSUFBSTtZQUNKLE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLO1lBQ0wsbUJBQW1CLEVBQUUsS0FBSztZQUMxQixTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksT0FBTyxFQUFFLENBQUM7UUFDWixJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQixPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ3pCLElBQUEsa0JBQVUsRUFBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDbEUsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFSyxNQUFNLGNBQWMsR0FBRyxDQUFDLEVBQzdCLElBQUksRUFDSixLQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsR0FDRCxFQUFFLEVBQUUsQ0FDM0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7SUFDNUIsZUFBZSxFQUFFLElBQUk7SUFDckIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtDQUMzQyxDQUFDLENBQUM7QUFQUSxRQUFBLGNBQWMsa0JBT3RCIn0=
@@ -23,7 +23,7 @@ exports.default = ({ name, group, resourceId, subnetId, privateDnsZoneName, useG
23
23
  //Get IpAddress in
24
24
  const ipAddresses = endpoint.customDnsConfigs.apply((c) => c.flatMap((i) => i.ipAddresses));
25
25
  (0, pulumi_1.output)(resourceId).apply((id) => {
26
- const resourceInfo = (0, AzureEnv_1.getResourceInfoFromId)(id);
26
+ const resourceInfo = (0, AzureEnv_1.parseResourceInfoFromId)(id);
27
27
  if (useGlobalDnsZone) {
28
28
  //Add A Record
29
29
  (0, PrivateDns_1.addARecord)({
@@ -35,6 +35,8 @@ exports.default = ({ name, group, resourceId, subnetId, privateDnsZoneName, useG
35
35
  (0, pulumi_1.output)(subnetId).apply((sId) => {
36
36
  const vnetId = (0, Helper_1.getVnetIdFromSubnetId)(sId);
37
37
  (0, PrivateDns_1.linkVnetToPrivateDns)({
38
+ name,
39
+ group,
38
40
  zoneName: privateDnsZoneName,
39
41
  vnetId,
40
42
  });
@@ -57,6 +59,7 @@ exports.default = ({ name, group, resourceId, subnetId, privateDnsZoneName, useG
57
59
  (0, pulumi_1.output)(subnetId).apply((sId) => {
58
60
  const vnetId = (0, Helper_1.getVnetIdFromSubnetId)(sId);
59
61
  (0, PrivateDns_1.linkVnetToPrivateDns)({
62
+ name,
60
63
  zoneName: privateDnsZoneName,
61
64
  vnetId,
62
65
  group,
@@ -68,4 +71,4 @@ exports.default = ({ name, group, resourceId, subnetId, privateDnsZoneName, useG
68
71
  //TODO: Create private DNS Zone in the same resource group and link to VNet
69
72
  return endpoint;
70
73
  };
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUVuZHBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1ZOZXQvUHJpdmF0ZUVuZHBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0RBQXdEO0FBQ3hELDJDQUErQztBQUUvQyxxQ0FBaUQ7QUFDakQsNkNBQTZFO0FBQzdFLGlEQUEyRDtBQUMzRCw2Q0FBMEQ7QUFRMUQsa0JBQWUsQ0FBQyxFQUNkLElBQUksRUFDSixLQUFLLEVBQ0wsVUFBVSxFQUNWLFFBQVEsRUFDUixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLG1CQUFtQixHQUNiLEVBQUUsRUFBRTtJQUNWLElBQUksR0FBRyxJQUFBLCtCQUFzQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBDLE1BQU0sUUFBUSxHQUFHLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUU7UUFDakQsbUJBQW1CLEVBQUUsSUFBSTtRQUN6QixHQUFHLEtBQUs7UUFFUixNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFO1FBQ3hCLDZCQUE2QixFQUFFO1lBQzdCO2dCQUNFLFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLElBQUksRUFBRSxHQUFHLElBQUksT0FBTztnQkFDcEIsb0JBQW9CLEVBQUUsVUFBVTthQUNqQztTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsa0JBQWtCO0lBQ2xCLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN4RCxDQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBWSxDQUFDLENBQ2xDLENBQUM7SUFFRixJQUFBLGVBQU0sRUFBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtRQUM5QixNQUFNLFlBQVksR0FBRyxJQUFBLGdDQUFxQixFQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRS9DLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQixjQUFjO1lBQ2QsSUFBQSx1QkFBVSxFQUFDO2dCQUNULFdBQVc7Z0JBQ1gsVUFBVSxFQUFFLFlBQVksRUFBRSxJQUFJLElBQUksRUFBRTtnQkFDcEMsUUFBUSxFQUFFLGtCQUFrQjthQUM3QixDQUFDLENBQUM7WUFFSCxjQUFjO1lBQ2QsSUFBQSxlQUFNLEVBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzdCLE1BQU0sTUFBTSxHQUFHLElBQUEsOEJBQXFCLEVBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzFDLElBQUEsaUNBQW9CLEVBQUM7b0JBQ25CLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLE1BQU07aUJBQ1AsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLGFBQWE7WUFDYixNQUFNLElBQUksR0FBRyxJQUFBLG9CQUFXLEVBQUM7Z0JBQ3ZCLElBQUksRUFBRSxHQUFHLFlBQVksRUFBRSxJQUFJLElBQUksa0JBQWtCLEVBQUU7Z0JBQ25ELEtBQUs7YUFDTixDQUFDLENBQUM7WUFFSCxpQkFBaUI7WUFDakIsSUFBQSx1QkFBVSxFQUFDO2dCQUNULFdBQVc7Z0JBQ1gsVUFBVSxFQUFFLEdBQUc7Z0JBQ2YsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsU0FBUyxFQUFFLElBQUk7YUFDaEIsQ0FBQyxDQUFDO1lBQ0gsY0FBYztZQUNkLElBQUEsZUFBTSxFQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUM3QixNQUFNLE1BQU0sR0FBRyxJQUFBLDhCQUFxQixFQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQyxJQUFBLGlDQUFvQixFQUFDO29CQUNuQixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixNQUFNO29CQUNOLEtBQUs7b0JBQ0wsU0FBUyxFQUFFLElBQUk7aUJBQ2hCLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0gsMkVBQTJFO0lBQzNFLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyJ9
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZUVuZHBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1ZOZXQvUHJpdmF0ZUVuZHBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0RBQXdEO0FBQ3hELDJDQUErQztBQUUvQyxxQ0FBaUQ7QUFDakQsNkNBQTZFO0FBQzdFLGlEQUE2RDtBQUM3RCw2Q0FBMEQ7QUFRMUQsa0JBQWUsQ0FBQyxFQUNkLElBQUksRUFDSixLQUFLLEVBQ0wsVUFBVSxFQUNWLFFBQVEsRUFDUixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLG1CQUFtQixHQUNiLEVBQUUsRUFBRTtJQUNWLElBQUksR0FBRyxJQUFBLCtCQUFzQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBDLE1BQU0sUUFBUSxHQUFHLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUU7UUFDakQsbUJBQW1CLEVBQUUsSUFBSTtRQUN6QixHQUFHLEtBQUs7UUFFUixNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFO1FBQ3hCLDZCQUE2QixFQUFFO1lBQzdCO2dCQUNFLFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLElBQUksRUFBRSxHQUFHLElBQUksT0FBTztnQkFDcEIsb0JBQW9CLEVBQUUsVUFBVTthQUNqQztTQUNGO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsa0JBQWtCO0lBQ2xCLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN4RCxDQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBWSxDQUFDLENBQ2xDLENBQUM7SUFFRixJQUFBLGVBQU0sRUFBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtRQUM5QixNQUFNLFlBQVksR0FBRyxJQUFBLGtDQUF1QixFQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWpELElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQixjQUFjO1lBQ2QsSUFBQSx1QkFBVSxFQUFDO2dCQUNULFdBQVc7Z0JBQ1gsVUFBVSxFQUFFLFlBQVksRUFBRSxJQUFJLElBQUksRUFBRTtnQkFDcEMsUUFBUSxFQUFFLGtCQUFrQjthQUM3QixDQUFDLENBQUM7WUFFSCxjQUFjO1lBQ2QsSUFBQSxlQUFNLEVBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzdCLE1BQU0sTUFBTSxHQUFHLElBQUEsOEJBQXFCLEVBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzFDLElBQUEsaUNBQW9CLEVBQUM7b0JBQ25CLElBQUk7b0JBQ0osS0FBSztvQkFDTCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixNQUFNO2lCQUNQLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixhQUFhO1lBQ2IsTUFBTSxJQUFJLEdBQUcsSUFBQSxvQkFBVyxFQUFDO2dCQUN2QixJQUFJLEVBQUUsR0FBRyxZQUFZLEVBQUUsSUFBSSxJQUFJLGtCQUFrQixFQUFFO2dCQUNuRCxLQUFLO2FBQ04sQ0FBQyxDQUFDO1lBRUgsaUJBQWlCO1lBQ2pCLElBQUEsdUJBQVUsRUFBQztnQkFDVCxXQUFXO2dCQUNYLFVBQVUsRUFBRSxHQUFHO2dCQUNmLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLFNBQVMsRUFBRSxJQUFJO2FBQ2hCLENBQUMsQ0FBQztZQUNILGNBQWM7WUFDZCxJQUFBLGVBQU0sRUFBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBQSw4QkFBcUIsRUFBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUMsSUFBQSxpQ0FBb0IsRUFBQztvQkFDbkIsSUFBSTtvQkFDSixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixNQUFNO29CQUNOLEtBQUs7b0JBQ0wsU0FBUyxFQUFFLElBQUk7aUJBQ2hCLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0gsMkVBQTJFO0lBQzNFLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyJ9
@@ -1,13 +1,12 @@
1
- import * as pulumi from '@pulumi/pulumi';
2
- import { BasicResourceArgs } from '../types';
3
- import * as network from '@pulumi/azure-native/network';
4
- import { Input } from '@pulumi/pulumi';
1
+ import { BasicResourceArgs } from "../types";
2
+ import { RouteArgs } from "./types";
3
+ import { Input } from "@pulumi/pulumi";
5
4
  interface Props extends BasicResourceArgs {
6
- routes?: pulumi.Input<pulumi.Input<network.RouteArgs>[]>;
5
+ routes?: Input<RouteArgs>[];
7
6
  }
8
7
  declare const _default: ({ name, group, routes }: Props) => import("@pulumi/azure-native/network/routeTable").RouteTable;
9
8
  export default _default;
10
- interface RouteProps extends BasicResourceArgs, Omit<network.RouteArgs, 'name' | 'id' | 'resourceGroupName' | 'type'> {
11
- routes?: Input<Input<network.RouteArgs>[]>;
9
+ interface RouteItemsProps extends BasicResourceArgs, Omit<RouteArgs, "name"> {
10
+ routeTableName: Input<string>;
12
11
  }
13
- export declare const updateRuoteItem: ({ name, group, ...others }: RouteProps) => import("@pulumi/azure-native/network/route").Route;
12
+ export declare const updateRouteItems: ({ name, group, ...others }: RouteItemsProps) => import("@pulumi/azure-native/network/route").Route;
@@ -1,23 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateRuoteItem = void 0;
3
+ exports.updateRouteItems = void 0;
4
4
  const Naming_1 = require("../Common/Naming");
5
5
  const network = require("@pulumi/azure-native/network");
6
6
  exports.default = ({ name, group, routes }) => {
7
7
  const routeName = (0, Naming_1.getRouteName)(name);
8
8
  return new network.RouteTable(routeName, {
9
- ...group,
10
9
  routeTableName: routeName,
10
+ ...group,
11
11
  routes,
12
12
  });
13
13
  };
14
- const updateRuoteItem = ({ name, group, ...others }) => {
14
+ const updateRouteItems = ({ name, group, ...others }) => {
15
15
  const routeName = (0, Naming_1.getRouteItemName)(name);
16
16
  return new network.Route(routeName, {
17
- routeName,
17
+ name: routeName,
18
18
  ...group,
19
19
  ...others,
20
20
  });
21
21
  };
22
- exports.updateRuoteItem = updateRuoteItem;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVUYWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9WTmV0L1JvdXRlVGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsNkNBQWtFO0FBQ2xFLHdEQUF3RDtBQU94RCxrQkFBZSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVMsRUFBRSxFQUFFO0lBQ2hELE1BQU0sU0FBUyxHQUFHLElBQUEscUJBQVksRUFBQyxJQUFJLENBQUMsQ0FBQztJQUVyQyxPQUFPLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUU7UUFDdkMsR0FBRyxLQUFLO1FBQ1IsY0FBYyxFQUFFLFNBQVM7UUFDekIsTUFBTTtLQUNQLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQVdLLE1BQU0sZUFBZSxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxFQUFjLEVBQUUsRUFBRTtJQUN4RSxNQUFNLFNBQVMsR0FBRyxJQUFBLHlCQUFnQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtRQUNsQyxTQUFTO1FBQ1QsR0FBRyxLQUFLO1FBQ1IsR0FBRyxNQUFNO0tBQ1YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBUFcsUUFBQSxlQUFlLG1CQU8xQiJ9
22
+ exports.updateRouteItems = updateRouteItems;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVUYWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9WTmV0L1JvdXRlVGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsNkNBQWtFO0FBQ2xFLHdEQUF3RDtBQU94RCxrQkFBZSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVMsRUFBRSxFQUFFO0lBQ2hELE1BQU0sU0FBUyxHQUFHLElBQUEscUJBQVksRUFBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxPQUFPLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUU7UUFDdkMsY0FBYyxFQUFFLFNBQVM7UUFDekIsR0FBRyxLQUFLO1FBQ1IsTUFBTTtLQUNQLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQU1LLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxFQUMvQixJQUFJLEVBQ0osS0FBSyxFQUNMLEdBQUcsTUFBTSxFQUNPLEVBQUUsRUFBRTtJQUNwQixNQUFNLFNBQVMsR0FBRyxJQUFBLHlCQUFnQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtRQUNsQyxJQUFJLEVBQUUsU0FBUztRQUNmLEdBQUcsS0FBSztRQUNSLEdBQUcsTUFBTTtLQUNWLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQVhXLFFBQUEsZ0JBQWdCLG9CQVczQiJ9
@@ -1,8 +1,8 @@
1
- import * as pulumi from '@pulumi/pulumi';
2
- import { BasicResourceArgs } from '../types';
3
- import * as network from '@pulumi/azure-native/network';
1
+ import { BasicResourceArgs } from "../types";
2
+ import { CustomSecurityRuleArgs } from "./types";
3
+ import * as pulumi from "@pulumi/pulumi";
4
4
  interface Props extends BasicResourceArgs {
5
- securityRules?: pulumi.Input<pulumi.Input<network.SecurityRuleArgs>[]>;
5
+ securityRules?: pulumi.Input<CustomSecurityRuleArgs>[];
6
6
  }
7
7
  declare const _default: ({ name, group, securityRules }: Props) => import("@pulumi/azure-native/network/networkSecurityGroup").NetworkSecurityGroup;
8
8
  export default _default;
@@ -2,12 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const Naming_1 = require("../Common/Naming");
4
4
  const network = require("@pulumi/azure-native/network");
5
- exports.default = ({ name, group, securityRules }) => {
5
+ exports.default = ({ name, group, securityRules = [] }) => {
6
6
  const sName = (0, Naming_1.getNetworkSecurityGroupName)(name);
7
7
  return new network.NetworkSecurityGroup(sName, {
8
8
  networkSecurityGroupName: sName,
9
9
  ...group,
10
- securityRules,
10
+ securityRules: securityRules.map((s) => ({
11
+ ...s,
12
+ ...group,
13
+ networkSecurityGroupName: sName,
14
+ })),
11
15
  });
12
16
  };
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjdXJpdHlHcm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9WTmV0L1NlY3VyaXR5R3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSw2Q0FBK0Q7QUFDL0Qsd0RBQXdEO0FBTXhELGtCQUFlLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBUyxFQUFFLEVBQUU7SUFDdkQsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQ0FBMkIsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUVoRCxPQUFPLElBQUksT0FBTyxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRTtRQUM3Qyx3QkFBd0IsRUFBRSxLQUFLO1FBQy9CLEdBQUcsS0FBSztRQUNSLGFBQWE7S0FDZCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMifQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjdXJpdHlHcm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9WTmV0L1NlY3VyaXR5R3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSw2Q0FBK0Q7QUFDL0Qsd0RBQXdEO0FBT3hELGtCQUFlLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGFBQWEsR0FBRyxFQUFFLEVBQVMsRUFBRSxFQUFFO0lBQzVELE1BQU0sS0FBSyxHQUFHLElBQUEsb0NBQTJCLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFFaEQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUU7UUFDN0Msd0JBQXdCLEVBQUUsS0FBSztRQUMvQixHQUFHLEtBQUs7UUFDUixhQUFhLEVBQUUsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN2QyxHQUFHLENBQUM7WUFDSixHQUFHLEtBQUs7WUFDUix3QkFBd0IsRUFBRSxLQUFLO1NBQ2hDLENBQUMsQ0FBQztLQUNKLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyJ9
package/VNet/Subnet.d.ts CHANGED
@@ -3,17 +3,19 @@ import { ResourceGroupInfo } from "../types";
3
3
  import * as network from "@pulumi/azure-native/network";
4
4
  import { DelegateServices } from "./Vnet";
5
5
  export interface SubnetProps {
6
- name: string;
7
6
  /** The index of prefixSpaces*/
8
7
  addressPrefix: string;
9
- /** Enable this to allow to link private endpoint network policies */
8
+ allowedServiceEndpoints?: boolean | string[];
9
+ delegateServices?: DelegateServices[];
10
+ /** Enable this to allow linking private endpoint network policies */
10
11
  enablePrivateEndpoint?: boolean;
11
- /** Enable this to allow to link private link service network policies*/
12
+ /** Enable this to allow linking private link service network policies*/
12
13
  enablePrivateLinkService?: boolean;
13
- enableSecurityGroup?: boolean;
14
14
  enableRouteTable?: boolean;
15
- allowedServiceEndpoints?: boolean | string[];
16
- delegateServices?: DelegateServices[];
15
+ enableSecurityGroup?: boolean;
16
+ /** link Nat gateway into this subnet */
17
+ enableNatGateway?: boolean;
18
+ name: string;
17
19
  }
18
20
  interface Props {
19
21
  subnet: SubnetProps;
@@ -21,6 +23,7 @@ interface Props {
21
23
  group: ResourceGroupInfo;
22
24
  securityGroup?: network.NetworkSecurityGroup;
23
25
  routeTable?: network.RouteTable;
26
+ natGateway?: network.NatGateway;
24
27
  }
25
- declare const _default: ({ group, subnet, vnetName, routeTable, securityGroup, }: Props) => network.SubnetArgs;
28
+ declare const _default: ({ group, subnet, vnetName, routeTable, natGateway, securityGroup, }: Props) => network.SubnetArgs;
26
29
  export default _default;
package/VNet/Subnet.js CHANGED
@@ -12,7 +12,7 @@ const defaultServicesEndpoints = [
12
12
  "Microsoft.Storage",
13
13
  "Microsoft.Web",
14
14
  ];
15
- exports.default = ({ group, subnet, vnetName, routeTable, securityGroup, }) => {
15
+ exports.default = ({ group, subnet, vnetName, routeTable, natGateway, securityGroup, }) => {
16
16
  const serviceEndpoints = Array.isArray(subnet.allowedServiceEndpoints)
17
17
  ? subnet.allowedServiceEndpoints
18
18
  : subnet.allowedServiceEndpoints === true
@@ -24,10 +24,11 @@ exports.default = ({ group, subnet, vnetName, routeTable, securityGroup, }) => {
24
24
  ...group,
25
25
  addressPrefix: subnet.addressPrefix,
26
26
  virtualNetworkName: vnetName,
27
+ networkSecurityGroup: securityGroup ? { id: securityGroup.id } : undefined,
28
+ natGateway: natGateway ? { id: natGateway.id } : undefined,
27
29
  routeTable: subnet.enableRouteTable !== false && routeTable
28
30
  ? { id: routeTable.id }
29
31
  : undefined,
30
- networkSecurityGroup: securityGroup ? { id: securityGroup.id } : undefined,
31
32
  privateLinkServiceNetworkPolicies: subnet.enablePrivateLinkService
32
33
  ? network.VirtualNetworkPrivateLinkServiceNetworkPolicies.Enabled
33
34
  : network.VirtualNetworkPrivateLinkServiceNetworkPolicies.Disabled,
@@ -45,4 +46,4 @@ exports.default = ({ group, subnet, vnetName, routeTable, securityGroup, }) => {
45
46
  : undefined,
46
47
  };
47
48
  };
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VibmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1ZOZXQvU3VibmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsd0RBQXdEO0FBR3hELE1BQU0sd0JBQXdCLEdBQUc7SUFDL0IsZ0NBQWdDO0lBQ2hDLHlCQUF5QjtJQUN6Qiw2QkFBNkI7SUFDN0Isb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixlQUFlO0NBQ2hCLENBQUM7QUF3QkYsa0JBQWUsQ0FBQyxFQUNkLEtBQUssRUFDTCxNQUFNLEVBQ04sUUFBUSxFQUNSLFVBQVUsRUFDVixhQUFhLEdBQ1AsRUFBc0IsRUFBRTtJQUM5QixNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDO1FBQ3BFLENBQUMsQ0FBQyxNQUFNLENBQUMsdUJBQXVCO1FBQ2hDLENBQUMsQ0FBQyxNQUFNLENBQUMsdUJBQXVCLEtBQUssSUFBSTtZQUN6QyxDQUFDLENBQUMsd0JBQXdCO1lBQzFCLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFZCxPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1FBQ2pCLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSTtRQUN2QixHQUFHLEtBQUs7UUFDUixhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWE7UUFDbkMsa0JBQWtCLEVBQUUsUUFBUTtRQUU1QixVQUFVLEVBQ1IsTUFBTSxDQUFDLGdCQUFnQixLQUFLLEtBQUssSUFBSSxVQUFVO1lBQzdDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLENBQUMsQ0FBQyxTQUFTO1FBQ2Ysb0JBQW9CLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFFMUUsaUNBQWlDLEVBQUUsTUFBTSxDQUFDLHdCQUF3QjtZQUNoRSxDQUFDLENBQUMsT0FBTyxDQUFDLCtDQUErQyxDQUFDLE9BQU87WUFDakUsQ0FBQyxDQUFDLE9BQU8sQ0FBQywrQ0FBK0MsQ0FBQyxRQUFRO1FBRXBFLDhCQUE4QixFQUFFLE1BQU0sQ0FBQyxxQkFBcUI7WUFDMUQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyw0Q0FBNEMsQ0FBQyxPQUFPO1lBQzlELENBQUMsQ0FBQyxPQUFPLENBQUMsNENBQTRDLENBQUMsUUFBUTtRQUVqRSxnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDaEMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDLFNBQVM7UUFFYixXQUFXLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjtZQUNsQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxXQUFXO2dCQUNyRCxXQUFXLEVBQUUsQ0FBQzthQUNmLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxTQUFTO0tBQ2QsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VibmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1ZOZXQvU3VibmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsd0RBQXdEO0FBR3hELE1BQU0sd0JBQXdCLEdBQUc7SUFDL0IsZ0NBQWdDO0lBQ2hDLHlCQUF5QjtJQUN6Qiw2QkFBNkI7SUFDN0Isb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixlQUFlO0NBQ2hCLENBQUM7QUEyQkYsa0JBQWUsQ0FBQyxFQUNkLEtBQUssRUFDTCxNQUFNLEVBQ04sUUFBUSxFQUNSLFVBQVUsRUFDVixVQUFVLEVBQ1YsYUFBYSxHQUNQLEVBQXNCLEVBQUU7SUFDOUIsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQztRQUNwRSxDQUFDLENBQUMsTUFBTSxDQUFDLHVCQUF1QjtRQUNoQyxDQUFDLENBQUMsTUFBTSxDQUFDLHVCQUF1QixLQUFLLElBQUk7WUFDdkMsQ0FBQyxDQUFDLHdCQUF3QjtZQUMxQixDQUFDLENBQUMsU0FBUyxDQUFDO0lBRWhCLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7UUFDakIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1FBQ3ZCLEdBQUcsS0FBSztRQUNSLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYTtRQUNuQyxrQkFBa0IsRUFBRSxRQUFRO1FBQzVCLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsYUFBYSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQzFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUUxRCxVQUFVLEVBQ1IsTUFBTSxDQUFDLGdCQUFnQixLQUFLLEtBQUssSUFBSSxVQUFVO1lBQzdDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLENBQUMsQ0FBQyxTQUFTO1FBRWYsaUNBQWlDLEVBQUUsTUFBTSxDQUFDLHdCQUF3QjtZQUNoRSxDQUFDLENBQUMsT0FBTyxDQUFDLCtDQUErQyxDQUFDLE9BQU87WUFDakUsQ0FBQyxDQUFDLE9BQU8sQ0FBQywrQ0FBK0MsQ0FBQyxRQUFRO1FBRXBFLDhCQUE4QixFQUFFLE1BQU0sQ0FBQyxxQkFBcUI7WUFDMUQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyw0Q0FBNEMsQ0FBQyxPQUFPO1lBQzlELENBQUMsQ0FBQyxPQUFPLENBQUMsNENBQTRDLENBQUMsUUFBUTtRQUVqRSxnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDaEMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDLFNBQVM7UUFFYixXQUFXLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjtZQUNsQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxXQUFXO2dCQUNyRCxXQUFXLEVBQUUsQ0FBQzthQUNmLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxTQUFTO0tBQ2QsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
@@ -0,0 +1,13 @@
1
+ import { BasicResourceArgs } from "../types";
2
+ import { Input } from "@pulumi/pulumi";
3
+ import * as network from "@pulumi/azure-native/network";
4
+ export interface VpnGatewayProps extends BasicResourceArgs {
5
+ subnetId: Input<string>;
6
+ vpnClientAddressPools?: string[];
7
+ sku?: {
8
+ name?: network.VirtualNetworkGatewaySkuName;
9
+ tier?: network.VirtualNetworkGatewaySkuTier;
10
+ };
11
+ }
12
+ declare const _default: ({ name, group, subnetId, vpnClientAddressPools, sku, dependsOn, }: VpnGatewayProps) => import("@pulumi/azure-native/network/virtualNetworkGateway").VirtualNetworkGateway;
13
+ export default _default;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Naming_1 = require("../Common/Naming");
4
+ const pulumi_1 = require("@pulumi/pulumi");
5
+ const network = require("@pulumi/azure-native/network");
6
+ const AzureEnv_1 = require("../Common/AzureEnv");
7
+ const IpAddress_1 = require("./IpAddress");
8
+ // https://learn.microsoft.com/en-us/azure/vpn-gateway/openvpn-azure-ad-tenant
9
+ exports.default = ({ name, group, subnetId, vpnClientAddressPools = ["172.16.100.0/24"], sku = {
10
+ name: network.VirtualNetworkGatewaySkuName.VpnGw1,
11
+ tier: network.VirtualNetworkGatewaySkuTier.VpnGw1,
12
+ }, dependsOn, }) => {
13
+ name = (0, Naming_1.getVpnName)(name);
14
+ const ipAddress = (0, IpAddress_1.default)({
15
+ name,
16
+ group,
17
+ enableZone: false,
18
+ lock: false,
19
+ dependsOn,
20
+ });
21
+ return new network.VirtualNetworkGateway(name, {
22
+ virtualNetworkGatewayName: name,
23
+ ...group,
24
+ sku,
25
+ gatewayType: "Vpn",
26
+ vpnType: "RouteBased",
27
+ enableBgp: false,
28
+ activeActive: false,
29
+ enableDnsForwarding: false,
30
+ allowRemoteVnetTraffic: true,
31
+ ipConfigurations: [
32
+ {
33
+ name: "vnetGatewayConfig",
34
+ publicIPAddress: {
35
+ id: ipAddress.id,
36
+ },
37
+ subnet: {
38
+ id: subnetId,
39
+ },
40
+ },
41
+ ],
42
+ vpnClientConfiguration: {
43
+ // aadAudience?: pulumi.Input<string>;
44
+ // aadIssuer?: pulumi.Input<string>;
45
+ // aadTenant?: pulumi.Input<string>;
46
+ // radiusServerAddress?: pulumi.Input<string>;
47
+ // radiusServerSecret?: pulumi.Input<string>;
48
+ // radiusServers?: pulumi.Input<pulumi.Input<inputs.network.RadiusServerArgs>[]>;
49
+ // vngClientConnectionConfigurations?: pulumi.Input<pulumi.Input<inputs.network.VngClientConnectionConfigurationArgs>[]>;
50
+ // vpnAuthenticationTypes?: pulumi.Input<pulumi.Input<string | enums.network.VpnAuthenticationType>[]>;
51
+ // vpnClientAddressPool?: pulumi.Input<inputs.network.AddressSpaceArgs>;
52
+ // vpnClientIpsecPolicies?: pulumi.Input<pulumi.Input<inputs.network.IpsecPolicyArgs>[]>;
53
+ // vpnClientProtocols?: pulumi.Input<pulumi.Input<string | enums.network.VpnClientProtocol>[]>;
54
+ // vpnClientRevokedCertificates?: pulumi.Input<pulumi.Input<inputs.network.VpnClientRevokedCertificateArgs>[]>;
55
+ // vpnClientRootCertificates?: pulumi.Input<pulumi.Input<inputs.network.VpnClientRootCertificateArgs>[]>;
56
+ vpnClientProtocols: ["OpenVPN"],
57
+ vpnClientAddressPool: vpnClientAddressPools
58
+ ? {
59
+ addressPrefixes: vpnClientAddressPools,
60
+ }
61
+ : undefined,
62
+ vpnClientRootCertificates: [],
63
+ vpnClientRevokedCertificates: [],
64
+ radiusServerAddress: "",
65
+ radiusServerSecret: "",
66
+ vpnAuthenticationTypes: [network.VpnAuthenticationType.AAD],
67
+ aadTenant: (0, pulumi_1.interpolate) `https://login.microsoftonline.com/${AzureEnv_1.tenantId}`,
68
+ aadAudience: "41b23e61-6c1e-4545-b367-cd054e0ed4b4",
69
+ aadIssuer: (0, pulumi_1.interpolate) `https://sts.windows.net/${AzureEnv_1.tenantId}/`,
70
+ },
71
+ }, { dependsOn: ipAddress });
72
+ };
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVlBOR2F0ZXdheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9WTmV0L1ZQTkdhdGV3YXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSw2Q0FBOEM7QUFDOUMsMkNBQW9EO0FBQ3BELHdEQUF3RDtBQUN4RCxpREFBOEM7QUFDOUMsMkNBQW9DO0FBV3BDLDhFQUE4RTtBQUM5RSxrQkFBZSxDQUFDLEVBQ2QsSUFBSSxFQUNKLEtBQUssRUFDTCxRQUFRLEVBQ1IscUJBQXFCLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUMzQyxHQUFHLEdBQUc7SUFDSixJQUFJLEVBQUUsT0FBTyxDQUFDLDRCQUE0QixDQUFDLE1BQU07SUFDakQsSUFBSSxFQUFFLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNO0NBQ2xELEVBQ0QsU0FBUyxHQUNPLEVBQUUsRUFBRTtJQUNwQixJQUFJLEdBQUcsSUFBQSxtQkFBVSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLE1BQU0sU0FBUyxHQUFHLElBQUEsbUJBQVMsRUFBQztRQUMxQixJQUFJO1FBQ0osS0FBSztRQUNMLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLElBQUksRUFBRSxLQUFLO1FBQ1gsU0FBUztLQUNWLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxPQUFPLENBQUMscUJBQXFCLENBQ3RDLElBQUksRUFDSjtRQUNFLHlCQUF5QixFQUFFLElBQUk7UUFDL0IsR0FBRyxLQUFLO1FBQ1IsR0FBRztRQUVILFdBQVcsRUFBRSxLQUFLO1FBQ2xCLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLFlBQVksRUFBRSxLQUFLO1FBQ25CLG1CQUFtQixFQUFFLEtBQUs7UUFDMUIsc0JBQXNCLEVBQUUsSUFBSTtRQUU1QixnQkFBZ0IsRUFBRTtZQUNoQjtnQkFDRSxJQUFJLEVBQUUsbUJBQW1CO2dCQUN6QixlQUFlLEVBQUU7b0JBQ2YsRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFFO2lCQUNqQjtnQkFDRCxNQUFNLEVBQUU7b0JBQ04sRUFBRSxFQUFFLFFBQVE7aUJBQ2I7YUFDRjtTQUNGO1FBRUQsc0JBQXNCLEVBQUU7WUFDdEIsc0NBQXNDO1lBQ3RDLG9DQUFvQztZQUNwQyxvQ0FBb0M7WUFDcEMsOENBQThDO1lBQzlDLDZDQUE2QztZQUM3QyxpRkFBaUY7WUFDakYseUhBQXlIO1lBQ3pILHVHQUF1RztZQUN2Ryx3RUFBd0U7WUFDeEUseUZBQXlGO1lBQ3pGLCtGQUErRjtZQUMvRiwrR0FBK0c7WUFDL0cseUdBQXlHO1lBRXpHLGtCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDO1lBQy9CLG9CQUFvQixFQUFFLHFCQUFxQjtnQkFDekMsQ0FBQyxDQUFDO29CQUNFLGVBQWUsRUFBRSxxQkFBcUI7aUJBQ3ZDO2dCQUNILENBQUMsQ0FBQyxTQUFTO1lBQ2IseUJBQXlCLEVBQUUsRUFBRTtZQUM3Qiw0QkFBNEIsRUFBRSxFQUFFO1lBQ2hDLG1CQUFtQixFQUFFLEVBQUU7WUFDdkIsa0JBQWtCLEVBQUUsRUFBRTtZQUV0QixzQkFBc0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUM7WUFDM0QsU0FBUyxFQUFFLElBQUEsb0JBQVcsRUFBQSxxQ0FBcUMsbUJBQVEsRUFBRTtZQUNyRSxXQUFXLEVBQUUsc0NBQXNDO1lBQ25ELFNBQVMsRUFBRSxJQUFBLG9CQUFXLEVBQUEsMkJBQTJCLG1CQUFRLEdBQUc7U0FDN0Q7S0FDRixFQUNELEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUN6QixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
@@ -1,9 +1,9 @@
1
- import { BasicResourceArgs, DefaultResourceArgs } from '../types';
2
- import * as network from '@pulumi/azure-native/network';
3
- import { Input } from '@pulumi/pulumi';
4
- import { input as inputs } from '@pulumi/azure-native/types';
5
- import { FirewallPolicyProps } from './FirewallRules/types';
6
- interface Props extends BasicResourceArgs, Omit<DefaultResourceArgs, 'monitoring'> {
1
+ import { BasicResourceArgs, DefaultResourceArgs } from "../types";
2
+ import * as network from "@pulumi/azure-native/network";
3
+ import { Input } from "@pulumi/pulumi";
4
+ import { input as inputs } from "@pulumi/azure-native/types";
5
+ import { FirewallPolicyProps } from "./types";
6
+ interface Props extends BasicResourceArgs, Omit<DefaultResourceArgs, "monitoring"> {
7
7
  /** The hub Address space */
8
8
  hubAddressPrefix: Input<string>;
9
9
  hubRoutes?: Input<Input<inputs.network.VirtualHubRouteTableV2Args>[]>;
@@ -17,9 +17,6 @@ interface Props extends BasicResourceArgs, Omit<DefaultResourceArgs, 'monitoring
17
17
  declare const _default: ({ name, group, hubAddressPrefix, hubRoutes, firewall, }: Props) => {
18
18
  wan: import("@pulumi/azure-native/network/virtualWan").VirtualWan;
19
19
  hub: import("@pulumi/azure-native/network/virtualHub").VirtualHub;
20
- firewall: {
21
- firewall: import("@pulumi/azure-native/network/azureFirewall").AzureFirewall;
22
- policy: import("@pulumi/azure-native/network/firewallPolicy").FirewallPolicy | undefined;
23
- } | undefined;
20
+ firewall: import("./Firewall").FirewallResult | undefined;
24
21
  };
25
22
  export default _default;
@@ -11,7 +11,7 @@ exports.default = ({ name, group, hubAddressPrefix, hubRoutes, firewall, }) => {
11
11
  virtualWANName: wanName,
12
12
  allowVnetToVnetTraffic: true,
13
13
  allowBranchToBranchTraffic: false,
14
- type: 'Standard',
14
+ type: "Standard",
15
15
  });
16
16
  const azFirewall = firewall?.create
17
17
  ? (0, Firewall_1.default)({
package/VNet/Vnet.d.ts CHANGED
@@ -1,51 +1,57 @@
1
- import * as pulumi from '@pulumi/pulumi';
2
- import { input as inputs } from '@pulumi/azure-native/types';
3
- import { output as outputs } from '@pulumi/azure-native/types';
4
- import { BasicResourceArgs } from '../types';
5
- import { SubnetProps } from './Subnet';
6
- export type DelegateServices = 'Microsoft.ContainerInstance/containerGroups' | 'Microsoft.Web/serverFarms';
7
- interface VnetProps extends BasicResourceArgs {
1
+ import * as network from "@pulumi/azure-native/network";
2
+ import * as pulumi from "@pulumi/pulumi";
3
+ import { output as outputs } from "@pulumi/azure-native/types";
4
+ import { BasicResourceArgs } from "../types";
5
+ import { RouteArgs, CustomSecurityRuleArgs } from "./types";
6
+ import { SubnetProps } from "./Subnet";
7
+ export type DelegateServices = "Microsoft.ContainerInstance/containerGroups" | "Microsoft.Web/serverFarms";
8
+ export interface VnetProps extends BasicResourceArgs {
8
9
  ddosId?: pulumi.Input<string>;
9
10
  /** the prefix space of vnet: ex [192.168.0.0/16]. If not provided it will collect from subnet */
10
11
  addressSpaces?: Array<pulumi.Input<string>>;
11
12
  subnets?: SubnetProps[];
12
13
  dnsServers?: pulumi.Input<pulumi.Input<string>[]>;
13
- /** The list of IP address that will allow public internet to go in*/
14
+ natGateway?: network.NatGateway;
14
15
  features?: {
15
16
  securityGroup?: {
16
- /**Add Security rule to block/allow inbound internet if it is TRUE*/
17
+ enabled?: boolean;
17
18
  /**Add Security rule to block/allow internet if it is TRUE*/
18
19
  allowOutboundInternetAccess?: boolean;
19
- rules?: pulumi.Input<inputs.network.SecurityRuleArgs>[];
20
+ rules?: pulumi.Input<CustomSecurityRuleArgs>[];
20
21
  };
21
22
  routeTable?: {
22
- rules?: pulumi.Input<inputs.network.RouteArgs>[];
23
+ enabled?: boolean;
24
+ rules?: pulumi.Input<RouteArgs>[];
23
25
  };
24
26
  appGatewaySubnet?: {
25
27
  addressPrefix: string;
26
- version: 'v1' | 'v2';
28
+ version: "v1" | "v2";
29
+ };
30
+ gatewaySubnet?: {
31
+ addressPrefix: string;
27
32
  };
28
33
  firewall?: {
29
34
  /** Subnet address Prefix */
30
35
  addressPrefix: string;
36
+ enableNatGateway?: boolean;
31
37
  managementAddressPrefix?: string;
32
38
  };
33
39
  bastion?: {
34
40
  /** Subnet address Prefix */
35
41
  addressPrefix: string;
36
- /** In case just want to create subnet only without bastion host */
37
- disableBastionHostCreation?: boolean;
38
42
  };
39
43
  };
40
44
  }
41
- declare const _default: ({ name, group, ddosId, addressSpaces, subnets, dnsServers, features, }: VnetProps) => {
42
- vnet: import("@pulumi/azure-native/network/virtualNetwork").VirtualNetwork;
43
- firewallSubnet: pulumi.OutputInstance<outputs.network.SubnetResponse> & pulumi.LiftedObject<outputs.network.SubnetResponse, "type" | "id" | "name" | "etag" | "provisioningState" | "addressPrefix" | "ipConfigurations" | "addressPrefixes" | "purpose" | "serviceEndpoints" | "networkSecurityGroup" | "natGateway" | "applicationGatewayIPConfigurations" | "delegations" | "ipAllocations" | "ipConfigurationProfiles" | "privateEndpointNetworkPolicies" | "privateEndpoints" | "privateLinkServiceNetworkPolicies" | "resourceNavigationLinks" | "routeTable" | "serviceAssociationLinks" | "serviceEndpointPolicies" | "interfaceEndpoints" | undefined>;
44
- firewallManageSubnet: pulumi.OutputInstance<outputs.network.SubnetResponse> & pulumi.LiftedObject<outputs.network.SubnetResponse, "type" | "id" | "name" | "etag" | "provisioningState" | "addressPrefix" | "ipConfigurations" | "addressPrefixes" | "purpose" | "serviceEndpoints" | "networkSecurityGroup" | "natGateway" | "applicationGatewayIPConfigurations" | "delegations" | "ipAllocations" | "ipConfigurationProfiles" | "privateEndpointNetworkPolicies" | "privateEndpoints" | "privateLinkServiceNetworkPolicies" | "resourceNavigationLinks" | "routeTable" | "serviceAssociationLinks" | "serviceEndpointPolicies" | "interfaceEndpoints" | undefined>;
45
- appGatewaySubnet: pulumi.OutputInstance<outputs.network.SubnetResponse> & pulumi.LiftedObject<outputs.network.SubnetResponse, "type" | "id" | "name" | "etag" | "provisioningState" | "addressPrefix" | "ipConfigurations" | "addressPrefixes" | "purpose" | "serviceEndpoints" | "networkSecurityGroup" | "natGateway" | "applicationGatewayIPConfigurations" | "delegations" | "ipAllocations" | "ipConfigurationProfiles" | "privateEndpointNetworkPolicies" | "privateEndpoints" | "privateLinkServiceNetworkPolicies" | "resourceNavigationLinks" | "routeTable" | "serviceAssociationLinks" | "serviceEndpointPolicies" | "interfaceEndpoints" | undefined>;
46
- bastionSubnet: pulumi.OutputInstance<outputs.network.SubnetResponse> & pulumi.LiftedObject<outputs.network.SubnetResponse, "type" | "id" | "name" | "etag" | "provisioningState" | "addressPrefix" | "ipConfigurations" | "addressPrefixes" | "purpose" | "serviceEndpoints" | "networkSecurityGroup" | "natGateway" | "applicationGatewayIPConfigurations" | "delegations" | "ipAllocations" | "ipConfigurationProfiles" | "privateEndpointNetworkPolicies" | "privateEndpoints" | "privateLinkServiceNetworkPolicies" | "resourceNavigationLinks" | "routeTable" | "serviceAssociationLinks" | "serviceEndpointPolicies" | "interfaceEndpoints" | undefined>;
47
- subnets: Record<string, pulumi.OutputInstance<outputs.network.SubnetResponse> & pulumi.LiftedObject<outputs.network.SubnetResponse, "type" | "id" | "name" | "etag" | "provisioningState" | "addressPrefix" | "ipConfigurations" | "addressPrefixes" | "purpose" | "serviceEndpoints" | "networkSecurityGroup" | "natGateway" | "applicationGatewayIPConfigurations" | "delegations" | "ipAllocations" | "ipConfigurationProfiles" | "privateEndpointNetworkPolicies" | "privateEndpoints" | "privateLinkServiceNetworkPolicies" | "resourceNavigationLinks" | "routeTable" | "serviceAssociationLinks" | "serviceEndpointPolicies" | "interfaceEndpoints" | undefined>>;
48
- securityGroup: import("@pulumi/azure-native/network/networkSecurityGroup").NetworkSecurityGroup | undefined;
49
- routeTable: import("@pulumi/azure-native/network/routeTable").RouteTable;
45
+ export type VnetResult = {
46
+ vnet: network.VirtualNetwork;
47
+ appGatewaySubnet: pulumi.OutputInstance<outputs.network.SubnetResponse | undefined>;
48
+ gatewaySubnet: pulumi.OutputInstance<outputs.network.SubnetResponse | undefined>;
49
+ firewallManageSubnet: pulumi.OutputInstance<outputs.network.SubnetResponse | undefined>;
50
+ routeTable?: network.RouteTable;
51
+ firewallSubnet: pulumi.OutputInstance<outputs.network.SubnetResponse | undefined>;
52
+ bastionSubnet: pulumi.OutputInstance<outputs.network.SubnetResponse | undefined>;
53
+ findSubnet: (name: string) => pulumi.OutputInstance<outputs.network.SubnetResponse | undefined>;
54
+ securityGroup: undefined | network.NetworkSecurityGroup;
50
55
  };
56
+ declare const _default: ({ name, group, ddosId, addressSpaces, subnets, natGateway, dnsServers, features, dependsOn, }: VnetProps) => VnetResult;
51
57
  export default _default;