@drunk-pulumi/azure 0.0.49 → 0.0.50
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 +2 -2
- package/Aks/Helper.js +5 -5
- package/Aks/Identity.d.ts +2 -2
- package/Aks/Identity.js +5 -5
- package/Aks/index.d.ts +3 -3
- package/Aks/index.js +46 -36
- package/Apim/Helpers.d.ts +1 -1
- package/Apim/Helpers.js +2 -2
- package/AzAd/Identity.d.ts +7 -7
- package/AzAd/Identity.js +49 -43
- package/Builder/AksBuilder.d.ts +1 -1
- package/Builder/AksBuilder.js +5 -1
- package/Builder/ApimApiBuilder.d.ts +3 -3
- package/Builder/ApimApiBuilder.js +11 -11
- package/Builder/ApimBuilder.d.ts +1 -1
- package/Builder/ApimBuilder.js +47 -47
- package/Builder/ApimPolicyBuilder.d.ts +1 -1
- package/Builder/ApimPolicyBuilder.js +21 -21
- package/Builder/ApimProductBuilder.d.ts +2 -2
- package/Builder/ApimProductBuilder.js +27 -25
- package/Builder/ApimRootBuilder.d.ts +3 -3
- package/Builder/ApimRootBuilder.js +3 -3
- package/Builder/ApimWorkspaceBuilder.d.ts +2 -2
- package/Builder/ApimWorkspaceBuilder.js +2 -2
- package/Builder/DnsZoneBuilder.d.ts +2 -2
- package/Builder/DnsZoneBuilder.js +6 -6
- package/Builder/PrivateDnsZoneBuilder.d.ts +2 -2
- package/Builder/PrivateDnsZoneBuilder.js +6 -6
- package/Builder/ResourceBuilder.js +27 -5
- package/Builder/SqlBuilder.d.ts +1 -1
- package/Builder/SqlBuilder.js +2 -2
- package/Builder/StorageBuilder.d.ts +1 -1
- package/Builder/StorageBuilder.js +7 -7
- package/Builder/VdiBuilder.d.ts +1 -2
- package/Builder/VdiBuilder.js +7 -7
- package/Builder/VmBuilder.d.ts +1 -1
- package/Builder/VmBuilder.js +4 -4
- package/Builder/types/genericBuilder.d.ts +7 -6
- package/Builder/types/genericBuilder.js +1 -1
- package/Builder/types/resourceBuilder.d.ts +1 -1
- package/Cdn/CdnEndpoint.d.ts +2 -2
- package/Cdn/CdnEndpoint.js +19 -19
- package/Cdn/index.d.ts +4 -6
- package/Cdn/index.js +4 -5
- package/Common/AzureEnv.d.ts +6 -10
- package/Common/AzureEnv.js +16 -16
- package/Common/GlobalEnv.js +2 -2
- package/ContainerRegistry/index.d.ts +5 -15
- package/ContainerRegistry/index.js +25 -34
- package/KeyVault/Helper.d.ts +3 -3
- package/KeyVault/Helper.js +16 -12
- package/KeyVault/index.d.ts +2 -3
- package/KeyVault/index.js +13 -13
- package/Logs/AppInsight.d.ts +3 -3
- package/Logs/AppInsight.js +10 -10
- package/Logs/Helpers.d.ts +4 -4
- package/Logs/Helpers.js +16 -16
- package/MySql/index.d.ts +5 -5
- package/MySql/index.js +22 -22
- package/Postgresql/index.d.ts +4 -4
- package/Postgresql/index.js +21 -21
- package/RedisCache/index.d.ts +2 -2
- package/RedisCache/index.js +14 -14
- package/ServiceBus/index.d.ts +10 -10
- package/ServiceBus/index.js +17 -17
- package/SignalR/index.d.ts +5 -5
- package/SignalR/index.js +18 -18
- package/Sql/index.d.ts +8 -8
- package/Sql/index.js +37 -35
- package/Storage/Helper.d.ts +3 -3
- package/Storage/Helper.js +8 -8
- package/Storage/index.d.ts +9 -9
- package/Storage/index.js +26 -24
- package/VM/index.d.ts +11 -11
- package/VM/index.js +15 -15
- package/VNet/Helper.d.ts +5 -5
- package/VNet/Helper.js +19 -19
- package/VNet/PrivateEndpoint.d.ts +2 -2
- package/VNet/PrivateEndpoint.js +4 -4
- package/VNet/Vnet.d.ts +8 -8
- package/VNet/Vnet.js +13 -13
- package/VNet/index.d.ts +1 -1
- package/Web/AppConfig.d.ts +2 -2
- package/Web/AppConfig.js +8 -8
- package/package.json +7 -7
- package/types.d.ts +17 -17
package/Sql/index.js
CHANGED
|
@@ -39,7 +39,7 @@ const CustomHelper_1 = require("../KeyVault/CustomHelper");
|
|
|
39
39
|
const Helper_3 = require("../AzAd/Helper");
|
|
40
40
|
const createElasticPool = ({ group, name, sqlName,
|
|
41
41
|
//Minimum is 50 GD
|
|
42
|
-
maxSizeBytesGb = 50, sku = { name: AzureEnv_1.isPrd ?
|
|
42
|
+
maxSizeBytesGb = 50, sku = { name: AzureEnv_1.isPrd ? 'Standard' : 'Basic', capacity: 50 }, }) => {
|
|
43
43
|
//Create Sql Elastic
|
|
44
44
|
const elasticName = (0, Naming_1.getElasticPoolName)(name);
|
|
45
45
|
const ep = new sql.ElasticPool(elasticName, {
|
|
@@ -54,7 +54,7 @@ maxSizeBytesGb = 50, sku = { name: AzureEnv_1.isPrd ? "Standard" : "Basic", capa
|
|
|
54
54
|
},
|
|
55
55
|
perDatabaseSettings: {
|
|
56
56
|
minCapacity: 0,
|
|
57
|
-
maxCapacity: sku.name ===
|
|
57
|
+
maxCapacity: sku.name === 'Basic' ? 5 : sku.capacity,
|
|
58
58
|
},
|
|
59
59
|
zoneRedundant: AzureEnv_1.isPrd,
|
|
60
60
|
//licenseType: sql.ElasticPoolLicenseType.BasePrice,
|
|
@@ -62,27 +62,29 @@ maxSizeBytesGb = 50, sku = { name: AzureEnv_1.isPrd ? "Standard" : "Basic", capa
|
|
|
62
62
|
});
|
|
63
63
|
return { name: elasticName, resource: ep };
|
|
64
64
|
};
|
|
65
|
-
exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases, vaultInfo, network, vulnerabilityAssessment, ignoreChanges = [
|
|
65
|
+
exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases, vaultInfo, network, vulnerabilityAssessment, ignoreChanges = ['administratorLogin', 'administrators'], }) => {
|
|
66
66
|
const sqlName = (0, Naming_1.getSqlServerName)(name);
|
|
67
67
|
const encryptKey = enableEncryption
|
|
68
68
|
? (0, Helper_1.getEncryptionKeyOutput)(name, vaultInfo)
|
|
69
69
|
: undefined;
|
|
70
|
-
const adminGroup = auth.envRoles
|
|
70
|
+
const adminGroup = auth.envRoles?.contributor;
|
|
71
71
|
if (auth.azureAdOnlyAuthentication) {
|
|
72
|
-
ignoreChanges.push(
|
|
73
|
-
ignoreChanges.push(
|
|
72
|
+
ignoreChanges.push('administratorLogin');
|
|
73
|
+
ignoreChanges.push('administratorLoginPassword');
|
|
74
74
|
}
|
|
75
75
|
const sqlServer = new sql.Server(sqlName, {
|
|
76
76
|
serverName: sqlName,
|
|
77
77
|
...group,
|
|
78
|
-
version:
|
|
79
|
-
minimalTlsVersion:
|
|
80
|
-
identity: { type:
|
|
78
|
+
version: '12.0',
|
|
79
|
+
minimalTlsVersion: '1.2',
|
|
80
|
+
identity: { type: 'SystemAssigned' },
|
|
81
81
|
administratorLogin: auth?.adminLogin,
|
|
82
82
|
administratorLoginPassword: auth?.password,
|
|
83
83
|
administrators: {
|
|
84
|
-
administratorType:
|
|
85
|
-
|
|
84
|
+
administratorType: adminGroup
|
|
85
|
+
? sql.AdministratorType.ActiveDirectory
|
|
86
|
+
: undefined,
|
|
87
|
+
azureADOnlyAuthentication: Boolean(adminGroup && auth.azureAdOnlyAuthentication),
|
|
86
88
|
principalType: sql.PrincipalType.Group,
|
|
87
89
|
tenantId: AzureEnv_1.tenantId,
|
|
88
90
|
sid: adminGroup?.objectId,
|
|
@@ -98,7 +100,7 @@ exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases
|
|
|
98
100
|
(0, Helper_3.grantIdentityPermissions)({
|
|
99
101
|
name,
|
|
100
102
|
vaultInfo,
|
|
101
|
-
envRole:
|
|
103
|
+
envRole: 'readOnly',
|
|
102
104
|
principalId: sqlServer.identity.apply((s) => s.principalId),
|
|
103
105
|
});
|
|
104
106
|
const ep = elasticPool
|
|
@@ -123,22 +125,22 @@ exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases
|
|
|
123
125
|
//Private Link
|
|
124
126
|
if (network?.privateLink) {
|
|
125
127
|
(0, PrivateEndpoint_1.default)({
|
|
126
|
-
resourceInfo: {
|
|
127
|
-
privateDnsZoneName:
|
|
128
|
+
resourceInfo: { name, group, id: sqlServer.id },
|
|
129
|
+
privateDnsZoneName: 'privatelink.database.windows.net',
|
|
128
130
|
subnetIds: network.privateLink.subnetIds,
|
|
129
131
|
linkServiceGroupIds: network.privateLink.type
|
|
130
132
|
? [network.privateLink.type]
|
|
131
|
-
: [
|
|
133
|
+
: ['sqlServer'],
|
|
132
134
|
});
|
|
133
135
|
}
|
|
134
136
|
//Allow Public Ip Accessing
|
|
135
137
|
if (network?.acceptAllPublicConnect) {
|
|
136
|
-
new sql.FirewallRule(
|
|
137
|
-
firewallRuleName:
|
|
138
|
+
new sql.FirewallRule('accept-all-connection', {
|
|
139
|
+
firewallRuleName: 'accept-all-connection',
|
|
138
140
|
serverName: sqlServer.name,
|
|
139
141
|
...group,
|
|
140
|
-
startIpAddress:
|
|
141
|
-
endIpAddress:
|
|
142
|
+
startIpAddress: '0.0.0.0',
|
|
143
|
+
endIpAddress: '255.255.255.255',
|
|
142
144
|
});
|
|
143
145
|
}
|
|
144
146
|
else if (network?.ipAddresses) {
|
|
@@ -158,15 +160,15 @@ exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases
|
|
|
158
160
|
if (vulnerabilityAssessment.logStorageId) {
|
|
159
161
|
(0, RoleAssignment_1.roleAssignment)({
|
|
160
162
|
name,
|
|
161
|
-
principalId: sqlServer.identity.apply((i) => i?.principalId ||
|
|
162
|
-
principalType:
|
|
163
|
-
roleName:
|
|
163
|
+
principalId: sqlServer.identity.apply((i) => i?.principalId || ''),
|
|
164
|
+
principalType: 'ServicePrincipal',
|
|
165
|
+
roleName: 'Storage Blob Data Contributor',
|
|
164
166
|
scope: vulnerabilityAssessment.logStorageId,
|
|
165
167
|
});
|
|
166
168
|
}
|
|
167
169
|
//ServerSecurityAlertPolicy
|
|
168
170
|
const alertPolicy = new sql.ServerSecurityAlertPolicy(name, {
|
|
169
|
-
securityAlertPolicyName:
|
|
171
|
+
securityAlertPolicyName: 'default',
|
|
170
172
|
...group,
|
|
171
173
|
serverName: sqlServer.name,
|
|
172
174
|
emailAccountAdmins: !vulnerabilityAssessment.alertEmails,
|
|
@@ -174,24 +176,24 @@ exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases
|
|
|
174
176
|
retentionDays: 7,
|
|
175
177
|
storageAccountAccessKey: vulnerabilityAssessment.storageAccessKey,
|
|
176
178
|
storageEndpoint: vulnerabilityAssessment.storageEndpoint,
|
|
177
|
-
state:
|
|
179
|
+
state: 'Enabled',
|
|
178
180
|
}, { dependsOn: sqlServer });
|
|
179
181
|
//Server Audit
|
|
180
182
|
new sql.ExtendedServerBlobAuditingPolicy(name, {
|
|
181
183
|
auditActionsAndGroups: [
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
184
|
+
'SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP',
|
|
185
|
+
'FAILED_DATABASE_AUTHENTICATION_GROUP',
|
|
186
|
+
'BATCH_COMPLETED_GROUP',
|
|
185
187
|
],
|
|
186
188
|
serverName: sqlServer.name,
|
|
187
189
|
...group,
|
|
188
|
-
blobAuditingPolicyName:
|
|
190
|
+
blobAuditingPolicyName: 'default',
|
|
189
191
|
isAzureMonitorTargetEnabled: true,
|
|
190
192
|
isStorageSecondaryKeyInUse: false,
|
|
191
193
|
predicateExpression: "object_name = 'SensitiveData'",
|
|
192
194
|
queueDelayMs: 4000,
|
|
193
195
|
retentionDays: AzureEnv_1.isPrd ? 30 : 6,
|
|
194
|
-
state:
|
|
196
|
+
state: 'Enabled',
|
|
195
197
|
isDevopsAuditEnabled: true,
|
|
196
198
|
storageAccountAccessKey: vulnerabilityAssessment.storageAccessKey,
|
|
197
199
|
storageAccountSubscriptionId: AzureEnv_1.subscriptionId,
|
|
@@ -216,15 +218,15 @@ exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases
|
|
|
216
218
|
const serverKey = new sql.ServerKey(`${sqlName}-serverKey`, {
|
|
217
219
|
resourceGroupName: group.resourceGroupName,
|
|
218
220
|
serverName: sqlName,
|
|
219
|
-
serverKeyType:
|
|
221
|
+
serverKeyType: 'AzureKeyVault',
|
|
220
222
|
keyName: encryptKey.keyName,
|
|
221
223
|
uri: encryptKey.url,
|
|
222
|
-
}, { dependsOn: sqlServer, ignoreChanges: [
|
|
224
|
+
}, { dependsOn: sqlServer, ignoreChanges: ['keyName', 'uri'] });
|
|
223
225
|
new sql.EncryptionProtector(`${sqlName}-encryptionProtector`, {
|
|
224
|
-
encryptionProtectorName:
|
|
226
|
+
encryptionProtectorName: 'current',
|
|
225
227
|
resourceGroupName: group.resourceGroupName,
|
|
226
228
|
serverName: sqlName,
|
|
227
|
-
serverKeyType:
|
|
229
|
+
serverKeyType: 'AzureKeyVault',
|
|
228
230
|
serverKeyName: encryptKey.keyName,
|
|
229
231
|
autoRotationEnabled: true,
|
|
230
232
|
}, { dependsOn: serverKey });
|
|
@@ -267,7 +269,7 @@ exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases
|
|
|
267
269
|
// });
|
|
268
270
|
// }
|
|
269
271
|
return {
|
|
270
|
-
|
|
272
|
+
name: sqlName,
|
|
271
273
|
group,
|
|
272
274
|
id: sqlServer.id,
|
|
273
275
|
resource: sqlServer,
|
|
@@ -275,4 +277,4 @@ exports.default = ({ name, auth, group, enableEncryption, elasticPool, databases
|
|
|
275
277
|
databases: dbs,
|
|
276
278
|
};
|
|
277
279
|
};
|
|
278
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3FsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4REFBZ0Q7QUFDaEQsMkNBQWlFO0FBQ2pFLCtDQUE0RDtBQUU1RCwyREFBd0Q7QUFDeEQsaURBQXFFO0FBQ3JFLDZDQUF3RTtBQVF4RSwyQ0FBa0Q7QUFDbEQsOEVBQTZEO0FBQzdELG9EQUE2RDtBQUM3RCwyREFBMkQ7QUFDM0QsMkNBQTBEO0FBVzFELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxFQUN6QixLQUFLLEVBQ0wsSUFBSSxFQUNKLE9BQU87QUFDUCxrQkFBa0I7QUFDbEIsY0FBYyxHQUFHLEVBQUUsRUFDbkIsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLGdCQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsR0FDekMsRUFBNkMsRUFBRTtJQUNoRSxvQkFBb0I7SUFDcEIsTUFBTSxXQUFXLEdBQUcsSUFBQSwyQkFBa0IsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUU3QyxNQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO1FBQzFDLGVBQWUsRUFBRSxXQUFXO1FBQzVCLFVBQVUsRUFBRSxPQUFPO1FBQ25CLEdBQUcsS0FBSztRQUVSLFlBQVksRUFBRSxnQkFBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDckUsR0FBRyxFQUFFO1lBQ0gsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksTUFBTTtZQUN2QixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZCxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7U0FDdkI7UUFDRCxtQkFBbUIsRUFBRTtZ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
|
|
280
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3FsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4REFBZ0Q7QUFDaEQsMkNBQWlFO0FBQ2pFLCtDQUE0RDtBQUU1RCwyREFBd0Q7QUFDeEQsaURBQXFFO0FBQ3JFLDZDQUF3RTtBQVF4RSwyQ0FBa0Q7QUFDbEQsOEVBQTZEO0FBQzdELG9EQUFpRDtBQUNqRCwyREFBMkQ7QUFDM0QsMkNBQTBEO0FBVzFELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxFQUN6QixLQUFLLEVBQ0wsSUFBSSxFQUNKLE9BQU87QUFDUCxrQkFBa0I7QUFDbEIsY0FBYyxHQUFHLEVBQUUsRUFDbkIsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLGdCQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsR0FDekMsRUFBNkMsRUFBRTtJQUNoRSxvQkFBb0I7SUFDcEIsTUFBTSxXQUFXLEdBQUcsSUFBQSwyQkFBa0IsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUU3QyxNQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO1FBQzFDLGVBQWUsRUFBRSxXQUFXO1FBQzVCLFVBQVUsRUFBRSxPQUFPO1FBQ25CLEdBQUcsS0FBSztRQUVSLFlBQVksRUFBRSxnQkFBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDckUsR0FBRyxFQUFFO1lBQ0gsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksTUFBTTtZQUN2QixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZCxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7U0FDdkI7UUFDRCxtQkFBbUIsRUFBRTtZ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
|
package/Storage/Helper.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as storage from
|
|
2
|
-
import { BasicResourceArgs, KeyVaultInfo } from
|
|
1
|
+
import * as storage from '@pulumi/azure-native/storage';
|
|
2
|
+
import { BasicResourceArgs, KeyVaultInfo } from '../types';
|
|
3
3
|
export type StorageConnectionInfo = {
|
|
4
4
|
primaryConnection: string;
|
|
5
5
|
secondaryConnection: string;
|
|
@@ -22,7 +22,7 @@ export declare const getStorageSecretsById: ({ storageId, vaultInfo, }: {
|
|
|
22
22
|
storageId: string;
|
|
23
23
|
vaultInfo: KeyVaultInfo;
|
|
24
24
|
}) => Promise<{
|
|
25
|
-
info: import("../Common/AzureEnv").
|
|
25
|
+
info: import("../Common/AzureEnv").ParsedResourceInfo | undefined;
|
|
26
26
|
secrets: StorageConnectionInfo;
|
|
27
27
|
} | undefined>;
|
|
28
28
|
export declare const getAccountSAS: ({ group, name }: BasicResourceArgs) => Promise<storage.ListStorageAccountSASResult>;
|
package/Storage/Helper.js
CHANGED
|
@@ -25,22 +25,22 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.getAccountSAS = exports.getStorageSecretsById = exports.getStorageSecrets = void 0;
|
|
27
27
|
const storage = __importStar(require("@pulumi/azure-native/storage"));
|
|
28
|
-
const
|
|
28
|
+
const Common_1 = require("../Common");
|
|
29
29
|
const Helper_1 = require("../KeyVault/Helper");
|
|
30
30
|
const AzureEnv_1 = require("../Common/AzureEnv");
|
|
31
31
|
const getStorageSecrets = async ({ name, nameFormatted, vaultInfo, }) => {
|
|
32
|
-
name = nameFormatted ? name : (0,
|
|
33
|
-
const primaryKeyName = (0,
|
|
34
|
-
const secondaryKeyName = (0,
|
|
35
|
-
const primaryConnectionKeyName = (0,
|
|
36
|
-
const secondConnectionKeyName = (0,
|
|
32
|
+
name = nameFormatted ? name : (0, Common_1.getStorageName)(name);
|
|
33
|
+
const primaryKeyName = (0, Common_1.getKeyName)(name, 'primary');
|
|
34
|
+
const secondaryKeyName = (0, Common_1.getKeyName)(name, 'secondary');
|
|
35
|
+
const primaryConnectionKeyName = (0, Common_1.getConnectionName)(name, 'primary');
|
|
36
|
+
const secondConnectionKeyName = (0, Common_1.getConnectionName)(name, 'secondary');
|
|
37
37
|
const [primaryConnection, secondaryConnection, primaryKey, secondaryKey] = await Promise.all([
|
|
38
38
|
primaryConnectionKeyName,
|
|
39
39
|
secondConnectionKeyName,
|
|
40
40
|
primaryKeyName,
|
|
41
41
|
secondaryKeyName,
|
|
42
42
|
].map((k) => {
|
|
43
|
-
const n = (0,
|
|
43
|
+
const n = (0, Common_1.getSecretName)(k);
|
|
44
44
|
return (0, Helper_1.getSecret)({ name: n, vaultInfo, nameFormatted: true });
|
|
45
45
|
}));
|
|
46
46
|
return {
|
|
@@ -86,4 +86,4 @@ const getAccountSAS = ({ group, name }) => {
|
|
|
86
86
|
});
|
|
87
87
|
};
|
|
88
88
|
exports.getAccountSAS = getAccountSAS;
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0b3JhZ2UvSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0VBQXdEO0FBRXhELHNDQUttQjtBQUNuQiwrQ0FBK0M7QUFFL0MsaURBQTZEO0FBaUJ0RCxNQUFNLGlCQUFpQixHQUFHLEtBQUssRUFBRSxFQUN0QyxJQUFJLEVBQ0osYUFBYSxFQUNiLFNBQVMsR0FLVixFQUFrQyxFQUFFO0lBQ25DLElBQUksR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBQSx1QkFBYyxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELE1BQU0sY0FBYyxHQUFHLElBQUEsbUJBQVUsRUFBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLG1CQUFVLEVBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sd0JBQXdCLEdBQUcsSUFBQSwwQkFBaUIsRUFBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDcEUsTUFBTSx1QkFBdUIsR0FBRyxJQUFBLDBCQUFpQixFQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUVyRSxNQUFNLENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFlBQVksQ0FBQyxHQUN0RSxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2Y7UUFDRSx3QkFBd0I7UUFDeEIsdUJBQXVCO1FBQ3ZCLGNBQWM7UUFDZCxnQkFBZ0I7S0FDakIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNWLE1BQU0sQ0FBQyxHQUFHLElBQUEsc0JBQWEsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixPQUFPLElBQUEsa0JBQVMsRUFBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUMsQ0FBQyxDQUNILENBQUM7SUFFSixPQUFPO1FBQ0wsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsS0FBTTtRQUM1QyxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxLQUFNO1FBQ2hELFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBTTtRQUM5QixZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQU07UUFFbEMsU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFdBQVcsSUFBSSx3QkFBd0I7WUFDN0MsSUFBSSxFQUFFLFdBQVcsSUFBSSx3QkFBd0I7WUFDN0MsS0FBSyxFQUFFLFdBQVcsSUFBSSx5QkFBeUI7WUFDL0MsVUFBVSxFQUFFLFdBQVcsSUFBSSwyQkFBMkI7WUFDdEQsUUFBUSxFQUFFLFdBQVcsSUFBSSx1QkFBdUI7U0FDakQ7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBMUNXLFFBQUEsaUJBQWlCLHFCQTBDNUI7QUFFSyxNQUFNLHFCQUFxQixHQUFHLEtBQUssRUFBRSxFQUMxQyxTQUFTLEVBQ1QsU0FBUyxHQUlWLEVBQUUsRUFBRTtJQUNILE1BQU0sSUFBSSxHQUFHLElBQUEsa0NBQXVCLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEQsTUFBTSxPQUFPLEdBQUcsSUFBSTtRQUNsQixDQUFDLENBQUMsTUFBTSxJQUFBLHlCQUFpQixFQUFDO1lBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLGFBQWEsRUFBRSxJQUFJO1lBQ25CLFNBQVM7U0FDVixDQUFDO1FBQ0osQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUVkLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ2pELENBQUMsQ0FBQztBQWpCVyxRQUFBLHFCQUFxQix5QkFpQmhDO0FBRUssTUFBTSxhQUFhLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQXFCLEVBQUUsRUFBRTtJQUNsRSxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3ZCLE1BQU0sVUFBVSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDOUIsVUFBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFL0MsT0FBTyxPQUFPLENBQUMscUJBQXFCLENBQUM7UUFDbkMsV0FBVyxFQUFFLElBQUk7UUFDakIsR0FBRyxLQUFLO1FBQ1IsYUFBYSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzVDLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxTQUFTLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLO1FBQ3JDLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxXQUFXLEVBQUU7UUFDeEMsc0JBQXNCLEVBQUUsVUFBVSxDQUFDLFdBQVcsRUFBRTtLQUNqRCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFmVyxRQUFBLGFBQWEsaUJBZXhCIn0=
|
package/Storage/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { KeyVaultSecret } from
|
|
2
|
-
import * as storage from
|
|
3
|
-
import {
|
|
4
|
-
import { Input } from
|
|
5
|
-
import { DefaultManagementRules, ManagementRules } from
|
|
1
|
+
import { KeyVaultSecret } from '@azure/keyvault-secrets';
|
|
2
|
+
import * as storage from '@pulumi/azure-native/storage';
|
|
3
|
+
import { BasicResourceArgs, KeyVaultInfo, ResourceInfo } from '../types';
|
|
4
|
+
import { Input } from '@pulumi/pulumi';
|
|
5
|
+
import { DefaultManagementRules, ManagementRules } from './ManagementRules';
|
|
6
6
|
export type ContainerProps = {
|
|
7
7
|
name: string;
|
|
8
8
|
public?: boolean;
|
|
@@ -24,18 +24,18 @@ export type StoragePolicyType = {
|
|
|
24
24
|
defaultManagementRules?: Array<DefaultManagementRules>;
|
|
25
25
|
};
|
|
26
26
|
export type StorageNetworkType = {
|
|
27
|
-
defaultByPass?:
|
|
27
|
+
defaultByPass?: 'AzureServices' | 'None';
|
|
28
28
|
vnet?: Array<{
|
|
29
29
|
subnetId?: Input<string>;
|
|
30
30
|
ipAddresses?: Array<string>;
|
|
31
31
|
}>;
|
|
32
32
|
privateEndpoint?: {
|
|
33
33
|
subnetIds: Input<string>[];
|
|
34
|
-
type:
|
|
34
|
+
type: 'blob' | 'table' | 'queue' | 'file' | 'web' | 'dfs';
|
|
35
35
|
};
|
|
36
36
|
};
|
|
37
37
|
interface StorageProps extends BasicResourceArgs {
|
|
38
|
-
vaultInfo
|
|
38
|
+
vaultInfo?: KeyVaultInfo;
|
|
39
39
|
containers?: Array<ContainerProps>;
|
|
40
40
|
queues?: Array<string>;
|
|
41
41
|
fileShares?: Array<string>;
|
|
@@ -46,7 +46,7 @@ interface StorageProps extends BasicResourceArgs {
|
|
|
46
46
|
}
|
|
47
47
|
export type StorageResults = ResourceInfo & {
|
|
48
48
|
instance: storage.StorageAccount;
|
|
49
|
-
getConnectionString
|
|
49
|
+
getConnectionString?: (name?: string) => Promise<KeyVaultSecret | undefined>;
|
|
50
50
|
};
|
|
51
51
|
/** Storage Creator */
|
|
52
52
|
declare const _default: ({ name, group, vaultInfo, containers, queues, fileShares, network, featureFlags, policies, lock, }: StorageProps) => StorageResults;
|
package/Storage/index.js
CHANGED
|
@@ -29,7 +29,7 @@ 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
31
|
const AzureEnv_1 = require("../Common/AzureEnv");
|
|
32
|
-
const
|
|
32
|
+
const Common_1 = 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"));
|
|
@@ -37,11 +37,11 @@ const ManagementRules_1 = require("./ManagementRules");
|
|
|
37
37
|
const Helper_2 = require("../AzAd/Helper");
|
|
38
38
|
/** Storage Creator */
|
|
39
39
|
exports.default = ({ name, group, vaultInfo, containers = [], queues = [], fileShares = [], network, featureFlags = {}, policies = { keyExpirationPeriodInDays: 365 }, lock = true, }) => {
|
|
40
|
-
name = (0,
|
|
41
|
-
const primaryKeyName = (0,
|
|
42
|
-
const secondaryKeyName = (0,
|
|
43
|
-
const primaryConnectionKeyName = (0,
|
|
44
|
-
const secondConnectionKeyName = (0,
|
|
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
45
|
const encryptionKey = featureFlags.enableKeyVaultEncryption
|
|
46
46
|
? (0, Helper_1.getEncryptionKeyOutput)(name, vaultInfo)
|
|
47
47
|
: undefined;
|
|
@@ -55,13 +55,13 @@ exports.default = ({ name, group, vaultInfo, containers = [], queues = [], fileS
|
|
|
55
55
|
? storage.SkuName.Standard_ZRS //Zone redundant in PRD
|
|
56
56
|
: storage.SkuName.Standard_LRS,
|
|
57
57
|
},
|
|
58
|
-
accessTier:
|
|
58
|
+
accessTier: 'Hot',
|
|
59
59
|
isHnsEnabled: true,
|
|
60
60
|
enableHttpsTrafficOnly: true,
|
|
61
61
|
allowBlobPublicAccess: policies?.allowBlobPublicAccess,
|
|
62
62
|
allowSharedKeyAccess: featureFlags.allowSharedKeyAccess,
|
|
63
|
-
identity: { type:
|
|
64
|
-
minimumTlsVersion:
|
|
63
|
+
identity: { type: 'SystemAssigned' },
|
|
64
|
+
minimumTlsVersion: 'TLS1_2',
|
|
65
65
|
//1 Year Months
|
|
66
66
|
keyPolicy: {
|
|
67
67
|
keyExpirationPeriodInDays: policies.keyExpirationPeriodInDays || 365,
|
|
@@ -78,18 +78,18 @@ exports.default = ({ name, group, vaultInfo, containers = [], queues = [], fileS
|
|
|
78
78
|
keyType: storage.KeyType.Account,
|
|
79
79
|
},
|
|
80
80
|
},
|
|
81
|
-
keySource:
|
|
81
|
+
keySource: 'Microsoft.KeyVault',
|
|
82
82
|
keyVaultProperties: encryptionKey,
|
|
83
83
|
}
|
|
84
84
|
: undefined,
|
|
85
85
|
sasPolicy: {
|
|
86
86
|
expirationAction: storage.ExpirationAction.Log,
|
|
87
|
-
sasExpirationPeriod:
|
|
87
|
+
sasExpirationPeriod: '00.00:30:00',
|
|
88
88
|
},
|
|
89
|
-
publicNetworkAccess: network?.privateEndpoint ?
|
|
89
|
+
publicNetworkAccess: network?.privateEndpoint ? 'Disabled' : 'Enabled',
|
|
90
90
|
networkRuleSet: {
|
|
91
|
-
bypass: network?.defaultByPass ??
|
|
92
|
-
defaultAction:
|
|
91
|
+
bypass: network?.defaultByPass ?? 'AzureServices', // Logging,Metrics,AzureServices or None
|
|
92
|
+
defaultAction: 'Allow',
|
|
93
93
|
virtualNetworkRules: network?.vnet
|
|
94
94
|
? network.vnet
|
|
95
95
|
.filter((v) => v.subnetId)
|
|
@@ -103,7 +103,7 @@ exports.default = ({ name, group, vaultInfo, containers = [], queues = [], fileS
|
|
|
103
103
|
.flatMap((s) => s.ipAddresses)
|
|
104
104
|
.map((i) => ({
|
|
105
105
|
iPAddressOrRange: i,
|
|
106
|
-
action:
|
|
106
|
+
action: 'Allow',
|
|
107
107
|
}))
|
|
108
108
|
: undefined,
|
|
109
109
|
},
|
|
@@ -111,7 +111,7 @@ exports.default = ({ name, group, vaultInfo, containers = [], queues = [], fileS
|
|
|
111
111
|
if (network?.privateEndpoint) {
|
|
112
112
|
//Create Private Endpoints
|
|
113
113
|
(0, PrivateEndpoint_1.default)({
|
|
114
|
-
resourceInfo: {
|
|
114
|
+
resourceInfo: { name, group, id: stg.id },
|
|
115
115
|
subnetIds: network.privateEndpoint.subnetIds,
|
|
116
116
|
privateDnsZoneName: `privatelink.${network.privateEndpoint.type}.core.windows.net`,
|
|
117
117
|
linkServiceGroupIds: [network.privateEndpoint.type],
|
|
@@ -134,8 +134,8 @@ exports.default = ({ name, group, vaultInfo, containers = [], queues = [], fileS
|
|
|
134
134
|
new storage.StorageAccountStaticWebsite(name, {
|
|
135
135
|
accountName: stg.name,
|
|
136
136
|
...group,
|
|
137
|
-
indexDocument:
|
|
138
|
-
error404Document:
|
|
137
|
+
indexDocument: 'index.html',
|
|
138
|
+
error404Document: 'index.html',
|
|
139
139
|
}, { dependsOn: stg });
|
|
140
140
|
}
|
|
141
141
|
//Create Containers
|
|
@@ -145,7 +145,7 @@ exports.default = ({ name, group, vaultInfo, containers = [], queues = [], fileS
|
|
|
145
145
|
...group,
|
|
146
146
|
accountName: stg.name,
|
|
147
147
|
//denyEncryptionScopeOverride: true,
|
|
148
|
-
publicAccess: c.public ?
|
|
148
|
+
publicAccess: c.public ? 'Blob' : 'None',
|
|
149
149
|
});
|
|
150
150
|
if (c.managementRules) {
|
|
151
151
|
(0, ManagementRules_1.createManagementRules)({
|
|
@@ -182,7 +182,7 @@ exports.default = ({ name, group, vaultInfo, containers = [], queues = [], fileS
|
|
|
182
182
|
(0, Helper_2.grantIdentityPermissions)({
|
|
183
183
|
name,
|
|
184
184
|
vaultInfo,
|
|
185
|
-
envRole:
|
|
185
|
+
envRole: 'readOnly',
|
|
186
186
|
principalId: stg.identity.apply((s) => s.principalId),
|
|
187
187
|
});
|
|
188
188
|
const keys = (await storage.listStorageAccountKeys({
|
|
@@ -197,7 +197,7 @@ exports.default = ({ name, group, vaultInfo, containers = [], queues = [], fileS
|
|
|
197
197
|
//Keys
|
|
198
198
|
(0, CustomHelper_1.addCustomSecrets)({
|
|
199
199
|
vaultInfo,
|
|
200
|
-
contentType:
|
|
200
|
+
contentType: 'Storage',
|
|
201
201
|
formattedName: true,
|
|
202
202
|
items: [
|
|
203
203
|
{
|
|
@@ -221,11 +221,13 @@ exports.default = ({ name, group, vaultInfo, containers = [], queues = [], fileS
|
|
|
221
221
|
}
|
|
222
222
|
});
|
|
223
223
|
return {
|
|
224
|
-
|
|
224
|
+
name,
|
|
225
225
|
group,
|
|
226
226
|
id: stg.id,
|
|
227
227
|
instance: stg,
|
|
228
|
-
getConnectionString:
|
|
228
|
+
getConnectionString: vaultInfo
|
|
229
|
+
? (name = primaryConnectionKeyName) => (0, Helper_1.getSecret)({ name, nameFormatted: true, vaultInfo })
|
|
230
|
+
: undefined,
|
|
229
231
|
};
|
|
230
232
|
};
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RvcmFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0Esc0VBQXdEO0FBR3hELCtDQUF1RTtBQUN2RSxpREFBMkM7QUFDM0Msc0NBQTBFO0FBQzFFLDJEQUE0RDtBQUM1RCw0REFBb0M7QUFDcEMsOEVBQXNEO0FBQ3RELHVEQUkyQjtBQUMzQiwyQ0FBMEQ7QUFpRDFELHNCQUFzQjtBQUN0QixrQkFBZSxDQUFDLEVBQ2QsSUFBSSxFQUNKLEtBQUssRUFDTCxTQUFTLEVBQ1QsVUFBVSxHQUFHLEVBQUUsRUFDZixNQUFNLEdBQUcsRUFBRSxFQUNYLFVBQVUsR0FBRyxFQUFFLEVBQ2YsT0FBTyxFQUNQLFlBQVksR0FBRyxFQUFFLEVBQ2pCLFFBQVEsR0FBRyxFQUFFLHlCQUF5QixFQUFFLEdBQUcsRUFBRSxFQUM3QyxJQUFJLEdBQUcsSUFBSSxHQUNFLEVBQWtCLEVBQUU7SUFDakMsSUFBSSxHQUFHLElBQUEsdUJBQWMsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUU1QixNQUFNLGNBQWMsR0FBRyxJQUFBLG1CQUFVLEVBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSxtQkFBVSxFQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN2RCxNQUFNLHdCQUF3QixHQUFHLElBQUEsMEJBQWlCLEVBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sdUJBQXVCLEdBQUcsSUFBQSwwQkFBaUIsRUFBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckUsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLHdCQUF3QjtRQUN6RCxDQUFDLENBQUMsSUFBQSwrQkFBc0IsRUFBQyxJQUFJLEVBQUUsU0FBUyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxTQUFT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
|
package/VM/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Input, Resource } from
|
|
2
|
-
import * as compute from
|
|
3
|
-
import { BasicResourceArgs, KeyVaultInfo } from
|
|
4
|
-
import { VmExtensionProps } from
|
|
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';
|
|
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 */
|
|
7
|
-
timeZone?:
|
|
7
|
+
timeZone?: 'Singapore Standard Time' | Input<string>;
|
|
8
8
|
/** The format is ISO 8601 Standard ex: 2200 */
|
|
9
9
|
autoShutdownTime?: Input<string>;
|
|
10
10
|
};
|
|
@@ -16,18 +16,18 @@ interface Props extends BasicResourceArgs {
|
|
|
16
16
|
userName: Input<string>;
|
|
17
17
|
password?: Input<string>;
|
|
18
18
|
};
|
|
19
|
-
osType?:
|
|
19
|
+
osType?: 'Windows' | 'Linux';
|
|
20
20
|
image: {
|
|
21
|
-
offer:
|
|
22
|
-
publisher:
|
|
23
|
-
sku:
|
|
21
|
+
offer: 'WindowsServer' | 'CentOS' | 'Windows-10' | 'windows-11' | string;
|
|
22
|
+
publisher: 'MicrosoftWindowsServer' | 'MicrosoftWindowsDesktop' | 'Canonical' | string;
|
|
23
|
+
sku: '2019-Datacenter' | '21h1-pro' | 'win11-23h2-pro' | string;
|
|
24
24
|
};
|
|
25
25
|
enableEncryption?: boolean;
|
|
26
|
-
vaultInfo
|
|
26
|
+
vaultInfo?: KeyVaultInfo;
|
|
27
27
|
osDiskSizeGB?: number;
|
|
28
28
|
dataDiskSizeGB?: number;
|
|
29
29
|
schedule?: VmScheduleType;
|
|
30
|
-
extensions?: Array<Omit<VmExtensionProps,
|
|
30
|
+
extensions?: Array<Omit<VmExtensionProps, 'dependsOn' | 'vmName' | 'group'>>;
|
|
31
31
|
lock?: boolean;
|
|
32
32
|
tags?: {
|
|
33
33
|
[key: string]: Input<string>;
|