projen-pipelines 0.2.13 → 0.2.15

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/API.md CHANGED
@@ -390,6 +390,191 @@ public readonly stackPrefix: string;
390
390
  ---
391
391
 
392
392
 
393
+ ### BashDriftDetectionWorkflow <a name="BashDriftDetectionWorkflow" id="projen-pipelines.BashDriftDetectionWorkflow"></a>
394
+
395
+ #### Initializers <a name="Initializers" id="projen-pipelines.BashDriftDetectionWorkflow.Initializer"></a>
396
+
397
+ ```typescript
398
+ import { BashDriftDetectionWorkflow } from 'projen-pipelines'
399
+
400
+ new BashDriftDetectionWorkflow(project: Project, options: BashDriftDetectionWorkflowOptions)
401
+ ```
402
+
403
+ | **Name** | **Type** | **Description** |
404
+ | --- | --- | --- |
405
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflow.Initializer.parameter.project">project</a></code> | <code>projen.Project</code> | *No description.* |
406
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflow.Initializer.parameter.options">options</a></code> | <code><a href="#projen-pipelines.BashDriftDetectionWorkflowOptions">BashDriftDetectionWorkflowOptions</a></code> | *No description.* |
407
+
408
+ ---
409
+
410
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.BashDriftDetectionWorkflow.Initializer.parameter.project"></a>
411
+
412
+ - *Type:* projen.Project
413
+
414
+ ---
415
+
416
+ ##### `options`<sup>Required</sup> <a name="options" id="projen-pipelines.BashDriftDetectionWorkflow.Initializer.parameter.options"></a>
417
+
418
+ - *Type:* <a href="#projen-pipelines.BashDriftDetectionWorkflowOptions">BashDriftDetectionWorkflowOptions</a>
419
+
420
+ ---
421
+
422
+ #### Methods <a name="Methods" id="Methods"></a>
423
+
424
+ | **Name** | **Description** |
425
+ | --- | --- |
426
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflow.toString">toString</a></code> | Returns a string representation of this construct. |
427
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflow.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
428
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflow.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
429
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflow.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
430
+
431
+ ---
432
+
433
+ ##### `toString` <a name="toString" id="projen-pipelines.BashDriftDetectionWorkflow.toString"></a>
434
+
435
+ ```typescript
436
+ public toString(): string
437
+ ```
438
+
439
+ Returns a string representation of this construct.
440
+
441
+ ##### `postSynthesize` <a name="postSynthesize" id="projen-pipelines.BashDriftDetectionWorkflow.postSynthesize"></a>
442
+
443
+ ```typescript
444
+ public postSynthesize(): void
445
+ ```
446
+
447
+ Called after synthesis.
448
+
449
+ Order is *not* guaranteed.
450
+
451
+ ##### `preSynthesize` <a name="preSynthesize" id="projen-pipelines.BashDriftDetectionWorkflow.preSynthesize"></a>
452
+
453
+ ```typescript
454
+ public preSynthesize(): void
455
+ ```
456
+
457
+ Called before synthesis.
458
+
459
+ ##### `synthesize` <a name="synthesize" id="projen-pipelines.BashDriftDetectionWorkflow.synthesize"></a>
460
+
461
+ ```typescript
462
+ public synthesize(): void
463
+ ```
464
+
465
+ Synthesizes files to the project output directory.
466
+
467
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
468
+
469
+ | **Name** | **Description** |
470
+ | --- | --- |
471
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflow.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
472
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflow.isComponent">isComponent</a></code> | Test whether the given construct is a component. |
473
+
474
+ ---
475
+
476
+ ##### `isConstruct` <a name="isConstruct" id="projen-pipelines.BashDriftDetectionWorkflow.isConstruct"></a>
477
+
478
+ ```typescript
479
+ import { BashDriftDetectionWorkflow } from 'projen-pipelines'
480
+
481
+ BashDriftDetectionWorkflow.isConstruct(x: any)
482
+ ```
483
+
484
+ Checks if `x` is a construct.
485
+
486
+ Use this method instead of `instanceof` to properly detect `Construct`
487
+ instances, even when the construct library is symlinked.
488
+
489
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
490
+ disk are seen as independent, completely different libraries. As a
491
+ consequence, the class `Construct` in each copy of the `constructs` library
492
+ is seen as a different class, and an instance of one class will not test as
493
+ `instanceof` the other class. `npm install` will not create installations
494
+ like this, but users may manually symlink construct libraries together or
495
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
496
+ library can be accidentally installed, and `instanceof` will behave
497
+ unpredictably. It is safest to avoid using `instanceof`, and using
498
+ this type-testing method instead.
499
+
500
+ ###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.BashDriftDetectionWorkflow.isConstruct.parameter.x"></a>
501
+
502
+ - *Type:* any
503
+
504
+ Any object.
505
+
506
+ ---
507
+
508
+ ##### `isComponent` <a name="isComponent" id="projen-pipelines.BashDriftDetectionWorkflow.isComponent"></a>
509
+
510
+ ```typescript
511
+ import { BashDriftDetectionWorkflow } from 'projen-pipelines'
512
+
513
+ BashDriftDetectionWorkflow.isComponent(x: any)
514
+ ```
515
+
516
+ Test whether the given construct is a component.
517
+
518
+ ###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.BashDriftDetectionWorkflow.isComponent.parameter.x"></a>
519
+
520
+ - *Type:* any
521
+
522
+ ---
523
+
524
+ #### Properties <a name="Properties" id="Properties"></a>
525
+
526
+ | **Name** | **Type** | **Description** |
527
+ | --- | --- | --- |
528
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflow.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
529
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflow.property.project">project</a></code> | <code>projen.Project</code> | *No description.* |
530
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflow.property.name">name</a></code> | <code>string</code> | *No description.* |
531
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflow.property.schedule">schedule</a></code> | <code>string</code> | *No description.* |
532
+
533
+ ---
534
+
535
+ ##### `node`<sup>Required</sup> <a name="node" id="projen-pipelines.BashDriftDetectionWorkflow.property.node"></a>
536
+
537
+ ```typescript
538
+ public readonly node: Node;
539
+ ```
540
+
541
+ - *Type:* constructs.Node
542
+
543
+ The tree node.
544
+
545
+ ---
546
+
547
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.BashDriftDetectionWorkflow.property.project"></a>
548
+
549
+ ```typescript
550
+ public readonly project: Project;
551
+ ```
552
+
553
+ - *Type:* projen.Project
554
+
555
+ ---
556
+
557
+ ##### `name`<sup>Required</sup> <a name="name" id="projen-pipelines.BashDriftDetectionWorkflow.property.name"></a>
558
+
559
+ ```typescript
560
+ public readonly name: string;
561
+ ```
562
+
563
+ - *Type:* string
564
+
565
+ ---
566
+
567
+ ##### `schedule`<sup>Required</sup> <a name="schedule" id="projen-pipelines.BashDriftDetectionWorkflow.property.schedule"></a>
568
+
569
+ ```typescript
570
+ public readonly schedule: string;
571
+ ```
572
+
573
+ - *Type:* string
574
+
575
+ ---
576
+
577
+
393
578
  ### CDKPipeline <a name="CDKPipeline" id="projen-pipelines.CDKPipeline"></a>
394
579
 
395
580
  The CDKPipeline class extends the Component class and sets up the necessary configuration for deploying AWS CDK (Cloud Development Kit) applications across multiple stages.
@@ -619,6 +804,191 @@ public readonly stackPrefix: string;
619
804
  ---
620
805
 
621
806
 
807
+ ### DriftDetectionWorkflow <a name="DriftDetectionWorkflow" id="projen-pipelines.DriftDetectionWorkflow"></a>
808
+
809
+ #### Initializers <a name="Initializers" id="projen-pipelines.DriftDetectionWorkflow.Initializer"></a>
810
+
811
+ ```typescript
812
+ import { DriftDetectionWorkflow } from 'projen-pipelines'
813
+
814
+ new DriftDetectionWorkflow(project: Project, options: DriftDetectionWorkflowOptions)
815
+ ```
816
+
817
+ | **Name** | **Type** | **Description** |
818
+ | --- | --- | --- |
819
+ | <code><a href="#projen-pipelines.DriftDetectionWorkflow.Initializer.parameter.project">project</a></code> | <code>projen.Project</code> | *No description.* |
820
+ | <code><a href="#projen-pipelines.DriftDetectionWorkflow.Initializer.parameter.options">options</a></code> | <code><a href="#projen-pipelines.DriftDetectionWorkflowOptions">DriftDetectionWorkflowOptions</a></code> | *No description.* |
821
+
822
+ ---
823
+
824
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.DriftDetectionWorkflow.Initializer.parameter.project"></a>
825
+
826
+ - *Type:* projen.Project
827
+
828
+ ---
829
+
830
+ ##### `options`<sup>Required</sup> <a name="options" id="projen-pipelines.DriftDetectionWorkflow.Initializer.parameter.options"></a>
831
+
832
+ - *Type:* <a href="#projen-pipelines.DriftDetectionWorkflowOptions">DriftDetectionWorkflowOptions</a>
833
+
834
+ ---
835
+
836
+ #### Methods <a name="Methods" id="Methods"></a>
837
+
838
+ | **Name** | **Description** |
839
+ | --- | --- |
840
+ | <code><a href="#projen-pipelines.DriftDetectionWorkflow.toString">toString</a></code> | Returns a string representation of this construct. |
841
+ | <code><a href="#projen-pipelines.DriftDetectionWorkflow.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
842
+ | <code><a href="#projen-pipelines.DriftDetectionWorkflow.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
843
+ | <code><a href="#projen-pipelines.DriftDetectionWorkflow.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
844
+
845
+ ---
846
+
847
+ ##### `toString` <a name="toString" id="projen-pipelines.DriftDetectionWorkflow.toString"></a>
848
+
849
+ ```typescript
850
+ public toString(): string
851
+ ```
852
+
853
+ Returns a string representation of this construct.
854
+
855
+ ##### `postSynthesize` <a name="postSynthesize" id="projen-pipelines.DriftDetectionWorkflow.postSynthesize"></a>
856
+
857
+ ```typescript
858
+ public postSynthesize(): void
859
+ ```
860
+
861
+ Called after synthesis.
862
+
863
+ Order is *not* guaranteed.
864
+
865
+ ##### `preSynthesize` <a name="preSynthesize" id="projen-pipelines.DriftDetectionWorkflow.preSynthesize"></a>
866
+
867
+ ```typescript
868
+ public preSynthesize(): void
869
+ ```
870
+
871
+ Called before synthesis.
872
+
873
+ ##### `synthesize` <a name="synthesize" id="projen-pipelines.DriftDetectionWorkflow.synthesize"></a>
874
+
875
+ ```typescript
876
+ public synthesize(): void
877
+ ```
878
+
879
+ Synthesizes files to the project output directory.
880
+
881
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
882
+
883
+ | **Name** | **Description** |
884
+ | --- | --- |
885
+ | <code><a href="#projen-pipelines.DriftDetectionWorkflow.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
886
+ | <code><a href="#projen-pipelines.DriftDetectionWorkflow.isComponent">isComponent</a></code> | Test whether the given construct is a component. |
887
+
888
+ ---
889
+
890
+ ##### `isConstruct` <a name="isConstruct" id="projen-pipelines.DriftDetectionWorkflow.isConstruct"></a>
891
+
892
+ ```typescript
893
+ import { DriftDetectionWorkflow } from 'projen-pipelines'
894
+
895
+ DriftDetectionWorkflow.isConstruct(x: any)
896
+ ```
897
+
898
+ Checks if `x` is a construct.
899
+
900
+ Use this method instead of `instanceof` to properly detect `Construct`
901
+ instances, even when the construct library is symlinked.
902
+
903
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
904
+ disk are seen as independent, completely different libraries. As a
905
+ consequence, the class `Construct` in each copy of the `constructs` library
906
+ is seen as a different class, and an instance of one class will not test as
907
+ `instanceof` the other class. `npm install` will not create installations
908
+ like this, but users may manually symlink construct libraries together or
909
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
910
+ library can be accidentally installed, and `instanceof` will behave
911
+ unpredictably. It is safest to avoid using `instanceof`, and using
912
+ this type-testing method instead.
913
+
914
+ ###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.DriftDetectionWorkflow.isConstruct.parameter.x"></a>
915
+
916
+ - *Type:* any
917
+
918
+ Any object.
919
+
920
+ ---
921
+
922
+ ##### `isComponent` <a name="isComponent" id="projen-pipelines.DriftDetectionWorkflow.isComponent"></a>
923
+
924
+ ```typescript
925
+ import { DriftDetectionWorkflow } from 'projen-pipelines'
926
+
927
+ DriftDetectionWorkflow.isComponent(x: any)
928
+ ```
929
+
930
+ Test whether the given construct is a component.
931
+
932
+ ###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.DriftDetectionWorkflow.isComponent.parameter.x"></a>
933
+
934
+ - *Type:* any
935
+
936
+ ---
937
+
938
+ #### Properties <a name="Properties" id="Properties"></a>
939
+
940
+ | **Name** | **Type** | **Description** |
941
+ | --- | --- | --- |
942
+ | <code><a href="#projen-pipelines.DriftDetectionWorkflow.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
943
+ | <code><a href="#projen-pipelines.DriftDetectionWorkflow.property.project">project</a></code> | <code>projen.Project</code> | *No description.* |
944
+ | <code><a href="#projen-pipelines.DriftDetectionWorkflow.property.name">name</a></code> | <code>string</code> | *No description.* |
945
+ | <code><a href="#projen-pipelines.DriftDetectionWorkflow.property.schedule">schedule</a></code> | <code>string</code> | *No description.* |
946
+
947
+ ---
948
+
949
+ ##### `node`<sup>Required</sup> <a name="node" id="projen-pipelines.DriftDetectionWorkflow.property.node"></a>
950
+
951
+ ```typescript
952
+ public readonly node: Node;
953
+ ```
954
+
955
+ - *Type:* constructs.Node
956
+
957
+ The tree node.
958
+
959
+ ---
960
+
961
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.DriftDetectionWorkflow.property.project"></a>
962
+
963
+ ```typescript
964
+ public readonly project: Project;
965
+ ```
966
+
967
+ - *Type:* projen.Project
968
+
969
+ ---
970
+
971
+ ##### `name`<sup>Required</sup> <a name="name" id="projen-pipelines.DriftDetectionWorkflow.property.name"></a>
972
+
973
+ ```typescript
974
+ public readonly name: string;
975
+ ```
976
+
977
+ - *Type:* string
978
+
979
+ ---
980
+
981
+ ##### `schedule`<sup>Required</sup> <a name="schedule" id="projen-pipelines.DriftDetectionWorkflow.property.schedule"></a>
982
+
983
+ ```typescript
984
+ public readonly schedule: string;
985
+ ```
986
+
987
+ - *Type:* string
988
+
989
+ ---
990
+
991
+
622
992
  ### GitHubAssignApprover <a name="GitHubAssignApprover" id="projen-pipelines.GitHubAssignApprover"></a>
