@drunk-pulumi/azure 1.0.24 → 1.0.25
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 +4 -6
- package/Aks/Helper.js +13 -18
- package/Aks/Identity.js +3 -3
- package/Aks/index.js +4 -7
- package/AzAd/EnvRoles/EnvRoles.Consts.d.ts +6 -0
- package/AzAd/EnvRoles/EnvRoles.Consts.js +178 -0
- package/AzAd/{EnvRoles.d.ts → EnvRoles/EnvRoles.d.ts} +1 -9
- package/AzAd/EnvRoles/EnvRoles.js +91 -0
- package/AzAd/EnvRoles/index.d.ts +2 -0
- package/AzAd/EnvRoles/index.js +19 -0
- package/AzAd/Group.d.ts +2 -2
- package/AzAd/Group.js +3 -3
- package/AzAd/Helper.js +6 -66
- package/AzAd/Identities/AzDevOpsIdentity.js +4 -5
- package/AzAd/Identities/AzDevOpsManagedIdentity.js +1 -1
- package/AzAd/Identities/AzUserAdRevertSync.js +3 -3
- package/AzAd/Identity.js +1 -2
- package/AzAd/RoleDefinitions/index.d.ts +1 -0
- package/AzAd/RoleDefinitions/index.js +18 -0
- package/AzAd/{GraphDefinition.js → Roles/GraphDefinition.js} +1 -1
- package/AzAd/Roles/Role.d.ts +16 -0
- package/AzAd/Roles/Role.js +31 -0
- package/AzAd/{RoleAssignment.d.ts → Roles/RoleAssignment.d.ts} +1 -1
- package/AzAd/{RoleAssignment.js → Roles/RoleAssignment.js} +2 -2
- package/AzAd/{RolesBuiltIn.js → Roles/RolesBuiltIn.js} +1 -1
- package/AzAd/Roles/index.d.ts +3 -0
- package/AzAd/Roles/index.js +22 -0
- package/AzAd/UserAssignedIdentity.js +1 -2
- package/AzAd/index.d.ts +6 -0
- package/AzAd/index.js +23 -0
- package/Builder/AksBuilder.js +3 -3
- package/Builder/ApimProductBuilder.js +1 -2
- package/Builder/DnsZoneBuilder.js +2 -3
- package/Builder/EnvRoleBuilder.d.ts +4 -23
- package/Builder/EnvRoleBuilder.js +8 -9
- package/Builder/PrivateDnsZoneBuilder.d.ts +1 -1
- package/Builder/PrivateDnsZoneBuilder.js +3 -3
- package/Builder/ResourceBuilder.js +3 -3
- package/Builder/types/envRoleBuilder.d.ts +1 -3
- package/Builder/types/resourceBuilder.d.ts +1 -3
- package/Cdn/index.d.ts +1 -1
- package/Cdn/index.js +2 -2
- package/Common/AzureEnv/AutoTags.js +27 -0
- package/Common/{AzureEnv.js → AzureEnv/index.js} +3 -3
- package/Common/{LocationBuiltIn.js → Location/LocationBuiltIn.js} +1 -1
- package/Common/Location/index.js +36 -0
- package/Common/{Naming/Rulers.d.ts → Naming.d.ts} +12 -3
- package/Common/Naming.js +392 -0
- package/Common/RsInfo/Helper.js +8 -6
- package/Common/index.d.ts +1 -4
- package/Common/index.js +7 -7
- package/Core/KeyGenerators.js +4 -5
- package/Core/Random.js +2 -3
- package/KeyVault/CustomHelper.d.ts +1 -3
- package/KeyVault/CustomHelper.js +27 -3
- package/KeyVault/Helper.d.ts +5 -8
- package/KeyVault/Helper.js +35 -61
- package/Logs/AppInsight.js +1 -2
- package/Logs/Helpers.js +1 -3
- package/Logs/LogAnalytics.js +1 -2
- package/README.md +37 -29
- package/Sql/index.js +3 -3
- package/Storage/Helper.js +5 -6
- package/Storage/index.js +7 -8
- package/VM/index.js +1 -2
- package/VNet/PrivateEndpoint.d.ts +40 -3
- package/VNet/PrivateEndpoint.js +62 -55
- package/VNet/index.d.ts +1 -11
- package/VNet/index.js +5 -17
- package/envHelper.d.ts +4 -0
- package/envHelper.js +62 -0
- package/package.json +1 -1
- package/types.d.ts +22 -8
- package/AzAd/ConditionalPolicies/index.d.ts +0 -0
- package/AzAd/ConditionalPolicies/index.js +0 -2
- package/AzAd/EnvRoles.Consts.d.ts +0 -22
- package/AzAd/EnvRoles.Consts.js +0 -173
- package/AzAd/EnvRoles.js +0 -94
- package/AzAd/Role.d.ts +0 -17
- package/AzAd/Role.js +0 -30
- package/Common/AutoTags.js +0 -27
- package/Common/GlobalEnv.d.ts +0 -3
- package/Common/GlobalEnv.js +0 -29
- package/Common/Location.js +0 -36
- package/Common/Naming/Rulers.js +0 -537
- package/Common/Naming/index.d.ts +0 -10
- package/Common/Naming/index.js +0 -112
- /package/AzAd/{GraphDefinition.d.ts → Roles/GraphDefinition.d.ts} +0 -0
- /package/AzAd/{RolesBuiltIn.d.ts → Roles/RolesBuiltIn.d.ts} +0 -0
- /package/Common/{AutoTags.d.ts → AzureEnv/AutoTags.d.ts} +0 -0
- /package/Common/{AzureEnv.d.ts → AzureEnv/index.d.ts} +0 -0
- /package/Common/{LocationBuiltIn.d.ts → Location/LocationBuiltIn.d.ts} +0 -0
- /package/Common/{Location.d.ts → Location/index.d.ts} +0 -0
package/KeyVault/CustomHelper.js
CHANGED
|
@@ -1,4 +1,27 @@
|
|
|
1
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
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
26
|
exports.addCustomSecrets = exports.addCustomSecret = exports.addVaultSecretFrom = void 0;
|
|
4
27
|
const pulumi_1 = require("@pulumi/pulumi");
|
|
@@ -6,6 +29,7 @@ const Common_1 = require("../Common");
|
|
|
6
29
|
const VaultSecret_1 = require("@drunk-pulumi/azure-providers/VaultSecret");
|
|
7
30
|
const ConfigHelper_1 = require("../Common/ConfigHelper");
|
|
8
31
|
const Helper_1 = require("./Helper");
|
|
32
|
+
const env = __importStar(require("../envHelper"));
|
|
9
33
|
/**Add key vault secret from a value or from pulumi configuration secret. */
|
|
10
34
|
const addVaultSecretFrom = ({ name, value, vaultInfo, dependsOn, }) => {
|
|
11
35
|
if (!value)
|
|
@@ -22,8 +46,8 @@ const addVaultSecretFrom = ({ name, value, vaultInfo, dependsOn, }) => {
|
|
|
22
46
|
};
|
|
23
47
|
exports.addVaultSecretFrom = addVaultSecretFrom;
|
|
24
48
|
/** Add a secret to Key Vault. This will auto recover the deleted item and update with a new value if existed. */
|
|
25
|
-
const addCustomSecret = ({ name,
|
|
26
|
-
const n =
|
|
49
|
+
const addCustomSecret = ({ name, vaultInfo, value, contentType, dependsOn, ...others }) => {
|
|
50
|
+
const n = env.DPA_VAULT_DISABLE_FORMAT_NAME ? name : (0, Helper_1.getVaultItemName)(name);
|
|
27
51
|
//This KeyVault Secret is not auto recovery the deleted one.
|
|
28
52
|
return new VaultSecret_1.VaultSecretResource((0, Common_1.replaceAll)(name, '.', '-'), {
|
|
29
53
|
name: n,
|
|
@@ -37,4 +61,4 @@ exports.addCustomSecret = addCustomSecret;
|
|
|
37
61
|
/** Add multi secrets to Key Vault. This will auto recover the deleted item and update with a new value if existed. */
|
|
38
62
|
const addCustomSecrets = ({ items, ...others }) => items.map((i) => (0, exports.addCustomSecret)({ ...i, ...others }));
|
|
39
63
|
exports.addCustomSecrets = addCustomSecrets;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VzdG9tSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0tleVZhdWx0L0N1c3RvbUhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5RDtBQUN6RCxzQ0FBdUM7QUFDdkMsMkVBQWdGO0FBRWhGLHlEQUFtRDtBQUNuRCxxQ0FBNEM7QUFDNUMsa0RBQW9DO0FBUXBDLDRFQUE0RTtBQUNyRSxNQUFNLGtCQUFrQixHQUFHLENBQUMsRUFDakMsSUFBSSxFQUNKLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxHQUNILEVBQUUsRUFBRTtJQUNWLElBQUksQ0FBQyxLQUFLO1FBQUUsS0FBSyxHQUFHLElBQUEsd0JBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxJQUFJLENBQUMsS0FBSztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLElBQUksbUJBQW1CLENBQUMsQ0FBQztJQUV0RSxPQUFPLElBQUEsdUJBQWUsRUFBQztRQUNyQixJQUFJO1FBQ0osS0FBSztRQUNMLFNBQVM7UUFDVCxXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLFNBQVM7S0FDVixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFoQlcsUUFBQSxrQkFBa0Isc0JBZ0I3QjtBQVdGLGlIQUFpSDtBQUMxRyxNQUFNLGVBQWUsR0FBRyxDQUFDLEVBQzlCLElBQUksRUFDSixTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsR0FBRyxNQUFNLEVBQ0csRUFBRSxFQUFFO0lBQ2hCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFBLHlCQUFnQixFQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVFLDREQUE0RDtJQUM1RCxPQUFPLElBQUksaUNBQW1CLENBQzVCLElBQUEsbUJBQVUsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUMxQjtRQUNFLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBQSxlQUFNLEVBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDdkQsU0FBUyxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQ3pCLFdBQVcsRUFBRSxXQUFXLElBQUksSUFBSTtRQUNoQyxHQUFHLE1BQU07S0FDVixFQUNELEVBQUUsU0FBUyxFQUFFLENBQ2QsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXJCVyxRQUFBLGVBQWUsbUJBcUIxQjtBQU1GLHNIQUFzSDtBQUMvRyxNQUFNLGdCQUFnQixHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLEVBQW9CLEVBQUUsRUFBRSxDQUN6RSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFBLHVCQUFlLEVBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztBQUQ1QyxRQUFBLGdCQUFnQixvQkFDNEIifQ==
|
package/KeyVault/Helper.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ import { KeyVaultInfo, NamedWithVaultType, WithVaultInfo } from '../types';
|
|
|
4
4
|
export declare const getVaultItemName: (name: string, currentStack?: string) => string;
|
|
5
5
|
type GetVaultItemProps = Required<NamedWithVaultType> & {
|
|
6
6
|
version?: string;
|
|
7
|
-
nameFormatted?: boolean;
|
|
8
7
|
};
|
|
9
8
|
interface KeyVaultPropertiesResults {
|
|
10
9
|
keyName: Output<string>;
|
|
@@ -14,13 +13,11 @@ interface KeyVaultPropertiesResults {
|
|
|
14
13
|
keyVersion: Output<string>;
|
|
15
14
|
}
|
|
16
15
|
export declare const addEncryptKey: (name: string, vaultInfo: KeyVaultInfo, keySize?: 2048 | 3072 | 4096) => KeyVaultPropertiesResults;
|
|
17
|
-
/** Get Key */
|
|
18
|
-
/** Get or create encryption Key */
|
|
19
16
|
/** Get Secret */
|
|
20
|
-
export declare const getSecret: ({ name, version, vaultInfo,
|
|
21
|
-
export declare const
|
|
22
|
-
|
|
17
|
+
export declare const getSecret: ({ name, version, vaultInfo, }: GetVaultItemProps) => Promise<import("@azure/keyvault-secrets").KeyVaultSecret | undefined>;
|
|
18
|
+
export declare const getSecretOutput: (props: GetVaultItemProps) => Output<import("@pulumi/pulumi").UnwrappedObject<import("@azure/keyvault-secrets").KeyVaultSecret> | undefined>;
|
|
19
|
+
interface GetSecretsType<T extends Record<string, string>> extends Required<WithVaultInfo> {
|
|
23
20
|
names: T;
|
|
24
|
-
}
|
|
21
|
+
}
|
|
22
|
+
export declare const getSecrets: <T extends Record<string, string>>({ names, ...others }: GetSecretsType<T>) => Record<keyof T, Output<string>>;
|
|
25
23
|
export {};
|
|
26
|
-
/** Convert VaultId to VaultInfo */
|
package/KeyVault/Helper.js
CHANGED
|
@@ -1,13 +1,37 @@
|
|
|
1
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
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
5
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getSecrets = exports.getSecret = exports.addEncryptKey = exports.getVaultItemName = void 0;
|
|
29
|
+
exports.getSecrets = exports.getSecretOutput = exports.getSecret = exports.addEncryptKey = exports.getVaultItemName = void 0;
|
|
7
30
|
const pulumi_1 = require("@pulumi/pulumi");
|
|
8
31
|
const KeyVaultBase_1 = __importDefault(require("@drunk-pulumi/azure-providers/AzBase/KeyVaultBase"));
|
|
9
32
|
const azure_providers_1 = require("@drunk-pulumi/azure-providers");
|
|
10
33
|
const Common_1 = require("../Common");
|
|
34
|
+
const env = __importStar(require("../envHelper"));
|
|
11
35
|
/** Get Vault Secret Name. Remove the stack name and replace all _ with - then lower cases. */
|
|
12
36
|
const getVaultItemName = (name, currentStack = Common_1.stack) => {
|
|
13
37
|
name = name
|
|
@@ -24,83 +48,33 @@ const addEncryptKey = (name, vaultInfo, keySize = 4096) => {
|
|
|
24
48
|
vaultName: vaultInfo.name,
|
|
25
49
|
key: { keySize },
|
|
26
50
|
}, { retainOnDelete: true });
|
|
51
|
+
const urlWithoutVersion = (0, pulumi_1.output)([key.version, key.id]).apply(([v, id]) => id.replace(`/${v}`, ''));
|
|
27
52
|
return {
|
|
28
53
|
keyName: key.name,
|
|
29
54
|
keyVaultUri: key.vaultUrl,
|
|
30
55
|
keyVersion: key.version,
|
|
31
56
|
url: key.id,
|
|
32
|
-
urlWithoutVersion
|
|
57
|
+
urlWithoutVersion,
|
|
33
58
|
};
|
|
34
59
|
};
|
|
35
60
|
exports.addEncryptKey = addEncryptKey;
|
|
36
|
-
/** Get Key */
|
|
37
|
-
// export const getKey = async ({
|
|
38
|
-
// name,
|
|
39
|
-
// version,
|
|
40
|
-
// vaultInfo,
|
|
41
|
-
// nameFormatted,
|
|
42
|
-
// }: GetVaultItemProps) => {
|
|
43
|
-
// const n = nameFormatted ? name : getSecretName(name);
|
|
44
|
-
// const client = getKeyVaultBase(vaultInfo.name);
|
|
45
|
-
// return client.getKey(n, version);
|
|
46
|
-
// };
|
|
47
|
-
// interface EncryptionPropertiesArgs {
|
|
48
|
-
// keySource: 'Microsoft.KeyVault';
|
|
49
|
-
// keyVaultProperties: Input<KeyVaultPropertiesResults>;
|
|
50
|
-
// }
|
|
51
|
-
/** Get or create encryption Key */
|
|
52
|
-
// const getEncryptionKey = async ({
|
|
53
|
-
// name,
|
|
54
|
-
// vaultInfo,
|
|
55
|
-
// }: Required<NamedWithVaultType>): Promise<KeyVaultPropertiesResults> => {
|
|
56
|
-
// const n = `${name}-encrypt-key`;
|
|
57
|
-
// const key = await getKeyVaultBase(vaultInfo.name).getOrCreateKey(n);
|
|
58
|
-
// return {
|
|
59
|
-
// keyName: key!.properties.name,
|
|
60
|
-
// keyVaultUri: key!.properties.vaultUrl,
|
|
61
|
-
// keyVersion: key!.properties.version,
|
|
62
|
-
// url: `${key!.properties.vaultUrl}/keys/${key!.properties.name}/${key!.properties.version}`,
|
|
63
|
-
// };
|
|
64
|
-
// };
|
|
65
|
-
// export const getEncryptionKeyOutput = ({
|
|
66
|
-
// name,
|
|
67
|
-
// vaultInfo,
|
|
68
|
-
// }: NamedWithVaultType): Output<KeyVaultPropertiesResults> | undefined => {
|
|
69
|
-
// if (!vaultInfo) return undefined;
|
|
70
|
-
// return output(getEncryptionKey({ name, vaultInfo }));
|
|
71
|
-
// };
|
|
72
61
|
/** Get Secret */
|
|
73
|
-
const getSecret = async ({ name, version, vaultInfo,
|
|
74
|
-
const n =
|
|
62
|
+
const getSecret = async ({ name, version, vaultInfo, }) => {
|
|
63
|
+
const n = env.DPA_VAULT_DISABLE_FORMAT_NAME ? name : (0, exports.getVaultItemName)(name);
|
|
75
64
|
const client = (0, KeyVaultBase_1.default)(vaultInfo.name);
|
|
76
65
|
return client.getSecret(n, version);
|
|
77
66
|
};
|
|
78
67
|
exports.getSecret = getSecret;
|
|
79
|
-
const
|
|
68
|
+
const getSecretOutput = (props) => (0, pulumi_1.output)((0, exports.getSecret)(props));
|
|
69
|
+
exports.getSecretOutput = getSecretOutput;
|
|
70
|
+
const getSecrets = ({ names, ...others }) => {
|
|
80
71
|
const rs = {};
|
|
81
72
|
Object.keys(names).forEach((k) => {
|
|
82
73
|
const name = names[k];
|
|
83
|
-
const item = (0, pulumi_1.output)((0, exports.getSecret)({ name,
|
|
84
|
-
rs[k] = item
|
|
74
|
+
const item = (0, pulumi_1.output)((0, exports.getSecret)({ name, ...others }));
|
|
75
|
+
rs[k] = item.apply((i) => i?.value ?? '');
|
|
85
76
|
});
|
|
86
77
|
return rs;
|
|
87
78
|
};
|
|
88
79
|
exports.getSecrets = getSecrets;
|
|
89
|
-
|
|
90
|
-
// name: string;
|
|
91
|
-
// /** The version may be empty if it is not found in the url */
|
|
92
|
-
// version: string;
|
|
93
|
-
// keyIdentityUrl: string;
|
|
94
|
-
// vaultUrl: string;
|
|
95
|
-
// }
|
|
96
|
-
/** Convert VaultId to VaultInfo */
|
|
97
|
-
// export const parseKeyUrl = (keyUrl: string): KeyResult => {
|
|
98
|
-
// const splits = keyUrl.split('/');
|
|
99
|
-
// return {
|
|
100
|
-
// keyIdentityUrl: keyUrl,
|
|
101
|
-
// name: splits[4],
|
|
102
|
-
// version: splits.length > 4 ? splits[5] : '',
|
|
103
|
-
// vaultUrl: `https://${splits[2]}`,
|
|
104
|
-
// };
|
|
105
|
-
// };
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0tleVZhdWx0L0hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyQ0FBZ0Q7QUFFaEQscUdBQWdGO0FBQ2hGLG1FQUFpRTtBQUNqRSxzQ0FBZ0U7QUFFaEUsOEZBQThGO0FBQ3ZGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDOUIsSUFBWSxFQUNaLGVBQXVCLGNBQUssRUFDNUIsRUFBRTtJQUNGLElBQUksR0FBRyxJQUFJO1NBQ1IsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxtREFBbUQ7U0FDOUYsT0FBTyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQyx3Q0FBd0M7U0FDakUsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyw2Q0FBNkM7U0FDakUsV0FBVyxFQUFFLENBQUMsQ0FBQyxrQ0FBa0M7SUFFcEQsT0FBTyxJQUFBLHFDQUE0QixFQUFDLElBQUksQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQztBQVhXLFFBQUEsZ0JBQWdCLG9CQVczQjtBQXlCSyxNQUFNLGFBQWEsR0FBRyxDQUMzQixJQUFZLEVBQ1osU0FBdUIsRUFDdkIsVUFBOEIsSUFBSSxFQUNQLEVBQUU7SUFDN0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxrQ0FBZ0IsQ0FDOUIsR0FBRyxJQUFJLGFBQWEsRUFDcEI7UUFDRSxJQUFJLEVBQUUsR0FBRyxJQUFJLGFBQWE7UUFDMUIsU0FBUyxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQ3pCLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRTtLQUNqQixFQUNELEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUN6QixDQUFDO0lBRUYsT0FBTztRQUNMLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSTtRQUNqQixXQUFXLEVBQUUsR0FBRyxDQUFDLFFBQVE7UUFDekIs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
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0tleVZhdWx0L0hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUFnRDtBQUVoRCxxR0FBZ0Y7QUFDaEYsbUVBQWlFO0FBQ2pFLHNDQUFnRTtBQUNoRSxrREFBb0M7QUFFcEMsOEZBQThGO0FBQ3ZGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsZUFBdUIsY0FBSyxFQUFFLEVBQUU7SUFDN0UsSUFBSSxHQUFHLElBQUk7U0FDUixPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLG1EQUFtRDtTQUM5RixPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLHdDQUF3QztTQUNqRSxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLDZDQUE2QztTQUNqRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLGtDQUFrQztJQUVwRCxPQUFPLElBQUEscUNBQTRCLEVBQUMsSUFBSSxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDO0FBUlcsUUFBQSxnQkFBZ0Isb0JBUTNCO0FBY0ssTUFBTSxhQUFhLEdBQUcsQ0FDM0IsSUFBWSxFQUNaLFNBQXVCLEVBQ3ZCLFVBQThCLElBQUksRUFDUCxFQUFFO0lBQzdCLE1BQU0sR0FBRyxHQUFHLElBQUksa0NBQWdCLENBQzlCLEdBQUcsSUFBSSxhQUFhLEVBQ3BCO1FBQ0UsSUFBSSxFQUFFLEdBQUcsSUFBSSxhQUFhO1FBQzFCLFNBQVMsRUFBRSxTQUFTLENBQUMsSUFBSTtRQUN6QixHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUU7S0FDakIsRUFDRCxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FDekIsQ0FBQztJQUVGLE1BQU0saUJBQWlCLEdBQW1CLElBQUEsZUFBTSxFQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQzNFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FDckMsQ0FBQztJQUVGLE9BQU87UUFDTCxPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUk7UUFDakIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxRQUFRO1FBQ3pCLFVBQVUsRUFBRSxHQUFHLENBQUMsT0FBTztRQUN2QixHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7UUFDWCxpQkFBaUI7S0FDbEIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQTFCVyxRQUFBLGFBQWEsaUJBMEJ4QjtBQUVGLGlCQUFpQjtBQUNWLE1BQU0sU0FBUyxHQUFHLEtBQUssRUFBRSxFQUM5QixJQUFJLEVBQ0osT0FBTyxFQUNQLFNBQVMsR0FDUyxFQUFFLEVBQUU7SUFDdEIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUEsd0JBQWdCLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUUsTUFBTSxNQUFNLEdBQUcsSUFBQSxzQkFBZSxFQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3RDLENBQUMsQ0FBQztBQVJXLFFBQUEsU0FBUyxhQVFwQjtBQUVLLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQzFELElBQUEsZUFBTSxFQUFDLElBQUEsaUJBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRGQsUUFBQSxlQUFlLG1CQUNEO0FBT3BCLE1BQU0sVUFBVSxHQUFHLENBQW1DLEVBQzNELEtBQUssRUFDTCxHQUFHLE1BQU0sRUFDUyxFQUFtQyxFQUFFO0lBQ3ZELE1BQU0sRUFBRSxHQUFtQyxFQUFFLENBQUM7SUFFOUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUMvQixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUcsSUFBQSxlQUFNLEVBQUMsSUFBQSxpQkFBUyxFQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BELEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxFQUFxQyxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQWJXLFFBQUEsVUFBVSxjQWFyQiJ9
|
package/Logs/AppInsight.js
CHANGED
|
@@ -56,7 +56,6 @@ exports.default = ({ group, name, dailyCapGb = 0.023, immediatePurgeDataOn30Days
|
|
|
56
56
|
if (vaultInfo) {
|
|
57
57
|
(0, CustomHelper_1.addCustomSecret)({
|
|
58
58
|
name,
|
|
59
|
-
formattedName: true,
|
|
60
59
|
value: appInsight.instrumentationKey,
|
|
61
60
|
vaultInfo,
|
|
62
61
|
contentType: 'AppInsight',
|
|
@@ -73,4 +72,4 @@ const getAppInsightKey = async ({ resourceInfo, vaultInfo, }) => {
|
|
|
73
72
|
return key?.value ?? '';
|
|
74
73
|
};
|
|
75
74
|
exports.getAppInsightKey = getAppInsightKey;
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwSW5zaWdodC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Mb2dzL0FwcEluc2lnaHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBK0M7QUFNL0MsK0NBQStDO0FBQy9DLHNDQUFtQztBQUNuQywyREFBMkQ7QUFVM0Qsa0JBQWUsQ0FBQyxFQUNkLEtBQUssRUFDTCxJQUFJLEVBQ0osVUFBVSxHQUFHLEtBQUssRUFDbEIsMEJBQTBCLEdBQUcsSUFBSSxFQUNqQyxhQUFhLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLEVBQ2pFLG1CQUFtQixFQUNuQixTQUFTLEdBQ0gsRUFBRSxFQUFFO0lBQ1YsSUFBSSxHQUFHLGVBQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV0QyxNQUFNLFVBQVUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTtRQUNyRCxZQUFZLEVBQUUsSUFBSTtRQUNsQixHQUFHLEtBQUs7UUFFUixJQUFJLEVBQUUsS0FBSztRQUNYLGdCQUFnQixFQUFFLElBQUk7UUFDdEIsZUFBZSxFQUFFLEtBQUs7UUFDdEIsUUFBUSxFQUFFLFdBQVc7UUFFckIsdUNBQXVDO1FBQ3ZDLGVBQWUsRUFBRSxFQUFFO1FBRW5CLDBCQUEwQjtRQUMxQixhQUFhO1FBRWIsZ0JBQWdCLEVBQUUsSUFBSTtRQUN0QixtQkFBbUI7S0FDcEIsQ0FBQyxDQUFDO0lBRUgsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLDhCQUE4QixDQUNoRCxHQUFHLElBQUksd0JBQXdCLEVBQy9CO1FBQ0Usc0JBQXNCLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxnREFBZ0Q7UUFDbkYsYUFBYSxFQUFFO1lBQ2IsR0FBRyxFQUFFLFVBQVU7WUFDZiw4QkFBOEIsRUFBRSxJQUFJO1NBQ3JDO1FBQ0QsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtRQUMxQyxZQUFZLEVBQUUsVUFBVSxDQUFDLElBQUk7S0FDOUIsQ0FDRixDQUFDO0lBRUYsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLElBQUEsOEJBQWUsRUFBQztZQUNkLElBQUk7WUFDSixLQUFLLEVBQUUsVUFBVSxDQUFDLGtCQUFrQjtZQUNwQyxTQUFTO1lBQ1QsV0FBVyxFQUFFLFlBQVk7WUFDekIsU0FBUyxFQUFFLFVBQVU7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQUVLLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLEVBQ3JDLFlBQVksRUFDWixTQUFTLEdBSVYsRUFBbUIsRUFBRTtJQUNwQixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUEsa0JBQVMsRUFBQztRQUMxQixJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUk7UUFDdkIsU0FBUztLQUNWLENBQUMsQ0FBQztJQUNILE9BQU8sR0FBRyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7QUFDMUIsQ0FBQyxDQUFDO0FBWlcsUUFBQSxnQkFBZ0Isb0JBWTNCIn0=
|
package/Logs/Helpers.js
CHANGED
|
@@ -79,7 +79,6 @@ const getLogWpSecrets = ({ workspaceName, vaultInfo, }) => {
|
|
|
79
79
|
const primarySharedKey = `${workspaceName}-primary`;
|
|
80
80
|
const secondarySharedKey = `${workspaceName}-secondary`;
|
|
81
81
|
return (0, Helper_1.getSecrets)({
|
|
82
|
-
nameFormatted: true,
|
|
83
82
|
vaultInfo,
|
|
84
83
|
names: { workspaceId, primarySharedKey, secondarySharedKey },
|
|
85
84
|
});
|
|
@@ -93,7 +92,6 @@ const getLogWpInfo = ({ name, group, vaultInfo, }) => {
|
|
|
93
92
|
return { name: n, group, id, ...secrets };
|
|
94
93
|
};
|
|
95
94
|
const getAppInsightSecrets = ({ insightName, vaultInfo, }) => (0, Helper_1.getSecrets)({
|
|
96
|
-
nameFormatted: true,
|
|
97
95
|
vaultInfo,
|
|
98
96
|
names: { instrumentationKey: insightName },
|
|
99
97
|
});
|
|
@@ -126,4 +124,4 @@ const getLogInfo = (groupName, vaultInfo = undefined) => {
|
|
|
126
124
|
return { logWp, logStorage, appInsight };
|
|
127
125
|
};
|
|
128
126
|
exports.getLogInfo = getLogInfo;
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Mb2dzL0hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBK0M7QUFDL0MsMkNBQW9EO0FBQ3BELHNDQUttQjtBQUNuQiwrQ0FBZ0Q7QUFDaEQsOENBQW1EO0FBYTVDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxFQUMvQixJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCLE9BQU8sRUFDUCxpQkFBaUIsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUNsQyxjQUFjLEVBQ2QsU0FBUyxHQUNPLEVBQUUsRUFBRTtJQUNwQiw0Q0FBNEM7SUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDMUMsT0FBTyxDQUFDLEtBQUssQ0FDWCxtQkFBbUIsSUFBSSw0Q0FBNEMsQ0FDcEUsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxrQ0FBa0M7SUFDbEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdEIsT0FBTyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUMvQixNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDO0lBQ3pCLE9BQU8sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUMxQyxDQUFDLEVBQ0Q7UUFDRSxJQUFJLEVBQUUsQ0FBQztRQUNQLFdBQVcsRUFBRSxnQkFBZ0I7UUFDN0IsMkJBQTJCLEVBQUUsa0JBQWtCO1FBRS9DLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFD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
|
package/Logs/LogAnalytics.js
CHANGED
|
@@ -59,7 +59,6 @@ exports.default = ({ name, group, sku = insights.WorkspaceSkuNameEnum.Free, dail
|
|
|
59
59
|
});
|
|
60
60
|
(0, CustomHelper_1.addCustomSecrets)({
|
|
61
61
|
contentType: 'Log Analytics',
|
|
62
|
-
formattedName: true,
|
|
63
62
|
vaultInfo,
|
|
64
63
|
items: [
|
|
65
64
|
{ name: workspaceIdKeyName, value: id },
|
|
@@ -77,4 +76,4 @@ exports.default = ({ name, group, sku = insights.WorkspaceSkuNameEnum.Free, dail
|
|
|
77
76
|
}
|
|
78
77
|
return log;
|
|
79
78
|
};
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nQW5hbHl0aWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0xvZ3MvTG9nQW5hbHl0aWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtRkFBcUU7QUFFckUsc0NBQW1DO0FBQ25DLDJEQUE0RDtBQU81RCxrQkFBZSxDQUFDLEVBQ2QsSUFBSSxFQUNKLEtBQUssRUFDTCxHQUFHLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFDeEMsWUFBWSxHQUFHLEtBQUssRUFDcEIsU0FBUyxFQUNULFNBQVMsRUFDVCxhQUFhLEVBQ2IsU0FBUyxHQUNILEVBQUUsRUFBRTtJQUNWLElBQUksR0FBRyxlQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQztJQUN4QyxNQUFNLGNBQWMsR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDO0lBQ3pDLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxJQUFJLFlBQVksQ0FBQztJQUU3QyxNQUFNLEdBQUcsR0FBRyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQ2hDLElBQUksRUFDSjtRQUNFLGFBQWEsRUFBRSxJQUFJO1FBQ25CLEdBQUcsS0FBSztRQUVSLCtCQUErQixFQUFFLFNBQVM7UUFDMUMsMkJBQTJCLEVBQUUsU0FBUztRQUN0QyxRQUFRLEVBQUU7WUFDUiwyQ0FBMkM7WUFDM0MseUJBQXlCO1lBQ3pCLDBCQUEwQjtZQUMxQixzRUFBc0U7WUFDdEUsMEJBQTBCLEVBQUUsSUFBSTtTQUNqQztRQUNELGdCQUFnQixFQUNkLEdBQUcsS0FBSyxRQUFRLENBQUMsb0JBQW9CLENBQUMsSUFBSTtZQUN4QyxDQUFDLENBQUMsU0FBUztZQUNYLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLGdDQUFnQztRQUV4RCxlQUFlLEVBQUUsR0FBRyxLQUFLLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLHFCQUFxQjtRQUMzRixHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFO0tBQ25CLEVBQ0QsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLENBQzdCLENBQUM7SUFFRixJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxFQUFFO2dCQUFFLE9BQU87WUFFaEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsYUFBYSxDQUFDO2dCQUN4QyxhQUFhLEVBQUUsSUFBSTtnQkFDbkIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjthQUMzQyxDQUFDLENBQUM7WUFFSCxJQUFBLCtCQUFnQixFQUFDO2dCQUNmLFdBQVcsRUFBRSxlQUFlO2dCQUM1QixTQUFTO2dCQUNULEtBQUssRUFBRTtvQkFDTCxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO29CQUN2Qzt3QkFDRSxJQUFJLEVBQUUsY0FBYzt3QkFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBaUI7cUJBQzlCO29CQUNEO3dCQUNFLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQW1CO3FCQUNoQztpQkFDRjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDIn0=
|
package/README.md
CHANGED
|
@@ -1,48 +1,56 @@
|
|
|
1
|
-
#
|
|
1
|
+
# [Drunk Pulumi Azure](https://baoduy.github.io/drunk-pulumi-azure/)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Welcome to the Drunk Pulumi Azure project! This project provides a set of tools and utilities to help you manage your Azure resources using Pulumi.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Overview
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
2. Create a pulumi account and link to the environment.
|
|
9
|
-
3. Create a "\_Config" folder to store your custom configuration.
|
|
7
|
+
This project includes various modules and components to simplify the management of Azure resources. It leverages Pulumi to provide infrastructure as code, making it easier to define, deploy, and manage your cloud infrastructure.
|
|
10
8
|
|
|
11
|
-
##
|
|
9
|
+
## Usage
|
|
12
10
|
|
|
13
|
-
You
|
|
14
|
-
There are two ways to config your organization code.
|
|
11
|
+
You can use the modules and components provided in this project to manage your Azure resources. Here are some examples of what you can do:
|
|
15
12
|
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
- Create and manage Azure Virtual Machines
|
|
14
|
+
- Set up and configure Azure Key Vaults
|
|
15
|
+
- Manage Azure Storage Accounts
|
|
16
|
+
- Configure Azure Application Insights
|
|
17
|
+
- Set up Azure Active Directory identities and roles
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
For detailed documentation and examples, please visit the [Drunk Pulumi Azure Documentation](https://baoduy.github.io/drunk-pulumi-azure/).
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
## Modules
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
This project includes the following modules:
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
- **Common**: Common utilities and helpers for managing Azure resources.
|
|
26
|
+
- **VM**: Tools for managing Azure Virtual Machines.
|
|
27
|
+
- **KeyVault**: Utilities for managing Azure Key Vaults.
|
|
28
|
+
- **Storage**: Tools for managing Azure Storage Accounts.
|
|
29
|
+
- **Logs**: Utilities for managing Azure Application Insights and Log Analytics.
|
|
30
|
+
- **AzAd**: Tools for managing Azure Active Directory identities and roles.
|
|
31
|
+
- **Builder**: Builders for creating and managing various Azure resources.
|
|
26
32
|
|
|
27
|
-
## Upgrading Issues
|
|
28
33
|
|
|
29
|
-
|
|
34
|
+
## Environment Configuration
|
|
30
35
|
|
|
31
|
-
|
|
36
|
+
The project uses environment variables to configure various settings. Here are some of the key environment variables:
|
|
32
37
|
|
|
33
|
-
-
|
|
34
|
-
|
|
38
|
+
- `PULUMI_NODEJS_DRY_RUN`: Indicates if the Pulumi run is a dry run.
|
|
39
|
+
- `PULUMI_NODEJS_ORGANIZATION`: The Pulumi organization name.
|
|
40
|
+
- `PULUMI_NODEJS_PROJECT`: The Pulumi project name.
|
|
41
|
+
- `PULUMI_NODEJS_STACK`: The Pulumi stack name.
|
|
35
42
|
|
|
36
|
-
|
|
37
|
-
$ pulumi config set azure-native:clientSecret <clientSecret> --secret
|
|
38
|
-
$ pulumi config set azure-native:tenantId <tenantID>
|
|
39
|
-
$ pulumi config set azure-native:subscriptionId <subscriptionId>
|
|
43
|
+
## Contributing
|
|
40
44
|
|
|
41
|
-
|
|
45
|
+
We welcome contributions to this project! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.
|
|
42
46
|
|
|
43
|
-
|
|
47
|
+
## License
|
|
44
48
|
|
|
45
|
-
|
|
49
|
+
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
|
|
46
50
|
|
|
47
|
-
|
|
48
|
-
|
|
51
|
+
## Acknowledgements
|
|
52
|
+
|
|
53
|
+
This project is maintained by the Drunk Pulumi Azure team. We would like to thank all the contributors and users who have helped make this project better.
|
|
54
|
+
|
|
55
|
+
For more information, please visit the [Drunk Pulumi Azure Documentation](https://baoduy.github.io/drunk-pulumi-azure/).
|
|
56
|
+
```
|
package/Sql/index.js
CHANGED
|
@@ -32,7 +32,7 @@ const Locker_1 = require("../Core/Locker");
|
|
|
32
32
|
const Helper_1 = require("../KeyVault/Helper");
|
|
33
33
|
const Common_1 = require("../Common");
|
|
34
34
|
const Helper_2 = require("../VNet/Helper");
|
|
35
|
-
const
|
|
35
|
+
const VNet_1 = require("../VNet");
|
|
36
36
|
const SqlDb_1 = __importDefault(require("./SqlDb"));
|
|
37
37
|
const CustomHelper_1 = require("../KeyVault/CustomHelper");
|
|
38
38
|
const createElasticPool = ({ group, name, sqlName,
|
|
@@ -137,7 +137,7 @@ exports.default = ({ name, auth, group, elasticPool, databases, vaultInfo, envUI
|
|
|
137
137
|
}
|
|
138
138
|
//Private Link
|
|
139
139
|
if (network?.privateLink) {
|
|
140
|
-
|
|
140
|
+
(0, VNet_1.SqlPrivateLink)({
|
|
141
141
|
...network.privateLink,
|
|
142
142
|
resourceInfo: { name: sqlName, group, id: sqlServer.id },
|
|
143
143
|
dependsOn: sqlServer,
|
|
@@ -290,4 +290,4 @@ exports.default = ({ name, auth, group, elasticPool, databases, vaultInfo, envUI
|
|
|
290
290
|
databases: dbs,
|
|
291
291
|
};
|
|
292
292
|
};
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3FsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4REFBZ0Q7QUFDaEQsMkNBQWlFO0FBRWpFLDJDQUF3QztBQUN4QywrQ0FBbUQ7QUFDbkQsc0NBQW9FO0FBV3BFLDJDQUFrRDtBQUNsRCw4RUFBNEM7QUFDNUMsb0RBQW1DO0FBQ25DLDJEQUEyRDtBQWMzRCxNQUFNLGlCQUFpQixHQUFHLENBQUMsRUFDekIsS0FBSyxFQUNMLElBQUksRUFDSixPQUFPO0FBQ1Asa0JBQWtCO0FBQ2xCLGNBQWMsRUFDZCxvQkFBb0IsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsMEJBQTBCLENBQUMsR0FBRyxFQUMxRSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsY0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQzFELFNBQVMsR0FDUSxFQUE2QyxFQUFFO0lBQ2hFLG9CQUFvQjtJQUNwQixNQUFNLFdBQVcsR0FBRyxlQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEQsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUM3QyxXQUFXLEVBQ1g7UUFDRSxlQUFlLEVBQUUsV0FBVztRQUM1QixVQUFVLEVBQUUsT0FBTztRQUNuQixHQUFHLEtBQUs7UUFFUixZQUFZLEVBQUUsY0FBYztZQUMxQixDQUFDLENBQUMsY0FBYyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSTtZQUNyQyxDQUFDLENBQUMsU0FBUztRQUViLEdBQUcsRUFBRTtZQUNILElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQyxJQUFJLE1BQU07WUFDdkIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJO1lBQ2QsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRO1NBQ3ZCO1FBQ0QsbUJBQW1CLEVBQUU7WUFDbkIsV0FBVyxFQUFFLENBQUM7WUFDZCxXQUFXLEVBQUUsR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVE7U0FDckQ7UUFDRCxvQkFBb0I7UUFDcEIsb0RBQW9EO1FBQ3BELHVCQUF1QjtLQUN4QixFQUNELEVBQUUsU0FBUyxFQUFFLENBQ2QsQ0FBQztJQUVGLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDL0QsQ0FBQyxDQUFDO0FBd0NGLGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osSUFBSSxFQUNKLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixPQUFPLEVBQ1AsdUJBQXVCLEVBQ3ZCLGFBQWEsR0FBRyxFQUFFLEVBQ2xCLElBQUksRUFDSixTQUFTLEdBQ0gsRUFBYyxFQUFFO0lBQ3RCLE1BQU0sT0FBTyxHQUFHLGVBQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxNQUFNLFVBQVUsR0FBRyxnQkFBZ0I7UUFDakMsQ0FBQyxDQUFDLElBQUEsc0JBQWEsRUFBQyxPQUFPLEVBQUUsU0FBVSxFQUFFLElBQUksQ0FBQztRQUMxQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBRWQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUM7SUFFOUMsOEJBQThCO0lBQzlCLElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDbkMsYUFBYSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3pDLGFBQWEsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUM5QixPQUFPLEVBQ1A7UUFDRSxVQUFVLEVBQUUsT0FBTztRQUNuQixHQUFHLEtBQUs7UUFDUixPQUFPLEVBQUUsTUFBTTtRQUNmLGlCQUFpQixFQUFFLEtBQUs7UUFFeEIsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFVBQVU7Z0JBQ2QsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsMkJBQTJCO2dCQUM5QyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxjQUFjO1lBQ25DLHNCQUFzQixFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDakU7UUFDRCw2QkFBNkIsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDckUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLFVBQVU7UUFDcEMsMEJBQTBCLEVBQUUsSUFBSSxFQUFFLFFBQVE7UUFDMUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHO1FBRXRCLGNBQWMsRUFBRTtZQUNkLGlCQUFpQixFQUFFLFVBQVU7Z0JBQzNCLENBQUMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsZUFBZTtnQkFDdkMsQ0FBQyxDQUFDLFNBQVM7WUFDYix5QkFBeUIsRUFBRSxVQUFVO2dCQUNuQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLElBQUksSUFBSSxDQUFDO2dCQUMxQyxDQUFDLENBQUMsS0FBSztZQUVULGFBQWEsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUs7WUFDdEMsUUFBUSxFQUFSLGlCQUFRO1lBQ1IsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRO1lBQ3pCLEtBQUssRUFBRSxVQUFVLEVBQUUsV0FBVztTQUMvQjtRQUNELG1CQUFtQixFQUFFLE9BQU8sRUFBRSxXQUFXO1lBQ3ZDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsUUFBUTtZQUN0QyxDQUFDLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLE9BQU87S0FDeEMsRUFDRDtRQUNFLFNBQVM7UUFDVCxhQUFhO1FBQ2IsT0FBTyxFQUFFLElBQUk7S0FDZCxDQUNGLENBQUM7SUFDRixrQkFBa0I7SUFDbEIsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNULElBQUEsZUFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsMEJBQTBCO0lBQzFCLFFBQVEsRUFBRSxTQUFTLENBQ2pCLFVBQVUsRUFDVixTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBRSxDQUFDLFdBQVcsQ0FBQyxDQUNoRCxDQUFDO0lBRUYsTUFBTSxFQUFFLEdBQUcsV0FBVztRQUNwQixDQUFDLENBQUMsaUJBQWlCLENBQUM7WUFDaEIsR0FBRyxXQUFXO1lBQ2QsR0FBRyxFQUFFLFdBQVc7WUFDaEIsSUFBSTtZQUNKLEtBQUs7WUFDTCxPQUFPLEVBQUUsU0FBUyxDQUFDLElBQUk7WUFDdkIsU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQztRQUNKLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFZCxRQUFRO0lBQ1IsSUFBSSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDdEIsY0FBYztRQUNkLElBQUksR0FBRyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRTtZQUNsQyxzQkFBc0IsRUFBRSxHQUFHLE9BQU8sV0FBVztZQUM3QyxVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUk7WUFDMUIsR0FBRyxLQUFLO1lBRVIsc0JBQXNCLEVBQUUsT0FBTyxDQUFDLFFBQVE7WUFDeEMsZ0NBQWdDLEVBQUUsS0FBSztTQUN4QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsY0FBYztJQUNkLElBQUksT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3pCLHlCQUFLLENBQUMsY0FBYyxDQUFDO1lBQ25CLEdBQUcsT0FBTyxDQUFDLFdBQVc7WUFDdEIsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUU7WUFDeEQsU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDJCQUEyQjtJQUMzQixJQUFJLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxDQUFDO1FBQ3BDLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsRUFBRTtZQUM1QyxnQkFBZ0IsRUFBRSx1QkFBdUI7WUFDekMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1lBQzFCLEdBQUcsS0FBSztZQUNSLGNBQWMsRUFBRSxTQUFTO1lBQ3pCLFlBQVksRUFBRSxpQkFBaUI7U0FDaEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztTQUFNLElBQUksT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUEsWUFBRyxFQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNyQyxJQUFBLHlCQUFnQixFQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNsQyxNQUFNLENBQUMsR0FBRyxHQUFHLE9BQU8sV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUU7Z0JBQzdCLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25CLFVBQVUsRUFBRSxTQUFTLENBQUMsSUFBSTtnQkFDMUIsR0FBRyxLQUFLO2dCQUNSLGNBQWMsRUFBRSxFQUFFLENBQUMsS0FBSztnQkFDeEIsWUFBWSxFQUFFLEVBQUUsQ0FBQyxHQUFHO2FBQ3JCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSx1QkFBdUIsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUN4QywwQkFBMEI7UUFDMUIsUUFBUSxFQUFFLFNBQVMsQ0FDakIsYUFBYSxFQUNiLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFFLENBQUMsV0FBWSxDQUFDLENBQ2pELENBQUM7UUFFRiwyQkFBMkI7UUFDM0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMseUJBQXlCLENBQ25ELE9BQU8sRUFDUDtZQUNFLHVCQUF1QixFQUFFLFNBQVM7WUFDbEMsR0FBRyxLQUFLO1lBQ1IsVUFBVSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1lBQzFCLGtCQUFrQixFQUFFLENBQUMsdUJBQXVCLENBQUMsV0FBVztZQUN4RCxjQUFjLEVBQUUsdUJBQXVCLENBQUMsV0FBVztZQUVuRCxhQUFhLEVBQUUsQ0FBQztZQUVoQix1QkFBdUIsRUFBRSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsVUFBVTtZQUN0RSxlQUFlLEVBQUUsdUJBQXVCLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJO1lBQ2xFLEtBQUssRUFBRSxTQUFTO1NBQ2pCLEVBQ0QsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQ3pCLENBQUM7UUFFRixjQUFjO1FBQ2QsSUFBSSxHQUFHLENBQUMsZ0NBQWdDLENBQ3RDLE9BQU8sRUFDUDtZQUNFLHFCQUFxQixFQUFFO2dCQUNyQiwwQ0FBMEM7Z0JBQzFDLHNDQUFzQztnQkFDdEMsdUJBQXVCO2FBQ3hCO1lBQ0QsVUFBVSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1lBQzFCLEdBQUcsS0FBSztZQUVSLHNCQUFzQixFQUFFLFNBQVM7WUFDakMsMkJBQTJCLEVBQUUsSUFBSTtZQUNqQywwQkFBMEIsRUFBRSxLQUFLO1lBQ2pDLG1CQUFtQixFQUFFLCtCQUErQjtZQUNwRCxZQUFZLEVBQUUsSUFBSTtZQUNsQixhQUFhLEVBQUUsY0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0IsS0FBSyxFQUFFLFNBQVM7WUFDaEIsb0JBQW9CLEVBQUUsSUFBSTtZQUUxQix1QkFBdUIsRUFBRSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsVUFBVTtZQUN0RSw0QkFBNEIsRUFBRSx1QkFBYztZQUM1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJO1NBQ25FLEVBQ0QsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLENBQzNCLENBQUM7UUFFRiwrQkFBK0I7UUFDL0IsSUFBSSxHQUFHLENBQUMsNkJBQTZCLENBQ25DLE9BQU8sRUFDUDtZQUNFLDJCQUEyQixFQUFFLE9BQU87WUFDcEMsR0FBRyxLQUFLO1lBQ1IsVUFBVSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1lBRTFCLGNBQWMsRUFBRTtnQkFDZCxTQUFTLEVBQUUsSUFBSTtnQkFDZix1QkFBdUIsRUFBRSxDQUFDLHVCQUF1QixDQUFDLFdBQVc7Z0JBQzdELE1BQU0sRUFBRSx1QkFBdUIsQ0FBQyxXQUFXO2FBQzVDO1lBRUQsb0JBQW9CLEVBQUUsSUFBQSxvQkFBVyxFQUFBLEdBQUcsdUJBQXVCLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksT0FBTyxFQUFFO1lBQ2xHLHVCQUF1QixFQUFFLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxVQUFVO1NBQ3ZFLEVBQ0QsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLENBQzNCLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLDRFQUE0RTtRQUM1RSxNQUFNLE9BQU8sR0FBRyxJQUFBLG9CQUFXLEVBQUEsR0FBRyxTQUFVLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQy9GLHdDQUF3QztRQUN4Qyx1Q0FBdUM7UUFDdkMsNEJBQTRCO1FBQzVCLE1BQU07UUFDTixrREFBa0Q7UUFDbEQsMkJBQTJCO1FBQzNCLHNEQUFzRDtRQUN0RCxlQUFlO1FBQ2YsMkJBQTJCO1FBQzNCLE9BQU87UUFDUCxvREFBb0Q7UUFDcEQsS0FBSztRQUVMLGdDQUFnQztRQUNoQyxJQUFJLEdBQUcsQ0FBQyxtQkFBbUIsQ0FDekIsR0FBRyxPQUFPLHNCQUFzQixFQUNoQztZQUNFLHVCQUF1QixFQUFFLFNBQVM7WUFDbEMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtZQUMxQyxVQUFVLEVBQUUsT0FBTztZQUNuQixhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxhQUFhO1lBQzlDLGFBQWEsRUFBRSxPQUFPLEVBQUUsaUJBQWlCO1lBQ3pDLG1CQUFtQixFQUFFLElBQUk7U0FDMUIsRUFDRCxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBMkQsRUFBRSxDQUFDO0lBQ3ZFLElBQUksU0FBUyxFQUFFLENBQUM7UUFDZCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3JDLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQztZQUN6QixNQUFNLENBQUMsR0FBRyxJQUFBLGVBQVksRUFBQztnQkFDckIsR0FBRyxFQUFFO2dCQUNMLElBQUksRUFBRSxDQUFDO2dCQUNQLEtBQUs7Z0JBQ0wsYUFBYSxFQUFFLE9BQU87Z0JBQ3RCLFNBQVMsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQzlELGFBQWEsRUFBRSxFQUFFLEVBQUUsRUFBRTtnQkFDckIsSUFBSTthQUNMLENBQUMsQ0FBQztZQUVILElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ2QsaUtBQWlLO2dCQUNqSyxNQUFNLGdCQUFnQixHQUFHLElBQUksRUFBRSx5QkFBeUI7b0JBQ3RELENBQUMsQ0FBQyxJQUFJLEVBQUUscUJBQXFCO3dCQUMzQixDQUFDLENBQUMsSUFBQSxvQkFBVyxFQUFBLGVBQWUsT0FBTywwQ0FBMEMsQ0FBQyxDQUFDLElBQUksaUVBQWlFLElBQUksQ0FBQyxxQkFBcUIsc0dBQXNHO3dCQUNwUixDQUFDLENBQUMsSUFBQSxvQkFBVyxFQUFBLGVBQWUsT0FBTywwQ0FBMEMsQ0FBQyxDQUFDLElBQUksZ0pBQWdKO29CQUNyTyxDQUFDLENBQUMsSUFBQSxvQkFBVyxFQUFBLGVBQWUsT0FBTywwQ0FBMEMsQ0FBQyxDQUFDLElBQUksYUFBYSxJQUFJLENBQUMsVUFBVSxjQUFjLElBQUksQ0FBQyxRQUFRLHNHQUFzRyxDQUFDO2dCQUVuUCxJQUFBLDhCQUFlLEVBQUM7b0JBQ2QsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO29CQUNaLEtBQUssRUFBRSxnQkFBZ0I7b0JBQ3ZCLFNBQVM7b0JBQ1QsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksb0JBQW9CO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFFBQVE7aUJBQ3RCLENBQUMsQ0FBQztZQUNMLENBQUM7WUFFRCxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsb0JBQW9CO0lBQ3BCLHlEQUF5RDtJQUN6RCxpRUFBaUU7SUFDakUsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1QixrREFBa0Q7SUFDbEQsd0JBQXdCO0lBQ3hCLFFBQVE7SUFDUixJQUFJO0lBRUosT0FBTztRQUNMLElBQUksRUFBRSxPQUFPO1FBQ2IsS0FBSztRQUNMLEVBQUUsRUFBRSxTQUFTLENBQUMsRUFBRTtRQUNoQixRQUFRLEVBQUUsU0FBUztRQUNuQixXQUFXLEVBQUUsRUFBRTtRQUNmLFNBQVMsRUFBRSxHQUFHO0tBQ2YsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3FsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4REFBZ0Q7QUFDaEQsMkNBQWlFO0FBRWpFLDJDQUF3QztBQUN4QywrQ0FBbUQ7QUFDbkQsc0NBQW9FO0FBV3BFLDJDQUFrRDtBQUNsRCxrQ0FBeUM7QUFDekMsb0RBQW1DO0FBQ25DLDJEQUEyRDtBQWMzRCxNQUFNLGlCQUFpQixHQUFHLENBQUMsRUFDekIsS0FBSyxFQUNMLElBQUksRUFDSixPQUFPO0FBQ1Asa0JBQWtCO0FBQ2xCLGNBQWMsRUFDZCxvQkFBb0IsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsMEJBQTBCLENBQUMsR0FBRyxFQUMxRSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsY0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQzFELFNBQVMsR0FDUSxFQUE2QyxFQUFFO0lBQ2hFLG9CQUFvQjtJQUNwQixNQUFNLFdBQVcsR0FBRyxlQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEQsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUM3QyxXQUFXLEVBQ1g7UUFDRSxlQUFlLEVBQUUsV0FBVztRQUM1QixVQUFVLEVBQUUsT0FBTztRQUNuQixHQUFHLEtBQUs7UUFFUixZQUFZLEVBQUUsY0FBYztZQUMxQixDQUFDLENBQUMsY0FBYyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSTtZQUNyQyxDQUFDLENBQUMsU0FBUztRQUViLEdBQUcsRUFBRTtZQUNILElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQyxJQUFJLE1BQU07WUFDdkIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJO1lBQ2QsUUFB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
|
package/Storage/Helper.js
CHANGED
|
@@ -5,12 +5,11 @@ const Common_1 = require("../Common");
|
|
|
5
5
|
const Helper_1 = require("../KeyVault/Helper");
|
|
6
6
|
const pulumi_1 = require("@pulumi/pulumi");
|
|
7
7
|
const getStorageSecrets = ({ storageName, vaultInfo, }) => {
|
|
8
|
-
const primaryKey = `${
|
|
9
|
-
const secondaryKey = `${
|
|
10
|
-
const primaryConnection = `${
|
|
11
|
-
const secondaryConnection = `${
|
|
8
|
+
const primaryKey = `${storageName}-key-primary`;
|
|
9
|
+
const secondaryKey = `${storageName}-key-secondary`;
|
|
10
|
+
const primaryConnection = `${storageName}-conn-primary`;
|
|
11
|
+
const secondaryConnection = `${storageName}-conn-secondary`;
|
|
12
12
|
return (0, Helper_1.getSecrets)({
|
|
13
|
-
nameFormatted: true,
|
|
14
13
|
vaultInfo,
|
|
15
14
|
names: { primaryKey, secondaryKey, primaryConnection, secondaryConnection },
|
|
16
15
|
});
|
|
@@ -67,4 +66,4 @@ exports.getStorageInfo = getStorageInfo;
|
|
|
67
66
|
// sharedAccessExpiryTime: expireDate.toISOString(),
|
|
68
67
|
// });
|
|
69
68
|
// };
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0b3JhZ2UvSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNDQUErRDtBQUMvRCwrQ0FBZ0Q7QUFPaEQsMkNBQTZDO0FBRTdDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxFQUN6QixXQUFXLEVBQ1gsU0FBUyxHQUlWLEVBQXlCLEVBQUU7SUFDMUIsTUFBTSxVQUFVLEdBQUcsR0FBRyxXQUFXLGNBQWMsQ0FBQztJQUNoRCxNQUFNLFlBQVksR0FBRyxHQUFHLFdBQVcsZ0JBQWdCLENBQUM7SUFDcEQsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLFdBQVcsZUFBZSxDQUFDO0lBQ3hELE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxXQUFXLGlCQUFpQixDQUFDO0lBRTVELE9BQU8sSUFBQSxtQkFBVSxFQUFDO1FBQ2hCLFNBQVM7UUFDVCxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFO0tBQzVFLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVLLE1BQU0sY0FBYyxHQUFHLENBQUMsRUFDN0IsSUFBSSxFQUNKLEtBQUssRUFDTCxTQUFTLEdBQ2EsRUFBZSxFQUFFO0lBQ3ZDLElBQUksR0FBRyxlQUFNLENBQUMsY0FBYyxDQUFDLElBQUEsa0JBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sT0FBTyxHQUFHLFNBQVM7UUFDdkIsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNyRCxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRVAsT0FBTztRQUNMLElBQUk7UUFDSixLQUFLO1FBQ0wsU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFdBQVcsSUFBSSx3QkFBd0I7WUFDN0MsSUFBSSxFQUFFLFdBQVcsSUFBSSx3QkFBd0I7WUFDN0MsS0FBSyxFQUFFLFdBQVcsSUFBSSx5QkFBeUI7U0FDaEQ7UUFDRCxHQUFHLE9BQU87UUFDVixFQUFFLEVBQUUsSUFBQSxvQkFBVyxFQUFBLEdBQUcsd0JBQWUsbUJBQW1CLEtBQUssQ0FBQyxpQkFBaUIsZ0RBQWdELElBQUksRUFBRTtLQUNsSSxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBckJXLFFBQUEsY0FBYyxrQkFxQnpCO0FBRUYsZ0RBQWdEO0FBQ2hELGVBQWU7QUFDZixlQUFlO0FBQ2YsT0FBTztBQUNQLHVCQUF1QjtBQUN2Qiw2QkFBNkI7QUFDN0IsVUFBVTtBQUNWLDBEQUEwRDtBQUMxRCx5QkFBeUI7QUFDekIsa0NBQWtDO0FBQ2xDLDJCQUEyQjtBQUMzQiwrQkFBK0I7QUFDL0IscUJBQXFCO0FBQ3JCLFdBQVc7QUFDWCxtQkFBbUI7QUFDbkIsRUFBRTtBQUNGLG9EQUFvRDtBQUNwRCxLQUFLO0FBRUwseUVBQXlFO0FBQ3pFLDRCQUE0QjtBQUM1QixtQ0FBbUM7QUFDbkMsb0RBQW9EO0FBQ3BELEVBQUU7QUFDRiwyQ0FBMkM7QUFDM0MseUJBQXlCO0FBQ3pCLGdCQUFnQjtBQUNoQixvREFBb0Q7QUFDcEQsb0NBQW9DO0FBQ3BDLDBDQUEwQztBQUMxQyw2Q0FBNkM7QUFDN0MsZ0RBQWdEO0FBQ2hELHdEQUF3RDtBQUN4RCxRQUFRO0FBQ1IsS0FBSyJ9
|
package/Storage/index.js
CHANGED
|
@@ -28,7 +28,7 @@ const Helper_1 = require("../KeyVault/Helper");
|
|
|
28
28
|
const Common_1 = require("../Common");
|
|
29
29
|
const CustomHelper_1 = require("../KeyVault/CustomHelper");
|
|
30
30
|
const Locker_1 = require("../Core/Locker");
|
|
31
|
-
const
|
|
31
|
+
const VNet_1 = require("../VNet");
|
|
32
32
|
const ManagementRules_1 = require("./ManagementRules");
|
|
33
33
|
/** Storage Creator */
|
|
34
34
|
function Storage({ name, group, vaultInfo, enableEncryption, envRoles, envUIDInfo, containers = [], queues = [], fileShares = [], network, features = {}, policies = { keyExpirationPeriodInDays: 365 }, lock = true, dependsOn, ignoreChanges = [], }) {
|
|
@@ -141,7 +141,7 @@ function Storage({ name, group, vaultInfo, enableEncryption, envRoles, envUIDInf
|
|
|
141
141
|
? network.privateEndpoint.type
|
|
142
142
|
: [network.privateEndpoint.type];
|
|
143
143
|
//Create Private Endpoints
|
|
144
|
-
linkTypes.map((type) => (0,
|
|
144
|
+
linkTypes.map((type) => (0, VNet_1.StoragePrivateLink)(type, {
|
|
145
145
|
...network.privateEndpoint,
|
|
146
146
|
resourceInfo: { name, group, id: stg.id },
|
|
147
147
|
dependsOn: stg,
|
|
@@ -223,10 +223,10 @@ function Storage({ name, group, vaultInfo, enableEncryption, envRoles, envUIDInf
|
|
|
223
223
|
envRoles.addIdentity('readOnly', stg.identity);
|
|
224
224
|
//Add connection into Key vault
|
|
225
225
|
if (vaultInfo && allowSharedKeyAccess) {
|
|
226
|
-
const primaryKeyName = `${
|
|
227
|
-
const secondaryKeyName = `${
|
|
228
|
-
const primaryConnectionKeyName = `${
|
|
229
|
-
const secondConnectionKeyName = `${
|
|
226
|
+
const primaryKeyName = `${name}-key-primary`;
|
|
227
|
+
const secondaryKeyName = `${name}-key-secondary`;
|
|
228
|
+
const primaryConnectionKeyName = `${name}-conn-primary`;
|
|
229
|
+
const secondConnectionKeyName = `${name}-conn-secondary`;
|
|
230
230
|
const keys = (await storage.listStorageAccountKeys({
|
|
231
231
|
accountName: name,
|
|
232
232
|
resourceGroupName: group.resourceGroupName,
|
|
@@ -239,7 +239,6 @@ function Storage({ name, group, vaultInfo, enableEncryption, envRoles, envUIDInf
|
|
|
239
239
|
(0, CustomHelper_1.addCustomSecrets)({
|
|
240
240
|
vaultInfo,
|
|
241
241
|
contentType: 'Storage',
|
|
242
|
-
formattedName: true,
|
|
243
242
|
items: [
|
|
244
243
|
{
|
|
245
244
|
name: primaryKeyName,
|
|
@@ -269,4 +268,4 @@ function Storage({ name, group, vaultInfo, enableEncryption, envRoles, envUIDInf
|
|
|
269
268
|
};
|
|
270
269
|
}
|
|
271
270
|
exports.default = Storage;
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RvcmFnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0VBQXdEO0FBT3hELCtDQUFtRDtBQUNuRCxzQ0FBMEM7QUFDMUMsMkRBQTREO0FBQzVELDJDQUF3QztBQUN4QyxrQ0FBNkM7QUFDN0MsdURBSTJCO0FBc0QzQixzQkFBc0I7QUFDdEIsU0FBUyxPQUFPLENBQUMsRUFDZixJQUFJLEVBQ0osS0FBSyxFQUNMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFVBQVUsRUFDVixVQUFVLEdBQUcsRUFBRSxFQUNmLE1BQU0sR0FBRyxFQUFFLEVBQ1gsVUFBVSxHQUFHLEVBQUUsRUFDZixPQUFPLEVBQ1AsUUFBUSxHQUFHLEVBQUUsRUFDYixRQUFRLEdBQUcsRUFBRSx5QkFBeUIsRUFBRSxHQUFHLEVBQUUsRUFDN0MsSUFBSSxHQUFHLElBQUksRUFDWCxTQUFTLEVBQ1QsYUFBYSxHQUFHLEVBQUUsR0FDTDtJQUNiLElBQUksR0FBRyxlQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRW5DLE1BQU0sYUFBYSxHQUFHLGdCQUFnQjtRQUNwQyxDQUFDLENBQUMsSUFBQSxzQkFBYSxFQUFDLElBQUksRUFBRSxTQUFVLENBQUM7UUFDakMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNkLE1BQU0sb0JBQW9CLEdBQ3hCLFFBQVEsQ0FBQyxvQkFBb0IsSUFBSSxRQUFRLENBQUMsbUJBQW1CLENBQUM7SUFFaEUscUlBQXFJO0lBQ3JJLE1BQU0sR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FDcEMsSUFBSSxFQUNKO1FBQ0UsV0FBVyxFQUFFLElBQUk7UUFDakIsR0FBRyxLQUFLO1FBRVIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUztRQUM1QixHQUFHLEVBQUU7WUFD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
|