@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
package/Storage/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const storage = require("@pulumi/azure-native/storage");
4
- const Helpers_1 = require("../Logs/Helpers");
5
4
  const Helper_1 = require("../KeyVault/Helper");
6
5
  const AzureEnv_1 = require("../Common/AzureEnv");
7
6
  const CdnEndpoint_1 = require("./CdnEndpoint");
@@ -9,18 +8,18 @@ const Naming_1 = require("../Common/Naming");
9
8
  const CustomHelper_1 = require("../KeyVault/CustomHelper");
10
9
  const Locker_1 = require("../Core/Locker");
11
10
  const ManagementRules_1 = require("./ManagementRules");
12
- const VaultPermissions_1 = require("../KeyVault/VaultPermissions");
11
+ const Helper_2 = require("../AzAd/Helper");
13
12
  /** Storage Creator */
14
13
  exports.default = ({ name, group, customDomain, allowsCors, vaultInfo, defaultManagementRules, containers = [], queues = [], fileShares = [],
15
14
  //appInsight,
16
15
  network, featureFlags = {}, policies = { keyExpirationPeriodInDays: 365 }, lock = true, }) => {
17
16
  name = (0, Naming_1.getStorageName)(name);
18
- const primaryKeyName = (0, Naming_1.getKeyName)(name, 'primary');
19
- const secondaryKeyName = (0, Naming_1.getKeyName)(name, 'secondary');
20
- const primaryConnectionKeyName = (0, Naming_1.getConnectionName)(name, 'primary');
21
- const secondConnectionKeyName = (0, Naming_1.getConnectionName)(name, 'secondary');
17
+ const primaryKeyName = (0, Naming_1.getKeyName)(name, "primary");
18
+ const secondaryKeyName = (0, Naming_1.getKeyName)(name, "secondary");
19
+ const primaryConnectionKeyName = (0, Naming_1.getConnectionName)(name, "primary");
20
+ const secondConnectionKeyName = (0, Naming_1.getConnectionName)(name, "secondary");
22
21
  const encryptionKey = featureFlags.enableKeyVaultEncryption
23
- ? (0, Helper_1.getEncryptionKey)(name, vaultInfo)
22
+ ? (0, Helper_1.getEncryptionKeyOutput)(name, vaultInfo)
24
23
  : undefined;
25
24
  //To fix identity issue then using this approach https://github.com/pulumi/pulumi-azure-native/blob/master/examples/keyvault/index.ts
26
25
  const stg = new storage.StorageAccount(name, {
@@ -32,13 +31,13 @@ network, featureFlags = {}, policies = { keyExpirationPeriodInDays: 365 }, lock
32
31
  ? storage.SkuName.Standard_ZRS //Zone redundant in PRD
33
32
  : storage.SkuName.Standard_LRS,
34
33
  },
35
- accessTier: 'Hot',
34
+ accessTier: "Hot",
36
35
  isHnsEnabled: true,
37
36
  enableHttpsTrafficOnly: true,
38
37
  allowBlobPublicAccess: policies?.allowBlobPublicAccess,
39
38
  allowSharedKeyAccess: featureFlags.allowSharedKeyAccess,
40
- identity: { type: 'SystemAssigned' },
41
- minimumTlsVersion: 'TLS1_2',
39
+ identity: { type: "SystemAssigned" },
40
+ minimumTlsVersion: "TLS1_2",
42
41
  //1 Year Months
43
42
  keyPolicy: {
44
43
  keyExpirationPeriodInDays: policies.keyExpirationPeriodInDays || 365,
@@ -55,16 +54,13 @@ network, featureFlags = {}, policies = { keyExpirationPeriodInDays: 365 }, lock
55
54
  keyType: storage.KeyType.Account,
56
55
  },
57
56
  },
58
- keySource: storage.KeySource.Microsoft_Keyvault,
59
- keyVaultProperties: encryptionKey.apply((k) => ({
60
- keyName: k.name,
61
- keyVaultUri: k.properties.vaultUrl,
62
- })),
57
+ keySource: "Microsoft.KeyVault",
58
+ keyVaultProperties: encryptionKey,
63
59
  }
64
60
  : undefined,
65
61
  sasPolicy: {
66
62
  expirationAction: storage.ExpirationAction.Log,
67
- sasExpirationPeriod: '00.00:30:00',
63
+ sasExpirationPeriod: "00.00:30:00",
68
64
  },
69
65
  customDomain: customDomain && !featureFlags.enableStaticWebsite
70
66
  ? { name: customDomain, useSubDomainName: true }
@@ -78,19 +74,19 @@ network, featureFlags = {}, policies = { keyExpirationPeriodInDays: 365 }, lock
78
74
  // },