623
993
 
624
994
  #### Initializers <a name="Initializers" id="projen-pipelines.GitHubAssignApprover.Initializer"></a>
@@ -938,39 +1308,237 @@ Creates a job to deploy the CDK application to AWS.
938
1308
 
939
1309
  The deployment stage to create.
940
1310
 
941
- ---
1311
+ ---
1312
+
1313
+ ##### `createIndependentDeployment` <a name="createIndependentDeployment" id="projen-pipelines.GithubCDKPipeline.createIndependentDeployment"></a>
1314
+
1315
+ ```typescript
1316
+ public createIndependentDeployment(stage: IndependentStage): void
1317
+ ```
1318
+
1319
+ Creates a job to deploy the CDK application to AWS.
1320
+
1321
+ ###### `stage`<sup>Required</sup> <a name="stage" id="projen-pipelines.GithubCDKPipeline.createIndependentDeployment.parameter.stage"></a>
1322
+
1323
+ - *Type:* <a href="#projen-pipelines.IndependentStage">IndependentStage</a>
1324
+
1325
+ The independent stage to create.
1326
+
1327
+ ---
1328
+
1329
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1330
+
1331
+ | **Name** | **Description** |
1332
+ | --- | --- |
1333
+ | <code><a href="#projen-pipelines.GithubCDKPipeline.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
1334
+ | <code><a href="#projen-pipelines.GithubCDKPipeline.isComponent">isComponent</a></code> | Test whether the given construct is a component. |
1335
+
1336
+ ---
1337
+
1338
+ ##### `isConstruct` <a name="isConstruct" id="projen-pipelines.GithubCDKPipeline.isConstruct"></a>
1339
+
1340
+ ```typescript
1341
+ import { GithubCDKPipeline } from 'projen-pipelines'
1342
+
1343
+ GithubCDKPipeline.isConstruct(x: any)
1344
+ ```
1345
+
1346
+ Checks if `x` is a construct.
1347
+
1348
+ Use this method instead of `instanceof` to properly detect `Construct`
1349
+ instances, even when the construct library is symlinked.
1350
+
1351
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
1352
+ disk are seen as independent, completely different libraries. As a
1353
+ consequence, the class `Construct` in each copy of the `constructs` library
1354
+ is seen as a different class, and an instance of one class will not test as
1355
+ `instanceof` the other class. `npm install` will not create installations
1356
+ like this, but users may manually symlink construct libraries together or
1357
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
1358
+ library can be accidentally installed, and `instanceof` will behave
1359
+ unpredictably. It is safest to avoid using `instanceof`, and using
1360
+ this type-testing method instead.
1361
+
1362
+ ###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.GithubCDKPipeline.isConstruct.parameter.x"></a>
1363
+
1364
+ - *Type:* any
1365
+
1366
+ Any object.
1367
+
1368
+ ---
1369
+
1370
+ ##### `isComponent` <a name="isComponent" id="projen-pipelines.GithubCDKPipeline.isComponent"></a>
1371
+
1372
+ ```typescript
1373
+ import { GithubCDKPipeline } from 'projen-pipelines'
1374
+
1375
+ GithubCDKPipeline.isComponent(x: any)
1376
+ ```
1377
+
1378
+ Test whether the given construct is a component.
1379
+
1380
+ ###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.GithubCDKPipeline.isComponent.parameter.x"></a>
1381
+
1382
+ - *Type:* any
1383
+
1384
+ ---
1385
+
1386
+ #### Properties <a name="Properties" id="Properties"></a>
1387
+
1388
+ | **Name** | **Type** | **Description** |
1389
+ | --- | --- | --- |
1390
+ | <code><a href="#projen-pipelines.GithubCDKPipeline.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1391
+ | <code><a href="#projen-pipelines.GithubCDKPipeline.property.project">project</a></code> | <code>projen.Project</code> | *No description.* |
1392
+ | <code><a href="#projen-pipelines.GithubCDKPipeline.property.branchName">branchName</a></code> | <code>string</code> | *No description.* |
1393
+ | <code><a href="#projen-pipelines.GithubCDKPipeline.property.stackPrefix">stackPrefix</a></code> | <code>string</code> | *No description.* |
1394
+ | <code><a href="#projen-pipelines.GithubCDKPipeline.property.needsVersionedArtifacts">needsVersionedArtifacts</a></code> | <code>boolean</code> | Indicates if versioned artifacts are needed based on manual approval requirements. |
1395
+
1396
+ ---
1397
+
1398
+ ##### `node`<sup>Required</sup> <a name="node" id="projen-pipelines.GithubCDKPipeline.property.node"></a>
1399
+
1400
+ ```typescript
1401
+ public readonly node: Node;
1402
+ ```
1403
+
1404
+ - *Type:* constructs.Node
1405
+
1406
+ The tree node.
1407
+
1408
+ ---
1409
+
1410
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.GithubCDKPipeline.property.project"></a>
1411
+
1412
+ ```typescript
1413
+ public readonly project: Project;
1414
+ ```
1415
+
1416
+ - *Type:* projen.Project
1417
+
1418
+ ---
1419
+
1420
+ ##### `branchName`<sup>Required</sup> <a name="branchName" id="projen-pipelines.GithubCDKPipeline.property.branchName"></a>
1421
+
1422
+ ```typescript
1423
+ public readonly branchName: string;
1424
+ ```
1425
+
1426
+ - *Type:* string
1427
+
1428
+ ---
1429
+
1430
+ ##### `stackPrefix`<sup>Required</sup> <a name="stackPrefix" id="projen-pipelines.GithubCDKPipeline.property.stackPrefix"></a>
1431
+
1432
+ ```typescript
1433
+ public readonly stackPrefix: string;
1434
+ ```
1435
+
1436
+ - *Type:* string
1437
+
1438
+ ---
1439
+
1440
+ ##### `needsVersionedArtifacts`<sup>Required</sup> <a name="needsVersionedArtifacts" id="projen-pipelines.GithubCDKPipeline.property.needsVersionedArtifacts"></a>
1441
+
1442
+ ```typescript
1443
+ public readonly needsVersionedArtifacts: boolean;
1444
+ ```
1445
+
1446
+ - *Type:* boolean
1447
+
1448
+ Indicates if versioned artifacts are needed based on manual approval requirements.
1449
+
1450
+ ---
1451
+
1452
+
1453
+ ### GitHubDriftDetectionWorkflow <a name="GitHubDriftDetectionWorkflow" id="projen-pipelines.GitHubDriftDetectionWorkflow"></a>
1454
+
1455
+ #### Initializers <a name="Initializers" id="projen-pipelines.GitHubDriftDetectionWorkflow.Initializer"></a>
1456
+
1457
+ ```typescript
1458
+ import { GitHubDriftDetectionWorkflow } from 'projen-pipelines'
1459
+
1460
+ new GitHubDriftDetectionWorkflow(project: Project, options: GitHubDriftDetectionWorkflowOptions)
1461
+ ```
1462
+
1463
+ | **Name** | **Type** | **Description** |
1464
+ | --- | --- | --- |
1465
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflow.Initializer.parameter.project">project</a></code> | <code>projen.Project</code> | *No description.* |
1466
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflow.Initializer.parameter.options">options</a></code> | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflowOptions">GitHubDriftDetectionWorkflowOptions</a></code> | *No description.* |
1467
+
1468
+ ---
1469
+
1470
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.GitHubDriftDetectionWorkflow.Initializer.parameter.project"></a>
1471
+
1472
+ - *Type:* projen.Project
1473
+
1474
+ ---
1475
+
1476
+ ##### `options`<sup>Required</sup> <a name="options" id="projen-pipelines.GitHubDriftDetectionWorkflow.Initializer.parameter.options"></a>
1477
+
1478
+ - *Type:* <a href="#projen-pipelines.GitHubDriftDetectionWorkflowOptions">GitHubDriftDetectionWorkflowOptions</a>
1479
+
1480
+ ---
1481
+
1482
+ #### Methods <a name="Methods" id="Methods"></a>
1483
+
1484
+ | **Name** | **Description** |
1485
+ | --- | --- |
1486
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflow.toString">toString</a></code> | Returns a string representation of this construct. |
1487
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflow.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
1488
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflow.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
1489
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflow.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
1490
+
1491
+ ---
1492
+
1493
+ ##### `toString` <a name="toString" id="projen-pipelines.GitHubDriftDetectionWorkflow.toString"></a>
1494
+
1495
+ ```typescript
1496
+ public toString(): string
1497
+ ```
1498
+
1499
+ Returns a string representation of this construct.
1500
+
1501
+ ##### `postSynthesize` <a name="postSynthesize" id="projen-pipelines.GitHubDriftDetectionWorkflow.postSynthesize"></a>
1502
+
1503
+ ```typescript
1504
+ public postSynthesize(): void
1505
+ ```
1506
+
1507
+ Called after synthesis.
1508
+
1509
+ Order is *not* guaranteed.
942
1510
 
943
- ##### `createIndependentDeployment` <a name="createIndependentDeployment" id="projen-pipelines.GithubCDKPipeline.createIndependentDeployment"></a>
1511
+ ##### `preSynthesize` <a name="preSynthesize" id="projen-pipelines.GitHubDriftDetectionWorkflow.preSynthesize"></a>
944
1512
 
945
1513
  ```typescript
946
- public createIndependentDeployment(stage: IndependentStage): void
1514
+ public preSynthesize(): void
947
1515
  ```
948
1516
 
949
- Creates a job to deploy the CDK application to AWS.
950
-
951
- ###### `stage`<sup>Required</sup> <a name="stage" id="projen-pipelines.GithubCDKPipeline.createIndependentDeployment.parameter.stage"></a>
1517
+ Called before synthesis.
952
1518
 
953
- - *Type:* <a href="#projen-pipelines.IndependentStage">IndependentStage</a>
1519
+ ##### `synthesize` <a name="synthesize" id="projen-pipelines.GitHubDriftDetectionWorkflow.synthesize"></a>
954
1520
 
955
- The independent stage to create.
1521
+ ```typescript
1522
+ public synthesize(): void
1523
+ ```
956
1524
 
957
- ---
1525
+ Synthesizes files to the project output directory.
958
1526
 
959
1527
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
960
1528
 
961
1529
  | **Name** | **Description** |
962
1530
  | --- | --- |
963
- | <code><a href="#projen-pipelines.GithubCDKPipeline.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
964
- | <code><a href="#projen-pipelines.GithubCDKPipeline.isComponent">isComponent</a></code> | Test whether the given construct is a component. |
1531
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflow.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
1532
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflow.isComponent">isComponent</a></code> | Test whether the given construct is a component. |
965
1533
 
966
1534
  ---
967
1535
 
968
- ##### `isConstruct` <a name="isConstruct" id="projen-pipelines.GithubCDKPipeline.isConstruct"></a>
1536
+ ##### `isConstruct` <a name="isConstruct" id="projen-pipelines.GitHubDriftDetectionWorkflow.isConstruct"></a>
969
1537
 
970
1538
  ```typescript
971
- import { GithubCDKPipeline } from 'projen-pipelines'
1539
+ import { GitHubDriftDetectionWorkflow } from 'projen-pipelines'
972
1540
 
973
- GithubCDKPipeline.isConstruct(x: any)
1541
+ GitHubDriftDetectionWorkflow.isConstruct(x: any)
974
1542
  ```
975
1543
 
976
1544
  Checks if `x` is a construct.
@@ -989,7 +1557,7 @@ library can be accidentally installed, and `instanceof` will behave
989
1557
  unpredictably. It is safest to avoid using `instanceof`, and using
990
1558
  this type-testing method instead.
991
1559
 
992
- ###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.GithubCDKPipeline.isConstruct.parameter.x"></a>
1560
+ ###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.GitHubDriftDetectionWorkflow.isConstruct.parameter.x"></a>
993
1561
 
994
1562
  - *Type:* any
995
1563
 
@@ -997,17 +1565,17 @@ Any object.
997
1565
 
998
1566
  ---
999
1567
 
1000
- ##### `isComponent` <a name="isComponent" id="projen-pipelines.GithubCDKPipeline.isComponent"></a>
1568
+ ##### `isComponent` <a name="isComponent" id="projen-pipelines.GitHubDriftDetectionWorkflow.isComponent"></a>
1001
1569
 
1002
1570
  ```typescript
1003
- import { GithubCDKPipeline } from 'projen-pipelines'
1571
+ import { GitHubDriftDetectionWorkflow } from 'projen-pipelines'
1004
1572
 
1005
- GithubCDKPipeline.isComponent(x: any)
1573
+ GitHubDriftDetectionWorkflow.isComponent(x: any)
1006
1574
  ```
1007
1575
 
1008
1576
  Test whether the given construct is a component.
1009
1577
 
1010
- ###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.GithubCDKPipeline.isComponent.parameter.x"></a>
1578
+ ###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.GitHubDriftDetectionWorkflow.isComponent.parameter.x"></a>
1011
1579
 
1012
1580
  - *Type:* any
1013
1581
 
@@ -1017,15 +1585,14 @@ Test whether the given construct is a component.
1017
1585
 
