@drunk-pulumi/azure 1.0.5 → 1.0.7

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 (141) hide show
  1. package/Aks/Helper.d.ts +3 -5
  2. package/Aks/Helper.js +1 -1
  3. package/Aks/Identity.d.ts +2 -5
  4. package/Aks/Identity.js +1 -1
  5. package/Aks/VmSetAutoScale/index.d.ts +0 -2
  6. package/Aks/VmSetAutoScale/index.js +1 -1
  7. package/Aks/VmSetMonitor/index.d.ts +0 -2
  8. package/Aks/VmSetMonitor/index.js +6 -6
  9. package/Aks/index.d.ts +6 -14
  10. package/Aks/index.js +29 -38
  11. package/Automation/index.d.ts +2 -3
  12. package/Automation/index.js +6 -14
  13. package/AzAd/EnvRoles.Consts.d.ts +2 -2
  14. package/AzAd/EnvRoles.Consts.js +20 -45
  15. package/AzAd/EnvRoles.d.ts +5 -4
  16. package/AzAd/EnvRoles.js +32 -25
  17. package/AzAd/Group.d.ts +5 -7
  18. package/AzAd/Group.js +5 -14
  19. package/AzAd/Helper.d.ts +6 -6
  20. package/AzAd/Helper.js +39 -54
  21. package/AzAd/Identities/AzDevOpsIdentity.d.ts +2 -2
  22. package/AzAd/Identities/AzDevOpsIdentity.js +13 -7
  23. package/AzAd/Identities/AzDevOpsManagedIdentity.js +2 -7
  24. package/AzAd/Identities/AzUserAdRevertSync.d.ts +2 -3
  25. package/AzAd/Identities/AzUserAdRevertSync.js +3 -4
  26. package/AzAd/Identities/GlobalUserAssignedIdentity.d.ts +4 -0
  27. package/AzAd/Identities/GlobalUserAssignedIdentity.js +19 -0
  28. package/AzAd/Identities/index.d.ts +4 -3
  29. package/AzAd/Identities/index.js +26 -2
  30. package/AzAd/Identity.d.ts +4 -7
  31. package/AzAd/Identity.js +19 -27
  32. package/AzAd/RoleAssignment.d.ts +2 -2
  33. package/AzAd/RoleAssignment.js +3 -3
  34. package/AzAd/UserAssignedIdentity.d.ts +3 -3
  35. package/AzAd/UserAssignedIdentity.js +24 -6
  36. package/Builder/AksBuilder.js +3 -3
  37. package/Builder/ApimApiBuilder.js +3 -3
  38. package/Builder/ApimPolicyBuilder.js +3 -3
  39. package/Builder/ApimProductBuilder.js +6 -12
  40. package/Builder/EnvRoleBuilder.d.ts +36 -0
  41. package/Builder/EnvRoleBuilder.js +57 -0
  42. package/Builder/ResourceBuilder.js +26 -16
  43. package/Builder/SqlBuilder.js +7 -1
  44. package/Builder/VmBuilder.js +2 -5
  45. package/Builder/index.d.ts +15 -14
  46. package/Builder/index.js +4 -2
  47. package/Builder/types/apimPolicyBuilder.d.ts +4 -5
  48. package/Builder/types/apimPolicyBuilder.js +1 -1
  49. package/Builder/types/apimProductBuilder.d.ts +8 -10
  50. package/Builder/types/envRoleBuilder.d.ts +14 -0
  51. package/Builder/types/envRoleBuilder.js +3 -0
  52. package/Builder/types/genericBuilder.d.ts +15 -13
  53. package/Builder/types/genericBuilder.js +1 -1
  54. package/Builder/types/index.d.ts +15 -14
  55. package/Builder/types/index.js +2 -1
  56. package/Builder/types/resourceBuilder.d.ts +7 -6
  57. package/Builder/types/sqlBuilder.d.ts +2 -3
  58. package/Builder/types/storageBuilder.d.ts +1 -1
  59. package/Builder/types/vaultBuilder.d.ts +2 -2
  60. package/Builder/types/vmBuilder.d.ts +11 -11
  61. package/Builder/types/vnetBuilder.d.ts +19 -19
  62. package/Cdn/CdnEndpoint.d.ts +2 -2
  63. package/Cdn/index.d.ts +2 -2
  64. package/Cdn/index.js +3 -11
  65. package/Certificate/index.js +12 -25
  66. package/Common/AzureEnv.d.ts +1 -2
  67. package/Common/AzureEnv.js +2 -10
  68. package/Common/Naming/index.d.ts +1 -0
  69. package/Common/Naming/index.js +5 -3
  70. package/ContainerRegistry/Helper.d.ts +2 -3
  71. package/ContainerRegistry/Helper.js +2 -3
  72. package/ContainerRegistry/index.d.ts +2 -4
  73. package/ContainerRegistry/index.js +1 -50
  74. package/Core/Helper.d.ts +4 -2
  75. package/Core/Helper.js +7 -2
  76. package/Core/KeyGenerators.d.ts +2 -4
  77. package/Core/KeyGenerators.js +7 -12
  78. package/Core/Random.d.ts +6 -9
  79. package/Core/Random.js +17 -21
  80. package/Core/ResourceCreator.d.ts +2 -2
  81. package/Core/ResourceGroup.d.ts +2 -2
  82. package/Core/ResourceGroup.js +4 -3
  83. package/CosmosDb/index.d.ts +4 -9
  84. package/CosmosDb/index.js +4 -4
  85. package/IOT/Hub/index.d.ts +4 -5
  86. package/IOT/Hub/index.js +25 -26
  87. package/KeyVault/CustomHelper.d.ts +4 -9
  88. package/KeyVault/CustomHelper.js +3 -4
  89. package/KeyVault/Helper.d.ts +10 -13
  90. package/KeyVault/Helper.js +46 -26
  91. package/KeyVault/index.js +2 -1
  92. package/Logs/AppInsight.d.ts +2 -3
  93. package/Logs/AppInsight.js +1 -1
  94. package/Logs/Helpers.d.ts +3 -8
  95. package/Logs/Helpers.js +12 -10
  96. package/Logs/LogAnalytics.d.ts +2 -5
  97. package/Logs/LogAnalytics.js +13 -17
  98. package/Logs/index.d.ts +3 -5
  99. package/Logs/index.js +7 -4
  100. package/MySql/index.d.ts +3 -10
  101. package/MySql/index.js +15 -20
  102. package/Postgresql/index.d.ts +3 -4
  103. package/Postgresql/index.js +30 -24
  104. package/RedisCache/index.d.ts +5 -3
  105. package/RedisCache/index.js +18 -24
  106. package/ServiceBus/index.d.ts +6 -8
  107. package/ServiceBus/index.js +9 -15
  108. package/SignalR/index.d.ts +5 -3
  109. package/SignalR/index.js +19 -28
  110. package/Sql/SqlDb.d.ts +3 -3
  111. package/Sql/SqlDb.js +11 -2
  112. package/Sql/index.d.ts +5 -9
  113. package/Sql/index.js +41 -30
  114. package/Storage/ManagementRules.d.ts +6 -8
  115. package/Storage/ManagementRules.js +3 -3
  116. package/Storage/index.d.ts +3 -6
  117. package/Storage/index.js +24 -27
  118. package/VM/DiskEncryptionSet.d.ts +8 -0
  119. package/VM/DiskEncryptionSet.js +43 -0
  120. package/VM/index.d.ts +5 -11
  121. package/VM/index.js +24 -12
  122. package/VNet/Firewall.js +3 -5
  123. package/VNet/FirewallPolicies/AksFirewallPolicy.js +2 -2
  124. package/VNet/Helper.d.ts +2 -2
  125. package/VNet/Helper.js +6 -3
  126. package/VNet/IpAddressPrefix.d.ts +5 -7
  127. package/VNet/IpAddressPrefix.js +5 -5
  128. package/VNet/PrivateEndpoint.d.ts +2 -2
  129. package/VNet/PrivateEndpoint.js +2 -3
  130. package/VNet/RouteTable.d.ts +4 -4
  131. package/VNet/RouteTable.js +4 -4
  132. package/VNet/Vnet.js +5 -1
  133. package/VNet/index.d.ts +3 -5
  134. package/VNet/index.js +1 -1
  135. package/VNet/types.d.ts +3 -4
  136. package/Web/AppCertOrder.d.ts +2 -3
  137. package/Web/AppCertOrder.js +1 -1
  138. package/Web/AppConfig.d.ts +2 -5
  139. package/Web/AppConfig.js +3 -4
  140. package/package.json +5 -5
  141. package/types.d.ts +42 -28
