azp-cli 0.0.1 → 0.0.4

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.
@@ -0,0 +1,59 @@
1
+ # Copilot instructions for azp-cli
2
+
3
+ ## Big picture
4
+
5
+ - This is a Node.js/TypeScript terminal CLI for Azure PIM role activation/deactivation.
6
+ - Entry point: [src/index.ts](src/index.ts) (Commander commands; default is `activate`).
7
+ - Interactive flows: [src/cli.ts](src/cli.ts) (Inquirer menus + loops; calls Azure operations).
8
+ - Presets (config + merge logic): [src/presets.ts](src/presets.ts) (JSON file in user config dir; template expansion).
9
+ - Presets (interactive wizards): [src/presets-cli.ts](src/presets-cli.ts) (Inquirer-based add/edit flows; can query Azure for subscriptions/roles).
10
+ - Auth: [src/auth.ts](src/auth.ts) (Azure CLI credential + Microsoft Graph `/me` lookup).
11
+ - Azure PIM operations: [src/azure-pim.ts](src/azure-pim.ts) (ARM AuthorizationManagementClient schedule APIs).
12
+ - Terminal UX helpers: [src/ui.ts](src/ui.ts) (chalk formatting + single global ora spinner).
13
+
14
+ ## Key data flow
15
+
16
+ - `authenticate()` (AzureCliCredential) → Graph `/me` → returns `AuthContext` with `credential`, `userId`, `userPrincipalName`.
17
+ - `showMainMenu(authContext)` → activation/deactivation flows.
18
+ - Presets:
19
+ - CLI `--preset <name>` (and optional defaults) load from `presets.json` via `loadPresets()`.
20
+ - Effective one-shot options are resolved in `src/index.ts` with precedence: CLI flags > preset values > defaults > code defaults.
21
+ - `justification` templates are expanded at runtime using `AuthContext` (e.g., `${date}`, `${datetime}`, `${userPrincipalName}`).
22
+ - Subscriptions fetched via `SubscriptionClient` (`fetchSubscriptions`).
23
+ - Eligible roles via `roleEligibilitySchedules.listForScope("/subscriptions/{id}", { filter: "asTarget()" })`.
24
+ - Activate via `roleAssignmentScheduleRequests.create(..., { requestType: "SelfActivate", linkedRoleEligibilityScheduleId, scheduleInfo, justification })`.
25
+ - Deactivate via `requestType: "SelfDeactivate"` using `linkedRoleEligibilityScheduleId` from active schedules.
26
+
27
+ ## Developer workflows
28
+
29
+ - Install deps: `pnpm install` (repo pins pnpm in `package.json`).
30
+ - Dev run (ts-node): `pnpm dev` (runs `src/index.ts` with `tsconfig-paths/register`).
31
+ - Build: `pnpm build` (plain `tsc` → `dist/`).
32
+ - Run built CLI: `node dist/index.js` or `pnpm start`.
33
+ - Lint: `pnpm lint`.
34
+
35
+ ## Project conventions to follow
36
+
37
+ - Prefer UI helpers over raw `console.log` in flows:
38
+ - Use `startSpinner/succeedSpinner/failSpinner` and `logInfo/logSuccess/logWarning/logError` from [src/ui.ts](src/ui.ts).
39
+ - `ui.ts` maintains a single global spinner; stop/replace it instead of starting multiple spinners.
40
+ - Keep Azure calls in [src/azure-pim.ts](src/azure-pim.ts); keep prompt/control-flow in [src/cli.ts](src/cli.ts).
41
+ - Keep preset persistence and schema validation in [src/presets.ts](src/presets.ts); keep preset wizards/prompts in [src/presets-cli.ts](src/presets-cli.ts).
42
+ - Inquirer patterns used here:
43
+ - `type: "select"` for single-choice menus, `type: "checkbox"` for multi-select, `type: "confirm"` for final confirmation.
44
+ - Back navigation uses sentinel values like `"__BACK__"`.
45
+ - Errors:
46
+ - `src/index.ts` has top-level error handling and special-cases auth/Azure CLI errors (e.g., messages containing `AADSTS` or `AzureCliCredential`).
47
+ - In `azure-pim.ts`, 403/`AuthorizationFailed` returns an empty list (warn) instead of failing the whole flow.
48
+ - For presets, prefer clear “file path + next step” messages (e.g., mention `AZP_PRESETS_PATH` override or `azp preset list`).
49
+
50
+ ## Integration points / prerequisites
51
+
52
+ - Requires Azure CLI login (`az login`) because authentication uses `AzureCliCredential`.
53
+ - Microsoft Graph is used only to resolve the current user via `/me` (scopes: `https://graph.microsoft.com/.default`).
54
+ - ARM management calls use scope `https://management.azure.com/.default` and `@azure/arm-authorization` APIs.
55
+
56
+ ## TypeScript/build notes
57
+
58
+ - `tsconfig.json` uses `module`/`moduleResolution`: `NodeNext`, strict settings, and path alias `@/*` → `src/*`.
59
+ - Keep ESM/CJS interop consistent with current imports (don’t rewrite module style unless required).
@@ -21,5 +21,6 @@
21
21
  "**/node_modules": true,
