@jjrawlins/cdk-diff-pr-github-action 0.0.71 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/.jsii +982 -56
  2. package/API.md +1132 -186
  3. package/README.md +194 -14
  4. package/lib/CdkDiffIamTemplate.d.ts +36 -3
  5. package/lib/CdkDiffIamTemplate.js +116 -87
  6. package/lib/CdkDiffIamTemplateStackSet.d.ts +149 -0
  7. package/lib/CdkDiffIamTemplateStackSet.js +373 -0
  8. package/lib/CdkDiffStackWorkflow.js +1 -1
  9. package/lib/CdkDriftDetectionWorkflow.js +1 -1
  10. package/lib/CdkDriftIamTemplate.d.ts +36 -3
  11. package/lib/CdkDriftIamTemplate.js +92 -63
  12. package/lib/index.d.ts +1 -0
  13. package/lib/index.js +2 -1
  14. package/node_modules/@aws-sdk/client-sso/package.json +9 -9
  15. package/node_modules/@aws-sdk/core/package.json +5 -5
  16. package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
  17. package/node_modules/@aws-sdk/credential-provider-http/package.json +5 -5
  18. package/node_modules/@aws-sdk/credential-provider-ini/package.json +12 -12
  19. package/node_modules/@aws-sdk/credential-provider-login/package.json +6 -6
  20. package/node_modules/@aws-sdk/credential-provider-node/package.json +10 -10
  21. package/node_modules/@aws-sdk/credential-provider-process/package.json +5 -5
  22. package/node_modules/@aws-sdk/credential-provider-sso/package.json +7 -7
  23. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +6 -6
  24. package/node_modules/@aws-sdk/middleware-host-header/package.json +4 -4
  25. package/node_modules/@aws-sdk/middleware-logger/package.json +4 -4
  26. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +4 -4
  27. package/node_modules/@aws-sdk/middleware-user-agent/package.json +5 -5
  28. package/node_modules/@aws-sdk/nested-clients/package.json +9 -9
  29. package/node_modules/@aws-sdk/region-config-resolver/package.json +4 -4
  30. package/node_modules/@aws-sdk/token-providers/package.json +3 -3
  31. package/node_modules/@aws-sdk/types/package.json +3 -3
  32. package/node_modules/@aws-sdk/util-locate-window/package.json +3 -3
  33. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +4 -4
  34. package/node_modules/@aws-sdk/util-user-agent-node/package.json +5 -5
  35. package/node_modules/@aws-sdk/xml-builder/package.json +3 -3
  36. package/package.json +4 -4
package/API.md CHANGED
@@ -3,29 +3,29 @@
3
3
 
4
4
  ## Structs <a name="Structs" id="Structs"></a>
5
5
 
6
- ### CdkDiffIamTemplateProps <a name="CdkDiffIamTemplateProps" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps"></a>
6
+ ### CdkDiffIamTemplateGeneratorProps <a name="CdkDiffIamTemplateGeneratorProps" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGeneratorProps"></a>
7
7
 
8
- #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.Initializer"></a>
8
+ Props for generating CDK Diff IAM templates (no Projen dependency).
9
+
10
+ #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGeneratorProps.Initializer"></a>
9
11
 
10
12
  ```typescript
11
- import { CdkDiffIamTemplateProps } from '@jjrawlins/cdk-diff-pr-github-action'
13
+ import { CdkDiffIamTemplateGeneratorProps } from '@jjrawlins/cdk-diff-pr-github-action'
12
14
 
13
- const cdkDiffIamTemplateProps: CdkDiffIamTemplateProps = { ... }
15
+ const cdkDiffIamTemplateGeneratorProps: CdkDiffIamTemplateGeneratorProps = { ... }
14
16
  ```
15
17
 
16
18
  #### Properties <a name="Properties" id="Properties"></a>
17
19
 
18
20
  | **Name** | **Type** | **Description** |
19
21
  | --- | --- | --- |
20
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.oidcRegion">oidcRegion</a></code> | <code>string</code> | *No description.* |
21
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.oidcRoleArn">oidcRoleArn</a></code> | <code>string</code> | *No description.* |
22
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.project">project</a></code> | <code>any</code> | *No description.* |
23
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.roleName">roleName</a></code> | <code>string</code> | *No description.* |
24
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.outputPath">outputPath</a></code> | <code>string</code> | *No description.* |
22
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGeneratorProps.property.oidcRegion">oidcRegion</a></code> | <code>string</code> | Region for the OIDC trust condition. |
23
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGeneratorProps.property.oidcRoleArn">oidcRoleArn</a></code> | <code>string</code> | ARN of the existing GitHub OIDC role that can assume this changeset role. |
24
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGeneratorProps.property.roleName">roleName</a></code> | <code>string</code> | Name for the IAM role. |
25
25
 
26
26
  ---
27
27
 
28
- ##### `oidcRegion`<sup>Required</sup> <a name="oidcRegion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.oidcRegion"></a>
28
+ ##### `oidcRegion`<sup>Required</sup> <a name="oidcRegion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGeneratorProps.property.oidcRegion"></a>
29
29
 
30
30
  ```typescript
31
31
  public readonly oidcRegion: string;
@@ -33,9 +33,11 @@ public readonly oidcRegion: string;
33
33
 
34
34
  - *Type:* string
35
35
 
36
+ Region for the OIDC trust condition.
37
+
36
38
  ---
37
39
 
38
- ##### `oidcRoleArn`<sup>Required</sup> <a name="oidcRoleArn" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.oidcRoleArn"></a>
40
+ ##### `oidcRoleArn`<sup>Required</sup> <a name="oidcRoleArn" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGeneratorProps.property.oidcRoleArn"></a>
39
41
 
40
42
  ```typescript
41
43
  public readonly oidcRoleArn: string;
@@ -43,19 +45,11 @@ public readonly oidcRoleArn: string;
43
45
 
44
46
  - *Type:* string
45
47
 
46
- ---
47
-
48
- ##### `project`<sup>Required</sup> <a name="project" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.project"></a>
49
-
50
- ```typescript
51
- public readonly project: any;
52
- ```
53
-
54
- - *Type:* any
48
+ ARN of the existing GitHub OIDC role that can assume this changeset role.
55
49
 
56
50
  ---
57
51
 
58
- ##### `roleName`<sup>Required</sup> <a name="roleName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.roleName"></a>
52
+ ##### `roleName`<sup>Required</sup> <a name="roleName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGeneratorProps.property.roleName"></a>
59
53
 
60
54
  ```typescript
61
55
  public readonly roleName: string;
@@ -63,460 +57,1149 @@ public readonly roleName: string;
63
57
 
64
58
  - *Type:* string
65
59
 
66
- ---
67
-
68
- ##### `outputPath`<sup>Optional</sup> <a name="outputPath" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.outputPath"></a>
69
-
70
- ```typescript
71
- public readonly outputPath: string;
72
- ```
73
-
74
- - *Type:* string
60
+ Name for the IAM role.
75
61
 
76
62
  ---
77
63
 
78
- ### CdkDiffStack <a name="CdkDiffStack" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack"></a>
64
+ ### CdkDiffIamTemplateProps <a name="CdkDiffIamTemplateProps" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps"></a>
79
65
 
80
- #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.Initializer"></a>
66
+ Props for the Projen-integrated CDK Diff IAM template construct.
67
+
68
+ #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.Initializer"></a>
81
69
 
82
70
  ```typescript
83
- import { CdkDiffStack } from '@jjrawlins/cdk-diff-pr-github-action'
71
+ import { CdkDiffIamTemplateProps } from '@jjrawlins/cdk-diff-pr-github-action'
84
72
 
85
- const cdkDiffStack: CdkDiffStack = { ... }
73
+ const cdkDiffIamTemplateProps: CdkDiffIamTemplateProps = { ... }
86
74
  ```
87
75
 
88
76
  #### Properties <a name="Properties" id="Properties"></a>
89
77
 
90
78
  | **Name** | **Type** | **Description** |
91
79
  | --- | --- | --- |
92
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.changesetRoleToAssumeArn">changesetRoleToAssumeArn</a></code> | <code>string</code> | *No description.* |
93
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.changesetRoleToAssumeRegion">changesetRoleToAssumeRegion</a></code> | <code>string</code> | *No description.* |
94
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.stackName">stackName</a></code> | <code>string</code> | *No description.* |
95
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.oidcRegion">oidcRegion</a></code> | <code>string</code> | *No description.* |
96
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.oidcRoleArn">oidcRoleArn</a></code> | <code>string</code> | *No description.* |
80
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.oidcRegion">oidcRegion</a></code> | <code>string</code> | Region for the OIDC trust condition. |
81
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.oidcRoleArn">oidcRoleArn</a></code> | <code>string</code> | ARN of the existing GitHub OIDC role that can assume this changeset role. |
82
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.roleName">roleName</a></code> | <code>string</code> | Name for the IAM role. |
83
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.project">project</a></code> | <code>any</code> | Projen project instance. |
84
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.outputPath">outputPath</a></code> | <code>string</code> | Output path for the template file (default: 'cdk-diff-workflow-iam-template.yaml'). |
97
85
 
98
86
  ---
99
87
 
100
- ##### `changesetRoleToAssumeArn`<sup>Required</sup> <a name="changesetRoleToAssumeArn" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.changesetRoleToAssumeArn"></a>
88
+ ##### `oidcRegion`<sup>Required</sup> <a name="oidcRegion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.oidcRegion"></a>
101
89
 
102
90
  ```typescript
103
- public readonly changesetRoleToAssumeArn: string;
91
+ public readonly oidcRegion: string;
104
92
  ```
105
93
 
106
94
  - *Type:* string
107
95
 
96
+ Region for the OIDC trust condition.
97
+
108
98
  ---
109
99
 
110
- ##### `changesetRoleToAssumeRegion`<sup>Required</sup> <a name="changesetRoleToAssumeRegion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.changesetRoleToAssumeRegion"></a>
100
+ ##### `oidcRoleArn`<sup>Required</sup> <a name="oidcRoleArn" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.oidcRoleArn"></a>
111
101
 
112
102
  ```typescript