1018
1586
  | **Name** | **Type** | **Description** |
1019
1587
  | --- | --- | --- |
1020
- | <code><a href="#projen-pipelines.GithubCDKPipeline.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1021
- | <code><a href="#projen-pipelines.GithubCDKPipeline.property.project">project</a></code> | <code>projen.Project</code> | *No description.* |
1022
- | <code><a href="#projen-pipelines.GithubCDKPipeline.property.branchName">branchName</a></code> | <code>string</code> | *No description.* |
1023
- | <code><a href="#projen-pipelines.GithubCDKPipeline.property.stackPrefix">stackPrefix</a></code> | <code>string</code> | *No description.* |
1024
- | <code><a href="#projen-pipelines.GithubCDKPipeline.property.needsVersionedArtifacts">needsVersionedArtifacts</a></code> | <code>boolean</code> | Indicates if versioned artifacts are needed based on manual approval requirements. |
1588
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflow.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1589
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflow.property.project">project</a></code> | <code>projen.Project</code> | *No description.* |
1590
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflow.property.name">name</a></code> | <code>string</code> | *No description.* |
1591
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflow.property.schedule">schedule</a></code> | <code>string</code> | *No description.* |
1025
1592
 
1026
1593
  ---
1027
1594
 
1028
- ##### `node`<sup>Required</sup> <a name="node" id="projen-pipelines.GithubCDKPipeline.property.node"></a>
1595
+ ##### `node`<sup>Required</sup> <a name="node" id="projen-pipelines.GitHubDriftDetectionWorkflow.property.node"></a>
1029
1596
 
1030
1597
  ```typescript
1031
1598
  public readonly node: Node;
@@ -1037,7 +1604,7 @@ The tree node.
1037
1604
 
1038
1605
  ---
1039
1606
 
1040
- ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.GithubCDKPipeline.property.project"></a>
1607
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.GitHubDriftDetectionWorkflow.property.project"></a>
1041
1608
 
1042
1609
  ```typescript
1043
1610
  public readonly project: Project;
@@ -1047,38 +1614,26 @@ public readonly project: Project;
1047
1614
 
1048
1615
  ---
1049
1616
 
1050
- ##### `branchName`<sup>Required</sup> <a name="branchName" id="projen-pipelines.GithubCDKPipeline.property.branchName"></a>
1617
+ ##### `name`<sup>Required</sup> <a name="name" id="projen-pipelines.GitHubDriftDetectionWorkflow.property.name"></a>
1051
1618
 
1052
1619
  ```typescript
1053
- public readonly branchName: string;
1620
+ public readonly name: string;
1054
1621
  ```
1055
1622
 
1056
1623
  - *Type:* string
1057
1624
 
1058
1625
  ---
1059
1626
 
1060
- ##### `stackPrefix`<sup>Required</sup> <a name="stackPrefix" id="projen-pipelines.GithubCDKPipeline.property.stackPrefix"></a>
1627
+ ##### `schedule`<sup>Required</sup> <a name="schedule" id="projen-pipelines.GitHubDriftDetectionWorkflow.property.schedule"></a>
1061
1628
 
1062
1629
  ```typescript
1063
- public readonly stackPrefix: string;
1630
+ public readonly schedule: string;
1064
1631
  ```
1065
1632
 
1066
1633
  - *Type:* string
1067
1634
 
1068
1635
  ---
1069
1636
 
1070
- ##### `needsVersionedArtifacts`<sup>Required</sup> <a name="needsVersionedArtifacts" id="projen-pipelines.GithubCDKPipeline.property.needsVersionedArtifacts"></a>
1071
-
1072
- ```typescript
1073
- public readonly needsVersionedArtifacts: boolean;
1074
- ```
1075
-
1076
- - *Type:* boolean
1077
-
1078
- Indicates if versioned artifacts are needed based on manual approval requirements.
1079
-
1080
- ---
1081
-
1082
1637
 
1083
1638
  ### GitlabCDKPipeline <a name="GitlabCDKPipeline" id="projen-pipelines.GitlabCDKPipeline"></a>
1084
1639
 
@@ -1374,6 +1929,191 @@ Currently set to false
1374
1929
  ---
1375
1930
 
1376
1931
 
1932
+ ### GitLabDriftDetectionWorkflow <a name="GitLabDriftDetectionWorkflow" id="projen-pipelines.GitLabDriftDetectionWorkflow"></a>
1933
+
1934
+ #### Initializers <a name="Initializers" id="projen-pipelines.GitLabDriftDetectionWorkflow.Initializer"></a>
1935
+
1936
+ ```typescript
1937
+ import { GitLabDriftDetectionWorkflow } from 'projen-pipelines'
1938
+
1939
+ new GitLabDriftDetectionWorkflow(project: Project, options: GitLabDriftDetectionWorkflowOptions)
1940
+ ```
1941
+
1942
+ | **Name** | **Type** | **Description** |
1943
+ | --- | --- | --- |
1944
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflow.Initializer.parameter.project">project</a></code> | <code>projen.Project</code> | *No description.* |
1945
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflow.Initializer.parameter.options">options</a></code> | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflowOptions">GitLabDriftDetectionWorkflowOptions</a></code> | *No description.* |
1946
+
1947
+ ---
1948
+
1949
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.GitLabDriftDetectionWorkflow.Initializer.parameter.project"></a>
1950
+
1951
+ - *Type:* projen.Project
1952
+
1953
+ ---
1954
+
1955
+ ##### `options`<sup>Required</sup> <a name="options" id="projen-pipelines.GitLabDriftDetectionWorkflow.Initializer.parameter.options"></a>
1956
+
1957
+ - *Type:* <a href="#projen-pipelines.GitLabDriftDetectionWorkflowOptions">GitLabDriftDetectionWorkflowOptions</a>
1958
+
1959
+ ---
1960
+
1961
+ #### Methods <a name="Methods" id="Methods"></a>
1962
+
1963
+ | **Name** | **Description** |
1964
+ | --- | --- |
1965
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflow.toString">toString</a></code> | Returns a string representation of this construct. |
1966
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflow.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
1967
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflow.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
1968
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflow.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
1969
+
1970
+ ---
1971
+
1972
+ ##### `toString` <a name="toString" id="projen-pipelines.GitLabDriftDetectionWorkflow.toString"></a>
1973
+
1974
+ ```typescript
1975
+ public toString(): string
1976
+ ```
1977
+
1978
+ Returns a string representation of this construct.
1979
+
1980
+ ##### `postSynthesize` <a name="postSynthesize" id="projen-pipelines.GitLabDriftDetectionWorkflow.postSynthesize"></a>
1981
+
1982
+ ```typescript
1983
+ public postSynthesize(): void
1984
+ ```
1985
+
1986
+ Called after synthesis.
1987
+
1988
+ Order is *not* guaranteed.
1989
+
1990
+ ##### `preSynthesize` <a name="preSynthesize" id="projen-pipelines.GitLabDriftDetectionWorkflow.preSynthesize"></a>
1991
+
1992
+ ```typescript
1993
+ public preSynthesize(): void
1994
+ ```
1995
+
1996
+ Called before synthesis.
1997
+
1998
+ ##### `synthesize` <a name="synthesize" id="projen-pipelines.GitLabDriftDetectionWorkflow.synthesize"></a>
1999
+
2000
+ ```typescript
2001
+ public synthesize(): void
2002
+ ```
2003
+
2004
+ Synthesizes files to the project output directory.
2005
+
2006
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
2007
+
2008
+ | **Name** | **Description** |
2009
+ | --- | --- |
2010
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflow.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
2011
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflow.isComponent">isComponent</a></code> | Test whether the given construct is a component. |
2012
+
2013
+ ---
2014
+
2015
+ ##### `isConstruct` <a name="isConstruct" id="projen-pipelines.GitLabDriftDetectionWorkflow.isConstruct"></a>
2016
+
2017
+ ```typescript
2018
+ import { GitLabDriftDetectionWorkflow } from 'projen-pipelines'
2019
+
2020
+ GitLabDriftDetectionWorkflow.isConstruct(x: any)
2021
+ ```
2022
+
2023
+ Checks if `x` is a construct.
2024
+
2025
+ Use this method instead of `instanceof` to properly detect `Construct`
2026
+ instances, even when the construct library is symlinked.
2027
+
2028
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
2029
+ disk are seen as independent, completely different libraries. As a
2030
+ consequence, the class `Construct` in each copy of the `constructs` library
2031
+ is seen as a different class, and an instance of one class will not test as
2032
+ `instanceof` the other class. `npm install` will not create installations
2033
+ like this, but users may manually symlink construct libraries together or
2034
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
2035
+ library can be accidentally installed, and `instanceof` will behave
2036
+ unpredictably. It is safest to avoid using `instanceof`, and using
2037
+ this type-testing method instead.
2038
+
2039
+ ###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.GitLabDriftDetectionWorkflow.isConstruct.parameter.x"></a>
2040
+
2041
+ - *Type:* any
2042
+
2043
+ Any object.
2044
+
2045
+ ---
2046
+
2047
+ ##### `isComponent` <a name="isComponent" id="projen-pipelines.GitLabDriftDetectionWorkflow.isComponent"></a>
2048
+
2049
+ ```typescript
2050
+ import { GitLabDriftDetectionWorkflow } from 'projen-pipelines'
2051
+
2052
+ GitLabDriftDetectionWorkflow.isComponent(x: any)
2053
+ ```
2054
+
2055
+ Test whether the given construct is a component.
2056
+
2057
+ ###### `x`<sup>Required</sup> <a name="x" id="projen-pipelines.GitLabDriftDetectionWorkflow.isComponent.parameter.x"></a>
2058
+
2059
+ - *Type:* any
2060
+
2061
+ ---
2062
+
2063
+ #### Properties <a name="Properties" id="Properties"></a>
2064
+
2065
+ | **Name** | **Type** | **Description** |
2066
+ | --- | --- | --- |
2067
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflow.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
2068
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflow.property.project">project</a></code> | <code>projen.Project</code> | *No description.* |
2069
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflow.property.name">name</a></code> | <code>string</code> | *No description.* |
2070
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflow.property.schedule">schedule</a></code> | <code>string</code> | *No description.* |
2071
+
2072
+ ---
2073
+
2074
+ ##### `node`<sup>Required</sup> <a name="node" id="projen-pipelines.GitLabDriftDetectionWorkflow.property.node"></a>
2075
+
2076
+ ```typescript
2077
+ public readonly node: Node;
2078
+ ```
2079
+
2080
+ - *Type:* constructs.Node
2081
+
2082
+ The tree node.
2083
+
2084
+ ---
2085
+
2086
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.GitLabDriftDetectionWorkflow.property.project"></a>
2087
+
2088
+ ```typescript
2089
+ public readonly project: Project;
2090
+ ```
2091
+
2092
+ - *Type:* projen.Project
2093
+
2094
+ ---
2095
+
2096
+ ##### `name`<sup>Required</sup> <a name="name" id="projen-pipelines.GitLabDriftDetectionWorkflow.property.name"></a>
2097
+
2098
+ ```typescript
2099
+ public readonly name: string;
2100
+ ```
2101
+
2102
+ - *Type:* string
2103
+
2104
+ ---
2105
+
2106
+ ##### `schedule`<sup>Required</sup> <a name="schedule" id="projen-pipelines.GitLabDriftDetectionWorkflow.property.schedule"></a>
2107
+
2108
+ ```typescript
2109
+ public readonly schedule: string;
2110
+ ```
2111
+
2112
+ - *Type:* string
2113
+
2114
+ ---
2115
+
2116
+
1377
2117
  ## Structs <a name="Structs" id="Structs"></a>
1378
2118
 
1379
2119
  ### ApproverMapping <a name="ApproverMapping" id="projen-pipelines.ApproverMapping"></a>
@@ -1711,32 +2451,104 @@ public readonly preSynthCommands: string[];
1711
2451
  public readonly preSynthSteps: PipelineStep[];
1712
2452
  ```
1713
2453
 
1714
- - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
2454
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
2455
+
2456
+ ---
2457
+
2458
+ ##### `stackPrefix`<sup>Optional</sup> <a name="stackPrefix" id="projen-pipelines.BashCDKPipelineOptions.property.stackPrefix"></a>
2459
+
2460
+ ```typescript
2461
+ public readonly stackPrefix: string;
2462
+ ```
2463
+
2464
+ - *Type:* string
2465
+ - *Default:* project name
2466
+
2467
+ This field is used to define a prefix for the AWS Stack resources created during the pipeline's operation.
2468
+
2469
+ ---
2470
+
2471
+ ##### `versioning`<sup>Optional</sup> <a name="versioning" id="projen-pipelines.BashCDKPipelineOptions.property.versioning"></a>
2472
+
2473
+ ```typescript
2474
+ public readonly versioning: VersioningConfig;
2475
+ ```
2476
+
2477
+ - *Type:* <a href="#projen-pipelines.VersioningConfig">VersioningConfig</a>
2478
+
2479
+ Versioning configuration.
2480
+
2481
+ ---
2482
+
2483
+ ### BashDriftDetectionWorkflowOptions <a name="BashDriftDetectionWorkflowOptions" id="projen-pipelines.BashDriftDetectionWorkflowOptions"></a>
2484
+
2485
+ #### Initializer <a name="Initializer" id="projen-pipelines.BashDriftDetectionWorkflowOptions.Initializer"></a>
2486
+
2487
+ ```typescript
2488
+ import { BashDriftDetectionWorkflowOptions } from 'projen-pipelines'
2489
+
2490
+ const bashDriftDetectionWorkflowOptions: BashDriftDetectionWorkflowOptions = { ... }
2491
+ ```
2492
+
2493
+ #### Properties <a name="Properties" id="Properties"></a>
2494
+
2495
+ | **Name** | **Type** | **Description** |
2496
+ | --- | --- | --- |
2497
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflowOptions.property.stages">stages</a></code> | <code><a href="#projen-pipelines.DriftDetectionStageOptions">DriftDetectionStageOptions</a>[]</code> | Drift detection configurations for different environments. |
2498
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflowOptions.property.name">name</a></code> | <code>string</code> | Name of the workflow. |
2499
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflowOptions.property.schedule">schedule</a></code> | <code>string</code> | Cron schedule for drift detection. |
2500
+ | <code><a href="#projen-pipelines.BashDriftDetectionWorkflowOptions.property.scriptPath">scriptPath</a></code> | <code>string</code> | Path to the output script. |
2501
+
2502
+ ---
2503
+
2504
+ ##### `stages`<sup>Required</sup> <a name="stages" id="projen-pipelines.BashDriftDetectionWorkflowOptions.property.stages"></a>
2505
+
2506
+ ```typescript
2507
+ public readonly stages: DriftDetectionStageOptions[];
2508
+ ```
2509
+
2510
+ - *Type:* <a href="#projen-pipelines.DriftDetectionStageOptions">DriftDetectionStageOptions</a>[]
2511
+
2512
+ Drift detection configurations for different environments.
2513
+
2514
+ ---
2515
+
2516
+ ##### `name`<sup>Optional</sup> <a name="name" id="projen-pipelines.BashDriftDetectionWorkflowOptions.property.name"></a>
2517
+
2518
+ ```typescript
2519
+ public readonly name: string;
2520
+ ```
2521
+
2522
+ - *Type:* string
2523
+ - *Default:* "drift-detection"
2524
+
2525
+ Name of the workflow.
1715
2526
 
1716
2527
  ---
1717
2528
 
1718
- ##### `stackPrefix`<sup>Optional</sup> <a name="stackPrefix" id="projen-pipelines.BashCDKPipelineOptions.property.stackPrefix"></a>
2529
+ ##### `schedule`<sup>Optional</sup> <a name="schedule" id="projen-pipelines.BashDriftDetectionWorkflowOptions.property.schedule"></a>
1719
2530
 
1720
2531
  ```typescript