79
75
  networkRuleSet: network
80
76
  ? {
81
- bypass: 'Logging, Metrics',
82
- defaultAction: 'Allow',
77
+ bypass: "Logging, Metrics",
78
+ defaultAction: "Allow",
83
79
  virtualNetworkRules: network.subnetId
84
80
  ? [{ virtualNetworkResourceId: network.subnetId }]
85
81
  : undefined,
86
82
  ipRules: network.ipAddresses
87
83
  ? network.ipAddresses.map((i) => ({
88
84
  iPAddressOrRange: i,
89
- action: 'Allow',
85
+ action: "Allow",
90
86
  }))
91
87
  : undefined,
92
88
  }
93
- : { defaultAction: 'Allow' },
89
+ : { defaultAction: "Allow" },
94
90
  });
95
91
  //Soft Delete
96
92
  if (policies) {
@@ -144,15 +140,14 @@ network, featureFlags = {}, policies = { keyExpirationPeriodInDays: 365 }, lock
144
140
  new storage.StorageAccountStaticWebsite(name, {
145
141
  accountName: stg.name,
146
142
  ...group,
147
- indexDocument: 'index.html',
148
- error404Document: 'index.html',
143
+ indexDocument: "index.html",
144
+ error404Document: "index.html",
149
145
  }, { dependsOn: stg });
150
146
  // if (appInsight && customDomain) {
151
147
  // addInsightMonitor({ name, appInsight, url: customDomain });
152
148
  // }
153
149
  }
154
- else if (AzureEnv_1.isPrd)
155
- (0, Helpers_1.createThreatProtection)({ name, targetResourceId: stg.id });
150
+ //createThreatProtection({ name, targetResourceId: stg.id });
156
151
  //Create Azure CDN if customDomain provided
157
152
  if ((featureFlags.enableStaticWebsite && customDomain) ||
158
153
  featureFlags.forceUseCdn) {
@@ -173,7 +168,7 @@ network, featureFlags = {}, policies = { keyExpirationPeriodInDays: 365 }, lock
173
168
  ...group,
174
169
  accountName: stg.name,
175
170
  //denyEncryptionScopeOverride: true,
176
- publicAccess: c.public ? 'Blob' : 'None',
171
+ publicAccess: c.public ? "Blob" : "None",
177
172
  });
