@drunk-pulumi/azure 1.0.13 → 1.0.14
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/Builder/SqlBuilder.js +1 -1
- package/Sql/index.js +7 -13
- package/Storage/index.d.ts +3 -2
- package/Storage/index.js +19 -10
- package/package.json +1 -1
package/Builder/SqlBuilder.js
CHANGED
|
@@ -131,4 +131,4 @@ class SqlBuilder extends types_1.Builder {
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
exports.default = (props) => new SqlBuilder(props);
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9CdWlsZGVyL1NxbEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpREFBNkU7QUFHN0UsbUNBY2lCO0FBQ2pCLDJDQUE2QztBQUU3QyxNQUFNLFVBQ0osU0FBUSxlQUFtQjtJQXlCUDtJQWpCcEIsV0FBVztJQUNILFlBQVksR0FBMkIsU0FBUyxDQUFDO0lBRXpELFFBQVE7SUFDQSxjQUFjLEdBQVksS0FBSyxDQUFDO0lBQ2hDLFVBQVUsR0FBMEIsU0FBUyxDQUFDO0lBQzlDLFlBQVksR0FBOEIsRUFBRSxDQUFDO0lBQzdDLGFBQWEsR0FBK0IsU0FBUyxDQUFDO0lBQ3RELGlCQUFpQixHQUFtQyxTQUFTLENBQUM7SUFDOUQsZUFBZSxHQUF1QyxFQUFFLENBQUM7SUFDekQsV0FBVyxHQUFhLElBQUksQ0FBQztJQUM3Qix3QkFBd0IsR0FFaEIsU0FBUyxDQUFDO0lBQ2xCLGNBQWMsR0FBeUIsU0FBUyxDQUFDO0lBQ2pELEtBQUssR0FBWSxLQUFLLENBQUM7SUFFL0IsWUFBb0IsSUFBb0I7UUFDdEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRE0sU0FBSSxHQUFKLElBQUksQ0FBZ0I7SUFFeEMsQ0FBQztJQUVELDJCQUEyQixDQUN6QixLQUE0QztRQUU1QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsS0FBSyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUF5QjtRQUM5QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNNLFFBQVEsQ0FBQyxHQUFhO1FBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNNLGFBQWEsQ0FBQyxLQUF1QjtRQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFBRSxLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDN0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNNLFVBQVUsQ0FBQyxLQUFvQjtRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFBRSxLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDN0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDakMsR0FBRyxLQUFLO1lBQ1IsUUFBUSxFQUFFLEtBQUssQ0FBQyxZQUFZO1NBQzdCLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDTSxhQUFhLENBQUMsS0FBdUI7UUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHO1lBQUUsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzdDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHO1lBQ2pDLEdBQUcsS0FBSztZQUNSLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtTQUN2QyxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ00sV0FBVyxDQUFDLEtBQXFCO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNNLGVBQWUsQ0FBQyxLQUFnQztRQUNyRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNNLGFBQWEsQ0FBQyxLQUFnQjtRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDTSxpQkFBaUIsQ0FBQyxHQUFHLEtBQWU7UUFDekMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ00sSUFBSTtRQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTztRQUVqQyxNQUFNLEtBQUssR0FBRyxJQUFBLG9CQUFXLEVBQUM7WUFDeEIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSTtZQUMzQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO1lBQ2xDLGlCQUFpQixFQUFFLEVBQUU7WUFDckIsZUFBZSxFQUFFO2dCQUNmLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO2FBQ3JFO1lBQ0QsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUztTQUN0QyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3RSxDQUFDO0lBRU8sUUFBUTtRQUNkLElBQUksSUFBSSxDQUFDLHdCQUF3QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ3JELE1BQU0sSUFBSSxLQUFLLENBQ2IsNEVBQTRFLENBQzdFLENBQUM7UUFFSixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUEsYUFBRyxFQUFDO1lBQ3RCLEdBQUcsSUFBSSxDQUFDLFdBQVc7WUFDbkIsSUFBSSxFQUFFO2dCQUNKLEdBQUcsSUFBSSxDQUFDLFlBQVk7Z0JBQ3BCLEdBQUcsSUFBSSxDQUFDLFVBQVc7Z0JBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7YUFDN0I7WUFDRCx1QkFBdUIsRUFBRSxJQUFJLENBQUMsd0JBQXdCO2dCQUNwRCxDQUFDLENBQUM7b0JBQ0UsR0FBRyxJQUFJLENBQUMsd0JBQXdCO29CQUNoQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFRLENBQUMsVUFBVztpQkFDM0M7Z0JBQ0gsQ0FBQyxDQUFDLFNBQVM7WUFDYixPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDM0IsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUI7WUFDbkMsU0FBUyxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQy9CLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSztZQUNoQixhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhCLE9BQU8sSUFBSSxDQUFDLFlBQWEsQ0FBQztJQUM1QixDQUFDO0NBQ0Y7QUFFRCxrQkFBZSxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUN2QyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQXFCLENBQUMifQ==
|
package/Sql/index.js
CHANGED
|
@@ -103,16 +103,10 @@ exports.default = ({ name, auth, group, elasticPool, databases, vaultInfo, enabl
|
|
|
103
103
|
});
|
|
104
104
|
//Lock from delete
|
|
105
105
|
if (lock) {
|
|
106
|
-
(0, Locker_1.Locker)({ name, resource: sqlServer });
|
|
106
|
+
(0, Locker_1.Locker)({ name: sqlName, resource: sqlServer });
|
|
107
107
|
}
|
|
108
108
|
//Allows to Read Key Vault
|
|
109
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
|
-
// });
|
|
116
110
|
const ep = elasticPool
|
|
117
111
|
? createElasticPool({
|
|
118
112
|
name,
|
|
@@ -136,7 +130,7 @@ exports.default = ({ name, auth, group, elasticPool, databases, vaultInfo, enabl
|
|
|
136
130
|
if (network?.privateLink) {
|
|
137
131
|
(0, PrivateEndpoint_1.default)({
|
|
138
132
|
...network.privateLink,
|
|
139
|
-
resourceInfo: { name, group, id: sqlServer.id },
|
|
133
|
+
resourceInfo: { name: sqlName, group, id: sqlServer.id },
|
|
140
134
|
privateDnsZoneName: 'privatelink.database.windows.net',
|
|
141
135
|
linkServiceGroupIds: network.privateLink.type
|
|
142
136
|
? [network.privateLink.type]
|
|
@@ -169,7 +163,7 @@ exports.default = ({ name, auth, group, elasticPool, databases, vaultInfo, enabl
|
|
|
169
163
|
//Grant Storage permission
|
|
170
164
|
envRoles?.addMember('contributor', sqlServer.identity.apply((i) => i.principalId));
|
|
171
165
|
//ServerSecurityAlertPolicy
|
|
172
|
-
const alertPolicy = new sql.ServerSecurityAlertPolicy(
|
|
166
|
+
const alertPolicy = new sql.ServerSecurityAlertPolicy(sqlName, {
|
|
173
167
|
securityAlertPolicyName: 'default',
|
|
174
168
|
...group,
|
|
175
169
|
serverName: sqlServer.name,
|
|
@@ -181,7 +175,7 @@ exports.default = ({ name, auth, group, elasticPool, databases, vaultInfo, enabl
|
|
|
181
175
|
state: 'Enabled',
|
|
182
176
|
}, { dependsOn: sqlServer });
|
|
183
177
|
//Server Audit
|
|
184
|
-
new sql.ExtendedServerBlobAuditingPolicy(
|
|
178
|
+
new sql.ExtendedServerBlobAuditingPolicy(sqlName, {
|
|
185
179
|
auditActionsAndGroups: [
|
|
186
180
|
'SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP',
|
|
187
181
|
'FAILED_DATABASE_AUTHENTICATION_GROUP',
|
|
@@ -202,8 +196,8 @@ exports.default = ({ name, auth, group, elasticPool, databases, vaultInfo, enabl
|
|
|
202
196
|
storageEndpoint: vulnerabilityAssessment.logStorage.endpoints.blob,
|
|
203
197
|
}, { dependsOn: alertPolicy });
|
|
204
198
|
//ServerVulnerabilityAssessment
|
|
205
|
-
new sql.ServerVulnerabilityAssessment(
|
|
206
|
-
vulnerabilityAssessmentName:
|
|
199
|
+
new sql.ServerVulnerabilityAssessment(sqlName, {
|
|
200
|
+
vulnerabilityAssessmentName: sqlName,
|
|
207
201
|
...group,
|
|
208
202
|
serverName: sqlServer.name,
|
|
209
203
|
recurringScans: {
|
|
@@ -284,4 +278,4 @@ exports.default = ({ name, auth, group, elasticPool, databases, vaultInfo, enabl
|
|
|
284
278
|
databases: dbs,
|
|
285
279
|
};
|
|
286
280
|
};
|
|
287
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3FsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4REFBZ0Q7QUFDaEQsMkNBQWlFO0FBRWpFLDJDQUF3QztBQUN4QywrQ0FBbUQ7QUFDbkQsc0NBQTREO0FBQzVELHNDQUFpRTtBQVdqRSwyQ0FBa0Q7QUFDbEQsOEVBQTZEO0FBQzdELG9EQUFtQztBQUNuQywyREFBMkQ7QUFXM0QsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEVBQ3pCLEtBQUssRUFDTCxJQUFJLEVBQ0osT0FBTztBQUNQLGtCQUFrQjtBQUNsQixjQUFjLEdBQUcsRUFBRSxFQUNuQixHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsY0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEdBQ3pDLEVBQTZDLEVBQUU7SUFDaEUsb0JBQW9CO0lBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUEsMkJBQWtCLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFFN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRTtRQUMxQyxlQUFlLEVBQUUsV0FBVztRQUM1QixVQUFVLEVBQUUsT0FBTztRQUNuQixHQUFHLEtBQUs7UUFFUixZQUFZLEVBQUUsY0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDckUsR0FBRyxFQUFFO1lBQ0gsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksTUFBTTtZQUN2QixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZCxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7U0FDdkI7UUFDRCxtQkFBbUIsRUFBRTtZQUNuQixXQUFXLEVBQUUsQ0FBQztZQUNkLFdBQVcsRUFBRSxHQUFHLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUTtTQUNyRDtRQUNELGFBQWEsRUFBRSxjQUFLO1FBQ3BCLG9EQUFvRDtRQUNwRCx1QkFBdUI7S0FDeEIsQ0FBQyxDQUFDO0lBRUgsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUMvRCxDQUFDLENBQUM7QUF1Q0Ysa0JBQWUsQ0FBQyxFQUNkLElBQUksRUFDSixJQUFJLEVBQ0osS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsU0FBUyxFQUNULGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsT0FBTyxFQUNQLHVCQUF1QixFQUN2QixhQUFhLEdBQUcsRUFBRSxFQUNsQixJQUFJLEVBQ0osU0FBUyxHQUNILEVBQWMsRUFBRTtJQUN0QixNQUFNLE9BQU8sR0FBRyxJQUFBLHlCQUFnQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sVUFBVSxHQUFHLGdCQUFnQjtRQUNqQyxDQUFDLENBQUMsSUFBQSxzQkFBYSxFQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBVSxFQUFFLENBQUM7UUFDekQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUVkLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDO0lBRTlDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNuQyxhQUFhLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDekMsYUFBYSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQzlCLE9BQU8sRUFDUDtRQUNFLFVBQVUsRUFBRSxPQUFPO1FBQ25CLEdBQUcsS0FBSztRQUNSLE9BQU8sRUFBRSxNQUFNO1FBQ2YsaUJBQWlCLEVBQUUsS0FBSztRQUV4QixRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7UUFDcEMsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLFVBQVU7UUFDcEMsMEJBQTBCLEVBQUUsSUFBSSxFQUFFLFFBQVE7UUFDMUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHO1FBRXRCLGNBQWMsRUFBRTtZQUNkLGlCQUFpQixFQUFFLFVBQVU7Z0JBQzNCLENBQUMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsZUFBZTtnQkFDdkMsQ0FBQyxDQUFDLFNBQVM7WUFDYix5QkFBeUIsRUFBRSxVQUFVO2dCQUNuQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLElBQUksSUFBSSxDQUFDO2dCQUMxQyxDQUFDLENBQUMsS0FBSztZQUVULGFBQWEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUs7WUFDdEMsUUFBUSxFQUFSLGlCQUFRO1lBQ1IsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRO1lBQ3pCLEtBQUssRUFBRSxVQUFVLEVBQUUsV0FBVztTQUMvQjtRQUNELG1CQUFtQixFQUFFLE9BQU8sRUFBRSxXQUFXO1lBQ3ZDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsUUFBUTtZQUN0QyxDQUFDLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLE9BQU87S0FDeEMsRUFDRDtRQUNFLFNBQVM7UUFDVCxhQUFhO1FBQ2IsT0FBTyxFQUFFLElBQUk7S0FDZCxDQUNGLENBQUM7SUFDRixrQkFBa0I7SUFDbEIsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNULElBQUEsZUFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCwwQkFBMEI7SUFDMUIsUUFBUSxFQUFFLFNBQVMsQ0FDakIsVUFBVSxFQUNWLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFFLENBQUMsV0FBVyxDQUFDLENBQ2hELENBQUM7SUFDRiw2QkFBNkI7SUFDN0IsVUFBVTtJQUNWLGVBQWU7SUFDZixzQkFBc0I7SUFDdEIsa0VBQWtFO0lBQ2xFLE1BQU07SUFFTixNQUFNLEVBQUUsR0FBRyxXQUFXO1FBQ3BCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUNoQixJQUFJO1lBQ0osS0FBSztZQUNMLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSTtZQUN2QixHQUFHLEVBQUUsV0FBVztTQUNqQixDQUFDO1FBQ0osQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUVkLFFBQVE7SUFDUixJQUFJLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUN0QixjQUFjO1FBQ2QsSUFBSSxHQUFHLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFO1lBQ2xDLHNCQUFzQixFQUFFLEdBQUcsT0FBTyxXQUFXO1lBQzdDLFVBQVUsRUFBRSxTQUFTLENBQUMsSUFBSTtZQUMxQixHQUFHLEtBQUs7WUFFUixzQkFBc0IsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUN4QyxnQ0FBZ0MsRUFBRSxLQUFLO1NBQ3hDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxjQUFjO0lBQ2QsSUFBSSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDekIsSUFBQSx5QkFBc0IsRUFBQztZQUNyQixHQUFHLE9BQU8sQ0FBQyxXQUFXO1lBQ3RCLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUU7WUFDL0Msa0JBQWtCLEVBQUUsa0NBQWtDO1lBQ3RELG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSTtnQkFDM0MsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQzVCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsMkJBQTJCO0lBQzNCLElBQUksT0FBTyxFQUFFLHNCQUFzQixFQUFFLENBQUM7UUFDcEMsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLHVCQUF1QixFQUFFO1lBQzVDLGdCQUFnQixFQUFFLHVCQUF1QjtZQUN6QyxVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUk7WUFDMUIsR0FBRyxLQUFLO1lBQ1IsY0FBYyxFQUFFLFNBQVM7WUFDekIsWUFBWSxFQUFFLGlCQUFpQjtTQUNoQyxDQUFDLENBQUM7SUFDTCxDQUFDO1NBQU0sSUFBSSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBQSxZQUFHLEVBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ3JDLElBQUEseUJBQWdCLEVBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsT0FBTyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBRW5DLE9BQU8sSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRTtnQkFDN0IsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDbkIsVUFBVSxFQUFFLFNBQVMsQ0FBQyxJQUFJO2dCQUMxQixHQUFHLEtBQUs7Z0JBQ1IsY0FBYyxFQUFFLEVBQUUsQ0FBQyxLQUFLO2dCQUN4QixZQUFZLEVBQUUsRUFBRSxDQUFDLEdBQUc7YUFDckIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLHVCQUF1QixFQUFFLFVBQVUsRUFBRSxDQUFDO1FBQ3hDLDBCQUEwQjtRQUMxQixRQUFRLEVBQUUsU0FBUyxDQUNqQixhQUFhLEVBQ2IsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUUsQ0FBQyxXQUFZLENBQUMsQ0FDakQsQ0FBQztRQUVGLDJCQUEyQjtRQUMzQixNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQyx5QkFBeUIsQ0FDbkQsSUFBSSxFQUNKO1lBQ0UsdUJBQXVCLEVBQUUsU0FBUztZQUNsQyxHQUFHLEtBQUs7WUFDUixVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUk7WUFDMUIsa0JBQWtCLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXO1lBQ3hELGNBQWMsRUFBRSx1QkFBdUIsQ0FBQyxXQUFXO1lBRW5ELGFBQWEsRUFBRSxDQUFDO1lBRWhCLHVCQUF1QixFQUFFLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxVQUFVO1lBQ3RFLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUk7WUFDbEUsS0FBSyxFQUFFLFNBQVM7U0FDakIsRUFDRCxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FDekIsQ0FBQztRQUVGLGNBQWM7UUFDZCxJQUFJLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FDdEMsSUFBSSxFQUNKO1lBQ0UscUJBQXFCLEVBQUU7Z0JBQ3JCLDBDQUEwQztnQkFDMUMsc0NBQXNDO2dCQUN0Qyx1QkFBdUI7YUFDeEI7WUFDRCxVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUk7WUFDMUIsR0FBRyxLQUFLO1lBRVIsc0JBQXNCLEVBQUUsU0FBUztZQUNqQywyQkFBMkIsRUFBRSxJQUFJO1lBQ2pDLDBCQUEwQixFQUFFLEtBQUs7WUFDakMsbUJBQW1CLEVBQUUsK0JBQStCO1lBQ3BELFlBQVksRUFBRSxJQUFJO1lBQ2xCLGFBQWEsRUFBRSxjQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QixLQUFLLEVBQUUsU0FBUztZQUNoQixvQkFBb0IsRUFBRSxJQUFJO1lBRTFCLHVCQUF1QixFQUFFLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxVQUFVO1lBQ3RFLDRCQUE0QixFQUFFLHVCQUFjO1lBQzVDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUk7U0FDbkUsRUFDRCxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FDM0IsQ0FBQztRQUVGLCtCQUErQjtRQUMvQixJQUFJLEdBQUcsQ0FBQyw2QkFBNkIsQ0FDbkMsSUFBSSxFQUNKO1lBQ0UsMkJBQTJCLEVBQUUsSUFBSTtZQUNqQyxHQUFHLEtBQUs7WUFDUixVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUk7WUFFMUIsY0FBYyxFQUFFO2dCQUNkLFNBQVMsRUFBRSxJQUFJO2dCQUNmLHVCQUF1QixFQUFFLENBQUMsdUJBQXVCLENBQUMsV0FBVztnQkFDN0QsTUFBTSxFQUFFLHVCQUF1QixDQUFDLFdBQVc7YUFDNUM7WUFFRCxvQkFBb0IsRUFBRSxJQUFBLG9CQUFXLEVBQUEsR0FBRyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxPQUFPLEVBQUU7WUFDbEcsdUJBQXVCLEVBQUUsdUJBQXVCLENBQUMsVUFBVSxDQUFDLFVBQVU7U0FDdkUsRUFDRCxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FDM0IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsNEVBQTRFO1FBQzVFLE1BQU0sT0FBTyxHQUFHLElBQUEsb0JBQVcsRUFBQSxHQUFHLFNBQVMsRUFBRSxJQUFJLElBQUksVUFBVSxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFL0YsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUNqQyxHQUFHLE9BQU8sWUFBWSxFQUN0QjtZQUNFLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMsVUFBVSxFQUFFLE9BQU87WUFDbkIsYUFBYSxFQUFFLGVBQWU7WUFDOUIsT0FBTyxFQUFFLE9BQU87WUFDaEIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHO1NBQ3BCLEVBQ0QsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxDQUN4QyxDQUFDO1FBRUYsSUFBSSxHQUFHLENBQUMsbUJBQW1CLENBQ3pCLEdBQUcsT0FBTyxzQkFBc0IsRUFDaEM7WUFDRSx1QkFBdUIsRUFBRSxTQUFTO1lBQ2xDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMsVUFBVSxFQUFFLE9BQU87WUFDbkIsYUFBYSxFQUFFLGVBQWU7WUFDOUIsYUFBYSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1lBQzdCLG1CQUFtQixFQUFFLElBQUk7U0FDMUIsRUFDRCxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBMkQsRUFBRSxDQUFDO0lBQ3ZFLElBQUksU0FBUyxFQUFFLENBQUM7UUFDZCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3JDLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQztZQUN6QixNQUFNLENBQUMsR0FBRyxJQUFBLGVBQVksRUFBQztnQkFDckIsR0FBRyxFQUFFO2dCQUNMLElBQUksRUFBRSxDQUFDO2dCQUNQLEtBQUs7Z0JBQ0wsYUFBYSxFQUFFLE9BQU87Z0JBQ3RCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUNyQyxJQUFJO2FBQ0wsQ0FBQyxDQUFDO1lBRUgsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDZCxpS0FBaUs7Z0JBQ2pLLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxFQUFFLHlCQUF5QjtvQkFDdEQsQ0FBQyxDQUFDLElBQUksRUFBRSxxQkFBcUI7d0JBQzNCLENBQUMsQ0FBQyxJQUFBLG9CQUFXLEVBQUEsZUFBZSxPQUFPLDBDQUEwQyxDQUFDLENBQUMsSUFBSSwrREFBK0QsSUFBSSxDQUFDLHFCQUFxQixzR0FBc0c7d0JBQ2xSLENBQUMsQ0FBQyxJQUFBLG9CQUFXLEVBQUEsZUFBZSxPQUFPLDBDQUEwQyxDQUFDLENBQUMsSUFBSSw4SUFBOEk7b0JBQ25PLENBQUMsQ0FBQyxJQUFBLG9CQUFXLEVBQUEsZUFBZSxPQUFPLDBDQUEwQyxDQUFDLENBQUMsSUFBSSxhQUFhLElBQUksQ0FBQyxVQUFVLGNBQWMsSUFBSSxDQUFDLFFBQVEsc0dBQXNHLENBQUM7Z0JBRW5QLElBQUEsOEJBQWUsRUFBQztvQkFDZCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7b0JBQ1osS0FBSyxFQUFFLGdCQUFnQjtvQkFDdkIsU0FBUztvQkFDVCxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxvQkFBb0I7b0JBQzlDLFNBQVMsRUFBRSxDQUFDLENBQUMsUUFBUTtpQkFDdEIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIseURBQXlEO0lBQ3pELGlFQUFpRTtJQUNqRSwyQkFBMkI7SUFDM0IsNEJBQTRCO0lBQzVCLGtEQUFrRDtJQUNsRCx3QkFBd0I7SUFDeEIsUUFBUTtJQUNSLElBQUk7SUFFSixPQUFPO1FBQ0wsSUFBSSxFQUFFLE9BQU87UUFDYixLQUFLO1FBQ0wsRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1FBQ2hCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLFdBQVcsRUFBRSxFQUFFO1FBQ2YsU0FBUyxFQUFFLEdBQUc7S0FDZixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
|
|
281
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3FsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4REFBZ0Q7QUFDaEQsMkNBQWlFO0FBRWpFLDJDQUF3QztBQUN4QywrQ0FBbUQ7QUFDbkQsc0NBQTREO0FBQzVELHNDQUFpRTtBQVdqRSwyQ0FBa0Q7QUFDbEQsOEVBQTZEO0FBQzdELG9EQUFtQztBQUNuQywyREFBMkQ7QUFXM0QsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEVBQ3pCLEtBQUssRUFDTCxJQUFJLEVBQ0osT0FBTztBQUNQLGtCQUFrQjtBQUNsQixjQUFjLEdBQUcsRUFBRSxFQUNuQixHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsY0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEdBQ3pDLEVBQTZDLEVBQUU7SUFDaEUsb0JBQW9CO0lBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUEsMkJBQWtCLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFFN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRTtRQUMxQyxlQUFlLEVBQUUsV0FBVztRQUM1QixVQUFVLEVBQUUsT0FBTztRQUNuQixHQUFHLEtBQUs7UUFFUixZQUFZLEVBQUUsY0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDckUsR0FBRyxFQUFFO1lBQ0gsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksTUFBTTtZQUN2QixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZCxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7U0FDdkI7UUFDRCxtQkFBbUIsRUFBRTtZQUNuQixXQUFXLEVBQUUs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
|
package/Storage/index.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export type StoragePolicyType = {
|
|
|
23
23
|
/** The management rule applied to Storage level (all containers)*/
|
|
24
24
|
defaultManagementRules?: Array<DefaultManagementRules>;
|
|
25
25
|
};
|
|
26
|
+
export type StorageEndpointTypes = 'blob' | 'table' | 'queue' | 'file' | 'web' | 'dfs';
|
|
26
27
|
export type StorageNetworkType = {
|
|
27
28
|
defaultByPass?: 'AzureServices' | 'None';
|
|
28
29
|
vnet?: Array<{
|
|
@@ -30,7 +31,7 @@ export type StorageNetworkType = {
|
|
|
30
31
|
ipAddresses?: Array<string>;
|
|
31
32
|
}>;
|
|
32
33
|
privateEndpoint?: Omit<PrivateLinkPropsType, 'type'> & {
|
|
33
|
-
type:
|
|
34
|
+
type: StorageEndpointTypes | StorageEndpointTypes[];
|
|
34
35
|
};
|
|
35
36
|
};
|
|
36
37
|
interface StorageProps extends BasicEncryptResourceArgs {
|
|
@@ -47,5 +48,5 @@ export type StorageResults = ResourceInfo & {
|
|
|
47
48
|
getConnectionString?: (name?: string) => Promise<KeyVaultSecret | undefined>;
|
|
48
49
|
};
|
|
49
50
|
/** Storage Creator */
|
|
50
|
-
declare function Storage({ name, group, vaultInfo, enableEncryption, envRoles, containers, queues, fileShares, network, features, policies, lock, dependsOn, ignoreChanges, }: StorageProps): StorageResults;
|
|
51
|
+
declare function Storage({ name, group, vaultInfo, enableEncryption, envRoles, envUIDInfo, containers, queues, fileShares, network, features, policies, lock, dependsOn, ignoreChanges, }: StorageProps): StorageResults;
|
|
51
52
|
export default Storage;
|
package/Storage/index.js
CHANGED
|
@@ -35,7 +35,7 @@ const Locker_1 = require("../Core/Locker");
|
|
|
35
35
|
const PrivateEndpoint_1 = __importDefault(require("../VNet/PrivateEndpoint"));
|
|
36
36
|
const ManagementRules_1 = require("./ManagementRules");
|
|
37
37
|
/** Storage Creator */
|
|
38
|
-
function Storage({ name, group, vaultInfo, enableEncryption, envRoles, containers = [], queues = [], fileShares = [], network, features = {}, policies = { keyExpirationPeriodInDays: 365 }, lock = true, dependsOn, ignoreChanges, }) {
|
|
38
|
+
function Storage({ name, group, vaultInfo, enableEncryption, envRoles, envUIDInfo, containers = [], queues = [], fileShares = [], network, features = {}, policies = { keyExpirationPeriodInDays: 365 }, lock = true, dependsOn, ignoreChanges, }) {
|
|
39
39
|
name = (0, Common_2.getStorageName)(name);
|
|
40
40
|
const primaryKeyName = (0, Common_2.getKeyName)(name, 'primary');
|
|
41
41
|
const secondaryKeyName = (0, Common_2.getKeyName)(name, 'secondary');
|
|
@@ -44,6 +44,7 @@ function Storage({ name, group, vaultInfo, enableEncryption, envRoles, container
|
|
|
44
44
|
const encryptionKey = enableEncryption
|
|
45
45
|
? (0, Helper_1.addEncryptKey)({ name, vaultInfo: vaultInfo })
|
|
46
46
|
: undefined;
|
|
47
|
+
const allowSharedKeyAccess = features.allowSharedKeyAccess || features.enableStaticWebsite;
|
|
47
48
|
//To fix identity issue then using this approach https://github.com/pulumi/pulumi-azure-native/blob/master/examples/keyvault/index.ts
|
|
48
49
|
const stg = new storage.StorageAccount(name, {
|
|
49
50
|
accountName: name,
|
|
@@ -58,12 +59,17 @@ function Storage({ name, group, vaultInfo, enableEncryption, envRoles, container
|
|
|
58
59
|
isHnsEnabled: true,
|
|
59
60
|
enableHttpsTrafficOnly: true,
|
|
60
61
|
allowBlobPublicAccess: Boolean(policies?.allowBlobPublicAccess),
|
|
61
|
-
allowSharedKeyAccess
|
|
62
|
+
allowSharedKeyAccess,
|
|
62
63
|
allowedCopyScope: network?.privateEndpoint ? 'PrivateLink' : 'AAD',
|
|
63
64
|
defaultToOAuthAuthentication: !Boolean(features.allowSharedKeyAccess),
|
|
64
65
|
isSftpEnabled: Boolean(features.isSftpEnabled),
|
|
65
66
|
allowCrossTenantReplication: Boolean(features.allowCrossTenantReplication),
|
|
66
|
-
identity: {
|
|
67
|
+
identity: {
|
|
68
|
+
type: envUIDInfo
|
|
69
|
+
? storage.IdentityType.SystemAssigned_UserAssigned
|
|
70
|
+
: storage.IdentityType.SystemAssigned,
|
|
71
|
+
userAssignedIdentities: envUIDInfo ? [envUIDInfo.id] : undefined,
|
|
72
|
+
},
|
|
67
73
|
minimumTlsVersion: 'TLS1_2',
|
|
68
74
|
//1 Year Months
|
|
69
75
|
keyPolicy: {
|
|
@@ -112,13 +118,16 @@ function Storage({ name, group, vaultInfo, enableEncryption, envRoles, container
|
|
|
112
118
|
},
|
|
113
119
|
}, { dependsOn, ignoreChanges });
|
|
114
120
|
if (network?.privateEndpoint) {
|
|
121
|
+
const linkTypes = Array.isArray(network.privateEndpoint.type)
|
|
122
|
+
? network.privateEndpoint.type
|
|
123
|
+
: [network.privateEndpoint.type];
|
|
115
124
|
//Create Private Endpoints
|
|
116
|
-
(0, PrivateEndpoint_1.default)({
|
|
125
|
+
linkTypes.map((type) => (0, PrivateEndpoint_1.default)({
|
|
117
126
|
...network.privateEndpoint,
|
|
118
127
|
resourceInfo: { name, group, id: stg.id },
|
|
119
|
-
privateDnsZoneName: `privatelink.${
|
|
120
|
-
linkServiceGroupIds: [
|
|
121
|
-
});
|
|
128
|
+
privateDnsZoneName: `privatelink.${type}.core.windows.net`,
|
|
129
|
+
linkServiceGroupIds: [type],
|
|
130
|
+
}));
|
|
122
131
|
}
|
|
123
132
|
//Life Cycle Management
|
|
124
133
|
if (policies?.defaultManagementRules) {
|
|
@@ -184,9 +193,9 @@ function Storage({ name, group, vaultInfo, enableEncryption, envRoles, container
|
|
|
184
193
|
return;
|
|
185
194
|
//Allows to Read Key Vault
|
|
186
195
|
if (envRoles)
|
|
187
|
-
envRoles.
|
|
196
|
+
envRoles.addIdentity('readOnly', stg.identity);
|
|
188
197
|
//Add connection into Key vault
|
|
189
|
-
if (vaultInfo &&
|
|
198
|
+
if (vaultInfo && allowSharedKeyAccess) {
|
|
190
199
|
const keys = (await storage.listStorageAccountKeys({
|
|
191
200
|
accountName: name,
|
|
192
201
|
resourceGroupName: group.resourceGroupName,
|
|
@@ -232,4 +241,4 @@ function Storage({ name, group, vaultInfo, enableEncryption, envRoles, container
|
|
|
232
241
|
};
|
|
233
242
|
}
|
|
234
243
|
exports.default = Storage;
|
|
235
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RvcmFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0Esc0VBQXdEO0FBT3hELCtDQUE4RDtBQUM5RCxzQ0FBa0M7QUFDbEMsc0NBQTBFO0FBQzFFLDJEQUE0RDtBQUM1RCwyQ0FBd0M7QUFDeEMsOEVBQXNEO0FBQ3RELHVEQUkyQjtBQXNEM0Isc0JBQXNCO0FBQ3RCLFNBQVMsT0FBTyxDQUFDLEVBQ2YsSUFBSSxFQUNKLEtBQUssRUFDTCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixVQUFVLEVBQ1YsVUFBVSxHQUFHLEVBQUUsRUFDZixNQUFNLEdBQUcsRUFBRSxFQUNYLFVBQVUsR0FBRyxFQUFFLEVBQ2YsT0FBTyxFQUNQLFFBQVEsR0FBRyxFQUFFLEVBQ2IsUUFBUSxHQUFHLEVBQUUseUJBQXlCLEVBQUUsR0FBRyxFQUFFLEVBQzdDLElBQUksR0FBRyxJQUFJLEVBQ1gsU0FBUyxFQUNULGFBQWEsR0FDQTtJQUNiLElBQUksR0FBRyxJQUFBLHVCQUFjLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFFNUIsTUFBTSxjQUFjLEdBQUcsSUFBQSxtQkFBVSxFQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNuRCxNQUFNLGdCQUFnQixHQUFHLElBQUEsbUJBQVUsRUFBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdkQsTUFBTSx3QkFBd0IsR0FBRyxJQUFBLDBCQUFpQixFQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNwRSxNQUFNLHVCQUF1QixHQUFHLElBQUEsMEJBQWlCLEVBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sYUFBYSxHQUFHLGdCQUFnQjtRQUNwQyxDQUFDLENBQUMsSUFBQSxzQkFBYSxFQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMs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
|