1721
- public readonly stackPrefix: string;
2532
+ public readonly schedule: string;
1722
2533
  ```
1723
2534
 
1724
2535
  - *Type:* string
1725
- - *Default:* project name
2536
+ - *Default:* "0 0 * * *" (daily at midnight)
1726
2537
 
1727
- This field is used to define a prefix for the AWS Stack resources created during the pipeline's operation.
2538
+ Cron schedule for drift detection.
1728
2539
 
1729
2540
  ---
1730
2541
 
1731
- ##### `versioning`<sup>Optional</sup> <a name="versioning" id="projen-pipelines.BashCDKPipelineOptions.property.versioning"></a>
2542
+ ##### `scriptPath`<sup>Optional</sup> <a name="scriptPath" id="projen-pipelines.BashDriftDetectionWorkflowOptions.property.scriptPath"></a>
1732
2543
 
1733
2544
  ```typescript
1734
- public readonly versioning: VersioningConfig;
2545
+ public readonly scriptPath: string;
1735
2546
  ```
1736
2547
 
1737
- - *Type:* <a href="#projen-pipelines.VersioningConfig">VersioningConfig</a>
2548
+ - *Type:* string
2549
+ - *Default:* "drift-detection.sh"
1738
2550
 
1739
- Versioning configuration.
2551
+ Path to the output script.
1740
2552
 
1741
2553
  ---
1742
2554
 
@@ -2132,6 +2944,8 @@ public readonly exportName: string;
2132
2944
 
2133
2945
  ### CodeArtifactLoginStepOptions <a name="CodeArtifactLoginStepOptions" id="projen-pipelines.CodeArtifactLoginStepOptions"></a>
2134
2946
 
2947
+ Options for the CodeArtifactLoginStep.
2948
+
2135
2949
  #### Initializer <a name="Initializer" id="projen-pipelines.CodeArtifactLoginStepOptions.Initializer"></a>
2136
2950
 
2137
2951
  ```typescript
@@ -2148,6 +2962,7 @@ const codeArtifactLoginStepOptions: CodeArtifactLoginStepOptions = { ... }
2148
2962
  | <code><a href="#projen-pipelines.CodeArtifactLoginStepOptions.property.ownerAccount">ownerAccount</a></code> | <code>string</code> | *No description.* |
2149
2963
  | <code><a href="#projen-pipelines.CodeArtifactLoginStepOptions.property.region">region</a></code> | <code>string</code> | *No description.* |
2150
2964
  | <code><a href="#projen-pipelines.CodeArtifactLoginStepOptions.property.role">role</a></code> | <code>string</code> | *No description.* |
2965
+ | <code><a href="#projen-pipelines.CodeArtifactLoginStepOptions.property.envVariableName">envVariableName</a></code> | <code>string</code> | The environment variable name to set. |
2151
2966
 
2152
2967
  ---
2153
2968
 
@@ -2191,6 +3006,19 @@ public readonly role: string;
2191
3006
 
2192
3007
  ---
2193
3008
 
3009
+ ##### `envVariableName`<sup>Optional</sup> <a name="envVariableName" id="projen-pipelines.CodeArtifactLoginStepOptions.property.envVariableName"></a>
3010
+
3011
+ ```typescript
3012
+ public readonly envVariableName: string;
3013
+ ```
3014
+
3015
+ - *Type:* string
3016
+ - *Default:* 'CODEARTIFACT_AUTH_TOKEN'
3017
+
3018
+ The environment variable name to set.
3019
+
3020
+ ---
3021
+
2194
3022
  ### CodeCatalystStepConfig <a name="CodeCatalystStepConfig" id="projen-pipelines.CodeCatalystStepConfig"></a>
2195
3023
 
2196
3024
  Configuration interface for a CodeCatalyst Actions step.
@@ -2349,304 +3177,624 @@ const computationContext: ComputationContext = { ... }
2349
3177
  public readonly deployedBy: string;
2350
3178
  ```
2351
3179
 
2352
- - *Type:* string
3180
+ - *Type:* string
3181
+
3182
+ ---
3183
+
3184
+ ##### `environment`<sup>Required</sup> <a name="environment" id="projen-pipelines.ComputationContext.property.environment"></a>
3185
+
3186
+ ```typescript
3187
+ public readonly environment: string;
3188
+ ```
3189
+
3190
+ - *Type:* string
3191
+
3192
+ ---
3193
+
3194
+ ##### `gitInfo`<sup>Required</sup> <a name="gitInfo" id="projen-pipelines.ComputationContext.property.gitInfo"></a>
3195
+
3196
+ ```typescript
3197
+ public readonly gitInfo: GitInfo;
3198
+ ```
3199
+
3200
+ - *Type:* <a href="#projen-pipelines.GitInfo">GitInfo</a>
3201
+
3202
+ ---
3203
+
3204
+ ##### `buildNumber`<sup>Optional</sup> <a name="buildNumber" id="projen-pipelines.ComputationContext.property.buildNumber"></a>
3205
+
3206
+ ```typescript
3207
+ public readonly buildNumber: string;
3208
+ ```
3209
+
3210
+ - *Type:* string
3211
+
3212
+ ---
3213
+
3214
+ ##### `pipelineVersion`<sup>Optional</sup> <a name="pipelineVersion" id="projen-pipelines.ComputationContext.property.pipelineVersion"></a>
3215
+
3216
+ ```typescript
3217
+ public readonly pipelineVersion: string;
3218
+ ```
3219
+
3220
+ - *Type:* string
3221
+
3222
+ ---
3223
+
3224
+ ##### `repository`<sup>Optional</sup> <a name="repository" id="projen-pipelines.ComputationContext.property.repository"></a>
3225
+
3226
+ ```typescript
3227
+ public readonly repository: string;
3228
+ ```
3229
+
3230
+ - *Type:* string
3231
+
3232
+ ---
3233
+
3234
+ ### CustomVersioningConfig <a name="CustomVersioningConfig" id="projen-pipelines.CustomVersioningConfig"></a>
3235
+
3236
+ #### Initializer <a name="Initializer" id="projen-pipelines.CustomVersioningConfig.Initializer"></a>
3237
+
3238
+ ```typescript
3239
+ import { CustomVersioningConfig } from 'projen-pipelines'
3240
+
3241
+ const customVersioningConfig: CustomVersioningConfig = { ... }
3242
+ ```
3243
+
3244
+ #### Properties <a name="Properties" id="Properties"></a>
3245
+
3246
+ | **Name** | **Type** | **Description** |
3247
+ | --- | --- | --- |
3248
+ | <code><a href="#projen-pipelines.CustomVersioningConfig.property.outputs">outputs</a></code> | <code><a href="#projen-pipelines.VersioningOutputConfig">VersioningOutputConfig</a></code> | *No description.* |
3249
+ | <code><a href="#projen-pipelines.CustomVersioningConfig.property.strategy">strategy</a></code> | <code><a href="#projen-pipelines.IVersioningStrategy">IVersioningStrategy</a></code> | *No description.* |
3250
+ | <code><a href="#projen-pipelines.CustomVersioningConfig.property.enabled">enabled</a></code> | <code>boolean</code> | *No description.* |
3251
+ | <code><a href="#projen-pipelines.CustomVersioningConfig.property.stageOverrides">stageOverrides</a></code> | <code>{[ key: string ]: <a href="#projen-pipelines.VersioningConfig">VersioningConfig</a>}</code> | *No description.* |
3252
+
3253
+ ---
3254
+
3255
+ ##### `outputs`<sup>Required</sup> <a name="outputs" id="projen-pipelines.CustomVersioningConfig.property.outputs"></a>
3256
+
3257
+ ```typescript
3258
+ public readonly outputs: VersioningOutputConfig;
3259
+ ```
3260
+
3261
+ - *Type:* <a href="#projen-pipelines.VersioningOutputConfig">VersioningOutputConfig</a>
3262
+
3263
+ ---
3264
+
3265
+ ##### `strategy`<sup>Required</sup> <a name="strategy" id="projen-pipelines.CustomVersioningConfig.property.strategy"></a>
3266
+
3267
+ ```typescript
3268
+ public readonly strategy: IVersioningStrategy;
3269
+ ```
3270
+
3271
+ - *Type:* <a href="#projen-pipelines.IVersioningStrategy">IVersioningStrategy</a>
3272
+
3273
+ ---
3274
+
3275
+ ##### `enabled`<sup>Optional</sup> <a name="enabled" id="projen-pipelines.CustomVersioningConfig.property.enabled"></a>
3276
+
3277
+ ```typescript
3278
+ public readonly enabled: boolean;
3279
+ ```
3280
+
3281
+ - *Type:* boolean
3282
+
3283
+ ---
3284
+
3285
+ ##### `stageOverrides`<sup>Optional</sup> <a name="stageOverrides" id="projen-pipelines.CustomVersioningConfig.property.stageOverrides"></a>
3286
+
3287
+ ```typescript
3288
+ public readonly stageOverrides: {[ key: string ]: VersioningConfig};
3289
+ ```
3290
+
3291
+ - *Type:* {[ key: string ]: <a href="#projen-pipelines.VersioningConfig">VersioningConfig</a>}
3292
+
3293
+ ---
3294
+
3295
+ ### DeploymentInfoInput <a name="DeploymentInfoInput" id="projen-pipelines.DeploymentInfoInput"></a>
3296
+
3297
+ #### Initializer <a name="Initializer" id="projen-pipelines.DeploymentInfoInput.Initializer"></a>
3298
+
3299
+ ```typescript
3300
+ import { DeploymentInfoInput } from 'projen-pipelines'
3301
+
3302
+ const deploymentInfoInput: DeploymentInfoInput = { ... }
3303
+ ```
3304
+
3305
+ #### Properties <a name="Properties" id="Properties"></a>
3306
+
3307
+ | **Name** | **Type** | **Description** |
3308
+ | --- | --- | --- |
3309
+ | <code><a href="#projen-pipelines.DeploymentInfoInput.property.environment">environment</a></code> | <code>string</code> | *No description.* |
3310
+ | <code><a href="#projen-pipelines.DeploymentInfoInput.property.buildNumber">buildNumber</a></code> | <code>string</code> | *No description.* |
3311
+ | <code><a href="#projen-pipelines.DeploymentInfoInput.property.deployedBy">deployedBy</a></code> | <code>string</code> | *No description.* |
3312
+
3313
+ ---
3314
+
3315
+ ##### `environment`<sup>Required</sup> <a name="environment" id="projen-pipelines.DeploymentInfoInput.property.environment"></a>
3316
+
3317
+ ```typescript
3318
+ public readonly environment: string;
3319
+ ```
3320
+
3321
+ - *Type:* string
3322
+
3323
+ ---
3324
+
3325
+ ##### `buildNumber`<sup>Optional</sup> <a name="buildNumber" id="projen-pipelines.DeploymentInfoInput.property.buildNumber"></a>
3326
+
3327
+ ```typescript
3328
+ public readonly buildNumber: string;
3329
+ ```
3330
+
3331
+ - *Type:* string
3332
+
3333
+ ---
3334
+
3335
+ ##### `deployedBy`<sup>Optional</sup> <a name="deployedBy" id="projen-pipelines.DeploymentInfoInput.property.deployedBy"></a>
3336
+
3337
+ ```typescript
3338
+ public readonly deployedBy: string;
3339
+ ```
3340
+
3341
+ - *Type:* string
3342
+
3343
+ ---
3344
+
3345
+ ### DeploymentStage <a name="DeploymentStage" id="projen-pipelines.DeploymentStage"></a>
3346
+
3347
+ Options for stages that are part of the pipeline.
3348
+
3349
+ #### Initializer <a name="Initializer" id="projen-pipelines.DeploymentStage.Initializer"></a>
3350
+
3351
+ ```typescript
3352
+ import { DeploymentStage } from 'projen-pipelines'
3353
+
3354
+ const deploymentStage: DeploymentStage = { ... }
3355
+ ```
3356
+
3357
+ #### Properties <a name="Properties" id="Properties"></a>
3358
+
3359
+ | **Name** | **Type** | **Description** |
3360
+ | --- | --- | --- |
3361
+ | <code><a href="#projen-pipelines.DeploymentStage.property.env">env</a></code> | <code><a href="#projen-pipelines.Environment">Environment</a></code> | *No description.* |
3362
+ | <code><a href="#projen-pipelines.DeploymentStage.property.name">name</a></code> | <code>string</code> | *No description.* |
3363
+ | <code><a href="#projen-pipelines.DeploymentStage.property.diffType">diffType</a></code> | <code><a href="#projen-pipelines.CdkDiffType">CdkDiffType</a></code> | *No description.* |
3364
+ | <code><a href="#projen-pipelines.DeploymentStage.property.postDeploySteps">postDeploySteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
3365
+ | <code><a href="#projen-pipelines.DeploymentStage.property.postDiffSteps">postDiffSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
3366
+ | <code><a href="#projen-pipelines.DeploymentStage.property.watchable">watchable</a></code> | <code>boolean</code> | *No description.* |
3367
+ | <code><a href="#projen-pipelines.DeploymentStage.property.manualApproval">manualApproval</a></code> | <code>boolean</code> | *No description.* |
3368
+
3369
+ ---
3370
+
3371
+ ##### `env`<sup>Required</sup> <a name="env" id="projen-pipelines.DeploymentStage.property.env"></a>
3372
+
3373
+ ```typescript
3374
+ public readonly env: Environment;
3375
+ ```
3376
+
3377
+ - *Type:* <a href="#projen-pipelines.Environment">Environment</a>
3378
+
3379
+ ---
3380
+
3381
+ ##### `name`<sup>Required</sup> <a name="name" id="projen-pipelines.DeploymentStage.property.name"></a>
3382
+
3383
+ ```typescript
3384
+ public readonly name: string;
3385
+ ```
3386
+
3387
+ - *Type:* string
3388
+
3389
+ ---
3390
+
3391
+ ##### `diffType`<sup>Optional</sup> <a name="diffType" id="projen-pipelines.DeploymentStage.property.diffType"></a>
3392
+
3393
+ ```typescript
3394
+ public readonly diffType: CdkDiffType;
3395
+ ```
3396
+
3397
+ - *Type:* <a href="#projen-pipelines.CdkDiffType">CdkDiffType</a>
3398
+
3399
+ ---
3400
+
3401
+ ##### `postDeploySteps`<sup>Optional</sup> <a name="postDeploySteps" id="projen-pipelines.DeploymentStage.property.postDeploySteps"></a>
3402
+
3403
+ ```typescript
3404
+ public readonly postDeploySteps: PipelineStep[];
3405
+ ```
3406
+
3407
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
3408
+
3409
+ ---
3410
+
3411
+ ##### `postDiffSteps`<sup>Optional</sup> <a name="postDiffSteps" id="projen-pipelines.DeploymentStage.property.postDiffSteps"></a>
3412
+
3413
+ ```typescript
3414
+ public readonly postDiffSteps: PipelineStep[];
3415
+ ```
3416
+
3417
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
2353
3418
 
2354
3419
  ---
2355
3420
 
2356
- ##### `environment`<sup>Required</sup> <a name="environment" id="projen-pipelines.ComputationContext.property.environment"></a>
3421
+ ##### `watchable`<sup>Optional</sup> <a name="watchable" id="projen-pipelines.DeploymentStage.property.watchable"></a>
2357
3422
 
2358
3423
  ```typescript