113
- public readonly changesetRoleToAssumeRegion: string;
103
+ public readonly oidcRoleArn: string;
114
104
  ```
115
105
 
116
106
  - *Type:* string
117
107
 
108
+ ARN of the existing GitHub OIDC role that can assume this changeset role.
109
+
118
110
  ---
119
111
 
120
- ##### `stackName`<sup>Required</sup> <a name="stackName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.stackName"></a>
112
+ ##### `roleName`<sup>Required</sup> <a name="roleName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.roleName"></a>
121
113
 
122
114
  ```typescript
123
- public readonly stackName: string;
115
+ public readonly roleName: string;
124
116
  ```
125
117
 
126
118
  - *Type:* string
127
119
 
120
+ Name for the IAM role.
121
+
128
122
  ---
129
123
 
130
- ##### `oidcRegion`<sup>Optional</sup> <a name="oidcRegion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.oidcRegion"></a>
124
+ ##### `project`<sup>Required</sup> <a name="project" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.project"></a>
131
125
 
132
126
  ```typescript
133
- public readonly oidcRegion: string;
127
+ public readonly project: any;
134
128
  ```
135
129
 
136
- - *Type:* string
130
+ - *Type:* any
131
+
132
+ Projen project instance.
137
133
 
138
134
  ---
139
135
 
140
- ##### `oidcRoleArn`<sup>Optional</sup> <a name="oidcRoleArn" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.oidcRoleArn"></a>
136
+ ##### `outputPath`<sup>Optional</sup> <a name="outputPath" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateProps.property.outputPath"></a>
141
137
 
142
138
  ```typescript
143
- public readonly oidcRoleArn: string;
139
+ public readonly outputPath: string;
144
140
  ```
145
141
 
146
142
  - *Type:* string
147
143
 
144
+ Output path for the template file (default: 'cdk-diff-workflow-iam-template.yaml').
145
+
148
146
  ---
149
147
 
150
- ### CdkDiffStackWorkflowProps <a name="CdkDiffStackWorkflowProps" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps"></a>
148
+ ### CdkDiffIamTemplateStackSetCommandsProps <a name="CdkDiffIamTemplateStackSetCommandsProps" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetCommandsProps"></a>
151
149
 
152
- #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.Initializer"></a>
150
+ Props for generating StackSet CLI commands (no Projen dependency).
151
+
152
+ #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetCommandsProps.Initializer"></a>
153
153
 
154
154
  ```typescript
155
- import { CdkDiffStackWorkflowProps } from '@jjrawlins/cdk-diff-pr-github-action'
155
+ import { CdkDiffIamTemplateStackSetCommandsProps } from '@jjrawlins/cdk-diff-pr-github-action'
156
156
 
157
- const cdkDiffStackWorkflowProps: CdkDiffStackWorkflowProps = { ... }
157
+ const cdkDiffIamTemplateStackSetCommandsProps: CdkDiffIamTemplateStackSetCommandsProps = { ... }
158
158
  ```
159
159
 
160
160
  #### Properties <a name="Properties" id="Properties"></a>
161
161
 
162
162
  | **Name** | **Type** | **Description** |
163
163
  | --- | --- | --- |
164
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.oidcRegion">oidcRegion</a></code> | <code>string</code> | *No description.* |
165
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.oidcRoleArn">oidcRoleArn</a></code> | <code>string</code> | *No description.* |
166
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.project">project</a></code> | <code>any</code> | *No description.* |
167
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.stacks">stacks</a></code> | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack">CdkDiffStack</a>[]</code> | *No description.* |
168
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.cdkYarnCommand">cdkYarnCommand</a></code> | <code>string</code> | *No description.* |
169
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.nodeVersion">nodeVersion</a></code> | <code>string</code> | *No description.* |
170
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.scriptOutputPath">scriptOutputPath</a></code> | <code>string</code> | *No description.* |
164
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetCommandsProps.property.autoDeployment">autoDeployment</a></code> | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.StackSetAutoDeployment">StackSetAutoDeployment</a></code> | Auto-deployment configuration. |
165
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetCommandsProps.property.delegatedAdmin">delegatedAdmin</a></code> | <code>boolean</code> | Whether to use delegated admin mode for StackSet operations. |
166
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetCommandsProps.property.regions">regions</a></code> | <code>string[]</code> | Target regions for deployment (e.g., ['us-east-1', 'eu-west-1']). |
167
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetCommandsProps.property.stackSetName">stackSetName</a></code> | <code>string</code> | Name of the StackSet (default: 'cdk-diff-workflow-iam-stackset'). |
168
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetCommandsProps.property.targetOrganizationalUnitIds">targetOrganizationalUnitIds</a></code> | <code>string[]</code> | Target OUs for deployment (e.g., ['ou-xxxx-xxxxxxxx', 'r-xxxx']). |
169
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetCommandsProps.property.templatePath">templatePath</a></code> | <code>string</code> | Path to the template file (default: 'cdk-diff-workflow-stackset-template.yaml'). |
171
170
 
172
171
  ---
173
172
 
174
- ##### `oidcRegion`<sup>Required</sup> <a name="oidcRegion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.oidcRegion"></a>
173
+ ##### `autoDeployment`<sup>Optional</sup> <a name="autoDeployment" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetCommandsProps.property.autoDeployment"></a>
175
174
 
176
175
  ```typescript
177
- public readonly oidcRegion: string;
176
+ public readonly autoDeployment: StackSetAutoDeployment;
178
177
  ```
179
178
 
180
- - *Type:* string
179
+ - *Type:* <a href="#@jjrawlins/cdk-diff-pr-github-action.StackSetAutoDeployment">StackSetAutoDeployment</a>
180
+
181
+ Auto-deployment configuration.
181
182
 
182
183
  ---
183
184
 
184
- ##### `oidcRoleArn`<sup>Required</sup> <a name="oidcRoleArn" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.oidcRoleArn"></a>
185
+ ##### `delegatedAdmin`<sup>Optional</sup> <a name="delegatedAdmin" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetCommandsProps.property.delegatedAdmin"></a>
185
186
 
186
187
  ```typescript
187
- public readonly oidcRoleArn: string;
188
+ public readonly delegatedAdmin: boolean;
188
189
  ```
189
190
 
190
- - *Type:* string
191
-
192
- ---
193
-
194
- ##### `project`<sup>Required</sup> <a name="project" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.project"></a>
191
+ - *Type:* boolean
195
192
 
196
- ```typescript
197
- public readonly project: any;
198
- ```
193
+ Whether to use delegated admin mode for StackSet operations.
199
194
 
200
- - *Type:* any
195
+ If true, adds --call-as DELEGATED_ADMIN to commands.
196
+ Default: true
201
197
 
202
198
  ---
203
199
 
204
- ##### `stacks`<sup>Required</sup> <a name="stacks" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.stacks"></a>
200
+ ##### `regions`<sup>Optional</sup> <a name="regions" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetCommandsProps.property.regions"></a>
205
201
 
206
202
  ```typescript
207
- public readonly stacks: CdkDiffStack[];
203
+ public readonly regions: string[];
208
204
  ```
209
205
 
210
- - *Type:* <a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack">CdkDiffStack</a>[]
206
+ - *Type:* string[]
207
+
208
+ Target regions for deployment (e.g., ['us-east-1', 'eu-west-1']).
211
209
 
212
210
  ---
213
211
 
214
- ##### `cdkYarnCommand`<sup>Optional</sup> <a name="cdkYarnCommand" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.cdkYarnCommand"></a>
212
+ ##### `stackSetName`<sup>Optional</sup> <a name="stackSetName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetCommandsProps.property.stackSetName"></a>
215
213
 
216
214
  ```typescript
217
- public readonly cdkYarnCommand: string;
215
+ public readonly stackSetName: string;
218
216
  ```
219
217
 
220
218
  - *Type:* string
221
219
 
220
+ Name of the StackSet (default: 'cdk-diff-workflow-iam-stackset').
221
+
222
222
  ---
223
223
 
224
- ##### `nodeVersion`<sup>Optional</sup> <a name="nodeVersion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.nodeVersion"></a>
224
+ ##### `targetOrganizationalUnitIds`<sup>Optional</sup> <a name="targetOrganizationalUnitIds" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetCommandsProps.property.targetOrganizationalUnitIds"></a>
225
225
 
226
226
  ```typescript
227
- public readonly nodeVersion: string;
227
+ public readonly targetOrganizationalUnitIds: string[];
228
228
  ```
229
229
 
230
- - *Type:* string
230
+ - *Type:* string[]
231
+
232
+ Target OUs for deployment (e.g., ['ou-xxxx-xxxxxxxx', 'r-xxxx']).
231
233
 
232
234
  ---
233
235
 
234
- ##### `scriptOutputPath`<sup>Optional</sup> <a name="scriptOutputPath" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.scriptOutputPath"></a>
236
+ ##### `templatePath`<sup>Optional</sup> <a name="templatePath" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetCommandsProps.property.templatePath"></a>
235
237
 
236
238
  ```typescript
237
- public readonly scriptOutputPath: string;
239
+ public readonly templatePath: string;
238
240
  ```
239
241
 
240
242
  - *Type:* string
241
243
 
244
+ Path to the template file (default: 'cdk-diff-workflow-stackset-template.yaml').
245
+
242
246
  ---
243
247
 
244
- ### CdkDriftDetectionWorkflowProps <a name="CdkDriftDetectionWorkflowProps" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps"></a>
248
+ ### CdkDiffIamTemplateStackSetGeneratorProps <a name="CdkDiffIamTemplateStackSetGeneratorProps" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps"></a>
245
249
 
246
- #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.Initializer"></a>
250
+ Props for generating StackSet templates (no Projen dependency).
251
+
252
+ #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps.Initializer"></a>
247
253
 
248
254
  ```typescript
249
- import { CdkDriftDetectionWorkflowProps } from '@jjrawlins/cdk-diff-pr-github-action'
255
+ import { CdkDiffIamTemplateStackSetGeneratorProps } from '@jjrawlins/cdk-diff-pr-github-action'
250
256
 
