@drunk-pulumi/azure 0.0.26 → 0.0.28
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 -4
- package/AzAd/EnvRoles.d.ts +4 -2
- package/AzAd/EnvRoles.js +17 -15
- package/AzAd/Group.d.ts +3 -3
- package/Certificate/index.d.ts +8 -8
- package/Common/AutoTags.js +3 -2
- package/Logs/Helpers.d.ts +2 -2
- package/ReadMe.md +12 -5
- package/Storage/Helper.d.ts +1 -1
- package/Storage/ManagementRules.d.ts +1 -1
- package/package.json +6 -6
package/Aks/Helper.d.ts
CHANGED
|
@@ -3,15 +3,15 @@ import { KeyVaultInfo } from '../types';
|
|
|
3
3
|
export declare const getAksConfig: ({ name, groupName, formattedName, localAccountDisabled, }: {
|
|
4
4
|
name: string;
|
|
5
5
|
groupName: string;
|
|
6
|
-
formattedName?: boolean
|
|
7
|
-
localAccountDisabled?: boolean
|
|
6
|
+
formattedName?: boolean;
|
|
7
|
+
localAccountDisabled?: boolean;
|
|
8
8
|
}) => Promise<string>;
|
|
9
9
|
/** Get AKS Config from Key Vault*/
|
|
10
10
|
export declare const getAksVaultConfig: ({ name, version, vaultInfo, formattedName, }: {
|
|
11
11
|
name: string;
|
|
12
|
-
version?: string
|
|
12
|
+
version?: string;
|
|
13
13
|
vaultInfo: KeyVaultInfo;
|
|
14
|
-
formattedName?: boolean
|
|
14
|
+
formattedName?: boolean;
|
|
15
15
|
}) => Promise<string>;
|
|
16
16
|
export declare const getAksIdentitySecrets: ({ name, vaultInfo, }: {
|
|
17
17
|
name: string;
|
package/AzAd/EnvRoles.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RoleNameType } from
|
|
1
|
+
import { RoleNameType } from './Role';
|
|
2
2
|
declare const envRoleConfig: {
|
|
3
3
|
readOnly: RoleNameType;
|
|
4
4
|
contributor: RoleNameType;
|
|
@@ -8,7 +8,9 @@ export type EnvRoleNamesType = {
|
|
|
8
8
|
[k in keyof typeof envRoleConfig]: string;
|
|
9
9
|
};
|
|
10
10
|
export declare const getEnvRoleNames: () => EnvRoleNamesType;
|
|
11
|
-
export declare const createEnvRoles: (
|
|
11
|
+
export declare const createEnvRoles: ({ addAdoIdentityMember, }: {
|
|
12
|
+
addAdoIdentityMember?: boolean;
|
|
13
|
+
}) => {
|
|
12
14
|
adminGroup: import("@pulumi/pulumi").Output<import("@pulumi/azuread/group").Group>;
|
|
13
15
|
contributorGroup: import("@pulumi/pulumi").Output<import("@pulumi/azuread/group").Group>;
|
|
14
16
|
readOnlyGroup: import("@pulumi/pulumi").Output<import("@pulumi/azuread/group").Group>;
|
package/AzAd/EnvRoles.js
CHANGED
|
@@ -8,18 +8,18 @@ const Group_1 = require("./Group");
|
|
|
8
8
|
const envRoleConfig = {
|
|
9
9
|
readOnly: {
|
|
10
10
|
env: AzureEnv_1.currentEnv,
|
|
11
|
-
roleName:
|
|
12
|
-
appName:
|
|
11
|
+
roleName: 'Readonly',
|
|
12
|
+
appName: 'Azure',
|
|
13
13
|
},
|
|
14
14
|
contributor: {
|
|
15
15
|
env: AzureEnv_1.currentEnv,
|
|
16
|
-
roleName:
|
|
17
|
-
appName:
|
|
16
|
+
roleName: 'Contributor',
|
|
17
|
+
appName: 'Azure',
|
|
18
18
|
},
|
|
19
19
|
admin: {
|
|
20
20
|
env: AzureEnv_1.currentEnv,
|
|
21
|
-
roleName:
|
|
22
|
-
appName:
|
|
21
|
+
roleName: 'Admin',
|
|
22
|
+
appName: 'Azure',
|
|
23
23
|
},
|
|
24
24
|
};
|
|
25
25
|
const getEnvRoleNames = () => ({
|
|
@@ -30,7 +30,7 @@ const getEnvRoleNames = () => ({
|
|
|
30
30
|
admin: (0, Role_1.getRoleName)({ ...envRoleConfig.admin }),
|
|
31
31
|
});
|
|
32
32
|
exports.getEnvRoleNames = getEnvRoleNames;
|
|
33
|
-
const createEnvRoles = () => {
|
|
33
|
+
const createEnvRoles = ({ addAdoIdentityMember = true, }) => {
|
|
34
34
|
//Admin
|
|
35
35
|
const adminGroup = (0, Role_1.default)({
|
|
36
36
|
...envRoleConfig.admin,
|
|
@@ -48,14 +48,16 @@ const createEnvRoles = () => {
|
|
|
48
48
|
//permissions: [{ roleName: 'Reader', scope: defaultScope }],
|
|
49
49
|
members: [contributorGroup.objectId],
|
|
50
50
|
});
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
51
|
+
if (addAdoIdentityMember) {
|
|
52
|
+
//Add Global ADO Identity as Admin
|
|
53
|
+
const ado = (0, AzDevOps_1.getAdoIdentity)();
|
|
54
|
+
(0, Group_1.addMemberToGroup)({
|
|
55
|
+
name: 'ado-admin-role',
|
|
56
|
+
groupObjectId: adminGroup.objectId,
|
|
57
|
+
objectId: ado.principal.objectId,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
58
60
|
return { adminGroup, contributorGroup, readOnlyGroup };
|
|
59
61
|
};
|
|
60
62
|
exports.createEnvRoles = createEnvRoles;
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW52Um9sZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQXpBZC9FbnZSb2xlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBZ0Q7QUFDaEQsaUNBQXlEO0FBQ3pELG9EQUF1RDtBQUN2RCxtQ0FBMkM7QUFFM0MsTUFBTSxhQUFhLEdBQUc7SUFDcEIsUUFBUSxFQUFFO1FBQ1IsR0FBRyxFQUFFLHFCQUFVO1FBQ2YsUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLE9BQU87S0FDRDtJQUNqQixXQUFXLEVBQUU7UUFDWCxHQUFHLEVBQUUscUJBQVU7UUFDZixRQUFRLEVBQUUsYUFBYTtRQUN2QixPQUFPLEVBQUUsT0FBTztLQUNEO0lBQ2pCLEtBQUssRUFBRTtRQUNMLEdBQUcsRUFBRSxxQkFBVTtRQUNmLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLE9BQU8sRUFBRSxPQUFPO0tBQ0Q7Q0FDbEIsQ0FBQztBQUlLLE1BQU0sZUFBZSxHQUFHLEdBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELFFBQVEsRUFBRSxJQUFBLGtCQUFXLEVBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwRCxXQUFXLEVBQUUsSUFBQSxrQkFBVyxFQUFDO1FBQ3ZCLEdBQUcsYUFBYSxDQUFDLFdBQVc7S0FDN0IsQ0FBQztJQUNGLEtBQUssRUFBRSxJQUFBLGtCQUFXLEVBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztDQUMvQyxDQUFDLENBQUM7QUFOVSxRQUFBLGVBQWUsbUJBTXpCO0FBRUksTUFBTSxjQUFjLEdBQUcsQ0FBQyxFQUM3QixvQkFBb0IsR0FBRyxJQUFJLEdBRzVCLEVBQUUsRUFBRTtJQUNILE9BQU87SUFDUCxNQUFNLFVBQVUsR0FBRyxJQUFBLGNBQUksRUFBQztRQUN0QixHQUFHLGFBQWEsQ0FBQyxLQUFLO1FBQ3RCLDZEQUE2RDtLQUM5RCxDQUFDLENBQUM7SUFFSCxhQUFhO0lBQ2IsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLGNBQUksRUFBQztRQUM1QixHQUFHLGFBQWEsQ0FBQyxXQUFXO1FBQzVCLDZEQUE2RDtRQUM3RCxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO0tBQy9CLENBQUMsQ0FBQztJQUVILFVBQVU7SUFDVixNQUFNLGFBQWEsR0FBRyxJQUFBLGNBQUksRUFBQztRQUN6QixHQUFHLGFBQWEsQ0FBQyxRQUFRO1FBQ3pCLDZEQUE2RDtRQUM3RCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7S0FDckMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQ3pCLGtDQUFrQztRQUNsQyxNQUFNLEdBQUcsR0FBRyxJQUFBLHlCQUFjLEdBQUUsQ0FBQztRQUM3QixJQUFBLHdCQUFnQixFQUFDO1lBQ2YsSUFBSSxFQUFFLGdCQUFnQjtZQUN0QixhQUFhLEVBQUUsVUFBVSxDQUFDLFFBQVE7WUFDbEMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUTtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsQ0FBQztBQUN6RCxDQUFDLENBQUM7QUFwQ1csUUFBQSxjQUFjLGtCQW9DekIifQ==
|
package/AzAd/Group.d.ts
CHANGED
|
@@ -17,13 +17,13 @@ export default _default;
|
|
|
17
17
|
export declare const getAdGroup: (displayName: string) => Output<import("@pulumi/pulumi").UnwrappedObject<azuread.GetGroupResult>>;
|
|
18
18
|
export declare const addMemberToGroup: ({ name, userName, objectId, groupObjectId, }: {
|
|
19
19
|
name: string;
|
|
20
|
-
userName?: string
|
|
21
|
-
objectId?: Input<string
|
|
20
|
+
userName?: string;
|
|
21
|
+
objectId?: Input<string>;
|
|
22
22
|
groupObjectId: Input<string>;
|
|
23
23
|
}) => import("@pulumi/azuread/groupMember").GroupMember;
|
|
24
24
|
export declare const addGroupToGroup: (groupMemberName: string, groupObjectId: Output<string>) => Output<import("@pulumi/azuread/groupMember").GroupMember>;
|
|
25
25
|
export declare const assignRolesToGroup: ({ roles, groupName, scope, }: {
|
|
26
26
|
groupName: string;
|
|
27
27
|
roles: Array<string>;
|
|
28
|
-
scope?: Input<string
|
|
28
|
+
scope?: Input<string>;
|
|
29
29
|
}) => Output<() => Promise<import("@pulumi/azure-native/authorization/roleAssignment").RoleAssignment[]>>;
|
package/Certificate/index.d.ts
CHANGED
|
@@ -5,9 +5,9 @@ export declare const createSelfSignCertV2: ({ dnsName, commonName, organization,
|
|
|
5
5
|
dnsName: string;
|
|
6
6
|
commonName: string;
|
|
7
7
|
organization: string;
|
|
8
|
-
allowedUses?: string[]
|
|
9
|
-
validYears?: number
|
|
10
|
-
vaultInfo?: KeyVaultInfo
|
|
8
|
+
allowedUses?: string[];
|
|
9
|
+
validYears?: number;
|
|
10
|
+
vaultInfo?: KeyVaultInfo;
|
|
11
11
|
}) => {
|
|
12
12
|
cert: import("@pulumi/pulumi").Output<string>;
|
|
13
13
|
privateKey: import("@pulumi/pulumi").Output<string>;
|
|
@@ -17,9 +17,9 @@ export declare const createSelfSignCert: ({ dnsName, commonName, organization, a
|
|
|
17
17
|
dnsName: string;
|
|
18
18
|
commonName: string;
|
|
19
19
|
organization: string;
|
|
20
|
-
allowedUses?: string[]
|
|
21
|
-
validYears?: number
|
|
22
|
-
vaultInfo?: KeyVaultInfo
|
|
20
|
+
allowedUses?: string[];
|
|
21
|
+
validYears?: number;
|
|
22
|
+
vaultInfo?: KeyVaultInfo;
|
|
23
23
|
}) => {
|
|
24
24
|
cert: import("@pulumi/pulumi").Output<string>;
|
|
25
25
|
privateKey: import("@pulumi/pulumi").Output<string>;
|
|
@@ -27,14 +27,14 @@ export declare const createSelfSignCert: ({ dnsName, commonName, organization, a
|
|
|
27
27
|
};
|
|
28
28
|
export declare const convertPfxFileToPem: ({ certPath, password, }: {
|
|
29
29
|
certPath: string;
|
|
30
|
-
password?: string
|
|
30
|
+
password?: string;
|
|
31
31
|
}) => Promise<{
|
|
32
32
|
cert: string;
|
|
33
33
|
privateKey: string;
|
|
34
34
|
}>;
|
|
35
35
|
export declare const convertPfxToPem: ({ base64Cert, password, }: {
|
|
36
36
|
base64Cert: string;
|
|
37
|
-
password?: string
|
|
37
|
+
password?: string;
|
|
38
38
|
}) => {
|
|
39
39
|
cert: string;
|
|
40
40
|
privateKey: string;
|
package/Common/AutoTags.js
CHANGED
|
@@ -15,7 +15,8 @@ const ignoredTags = [
|
|
|
15
15
|
function registerAutoTags(autoTags) {
|
|
16
16
|
pulumi_1.runtime.registerStackTransformation((args) => {
|
|
17
17
|
//Check and ignore tag
|
|
18
|
-
if (
|
|
18
|
+
if (!args.type.includes('ResourceGroup') &&
|
|
19
|
+
ignoredTags.find((t) => args.type.includes(t)))
|
|
19
20
|
return { props: args.props, opts: args.opts };
|
|
20
21
|
//Apply default tag
|
|
21
22
|
args.props['tags'] = { ...args.props['tags'], ...autoTags };
|
|
@@ -23,4 +24,4 @@ function registerAutoTags(autoTags) {
|
|
|
23
24
|
});
|
|
24
25
|
}
|
|
25
26
|
exports.registerAutoTags = registerAutoTags;
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0b1RhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29tbW9uL0F1dG9UYWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUF5QztBQUV6QyxNQUFNLFdBQVcsR0FBRztJQUNsQixPQUFPO0lBQ1AsYUFBYTtJQUNiLGFBQWE7SUFDYixxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLDBCQUEwQjtJQUMxQixZQUFZO0lBQ1osWUFBWTtDQUNiLENBQUM7QUFFRixTQUFnQixnQkFBZ0IsQ0FBQyxRQUFnQztJQUMvRCxnQkFBTyxDQUFDLDJCQUEyQixDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDM0Msc0JBQXNCO1FBQ3RCLElBQ0UsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7WUFDcEMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFaEQsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxRQUFRLEVBQUUsQ0FBQztRQUM1RCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoRCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFiRCw0Q0FhQyJ9
|
package/Logs/Helpers.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export declare const getLogWpSecretsById: ({ logWpId, vaultInfo, }: {
|
|
|
27
27
|
} | undefined>;
|
|
28
28
|
export declare const getLogWpInfo: ({ logWpName, vaultInfo, }: {
|
|
29
29
|
logWpName: string;
|
|
30
|
-
vaultInfo?: KeyVaultInfo
|
|
30
|
+
vaultInfo?: KeyVaultInfo;
|
|
31
31
|
}) => Promise<{
|
|
32
32
|
name: string;
|
|
33
33
|
group: import("../types").ResourceGroupInfo;
|
|
@@ -40,7 +40,7 @@ export declare const getLogWpInfo: ({ logWpName, vaultInfo, }: {
|
|
|
40
40
|
}>;
|
|
41
41
|
export declare const getLogStorageInfo: ({ storageName, vaultInfo, }: {
|
|
42
42
|
storageName: string;
|
|
43
|
-
vaultInfo?: KeyVaultInfo
|
|
43
|
+
vaultInfo?: KeyVaultInfo;
|
|
44
44
|
}) => Promise<{
|
|
45
45
|
name: string;
|
|
46
46
|
group: import("../types").ResourceGroupInfo;
|
package/ReadMe.md
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
# HBD.Pulumi.Share
|
|
2
|
+
|
|
2
3
|
The common share component for Pulumi projects
|
|
3
4
|
|
|
4
5
|
## How to use me?
|
|
5
|
-
|
|
6
|
+
|
|
7
|
+
1. Clone me from https://github.com/baoduy/HBD.Pulumi.Share into a folder named "".
|
|
6
8
|
2. Create a pulumi account and link to the environment.
|
|
7
|
-
3. Create a "_Config" folder to store your custom configuration.
|
|
9
|
+
3. Create a "\_Config" folder to store your custom configuration.
|
|
8
10
|
|
|
9
11
|
## How to config Organization Name
|
|
12
|
+
|
|
10
13
|
You should add the Organization code to the name of some resources and resource groups to ensure that their name is identical and dedicated to your projects.
|
|
11
14
|
There are two ways to config your organization code.
|
|
12
15
|
|
|
@@ -14,23 +17,27 @@ There are two ways to config your organization code.
|
|
|
14
17
|
2. The organization will be retrieved directly from the Pulumi portal.
|
|
15
18
|
|
|
16
19
|
## Private Link Dns Name
|
|
20
|
+
|
|
17
21
|
https://docs.microsoft.com/en-us/azure/private-link/private-endpoint-dns
|
|
18
22
|
|
|
19
23
|
## Azure Resources Support Zone Redundant
|
|
24
|
+
|
|
20
25
|
https://learn.microsoft.com/en-us/azure/reliability/availability-zones-service-support
|
|
21
26
|
|
|
22
27
|
## Upgrading Issues
|
|
23
|
-
Azure AD Application: https://github.com/pulumi/pulumi-azuread/issues/185#issuecomment-982414862
|
|
24
28
|
|
|
29
|
+
Azure AD Application: https://github.com/pulumi/pulumi-azuread/issues/185#issuecomment-982414862
|
|
25
30
|
|
|
26
31
|
## Config Azure Resources
|
|
27
32
|
|
|
28
33
|
- Set Organization
|
|
29
|
-
pulumi org set-default
|
|
34
|
+
pulumi org set-default
|
|
30
35
|
|
|
31
36
|
$ pulumi config set azure-native:clientId <clientID>
|
|
32
37
|
$ pulumi config set azure-native:clientSecret <clientSecret> --secret
|
|
33
38
|
$ pulumi config set azure-native:tenantId <tenantID>
|
|
34
39
|
$ pulumi config set azure-native:subscriptionId <subscriptionId>
|
|
40
|
+
|
|
35
41
|
# optional default location, otherwise set in code
|
|
36
|
-
|
|
42
|
+
|
|
43
|
+
$ pulumi config set azure-native:location SoutheastAsia
|
package/Storage/Helper.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export type StorageConnectionInfo = {
|
|
|
15
15
|
};
|
|
16
16
|
export declare const getStorageSecrets: ({ name, nameFormatted, vaultInfo, }: {
|
|
17
17
|
name: string;
|
|
18
|
-
nameFormatted?: boolean
|
|
18
|
+
nameFormatted?: boolean;
|
|
19
19
|
vaultInfo: KeyVaultInfo;
|
|
20
20
|
}) => Promise<StorageConnectionInfo>;
|
|
21
21
|
export declare const getStorageSecretsById: ({ storageId, vaultInfo, }: {
|
|
@@ -64,7 +64,7 @@ export declare const createManagementRules: ({ name, storageAccount, group, rule
|
|
|
64
64
|
name: string;
|
|
65
65
|
group: ResourceGroupInfo;
|
|
66
66
|
storageAccount: storage.StorageAccount;
|
|
67
|
-
containerNames?: pulumi.Input<string>[]
|
|
67
|
+
containerNames?: pulumi.Input<string>[];
|
|
68
68
|
rules: Array<ManagementRules | DefaultManagementRules>;
|
|
69
69
|
}) => import("@pulumi/azure-native/storage/managementPolicy").ManagementPolicy;
|
|
70
70
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@drunk-pulumi/azure",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.28",
|
|
4
4
|
"author": "drunkcoding@outlook.com",
|
|
5
5
|
"description": "The custom helpers pulumi-azure",
|
|
6
6
|
"license": "MIT",
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@drunk-pulumi/azure-providers": "^0.0.6",
|
|
21
|
-
"@pulumi/azure-native": "^2.
|
|
22
|
-
"@pulumi/azuread": "5.
|
|
23
|
-
"@pulumi/pulumi": "^3.
|
|
24
|
-
"@pulumi/random": "^4.16.
|
|
25
|
-
"@pulumi/tls": "^5.0.
|
|
21
|
+
"@pulumi/azure-native": "^2.37.0",
|
|
22
|
+
"@pulumi/azuread": "5.48.0",
|
|
23
|
+
"@pulumi/pulumi": "^3.113.0",
|
|
24
|
+
"@pulumi/random": "^4.16.1",
|
|
25
|
+
"@pulumi/tls": "^5.0.2",
|
|
26
26
|
"axios": "^1.6.8",
|
|
27
27
|
"netmask": "^2.0.2",
|
|
28
28
|
"node-forge": "^1.3.1",
|