2359
- public readonly environment: string;
3424
+ public readonly watchable: boolean;
2360
3425
  ```
2361
3426
 
2362
- - *Type:* string
3427
+ - *Type:* boolean
2363
3428
 
2364
3429
  ---
2365
3430
 
2366
- ##### `gitInfo`<sup>Required</sup> <a name="gitInfo" id="projen-pipelines.ComputationContext.property.gitInfo"></a>
3431
+ ##### `manualApproval`<sup>Optional</sup> <a name="manualApproval" id="projen-pipelines.DeploymentStage.property.manualApproval"></a>
2367
3432
 
2368
3433
  ```typescript
2369
- public readonly gitInfo: GitInfo;
3434
+ public readonly manualApproval: boolean;
2370
3435
  ```
2371
3436
 
2372
- - *Type:* <a href="#projen-pipelines.GitInfo">GitInfo</a>
3437
+ - *Type:* boolean
2373
3438
 
2374
3439
  ---
2375
3440
 
2376
- ##### `buildNumber`<sup>Optional</sup> <a name="buildNumber" id="projen-pipelines.ComputationContext.property.buildNumber"></a>
3441
+ ### DownloadArtifactStepConfig <a name="DownloadArtifactStepConfig" id="projen-pipelines.DownloadArtifactStepConfig"></a>
3442
+
3443
+ #### Initializer <a name="Initializer" id="projen-pipelines.DownloadArtifactStepConfig.Initializer"></a>
2377
3444
 
2378
3445
  ```typescript
2379
- public readonly buildNumber: string;
3446
+ import { DownloadArtifactStepConfig } from 'projen-pipelines'
3447
+
3448
+ const downloadArtifactStepConfig: DownloadArtifactStepConfig = { ... }
2380
3449
  ```
2381
3450
 
2382
- - *Type:* string
3451
+ #### Properties <a name="Properties" id="Properties"></a>
3452
+
3453
+ | **Name** | **Type** | **Description** |
3454
+ | --- | --- | --- |
3455
+ | <code><a href="#projen-pipelines.DownloadArtifactStepConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
3456
+ | <code><a href="#projen-pipelines.DownloadArtifactStepConfig.property.path">path</a></code> | <code>string</code> | *No description.* |
2383
3457
 
2384
3458
  ---
2385
3459
 
2386
- ##### `pipelineVersion`<sup>Optional</sup> <a name="pipelineVersion" id="projen-pipelines.ComputationContext.property.pipelineVersion"></a>
3460
+ ##### `name`<sup>Required</sup> <a name="name" id="projen-pipelines.DownloadArtifactStepConfig.property.name"></a>
2387
3461
 
2388
3462
  ```typescript
2389
- public readonly pipelineVersion: string;
3463
+ public readonly name: string;
2390
3464
  ```
2391
3465
 
2392
3466
  - *Type:* string
2393
3467
 
2394
3468
  ---
2395
3469
 
2396
- ##### `repository`<sup>Optional</sup> <a name="repository" id="projen-pipelines.ComputationContext.property.repository"></a>
3470
+ ##### `path`<sup>Required</sup> <a name="path" id="projen-pipelines.DownloadArtifactStepConfig.property.path"></a>
2397
3471
 
2398
3472
  ```typescript
2399
- public readonly repository: string;
3473
+ public readonly path: string;
2400
3474
  ```
2401
3475
 
2402
3476
  - *Type:* string
2403
3477
 
2404
3478
  ---
2405
3479
 
2406
- ### CustomVersioningConfig <a name="CustomVersioningConfig" id="projen-pipelines.CustomVersioningConfig"></a>
3480
+ ### DriftDetectionStageOptions <a name="DriftDetectionStageOptions" id="projen-pipelines.DriftDetectionStageOptions"></a>
2407
3481
 
2408
- #### Initializer <a name="Initializer" id="projen-pipelines.CustomVersioningConfig.Initializer"></a>
3482
+ #### Initializer <a name="Initializer" id="projen-pipelines.DriftDetectionStageOptions.Initializer"></a>
2409
3483
 
2410
3484
  ```typescript
2411
- import { CustomVersioningConfig } from 'projen-pipelines'
3485
+ import { DriftDetectionStageOptions } from 'projen-pipelines'
2412
3486
 
2413
- const customVersioningConfig: CustomVersioningConfig = { ... }
3487
+ const driftDetectionStageOptions: DriftDetectionStageOptions = { ... }
2414
3488
  ```
2415
3489
 
2416
3490
  #### Properties <a name="Properties" id="Properties"></a>
2417
3491
 
2418
3492
  | **Name** | **Type** | **Description** |
2419
3493
  | --- | --- | --- |
2420
- | <code><a href="#projen-pipelines.CustomVersioningConfig.property.outputs">outputs</a></code> | <code><a href="#projen-pipelines.VersioningOutputConfig">VersioningOutputConfig</a></code> | *No description.* |
2421
- | <code><a href="#projen-pipelines.CustomVersioningConfig.property.strategy">strategy</a></code> | <code><a href="#projen-pipelines.IVersioningStrategy">IVersioningStrategy</a></code> | *No description.* |
2422
- | <code><a href="#projen-pipelines.CustomVersioningConfig.property.enabled">enabled</a></code> | <code>boolean</code> | *No description.* |
2423
- | <code><a href="#projen-pipelines.CustomVersioningConfig.property.stageOverrides">stageOverrides</a></code> | <code>{[ key: string ]: <a href="#projen-pipelines.VersioningConfig">VersioningConfig</a>}</code> | *No description.* |
3494
+ | <code><a href="#projen-pipelines.DriftDetectionStageOptions.property.name">name</a></code> | <code>string</code> | Name of the stage. |
3495
+ | <code><a href="#projen-pipelines.DriftDetectionStageOptions.property.region">region</a></code> | <code>string</code> | AWS region for this stage. |
3496
+ | <code><a href="#projen-pipelines.DriftDetectionStageOptions.property.environment">environment</a></code> | <code>{[ key: string ]: string}</code> | Environment variables for this stage. |
3497
+ | <code><a href="#projen-pipelines.DriftDetectionStageOptions.property.failOnDrift">failOnDrift</a></code> | <code>boolean</code> | Whether to fail if drift is detected. |
3498
+ | <code><a href="#projen-pipelines.DriftDetectionStageOptions.property.roleArn">roleArn</a></code> | <code>string</code> | Role to assume for drift detection. |
3499
+ | <code><a href="#projen-pipelines.DriftDetectionStageOptions.property.stackNames">stackNames</a></code> | <code>string[]</code> | Stack names to check in this stage. |
2424
3500
 
2425
3501
  ---
2426
3502
 
2427
- ##### `outputs`<sup>Required</sup> <a name="outputs" id="projen-pipelines.CustomVersioningConfig.property.outputs"></a>
3503
+ ##### `name`<sup>Required</sup> <a name="name" id="projen-pipelines.DriftDetectionStageOptions.property.name"></a>
2428
3504
 
2429
3505
  ```typescript
2430
- public readonly outputs: VersioningOutputConfig;
3506
+ public readonly name: string;
2431
3507
  ```
2432
3508
 
2433
- - *Type:* <a href="#projen-pipelines.VersioningOutputConfig">VersioningOutputConfig</a>
3509
+ - *Type:* string
3510
+
3511
+ Name of the stage.
2434
3512
 
2435
3513
  ---
2436
3514
 
2437
- ##### `strategy`<sup>Required</sup> <a name="strategy" id="projen-pipelines.CustomVersioningConfig.property.strategy"></a>
3515
+ ##### `region`<sup>Required</sup> <a name="region" id="projen-pipelines.DriftDetectionStageOptions.property.region"></a>
2438
3516
 
2439
3517
  ```typescript
2440
- public readonly strategy: IVersioningStrategy;
3518
+ public readonly region: string;
2441
3519
  ```
2442
3520
 
2443
- - *Type:* <a href="#projen-pipelines.IVersioningStrategy">IVersioningStrategy</a>
3521
+ - *Type:* string
3522
+
3523
+ AWS region for this stage.
2444
3524
 
2445
3525
  ---
2446
3526
 
2447
- ##### `enabled`<sup>Optional</sup> <a name="enabled" id="projen-pipelines.CustomVersioningConfig.property.enabled"></a>
3527
+ ##### `environment`<sup>Optional</sup> <a name="environment" id="projen-pipelines.DriftDetectionStageOptions.property.environment"></a>
2448
3528
 
2449
3529
  ```typescript
2450
- public readonly enabled: boolean;
3530
+ public readonly environment: {[ key: string ]: string};
3531
+ ```
3532
+
3533
+ - *Type:* {[ key: string ]: string}
3534
+
3535
+ Environment variables for this stage.
3536
+
3537
+ ---
3538
+
3539
+ ##### `failOnDrift`<sup>Optional</sup> <a name="failOnDrift" id="projen-pipelines.DriftDetectionStageOptions.property.failOnDrift"></a>
3540
+
3541
+ ```typescript
3542
+ public readonly failOnDrift: boolean;
2451
3543
  ```
2452
3544
 
2453
3545
  - *Type:* boolean
3546
+ - *Default:* true
3547
+
3548
+ Whether to fail if drift is detected.
2454
3549
 
2455
3550
  ---
2456
3551
 
2457
- ##### `stageOverrides`<sup>Optional</sup> <a name="stageOverrides" id="projen-pipelines.CustomVersioningConfig.property.stageOverrides"></a>
3552
+ ##### `roleArn`<sup>Optional</sup> <a name="roleArn" id="projen-pipelines.DriftDetectionStageOptions.property.roleArn"></a>
2458
3553
 
2459
3554
  ```typescript
2460
- public readonly stageOverrides: {[ key: string ]: VersioningConfig};
3555
+ public readonly roleArn: string;
2461
3556
  ```
2462
3557
 
2463
- - *Type:* {[ key: string ]: <a href="#projen-pipelines.VersioningConfig">VersioningConfig</a>}
3558
+ - *Type:* string
3559
+
3560
+ Role to assume for drift detection.
2464
3561
 
2465
3562
  ---
2466
3563
 
2467
- ### DeploymentInfoInput <a name="DeploymentInfoInput" id="projen-pipelines.DeploymentInfoInput"></a>
3564
+ ##### `stackNames`<sup>Optional</sup> <a name="stackNames" id="projen-pipelines.DriftDetectionStageOptions.property.stackNames"></a>
2468
3565
 
2469
- #### Initializer <a name="Initializer" id="projen-pipelines.DeploymentInfoInput.Initializer"></a>
3566
+ ```typescript
3567
+ public readonly stackNames: string[];
3568
+ ```
3569
+
3570
+ - *Type:* string[]
3571
+
3572
+ Stack names to check in this stage.
3573
+
3574
+ ---
3575
+
3576
+ ### DriftDetectionStepProps <a name="DriftDetectionStepProps" id="projen-pipelines.DriftDetectionStepProps"></a>
3577
+
3578
+ #### Initializer <a name="Initializer" id="projen-pipelines.DriftDetectionStepProps.Initializer"></a>
2470
3579
 
2471
3580
  ```typescript