251
- const cdkDriftDetectionWorkflowProps: CdkDriftDetectionWorkflowProps = { ... }
257
+ const cdkDiffIamTemplateStackSetGeneratorProps: CdkDiffIamTemplateStackSetGeneratorProps = { ... }
252
258
  ```
253
259
 
254
260
  #### Properties <a name="Properties" id="Properties"></a>
255
261
 
256
262
  | **Name** | **Type** | **Description** |
257
263
  | --- | --- | --- |
258
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.oidcRegion">oidcRegion</a></code> | <code>string</code> | *No description.* |
259
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.oidcRoleArn">oidcRoleArn</a></code> | <code>string</code> | *No description.* |
260
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.project">project</a></code> | <code>any</code> | *No description.* |
261
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.stacks">stacks</a></code> | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.Stack">Stack</a>[]</code> | *No description.* |
262
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.createIssues">createIssues</a></code> | <code>boolean</code> | *No description.* |
263
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.nodeVersion">nodeVersion</a></code> | <code>string</code> | *No description.* |
264
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.postGitHubSteps">postGitHubSteps</a></code> | <code>any</code> | Optional additional GitHub Action steps to run after drift detection for each stack. |
265
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.schedule">schedule</a></code> | <code>string</code> | *No description.* |
266
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.scriptOutputPath">scriptOutputPath</a></code> | <code>string</code> | *No description.* |
267
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.workflowName">workflowName</a></code> | <code>string</code> | *No description.* |
264
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps.property.githubOidc">githubOidc</a></code> | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.GitHubOidcConfig">GitHubOidcConfig</a></code> | GitHub OIDC configuration for repo/branch restrictions. |
265
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps.property.changesetRoleName">changesetRoleName</a></code> | <code>string</code> | Name of the CdkChangesetRole (default: 'CdkChangesetRole'). |
266
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps.property.description">description</a></code> | <code>string</code> | Description for the StackSet. |
267
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps.property.driftRoleName">driftRoleName</a></code> | <code>string</code> | Name of the CdkDriftRole (default: 'CdkDriftRole'). |
268
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps.property.oidcRoleName">oidcRoleName</a></code> | <code>string</code> | Name of the GitHub OIDC role (default: 'GitHubOIDCRole'). |
269
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps.property.roleSelection">roleSelection</a></code> | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.StackSetRoleSelection">StackSetRoleSelection</a></code> | Which roles to include (default: BOTH). |
270
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps.property.skipOidcProviderCreation">skipOidcProviderCreation</a></code> | <code>boolean</code> | Skip creating the OIDC provider (use existing one). |
268
271
 
269
272
  ---
270
273
 
271
- ##### `oidcRegion`<sup>Required</sup> <a name="oidcRegion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.oidcRegion"></a>
274
+ ##### `githubOidc`<sup>Required</sup> <a name="githubOidc" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps.property.githubOidc"></a>
272
275
 
273
276
  ```typescript
274
- public readonly oidcRegion: string;
277
+ public readonly githubOidc: GitHubOidcConfig;
275
278
  ```
276
279
 
277
- - *Type:* string
280
+ - *Type:* <a href="#@jjrawlins/cdk-diff-pr-github-action.GitHubOidcConfig">GitHubOidcConfig</a>
281
+
282
+ GitHub OIDC configuration for repo/branch restrictions.
278
283
 
279
284
  ---
280
285
 
281
- ##### `oidcRoleArn`<sup>Required</sup> <a name="oidcRoleArn" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.oidcRoleArn"></a>
286
+ ##### `changesetRoleName`<sup>Optional</sup> <a name="changesetRoleName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps.property.changesetRoleName"></a>
282
287
 
283
288
  ```typescript
284
- public readonly oidcRoleArn: string;
289
+ public readonly changesetRoleName: string;
285
290
  ```
286
291
 
287
292
  - *Type:* string
288
293
 
294
+ Name of the CdkChangesetRole (default: 'CdkChangesetRole').
295
+
289
296
  ---
290
297
 
291
- ##### `project`<sup>Required</sup> <a name="project" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.project"></a>
298
+ ##### `description`<sup>Optional</sup> <a name="description" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps.property.description"></a>
292
299
 
293
300
  ```typescript
294
- public readonly project: any;
301
+ public readonly description: string;
295
302
  ```
296
303
 
297
- - *Type:* any
304
+ - *Type:* string
305
+
306
+ Description for the StackSet.
298
307
 
299
308
  ---
300
309
 
301
- ##### `stacks`<sup>Required</sup> <a name="stacks" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.stacks"></a>
310
+ ##### `driftRoleName`<sup>Optional</sup> <a name="driftRoleName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps.property.driftRoleName"></a>
302
311
 
303
312
  ```typescript
304
- public readonly stacks: Stack[];
313
+ public readonly driftRoleName: string;
305
314
  ```
306
315
 
307
- - *Type:* <a href="#@jjrawlins/cdk-diff-pr-github-action.Stack">Stack</a>[]
316
+ - *Type:* string
317
+
318
+ Name of the CdkDriftRole (default: 'CdkDriftRole').
308
319
 
309
320
  ---
310
321
 
311
- ##### `createIssues`<sup>Optional</sup> <a name="createIssues" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.createIssues"></a>
322
+ ##### `oidcRoleName`<sup>Optional</sup> <a name="oidcRoleName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps.property.oidcRoleName"></a>
312
323
 
313
324
  ```typescript
314
- public readonly createIssues: boolean;
325
+ public readonly oidcRoleName: string;
315
326
  ```
316
327
 
317
- - *Type:* boolean
328
+ - *Type:* string
329
+
330
+ Name of the GitHub OIDC role (default: 'GitHubOIDCRole').
318
331
 
319
332
  ---
320
333
 
321
- ##### `nodeVersion`<sup>Optional</sup> <a name="nodeVersion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.nodeVersion"></a>
334
+ ##### `roleSelection`<sup>Optional</sup> <a name="roleSelection" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps.property.roleSelection"></a>
322
335
 
323
336
  ```typescript
324
- public readonly nodeVersion: string;
337
+ public readonly roleSelection: StackSetRoleSelection;
325
338
  ```
326
339
 
327
- - *Type:* string
340
+ - *Type:* <a href="#@jjrawlins/cdk-diff-pr-github-action.StackSetRoleSelection">StackSetRoleSelection</a>
341
+
342
+ Which roles to include (default: BOTH).
328
343
 
329
344
  ---
330
345
 
331
- ##### `postGitHubSteps`<sup>Optional</sup> <a name="postGitHubSteps" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.postGitHubSteps"></a>
346
+ ##### `skipOidcProviderCreation`<sup>Optional</sup> <a name="skipOidcProviderCreation" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps.property.skipOidcProviderCreation"></a>
332
347
 
333
348
  ```typescript
334
- public readonly postGitHubSteps: any;
349
+ public readonly skipOidcProviderCreation: boolean;
335
350
  ```
336
351
 
337
- - *Type:* any
352
+ - *Type:* boolean
338
353
 
339
- Optional additional GitHub Action steps to run after drift detection for each stack.
354
+ Skip creating the OIDC provider (use existing one).
340
355
 
341
- These steps run after results are uploaded for each stack. You can include
342
- any notifications you like (e.g., Slack). Provide explicit inputs (e.g., payload/markdown)
343
- directly in your step without relying on a pre-generated payload.
356
+ Set to true if accounts already have a GitHub OIDC provider.
357
+ The template will reference the existing provider by ARN.
358
+ Default: false
344
359
 
345
360
  ---
346
361
 
347
- ##### `schedule`<sup>Optional</sup> <a name="schedule" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.schedule"></a>
362
+ ### CdkDiffIamTemplateStackSetProps <a name="CdkDiffIamTemplateStackSetProps" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps"></a>
363
+
364
+ Props for the Projen-integrated StackSet construct.
365
+
366
+ #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.Initializer"></a>
348
367
 
349
368
  ```typescript
350
- public readonly schedule: string;
369
+ import { CdkDiffIamTemplateStackSetProps } from '@jjrawlins/cdk-diff-pr-github-action'
370
+
371
+ const cdkDiffIamTemplateStackSetProps: CdkDiffIamTemplateStackSetProps = { ... }
351
372
  ```
352
373
 
353
- - *Type:* string
374
+ #### Properties <a name="Properties" id="Properties"></a>
375
+
376
+ | **Name** | **Type** | **Description** |
377
+ | --- | --- | --- |
378
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.githubOidc">githubOidc</a></code> | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.GitHubOidcConfig">GitHubOidcConfig</a></code> | GitHub OIDC configuration for repo/branch restrictions. |
379
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.changesetRoleName">changesetRoleName</a></code> | <code>string</code> | Name of the CdkChangesetRole (default: 'CdkChangesetRole'). |
380
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.description">description</a></code> | <code>string</code> | Description for the StackSet. |
381
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.driftRoleName">driftRoleName</a></code> | <code>string</code> | Name of the CdkDriftRole (default: 'CdkDriftRole'). |
382
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.oidcRoleName">oidcRoleName</a></code> | <code>string</code> | Name of the GitHub OIDC role (default: 'GitHubOIDCRole'). |
383
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.roleSelection">roleSelection</a></code> | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.StackSetRoleSelection">StackSetRoleSelection</a></code> | Which roles to include (default: BOTH). |
384
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.skipOidcProviderCreation">skipOidcProviderCreation</a></code> | <code>boolean</code> | Skip creating the OIDC provider (use existing one). |
385
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.project">project</a></code> | <code>any</code> | Projen project instance. |
386
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.autoDeployment">autoDeployment</a></code> | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.StackSetAutoDeployment">StackSetAutoDeployment</a></code> | Auto-deployment configuration. |
387
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.delegatedAdmin">delegatedAdmin</a></code> | <code>boolean</code> | Whether to use delegated admin mode for StackSet operations. |
388
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.outputPath">outputPath</a></code> | <code>string</code> | Output path for the template file (default: 'cdk-diff-workflow-stackset-template.yaml'). |
389
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.regions">regions</a></code> | <code>string[]</code> | Target regions for deployment (e.g., ['us-east-1', 'eu-west-1']). |
390
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.stackSetName">stackSetName</a></code> | <code>string</code> | Name of the StackSet (default: 'cdk-diff-workflow-iam-stackset'). |
391
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.targetOrganizationalUnitIds">targetOrganizationalUnitIds</a></code> | <code>string[]</code> | Target OUs for deployment (e.g., ['ou-xxxx-xxxxxxxx', 'r-xxxx']). |
354
392
 
355
393
  ---
356
394
 
357
- ##### `scriptOutputPath`<sup>Optional</sup> <a name="scriptOutputPath" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.scriptOutputPath"></a>
395
+ ##### `githubOidc`<sup>Required</sup> <a name="githubOidc" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.githubOidc"></a>
358
396
 
359
397
  ```typescript
