@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.
- package/Aks/Helper.d.ts +3 -5
- package/Aks/Helper.js +1 -1
- package/Aks/Identity.d.ts +2 -5
- package/Aks/Identity.js +1 -1
- package/Aks/VmSetAutoScale/index.d.ts +0 -2
- package/Aks/VmSetAutoScale/index.js +1 -1
- package/Aks/VmSetMonitor/index.d.ts +0 -2
- package/Aks/VmSetMonitor/index.js +6 -6
- package/Aks/index.d.ts +6 -14
- package/Aks/index.js +29 -38
- package/Automation/index.d.ts +2 -3
- package/Automation/index.js +6 -14
- package/AzAd/EnvRoles.Consts.d.ts +2 -2
- package/AzAd/EnvRoles.Consts.js +20 -45
- package/AzAd/EnvRoles.d.ts +5 -4
- package/AzAd/EnvRoles.js +32 -25
- package/AzAd/Group.d.ts +5 -7
- package/AzAd/Group.js +5 -14
- package/AzAd/Helper.d.ts +6 -6
- package/AzAd/Helper.js +39 -54
- package/AzAd/Identities/AzDevOpsIdentity.d.ts +2 -2
- package/AzAd/Identities/AzDevOpsIdentity.js +13 -7
- package/AzAd/Identities/AzDevOpsManagedIdentity.js +2 -7
- package/AzAd/Identities/AzUserAdRevertSync.d.ts +2 -3
- package/AzAd/Identities/AzUserAdRevertSync.js +3 -4
- package/AzAd/Identities/GlobalUserAssignedIdentity.d.ts +4 -0
- package/AzAd/Identities/GlobalUserAssignedIdentity.js +19 -0
- package/AzAd/Identities/index.d.ts +4 -3
- package/AzAd/Identities/index.js +26 -2
- package/AzAd/Identity.d.ts +4 -7
- package/AzAd/Identity.js +19 -27
- package/AzAd/RoleAssignment.d.ts +2 -2
- package/AzAd/RoleAssignment.js +3 -3
- package/AzAd/UserAssignedIdentity.d.ts +3 -3
- package/AzAd/UserAssignedIdentity.js +24 -6
- package/Builder/AksBuilder.js +3 -3
- package/Builder/ApimApiBuilder.js +3 -3
- package/Builder/ApimPolicyBuilder.js +3 -3
- package/Builder/ApimProductBuilder.js +6 -12
- package/Builder/EnvRoleBuilder.d.ts +36 -0
- package/Builder/EnvRoleBuilder.js +57 -0
- package/Builder/ResourceBuilder.js +26 -16
- package/Builder/SqlBuilder.js +7 -1
- package/Builder/VmBuilder.js +2 -5
- package/Builder/index.d.ts +15 -14
- package/Builder/index.js +4 -2
- package/Builder/types/apimPolicyBuilder.d.ts +4 -5
- package/Builder/types/apimPolicyBuilder.js +1 -1
- package/Builder/types/apimProductBuilder.d.ts +8 -10
- package/Builder/types/envRoleBuilder.d.ts +14 -0
- package/Builder/types/envRoleBuilder.js +3 -0
- package/Builder/types/genericBuilder.d.ts +15 -13
- package/Builder/types/genericBuilder.js +1 -1
- package/Builder/types/index.d.ts +15 -14
- package/Builder/types/index.js +2 -1
- package/Builder/types/resourceBuilder.d.ts +7 -6
- package/Builder/types/sqlBuilder.d.ts +2 -3
- package/Builder/types/storageBuilder.d.ts +1 -1
- package/Builder/types/vaultBuilder.d.ts +2 -2
- package/Builder/types/vmBuilder.d.ts +11 -11
- package/Builder/types/vnetBuilder.d.ts +19 -19
- package/Cdn/CdnEndpoint.d.ts +2 -2
- package/Cdn/index.d.ts +2 -2
- package/Cdn/index.js +3 -11
- package/Certificate/index.js +12 -25
- package/Common/AzureEnv.d.ts +1 -2
- package/Common/AzureEnv.js +2 -10
- package/Common/Naming/index.d.ts +1 -0
- package/Common/Naming/index.js +5 -3
- package/ContainerRegistry/Helper.d.ts +2 -3
- package/ContainerRegistry/Helper.js +2 -3
- package/ContainerRegistry/index.d.ts +2 -4
- package/ContainerRegistry/index.js +1 -50
- package/Core/Helper.d.ts +4 -2
- package/Core/Helper.js +7 -2
- package/Core/KeyGenerators.d.ts +2 -4
- package/Core/KeyGenerators.js +7 -12
- package/Core/Random.d.ts +6 -9
- package/Core/Random.js +17 -21
- package/Core/ResourceCreator.d.ts +2 -2
- package/Core/ResourceGroup.d.ts +2 -2
- package/Core/ResourceGroup.js +4 -3
- package/CosmosDb/index.d.ts +4 -9
- package/CosmosDb/index.js +4 -4
- package/IOT/Hub/index.d.ts +4 -5
- package/IOT/Hub/index.js +25 -26
- package/KeyVault/CustomHelper.d.ts +4 -9
- package/KeyVault/CustomHelper.js +3 -4
- package/KeyVault/Helper.d.ts +10 -13
- package/KeyVault/Helper.js +46 -26
- package/KeyVault/index.js +2 -1
- package/Logs/AppInsight.d.ts +2 -3
- package/Logs/AppInsight.js +1 -1
- package/Logs/Helpers.d.ts +3 -8
- package/Logs/Helpers.js +12 -10
- package/Logs/LogAnalytics.d.ts +2 -5
- package/Logs/LogAnalytics.js +13 -17
- package/Logs/index.d.ts +3 -5
- package/Logs/index.js +7 -4
- package/MySql/index.d.ts +3 -10
- package/MySql/index.js +15 -20
- package/Postgresql/index.d.ts +3 -4
- package/Postgresql/index.js +30 -24
- package/RedisCache/index.d.ts +5 -3
- package/RedisCache/index.js +18 -24
- package/ServiceBus/index.d.ts +6 -8
- package/ServiceBus/index.js +9 -15
- package/SignalR/index.d.ts +5 -3
- package/SignalR/index.js +19 -28
- package/Sql/SqlDb.d.ts +3 -3
- package/Sql/SqlDb.js +11 -2
- package/Sql/index.d.ts +5 -9
- package/Sql/index.js +41 -30
- package/Storage/ManagementRules.d.ts +6 -8
- package/Storage/ManagementRules.js +3 -3
- package/Storage/index.d.ts +3 -6
- package/Storage/index.js +24 -27
- package/VM/DiskEncryptionSet.d.ts +8 -0
- package/VM/DiskEncryptionSet.js +43 -0
- package/VM/index.d.ts +5 -11
- package/VM/index.js +24 -12
- package/VNet/Firewall.js +3 -5
- package/VNet/FirewallPolicies/AksFirewallPolicy.js +2 -2
- package/VNet/Helper.d.ts +2 -2
- package/VNet/Helper.js +6 -3
- package/VNet/IpAddressPrefix.d.ts +5 -7
- package/VNet/IpAddressPrefix.js +5 -5
- package/VNet/PrivateEndpoint.d.ts +2 -2
- package/VNet/PrivateEndpoint.js +2 -3
- package/VNet/RouteTable.d.ts +4 -4
- package/VNet/RouteTable.js +4 -4
- package/VNet/Vnet.js +5 -1
- package/VNet/index.d.ts +3 -5
- package/VNet/index.js +1 -1
- package/VNet/types.d.ts +3 -4
- package/Web/AppCertOrder.d.ts +2 -3
- package/Web/AppCertOrder.js +1 -1
- package/Web/AppConfig.d.ts +2 -5
- package/Web/AppConfig.js +3 -4
- package/package.json +5 -5
- 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:
|
|
41
|
+
maxSizeBytesGb = 50, sku = { name: Common_1.isPrd ? 'Standard' : 'Basic', capacity: 50 }, }) => {
|
|
43
42
|
//Create Sql Elastic
|
|
44
|
-
const elasticName = (0,
|
|
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:
|
|
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:
|
|
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,
|
|
66
|
-
const sqlName = (0,
|
|
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.
|
|
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:
|
|
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
|
-
(
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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
|
-
(
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
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:
|
|
206
|
+
retentionDays: Common_1.isPrd ? 30 : 6,
|
|
198
207
|
state: 'Enabled',
|
|
199
208
|
isDevopsAuditEnabled: true,
|
|
200
209
|
storageAccountAccessKey: vulnerabilityAssessment.storageAccessKey,
|
|
201
|
-
storageAccountSubscriptionId:
|
|
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:
|
|
234
|
+
keyName: keyName,
|
|
225
235
|
uri: encryptKey.url,
|
|
226
|
-
}, { dependsOn: sqlServer, ignoreChanges
|
|
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:
|
|
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
|
|
2
|
-
import * as storage from
|
|
3
|
-
import {
|
|
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<
|
|
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:
|
|
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:
|
|
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,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFuYWdlbWVudFJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0b3JhZ2UvTWFuYWdlbWVudFJ1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0Esc0VBQXdEO0FBa0RqRCxNQUFNLHFCQUFxQixHQUFHLENBQUMsRUFDcEMsSUFBSSxFQUNKLGNBQWMsRUFDZCxLQUFLLEVBQ0wsS0FBSyxFQUNMLGNBQWMsR0FLZixFQUFFLEVBQUU7SUFDSCxJQUFJLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQztJQUNyQixPQUFPLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUNqQyxJQUFJLEVBQ0o7UUFDRSxvQkFBb0IsRUFBRSxTQUFTO1FBQy9CLFdBQVcsRUFBRSxjQUFjLENBQUMsSUFBSTtRQUNoQyxHQUFHLEtBQUs7UUFFUixNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzFCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUU7Z0JBQ3BCLElBQUksRUFBRSxXQUFXO2dCQUVqQixVQUFVLEVBQUU7b0JBQ1YsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO29CQUNsQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87d0JBQ2hCLENBQUMsQ0FBQzs0QkFDRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTOzRCQUM5QixXQUFXLEVBQ1QsY0FBYztnQ0FDYixDQUFDLENBQUMsT0FBd0MsQ0FBQyxjQUFjOzRCQUM1RCxjQUFjLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVO3lCQUNyQzt3QkFDSCxDQUFDLENBQUMsU0FBUztpQkFDZDthQUNGLENBQUMsQ0FBQztTQUNKO0tBQ0YsRUFDRCxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsQ0FDOUIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQTFDVyxRQUFBLHFCQUFxQix5QkEwQ2hDIn0=
|
package/Storage/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { KeyVaultSecret } from '@azure/keyvault-secrets';
|
|
2
2
|
import * as storage from '@pulumi/azure-native/storage';
|
|
3
|
-
import {
|
|
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
|
|
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,
|
|
41
|
-
const primaryKeyName = (0,
|
|
42
|
-
const secondaryKeyName = (0,
|
|
43
|
-
const primaryConnectionKeyName = (0,
|
|
44
|
-
const secondConnectionKeyName = (0,
|
|
45
|
-
const encryptionKey =
|
|
46
|
-
? (0, Helper_1.
|
|
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:
|
|
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
|
-
(
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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,
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RvcmFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0Esc0VBQXdEO0FBUXhELCtDQUE4RDtBQUM5RCxzQ0FBa0M7QUFDbEMsc0NBQTBFO0FBQzFFLDJEQUE0RDtBQUM1RCw0REFBb0M7QUFDcEMsOEVBQXNEO0FBQ3RELHVEQUkyQjtBQTZDM0Isc0JBQXNCO0FBQ3RCLGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxFQUNMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFVBQVUsR0FBRyxFQUFFLEVBQ2YsTUFBTSxHQUFHLEVBQUUsRUFDWCxVQUFVLEdBQUcsRUFBRSxFQUNmLE9BQU8sRUFDUCxRQUFRLEdBQUcsRUFBRSxFQUNiLFFBQVEsR0FBRyxFQUFFLHlCQUF5QixFQUFFLEdBQUcsRUFBRSxFQUM3QyxJQUFJLEdBQUcsSUFBSSxHQUNFLEVBQWtCLEVBQUU7SUFDakMsSUFBSSxHQUFHLElBQUEsdUJBQWMsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUU1QixNQUFNLGNBQWMsR0FBRyxJQUFBLG1CQUFVLEVBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSxtQkFBVSxFQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2RCxNQUFNLHdCQUF3QixHQUFHLElBQUEsMEJBQWlCLEVBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sdUJBQXVCLEdBQUcsSUFBQSwwQkFBaUIsRUFBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckUsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCO1FBQ3BDLENBQUMsQ0FBQyxJQUFBLHNCQUFhLEVBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVUsRUFBRSxDQUFDO1FB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
|
|
@@ -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
|
|
1
|
+
import { Input } from '@pulumi/pulumi';
|
|
2
2
|
import * as compute from '@pulumi/azure-native/compute';
|
|
3
|
-
import {
|
|
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
|
|
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;
|