package/Sql/index.js CHANGED
@@ -28,25 +28,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const sql = __importStar(require("@pulumi/azure-native/sql"));
30
30
  const pulumi_1 = require("@pulumi/pulumi");
31
+ const Locker_1 = __importDefault(require("../Core/Locker"));
31
32
  const Helper_1 = require("../KeyVault/Helper");
32
- const RoleAssignment_1 = require("../AzAd/RoleAssignment");
33
- const AzureEnv_1 = require("../Common/AzureEnv");
34
33
  const Common_1 = require("../Common");
34
+ const Common_2 = require("../Common");
35
35
  const Helper_2 = require("../VNet/Helper");
36
36
  const PrivateEndpoint_1 = __importDefault(require("../VNet/PrivateEndpoint"));
37
37
  const SqlDb_1 = __importDefault(require("./SqlDb"));
38
38
  const CustomHelper_1 = require("../KeyVault/CustomHelper");
39
- const Helper_3 = require("../AzAd/Helper");
40
39
  const createElasticPool = ({ group, name, sqlName,
41
40
  //Minimum is 50 GD
42
- maxSizeBytesGb = 50, sku = { name: AzureEnv_1.isPrd ? 'Standard' : 'Basic', capacity: 50 }, }) => {
41
+ maxSizeBytesGb = 50, sku = { name: Common_1.isPrd ? 'Standard' : 'Basic', capacity: 50 }, }) => {
43
42
  //Create Sql Elastic
44
- const elasticName = (0, Common_1.getElasticPoolName)(name);
43
+ const elasticName = (0, Common_2.getElasticPoolName)(name);
45
44
  const ep = new sql.ElasticPool(elasticName, {
46
45
  elasticPoolName: elasticName,
47
46
  serverName: sqlName,
48
47
  ...group,
49
- maxSizeBytes: AzureEnv_1.isPrd ? maxSizeBytesGb * 1024 * 1024 * 1024 : undefined,
48
+ maxSizeBytes: Common_1.isPrd ? maxSizeBytesGb * 1024 * 1024 * 1024 : undefined,
50
49
  sku: {
51
50
  name: `${sku.name}Pool`,
52
51
  tier: sku.name,
@@ -56,18 +55,19 @@ maxSizeBytesGb = 50, sku = { name: AzureEnv_1.isPrd ? 'Standard' : 'Basic', capa
56
55
  minCapacity: 0,
57
56
  maxCapacity: sku.name === 'Basic' ? 5 : sku.capacity,
58
57
  },
59
- zoneRedundant: AzureEnv_1.isPrd,
58
+ zoneRedundant: Common_1.isPrd,
60
59
  //licenseType: sql.ElasticPoolLicenseType.BasePrice,
61
60
  //zoneRedundant: isPrd,
62
61
  });
63
62
  return { name: elasticName, group, id: ep.id, instance: ep };
64
63
  };
65
- exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases, vaultInfo, network, vulnerabilityAssessment, ignoreChanges = ['administratorLogin'], }) => {
66
- const sqlName = (0, Common_1.getSqlServerName)(name);
64
+ exports.default = ({ name, auth, group, elasticPool, databases, vaultInfo, enableEncryption, envRoles, network, vulnerabilityAssessment, ignoreChanges = [], lock, dependsOn, }) => {
65
+ const sqlName = (0, Common_2.getSqlServerName)(name);
67
66
  const encryptKey = enableEncryption
68
- ? (0, Helper_1.getEncryptionKeyOutput)(name, vaultInfo)
67
+ ? (0, Helper_1.addEncryptKey)({ name: sqlName, vaultInfo: vaultInfo })
69
68
  : undefined;
70
69
  const adminGroup = auth.envRoles?.contributor;
70
+ ignoreChanges.push('keyId');
71
71
  if (auth.azureAdOnlyAuthentication) {
72
72
  ignoreChanges.push('administratorLogin');
73
73
  ignoreChanges.push('administratorLoginPassword');
@@ -80,6 +80,7 @@ exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases
80
80
  identity: { type: 'SystemAssigned' },
81
81
  administratorLogin: auth?.adminLogin,
82
82
  administratorLoginPassword: auth?.password,
83
+ keyId: encryptKey?.url,
83
84
  administrators: {
84
85
  administratorType: adminGroup
85
86
  ? sql.AdministratorType.ActiveDirectory
@@ -88,7 +89,7 @@ exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases
88
89
  ? auth.azureAdOnlyAuthentication ?? true
89
90
  : false,
90
91
  principalType: sql.PrincipalType.Group,
91
- tenantId: AzureEnv_1.tenantId,
92
+ tenantId: Common_1.tenantId,
92
93
  sid: adminGroup?.objectId,
93
94
  login: adminGroup?.displayName,
94
95
  },
@@ -96,15 +97,22 @@ exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases
96
97
  ? sql.ServerNetworkAccessFlag.Disabled
97
98
  : sql.ServerNetworkAccessFlag.Enabled,
98
99
  }, {
100
+ dependsOn,
99
101
  ignoreChanges,
102
+ protect: lock,
100
103
  });
104
+ //Lock from delete
105
+ if (lock) {
106
+ (0, Locker_1.default)({ name, resource: sqlServer });
107
+ }
101
108
  //Allows to Read Key Vault
102
- (0, Helper_3.grantIdentityPermissions)({
103
- name,
104
- vaultInfo,
105
- envRole: 'readOnly',
106
- principalId: sqlServer.identity.apply((s) => s.principalId),
107
- });
109
+ envRoles?.addMember('readOnly', sqlServer.identity.apply((s) => s.principalId));
110
+ // grantIdentityPermissions({
111
+ // name,
112
+ // vaultInfo,
113
+ // role: 'readOnly',
114
+ // principalId: sqlServer.identity.apply((s) => s!.principalId),
115
+ // });
108
116
  const ep = elasticPool
109
117
  ? createElasticPool({
110
118
  name,
@@ -160,13 +168,14 @@ exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases
160
168
  if (vulnerabilityAssessment) {
161
169
  //Grant Storage permission
162
170
  if (vulnerabilityAssessment.logStorageId) {
163
- (0, RoleAssignment_1.roleAssignment)({
164
- name,
165
- principalId: sqlServer.identity.apply((i) => i?.principalId || ''),
166
- principalType: 'ServicePrincipal',
167
- roleName: 'Storage Blob Data Contributor',
168
- scope: vulnerabilityAssessment.logStorageId,
169
- });
171
+ envRoles?.addMember('contributor', sqlServer.identity.apply((i) => i.principalId));
172
+ // roleAssignment({
173
+ // name,
174
+ // principalId: sqlServer.identity.apply((i) => i?.principalId || ''),
175
+ // principalType: 'ServicePrincipal',
176
+ // roleName: 'Storage Blob Data Contributor',
177
+ // scope: vulnerabilityAssessment.logStorageId,
178
+ // });
170
179
  }
171
180
  //ServerSecurityAlertPolicy
172
181
  const alertPolicy = new sql.ServerSecurityAlertPolicy(name, {
@@ -194,11 +203,11 @@ exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases
194
203
  isStorageSecondaryKeyInUse: false,
195
204
  predicateExpression: "object_name = 'SensitiveData'",
196
205
  queueDelayMs: 4000,
197
- retentionDays: AzureEnv_1.isPrd ? 30 : 6,
206
+ retentionDays: Common_1.isPrd ? 30 : 6,
198
207
  state: 'Enabled',
199
208
  isDevopsAuditEnabled: true,
200
209
  storageAccountAccessKey: vulnerabilityAssessment.storageAccessKey,
201
- storageAccountSubscriptionId: AzureEnv_1.subscriptionId,
210
+ storageAccountSubscriptionId: Common_1.subscriptionId,
202
211
  storageEndpoint: vulnerabilityAssessment.storageEndpoint,
203
212
  }, { dependsOn: alertPolicy });
204
213
  //ServerVulnerabilityAssessment
@@ -217,19 +226,20 @@ exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases
217
226
  }
218
227
  if (encryptKey) {
219
228
  // Enable a server key in the SQL Server with reference to the Key Vault Key
229
+ const keyName = (0, pulumi_1.interpolate) `${vaultInfo?.name}_${encryptKey.keyName}_${encryptKey.keyVersion}`;
220
230
  const serverKey = new sql.ServerKey(`${sqlName}-serverKey`, {
221
231
  resourceGroupName: group.resourceGroupName,
222
232
  serverName: sqlName,
223
233
  serverKeyType: 'AzureKeyVault',
224
- keyName: encryptKey.keyName,
234
+ keyName: keyName,
225
235
  uri: encryptKey.url,
226
- }, { dependsOn: sqlServer, ignoreChanges: ['keyName', 'uri'] });
236
+ }, { dependsOn: sqlServer, ignoreChanges });
227
237
  new sql.EncryptionProtector(`${sqlName}-encryptionProtector`, {
228
238
  encryptionProtectorName: 'current',
229
239
  resourceGroupName: group.resourceGroupName,
230
240
  serverName: sqlName,
231
241
  serverKeyType: 'AzureKeyVault',
232
- serverKeyName: encryptKey.keyName,
242
+ serverKeyName: serverKey.name,
233
243
  autoRotationEnabled: true,
234
244
  }, { dependsOn: serverKey });
235
245
  }
@@ -245,6 +255,7 @@ exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases
245
255
  sqlServerName: sqlName,
246
256
  dependsOn: sqlServer,
247
257
  elasticPoolId: ep ? ep.id : undefined,
258
+ lock,
248
259
  });