360
- public readonly scriptOutputPath: string;
398
+ public readonly githubOidc: GitHubOidcConfig;
361
399
  ```
362
400
 
363
- - *Type:* string
401
+ - *Type:* <a href="#@jjrawlins/cdk-diff-pr-github-action.GitHubOidcConfig">GitHubOidcConfig</a>
402
+
403
+ GitHub OIDC configuration for repo/branch restrictions.
364
404
 
365
405
  ---
366
406
 
367
- ##### `workflowName`<sup>Optional</sup> <a name="workflowName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.workflowName"></a>
407
+ ##### `changesetRoleName`<sup>Optional</sup> <a name="changesetRoleName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.changesetRoleName"></a>
368
408
 
369
409
  ```typescript
370
- public readonly workflowName: string;
410
+ public readonly changesetRoleName: string;
371
411
  ```
372
412
 
373
413
  - *Type:* string
374
414
 
375
- ---
415
+ Name of the CdkChangesetRole (default: 'CdkChangesetRole').
376
416
 
377
- ### CdkDriftIamTemplateProps <a name="CdkDriftIamTemplateProps" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps"></a>
417
+ ---
378
418
 
379
- #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.Initializer"></a>
419
+ ##### `description`<sup>Optional</sup> <a name="description" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.description"></a>
380
420
 
381
421
  ```typescript
382
- import { CdkDriftIamTemplateProps } from '@jjrawlins/cdk-diff-pr-github-action'
383
-
384
- const cdkDriftIamTemplateProps: CdkDriftIamTemplateProps = { ... }
422
+ public readonly description: string;
385
423
  ```
386
424
 
387
- #### Properties <a name="Properties" id="Properties"></a>
425
+ - *Type:* string
388
426
 
389
- | **Name** | **Type** | **Description** |
390
- | --- | --- | --- |
391
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.oidcRegion">oidcRegion</a></code> | <code>string</code> | *No description.* |
392
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.oidcRoleArn">oidcRoleArn</a></code> | <code>string</code> | *No description.* |
393
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.project">project</a></code> | <code>any</code> | *No description.* |
394
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.roleName">roleName</a></code> | <code>string</code> | *No description.* |
395
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.outputPath">outputPath</a></code> | <code>string</code> | *No description.* |
427
+ Description for the StackSet.
396
428
 
397
429
  ---
398
430
 
399
- ##### `oidcRegion`<sup>Required</sup> <a name="oidcRegion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.oidcRegion"></a>
431
+ ##### `driftRoleName`<sup>Optional</sup> <a name="driftRoleName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.driftRoleName"></a>
400
432
 
401
433
  ```typescript
402
- public readonly oidcRegion: string;
434
+ public readonly driftRoleName: string;
403
435
  ```
404
436
 
405
437
  - *Type:* string
406
438
 
439
+ Name of the CdkDriftRole (default: 'CdkDriftRole').
440
+
407
441
  ---
408
442
 
409
- ##### `oidcRoleArn`<sup>Required</sup> <a name="oidcRoleArn" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.oidcRoleArn"></a>
443
+ ##### `oidcRoleName`<sup>Optional</sup> <a name="oidcRoleName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.oidcRoleName"></a>
410
444
 
411
445
  ```typescript
412
- public readonly oidcRoleArn: string;
446
+ public readonly oidcRoleName: string;
413
447
  ```
414
448
 
415
449
  - *Type:* string
416
450
 
451
+ Name of the GitHub OIDC role (default: 'GitHubOIDCRole').
452
+
417
453
  ---
418
454
 
419
- ##### `project`<sup>Required</sup> <a name="project" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.project"></a>
455
+ ##### `roleSelection`<sup>Optional</sup> <a name="roleSelection" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.roleSelection"></a>
420
456
 
421
457
  ```typescript
422
- public readonly project: any;
458
+ public readonly roleSelection: StackSetRoleSelection;
423
459
  ```
424
460
 
425
- - *Type:* any
461
+ - *Type:* <a href="#@jjrawlins/cdk-diff-pr-github-action.StackSetRoleSelection">StackSetRoleSelection</a>
462
+
463
+ Which roles to include (default: BOTH).
426
464
 
427
465
  ---
428
466
 
429
- ##### `roleName`<sup>Required</sup> <a name="roleName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.roleName"></a>
467
+ ##### `skipOidcProviderCreation`<sup>Optional</sup> <a name="skipOidcProviderCreation" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.skipOidcProviderCreation"></a>
430
468
 
431
469
  ```typescript
432
- public readonly roleName: string;
470
+ public readonly skipOidcProviderCreation: boolean;
433
471
  ```
434
472
 
435
- - *Type:* string
473
+ - *Type:* boolean
474
+
475
+ Skip creating the OIDC provider (use existing one).
476
+
477
+ Set to true if accounts already have a GitHub OIDC provider.
478
+ The template will reference the existing provider by ARN.
479
+ Default: false
436
480
 
437
481
  ---
438
482
 
439
- ##### `outputPath`<sup>Optional</sup> <a name="outputPath" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.outputPath"></a>
483
+ ##### `project`<sup>Required</sup> <a name="project" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.project"></a>
440
484
 
441
485
  ```typescript
442
- public readonly outputPath: string;
486
+ public readonly project: any;
443
487
  ```
444
488
 
445
- - *Type:* string
489
+ - *Type:* any
446
490
 
447
- ---
491
+ Projen project instance.
448
492
 
449
- ### Stack <a name="Stack" id="@jjrawlins/cdk-diff-pr-github-action.Stack"></a>
493
+ ---
450
494
 
451
- #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.Stack.Initializer"></a>
495
+ ##### `autoDeployment`<sup>Optional</sup> <a name="autoDeployment" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.autoDeployment"></a>
452
496
 
453
497
  ```typescript
454
- import { Stack } from '@jjrawlins/cdk-diff-pr-github-action'
498
+ public readonly autoDeployment: StackSetAutoDeployment;
499
+ ```
455
500
 
456
- const stack: Stack = { ... }
501
+ - *Type:* <a href="#@jjrawlins/cdk-diff-pr-github-action.StackSetAutoDeployment">StackSetAutoDeployment</a>
502
+
503
+ Auto-deployment configuration.
504
+
505
+ ---
506
+
507
+ ##### `delegatedAdmin`<sup>Optional</sup> <a name="delegatedAdmin" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.delegatedAdmin"></a>
508
+
509
+ ```typescript
510
+ public readonly delegatedAdmin: boolean;
457
511
  ```
458
512
 
459
- #### Properties <a name="Properties" id="Properties"></a>
513
+ - *Type:* boolean
460
514
 
461
- | **Name** | **Type** | **Description** |
462
- | --- | --- | --- |
463
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.Stack.property.driftDetectionRoleToAssumeArn">driftDetectionRoleToAssumeArn</a></code> | <code>string</code> | *No description.* |
464
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.Stack.property.driftDetectionRoleToAssumeRegion">driftDetectionRoleToAssumeRegion</a></code> | <code>string</code> | *No description.* |
465
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.Stack.property.stackName">stackName</a></code> | <code>string</code> | *No description.* |
466
- | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.Stack.property.failOnDrift">failOnDrift</a></code> | <code>boolean</code> | *No description.* |
515
+ Whether to use delegated admin mode for StackSet operations.
516
+
517
+ If true, adds --call-as DELEGATED_ADMIN to commands.
518
+ If false, assumes running from the management account.
519
+ Default: true
467
520
 
468
521
  ---
469
522
 
470
- ##### `driftDetectionRoleToAssumeArn`<sup>Required</sup> <a name="driftDetectionRoleToAssumeArn" id="@jjrawlins/cdk-diff-pr-github-action.Stack.property.driftDetectionRoleToAssumeArn"></a>
523
+ ##### `outputPath`<sup>Optional</sup> <a name="outputPath" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.outputPath"></a>
471
524
 
472
525
  ```typescript
473
- public readonly driftDetectionRoleToAssumeArn: string;
526
+ public readonly outputPath: string;
474
527
  ```
475
528
 
476
529
  - *Type:* string
477
530
 
531
+ Output path for the template file (default: 'cdk-diff-workflow-stackset-template.yaml').
532
+
478
533
  ---
479
534
 
480
- ##### `driftDetectionRoleToAssumeRegion`<sup>Required</sup> <a name="driftDetectionRoleToAssumeRegion" id="@jjrawlins/cdk-diff-pr-github-action.Stack.property.driftDetectionRoleToAssumeRegion"></a>
535
+ ##### `regions`<sup>Optional</sup> <a name="regions" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.regions"></a>
481
536
 
482
537
  ```typescript
483
- public readonly driftDetectionRoleToAssumeRegion: string;
538
+ public readonly regions: string[];
484
539
  ```
485
540
 
486
- - *Type:* string
541
+ - *Type:* string[]
542
+
543
+ Target regions for deployment (e.g., ['us-east-1', 'eu-west-1']).
487
544
 
488
545
  ---
489
546
 
490
- ##### `stackName`<sup>Required</sup> <a name="stackName" id="@jjrawlins/cdk-diff-pr-github-action.Stack.property.stackName"></a>
547
+ ##### `stackSetName`<sup>Optional</sup> <a name="stackSetName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.stackSetName"></a>
491
548
 
492
549
  ```typescript
493
- public readonly stackName: string;
550
+ public readonly stackSetName: string;
494
551
  ```
495
552
 
496
553
  - *Type:* string
497
554
 
555
+ Name of the StackSet (default: 'cdk-diff-workflow-iam-stackset').
556
+
498
557
  ---
499
558
 
500
- ##### `failOnDrift`<sup>Optional</sup> <a name="failOnDrift" id="@jjrawlins/cdk-diff-pr-github-action.Stack.property.failOnDrift"></a>
559
+ ##### `targetOrganizationalUnitIds`<sup>Optional</sup> <a name="targetOrganizationalUnitIds" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps.property.targetOrganizationalUnitIds"></a>
501
560
 
502
561
  ```typescript
