@drunk-pulumi/azure-components 1.0.1 → 1.0.2
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 +100 -1
- package/ResourceBuilder.d.ts +19 -32
- package/ResourceBuilder.js +13 -12
- package/aks/AzKubernetes.js +1 -3
- package/azAd/AppRegistration.d.ts +2 -4
- package/azAd/AppRegistration.js +31 -40
- package/azAd/GroupRole.d.ts +0 -6
- package/azAd/GroupRole.js +1 -12
- package/azAd/helpers/index.js +3 -4
- package/azAd/helpers/rolesBuiltIn.d.ts +43 -1
- package/azAd/helpers/rolesBuiltIn.js +7793 -1033
- package/azAd/helpers/rsRoleDefinition.js +8 -4
- package/common/ResourceLocker.js +2 -2
- package/helpers/autoTags.js +36 -3
- package/helpers/stackEnv.d.ts +1 -0
- package/helpers/stackEnv.js +10 -7
- package/package.json +7 -6
- package/vault/KeyVault.d.ts +1 -6
- package/vault/KeyVault.js +1 -4
- package/vault/helpers.js +7 -2
package/README.md
CHANGED
|
@@ -1 +1,100 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Drunk Pulumi Azure Components
|
|
2
|
+
|
|
3
|
+
A modular, reusable TypeScript library of Pulumi components for rapidly building and managing Azure infrastructure. This project provides high-level abstractions for common Azure resources, enabling you to compose complex cloud environments with minimal boilerplate.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
- **Composable Components:** Build infrastructure using reusable building blocks (e.g., Resource Groups, Key Vaults, VMs, Networking, Storage, Databases, etc.).
|
|
7
|
+
- **Opinionated Defaults:** Sensible defaults for security, tagging, and resource configuration.
|
|
8
|
+
- **Extensible:** Easily extend or customize components for your organization's needs.
|
|
9
|
+
- **Pulumi Native:** Leverages Pulumi's TypeScript SDK for full infrastructure-as-code power.
|
|
10
|
+
- **Azure Best Practices:** Implements patterns for identity, encryption, logging, and networking.
|
|
11
|
+
|
|
12
|
+
## Project Structure
|
|
13
|
+
```
|
|
14
|
+
src/
|
|
15
|
+
aks/ # Azure Kubernetes Service components
|
|
16
|
+
app/ # App-related Azure resources (App Service, IoT Hub, etc.)
|
|
17
|
+
azAd/ # Azure Active Directory (roles, identities, etc.)
|
|
18
|
+
base/ # Base classes and helpers for components
|
|
19
|
+
common/ # Common utilities and resource helpers
|
|
20
|
+
database/ # Database resources (SQL, MySQL, Postgres, Redis)
|
|
21
|
+
helpers/ # Utility functions and configuration helpers
|
|
22
|
+
logs/ # Logging and monitoring components
|
|
23
|
+
services/ # Azure services (Automation, Search, Service Bus)
|
|
24
|
+
storage/ # Storage account components
|
|
25
|
+
vault/ # Key Vault and encryption helpers
|
|
26
|
+
vm/ # Virtual machine and disk encryption components
|
|
27
|
+
vnet/ # Networking (VNet, Firewall, CDN, etc.)
|
|
28
|
+
types.ts # Shared TypeScript types
|
|
29
|
+
ResourceBuilder.ts # Main builder for composing resources
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Getting Started
|
|
33
|
+
|
|
34
|
+
### Prerequisites
|
|
35
|
+
- [Node.js](https://nodejs.org/) (v16+ recommended)
|
|
36
|
+
- [Pulumi CLI](https://www.pulumi.com/docs/get-started/install/)
|
|
37
|
+
- Azure account with sufficient permissions
|
|
38
|
+
- [pnpm](https://pnpm.io/) (or npm/yarn)
|
|
39
|
+
|
|
40
|
+
### Installation
|
|
41
|
+
Clone the repository and install dependencies:
|
|
42
|
+
```bash
|
|
43
|
+
git clone <repo-url>
|
|
44
|
+
cd drunk-pulumi-azure-components
|
|
45
|
+
pnpm install
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Usage
|
|
49
|
+
You can use the components in your own Pulumi project or in the provided `pulumi-test/` directory for examples.
|
|
50
|
+
|
|
51
|
+
#### Example: Creating a Resource Group with Key Vault and Logging
|
|
52
|
+
```typescript
|
|
53
|
+
import { ResourceBuilder } from '../src/ResourceBuilder';
|
|
54
|
+
|
|
55
|
+
const builder = new ResourceBuilder('my-stack', {
|
|
56
|
+
groupRoles: { createWithName: 'my-rg-roles' },
|
|
57
|
+
vault: { /* vault config */ },
|
|
58
|
+
logs: { /* logs config */ },
|
|
59
|
+
enableDefaultUAssignId: true,
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
export const outputs = builder.getOutputs();
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
See `pulumi-test/samples/` for more usage examples.
|
|
66
|
+
|
|
67
|
+
### Project Scripts
|
|
68
|
+
- `pnpm build` – Compile TypeScript sources
|
|
69
|
+
- `pnpm lint` – Run ESLint
|
|
70
|
+
- `pnpm test` – Run tests (if available)
|
|
71
|
+
|
|
72
|
+
### Directory Reference
|
|
73
|
+
- **src/**: All core component code
|
|
74
|
+
- **pulumi-test/**: Example Pulumi stacks and sample usage
|
|
75
|
+
- **.devcontainer/**: Development container setup for VS Code
|
|
76
|
+
|
|
77
|
+
## Component Overview
|
|
78
|
+
- **ResourceBuilder**: Main entry point for composing resources (resource group, roles, vault, logs, disk encryption, etc.)
|
|
79
|
+
- **azAd/**: Azure AD roles, group roles, user-assigned identities
|
|
80
|
+
- **vault/**: Key Vaults, encryption keys, secrets
|
|
81
|
+
- **vm/**: Virtual machines, disk encryption sets
|
|
82
|
+
- **vnet/**: Virtual networks, firewalls, peering, endpoints
|
|
83
|
+
- **logs/**: Log analytics and monitoring
|
|
84
|
+
- **database/**: SQL, MySQL, Postgres, Redis
|
|
85
|
+
- **storage/**: Storage accounts
|
|
86
|
+
- **app/**: App Service, IoT Hub, Logic Apps, SignalR
|
|
87
|
+
- **services/**: Automation, Search, Service Bus
|
|
88
|
+
|
|
89
|
+
## Contributing
|
|
90
|
+
1. Fork the repository
|
|
91
|
+
2. Create a new branch (`git checkout -b feature/my-feature`)
|
|
92
|
+
3. Make your changes
|
|
93
|
+
4. Run tests and linting
|
|
94
|
+
5. Submit a pull request
|
|
95
|
+
|
|
96
|
+
## License
|
|
97
|
+
MIT License
|
|
98
|
+
|
|
99
|
+
## Support & Contact
|
|
100
|
+
For questions, issues, or feature requests, please open an issue on GitHub or contact the maintainer.
|
package/ResourceBuilder.d.ts
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import * as pulumi from '@pulumi/pulumi';
|
|
2
|
-
import { GroupRoleOutput } from './azAd';
|
|
2
|
+
import { GroupRoleOutput, UserAssignedIdentity } from './azAd';
|
|
3
3
|
import { BaseComponent } from './base/BaseComponent';
|
|
4
|
-
import { RsGroupArgs } from './common';
|
|
5
|
-
import { LogsArgs } from './logs';
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import { DiskEncryptionSetArgs } from './vm';
|
|
4
|
+
import { RsGroup, RsGroupArgs } from './common';
|
|
5
|
+
import { Logs, LogsArgs } from './logs';
|
|
6
|
+
import { KeyVault, KeyVaultArgs } from './vault';
|
|
7
|
+
import { DiskEncryptionSet, DiskEncryptionSetArgs } from './vm';
|
|
9
8
|
type GroupRoleOutputTypes = {
|
|
10
9
|
admin: pulumi.Output<GroupRoleOutput>;
|
|
11
10
|
contributor: pulumi.Output<GroupRoleOutput>;
|
|
12
11
|
readOnly: pulumi.Output<GroupRoleOutput>;
|
|
13
12
|
};
|
|
13
|
+
export type ResourceBuilderOutputs = {
|
|
14
|
+
groupRoles?: GroupRoleOutputTypes;
|
|
15
|
+
rsGroup: ReturnType<RsGroup['getOutputs']>;
|
|
16
|
+
vaultInfo?: ReturnType<KeyVault['getOutputs']>;
|
|
17
|
+
defaultUAssignedId?: ReturnType<UserAssignedIdentity['getOutputs']>;
|
|
18
|
+
logs?: ReturnType<Logs['getOutputs']>;
|
|
19
|
+
diskEncryptionSet?: ReturnType<DiskEncryptionSet['getOutputs']>;
|
|
20
|
+
};
|
|
14
21
|
type CommonProps = 'rsGroup' | 'groupRoles' | 'vaultInfo' | 'resourceGroupName';
|
|
15
22
|
export interface ResourceBuilderArgs extends Omit<RsGroupArgs, CommonProps> {
|
|
16
23
|
groupRoles?: {
|
|
@@ -22,33 +29,13 @@ export interface ResourceBuilderArgs extends Omit<RsGroupArgs, CommonProps> {
|
|
|
22
29
|
enableDefaultUAssignId?: boolean;
|
|
23
30
|
}
|
|
24
31
|
export declare class ResourceBuilder extends BaseComponent<ResourceBuilderArgs> {
|
|
25
|
-
readonly rsGroup:
|
|
26
|
-
readonly vaultInfo?:
|
|
32
|
+
readonly rsGroup: RsGroup;
|
|
33
|
+
readonly vaultInfo?: KeyVault;
|
|
27
34
|
readonly groupRoles?: GroupRoleOutputTypes;
|
|
28
|
-
readonly defaultUAssignedId?:
|
|
29
|
-
readonly logs?:
|
|
30
|
-
readonly diskEncryptionSet?:
|
|
35
|
+
readonly defaultUAssignedId?: UserAssignedIdentity;
|
|
36
|
+
readonly logs?: Logs;
|
|
37
|
+
readonly diskEncryptionSet?: DiskEncryptionSet;
|
|
31
38
|
constructor(name: string, args: ResourceBuilderArgs, opts?: pulumi.ComponentResourceOptions);
|
|
32
|
-
getOutputs():
|
|
33
|
-
groupRoles: GroupRoleOutputTypes | undefined;
|
|
34
|
-
rsGroup: {
|
|
35
|
-
resourceGroupName: pulumi.Output<string>;
|
|
36
|
-
location?: pulumi.Output<string> | undefined;
|
|
37
|
-
};
|
|
38
|
-
vaultInfo: {
|
|
39
|
-
resourceName: pulumi.Output<string>;
|
|
40
|
-
id: pulumi.Output<string>;
|
|
41
|
-
} | undefined;
|
|
42
|
-
defaultUAssignedId: {
|
|
43
|
-
id: pulumi.Output<string>;
|
|
44
|
-
clientId: pulumi.Output<string>;
|
|
45
|
-
principalId: pulumi.Output<string>;
|
|
46
|
-
} | undefined;
|
|
47
|
-
logs: types.LogsOutputs | undefined;
|
|
48
|
-
diskEncryptionSet: {
|
|
49
|
-
resourceName: pulumi.Output<string>;
|
|
50
|
-
id: pulumi.Output<string>;
|
|
51
|
-
} | undefined;
|
|
52
|
-
};
|
|
39
|
+
getOutputs(): ResourceBuilderOutputs;
|
|
53
40
|
}
|
|
54
41
|
export {};
|
package/ResourceBuilder.js
CHANGED
|
@@ -22,20 +22,21 @@ class ResourceBuilder extends BaseComponent_1.BaseComponent {
|
|
|
22
22
|
if ('createWithName' in groupRoles) {
|
|
23
23
|
this.groupRoles = new azAd_1.GroupRole(groupRoles.createWithName, {}, { dependsOn: opts?.dependsOn, parent: this }).getOutputs();
|
|
24
24
|
}
|
|
25
|
+
else if (groupRoles instanceof azAd_1.GroupRole)
|
|
26
|
+
this.groupRoles = groupRoles.getOutputs();
|
|
25
27
|
else
|
|
26
28
|
this.groupRoles = groupRoles;
|
|
27
29
|
}
|
|
28
|
-
|
|
29
|
-
this.rsGroup = group.getOutputs();
|
|
30
|
+
this.rsGroup = new common_1.RsGroup(name, { ...props, groupRoles: this.groupRoles }, { dependsOn: opts?.dependsOn, parent: this });
|
|
30
31
|
if (vault) {
|
|
31
|
-
this.vaultInfo = new vault_1.KeyVault(name, { ...vault, rsGroup: this.rsGroup, groupRoles: this.groupRoles }, { dependsOn:
|
|
32
|
+
this.vaultInfo = new vault_1.KeyVault(name, { ...vault, rsGroup: this.rsGroup, groupRoles: this.groupRoles }, { dependsOn: this.rsGroup, parent: this });
|
|
32
33
|
}
|
|
33
34
|
if (enableDefaultUAssignId) {
|
|
34
35
|
this.defaultUAssignedId = new azAd_1.UserAssignedIdentity(name, {
|
|
35
36
|
rsGroup: this.rsGroup,
|
|
36
37
|
vaultInfo: this.vaultInfo,
|
|
37
38
|
memberof: this.groupRoles ? [this.groupRoles.readOnly] : undefined,
|
|
38
|
-
}, { dependsOn:
|
|
39
|
+
}, { dependsOn: this.vaultInfo ? [this.rsGroup, this.vaultInfo] : this.rsGroup, parent: this });
|
|
39
40
|
}
|
|
40
41
|
if (logs) {
|
|
41
42
|
this.logs = new logs_1.Logs(name, {
|
|
@@ -43,7 +44,7 @@ class ResourceBuilder extends BaseComponent_1.BaseComponent {
|
|
|
43
44
|
rsGroup: this.rsGroup,
|
|
44
45
|
vaultInfo: this.vaultInfo,
|
|
45
46
|
groupRoles: this.groupRoles,
|
|
46
|
-
}, { dependsOn:
|
|
47
|
+
}, { dependsOn: this.vaultInfo ? [this.rsGroup, this.vaultInfo] : this.rsGroup, parent: this });
|
|
47
48
|
}
|
|
48
49
|
if (diskEncryption) {
|
|
49
50
|
this.diskEncryptionSet = new vm_1.DiskEncryptionSet(name, {
|
|
@@ -53,19 +54,19 @@ class ResourceBuilder extends BaseComponent_1.BaseComponent {
|
|
|
53
54
|
defaultUAssignedId: this.defaultUAssignedId,
|
|
54
55
|
vaultInfo: this.vaultInfo,
|
|
55
56
|
groupRoles: this.groupRoles,
|
|
56
|
-
}, { dependsOn:
|
|
57
|
+
}, { dependsOn: this.vaultInfo ? [this.rsGroup, this.vaultInfo] : this.rsGroup, parent: this });
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
60
|
getOutputs() {
|
|
60
61
|
return {
|
|
61
62
|
groupRoles: this.groupRoles,
|
|
62
|
-
rsGroup: this.rsGroup,
|
|
63
|
-
vaultInfo: this.vaultInfo,
|
|
64
|
-
defaultUAssignedId: this.defaultUAssignedId,
|
|
65
|
-
logs: this.logs,
|
|
66
|
-
diskEncryptionSet: this.diskEncryptionSet,
|
|
63
|
+
rsGroup: this.rsGroup.getOutputs(),
|
|
64
|
+
vaultInfo: this.vaultInfo?.getOutputs(),
|
|
65
|
+
defaultUAssignedId: this.defaultUAssignedId?.getOutputs(),
|
|
66
|
+
logs: this.logs?.getOutputs(),
|
|
67
|
+
diskEncryptionSet: this.diskEncryptionSet?.getOutputs(),
|
|
67
68
|
};
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
71
|
exports.ResourceBuilder = ResourceBuilder;
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzb3VyY2VCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1Jlc291cmNlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxpQ0FBMEU7QUFDMUUsd0RBQXFEO0FBQ3JELDRDQUEwRDtBQUMxRCxxQ0FBZ0Q7QUFDaEQsaUNBQXdDO0FBQ3hDLG1DQUFpRDtBQUNqRCw2QkFBZ0U7QUEyQmhFLE1BQWEsZUFBZ0IsU0FBUSw2QkFBa0M7SUFDckQsT0FBTyxDQUFVO0lBQ2pCLFNBQVMsQ0FBWTtJQUNyQixVQUFVLENBQXdCO0lBQ2xDLGtCQUFrQixDQUF3QjtJQUMxQyxJQUFJLENBQVE7SUFDWixpQkFBaUIsQ0FBcUI7SUFFdEQsWUFBWSxJQUFZLEVBQUUsSUFBeUIsRUFBRSxJQUFzQztRQUN6RixLQUFLLENBQUMsSUFBQSxrQ0FBd0IsRUFBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckUsTUFBTSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztRQUUzRixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsSUFBSSxnQkFBZ0IsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGdCQUFTLENBQzdCLFVBQVUsQ0FBQyxjQUFjLEVBQ3pCLEVBQUUsRUFDRixFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FDN0MsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNqQixDQUFDO2lCQUFNLElBQUksVUFBVSxZQUFZLGdCQUFTO2dCQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDOztnQkFDakYsSUFBSSxDQUFDLFVBQVUsR0FB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
|
package/aks/AzKubernetes.js
CHANGED
|
@@ -66,8 +66,6 @@ class AzKubernetes extends base_1.BaseResourceComponent {
|
|
|
66
66
|
createIdentity() {
|
|
67
67
|
const { rsGroup, vaultInfo, groupRoles } = this.args;
|
|
68
68
|
return new azAd_1.AppRegistration(`${this.name}-identity`, {
|
|
69
|
-
enableClientSecret: true,
|
|
70
|
-
servicePrincipal: { enabled: true },
|
|
71
69
|
vaultInfo,
|
|
72
70
|
memberof: groupRoles ? [groupRoles.readOnly] : undefined,
|
|
73
71
|
roleAssignments: [
|
|
@@ -285,4 +283,4 @@ class AzKubernetes extends base_1.BaseResourceComponent {
|
|
|
285
283
|
}
|
|
286
284
|
}
|
|
287
285
|
exports.AzKubernetes = AzKubernetes;
|
|
288
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXpLdWJlcm5ldGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Frcy9Bekt1YmVybmV0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkVBQTZEO0FBRTdELHVEQUF5QztBQUN6QyxrQ0FBMEQ7QUFDMUQsa0NBQWdFO0FBQ2hFLHNDQUF5QztBQUN6Qyx3Q0FBaUQ7QUFFakQsb0NBQXVDO0FBQ3ZDLCtEQUE0RDtBQUM1RCxzREFBd0M7QUFxRHhDLE1BQWEsWUFBYSxTQUFRLDRCQUF1QztJQUN2RCxFQUFFLENBQXdCO0lBQzFCLFlBQVksQ0FBd0I7SUFFcEQsWUFBWSxJQUFZLEVBQUUsSUFBc0IsRUFBRSxJQUFzQztRQUN0RixLQUFLLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFeEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUVqQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ2hDLENBQUM7SUFDSixDQUFD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
|
|
286
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXpLdWJlcm5ldGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Frcy9Bekt1YmVybmV0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkVBQTZEO0FBRTdELHVEQUF5QztBQUN6QyxrQ0FBMEQ7QUFDMUQsa0NBQWdFO0FBQ2hFLHNDQUF5QztBQUN6Qyx3Q0FBaUQ7QUFFakQsb0NBQXVDO0FBQ3ZDLCtEQUE0RDtBQUM1RCxzREFBd0M7QUFxRHhDLE1BQWEsWUFBYSxTQUFRLDRCQUF1QztJQUN2RCxFQUFFLENBQXdCO0lBQzFCLFlBQVksQ0FBd0I7SUFFcEQsWUFBWSxJQUFZLEVBQUUsSUFBc0IsRUFBRSxJQUFzQztRQUN0RixLQUFLLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFeEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUVqQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ2hDLENBQUM7SUFDSixDQUFD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
|
|
@@ -14,10 +14,7 @@ export interface AppRegistrationArgs extends WithVaultInfo, WithMemberOfArgs, Pi
|
|
|
14
14
|
info?: Pick<azAd.ApplicationArgs, 'description' | 'displayName' | 'logoImage' | 'marketingUrl' | 'notes' | 'privacyStatementUrl'>;
|
|
15
15
|
groupMembershipClaims?: pulumi.Input<GroupMembershipClaimsTypes[]>;
|
|
16
16
|
identifierUris?: pulumi.Input<pulumi.Input<string>[]>;
|
|
17
|
-
|
|
18
|
-
servicePrincipal?: Pick<azAd.ServicePrincipalArgs, 'notificationEmailAddresses' | 'preferredSingleSignOnMode' | 'samlSingleSignOn' | 'appRoleAssignmentRequired'> & {
|
|
19
|
-
enabled: boolean;
|
|
20
|
-
};
|
|
17
|
+
servicePrincipal?: Pick<azAd.ServicePrincipalArgs, 'notificationEmailAddresses' | 'preferredSingleSignOnMode' | 'samlSingleSignOn' | 'appRoleAssignmentRequired'>;
|
|
21
18
|
appType?: 'web' | 'singlePageApplication' | 'native';
|
|
22
19
|
/** This is require when the appType is 'web' or 'singlePageApplication' */
|
|
23
20
|
redirectUris?: pulumi.Input<pulumi.Input<string>[]>;
|
|
@@ -44,6 +41,7 @@ export declare class AppRegistration extends BaseComponent<AppRegistrationArgs>
|
|
|
44
41
|
servicePrincipalId: pulumi.Output<string> | undefined;
|
|
45
42
|
servicePrincipalPassword: pulumi.Output<string> | undefined;
|
|
46
43
|
};
|
|
44
|
+
private createAppRegistration;
|
|
47
45
|
private createServicePrincipal;
|
|
48
46
|
private createClientSecret;
|
|
49
47
|
private addRoleAssignments;
|
package/azAd/AppRegistration.js
CHANGED
|
@@ -56,46 +56,13 @@ class AppRegistration extends BaseComponent_1.BaseComponent {
|
|
|
56
56
|
//private readonly _app: azAd.Application;
|
|
57
57
|
constructor(name, args = { appType: 'native' }, opts) {
|
|
58
58
|
super((0, helpers_1.getComponentResourceType)('AppRegistration'), name, args, opts);
|
|
59
|
-
const ops = args.info ?? {
|
|
60
|
-
displayName: name,
|
|
61
|
-
description: name,
|
|
62
|
-
};
|
|
63
59
|
//Application
|
|
64
|
-
const app =
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
identifierUris: args.identifierUris,
|
|
71
|
-
requiredResourceAccesses: args.requiredResourceAccesses,
|
|
72
|
-
optionalClaims: args.optionalClaims,
|
|
73
|
-
groupMembershipClaims: args.groupMembershipClaims,
|
|
74
|
-
appRoles: args.appRoles,
|
|
75
|
-
//Expose the API
|
|
76
|
-
api: args.api,
|
|
77
|
-
owners: args.owners,
|
|
78
|
-
//Clients Apps
|
|
79
|
-
web: args.appType == 'web'
|
|
80
|
-
? {
|
|
81
|
-
redirectUris: args.redirectUris,
|
|
82
|
-
logoutUrl: args.logoutUrl,
|
|
83
|
-
implicitGrant: args.implicitGrant,
|
|
84
|
-
homepageUrl: args.homepageUrl,
|
|
85
|
-
}
|
|
86
|
-
: undefined,
|
|
87
|
-
singlePageApplication: args.appType == 'singlePageApplication' ? { redirectUris: args.redirectUris } : undefined,
|
|
88
|
-
}, { ...opts, parent: this });
|
|
89
|
-
this.addSecret('client-id', app.clientId);
|
|
90
|
-
if (args.enableClientSecret) {
|
|
91
|
-
const secret = this.createClientSecret(app);
|
|
92
|
-
this.clientSecret = secret.clientSecret;
|
|
93
|
-
}
|
|
94
|
-
if (args.servicePrincipal?.enabled) {
|
|
95
|
-
const sp = this.createServicePrincipal(app);
|
|
96
|
-
this.servicePrincipalId = sp.servicePrincipalId;
|
|
97
|
-
this.servicePrincipalPassword = sp.servicePrincipalPassword;
|
|
98
|
-
}
|
|
60
|
+
const app = this.createAppRegistration();
|
|
61
|
+
const secret = this.createClientSecret(app);
|
|
62
|
+
this.clientSecret = secret.clientSecret;
|
|
63
|
+
const sp = this.createServicePrincipal(app);
|
|
64
|
+
this.servicePrincipalId = sp.servicePrincipalId;
|
|
65
|
+
this.servicePrincipalPassword = sp.servicePrincipalPassword;
|
|
99
66
|
this.addMemberOf(app);
|
|
100
67
|
this.clientId = app.clientId;
|
|
101
68
|
this.registerOutputs(this.getOutputs());
|
|
@@ -108,6 +75,30 @@ class AppRegistration extends BaseComponent_1.BaseComponent {
|
|
|
108
75
|
servicePrincipalPassword: this.servicePrincipalPassword,
|
|
109
76
|
};
|
|
110
77
|
}
|
|
78
|
+
createAppRegistration() {
|
|
79
|
+
const ops = this.args.info ?? {
|
|
80
|
+
displayName: this.name,
|
|
81
|
+
description: this.name,
|
|
82
|
+
};
|
|
83
|
+
const app = new azAd.Application(this.name, {
|
|
84
|
+
...this.args,
|
|
85
|
+
...ops,
|
|
86
|
+
preventDuplicateNames: true,
|
|
87
|
+
signInAudience: 'AzureADMyOrg',
|
|
88
|
+
//Clients Apps
|
|
89
|
+
web: this.args.appType == 'web'
|
|
90
|
+
? {
|
|
91
|
+
redirectUris: this.args.redirectUris,
|
|
92
|
+
logoutUrl: this.args.logoutUrl,
|
|
93
|
+
implicitGrant: this.args.implicitGrant,
|
|
94
|
+
homepageUrl: this.args.homepageUrl,
|
|
95
|
+
}
|
|
96
|
+
: undefined,
|
|
97
|
+
singlePageApplication: this.args.appType == 'singlePageApplication' ? { redirectUris: this.args.redirectUris } : undefined,
|
|
98
|
+
}, { ...this.opts, parent: this });
|
|
99
|
+
this.addSecret('client-id', app.clientId);
|
|
100
|
+
return app;
|
|
101
|
+
}
|
|
111
102
|
createServicePrincipal(app) {
|
|
112
103
|
//Service Principal
|
|
113
104
|
const sp = new azAd.ServicePrincipal(`${this.name}-sp`, {
|
|
@@ -162,4 +153,4 @@ class AppRegistration extends BaseComponent_1.BaseComponent {
|
|
|
162
153
|
}
|
|
163
154
|
}
|
|
164
155
|
exports.AppRegistration = AppRegistration;
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwUmVnaXN0cmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F6QWQvQXBwUmVnaXN0cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUF3QztBQUN4Qyx1REFBeUM7QUFDekMseURBQXNEO0FBQ3RELDZDQUEyRDtBQUUzRCxvQ0FBdUM7QUFDdkMscURBQXNFO0FBRXRFLElBQVksMEJBTVg7QUFORCxXQUFZLDBCQUEwQjtJQUNwQywyQ0FBYSxDQUFBO0lBQ2IsNkRBQStCLENBQUE7SUFDL0IsNkRBQStCLENBQUE7SUFDL0IsbUVBQXFDLENBQUE7SUFDckMseUNBQVcsQ0FBQTtBQUNiLENBQUMsRUFOVywwQkFBMEIsMENBQTFCLDBCQUEwQixRQU1yQztBQXlDRCxNQUFhLGVBQWdCLFNBQVEsNkJBQWtDO0lBQ3JELFFBQVEsQ0FBd0I7SUFDaEMsWUFBWSxDQUF5QjtJQUNyQyxrQkFBa0IsQ0FBeUI7SUFDM0Msd0JBQXdCLENBQXlCO0lBRWpFLDBDQUEwQztJQUUxQyxZQUFZLElBQVksRUFBRSxPQUE0QixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFzQztRQUNqSCxLQUFLLENBQUMsSUFBQSxrQ0FBd0IsRUFBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFckUsYUFBYTtRQUNiLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFFeEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FB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
|
package/azAd/GroupRole.d.ts
CHANGED
|
@@ -20,10 +20,4 @@ export declare class GroupRole extends BaseComponent<GroupRoleArgs> {
|
|
|
20
20
|
readOnly: pulumi.Output<GroupRoleOutput>;
|
|
21
21
|
};
|
|
22
22
|
private configHierarchyRoles;
|
|
23
|
-
/**
|
|
24
|
-
* Selectively picks properties from the component instance
|
|
25
|
-
* @param keys - Array of property keys to pick from the component
|
|
26
|
-
* @returns Object containing only the selected properties
|
|
27
|
-
*/
|
|
28
|
-
PickOutputs<K extends keyof this>(...keys: K[]): Pick<this, K>;
|
|
29
23
|
}
|
package/azAd/GroupRole.js
CHANGED
|
@@ -91,17 +91,6 @@ class GroupRole extends BaseComponent_1.BaseComponent {
|
|
|
91
91
|
}, { dependsOn: Object.values(roles), parent: this });
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
|
-
/**
|
|
95
|
-
* Selectively picks properties from the component instance
|
|
96
|
-
* @param keys - Array of property keys to pick from the component
|
|
97
|
-
* @returns Object containing only the selected properties
|
|
98
|
-
*/
|
|
99
|
-
PickOutputs(...keys) {
|
|
100
|
-
return keys.reduce((acc, key) => {
|
|
101
|
-
acc[key] = this[key];
|
|
102
|
-
return acc;
|
|
103
|
-
}, {});
|
|
104
|
-
}
|
|
105
94
|
}
|
|
106
95
|
exports.GroupRole = GroupRole;
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JvdXBSb2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F6QWQvR3JvdXBSb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUF3QztBQUN4Qyx1REFBeUM7QUFDekMseURBQXNEO0FBQ3RELDZDQUEyRDtBQUMzRCx3Q0FBdUM7QUFFdkMscUNBQThDO0FBYTlDLE1BQWEsU0FBVSxTQUFRLDZCQUE0QjtJQUN6QyxLQUFLLENBQWlDO0lBQ3RDLFdBQVcsQ0FBaUM7SUFDNUMsUUFBUSxDQUFpQztJQUV6RCxZQUFZLE9BQWUsbUJBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBc0IsRUFBRSxFQUFFLElBQXNDO1FBQzFHLEtBQUssQ0FBQyxJQUFBLGtDQUF3QixFQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFL0QsTUFBTSxLQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBVSxDQUFDO1FBRTVELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ3RDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2xCLElBQUk7WUFDSixJQUFJLGVBQU0sQ0FDUixHQUFHLElBQUksSUFBSSxJQUFJLEVBQUUsRUFDakI7Z0JBQ0UsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU87Z0JBQzVCLHFCQUFxQixFQUFFLElBQUksQ0FBQyxxQkFBcUI7YUFDbEQsRUFDRCxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FDakI7U0FDRixDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUN6QixRQUFRLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQ3RDLFdBQVcsRUFBRSxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVc7U0FDN0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQy9CLFFBQVEsRUFBRSxhQUFhLENBQUMsV0FBVyxDQUFDLFFBQVE7WUFDNUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxXQUFXLENBQUMsV0FBVztTQUNuRCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDNUIsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUTtZQUN6QyxXQUFXLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1NBQ2hELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUM7SUFDSixDQUFDO0lBRU8sb0JBQW9CLENBQUMsS0FBOEI7UUFDekQsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQ2xCLEdBQUcsSUFBSSxDQUFDLElBQUksb0JBQW9CLEVBQ2hDO2dCQUNFLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7Z0JBQ3hDLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7YUFDcEMsRUFDRCxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FDbEQsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsSUFBSSx1QkFBdUIsRUFDbkM7Z0JBQ0UsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUTtnQkFDckMsY0FBYyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUTthQUMxQyxFQUNELEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUNsRCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7Q0FDRjtBQTVFRCw4QkE0RUMifQ==
|
package/azAd/helpers/index.js
CHANGED
|
@@ -16,15 +16,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.createAzureDevOpsAppRegistration = void 0;
|
|
18
18
|
__exportStar(require("./rsRoleDefinition"), exports);
|
|
19
|
+
const helpers_1 = require("../../helpers");
|
|
19
20
|
const AppRegistration_1 = require("../AppRegistration");
|
|
20
|
-
const graphBuiltIn_1 = require("./graphBuiltIn");
|
|
21
21
|
const RoleAssignment_1 = require("../RoleAssignment");
|
|
22
|
-
const
|
|
22
|
+
const graphBuiltIn_1 = require("./graphBuiltIn");
|
|
23
23
|
const createAzureDevOpsAppRegistration = (name, vaultInfo) => {
|
|
24
24
|
const graphAccess = (0, graphBuiltIn_1.getGraphPermissions)({ name: 'User.Read', type: 'Scope' });
|
|
25
25
|
const identity = new AppRegistration_1.AppRegistration(name, {
|
|
26
26
|
appType: 'native',
|
|
27
|
-
servicePrincipal: { enabled: true },
|
|
28
27
|
requiredResourceAccesses: [graphAccess],
|
|
29
28
|
vaultInfo,
|
|
30
29
|
});
|
|
@@ -36,4 +35,4 @@ const createAzureDevOpsAppRegistration = (name, vaultInfo) => {
|
|
|
36
35
|
}, { dependsOn: identity, parent: this });
|
|
37
36
|
};
|
|
38
37
|
exports.createAzureDevOpsAppRegistration = createAzureDevOpsAppRegistration;
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXpBZC9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQW1DO0FBRW5DLDJDQUF5QztBQUV6Qyx3REFBcUQ7QUFDckQsc0RBQW1EO0FBQ25ELGlEQUFxRDtBQUU5QyxNQUFNLGdDQUFnQyxHQUFHLENBQUMsSUFBWSxFQUFFLFNBQXlCLEVBQUUsRUFBRTtJQUMxRixNQUFNLFdBQVcsR0FBRyxJQUFBLGtDQUFtQixFQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUU5RSxNQUFNLFFBQVEsR0FBRyxJQUFJLGlDQUFlLENBQUMsSUFBSSxFQUFFO1FBQ3pDLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLHdCQUF3QixFQUFFLENBQUMsV0FBVyxDQUFDO1FBQ3ZDLFNBQVM7S0FDVixDQUFDLENBQUM7SUFFSCxJQUFJLCtCQUFjLENBQ2hCLElBQUksRUFDSjtRQUNFLFdBQVcsRUFBRSxRQUFRLENBQUMsa0JBQW1CO1FBQ3pDLGFBQWEsRUFBRSxrQkFBa0I7UUFDakMsUUFBUSxFQUFFLE9BQU87UUFDakIsS0FBSyxFQUFFLGtCQUFRLENBQUMsZUFBZTtLQUNoQyxFQUNELEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQ3RDLENBQUM7QUFDSixDQUFDLENBQUM7QUFuQlcsUUFBQSxnQ0FBZ0Msb0NBbUIzQyJ9
|
|
@@ -64,11 +64,31 @@ export declare function getRoleDefinitionByName(name: string): {
|
|
|
64
64
|
type: string;
|
|
65
65
|
description: string;
|
|
66
66
|
assignableScopes: string[];
|
|
67
|
-
permissions:
|
|
67
|
+
permissions: {
|
|
68
68
|
actions: string[];
|
|
69
69
|
notActions: never[];
|
|
70
70
|
dataActions: never[];
|
|
71
71
|
notDataActions: never[];
|
|
72
|
+
}[];
|
|
73
|
+
createdOn: string;
|
|
74
|
+
updatedOn: string;
|
|
75
|
+
createdBy: string;
|
|
76
|
+
updatedBy: string;
|
|
77
|
+
};
|
|
78
|
+
id: string;
|
|
79
|
+
type: string;
|
|
80
|
+
name: string;
|
|
81
|
+
} | {
|
|
82
|
+
properties: {
|
|
83
|
+
roleName: string;
|
|
84
|
+
type: string;
|
|
85
|
+
description: string;
|
|
86
|
+
assignableScopes: string[];
|
|
87
|
+
permissions: ({
|
|
88
|
+
actions: string[];
|
|
89
|
+
notActions: string[];
|
|
90
|
+
dataActions: never[];
|
|
91
|
+
notDataActions: never[];
|
|
72
92
|
conditionVersion?: undefined;
|
|
73
93
|
condition?: undefined;
|
|
74
94
|
} | {
|
|
@@ -87,4 +107,26 @@ export declare function getRoleDefinitionByName(name: string): {
|
|
|
87
107
|
id: string;
|
|
88
108
|
type: string;
|
|
89
109
|
name: string;
|
|
110
|
+
} | {
|
|
111
|
+
properties: {
|
|
112
|
+
roleName: string;
|
|
113
|
+
type: string;
|
|
114
|
+
description: string;
|
|
115
|
+
assignableScopes: string[];
|
|
116
|
+
permissions: {
|
|
117
|
+
actions: string[];
|
|
118
|
+
notActions: never[];
|
|
119
|
+
dataActions: string[];
|
|
120
|
+
notDataActions: never[];
|
|
121
|
+
conditionVersion: string;
|
|
122
|
+
condition: string;
|
|
123
|
+
}[];
|
|
124
|
+
createdOn: string;
|
|
125
|
+
updatedOn: string;
|
|
126
|
+
createdBy: null;
|
|
127
|
+
updatedBy: null;
|
|
128
|
+
};
|
|
129
|
+
id: string;
|
|
130
|
+
type: string;
|
|
131
|
+
name: string;
|
|
90
132
|
};
|