@drunk-pulumi/azure 1.0.6 → 1.0.8
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 -3
- package/Aks/Helper.js +2 -3
- package/Aks/Identity.js +17 -17
- package/Aks/index.d.ts +13 -15
- package/Aks/index.js +63 -64
- package/Automation/index.d.ts +4 -4
- package/Automation/index.js +13 -9
- package/AzAd/EnvRoles.d.ts +0 -5
- package/AzAd/EnvRoles.js +3 -4
- package/AzAd/Group.d.ts +4 -4
- package/AzAd/Group.js +14 -5
- package/AzAd/Helper.d.ts +3 -8
- package/AzAd/Helper.js +67 -51
- package/AzAd/Identities/AzDevOpsManagedIdentity.d.ts +3 -3
- package/AzAd/Identities/AzDevOpsManagedIdentity.js +4 -4
- package/AzAd/Identities/AzUserAdRevertSync.d.ts +2 -2
- package/AzAd/Identities/EnvUID.d.ts +4 -0
- package/AzAd/Identities/EnvUID.js +21 -0
- package/AzAd/Identities/index.d.ts +1 -1
- package/AzAd/Identities/index.js +3 -3
- package/AzAd/Identity.d.ts +2 -2
- package/AzAd/Identity.js +3 -8
- package/AzAd/RoleAssignment.d.ts +2 -2
- package/AzAd/UserAssignedIdentity.d.ts +4 -3
- package/AzAd/UserAssignedIdentity.js +10 -13
- package/Builder/AksBuilder.d.ts +2 -2
- package/Builder/AksBuilder.js +14 -7
- package/Builder/ApimBuilder.js +8 -10
- package/Builder/CdnBuilder.d.ts +2 -2
- package/Builder/CdnBuilder.js +1 -1
- package/Builder/PrivateDnsZoneBuilder.js +4 -5
- package/Builder/ResourceBuilder.d.ts +2 -2
- package/Builder/ResourceBuilder.js +42 -5
- package/Builder/SqlBuilder.d.ts +2 -2
- package/Builder/SqlBuilder.js +9 -10
- package/Builder/VaultBuilder.d.ts +2 -3
- package/Builder/VaultBuilder.js +16 -15
- package/Builder/VmBuilder.d.ts +2 -2
- package/Builder/VmBuilder.js +12 -3
- package/Builder/VnetBuilder.d.ts +2 -2
- package/Builder/VnetBuilder.js +100 -53
- package/Builder/types/apimBuilder.d.ts +8 -9
- package/Builder/types/apimPolicyBuilder.d.ts +3 -3
- package/Builder/types/apimProductBuilder.d.ts +2 -2
- package/Builder/types/askBuilder.d.ts +8 -3
- package/Builder/types/envRoleBuilder.d.ts +2 -2
- package/Builder/types/genericBuilder.d.ts +2 -8
- package/Builder/types/genericBuilder.js +1 -1
- package/Builder/types/resourceBuilder.d.ts +12 -6
- package/Builder/types/sqlBuilder.d.ts +4 -5
- package/Builder/types/vaultBuilder.d.ts +4 -3
- package/Builder/types/vmBuilder.d.ts +6 -2
- package/Builder/types/vnetBuilder.d.ts +13 -12
- package/Cdn/CdnEndpoint.d.ts +1 -1
- package/Cdn/CdnEndpoint.js +2 -3
- package/Common/AzureEnv.d.ts +0 -7
- package/Common/AzureEnv.js +2 -44
- package/Common/GlobalEnv.d.ts +1 -3
- package/Common/GlobalEnv.js +19 -21
- package/Common/Helpers.d.ts +0 -1
- package/Common/Helpers.js +29 -29
- package/Common/Naming.d.ts +68 -0
- package/Common/Naming.js +189 -0
- package/Common/RsInfo/Helper.d.ts +4 -0
- package/Common/RsInfo/Helper.js +46 -0
- package/Common/RsInfo/index.d.ts +31 -0
- package/Common/RsInfo/index.js +245 -0
- package/Common/index.d.ts +3 -0
- package/Common/index.js +5 -2
- package/ContainerRegistry/Helper.d.ts +2 -9
- package/ContainerRegistry/Helper.js +36 -31
- package/Core/KeyGenerators.js +2 -2
- package/Core/Locker.d.ts +6 -4
- package/Core/Locker.js +23 -2
- package/Core/Random.d.ts +2 -2
- package/Core/Random.js +2 -1
- package/Core/ResourceCreator.js +3 -6
- package/CosmosDb/index.d.ts +3 -3
- package/CosmosDb/index.js +14 -14
- package/IOT/Hub/index.js +2 -1
- package/KeyVault/CustomHelper.d.ts +4 -3
- package/KeyVault/CustomHelper.js +3 -2
- package/KeyVault/Helper.d.ts +5 -1
- package/KeyVault/Helper.js +13 -2
- package/KeyVault/index.d.ts +1 -6
- package/KeyVault/index.js +19 -14
- package/Logs/AppInsight.js +3 -1
- package/Logs/Helpers.d.ts +5 -54
- package/Logs/Helpers.js +41 -64
- package/Logs/LogAnalytics.d.ts +5 -11
- package/Logs/LogAnalytics.js +11 -11
- package/Logs/WebTest.d.ts +2 -2
- package/Logs/WebTest.js +13 -13
- package/Logs/index.d.ts +7 -22
- package/Logs/index.js +33 -52
- package/Postgresql/index.js +3 -3
- package/ServiceBus/index.d.ts +4 -5
- package/ServiceBus/index.js +10 -8
- package/Sql/Helper.js +4 -4
- package/Sql/SqlDb.js +3 -6
- package/Sql/index.d.ts +2 -5
- package/Sql/index.js +12 -21
- package/Storage/Helper.d.ts +2 -28
- package/Storage/Helper.js +58 -77
- package/Storage/index.d.ts +2 -2
- package/Storage/index.js +7 -6
- package/VM/DiskEncryptionSet.d.ts +4 -6
- package/VM/DiskEncryptionSet.js +18 -6
- package/VM/index.d.ts +3 -3
- package/VM/index.js +37 -13
- package/VNet/Firewall.d.ts +8 -6
- package/VNet/Firewall.js +25 -28
- package/VNet/FirewallPolicies/CloudPCFirewallPolicy.js +2 -2
- package/VNet/Helper.d.ts +3 -20
- package/VNet/Helper.js +6 -49
- package/VNet/IpAddress.js +3 -6
- package/VNet/IpAddressPrefix.d.ts +2 -2
- package/VNet/IpAddressPrefix.js +3 -3
- package/VNet/NSGRules/BlockInternetSecurityRule.d.ts +3 -0
- package/VNet/NSGRules/BlockInternetSecurityRule.js +34 -0
- package/VNet/NSGRules/index.d.ts +5 -4
- package/VNet/NSGRules/index.js +4 -2
- package/VNet/NetworkPeering.d.ts +18 -6
- package/VNet/NetworkPeering.js +43 -27
- package/VNet/PrivateEndpoint.js +2 -2
- package/VNet/RuoteRules/RuoteTo.d.ts +4 -0
- package/VNet/RuoteRules/RuoteTo.js +4 -0
- package/VNet/VirtualWAN.js +2 -2
- package/VNet/types.d.ts +3 -8
- package/Web/AppConfig.js +2 -1
- package/package.json +4 -5
- package/types.d.ts +85 -30
- package/Aks/VmSetAutoScale/index.d.ts +0 -14
- package/Aks/VmSetAutoScale/index.js +0 -155
- package/Aks/VmSetMonitor/index.d.ts +0 -10
- package/Aks/VmSetMonitor/index.js +0 -90
- package/Apim/Helpers.d.ts +0 -2
- package/Apim/Helpers.js +0 -18
- package/AzAd/Identities/GlobalUserAssignedIdentity.d.ts +0 -4
- package/AzAd/Identities/GlobalUserAssignedIdentity.js +0 -19
- package/Common/Naming/index.d.ts +0 -67
- package/Common/Naming/index.js +0 -161
- package/Core/Helper.d.ts +0 -18
- package/Core/Helper.js +0 -42
- package/VNet/index.d.ts +0 -65
- package/VNet/index.js +0 -220
- package/Web/Helpers.d.ts +0 -6
- package/Web/Helpers.js +0 -59
package/Aks/Helper.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { KeyVaultInfo, ResourceInfo,
|
|
1
|
+
import { KeyVaultInfo, ResourceInfo, WithNamedType } from '../types';
|
|
2
2
|
import { Output } from '@pulumi/pulumi';
|
|
3
3
|
/** Get AKS Config from Managed Cluster*/
|
|
4
|
-
export declare const getAksConfig: ({ name, groupName, formattedName, disableLocalAccounts, }:
|
|
4
|
+
export declare const getAksConfig: ({ name, groupName, formattedName, disableLocalAccounts, }: WithNamedType & {
|
|
5
5
|
groupName: string;
|
|
6
6
|
formattedName?: boolean;
|
|
7
7
|
disableLocalAccounts?: boolean;
|
|
8
8
|
}) => Promise<string>;
|
|
9
9
|
/** Get AKS Config from Key Vault*/
|
|
10
|
-
export declare const getAksVaultConfig: ({ name, version, vaultInfo, formattedName, }:
|
|
10
|
+
export declare const getAksVaultConfig: ({ name, version, vaultInfo, formattedName, }: WithNamedType & {
|
|
11
11
|
version?: string;
|
|
12
12
|
vaultInfo: KeyVaultInfo;
|
|
13
13
|
formattedName?: boolean;
|
package/Aks/Helper.js
CHANGED
|
@@ -29,7 +29,6 @@ const Common_1 = require("../Common");
|
|
|
29
29
|
const GlobalEnv_1 = require("../Common/GlobalEnv");
|
|
30
30
|
const Helper_1 = require("../KeyVault/Helper");
|
|
31
31
|
const pulumi_1 = require("@pulumi/pulumi");
|
|
32
|
-
const AzureEnv_1 = require("../Common/AzureEnv");
|
|
33
32
|
/** Get AKS Config from Managed Cluster*/
|
|
34
33
|
const getAksConfig = async ({ name, groupName, formattedName, disableLocalAccounts, }) => {
|
|
35
34
|
const aksName = formattedName ? name : (0, Common_1.getAksName)(name);
|
|
@@ -71,9 +70,9 @@ const getAksPrivateDnz = (aksInfo) => {
|
|
|
71
70
|
return {
|
|
72
71
|
name: dnsName,
|
|
73
72
|
group: { resourceGroupName: rsGroup, location: GlobalEnv_1.globalKeyName },
|
|
74
|
-
id: (0, pulumi_1.interpolate)
|
|
73
|
+
id: (0, pulumi_1.interpolate) `${Common_1.defaultSubScope}/resourceGroups/${rsGroup}/providers/Microsoft.Network/privateDnsZones/${dnsName}`,
|
|
75
74
|
};
|
|
76
75
|
});
|
|
77
76
|
};
|
|
78
77
|
exports.getAksPrivateDnz = getAksPrivateDnz;
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Frcy9IZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwRUFBNEQ7QUFDNUQsc0NBQThFO0FBQzlFLG1EQUFvRDtBQUVwRCwrQ0FBK0M7QUFDL0MsMkNBQXFEO0FBR3JELHlDQUF5QztBQUNsQyxNQUFNLFlBQVksR0FBRyxLQUFLLEVBQUUsRUFDakMsSUFBSSxFQUNKLFNBQVMsRUFDVCxhQUFhLEVBQ2Isb0JBQW9CLEdBS3JCLEVBQW1CLEVBQUU7SUFDcEIsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUEsbUJBQVUsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBQSw2QkFBb0IsRUFBQyxTQUFTLENBQUMsQ0FBQztJQUUxRSxNQUFNLEdBQUcsR0FBRyxvQkFBb0I7UUFDOUIsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLGlDQUFpQyxDQUFDO1lBQ3pDLFlBQVksRUFBRSxPQUFPO1lBQ3JCLGlCQUFpQixFQUFFLEtBQUs7U0FDekIsQ0FBQztRQUNKLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztZQUMxQyxZQUFZLEVBQUUsT0FBTztZQUNyQixpQkFBaUIsRUFBRSxLQUFLO1NBQ3pCLENBQUMsQ0FBQztJQUVQLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDMUUsQ0FBQyxDQUFDO0FBeEJXLFFBQUEsWUFBWSxnQkF3QnZCO0FBRUYsbUNBQW1DO0FBQzVCLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxFQUFFLEVBQ3RDLElBQUksRUFDSixPQUFPLEVBQ1AsU0FBUyxFQUNULGFBQWEsR0FLZCxFQUFtQixFQUFFO0lBQ3BCLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFBLG1CQUFVLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEQsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLGtCQUFTLEVBQUM7UUFDekIsSUFBSSxFQUFFLEdBQUcsT0FBTyxTQUFTO1FBQ3pCLE9BQU87UUFDUCxTQUFTO1FBQ1QsYUFBYSxFQUFFLEtBQUs7S0FDckIsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztBQUN6QixDQUFDLENBQUM7QUFsQlcsUUFBQSxpQkFBaUIscUJBa0I1QjtBQUVLLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDOUIsT0FBcUIsRUFDYSxFQUFFO0lBQ3BDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztRQUNyQyxZQUFZLEVBQUUsT0FBTyxDQUFDLElBQUk7UUFDMUIsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQkFBaUI7S0FDbkQsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDckIsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDckMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1RCxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsaUJBQWtCLENBQUM7UUFFckMsT0FBTztZQUNMLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSx5QkFBYSxFQUFFO1lBQzlELEVBQUUsRUFBRSxJQUFBLG9CQUFXLEVBQUEsR0FBRyx3QkFBZSxtQkFBbUIsT0FBTyxnREFBZ0QsT0FBTyxFQUFFO1NBQ3JHLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFuQlcsUUFBQSxnQkFBZ0Isb0JBbUIzQiJ9
|
package/Aks/Identity.js
CHANGED
|
@@ -3,34 +3,34 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const GraphDefinition_1 = require("../AzAd/GraphDefinition");
|
|
7
6
|
const Identity_1 = __importDefault(require("../AzAd/Identity"));
|
|
8
|
-
const RoleAssignment_1 = require("../AzAd/RoleAssignment");
|
|
9
|
-
const Common_1 = require("../Common");
|
|
10
7
|
//** The AzAD app Identity for Azure Kubernetes for RBAC */
|
|
11
8
|
exports.default = ({ name, vaultInfo, dependsOn }) => {
|
|
12
9
|
//AKS need this permission for AAD integration
|
|
13
|
-
const graphAccess =
|
|
14
|
-
//{ name: '
|
|
15
|
-
{ name: '
|
|
10
|
+
// const graphAccess = getGraphPermissions(
|
|
11
|
+
// { name: 'User.Read', type: 'Scope' },
|
|
12
|
+
// { name: 'Group.Read.All', type: 'Scope' },
|
|
13
|
+
// //{ name: 'Directory.Read.All', type: 'Scope' },
|
|
14
|
+
// { name: 'Directory.Read.All', type: 'Role' },
|
|
15
|
+
// );
|
|
16
16
|
const serverIdentity = (0, Identity_1.default)({
|
|
17
17
|
name,
|
|
18
|
-
createClientSecret:
|
|
18
|
+
createClientSecret: false,
|
|
19
19
|
createPrincipal: true,
|
|
20
|
-
requiredResourceAccesses: [graphAccess],
|
|
20
|
+
//requiredResourceAccesses: [graphAccess],
|
|
21
21
|
publicClient: false,
|
|
22
22
|
appType: 'api',
|
|
23
23
|
vaultInfo,
|
|
24
24
|
dependsOn,
|
|
25
25
|
});
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
});
|
|
26
|
+
// roleAssignment({
|
|
27
|
+
// name: `${name}-aks-identity-acr-pull`,
|
|
28
|
+
// principalId: serverIdentity.principalId!,
|
|
29
|
+
// principalType: 'ServicePrincipal',
|
|
30
|
+
// roleName: 'AcrPull',
|
|
31
|
+
// scope: defaultSubScope,
|
|
32
|
+
// dependsOn: serverIdentity.resource,
|
|
33
|
+
// });
|
|
34
34
|
return serverIdentity;
|
|
35
35
|
};
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWRlbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQWtzL0lkZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsZ0VBQStDO0FBTy9DLDJEQUEyRDtBQUMzRCxrQkFBZSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQVMsRUFBRSxFQUFFO0lBQ3ZELDhDQUE4QztJQUM5QywyQ0FBMkM7SUFDM0MsMENBQTBDO0lBQzFDLCtDQUErQztJQUMvQyxxREFBcUQ7SUFDckQsa0RBQWtEO0lBQ2xELEtBQUs7SUFFTCxNQUFNLGNBQWMsR0FBRyxJQUFBLGtCQUFlLEVBQUM7UUFDckMsSUFBSTtRQUNKLGtCQUFrQixFQUFFLEtBQUs7UUFDekIsZUFBZSxFQUFFLElBQUk7UUFDckIsMENBQTBDO1FBQzFDLFlBQVksRUFBRSxLQUFLO1FBQ25CLE9BQU8sRUFBRSxLQUFLO1FBQ2QsU0FBUztRQUNULFNBQVM7S0FDVixDQUFDLENBQUM7SUFFSCxtQkFBbUI7SUFDbkIsMkNBQTJDO0lBQzNDLDhDQUE4QztJQUM5Qyx1Q0FBdUM7SUFDdkMseUJBQXlCO0lBQ3pCLDRCQUE0QjtJQUM1Qix3Q0FBd0M7SUFDeEMsTUFBTTtJQUVOLE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyJ9
|
package/Aks/index.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as ccs from '@pulumi/azure-native/containerservice';
|
|
2
2
|
import * as pulumi from '@pulumi/pulumi';
|
|
3
|
-
import { containerservice } from '@pulumi/azure-native/types/input';
|
|
4
3
|
import { Input, Output } from '@pulumi/pulumi';
|
|
5
|
-
import { BasicEncryptResourceArgs, LockableType, ResourceInfoWithInstance } from '../types';
|
|
4
|
+
import { BasicEncryptResourceArgs, LockableType, LogInfo, ResourceInfoWithInstance, WithDiskEncryption } from '../types';
|
|
6
5
|
import { IdentityResult } from '../AzAd/Identity';
|
|
7
6
|
export declare enum VmSizes {
|
|
8
7
|
/** 32G RAM - 4CPU - $221.92 */
|
|
@@ -26,12 +25,14 @@ export declare enum VmSizes {
|
|
|
26
25
|
/** 32G RAM - 4CPU - $205.13 */
|
|
27
26
|
Standard_A4m_v2 = "Standard_A4m_v2"
|
|
28
27
|
}
|
|
29
|
-
export
|
|
28
|
+
export type NodePoolProps = {
|
|
29
|
+
name: pulumi.Input<string>;
|
|
30
30
|
mode: ccs.AgentPoolMode;
|
|
31
31
|
vmSize: VmSizes | string;
|
|
32
32
|
osDiskSizeGB: number;
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
osDiskType?: ccs.OSDiskType | string;
|
|
34
|
+
maxPods?: number;
|
|
35
|
+
};
|
|
35
36
|
export type AskAddonProps = {
|
|
36
37
|
enableAzureKeyVault?: boolean;
|
|
37
38
|
enableVirtualHost?: boolean;
|
|
@@ -60,9 +61,8 @@ export type AksNetworkProps = {
|
|
|
60
61
|
ipAddressPrefixId?: pulumi.Input<string>;
|
|
61
62
|
};
|
|
62
63
|
};
|
|
63
|
-
export type
|
|
64
|
-
export
|
|
65
|
-
export interface AksProps extends BasicEncryptResourceArgs, LockableType {
|
|
64
|
+
export type DefaultAksNodePoolProps = Omit<NodePoolProps, 'name' | 'mode'>;
|
|
65
|
+
export interface AksProps extends BasicEncryptResourceArgs, LockableType, WithDiskEncryption {
|
|
66
66
|
tier?: ccs.ManagedClusterSKUTier;
|
|
67
67
|
addon?: AskAddonProps;
|
|
68
68
|
features?: AskFeatureProps;
|
|
@@ -81,23 +81,21 @@ export interface AksProps extends BasicEncryptResourceArgs, LockableType {
|
|
|
81
81
|
enabled: boolean;
|
|
82
82
|
};
|
|
83
83
|
};
|
|
84
|
-
acr?: {
|
|
85
|
-
enable: boolean;
|
|
86
|
-
id: Input<string>;
|
|
87
|
-
};
|
|
88
84
|
defaultNodePool: DefaultAksNodePoolProps;
|
|
89
85
|
network: AksNetworkProps;
|
|
90
86
|
linux: {
|
|
91
87
|
adminUsername: Input<string>;
|
|
92
88
|
sshKeys: Array<pulumi.Input<string>>;
|
|
93
89
|
};
|
|
94
|
-
nodePools?: Array<
|
|
95
|
-
|
|
90
|
+
nodePools?: Array<NodePoolProps>;
|
|
91
|
+
logInfo?: Partial<LogInfo> & {
|
|
92
|
+
defenderEnabled?: boolean;
|
|
93
|
+
};
|
|
96
94
|
}
|
|
97
95
|
export type AksResults = ResourceInfoWithInstance<ccs.ManagedCluster> & {
|
|
98
96
|
serviceIdentity: IdentityResult;
|
|
99
97
|
disableLocalAccounts?: boolean;
|
|
100
98
|
getKubeConfig: () => Output<string> | undefined;
|
|
101
99
|
};
|
|
102
|
-
declare const _default: ({ group, name,
|
|
100
|
+
declare const _default: ({ group, name, aksAccess, envRoles, envUIDInfo, vaultInfo, diskEncryptionSetId, linux, defaultNodePool, nodePools, network, logInfo, features, storageProfile, addon, tier, lock, dependsOn, importUri, ignoreChanges, }: AksProps) => Promise<AksResults>;
|
|
103
101
|
export default _default;
|
package/Aks/index.js
CHANGED
|
@@ -31,14 +31,10 @@ const ccs = __importStar(require("@pulumi/azure-native/containerservice"));
|
|
|
31
31
|
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
32
32
|
const pulumi_1 = require("@pulumi/pulumi");
|
|
33
33
|
const dnsBuilder = __importStar(require("../Builder/PrivateDnsZoneBuilder"));
|
|
34
|
-
const Helper_1 = require("../Core/Helper");
|
|
35
|
-
const VmSetMonitor_1 = __importDefault(require("./VmSetMonitor"));
|
|
36
34
|
const Common_1 = require("../Common");
|
|
37
|
-
const Locker_1 =
|
|
35
|
+
const Locker_1 = require("../Core/Locker");
|
|
38
36
|
const Identity_1 = __importDefault(require("./Identity"));
|
|
39
|
-
const
|
|
40
|
-
const RoleAssignment_1 = require("../AzAd/RoleAssignment");
|
|
41
|
-
const Helper_2 = require("./Helper");
|
|
37
|
+
const Helper_1 = require("./Helper");
|
|
42
38
|
const CustomHelper_1 = require("../KeyVault/CustomHelper");
|
|
43
39
|
const KeyVaultBase_1 = __importDefault(require("@drunk-pulumi/azure-providers/AzBase/KeyVaultBase"));
|
|
44
40
|
const autoScaleFor = ({ enableAutoScaling, nodeType, env, }) => {
|
|
@@ -71,10 +67,10 @@ const defaultNodePoolProps = {
|
|
|
71
67
|
maxPods: 50,
|
|
72
68
|
enableFIPS: false,
|
|
73
69
|
enableNodePublicIP: false,
|
|
74
|
-
|
|
70
|
+
enableEncryptionAtHost: true,
|
|
75
71
|
enableUltraSSD: Common_1.isPrd,
|
|
76
|
-
osDiskSizeGB:
|
|
77
|
-
osDiskType: ccs.OSDiskType.
|
|
72
|
+
osDiskSizeGB: 256,
|
|
73
|
+
osDiskType: ccs.OSDiskType.Ephemeral,
|
|
78
74
|
nodeLabels: {
|
|
79
75
|
environment: Common_1.currentEnv,
|
|
80
76
|
stack: Common_1.stack,
|
|
@@ -104,12 +100,14 @@ var VmSizes;
|
|
|
104
100
|
VmSizes["Standard_A4m_v2"] = "Standard_A4m_v2";
|
|
105
101
|
})(VmSizes || (exports.VmSizes = VmSizes = {}));
|
|
106
102
|
//Using this to enable the preview feature https://azurecloudai.blog/2019/10/16/aks-enabling-and-using-preview-features-such-as-nodepools-using-cli/
|
|
107
|
-
exports.default = async ({ group, name,
|
|
103
|
+
exports.default = async ({ group, name, aksAccess, envRoles, envUIDInfo, vaultInfo, diskEncryptionSetId, linux, defaultNodePool, nodePools, network, logInfo,
|
|
104
|
+
//acr,
|
|
105
|
+
features = { enableMaintenance: true }, storageProfile, addon = {
|
|
108
106
|
enableAzureKeyVault: false,
|
|
109
107
|
}, tier = ccs.ManagedClusterSKUTier.Free, lock = true, dependsOn = [], importUri, ignoreChanges = [], }) => {
|
|
110
|
-
const aksName =
|
|
108
|
+
const aksName = Common_1.naming.getAksName(name);
|
|
111
109
|
const secretName = `${aksName}-config`;
|
|
112
|
-
const nodeResourceGroup =
|
|
110
|
+
const nodeResourceGroup = Common_1.naming.getResourceGroupName(`${aksName}-nodes`);
|
|
113
111
|
//Auto detect and disable Local Account
|
|
114
112
|
if (aksAccess.disableLocalAccounts === undefined && vaultInfo) {
|
|
115
113
|
aksAccess.disableLocalAccounts = await (0, KeyVaultBase_1.default)(vaultInfo.name)
|
|
@@ -123,8 +121,6 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
|
|
|
123
121
|
vaultInfo,
|
|
124
122
|
dependsOn,
|
|
125
123
|
});
|
|
126
|
-
//TODO: Implement Disk Encryption
|
|
127
|
-
// const diskEncryptionSet =enableEncryption? compute.
|
|
128
124
|
//Create AKS Cluster
|
|
129
125
|
const aks = new ccs.ManagedCluster(aksName, {
|
|
130
126
|
resourceName: aksName,
|
|
@@ -169,10 +165,10 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
|
|
|
169
165
|
: undefined,
|
|
170
166
|
},
|
|
171
167
|
omsAgent: {
|
|
172
|
-
enabled: Boolean(
|
|
173
|
-
config:
|
|
168
|
+
enabled: Boolean(logInfo?.logWp?.workspaceId),
|
|
169
|
+
config: logInfo?.logWp?.workspaceId
|
|
174
170
|
? {
|
|
175
|
-
logAnalyticsWorkspaceResourceID:
|
|
171
|
+
logAnalyticsWorkspaceResourceID: logInfo.logWp.workspaceId,
|
|
176
172
|
}
|
|
177
173
|
: undefined,
|
|
178
174
|
},
|
|
@@ -191,7 +187,6 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
|
|
|
191
187
|
nodeType: 'System',
|
|
192
188
|
enableAutoScaling: features?.enableAutoScale,
|
|
193
189
|
}),
|
|
194
|
-
enableEncryptionAtHost: true,
|
|
195
190
|
name: 'defaultnodes',
|
|
196
191
|
mode: 'System',
|
|
197
192
|
count: 1,
|
|
@@ -239,16 +234,16 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
|
|
|
239
234
|
//azureMonitorProfile: { metrics: { enabled } },
|
|
240
235
|
//Refer here for details https://learn.microsoft.com/en-us/azure/aks/use-managed-identity
|
|
241
236
|
//enablePodSecurityPolicy: true,
|
|
242
|
-
diskEncryptionSetID:
|
|
237
|
+
diskEncryptionSetID: diskEncryptionSetId,
|
|
243
238
|
servicePrincipalProfile: {
|
|
244
239
|
clientId: serviceIdentity.clientId,
|
|
245
240
|
secret: serviceIdentity.clientSecret,
|
|
246
241
|
},
|
|
247
242
|
oidcIssuerProfile: { enabled: Boolean(features?.enableWorkloadIdentity) },
|
|
248
243
|
securityProfile: {
|
|
249
|
-
defender:
|
|
244
|
+
defender: logInfo?.logWp && logInfo?.defenderEnabled
|
|
250
245
|
? {
|
|
251
|
-
logAnalyticsWorkspaceResourceId:
|
|
246
|
+
logAnalyticsWorkspaceResourceId: logInfo?.logWp.workspaceId,
|
|
252
247
|
securityMonitoring: { enabled: true },
|
|
253
248
|
}
|
|
254
249
|
: undefined,
|
|
@@ -316,7 +311,7 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
|
|
|
316
311
|
});
|
|
317
312
|
//Lock from delete
|
|
318
313
|
if (lock) {
|
|
319
|
-
(0, Locker_1.
|
|
314
|
+
(0, Locker_1.Locker)({ name: aksName, resource: aks });
|
|
320
315
|
}
|
|
321
316
|
if (features?.enableMaintenance) {
|
|
322
317
|
//Default
|
|
@@ -344,7 +339,8 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
|
|
|
344
339
|
nodeType: p.mode,
|
|
345
340
|
enableAutoScaling: features.enableAutoScale,
|
|
346
341
|
}),
|
|
347
|
-
|
|
342
|
+
//This already added into defaultNodePoolProps
|
|
343
|
+
//enableEncryptionAtHost: true,
|
|
348
344
|
count: p.mode === 'System' ? 1 : 0,
|
|
349
345
|
vnetSubnetID: network.subnetId,
|
|
350
346
|
kubeletDiskType: 'OS',
|
|
@@ -360,7 +356,7 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
|
|
|
360
356
|
pulumi
|
|
361
357
|
.all([aks.identity, aks.identityProfile, network.subnetId])
|
|
362
358
|
.apply(([identity, identityProfile, sId]) => {
|
|
363
|
-
const acrScope = acr?.id ??
|
|
359
|
+
//const acrScope = acr?.id ?? defaultSubScope;
|
|
364
360
|
if (identityProfile && identityProfile['kubeletidentity']) {
|
|
365
361
|
// roleAssignment({
|
|
366
362
|
// name: `${name}-aks-identity-profile-pull`,
|
|
@@ -369,24 +365,26 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
|
|
|
369
365
|
// roleName: 'AcrPull',
|
|
370
366
|
// scope: acrScope,
|
|
371
367
|
// });
|
|
372
|
-
//Add into EnvRoles
|
|
368
|
+
//Add into EnvRoles for Database accessing
|
|
373
369
|
envRoles?.addMember('contributor', identityProfile['kubeletidentity'].objectId);
|
|
374
370
|
}
|
|
375
371
|
//Link service principal to Vnet Resources group
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
372
|
+
//This only need for public ask with direct public IP associated
|
|
373
|
+
// if (network.subnetId && identity) {
|
|
374
|
+
// roleAssignment({
|
|
375
|
+
// name: `${name}-system-net`,
|
|
376
|
+
// principalId: identity.principalId,
|
|
377
|
+
// roleName: 'Contributor',
|
|
378
|
+
// principalType: 'ServicePrincipal',
|
|
379
|
+
// scope: rsInfo.getRGId(rsInfo.getResourceInfoFromId(sId)!.group),
|
|
380
|
+
// });
|
|
381
|
+
//
|
|
382
|
+
// //Add into EnvRoles for Database accessing
|
|
383
|
+
// //envRoles?.addMember('contributor', identity.principalId);
|
|
384
|
+
// }
|
|
387
385
|
//Link Private Dns to extra Vnet
|
|
388
386
|
if (features?.enablePrivateCluster && network.extraVnetIds) {
|
|
389
|
-
const dns = (0,
|
|
387
|
+
const dns = (0, Helper_1.getAksPrivateDnz)({
|
|
390
388
|
name: aksName,
|
|
391
389
|
group,
|
|
392
390
|
id: aks.id,
|
|
@@ -398,7 +396,7 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
|
|
|
398
396
|
}
|
|
399
397
|
});
|
|
400
398
|
//Update Vault
|
|
401
|
-
const config = await (0,
|
|
399
|
+
const config = await (0, Helper_1.getAksConfig)({
|
|
402
400
|
name: aksName,
|
|
403
401
|
groupName: group.resourceGroupName,
|
|
404
402
|
formattedName: true,
|
|
@@ -417,31 +415,32 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
|
|
|
417
415
|
});
|
|
418
416
|
}
|
|
419
417
|
//Diagnostic
|
|
420
|
-
if (
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
}
|
|
418
|
+
// if (logInfo) {
|
|
419
|
+
// createDiagnostic({
|
|
420
|
+
// name,
|
|
421
|
+
// targetResourceId: id,
|
|
422
|
+
// logInfo,
|
|
423
|
+
// logsCategories: [
|
|
424
|
+
// 'guard',
|
|
425
|
+
// 'kube-controller-manager',
|
|
426
|
+
// 'kube-audit-admin',
|
|
427
|
+
// 'kube-audit',
|
|
428
|
+
// 'kube-scheduler',
|
|
429
|
+
// 'cluster-autoscaler',
|
|
430
|
+
// ],
|
|
431
|
+
// dependsOn: aks,
|
|
432
|
+
// });
|
|
433
|
+
//
|
|
434
|
+
// // if (vaultInfo) {
|
|
435
|
+
// // //Apply monitoring for VMScale Sets
|
|
436
|
+
// // vmsDiagnostic({
|
|
437
|
+
// // group: { resourceGroupName: nodeResourceGroup },
|
|
438
|
+
// // logWpId,
|
|
439
|
+
// // vaultInfo,
|
|
440
|
+
// // dependsOn: aks,
|
|
441
|
+
// // });
|
|
442
|
+
// // }
|
|
443
|
+
// }
|
|
445
444
|
});
|
|
446
445
|
return {
|
|
447
446
|
name: aksName,
|
|
@@ -456,4 +455,4 @@ exports.default = async ({ group, name, linux, defaultNodePool, nodePools, netwo
|
|
|
456
455
|
: undefined,
|
|
457
456
|
};
|
|
458
457
|
};
|
|
459
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQWtzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkVBQTZEO0FBQzdELHVEQUF5QztBQUV6QywyQ0FBdUQ7QUFDdkQsNkVBQStEO0FBQy9ELDJDQUF5QztBQUN6QyxrRUFBMkM7QUFNM0Msc0NBVW1CO0FBQ25CLDREQUFvQztBQUNwQywwREFBNEM7QUFDNUMsNkNBQW1EO0FBQ25ELDJEQUF3RDtBQUN4RCxxQ0FBMEQ7QUFDMUQsMkRBQTJEO0FBQzNELHFHQUFnRjtBQUdoRixNQUFNLFlBQVksR0FBRyxDQUFDLEVBQ3BCLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsR0FBRyxHQUtKLEVBQUUsRUFBRTtJQUNILE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNwQixNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDbkIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBRWpCLElBQUksR0FBRyxLQUFLLHFCQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDN0IsUUFBUSxRQUFRLEVBQUUsQ0FBQztZQUNqQixLQUFLLE1BQU07Z0JBQ1QsUUFBUSxHQUFHLENBQUMsQ0FBQztnQkFDYixNQUFNO1lBRVIsS0FBSyxTQUFTLENBQUM7WUFDZixLQUFLLFFBQVEsQ0FBQztZQUNkO2dCQUNFLFFBQVEsR0FBRyxDQUFDLENBQUM7Z0JBQ2IsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLGlCQUFpQjtRQUNqQixTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUNwRCxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUNsRCxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFFB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
|
|
458
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQWtzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkVBQTZEO0FBQzdELHVEQUF5QztBQUV6QywyQ0FBdUQ7QUFDdkQsNkVBQStEO0FBUS9ELHNDQVNtQjtBQUNuQiwyQ0FBd0M7QUFDeEMsMERBQTRDO0FBRTVDLHFDQUEwRDtBQUMxRCwyREFBMkQ7QUFDM0QscUdBQWdGO0FBR2hGLE1BQU0sWUFBWSxHQUFHLENBQUMsRUFDcEIsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixHQUFHLEdBS0osRUFBRSxFQUFFO0lBQ0gsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNuQixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFFakIsSUFBSSxHQUFHLEtBQUsscUJBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUM3QixRQUFRLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLEtBQUssTUFBTTtnQkFDVCxRQUFRLEdBQUcsQ0FBQyxDQUFDO2dCQUNiLE1BQU07WUFFUixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssUUFBUSxDQUFDO1lBQ2Q7Z0JBQ0UsUUFBUSxHQUFHLENBQUMsQ0FBQztnQkFDYixNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsaUJBQWlCO1FBQ2pCLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQ3BELFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQ2xELFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTO0tBQ25ELENBQUM7QUFDSixDQUFDLENBQUM7QUFF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
|
package/Automation/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { BasicEncryptResourceArgs, ResourceInfoWithInstance } from '../types';
|
|
2
|
+
import * as automation from '@pulumi/azure-native/automation';
|
|
3
|
+
interface Props extends BasicEncryptResourceArgs {
|
|
4
4
|
}
|
|
5
|
-
declare const _default: ({ name, group, enableEncryption, vaultInfo, dependsOn, ignoreChanges, }: Props) =>
|
|
5
|
+
declare const _default: ({ name, group, enableEncryption, envRoles, vaultInfo, dependsOn, ignoreChanges, }: Props) => ResourceInfoWithInstance<automation.AutomationAccount>;
|
|
6
6
|
export default _default;
|
package/Automation/index.js
CHANGED
|
@@ -30,18 +30,17 @@ const automation = __importStar(require("@pulumi/azure-native/automation"));
|
|
|
30
30
|
const Common_1 = require("../Common");
|
|
31
31
|
const Helper_1 = require("../KeyVault/Helper");
|
|
32
32
|
const UserAssignedIdentity_1 = __importDefault(require("../AzAd/UserAssignedIdentity"));
|
|
33
|
-
exports.default = ({ name, group, enableEncryption, vaultInfo, dependsOn, ignoreChanges, }) => {
|
|
33
|
+
exports.default = ({ name, group, enableEncryption, envRoles, vaultInfo, dependsOn, ignoreChanges, }) => {
|
|
34
34
|
name = (0, Common_1.getAutomationAccountName)(name);
|
|
35
|
-
const encryption = enableEncryption && vaultInfo
|
|
36
|
-
? (0, Helper_1.addEncryptKey)({ name, vaultInfo })
|
|
37
|
-
: undefined;
|
|
38
35
|
const identity = (0, UserAssignedIdentity_1.default)({
|
|
39
36
|
name,
|
|
40
37
|
group,
|
|
41
|
-
role: 'contributor',
|
|
42
38
|
dependsOn,
|
|
43
39
|
});
|
|
44
|
-
|
|
40
|
+
envRoles?.addMember('readOnly', identity.principalId);
|
|
41
|
+
const encryption = enableEncryption && vaultInfo
|
|
42
|
+
? (0, Helper_1.addEncryptKey)({ name, vaultInfo })
|
|
43
|
+
: undefined;
|
|
45
44
|
const auto = new automation.AutomationAccount(name, {
|
|
46
45
|
automationAccountName: name,
|
|
47
46
|
...group,
|
|
@@ -67,7 +66,12 @@ exports.default = ({ name, group, enableEncryption, vaultInfo, dependsOn, ignore
|
|
|
67
66
|
sku: {
|
|
68
67
|
name: 'Basic',
|
|
69
68
|
},
|
|
70
|
-
}, { dependsOn: identity, ignoreChanges });
|
|
71
|
-
return
|
|
69
|
+
}, { dependsOn: identity.instance, ignoreChanges });
|
|
70
|
+
return {
|
|
71
|
+
name,
|
|
72
|
+
group,
|
|
73
|
+
id: auto.id,
|
|
74
|
+
instance: auto,
|
|
75
|
+
};
|
|
72
76
|
};
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQXV0b21hdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS0EsNEVBQThEO0FBQzlELHNDQUFxRDtBQUNyRCwrQ0FBbUQ7QUFDbkQsd0ZBQWdFO0FBSWhFLGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxFQUNMLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxhQUFhLEdBQ1AsRUFBMEQsRUFBRTtJQUNsRSxJQUFJLEdBQUcsSUFBQSxpQ0FBd0IsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUV0QyxNQUFNLFFBQVEsR0FBRyxJQUFBLDhCQUFvQixFQUFDO1FBQ3BDLElBQUk7UUFDSixLQUFLO1FBQ0wsU0FBUztLQUNWLENBQUMsQ0FBQztJQUNILFFBQVEsRUFBRSxTQUFTLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV0RCxNQUFNLFVBQVUsR0FDZCxnQkFBZ0IsSUFBSSxTQUFTO1FBQzNCLENBQUMsQ0FBQyxJQUFBLHNCQUFhLEVBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDcEMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUVoQixNQUFNLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FDM0MsSUFBSSxFQUNKO1FBQ0UscUJBQXFCLEVBQUUsSUFBSTtRQUMzQixHQUFHLEtBQUs7UUFFUixtQkFBbUIsRUFBRSxLQUFLO1FBQzFCLFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxVQUFVLENBQUMsb0JBQW9CLENBQUMsMkJBQTJCO1lBQ2pFLHNCQUFzQixFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztTQUN0QztRQUNELGdCQUFnQixFQUFFLElBQUk7UUFFdEIsVUFBVSxFQUFFO1lBQ1YsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLHNCQUFzQjtZQUNyRSxRQUFRLEVBQUUsVUFBVTtnQkFDbEIsQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ3pDLENBQUMsQ0FBQyxTQUFTO1lBQ2Isa0JBQWtCLEVBQUUsVUFBVTtnQkFDNUIsQ0FBQyxDQUFDO29CQUNFLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTztvQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxXQUFXO29CQUNuQyxVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVU7aUJBQ2xDO2dCQUNILENBQUMsQ0FBQyxTQUFTO1NBQ2Q7UUFDRCxHQUFHLEVBQUU7WUFDSCxJQUFJLEVBQUUsT0FBTztTQUNkO0tBQ0YsRUFDRCxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUNoRCxDQUFDO0lBRUYsT0FBTztRQUNMLElBQUk7UUFDSixLQUFLO1FBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1FBQ1gsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
|
package/AzAd/EnvRoles.d.ts
CHANGED
|
@@ -11,11 +11,6 @@ export type CreateEnvRolesType = EnvRolesInfo & {
|
|
|
11
11
|
};
|
|
12
12
|
export declare const pushEnvRolesToVault: (envRoles: EnvRolesInfo, vaultInfo: KeyVaultInfo) => void;
|
|
13
13
|
export declare const createEnvRoles: () => CreateEnvRolesType;
|
|
14
|
-
/** Get Single Env Role Object */
|
|
15
|
-
export declare const getEnvRole: (name: string, vaultInfo: KeyVaultInfo) => Promise<{
|
|
16
|
-
displayName: string;
|
|
17
|
-
objectId: string;
|
|
18
|
-
}>;
|
|
19
14
|
/** Get All Env Role Objects */
|
|
20
15
|
export declare const getEnvRolesOutput: (vaultInfo: KeyVaultInfo) => EnvRolesInfo;
|
|
21
16
|
export {};
|
package/AzAd/EnvRoles.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getEnvRolesOutput = exports.
|
|
6
|
+
exports.getEnvRolesOutput = exports.createEnvRoles = exports.pushEnvRolesToVault = void 0;
|
|
7
7
|
const EnvRoles_Consts_1 = require("./EnvRoles.Consts");
|
|
8
8
|
const Role_1 = __importDefault(require("./Role"));
|
|
9
9
|
const pulumi_1 = require("@pulumi/pulumi");
|
|
@@ -82,14 +82,13 @@ const getEnvRole = async (name, vaultInfo) => {
|
|
|
82
82
|
objectId: objectId?.value,
|
|
83
83
|
};
|
|
84
84
|
};
|
|
85
|
-
exports.getEnvRole = getEnvRole;
|
|
86
85
|
/** Get All Env Role Objects */
|
|
87
86
|
const getEnvRolesOutput = (vaultInfo) => {
|
|
88
87
|
const rs = {};
|
|
89
88
|
Object.keys(envRoleConfig).forEach((key) => {
|
|
90
|
-
rs[key] = (0, pulumi_1.output)(
|
|
89
|
+
rs[key] = (0, pulumi_1.output)(getEnvRole(key, vaultInfo));
|
|
91
90
|
});
|
|
92
91
|
return rs;
|
|
93
92
|
};
|
|
94
93
|
exports.getEnvRolesOutput = getEnvRolesOutput;
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW52Um9sZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQXpBZC9FbnZSb2xlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1REFBd0Q7QUFDeEQsa0RBQXlDO0FBRXpDLDJDQUFnRDtBQUNoRCxzQ0FBMkQ7QUFDM0QsMkRBQTREO0FBQzVELCtDQUErQztBQUkvQyxNQUFNLGFBQWEsR0FBdUM7SUFDeEQsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLFVBQVU7UUFDcEIsT0FBTyxFQUFFLE9BQU87S0FDakI7SUFDRCxXQUFXLEVBQUU7UUFDWCxRQUFRLEVBQUUsYUFBYTtRQUN2QixPQUFPLEVBQUUsT0FBTztLQUNqQjtJQUNELEtBQUssRUFBRTtRQUNMLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLE9BQU8sRUFBRSxPQUFPO0tBQ2pCO0NBQ0YsQ0FBQztBQVFGLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0MsWUFBWSxFQUFFLElBQUEsc0JBQWEsRUFBQyxZQUFZLElBQUksWUFBWSxDQUFDO0lBQ3pELFdBQVcsRUFBRSxJQUFBLHNCQUFhLEVBQUMsWUFBWSxJQUFJLGVBQWUsQ0FBQztDQUM1RCxDQUFDLENBQUM7QUFNSSxNQUFNLG1CQUFtQixHQUFHLENBQ2pDLFFBQXNCLEVBQ3RCLFNBQXVCLEVBQ3ZCLEVBQUU7SUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3pDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFzQixDQUFDLENBQUM7UUFDOUMsa0JBQWtCO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLElBQUEsK0JBQWdCLEVBQUM7WUFDZixTQUFTO1lBQ1QsV0FBVyxFQUFFLFdBQVc7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLEVB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
|
package/AzAd/Group.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as azuread from '@pulumi/azuread';
|
|
2
2
|
import { Input, Output } from '@pulumi/pulumi';
|
|
3
|
-
import {
|
|
3
|
+
import { WithNamedType } from '../types';
|
|
4
4
|
export interface GroupPermissionProps {
|
|
5
5
|
/** The name of the roles would like to assign to this group*/
|
|
6
6
|
roleName: string;
|
|
7
7
|
/**The scopes pf role if not provided the scope will be subscription level*/
|
|
8
8
|
scope?: Input<string>;
|
|
9
9
|
}
|
|
10
|
-
interface AdGroupProps extends
|
|
10
|
+
interface AdGroupProps extends WithNamedType {
|
|
11
11
|
members?: Input<string>[];
|
|
12
12
|
owners?: Input<Input<string>[]>;
|
|
13
13
|
permissions?: Array<GroupPermissionProps>;
|
|
@@ -15,10 +15,10 @@ interface AdGroupProps extends NamedType {
|
|
|
15
15
|
declare const _default: ({ name, permissions, members, owners }: AdGroupProps) => Promise<import("@pulumi/azuread/group").Group>;
|
|
16
16
|
export default _default;
|
|
17
17
|
export declare const getAdGroup: (displayName: string) => Output<import("@pulumi/pulumi").UnwrappedObject<azuread.GetGroupResult>>;
|
|
18
|
-
export declare const addMemberToGroup: ({ name, objectId, groupObjectId, }:
|
|
18
|
+
export declare const addMemberToGroup: ({ name, objectId, groupObjectId, }: WithNamedType & {
|
|
19
19
|
objectId: Input<string>;
|
|
20
20
|
groupObjectId: Input<string>;
|
|
21
|
-
}) => Output<import("@pulumi/azuread/groupMember").GroupMember>;
|
|
21
|
+
}) => Output<import("@pulumi/azuread/groupMember").GroupMember | undefined>;
|
|
22
22
|
export declare const addGroupToGroup: (groupMemberName: string, groupObjectId: Output<string>) => Output<import("@pulumi/azuread/groupMember").GroupMember>;
|
|
23
23
|
export declare const assignRolesToGroup: ({ roles, groupName, scope, }: {
|
|
24
24
|
groupName: string;
|