@drunk-pulumi/azure-components 1.0.1 → 1.0.3
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/README.md +127 -1
- package/ResourceBuilder.d.ts +85 -46
- package/ResourceBuilder.js +147 -46
- package/aks/AzKubernetes.d.ts +17 -3
- package/aks/AzKubernetes.js +92 -43
- package/aks/ContainerRegistry.d.ts +4 -3
- package/aks/ContainerRegistry.js +22 -19
- package/apim/Apim.d.ts +51 -0
- package/apim/Apim.js +248 -0
- package/apim/ApimApi.d.ts +34 -0
- package/apim/ApimApi.js +193 -0
- package/apim/ApimApiSet.d.ts +27 -0
- package/apim/ApimApiSet.js +88 -0
- package/apim/ApimPolicyBuilder.d.ts +93 -0
- package/apim/ApimPolicyBuilder.js +294 -0
- package/apim/ApimProduct.d.ts +27 -0
- package/apim/ApimProduct.js +118 -0
- package/apim/index.d.ts +2 -0
- package/apim/index.js +19 -0
- package/apim/openAPI3Type.d.ts +85 -0
- package/apim/openAPI3Type.js +3 -0
- package/apim/openApiHelper.d.ts +1 -0
- package/apim/openApiHelper.js +36 -0
- package/app/SignalR.d.ts +3 -3
- package/app/SignalR.js +35 -20
- package/azAd/AppRegistration.d.ts +15 -11
- package/azAd/AppRegistration.js +67 -68
- package/azAd/AzRole.js +2 -2
- package/azAd/GroupRole.d.ts +7 -17
- package/azAd/GroupRole.js +7 -17
- package/azAd/RoleAssignment.d.ts +1 -1
- package/azAd/RoleAssignment.js +5 -5
- package/azAd/UserAssignedIdentity.d.ts +3 -0
- package/azAd/UserAssignedIdentity.js +23 -7
- package/azAd/helpers/index.d.ts +0 -2
- package/azAd/helpers/index.js +26 -22
- package/azAd/helpers/rolesBuiltIn.d.ts +10 -19
- package/azAd/helpers/rolesBuiltIn.js +25868 -18593
- package/azAd/helpers/rsRoleDefinition.d.ts +12 -6
- package/azAd/helpers/rsRoleDefinition.js +48 -32
- package/base/BaseComponent.d.ts +1 -15
- package/base/BaseComponent.js +3 -22
- package/base/BaseResourceComponent.d.ts +24 -17
- package/base/BaseResourceComponent.js +61 -45
- package/base/helpers.d.ts +0 -6
- package/base/helpers.js +1 -18
- package/common/RandomPassword.js +4 -4
- package/common/RandomString.d.ts +1 -1
- package/common/RandomString.js +3 -3
- package/common/ResourceLocker.js +2 -2
- package/common/RsGroup.js +2 -2
- package/database/AzSql.d.ts +5 -5
- package/database/AzSql.js +37 -24
- package/database/MySql.d.ts +1 -1
- package/database/MySql.js +45 -28
- package/database/Postgres.d.ts +2 -1
- package/database/Postgres.js +29 -17
- package/database/Redis.d.ts +25 -4
- package/database/Redis.js +88 -25
- package/helpers/autoTags.js +37 -3
- package/helpers/certHelpers.d.ts +20 -0
- package/helpers/certHelpers.js +85 -0
- package/helpers/rsHelpers.d.ts +19 -1
- package/helpers/rsHelpers.js +27 -4
- package/helpers/stackEnv.d.ts +2 -1
- package/helpers/stackEnv.js +10 -7
- package/index.d.ts +1 -0
- package/index.js +2 -1
- package/package.json +11 -7
- package/services/Automation.d.ts +3 -1
- package/services/Automation.js +8 -8
- package/services/ServiceBus.d.ts +3 -2
- package/services/ServiceBus.js +17 -19
- package/types.d.ts +44 -15
- package/vault/EncryptionKey.d.ts +1 -1
- package/vault/EncryptionKey.js +4 -4
- package/vault/KeyVault.d.ts +3 -8
- package/vault/KeyVault.js +4 -7
- package/vault/VaultSecret.d.ts +1 -1
- package/vault/VaultSecret.js +9 -9
- package/vault/VaultSecrets.d.ts +2 -4
- package/vault/VaultSecrets.js +4 -6
- package/vault/helpers.d.ts +17 -0
- package/vault/helpers.js +56 -3
- package/vm/DiskEncryptionSet.js +2 -2
- package/vm/VirtualMachine.d.ts +2 -1
- package/vm/VirtualMachine.js +37 -25
- package/vnet/Basion.d.ts +4 -3
- package/vnet/Basion.js +17 -4
- package/vnet/DnsZone.d.ts +1 -1
- package/vnet/DnsZone.js +2 -2
- package/vnet/IpAddresses.d.ts +6 -2
- package/vnet/IpAddresses.js +2 -2
- package/vnet/NetworkPeering.d.ts +1 -1
- package/vnet/NetworkPeering.js +1 -1
- package/vnet/PrivateDnsZone.d.ts +1 -1
- package/vnet/PrivateDnsZone.js +4 -4
- package/vnet/PrivateEndpoint.d.ts +7 -10
- package/vnet/PrivateEndpoint.js +11 -10
- package/vnet/RouteTable.d.ts +1 -1
- package/vnet/RouteTable.js +2 -2
- package/vnet/VirtualNetwork.d.ts +30 -43
- package/vnet/VirtualNetwork.js +77 -43
- package/vnet/VpnGateway.js +2 -2
|
@@ -34,21 +34,24 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.UserAssignedIdentity = void 0;
|
|
37
|
-
const mid = __importStar(require("@pulumi/azure-native/managedidentity"));
|
|
38
37
|
const azAd = __importStar(require("@pulumi/azuread"));
|
|
38
|
+
const mid = __importStar(require("@pulumi/azure-native/managedidentity"));
|
|
39
39
|
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
40
40
|
const base_1 = require("../base");
|
|
41
|
+
const helpers_1 = require("../helpers");
|
|
41
42
|
class UserAssignedIdentity extends base_1.BaseResourceComponent {
|
|
42
43
|
id;
|
|
43
44
|
clientId;
|
|
44
45
|
principalId;
|
|
45
46
|
constructor(name, args, opts) {
|
|
46
47
|
super('UserAssignedIdentity', name, args, opts);
|
|
47
|
-
const
|
|
48
|
+
const { rsGroup } = args;
|
|
49
|
+
const managedIdentity = new mid.UserAssignedIdentity(name, { ...rsGroup }, { ...opts, parent: this });
|
|
50
|
+
this.createFederations(managedIdentity);
|
|
48
51
|
this.addSecrets({
|
|
49
|
-
id: managedIdentity.id,
|
|
50
|
-
clientId: managedIdentity.clientId,
|
|
51
|
-
principalId: managedIdentity.principalId,
|
|
52
|
+
['uid-id']: managedIdentity.id,
|
|
53
|
+
['uid-clientId']: managedIdentity.clientId,
|
|
54
|
+
['uid-principalId']: managedIdentity.principalId,
|
|
52
55
|
});
|
|
53
56
|
this.id = managedIdentity.id;
|
|
54
57
|
this.clientId = managedIdentity.clientId;
|
|
@@ -63,14 +66,27 @@ class UserAssignedIdentity extends base_1.BaseResourceComponent {
|
|
|
63
66
|
principalId: this.principalId,
|
|
64
67
|
};
|
|
65
68
|
}
|
|
69
|
+
createFederations(managedIdentity) {
|
|
70
|
+
const { rsGroup, federations } = this.args;
|
|
71
|
+
if (!federations)
|
|
72
|
+
return undefined;
|
|
73
|
+
return helpers_1.rsHelpers.dictReduce(federations, (name, props) => new mid.FederatedIdentityCredential(`${this.name}-${name}`, {
|
|
74
|
+
...rsGroup,
|
|
75
|
+
federatedIdentityCredentialResourceName: name,
|
|
76
|
+
audiences: ['api://AzureADTokenExchange'],
|
|
77
|
+
issuer: props.issuer ?? pulumi.interpolate `https://login.microsoftonline.com/${helpers_1.azureEnv.tenantId}/v2.0`,
|
|
78
|
+
subject: props.subject,
|
|
79
|
+
resourceName: managedIdentity.name,
|
|
80
|
+
}, { dependsOn: managedIdentity, parent: this, deletedWith: managedIdentity }));
|
|
81
|
+
}
|
|
66
82
|
addMemberOf() {
|
|
67
83
|
if (!this.args.memberof)
|
|
68
84
|
return;
|
|
69
85
|
this.args.memberof.map((group) => pulumi.output(group).apply((id) => new azAd.GroupMember(`${this.name}-${id.objectId}`, {
|
|
70
86
|
groupObjectId: id.objectId,
|
|
71
87
|
memberObjectId: this.principalId,
|
|
72
|
-
}, { parent: this })));
|
|
88
|
+
}, { parent: this, deletedWith: this })));
|
|
73
89
|
}
|
|
74
90
|
}
|
|
75
91
|
exports.UserAssignedIdentity = UserAssignedIdentity;
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlckFzc2lnbmVkSWRlbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXpBZC9Vc2VyQXNzaWduZWRJZGVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBd0M7QUFDeEMsMEVBQTREO0FBQzVELHVEQUF5QztBQUV6QyxrQ0FBMEQ7QUFFMUQsd0NBQWlEO0FBWWpELE1BQWEsb0JBQXFCLFNBQVEsNEJBQStDO0lBQ3ZFLEVBQUUsQ0FBd0I7SUFDMUIsUUFBUSxDQUF3QjtJQUNoQyxXQUFXLENBQXdCO0lBRW5ELFlBQVksSUFBWSxFQUFFLElBQThCLEVBQUUsSUFBc0M7UUFDOUYsS0FBSyxDQUFDLHNCQUFzQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztRQUV6QixNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFdEcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDZCxDQUFDLFFBQVEsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxFQUFFO1lBQzlCLENBQUMsY0FBYyxDQUFDLEVBQUUsZUFBZSxDQUFDLFFBQVE7WUFDMUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxXQUFXO1NBQ2pELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxFQUFFLEdBQUcsZUFBZSxDQUFDLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7UUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO1FBRS9DLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDO0lBQ0osQ0FBQztJQUVPLGlCQUFpQixDQUFDLGVBQXlDO1FBQ2pFLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQyxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ25DLE9BQU8sbUJBQVMsQ0FBQyxVQUFVLENBQ3pCLFdBQVcsRUFDWCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUNkLElBQUksR0FBRyxDQUFDLDJCQUEyQixDQUNqQyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLEVBQ3RCO1lBQ0UsR0FBRyxPQUFPO1lBQ1YsdUNBQXVDLEVBQUUsSUFBSTtZQUM3QyxTQUFTLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztZQUN6QyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFBLHFDQUFxQyxrQkFBUSxDQUFDLFFBQVEsT0FBTztZQUN2RyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsWUFBWSxFQUFFLGVBQWUsQ0FBQyxJQUFJO1NBQ25DLEVBQ0QsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxDQUMzRSxDQUNKLENBQUM7SUFDSixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUMvQixNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FDeEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUNMLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFDN0I7WUFDRSxhQUFhLEVBQUUsRUFBRSxDQUFDLFFBQVE7WUFDMUIsY0FBYyxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQ2pDLEVBQ0QsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FDcEMsQ0FDSixDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF4RUQsb0RBd0VDIn0=
|
package/azAd/helpers/index.d.ts
CHANGED
package/azAd/helpers/index.js
CHANGED
|
@@ -14,26 +14,30 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.createAzureDevOpsAppRegistration = void 0;
|
|
18
17
|
__exportStar(require("./rsRoleDefinition"), exports);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
18
|
+
// import { azureEnv } from '../../helpers';
|
|
19
|
+
// import { ResourceInputs } from '../../types';
|
|
20
|
+
// import { AppRegistration } from '../AppRegistration';
|
|
21
|
+
// import { RoleAssignment } from '../RoleAssignment';
|
|
22
|
+
// import { getGraphPermissions } from './graphBuiltIn';
|
|
23
|
+
// export const createAzureDevOpsAppRegistration = (name: string, vaultInfo: ResourceInputs) => {
|
|
24
|
+
// const graphAccess = getGraphPermissions({ name: 'User.Read', type: 'Scope' });
|
|
25
|
+
//
|
|
26
|
+
// const identity = new AppRegistration(name, {
|
|
27
|
+
// appType: 'native',
|
|
28
|
+
// requiredResourceAccesses: [graphAccess],
|
|
29
|
+
// vaultInfo,
|
|
30
|
+
// });
|
|
31
|
+
//
|
|
32
|
+
// new RoleAssignment(
|
|
33
|
+
// name,
|
|
34
|
+
// {
|
|
35
|
+
// principalId: identity.servicePrincipalId!,
|
|
36
|
+
// principalType: 'ServicePrincipal',
|
|
37
|
+
// roleName: 'Owner',
|
|
38
|
+
// scope: azureEnv.defaultSubScope,
|
|
39
|
+
// },
|
|
40
|
+
// { dependsOn: identity, deletedWith: identity, parent: this },
|
|
41
|
+
// );
|
|
42
|
+
// };
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXpBZC9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBbUM7QUFFbkMsNENBQTRDO0FBQzVDLGdEQUFnRDtBQUNoRCx3REFBd0Q7QUFDeEQsc0RBQXNEO0FBQ3RELHdEQUF3RDtBQUV4RCxpR0FBaUc7QUFDakcsbUZBQW1GO0FBQ25GLEVBQUU7QUFDRixpREFBaUQ7QUFDakQseUJBQXlCO0FBQ3pCLCtDQUErQztBQUMvQyxpQkFBaUI7QUFDakIsUUFBUTtBQUNSLEVBQUU7QUFDRix3QkFBd0I7QUFDeEIsWUFBWTtBQUNaLFFBQVE7QUFDUixtREFBbUQ7QUFDbkQsMkNBQTJDO0FBQzNDLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsU0FBUztBQUNULG9FQUFvRTtBQUNwRSxPQUFPO0FBQ1AsS0FBSyJ9
|
|
@@ -12,7 +12,7 @@ export declare function getRoleDefinitionByName(name: string): {
|
|
|
12
12
|
}[];
|
|
13
13
|
createdOn: string;
|
|
14
14
|
updatedOn: string;
|
|
15
|
-
createdBy:
|
|
15
|
+
createdBy: string;
|
|
16
16
|
updatedBy: string;
|
|
17
17
|
};
|
|
18
18
|
id: string;
|
|
@@ -27,13 +27,13 @@ export declare function getRoleDefinitionByName(name: string): {
|
|
|
27
27
|
permissions: {
|
|
28
28
|
actions: string[];
|
|
29
29
|
notActions: never[];
|
|
30
|
-
dataActions:
|
|
31
|
-
notDataActions:
|
|
30
|
+
dataActions: never[];
|
|
31
|
+
notDataActions: never[];
|
|
32
32
|
}[];
|
|
33
33
|
createdOn: string;
|
|
34
34
|
updatedOn: string;
|
|
35
35
|
createdBy: null;
|
|
36
|
-
updatedBy:
|
|
36
|
+
updatedBy: string;
|
|
37
37
|
};
|
|
38
38
|
id: string;
|
|
39
39
|
type: string;
|
|
@@ -46,9 +46,9 @@ export declare function getRoleDefinitionByName(name: string): {
|
|
|
46
46
|
assignableScopes: string[];
|
|
47
47
|
permissions: {
|
|
48
48
|
actions: string[];
|
|
49
|
-
notActions:
|
|
49
|
+
notActions: never[];
|
|
50
50
|
dataActions: string[];
|
|
51
|
-
notDataActions:
|
|
51
|
+
notDataActions: string[];
|
|
52
52
|
}[];
|
|
53
53
|
createdOn: string;
|
|
54
54
|
updatedOn: string;
|
|
@@ -64,21 +64,12 @@ export declare function getRoleDefinitionByName(name: string): {
|
|
|
64
64
|
type: string;
|
|
65
65
|
description: string;
|
|
66
66
|
assignableScopes: string[];
|
|
67
|
-
permissions:
|
|
68
|
-
actions: string[];
|
|
69
|
-
notActions: never[];
|
|
70
|
-
dataActions: never[];
|
|
71
|
-
notDataActions: never[];
|
|
72
|
-
conditionVersion?: undefined;
|
|
73
|
-
condition?: undefined;
|
|
74
|
-
} | {
|
|
67
|
+
permissions: {
|
|
75
68
|
actions: string[];
|
|
76
|
-
notActions:
|
|
77
|
-
dataActions:
|
|
69
|
+
notActions: string[];
|
|
70
|
+
dataActions: string[];
|
|
78
71
|
notDataActions: never[];
|
|
79
|
-
|
|
80
|
-
condition: string;
|
|
81
|
-
})[];
|
|
72
|
+
}[];
|
|
82
73
|
createdOn: string;
|
|
83
74
|
updatedOn: string;
|
|
84
75
|
createdBy: null;
|