@firestartr/cli 3.0.1 → 3.1.0

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.
Files changed (21) hide show
  1. package/build/index.js +40656 -50133
  2. package/build/packages/cdk8s_renderer/imports/firestartr.dev.d.ts +0 -276
  3. package/build/packages/cdk8s_renderer/src/loader/loader.d.ts +1 -0
  4. package/build/packages/gh_provisioner/src/entities/base.d.ts +18 -9
  5. package/build/packages/gh_provisioner/src/entities/ghfeature/index.d.ts +2 -1
  6. package/build/packages/gh_provisioner/src/entities/ghmembership/index.d.ts +2 -1
  7. package/build/packages/gh_provisioner/src/entities/ghorgsettings/index.d.ts +2 -1
  8. package/build/packages/gh_provisioner/src/entities/ghorgvarsection/index.d.ts +2 -1
  9. package/build/packages/gh_provisioner/src/entities/ghorgwebhook/index.d.ts +2 -1
  10. package/build/packages/gh_provisioner/src/entities/ghrepo/index.d.ts +2 -1
  11. package/build/packages/gh_provisioner/src/entities/ghrepositorysecretssection/index.d.ts +2 -1
  12. package/build/packages/gh_provisioner/src/entities/group/index.d.ts +2 -1
  13. package/build/packages/gh_provisioner/src/entities/index.d.ts +3 -2
  14. package/build/packages/gh_provisioner/src/index.d.ts +2 -3
  15. package/build/packages/gh_provisioner/src/refs/index.d.ts +3 -7
  16. package/build/packages/gh_provisioner/src/refs/resolved.d.ts +3 -3
  17. package/build/packages/gh_provisioner/src/refs/resolver.d.ts +9 -3
  18. package/build/packages/operator/src/resolver/index.d.ts +7 -1
  19. package/build/packages/operator/src/tfworkspaces/process-operation.d.ts +6 -0
  20. package/package.json +1 -1
  21. package/build/packages/operator/src/tfworkspaceplans/processOperationPlan.d.ts +0 -14
@@ -3296,282 +3296,6 @@ export declare enum FirestartrTerraformWorkspaceSpecContextProvidersRefKind {
3296
3296
  /** FirestartrProviderConfig */
3297
3297
  FIRESTARTR_PROVIDER_CONFIG = "FirestartrProviderConfig"
3298
3298
  }
