@pcg-x-aws/cdk-iamuserwithaccesskey 0.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.
package/API.md ADDED
@@ -0,0 +1,745 @@
1
+ # API Reference <a name="API Reference" id="api-reference"></a>
2
+
3
+ ## Constructs <a name="Constructs" id="Constructs"></a>
4
+
5
+ ### IamUserWithAccessKey <a name="IamUserWithAccessKey" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey"></a>
6
+
7
+ An IAM User including an Access Key that will be stored in Secrets Manager.
8
+
9
+ The properties as for normal IAM Users.
10
+
11
+ #### Initializers <a name="Initializers" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.Initializer"></a>
12
+
13
+ ```typescript
14
+ import { IamUserWithAccessKey } from '@pcg-x-aws/cdk-iamuserwithaccesskey'
15
+
16
+ new IamUserWithAccessKey(scope: Construct, id: string, props?: IamUserWithAccessKeyProps)
17
+ ```
18
+
19
+ | **Name** | **Type** | **Description** |
20
+ | --- | --- | --- |
21
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
22
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
23
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.Initializer.parameter.props">props</a></code> | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps">IamUserWithAccessKeyProps</a></code> | *No description.* |
24
+
25
+ ---
26
+
27
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.Initializer.parameter.scope"></a>
28
+
29
+ - *Type:* constructs.Construct
30
+
31
+ ---
32
+
33
+ ##### `id`<sup>Required</sup> <a name="id" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.Initializer.parameter.id"></a>
34
+
35
+ - *Type:* string
36
+
37
+ ---
38
+
39
+ ##### `props`<sup>Optional</sup> <a name="props" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.Initializer.parameter.props"></a>
40
+
41
+ - *Type:* <a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps">IamUserWithAccessKeyProps</a>
42
+
43
+ ---
44
+
45
+ #### Methods <a name="Methods" id="Methods"></a>
46
+
47
+ | **Name** | **Description** |
48
+ | --- | --- |
49
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.toString">toString</a></code> | Returns a string representation of this construct. |
50
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.with">with</a></code> | Applies one or more mixins to this construct. |
51
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.applyRemovalPolicy">applyRemovalPolicy</a></code> | Apply the given removal policy to this resource. |
52
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.addManagedPolicy">addManagedPolicy</a></code> | Attaches a managed policy to the user. |
53
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.addToGroup">addToGroup</a></code> | Adds this user to a group. |
54
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.addToPolicy">addToPolicy</a></code> | Add to the policy of this principal. |
55
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.addToPrincipalPolicy">addToPrincipalPolicy</a></code> | Adds an IAM statement to the default policy. |
56
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.attachInlinePolicy">attachInlinePolicy</a></code> | Attaches a policy to this user. |
57
+
58
+ ---
59
+
60
+ ##### `toString` <a name="toString" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.toString"></a>
61
+
62
+ ```typescript
63
+ public toString(): string
64
+ ```
65
+
66
+ Returns a string representation of this construct.
67
+
68
+ ##### `with` <a name="with" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.with"></a>
69
+
70
+ ```typescript
71
+ public with(mixins: ...IMixin[]): IConstruct
72
+ ```
73
+
74
+ Applies one or more mixins to this construct.
75
+
76
+ Mixins are applied in order. The list of constructs is captured at the
77
+ start of the call, so constructs added by a mixin will not be visited.
78
+ Use multiple `with()` calls if subsequent mixins should apply to added
79
+ constructs.
80
+
81
+ ###### `mixins`<sup>Required</sup> <a name="mixins" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.with.parameter.mixins"></a>
82
+
83
+ - *Type:* ...constructs.IMixin[]
84
+
85
+ ---
86
+
87
+ ##### `applyRemovalPolicy` <a name="applyRemovalPolicy" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.applyRemovalPolicy"></a>
88
+
89
+ ```typescript
90
+ public applyRemovalPolicy(policy: RemovalPolicy): void
91
+ ```
92
+
93
+ Apply the given removal policy to this resource.
94
+
95
+ The Removal Policy controls what happens to this resource when it stops
96
+ being managed by CloudFormation, either because you've removed it from the
97
+ CDK application or because you've made a change that requires the resource
98
+ to be replaced.
99
+
100
+ The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
101
+ account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
102
+
103
+ ###### `policy`<sup>Required</sup> <a name="policy" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.applyRemovalPolicy.parameter.policy"></a>
104
+
105
+ - *Type:* aws-cdk-lib.RemovalPolicy
106
+
107
+ ---
108
+
109
+ ##### `addManagedPolicy` <a name="addManagedPolicy" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.addManagedPolicy"></a>
110
+
111
+ ```typescript
112
+ public addManagedPolicy(policy: IManagedPolicy): void
113
+ ```
114
+
115
+ Attaches a managed policy to the user.
116
+
117
+ ###### `policy`<sup>Required</sup> <a name="policy" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.addManagedPolicy.parameter.policy"></a>
118
+
119
+ - *Type:* aws-cdk-lib.aws_iam.IManagedPolicy
120
+
121
+ The managed policy to attach.
122
+
123
+ ---
124
+
125
+ ##### `addToGroup` <a name="addToGroup" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.addToGroup"></a>
126
+
127
+ ```typescript
128
+ public addToGroup(group: IGroup): void
129
+ ```
130
+
131
+ Adds this user to a group.
132
+
133
+ ###### `group`<sup>Required</sup> <a name="group" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.addToGroup.parameter.group"></a>
134
+
135
+ - *Type:* aws-cdk-lib.aws_iam.IGroup
136
+
137
+ ---
138
+
139
+ ##### `addToPolicy` <a name="addToPolicy" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.addToPolicy"></a>
140
+
141
+ ```typescript
142
+ public addToPolicy(statement: PolicyStatement): boolean
143
+ ```
144
+
145
+ Add to the policy of this principal.
146
+
147
+ ###### `statement`<sup>Required</sup> <a name="statement" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.addToPolicy.parameter.statement"></a>
148
+
149
+ - *Type:* aws-cdk-lib.aws_iam.PolicyStatement
150
+
151
+ ---
152
+
153
+ ##### `addToPrincipalPolicy` <a name="addToPrincipalPolicy" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.addToPrincipalPolicy"></a>
154
+
155
+ ```typescript
156
+ public addToPrincipalPolicy(statement: PolicyStatement): AddToPrincipalPolicyResult
157
+ ```
158
+
159
+ Adds an IAM statement to the default policy.
160
+
161
+ ###### `statement`<sup>Required</sup> <a name="statement" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.addToPrincipalPolicy.parameter.statement"></a>
162
+
163
+ - *Type:* aws-cdk-lib.aws_iam.PolicyStatement
164
+
165
+ ---
166
+
167
+ ##### `attachInlinePolicy` <a name="attachInlinePolicy" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.attachInlinePolicy"></a>
168
+
169
+ ```typescript
170
+ public attachInlinePolicy(policy: Policy): void
171
+ ```
172
+
173
+ Attaches a policy to this user.
174
+
175
+ ###### `policy`<sup>Required</sup> <a name="policy" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.attachInlinePolicy.parameter.policy"></a>
176
+
177
+ - *Type:* aws-cdk-lib.aws_iam.Policy
178
+
179
+ ---
180
+
181
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
182
+
183
+ | **Name** | **Description** |
184
+ | --- | --- |
185
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
186
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.isOwnedResource">isOwnedResource</a></code> | Returns true if the construct was created by CDK, and false otherwise. |
187
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.isResource">isResource</a></code> | Check whether the given construct is a Resource. |
188
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.fromUserArn">fromUserArn</a></code> | Import an existing user given a user ARN. |
189
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.fromUserAttributes">fromUserAttributes</a></code> | Import an existing user given user attributes. |
190
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.fromUserName">fromUserName</a></code> | Import an existing user given a username. |
191
+
192
+ ---
193
+
194
+ ##### `isConstruct` <a name="isConstruct" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.isConstruct"></a>
195
+
196
+ ```typescript
197
+ import { IamUserWithAccessKey } from '@pcg-x-aws/cdk-iamuserwithaccesskey'
198
+
199
+ IamUserWithAccessKey.isConstruct(x: any)
200
+ ```
201
+
202
+ Checks if `x` is a construct.
203
+
204
+ Use this method instead of `instanceof` to properly detect `Construct`
205
+ instances, even when the construct library is symlinked.
206
+
207
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
208
+ disk are seen as independent, completely different libraries. As a
209
+ consequence, the class `Construct` in each copy of the `constructs` library
210
+ is seen as a different class, and an instance of one class will not test as
211
+ `instanceof` the other class. `npm install` will not create installations
212
+ like this, but users may manually symlink construct libraries together or
213
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
214
+ library can be accidentally installed, and `instanceof` will behave
215
+ unpredictably. It is safest to avoid using `instanceof`, and using
216
+ this type-testing method instead.
217
+
218
+ ###### `x`<sup>Required</sup> <a name="x" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.isConstruct.parameter.x"></a>
219
+
220
+ - *Type:* any
221
+
222
+ Any object.
223
+
224
+ ---
225
+
226
+ ##### `isOwnedResource` <a name="isOwnedResource" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.isOwnedResource"></a>
227
+
228
+ ```typescript
229
+ import { IamUserWithAccessKey } from '@pcg-x-aws/cdk-iamuserwithaccesskey'
230
+
231
+ IamUserWithAccessKey.isOwnedResource(construct: IConstruct)
232
+ ```
233
+
234
+ Returns true if the construct was created by CDK, and false otherwise.
235
+
236
+ ###### `construct`<sup>Required</sup> <a name="construct" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.isOwnedResource.parameter.construct"></a>
237
+
238
+ - *Type:* constructs.IConstruct
239
+
240
+ ---
241
+
242
+ ##### `isResource` <a name="isResource" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.isResource"></a>
243
+
244
+ ```typescript
245
+ import { IamUserWithAccessKey } from '@pcg-x-aws/cdk-iamuserwithaccesskey'
246
+
247
+ IamUserWithAccessKey.isResource(construct: IConstruct)
248
+ ```
249
+
250
+ Check whether the given construct is a Resource.
251
+
252
+ ###### `construct`<sup>Required</sup> <a name="construct" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.isResource.parameter.construct"></a>
253
+
254
+ - *Type:* constructs.IConstruct
255
+
256
+ ---
257
+
258
+ ##### `fromUserArn` <a name="fromUserArn" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.fromUserArn"></a>
259
+
260
+ ```typescript
261
+ import { IamUserWithAccessKey } from '@pcg-x-aws/cdk-iamuserwithaccesskey'
262
+
263
+ IamUserWithAccessKey.fromUserArn(scope: Construct, id: string, userArn: string)
264
+ ```
265
+
266
+ Import an existing user given a user ARN.
267
+
268
+ If the ARN comes from a Token, the User cannot have a path; if so, any attempt
269
+ to reference its username will fail.
270
+
271
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.fromUserArn.parameter.scope"></a>
272
+
273
+ - *Type:* constructs.Construct
274
+
275
+ construct scope.
276
+
277
+ ---
278
+
279
+ ###### `id`<sup>Required</sup> <a name="id" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.fromUserArn.parameter.id"></a>
280
+
281
+ - *Type:* string
282
+
283
+ construct id.
284
+
285
+ ---
286
+
287
+ ###### `userArn`<sup>Required</sup> <a name="userArn" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.fromUserArn.parameter.userArn"></a>
288
+
289
+ - *Type:* string
290
+
291
+ the ARN of an existing user to import.
292
+
293
+ ---
294
+
295
+ ##### `fromUserAttributes` <a name="fromUserAttributes" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.fromUserAttributes"></a>
296
+
297
+ ```typescript
298
+ import { IamUserWithAccessKey } from '@pcg-x-aws/cdk-iamuserwithaccesskey'
299
+
300
+ IamUserWithAccessKey.fromUserAttributes(scope: Construct, id: string, attrs: UserAttributes)
301
+ ```
302
+
303
+ Import an existing user given user attributes.
304
+
305
+ If the ARN comes from a Token, the User cannot have a path; if so, any attempt
306
+ to reference its username will fail.
307
+
308
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.fromUserAttributes.parameter.scope"></a>
309
+
310
+ - *Type:* constructs.Construct
311
+
312
+ construct scope.
313
+
314
+ ---
315
+
316
+ ###### `id`<sup>Required</sup> <a name="id" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.fromUserAttributes.parameter.id"></a>
317
+
318
+ - *Type:* string
319
+
320
+ construct id.
321
+
322
+ ---
323
+
324
+ ###### `attrs`<sup>Required</sup> <a name="attrs" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.fromUserAttributes.parameter.attrs"></a>
325
+
326
+ - *Type:* aws-cdk-lib.aws_iam.UserAttributes
327
+
328
+ the attributes of the user to import.
329
+
330
+ ---
331
+
332
+ ##### `fromUserName` <a name="fromUserName" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.fromUserName"></a>
333
+
334
+ ```typescript
335
+ import { IamUserWithAccessKey } from '@pcg-x-aws/cdk-iamuserwithaccesskey'
336
+
337
+ IamUserWithAccessKey.fromUserName(scope: Construct, id: string, userName: string)
338
+ ```
339
+
340
+ Import an existing user given a username.
341
+
342
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.fromUserName.parameter.scope"></a>
343
+
344
+ - *Type:* constructs.Construct
345
+
346
+ construct scope.
347
+
348
+ ---
349
+
350
+ ###### `id`<sup>Required</sup> <a name="id" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.fromUserName.parameter.id"></a>
351
+
352
+ - *Type:* string
353
+
354
+ construct id.
355
+
356
+ ---
357
+
358
+ ###### `userName`<sup>Required</sup> <a name="userName" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.fromUserName.parameter.userName"></a>
359
+
360
+ - *Type:* string
361
+
362
+ the username of the existing user to import.
363
+
364
+ ---
365
+
366
+ #### Properties <a name="Properties" id="Properties"></a>
367
+
368
+ | **Name** | **Type** | **Description** |
369
+ | --- | --- | --- |
370
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
371
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.env">env</a></code> | <code>aws-cdk-lib.interfaces.ResourceEnvironment</code> | The environment this resource belongs to. |
372
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.stack">stack</a></code> | <code>aws-cdk-lib.Stack</code> | The stack in which this resource is defined. |
373
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.assumeRoleAction">assumeRoleAction</a></code> | <code>string</code> | When this Principal is used in an AssumeRole policy, the action to use. |
374
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | The principal to grant permissions to. |
375
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.policyFragment">policyFragment</a></code> | <code>aws-cdk-lib.aws_iam.PrincipalPolicyFragment</code> | Return the policy fragment that identifies this principal in a Policy. |
376
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.userArn">userArn</a></code> | <code>string</code> | An attribute that represents the user's ARN. |
377
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.userName">userName</a></code> | <code>string</code> | An attribute that represents the user name. |
378
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.userRef">userRef</a></code> | <code>aws-cdk-lib.interfaces.aws_iam.UserReference</code> | A reference to a User resource. |
379
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.permissionsBoundary">permissionsBoundary</a></code> | <code>aws-cdk-lib.aws_iam.IManagedPolicy</code> | Returns the permissions boundary attached to this user. |
380
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.principalAccount">principalAccount</a></code> | <code>string</code> | The AWS account ID of this principal. |
381
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.accessKey">accessKey</a></code> | <code>aws-cdk-lib.aws_iam.CfnAccessKey</code> | An attribute that represents the iam access_key. |
382
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.secret">secret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.Secret</code> | An attribute that represents the secret. |
383
+
384
+ ---
385
+
386
+ ##### `node`<sup>Required</sup> <a name="node" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.node"></a>
387
+
388
+ ```typescript
389
+ public readonly node: Node;
390
+ ```
391
+
392
+ - *Type:* constructs.Node
393
+
394
+ The tree node.
395
+
396
+ ---
397
+
398
+ ##### `env`<sup>Required</sup> <a name="env" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.env"></a>
399
+
400
+ ```typescript
401
+ public readonly env: ResourceEnvironment;
402
+ ```
403
+
404
+ - *Type:* aws-cdk-lib.interfaces.ResourceEnvironment
405
+
406
+ The environment this resource belongs to.
407
+
408
+ For resources that are created and managed in a Stack (those created by
409
+ creating new class instances like `new Role()`, `new Bucket()`, etc.), this
410
+ is always the same as the environment of the stack they belong to.
411
+
412
+ For referenced resources (those obtained from referencing methods like
413
+ `Role.fromRoleArn()`, `Bucket.fromBucketName()`, etc.), they might be
414
+ different than the stack they were imported into.
415
+
416
+ ---
417
+
418
+ ##### `stack`<sup>Required</sup> <a name="stack" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.stack"></a>
419
+
420
+ ```typescript
421
+ public readonly stack: Stack;
422
+ ```
423
+
424
+ - *Type:* aws-cdk-lib.Stack
425
+
426
+ The stack in which this resource is defined.
427
+
428
+ ---
429
+
430
+ ##### `assumeRoleAction`<sup>Required</sup> <a name="assumeRoleAction" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.assumeRoleAction"></a>
431
+
432
+ ```typescript
433
+ public readonly assumeRoleAction: string;
434
+ ```
435
+
436
+ - *Type:* string
437
+
438
+ When this Principal is used in an AssumeRole policy, the action to use.
439
+
440
+ ---
441
+
442
+ ##### `grantPrincipal`<sup>Required</sup> <a name="grantPrincipal" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.grantPrincipal"></a>
443
+
444
+ ```typescript
445
+ public readonly grantPrincipal: IPrincipal;
446
+ ```
447
+
448
+ - *Type:* aws-cdk-lib.aws_iam.IPrincipal
449
+
450
+ The principal to grant permissions to.
451
+
452
+ ---
453
+
454
+ ##### `policyFragment`<sup>Required</sup> <a name="policyFragment" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.policyFragment"></a>
455
+
456
+ ```typescript
457
+ public readonly policyFragment: PrincipalPolicyFragment;
458
+ ```
459
+
460
+ - *Type:* aws-cdk-lib.aws_iam.PrincipalPolicyFragment
461
+
462
+ Return the policy fragment that identifies this principal in a Policy.
463
+
464
+ ---
465
+
466
+ ##### `userArn`<sup>Required</sup> <a name="userArn" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.userArn"></a>
467
+
468
+ ```typescript
469
+ public readonly userArn: string;
470
+ ```
471
+
472
+ - *Type:* string
473
+
474
+ An attribute that represents the user's ARN.
475
+
476
+ ---
477
+
478
+ ##### `userName`<sup>Required</sup> <a name="userName" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.userName"></a>
479
+
480
+ ```typescript
481
+ public readonly userName: string;
482
+ ```
483
+
484
+ - *Type:* string
485
+
486
+ An attribute that represents the user name.
487
+
488
+ ---
489
+
490
+ ##### `userRef`<sup>Required</sup> <a name="userRef" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.userRef"></a>
491
+
492
+ ```typescript
493
+ public readonly userRef: UserReference;
494
+ ```
495
+
496
+ - *Type:* aws-cdk-lib.interfaces.aws_iam.UserReference
497
+
498
+ A reference to a User resource.
499
+
500
+ ---
501
+
502
+ ##### `permissionsBoundary`<sup>Optional</sup> <a name="permissionsBoundary" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.permissionsBoundary"></a>
503
+
504
+ ```typescript
505
+ public readonly permissionsBoundary: IManagedPolicy;
506
+ ```
507
+
508
+ - *Type:* aws-cdk-lib.aws_iam.IManagedPolicy
509
+
510
+ Returns the permissions boundary attached to this user.
511
+
512
+ ---
513
+
514
+ ##### `principalAccount`<sup>Optional</sup> <a name="principalAccount" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.principalAccount"></a>
515
+
516
+ ```typescript
517
+ public readonly principalAccount: string;
518
+ ```
519
+
520
+ - *Type:* string
521
+
522
+ The AWS account ID of this principal.
523
+
524
+ Can be undefined when the account is not known
525
+ (for example, for service principals).
526
+ Can be a Token - in that case,
527
+ it's assumed to be AWS::AccountId.
528
+
529
+ ---
530
+
531
+ ##### `accessKey`<sup>Required</sup> <a name="accessKey" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.accessKey"></a>
532
+
533
+ ```typescript
534
+ public readonly accessKey: CfnAccessKey;
535
+ ```
536
+
537
+ - *Type:* aws-cdk-lib.aws_iam.CfnAccessKey
538
+
539
+ An attribute that represents the iam access_key.
540
+
541
+ ---
542
+
543
+ ##### `secret`<sup>Required</sup> <a name="secret" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.secret"></a>
544
+
545
+ ```typescript
546
+ public readonly secret: Secret;
547
+ ```
548
+
549
+ - *Type:* aws-cdk-lib.aws_secretsmanager.Secret
550
+
551
+ An attribute that represents the secret.
552
+
553
+ ---
554
+
555
+ #### Constants <a name="Constants" id="Constants"></a>
556
+
557
+ | **Name** | **Type** | **Description** |
558
+ | --- | --- | --- |
559
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.PROPERTY_INJECTION_ID">PROPERTY_INJECTION_ID</a></code> | <code>string</code> | Uniquely identifies this class. |
560
+
561
+ ---
562
+
563
+ ##### `PROPERTY_INJECTION_ID`<sup>Required</sup> <a name="PROPERTY_INJECTION_ID" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKey.property.PROPERTY_INJECTION_ID"></a>
564
+
565
+ ```typescript
566
+ public readonly PROPERTY_INJECTION_ID: string;
567
+ ```
568
+
569
+ - *Type:* string
570
+
571
+ Uniquely identifies this class.
572
+
573
+ ---
574
+
575
+ ## Structs <a name="Structs" id="Structs"></a>
576
+
577
+ ### IamUserWithAccessKeyProps <a name="IamUserWithAccessKeyProps" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps"></a>
578
+
579
+ Properties for the IAM User.
580
+
581
+ #### Initializer <a name="Initializer" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.Initializer"></a>
582
+
583
+ ```typescript
584
+ import { IamUserWithAccessKeyProps } from '@pcg-x-aws/cdk-iamuserwithaccesskey'
585
+
586
+ const iamUserWithAccessKeyProps: IamUserWithAccessKeyProps = { ... }
587
+ ```
588
+
589
+ #### Properties <a name="Properties" id="Properties"></a>
590
+
591
+ | **Name** | **Type** | **Description** |
592
+ | --- | --- | --- |
593
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.groups">groups</a></code> | <code>aws-cdk-lib.aws_iam.IGroup[]</code> | Groups to add this user to. |
594
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.managedPolicies">managedPolicies</a></code> | <code>aws-cdk-lib.aws_iam.IManagedPolicy[]</code> | A list of managed policies associated with this role. |
595
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.password">password</a></code> | <code>aws-cdk-lib.SecretValue</code> | The password for the user. This is required so the user can access the AWS Management Console. |
596
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.passwordResetRequired">passwordResetRequired</a></code> | <code>boolean</code> | Specifies whether the user is required to set a new password the next time the user logs in to the AWS Management Console. |
597
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.path">path</a></code> | <code>string</code> | The path for the user name. |
598
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.permissionsBoundary">permissionsBoundary</a></code> | <code>aws-cdk-lib.aws_iam.IManagedPolicy</code> | AWS supports permissions boundaries for IAM entities (users or roles). |
599
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.userName">userName</a></code> | <code>string</code> | A name for the IAM user. |
600
+ | <code><a href="#@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.encryptionKey">encryptionKey</a></code> | <code>aws-cdk-lib.aws_kms.IKey</code> | An optional custom encryption key for the secret. |
601
+
602
+ ---
603
+
604
+ ##### `groups`<sup>Optional</sup> <a name="groups" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.groups"></a>
605
+
606
+ ```typescript
607
+ public readonly groups: IGroup[];
608
+ ```
609
+
610
+ - *Type:* aws-cdk-lib.aws_iam.IGroup[]
611
+ - *Default:* No groups.
612
+
613
+ Groups to add this user to.
614
+
615
+ You can also use `addToGroup` to add this
616
+ user to a group.
617
+
618
+ ---
619
+
620
+ ##### `managedPolicies`<sup>Optional</sup> <a name="managedPolicies" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.managedPolicies"></a>
621
+
622
+ ```typescript
623
+ public readonly managedPolicies: IManagedPolicy[];
624
+ ```
625
+
626
+ - *Type:* aws-cdk-lib.aws_iam.IManagedPolicy[]
627
+ - *Default:* No managed policies.
628
+
629
+ A list of managed policies associated with this role.
630
+
631
+ You can add managed policies later using
632
+ `addManagedPolicy(ManagedPolicy.fromAwsManagedPolicyName(policyName))`.
633
+
634
+ ---
635
+
636
+ ##### `password`<sup>Optional</sup> <a name="password" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.password"></a>
637
+
638
+ ```typescript
639
+ public readonly password: SecretValue;
640
+ ```
641
+
642
+ - *Type:* aws-cdk-lib.SecretValue
643
+ - *Default:* User won't be able to access the management console without a password.
644
+
645
+ The password for the user. This is required so the user can access the AWS Management Console.
646
+
647
+ You can use `SecretValue.unsafePlainText` to specify a password in plain text or
648
+ use `secretsmanager.Secret.fromSecretAttributes` to reference a secret in
649
+ Secrets Manager.
650
+
651
+ ---
652
+
653
+ ##### `passwordResetRequired`<sup>Optional</sup> <a name="passwordResetRequired" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.passwordResetRequired"></a>
654
+
655
+ ```typescript
656
+ public readonly passwordResetRequired: boolean;
657
+ ```
658
+
659
+ - *Type:* boolean
660
+ - *Default:* false
661
+
662
+ Specifies whether the user is required to set a new password the next time the user logs in to the AWS Management Console.
663
+
664
+ If this is set to 'true', you must also specify "initialPassword".
665
+
666
+ ---
667
+
668
+ ##### `path`<sup>Optional</sup> <a name="path" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.path"></a>
669
+
670
+ ```typescript
671
+ public readonly path: string;
672
+ ```
673
+
674
+ - *Type:* string
675
+ - *Default:* /
676
+
677
+ The path for the user name.
678
+
679
+ For more information about paths, see IAM
680
+ Identifiers in the IAM User Guide.
681
+
682
+ ---
683
+
684
+ ##### `permissionsBoundary`<sup>Optional</sup> <a name="permissionsBoundary" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.permissionsBoundary"></a>
685
+
686
+ ```typescript
687
+ public readonly permissionsBoundary: IManagedPolicy;
688
+ ```
689
+
690
+ - *Type:* aws-cdk-lib.aws_iam.IManagedPolicy
691
+ - *Default:* No permissions boundary.
692
+
693
+ AWS supports permissions boundaries for IAM entities (users or roles).
694
+
695
+ A permissions boundary is an advanced feature for using a managed policy
696
+ to set the maximum permissions that an identity-based policy can grant to
697
+ an IAM entity. An entity's permissions boundary allows it to perform only
698
+ the actions that are allowed by both its identity-based policies and its
699
+ permissions boundaries.
700
+
701
+ > [https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)
702
+
703
+ ---
704
+
705
+ ##### `userName`<sup>Optional</sup> <a name="userName" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.userName"></a>
706
+
707
+ ```typescript
708
+ public readonly userName: string;
709
+ ```
710
+
711
+ - *Type:* string
712
+ - *Default:* Generated by CloudFormation (recommended)
713
+
714
+ A name for the IAM user.
715
+
716
+ For valid values, see the UserName parameter for
717
+ the CreateUser action in the IAM API Reference. If you don't specify a
718
+ name, AWS CloudFormation generates a unique physical ID and uses that ID
719
+ for the user name.
720
+
721
+ If you specify a name, you cannot perform updates that require
722
+ replacement of this resource. You can perform updates that require no or
723
+ some interruption. If you must replace the resource, specify a new name.
724
+
725
+ If you specify a name, you must specify the CAPABILITY_NAMED_IAM value to
726
+ acknowledge your template's capabilities. For more information, see
727
+ Acknowledging IAM Resources in AWS CloudFormation Templates.
728
+
729
+ ---
730
+
731
+ ##### `encryptionKey`<sup>Optional</sup> <a name="encryptionKey" id="@pcg-x-aws/cdk-iamuserwithaccesskey.IamUserWithAccessKeyProps.property.encryptionKey"></a>
732
+
733
+ ```typescript
734
+ public readonly encryptionKey: IKey;
735
+ ```
736
+
737
+ - *Type:* aws-cdk-lib.aws_kms.IKey
738
+ - *Default:* The Accounts default Secret Manager KMS Key will be used.
739
+
740
+ An optional custom encryption key for the secret.
741
+
742
+ ---
743
+
744
+
745
+