2472
- import { DeploymentInfoInput } from 'projen-pipelines'
3581
+ import { DriftDetectionStepProps } from 'projen-pipelines'
2473
3582
 
2474
- const deploymentInfoInput: DeploymentInfoInput = { ... }
3583
+ const driftDetectionStepProps: DriftDetectionStepProps = { ... }
2475
3584
  ```
2476
3585
 
2477
3586
  #### Properties <a name="Properties" id="Properties"></a>
2478
3587
 
2479
3588
  | **Name** | **Type** | **Description** |
2480
3589
  | --- | --- | --- |
2481
- | <code><a href="#projen-pipelines.DeploymentInfoInput.property.environment">environment</a></code> | <code>string</code> | *No description.* |
2482
- | <code><a href="#projen-pipelines.DeploymentInfoInput.property.buildNumber">buildNumber</a></code> | <code>string</code> | *No description.* |
2483
- | <code><a href="#projen-pipelines.DeploymentInfoInput.property.deployedBy">deployedBy</a></code> | <code>string</code> | *No description.* |
3590
+ | <code><a href="#projen-pipelines.DriftDetectionStepProps.property.name">name</a></code> | <code>string</code> | Name of the stage. |
3591
+ | <code><a href="#projen-pipelines.DriftDetectionStepProps.property.region">region</a></code> | <code>string</code> | AWS region for this stage. |
3592
+ | <code><a href="#projen-pipelines.DriftDetectionStepProps.property.environment">environment</a></code> | <code>{[ key: string ]: string}</code> | Environment variables for this stage. |
3593
+ | <code><a href="#projen-pipelines.DriftDetectionStepProps.property.failOnDrift">failOnDrift</a></code> | <code>boolean</code> | Whether to fail if drift is detected. |
3594
+ | <code><a href="#projen-pipelines.DriftDetectionStepProps.property.roleArn">roleArn</a></code> | <code>string</code> | Role to assume for drift detection. |
3595
+ | <code><a href="#projen-pipelines.DriftDetectionStepProps.property.stackNames">stackNames</a></code> | <code>string[]</code> | Stack names to check in this stage. |
3596
+ | <code><a href="#projen-pipelines.DriftDetectionStepProps.property.timeout">timeout</a></code> | <code>number</code> | Timeout in minutes for drift detection. |
2484
3597
 
2485
3598
  ---
2486
3599
 
2487
- ##### `environment`<sup>Required</sup> <a name="environment" id="projen-pipelines.DeploymentInfoInput.property.environment"></a>
3600
+ ##### `name`<sup>Required</sup> <a name="name" id="projen-pipelines.DriftDetectionStepProps.property.name"></a>
2488
3601
 
2489
3602
  ```typescript
2490
- public readonly environment: string;
3603
+ public readonly name: string;
2491
3604
  ```
2492
3605
 
2493
3606
  - *Type:* string
2494
3607
 
3608
+ Name of the stage.
3609
+
2495
3610
  ---
2496
3611
 
2497
- ##### `buildNumber`<sup>Optional</sup> <a name="buildNumber" id="projen-pipelines.DeploymentInfoInput.property.buildNumber"></a>
3612
+ ##### `region`<sup>Required</sup> <a name="region" id="projen-pipelines.DriftDetectionStepProps.property.region"></a>
2498
3613
 
2499
3614
  ```typescript
2500
- public readonly buildNumber: string;
3615
+ public readonly region: string;
2501
3616
  ```
2502
3617
 
2503
3618
  - *Type:* string
2504
3619
 
3620
+ AWS region for this stage.
3621
+
2505
3622
  ---
2506
3623
 
2507
- ##### `deployedBy`<sup>Optional</sup> <a name="deployedBy" id="projen-pipelines.DeploymentInfoInput.property.deployedBy"></a>
3624
+ ##### `environment`<sup>Optional</sup> <a name="environment" id="projen-pipelines.DriftDetectionStepProps.property.environment"></a>
2508
3625
 
2509
3626
  ```typescript
2510
- public readonly deployedBy: string;
3627
+ public readonly environment: {[ key: string ]: string};
2511
3628
  ```
2512
3629
 
2513
- - *Type:* string
2514
-
2515
- ---
3630
+ - *Type:* {[ key: string ]: string}
2516
3631
 
2517
- ### DeploymentStage <a name="DeploymentStage" id="projen-pipelines.DeploymentStage"></a>
3632
+ Environment variables for this stage.
2518
3633
 
2519
- Options for stages that are part of the pipeline.
3634
+ ---
2520
3635
 
2521
- #### Initializer <a name="Initializer" id="projen-pipelines.DeploymentStage.Initializer"></a>
3636
+ ##### `failOnDrift`<sup>Optional</sup> <a name="failOnDrift" id="projen-pipelines.DriftDetectionStepProps.property.failOnDrift"></a>
2522
3637
 
2523
3638
  ```typescript
2524
- import { DeploymentStage } from 'projen-pipelines'
2525
-
2526
- const deploymentStage: DeploymentStage = { ... }
3639
+ public readonly failOnDrift: boolean;
2527
3640
  ```
2528
3641
 
2529
- #### Properties <a name="Properties" id="Properties"></a>
3642
+ - *Type:* boolean
3643
+ - *Default:* true
2530
3644
 
2531
- | **Name** | **Type** | **Description** |
2532
- | --- | --- | --- |
2533
- | <code><a href="#projen-pipelines.DeploymentStage.property.env">env</a></code> | <code><a href="#projen-pipelines.Environment">Environment</a></code> | *No description.* |
2534
- | <code><a href="#projen-pipelines.DeploymentStage.property.name">name</a></code> | <code>string</code> | *No description.* |
2535
- | <code><a href="#projen-pipelines.DeploymentStage.property.diffType">diffType</a></code> | <code><a href="#projen-pipelines.CdkDiffType">CdkDiffType</a></code> | *No description.* |
2536
- | <code><a href="#projen-pipelines.DeploymentStage.property.postDeploySteps">postDeploySteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
2537
- | <code><a href="#projen-pipelines.DeploymentStage.property.postDiffSteps">postDiffSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
2538
- | <code><a href="#projen-pipelines.DeploymentStage.property.watchable">watchable</a></code> | <code>boolean</code> | *No description.* |
2539
- | <code><a href="#projen-pipelines.DeploymentStage.property.manualApproval">manualApproval</a></code> | <code>boolean</code> | *No description.* |
3645
+ Whether to fail if drift is detected.
2540
3646
 
2541
3647
  ---
2542
3648
 
2543
- ##### `env`<sup>Required</sup> <a name="env" id="projen-pipelines.DeploymentStage.property.env"></a>
3649
+ ##### `roleArn`<sup>Optional</sup> <a name="roleArn" id="projen-pipelines.DriftDetectionStepProps.property.roleArn"></a>
2544
3650
 
2545
3651
  ```typescript
2546
- public readonly env: Environment;
3652
+ public readonly roleArn: string;
2547
3653
  ```
2548
3654
 
2549
- - *Type:* <a href="#projen-pipelines.Environment">Environment</a>
3655
+ - *Type:* string
3656
+
3657
+ Role to assume for drift detection.
2550
3658
 
2551
3659
  ---
2552
3660
 
2553
- ##### `name`<sup>Required</sup> <a name="name" id="projen-pipelines.DeploymentStage.property.name"></a>
3661
+ ##### `stackNames`<sup>Optional</sup> <a name="stackNames" id="projen-pipelines.DriftDetectionStepProps.property.stackNames"></a>
2554
3662
 
2555
3663
  ```typescript
2556
- public readonly name: string;
3664
+ public readonly stackNames: string[];
2557
3665
  ```
2558
3666
 
2559
- - *Type:* string
3667
+ - *Type:* string[]
3668
+
3669
+ Stack names to check in this stage.
2560
3670
 
2561
3671
  ---
2562
3672
 
2563
- ##### `diffType`<sup>Optional</sup> <a name="diffType" id="projen-pipelines.DeploymentStage.property.diffType"></a>
3673
+ ##### `timeout`<sup>Optional</sup> <a name="timeout" id="projen-pipelines.DriftDetectionStepProps.property.timeout"></a>
2564
3674
 
2565
3675
  ```typescript
2566
- public readonly diffType: CdkDiffType;
3676
+ public readonly timeout: number;
2567
3677
  ```
2568
3678
 
2569
- - *Type:* <a href="#projen-pipelines.CdkDiffType">CdkDiffType</a>
3679
+ - *Type:* number
3680
+ - *Default:* 30
3681
+
3682
+ Timeout in minutes for drift detection.
2570
3683
 
2571
3684
  ---
2572
3685
 
2573
- ##### `postDeploySteps`<sup>Optional</sup> <a name="postDeploySteps" id="projen-pipelines.DeploymentStage.property.postDeploySteps"></a>
3686
+ ### DriftDetectionWorkflowOptions <a name="DriftDetectionWorkflowOptions" id="projen-pipelines.DriftDetectionWorkflowOptions"></a>
3687
+
3688
+ #### Initializer <a name="Initializer" id="projen-pipelines.DriftDetectionWorkflowOptions.Initializer"></a>
2574
3689
 
2575
3690
  ```typescript
2576
- public readonly postDeploySteps: PipelineStep[];
3691
+ import { DriftDetectionWorkflowOptions } from 'projen-pipelines'
3692
+
3693
+ const driftDetectionWorkflowOptions: DriftDetectionWorkflowOptions = { ... }
2577
3694
  ```
2578
3695
 
2579
- - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
3696
+ #### Properties <a name="Properties" id="Properties"></a>
3697
+
3698
+ | **Name** | **Type** | **Description** |
3699
+ | --- | --- | --- |
3700
+ | <code><a href="#projen-pipelines.DriftDetectionWorkflowOptions.property.stages">stages</a></code> | <code><a href="#projen-pipelines.DriftDetectionStageOptions">DriftDetectionStageOptions</a>[]</code> | Drift detection configurations for different environments. |
3701
+ | <code><a href="#projen-pipelines.DriftDetectionWorkflowOptions.property.name">name</a></code> | <code>string</code> | Name of the workflow. |
3702
+ | <code><a href="#projen-pipelines.DriftDetectionWorkflowOptions.property.schedule">schedule</a></code> | <code>string</code> | Cron schedule for drift detection. |
2580
3703
 
2581
3704
  ---
2582
3705
 
2583
- ##### `postDiffSteps`<sup>Optional</sup> <a name="postDiffSteps" id="projen-pipelines.DeploymentStage.property.postDiffSteps"></a>
3706
+ ##### `stages`<sup>Required</sup> <a name="stages" id="projen-pipelines.DriftDetectionWorkflowOptions.property.stages"></a>
2584
3707
 
2585
3708
  ```typescript
2586
- public readonly postDiffSteps: PipelineStep[];
3709
+ public readonly stages: DriftDetectionStageOptions[];
2587
3710
  ```
2588
3711
 
2589
- - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
3712
+ - *Type:* <a href="#projen-pipelines.DriftDetectionStageOptions">DriftDetectionStageOptions</a>[]
3713
+
3714
+ Drift detection configurations for different environments.
2590
3715
 
2591
3716
  ---
2592
3717
 
2593
- ##### `watchable`<sup>Optional</sup> <a name="watchable" id="projen-pipelines.DeploymentStage.property.watchable"></a>
3718
+ ##### `name`<sup>Optional</sup> <a name="name" id="projen-pipelines.DriftDetectionWorkflowOptions.property.name"></a>
2594
3719
 
2595
3720
  ```typescript
2596
- public readonly watchable: boolean;
3721
+ public readonly name: string;
2597
3722
  ```
2598
3723
 
2599
- - *Type:* boolean
3724
+ - *Type:* string
3725
+ - *Default:* "drift-detection"
3726
+
3727
+ Name of the workflow.
2600
3728
 
2601
3729
  ---
2602
3730
 
2603
- ##### `manualApproval`<sup>Optional</sup> <a name="manualApproval" id="projen-pipelines.DeploymentStage.property.manualApproval"></a>
3731
+ ##### `schedule`<sup>Optional</sup> <a name="schedule" id="projen-pipelines.DriftDetectionWorkflowOptions.property.schedule"></a>
2604
3732
 
2605
3733
  ```typescript
2606
- public readonly manualApproval: boolean;
3734
+ public readonly schedule: string;
2607
3735
  ```
2608
3736
 
2609
- - *Type:* boolean
3737
+ - *Type:* string
3738
+ - *Default:* "0 0 * * *" (daily at midnight)
3739
+
3740
+ Cron schedule for drift detection.
2610
3741
 
2611
3742
  ---
2612
3743
 
2613
- ### DownloadArtifactStepConfig <a name="DownloadArtifactStepConfig" id="projen-pipelines.DownloadArtifactStepConfig"></a>
3744
+ ### DriftErrorHandler <a name="DriftErrorHandler" id="projen-pipelines.DriftErrorHandler"></a>
2614
3745
 
2615
- #### Initializer <a name="Initializer" id="projen-pipelines.DownloadArtifactStepConfig.Initializer"></a>
3746
+ #### Initializer <a name="Initializer" id="projen-pipelines.DriftErrorHandler.Initializer"></a>
2616
3747
 
2617
3748
  ```typescript
2618
- import { DownloadArtifactStepConfig } from 'projen-pipelines'
3749
+ import { DriftErrorHandler } from 'projen-pipelines'
2619
3750
 