22
22
  "**/dist": true,
23
23
  "**/pnpm-lock.yaml": true
24
- }
24
+ },
25
+ "cSpell.words": ["AADSTS"]
25
26
  }
package/CHANGELOG.md ADDED
@@ -0,0 +1,31 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
+
5
+ ### [0.0.4](https://github.com/tapanmeena/azp-cli/compare/v0.0.3...v0.0.4) (2026-01-13)
6
+
7
+ ### Features
8
+
9
+ - add reusable presets for activation/deactivation (stored in user config dir)
10
+ - add preset management commands: `preset list|show|add|edit|remove`
11
+ - support justification templates (`${date}`, `${datetime}`, `${userPrincipalName}`)
12
+
13
+ ### 0.0.3 (2026-01-13)
14
+
15
+ ### Features
16
+
17
+ - add Azure PIM CLI for role activation and deactivation ([2d10b87](https://github.com/tapanmeena/azp-cli/commit/2d10b87eab7d51a6427f4a70f200521e66e45b98))
18
+ - add copilot instructions for azp-cli ([4c9ab89](https://github.com/tapanmeena/azp-cli/commit/4c9ab894110595f2c88ef8b12073ea51b2c468ef))
19
+ - enhance CLI with non-interactive activation and deactivation options ([3e6fa12](https://github.com/tapanmeena/azp-cli/commit/3e6fa1253e7f1fa1e29c9a75cb90fa6a3d5484bc))
20
+
21
+ ### Bug Fixes
22
+
23
+ - revert version number to 0.0.1 in package.json ([0e814da](https://github.com/tapanmeena/azp-cli/commit/0e814da76560c3416602c46bdc9ae7c2b312e6ea))
24
+ - update @types/node dependency to version 25.0.6 ([21a03a1](https://github.com/tapanmeena/azp-cli/commit/21a03a12eff9ee372ff2f398dfdab40ae83891b1))
25
+ - update import paths to use relative references ([2a287af](https://github.com/tapanmeena/azp-cli/commit/2a287af68d1e0071a8c48af38d46546ccbe184e1))
26
+
27
+ ## [0.0.2] - 2026-01-13
28
+
29
+ ### Added
30
+
31
+ - Initial public release.
package/README.md CHANGED
@@ -72,11 +72,108 @@ node dist/index.js
72
72
 
73
73
  ### Commands
74
74
 
75
- | Command | Alias | Description |
76
- |---------|-------|-------------|
77
- | `activate` | `a` | Activate a role in Azure PIM (default) |
78
- | `deactivate` | `d` | Deactivate a role in Azure PIM |
79
- | `help` | - | Display help information |
75
+ | Command | Alias | Description |
76
+ | ------------ | ----- | -------------------------------------- |
77
+ | `activate` | `a` | Activate a role in Azure PIM (default) |
78
+ | `deactivate` | `d` | Deactivate a role in Azure PIM |
79
+ | `preset` | - | Manage reusable presets |
80
+ | `help` | - | Display help information |
81
+
82
+ ### One-command (non-interactive) activation
83
+
84
+ Use flags to activate PIM roles directly without going through the main menu.
85
+
86
+ ```bash
87
+ # Activate a single role by name (non-interactive)
88
+ azp activate --no-interactive --yes \
89
+ --subscription-id <SUBSCRIPTION_GUID> \
90
+ --role-name "Owner" \
91
+ --duration-hours 2 \
92
+ --justification "Break-glass for incident" \
93
+ --output json
94
+
95
+ # Activate multiple roles (repeat --role-name)
96
+ azp activate --no-interactive --yes \
97
+ --subscription-id <SUBSCRIPTION_GUID> \
98
+ --role-name "Contributor" \
99
+ --role-name "User Access Administrator"
100
+
101
+ # If a role name matches multiple eligible roles (different scopes),
102
+ # --no-interactive will error unless you explicitly allow activating all matches
103
+ azp activate --no-interactive --yes \
104
+ --subscription-id <SUBSCRIPTION_GUID> \
105
+ --role-name "Contributor" \
106
+ --allow-multiple
107
+
108
+ # Preview what would happen without submitting requests
109
+ azp activate --no-interactive --dry-run \
110
+ --subscription-id <SUBSCRIPTION_GUID> \
111
+ --role-name "Contributor" \
112
+ --output json
113
+ ```
114
+
115
+ ## Presets
116
+
117
+ Presets let you save your daily activation/deactivation routines (subscription + role names + duration + justification) and reuse them with `--preset <name>`.
118
+
119
+ ### Presets file location
120
+
121
+ By default, presets are stored in a per-user config file:
122
+
123
+ - macOS/Linux: `~/.config/azp-cli/presets.json` (or `$XDG_CONFIG_HOME/azp-cli/presets.json`)
124
+ - Windows: `%APPDATA%\azp-cli\presets.json`
125
+
126
+ Override the location with:
127
+
128
+ - `AZP_PRESETS_PATH=/path/to/presets.json`
129
+
130
+ ### Preset contents
131
+
132
+ A preset can define one or both blocks:
133
+
134
+ - `activate`: `subscriptionId`, `roleNames[]`, `durationHours`, `justification`, `allowMultiple`
135
+ - `deactivate`: `subscriptionId` (optional), `roleNames[]`, `justification`, `allowMultiple`
136
+
137
+ `justification` supports simple templates:
138
+
139
+ - `${date}` → `YYYY-MM-DD`
140
+ - `${datetime}` → ISO timestamp
141
+ - `${userPrincipalName}` → resolved from Microsoft Graph `/me`
142
+
143
+ ### Common workflows
144
+
145
+ ```bash
146
+ # Create a preset (interactive wizard)
147
+ azp preset add daily-ops
148
+
149
+ # Edit a preset (interactive wizard)
150
+ azp preset edit daily-ops
151
+
152
+ # You can also re-run add to overwrite an existing preset
153
+ azp preset add daily-ops
154
+
155
+ # List presets
156
+ azp preset list
157
+
158
+ # Show one preset
159
+ azp preset show daily-ops
160
+
161
+ # Use a preset (flags still override preset values)
162
+ azp activate --preset daily-ops --yes
163
+
164
+ # Non-interactive run using the preset
165
+ azp activate --preset daily-ops --no-interactive --yes --output json
166
+
167
+ # Deactivate using a preset
168
+ azp deactivate --preset daily-ops --no-interactive --yes
169
+ ```
170
+
171
+ ### Defaults
172
+
173
+ When you create a preset via `azp preset add`, you can optionally set it as the default for `activate` and/or `deactivate`.
174
+
175
+ - Default presets are applied automatically when you run one-shot flows and you haven’t explicitly provided the required flags.
176
+ - Example: after setting a default activate preset, `azp activate --no-interactive --yes` can work without specifying `--subscription-id`/`--role-name`.
80
177
 
81
178
  ### Example Session
82
179
 
@@ -132,6 +229,50 @@ pnpm start
132
229
  pnpm lint
133
230
  ```
134
231
 
232
+ ## Changelog & releases
233
+
234
+ This repo uses [Keep a Changelog](https://keepachangelog.com/) format in [CHANGELOG.md](CHANGELOG.md).
235
+
236
+ ### Recommended commit messages
237
+
238
+ For best results, use [Conventional Commits](https://www.conventionalcommits.org/):
239
+
240
+ - `feat: ...` (new feature) → minor bump
241
+ - `fix: ...` (bug fix) → patch bump
242
+ - `chore: ...`, `docs: ...`, `refactor: ...` (no bump unless breaking)
243
+
244
+ ### Cutting a release
245
+
246
+ 1. Make sure `CHANGELOG.md` has up-to-date entries under **Unreleased**.
247
+
248
+ 2. Run one of the following:
249
+
250
+ ```bash
251
+ # Automatically determines next version from commits, updates CHANGELOG.md,
252
+ # bumps package.json, and creates a git tag.
253
+ pnpm release
254
+
255
+ # Preview what would change
256
+ pnpm release:dry
257
+
258
+ # Force a specific bump if needed
259
+ pnpm release -- --release-as patch
260
+ pnpm release -- --release-as minor
261
+ pnpm release -- --release-as major
262
+ ```
263
+
264
+ 3. Push commits + tags:
265
+
266
+ ```bash
267
+ git push --follow-tags
268
+ ```
269
+
270
+ 4. Publish to npm (if desired):
271
+
272
+ ```bash
273
+ pnpm publish
274
+ ```
275
+
135
276
  ### Project Structure
136
277
 
137
278
  ```
@@ -161,6 +302,7 @@ azp-cli/
161
302
  ### "Azure CLI not found" Error
162
303
 
163
304
  Ensure Azure CLI is installed and accessible in your PATH:
305
+
164
306
  ```bash
165
307
  az --version
166
308
  ```
@@ -168,11 +310,13 @@ az --version
168
310
  ### Authentication Errors
169
311
 
170
312
  1. Make sure you're logged in to Azure CLI:
313
+
171
314
  ```bash
172
315
  az login
173
316
  ```
174
317
 
175
318
  2. Verify your account has PIM-eligible roles:
319
+
176
320
  ```bash
177
321
  az account show
178
322
  ```
@@ -39,6 +39,8 @@ export interface AzureActivationRequest {
39
39
  export declare const fetchSubscriptions: (credential: AzureCliCredential) => Promise<AzureSubscription[]>;
40
40
  export declare const fetchEligibleRolesForSubscription: (credential: AzureCliCredential, subscriptionId: string, subscriptionName: string, principalId: string) => Promise<EligibleAzureRole[]>;
41
41
  export declare const listActiveAzureRoles: (credential: AzureCliCredential, subscriptionId: string, subscriptionName: string, principalId: string) => Promise<ActiveAzureRole[]>;
42
- export declare const activateAzureRole: (credential: AzureCliCredential, request: AzureActivationRequest, subscriptionId: string) => Promise<void>;
42
+ export declare const activateAzureRole: (credential: AzureCliCredential, request: AzureActivationRequest, subscriptionId: string) => Promise<{
43
+ status?: string;
44
+ }>;
43
45
  export declare const deactivateAzureRole: (credential: AzureCliCredential, scope: string, roleEligibilityScheduleId: string, subscriptionId: string, principalId: string, roleDefinitionId: string, roleName?: string) => Promise<void>;
44
46
  //# sourceMappingURL=azure-pim.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"azure-pim.d.ts","sourceRoot":"","sources":["../src/azure-pim.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAIrD,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B,EAAE,MAAM,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,kBAAkB,GAAU,YAAY,kBAAkB,KAAG,OAAO,CAAC,iBAAiB,EAAE,CAgBpG,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,YAAY,kBAAkB,EAC9B,gBAAgB,MAAM,EACtB,kBAAkB,MAAM,EACxB,aAAa,MAAM,KAClB,OAAO,CAAC,iBAAiB,EAAE,CAqC7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,YAAY,kBAAkB,EAC9B,gBAAgB,MAAM,EACtB,kBAAkB,MAAM,EACxB,aAAa,MAAM,KAClB,OAAO,CAAC,eAAe,EAAE,CAwC3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,YAAY,kBAAkB,EAAE,SAAS,sBAAsB,EAAE,gBAAgB,MAAM,KAAG,OAAO,CAAC,IAAI,CAgD7I,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,YAAY,kBAAkB,EAC9B,OAAO,MAAM,EACb,2BAA2B,MAAM,EACjC,gBAAgB,MAAM,EACtB,aAAa,MAAM,EACnB,kBAAkB,MAAM,EACxB,WAAW,MAAM,KAChB,OAAO,CAAC,IAAI,CAoBd,CAAC"}
1
+ {"version":3,"file":"azure-pim.d.ts","sourceRoot":"","sources":["../src/azure-pim.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAIrD,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B,EAAE,MAAM,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,kBAAkB,GAAU,YAAY,kBAAkB,KAAG,OAAO,CAAC,iBAAiB,EAAE,CAgBpG,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,YAAY,kBAAkB,EAC9B,gBAAgB,MAAM,EACtB,kBAAkB,MAAM,EACxB,aAAa,MAAM,KAClB,OAAO,CAAC,iBAAiB,EAAE,CAqC7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,YAAY,kBAAkB,EAC9B,gBAAgB,MAAM,EACtB,kBAAkB,MAAM,EACxB,aAAa,MAAM,KAClB,OAAO,CAAC,eAAe,EAAE,CAwC3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,YAAY,kBAAkB,EAC9B,SAAS,sBAAsB,EAC/B,gBAAgB,MAAM,KACrB,OAAO,CAAC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAkD7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,YAAY,kBAAkB,EAC9B,OAAO,MAAM,EACb,2BAA2B,MAAM,EACjC,gBAAgB,MAAM,EACtB,aAAa,MAAM,EACnB,kBAAkB,MAAM,EACxB,WAAW,MAAM,KAChB,OAAO,CAAC,IAAI,CAoBd,CAAC"}
package/dist/azure-pim.js CHANGED
@@ -123,7 +123,7 @@ const activateAzureRole = async (credential, request, subscriptionId) => {
123
123
  (0, ui_1.succeedSpinner)(`Activation request submitted for "${request.roleName}"`);
124
124
  (0, ui_1.logBlank)();
125
125
  if (response.status) {
126
- console.log(` Status: ${(0, ui_1.formatStatus)(response.status)}`);
126
+ (0, ui_1.logDim)(` Status: ${(0, ui_1.formatStatus)(response.status)}`);
127
127
  }
128
128
  if (response.status === "Approved" || response.status === "Provisioned") {
129
129
  (0, ui_1.logSuccess)(`Role "${request.roleName}" has been activated successfully`);
@@ -134,6 +134,7 @@ const activateAzureRole = async (credential, request, subscriptionId) => {
134
134
  else if (response.status === "PendingApproval") {
135
135
  (0, ui_1.logWarning)(`Role activation for "${request.roleName}" is pending approval`);
136
136
  }
137
+ return { status: response.status };
137
138
  }
138
139
  catch (error) {
139
140
  (0, ui_1.failSpinner)(`Failed to activate role "${request.roleName}"`);
@@ -1 +1 @@
1
- {"version":3,"file":"azure-pim.js","sourceRoot":"","sources":["../src/azure-pim.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"azure-pim.js","sourceRoot":"","sources":["../src/azure-pim.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -1,4 +1,69 @@
1
1
  import { AuthContext } from "./auth";
2
+ export type ActivateOnceOptions = {
3
+ subscriptionId: string;
4
+ roleNames: string[];
5
+ durationHours?: number;
6
+ justification?: string;
7
+ dryRun?: boolean;
8
+ noInteractive?: boolean;
9
+ yes?: boolean;
10
+ allowMultiple?: boolean;
11
+ };
12
+ export type ActivateOnceResult = {
13
+ subscriptionId: string;
14
+ subscriptionName: string;
15
+ requestedRoleNames: string[];
16
+ resolvedTargets: Array<{
17
+ eligibilityId: string;
18
+ roleName: string;
19
+ scope: string;
20
+ scopeDisplayName: string;
21
+ roleDefinitionId: string;
22
+ }>;
23
+ durationHours: number;
24
+ justification: string;
25
+ dryRun: boolean;
26
+ results?: Array<{
27
+ eligibilityId: string;
28
+ roleName: string;
29
+ scopeDisplayName: string;
30
+ status?: string;
31
+ success: boolean;
32
+ error?: string;
33
+ }>;
34
+ };
35
+ export type DeactivateOnceOptions = {
36
+ subscriptionId?: string;
37
+ roleNames: string[];
38
+ justification?: string;
39
+ dryRun?: boolean;
40
+ noInteractive?: boolean;
41
+ yes?: boolean;
42
+ allowMultiple?: boolean;
43
+ };
44
+ export type DeactivateOnceResult = {
45
+ requestedRoleNames: string[];
46
+ resolvedTargets: Array<{
47
+ assignmentId: string;
48
+ roleName: string;
49
+ scope: string;
50
+ scopeDisplayName: string;
51
+ subscriptionId: string;
52
+ subscriptionName: string;
53
+ }>;
54
+ justification: string;
55
+ dryRun: boolean;
56
+ results?: Array<{
57
+ assignmentId: string;
58
+ roleName: string;
59
+ scopeDisplayName: string;
60
+ subscriptionName: string;
61
+ success: boolean;
62
+ error?: string;
63
+ }>;
64
+ };
65
+ export declare const activateOnce: (authContext: AuthContext, options: ActivateOnceOptions) => Promise<ActivateOnceResult>;
66
+ export declare const deactivateOnce: (authContext: AuthContext, options: DeactivateOnceOptions) => Promise<DeactivateOnceResult>;
2
67
  export declare const showMainMenu: (authContext: AuthContext) => Promise<void>;
3
68
  export declare const handleActivation: (authContext: AuthContext) => Promise<void>;
4
69
  export declare const handleDeactivation: (authContext: AuthContext) => Promise<void>;
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AA6CrC,eAAO,MAAM,YAAY,GAAU,aAAa,WAAW,KAAG,OAAO,CAAC,IAAI,CAgCzE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAU,aAAa,WAAW,KAAG,OAAO,CAAC,IAAI,CAwL7E,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAU,aAAa,WAAW,KAAG,OAAO,CAAC,IAAI,CAqI/E,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}