3299
- /**
3300
- * A workspace to handle Terraform code
3301
- *
3302
- * @schema FirestartrTerraformWorkspacePlan
3303
- */
3304
- export declare class FirestartrTerraformWorkspacePlan extends ApiObject {
3305
- /**
3306
- * Returns the apiVersion and kind for "FirestartrTerraformWorkspacePlan"
3307
- */
3308
- static readonly GVK: GroupVersionKind;
3309
- /**
3310
- * Renders a Kubernetes manifest for "FirestartrTerraformWorkspacePlan".
3311
- *
3312
- * This can be used to inline resource manifests inside other objects (e.g. as templates).
3313
- *
3314
- * @param props initialization props
3315
- */
3316
- static manifest(props: FirestartrTerraformWorkspacePlanProps): any;
3317
- /**
3318
- * Defines a "FirestartrTerraformWorkspacePlan" API object
3319
- * @param scope the scope in which to define this object
3320
- * @param id a scope-local name for the object
3321
- * @param props initialization props
3322
- */
3323
- constructor(scope: Construct, id: string, props: FirestartrTerraformWorkspacePlanProps);
3324
- /**
3325
- * Renders the object to Kubernetes JSON.
3326
- */
3327
- toJson(): any;
3328
- }
3329
- /**
3330
- * A workspace to handle Terraform code
3331
- *
3332
- * @schema FirestartrTerraformWorkspacePlan
3333
- */
3334
- export interface FirestartrTerraformWorkspacePlanProps {
3335
- /**
3336
- * @schema FirestartrTerraformWorkspacePlan#metadata
3337
- */
3338
- readonly metadata: ApiObjectMetadata;
3339
- /**
3340
- * @schema FirestartrTerraformWorkspacePlan#spec
3341
- */
3342
- readonly spec: FirestartrTerraformWorkspacePlanSpec;
3343
- }
3344
- /**
3345
- * Converts an object of type 'FirestartrTerraformWorkspacePlanProps' to JSON representation.
3346
- */
3347
- export declare function toJson_FirestartrTerraformWorkspacePlanProps(obj: FirestartrTerraformWorkspacePlanProps | undefined): Record<string, any> | undefined;
3348
- /**
3349
- * @schema FirestartrTerraformWorkspacePlanSpec
3350
- */
3351
- export interface FirestartrTerraformWorkspacePlanSpec {
3352
- /**
3353
- * @schema FirestartrTerraformWorkspacePlanSpec#context
3354
- */
3355
- readonly context?: FirestartrTerraformWorkspacePlanSpecContext;
3356
- /**
3357
- * @schema FirestartrTerraformWorkspacePlanSpec#firestartr
3358
- */
3359
- readonly firestartr: FirestartrTerraformWorkspacePlanSpecFirestartr;
3360
- /**
3361
- * @schema FirestartrTerraformWorkspacePlanSpec#module
3362
- */
3363
- readonly module?: string;
3364
- /**
3365
- * @schema FirestartrTerraformWorkspacePlanSpec#source
3366
- */
3367
- readonly source?: FirestartrTerraformWorkspacePlanSpecSource;
3368
- /**
3369
- * @schema FirestartrTerraformWorkspacePlanSpec#values
3370
- */
3371
- readonly values?: string;
3372
- /**
3373
- * @schema FirestartrTerraformWorkspacePlanSpec#references
3374
- */
3375
- readonly references?: FirestartrTerraformWorkspacePlanSpecReferences[];
3376
- /**
3377
- * @schema FirestartrTerraformWorkspacePlanSpec#writeConnectionSecretToRef
3378
- */
3379
- readonly writeConnectionSecretToRef?: FirestartrTerraformWorkspacePlanSpecWriteConnectionSecretToRef;
3380
- }
3381
- /**
3382
- * Converts an object of type 'FirestartrTerraformWorkspacePlanSpec' to JSON representation.
3383
- */
3384
- export declare function toJson_FirestartrTerraformWorkspacePlanSpec(obj: FirestartrTerraformWorkspacePlanSpec | undefined): Record<string, any> | undefined;
3385
- /**
3386
- * @schema FirestartrTerraformWorkspacePlanSpecContext
3387
- */
3388
- export interface FirestartrTerraformWorkspacePlanSpecContext {
3389
- /**
3390
- * @schema FirestartrTerraformWorkspacePlanSpecContext#backend
3391
- */
3392
- readonly backend: FirestartrTerraformWorkspacePlanSpecContextBackend;
3393
- /**
3394
- * @schema FirestartrTerraformWorkspacePlanSpecContext#providers
3395
- */
3396
- readonly providers: FirestartrTerraformWorkspacePlanSpecContextProviders[];
3397
- }
3398
- /**
3399
- * Converts an object of type 'FirestartrTerraformWorkspacePlanSpecContext' to JSON representation.
3400
- */
3401
- export declare function toJson_FirestartrTerraformWorkspacePlanSpecContext(obj: FirestartrTerraformWorkspacePlanSpecContext | undefined): Record<string, any> | undefined;
3402
- /**
3403
- * @schema FirestartrTerraformWorkspacePlanSpecFirestartr
3404
- */
3405
- export interface FirestartrTerraformWorkspacePlanSpecFirestartr {
3406
- /**
3407
- * @schema FirestartrTerraformWorkspacePlanSpecFirestartr#tfStateKey
3408
- */
3409
- readonly tfStateKey: string;
3410
- }
3411
- /**
3412
- * Converts an object of type 'FirestartrTerraformWorkspacePlanSpecFirestartr' to JSON representation.
3413
- */
3414
- export declare function toJson_FirestartrTerraformWorkspacePlanSpecFirestartr(obj: FirestartrTerraformWorkspacePlanSpecFirestartr | undefined): Record<string, any> | undefined;
3415
- /**
3416
- * @schema FirestartrTerraformWorkspacePlanSpecSource
3417
- */
3418
- export declare enum FirestartrTerraformWorkspacePlanSpecSource {
3419
- /** Remote */
3420
- REMOTE = "Remote",
3421
- /** Inline */
3422
- INLINE = "Inline"
3423
- }
3424
- /**
3425
- * @schema FirestartrTerraformWorkspacePlanSpecReferences
3426
- */
3427
- export interface FirestartrTerraformWorkspacePlanSpecReferences {
3428
- /**
3429
- * @schema FirestartrTerraformWorkspacePlanSpecReferences#name
3430
- */
3431
- readonly name?: string;
3432
- /**
3433
- * @schema FirestartrTerraformWorkspacePlanSpecReferences#ref
3434
- */
3435
- readonly ref?: FirestartrTerraformWorkspacePlanSpecReferencesRef;
3436
- }
3437
- /**
3438
- * Converts an object of type 'FirestartrTerraformWorkspacePlanSpecReferences' to JSON representation.
3439
- */
3440
- export declare function toJson_FirestartrTerraformWorkspacePlanSpecReferences(obj: FirestartrTerraformWorkspacePlanSpecReferences | undefined): Record<string, any> | undefined;
3441
- /**
3442
- * @schema FirestartrTerraformWorkspacePlanSpecWriteConnectionSecretToRef
3443
- */
3444
- export interface FirestartrTerraformWorkspacePlanSpecWriteConnectionSecretToRef {
3445
- /**
3446
- * @schema FirestartrTerraformWorkspacePlanSpecWriteConnectionSecretToRef#name
3447
- */
3448
- readonly name: string;
3449
- /**
3450
- * @schema FirestartrTerraformWorkspacePlanSpecWriteConnectionSecretToRef#outputs
3451
- */
3452
- readonly outputs: FirestartrTerraformWorkspacePlanSpecWriteConnectionSecretToRefOutputs[];
3453
- }
3454
- /**
3455
- * Converts an object of type 'FirestartrTerraformWorkspacePlanSpecWriteConnectionSecretToRef' to JSON representation.
3456
- */
3457
- export declare function toJson_FirestartrTerraformWorkspacePlanSpecWriteConnectionSecretToRef(obj: FirestartrTerraformWorkspacePlanSpecWriteConnectionSecretToRef | undefined): Record<string, any> | undefined;
3458
- /**
3459
- * @schema FirestartrTerraformWorkspacePlanSpecContextBackend
3460
- */
3461
- export interface FirestartrTerraformWorkspacePlanSpecContextBackend {
3462
- /**
3463
- * @schema FirestartrTerraformWorkspacePlanSpecContextBackend#ref
3464
- */
3465
- readonly ref: FirestartrTerraformWorkspacePlanSpecContextBackendRef;
3466
- }
3467
- /**
3468
- * Converts an object of type 'FirestartrTerraformWorkspacePlanSpecContextBackend' to JSON representation.
3469
- */
3470
- export declare function toJson_FirestartrTerraformWorkspacePlanSpecContextBackend(obj: FirestartrTerraformWorkspacePlanSpecContextBackend | undefined): Record<string, any> | undefined;
3471
- /**
3472
- * @schema FirestartrTerraformWorkspacePlanSpecContextProviders
3473
- */
3474
- export interface FirestartrTerraformWorkspacePlanSpecContextProviders {
3475
- /**
3476
- * @schema FirestartrTerraformWorkspacePlanSpecContextProviders#ref
3477
- */
3478
- readonly ref: FirestartrTerraformWorkspacePlanSpecContextProvidersRef;
3479
- }
3480
- /**
3481
- * Converts an object of type 'FirestartrTerraformWorkspacePlanSpecContextProviders' to JSON representation.
3482
- */
3483
- export declare function toJson_FirestartrTerraformWorkspacePlanSpecContextProviders(obj: FirestartrTerraformWorkspacePlanSpecContextProviders | undefined): Record<string, any> | undefined;
3484
- /**
3485
- * @schema FirestartrTerraformWorkspacePlanSpecReferencesRef
3486
- */
3487
- export interface FirestartrTerraformWorkspacePlanSpecReferencesRef {
3488
- /**
3489
- * @schema FirestartrTerraformWorkspacePlanSpecReferencesRef#kind
3490
- */
3491
- readonly kind: FirestartrTerraformWorkspacePlanSpecReferencesRefKind;
3492
- /**
3493
- * @schema FirestartrTerraformWorkspacePlanSpecReferencesRef#name
3494
- */
3495
- readonly name: string;
3496
- /**
3497
- * @schema FirestartrTerraformWorkspacePlanSpecReferencesRef#key
3498
- */
3499
- readonly key: string;
3500
- }
3501
- /**
3502
- * Converts an object of type 'FirestartrTerraformWorkspacePlanSpecReferencesRef' to JSON representation.
3503
- */
3504
- export declare function toJson_FirestartrTerraformWorkspacePlanSpecReferencesRef(obj: FirestartrTerraformWorkspacePlanSpecReferencesRef | undefined): Record<string, any> | undefined;
3505
- /**
3506
- * @schema FirestartrTerraformWorkspacePlanSpecWriteConnectionSecretToRefOutputs
3507
- */
3508
- export interface FirestartrTerraformWorkspacePlanSpecWriteConnectionSecretToRefOutputs {
3509
- /**
3510
- * @schema FirestartrTerraformWorkspacePlanSpecWriteConnectionSecretToRefOutputs#key
3511
- */
3512
- readonly key: string;
3513
- }
3514
- /**
3515
- * Converts an object of type 'FirestartrTerraformWorkspacePlanSpecWriteConnectionSecretToRefOutputs' to JSON representation.
3516
- */
3517
- export declare function toJson_FirestartrTerraformWorkspacePlanSpecWriteConnectionSecretToRefOutputs(obj: FirestartrTerraformWorkspacePlanSpecWriteConnectionSecretToRefOutputs | undefined): Record<string, any> | undefined;
3518
- /**
3519
- * @schema FirestartrTerraformWorkspacePlanSpecContextBackendRef
3520
- */
3521
- export interface FirestartrTerraformWorkspacePlanSpecContextBackendRef {
3522
- /**
3523
- * @schema FirestartrTerraformWorkspacePlanSpecContextBackendRef#kind
3524
- */
3525
- readonly kind: FirestartrTerraformWorkspacePlanSpecContextBackendRefKind;
3526
- /**
3527
- * @schema FirestartrTerraformWorkspacePlanSpecContextBackendRef#name
3528
- */
3529
- readonly name: string;
3530
- }
3531
- /**
3532
- * Converts an object of type 'FirestartrTerraformWorkspacePlanSpecContextBackendRef' to JSON representation.
3533
- */
3534
- export declare function toJson_FirestartrTerraformWorkspacePlanSpecContextBackendRef(obj: FirestartrTerraformWorkspacePlanSpecContextBackendRef | undefined): Record<string, any> | undefined;
3535
- /**
3536
- * @schema FirestartrTerraformWorkspacePlanSpecContextProvidersRef
3537
- */
3538
- export interface FirestartrTerraformWorkspacePlanSpecContextProvidersRef {
3539
- /**
3540
- * @schema FirestartrTerraformWorkspacePlanSpecContextProvidersRef#kind
3541
- */
3542
- readonly kind: FirestartrTerraformWorkspacePlanSpecContextProvidersRefKind;
3543
- /**
3544
- * @schema FirestartrTerraformWorkspacePlanSpecContextProvidersRef#name
3545
- */
3546
- readonly name: string;
3547
- }
3548
- /**
3549
- * Converts an object of type 'FirestartrTerraformWorkspacePlanSpecContextProvidersRef' to JSON representation.
3550
- */
3551
- export declare function toJson_FirestartrTerraformWorkspacePlanSpecContextProvidersRef(obj: FirestartrTerraformWorkspacePlanSpecContextProvidersRef | undefined): Record<string, any> | undefined;
3552
- /**
3553
- * @schema FirestartrTerraformWorkspacePlanSpecReferencesRefKind
3554
- */
3555
- export declare enum FirestartrTerraformWorkspacePlanSpecReferencesRefKind {
3556
- /** FirestartrTerraformWorkspace */
3557
- FIRESTARTR_TERRAFORM_WORKSPACE = "FirestartrTerraformWorkspace",
3558
- /** ExternalSecret */
3559
- EXTERNAL_SECRET = "ExternalSecret"
3560
- }
3561
- /**
3562
- * @schema FirestartrTerraformWorkspacePlanSpecContextBackendRefKind
3563
- */
3564
- export declare enum FirestartrTerraformWorkspacePlanSpecContextBackendRefKind {
3565
- /** FirestartrProviderConfig */
3566
- FIRESTARTR_PROVIDER_CONFIG = "FirestartrProviderConfig"
3567
- }
3568
- /**
3569
- * @schema FirestartrTerraformWorkspacePlanSpecContextProvidersRefKind
3570
- */
3571
- export declare enum FirestartrTerraformWorkspacePlanSpecContextProvidersRefKind {
3572
- /** FirestartrProviderConfig */
3573
- FIRESTARTR_PROVIDER_CONFIG = "FirestartrProviderConfig"
3574
- }
3575
3299
  /**
3576
3300
  * A resource to handle Terraform results.
3577
3301
  *
@@ -12,6 +12,7 @@ export declare function loadOverrides(claim: any): OverriderPatches[];
12
12
  * @returns
13
13
  */