2620
- const downloadArtifactStepConfig: DownloadArtifactStepConfig = { ... }
3751
+ const driftErrorHandler: DriftErrorHandler = { ... }
2621
3752
  ```
2622
3753
 
2623
3754
  #### Properties <a name="Properties" id="Properties"></a>
2624
3755
 
2625
3756
  | **Name** | **Type** | **Description** |
2626
3757
  | --- | --- | --- |
2627
- | <code><a href="#projen-pipelines.DownloadArtifactStepConfig.property.name">name</a></code> | <code>string</code> | *No description.* |
2628
- | <code><a href="#projen-pipelines.DownloadArtifactStepConfig.property.path">path</a></code> | <code>string</code> | *No description.* |
3758
+ | <code><a href="#projen-pipelines.DriftErrorHandler.property.action">action</a></code> | <code>string</code> | Action to take when pattern matches. |
3759
+ | <code><a href="#projen-pipelines.DriftErrorHandler.property.pattern">pattern</a></code> | <code>string</code> | Pattern to match stack names. |
3760
+ | <code><a href="#projen-pipelines.DriftErrorHandler.property.message">message</a></code> | <code>string</code> | Optional message to display. |
2629
3761
 
2630
3762
  ---
2631
3763
 
2632
- ##### `name`<sup>Required</sup> <a name="name" id="projen-pipelines.DownloadArtifactStepConfig.property.name"></a>
3764
+ ##### `action`<sup>Required</sup> <a name="action" id="projen-pipelines.DriftErrorHandler.property.action"></a>
2633
3765
 
2634
3766
  ```typescript
2635
- public readonly name: string;
3767
+ public readonly action: string;
2636
3768
  ```
2637
3769
 
2638
3770
  - *Type:* string
2639
3771
 
3772
+ Action to take when pattern matches.
3773
+
2640
3774
  ---
2641
3775
 
2642
- ##### `path`<sup>Required</sup> <a name="path" id="projen-pipelines.DownloadArtifactStepConfig.property.path"></a>
3776
+ ##### `pattern`<sup>Required</sup> <a name="pattern" id="projen-pipelines.DriftErrorHandler.property.pattern"></a>
2643
3777
 
2644
3778
  ```typescript
2645
- public readonly path: string;
3779
+ public readonly pattern: string;
3780
+ ```
3781
+
3782
+ - *Type:* string
3783
+
3784
+ Pattern to match stack names.
3785
+
3786
+ ---
3787
+
3788
+ ##### `message`<sup>Optional</sup> <a name="message" id="projen-pipelines.DriftErrorHandler.property.message"></a>
3789
+
3790
+ ```typescript
3791
+ public readonly message: string;
2646
3792
  ```
2647
3793
 
2648
3794
  - *Type:* string
2649
3795
 
3796
+ Optional message to display.
3797
+
2650
3798
  ---
2651
3799
 
2652
3800
  ### Environment <a name="Environment" id="projen-pipelines.Environment"></a>
@@ -2999,36 +4147,121 @@ public readonly runnerTags: string[];
2999
4147
  - *Type:* string[]
3000
4148
  - *Default:* ['ubuntu-latest']
3001
4149
 
3002
- runner tags to use to select runners.
4150
+ runner tags to use to select runners.
4151
+
4152
+ ---
4153
+
4154
+ ##### `useGithubEnvironments`<sup>Optional</sup> <a name="useGithubEnvironments" id="projen-pipelines.GithubCDKPipelineOptions.property.useGithubEnvironments"></a>
4155
+
4156
+ ```typescript
4157
+ public readonly useGithubEnvironments: boolean;
4158
+ ```
4159
+
4160
+ - *Type:* boolean
4161
+ - *Default:* false
4162
+
4163
+ whether to use GitHub environments for deployment stages.
4164
+
4165
+ INFO: When using environments consider protection rules instead of using the manual option of projen-pipelines for stages
4166
+
4167
+ ---
4168
+
4169
+ ##### `useGithubPackagesForAssembly`<sup>Optional</sup> <a name="useGithubPackagesForAssembly" id="projen-pipelines.GithubCDKPipelineOptions.property.useGithubPackagesForAssembly"></a>
4170
+
4171
+ ```typescript
4172
+ public readonly useGithubPackagesForAssembly: boolean;
4173
+ ```
4174
+
4175
+ - *Type:* boolean
4176
+
4177
+ use GitHub Packages to store vesioned artifacts of cloud assembly;
4178
+
4179
+ also needed for manual approvals
4180
+
4181
+ ---
4182
+
4183
+ ### GitHubDriftDetectionWorkflowOptions <a name="GitHubDriftDetectionWorkflowOptions" id="projen-pipelines.GitHubDriftDetectionWorkflowOptions"></a>
4184
+
4185
+ #### Initializer <a name="Initializer" id="projen-pipelines.GitHubDriftDetectionWorkflowOptions.Initializer"></a>
4186
+
4187
+ ```typescript
4188
+ import { GitHubDriftDetectionWorkflowOptions } from 'projen-pipelines'
4189
+
4190
+ const gitHubDriftDetectionWorkflowOptions: GitHubDriftDetectionWorkflowOptions = { ... }
4191
+ ```
4192
+
4193
+ #### Properties <a name="Properties" id="Properties"></a>
4194
+
4195
+ | **Name** | **Type** | **Description** |
4196
+ | --- | --- | --- |
4197
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflowOptions.property.stages">stages</a></code> | <code><a href="#projen-pipelines.DriftDetectionStageOptions">DriftDetectionStageOptions</a>[]</code> | Drift detection configurations for different environments. |
4198
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflowOptions.property.name">name</a></code> | <code>string</code> | Name of the workflow. |
4199
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflowOptions.property.schedule">schedule</a></code> | <code>string</code> | Cron schedule for drift detection. |
4200
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflowOptions.property.createIssues">createIssues</a></code> | <code>boolean</code> | Whether to create issues on drift detection. |
4201
+ | <code><a href="#projen-pipelines.GitHubDriftDetectionWorkflowOptions.property.permissions">permissions</a></code> | <code>{[ key: string ]: string}</code> | Additional permissions for GitHub workflow. |
4202
+
4203
+ ---
4204
+
4205
+ ##### `stages`<sup>Required</sup> <a name="stages" id="projen-pipelines.GitHubDriftDetectionWorkflowOptions.property.stages"></a>
4206
+
4207
+ ```typescript
4208
+ public readonly stages: DriftDetectionStageOptions[];
4209
+ ```
4210
+
4211
+ - *Type:* <a href="#projen-pipelines.DriftDetectionStageOptions">DriftDetectionStageOptions</a>[]
4212
+
4213
+ Drift detection configurations for different environments.
4214
+
4215
+ ---
4216
+
4217
+ ##### `name`<sup>Optional</sup> <a name="name" id="projen-pipelines.GitHubDriftDetectionWorkflowOptions.property.name"></a>
4218
+
4219
+ ```typescript
4220
+ public readonly name: string;
4221
+ ```
4222
+
4223
+ - *Type:* string
4224
+ - *Default:* "drift-detection"
4225
+
4226
+ Name of the workflow.
4227
+
4228
+ ---
4229
+
4230
+ ##### `schedule`<sup>Optional</sup> <a name="schedule" id="projen-pipelines.GitHubDriftDetectionWorkflowOptions.property.schedule"></a>
4231
+
4232
+ ```typescript
4233
+ public readonly schedule: string;
4234
+ ```
4235
+
4236
+ - *Type:* string
4237
+ - *Default:* "0 0 * * *" (daily at midnight)
4238
+
4239
+ Cron schedule for drift detection.
3003
4240
 
3004
4241
  ---
3005
4242
 
3006
- ##### `useGithubEnvironments`<sup>Optional</sup> <a name="useGithubEnvironments" id="projen-pipelines.GithubCDKPipelineOptions.property.useGithubEnvironments"></a>
4243
+ ##### `createIssues`<sup>Optional</sup> <a name="createIssues" id="projen-pipelines.GitHubDriftDetectionWorkflowOptions.property.createIssues"></a>
3007
4244
 
3008
4245
  ```typescript
3009
- public readonly useGithubEnvironments: boolean;
4246
+ public readonly createIssues: boolean;
3010
4247
  ```
3011
4248
 
3012
4249
  - *Type:* boolean
3013
4250
  - *Default:* false
3014
4251
 
3015
- whether to use GitHub environments for deployment stages.
3016
-
3017
- INFO: When using environments consider protection rules instead of using the manual option of projen-pipelines for stages
4252
+ Whether to create issues on drift detection.
3018
4253
 
3019
4254
  ---
3020
4255
 
3021
- ##### `useGithubPackagesForAssembly`<sup>Optional</sup> <a name="useGithubPackagesForAssembly" id="projen-pipelines.GithubCDKPipelineOptions.property.useGithubPackagesForAssembly"></a>
4256
+ ##### `permissions`<sup>Optional</sup> <a name="permissions" id="projen-pipelines.GitHubDriftDetectionWorkflowOptions.property.permissions"></a>
3022
4257
 
3023
4258
  ```typescript
3024
- public readonly useGithubPackagesForAssembly: boolean;
4259
+ public readonly permissions: {[ key: string ]: string};
3025
4260
  ```
3026
4261
 
3027
- - *Type:* boolean
3028
-
3029
- use GitHub Packages to store vesioned artifacts of cloud assembly;
4262
+ - *Type:* {[ key: string ]: string}
3030
4263
 
3031
- also needed for manual approvals
4264
+ Additional permissions for GitHub workflow.
3032
4265
 
3033
4266
  ---
3034
4267
 
@@ -3554,6 +4787,91 @@ Runner tags configuration for the pipeline.
3554
4787
 
3555
4788
  ---
3556
4789
 
4790
+ ### GitLabDriftDetectionWorkflowOptions <a name="GitLabDriftDetectionWorkflowOptions" id="projen-pipelines.GitLabDriftDetectionWorkflowOptions"></a>
4791
+
4792
+ #### Initializer <a name="Initializer" id="projen-pipelines.GitLabDriftDetectionWorkflowOptions.Initializer"></a>
4793
+
4794
+ ```typescript
4795
+ import { GitLabDriftDetectionWorkflowOptions } from 'projen-pipelines'
4796
+
4797
+ const gitLabDriftDetectionWorkflowOptions: GitLabDriftDetectionWorkflowOptions = { ... }
4798
+ ```
4799
+
4800
+ #### Properties <a name="Properties" id="Properties"></a>
4801
+
4802
+ | **Name** | **Type** | **Description** |
4803
+ | --- | --- | --- |
4804
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflowOptions.property.stages">stages</a></code> | <code><a href="#projen-pipelines.DriftDetectionStageOptions">DriftDetectionStageOptions</a>[]</code> | Drift detection configurations for different environments. |
4805
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflowOptions.property.name">name</a></code> | <code>string</code> | Name of the workflow. |
4806
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflowOptions.property.schedule">schedule</a></code> | <code>string</code> | Cron schedule for drift detection. |
4807
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflowOptions.property.image">image</a></code> | <code>string</code> | Docker image to use for drift detection. |
4808
+ | <code><a href="#projen-pipelines.GitLabDriftDetectionWorkflowOptions.property.runnerTags">runnerTags</a></code> | <code>string[]</code> | GitLab runner tags. |
4809
+
4810
+ ---
4811
+
4812
+ ##### `stages`<sup>Required</sup> <a name="stages" id="projen-pipelines.GitLabDriftDetectionWorkflowOptions.property.stages"></a>
4813
+
4814
+ ```typescript
4815
+ public readonly stages: DriftDetectionStageOptions[];
4816
+ ```
4817
+
4818
+ - *Type:* <a href="#projen-pipelines.DriftDetectionStageOptions">DriftDetectionStageOptions</a>[]
4819
+
4820
+ Drift detection configurations for different environments.
4821
+
4822
+ ---
4823
+
4824
+ ##### `name`<sup>Optional</sup> <a name="name" id="projen-pipelines.GitLabDriftDetectionWorkflowOptions.property.name"></a>
4825
+
4826
+ ```typescript
4827
+ public readonly name: string;
4828
+ ```
4829
+
4830
+ - *Type:* string
4831
+ - *Default:* "drift-detection"
4832
+
4833
+ Name of the workflow.
4834
+
4835
+ ---
4836
+
4837
+ ##### `schedule`<sup>Optional</sup> <a name="schedule" id="projen-pipelines.GitLabDriftDetectionWorkflowOptions.property.schedule"></a>
4838
+
4839
+ ```typescript
4840
+ public readonly schedule: string;
4841
+ ```
4842
+
4843
+ - *Type:* string
4844
+ - *Default:* "0 0 * * *" (daily at midnight)
4845
+
4846
+ Cron schedule for drift detection.
4847
+
4848
+ ---
4849
+
4850
+ ##### `image`<sup>Optional</sup> <a name="image" id="projen-pipelines.GitLabDriftDetectionWorkflowOptions.property.image"></a>
4851
+
4852
+ ```typescript
4853
+ public readonly image: string;
4854
+ ```
4855
+
4856
+ - *Type:* string
4857
+ - *Default:* "node:18"
4858
+
4859
+ Docker image to use for drift detection.
4860
+
4861
+ ---
4862
+
4863
+ ##### `runnerTags`<sup>Optional</sup> <a name="runnerTags" id="projen-pipelines.GitLabDriftDetectionWorkflowOptions.property.runnerTags"></a>
4864
+
4865
+ ```typescript
4866
+ public readonly runnerTags: string[];
4867
+ ```
4868
+
4869
+ - *Type:* string[]
4870
+
4871
+ GitLab runner tags.
4872
+
4873
+ ---
4874
+
3557
4875
  ### GitlabRunnerTags <a name="GitlabRunnerTags" id="projen-pipelines.GitlabRunnerTags"></a>
3558
4876
 
3559
4877
  Configuration for GitLab runner tags used within the CI/CD pipeline for various stages.
@@ -4100,6 +5418,37 @@ public readonly watchable: boolean;
4100
5418
 
4101
5419
  ---
4102
5420
 
5421
+ ### NpmSecretStepOptions <a name="NpmSecretStepOptions" id="projen-pipelines.NpmSecretStepOptions"></a>
5422
+
5423
+ #### Initializer <a name="Initializer" id="projen-pipelines.NpmSecretStepOptions.Initializer"></a>
5424
+
5425
+ ```typescript
5426
+ import { NpmSecretStepOptions } from 'projen-pipelines'
5427
+
5428
+ const npmSecretStepOptions: NpmSecretStepOptions = { ... }
5429
+ ```
5430
+
5431
+ #### Properties <a name="Properties" id="Properties"></a>
5432
+
5433
+ | **Name** | **Type** | **Description** |
5434
+ | --- | --- | --- |
5435
+ | <code><a href="#projen-pipelines.NpmSecretStepOptions.property.secretName">secretName</a></code> | <code>string</code> | Name of the secret to set for the environment variable NPM_TOKEN. |
5436
+
5437
+ ---
5438
+
5439
+ ##### `secretName`<sup>Optional</sup> <a name="secretName" id="projen-pipelines.NpmSecretStepOptions.property.secretName"></a>
5440
+
5441
+ ```typescript
5442
+ public readonly secretName: string;
5443
+ ```
5444
+
5445
+ - *Type:* string
5446
+ - *Default:* 'NPM_TOKEN'
5447
+
5448
+ Name of the secret to set for the environment variable NPM_TOKEN.
5449
+
5450
+ ---
5451
+
4103
5452
  ### PackageJsonConfig <a name="PackageJsonConfig" id="projen-pipelines.PackageJsonConfig"></a>
4104
5453
 
4105
5454
  #### Initializer <a name="Initializer" id="projen-pipelines.PackageJsonConfig.Initializer"></a>
@@ -4744,6 +6093,11 @@ public readonly TYPE: string;
4744
6093
 
4745
6094
  ### CodeArtifactLoginStep <a name="CodeArtifactLoginStep" id="projen-pipelines.CodeArtifactLoginStep"></a>
4746
6095
 
6096
+ Step to login to CodeArtifact.
6097
+
6098
+ The environment variable name can be configured to avoid conflicts with other environment variables.
6099
+ The default is CODEARTIFACT_AUTH_TOKEN.
6100
+
4747
6101
  #### Initializers <a name="Initializers" id="projen-pipelines.CodeArtifactLoginStep.Initializer"></a>
4748
6102
 
4749
6103
  ```typescript