503
- public readonly failOnDrift: boolean;
562
+ public readonly targetOrganizationalUnitIds: string[];
504
563
  ```
505
564
 
506
- - *Type:* boolean
565
+ - *Type:* string[]
507
566
 
508
- ---
567
+ Target OUs for deployment (e.g., ['ou-xxxx-xxxxxxxx', 'r-xxxx']).
509
568
 
510
- ## Classes <a name="Classes" id="Classes"></a>
569
+ ---
511
570
 
512
- ### CdkDiffIamTemplate <a name="CdkDiffIamTemplate" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplate"></a>
571
+ ### CdkDiffStack <a name="CdkDiffStack" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack"></a>
513
572
 
514
- #### Initializers <a name="Initializers" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplate.Initializer"></a>
573
+ #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.Initializer"></a>
515
574
 
516
575
  ```typescript
517
- import { CdkDiffIamTemplate } from '@jjrawlins/cdk-diff-pr-github-action'
576
+ import { CdkDiffStack } from '@jjrawlins/cdk-diff-pr-github-action'
518
577
 
519
- new CdkDiffIamTemplate(props: CdkDiffIamTemplateProps)
578
+ const cdkDiffStack: CdkDiffStack = { ... }
579
+ ```
580
+
581
+ #### Properties <a name="Properties" id="Properties"></a>
582
+
583
+ | **Name** | **Type** | **Description** |
584
+ | --- | --- | --- |
585
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.changesetRoleToAssumeArn">changesetRoleToAssumeArn</a></code> | <code>string</code> | *No description.* |
586
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.changesetRoleToAssumeRegion">changesetRoleToAssumeRegion</a></code> | <code>string</code> | *No description.* |
587
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.stackName">stackName</a></code> | <code>string</code> | *No description.* |
588
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.oidcRegion">oidcRegion</a></code> | <code>string</code> | *No description.* |
589
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.oidcRoleArn">oidcRoleArn</a></code> | <code>string</code> | *No description.* |
590
+
591
+ ---
592
+
593
+ ##### `changesetRoleToAssumeArn`<sup>Required</sup> <a name="changesetRoleToAssumeArn" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.changesetRoleToAssumeArn"></a>
594
+
595
+ ```typescript
596
+ public readonly changesetRoleToAssumeArn: string;
597
+ ```
598
+
599
+ - *Type:* string
600
+
601
+ ---
602
+
603
+ ##### `changesetRoleToAssumeRegion`<sup>Required</sup> <a name="changesetRoleToAssumeRegion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.changesetRoleToAssumeRegion"></a>
604
+
605
+ ```typescript
606
+ public readonly changesetRoleToAssumeRegion: string;
607
+ ```
608
+
609
+ - *Type:* string
610
+
611
+ ---
612
+
613
+ ##### `stackName`<sup>Required</sup> <a name="stackName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.stackName"></a>
614
+
615
+ ```typescript
616
+ public readonly stackName: string;
617
+ ```
618
+
619
+ - *Type:* string
620
+
621
+ ---
622
+
623
+ ##### `oidcRegion`<sup>Optional</sup> <a name="oidcRegion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.oidcRegion"></a>
624
+
625
+ ```typescript
626
+ public readonly oidcRegion: string;
627
+ ```
628
+
629
+ - *Type:* string
630
+
631
+ ---
632
+
633
+ ##### `oidcRoleArn`<sup>Optional</sup> <a name="oidcRoleArn" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack.property.oidcRoleArn"></a>
634
+
635
+ ```typescript
636
+ public readonly oidcRoleArn: string;
637
+ ```
638
+
639
+ - *Type:* string
640
+
641
+ ---
642
+
643
+ ### CdkDiffStackWorkflowProps <a name="CdkDiffStackWorkflowProps" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps"></a>
644
+
645
+ #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.Initializer"></a>
646
+
647
+ ```typescript
648
+ import { CdkDiffStackWorkflowProps } from '@jjrawlins/cdk-diff-pr-github-action'
649
+
650
+ const cdkDiffStackWorkflowProps: CdkDiffStackWorkflowProps = { ... }
651
+ ```
652
+
653
+ #### Properties <a name="Properties" id="Properties"></a>
654
+
655
+ | **Name** | **Type** | **Description** |
656
+ | --- | --- | --- |
657
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.oidcRegion">oidcRegion</a></code> | <code>string</code> | *No description.* |
658
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.oidcRoleArn">oidcRoleArn</a></code> | <code>string</code> | *No description.* |
659
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.project">project</a></code> | <code>any</code> | *No description.* |
660
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.stacks">stacks</a></code> | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack">CdkDiffStack</a>[]</code> | *No description.* |
661
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.cdkYarnCommand">cdkYarnCommand</a></code> | <code>string</code> | *No description.* |
662
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.nodeVersion">nodeVersion</a></code> | <code>string</code> | *No description.* |
663
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.scriptOutputPath">scriptOutputPath</a></code> | <code>string</code> | *No description.* |
664
+
665
+ ---
666
+
667
+ ##### `oidcRegion`<sup>Required</sup> <a name="oidcRegion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.oidcRegion"></a>
668
+
669
+ ```typescript
670
+ public readonly oidcRegion: string;
671
+ ```
672
+
673
+ - *Type:* string
674
+
675
+ ---
676
+
677
+ ##### `oidcRoleArn`<sup>Required</sup> <a name="oidcRoleArn" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.oidcRoleArn"></a>
678
+
679
+ ```typescript
680
+ public readonly oidcRoleArn: string;
681
+ ```
682
+
683
+ - *Type:* string
684
+
685
+ ---
686
+
687
+ ##### `project`<sup>Required</sup> <a name="project" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.project"></a>
688
+
689
+ ```typescript
690
+ public readonly project: any;
691
+ ```
692
+
693
+ - *Type:* any
694
+
695
+ ---
696
+
697
+ ##### `stacks`<sup>Required</sup> <a name="stacks" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.stacks"></a>
698
+
699
+ ```typescript
700
+ public readonly stacks: CdkDiffStack[];
701
+ ```
702
+
703
+ - *Type:* <a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffStack">CdkDiffStack</a>[]
704
+
705
+ ---
706
+
707
+ ##### `cdkYarnCommand`<sup>Optional</sup> <a name="cdkYarnCommand" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.cdkYarnCommand"></a>
708
+
709
+ ```typescript
710
+ public readonly cdkYarnCommand: string;
711
+ ```
712
+
713
+ - *Type:* string
714
+
715
+ ---
716
+
717
+ ##### `nodeVersion`<sup>Optional</sup> <a name="nodeVersion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.nodeVersion"></a>
718
+
719
+ ```typescript
720
+ public readonly nodeVersion: string;
721
+ ```
722
+
723
+ - *Type:* string
724
+
725
+ ---
726
+
727
+ ##### `scriptOutputPath`<sup>Optional</sup> <a name="scriptOutputPath" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflowProps.property.scriptOutputPath"></a>
728
+
729
+ ```typescript
730
+ public readonly scriptOutputPath: string;
731
+ ```
732
+
733
+ - *Type:* string
734
+
735
+ ---
736
+
737
+ ### CdkDriftDetectionWorkflowProps <a name="CdkDriftDetectionWorkflowProps" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps"></a>
738
+
739
+ #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.Initializer"></a>
740
+
741
+ ```typescript
742
+ import { CdkDriftDetectionWorkflowProps } from '@jjrawlins/cdk-diff-pr-github-action'
743
+
744
+ const cdkDriftDetectionWorkflowProps: CdkDriftDetectionWorkflowProps = { ... }
745
+ ```
746
+
747
+ #### Properties <a name="Properties" id="Properties"></a>
748
+
749
+ | **Name** | **Type** | **Description** |
750
+ | --- | --- | --- |
751
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.oidcRegion">oidcRegion</a></code> | <code>string</code> | *No description.* |
752
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.oidcRoleArn">oidcRoleArn</a></code> | <code>string</code> | *No description.* |
753
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.project">project</a></code> | <code>any</code> | *No description.* |
754
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.stacks">stacks</a></code> | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.Stack">Stack</a>[]</code> | *No description.* |
755
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.createIssues">createIssues</a></code> | <code>boolean</code> | *No description.* |
756
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.nodeVersion">nodeVersion</a></code> | <code>string</code> | *No description.* |
757
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.postGitHubSteps">postGitHubSteps</a></code> | <code>any</code> | Optional additional GitHub Action steps to run after drift detection for each stack. |
758
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.schedule">schedule</a></code> | <code>string</code> | *No description.* |
759
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.scriptOutputPath">scriptOutputPath</a></code> | <code>string</code> | *No description.* |
760
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.workflowName">workflowName</a></code> | <code>string</code> | *No description.* |
761
+
762
+ ---
763
+
764
+ ##### `oidcRegion`<sup>Required</sup> <a name="oidcRegion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.oidcRegion"></a>
765
+
766
+ ```typescript
767
+ public readonly oidcRegion: string;
768
+ ```
769
+
770
+ - *Type:* string
771
+
772
+ ---
773
+
774
+ ##### `oidcRoleArn`<sup>Required</sup> <a name="oidcRoleArn" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.oidcRoleArn"></a>
775
+
776
+ ```typescript
777
+ public readonly oidcRoleArn: string;
778
+ ```
779
+
780
+ - *Type:* string
781
+
782
+ ---
783
+
784
+ ##### `project`<sup>Required</sup> <a name="project" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.project"></a>
785
+
786
+ ```typescript
787
+ public readonly project: any;
788
+ ```
789
+
790
+ - *Type:* any
791
+
792
+ ---
793
+
794
+ ##### `stacks`<sup>Required</sup> <a name="stacks" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.stacks"></a>
795
+
796
+ ```typescript
797
+ public readonly stacks: Stack[];
798
+ ```
799
+
800
+ - *Type:* <a href="#@jjrawlins/cdk-diff-pr-github-action.Stack">Stack</a>[]
801
+
802
+ ---
803
+
804
+ ##### `createIssues`<sup>Optional</sup> <a name="createIssues" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.createIssues"></a>
805
+
806
+ ```typescript
807
+ public readonly createIssues: boolean;
808
+ ```
809
+
810
+ - *Type:* boolean
811
+
812
+ ---
813
+
814
+ ##### `nodeVersion`<sup>Optional</sup> <a name="nodeVersion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.nodeVersion"></a>
815
+
816
+ ```typescript
817
+ public readonly nodeVersion: string;
818
+ ```
819
+
820
+ - *Type:* string
821
+
822
+ ---
823
+
824
+ ##### `postGitHubSteps`<sup>Optional</sup> <a name="postGitHubSteps" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.postGitHubSteps"></a>
825
+
826
+ ```typescript
827
+ public readonly postGitHubSteps: any;
828
+ ```
829
+
830
+ - *Type:* any
831
+
832
+ Optional additional GitHub Action steps to run after drift detection for each stack.
833
+
834
+ These steps run after results are uploaded for each stack. You can include
835
+ any notifications you like (e.g., Slack). Provide explicit inputs (e.g., payload/markdown)
836
+ directly in your step without relying on a pre-generated payload.
837
+
838
+ ---
839
+
840
+ ##### `schedule`<sup>Optional</sup> <a name="schedule" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.schedule"></a>
841
+
842
+ ```typescript
843
+ public readonly schedule: string;
844
+ ```
845
+
846
+ - *Type:* string
847
+
848
+ ---
849
+
850
+ ##### `scriptOutputPath`<sup>Optional</sup> <a name="scriptOutputPath" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.scriptOutputPath"></a>
851
+
852
+ ```typescript
853
+ public readonly scriptOutputPath: string;
854
+ ```
855
+
856
+ - *Type:* string
857
+
858
+ ---
859
+
860
+ ##### `workflowName`<sup>Optional</sup> <a name="workflowName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftDetectionWorkflowProps.property.workflowName"></a>
861
+
862
+ ```typescript
863
+ public readonly workflowName: string;
864
+ ```
865
+
866
+ - *Type:* string
867
+
868
+ ---
869
+
870
+ ### CdkDriftIamTemplateGeneratorProps <a name="CdkDriftIamTemplateGeneratorProps" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGeneratorProps"></a>
871
+
872
+ Props for generating CDK Drift IAM templates (no Projen dependency).
873
+
874
+ #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGeneratorProps.Initializer"></a>
875
+
876
+ ```typescript
877
+ import { CdkDriftIamTemplateGeneratorProps } from '@jjrawlins/cdk-diff-pr-github-action'
878
+
879
+ const cdkDriftIamTemplateGeneratorProps: CdkDriftIamTemplateGeneratorProps = { ... }
880
+ ```
881
+
882
+ #### Properties <a name="Properties" id="Properties"></a>
883
+
884
+ | **Name** | **Type** | **Description** |
885
+ | --- | --- | --- |
886
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGeneratorProps.property.oidcRegion">oidcRegion</a></code> | <code>string</code> | Region for the OIDC trust condition. |
887
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGeneratorProps.property.oidcRoleArn">oidcRoleArn</a></code> | <code>string</code> | ARN of the existing GitHub OIDC role that can assume this drift role. |
888
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGeneratorProps.property.roleName">roleName</a></code> | <code>string</code> | Name for the IAM role. |
889
+
890
+ ---
891
+
892
+ ##### `oidcRegion`<sup>Required</sup> <a name="oidcRegion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGeneratorProps.property.oidcRegion"></a>
893
+
894
+ ```typescript
895
+ public readonly oidcRegion: string;
896
+ ```
897
+
898
+ - *Type:* string
899
+
900
+ Region for the OIDC trust condition.
901
+
902
+ ---
903
+
904
+ ##### `oidcRoleArn`<sup>Required</sup> <a name="oidcRoleArn" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGeneratorProps.property.oidcRoleArn"></a>
905
+
906
+ ```typescript
907
+ public readonly oidcRoleArn: string;
908
+ ```
909
+
910
+ - *Type:* string
911
+
912
+ ARN of the existing GitHub OIDC role that can assume this drift role.
913
+
914
+ ---
915
+
916
+ ##### `roleName`<sup>Required</sup> <a name="roleName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGeneratorProps.property.roleName"></a>
917
+
918
+ ```typescript
919
+ public readonly roleName: string;
920
+ ```
921
+
922
+ - *Type:* string
923
+
924
+ Name for the IAM role.
925
+
926
+ ---
927
+
928
+ ### CdkDriftIamTemplateProps <a name="CdkDriftIamTemplateProps" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps"></a>
929
+
930
+ Props for the Projen-integrated CDK Drift IAM template construct.
931
+
932
+ #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.Initializer"></a>
933
+
934
+ ```typescript
935
+ import { CdkDriftIamTemplateProps } from '@jjrawlins/cdk-diff-pr-github-action'
936
+
937
+ const cdkDriftIamTemplateProps: CdkDriftIamTemplateProps = { ... }
938
+ ```
939
+
940
+ #### Properties <a name="Properties" id="Properties"></a>
941
+
942
+ | **Name** | **Type** | **Description** |
943
+ | --- | --- | --- |
944
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.oidcRegion">oidcRegion</a></code> | <code>string</code> | Region for the OIDC trust condition. |
945
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.oidcRoleArn">oidcRoleArn</a></code> | <code>string</code> | ARN of the existing GitHub OIDC role that can assume this drift role. |
946
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.roleName">roleName</a></code> | <code>string</code> | Name for the IAM role. |
947
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.project">project</a></code> | <code>any</code> | Projen project instance. |
948
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.outputPath">outputPath</a></code> | <code>string</code> | Output path for the template file (default: 'cdk-drift-workflow-iam-template.yaml'). |
949
+
950
+ ---
951
+
952
+ ##### `oidcRegion`<sup>Required</sup> <a name="oidcRegion" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.oidcRegion"></a>
953
+
954
+ ```typescript
955
+ public readonly oidcRegion: string;
956
+ ```
957
+
958
+ - *Type:* string
959
+
960
+ Region for the OIDC trust condition.
961
+
962
+ ---
963
+
964
+ ##### `oidcRoleArn`<sup>Required</sup> <a name="oidcRoleArn" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.oidcRoleArn"></a>
965
+
966
+ ```typescript
967
+ public readonly oidcRoleArn: string;
968
+ ```
969
+
970
+ - *Type:* string
971
+
972
+ ARN of the existing GitHub OIDC role that can assume this drift role.
973
+
974
+ ---
975
+
976
+ ##### `roleName`<sup>Required</sup> <a name="roleName" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.roleName"></a>
977
+
978
+ ```typescript
979
+ public readonly roleName: string;
980
+ ```
981
+
982
+ - *Type:* string
983
+
984
+ Name for the IAM role.
985
+
986
+ ---
987
+
988
+ ##### `project`<sup>Required</sup> <a name="project" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.project"></a>
989
+
990
+ ```typescript
991
+ public readonly project: any;
992
+ ```
993
+
994
+ - *Type:* any
995
+
996
+ Projen project instance.
997
+
998
+ ---
999
+
1000
+ ##### `outputPath`<sup>Optional</sup> <a name="outputPath" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateProps.property.outputPath"></a>
1001
+
1002
+ ```typescript
1003
+ public readonly outputPath: string;
1004
+ ```
1005
+
1006
+ - *Type:* string
1007
+
1008
+ Output path for the template file (default: 'cdk-drift-workflow-iam-template.yaml').
1009
+
1010
+ ---
1011
+
1012
+ ### GitHubOidcConfig <a name="GitHubOidcConfig" id="@jjrawlins/cdk-diff-pr-github-action.GitHubOidcConfig"></a>
1013
+
1014
+ GitHub repository restrictions for OIDC authentication.
1015
+
1016
+ #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.GitHubOidcConfig.Initializer"></a>
1017
+
1018
+ ```typescript
1019
+ import { GitHubOidcConfig } from '@jjrawlins/cdk-diff-pr-github-action'
1020
+
1021
+ const gitHubOidcConfig: GitHubOidcConfig = { ... }
1022
+ ```
1023
+
1024
+ #### Properties <a name="Properties" id="Properties"></a>
1025
+
1026
+ | **Name** | **Type** | **Description** |
1027
+ | --- | --- | --- |
1028
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.GitHubOidcConfig.property.owner">owner</a></code> | <code>string</code> | GitHub organization or username (e.g., 'my-org' or 'my-username'). |
1029
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.GitHubOidcConfig.property.repositories">repositories</a></code> | <code>string[]</code> | Repository names allowed to assume the role (e.g., ['repo1', 'repo2']) Use ['*'] to allow all repos in the organization. |
1030
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.GitHubOidcConfig.property.additionalClaims">additionalClaims</a></code> | <code>string[]</code> | Additional subject claims for fine-grained access e.g., ['pull_request', 'environment:production']. |
1031
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.GitHubOidcConfig.property.branches">branches</a></code> | <code>string[]</code> | Branch patterns allowed (e.g., ['main', 'release/*']) Default: ['*'] (all branches). |
1032
+
1033
+ ---
1034
+
1035
+ ##### `owner`<sup>Required</sup> <a name="owner" id="@jjrawlins/cdk-diff-pr-github-action.GitHubOidcConfig.property.owner"></a>
1036
+
1037
+ ```typescript
1038
+ public readonly owner: string;
1039
+ ```
1040
+
1041
+ - *Type:* string
1042
+
1043
+ GitHub organization or username (e.g., 'my-org' or 'my-username').
1044
+
1045
+ ---
1046
+
1047
+ ##### `repositories`<sup>Required</sup> <a name="repositories" id="@jjrawlins/cdk-diff-pr-github-action.GitHubOidcConfig.property.repositories"></a>
1048
+
1049
+ ```typescript
1050
+ public readonly repositories: string[];
1051
+ ```
1052
+
1053
+ - *Type:* string[]
1054
+
1055
+ Repository names allowed to assume the role (e.g., ['repo1', 'repo2']) Use ['*'] to allow all repos in the organization.
1056
+
1057
+ ---
1058
+
1059
+ ##### `additionalClaims`<sup>Optional</sup> <a name="additionalClaims" id="@jjrawlins/cdk-diff-pr-github-action.GitHubOidcConfig.property.additionalClaims"></a>
1060
+
1061
+ ```typescript
1062
+ public readonly additionalClaims: string[];
1063
+ ```
1064
+
1065
+ - *Type:* string[]
1066
+
1067
+ Additional subject claims for fine-grained access e.g., ['pull_request', 'environment:production'].
1068
+
1069
+ ---
1070
+
1071
+ ##### `branches`<sup>Optional</sup> <a name="branches" id="@jjrawlins/cdk-diff-pr-github-action.GitHubOidcConfig.property.branches"></a>
1072
+
1073
+ ```typescript
1074
+ public readonly branches: string[];
1075
+ ```
1076
+
1077
+ - *Type:* string[]
1078
+
1079
+ Branch patterns allowed (e.g., ['main', 'release/*']) Default: ['*'] (all branches).
1080
+
1081
+ ---
1082
+
1083
+ ### Stack <a name="Stack" id="@jjrawlins/cdk-diff-pr-github-action.Stack"></a>
1084
+
1085
+ #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.Stack.Initializer"></a>
1086
+
1087
+ ```typescript
1088
+ import { Stack } from '@jjrawlins/cdk-diff-pr-github-action'
1089
+
1090
+ const stack: Stack = { ... }
1091
+ ```
1092
+
1093
+ #### Properties <a name="Properties" id="Properties"></a>
1094
+
1095
+ | **Name** | **Type** | **Description** |
1096
+ | --- | --- | --- |
1097
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.Stack.property.driftDetectionRoleToAssumeArn">driftDetectionRoleToAssumeArn</a></code> | <code>string</code> | *No description.* |
1098
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.Stack.property.driftDetectionRoleToAssumeRegion">driftDetectionRoleToAssumeRegion</a></code> | <code>string</code> | *No description.* |
1099
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.Stack.property.stackName">stackName</a></code> | <code>string</code> | *No description.* |
1100
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.Stack.property.failOnDrift">failOnDrift</a></code> | <code>boolean</code> | *No description.* |
1101
+
1102
+ ---
1103
+
1104
+ ##### `driftDetectionRoleToAssumeArn`<sup>Required</sup> <a name="driftDetectionRoleToAssumeArn" id="@jjrawlins/cdk-diff-pr-github-action.Stack.property.driftDetectionRoleToAssumeArn"></a>
1105
+
1106
+ ```typescript
1107
+ public readonly driftDetectionRoleToAssumeArn: string;
1108
+ ```
1109
+
1110
+ - *Type:* string
1111
+
1112
+ ---
1113
+
1114
+ ##### `driftDetectionRoleToAssumeRegion`<sup>Required</sup> <a name="driftDetectionRoleToAssumeRegion" id="@jjrawlins/cdk-diff-pr-github-action.Stack.property.driftDetectionRoleToAssumeRegion"></a>
1115
+
1116
+ ```typescript
1117
+ public readonly driftDetectionRoleToAssumeRegion: string;
1118
+ ```
1119
+
1120
+ - *Type:* string
1121
+
1122
+ ---
1123
+
1124
+ ##### `stackName`<sup>Required</sup> <a name="stackName" id="@jjrawlins/cdk-diff-pr-github-action.Stack.property.stackName"></a>
1125
+
1126
+ ```typescript
1127
+ public readonly stackName: string;
1128
+ ```
1129
+
1130
+ - *Type:* string
1131
+
1132
+ ---
1133
+
1134
+ ##### `failOnDrift`<sup>Optional</sup> <a name="failOnDrift" id="@jjrawlins/cdk-diff-pr-github-action.Stack.property.failOnDrift"></a>
1135
+
1136
+ ```typescript
1137
+ public readonly failOnDrift: boolean;
1138
+ ```
1139
+
1140
+ - *Type:* boolean
1141
+
1142
+ ---
1143
+
1144
+ ### StackSetAutoDeployment <a name="StackSetAutoDeployment" id="@jjrawlins/cdk-diff-pr-github-action.StackSetAutoDeployment"></a>
1145
+
1146
+ Configuration for StackSet auto-deployment.
1147
+
1148
+ #### Initializer <a name="Initializer" id="@jjrawlins/cdk-diff-pr-github-action.StackSetAutoDeployment.Initializer"></a>
1149
+
1150
+ ```typescript
1151
+ import { StackSetAutoDeployment } from '@jjrawlins/cdk-diff-pr-github-action'
1152
+
1153
+ const stackSetAutoDeployment: StackSetAutoDeployment = { ... }
1154
+ ```
1155
+
1156
+ #### Properties <a name="Properties" id="Properties"></a>
1157
+
1158
+ | **Name** | **Type** | **Description** |
1159
+ | --- | --- | --- |
1160
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.StackSetAutoDeployment.property.enabled">enabled</a></code> | <code>boolean</code> | Enable auto-deployment to new accounts in target OUs (default: true). |
1161
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.StackSetAutoDeployment.property.retainStacksOnAccountRemoval">retainStacksOnAccountRemoval</a></code> | <code>boolean</code> | Retain stacks when account leaves OU (default: false). |
1162
+
1163
+ ---
1164
+
1165
+ ##### `enabled`<sup>Optional</sup> <a name="enabled" id="@jjrawlins/cdk-diff-pr-github-action.StackSetAutoDeployment.property.enabled"></a>
1166
+
1167
+ ```typescript
1168
+ public readonly enabled: boolean;
1169
+ ```
1170
+
1171
+ - *Type:* boolean
1172
+
1173
+ Enable auto-deployment to new accounts in target OUs (default: true).
1174
+
1175
+ ---
1176
+
1177
+ ##### `retainStacksOnAccountRemoval`<sup>Optional</sup> <a name="retainStacksOnAccountRemoval" id="@jjrawlins/cdk-diff-pr-github-action.StackSetAutoDeployment.property.retainStacksOnAccountRemoval"></a>
1178
+
1179
+ ```typescript
1180
+ public readonly retainStacksOnAccountRemoval: boolean;
1181
+ ```
1182
+
1183
+ - *Type:* boolean
1184
+
1185
+ Retain stacks when account leaves OU (default: false).
1186
+
1187
+ ---
1188
+
1189
+ ## Classes <a name="Classes" id="Classes"></a>
1190
+
1191
+ ### CdkDiffIamTemplate <a name="CdkDiffIamTemplate" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplate"></a>
1192
+
1193
+ Projen construct that emits a CloudFormation template with minimal IAM permissions for the CDK Diff Stack Workflow.
1194
+
1195
+ For non-Projen projects, use `CdkDiffIamTemplateGenerator` directly.
1196
+
1197
+ #### Initializers <a name="Initializers" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplate.Initializer"></a>
1198
+
1199
+ ```typescript
1200
+ import { CdkDiffIamTemplate } from '@jjrawlins/cdk-diff-pr-github-action'
1201
+
1202
+ new CdkDiffIamTemplate(props: CdkDiffIamTemplateProps)
520
1203
  ```
521
1204
 
522
1205
  | **Name** | **Type** | **Description** |
@@ -535,6 +1218,166 @@ new CdkDiffIamTemplate(props: CdkDiffIamTemplateProps)
535
1218
 
536
1219
 
537
1220
 
1221
+ ### CdkDiffIamTemplateGenerator <a name="CdkDiffIamTemplateGenerator" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGenerator"></a>
1222
+
1223
+ Pure generator class for CDK Diff IAM templates.
1224
+
1225
+ No Projen dependency - can be used in any project.
1226
+
1227
+ #### Initializers <a name="Initializers" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGenerator.Initializer"></a>
1228
+
1229
+ ```typescript
1230
+ import { CdkDiffIamTemplateGenerator } from '@jjrawlins/cdk-diff-pr-github-action'
1231
+
1232
+ new CdkDiffIamTemplateGenerator()
1233
+ ```
1234
+
1235
+ | **Name** | **Type** | **Description** |
1236
+ | --- | --- | --- |
1237
+
1238
+ ---
1239
+
1240
+
1241
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1242
+
1243
+ | **Name** | **Description** |
1244
+ | --- | --- |
1245
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGenerator.generateDeployCommand">generateDeployCommand</a></code> | Generate the AWS CLI deploy command for the IAM template. |
1246
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGenerator.generateTemplate">generateTemplate</a></code> | Generate the CloudFormation IAM template as a YAML string. |
1247
+
1248
+ ---
1249
+
1250
+ ##### `generateDeployCommand` <a name="generateDeployCommand" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGenerator.generateDeployCommand"></a>
1251
+
1252
+ ```typescript
1253
+ import { CdkDiffIamTemplateGenerator } from '@jjrawlins/cdk-diff-pr-github-action'
1254
+
1255
+ CdkDiffIamTemplateGenerator.generateDeployCommand(templatePath?: string)
1256
+ ```
1257
+
1258
+ Generate the AWS CLI deploy command for the IAM template.
1259
+
1260
+ ###### `templatePath`<sup>Optional</sup> <a name="templatePath" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGenerator.generateDeployCommand.parameter.templatePath"></a>
1261
+
1262
+ - *Type:* string
1263
+
1264
+ ---
1265
+
1266
+ ##### `generateTemplate` <a name="generateTemplate" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGenerator.generateTemplate"></a>
1267
+
1268
+ ```typescript
1269
+ import { CdkDiffIamTemplateGenerator } from '@jjrawlins/cdk-diff-pr-github-action'
1270
+
1271
+ CdkDiffIamTemplateGenerator.generateTemplate(props: CdkDiffIamTemplateGeneratorProps)
1272
+ ```
1273
+
1274
+ Generate the CloudFormation IAM template as a YAML string.
1275
+
1276
+ ###### `props`<sup>Required</sup> <a name="props" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGenerator.generateTemplate.parameter.props"></a>
1277
+
1278
+ - *Type:* <a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateGeneratorProps">CdkDiffIamTemplateGeneratorProps</a>
1279
+
1280
+ ---
1281
+
1282
+
1283
+
1284
+ ### CdkDiffIamTemplateStackSet <a name="CdkDiffIamTemplateStackSet" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSet"></a>
1285
+
1286
+ Projen construct that creates a CloudFormation StackSet template for org-wide deployment of GitHub OIDC provider, OIDC role, and CDK Diff/Drift IAM roles.
1287
+
1288
+ This provides a self-contained per-account deployment with no role chaining required.
1289
+
1290
+ For non-Projen projects, use `CdkDiffIamTemplateStackSetGenerator` directly.
1291
+
1292
+ #### Initializers <a name="Initializers" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSet.Initializer"></a>
1293
+
1294
+ ```typescript
1295
+ import { CdkDiffIamTemplateStackSet } from '@jjrawlins/cdk-diff-pr-github-action'
1296
+
1297
+ new CdkDiffIamTemplateStackSet(props: CdkDiffIamTemplateStackSetProps)
1298
+ ```
1299
+
1300
+ | **Name** | **Type** | **Description** |
1301
+ | --- | --- | --- |
1302
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSet.Initializer.parameter.props">props</a></code> | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps">CdkDiffIamTemplateStackSetProps</a></code> | *No description.* |
1303
+
1304
+ ---
1305
+
1306
+ ##### `props`<sup>Required</sup> <a name="props" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSet.Initializer.parameter.props"></a>
1307
+
1308
+ - *Type:* <a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetProps">CdkDiffIamTemplateStackSetProps</a>
1309
+
1310
+ ---
1311
+
1312
+
1313
+
1314
+
1315
+
1316
+ ### CdkDiffIamTemplateStackSetGenerator <a name="CdkDiffIamTemplateStackSetGenerator" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGenerator"></a>
1317
+
1318
+ Pure generator class for StackSet templates and commands.
1319
+
1320
+ No Projen dependency - can be used in any project.
1321
+
1322
+ #### Initializers <a name="Initializers" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGenerator.Initializer"></a>
1323
+
1324
+ ```typescript
1325
+ import { CdkDiffIamTemplateStackSetGenerator } from '@jjrawlins/cdk-diff-pr-github-action'
1326
+
1327
+ new CdkDiffIamTemplateStackSetGenerator()
1328
+ ```
1329
+
1330
+ | **Name** | **Type** | **Description** |
1331
+ | --- | --- | --- |
1332
+
1333
+ ---
1334
+
1335
+
1336
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1337
+
1338
+ | **Name** | **Description** |
1339
+ | --- | --- |
1340
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGenerator.generateCommands">generateCommands</a></code> | Generate AWS CLI commands for StackSet operations. |
1341
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGenerator.generateTemplate">generateTemplate</a></code> | Generate the CloudFormation StackSet template as a YAML string. |
1342
+
1343
+ ---
1344
+
1345
+ ##### `generateCommands` <a name="generateCommands" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGenerator.generateCommands"></a>
1346
+
1347
+ ```typescript
1348
+ import { CdkDiffIamTemplateStackSetGenerator } from '@jjrawlins/cdk-diff-pr-github-action'
1349
+
1350
+ CdkDiffIamTemplateStackSetGenerator.generateCommands(props?: CdkDiffIamTemplateStackSetCommandsProps)
1351
+ ```
1352
+
1353
+ Generate AWS CLI commands for StackSet operations.
1354
+
1355
+ Returns a map of command names to shell commands.
1356
+
1357
+ ###### `props`<sup>Optional</sup> <a name="props" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGenerator.generateCommands.parameter.props"></a>
1358
+
1359
+ - *Type:* <a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetCommandsProps">CdkDiffIamTemplateStackSetCommandsProps</a>
1360
+
1361
+ ---
1362
+
1363
+ ##### `generateTemplate` <a name="generateTemplate" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGenerator.generateTemplate"></a>
1364
+
1365
+ ```typescript
1366
+ import { CdkDiffIamTemplateStackSetGenerator } from '@jjrawlins/cdk-diff-pr-github-action'
1367
+
1368
+ CdkDiffIamTemplateStackSetGenerator.generateTemplate(props: CdkDiffIamTemplateStackSetGeneratorProps)
1369
+ ```
1370
+
1371
+ Generate the CloudFormation StackSet template as a YAML string.
1372
+
1373
+ ###### `props`<sup>Required</sup> <a name="props" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGenerator.generateTemplate.parameter.props"></a>
1374
+
1375
+ - *Type:* <a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDiffIamTemplateStackSetGeneratorProps">CdkDiffIamTemplateStackSetGeneratorProps</a>
1376
+
1377
+ ---
1378
+
1379
+
1380
+
538
1381
  ### CdkDiffStackWorkflow <a name="CdkDiffStackWorkflow" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflow"></a>
539
1382
 
540
1383
  #### Initializers <a name="Initializers" id="@jjrawlins/cdk-diff-pr-github-action.CdkDiffStackWorkflow.Initializer"></a>
@@ -589,6 +1432,10 @@ new CdkDriftDetectionWorkflow(props: CdkDriftDetectionWorkflowProps)
589
1432
 
590
1433
  ### CdkDriftIamTemplate <a name="CdkDriftIamTemplate" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplate"></a>
591
1434
 
1435
+ Projen construct that emits a CloudFormation template with minimal IAM permissions for the CDK Drift Detection Workflow.
1436
+
1437
+ For non-Projen projects, use `CdkDriftIamTemplateGenerator` directly.
1438
+
592
1439
  #### Initializers <a name="Initializers" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplate.Initializer"></a>
593
1440
 
594
1441
  ```typescript
