@drunk-pulumi/azure 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Aks/Helper.d.ts +3 -5
- package/Aks/Helper.js +1 -1
- package/Aks/Identity.d.ts +2 -5
- package/Aks/Identity.js +1 -1
- package/Aks/VmSetAutoScale/index.d.ts +0 -2
- package/Aks/VmSetAutoScale/index.js +1 -1
- package/Aks/VmSetMonitor/index.d.ts +0 -2
- package/Aks/VmSetMonitor/index.js +6 -6
- package/Aks/index.d.ts +6 -14
- package/Aks/index.js +29 -38
- package/Automation/index.d.ts +2 -3
- package/Automation/index.js +6 -14
- package/AzAd/EnvRoles.Consts.d.ts +2 -2
- package/AzAd/EnvRoles.Consts.js +20 -45
- package/AzAd/EnvRoles.d.ts +5 -4
- package/AzAd/EnvRoles.js +32 -25
- package/AzAd/Group.d.ts +5 -7
- package/AzAd/Group.js +5 -14
- package/AzAd/Helper.d.ts +6 -6
- package/AzAd/Helper.js +39 -54
- package/AzAd/Identities/AzDevOpsIdentity.d.ts +2 -2
- package/AzAd/Identities/AzDevOpsIdentity.js +13 -7
- package/AzAd/Identities/AzDevOpsManagedIdentity.js +2 -7
- package/AzAd/Identities/AzUserAdRevertSync.d.ts +2 -3
- package/AzAd/Identities/AzUserAdRevertSync.js +3 -4
- package/AzAd/Identities/GlobalUserAssignedIdentity.d.ts +4 -0
- package/AzAd/Identities/GlobalUserAssignedIdentity.js +19 -0
- package/AzAd/Identities/index.d.ts +4 -3
- package/AzAd/Identities/index.js +26 -2
- package/AzAd/Identity.d.ts +4 -7
- package/AzAd/Identity.js +19 -27
- package/AzAd/RoleAssignment.d.ts +2 -2
- package/AzAd/RoleAssignment.js +3 -3
- package/AzAd/UserAssignedIdentity.d.ts +3 -3
- package/AzAd/UserAssignedIdentity.js +24 -6
- package/Builder/AksBuilder.js +3 -3
- package/Builder/ApimApiBuilder.js +3 -3
- package/Builder/ApimPolicyBuilder.js +3 -3
- package/Builder/ApimProductBuilder.js +6 -12
- package/Builder/EnvRoleBuilder.d.ts +36 -0
- package/Builder/EnvRoleBuilder.js +57 -0
- package/Builder/ResourceBuilder.js +26 -16
- package/Builder/SqlBuilder.js +7 -1
- package/Builder/VmBuilder.js +2 -5
- package/Builder/index.d.ts +15 -14
- package/Builder/index.js +4 -2
- package/Builder/types/apimPolicyBuilder.d.ts +4 -5
- package/Builder/types/apimPolicyBuilder.js +1 -1
- package/Builder/types/apimProductBuilder.d.ts +8 -10
- package/Builder/types/envRoleBuilder.d.ts +14 -0
- package/Builder/types/envRoleBuilder.js +3 -0
- package/Builder/types/genericBuilder.d.ts +15 -13
- package/Builder/types/genericBuilder.js +1 -1
- package/Builder/types/index.d.ts +15 -14
- package/Builder/types/index.js +2 -1
- package/Builder/types/resourceBuilder.d.ts +7 -6
- package/Builder/types/sqlBuilder.d.ts +2 -3
- package/Builder/types/storageBuilder.d.ts +1 -1
- package/Builder/types/vaultBuilder.d.ts +2 -2
- package/Builder/types/vmBuilder.d.ts +11 -11
- package/Builder/types/vnetBuilder.d.ts +19 -19
- package/Cdn/CdnEndpoint.d.ts +2 -2
- package/Cdn/index.d.ts +2 -2
- package/Cdn/index.js +3 -11
- package/Certificate/index.js +12 -25
- package/Common/AzureEnv.d.ts +1 -2
- package/Common/AzureEnv.js +2 -10
- package/Common/Naming/index.d.ts +1 -0
- package/Common/Naming/index.js +5 -3
- package/ContainerRegistry/Helper.d.ts +2 -3
- package/ContainerRegistry/Helper.js +2 -3
- package/ContainerRegistry/index.d.ts +2 -4
- package/ContainerRegistry/index.js +1 -50
- package/Core/Helper.d.ts +4 -2
- package/Core/Helper.js +7 -2
- package/Core/KeyGenerators.d.ts +2 -4
- package/Core/KeyGenerators.js +7 -12
- package/Core/Random.d.ts +6 -9
- package/Core/Random.js +17 -21
- package/Core/ResourceCreator.d.ts +2 -2
- package/Core/ResourceGroup.d.ts +2 -2
- package/Core/ResourceGroup.js +4 -3
- package/CosmosDb/index.d.ts +4 -9
- package/CosmosDb/index.js +4 -4
- package/IOT/Hub/index.d.ts +4 -5
- package/IOT/Hub/index.js +25 -26
- package/KeyVault/CustomHelper.d.ts +4 -9
- package/KeyVault/CustomHelper.js +3 -4
- package/KeyVault/Helper.d.ts +10 -13
- package/KeyVault/Helper.js +46 -26
- package/KeyVault/index.js +2 -1
- package/Logs/AppInsight.d.ts +2 -3
- package/Logs/AppInsight.js +1 -1
- package/Logs/Helpers.d.ts +3 -8
- package/Logs/Helpers.js +12 -10
- package/Logs/LogAnalytics.d.ts +2 -5
- package/Logs/LogAnalytics.js +13 -17
- package/Logs/index.d.ts +3 -5
- package/Logs/index.js +7 -4
- package/MySql/index.d.ts +3 -10
- package/MySql/index.js +15 -20
- package/Postgresql/index.d.ts +3 -4
- package/Postgresql/index.js +30 -24
- package/RedisCache/index.d.ts +5 -3
- package/RedisCache/index.js +18 -24
- package/ServiceBus/index.d.ts +6 -8
- package/ServiceBus/index.js +9 -15
- package/SignalR/index.d.ts +5 -3
- package/SignalR/index.js +19 -28
- package/Sql/SqlDb.d.ts +3 -3
- package/Sql/SqlDb.js +11 -2
- package/Sql/index.d.ts +5 -9
- package/Sql/index.js +41 -30
- package/Storage/ManagementRules.d.ts +6 -8
- package/Storage/ManagementRules.js +3 -3
- package/Storage/index.d.ts +3 -6
- package/Storage/index.js +24 -27
- package/VM/DiskEncryptionSet.d.ts +8 -0
- package/VM/DiskEncryptionSet.js +43 -0
- package/VM/index.d.ts +5 -11
- package/VM/index.js +24 -12
- package/VNet/Firewall.js +3 -5
- package/VNet/FirewallPolicies/AksFirewallPolicy.js +2 -2
- package/VNet/Helper.d.ts +2 -2
- package/VNet/Helper.js +6 -3
- package/VNet/IpAddressPrefix.d.ts +5 -7
- package/VNet/IpAddressPrefix.js +5 -5
- package/VNet/PrivateEndpoint.d.ts +2 -2
- package/VNet/PrivateEndpoint.js +2 -3
- package/VNet/RouteTable.d.ts +4 -4
- package/VNet/RouteTable.js +4 -4
- package/VNet/Vnet.js +5 -1
- package/VNet/index.d.ts +3 -5
- package/VNet/index.js +1 -1
- package/VNet/types.d.ts +3 -4
- package/Web/AppCertOrder.d.ts +2 -3
- package/Web/AppCertOrder.js +1 -1
- package/Web/AppConfig.d.ts +2 -5
- package/Web/AppConfig.js +3 -4
- package/package.json +5 -5
- package/types.d.ts +42 -28
package/Core/KeyGenerators.js
CHANGED
|
@@ -22,21 +22,16 @@ const generateSsh = ({ name, loginPrefix, maxUserNameLength, vaultInfo, }) => {
|
|
|
22
22
|
//publicKeyName,
|
|
23
23
|
//privateKeyName,
|
|
24
24
|
}, { dependsOn: pass });
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
value: userName,
|
|
28
|
-
formattedName: true,
|
|
29
|
-
vaultInfo,
|
|
30
|
-
contentType: 'Random Ssh',
|
|
31
|
-
dependsOn: rs,
|
|
32
|
-
});
|
|
33
|
-
(0, CustomHelper_1.addCustomSecret)({
|
|
34
|
-
name: passwordKeyName,
|
|
35
|
-
value: pass.result,
|
|
25
|
+
//Add secrets to vault
|
|
26
|
+
(0, CustomHelper_1.addCustomSecrets)({
|
|
36
27
|
formattedName: true,
|
|
37
28
|
vaultInfo,
|
|
38
29
|
contentType: 'Random Ssh',
|
|
39
30
|
dependsOn: rs,
|
|
31
|
+
items: [
|
|
32
|
+
{ name: userNameKey, value: userName },
|
|
33
|
+
{ name: passwordKeyName, value: pass.result },
|
|
34
|
+
],
|
|
40
35
|
});
|
|
41
36
|
return {
|
|
42
37
|
userName,
|
|
@@ -64,4 +59,4 @@ const generatePGP = ({ name, options, vaultInfo, }) => {
|
|
|
64
59
|
};
|
|
65
60
|
};
|
|
66
61
|
exports.generatePGP = generatePGP;
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2V5R2VuZXJhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db3JlL0tleUdlbmVyYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esc0NBQXVDO0FBQ3ZDLG1GQUErRTtBQUMvRSwyREFBNkU7QUFDN0UsK0NBQStDO0FBQy9DLHFDQUFzRTtBQUN0RSw2RUFHb0Q7QUFDcEQsMkNBQWdEO0FBZXpDLE1BQU0sV0FBVyxHQUFHLENBQUMsRUFDMUIsSUFBSSxFQUNKLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsU0FBUyxHQUNVLEVBQWMsRUFBRTtJQUNuQyxJQUFJLEdBQUcsSUFBQSxtQkFBVSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBRXhCLE1BQU0sV0FBVyxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUM7SUFDbkMsTUFBTSxlQUFlLEdBQUcsR0FBRyxJQUFJLFdBQVcsQ0FBQztJQUMzQyxNQUFNLGFBQWEsR0FBRyxHQUFHLElBQUksWUFBWSxDQUFDO0lBQzFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsSUFBSSxhQUFhLENBQUM7SUFFNUMsTUFBTSxRQUFRLEdBQUcsSUFBQSx1QkFBYyxFQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDMUUsTUFBTSxJQUFJLEdBQUcsSUFBQSx1QkFBYyxFQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBRXJELE1BQU0sRUFBRSxHQUFHLElBQUksZ0NBQWMsQ0FDM0IsSUFBSSxFQUNKO1FBQ0UsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNO1FBQ3JCLFNBQVM7UUFDVCxnQkFBZ0I7UUFDaEIsaUJBQWlCO0tBQ2xCLEVBQ0QsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQ3BCLENBQUM7SUFDRixzQkFBc0I7SUFDdEIsSUFBQSwrQkFBZ0IsRUFBQztRQUNmLGFBQWEsRUFBRSxJQUFJO1FBQ25C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
|
package/Core/Random.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { Output } from
|
|
2
|
-
import { KeyVaultInfo } from
|
|
3
|
-
interface RandomPassProps {
|
|
4
|
-
|
|
5
|
-
policy?: "monthly" | "yearly" | boolean;
|
|
1
|
+
import { Output } from '@pulumi/pulumi';
|
|
2
|
+
import { KeyVaultInfo, NamedType, NamedWithVaultType } from '../types';
|
|
3
|
+
interface RandomPassProps extends NamedWithVaultType {
|
|
4
|
+
policy?: 'monthly' | 'yearly' | boolean;
|
|
6
5
|
length?: number;
|
|
7
6
|
options?: {
|
|
8
7
|
lower?: boolean;
|
|
@@ -10,7 +9,6 @@ interface RandomPassProps {
|
|
|
10
9
|
numeric?: boolean;
|
|
11
10
|
special?: boolean;
|
|
12
11
|
};
|
|
13
|
-
vaultInfo?: KeyVaultInfo;
|
|
14
12
|
}
|
|
15
13
|
/**
|
|
16
14
|
* Genera random password with 50 characters length.
|
|
@@ -19,14 +17,13 @@ interface RandomPassProps {
|
|
|
19
17
|
*/
|
|
20
18
|
export declare const randomPassword: ({ length, name, policy, options, vaultInfo, }: RandomPassProps) => import("@pulumi/random/randomPassword").RandomPassword;
|
|
21
19
|
export declare const randomUuId: (name: string) => import("@pulumi/random/randomUuid").RandomUuid;
|
|
22
|
-
interface UserNameProps {
|
|
23
|
-
name: string;
|
|
20
|
+
interface UserNameProps extends NamedType {
|
|
24
21
|
loginPrefix?: string;
|
|
25
22
|
maxUserNameLength?: number;
|
|
26
23
|
}
|
|
27
24
|
export declare const randomUserName: ({ name, loginPrefix, maxUserNameLength, }: UserNameProps) => Output<string>;
|
|
28
25
|
export interface LoginProps extends UserNameProps {
|
|
29
|
-
passwordOptions?: Omit<RandomPassProps,
|
|
26
|
+
passwordOptions?: Omit<RandomPassProps, 'name' | 'vaultInfo'>;
|
|
30
27
|
vaultInfo?: KeyVaultInfo;
|
|
31
28
|
}
|
|
32
29
|
export declare const randomLogin: ({ name, loginPrefix, maxUserNameLength, passwordOptions, vaultInfo, }: LoginProps) => {
|
package/Core/Random.js
CHANGED
|
@@ -25,22 +25,22 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.randomLogin = exports.randomUserName = exports.randomUuId = exports.randomPassword = void 0;
|
|
27
27
|
const random = __importStar(require("@pulumi/random"));
|
|
28
|
-
const
|
|
28
|
+
const Common_1 = require("../Common");
|
|
29
29
|
const CustomHelper_1 = require("../KeyVault/CustomHelper");
|
|
30
30
|
/**
|
|
31
31
|
* Genera random password with 50 characters length.
|
|
32
32
|
* @param name the name of password
|
|
33
33
|
* @param autoRolling if true the password will be changed every year.
|
|
34
34
|
*/
|
|
35
|
-
const randomPassword = ({ length = 50, name, policy =
|
|
35
|
+
const randomPassword = ({ length = 50, name, policy = 'yearly', options, vaultInfo, }) => {
|
|
36
36
|
if (length < 10)
|
|
37
37
|
length = 10;
|
|
38
|
-
const keepKey = policy ===
|
|
38
|
+
const keepKey = policy === 'monthly'
|
|
39
39
|
? `${new Date().getMonth()}.${new Date().getFullYear()}`
|
|
40
|
-
: policy ===
|
|
40
|
+
: policy === 'yearly'
|
|
41
41
|
? `${new Date().getFullYear()}`
|
|
42
|
-
:
|
|
43
|
-
name = (0,
|
|
42
|
+
: '';
|
|
43
|
+
name = (0, Common_1.getPasswordName)(name, null);
|
|
44
44
|
const randomPass = new random.RandomPassword(name, {
|
|
45
45
|
keepers: { keepKey },
|
|
46
46
|
length,
|
|
@@ -54,11 +54,11 @@ const randomPassword = ({ length = 50, name, policy = "yearly", options, vaultIn
|
|
|
54
54
|
minSpecial: options?.special ? 2 : 0,
|
|
55
55
|
...options,
|
|
56
56
|
//Exclude some special characters that are not accepted by XML and SQLServer.
|
|
57
|
-
overrideSpecial: options?.special == false ?
|
|
57
|
+
overrideSpecial: options?.special == false ? '' : '#%&*+-/:<>?^_|~',
|
|
58
58
|
});
|
|
59
59
|
if (vaultInfo) {
|
|
60
60
|
(0, CustomHelper_1.addCustomSecret)({
|
|
61
|
-
name: (0,
|
|
61
|
+
name: (0, Common_1.getPasswordName)(name, null),
|
|
62
62
|
vaultInfo,
|
|
63
63
|
value: randomPass.result,
|
|
64
64
|
contentType: name,
|
|
@@ -76,12 +76,12 @@ const randomString = (name, length = 5) => new random.RandomString(name, {
|
|
|
76
76
|
upper: true,
|
|
77
77
|
special: false,
|
|
78
78
|
});
|
|
79
|
-
const randomUserName = ({ name, loginPrefix =
|
|
79
|
+
const randomUserName = ({ name, loginPrefix = 'admin', maxUserNameLength = 15, }) => {
|
|
80
80
|
const rd = randomString(name);
|
|
81
81
|
return rd.result.apply((r) => `${loginPrefix}${name}${r}`.substring(0, maxUserNameLength));
|
|
82
82
|
};
|
|
83
83
|
exports.randomUserName = randomUserName;
|
|
84
|
-
const randomLogin = ({ name, loginPrefix, maxUserNameLength, passwordOptions = { policy:
|
|
84
|
+
const randomLogin = ({ name, loginPrefix, maxUserNameLength, passwordOptions = { policy: 'yearly' }, vaultInfo, }) => {
|
|
85
85
|
const userName = (0, exports.randomUserName)({ name, loginPrefix, maxUserNameLength });
|
|
86
86
|
const password = (0, exports.randomPassword)({
|
|
87
87
|
name,
|
|
@@ -91,20 +91,16 @@ const randomLogin = ({ name, loginPrefix, maxUserNameLength, passwordOptions = {
|
|
|
91
91
|
const userNameKey = `${name}-user`;
|
|
92
92
|
const passwordKey = `${name}-password`;
|
|
93
93
|
if (vaultInfo) {
|
|
94
|
-
(0, CustomHelper_1.
|
|
95
|
-
name: userNameKey,
|
|
96
|
-
value: userName,
|
|
97
|
-
vaultInfo,
|
|
98
|
-
contentType: "Random Login",
|
|
99
|
-
});
|
|
100
|
-
(0, CustomHelper_1.addCustomSecret)({
|
|
101
|
-
name: passwordKey,
|
|
102
|
-
value: password,
|
|
94
|
+
(0, CustomHelper_1.addCustomSecrets)({
|
|
103
95
|
vaultInfo,
|
|
104
|
-
contentType:
|
|
96
|
+
contentType: 'Random Login',
|
|
97
|
+
items: [
|
|
98
|
+
{ name: userNameKey, value: userName },
|
|
99
|
+
{ name: passwordKey, value: password },
|
|
100
|
+
],
|
|
105
101
|
});
|
|
106
102
|
}
|
|
107
103
|
return { userName, password, vaultKeys: { userNameKey, passwordKey } };
|
|
108
104
|
};
|
|
109
105
|
exports.randomLogin = randomLogin;
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmFuZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvcmUvUmFuZG9tLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsdURBQXlDO0FBQ3pDLHNDQUE0QztBQUM1QywyREFBNkU7QUFjN0U7Ozs7R0FJRztBQUNJLE1BQU0sY0FBYyxHQUFHLENBQUMsRUFDN0IsTUFBTSxHQUFHLEVBQUUsRUFDWCxJQUFJLEVBQ0osTUFBTSxHQUFHLFFBQVEsRUFDakIsT0FBTyxFQUNQLFNBQVMsR0FDTyxFQUFFLEVBQUU7SUFDcEIsSUFBSSxNQUFNLEdBQUcsRUFBRTtRQUFFLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFFN0IsTUFBTSxPQUFPLEdBQ1gsTUFBTSxLQUFLLFNBQVM7UUFDbEIsQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFO1FBQ3hELENBQUMsQ0FBQyxNQUFNLEtBQUssUUFBUTtZQUNuQixDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQy9CLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFWCxJQUFJLEdBQUcsSUFBQSx3QkFBZSxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUVuQyxNQUFNLFVBQVUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFO1FBQ2pELE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRTtRQUNwQixNQUFNO1FBQ04sS0FBSyxFQUFFLElBQUk7UUFDWCxRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxJQUFJO1FBQ1gsUUFBUSxFQUFFLENBQUM7UUFDWCxPQUFPLEVBQUUsSUFBSTtRQUNiLFVBQVUsRUFBRSxDQUFDO1FBQ2IsT0FBTyxFQUFFLElBQUk7UUFDYixVQUFVLEVBQUUs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
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as pulumi from '@pulumi/pulumi';
|
|
2
2
|
import { DiagnosticSetting } from '@pulumi/azure-native/aadiam/diagnosticSetting';
|
|
3
|
-
import {
|
|
3
|
+
import { OptsArgs, DiagnosticProps } from '../types';
|
|
4
4
|
type ClassOf = new (name: string, props: any, opts?: pulumi.CustomResourceOptions) => pulumi.CustomResource & {
|
|
5
5
|
id: pulumi.Output<string>;
|
|
6
6
|
urn: pulumi.Output<string>;
|
|
7
7
|
};
|
|
8
|
-
export type DefaultCreatorProps =
|
|
8
|
+
export type DefaultCreatorProps = OptsArgs & {
|
|
9
9
|
monitoring?: Omit<DiagnosticProps, 'name' | 'targetResourceId'>;
|
|
10
10
|
lock?: boolean;
|
|
11
11
|
};
|
package/Core/ResourceGroup.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { IEnvRoleBuilder } from '../Builder';
|
|
1
2
|
import { BasicResourceArgs, BasicResourceInfoWithInstance, ResourceGroupInfo } from '../types';
|
|
2
3
|
import { ResourceGroup } from '@pulumi/azure-native/resources';
|
|
3
|
-
import { EnvRolesResults } from '../AzAd/EnvRoles';
|
|
4
4
|
import { RoleEnableTypes } from '../AzAd/EnvRoles.Consts';
|
|
5
5
|
export type RGPermissionType = RoleEnableTypes & {
|
|
6
|
-
envRoles:
|
|
6
|
+
envRoles: IEnvRoleBuilder;
|
|
7
7
|
};
|
|
8
8
|
interface Props extends Omit<BasicResourceArgs, 'group'> {
|
|
9
9
|
formattedName?: boolean;
|
package/Core/ResourceGroup.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const resources_1 = require("@pulumi/azure-native/resources");
|
|
7
7
|
const ResourceCreator_1 = __importDefault(require("./ResourceCreator"));
|
|
8
8
|
const Common_1 = require("../Common");
|
|
9
|
-
const
|
|
9
|
+
const Common_2 = require("../Common");
|
|
10
10
|
const EnvRoles_Consts_1 = require("../AzAd/EnvRoles.Consts");
|
|
11
11
|
exports.default = ({ name, formattedName, permissions, ...others }) => {
|
|
12
12
|
name = formattedName ? name : (0, Common_1.getResourceGroupName)(name);
|
|
@@ -18,6 +18,7 @@ exports.default = ({ name, formattedName, permissions, ...others }) => {
|
|
|
18
18
|
(0, EnvRoles_Consts_1.grantEnvRolesAccess)({
|
|
19
19
|
name,
|
|
20
20
|
...permissions,
|
|
21
|
+
envRoles: permissions.envRoles.info(),
|
|
21
22
|
scope: resource.id,
|
|
22
23
|
dependsOn: resource,
|
|
23
24
|
});
|
|
@@ -28,8 +29,8 @@ exports.default = ({ name, formattedName, permissions, ...others }) => {
|
|
|
28
29
|
id: resource.id,
|
|
29
30
|
info: () => ({
|
|
30
31
|
resourceGroupName: name,
|
|
31
|
-
location:
|
|
32
|
+
location: Common_2.currentRegionName,
|
|
32
33
|
}),
|
|
33
34
|
};
|
|
34
35
|
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzb3VyY2VHcm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db3JlL1Jlc291cmNlR3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFPQSw4REFHd0M7QUFDeEMsd0VBQWdEO0FBQ2hELHNDQUFpRDtBQUNqRCxzQ0FBOEM7QUFDOUMsNkRBQStFO0FBZS9FLGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osYUFBYSxFQUNiLFdBQVcsRUFDWCxHQUFHLE1BQU0sRUFDSCxFQUVOLEVBQUU7SUFDRixJQUFJLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUEsNkJBQW9CLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFFekQsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBQSx5QkFBZSxFQUFDLHlCQUFhLEVBQUU7UUFDdEUsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixHQUFHLE1BQU07S0FDc0IsQ0FBQyxDQUFDO0lBRW5DLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEIsSUFBQSxxQ0FBbUIsRUFBQztZQUNsQixJQUFJO1lBQ0osR0FBRyxXQUFXO1lBQ2QsUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQ3JDLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRTtZQUNsQixTQUFTLEVBQUUsUUFBUTtTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUk7UUFDSixRQUFRLEVBQUUsUUFBeUI7UUFDbkMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFO1FBQ2YsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDWCxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLFFBQVEsRUFBRSwwQkFBaUI7U0FDNUIsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDLENBQUMifQ==
|
package/CosmosDb/index.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import * as documentdb from '@pulumi/azure-native/documentdb';
|
|
2
|
-
import {
|
|
2
|
+
import { NamedType, ResourceWithVaultArgs } from '../types';
|
|
3
3
|
import { Input } from '@pulumi/pulumi';
|
|
4
|
-
interface CosmosDbProps {
|
|
5
|
-
name: string;
|
|
6
|
-
group: ResourceGroupInfo;
|
|
7
|
-
vaultInfo?: KeyVaultInfo;
|
|
4
|
+
interface CosmosDbProps extends ResourceWithVaultArgs {
|
|
8
5
|
locations?: Array<Input<string>>;
|
|
9
6
|
enableMultipleWriteLocations?: boolean;
|
|
10
7
|
capabilities?: Array<'EnableCassandra' | 'EnableTable' | 'EnableGremlin'>;
|
|
@@ -16,10 +13,8 @@ interface CosmosDbProps {
|
|
|
16
13
|
subnetIds?: Input<string>[];
|
|
17
14
|
ipAddresses?: Input<string>[];
|
|
18
15
|
};
|
|
19
|
-
sqlDbs?: Array<{
|
|
20
|
-
|
|
21
|
-
containers?: Array<{
|
|
22
|
-
name: string;
|
|
16
|
+
sqlDbs?: Array<NamedType & {
|
|
17
|
+
containers?: Array<NamedType & {
|
|
23
18
|
partitionKeyPath: string;
|
|
24
19
|
/** auto expired items in seconds*/
|
|
25
20
|
ttl?: number;
|
package/CosmosDb/index.js
CHANGED
|
@@ -29,7 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
const documentdb = __importStar(require("@pulumi/azure-native/documentdb"));
|
|
30
30
|
const Common_1 = require("../Common");
|
|
31
31
|
const ResourceCreator_1 = __importDefault(require("../Core/ResourceCreator"));
|
|
32
|
-
const
|
|
32
|
+
const Common_2 = require("../Common");
|
|
33
33
|
const Helpers_1 = require("../Logs/Helpers");
|
|
34
34
|
exports.default = ({ name, group, vaultInfo, locations, capabilities, enableMultipleWriteLocations, enableThreatProtection, network, sqlDbs, kind = documentdb.DatabaseAccountKind.GlobalDocumentDB, }) => {
|
|
35
35
|
name = (0, Common_1.getCosmosDbName)(name);
|
|
@@ -45,7 +45,7 @@ exports.default = ({ name, group, vaultInfo, locations, capabilities, enableMult
|
|
|
45
45
|
locations: locations
|
|
46
46
|
? locations.map((n) => ({ locationName: n }))
|
|
47
47
|
: [{ locationName: group.location }],
|
|
48
|
-
backupPolicy:
|
|
48
|
+
backupPolicy: Common_2.isPrd
|
|
49
49
|
? {
|
|
50
50
|
type: 'Periodic',
|
|
51
51
|
periodicModeProperties: {
|
|
@@ -54,7 +54,7 @@ exports.default = ({ name, group, vaultInfo, locations, capabilities, enableMult
|
|
|
54
54
|
},
|
|
55
55
|
}
|
|
56
56
|
: undefined,
|
|
57
|
-
enableAutomaticFailover:
|
|
57
|
+
enableAutomaticFailover: Common_2.isPrd,
|
|
58
58
|
enableAnalyticalStorage: false,
|
|
59
59
|
enableFreeTier: true,
|
|
60
60
|
enableMultipleWriteLocations,
|
|
@@ -139,4 +139,4 @@ exports.default = ({ name, group, vaultInfo, locations, capabilities, enableMult
|
|
|
139
139
|
}
|
|
140
140
|
return resource;
|
|
141
141
|
};
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29zbW9zRGIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRFQUE4RDtBQUM5RCxzQ0FBNEM7QUFFNUMsOEVBQXNEO0FBQ3RELHNDQUFrQztBQUNsQyw2Q0FBeUQ7QUFnQ3pELGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxFQUNaLDRCQUE0QixFQUM1QixzQkFBc0IsRUFDdEIsT0FBTyxFQUNQLE1BQU0sRUFDTixJQUFJLEdBQUcsVUFBVSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixHQUN4QyxFQUFFLEVBQUU7SUFDbEIsSUFBSSxHQUFHLElBQUEsd0JBQWUsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUU3QixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBQSx5QkFBZSxFQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUU7UUFDL0QsV0FBVyxFQUFFLElBQUk7UUFDakIsR0FBRyxLQUFLO1FBQ1Isd0JBQXdCLEVBQUUsVUFBVSxDQUFDLHdCQUF3QixDQUFDLFFBQVE7UUFDdEUsSUFBSTtRQUNKLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtRQUVwQyxZQUFZLEVBQUUsWUFBWTtZQUN4QixDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxTQUFTO1FBRWIsU0FBUyxFQUFFLFNBQVM7WUFDbEIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM3QyxDQUFD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
|
package/IOT/Hub/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import * as devices from
|
|
3
|
-
import { Input } from
|
|
4
|
-
interface Props extends
|
|
1
|
+
import { BasicResourceWithVaultArgs } from '../../types';
|
|
2
|
+
import * as devices from '@pulumi/azure-native/devices';
|
|
3
|
+
import { Input } from '@pulumi/pulumi';
|
|
4
|
+
interface Props extends BasicResourceWithVaultArgs {
|
|
5
5
|
sku: {
|
|
6
6
|
name: devices.IotHubSku;
|
|
7
7
|
capacity?: number;
|
|
@@ -21,7 +21,6 @@ interface Props extends BasicResourceArgs {
|
|
|
21
21
|
/** provide the event container name to enable events to be pushing to storage */
|
|
22
22
|
eventContainerName?: Input<string>;
|
|
23
23
|
};
|
|
24
|
-
vaultInfo?: KeyVaultInfo;
|
|
25
24
|
}
|
|
26
25
|
declare const _default: ({ name, group, sku, storage, serviceBus, dependsOn, vaultInfo, }: Props) => import("@pulumi/azure-native/devices/iotHubResource").IotHubResource;
|
|
27
26
|
export default _default;
|
package/IOT/Hub/index.js
CHANGED
|
@@ -23,16 +23,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
const
|
|
26
|
+
const Common_1 = require("../../Common");
|
|
27
27
|
const devices = __importStar(require("@pulumi/azure-native/devices"));
|
|
28
|
-
const AzureEnv_1 = require("../../Common/AzureEnv");
|
|
29
28
|
const CustomHelper_1 = require("../../KeyVault/CustomHelper");
|
|
30
|
-
exports.default = ({ name, group, sku = { name:
|
|
31
|
-
const hubName = (0,
|
|
32
|
-
const busQueueEndpointName =
|
|
33
|
-
const busTopicEndpointName =
|
|
34
|
-
const storageMessageEndpointName =
|
|
35
|
-
const storageEventEndpointName =
|
|
29
|
+
exports.default = ({ name, group, sku = { name: 'F1', capacity: 1 }, storage, serviceBus, dependsOn, vaultInfo, }) => {
|
|
30
|
+
const hubName = (0, Common_1.getIotHubName)(name);
|
|
31
|
+
const busQueueEndpointName = 'busQueue';
|
|
32
|
+
const busTopicEndpointName = 'busTopic';
|
|
33
|
+
const storageMessageEndpointName = 'hubStorage';
|
|
34
|
+
const storageEventEndpointName = 'hubEventStorage';
|
|
36
35
|
const routeEndpoints = new Array();
|
|
37
36
|
const storageEndpoints = new Array();
|
|
38
37
|
if (storage?.connectionString && storage?.messageContainerName) {
|
|
@@ -40,12 +39,12 @@ exports.default = ({ name, group, sku = { name: "F1", capacity: 1 }, storage, se
|
|
|
40
39
|
storageEndpoints.push({
|
|
41
40
|
name: storageMessageEndpointName,
|
|
42
41
|
resourceGroup: group.resourceGroupName,
|
|
43
|
-
subscriptionId:
|
|
42
|
+
subscriptionId: Common_1.subscriptionId,
|
|
44
43
|
connectionString: storage.connectionString,
|
|
45
44
|
containerName: storage.messageContainerName,
|
|
46
|
-
encoding:
|
|
45
|
+
encoding: 'avro', // 'avroDeflate' and 'avro'
|
|
47
46
|
batchFrequencyInSeconds: 60, //60 to 720
|
|
48
|
-
fileNameFormat:
|
|
47
|
+
fileNameFormat: '{iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}', //Must have all these {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm} but order and delimiter can be changed.
|
|
49
48
|
maxChunkSizeInBytes: 300 * 1024 * 1024, // 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).
|
|
50
49
|
});
|
|
51
50
|
}
|
|
@@ -53,12 +52,12 @@ exports.default = ({ name, group, sku = { name: "F1", capacity: 1 }, storage, se
|
|
|
53
52
|
storageEndpoints.push({
|
|
54
53
|
name: storageEventEndpointName,
|
|
55
54
|
resourceGroup: group.resourceGroupName,
|
|
56
|
-
subscriptionId:
|
|
55
|
+
subscriptionId: Common_1.subscriptionId,
|
|
57
56
|
connectionString: storage.connectionString,
|
|
58
57
|
containerName: storage.eventContainerName,
|
|
59
|
-
encoding:
|
|
58
|
+
encoding: 'avro', // 'avroDeflate' and 'avro'
|
|
60
59
|
batchFrequencyInSeconds: 60, //60 to 720
|
|
61
|
-
fileNameFormat:
|
|
60
|
+
fileNameFormat: '{iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}', //Must have all these {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm} but order and delimiter can be changed.
|
|
62
61
|
maxChunkSizeInBytes: 300 * 1024 * 1024, // 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).
|
|
63
62
|
});
|
|
64
63
|
}
|
|
@@ -71,7 +70,7 @@ exports.default = ({ name, group, sku = { name: "F1", capacity: 1 }, storage, se
|
|
|
71
70
|
source: devices.RoutingSource.DeviceMessages,
|
|
72
71
|
endpointNames: [r],
|
|
73
72
|
isEnabled: true,
|
|
74
|
-
condition:
|
|
73
|
+
condition: 'true',
|
|
75
74
|
}));
|
|
76
75
|
if (storage?.eventContainerName) {
|
|
77
76
|
routes.push({
|
|
@@ -79,7 +78,7 @@ exports.default = ({ name, group, sku = { name: "F1", capacity: 1 }, storage, se
|
|
|
79
78
|
source: devices.RoutingSource.DeviceLifecycleEvents,
|
|
80
79
|
endpointNames: [storageEventEndpointName],
|
|
81
80
|
isEnabled: true,
|
|
82
|
-
condition:
|
|
81
|
+
condition: 'true',
|
|
83
82
|
});
|
|
84
83
|
}
|
|
85
84
|
const hub = new devices.IotHubResource(hubName, {
|
|
@@ -96,7 +95,7 @@ exports.default = ({ name, group, sku = { name: "F1", capacity: 1 }, storage, se
|
|
|
96
95
|
$default: {
|
|
97
96
|
connectionString: storage.connectionString,
|
|
98
97
|
containerName: storage.fileContainerName,
|
|
99
|
-
sasTtlAsIso8601:
|
|
98
|
+
sasTtlAsIso8601: 'PT1H',
|
|
100
99
|
},
|
|
101
100
|
}
|
|
102
101
|
: undefined,
|
|
@@ -122,12 +121,12 @@ exports.default = ({ name, group, sku = { name: "F1", capacity: 1 }, storage, se
|
|
|
122
121
|
//privateEndpointConnections: {},
|
|
123
122
|
messagingEndpoints: {
|
|
124
123
|
fileNotifications: {
|
|
125
|
-
lockDurationAsIso8601:
|
|
124
|
+
lockDurationAsIso8601: 'PT1M',
|
|
126
125
|
maxDeliveryCount: 10,
|
|
127
|
-
ttlAsIso8601:
|
|
126
|
+
ttlAsIso8601: 'PT1H',
|
|
128
127
|
},
|
|
129
128
|
},
|
|
130
|
-
minTlsVersion:
|
|
129
|
+
minTlsVersion: '1.2',
|
|
131
130
|
routing: {
|
|
132
131
|
endpoints: {
|
|
133
132
|
//eventHubs: [],
|
|
@@ -137,7 +136,7 @@ exports.default = ({ name, group, sku = { name: "F1", capacity: 1 }, storage, se
|
|
|
137
136
|
name: busQueueEndpointName,
|
|
138
137
|
connectionString: serviceBus.queueMessageConnectionString,
|
|
139
138
|
resourceGroup: group.resourceGroupName,
|
|
140
|
-
subscriptionId:
|
|
139
|
+
subscriptionId: Common_1.subscriptionId,
|
|
141
140
|
},
|
|
142
141
|
]
|
|
143
142
|
: undefined,
|
|
@@ -147,7 +146,7 @@ exports.default = ({ name, group, sku = { name: "F1", capacity: 1 }, storage, se
|
|
|
147
146
|
name: busTopicEndpointName,
|
|
148
147
|
connectionString: serviceBus.topicMessageConnectionString,
|
|
149
148
|
resourceGroup: group.resourceGroupName,
|
|
150
|
-
subscriptionId:
|
|
149
|
+
subscriptionId: Common_1.subscriptionId,
|
|
151
150
|
},
|
|
152
151
|
]
|
|
153
152
|
: undefined,
|
|
@@ -155,12 +154,12 @@ exports.default = ({ name, group, sku = { name: "F1", capacity: 1 }, storage, se
|
|
|
155
154
|
},
|
|
156
155
|
fallbackRoute: {
|
|
157
156
|
name: `$fallback`,
|
|
158
|
-
condition:
|
|
157
|
+
condition: 'true',
|
|
159
158
|
isEnabled: true,
|
|
160
159
|
source: devices.RoutingSource.DeviceMessages,
|
|
161
160
|
endpointNames: storage?.eventContainerName
|
|
162
161
|
? [storageEventEndpointName]
|
|
163
|
-
: [
|
|
162
|
+
: ['events'],
|
|
164
163
|
},
|
|
165
164
|
routes: routes,
|
|
166
165
|
},
|
|
@@ -181,11 +180,11 @@ exports.default = ({ name, group, sku = { name: "F1", capacity: 1 }, storage, se
|
|
|
181
180
|
name: `${hubName}-${k.keyName}`,
|
|
182
181
|
value: conn,
|
|
183
182
|
vaultInfo,
|
|
184
|
-
contentType:
|
|
183
|
+
contentType: 'IOT Hub',
|
|
185
184
|
});
|
|
186
185
|
});
|
|
187
186
|
});
|
|
188
187
|
}
|
|
189
188
|
return hub;
|
|
190
189
|
};
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvSU9UL0h1Yi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EseUNBQTZEO0FBQzdELHNFQUF3RDtBQUV4RCw4REFBOEQ7QUFvQzlELGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxFQUNMLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUNqQyxPQUFPLEVBQ1AsVUFBVSxFQUNWLFNBQVMsRUFDVCxTQUFTLEdBQ0gsRUFBRSxFQUFFO0lBQ1YsTUFBTSxPQUFPLEdBQUcsSUFBQSxzQkFBYSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sb0JBQW9CLEdBQUcsVUFBVSxDQUFDO0lBQ3hDLE1BQU0sb0JBQW9CLEdBQUcsVUFBVSxDQUFDO0lBQ3hDLE1BQU0sMEJBQTBCLEdBQUcsWUFBWSxDQUFDO0lBQ2hELE1BQU0sd0JBQXdCLEdBQUcsaUJBQWlCLENBQUM7SUFFbkQsTUFBTSxjQUFjLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztJQUMzQyxNQUFNLGdCQUFnQixHQUFHLElBQUksS0FBSyxFQUFpQyxDQUFDO0lBRXBFLElBQUksT0FBTyxFQUFFLGdCQUFnQixJQUFJLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxDQUFDO1FBQy9ELGNBQWMsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUNoRCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7WUFDcEIsSUFBSSxFQUFFLDBCQUEwQjtZQUNoQyxhQUFhLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtZQUN0QyxjQUFjLEVBQWQsdUJBQWM7WUFDZCxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsZ0JBQWdCO1lBQzFDLGFBQWEsRUFBRSxPQUFPLENBQUMsb0JBQW9CO1lBQzNDLFFBQVEsRUFBRSxNQUFNLEVB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
|
|
@@ -1,26 +1,21 @@
|
|
|
1
|
-
import { Input
|
|
1
|
+
import { Input } from '@pulumi/pulumi';
|
|
2
2
|
import { VaultSecretResource } from '@drunk-pulumi/azure-providers/VaultSecret';
|
|
3
|
-
import { KeyVaultInfo } from '../types';
|
|
4
|
-
interface Props {
|
|
5
|
-
name: string;
|
|
3
|
+
import { KeyVaultInfo, NamedBasicArgs, NamedWithVaultType } from '../types';
|
|
4
|
+
interface Props extends Required<NamedWithVaultType> {
|
|
6
5
|
/** The value of the secret. If Value is not provided the secret will be get from config*/
|
|
7
6
|
value?: Input<string>;
|
|
8
|
-
vaultInfo: KeyVaultInfo;
|
|
9
7
|
}
|
|
10
8
|
/**Add key vault secret from a value or from pulumi configuration secret. */
|
|
11
9
|
export declare const addVaultSecretFrom: ({ name, value, vaultInfo }: Props) => VaultSecretResource;
|
|
12
|
-
interface SecretProps {
|
|
13
|
-
name: string;
|
|
10
|
+
interface SecretProps extends NamedBasicArgs {
|
|
14
11
|
/**Use the name directly without applying naming format*/
|
|
15
12
|
formattedName?: boolean;
|
|
16
13
|
value: Input<string>;
|
|
17
14
|
vaultInfo: KeyVaultInfo;
|
|
18
15
|
contentType?: Input<string>;
|
|
19
|
-
ignoreChange?: boolean;
|
|
20
16
|
tags?: Input<{
|
|
21
17
|
[key: string]: string;
|
|
22
18
|
}>;
|
|
23
|
-
dependsOn?: Input<Resource> | Input<Input<Resource>[]>;
|
|
24
19
|
}
|
|
25
20
|
/** Add a secret to Key Vault. This will auto recover the deleted item and update with a new value if existed. */
|
|
26
21
|
export declare const addCustomSecret: ({ name, formattedName, vaultInfo, value, contentType, dependsOn, ...others }: SecretProps) => VaultSecretResource;
|
package/KeyVault/CustomHelper.js
CHANGED
|
@@ -5,7 +5,6 @@ const pulumi_1 = require("@pulumi/pulumi");
|
|
|
5
5
|
const Common_1 = require("../Common");
|
|
6
6
|
const VaultSecret_1 = require("@drunk-pulumi/azure-providers/VaultSecret");
|
|
7
7
|
const ConfigHelper_1 = require("../Common/ConfigHelper");
|
|
8
|
-
const Helpers_1 = require("../Common/Helpers");
|
|
9
8
|
/**Add key vault secret from a value or from pulumi configuration secret. */
|
|
10
9
|
const addVaultSecretFrom = ({ name, value, vaultInfo }) => {
|
|
11
10
|
if (!value)
|
|
@@ -24,8 +23,8 @@ exports.addVaultSecretFrom = addVaultSecretFrom;
|
|
|
24
23
|
const addCustomSecret = ({ name, formattedName, vaultInfo, value, contentType, dependsOn, ...others }) => {
|
|
25
24
|
const n = formattedName ? name : (0, Common_1.getSecretName)(name);
|
|
26
25
|
//This KeyVault Secret is not auto recovery the deleted one.
|
|
27
|
-
return new VaultSecret_1.VaultSecretResource((0,
|
|
28
|
-
name: (0,
|
|
26
|
+
return new VaultSecret_1.VaultSecretResource((0, Common_1.replaceAll)(name, '.', '-'), {
|
|
27
|
+
name: (0, Common_1.replaceAll)(n, '.', '-'),
|
|
29
28
|
value: value ? (0, pulumi_1.output)(value).apply((v) => v || '') : '',
|
|
30
29
|
vaultName: vaultInfo.name,
|
|
31
30
|
contentType: contentType || name,
|
|
@@ -36,4 +35,4 @@ exports.addCustomSecret = addCustomSecret;
|
|
|
36
35
|
/** Add multi secrets to Key Vault. This will auto recover the deleted item and update with a new value if existed. */
|
|
37
36
|
const addCustomSecrets = ({ items, ...others }) => items.map((i) => (0, exports.addCustomSecret)({ ...i, ...others }));
|
|
38
37
|
exports.addCustomSecrets = addCustomSecrets;
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VzdG9tSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0tleVZhdWx0L0N1c3RvbUhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBK0M7QUFDL0Msc0NBQXNEO0FBQ3RELDJFQUFnRjtBQUVoRix5REFBbUQ7QUFPbkQsNEVBQTRFO0FBQ3JFLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFTLEVBQUUsRUFBRTtJQUN0RSxJQUFJLENBQUMsS0FBSztRQUFFLEtBQUssR0FBRyxJQUFBLHdCQUFTLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsSUFBSSxDQUFDLEtBQUs7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixJQUFJLG1CQUFtQixDQUFDLENBQUM7SUFFdEUsT0FBTyxJQUFBLHVCQUFlLEVBQUM7UUFDckIsSUFBSTtRQUNKLEtBQUs7UUFDTCxTQUFTO1FBQ1QsV0FBVyxFQUFFLGtCQUFrQjtLQUNoQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFWVyxRQUFBLGtCQUFrQixzQkFVN0I7QUFhRixpSEFBaUg7QUFDMUcsTUFBTSxlQUFlLEdBQUcsQ0FBQyxFQUM5QixJQUFJLEVBQ0osYUFBYSxFQUNiLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxHQUFHLE1BQU0sRUFDRyxFQUFFLEVBQUU7SUFDaEIsTUFBTSxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUEsc0JBQWEsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCw0REFBNEQ7SUFDNUQsT0FBTyxJQUFJLGlDQUFtQixDQUM1QixJQUFBLG1CQUFVLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFDMUI7UUFDRSxJQUFJLEVBQUUsSUFBQSxtQkFBVSxFQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1FBQzdCLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUEsZUFBTSxFQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ3ZELFNBQVMsRUFBRSxTQUFTLENBQUMsSUFBSTtRQUN6QixXQUFXLEVBQUUsV0FBVyxJQUFJLElBQUk7UUFDaEMsR0FBRyxNQUFNO0tBQ1YsRUFDRCxFQUFFLFNBQVMsRUFBRSxDQUNkLENBQUM7QUFDSixDQUFDLENBQUM7QUF0QlcsUUFBQSxlQUFlLG1CQXNCMUI7QUFNRixzSEFBc0g7QUFDL0csTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxFQUFvQixFQUFFLEVBQUUsQ0FDekUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSx1QkFBZSxFQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFENUMsUUFBQSxnQkFBZ0Isb0JBQzRCIn0=
|
package/KeyVault/Helper.d.ts
CHANGED
|
@@ -1,31 +1,28 @@
|
|
|
1
1
|
import { Input, Output, Resource } from '@pulumi/pulumi';
|
|
2
|
-
import {
|
|
3
|
-
type SecretProps = {
|
|
4
|
-
name: string;
|
|
2
|
+
import { NamedWithVaultType } from '../types';
|
|
3
|
+
type SecretProps = Required<NamedWithVaultType> & {
|
|
5
4
|
value: Input<string>;
|
|
6
|
-
vaultInfo: KeyVaultInfo;
|
|
7
5
|
contentType?: Input<string>;
|
|
8
6
|
tags?: Input<{
|
|
9
7
|
[key: string]: Input<string>;
|
|
10
8
|
}>;
|
|
11
9
|
dependsOn?: Input<Resource> | Input<Input<Resource>[]>;
|
|
12
10
|
};
|
|
13
|
-
type GetVaultItemProps = {
|
|
14
|
-
name: string;
|
|
11
|
+
type GetVaultItemProps = Required<NamedWithVaultType> & {
|
|
15
12
|
version?: string;
|
|
16
|
-
vaultInfo: KeyVaultInfo;
|
|
17
13
|
nameFormatted?: boolean;
|
|
18
14
|
};
|
|
19
15
|
export declare const addKey: ({ name, vaultInfo, tags, dependsOn, }: Omit<SecretProps, "value" | "contentType">) => import("@pulumi/azure-native/keyvault/key").Key;
|
|
20
|
-
/** Get Key */
|
|
21
|
-
export declare const getKey: ({ name, version, vaultInfo, nameFormatted, }: GetVaultItemProps) => Promise<import("@azure/keyvault-keys").KeyVaultKey | undefined>;
|
|
22
16
|
interface KeyVaultPropertiesResults {
|
|
23
|
-
keyName: string
|
|
24
|
-
url: string
|
|
17
|
+
keyName: Output<string>;
|
|
18
|
+
url: Output<string>;
|
|
25
19
|
keyVaultUri: string;
|
|
26
|
-
keyVersion
|
|
20
|
+
keyVersion: Output<string>;
|
|
27
21
|
}
|
|
28
|
-
export declare const
|
|
22
|
+
export declare const addEncryptKey: (props: Omit<SecretProps, "value" | "contentType">) => KeyVaultPropertiesResults;
|
|
23
|
+
/** Get Key */
|
|
24
|
+
export declare const getKey: ({ name, version, vaultInfo, nameFormatted, }: GetVaultItemProps) => Promise<import("@azure/keyvault-keys").KeyVaultKey | undefined>;
|
|
25
|
+
/** Get or create encryption Key */
|
|
29
26
|
/** Get Secret */
|
|
30
27
|
export declare const getSecret: ({ name, version, vaultInfo, nameFormatted, }: GetVaultItemProps) => Promise<import("@azure/keyvault-secrets").KeyVaultSecret | undefined>;
|
|
31
28
|
interface KeyResult {
|