@drunk-pulumi/azure 1.0.28 → 1.0.29
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/Logs/index.js +2 -1
- package/Storage/ManagementRules.d.ts +3 -2
- package/Storage/ManagementRules.js +5 -5
- package/Storage/index.d.ts +0 -2
- package/Storage/index.js +10 -11
- package/package.json +1 -1
package/Logs/index.js
CHANGED
|
@@ -37,6 +37,7 @@ const defaultLogWorkspace = {
|
|
|
37
37
|
};
|
|
38
38
|
const getStorageAutoDeleteRules = (days = 90) => [
|
|
39
39
|
{
|
|
40
|
+
name: 'auto-delete-all-containers',
|
|
40
41
|
actions: {
|
|
41
42
|
baseBlob: { delete: { daysAfterModificationGreaterThan: days } },
|
|
42
43
|
},
|
|
@@ -80,4 +81,4 @@ exports.default = ({ group, name, deleteAfterDays, workspace, vaultInfo, ...othe
|
|
|
80
81
|
appInsight,
|
|
81
82
|
};
|
|
82
83
|
};
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvTG9ncy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsbUZBQXFFO0FBQ3JFLGtFQUFtQztBQUNuQyx5REFBaUM7QUFDakMsc0NBQTRDO0FBRTVDLDhEQUFzQztBQU90QyxNQUFNLG1CQUFtQixHQUFrQjtJQUN6QyxHQUFHLEVBQUUsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFNBQVM7SUFDNUMsWUFBWSxFQUFFLEdBQUc7Q0FDbEIsQ0FBQztBQUVGLE1BQU0seUJBQXlCLEdBQUcsQ0FDaEMsT0FBZSxFQUFFLEVBQ08sRUFBRSxDQUFDO0lBQzNCO1FBQ0UsSUFBSSxFQUFFLDRCQUE0QjtRQUNsQyxPQUFPLEVBQUU7WUFDUCxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQ0FBZ0MsRUFBRSxJQUFJLEVBQUUsRUFBRTtTQUNqRTtRQUNELE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFO0tBQ3RDO0NBQ0YsQ0FBQztBQVFGLGtCQUFlLENBQUMsRUFDZCxLQUFLLEVBQ0wsSUFBSSxFQUNKLGVBQWUsRUFDZixTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsTUFBTSxFQUNILEVBQUUsRUFBRTtJQUNWLElBQUksR0FBRyxJQUFBLHdCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDakQsTUFBTSxZQUFZLEdBQ2hCLFNBQVMsRUFBRSxZQUFZLElBQUksbUJBQW1CLENBQUMsWUFBWSxDQUFDO0lBRTlELE1BQU0sS0FBSyxHQUFHLElBQUEsc0JBQUssRUFBQztRQUNsQixHQUFHLE1BQU07UUFDVCxLQUFLO1FBQ0wsSUFBSTtRQUNKLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLG1CQUFtQixDQUFDLEdBQUc7UUFDOUMsWUFBWTtRQUNaLFNBQVM7S0FDVixDQUFDLENBQUM7SUFFSCxNQUFNLFVBQVUsR0FBRyxJQUFBLG9CQUFVLEVBQUM7UUFDNUIsR0FBRyxNQUFNO1FBQ1QsS0FBSztRQUNMLElBQUk7UUFDSixVQUFVLEVBQUUsWUFBWTtRQUN4QiwwQkFBMEIsRUFBRSxJQUFJO1FBQ2hDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFO1FBQzdCLGFBQWEsRUFBRSxjQUFjO1FBQzdCLFNBQVM7S0FDVixDQUFDLENBQUM7SUFFSCxNQUFNLFVBQVUsR0FBRyxJQUFBLGlCQUFPLEVBQUM7UUFDekIsR0FBRyxNQUFNO1FBQ1QsS0FBSztRQUNMLElBQUk7UUFDSixTQUFTO1FBQ1QsUUFBUSxFQUFFO1lBQ1Isc0JBQXNCLEVBQUUseUJBQXlCLENBQUMsZUFBZSxDQUFDO1NBQ25FO1FBQ0QsUUFBUSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFFO0tBQ3pDLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxLQUFLO1FBQ0wsVUFBVTtRQUNWLFVBQVU7S0FDWCxDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
|
|
@@ -33,12 +33,13 @@ type ManagementRuleFilters = {
|
|
|
33
33
|
};
|
|
34
34
|
/**This rule will be applied to an specific container*/
|
|
35
35
|
export type ManagementRules = {
|
|
36
|
+
name: string;
|
|
37
|
+
containerNames?: pulumi.Input<string>[];
|
|
36
38
|
actions: ManagementRuleActions;
|
|
37
39
|
filters?: ManagementRuleFilters;
|
|
38
40
|
};
|
|
39
|
-
export declare const createManagementRules: ({ name, storageAccount, group, rules,
|
|
41
|
+
export declare const createManagementRules: ({ name, storageAccount, group, rules, dependsOn, }: ResourceArgs & WithDependsOn & {
|
|
40
42
|
storageAccount: storage.StorageAccount;
|
|
41
|
-
containerNames?: pulumi.Input<string>[];
|
|
42
43
|
rules: Array<ManagementRules>;
|
|
43
44
|
}) => import("@pulumi/azure-native/storage/managementPolicy").ManagementPolicy;
|
|
44
45
|
export {};
|
|
@@ -25,23 +25,23 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.createManagementRules = void 0;
|
|
27
27
|
const storage = __importStar(require("@pulumi/azure-native/storage"));
|
|
28
|
-
const createManagementRules = ({ name, storageAccount, group, rules,
|
|
28
|
+
const createManagementRules = ({ name, storageAccount, group, rules, dependsOn, }) => {
|
|
29
29
|
name = `${name}-mnp`;
|
|
30
30
|
return new storage.ManagementPolicy(name, {
|
|
31
31
|
...group,
|
|
32
32
|
managementPolicyName: 'default',
|
|
33
33
|
accountName: storageAccount.name,
|
|
34
34
|
policy: {
|
|
35
|
-
rules: rules.map((m
|
|
35
|
+
rules: rules.map((m) => ({
|
|
36
36
|
enabled: true,
|
|
37
|
-
name: `${name}-${
|
|
37
|
+
name: `${name}-${m.name}`,
|
|
38
38
|
type: 'Lifecycle',
|
|
39
39
|
definition: {
|
|
40
40
|
actions: m.actions,
|
|
41
41
|
filters: m.filters
|
|
42
42
|
? {
|
|
43
43
|
blobTypes: m.filters.blobTypes,
|
|
44
|
-
prefixMatch: containerNames,
|
|
44
|
+
prefixMatch: m.containerNames,
|
|
45
45
|
blobIndexMatch: m.filters.tagFilters,
|
|
46
46
|
}
|
|
47
47
|
: undefined,
|
|
@@ -51,4 +51,4 @@ const createManagementRules = ({ name, storageAccount, group, rules, containerNa
|
|
|
51
51
|
}, { dependsOn: dependsOn ?? storageAccount });
|
|
52
52
|
};
|
|
53
53
|
exports.createManagementRules = createManagementRules;
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFuYWdlbWVudFJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0b3JhZ2UvTWFuYWdlbWVudFJ1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0Esc0VBQXdEO0FBNENqRCxNQUFNLHFCQUFxQixHQUFHLENBQUMsRUFDcEMsSUFBSSxFQUNKLGNBQWMsRUFDZCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFNBQVMsR0FLUixFQUFFLEVBQUU7SUFDTCxJQUFJLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQztJQUNyQixPQUFPLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUNqQyxJQUFJLEVBQ0o7UUFDRSxHQUFHLEtBQUs7UUFDUixvQkFBb0IsRUFBRSxTQUFTO1FBQy9CLFdBQVcsRUFBRSxjQUFjLENBQUMsSUFBSTtRQUVoQyxNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDdkIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsSUFBSSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3pCLElBQUksRUFBRSxXQUFXO2dCQUVqQixVQUFVLEVBQUU7b0JBQ1YsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO29CQUNsQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87d0JBQ2hCLENBQUMsQ0FBQzs0QkFDRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTOzRCQUM5QixXQUFXLEVBQUUsQ0FBQyxDQUFDLGNBQWM7NEJBQzdCLGNBQWMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVU7eUJBQ3JDO3dCQUNILENBQUMsQ0FBQyxTQUFTO2lCQUNkO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7S0FDRixFQUNELEVBQUUsU0FBUyxFQUFFLFNBQVMsSUFBSSxjQUFjLEVBQUUsQ0FDM0MsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXhDVyxRQUFBLHFCQUFxQix5QkF3Q2hDIn0=
|
package/Storage/index.d.ts
CHANGED
|
@@ -5,8 +5,6 @@ import { ManagementRules } from './ManagementRules';
|
|
|
5
5
|
export type ContainerProps = {
|
|
6
6
|
name: string;
|
|
7
7
|
public?: boolean;
|
|
8
|
-
/** The management rule applied to Container level*/
|
|
9
|
-
managementRules?: Array<ManagementRules>;
|
|
10
8
|
};
|
|
11
9
|
export type StorageFeatureType = {
|
|
12
10
|
allowSharedKeyAccess?: boolean;
|
package/Storage/index.js
CHANGED
|
@@ -170,7 +170,6 @@ function Storage({ name, group, vaultInfo, enableEncryption, envRoles, envUIDInf
|
|
|
170
170
|
name,
|
|
171
171
|
group,
|
|
172
172
|
storageAccount: stg,
|
|
173
|
-
//containerNames: containers?.map((c) => c.name),
|
|
174
173
|
rules: policies.defaultManagementRules,
|
|
175
174
|
dependsOn: props,
|
|
176
175
|
});
|
|
@@ -197,15 +196,15 @@ function Storage({ name, group, vaultInfo, enableEncryption, envRoles, envUIDInf
|
|
|
197
196
|
//denyEncryptionScopeOverride: true,
|
|
198
197
|
publicAccess: c.public ? 'Blob' : 'None',
|
|
199
198
|
});
|
|
200
|
-
if (c.managementRules) {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
}
|
|
199
|
+
// if (c.managementRules) {
|
|
200
|
+
// createManagementRules({
|
|
201
|
+
// name: `${name}-${c.name.toLowerCase()}`,
|
|
202
|
+
// storageAccount: stg,
|
|
203
|
+
// group,
|
|
204
|
+
// containerNames: [container.name],
|
|
205
|
+
// rules: c.managementRules,
|
|
206
|
+
// });
|
|
207
|
+
// }
|
|
209
208
|
return container;
|
|
210
209
|
});
|
|
211
210
|
//Create Queues
|
|
@@ -282,4 +281,4 @@ function Storage({ name, group, vaultInfo, enableEncryption, envRoles, envUIDInf
|
|
|
282
281
|
};
|
|
283
282
|
}
|
|
284
283
|
exports.default = Storage;
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
284
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RvcmFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0VBQXdEO0FBQ3hELGlEQUF5QjtBQU96QiwrQ0FBbUQ7QUFDbkQsc0NBQTBDO0FBQzFDLDJEQUE0RDtBQUM1RCwyQ0FBd0M7QUFDeEMsa0NBQTZDO0FBQzdDLHVEQUEyRTtBQXVEM0Usc0JBQXNCO0FBQ3RCLFNBQVMsT0FBTyxDQUFDLEVBQ2YsSUFBSSxFQUNKLEtBQUssRUFDTCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixVQUFVLEVBQ1YsVUFBVSxHQUFHLEVBQUUsRUFDZixNQUFNLEdBQUcsRUFBRSxFQUNYLFVBQVUsR0FBRyxFQUFFLEVBQ2YsT0FBTyxFQUNQLFFBQVEsR0FBRyxFQUFFLEVBQ2IsUUFBUSxHQUFHLEVBQUUseUJBQXlCLEVBQUUsR0FBRyxFQUFFLEVBQzdDLElBQUksR0FBRyxJQUFJLEVBQ1gsU0FBUyxFQUNULGFBQWEsR0FBRyxFQUFFLEdBQ0w7SUFDYixJQUFJLEdBQUcsZUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVuQyxNQUFNLGFBQWEsR0FBRyxnQkFBZ0I7UUFDcEMsQ0FBQyxDQUFDLElBQUEsc0JBQWEsRUFBQyxJQUFJLEVBQUUsU0FBVSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDZCxNQUFNLG9CQUFvQixHQUN4QixRQUFRLENBQUMsb0JBQW9CLElBQUksUUFBUSxDQUFDLG1CQUFtQixDQUFDO0lBRWhFLHFJQUFxSTtJQUNySSxNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQ3BDLElBQUksRUFDSjtRQUNFLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLEdBQUcsS0FBSztRQUVSLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVM7UUFD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
|