@@ -613,4 +1460,103 @@ new CdkDriftIamTemplate(props: CdkDriftIamTemplateProps)
613
1460
 
614
1461
 
615
1462
 
1463
+ ### CdkDriftIamTemplateGenerator <a name="CdkDriftIamTemplateGenerator" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGenerator"></a>
1464
+
1465
+ Pure generator class for CDK Drift IAM templates.
1466
+
1467
+ No Projen dependency - can be used in any project.
1468
+
1469
+ #### Initializers <a name="Initializers" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGenerator.Initializer"></a>
1470
+
1471
+ ```typescript
1472
+ import { CdkDriftIamTemplateGenerator } from '@jjrawlins/cdk-diff-pr-github-action'
1473
+
1474
+ new CdkDriftIamTemplateGenerator()
1475
+ ```
1476
+
1477
+ | **Name** | **Type** | **Description** |
1478
+ | --- | --- | --- |
1479
+
1480
+ ---
1481
+
1482
+
1483
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1484
+
1485
+ | **Name** | **Description** |
1486
+ | --- | --- |
1487
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGenerator.generateDeployCommand">generateDeployCommand</a></code> | Generate the AWS CLI deploy command for the IAM template. |
1488
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGenerator.generateTemplate">generateTemplate</a></code> | Generate the CloudFormation IAM template as a YAML string. |
1489
+
1490
+ ---
1491
+
1492
+ ##### `generateDeployCommand` <a name="generateDeployCommand" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGenerator.generateDeployCommand"></a>
1493
+
1494
+ ```typescript
1495
+ import { CdkDriftIamTemplateGenerator } from '@jjrawlins/cdk-diff-pr-github-action'
1496
+
1497
+ CdkDriftIamTemplateGenerator.generateDeployCommand(templatePath?: string)
1498
+ ```
1499
+
1500
+ Generate the AWS CLI deploy command for the IAM template.
1501
+
1502
+ ###### `templatePath`<sup>Optional</sup> <a name="templatePath" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGenerator.generateDeployCommand.parameter.templatePath"></a>
1503
+
1504
+ - *Type:* string
1505
+
1506
+ ---
1507
+
1508
+ ##### `generateTemplate` <a name="generateTemplate" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGenerator.generateTemplate"></a>
1509
+
1510
+ ```typescript
1511
+ import { CdkDriftIamTemplateGenerator } from '@jjrawlins/cdk-diff-pr-github-action'
1512
+
1513
+ CdkDriftIamTemplateGenerator.generateTemplate(props: CdkDriftIamTemplateGeneratorProps)
1514
+ ```
1515
+
1516
+ Generate the CloudFormation IAM template as a YAML string.
1517
+
1518
+ ###### `props`<sup>Required</sup> <a name="props" id="@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGenerator.generateTemplate.parameter.props"></a>
1519
+
1520
+ - *Type:* <a href="#@jjrawlins/cdk-diff-pr-github-action.CdkDriftIamTemplateGeneratorProps">CdkDriftIamTemplateGeneratorProps</a>
1521
+
1522
+ ---
1523
+
1524
+
1525
+
1526
+
1527
+ ## Enums <a name="Enums" id="Enums"></a>
1528
+
1529
+ ### StackSetRoleSelection <a name="StackSetRoleSelection" id="@jjrawlins/cdk-diff-pr-github-action.StackSetRoleSelection"></a>
1530
+
1531
+ Which roles to include in the StackSet.
1532
+
1533
+ #### Members <a name="Members" id="Members"></a>
1534
+
1535
+ | **Name** | **Description** |
1536
+ | --- | --- |
1537
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.StackSetRoleSelection.CHANGESET_ONLY">CHANGESET_ONLY</a></code> | Include only the changeset role (CdkChangesetRole). |
1538
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.StackSetRoleSelection.DRIFT_ONLY">DRIFT_ONLY</a></code> | Include only the drift role (CdkDriftRole). |
1539
+ | <code><a href="#@jjrawlins/cdk-diff-pr-github-action.StackSetRoleSelection.BOTH">BOTH</a></code> | Include both roles (default). |
1540
+
1541
+ ---
1542
+
1543
+ ##### `CHANGESET_ONLY` <a name="CHANGESET_ONLY" id="@jjrawlins/cdk-diff-pr-github-action.StackSetRoleSelection.CHANGESET_ONLY"></a>
1544
+
1545
+ Include only the changeset role (CdkChangesetRole).
1546
+
1547
+ ---
1548
+
1549
+
1550
+ ##### `DRIFT_ONLY` <a name="DRIFT_ONLY" id="@jjrawlins/cdk-diff-pr-github-action.StackSetRoleSelection.DRIFT_ONLY"></a>
1551
+
1552
+ Include only the drift role (CdkDriftRole).
1553
+
1554
+ ---
1555
+
1556
+
1557
+ ##### `BOTH` <a name="BOTH" id="@jjrawlins/cdk-diff-pr-github-action.StackSetRoleSelection.BOTH"></a>
1558
+
1559
+ Include both roles (default).
1560
+
1561
+ ---
616
1562