aws-cdk-github-oidc 2.4.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/API.md CHANGED
@@ -1,124 +1,1159 @@
1
- # API Reference <a name="API Reference"></a>
1
+ # API Reference <a name="API Reference" id="api-reference"></a>
2
2
 
3
- ## Constructs <a name="Constructs"></a>
3
+ ## Constructs <a name="Constructs" id="Constructs"></a>
4
4
 
5
- ### GithubActionsIdentityProvider <a name="aws-cdk-github-oidc.GithubActionsIdentityProvider"></a>
5
+ ### GithubActionsIdentityProvider <a name="GithubActionsIdentityProvider" id="aws-cdk-github-oidc.GithubActionsIdentityProvider"></a>
6
6
 
7
- - *Implements:* [`aws-cdk-github-oidc.IGithubActionsIdentityProvider`](#aws-cdk-github-oidc.IGithubActionsIdentityProvider)
7
+ - *Implements:* <a href="#aws-cdk-github-oidc.IGithubActionsIdentityProvider">IGithubActionsIdentityProvider</a>
8
8
 
9
9
  Github Actions as OpenID Connect Identity Provider for AWS IAM. There can be only one (per AWS Account).
10
10
 
11
11
  Use `fromAccount` to retrieve a reference to existing Github OIDC provider.
12
12
 
13
- > https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services
13
+ > [https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services)
14
14
 
15
- #### Initializers <a name="aws-cdk-github-oidc.GithubActionsIdentityProvider.Initializer"></a>
15
+ #### Initializers <a name="Initializers" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.Initializer"></a>
16
16
 
17
17
  ```typescript
18
18
  import { GithubActionsIdentityProvider } from 'aws-cdk-github-oidc'
19
19
 
20
- new GithubActionsIdentityProvider(scope: Construct, id: string)
20
+ new GithubActionsIdentityProvider(scope: Construct, id: string, props?: GithubActionsIdentityProviderProps)
21
21
  ```
22
22
 
23
- ##### `scope`<sup>Required</sup> <a name="aws-cdk-github-oidc.GithubActionsIdentityProvider.parameter.scope"></a>
23
+ | **Name** | **Type** | **Description** |
24
+ | --- | --- | --- |
25
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | CDK Stack or Construct to which the provider is assigned to. |
26
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.Initializer.parameter.id">id</a></code> | <code>string</code> | CDK Construct ID given to the construct. |
27
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.Initializer.parameter.props">props</a></code> | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProviderProps">GithubActionsIdentityProviderProps</a></code> | optional properties for the provider. |
24
28
 
25
- - *Type:* [`constructs.Construct`](#constructs.Construct)
29
+ ---
30
+
31
+ ##### `scope`<sup>Required</sup> <a name="scope" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.Initializer.parameter.scope"></a>
32
+
33
+ - *Type:* constructs.Construct
34
+
35
+ CDK Stack or Construct to which the provider is assigned to.
36
+
37
+ ---
38
+
39
+ ##### `id`<sup>Required</sup> <a name="id" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.Initializer.parameter.id"></a>
40
+
41
+ - *Type:* string
42
+
43
+ CDK Construct ID given to the construct.
44
+
45
+ ---
46
+
47
+ ##### `props`<sup>Optional</sup> <a name="props" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.Initializer.parameter.props"></a>
48
+
49
+ - *Type:* <a href="#aws-cdk-github-oidc.GithubActionsIdentityProviderProps">GithubActionsIdentityProviderProps</a>
50
+
51
+ optional properties for the provider.
52
+
53
+ ---
54
+
55
+ #### Methods <a name="Methods" id="Methods"></a>
56
+
57
+ | **Name** | **Description** |
58
+ | --- | --- |
59
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.toString">toString</a></code> | Returns a string representation of this construct. |
60
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.applyRemovalPolicy">applyRemovalPolicy</a></code> | Apply the given removal policy to this resource. |
61
+
62
+ ---
63
+
64
+ ##### `toString` <a name="toString" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.toString"></a>
65
+
66
+ ```typescript
67
+ public toString(): string
68
+ ```
69
+
70
+ Returns a string representation of this construct.
71
+
72
+ ##### `applyRemovalPolicy` <a name="applyRemovalPolicy" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.applyRemovalPolicy"></a>
73
+
74
+ ```typescript
75
+ public applyRemovalPolicy(policy: RemovalPolicy): void
76
+ ```
77
+
78
+ Apply the given removal policy to this resource.
79
+
80
+ The Removal Policy controls what happens to this resource when it stops
81
+ being managed by CloudFormation, either because you've removed it from the
82
+ CDK application or because you've made a change that requires the resource
83
+ to be replaced.
84
+
85
+ The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
86
+ account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
87
+
88
+ ###### `policy`<sup>Required</sup> <a name="policy" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.applyRemovalPolicy.parameter.policy"></a>
89
+
90
+ - *Type:* aws-cdk-lib.RemovalPolicy
91
+
92
+ ---
93
+
94
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
95
+
96
+ | **Name** | **Description** |
97
+ | --- | --- |
98
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
99
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.isOwnedResource">isOwnedResource</a></code> | Returns true if the construct was created by CDK, and false otherwise. |
100
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.isResource">isResource</a></code> | Check whether the given construct is a Resource. |
101
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.fromOpenIdConnectProviderArn">fromOpenIdConnectProviderArn</a></code> | Imports an Open ID connect provider from an ARN. |
102
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.fromAccount">fromAccount</a></code> | Retrieve a reference to existing Github OIDC provider in your AWS account. |
103
+
104
+ ---
105
+
106
+ ##### `isConstruct` <a name="isConstruct" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.isConstruct"></a>
107
+
108
+ ```typescript
109
+ import { GithubActionsIdentityProvider } from 'aws-cdk-github-oidc'
110
+
111
+ GithubActionsIdentityProvider.isConstruct(x: any)
112
+ ```
113
+
114
+ Checks if `x` is a construct.
115
+
116
+ Use this method instead of `instanceof` to properly detect `Construct`
117
+ instances, even when the construct library is symlinked.
118
+
119
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
120
+ disk are seen as independent, completely different libraries. As a
121
+ consequence, the class `Construct` in each copy of the `constructs` library
122
+ is seen as a different class, and an instance of one class will not test as
123
+ `instanceof` the other class. `npm install` will not create installations
124
+ like this, but users may manually symlink construct libraries together or
125
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
126
+ library can be accidentally installed, and `instanceof` will behave
127
+ unpredictably. It is safest to avoid using `instanceof`, and using
128
+ this type-testing method instead.
129
+
130
+ ###### `x`<sup>Required</sup> <a name="x" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.isConstruct.parameter.x"></a>
131
+
132
+ - *Type:* any
133
+
134
+ Any object.
135
+
136
+ ---
137
+
138
+ ##### `isOwnedResource` <a name="isOwnedResource" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.isOwnedResource"></a>
139
+
140
+ ```typescript
141
+ import { GithubActionsIdentityProvider } from 'aws-cdk-github-oidc'
142
+
143
+ GithubActionsIdentityProvider.isOwnedResource(construct: IConstruct)
144
+ ```
145
+
146
+ Returns true if the construct was created by CDK, and false otherwise.
147
+
148
+ ###### `construct`<sup>Required</sup> <a name="construct" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.isOwnedResource.parameter.construct"></a>
149
+
150
+ - *Type:* constructs.IConstruct
151
+
152
+ ---
153
+
154
+ ##### `isResource` <a name="isResource" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.isResource"></a>
155
+
156
+ ```typescript
157
+ import { GithubActionsIdentityProvider } from 'aws-cdk-github-oidc'
158
+
159
+ GithubActionsIdentityProvider.isResource(construct: IConstruct)
160
+ ```
161
+
162
+ Check whether the given construct is a Resource.
163
+
164
+ ###### `construct`<sup>Required</sup> <a name="construct" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.isResource.parameter.construct"></a>
165
+
166
+ - *Type:* constructs.IConstruct
167
+
168
+ ---
169
+
170
+ ##### `fromOpenIdConnectProviderArn` <a name="fromOpenIdConnectProviderArn" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.fromOpenIdConnectProviderArn"></a>
171
+
172
+ ```typescript
173
+ import { GithubActionsIdentityProvider } from 'aws-cdk-github-oidc'
174
+
175
+ GithubActionsIdentityProvider.fromOpenIdConnectProviderArn(scope: Construct, id: string, openIdConnectProviderArn: string)
176
+ ```
177
+
178
+ Imports an Open ID connect provider from an ARN.
179
+
180
+ ###### `scope`<sup>Required</sup> <a name="scope" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.fromOpenIdConnectProviderArn.parameter.scope"></a>
181
+
182
+ - *Type:* constructs.Construct
183
+
184
+ The definition scope.
185
+
186
+ ---
187
+
188
+ ###### `id`<sup>Required</sup> <a name="id" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.fromOpenIdConnectProviderArn.parameter.id"></a>
189
+
190
+ - *Type:* string
191
+
192
+ ID of the construct.
193
+
194
+ ---
195
+
196
+ ###### `openIdConnectProviderArn`<sup>Required</sup> <a name="openIdConnectProviderArn" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.fromOpenIdConnectProviderArn.parameter.openIdConnectProviderArn"></a>
197
+
198
+ - *Type:* string
199
+
200
+ the ARN to import.
201
+
202
+ ---
203
+
204
+ ##### `fromAccount` <a name="fromAccount" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.fromAccount"></a>
205
+
206
+ ```typescript
207
+ import { GithubActionsIdentityProvider } from 'aws-cdk-github-oidc'
208
+
209
+ GithubActionsIdentityProvider.fromAccount(scope: Construct, id: string)
210
+ ```
211
+
212
+ Retrieve a reference to existing Github OIDC provider in your AWS account.
213
+
214
+ An AWS account can only have single Github OIDC provider configured into it,
215
+ so internally the reference is made by constructing the ARN from AWS
216
+ Account ID & Github issuer URL.
217
+
218
+ *Example*
219
+
220
+ ```typescript
221
+ GithubActionsIdentityProvider.fromAccount(scope, "GithubProvider");
222
+ ```
223
+
224
+
225
+ ###### `scope`<sup>Required</sup> <a name="scope" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.fromAccount.parameter.scope"></a>
226
+
227
+ - *Type:* constructs.Construct
228
+
229
+ CDK Stack or Construct to which the provider is assigned to.
230
+
231
+ ---
232
+
233
+ ###### `id`<sup>Required</sup> <a name="id" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.fromAccount.parameter.id"></a>
234
+
235
+ - *Type:* string
236
+
237
+ CDK Construct ID given to the construct.
238
+
239
+ ---
240
+
241
+ #### Properties <a name="Properties" id="Properties"></a>
242
+
243
+ | **Name** | **Type** | **Description** |
244
+ | --- | --- | --- |
245
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
246
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.property.env">env</a></code> | <code>aws-cdk-lib.interfaces.ResourceEnvironment</code> | The environment this resource belongs to. |
247
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.property.stack">stack</a></code> | <code>aws-cdk-lib.Stack</code> | The stack in which this resource is defined. |
248
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.property.oidcProviderRef">oidcProviderRef</a></code> | <code>aws-cdk-lib.interfaces.aws_iam.OIDCProviderReference</code> | A reference to a OIDCProvider resource. |
249
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.property.openIdConnectProviderArn">openIdConnectProviderArn</a></code> | <code>string</code> | The Amazon Resource Name (ARN) of the IAM OpenID Connect provider. |
250
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.property.openIdConnectProviderIssuer">openIdConnectProviderIssuer</a></code> | <code>string</code> | The issuer for OIDC Provider. |
251
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.property.openIdConnectProviderthumbprints">openIdConnectProviderthumbprints</a></code> | <code>string</code> | The thumbprints configured for this provider. |
252
+
253
+ ---
254
+
255
+ ##### `node`<sup>Required</sup> <a name="node" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.property.node"></a>
256
+
257
+ ```typescript
258
+ public readonly node: Node;
259
+ ```
260
+
261
+ - *Type:* constructs.Node
262
+
263
+ The tree node.
264
+
265
+ ---
266
+
267
+ ##### `env`<sup>Required</sup> <a name="env" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.property.env"></a>
268
+
269
+ ```typescript
270
+ public readonly env: ResourceEnvironment;
271
+ ```
272
+
273
+ - *Type:* aws-cdk-lib.interfaces.ResourceEnvironment
274
+
275
+ The environment this resource belongs to.
276
+
277
+ For resources that are created and managed in a Stack (those created by
278
+ creating new class instances like `new Role()`, `new Bucket()`, etc.), this
279
+ is always the same as the environment of the stack they belong to.
280
+
281
+ For referenced resources (those obtained from referencing methods like
282
+ `Role.fromRoleArn()`, `Bucket.fromBucketName()`, etc.), they might be
283
+ different than the stack they were imported into.
284
+
285
+ ---
286
+
287
+ ##### `stack`<sup>Required</sup> <a name="stack" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.property.stack"></a>
288
+
289
+ ```typescript
290
+ public readonly stack: Stack;
291
+ ```
292
+
293
+ - *Type:* aws-cdk-lib.Stack
294
+
295
+ The stack in which this resource is defined.
296
+
297
+ ---
298
+
299
+ ##### `oidcProviderRef`<sup>Required</sup> <a name="oidcProviderRef" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.property.oidcProviderRef"></a>
300
+
301
+ ```typescript
302
+ public readonly oidcProviderRef: OIDCProviderReference;
303
+ ```
304
+
305
+ - *Type:* aws-cdk-lib.interfaces.aws_iam.OIDCProviderReference
306
+
307
+ A reference to a OIDCProvider resource.
308
+
309
+ ---
310
+
311
+ ##### `openIdConnectProviderArn`<sup>Required</sup> <a name="openIdConnectProviderArn" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.property.openIdConnectProviderArn"></a>
312
+
313
+ ```typescript
314
+ public readonly openIdConnectProviderArn: string;
315
+ ```
316
+
317
+ - *Type:* string
318
+
319
+ The Amazon Resource Name (ARN) of the IAM OpenID Connect provider.
320
+
321
+ ---
322
+
323
+ ##### `openIdConnectProviderIssuer`<sup>Required</sup> <a name="openIdConnectProviderIssuer" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.property.openIdConnectProviderIssuer"></a>
324
+
325
+ ```typescript
326
+ public readonly openIdConnectProviderIssuer: string;
327
+ ```
328
+
329
+ - *Type:* string
330
+
331
+ The issuer for OIDC Provider.
332
+
333
+ ---
334
+
335
+ ##### `openIdConnectProviderthumbprints`<sup>Required</sup> <a name="openIdConnectProviderthumbprints" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.property.openIdConnectProviderthumbprints"></a>
336
+
337
+ ```typescript
338
+ public readonly openIdConnectProviderthumbprints: string;
339
+ ```
340
+
341
+ - *Type:* string
342
+
343
+ The thumbprints configured for this provider.
344
+
345
+ ---
346
+
347
+ #### Constants <a name="Constants" id="Constants"></a>
348
+
349
+ | **Name** | **Type** | **Description** |
350
+ | --- | --- | --- |
351
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.property.PROPERTY_INJECTION_ID">PROPERTY_INJECTION_ID</a></code> | <code>string</code> | Uniquely identifies this class. |
352
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider.property.issuer">issuer</a></code> | <code>string</code> | *No description.* |
353
+
354
+ ---
355
+
356
+ ##### `PROPERTY_INJECTION_ID`<sup>Required</sup> <a name="PROPERTY_INJECTION_ID" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.property.PROPERTY_INJECTION_ID"></a>
357
+
358
+ ```typescript
359
+ public readonly PROPERTY_INJECTION_ID: string;
360
+ ```
361
+
362
+ - *Type:* string
363
+
364
+ Uniquely identifies this class.
365
+
366
+ ---
367
+
368
+ ##### `issuer`<sup>Required</sup> <a name="issuer" id="aws-cdk-github-oidc.GithubActionsIdentityProvider.property.issuer"></a>
369
+
370
+ ```typescript
371
+ public readonly issuer: string;
372
+ ```
373
+
374
+ - *Type:* string
375
+
376
+ ---
377
+
378
+ ### GithubActionsRole <a name="GithubActionsRole" id="aws-cdk-github-oidc.GithubActionsRole"></a>
379
+
380
+ Define an IAM Role that can be assumed by Github Actions workflow via Github OpenID Connect Identity Provider.
381
+
382
+ Besides `GithubConfiguration`, you may pass in any `iam.RoleProps` except `assumedBy`
383
+ which will be defined by this construct (CDK will fail if you do).
384
+
385
+ *Example*
386
+
387
+ ```typescript
388
+ const uploadRole = new GithubActionsRole(scope, "UploadRole", {
389
+ provider: GithubActionsIdentityProvider.fromAccount(scope, "GithubProvider"),
390
+ owner: 'octo-org',
391
+ repo: 'octo-repo',
392
+ filter: 'ref:refs/tags/v*',
393
+ roleName: 'MyUploadRole',
394
+ });
395
+
396
+ myBucket.grantWrite(uploadRole);
397
+ ```
398
+
399
+
400
+ #### Initializers <a name="Initializers" id="aws-cdk-github-oidc.GithubActionsRole.Initializer"></a>
401
+
402
+ ```typescript
403
+ import { GithubActionsRole } from 'aws-cdk-github-oidc'
404
+
405
+ new GithubActionsRole(scope: Construct, id: string, props: GithubActionsRoleProps)
406
+ ```
407
+
408
+ | **Name** | **Type** | **Description** |
409
+ | --- | --- | --- |
410
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
411
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
412
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.Initializer.parameter.props">props</a></code> | <code><a href="#aws-cdk-github-oidc.GithubActionsRoleProps">GithubActionsRoleProps</a></code> | *No description.* |
413
+
414
+ ---
415
+
416
+ ##### `scope`<sup>Required</sup> <a name="scope" id="aws-cdk-github-oidc.GithubActionsRole.Initializer.parameter.scope"></a>
417
+
418
+ - *Type:* constructs.Construct
419
+
420
+ ---
421
+
422
+ ##### `id`<sup>Required</sup> <a name="id" id="aws-cdk-github-oidc.GithubActionsRole.Initializer.parameter.id"></a>
423
+
424
+ - *Type:* string
425
+
426
+ ---
427
+
428
+ ##### `props`<sup>Required</sup> <a name="props" id="aws-cdk-github-oidc.GithubActionsRole.Initializer.parameter.props"></a>
429
+
430
+ - *Type:* <a href="#aws-cdk-github-oidc.GithubActionsRoleProps">GithubActionsRoleProps</a>
431
+
432
+ ---
433
+
434
+ #### Methods <a name="Methods" id="Methods"></a>
435
+
436
+ | **Name** | **Description** |
437
+ | --- | --- |
438
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.toString">toString</a></code> | Returns a string representation of this construct. |
439
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.applyRemovalPolicy">applyRemovalPolicy</a></code> | Skip applyRemovalPolicy if role synthesis is prevented by customizeRoles. |
440
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.addManagedPolicy">addManagedPolicy</a></code> | Attaches a managed policy to this role. |
441
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.addToPolicy">addToPolicy</a></code> | Add to the policy of this principal. |
442
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.addToPrincipalPolicy">addToPrincipalPolicy</a></code> | Adds a permission to the role's default policy document. |
443
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.attachInlinePolicy">attachInlinePolicy</a></code> | Attaches a policy to this role. |
444
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.grant">grant</a></code> | Grant the actions defined in actions to the identity Principal on this resource. |
445
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.grantAssumeRole">grantAssumeRole</a></code> | Grant permissions to the given principal to assume this role. |
446
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.grantPassRole">grantPassRole</a></code> | Grant permissions to the given principal to pass this role. |
447
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.withoutPolicyUpdates">withoutPolicyUpdates</a></code> | Return a copy of this Role object whose Policies will not be updated. |
448
+
449
+ ---
450
+
451
+ ##### `toString` <a name="toString" id="aws-cdk-github-oidc.GithubActionsRole.toString"></a>
452
+
453
+ ```typescript
454
+ public toString(): string
455
+ ```
456
+
457
+ Returns a string representation of this construct.
458
+
459
+ ##### `applyRemovalPolicy` <a name="applyRemovalPolicy" id="aws-cdk-github-oidc.GithubActionsRole.applyRemovalPolicy"></a>
460
+
461
+ ```typescript
462
+ public applyRemovalPolicy(policy: RemovalPolicy): void
463
+ ```
464
+
465
+ Skip applyRemovalPolicy if role synthesis is prevented by customizeRoles.
466
+
467
+ Because in this case, this construct does not have a CfnResource in the tree.
468
+
469
+ ###### `policy`<sup>Required</sup> <a name="policy" id="aws-cdk-github-oidc.GithubActionsRole.applyRemovalPolicy.parameter.policy"></a>
470
+
471
+ - *Type:* aws-cdk-lib.RemovalPolicy
472
+
473
+ RemovalPolicy.
474
+
475
+ ---
476
+
477
+ ##### `addManagedPolicy` <a name="addManagedPolicy" id="aws-cdk-github-oidc.GithubActionsRole.addManagedPolicy"></a>
478
+
479
+ ```typescript
480
+ public addManagedPolicy(policy: IManagedPolicy): void
481
+ ```
482
+
483
+ Attaches a managed policy to this role.
484
+
485
+ ###### `policy`<sup>Required</sup> <a name="policy" id="aws-cdk-github-oidc.GithubActionsRole.addManagedPolicy.parameter.policy"></a>
486
+
487
+ - *Type:* aws-cdk-lib.aws_iam.IManagedPolicy
488
+
489
+ The the managed policy to attach.
490
+
491
+ ---
492
+
493
+ ##### `addToPolicy` <a name="addToPolicy" id="aws-cdk-github-oidc.GithubActionsRole.addToPolicy"></a>
494
+
495
+ ```typescript
496
+ public addToPolicy(statement: PolicyStatement): boolean
497
+ ```
498
+
499
+ Add to the policy of this principal.
500
+
501
+ ###### `statement`<sup>Required</sup> <a name="statement" id="aws-cdk-github-oidc.GithubActionsRole.addToPolicy.parameter.statement"></a>
502
+
503
+ - *Type:* aws-cdk-lib.aws_iam.PolicyStatement
504
+
505
+ ---
506
+
507
+ ##### `addToPrincipalPolicy` <a name="addToPrincipalPolicy" id="aws-cdk-github-oidc.GithubActionsRole.addToPrincipalPolicy"></a>
508
+
509
+ ```typescript
510
+ public addToPrincipalPolicy(statement: PolicyStatement): AddToPrincipalPolicyResult
511
+ ```
512
+
513
+ Adds a permission to the role's default policy document.
514
+
515
+ If there is no default policy attached to this role, it will be created.
516
+
517
+ ###### `statement`<sup>Required</sup> <a name="statement" id="aws-cdk-github-oidc.GithubActionsRole.addToPrincipalPolicy.parameter.statement"></a>
518
+
519
+ - *Type:* aws-cdk-lib.aws_iam.PolicyStatement
520
+
521
+ The permission statement to add to the policy document.
522
+
523
+ ---
524
+
525
+ ##### `attachInlinePolicy` <a name="attachInlinePolicy" id="aws-cdk-github-oidc.GithubActionsRole.attachInlinePolicy"></a>
526
+
527
+ ```typescript
528
+ public attachInlinePolicy(policy: Policy): void
529
+ ```
530
+
531
+ Attaches a policy to this role.
532
+
533
+ ###### `policy`<sup>Required</sup> <a name="policy" id="aws-cdk-github-oidc.GithubActionsRole.attachInlinePolicy.parameter.policy"></a>
534
+
535
+ - *Type:* aws-cdk-lib.aws_iam.Policy
536
+
537
+ The policy to attach.
538
+
539
+ ---
540
+
541
+ ##### `grant` <a name="grant" id="aws-cdk-github-oidc.GithubActionsRole.grant"></a>
542
+
543
+ ```typescript
544
+ public grant(grantee: IPrincipal, actions: ...string[]): Grant
545
+ ```
546
+
547
+ Grant the actions defined in actions to the identity Principal on this resource.
548
+
549
+ ###### `grantee`<sup>Required</sup> <a name="grantee" id="aws-cdk-github-oidc.GithubActionsRole.grant.parameter.grantee"></a>
550
+
551
+ - *Type:* aws-cdk-lib.aws_iam.IPrincipal
552
+
553
+ ---
554
+
555
+ ###### `actions`<sup>Required</sup> <a name="actions" id="aws-cdk-github-oidc.GithubActionsRole.grant.parameter.actions"></a>
556
+
557
+ - *Type:* ...string[]
558
+
559
+ ---
560
+
561
+ ##### `grantAssumeRole` <a name="grantAssumeRole" id="aws-cdk-github-oidc.GithubActionsRole.grantAssumeRole"></a>
562
+
563
+ ```typescript
564
+ public grantAssumeRole(identity: IPrincipal): Grant
565
+ ```
566
+
567
+ Grant permissions to the given principal to assume this role.
568
+
569
+ ###### `identity`<sup>Required</sup> <a name="identity" id="aws-cdk-github-oidc.GithubActionsRole.grantAssumeRole.parameter.identity"></a>
570
+
571
+ - *Type:* aws-cdk-lib.aws_iam.IPrincipal
572
+
573
+ ---
574
+
575
+ ##### `grantPassRole` <a name="grantPassRole" id="aws-cdk-github-oidc.GithubActionsRole.grantPassRole"></a>
576
+
577
+ ```typescript
578
+ public grantPassRole(identity: IPrincipal): Grant
579
+ ```
580
+
581
+ Grant permissions to the given principal to pass this role.
582
+
583
+ ###### `identity`<sup>Required</sup> <a name="identity" id="aws-cdk-github-oidc.GithubActionsRole.grantPassRole.parameter.identity"></a>
584
+
585
+ - *Type:* aws-cdk-lib.aws_iam.IPrincipal
586
+
587
+ ---
588
+
589
+ ##### `withoutPolicyUpdates` <a name="withoutPolicyUpdates" id="aws-cdk-github-oidc.GithubActionsRole.withoutPolicyUpdates"></a>
590
+
591
+ ```typescript
592
+ public withoutPolicyUpdates(options?: WithoutPolicyUpdatesOptions): IRole
593
+ ```
594
+
595
+ Return a copy of this Role object whose Policies will not be updated.
596
+
597
+ Use the object returned by this method if you want this Role to be used by
598
+ a construct without it automatically updating the Role's Policies.
599
+
600
+ If you do, you are responsible for adding the correct statements to the
601
+ Role's policies yourself.
602
+
603
+ ###### `options`<sup>Optional</sup> <a name="options" id="aws-cdk-github-oidc.GithubActionsRole.withoutPolicyUpdates.parameter.options"></a>
604
+
605
+ - *Type:* aws-cdk-lib.aws_iam.WithoutPolicyUpdatesOptions
606
+
607
+ ---
608
+
609
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
610
+
611
+ | **Name** | **Description** |
612
+ | --- | --- |
613
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
614
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.isOwnedResource">isOwnedResource</a></code> | Returns true if the construct was created by CDK, and false otherwise. |
615
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.isResource">isResource</a></code> | Check whether the given construct is a Resource. |
616
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.customizeRoles">customizeRoles</a></code> | Customize the creation of IAM roles within the given scope. |
617
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.fromLookup">fromLookup</a></code> | Lookup an existing Role. |
618
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.fromRoleArn">fromRoleArn</a></code> | Import an external role by ARN. |
619
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.fromRoleName">fromRoleName</a></code> | Import an external role by name. |
620
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.isRole">isRole</a></code> | Return whether the given object is a Role. |
621
+
622
+ ---
623
+
624
+ ##### `isConstruct` <a name="isConstruct" id="aws-cdk-github-oidc.GithubActionsRole.isConstruct"></a>
625
+
626
+ ```typescript
627
+ import { GithubActionsRole } from 'aws-cdk-github-oidc'
628
+
629
+ GithubActionsRole.isConstruct(x: any)
630
+ ```
631
+
632
+ Checks if `x` is a construct.
633
+
634
+ Use this method instead of `instanceof` to properly detect `Construct`
635
+ instances, even when the construct library is symlinked.
636
+
637
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
638
+ disk are seen as independent, completely different libraries. As a
639
+ consequence, the class `Construct` in each copy of the `constructs` library
640
+ is seen as a different class, and an instance of one class will not test as
641
+ `instanceof` the other class. `npm install` will not create installations
642
+ like this, but users may manually symlink construct libraries together or
643
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
644
+ library can be accidentally installed, and `instanceof` will behave
645
+ unpredictably. It is safest to avoid using `instanceof`, and using
646
+ this type-testing method instead.
647
+
648
+ ###### `x`<sup>Required</sup> <a name="x" id="aws-cdk-github-oidc.GithubActionsRole.isConstruct.parameter.x"></a>
649
+
650
+ - *Type:* any
651
+
652
+ Any object.
653
+
654
+ ---
655
+
656
+ ##### `isOwnedResource` <a name="isOwnedResource" id="aws-cdk-github-oidc.GithubActionsRole.isOwnedResource"></a>
657
+
658
+ ```typescript
659
+ import { GithubActionsRole } from 'aws-cdk-github-oidc'
660
+
661
+ GithubActionsRole.isOwnedResource(construct: IConstruct)
662
+ ```
663
+
664
+ Returns true if the construct was created by CDK, and false otherwise.
665
+
666
+ ###### `construct`<sup>Required</sup> <a name="construct" id="aws-cdk-github-oidc.GithubActionsRole.isOwnedResource.parameter.construct"></a>
667
+
668
+ - *Type:* constructs.IConstruct
669
+
670
+ ---
671
+
672
+ ##### `isResource` <a name="isResource" id="aws-cdk-github-oidc.GithubActionsRole.isResource"></a>
673
+
674
+ ```typescript
675
+ import { GithubActionsRole } from 'aws-cdk-github-oidc'
676
+
677
+ GithubActionsRole.isResource(construct: IConstruct)
678
+ ```
679
+
680
+ Check whether the given construct is a Resource.
681
+
682
+ ###### `construct`<sup>Required</sup> <a name="construct" id="aws-cdk-github-oidc.GithubActionsRole.isResource.parameter.construct"></a>
683
+
684
+ - *Type:* constructs.IConstruct
685
+
686
+ ---
687
+
688
+ ##### `customizeRoles` <a name="customizeRoles" id="aws-cdk-github-oidc.GithubActionsRole.customizeRoles"></a>
689
+
690
+ ```typescript
691
+ import { GithubActionsRole } from 'aws-cdk-github-oidc'
692
+
693
+ GithubActionsRole.customizeRoles(scope: Construct, options?: CustomizeRolesOptions)
694
+ ```
695
+
696
+ Customize the creation of IAM roles within the given scope.
697
+
698
+ It is recommended that you **do not** use this method and instead allow
699
+ CDK to manage role creation. This should only be used
700
+ in environments where CDK applications are not allowed to created IAM roles.
701
+
702
+ This can be used to prevent the CDK application from creating roles
703
+ within the given scope and instead replace the references to the roles with
704
+ precreated role names. A report will be synthesized in the cloud assembly (i.e. cdk.out)
705
+ that will contain the list of IAM roles that would have been created along with the
706
+ IAM policy statements that the role should contain. This report can then be used
707
+ to create the IAM roles outside of CDK and then the created role names can be provided
708
+ in `usePrecreatedRoles`.
709
+
710
+ *Example*
711
+
712
+ ```typescript
713
+ declare const app: App;
714
+ iam.Role.customizeRoles(app, {
715
+ usePrecreatedRoles: {
716
+ 'ConstructPath/To/Role': 'my-precreated-role-name',
717
+ },
718
+ });
719
+ ```
720
+
721
+
722
+ ###### `scope`<sup>Required</sup> <a name="scope" id="aws-cdk-github-oidc.GithubActionsRole.customizeRoles.parameter.scope"></a>
723
+
724
+ - *Type:* constructs.Construct
725
+
726
+ construct scope to customize role creation.
727
+
728
+ ---
729
+
730
+ ###### `options`<sup>Optional</sup> <a name="options" id="aws-cdk-github-oidc.GithubActionsRole.customizeRoles.parameter.options"></a>
731
+
732
+ - *Type:* aws-cdk-lib.aws_iam.CustomizeRolesOptions
733
+
734
+ options for configuring role creation.
735
+
736
+ ---
737
+
738
+ ##### `fromLookup` <a name="fromLookup" id="aws-cdk-github-oidc.GithubActionsRole.fromLookup"></a>
739
+
740
+ ```typescript
741
+ import { GithubActionsRole } from 'aws-cdk-github-oidc'
26
742
 
27
- CDK Stack or Construct to which the provider is assigned to.
743
+ GithubActionsRole.fromLookup(scope: Construct, id: string, options: RoleLookupOptions)
744
+ ```
28
745
 
29
- ---
746
+ Lookup an existing Role.
30
747
 
31
- ##### `id`<sup>Required</sup> <a name="aws-cdk-github-oidc.GithubActionsIdentityProvider.parameter.id"></a>
748
+ ###### `scope`<sup>Required</sup> <a name="scope" id="aws-cdk-github-oidc.GithubActionsRole.fromLookup.parameter.scope"></a>
32
749
 
33
- - *Type:* `string`
750
+ - *Type:* constructs.Construct
34
751
 
35
- CDK Construct ID given to the construct.
752
+ ---
753
+
754
+ ###### `id`<sup>Required</sup> <a name="id" id="aws-cdk-github-oidc.GithubActionsRole.fromLookup.parameter.id"></a>
755
+
756
+ - *Type:* string
36
757
 
37
758
  ---
38
759
 
760
+ ###### `options`<sup>Required</sup> <a name="options" id="aws-cdk-github-oidc.GithubActionsRole.fromLookup.parameter.options"></a>
761
+
762
+ - *Type:* aws-cdk-lib.aws_iam.RoleLookupOptions
39
763
 
40
- #### Static Functions <a name="Static Functions"></a>
764
+ ---
41
765
 
42
- ##### `fromAccount` <a name="aws-cdk-github-oidc.GithubActionsIdentityProvider.fromAccount"></a>
766
+ ##### `fromRoleArn` <a name="fromRoleArn" id="aws-cdk-github-oidc.GithubActionsRole.fromRoleArn"></a>
43
767
 
44
768
  ```typescript
45
- import { GithubActionsIdentityProvider } from 'aws-cdk-github-oidc'
769
+ import { GithubActionsRole } from 'aws-cdk-github-oidc'
46
770
 
47
- GithubActionsIdentityProvider.fromAccount(scope: Construct, id: string)
771
+ GithubActionsRole.fromRoleArn(scope: Construct, id: string, roleArn: string, options?: FromRoleArnOptions)
48
772
  ```
49
773
 
50
- ###### `scope`<sup>Required</sup> <a name="aws-cdk-github-oidc.GithubActionsIdentityProvider.parameter.scope"></a>
774
+ Import an external role by ARN.
51
775
 
52
- - *Type:* [`constructs.Construct`](#constructs.Construct)
776
+ If the imported Role ARN is a Token (such as a
777
+ `CfnParameter.valueAsString` or a `Fn.importValue()`) *and* the referenced
778
+ role has a `path` (like `arn:...:role/AdminRoles/Alice`), the
779
+ `roleName` property will not resolve to the correct value. Instead it
780
+ will resolve to the first path component. We unfortunately cannot express
781
+ the correct calculation of the full path name as a CloudFormation
782
+ expression. In this scenario the Role ARN should be supplied without the
783
+ `path` in order to resolve the correct role resource.
53
784
 
54
- CDK Stack or Construct to which the provider is assigned to.
785
+ ###### `scope`<sup>Required</sup> <a name="scope" id="aws-cdk-github-oidc.GithubActionsRole.fromRoleArn.parameter.scope"></a>
786
+
787
+ - *Type:* constructs.Construct
788
+
789
+ construct scope.
55
790
 
56
791
  ---
57
792
 
58
- ###### `id`<sup>Required</sup> <a name="aws-cdk-github-oidc.GithubActionsIdentityProvider.parameter.id"></a>
793
+ ###### `id`<sup>Required</sup> <a name="id" id="aws-cdk-github-oidc.GithubActionsRole.fromRoleArn.parameter.id"></a>
59
794
 
60
- - *Type:* `string`
795
+ - *Type:* string
61
796
 
62
- CDK Construct ID given to the construct.
797
+ construct id.
63
798
 
64
799
  ---
65
800
 
801
+ ###### `roleArn`<sup>Required</sup> <a name="roleArn" id="aws-cdk-github-oidc.GithubActionsRole.fromRoleArn.parameter.roleArn"></a>
66
802
 
67
- #### Constants <a name="Constants"></a>
803
+ - *Type:* string
68
804
 
69
- ##### `issuer` <a name="aws-cdk-github-oidc.GithubActionsIdentityProvider.property.issuer"></a>
805
+ the ARN of the role to import.
70
806
 
71
- - *Type:* `string`
807
+ ---
808
+
809
+ ###### `options`<sup>Optional</sup> <a name="options" id="aws-cdk-github-oidc.GithubActionsRole.fromRoleArn.parameter.options"></a>
810
+
811
+ - *Type:* aws-cdk-lib.aws_iam.FromRoleArnOptions
812
+
813
+ allow customizing the behavior of the returned role.
72
814
 
73
815
  ---
74
816
 
75
- ### GithubActionsRole <a name="aws-cdk-github-oidc.GithubActionsRole"></a>
817
+ ##### `fromRoleName` <a name="fromRoleName" id="aws-cdk-github-oidc.GithubActionsRole.fromRoleName"></a>
76
818
 
77
- Define an IAM Role that can be assumed by Github Actions workflow via Github OpenID Connect Identity Provider.
819
+ ```typescript
820
+ import { GithubActionsRole } from 'aws-cdk-github-oidc'
78
821
 
79
- Besides `GithubConfiguration`, you may pass in any `iam.RoleProps` except `assumedBy`
80
- which will be defined by this construct (CDK will fail if you do).
822
+ GithubActionsRole.fromRoleName(scope: Construct, id: string, roleName: string, options?: FromRoleNameOptions)
823
+ ```
824
+
825
+ Import an external role by name.
826
+
827
+ The imported role is assumed to exist in the same account as the account
828
+ the scope's containing Stack is being deployed to.
829
+
830
+ ###### `scope`<sup>Required</sup> <a name="scope" id="aws-cdk-github-oidc.GithubActionsRole.fromRoleName.parameter.scope"></a>
831
+
832
+ - *Type:* constructs.Construct
833
+
834
+ construct scope.
835
+
836
+ ---
837
+
838
+ ###### `id`<sup>Required</sup> <a name="id" id="aws-cdk-github-oidc.GithubActionsRole.fromRoleName.parameter.id"></a>
839
+
840
+ - *Type:* string
841
+
842
+ construct id.
843
+
844
+ ---
845
+
846
+ ###### `roleName`<sup>Required</sup> <a name="roleName" id="aws-cdk-github-oidc.GithubActionsRole.fromRoleName.parameter.roleName"></a>
847
+
848
+ - *Type:* string
849
+
850
+ the name of the role to import.
851
+
852
+ ---
853
+
854
+ ###### `options`<sup>Optional</sup> <a name="options" id="aws-cdk-github-oidc.GithubActionsRole.fromRoleName.parameter.options"></a>
855
+
856
+ - *Type:* aws-cdk-lib.aws_iam.FromRoleNameOptions
857
+
858
+ allow customizing the behavior of the returned role.
859
+
860
+ ---
81
861
 
82
- #### Initializers <a name="aws-cdk-github-oidc.GithubActionsRole.Initializer"></a>
862
+ ##### `isRole` <a name="isRole" id="aws-cdk-github-oidc.GithubActionsRole.isRole"></a>
83
863
 
84
864
  ```typescript
85
865
  import { GithubActionsRole } from 'aws-cdk-github-oidc'
86
866
 
87
- new GithubActionsRole(scope: Construct, id: string, props: GithubActionsRoleProps)
867
+ GithubActionsRole.isRole(x: any)
868
+ ```
869
+
870
+ Return whether the given object is a Role.
871
+
872
+ ###### `x`<sup>Required</sup> <a name="x" id="aws-cdk-github-oidc.GithubActionsRole.isRole.parameter.x"></a>
873
+
874
+ - *Type:* any
875
+
876
+ ---
877
+
878
+ #### Properties <a name="Properties" id="Properties"></a>
879
+
880
+ | **Name** | **Type** | **Description** |
881
+ | --- | --- | --- |
882
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
883
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.property.env">env</a></code> | <code>aws-cdk-lib.interfaces.ResourceEnvironment</code> | The environment this resource belongs to. |
884
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.property.stack">stack</a></code> | <code>aws-cdk-lib.Stack</code> | The stack in which this resource is defined. |
885
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.property.assumeRoleAction">assumeRoleAction</a></code> | <code>string</code> | When this Principal is used in an AssumeRole policy, the action to use. |
886
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | The principal to grant permissions to. |
887
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.property.grants">grants</a></code> | <code>aws-cdk-lib.aws_iam.RoleGrants</code> | Collection of grant methods for a Role. |
888
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.property.policyFragment">policyFragment</a></code> | <code>aws-cdk-lib.aws_iam.PrincipalPolicyFragment</code> | Returns the role. |
889
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.property.roleArn">roleArn</a></code> | <code>string</code> | Returns the ARN of this role. |
890
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.property.roleId">roleId</a></code> | <code>string</code> | Returns the stable and unique string identifying the role. |
891
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.property.roleName">roleName</a></code> | <code>string</code> | Returns the name of the role. |
892
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.property.roleRef">roleRef</a></code> | <code>aws-cdk-lib.interfaces.aws_iam.RoleReference</code> | A reference to a Role resource. |
893
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.property.assumeRolePolicy">assumeRolePolicy</a></code> | <code>aws-cdk-lib.aws_iam.PolicyDocument</code> | The assume role policy document associated with this role. |
894
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.property.permissionsBoundary">permissionsBoundary</a></code> | <code>aws-cdk-lib.aws_iam.IManagedPolicy</code> | Returns the permissions boundary attached to this role. |
895
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.property.principalAccount">principalAccount</a></code> | <code>string</code> | The AWS account ID of this principal. |
896
+
897
+ ---
898
+
899
+ ##### `node`<sup>Required</sup> <a name="node" id="aws-cdk-github-oidc.GithubActionsRole.property.node"></a>
900
+
901
+ ```typescript
902
+ public readonly node: Node;
903
+ ```
904
+
905
+ - *Type:* constructs.Node
906
+
907
+ The tree node.
908
+
909
+ ---
910
+
911
+ ##### `env`<sup>Required</sup> <a name="env" id="aws-cdk-github-oidc.GithubActionsRole.property.env"></a>
912
+
913
+ ```typescript
914
+ public readonly env: ResourceEnvironment;
915
+ ```
916
+
917
+ - *Type:* aws-cdk-lib.interfaces.ResourceEnvironment
918
+
919
+ The environment this resource belongs to.
920
+
921
+ For resources that are created and managed in a Stack (those created by
922
+ creating new class instances like `new Role()`, `new Bucket()`, etc.), this
923
+ is always the same as the environment of the stack they belong to.
924
+
925
+ For referenced resources (those obtained from referencing methods like
926
+ `Role.fromRoleArn()`, `Bucket.fromBucketName()`, etc.), they might be
927
+ different than the stack they were imported into.
928
+
929
+ ---
930
+
931
+ ##### `stack`<sup>Required</sup> <a name="stack" id="aws-cdk-github-oidc.GithubActionsRole.property.stack"></a>
932
+
933
+ ```typescript
934
+ public readonly stack: Stack;
935
+ ```
936
+
937
+ - *Type:* aws-cdk-lib.Stack
938
+
939
+ The stack in which this resource is defined.
940
+
941
+ ---
942
+
943
+ ##### `assumeRoleAction`<sup>Required</sup> <a name="assumeRoleAction" id="aws-cdk-github-oidc.GithubActionsRole.property.assumeRoleAction"></a>
944
+
945
+ ```typescript
946
+ public readonly assumeRoleAction: string;
947
+ ```
948
+
949
+ - *Type:* string
950
+
951
+ When this Principal is used in an AssumeRole policy, the action to use.
952
+
953
+ ---
954
+
955
+ ##### `grantPrincipal`<sup>Required</sup> <a name="grantPrincipal" id="aws-cdk-github-oidc.GithubActionsRole.property.grantPrincipal"></a>
956
+
957
+ ```typescript
958
+ public readonly grantPrincipal: IPrincipal;
959
+ ```
960
+
961
+ - *Type:* aws-cdk-lib.aws_iam.IPrincipal
962
+
963
+ The principal to grant permissions to.
964
+
965
+ ---
966
+
967
+ ##### `grants`<sup>Required</sup> <a name="grants" id="aws-cdk-github-oidc.GithubActionsRole.property.grants"></a>
968
+
969
+ ```typescript
970
+ public readonly grants: RoleGrants;
971
+ ```
972
+
973
+ - *Type:* aws-cdk-lib.aws_iam.RoleGrants
974
+
975
+ Collection of grant methods for a Role.
976
+
977
+ ---
978
+
979
+ ##### `policyFragment`<sup>Required</sup> <a name="policyFragment" id="aws-cdk-github-oidc.GithubActionsRole.property.policyFragment"></a>
980
+
981
+ ```typescript
982
+ public readonly policyFragment: PrincipalPolicyFragment;
983
+ ```
984
+
985
+ - *Type:* aws-cdk-lib.aws_iam.PrincipalPolicyFragment
986
+
987
+ Returns the role.
988
+
989
+ ---
990
+
991
+ ##### `roleArn`<sup>Required</sup> <a name="roleArn" id="aws-cdk-github-oidc.GithubActionsRole.property.roleArn"></a>
992
+
993
+ ```typescript
994
+ public readonly roleArn: string;
995
+ ```
996
+
997
+ - *Type:* string
998
+
999
+ Returns the ARN of this role.
1000
+
1001
+ ---
1002
+
1003
+ ##### `roleId`<sup>Required</sup> <a name="roleId" id="aws-cdk-github-oidc.GithubActionsRole.property.roleId"></a>
1004
+
1005
+ ```typescript
1006
+ public readonly roleId: string;
1007
+ ```
1008
+
1009
+ - *Type:* string
1010
+
1011
+ Returns the stable and unique string identifying the role.
1012
+
1013
+ For example,
1014
+ AIDAJQABLZS4A3QDU576Q.
1015
+
1016
+ ---
1017
+
1018
+ ##### `roleName`<sup>Required</sup> <a name="roleName" id="aws-cdk-github-oidc.GithubActionsRole.property.roleName"></a>
1019
+
1020
+ ```typescript
1021
+ public readonly roleName: string;
1022
+ ```
1023
+
1024
+ - *Type:* string
1025
+
1026
+ Returns the name of the role.
1027
+
1028
+ ---
1029
+
1030
+ ##### `roleRef`<sup>Required</sup> <a name="roleRef" id="aws-cdk-github-oidc.GithubActionsRole.property.roleRef"></a>
1031
+
1032
+ ```typescript
1033
+ public readonly roleRef: RoleReference;
1034
+ ```
1035
+
1036
+ - *Type:* aws-cdk-lib.interfaces.aws_iam.RoleReference
1037
+
1038
+ A reference to a Role resource.
1039
+
1040
+ ---
1041
+
1042
+ ##### `assumeRolePolicy`<sup>Optional</sup> <a name="assumeRolePolicy" id="aws-cdk-github-oidc.GithubActionsRole.property.assumeRolePolicy"></a>
1043
+
1044
+ ```typescript
1045
+ public readonly assumeRolePolicy: PolicyDocument;
1046
+ ```
1047
+
1048
+ - *Type:* aws-cdk-lib.aws_iam.PolicyDocument
1049
+
1050
+ The assume role policy document associated with this role.
1051
+
1052
+ ---
1053
+
1054
+ ##### `permissionsBoundary`<sup>Optional</sup> <a name="permissionsBoundary" id="aws-cdk-github-oidc.GithubActionsRole.property.permissionsBoundary"></a>
1055
+
1056
+ ```typescript
1057
+ public readonly permissionsBoundary: IManagedPolicy;
1058
+ ```
1059
+
1060
+ - *Type:* aws-cdk-lib.aws_iam.IManagedPolicy
1061
+
1062
+ Returns the permissions boundary attached to this role.
1063
+
1064
+ ---
1065
+
1066
+ ##### `principalAccount`<sup>Optional</sup> <a name="principalAccount" id="aws-cdk-github-oidc.GithubActionsRole.property.principalAccount"></a>
1067
+
1068
+ ```typescript
1069
+ public readonly principalAccount: string;
88
1070
  ```
89
1071
 
90
- ##### `scope`<sup>Required</sup> <a name="aws-cdk-github-oidc.GithubActionsRole.parameter.scope"></a>
1072
+ - *Type:* string
91
1073
 
92
- - *Type:* [`constructs.Construct`](#constructs.Construct)
1074
+ The AWS account ID of this principal.
1075
+
1076
+ Can be undefined when the account is not known
1077
+ (for example, for service principals).
1078
+ Can be a Token - in that case,
1079
+ it's assumed to be AWS::AccountId.
1080
+
1081
+ ---
1082
+
1083
+ #### Constants <a name="Constants" id="Constants"></a>
1084
+
1085
+ | **Name** | **Type** | **Description** |
1086
+ | --- | --- | --- |
1087
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRole.property.PROPERTY_INJECTION_ID">PROPERTY_INJECTION_ID</a></code> | <code>string</code> | Uniquely identifies this class. |
93
1088
 
94
1089
  ---
95
1090
 
96
- ##### `id`<sup>Required</sup> <a name="aws-cdk-github-oidc.GithubActionsRole.parameter.id"></a>
1091
+ ##### `PROPERTY_INJECTION_ID`<sup>Required</sup> <a name="PROPERTY_INJECTION_ID" id="aws-cdk-github-oidc.GithubActionsRole.property.PROPERTY_INJECTION_ID"></a>
1092
+
1093
+ ```typescript
1094
+ public readonly PROPERTY_INJECTION_ID: string;
1095
+ ```
1096
+
1097
+ - *Type:* string
97
1098
 
98
- - *Type:* `string`
1099
+ Uniquely identifies this class.
99
1100
 
100
1101
  ---
101
1102
 
102
- ##### `props`<sup>Required</sup> <a name="aws-cdk-github-oidc.GithubActionsRole.parameter.props"></a>
1103
+ ## Structs <a name="Structs" id="Structs"></a>
1104
+
1105
+ ### GithubActionsIdentityProviderProps <a name="GithubActionsIdentityProviderProps" id="aws-cdk-github-oidc.GithubActionsIdentityProviderProps"></a>
1106
+
1107
+ #### Initializer <a name="Initializer" id="aws-cdk-github-oidc.GithubActionsIdentityProviderProps.Initializer"></a>
1108
+
1109
+ ```typescript
1110
+ import { GithubActionsIdentityProviderProps } from 'aws-cdk-github-oidc'
1111
+
1112
+ const githubActionsIdentityProviderProps: GithubActionsIdentityProviderProps = { ... }
1113
+ ```
1114
+
1115
+ #### Properties <a name="Properties" id="Properties"></a>
103
1116
 
104
- - *Type:* [`aws-cdk-github-oidc.GithubActionsRoleProps`](#aws-cdk-github-oidc.GithubActionsRoleProps)
1117
+ | **Name** | **Type** | **Description** |
1118
+ | --- | --- | --- |
1119
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsIdentityProviderProps.property.removalPolicy">removalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | The removal policy for the provider. |
105
1120
 
106
1121
  ---
107
1122
 
1123
+ ##### `removalPolicy`<sup>Optional</sup> <a name="removalPolicy" id="aws-cdk-github-oidc.GithubActionsIdentityProviderProps.property.removalPolicy"></a>
108
1124
 
1125
+ ```typescript
1126
+ public readonly removalPolicy: RemovalPolicy;
1127
+ ```
109
1128
 
1129
+ - *Type:* aws-cdk-lib.RemovalPolicy
1130
+ - *Default:* cdk.RemovalPolicy.DESTROY
110
1131
 
1132
+ The removal policy for the provider.
111
1133
 
112
- ## Structs <a name="Structs"></a>
1134
+ ---
113
1135
 
114
- ### GithubActionsRoleProps <a name="aws-cdk-github-oidc.GithubActionsRoleProps"></a>
1136
+ ### GithubActionsRoleProps <a name="GithubActionsRoleProps" id="aws-cdk-github-oidc.GithubActionsRoleProps"></a>
115
1137
 
116
1138
  Props that define the IAM Role that can be assumed by Github Actions workflow via Github OpenID Connect Identity Provider.
117
1139
 
118
1140
  Besides `GithubConfiguration`, you may pass in any `iam.RoleProps` except `assumedBy`
119
1141
  which will be defined by this construct (CDK will fail if you do).
120
1142
 
121
- #### Initializer <a name="[object Object].Initializer"></a>
1143
+ *Example*
1144
+
1145
+ ```typescript
1146
+ {
1147
+ provider: GithubActionsIdentityProvider.fromAccount(scope, "GithubProvider"),
1148
+ owner: 'octo-org',
1149
+ repo: 'octo-repo',
1150
+ filter: 'ref:refs/tags/v*',
1151
+ roleName: 'MyDeployRole',
1152
+ }
1153
+ ```
1154
+
1155
+
1156
+ #### Initializer <a name="Initializer" id="aws-cdk-github-oidc.GithubActionsRoleProps.Initializer"></a>
122
1157
 
123
1158
  ```typescript
124
1159
  import { GithubActionsRoleProps } from 'aws-cdk-github-oidc'
@@ -126,25 +1161,51 @@ import { GithubActionsRoleProps } from 'aws-cdk-github-oidc'
126
1161
  const githubActionsRoleProps: GithubActionsRoleProps = { ... }
127
1162
  ```
128
1163
 
129
- ##### `owner`<sup>Required</sup> <a name="aws-cdk-github-oidc.GithubActionsRoleProps.property.owner"></a>
1164
+ #### Properties <a name="Properties" id="Properties"></a>
1165
+
1166
+ | **Name** | **Type** | **Description** |
1167
+ | --- | --- | --- |
1168
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRoleProps.property.owner">owner</a></code> | <code>string</code> | Repository owner (organization or username). |
1169
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRoleProps.property.provider">provider</a></code> | <code><a href="#aws-cdk-github-oidc.IGithubActionsIdentityProvider">IGithubActionsIdentityProvider</a></code> | Reference to Github OpenID Connect Provider configured in AWS IAM. |
1170
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRoleProps.property.repo">repo</a></code> | <code>string</code> | Repository name (slug) without the owner. |
1171
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRoleProps.property.filter">filter</a></code> | <code>string</code> | Subject condition filter, appended after `repo:${owner}/${repo}:` string in IAM Role trust relationship. |
1172
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRoleProps.property.description">description</a></code> | <code>string</code> | A description of the role. |
1173
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRoleProps.property.externalIds">externalIds</a></code> | <code>string[]</code> | List of IDs that the role assumer needs to provide one of when assuming this role. |
1174
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRoleProps.property.inlinePolicies">inlinePolicies</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_iam.PolicyDocument}</code> | A list of named policies to inline into this role. |
1175
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRoleProps.property.managedPolicies">managedPolicies</a></code> | <code>aws-cdk-lib.aws_iam.IManagedPolicy[]</code> | A list of managed policies associated with this role. |
1176
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRoleProps.property.maxSessionDuration">maxSessionDuration</a></code> | <code>aws-cdk-lib.Duration</code> | The maximum session duration that you want to set for the specified role. |
1177
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRoleProps.property.path">path</a></code> | <code>string</code> | The path associated with this role. |
1178
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRoleProps.property.permissionsBoundary">permissionsBoundary</a></code> | <code>aws-cdk-lib.aws_iam.IManagedPolicy</code> | AWS supports permissions boundaries for IAM entities (users or roles). |
1179
+ | <code><a href="#aws-cdk-github-oidc.GithubActionsRoleProps.property.roleName">roleName</a></code> | <code>string</code> | A name for the IAM role. |
1180
+
1181
+ ---
1182
+
1183
+ ##### `owner`<sup>Required</sup> <a name="owner" id="aws-cdk-github-oidc.GithubActionsRoleProps.property.owner"></a>
130
1184
 
131
1185
  ```typescript
132
1186
  public readonly owner: string;
133
1187
  ```
134
1188
 
135
- - *Type:* `string`
1189
+ - *Type:* string
136
1190
 
137
1191
  Repository owner (organization or username).
138
1192
 
139
1193
  ---
140
1194
 
141
- ##### `provider`<sup>Required</sup> <a name="aws-cdk-github-oidc.GithubActionsRoleProps.property.provider"></a>
1195
+ *Example*
1196
+
1197
+ ```typescript
1198
+ 'octo-org'
1199
+ ```
1200
+
1201
+
1202
+ ##### `provider`<sup>Required</sup> <a name="provider" id="aws-cdk-github-oidc.GithubActionsRoleProps.property.provider"></a>
142
1203
 
143
1204
  ```typescript
144
1205
  public readonly provider: IGithubActionsIdentityProvider;
145
1206
  ```
146
1207
 
147
- - *Type:* [`aws-cdk-github-oidc.IGithubActionsIdentityProvider`](#aws-cdk-github-oidc.IGithubActionsIdentityProvider)
1208
+ - *Type:* <a href="#aws-cdk-github-oidc.IGithubActionsIdentityProvider">IGithubActionsIdentityProvider</a>
148
1209
 
149
1210
  Reference to Github OpenID Connect Provider configured in AWS IAM.
150
1211
 
@@ -154,42 +1215,57 @@ There can be only one (per AWS Account).
154
1215
 
155
1216
  ---
156
1217
 
157
- ##### `repo`<sup>Required</sup> <a name="aws-cdk-github-oidc.GithubActionsRoleProps.property.repo"></a>
1218
+ ##### `repo`<sup>Required</sup> <a name="repo" id="aws-cdk-github-oidc.GithubActionsRoleProps.property.repo"></a>
158
1219
 
159
1220
  ```typescript
160
1221
  public readonly repo: string;
161
1222
  ```
162
1223
 
163
- - *Type:* `string`
1224
+ - *Type:* string
164
1225
 
165
1226
  Repository name (slug) without the owner.
166
1227
 
167
1228
  ---
168
1229
 
169
- ##### `filter`<sup>Optional</sup> <a name="aws-cdk-github-oidc.GithubActionsRoleProps.property.filter"></a>
1230
+ *Example*
170
1231
 
171
1232
  ```typescript
172
- public readonly filter: string;
1233
+ 'octo-repo'
173
1234
  ```
174
1235
 
175
- - *Type:* `string`
176
- - *Default:* '*'
177
1236
 
178
- You may use this value to only allow Github to assume the role on specific branches, tags, environments, pull requests etc.
1237
+ ##### `filter`<sup>Optional</sup> <a name="filter" id="aws-cdk-github-oidc.GithubActionsRoleProps.property.filter"></a>
1238
+
1239
+ ```typescript
1240
+ public readonly filter: string;
1241
+ ```
1242
+
1243
+ - *Type:* string
1244
+ - *Default:* '*' You may use this value to only allow Github to assume the role on specific branches, tags, environments, pull requests etc.
179
1245
 
180
1246
  Subject condition filter, appended after `repo:${owner}/${repo}:` string in IAM Role trust relationship.
181
1247
 
182
- > https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#examples
1248
+ > [https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#examples](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#examples)
183
1249
 
184
1250
  ---
185
1251
 
186
- ##### `description`<sup>Optional</sup> <a name="aws-cdk-github-oidc.GithubActionsRoleProps.property.description"></a>
1252
+ *Example*
1253
+
1254
+ ```typescript
1255
+ 'ref:refs/tags/v*'
1256
+ 'ref:refs/heads/demo-branch'
1257
+ 'pull_request'
1258
+ 'environment:Production'
1259
+ ```
1260
+
1261
+
1262
+ ##### `description`<sup>Optional</sup> <a name="description" id="aws-cdk-github-oidc.GithubActionsRoleProps.property.description"></a>
187
1263
 
188
1264
  ```typescript
189
1265
  public readonly description: string;
190
1266
  ```
191
1267
 
192
- - *Type:* `string`
1268
+ - *Type:* string
193
1269
  - *Default:* No description.
194
1270
 
195
1271
  A description of the role.
@@ -198,13 +1274,13 @@ It can be up to 1000 characters long.
198
1274
 
199
1275
  ---
200
1276
 
201
- ##### `externalIds`<sup>Optional</sup> <a name="aws-cdk-github-oidc.GithubActionsRoleProps.property.externalIds"></a>
1277
+ ##### `externalIds`<sup>Optional</sup> <a name="externalIds" id="aws-cdk-github-oidc.GithubActionsRoleProps.property.externalIds"></a>
202
1278
 
203
1279
  ```typescript
204
1280
  public readonly externalIds: string[];
205
1281
  ```
206
1282
 
207
- - *Type:* `string`[]
1283
+ - *Type:* string[]
208
1284
  - *Default:* No external ID required
209
1285
 
210
1286
  List of IDs that the role assumer needs to provide one of when assuming this role.
@@ -214,13 +1290,13 @@ AssumeRole operation will fail.
214
1290
 
215
1291
  ---
216
1292
 
217
- ##### `inlinePolicies`<sup>Optional</sup> <a name="aws-cdk-github-oidc.GithubActionsRoleProps.property.inlinePolicies"></a>
1293
+ ##### `inlinePolicies`<sup>Optional</sup> <a name="inlinePolicies" id="aws-cdk-github-oidc.GithubActionsRoleProps.property.inlinePolicies"></a>
218
1294
 
219
1295
  ```typescript
220
1296
  public readonly inlinePolicies: {[ key: string ]: PolicyDocument};
221
1297
  ```
222
1298
 
223
- - *Type:* {[ key: string ]: [`aws-cdk-lib.aws_iam.PolicyDocument`](#aws-cdk-lib.aws_iam.PolicyDocument)}
1299
+ - *Type:* {[ key: string ]: aws-cdk-lib.aws_iam.PolicyDocument}
224
1300
  - *Default:* No policy is inlined in the Role resource.
225
1301
 
226
1302
  A list of named policies to inline into this role.
@@ -232,13 +1308,13 @@ dependencies that could otherwise be introduced).
232
1308
 
233
1309
  ---
234
1310
 
235
- ##### `managedPolicies`<sup>Optional</sup> <a name="aws-cdk-github-oidc.GithubActionsRoleProps.property.managedPolicies"></a>
1311
+ ##### `managedPolicies`<sup>Optional</sup> <a name="managedPolicies" id="aws-cdk-github-oidc.GithubActionsRoleProps.property.managedPolicies"></a>
236
1312
 
237
1313
  ```typescript
238
1314
  public readonly managedPolicies: IManagedPolicy[];
239
1315
  ```
240
1316
 
241
- - *Type:* [`aws-cdk-lib.aws_iam.IManagedPolicy`](#aws-cdk-lib.aws_iam.IManagedPolicy)[]
1317
+ - *Type:* aws-cdk-lib.aws_iam.IManagedPolicy[]
242
1318
  - *Default:* No managed policies.
243
1319
 
244
1320
  A list of managed policies associated with this role.
@@ -248,13 +1324,13 @@ You can add managed policies later using
248
1324
 
249
1325
  ---
250
1326
 
251
- ##### `maxSessionDuration`<sup>Optional</sup> <a name="aws-cdk-github-oidc.GithubActionsRoleProps.property.maxSessionDuration"></a>
1327
+ ##### `maxSessionDuration`<sup>Optional</sup> <a name="maxSessionDuration" id="aws-cdk-github-oidc.GithubActionsRoleProps.property.maxSessionDuration"></a>
252
1328
 
253
1329
  ```typescript
254
1330
  public readonly maxSessionDuration: Duration;
255
1331
  ```
256
1332
 
257
- - *Type:* [`aws-cdk-lib.Duration`](#aws-cdk-lib.Duration)
1333
+ - *Type:* aws-cdk-lib.Duration
258
1334
  - *Default:* Duration.hours(1)
259
1335
 
260
1336
  The maximum session duration that you want to set for the specified role.
@@ -276,13 +1352,13 @@ but does not apply when you use those operations to create a console URL.
276
1352
 
277
1353
  ---
278
1354
 
279
- ##### `path`<sup>Optional</sup> <a name="aws-cdk-github-oidc.GithubActionsRoleProps.property.path"></a>
1355
+ ##### `path`<sup>Optional</sup> <a name="path" id="aws-cdk-github-oidc.GithubActionsRoleProps.property.path"></a>
280
1356
 
281
1357
  ```typescript
282
1358
  public readonly path: string;
283
1359
  ```
284
1360
 
285
- - *Type:* `string`
1361
+ - *Type:* string
286
1362
  - *Default:* /
287
1363
 
288
1364
  The path associated with this role.
@@ -292,13 +1368,13 @@ Friendly Names and Paths in IAM User Guide.
292
1368
 
293
1369
  ---
294
1370
 
295
- ##### `permissionsBoundary`<sup>Optional</sup> <a name="aws-cdk-github-oidc.GithubActionsRoleProps.property.permissionsBoundary"></a>
1371
+ ##### `permissionsBoundary`<sup>Optional</sup> <a name="permissionsBoundary" id="aws-cdk-github-oidc.GithubActionsRoleProps.property.permissionsBoundary"></a>
296
1372
 
297
1373
  ```typescript
298
1374
  public readonly permissionsBoundary: IManagedPolicy;
299
1375
  ```
300
1376
 
301
- - *Type:* [`aws-cdk-lib.aws_iam.IManagedPolicy`](#aws-cdk-lib.aws_iam.IManagedPolicy)
1377
+ - *Type:* aws-cdk-lib.aws_iam.IManagedPolicy
302
1378
  - *Default:* No permissions boundary.
303
1379
 
304
1380
  AWS supports permissions boundaries for IAM entities (users or roles).
@@ -313,15 +1389,14 @@ permissions boundaries.
313
1389
 
314
1390
  ---
315
1391
 
316
- ##### `roleName`<sup>Optional</sup> <a name="aws-cdk-github-oidc.GithubActionsRoleProps.property.roleName"></a>
1392
+ ##### `roleName`<sup>Optional</sup> <a name="roleName" id="aws-cdk-github-oidc.GithubActionsRoleProps.property.roleName"></a>
317
1393
 
318
1394
  ```typescript
319
1395
  public readonly roleName: string;
320
1396
  ```
321
1397
 
322
- - *Type:* `string`
323
- - *Default:* AWS CloudFormation generates a unique physical ID and uses that ID
324
- for the role name.
1398
+ - *Type:* string
1399
+ - *Default:* AWS CloudFormation generates a unique physical ID and uses that ID for the role name.
325
1400
 
326
1401
  A name for the IAM role.
327
1402
 
@@ -338,11 +1413,11 @@ Acknowledging IAM Resources in AWS CloudFormation Templates.
338
1413
 
339
1414
  ---
340
1415
 
341
- ### GithubConfiguration <a name="aws-cdk-github-oidc.GithubConfiguration"></a>
1416
+ ### GithubConfiguration <a name="GithubConfiguration" id="aws-cdk-github-oidc.GithubConfiguration"></a>
342
1417
 
343
1418
  Github related configuration that forms the trust policy for this IAM Role.
344
1419
 
345
- #### Initializer <a name="[object Object].Initializer"></a>
1420
+ #### Initializer <a name="Initializer" id="aws-cdk-github-oidc.GithubConfiguration.Initializer"></a>
346
1421
 
347
1422
  ```typescript
348
1423
  import { GithubConfiguration } from 'aws-cdk-github-oidc'
@@ -350,25 +1425,43 @@ import { GithubConfiguration } from 'aws-cdk-github-oidc'
350
1425
  const githubConfiguration: GithubConfiguration = { ... }
351
1426
  ```
352
1427
 
353
- ##### `owner`<sup>Required</sup> <a name="aws-cdk-github-oidc.GithubConfiguration.property.owner"></a>
1428
+ #### Properties <a name="Properties" id="Properties"></a>
1429
+
1430
+ | **Name** | **Type** | **Description** |
1431
+ | --- | --- | --- |
1432
+ | <code><a href="#aws-cdk-github-oidc.GithubConfiguration.property.owner">owner</a></code> | <code>string</code> | Repository owner (organization or username). |
1433
+ | <code><a href="#aws-cdk-github-oidc.GithubConfiguration.property.provider">provider</a></code> | <code><a href="#aws-cdk-github-oidc.IGithubActionsIdentityProvider">IGithubActionsIdentityProvider</a></code> | Reference to Github OpenID Connect Provider configured in AWS IAM. |
1434
+ | <code><a href="#aws-cdk-github-oidc.GithubConfiguration.property.repo">repo</a></code> | <code>string</code> | Repository name (slug) without the owner. |
1435
+ | <code><a href="#aws-cdk-github-oidc.GithubConfiguration.property.filter">filter</a></code> | <code>string</code> | Subject condition filter, appended after `repo:${owner}/${repo}:` string in IAM Role trust relationship. |
1436
+
1437
+ ---
1438
+
1439
+ ##### `owner`<sup>Required</sup> <a name="owner" id="aws-cdk-github-oidc.GithubConfiguration.property.owner"></a>
354
1440
 
355
1441
  ```typescript
356
1442
  public readonly owner: string;
357
1443
  ```
358
1444
 
359
- - *Type:* `string`
1445
+ - *Type:* string
360
1446
 
361
1447
  Repository owner (organization or username).
362
1448
 
363
1449
  ---
364
1450
 
365
- ##### `provider`<sup>Required</sup> <a name="aws-cdk-github-oidc.GithubConfiguration.property.provider"></a>
1451
+ *Example*
1452
+
1453
+ ```typescript
1454
+ 'octo-org'
1455
+ ```
1456
+
1457
+
1458
+ ##### `provider`<sup>Required</sup> <a name="provider" id="aws-cdk-github-oidc.GithubConfiguration.property.provider"></a>
366
1459
 
367
1460
  ```typescript
368
1461
  public readonly provider: IGithubActionsIdentityProvider;
369
1462
  ```
370
1463
 
371
- - *Type:* [`aws-cdk-github-oidc.IGithubActionsIdentityProvider`](#aws-cdk-github-oidc.IGithubActionsIdentityProvider)
1464
+ - *Type:* <a href="#aws-cdk-github-oidc.IGithubActionsIdentityProvider">IGithubActionsIdentityProvider</a>
372
1465
 
373
1466
  Reference to Github OpenID Connect Provider configured in AWS IAM.
374
1467
 
@@ -378,45 +1471,57 @@ There can be only one (per AWS Account).
378
1471
 
379
1472
  ---
380
1473
 
381
- ##### `repo`<sup>Required</sup> <a name="aws-cdk-github-oidc.GithubConfiguration.property.repo"></a>
1474
+ ##### `repo`<sup>Required</sup> <a name="repo" id="aws-cdk-github-oidc.GithubConfiguration.property.repo"></a>
382
1475
 
383
1476
  ```typescript
384
1477
  public readonly repo: string;
385
1478
  ```
386
1479
 
387
- - *Type:* `string`
1480
+ - *Type:* string
388
1481
 
389
1482
  Repository name (slug) without the owner.
390
1483
 
391
1484
  ---
392
1485
 
393
- ##### `filter`<sup>Optional</sup> <a name="aws-cdk-github-oidc.GithubConfiguration.property.filter"></a>
1486
+ *Example*
394
1487
 
395
1488
  ```typescript
396
- public readonly filter: string;
1489
+ 'octo-repo'
397
1490
  ```
398
1491
 
399
- - *Type:* `string`
400
- - *Default:* '*'
401
1492
 
402
- You may use this value to only allow Github to assume the role on specific branches, tags, environments, pull requests etc.
1493
+ ##### `filter`<sup>Optional</sup> <a name="filter" id="aws-cdk-github-oidc.GithubConfiguration.property.filter"></a>
1494
+
1495
+ ```typescript
1496
+ public readonly filter: string;
1497
+ ```
1498
+
1499
+ - *Type:* string
1500
+ - *Default:* '*' You may use this value to only allow Github to assume the role on specific branches, tags, environments, pull requests etc.
403
1501
 
404
1502
  Subject condition filter, appended after `repo:${owner}/${repo}:` string in IAM Role trust relationship.
405
1503
 
406
- > https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#examples
1504
+ > [https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#examples](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#examples)
407
1505
 
408
1506
  ---
409
1507
 
410
- ### RoleProps <a name="aws-cdk-github-oidc.RoleProps"></a>
1508
+ *Example*
1509
+
1510
+ ```typescript
1511
+ 'ref:refs/tags/v*'
1512
+ 'ref:refs/heads/demo-branch'
1513
+ 'pull_request'
1514
+ 'environment:Production'
1515
+ ```
411
1516
 
412
- Properties for defining an IAM Role.
413
1517
 
414
- These are copied fron @aws-cdk/aws-iam, but since JSII does not support
415
- TypeScript <Partial<iam.RoleProps>> (or Omit), we have to do this stupid thing.
1518
+ ### RoleProps <a name="RoleProps" id="aws-cdk-github-oidc.RoleProps"></a>
1519
+
1520
+ Properties for defining an IAM Role.
416
1521
 
417
- Basically exactly the same as source, but with assumedBy removed.
1522
+ These are copied fron
418
1523
 
419
- #### Initializer <a name="[object Object].Initializer"></a>
1524
+ #### Initializer <a name="Initializer" id="aws-cdk-github-oidc.RoleProps.Initializer"></a>
420
1525
 
421
1526
  ```typescript
422
1527
  import { RoleProps } from 'aws-cdk-github-oidc'
@@ -424,13 +1529,28 @@ import { RoleProps } from 'aws-cdk-github-oidc'
424
1529
  const roleProps: RoleProps = { ... }
425
1530
  ```
426
1531
 
427
- ##### `description`<sup>Optional</sup> <a name="aws-cdk-github-oidc.RoleProps.property.description"></a>
1532
+ #### Properties <a name="Properties" id="Properties"></a>
1533
+
1534
+ | **Name** | **Type** | **Description** |
1535
+ | --- | --- | --- |
1536
+ | <code><a href="#aws-cdk-github-oidc.RoleProps.property.description">description</a></code> | <code>string</code> | A description of the role. |
1537
+ | <code><a href="#aws-cdk-github-oidc.RoleProps.property.externalIds">externalIds</a></code> | <code>string[]</code> | List of IDs that the role assumer needs to provide one of when assuming this role. |
1538
+ | <code><a href="#aws-cdk-github-oidc.RoleProps.property.inlinePolicies">inlinePolicies</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_iam.PolicyDocument}</code> | A list of named policies to inline into this role. |
1539
+ | <code><a href="#aws-cdk-github-oidc.RoleProps.property.managedPolicies">managedPolicies</a></code> | <code>aws-cdk-lib.aws_iam.IManagedPolicy[]</code> | A list of managed policies associated with this role. |
1540
+ | <code><a href="#aws-cdk-github-oidc.RoleProps.property.maxSessionDuration">maxSessionDuration</a></code> | <code>aws-cdk-lib.Duration</code> | The maximum session duration that you want to set for the specified role. |
1541
+ | <code><a href="#aws-cdk-github-oidc.RoleProps.property.path">path</a></code> | <code>string</code> | The path associated with this role. |
1542
+ | <code><a href="#aws-cdk-github-oidc.RoleProps.property.permissionsBoundary">permissionsBoundary</a></code> | <code>aws-cdk-lib.aws_iam.IManagedPolicy</code> | AWS supports permissions boundaries for IAM entities (users or roles). |
1543
+ | <code><a href="#aws-cdk-github-oidc.RoleProps.property.roleName">roleName</a></code> | <code>string</code> | A name for the IAM role. |
1544
+
1545
+ ---
1546
+
1547
+ ##### `description`<sup>Optional</sup> <a name="description" id="aws-cdk-github-oidc.RoleProps.property.description"></a>
428
1548
 
429
1549
  ```typescript
430
1550
  public readonly description: string;
431
1551
  ```
432
1552
 
433
- - *Type:* `string`
1553
+ - *Type:* string
434
1554
  - *Default:* No description.
435
1555
 
436
1556
  A description of the role.
@@ -439,13 +1559,13 @@ It can be up to 1000 characters long.
439
1559
 
440
1560
  ---
441
1561
 
442
- ##### `externalIds`<sup>Optional</sup> <a name="aws-cdk-github-oidc.RoleProps.property.externalIds"></a>
1562
+ ##### `externalIds`<sup>Optional</sup> <a name="externalIds" id="aws-cdk-github-oidc.RoleProps.property.externalIds"></a>
443
1563
 
444
1564
  ```typescript
445
1565
  public readonly externalIds: string[];
446
1566
  ```
447
1567
 
448
- - *Type:* `string`[]
1568
+ - *Type:* string[]
449
1569
  - *Default:* No external ID required
450
1570
 
451
1571
  List of IDs that the role assumer needs to provide one of when assuming this role.
@@ -455,13 +1575,13 @@ AssumeRole operation will fail.
455
1575
 
456
1576
  ---
457
1577
 
458
- ##### `inlinePolicies`<sup>Optional</sup> <a name="aws-cdk-github-oidc.RoleProps.property.inlinePolicies"></a>
1578
+ ##### `inlinePolicies`<sup>Optional</sup> <a name="inlinePolicies" id="aws-cdk-github-oidc.RoleProps.property.inlinePolicies"></a>
459
1579
 
460
1580
  ```typescript
461
1581
  public readonly inlinePolicies: {[ key: string ]: PolicyDocument};
462
1582
  ```
463
1583
 
464
- - *Type:* {[ key: string ]: [`aws-cdk-lib.aws_iam.PolicyDocument`](#aws-cdk-lib.aws_iam.PolicyDocument)}
1584
+ - *Type:* {[ key: string ]: aws-cdk-lib.aws_iam.PolicyDocument}
465
1585
  - *Default:* No policy is inlined in the Role resource.
466
1586
 
467
1587
  A list of named policies to inline into this role.
@@ -473,13 +1593,13 @@ dependencies that could otherwise be introduced).
473
1593
 
474
1594
  ---
475
1595
 
476
- ##### `managedPolicies`<sup>Optional</sup> <a name="aws-cdk-github-oidc.RoleProps.property.managedPolicies"></a>
1596
+ ##### `managedPolicies`<sup>Optional</sup> <a name="managedPolicies" id="aws-cdk-github-oidc.RoleProps.property.managedPolicies"></a>
477
1597
 
478
1598
  ```typescript
479
1599
  public readonly managedPolicies: IManagedPolicy[];
480
1600
  ```
481
1601
 
482
- - *Type:* [`aws-cdk-lib.aws_iam.IManagedPolicy`](#aws-cdk-lib.aws_iam.IManagedPolicy)[]
1602
+ - *Type:* aws-cdk-lib.aws_iam.IManagedPolicy[]
483
1603
  - *Default:* No managed policies.
484
1604
 
485
1605
  A list of managed policies associated with this role.
@@ -489,13 +1609,13 @@ You can add managed policies later using
489
1609
 
490
1610
  ---
491
1611
 
492
- ##### `maxSessionDuration`<sup>Optional</sup> <a name="aws-cdk-github-oidc.RoleProps.property.maxSessionDuration"></a>
1612
+ ##### `maxSessionDuration`<sup>Optional</sup> <a name="maxSessionDuration" id="aws-cdk-github-oidc.RoleProps.property.maxSessionDuration"></a>
493
1613
 
494
1614
  ```typescript
495
1615
  public readonly maxSessionDuration: Duration;
496
1616
  ```
497
1617
 
498
- - *Type:* [`aws-cdk-lib.Duration`](#aws-cdk-lib.Duration)
1618
+ - *Type:* aws-cdk-lib.Duration
499
1619
  - *Default:* Duration.hours(1)
500
1620
 
501
1621
  The maximum session duration that you want to set for the specified role.
@@ -517,13 +1637,13 @@ but does not apply when you use those operations to create a console URL.
517
1637
 
518
1638
  ---
519
1639
 
520
- ##### `path`<sup>Optional</sup> <a name="aws-cdk-github-oidc.RoleProps.property.path"></a>
1640
+ ##### `path`<sup>Optional</sup> <a name="path" id="aws-cdk-github-oidc.RoleProps.property.path"></a>
521
1641
 
522
1642
  ```typescript
523
1643
  public readonly path: string;
524
1644
  ```
525
1645
 
526
- - *Type:* `string`
1646
+ - *Type:* string
527
1647
  - *Default:* /
528
1648
 
529
1649
  The path associated with this role.
@@ -533,13 +1653,13 @@ Friendly Names and Paths in IAM User Guide.
533
1653
 
534
1654
  ---
535
1655
 
536
- ##### `permissionsBoundary`<sup>Optional</sup> <a name="aws-cdk-github-oidc.RoleProps.property.permissionsBoundary"></a>
1656
+ ##### `permissionsBoundary`<sup>Optional</sup> <a name="permissionsBoundary" id="aws-cdk-github-oidc.RoleProps.property.permissionsBoundary"></a>
537
1657
 
538
1658
  ```typescript
539
1659
  public readonly permissionsBoundary: IManagedPolicy;
540
1660
  ```
541
1661
 
542
- - *Type:* [`aws-cdk-lib.aws_iam.IManagedPolicy`](#aws-cdk-lib.aws_iam.IManagedPolicy)
1662
+ - *Type:* aws-cdk-lib.aws_iam.IManagedPolicy
543
1663
  - *Default:* No permissions boundary.
544
1664
 
545
1665
  AWS supports permissions boundaries for IAM entities (users or roles).
@@ -554,15 +1674,14 @@ permissions boundaries.
554
1674
 
555
1675
  ---
556
1676
 
557
- ##### `roleName`<sup>Optional</sup> <a name="aws-cdk-github-oidc.RoleProps.property.roleName"></a>
1677
+ ##### `roleName`<sup>Optional</sup> <a name="roleName" id="aws-cdk-github-oidc.RoleProps.property.roleName"></a>
558
1678
 
559
1679
  ```typescript
560
1680
  public readonly roleName: string;
561
1681
  ```
562
1682
 
563
- - *Type:* `string`
564
- - *Default:* AWS CloudFormation generates a unique physical ID and uses that ID
565
- for the role name.
1683
+ - *Type:* string
1684
+ - *Default:* AWS CloudFormation generates a unique physical ID and uses that ID for the role name.
566
1685
 
567
1686
  A name for the IAM role.
568
1687
 
@@ -580,81 +1699,105 @@ Acknowledging IAM Resources in AWS CloudFormation Templates.
580
1699
  ---
581
1700
 
582
1701
 
583
- ## Protocols <a name="Protocols"></a>
1702
+ ## Protocols <a name="Protocols" id="Protocols"></a>
584
1703
 
585
- ### IGithubActionsIdentityProvider <a name="aws-cdk-github-oidc.IGithubActionsIdentityProvider"></a>
1704
+ ### IGithubActionsIdentityProvider <a name="IGithubActionsIdentityProvider" id="aws-cdk-github-oidc.IGithubActionsIdentityProvider"></a>
586
1705
 
587
- - *Extends:* [`aws-cdk-lib.aws_iam.IOpenIdConnectProvider`](#aws-cdk-lib.aws_iam.IOpenIdConnectProvider)
1706
+ - *Extends:* aws-cdk-lib.aws_iam.IOpenIdConnectProvider
588
1707
 
589
- - *Implemented By:* [`aws-cdk-github-oidc.GithubActionsIdentityProvider`](#aws-cdk-github-oidc.GithubActionsIdentityProvider), [`aws-cdk-github-oidc.IGithubActionsIdentityProvider`](#aws-cdk-github-oidc.IGithubActionsIdentityProvider)
1708
+ - *Implemented By:* <a href="#aws-cdk-github-oidc.GithubActionsIdentityProvider">GithubActionsIdentityProvider</a>, <a href="#aws-cdk-github-oidc.IGithubActionsIdentityProvider">IGithubActionsIdentityProvider</a>
590
1709
 
591
1710
  Describes a Github OpenID Connect Identity Provider for AWS IAM.
592
1711
 
593
1712
 
594
- #### Properties <a name="Properties"></a>
1713
+ #### Properties <a name="Properties" id="Properties"></a>
595
1714
 
596
- ##### `node`<sup>Required</sup> <a name="aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.node"></a>
1715
+ | **Name** | **Type** | **Description** |
1716
+ | --- | --- | --- |
1717
+ | <code><a href="#aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1718
+ | <code><a href="#aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.env">env</a></code> | <code>aws-cdk-lib.interfaces.ResourceEnvironment</code> | The environment this resource belongs to. |
1719
+ | <code><a href="#aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.stack">stack</a></code> | <code>aws-cdk-lib.Stack</code> | The stack in which this resource is defined. |
1720
+ | <code><a href="#aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.oidcProviderRef">oidcProviderRef</a></code> | <code>aws-cdk-lib.interfaces.aws_iam.OIDCProviderReference</code> | A reference to a OIDCProvider resource. |
1721
+ | <code><a href="#aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.openIdConnectProviderArn">openIdConnectProviderArn</a></code> | <code>string</code> | The Amazon Resource Name (ARN) of the IAM OpenID Connect provider. |
1722
+ | <code><a href="#aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.openIdConnectProviderIssuer">openIdConnectProviderIssuer</a></code> | <code>string</code> | The issuer for OIDC Provider. |
1723
+
1724
+ ---
1725
+
1726
+ ##### `node`<sup>Required</sup> <a name="node" id="aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.node"></a>
597
1727
 
598
1728
  ```typescript
599
1729
  public readonly node: Node;
600
1730
  ```
601
1731
 
602
- - *Type:* [`constructs.Node`](#constructs.Node)
1732
+ - *Type:* constructs.Node
603
1733
 
604
1734
  The tree node.
605
1735
 
606
1736
  ---
607
1737
 
608
- ##### `env`<sup>Required</sup> <a name="aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.env"></a>
1738
+ ##### `env`<sup>Required</sup> <a name="env" id="aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.env"></a>
609
1739
 
610
1740
  ```typescript
611
1741
  public readonly env: ResourceEnvironment;
612
1742
  ```
613
1743
 
614
- - *Type:* [`aws-cdk-lib.ResourceEnvironment`](#aws-cdk-lib.ResourceEnvironment)
1744
+ - *Type:* aws-cdk-lib.interfaces.ResourceEnvironment
615
1745
 
616
1746
  The environment this resource belongs to.
617
1747
 
618
- For resources that are created and managed by the CDK
619
- (generally, those created by creating new class instances like Role, Bucket, etc.),
620
- this is always the same as the environment of the stack they belong to;
621
- however, for imported resources
622
- (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
623
- that might be different than the stack they were imported into.
1748
+ For resources that are created and managed in a Stack (those created by
1749
+ creating new class instances like `new Role()`, `new Bucket()`, etc.), this
1750
+ is always the same as the environment of the stack they belong to.
1751
+
1752
+ For referenced resources (those obtained from referencing methods like
1753
+ `Role.fromRoleArn()`, `Bucket.fromBucketName()`, etc.), they might be
1754
+ different than the stack they were imported into.
624
1755
 
625
1756
  ---
626
1757
 
627
- ##### `stack`<sup>Required</sup> <a name="aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.stack"></a>
1758
+ ##### `stack`<sup>Required</sup> <a name="stack" id="aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.stack"></a>
628
1759
 
629
1760
  ```typescript
630
1761
  public readonly stack: Stack;
631
1762
  ```
632
1763
 
633
- - *Type:* [`aws-cdk-lib.Stack`](#aws-cdk-lib.Stack)
1764
+ - *Type:* aws-cdk-lib.Stack
634
1765
 
635
1766
  The stack in which this resource is defined.
636
1767
 
637
1768
  ---
638
1769
 
639
- ##### `openIdConnectProviderArn`<sup>Required</sup> <a name="aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.openIdConnectProviderArn"></a>
1770
+ ##### `oidcProviderRef`<sup>Required</sup> <a name="oidcProviderRef" id="aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.oidcProviderRef"></a>
1771
+
1772
+ ```typescript
1773
+ public readonly oidcProviderRef: OIDCProviderReference;
1774
+ ```
1775
+
1776
+ - *Type:* aws-cdk-lib.interfaces.aws_iam.OIDCProviderReference
1777
+
1778
+ A reference to a OIDCProvider resource.
1779
+
1780
+ ---
1781
+
1782
+ ##### `openIdConnectProviderArn`<sup>Required</sup> <a name="openIdConnectProviderArn" id="aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.openIdConnectProviderArn"></a>
640
1783
 
641
1784
  ```typescript
642
1785
  public readonly openIdConnectProviderArn: string;
643
1786
  ```
644
1787
 
645
- - *Type:* `string`
1788
+ - *Type:* string
646
1789
 
647
1790
  The Amazon Resource Name (ARN) of the IAM OpenID Connect provider.
648
1791
 
649
1792
  ---
650
1793
 
651
- ##### `openIdConnectProviderIssuer`<sup>Required</sup> <a name="aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.openIdConnectProviderIssuer"></a>
1794
+ ##### `openIdConnectProviderIssuer`<sup>Required</sup> <a name="openIdConnectProviderIssuer" id="aws-cdk-github-oidc.IGithubActionsIdentityProvider.property.openIdConnectProviderIssuer"></a>
652
1795
 
653
1796
  ```typescript
654
1797
  public readonly openIdConnectProviderIssuer: string;
655
1798
  ```
656
1799
 
657
- - *Type:* `string`
1800
+ - *Type:* string
658
1801
 
659
1802
  The issuer for OIDC Provider.
660
1803