14
14
  export declare function loadNormalizers(_claim: any, path?: string): Promise<Normalizer[]>;
15
+ export declare function resetFileInitializersCache(): void;
15
16
  export declare function loadInitializers(claim: any, claimPath?: string, initializersPath?: string): Promise<InitializerPatches[]>;
16
17
  export declare function loadClaimDefaults(): any;
17
18
  export declare function patchClaim(claim: any, defaultsClaims: any): any;
@@ -1,5 +1,5 @@
1
1
  import { EntityCR } from './cr';
2
- import type { RefResolver } from '../refs';
2
+ import type { Dependencies, Ref, ResolvedRef } from '../refs';
3
3
  declare enum PatchOperations {
4
4
  add = "add",
5
5
  replace = "replace",
@@ -17,22 +17,31 @@ export declare abstract class Entity {
17
17
  sessionId?: string;
18
18
  sessionProjectPath?: string;
19
19
  __ghProvisionerSessionWorkspaceInitialized?: boolean;
20
- static refResolver: RefResolver;
21
- static setRefResolver(refResolver: RefResolver): void;
22
20
  _cr: EntityCR;
23
21
  _document: any;
24
22
  _importDocument: any;
25
- _deps: any;
23
+ _deps: Dependencies;
26
24
  _streamGHProvisioner: any;
27
25
  _streamTFProvisioner: any;
28
- constructor(artifact: any, document?: any);
26
+ constructor(artifact: any, document?: any, deps?: Dependencies);
27
+ resolveRef(ref: Ref): ResolvedRef | null;
28
+ /**
29
+ * Resolves a ref this execution cannot work without. An unresolved ref
30
+ * throws a readable error here instead of surfacing later as a TypeError
31
+ * from a null dereference.
32
+ */
33
+ requireRef(ref: Ref): ResolvedRef;
34
+ /**
35
+ * Resolves a ref and one of its required outputs. Throws a readable error
36
+ * when either the ref itself or the output key is absent, instead of
37
+ * provisioning `undefined`.
38
+ */
39
+ requireOutput(ref: Ref, key: string): any;
29
40
  abstract loadResources(tfOp: string): Promise<void>;
30
41
  abstract postProvision(tfOp: string): Promise<void>;
31
42
  abstract loadAddressesToImport(): Promise<void>;
32
43
  patchData(patch: PatchData): void;
33
44
  patchImportData(patch: PatchData): void;
34
- set deps(deps: any);
35
- get deps(): any;
36
45
  set streamGHProvisioner(logStreamCallbacksGHProvisioner: any);
37
46
  get streamGHProvisioner(): any;
38
47
  set streamTFProvisioner(logStreamCallbacksTF: any);
@@ -49,8 +58,8 @@ export declare abstract class Entity {
49
58
  get inDebugMode(): boolean;
50
59
  get terraformModule(): any;
51
60
  get terraformModuleAsURL(): string;
52
- get backend(): any;
53
- get provider(): any;
61
+ get backend(): ResolvedRef;
62
+ get provider(): ResolvedRef;
54
63
  runWithGithubProvider(fn: Function): Promise<unknown>;
55
64
  get githubGithubProviderCredentials(): {};
56
65
  }
@@ -1,7 +1,8 @@
1
1
  import { Entity } from '../base';
2
+ import type { Dependencies } from '../../refs';
2
3
  export declare class EntityGHFeature extends Entity {
3
4
  _newlyProvisionedAddresses: string[];
4
- constructor(artifact: any);
5
+ constructor(artifact: any, deps?: Dependencies);
5
6
  loadResources(tfOp: string): Promise<void>;
6
7
  postProvision(tfOp: string): Promise<void>;
7
8
  /**
@@ -1,7 +1,8 @@
1
1
  import { Entity } from '../base';
2
+ import type { Dependencies } from '../../refs';
2
3
  export declare class EntityGHMembership extends Entity {
3
4
  teamAllId: number | undefined;
4
- constructor(artifact: any);
5
+ constructor(artifact: any, deps?: Dependencies);
5
6
  loadResources(tfOp: string): Promise<void>;
6
7
  postProvision(tfOp: string): Promise<void>;
7
8
  loadAddressesToImport(): Promise<void>;
@@ -1,6 +1,7 @@
1
1
  import { Entity } from '../base';
2
+ import type { Dependencies } from '../../refs';
2
3
  export declare class EntityGHOrgSettings extends Entity {
3
- constructor(artifact: any);
4
+ constructor(artifact: any, deps?: Dependencies);
4
5
  loadResources(tfOp: string): Promise<void>;
5
6
  postProvision(tfOp: string): Promise<void>;
6
7
  loadAddressesToImport(): Promise<void>;
@@ -1,6 +1,7 @@
1
1
  import { Entity } from '../base';
2
+ import type { Dependencies } from '../../refs';
2
3
  export declare class EntityGHOrgVarsSection extends Entity {
3
- constructor(artifact: any);
4
+ constructor(artifact: any, deps?: Dependencies);
4
5
  loadResources(tfOp: string): Promise<void>;
5
6
  private adoptVariablesIfNeeded;
6
7
  postProvision(tfOp: string): Promise<void>;
@@ -1,6 +1,7 @@
1
1
  import { Entity } from '../base';
2
+ import type { Dependencies } from '../../refs';
2
3
  export declare class EntityGHOrgWebHook extends Entity {
3
- constructor(artifact: any);
4
+ constructor(artifact: any, deps?: Dependencies);
4
5
  loadResources(tfOp: string): Promise<void>;
5
6
  postProvision(tfOp: string): Promise<void>;
6
7
  getWebhookInfo(): Promise<any>;
@@ -1,7 +1,8 @@
1
1
  import { Entity } from '../base';
2
+ import type { Dependencies } from '../../refs';
2
3
  export declare class EntityGHRepo extends Entity {
3
4
  private escapeTerraformBranchName;
4
- constructor(artifact: any);
5
+ constructor(artifact: any, deps?: Dependencies);
5
6
  private validatePages;
6
7
  loadResources(tfOp: string): Promise<void>;
7
8
  postProvision(tfOp: string): Promise<void>;
@@ -1,6 +1,7 @@
1
1
  import { Entity } from '../base';
2
+ import type { Dependencies } from '../../refs';
2
3
  export declare class EntityGHRepositorySecretsSection extends Entity {
3
- constructor(artifact: any);
4
+ constructor(artifact: any, deps?: Dependencies);
4
5
  loadResources(tfOp: string): Promise<void>;
5
6
  postProvision(): Promise<void>;
6
7
  loadAddressesToImport(): Promise<void>;
@@ -1,6 +1,7 @@
1
1
  import { Entity } from '../base';
2
+ import type { Dependencies } from '../../refs';
2
3
  export declare class EntityGroup extends Entity {
3
- constructor(artifact: any);
4
+ constructor(artifact: any, deps?: Dependencies);
4
5
  loadResources(): Promise<void>;
5
6
  postProvision(tfOp: string): Promise<void>;
6
7
  loadAddressesToImport(): Promise<void>;
@@ -1,5 +1,6 @@
1
1
  import { Entity } from './base';
2
+ import type { Dependencies } from '../refs';
2
3
  export { EntityCR } from './cr';
3
4
  export { Entity } from './base';
4
- export type EntityConstructor<T extends Entity = Entity> = new (cr: any) => T;
5
- export declare function getEntity(cr: any): Entity;
5
+ export type EntityConstructor<T extends Entity = Entity> = new (cr: any, deps?: Dependencies) => T;
6
+ export declare function getEntity(cr: any, deps?: Dependencies): Entity;
@@ -1,3 +1,2 @@
1
- import { Entity } from './entities';
2
- export declare function initSystem(cr: any, deps: any): Promise<Entity>;
3
- export declare function initSystemFS(crPath: string, depsPath: string): Promise<Entity>;
1
+ export declare function initSystem(cr: any, deps: any): Promise<import("./entities").Entity>;
2
+ export declare function initSystemFS(crPath: string, depsPath: string): Promise<import("./entities").Entity>;
@@ -1,9 +1,5 @@
1
- import type { Dependency, Dependencies } from './loader';
2
- import type { Ref } from './resolver';
3
- export type { Dependencies, Dependency };
4
- export type RefResolver = (ref: Ref) => any;
1
+ export type { Dependencies, Dependency } from './loader';
2
+ export type { Ref } from './resolver';
5
3
  export { loadDependencies } from './loader';
6
- export { refResolver } from './resolver';
4
+ export { resolveRefIn } from './resolver';
7
5
  export { ResolvedRef } from './resolved';
8
- export declare function initDepsSystem(depsPath: string): Promise<void>;
9
- export declare function initDepsSystemFromMemory(deps: Dependencies): Promise<void>;
@@ -1,10 +1,10 @@
1
- import type { Dependency } from './loader';
2
- import { EntityCR } from '../entities';
1
+ import type { Dependency, Dependencies } from './loader';
2
+ import { EntityCR } from '../entities/cr';
3
3
  export declare class ResolvedRef {
4
4
  dep: Dependency;
5
5
  decodedSecret: any | null;
6
6
  entityCr: EntityCR;
7
- constructor(dep: Dependency);
7
+ constructor(dep: Dependency, deps: Dependencies);
8
8
  getDepName(): any;
9
9
  getOutput(key: string): any;
10
10
  get cr(): any;
@@ -5,6 +5,12 @@ export type Ref = {
5
5
  name: string;
6
6
  needsSecret?: boolean;
7
7
  };
8
- export declare function isDependenciesEmpty(): boolean;
9
- export declare function setDependencies(deps: Dependencies): void;
10
- export declare function refResolver(ref: Ref): ResolvedRef | null;
8
+ /**
9
+ * Resolves a ref against one execution's dependency map. The map is passed in
10
+ * by the caller (an Entity instance), never held as module state: concurrent
11
+ * runs in the same process must not see each other's dependencies.
12
+ *
13
+ * Empty or missing refs resolve to `null`; callers decide whether an
14
+ * unresolved ref is fatal.
15
+ */
16
+ export declare function resolveRefIn(deps: Dependencies | null | undefined, ref: Ref): ResolvedRef | null;
@@ -7,8 +7,14 @@ export type Dependencies = {
7
7
  };
8
8
  export declare class ResolverError extends Error {
9
9
  refKey: string;
10
- constructor(refKey: string);
10
+ cause?: unknown;
11
+ constructor(refKey: string, message?: string, cause?: unknown);
11
12
  }
13
+ /**
14
+ * Name of the secret holding another CR's outputs (its terraform state
15
+ * outputs, published through writeConnectionSecretToRef).
16
+ */
17
+ export declare function outputsSecretName(crDependency: any): string;
12
18
  export declare function resolve(cr: any, getItemByItemPath: Function, getSecret: Function, namespace?: string): Promise<Dependencies>;
13
19
  export declare function resolveSecretRef(namespace: string, crDependency: any, getSecret: Function): Promise<any>;
14
20
  export {};
@@ -33,3 +33,9 @@ export declare function sync(item: any, op: OperationType, handler: any, syncPol
33
33
  * @param deps - Dependencies
34
34
  */
35
35
  export declare function buildProvisionerContext(item: any, deps: any, sessionId?: string): any;
36
+ /**
37
+ * @param item - CR to be applied
38
+ * @param deps - Dependencies
39
+ * @description Resolves references to secrets, provided by the user in the CR
40
+ */
41
+ export declare function resolveReferences(item: any, deps: any): any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firestartr/cli",
3
- "version": "3.0.1",
3
+ "version": "3.1.0",
4
4
  "private": false,
5
5
  "description": "Commandline tool",
6
6
  "main": "build/main.js",
@@ -1,14 +0,0 @@
1
- import { OperationType } from '../informer';
2
- export declare function processOperationPlan(item: any, op: OperationType, handler: any): AsyncGenerator<{
3
- item: any;
4
- reason: OperationType;
5
- type: string;
6
- status: string;
7
- message: any;
8
- }, void, unknown>;
9
- /**
10
- * @description Adapts the CR to the format expected by the terraform provisioner
11
- * @param item - CR to be applied
12
- * @param deps - Dependencies
13
- */
14
- export declare function buildProvisionerContext(item: any, deps: any): any;