178
173
  if (c.managementRules) {
179
174
  (0, ManagementRules_1.createManagementRules)({
@@ -207,7 +202,12 @@ network, featureFlags = {}, policies = { keyExpirationPeriodInDays: 365 }, lock
207
202
  if (!id)
208
203
  return;
209
204
  //Allows to Read Key Vault
210
- (0, VaultPermissions_1.grantVaultAccessToIdentity)({ name, identity: stg.identity, vaultInfo });
205
+ (0, Helper_2.grantIdentityPermissions)({
206
+ name,
207
+ vaultInfo,
208
+ envRole: "readOnly",
209
+ principalId: stg.identity.apply((s) => s.principalId),
210
+ });
211
211
  const keys = (await storage.listStorageAccountKeys({
212
212
  accountName: name,
213
213
  resourceGroupName: group.resourceGroupName,
@@ -220,7 +220,7 @@ network, featureFlags = {}, policies = { keyExpirationPeriodInDays: 365 }, lock
220
220
  //Keys
221
221
  (0, CustomHelper_1.addCustomSecrets)({
222
222
  vaultInfo,
223
- contentType: 'Storage',
223
+ contentType: "Storage",
224
224
  formattedName: true,
225
225
  items: [
226
226
  {
@@ -256,4 +256,4 @@ network, featureFlags = {}, policies = { keyExpirationPeriodInDays: 365 }, lock
256
256
  : undefined,
257
257
  };
258
258
  };
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RvcmFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHdEQUF3RDtBQUl4RCw2Q0FBeUQ7QUFDekQsK0NBQWlFO0FBQ2pFLGlEQUEyQztBQUMzQywrQ0FBdUM7QUFFdkMsNkNBSTBCO0FBQzFCLDJEQUE0RDtBQUM1RCwyQ0FBb0M7QUFDcEMsdURBSTJCO0FBQzNCLG1FQUEwRTtBQXVEMUUsc0JBQXNCO0FBQ3RCLGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxFQUNMLFlBQVksRUFDWixVQUFVLEVBQ1YsU0FBUyxFQUNULHNCQUFzQixFQUN0QixVQUFVLEdBQUcsRUFBRSxFQUNmLE1BQU0sR0FBRyxFQUFFLEVBQ1gsVUFBVSxHQUFHLEVBQUU7QUFDZixhQUFhO0FBQ2IsT0FBTyxFQUNQLFlBQVksR0FBRyxFQUFFLEVBQ2pCLFFBQVEsR0FBRyxFQUFFLHlCQUF5QixFQUFFLEdBQUcsRUFBRSxFQUM3QyxJQUFJLEdBQUcsSUFBSSxHQUNFLEVBQUUsRUFBRTtJQUNqQixJQUFJLEdBQUcsSUFBQSx1QkFBYyxFQUFDLElBQUksQ0FBQyxDQUFDO0lBRTVCLE1BQU0sY0FBYyxHQUFHLElBQUEsbUJBQVUsRUFBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLG1CQUFVLEVBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sd0JBQXdCLEdBQUcsSUFBQSwwQkFBaUIsRUFBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDcEUsTUFBTSx1QkFBdUIsR0FBRyxJQUFBLDBCQUFpQixFQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyRSxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsd0JBQXdCO1FBQ3pELENBQUMsQ0FBQyxJQUFBLHlCQUFnQixFQUFDLElBQUksRUFBRSxT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
259
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RvcmFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHdEQUF3RDtBQUd4RCwrQ0FBdUU7QUFDdkUsaURBQTJDO0FBQzNDLCtDQUF1QztBQUN2Qyw2Q0FJMEI7QUFDMUIsMkRBQTREO0FBQzVELDJDQUFvQztBQUNwQyx1REFJMkI7QUFDM0IsMkNBQTBEO0FBc0QxRCxzQkFBc0I7QUFDdEIsa0JBQWUsQ0FBQyxFQUNkLElBQUksRUFDSixLQUFLLEVBQ0wsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLFVBQVUsR0FBRyxFQUFFLEVBQ2YsTUFBTSxHQUFHLEVBQUUsRUFDWCxVQUFVLEdBQUcsRUFBRTtBQUNmLGFBQWE7QUFDYixPQUFPLEVBQ1AsWUFBWSxHQUFHLEVBQUUsRUFDakIsUUFBUSxHQUFHLEVBQUUseUJBQXlCLEVBQUUsR0FBRyxFQUFFLEVBQzdDLElBQUksR0FBRyxJQUFJLEdBQ0UsRUFBRSxFQUFFO0lBQ2pCLElBQUksR0FBRyxJQUFBLHVCQUFjLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFFNUIsTUFBTSxjQUFjLEdBQUcsSUFBQSxtQkFBVSxFQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNuRCxNQUFNLGdCQUFnQixHQUFHLElBQUEsbUJBQVUsRUFBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdkQsTUFBTSx3QkFBd0IsR0FBRyxJQUFBLDBCQUFpQixFQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNwRSxNQUFNLHVCQUF1QixHQUFHLElBQUEsMEJBQWlCLEVBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyx3QkFBd0I7UUFDekQsQ0FBQyxDQUFDLElBQUEsK0JBQXNCLEVBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztRQUN6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
@@ -0,0 +1,16 @@
1
+ import { Input } from "@pulumi/pulumi";
2
+ import { VmExtensionProps } from "./Extension";
3
+ export interface AdoVMExtensionProps extends Omit<VmExtensionProps, "extension"> {
4
+ settings: {
5
+ VSTSAccountUrl: Input<string>;
6
+ TeamProject: Input<string>;
7
+ DeploymentGroup: Input<string>;
8
+ AgentName: Input<string>;
9
+ Tags?: Input<string>;
10
+ };
11
+ protectedSettings: {
12
+ PATToken: Input<string>;
13
+ };
14
+ }
15
+ declare const _default: ({ settings, protectedSettings, ...others }: AdoVMExtensionProps) => import("@pulumi/azure-native/compute/virtualMachineExtension").VirtualMachineExtension;
16
+ export default _default;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Extension_1 = require("./Extension");
4
+ exports.default = ({ settings, protectedSettings, ...others }) => (0, Extension_1.default)({
5
+ ...others,
6
+ extension: {
7
+ publisher: "Microsoft.VisualStudio.Services",
8
+ type: "TeamServicesAgentLinux",
9
+ typeHandlerVersion: "1.0",
10
+ protectedSettings,
11
+ settings,
12
+ },
13
+ });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXp1cmVEZXZPcHNFeHRlbnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVk0vQXp1cmVEZXZPcHNFeHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSwyQ0FBMEQ7QUFnQjFELGtCQUFlLENBQUMsRUFDZCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLEdBQUcsTUFBTSxFQUNXLEVBQUUsRUFBRSxDQUN4QixJQUFBLG1CQUFTLEVBQUM7SUFDUixHQUFHLE1BQU07SUFDVCxTQUFTLEVBQUU7UUFDVCxTQUFTLEVBQUUsaUNBQWlDO1FBQzVDLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsa0JBQWtCLEVBQUUsS0FBSztRQUN6QixpQkFBaUI7UUFDakIsUUFBUTtLQUNUO0NBQ0YsQ0FBQyxDQUFDIn0=
@@ -0,0 +1,15 @@
1
+ import { BasicResourceArgs } from "../types";
2
+ import { Input } from "@pulumi/pulumi";
3
+ export interface VmExtensionProps extends BasicResourceArgs {
4
+ vmName: Input<string>;
5
+ enableAutomaticUpgrade?: boolean;
6
+ extension: {
7
+ publisher: Input<string>;
8
+ type: Input<string>;
9
+ typeHandlerVersion: Input<string>;
10
+ settings?: Record<string, Input<string>>;
11
+ protectedSettings?: Record<string, Input<string>>;
12
+ };
13
+ }
14
+ declare const _default: ({ name, group, vmName, extension, enableAutomaticUpgrade, dependsOn, }: VmExtensionProps) => import("@pulumi/azure-native/compute/virtualMachineExtension").VirtualMachineExtension;
15
+ export default _default;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const compute = require("@pulumi/azure-native/compute");
4
+ exports.default = ({ name, group, vmName, extension, enableAutomaticUpgrade, dependsOn, }) => new compute.VirtualMachineExtension(name, {
5
+ vmExtensionName: name,
6
+ vmName,
7
+ ...group,
8
+ ...extension,
9
+ autoUpgradeMinorVersion: true,
10
+ enableAutomaticUpgrade,
11
+ suppressFailures: false,
12
+ }, { dependsOn });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1ZNL0V4dGVuc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHdEQUF3RDtBQWV4RCxrQkFBZSxDQUFDLEVBQ2QsSUFBSSxFQUNKLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULHNCQUFzQixFQUN0QixTQUFTLEdBQ1EsRUFBRSxFQUFFLENBQ3JCLElBQUksT0FBTyxDQUFDLHVCQUF1QixDQUNqQyxJQUFJLEVBQ0o7SUFDRSxlQUFlLEVBQUUsSUFBSTtJQUNyQixNQUFNO0lBQ04sR0FBRyxLQUFLO0lBQ1IsR0FBRyxTQUFTO0lBQ1osdUJBQXVCLEVBQUUsSUFBSTtJQUM3QixzQkFBc0I7SUFDdEIsZ0JBQWdCLEVBQUUsS0FBSztDQUN4QixFQUNELEVBQUUsU0FBUyxFQUFFLENBQ2QsQ0FBQyJ9
@@ -0,0 +1,10 @@
1
+ import { BasicResourceArgs } from "../types";
2
+ import { Input } from "@pulumi/pulumi";
3
+ interface Props extends BasicResourceArgs {
4
+ time: Input<string>;
5
+ timeZone?: Input<string>;
6
+ targetResourceId: Input<string>;
7
+ task: "LabVmAutoStart" | "LabVmsShutdownTask" | "LabVmsStartupTask" | "LabVmReclamationTask" | "ComputeVmShutdownTask" | Input<string>;
8
+ }
9
+ declare const _default: ({ name, group, time, task, timeZone, targetResourceId, dependsOn, }: Props) => import("@pulumi/azure-native/devtestlab/globalSchedule").GlobalSchedule;
10
+ export default _default;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const devtestlab = require("@pulumi/azure-native/devtestlab");
4
+ exports.default = ({ name, group, time, task, timeZone, targetResourceId, dependsOn, }) => new devtestlab.GlobalSchedule(name, {
5
+ name,
6
+ ...group,
7
+ dailyRecurrence: { time },
8
+ timeZoneId: timeZone,
9
+ status: "Enabled",
10
+ targetResourceId,
11
+ taskType: task,
12
+ notificationSettings: {
13
+ status: "Disabled",
14
+ emailRecipient: "",
15
+ notificationLocale: "en",
16
+ timeInMinutes: 30,
17
+ webhookUrl: "",
18
+ },
19
+ }, { dependsOn });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsU2NoZWR1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVk0vR2xvYmFsU2NoZWR1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw4REFBOEQ7QUFpQjlELGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLEVBQ0osUUFBUSxFQUNSLGdCQUFnQixFQUNoQixTQUFTLEdBQ0gsRUFBRSxFQUFFLENBQ1YsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUMzQixJQUFJLEVBQ0o7SUFDRSxJQUFJO0lBQ0osR0FBRyxLQUFLO0lBQ1IsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFO0lBQ3pCLFVBQVUsRUFBRSxRQUFRO0lBQ3BCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLGdCQUFnQjtJQUNoQixRQUFRLEVBQUUsSUFBSTtJQUNkLG9CQUFvQixFQUFFO1FBQ3BCLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLGNBQWMsRUFBRSxFQUFFO1FBQ2xCLGtCQUFrQixFQUFFLElBQUk7UUFDeEIsYUFBYSxFQUFFLEVBQUU7UUFDakIsVUFBVSxFQUFFLEVBQUU7S0FDZjtDQUNGLEVBQ0QsRUFBRSxTQUFTLEVBQUUsQ0FDZCxDQUFDIn0=
package/VM/index.d.ts CHANGED
@@ -1,37 +1,37 @@
1
- import { Input, Resource } from '@pulumi/pulumi';
2
- import * as native from '@pulumi/azure-native';
3
- import { BasicResourceArgs, KeyVaultInfo } from '../types';
1
+ import { Input, Resource } from "@pulumi/pulumi";
2
+ import * as compute from "@pulumi/azure-native/compute";
3
+ import { BasicResourceArgs, KeyVaultInfo } from "../types";
4
+ import { VmExtensionProps } from "./Extension";
4
5
  interface Props extends BasicResourceArgs {
5
6
  subnetId: Input<string>;
6
- storageAccountType?: native.compute.StorageAccountTypes;
7
+ storageAccountType?: compute.StorageAccountTypes;
7
8
  vmSize?: Input<string>;
8
9
  login: {
9
10
  userName: Input<string>;
10
11
  password?: Input<string>;
11
12
  };
12
- windows?: {
13
- offer: 'WindowsServer';
14
- publisher: 'MicrosoftWindowsServer';
15
- sku: '2019-Datacenter';
13
+ osType?: "Windows" | "Linux";
14
+ image: {
15
+ offer: "WindowsServer" | "CentOS" | "Windows-10" | "windows-11" | string;
16
+ publisher: "MicrosoftWindowsServer" | "MicrosoftWindowsDesktop" | "Canonical" | string;
17
+ sku: "2019-Datacenter" | "21h1-pro" | "win11-23h2-pro" | string;
16
18
  };
17
- linux?: {
18
- offer: 'UbuntuServer';
19
- publisher: 'Canonical';
20
- sku: '18.04-LTS';
21
- };
22
- vaultInfo?: KeyVaultInfo;
23
- /**The time zone ID: https://stackoverflow.com/questions/7908343/list-of-timezone-ids-for-use-with-findtimezonebyid-in-c*/
24
- timeZone?: Input<string>;
19
+ enableEncryption?: boolean;
20
+ vaultInfo: KeyVaultInfo;
25
21
  osDiskSizeGB?: number;
26
22
  dataDiskSizeGB?: number;
27
23
  schedule?: {
28
- autoShutdownTime: Input<string>;
24
+ /** The time zone ID: https://stackoverflow.com/questions/7908343/list-of-timezone-ids-for-use-with-findtimezonebyid-in-c */
25
+ timeZone?: "Singapore Standard Time" | Input<string>;
26
+ /** The format is ISO 8601 Standard ex: 2200 */
27
+ autoShutdownTime?: Input<string>;
29
28
  };
29
+ extensions?: Array<Omit<VmExtensionProps, "dependsOn" | "vmName" | "group">>;
30
30
  lock?: boolean;
31
31
  tags?: {
32
32
  [key: string]: Input<string>;
33
33
  };
34
34
  dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
35
35
  }
36
- declare const _default: ({ name, group, subnetId, vmSize, timeZone, storageAccountType, osDiskSizeGB, dataDiskSizeGB, schedule, login, windows, linux, lock, tags, dependsOn, ...others }: Props) => import("@pulumi/azure-native/compute/virtualMachine").VirtualMachine;
36
+ declare const _default: ({ name, group, subnetId, osType, vmSize, extensions, storageAccountType, osDiskSizeGB, dataDiskSizeGB, enableEncryption, vaultInfo, schedule, login, image, lock, tags, dependsOn, ...others }: Props) => import("@pulumi/azure-native/compute/virtualMachine").VirtualMachine;
37
37
  export default _default;
package/VM/index.js CHANGED
@@ -1,30 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const native = require("@pulumi/azure-native");
3
+ const compute = require("@pulumi/azure-native/compute");
4
+ const network = require("@pulumi/azure-native/network");
4
5
  const Naming_1 = require("../Common/Naming");
5
6
  const Locker_1 = require("../Core/Locker");
6
- exports.default = ({ name, group, subnetId, vmSize = 'Standard_B2s', timeZone = 'Singapore Standard Time',
7
- //licenseType = 'None',
8
- storageAccountType = native.compute.StorageAccountTypes.Premium_LRS, osDiskSizeGB = 128, dataDiskSizeGB, schedule, login, windows, linux,
9
- //vaultInfo,
10
- lock = true, tags = {}, dependsOn, ...others }) => {
7
+ const Helper_1 = require("../KeyVault/Helper");
8
+ const GlobalSchedule_1 = require("./GlobalSchedule");
9
+ const Extension_1 = require("./Extension");
10
+ exports.default = ({ name, group, subnetId, osType = "Windows", vmSize = "Standard_B2s", extensions, storageAccountType = compute.StorageAccountTypes.Premium_LRS, osDiskSizeGB = 128, dataDiskSizeGB, enableEncryption, vaultInfo, schedule = { timeZone: "Singapore Standard Time" }, login, image, lock = false, tags = {}, dependsOn, ...others }) => {
11
11
  const vmName = (0, Naming_1.getVMName)(name);
12
12
  const nicName = (0, Naming_1.getNICName)(name);
13
- const nic = new native.network.NetworkInterface(nicName, {
13
+ const nic = new network.NetworkInterface(nicName, {
14
14
  networkInterfaceName: nicName,
15
15
  ...group,
16
16
  ipConfigurations: [
17
- { name: 'ipconfig', subnet: { id: subnetId }, primary: true },
17
+ { name: "ipconfig", subnet: { id: subnetId }, primary: true },
18
18
  ],
19
- nicType: native.network.NetworkInterfaceNicType.Standard,
19
+ nicType: network.NetworkInterfaceNicType.Standard,
20
20
  });
21
- const vm = new native.compute.VirtualMachine(vmName, {
21
+ //All VM will using the same Key
22
+ const keyEncryption = enableEncryption
23
+ ? (0, Helper_1.getEncryptionKeyOutput)(`az-vm-key-encryption`, vaultInfo)
24
+ : undefined;
25
+ const diskEncryption = enableEncryption
26
+ ? (0, Helper_1.getEncryptionKeyOutput)(`az-vm-disk-encryption`, vaultInfo)
27
+ : undefined;
28
+ const vm = new compute.VirtualMachine(vmName, {
22
29
  vmName,
23
30
  ...group,
24
31
  ...others,
25
32
  hardwareProfile: { vmSize },
26
- identity: { type: 'SystemAssigned' },
27
- licenseType: 'None',
33
+ identity: { type: "SystemAssigned" },
34
+ licenseType: "None",
28
35
  networkProfile: {
29
36
  networkInterfaces: [{ id: nic.id, primary: true }],
30
37
  },
@@ -35,42 +42,67 @@ lock = true, tags = {}, dependsOn, ...others }) => {
35
42
  allowExtensionOperations: true,
36
43
  //Need to be enabled at subscription level
37
44
  //requireGuestProvisionSignal: true,
38
- linuxConfiguration: linux
45
+ linuxConfiguration: osType === "Linux"
39
46
  ? {
40
47
  //ssh: { publicKeys: [{ keyData: linux.sshPublicKey! }] },
41
48
  disablePasswordAuthentication: false,
42
49
  provisionVMAgent: true,
43
50
  patchSettings: {
44
- //assessmentMode: "AutomaticByPlatform",
45
- patchMode: 'AutomaticByPlatform',
51
+ assessmentMode: compute.LinuxPatchAssessmentMode.AutomaticByPlatform,
52
+ automaticByPlatformSettings: {
53
+ bypassPlatformSafetyChecksOnUserSchedule: true,
54
+ rebootSetting: compute.LinuxVMGuestPatchAutomaticByPlatformRebootSetting
55
+ .Never,
56
+ },
57
+ patchMode: compute.LinuxVMGuestPatchMode.AutomaticByPlatform,
46
58
  },
47
59
  }
48
60
  : undefined,
49
- windowsConfiguration: windows
61
+ windowsConfiguration: osType === "Windows"
50
62
  ? {
51
63
  enableAutomaticUpdates: true,
52
64
  provisionVMAgent: true,
53
- timeZone,
65
+ timeZone: schedule?.timeZone,
54
66
  patchSettings: {
55
67
  enableHotpatching: false,
56
- //Need to be enabled at subscription level
57
- //assessmentMode: 'AutomaticByPlatform',
58
- patchMode: 'AutomaticByPlatform',
68
+ assessmentMode: compute.WindowsPatchAssessmentMode.ImageDefault,
69
+ patchMode: compute.WindowsVMGuestPatchMode.AutomaticByOS,
59
70
  },
60
71
  }
61
72
  : undefined,
62
73
  },
63
74
  storageProfile: {
64
75
  imageReference: {
65
- ...(windows || linux),
66
- version: 'latest',
76
+ ...image,
77
+ version: "latest",
67
78
  },
68
79
  osDisk: {
69
80
  name: `${name}osdisk`,
70
81
  diskSizeGB: osDiskSizeGB,
71
- caching: 'ReadWrite',
72
- createOption: 'FromImage',
73
- osType: windows ? 'Windows' : 'Linux',
82
+ caching: "ReadWrite",
83
+ createOption: "FromImage",
84
+ osType,
85
+ encryptionSettings: enableEncryption
86
+ ? {
87
+ diskEncryptionKey: diskEncryption
88
+ ? {
89
+ secretUrl: diskEncryption.url,
90
+ sourceVault: {
91
+ id: vaultInfo.id,
92
+ },
93
+ }
94
+ : undefined,
95
+ keyEncryptionKey: keyEncryption
96
+ ? {
97
+ keyUrl: keyEncryption.url,
98
+ sourceVault: {
99
+ id: vaultInfo.id,
100
+ },
101
+ }
102
+ : undefined,
103
+ enabled: enableEncryption,
104
+ }
105
+ : undefined,
74
106
  managedDisk: {
75
107
  //Changes storage account type need to be done manually through portal.
76
108
  storageAccountType,
@@ -81,7 +113,7 @@ lock = true, tags = {}, dependsOn, ...others }) => {
81
113
  {
82
114
  name: `${name}datadisk`,
83
115
  diskSizeGB: dataDiskSizeGB,
84
- createOption: native.compute.DiskCreateOptionTypes.Empty,
116
+ createOption: compute.DiskCreateOptionTypes.Empty,
85
117
  lun: 1,
86
118
  },
87
119
  ]
@@ -89,49 +121,54 @@ lock = true, tags = {}, dependsOn, ...others }) => {
89
121
  },
90
122
  diagnosticsProfile: { bootDiagnostics: { enabled: true } },
91
123
  // securityProfile: {
92
- // //Need to be enabled at subscription level
93
- // encryptionAtHost: false,
94
- // //securityType: native.compute.SecurityTypes.TrustedLaunch,
124
+ //
125
+ // uefiSettings: {
126
+ // secureBootEnabled: true,
127
+ // },
95
128
  // },
96
129
  tags,
97
130
  }, {
98
131
  dependsOn,
99
132
  ignoreChanges: [
100
- 'storageProfile.osDisk.managedDisk.storageAccountType',
101
- 'storageProfile.osDisk.managedDisk.id',
133
+ "storageProfile.osDisk.managedDisk.storageAccountType",
134
+ "storageProfile.osDisk.managedDisk.id",
102
135
  ],
103
136
  });
137
+ if (extensions) {
138
+ extensions.forEach((ex) => (0, Extension_1.default)({
139
+ ...ex,
140
+ group,
141
+ vmName,
142
+ dependsOn: vm,
143
+ }));
144
+ }
104
145
  if (lock) {
105
146
  (0, Locker_1.default)({ name: vmName, resource: vm });
106
147
  }
107
- if (schedule) {
108
- new native.devtestlab.GlobalSchedule(`shutdown-computevm-${vmName}`, {
148
+ //Auto shutdown
149
+ if (schedule?.autoShutdownTime) {
150
+ (0, GlobalSchedule_1.default)({
109
151
  name: `shutdown-computevm-${vmName}`,
110
- ...group,
111
- dailyRecurrence: { time: schedule.autoShutdownTime },
112
- timeZoneId: timeZone,
113
- status: 'Enabled',
152
+ group,
153
+ time: schedule.autoShutdownTime,
154
+ timeZone: schedule.timeZone,
114
155
  targetResourceId: vm.id,
115
- taskType: 'ComputeVmShutdownTask',
116
- notificationSettings: {
117
- status: 'Disabled',
118
- emailRecipient: '',
119
- notificationLocale: 'en',
120
- timeInMinutes: 30,
121
- webhookUrl: '',
122
- },
123
- }, { dependsOn: vm });
124
- // if (schedule.autoStartupTime) {
125
- // new native.devtestlab.GlobalSchedule(`${vmName}-auto-startup`, {
126
- // name: `${vmName}-auto-startup`,
127
- // ...group,
128
- // dailyRecurrence: { time: schedule.autoStartupTime },
129
- // timeZoneId: timeZone,
130
- // targetResourceId: vm.id,
131
- // taskType: 'LabVmAutoStart',
132
- // });
133
- // }
156
+ task: "ComputeVmShutdownTask", //LabVmsShutdownTask,LabVmsStartupTask,LabVmReclamationTask,ComputeVmShutdownTask
157
+ dependsOn: vm,
158
+ });
134
159
  }
160
+ //Auto start
161
+ // if (schedule?.autoStartTime) {
162
+ // GlobalSchedule({
163
+ // name: `${vmName}-auto-start`,
164
+ // group,
165
+ // time: schedule.autoStartTime,
166
+ // timeZone: schedule.timeZone,
167
+ // targetResourceId: vm.id,
168
+ // task: "LabVmAutoStart", //LabVmsShutdownTask,LabVmsStartupTask,LabVmReclamationTask,ComputeVmShutdownTask
169
+ // dependsOn: vm,
170
+ // });
171
+ // }
135
172
  return vm;
136
173
  };
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVk0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSwrQ0FBK0M7QUFFL0MsNkNBQXlEO0FBQ3pELDJDQUFvQztBQW9DcEMsa0JBQWUsQ0FBQyxFQUNkLElBQUksRUFDSixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sR0FBRyxjQUFjLEVBQ3ZCLFFBQVEsR0FBRyx5QkFBeUI7QUFDcEMsdUJBQXVCO0FBQ3ZCLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUNuRSxZQUFZLEdBQUcsR0FBRyxFQUNsQixjQUFjLEVBQ2QsUUFBUSxFQUNSLEtBQUssRUFDTCxPQUFPLEVBQ1AsS0FBSztBQUVMLFlBQVk7QUFDWixJQUFJLEdBQUcsSUFBSSxFQUNYLElBQUksR0FBRyxFQUFFLEVBQ1QsU0FBUyxFQUNULEdBQUcsTUFBTSxFQUNILEVBQUUsRUFBRTtJQUNWLE1BQU0sTUFBTSxHQUFHLElBQUEsa0JBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixNQUFNLE9BQU8sR0FBRyxJQUFBLG1CQUFVLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFFakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtRQUN2RCxvQkFBb0IsRUFBRSxPQUFPO1FBQzdCLEdBQUcsS0FBSztRQUNSLGdCQUFnQixFQUFFO1lBQ2hCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtTQUM5RDtRQUNELE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLFFBQVE7S0FDekQsQ0FBQyxDQUFDO0lBRUgsTUFBTSxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxD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
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVk0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSx3REFBd0Q7QUFDeEQsd0RBQXdEO0FBRXhELDZDQUF5RDtBQUN6RCwyQ0FBb0M7QUFDcEMsK0NBQTREO0FBQzVELHFEQUE4QztBQUM5QywyQ0FBMEQ7QUEwQzFELGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEdBQUcsU0FBUyxFQUNsQixNQUFNLEdBQUcsY0FBYyxFQUN2QixVQUFVLEVBQ1Ysa0JBQWtCLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFDNUQsWUFBWSxHQUFHLEdBQUcsRUFDbEIsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsUUFBUSxHQUFHLEVBQUUsUUFBUSxFQUFFLHlCQUF5QixFQUFFLEVBQ2xELEtBQUssRUFDTCxLQUFLLEVBQ0wsSUFBSSxHQUFHLEtBQUssRUFDWixJQUFJLEdBQUcsRUFBRSxFQUNULFNBQVMsRUFDVCxHQUFHLE1BQU0sRUFDSCxFQUFFLEVBQUU7SUFDVixNQUFNLE1BQU0sR0FBRyxJQUFBLGtCQUFTLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsTUFBTSxPQUFPLEdBQUcsSUFBQSxtQkFBVSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBRWpDLE1BQU0sR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtRQUNoRCxvQkFBb0IsRUFBRSxPQUFPO1FBQzdCLEdBQUcsS0FBSztRQUNSLGdCQUFnQixFQUFFO1lBQ2hCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtTQUM5RDtRQUNELE9BQU8sRUFBRSxPQUFPLENBQUMsdUJBQXVCLENBQUMsUUFBUTtLQUNs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
package/VNet/Bastion.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { BasicResourceArgs } from "../types";
2
- import { Input, Resource } from "@pulumi/pulumi";
3
- interface Props extends BasicResourceArgs {
2
+ import { Input } from "@pulumi/pulumi";
3
+ export interface BastionProps extends BasicResourceArgs {
4
4
  subnetId: Input<string>;
5
- dependsOn?: Input<Resource> | Input<Input<Resource>[]>;
5
+ sku?: "Basic" | "Standard" | "Developer" | string;
6
6
  }
7
- declare const _default: ({ name, group, subnetId, dependsOn }: Props) => import("@pulumi/azure-native/network/bastionHost").BastionHost;
7
+ declare const _default: ({ name, group, subnetId, dependsOn, importUri, ignoreChanges, sku, }: BastionProps) => import("@pulumi/azure-native/network/bastionHost").BastionHost;
8
8
  export default _default;