@@ -5009,8 +6363,115 @@ Should be implemented by subclasses.
5009
6363
 
5010
6364
 
5011
6365
 
6366
+ ### DriftDetectionStep <a name="DriftDetectionStep" id="projen-pipelines.DriftDetectionStep"></a>
6367
+
6368
+ #### Initializers <a name="Initializers" id="projen-pipelines.DriftDetectionStep.Initializer"></a>
6369
+
6370
+ ```typescript
6371
+ import { DriftDetectionStep } from 'projen-pipelines'
6372
+
6373
+ new DriftDetectionStep(project: Project, props: DriftDetectionStepProps)
6374
+ ```
6375
+
6376
+ | **Name** | **Type** | **Description** |
6377
+ | --- | --- | --- |
6378
+ | <code><a href="#projen-pipelines.DriftDetectionStep.Initializer.parameter.project">project</a></code> | <code>projen.Project</code> | - The projen project reference. |
6379
+ | <code><a href="#projen-pipelines.DriftDetectionStep.Initializer.parameter.props">props</a></code> | <code><a href="#projen-pipelines.DriftDetectionStepProps">DriftDetectionStepProps</a></code> | *No description.* |
6380
+
6381
+ ---
6382
+
6383
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.DriftDetectionStep.Initializer.parameter.project"></a>
6384
+
6385
+ - *Type:* projen.Project
6386
+
6387
+ The projen project reference.
6388
+
6389
+ ---
6390
+
6391
+ ##### `props`<sup>Required</sup> <a name="props" id="projen-pipelines.DriftDetectionStep.Initializer.parameter.props"></a>
6392
+
6393
+ - *Type:* <a href="#projen-pipelines.DriftDetectionStepProps">DriftDetectionStepProps</a>
6394
+
6395
+ ---
6396
+
6397
+ #### Methods <a name="Methods" id="Methods"></a>
6398
+
6399
+ | **Name** | **Description** |
6400
+ | --- | --- |
6401
+ | <code><a href="#projen-pipelines.DriftDetectionStep.toBash">toBash</a></code> | Converts the sequence of steps into a Bash script configuration. |
6402
+ | <code><a href="#projen-pipelines.DriftDetectionStep.toCodeCatalyst">toCodeCatalyst</a></code> | Converts the sequence of steps into a CodeCatalyst Actions step configuration. |
6403
+ | <code><a href="#projen-pipelines.DriftDetectionStep.toGithub">toGithub</a></code> | Converts the sequence of steps into a GitHub Actions step configuration. |
6404
+ | <code><a href="#projen-pipelines.DriftDetectionStep.toGitlab">toGitlab</a></code> | Converts the sequence of steps into a GitLab CI configuration. |
6405
+ | <code><a href="#projen-pipelines.DriftDetectionStep.addSteps">addSteps</a></code> | *No description.* |
6406
+ | <code><a href="#projen-pipelines.DriftDetectionStep.prependSteps">prependSteps</a></code> | *No description.* |
6407
+
6408
+ ---
6409
+
6410
+ ##### `toBash` <a name="toBash" id="projen-pipelines.DriftDetectionStep.toBash"></a>
6411
+
6412
+ ```typescript
6413
+ public toBash(): BashStepConfig
6414
+ ```
6415
+
6416
+ Converts the sequence of steps into a Bash script configuration.
6417
+
6418
+ ##### `toCodeCatalyst` <a name="toCodeCatalyst" id="projen-pipelines.DriftDetectionStep.toCodeCatalyst"></a>
6419
+
6420
+ ```typescript
6421
+ public toCodeCatalyst(): CodeCatalystStepConfig
6422
+ ```
6423
+
6424
+ Converts the sequence of steps into a CodeCatalyst Actions step configuration.
6425
+
6426
+ ##### `toGithub` <a name="toGithub" id="projen-pipelines.DriftDetectionStep.toGithub"></a>
6427
+
6428
+ ```typescript
6429
+ public toGithub(): GithubStepConfig
6430
+ ```
6431
+
6432
+ Converts the sequence of steps into a GitHub Actions step configuration.
6433
+
6434
+ ##### `toGitlab` <a name="toGitlab" id="projen-pipelines.DriftDetectionStep.toGitlab"></a>
6435
+
6436
+ ```typescript
6437
+ public toGitlab(): GitlabStepConfig
6438
+ ```
6439
+
6440
+ Converts the sequence of steps into a GitLab CI configuration.
6441
+
6442
+ ##### `addSteps` <a name="addSteps" id="projen-pipelines.DriftDetectionStep.addSteps"></a>
6443
+
6444
+ ```typescript
6445
+ public addSteps(steps: ...PipelineStep[]): void
6446
+ ```
6447
+
6448
+ ###### `steps`<sup>Required</sup> <a name="steps" id="projen-pipelines.DriftDetectionStep.addSteps.parameter.steps"></a>
6449
+
6450
+ - *Type:* ...<a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
6451
+
6452
+ ---
6453
+
6454
+ ##### `prependSteps` <a name="prependSteps" id="projen-pipelines.DriftDetectionStep.prependSteps"></a>
6455
+
6456
+ ```typescript
6457
+ public prependSteps(steps: ...PipelineStep[]): void
6458
+ ```
6459
+
6460
+ ###### `steps`<sup>Required</sup> <a name="steps" id="projen-pipelines.DriftDetectionStep.prependSteps.parameter.steps"></a>
6461
+
6462
+ - *Type:* ...<a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
6463
+
6464
+ ---
6465
+
6466
+
6467
+
6468
+
5012
6469
  ### GithubPackagesLoginStep <a name="GithubPackagesLoginStep" id="projen-pipelines.GithubPackagesLoginStep"></a>
5013
6470
 
6471
+ Step to set the GITHUB_TOKEN environment variable from a secret.
6472
+
6473
+ Only supported for GitHub as it is GitHub specific.
6474
+
5014
6475
  #### Initializers <a name="Initializers" id="projen-pipelines.GithubPackagesLoginStep.Initializer"></a>
5015
6476
 
5016
6477
  ```typescript
@@ -5094,6 +6555,96 @@ Should be implemented by subclasses.
5094
6555
 
5095
6556
 
5096
6557
 
6558
+ ### NpmSecretStep <a name="NpmSecretStep" id="projen-pipelines.NpmSecretStep"></a>
6559
+
6560
+ Step to set the NPM_TOKEN environment variable from a secret.
6561
+
6562
+ Currently only supported and needed for GitHub.
6563
+ Gitlab sets the NPM_TOKEN environment variable automatically from the project's settings.
6564
+
6565
+ #### Initializers <a name="Initializers" id="projen-pipelines.NpmSecretStep.Initializer"></a>
6566
+
6567
+ ```typescript
6568
+ import { NpmSecretStep } from 'projen-pipelines'
6569
+
6570
+ new NpmSecretStep(project: Project, options: NpmSecretStepOptions)
6571
+ ```
6572
+
6573
+ | **Name** | **Type** | **Description** |
6574
+ | --- | --- | --- |
6575
+ | <code><a href="#projen-pipelines.NpmSecretStep.Initializer.parameter.project">project</a></code> | <code>projen.Project</code> | - The projen project reference. |
6576
+ | <code><a href="#projen-pipelines.NpmSecretStep.Initializer.parameter.options">options</a></code> | <code><a href="#projen-pipelines.NpmSecretStepOptions">NpmSecretStepOptions</a></code> | *No description.* |
6577
+
6578
+ ---
6579
+
6580
+ ##### `project`<sup>Required</sup> <a name="project" id="projen-pipelines.NpmSecretStep.Initializer.parameter.project"></a>
6581
+
6582
+ - *Type:* projen.Project
6583
+
6584
+ The projen project reference.
6585
+
6586
+ ---
6587
+
6588
+ ##### `options`<sup>Required</sup> <a name="options" id="projen-pipelines.NpmSecretStep.Initializer.parameter.options"></a>
6589
+
6590
+ - *Type:* <a href="#projen-pipelines.NpmSecretStepOptions">NpmSecretStepOptions</a>
6591
+
6592
+ ---
6593
+
6594
+ #### Methods <a name="Methods" id="Methods"></a>
6595
+
6596
+ | **Name** | **Description** |
6597
+ | --- | --- |
6598
+ | <code><a href="#projen-pipelines.NpmSecretStep.toBash">toBash</a></code> | Generates a configuration for a bash script step. |
6599
+ | <code><a href="#projen-pipelines.NpmSecretStep.toCodeCatalyst">toCodeCatalyst</a></code> | Generates a configuration for a CodeCatalyst Actions step. |
6600
+ | <code><a href="#projen-pipelines.NpmSecretStep.toGithub">toGithub</a></code> | Generates a configuration for a GitHub Actions step. |
6601
+ | <code><a href="#projen-pipelines.NpmSecretStep.toGitlab">toGitlab</a></code> | Generates a configuration for a GitLab CI step. |
6602
+
6603
+ ---
6604
+
6605
+ ##### `toBash` <a name="toBash" id="projen-pipelines.NpmSecretStep.toBash"></a>
6606
+
6607
+ ```typescript
6608
+ public toBash(): BashStepConfig
6609
+ ```
6610
+
6611
+ Generates a configuration for a bash script step.
6612
+
6613
+ Should be implemented by subclasses.
6614
+
6615
+ ##### `toCodeCatalyst` <a name="toCodeCatalyst" id="projen-pipelines.NpmSecretStep.toCodeCatalyst"></a>
6616
+
6617
+ ```typescript
6618
+ public toCodeCatalyst(): CodeCatalystStepConfig
6619
+ ```
6620
+
6621
+ Generates a configuration for a CodeCatalyst Actions step.
6622
+
6623
+ Should be implemented by subclasses.
6624
+
6625
+ ##### `toGithub` <a name="toGithub" id="projen-pipelines.NpmSecretStep.toGithub"></a>
6626
+
6627
+ ```typescript
6628
+ public toGithub(): GithubStepConfig
6629
+ ```
6630
+
6631
+ Generates a configuration for a GitHub Actions step.
6632
+
6633
+ Should be implemented by subclasses.
6634
+
6635
+ ##### `toGitlab` <a name="toGitlab" id="projen-pipelines.NpmSecretStep.toGitlab"></a>
6636
+
6637
+ ```typescript
6638
+ public toGitlab(): GitlabStepConfig
6639
+ ```
6640
+
6641
+ Generates a configuration for a GitLab CI step.
6642
+
6643
+ Should be implemented by subclasses.
6644
+
6645
+
6646
+
6647
+
5097
6648
  ### OutputConfigBase <a name="OutputConfigBase" id="projen-pipelines.OutputConfigBase"></a>
5098
6649
 
5099
6650
  Base class for output configurations.
@@ -5494,13 +7045,14 @@ Concrete implementation of PipelineStep that executes simple commands.
5494
7045
  ```typescript
5495
7046
  import { SimpleCommandStep } from 'projen-pipelines'
5496
7047
 
5497
- new SimpleCommandStep(project: Project, commands: string[])
7048
+ new SimpleCommandStep(project: Project, commands: string[], env?: {[ key: string ]: string})
5498
7049
  ```
5499
7050
 
5500
7051
  | **Name** | **Type** | **Description** |
5501
7052
  | --- | --- | --- |
5502
7053
  | <code><a href="#projen-pipelines.SimpleCommandStep.Initializer.parameter.project">project</a></code> | <code>projen.Project</code> | - The projen project reference. |
5503
7054
  | <code><a href="#projen-pipelines.SimpleCommandStep.Initializer.parameter.commands">commands</a></code> | <code>string[]</code> | - Shell commands to execute. |
7055
+ | <code><a href="#projen-pipelines.SimpleCommandStep.Initializer.parameter.env">env</a></code> | <code>{[ key: string ]: string}</code> | *No description.* |
5504
7056
 
5505
7057
  ---
5506
7058
 
@@ -5520,6 +7072,12 @@ Shell commands to execute.
5520
7072
 
5521
7073
  ---
5522
7074
 
7075
+ ##### `env`<sup>Optional</sup> <a name="env" id="projen-pipelines.SimpleCommandStep.Initializer.parameter.env"></a>
7076
+
7077
+ - *Type:* {[ key: string ]: string}
7078
+
7079
+ ---
7080
+
5523
7081
  #### Methods <a name="Methods" id="Methods"></a>
5524
7082
 
5525
7083
  | **Name** | **Description** |