249
260
  if (vaultInfo) {
250
261
  //Refer here to build connection correctly: https://learn.microsoft.com/en-us/sql/connect/ado-net/sql/azure-active-directory-authentication?view=sql-server-ver16
@@ -282,4 +293,4 @@ exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases
282
293
  databases: dbs,
283
294
  };
284
295
  };
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3FsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4REFBZ0Q7QUFDaEQsMkNBQWlFO0FBRWpFLCtDQUE0RDtBQUU1RCwyREFBd0Q7QUFDeEQsaURBQXFFO0FBQ3JFLHNDQUFpRTtBQVFqRSwyQ0FBa0Q7QUFDbEQsOEVBQTZEO0FBQzdELG9EQUFpRDtBQUNqRCwyREFBMkQ7QUFDM0QsMkNBQTBEO0FBVzFELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxFQUN6QixLQUFLLEVBQ0wsSUFBSSxFQUNKLE9BQU87QUFDUCxrQkFBa0I7QUFDbEIsY0FBYyxHQUFHLEVBQUUsRUFDbkIsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLGdCQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsR0FDekMsRUFBNkMsRUFBRTtJQUNoRSxvQkFBb0I7SUFDcEIsTUFBTSxXQUFXLEdBQUcsSUFBQSwyQkFBa0IsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUU3QyxNQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO1FBQzFDLGVBQWUsRUFBRSxXQUFXO1FBQzVCLFVBQVUsRUFBRSxPQUFPO1FBQ25CLEdBQUcsS0FBSztRQUVSLFlBQVksRUFBRSxnQkFBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDckUsR0FBRyxFQUFFO1lBQ0gsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksTUFBTTtZQUN2QixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZCxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7U0FDdkI7UUFDRCxtQkFBbUIsRUFBRTtZ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
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3FsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4REFBZ0Q7QUFDaEQsMkNBQWlFO0FBRWpFLDREQUFvQztBQUNwQywrQ0FBbUQ7QUFFbkQsc0NBQTREO0FBQzVELHNDQUFpRTtBQVVqRSwyQ0FBa0Q7QUFDbEQsOEVBQTZEO0FBQzdELG9EQUFtQztBQUNuQywyREFBMkQ7QUFZM0QsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEVBQ3pCLEtBQUssRUFDTCxJQUFJLEVBQ0osT0FBTztBQUNQLGtCQUFrQjtBQUNsQixjQUFjLEdBQUcsRUFBRSxFQUNuQixHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsY0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEdBQ3pDLEVBQTZDLEVBQUU7SUFDaEUsb0JBQW9CO0lBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUEsMkJBQWtCLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFFN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRTtRQUMxQyxlQUFlLEVBQUUsV0FBVztRQUM1QixVQUFVLEVBQUUsT0FBTztRQUNuQixHQUFHLEtBQUs7UUFFUixZQUFZLEVBQUUsY0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDckUsR0FBRyxFQUFFO1lBQ0gsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksTUFBTTtZQUN2QixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZCxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7U0FDdkI7UUFDRCxtQkFBbUIsRUFBRTtZQUNuQixXQUFXLEVBQUUs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
@@ -1,6 +1,6 @@
1
- import * as pulumi from "@pulumi/pulumi";
2
- import * as storage from "@pulumi/azure-native/storage";
3
- import { ResourceGroupInfo } from "../types";
1
+ import * as pulumi from '@pulumi/pulumi';
2
+ import * as storage from '@pulumi/azure-native/storage';
3
+ import { ResourceArgs } from '../types';
4
4
  interface DateAfterModificationArgs {
5
5
  daysAfterLastAccessTimeGreaterThan?: pulumi.Input<number>;
6
6
  daysAfterModificationGreaterThan?: pulumi.Input<number>;
@@ -24,10 +24,10 @@ type ManagementRuleActions = {
24
24
  version?: PolicyVersionArgs;
25
25
  };
26
26
  type ManagementRuleFilters = {
27
- blobTypes: Array<"blockBlob" | "appendBlob">;
27
+ blobTypes: Array<'blockBlob' | 'appendBlob'>;
28
28
  tagFilters?: pulumi.Input<{
29
29
  name: pulumi.Input<string>;
30
- op: "==";
30
+ op: '==';
31
31
  value: pulumi.Input<string>;
32
32
  }>[];
33
33
  };
@@ -42,9 +42,7 @@ export type ManagementRules = {
42
42
  actions: ManagementRuleActions;
43
43
  filters?: ManagementRuleFilters;
44
44
  };
45
- export declare const createManagementRules: ({ name, storageAccount, group, rules, containerNames, }: {
46
- name: string;
47
- group: ResourceGroupInfo;
45
+ export declare const createManagementRules: ({ name, storageAccount, group, rules, containerNames, }: ResourceArgs & {
48
46
  storageAccount: storage.StorageAccount;
49
47
  containerNames?: pulumi.Input<string>[];
50
48
  rules: Array<ManagementRules | DefaultManagementRules>;
@@ -28,14 +28,14 @@ const storage = __importStar(require("@pulumi/azure-native/storage"));
28
28
  const createManagementRules = ({ name, storageAccount, group, rules, containerNames, }) => {
29
29
  name = `${name}-mnp`;
30
30
  return new storage.ManagementPolicy(name, {
31
- managementPolicyName: "default",
31
+ managementPolicyName: 'default',
32
32
  accountName: storageAccount.name,
33
33
  ...group,
34
34
  policy: {
35
35
  rules: rules.map((m, i) => ({
36
36
  enabled: true,
37
37
  name: `${name}-${i}`,
38
- type: "Lifecycle",
38
+ type: 'Lifecycle',
39
39
  definition: {
40
40
  actions: m.actions,
41
41
  filters: m.filters
@@ -52,4 +52,4 @@ const createManagementRules = ({ name, storageAccount, group, rules, containerNa
52
52
  }, { dependsOn: storageAccount });
53
53
  };
54
54
  exports.createManagementRules = createManagementRules;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFuYWdlbWVudFJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0b3JhZ2UvTWFuYWdlbWVudFJ1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0Esc0VBQXdEO0FBa0RqRCxNQUFNLHFCQUFxQixHQUFHLENBQUMsRUFDcEMsSUFBSSxFQUNKLGNBQWMsRUFDZCxLQUFLLEVBQ0wsS0FBSyxFQUNMLGNBQWMsR0FPZixFQUFFLEVBQUU7SUFDSCxJQUFJLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQztJQUNyQixPQUFPLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUNqQyxJQUFJLEVBQ0o7UUFDRSxvQkFBb0IsRUFBRSxTQUFTO1FBQy9CLFdBQVcsRUFBRSxjQUFjLENBQUMsSUFBSTtRQUNoQyxHQUFHLEtBQUs7UUFFUixNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzFCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUU7Z0JBQ3BCLElBQUksRUFBRSxXQUFXO2dCQUVqQixVQUFVLEVBQUU7b0JBQ1YsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO29CQUNsQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87d0JBQ2hCLENBQUMsQ0FBQzs0QkFDRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTOzRCQUM5QixXQUFXLEVBQ1QsY0FBYztnQ0FDYixDQUFDLENBQUMsT0FBd0MsQ0FBQyxjQUFjOzRCQUM1RCxjQUFjLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVO3lCQUNyQzt3QkFDSCxDQUFDLENBQUMsU0FBUztpQkFDZDthQUNGLENBQUMsQ0FBQztTQUNKO0tBQ0YsRUFDRCxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsQ0FDOUIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQTVDVyxRQUFBLHFCQUFxQix5QkE0Q2hDIn0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFuYWdlbWVudFJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0b3JhZ2UvTWFuYWdlbWVudFJ1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0Esc0VBQXdEO0FBa0RqRCxNQUFNLHFCQUFxQixHQUFHLENBQUMsRUFDcEMsSUFBSSxFQUNKLGNBQWMsRUFDZCxLQUFLLEVBQ0wsS0FBSyxFQUNMLGNBQWMsR0FLZixFQUFFLEVBQUU7SUFDSCxJQUFJLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQztJQUNyQixPQUFPLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUNqQyxJQUFJLEVBQ0o7UUFDRSxvQkFBb0IsRUFBRSxTQUFTO1FBQy9CLFdBQVcsRUFBRSxjQUFjLENBQUMsSUFBSTtRQUNoQyxHQUFHLEtBQUs7UUFFUixNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzFCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUU7Z0JBQ3BCLElBQUksRUFBRSxXQUFXO2dCQUVqQixVQUFVLEVBQUU7b0JBQ1YsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO29CQUNsQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87d0JBQ2hCLENBQUMsQ0FBQzs0QkFDRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTOzRCQUM5QixXQUFXLEVBQ1QsY0FBYztnQ0FDYixDQUFDLENBQUMsT0FBd0MsQ0FBQyxjQUFjOzRCQUM1RCxjQUFjLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVO3lCQUNyQzt3QkFDSCxDQUFDLENBQUMsU0FBUztpQkFDZDthQUNGLENBQUMsQ0FBQztTQUNKO0tBQ0YsRUFDRCxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsQ0FDOUIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQTFDVyxRQUFBLHFCQUFxQix5QkEwQ2hDIn0=
@@ -1,6 +1,6 @@
1
1
  import { KeyVaultSecret } from '@azure/keyvault-secrets';
2
2
  import * as storage from '@pulumi/azure-native/storage';
3
- import { BasicResourceArgs, KeyVaultInfo, PrivateLinkPropsType, ResourceInfo } from '../types';
3
+ import { BasicEncryptResourceArgs, PrivateLinkPropsType, ResourceInfo } from '../types';
4
4
  import { Input } from '@pulumi/pulumi';
5
5
  import { DefaultManagementRules, ManagementRules } from './ManagementRules';
6
6
  export type ContainerProps = {
@@ -13,8 +13,6 @@ export type StorageFeatureType = {
13
13
  allowSharedKeyAccess?: boolean;
14
14
  /** Enable this storage as static website. */
15
15
  enableStaticWebsite?: boolean;
16
- /** This option only able to enable once Account is created, and the Principal added to the Key Vault Read Permission Group */
17
- enableKeyVaultEncryption?: boolean;
18
16
  allowCrossTenantReplication?: boolean;
19
17
  isSftpEnabled?: boolean;
20
18
  };
@@ -35,8 +33,7 @@ export type StorageNetworkType = {
35
33
  type: 'blob' | 'table' | 'queue' | 'file' | 'web' | 'dfs';
36
34
  };
37
35
  };
38
- interface StorageProps extends BasicResourceArgs {
39
- vaultInfo?: KeyVaultInfo;
36
+ interface StorageProps extends BasicEncryptResourceArgs {
40
37
  containers?: Array<ContainerProps>;
41
38
  queues?: Array<string>;
42
39
  fileShares?: Array<string>;
@@ -50,5 +47,5 @@ export type StorageResults = ResourceInfo & {
50
47
  getConnectionString?: (name?: string) => Promise<KeyVaultSecret | undefined>;
51
48
  };
52
49
  /** Storage Creator */
53
- declare const _default: ({ name, group, vaultInfo, containers, queues, fileShares, network, features, policies, lock, }: StorageProps) => StorageResults;
50
+ declare const _default: ({ name, group, vaultInfo, enableEncryption, envRoles, containers, queues, fileShares, network, features, policies, lock, }: StorageProps) => StorageResults;
54
51
  export default _default;
package/Storage/index.js CHANGED
@@ -28,22 +28,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const storage = __importStar(require("@pulumi/azure-native/storage"));
30
30
  const Helper_1 = require("../KeyVault/Helper");
31
- const AzureEnv_1 = require("../Common/AzureEnv");
32
31
  const Common_1 = require("../Common");
32
+ const Common_2 = require("../Common");
33
33
  const CustomHelper_1 = require("../KeyVault/CustomHelper");
34
34
  const Locker_1 = __importDefault(require("../Core/Locker"));
35
35
  const PrivateEndpoint_1 = __importDefault(require("../VNet/PrivateEndpoint"));
36
36
  const ManagementRules_1 = require("./ManagementRules");
37
- const Helper_2 = require("../AzAd/Helper");
38
37
  /** Storage Creator */
39
- exports.default = ({ name, group, vaultInfo, containers = [], queues = [], fileShares = [], network, features = {}, policies = { keyExpirationPeriodInDays: 365 }, lock = true, }) => {
40
- name = (0, Common_1.getStorageName)(name);
41
- const primaryKeyName = (0, Common_1.getKeyName)(name, 'primary');
42
- const secondaryKeyName = (0, Common_1.getKeyName)(name, 'secondary');
43
- const primaryConnectionKeyName = (0, Common_1.getConnectionName)(name, 'primary');
44
- const secondConnectionKeyName = (0, Common_1.getConnectionName)(name, 'secondary');
45
- const encryptionKey = features.enableKeyVaultEncryption
46
- ? (0, Helper_1.getEncryptionKeyOutput)(name, vaultInfo)
38
+ exports.default = ({ name, group, vaultInfo, enableEncryption, envRoles, containers = [], queues = [], fileShares = [], network, features = {}, policies = { keyExpirationPeriodInDays: 365 }, lock = true, }) => {
39
+ name = (0, Common_2.getStorageName)(name);
40
+ const primaryKeyName = (0, Common_2.getKeyName)(name, 'primary');
41
+ const secondaryKeyName = (0, Common_2.getKeyName)(name, 'secondary');
42
+ const primaryConnectionKeyName = (0, Common_2.getConnectionName)(name, 'primary');
43
+ const secondConnectionKeyName = (0, Common_2.getConnectionName)(name, 'secondary');
44
+ const encryptionKey = enableEncryption
45
+ ? (0, Helper_1.addEncryptKey)({ name, vaultInfo: vaultInfo })
47
46
  : undefined;
48
47
  //To fix identity issue then using this approach https://github.com/pulumi/pulumi-azure-native/blob/master/examples/keyvault/index.ts
49
48
  const stg = new storage.StorageAccount(name, {
@@ -51,7 +50,7 @@ exports.default = ({ name, group, vaultInfo, containers = [], queues = [], fileS
51
50
  ...group,
52
51
  kind: storage.Kind.StorageV2,
53
52
  sku: {
54
- name: AzureEnv_1.isPrd
53
+ name: Common_1.isPrd
55
54
  ? storage.SkuName.Standard_ZRS //Zone redundant in PRD
56
55
  : storage.SkuName.Standard_LRS,
57
56
  },
@@ -130,6 +129,7 @@ exports.default = ({ name, group, vaultInfo, containers = [], queues = [], fileS
130
129
  rules: policies.defaultManagementRules,
131
130
  });
132
131
  }
132
+ //Lock the resources
133
133
  if (lock) {
134
134
  (0, Locker_1.default)({ name, resource: stg });
135
135
  }
@@ -183,21 +183,18 @@ exports.default = ({ name, group, vaultInfo, containers = [], queues = [], fileS
183
183
  if (!id)
184
184
  return;
185
185
  //Allows to Read Key Vault
186
- (0, Helper_2.grantIdentityPermissions)({
187
- name,
188
- vaultInfo,
189
- envRole: 'readOnly',
190
- principalId: stg.identity.apply((s) => s.principalId),
191
- });
192
- const keys = (await storage.listStorageAccountKeys({
193
- accountName: name,
194
- resourceGroupName: group.resourceGroupName,
195
- })).keys.map((k) => ({
196
- name: k.keyName,
197
- key: k.value,
198
- connectionString: `DefaultEndpointsProtocol=https;AccountName=${name};AccountKey=${k.value};EndpointSuffix=core.windows.net`,
199
- }));
200
- if (vaultInfo) {
186
+ if (envRoles)
187
+ envRoles.addMember('readOnly', stg.identity.apply((s) => s.principalId));
188
+ //Add connection into Key vault
189
+ if (vaultInfo && features?.allowSharedKeyAccess) {
190
+ const keys = (await storage.listStorageAccountKeys({
191
+ accountName: name,
192
+ resourceGroupName: group.resourceGroupName,
193
+ })).keys.map((k) => ({
194
+ name: k.keyName,
195
+ key: k.value,
196
+ connectionString: `DefaultEndpointsProtocol=https;AccountName=${name};AccountKey=${k.value};EndpointSuffix=core.windows.net`,
197
+ }));
201
198
  //Keys
202
199
  (0, CustomHelper_1.addCustomSecrets)({
203
200
  vaultInfo,
@@ -234,4 +231,4 @@ exports.default = ({ name, group, vaultInfo, containers = [], queues = [], fileS
234
231
  : undefined,
235
232
  };
236
233
  };
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RvcmFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0Esc0VBQXdEO0FBUXhELCtDQUF1RTtBQUN2RSxpREFBMkM7QUFDM0Msc0NBQTBFO0FBQzFFLDJEQUE0RDtBQUM1RCw0REFBb0M7QUFDcEMsOEVBQXNEO0FBQ3RELHVEQUkyQjtBQUMzQiwyQ0FBMEQ7QUFnRDFELHNCQUFzQjtBQUN0QixrQkFBZSxDQUFDLEVBQ2QsSUFBSSxFQUNKLEtBQUssRUFDTCxTQUFTLEVBQ1QsVUFBVSxHQUFHLEVBQUUsRUFDZixNQUFNLEdBQUcsRUFBRSxFQUNYLFVBQVUsR0FBRyxFQUFFLEVBQ2YsT0FBTyxFQUNQLFFBQVEsR0FBRyxFQUFFLEVBQ2IsUUFBUSxHQUFHLEVBQUUseUJBQXlCLEVBQUUsR0FBRyxFQUFFLEVBQzdDLElBQUksR0FBRyxJQUFJLEdBQ0UsRUFBa0IsRUFBRTtJQUNqQyxJQUFJLEdBQUcsSUFBQSx1QkFBYyxFQUFDLElBQUksQ0FBQyxDQUFDO0lBRTVCLE1BQU0sY0FBYyxHQUFHLElBQUEsbUJBQVUsRUFBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLG1CQUFVLEVBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sd0JBQXdCLEdBQUcsSUFBQSwwQkFBaUIsRUFBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDcEUsTUFBTSx1QkFBdUIsR0FBRyxJQUFBLDBCQUFpQixFQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyRSxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsd0JBQXdCO1FBQ3JELENBQUMsQ0FBQyxJQUFBLCtCQUFzQixFQUFDLElBQUksRUFBRSxTQUFTLENBQUM7UUFDekMsQ0FBQyxDQUFDLFNBQVMs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
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RvcmFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0Esc0VBQXdEO0FBUXhELCtDQUE4RDtBQUM5RCxzQ0FBa0M7QUFDbEMsc0NBQTBFO0FBQzFFLDJEQUE0RDtBQUM1RCw0REFBb0M7QUFDcEMsOEVBQXNEO0FBQ3RELHVEQUkyQjtBQTZDM0Isc0JBQXNCO0FBQ3RCLGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxFQUNMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFVBQVUsR0FBRyxFQUFFLEVBQ2YsTUFBTSxHQUFHLEVBQUUsRUFDWCxVQUFVLEdBQUcsRUFBRSxFQUNmLE9BQU8sRUFDUCxRQUFRLEdBQUcsRUFBRSxFQUNiLFFBQVEsR0FBRyxFQUFFLHlCQUF5QixFQUFFLEdBQUcsRUFBRSxFQUM3QyxJQUFJLEdBQUcsSUFBSSxHQUNFLEVBQWtCLEVBQUU7SUFDakMsSUFBSSxHQUFHLElBQUEsdUJBQWMsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUU1QixNQUFNLGNBQWMsR0FBRyxJQUFBLG1CQUFVLEVBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSxtQkFBVSxFQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2RCxNQUFNLHdCQUF3QixHQUFHLElBQUEsMEJBQWlCLEVBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sdUJBQXVCLEdBQUcsSUFBQSwwQkFBaUIsRUFBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckUsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCO1FBQ3BDLENBQUMsQ0FBQyxJQUFBLHNCQUFhLEVBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVUsRUFBRSxDQUFDO1FBQ2hELENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFZCxxSUFBcUk7SUFDckksTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRTtRQUMzQyxXQUFXLEVBQUUsSUFBSTtRQUNqQixHQUFHLEtBQUs7UUFFUixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTO1FBQzVCLEdBQUcsRUFBRTtZQUNILElBQUksRUFBRSxjQUFLO2dCQUNULENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyx1QkFBdUI7Z0JBQ3RELENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVk7U0FDakM7UUFDRCxVQUFVLEVBQUUsS0FBSztRQUVqQixZQUFZLEVBQUUsSUFBSTtRQUNsQixzQkFBc0IsRUFBRSxJQUFJO1FBQzVCLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUscUJBQXFCLENBQUM7UUFDL0Qsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQztRQUM1RCxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUs7UUFDbEUsNEJBQTRCLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDO1FBQ3JFLGFBQWEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUU5QywyQkFBMkIsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDO1FBQzFFLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtRQUNwQyxpQkFBaUIsRUFBRSxRQUFRO1FBRTNCLGVBQWU7UUFDZixTQUFTLEVBQUU7WUFDVCx5QkFBeUIsRUFBRSxRQUFRLENBQUMseUJBQXlCLElBQUksR0FBRztTQUNyRTtRQUVELFVBQVUsRUFBRSxhQUFhO1lBQ3ZCLENBQUMsQ0FBQztnQkFDRSxRQUFRLEVBQUU7b0JBQ1IsSUFBSSxFQUFFO3dCQUNKLE9BQU8sRUFBRSxJQUFJO3dCQUNiLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU87cUJBQ2pDO29CQUNELElBQUksRUFBRTt3QkFDSixPQUFPLEVBQUUsSUFBSTt3QkFDYixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPO3FCQUNqQztpQkFDRjtnQkFDRCxTQUFTLEVBQUUsb0JBQW9CO2dCQUMvQixrQkFBa0IsRUFBRSxhQUFhO2FBQ2xDO1lBQ0gsQ0FBQyxDQUFDLFNBQVM7UUFFYixTQUFTLEVBQUU7WUFDVCxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsR0FBRztZQUM5QyxtQkFBbUIsRUFBRSxhQUFhO1NBQ25DO1FBRUQsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQ3RFLGNBQWMsRUFBRTtZQUNkLE1BQU0sRUFBRSxPQUFPLEVBQUUsYUFBYSxJQUFJLGVBQWUsRUFBRSx3Q0FBd0M7WUFDM0YsYUFBYSxFQUFFLE9BQU87WUFFdEIsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLElBQUk7Z0JBQ2hDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSTtxQkFDVCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7cUJBQ3pCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDWCx3QkFBd0IsRUFBRSxDQUFDLENBQUMsUUFBUztpQkFDdEMsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxTQUFTO1lBRWIsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJO2dCQUNwQixDQUFDLENBQUMsT0FBTyxDQUFDLElBQUk7cUJBQ1QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO3FCQUM1QixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7cUJBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDWCxnQkFBZ0IsRUFBRSxDQUFFO29CQUNwQixNQUFNLEVBQUUsT0FBTztpQkFDaEIsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxTQUFTO1NBQ2Q7S0FDRixDQUFDLENBQUM7SUFFSCxJQUFJLE9BQU8sRUFBRSxlQUFlLEVBQUUsQ0FBQztRQUM3QiwwQkFBMEI7UUFDMUIsSUFBQSx5QkFBZSxFQUFDO1lBQ2QsR0FBRyxPQUFPLENBQUMsZUFBZTtZQUMxQixZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFO1lBQ3pDLGtCQUFrQixFQUFFLGVBQWUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLG1CQUFtQjtZQUNsRixtQkFBbUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1NBQ3BELENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCx1QkFBdUI7SUFDdkIsSUFBSSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztRQUNyQyxJQUFBLHVDQUFxQixFQUFDO1lBQ3BCLElBQUk7WUFDSixLQUFLO1lBQ0wsY0FBYyxFQUFFLEdBQUc7WUFDbkIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxzQkFBc0I7U0FDdkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG9CQUFvQjtJQUNwQixJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1QsSUFBQSxnQkFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCwrQkFBK0I7SUFDL0IsSUFBSSxRQUFRLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNqQyxJQUFJLE9BQU8sQ0FBQywyQkFBMkIsQ0FDckMsSUFBSSxFQUNKO1lBQ0UsV0FBVyxFQUFFLEdBQUcsQ0FBQyxJQUFJO1lBQ3JCLEdBQUcsS0FBSztZQUNSLGFBQWEsRUFBRSxZQUFZO1lBQzNCLGdCQUFnQixFQUFFLFlBQVk7U0FDL0IsRUFDRCxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ25CLE1BQU0sU0FBUyxHQUFHLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO1lBQ2xELGFBQWEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNuQyxHQUFHLEtBQUs7WUFDUixXQUFXLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDckIsb0NBQW9DO1lBQ3BDLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU07U0FDekMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdEIsSUFBQSx1Q0FBcUIsRUFBQztnQkFDcEIsSUFBSSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQ3ZDLGNBQWMsRUFBRSxHQUFHO2dCQUNuQixLQUFLO2dCQUNMLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2hDLEtBQUssRUFBRSxDQUFDLENBQUMsZUFBZTthQUN6QixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFFSCxlQUFlO0lBQ2YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ2YsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNuQixTQUFTLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUMxQixXQUFXLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDckIsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxZQUFZO0lBQ1osVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ25CLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUU7WUFDdkIsU0FBUyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUU7WUFDMUIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxJQUFJO1lBQ3JCLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsWUFBWTtJQUNaLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUN4QixJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU87UUFFaEIsMEJBQTBCO1FBQzFCLElBQUksUUFBUTtZQUNWLFFBQVEsQ0FBQyxTQUFTLENBQ2hCLFVBQVUsRUFDVixHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBRSxDQUFDLFdBQVcsQ0FBQyxDQUMxQyxDQUFDO1FBRUosK0JBQStCO1FBQy9CLElBQUksU0FBUyxJQUFJLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxDQUFDO1lBQ2hELE1BQU0sSUFBSSxHQUFHLENBQ1gsTUFBTSxPQUFPLENBQUMsc0JBQXNCLENBQUM7Z0JBQ25DLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO2FBQzNDLENBQUMsQ0FDSCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pCLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTztnQkFDZixHQUFHLEVBQUUsQ0FBQyxDQUFDLEtBQUs7Z0JBQ1osZ0JBQWdCLEVBQUUsOENBQThDLElBQUksZUFBZSxDQUFDLENBQUMsS0FBSyxrQ0FBa0M7YUFDN0gsQ0FBQyxDQUFDLENBQUM7WUFFSixNQUFNO1lBQ04sSUFBQSwrQkFBZ0IsRUFBQztnQkFDZixTQUFTO2dCQUNULFdBQVcsRUFBRSxTQUFTO2dCQUN0QixhQUFhLEVBQUUsSUFBSTtnQkFDbkIsS0FBSyxFQUFFO29CQUNMO3dCQUNFLElBQUksRUFBRSxjQUFjO3dCQUNwQixLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7cUJBQ25CO29CQUNEO3dCQUNFLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRztxQkFDbkI7b0JBQ0Q7d0JBQ0UsSUFBSSxFQUFFLHdCQUF3Qjt3QkFDOUIsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7cUJBQ2hDO29CQUNEO3dCQUNFLElBQUksRUFBRSx1QkFBdUI7d0JBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCO3FCQUNoQztpQkFDRjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxJQUFJO1FBQ0osS0FBSztRQUNMLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRTtRQUNWLFFBQVEsRUFBRSxHQUFHO1FBQ2IsbUJBQW1CLEVBQUUsU0FBUztZQUM1QixDQUFDLENBQUMsQ0FBQyxPQUFlLHdCQUF3QixFQUFFLEVBQUUsQ0FDMUMsSUFBQSxrQkFBUyxFQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDdkQsQ0FBQyxDQUFDLFNBQVM7S0FDZCxDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
@@ -0,0 +1,8 @@
1
+ import { Input } from '@pulumi/pulumi';
2
+ import { BasicResourceWithVaultArgs, KeyVaultInfo } from '../types';
3
+ interface DiskEncryptionProps extends BasicResourceWithVaultArgs {
4
+ vaultInfo: KeyVaultInfo;
5
+ userAssignedId: Input<string>;
6
+ }
7
+ declare const _default: ({ name, group, vaultInfo, userAssignedId, dependsOn, ignoreChanges, importUri, }: DiskEncryptionProps) => import("@pulumi/azure-native/compute/diskEncryptionSet").DiskEncryptionSet;
8
+ export default _default;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const compute = __importStar(require("@pulumi/azure-native/compute"));
27
+ const Common_1 = require("../Common");
28
+ const Helper_1 = require("../KeyVault/Helper");
29
+ exports.default = ({ name, group, vaultInfo, userAssignedId, dependsOn, ignoreChanges, importUri, }) => {
30
+ name = (0, Common_1.getDiskEncryptionName)(name);
31
+ const keyEncryption = (0, Helper_1.addEncryptKey)({ name, vaultInfo });
32
+ return new compute.DiskEncryptionSet(name, {
33
+ ...group,
34
+ rotationToLatestKeyVersionEnabled: true,
35
+ encryptionType: 'EncryptionAtRestWithCustomerKey',
36
+ identity: {
37
+ type: compute.ResourceIdentityType.UserAssigned,
38
+ userAssignedIdentities: [userAssignedId],
39
+ },
40
+ activeKey: { keyUrl: keyEncryption.url },
41
+ }, { dependsOn, ignoreChanges, import: importUri });
42
+ };
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlza0VuY3J5cHRpb25TZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVk0vRGlza0VuY3J5cHRpb25TZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNFQUF3RDtBQUV4RCxzQ0FBa0Q7QUFDbEQsK0NBQW1EO0FBU25ELGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxFQUNMLFNBQVMsRUFDVCxjQUFjLEVBQ2QsU0FBUyxFQUNULGFBQWEsRUFDYixTQUFTLEdBQ1csRUFBRSxFQUFFO0lBQ3hCLElBQUksR0FBRyxJQUFBLDhCQUFxQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLE1BQU0sYUFBYSxHQUFHLElBQUEsc0JBQWEsRUFBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRXpELE9BQU8sSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQ2xDLElBQUksRUFDSjtRQUNFLEdBQUcsS0FBSztRQUNSLGlDQUFpQyxFQUFFLElBQUk7UUFDdkMsY0FBYyxFQUFFLGlDQUFpQztRQUNqRCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixDQUFDLFlBQVk7WUFDL0Msc0JBQXNCLEVBQUUsQ0FBQyxjQUFjLENBQUM7U0FDekM7UUFDRCxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLEdBQUcsRUFBRTtLQUN6QyxFQUNELEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQ2hELENBQUM7QUFDSixDQUFDLENBQUMifQ==
package/VM/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { Input, Resource } from '@pulumi/pulumi';
1
+ import { Input } from '@pulumi/pulumi';
2
2
  import * as compute from '@pulumi/azure-native/compute';
3
- import { BasicResourceArgs, KeyVaultInfo } from '../types';
3
+ import { BasicEncryptResourceArgs, LoginArgs } from '../types';
4
4
  import { VmExtensionProps } from './Extension';
5
5
  export type VmScheduleType = {
6
6
  /** The time zone ID: https://stackoverflow.com/questions/7908343/list-of-timezone-ids-for-use-with-findtimezonebyid-in-c */
@@ -8,22 +8,17 @@ export type VmScheduleType = {
8
8
  /** The format is ISO 8601 Standard ex: 2200 */
9
9
  autoShutdownTime?: Input<string>;
10
10
  };
11
- interface Props extends BasicResourceArgs {
11
+ interface Props extends BasicEncryptResourceArgs {
12
12
  subnetId: Input<string>;
13
13
  storageAccountType?: compute.StorageAccountTypes;
14
14
  vmSize?: Input<string>;
15
- login: {
16
- userName: Input<string>;
17
- password?: Input<string>;
18
- };
15
+ login: LoginArgs;
19
16
  osType?: 'Windows' | 'Linux';
20
17
  image: {
21
18
  offer: 'WindowsServer' | 'CentOS' | 'Windows-10' | 'windows-11' | string;
22
19
  publisher: 'MicrosoftWindowsServer' | 'MicrosoftWindowsDesktop' | 'Canonical' | string;
23
20
  sku: '2019-Datacenter' | '21h1-pro' | 'win11-23h2-pro' | string;
24
21
  };
25
- enableEncryption?: boolean;
26
- vaultInfo?: KeyVaultInfo;
27
22
  osDiskSizeGB?: number;
28
23
  dataDiskSizeGB?: number;
29
24
  schedule?: VmScheduleType;
@@ -32,7 +27,6 @@ interface Props extends BasicResourceArgs {
32
27
  tags?: {
33
28
  [key: string]: Input<string>;
34
29
  };
35
- dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
36
30
  }
37
- 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;
31
+ declare const _default: ({ name, group, subnetId, osType, vmSize, extensions, storageAccountType, osDiskSizeGB, dataDiskSizeGB, enableEncryption, vaultInfo, envRoles, schedule, login, image, lock, tags, dependsOn, ...others }: Props) => import("@pulumi/azure-native/compute/virtualMachine").VirtualMachine;
38
32
  export default _default;