@fallobst22/cdk-cross-account-route53 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/.gitattributes +22 -0
- package/.jsii +3910 -0
- package/.repo/changelog.md +12 -0
- package/.repo/js/cdk-cross-account-route53@0.0.0.jsii.tgz +0 -0
- package/.repo/releasetag.txt +1 -0
- package/.repo/version.txt +1 -0
- package/API.md +675 -0
- package/LICENSE +202 -0
- package/NOTICE +4 -0
- package/README.md +119 -0
- package/TODO.md +1 -0
- package/lib/CrossAccountRoute53RecordSet.d.ts +10 -0
- package/lib/CrossAccountRoute53RecordSet.js +48 -0
- package/lib/cross-account-record-set-handler/index.d.ts +1 -0
- package/lib/cross-account-record-set-handler/index.js +51 -0
- package/lib/delegations.d.ts +24 -0
- package/lib/delegations.js +89 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +15 -0
- package/package.json +132 -0
package/API.md
ADDED
|
@@ -0,0 +1,675 @@
|
|
|
1
|
+
# AWS CDK Cross Account Route53
|
|
2
|
+
|
|
3
|
+
AWS [CDK](https://aws.amazon.com/cdk/) Constructs that define:
|
|
4
|
+
- IAM role that can be used to allow discrete Route53 Record changes
|
|
5
|
+
- Cross Account Record construct to create Route53 cross account Route53 records
|
|
6
|
+
|
|
7
|
+
These constructs allow you to create Route53 records where the zone exists in a separate AWS account to the Cloudformation Stack.
|
|
8
|
+
|
|
9
|
+
## Getting started
|
|
10
|
+
|
|
11
|
+
```shell
|
|
12
|
+
yarn add @fallobst22/cdk-cross-account-route53
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
First create the role in the stack for the AWS account which contains the hosted zone.
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
// DNS Stack
|
|
19
|
+
const zone = new route53.PublicHostedZone(this, 'HostedZone', {
|
|
20
|
+
zoneName: 'example.com',
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
new CrossAccountRoute53Role(this, 'WebRoute53Role', {
|
|
24
|
+
roleName: 'WebRoute53Role',
|
|
25
|
+
assumedBy: new iam.AccountPrincipal('22222222'), // Web Stack Account
|
|
26
|
+
zone,
|
|
27
|
+
records: [{ domains: ['www.example.com'] }],
|
|
28
|
+
});
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Then in the child stack create the records
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
const hostedZoneId = 'Z12345'; // ID of the zone in the other account
|
|
35
|
+
|
|
36
|
+
const distribution = new cloudfront.Distribution(this, 'Distribution', {
|
|
37
|
+
domainNames: ['example.com'],
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
new CrossAccountRoute53RecordSet(this, 'ARecord', {
|
|
41
|
+
delegationRoleName: 'WebRoute53Role',
|
|
42
|
+
delegationRoleAccount: '111111111', // The account that contains the zone and role
|
|
43
|
+
hostedZoneId,
|
|
44
|
+
resourceRecordSets: [{
|
|
45
|
+
Name: `example.com`,
|
|
46
|
+
Type: 'A',
|
|
47
|
+
AliasTarget: {
|
|
48
|
+
DNSName: distribution.distributionDomainName,
|
|
49
|
+
HostedZoneId: 'Z2FDTNDATAQYW2', // Cloudfront Hosted Zone Id
|
|
50
|
+
EvaluateTargetHealth: false,
|
|
51
|
+
},
|
|
52
|
+
}],
|
|
53
|
+
});
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## CrossAccountRoute53Role
|
|
57
|
+
|
|
58
|
+
### Initializer
|
|
59
|
+
```typescript
|
|
60
|
+
new CrossAccountRoute53Role(scope: Construct, id: string, props: CrossAccountRoute53RoleProps)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
*Parameters*
|
|
64
|
+
|
|
65
|
+
* **scope** Construct
|
|
66
|
+
* **id** string
|
|
67
|
+
* **props** CrossAccountRoute53RoleProps
|
|
68
|
+
|
|
69
|
+
### Construct Props
|
|
70
|
+
|
|
71
|
+
| Name | Type | Description |
|
|
72
|
+
| ---- | ---- | ----------- |
|
|
73
|
+
| roleName | `string` | The role name |
|
|
74
|
+
| assumedBy | `iam.IPrincipal` | The principals that are allowed to assume the role |
|
|
75
|
+
| zone | `route53.IHostedZone` | The hosted zone. |
|
|
76
|
+
| records | `CrossAccountRoute53RolePropsRecord[]` | The records that can be created by this role |
|
|
77
|
+
|
|
78
|
+
### CrossAccountRoute53RolePropsRecords
|
|
79
|
+
|
|
80
|
+
| Name | Type | Description |
|
|
81
|
+
| ---- | ---- | ----------- |
|
|
82
|
+
| domainNames | `string \| string[]` | The names of the records that can be created or changed |
|
|
83
|
+
| types | `route53.RecordType[]` | The typepsof records that can be created. Default `['A', 'AAAA']` |
|
|
84
|
+
| actions | `'CREATE' \| 'UPSERT' \| 'DELETE'` | The allowed actions. Default `['CREATE', 'UPSERT', 'DELETE']` |
|
|
85
|
+
|
|
86
|
+
## CrossAccountRoute53RecordSet
|
|
87
|
+
|
|
88
|
+
### Initializer
|
|
89
|
+
```typescript
|
|
90
|
+
new CrossAccountRoute53RecordSet(scope: Construct, id: string, props: CrossAccountRoute53RecordSetProps)
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
*Parameters*
|
|
94
|
+
|
|
95
|
+
* **scope** Construct
|
|
96
|
+
* **id** string
|
|
97
|
+
* **props** CrossAccountRoute53RecordSet
|
|
98
|
+
|
|
99
|
+
### Construct Props
|
|
100
|
+
|
|
101
|
+
| Name | Type | Description |
|
|
102
|
+
| ---- | ---- | ----------- |
|
|
103
|
+
| delegationRoleName | `string` | The role name created in the account with the hosted zone |
|
|
104
|
+
| delegationRoleAccount | `string` | The account identfier of the account with the hosted zone |
|
|
105
|
+
| hostedZoneId | `string` | The hosted zoned id |
|
|
106
|
+
| resourceRecordSets | `Route53.ResourceRecordSets` | The changes to be applied. These are in the same format as taken by [ChangeResourceRecordSets Action](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ResourceRecordSet.html) |
|
|
107
|
+
|
|
108
|
+
## Development Status
|
|
109
|
+
|
|
110
|
+
These constructs will stay in `v0.x.x` for a while, to allow easier bug fixing & breaking changes _if absolutely needed_.
|
|
111
|
+
Once bugs are fixed (if any), the constructs will be published with `v1` major version and will be marked as stable.
|
|
112
|
+
|
|
113
|
+
Only typescript has been tested.
|
|
114
|
+
|
|
115
|
+
## Development
|
|
116
|
+
|
|
117
|
+
* `npm run build` compile typescript to js
|
|
118
|
+
* `npm run watch` watch for changes and compile
|
|
119
|
+
* `npm run test` perform the jest unit tests
|
|
120
|
+
|
|
121
|
+
# API Reference <a name="API Reference" id="api-reference"></a>
|
|
122
|
+
|
|
123
|
+
## Constructs <a name="Constructs" id="Constructs"></a>
|
|
124
|
+
|
|
125
|
+
### CrossAccountRoute53RecordSet <a name="CrossAccountRoute53RecordSet" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSet"></a>
|
|
126
|
+
|
|
127
|
+
#### Initializers <a name="Initializers" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSet.Initializer"></a>
|
|
128
|
+
|
|
129
|
+
```typescript
|
|
130
|
+
import { CrossAccountRoute53RecordSet } from '@fallobst22/cdk-cross-account-route53'
|
|
131
|
+
|
|
132
|
+
new CrossAccountRoute53RecordSet(scope: Construct, id: string, props: CrossAccountRoute53RecordSetProps)
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
| **Name** | **Type** | **Description** |
|
|
136
|
+
| --- | --- | --- |
|
|
137
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSet.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
|
|
138
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSet.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
|
|
139
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSet.Initializer.parameter.props">props</a></code> | <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSetProps">CrossAccountRoute53RecordSetProps</a></code> | *No description.* |
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
##### `scope`<sup>Required</sup> <a name="scope" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSet.Initializer.parameter.scope"></a>
|
|
144
|
+
|
|
145
|
+
- *Type:* constructs.Construct
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
##### `id`<sup>Required</sup> <a name="id" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSet.Initializer.parameter.id"></a>
|
|
150
|
+
|
|
151
|
+
- *Type:* string
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
##### `props`<sup>Required</sup> <a name="props" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSet.Initializer.parameter.props"></a>
|
|
156
|
+
|
|
157
|
+
- *Type:* <a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSetProps">CrossAccountRoute53RecordSetProps</a>
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
162
|
+
|
|
163
|
+
| **Name** | **Description** |
|
|
164
|
+
| --- | --- |
|
|
165
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSet.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
##### `toString` <a name="toString" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSet.toString"></a>
|
|
170
|
+
|
|
171
|
+
```typescript
|
|
172
|
+
public toString(): string
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Returns a string representation of this construct.
|
|
176
|
+
|
|
177
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
178
|
+
|
|
179
|
+
| **Name** | **Description** |
|
|
180
|
+
| --- | --- |
|
|
181
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSet.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
##### ~~`isConstruct`~~ <a name="isConstruct" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSet.isConstruct"></a>
|
|
186
|
+
|
|
187
|
+
```typescript
|
|
188
|
+
import { CrossAccountRoute53RecordSet } from '@fallobst22/cdk-cross-account-route53'
|
|
189
|
+
|
|
190
|
+
CrossAccountRoute53RecordSet.isConstruct(x: any)
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Checks if `x` is a construct.
|
|
194
|
+
|
|
195
|
+
###### `x`<sup>Required</sup> <a name="x" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSet.isConstruct.parameter.x"></a>
|
|
196
|
+
|
|
197
|
+
- *Type:* any
|
|
198
|
+
|
|
199
|
+
Any object.
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
204
|
+
|
|
205
|
+
| **Name** | **Type** | **Description** |
|
|
206
|
+
| --- | --- | --- |
|
|
207
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSet.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
##### `node`<sup>Required</sup> <a name="node" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSet.property.node"></a>
|
|
212
|
+
|
|
213
|
+
```typescript
|
|
214
|
+
public readonly node: Node;
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
- *Type:* constructs.Node
|
|
218
|
+
|
|
219
|
+
The tree node.
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
### CrossAccountRoute53Role <a name="CrossAccountRoute53Role" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53Role"></a>
|
|
225
|
+
|
|
226
|
+
#### Initializers <a name="Initializers" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53Role.Initializer"></a>
|
|
227
|
+
|
|
228
|
+
```typescript
|
|
229
|
+
import { CrossAccountRoute53Role } from '@fallobst22/cdk-cross-account-route53'
|
|
230
|
+
|
|
231
|
+
new CrossAccountRoute53Role(scope: Construct, id: string, props: CrossAccountRoute53RoleProps)
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
| **Name** | **Type** | **Description** |
|
|
235
|
+
| --- | --- | --- |
|
|
236
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53Role.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
|
|
237
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53Role.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
|
|
238
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53Role.Initializer.parameter.props">props</a></code> | <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RoleProps">CrossAccountRoute53RoleProps</a></code> | *No description.* |
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
##### `scope`<sup>Required</sup> <a name="scope" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53Role.Initializer.parameter.scope"></a>
|
|
243
|
+
|
|
244
|
+
- *Type:* constructs.Construct
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
##### `id`<sup>Required</sup> <a name="id" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53Role.Initializer.parameter.id"></a>
|
|
249
|
+
|
|
250
|
+
- *Type:* string
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
##### `props`<sup>Required</sup> <a name="props" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53Role.Initializer.parameter.props"></a>
|
|
255
|
+
|
|
256
|
+
- *Type:* <a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RoleProps">CrossAccountRoute53RoleProps</a>
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
261
|
+
|
|
262
|
+
| **Name** | **Description** |
|
|
263
|
+
| --- | --- |
|
|
264
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53Role.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
##### `toString` <a name="toString" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53Role.toString"></a>
|
|
269
|
+
|
|
270
|
+
```typescript
|
|
271
|
+
public toString(): string
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Returns a string representation of this construct.
|
|
275
|
+
|
|
276
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
277
|
+
|
|
278
|
+
| **Name** | **Description** |
|
|
279
|
+
| --- | --- |
|
|
280
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53Role.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
##### ~~`isConstruct`~~ <a name="isConstruct" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53Role.isConstruct"></a>
|
|
285
|
+
|
|
286
|
+
```typescript
|
|
287
|
+
import { CrossAccountRoute53Role } from '@fallobst22/cdk-cross-account-route53'
|
|
288
|
+
|
|
289
|
+
CrossAccountRoute53Role.isConstruct(x: any)
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
Checks if `x` is a construct.
|
|
293
|
+
|
|
294
|
+
###### `x`<sup>Required</sup> <a name="x" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53Role.isConstruct.parameter.x"></a>
|
|
295
|
+
|
|
296
|
+
- *Type:* any
|
|
297
|
+
|
|
298
|
+
Any object.
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
303
|
+
|
|
304
|
+
| **Name** | **Type** | **Description** |
|
|
305
|
+
| --- | --- | --- |
|
|
306
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53Role.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
307
|
+
|
|
308
|
+
---
|
|
309
|
+
|
|
310
|
+
##### `node`<sup>Required</sup> <a name="node" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53Role.property.node"></a>
|
|
311
|
+
|
|
312
|
+
```typescript
|
|
313
|
+
public readonly node: Node;
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
- *Type:* constructs.Node
|
|
317
|
+
|
|
318
|
+
The tree node.
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
### Route53User <a name="Route53User" id="@fallobst22/cdk-cross-account-route53.Route53User"></a>
|
|
324
|
+
|
|
325
|
+
#### Initializers <a name="Initializers" id="@fallobst22/cdk-cross-account-route53.Route53User.Initializer"></a>
|
|
326
|
+
|
|
327
|
+
```typescript
|
|
328
|
+
import { Route53User } from '@fallobst22/cdk-cross-account-route53'
|
|
329
|
+
|
|
330
|
+
new Route53User(scope: Construct, id: string, props: Route53UserProps)
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
| **Name** | **Type** | **Description** |
|
|
334
|
+
| --- | --- | --- |
|
|
335
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.Route53User.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
|
|
336
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.Route53User.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
|
|
337
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.Route53User.Initializer.parameter.props">props</a></code> | <code><a href="#@fallobst22/cdk-cross-account-route53.Route53UserProps">Route53UserProps</a></code> | *No description.* |
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
##### `scope`<sup>Required</sup> <a name="scope" id="@fallobst22/cdk-cross-account-route53.Route53User.Initializer.parameter.scope"></a>
|
|
342
|
+
|
|
343
|
+
- *Type:* constructs.Construct
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
##### `id`<sup>Required</sup> <a name="id" id="@fallobst22/cdk-cross-account-route53.Route53User.Initializer.parameter.id"></a>
|
|
348
|
+
|
|
349
|
+
- *Type:* string
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
##### `props`<sup>Required</sup> <a name="props" id="@fallobst22/cdk-cross-account-route53.Route53User.Initializer.parameter.props"></a>
|
|
354
|
+
|
|
355
|
+
- *Type:* <a href="#@fallobst22/cdk-cross-account-route53.Route53UserProps">Route53UserProps</a>
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
360
|
+
|
|
361
|
+
| **Name** | **Description** |
|
|
362
|
+
| --- | --- |
|
|
363
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.Route53User.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
##### `toString` <a name="toString" id="@fallobst22/cdk-cross-account-route53.Route53User.toString"></a>
|
|
368
|
+
|
|
369
|
+
```typescript
|
|
370
|
+
public toString(): string
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
Returns a string representation of this construct.
|
|
374
|
+
|
|
375
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
376
|
+
|
|
377
|
+
| **Name** | **Description** |
|
|
378
|
+
| --- | --- |
|
|
379
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.Route53User.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
##### ~~`isConstruct`~~ <a name="isConstruct" id="@fallobst22/cdk-cross-account-route53.Route53User.isConstruct"></a>
|
|
384
|
+
|
|
385
|
+
```typescript
|
|
386
|
+
import { Route53User } from '@fallobst22/cdk-cross-account-route53'
|
|
387
|
+
|
|
388
|
+
Route53User.isConstruct(x: any)
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
Checks if `x` is a construct.
|
|
392
|
+
|
|
393
|
+
###### `x`<sup>Required</sup> <a name="x" id="@fallobst22/cdk-cross-account-route53.Route53User.isConstruct.parameter.x"></a>
|
|
394
|
+
|
|
395
|
+
- *Type:* any
|
|
396
|
+
|
|
397
|
+
Any object.
|
|
398
|
+
|
|
399
|
+
---
|
|
400
|
+
|
|
401
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
402
|
+
|
|
403
|
+
| **Name** | **Type** | **Description** |
|
|
404
|
+
| --- | --- | --- |
|
|
405
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.Route53User.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
##### `node`<sup>Required</sup> <a name="node" id="@fallobst22/cdk-cross-account-route53.Route53User.property.node"></a>
|
|
410
|
+
|
|
411
|
+
```typescript
|
|
412
|
+
public readonly node: Node;
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
- *Type:* constructs.Node
|
|
416
|
+
|
|
417
|
+
The tree node.
|
|
418
|
+
|
|
419
|
+
---
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
## Structs <a name="Structs" id="Structs"></a>
|
|
423
|
+
|
|
424
|
+
### CrossAccountRoute53RecordSetProps <a name="CrossAccountRoute53RecordSetProps" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSetProps"></a>
|
|
425
|
+
|
|
426
|
+
#### Initializer <a name="Initializer" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSetProps.Initializer"></a>
|
|
427
|
+
|
|
428
|
+
```typescript
|
|
429
|
+
import { CrossAccountRoute53RecordSetProps } from '@fallobst22/cdk-cross-account-route53'
|
|
430
|
+
|
|
431
|
+
const crossAccountRoute53RecordSetProps: CrossAccountRoute53RecordSetProps = { ... }
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
435
|
+
|
|
436
|
+
| **Name** | **Type** | **Description** |
|
|
437
|
+
| --- | --- | --- |
|
|
438
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSetProps.property.delegationRoleAccount">delegationRoleAccount</a></code> | <code>string</code> | *No description.* |
|
|
439
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSetProps.property.delegationRoleName">delegationRoleName</a></code> | <code>string</code> | *No description.* |
|
|
440
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSetProps.property.hostedZoneId">hostedZoneId</a></code> | <code>string</code> | *No description.* |
|
|
441
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSetProps.property.resourceRecordSets">resourceRecordSets</a></code> | <code>any</code> | *No description.* |
|
|
442
|
+
|
|
443
|
+
---
|
|
444
|
+
|
|
445
|
+
##### `delegationRoleAccount`<sup>Required</sup> <a name="delegationRoleAccount" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSetProps.property.delegationRoleAccount"></a>
|
|
446
|
+
|
|
447
|
+
```typescript
|
|
448
|
+
public readonly delegationRoleAccount: string;
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
- *Type:* string
|
|
452
|
+
|
|
453
|
+
---
|
|
454
|
+
|
|
455
|
+
##### `delegationRoleName`<sup>Required</sup> <a name="delegationRoleName" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSetProps.property.delegationRoleName"></a>
|
|
456
|
+
|
|
457
|
+
```typescript
|
|
458
|
+
public readonly delegationRoleName: string;
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
- *Type:* string
|
|
462
|
+
|
|
463
|
+
---
|
|
464
|
+
|
|
465
|
+
##### `hostedZoneId`<sup>Required</sup> <a name="hostedZoneId" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSetProps.property.hostedZoneId"></a>
|
|
466
|
+
|
|
467
|
+
```typescript
|
|
468
|
+
public readonly hostedZoneId: string;
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
- *Type:* string
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
##### `resourceRecordSets`<sup>Required</sup> <a name="resourceRecordSets" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RecordSetProps.property.resourceRecordSets"></a>
|
|
476
|
+
|
|
477
|
+
```typescript
|
|
478
|
+
public readonly resourceRecordSets: any;
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
- *Type:* any
|
|
482
|
+
|
|
483
|
+
---
|
|
484
|
+
|
|
485
|
+
### CrossAccountRoute53RoleProps <a name="CrossAccountRoute53RoleProps" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RoleProps"></a>
|
|
486
|
+
|
|
487
|
+
#### Initializer <a name="Initializer" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RoleProps.Initializer"></a>
|
|
488
|
+
|
|
489
|
+
```typescript
|
|
490
|
+
import { CrossAccountRoute53RoleProps } from '@fallobst22/cdk-cross-account-route53'
|
|
491
|
+
|
|
492
|
+
const crossAccountRoute53RoleProps: CrossAccountRoute53RoleProps = { ... }
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
496
|
+
|
|
497
|
+
| **Name** | **Type** | **Description** |
|
|
498
|
+
| --- | --- | --- |
|
|
499
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RoleProps.property.records">records</a></code> | <code><a href="#@fallobst22/cdk-cross-account-route53.DelegatedRecord">DelegatedRecord</a>[]</code> | *No description.* |
|
|
500
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RoleProps.property.zone">zone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | *No description.* |
|
|
501
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RoleProps.property.assumedBy">assumedBy</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | *No description.* |
|
|
502
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RoleProps.property.roleName">roleName</a></code> | <code>string</code> | *No description.* |
|
|
503
|
+
|
|
504
|
+
---
|
|
505
|
+
|
|
506
|
+
##### `records`<sup>Required</sup> <a name="records" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RoleProps.property.records"></a>
|
|
507
|
+
|
|
508
|
+
```typescript
|
|
509
|
+
public readonly records: DelegatedRecord[];
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
- *Type:* <a href="#@fallobst22/cdk-cross-account-route53.DelegatedRecord">DelegatedRecord</a>[]
|
|
513
|
+
|
|
514
|
+
---
|
|
515
|
+
|
|
516
|
+
##### `zone`<sup>Required</sup> <a name="zone" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RoleProps.property.zone"></a>
|
|
517
|
+
|
|
518
|
+
```typescript
|
|
519
|
+
public readonly zone: IHostedZone;
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
- *Type:* aws-cdk-lib.aws_route53.IHostedZone
|
|
523
|
+
|
|
524
|
+
---
|
|
525
|
+
|
|
526
|
+
##### `assumedBy`<sup>Required</sup> <a name="assumedBy" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RoleProps.property.assumedBy"></a>
|
|
527
|
+
|
|
528
|
+
```typescript
|
|
529
|
+
public readonly assumedBy: IPrincipal;
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
- *Type:* aws-cdk-lib.aws_iam.IPrincipal
|
|
533
|
+
|
|
534
|
+
---
|
|
535
|
+
|
|
536
|
+
##### `roleName`<sup>Required</sup> <a name="roleName" id="@fallobst22/cdk-cross-account-route53.CrossAccountRoute53RoleProps.property.roleName"></a>
|
|
537
|
+
|
|
538
|
+
```typescript
|
|
539
|
+
public readonly roleName: string;
|
|
540
|
+
```
|
|
541
|
+
|
|
542
|
+
- *Type:* string
|
|
543
|
+
|
|
544
|
+
---
|
|
545
|
+
|
|
546
|
+
### DelegatedRecord <a name="DelegatedRecord" id="@fallobst22/cdk-cross-account-route53.DelegatedRecord"></a>
|
|
547
|
+
|
|
548
|
+
#### Initializer <a name="Initializer" id="@fallobst22/cdk-cross-account-route53.DelegatedRecord.Initializer"></a>
|
|
549
|
+
|
|
550
|
+
```typescript
|
|
551
|
+
import { DelegatedRecord } from '@fallobst22/cdk-cross-account-route53'
|
|
552
|
+
|
|
553
|
+
const delegatedRecord: DelegatedRecord = { ... }
|
|
554
|
+
```
|
|
555
|
+
|
|
556
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
557
|
+
|
|
558
|
+
| **Name** | **Type** | **Description** |
|
|
559
|
+
| --- | --- | --- |
|
|
560
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.DelegatedRecord.property.domains">domains</a></code> | <code>string[]</code> | *No description.* |
|
|
561
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.DelegatedRecord.property.types">types</a></code> | <code>string[]</code> | *No description.* |
|
|
562
|
+
|
|
563
|
+
---
|
|
564
|
+
|
|
565
|
+
##### `domains`<sup>Required</sup> <a name="domains" id="@fallobst22/cdk-cross-account-route53.DelegatedRecord.property.domains"></a>
|
|
566
|
+
|
|
567
|
+
```typescript
|
|
568
|
+
public readonly domains: string[];
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
- *Type:* string[]
|
|
572
|
+
|
|
573
|
+
---
|
|
574
|
+
|
|
575
|
+
##### `types`<sup>Optional</sup> <a name="types" id="@fallobst22/cdk-cross-account-route53.DelegatedRecord.property.types"></a>
|
|
576
|
+
|
|
577
|
+
```typescript
|
|
578
|
+
public readonly types: string[];
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
- *Type:* string[]
|
|
582
|
+
|
|
583
|
+
---
|
|
584
|
+
|
|
585
|
+
### DelegationConfig <a name="DelegationConfig" id="@fallobst22/cdk-cross-account-route53.DelegationConfig"></a>
|
|
586
|
+
|
|
587
|
+
#### Initializer <a name="Initializer" id="@fallobst22/cdk-cross-account-route53.DelegationConfig.Initializer"></a>
|
|
588
|
+
|
|
589
|
+
```typescript
|
|
590
|
+
import { DelegationConfig } from '@fallobst22/cdk-cross-account-route53'
|
|
591
|
+
|
|
592
|
+
const delegationConfig: DelegationConfig = { ... }
|
|
593
|
+
```
|
|
594
|
+
|
|
595
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
596
|
+
|
|
597
|
+
| **Name** | **Type** | **Description** |
|
|
598
|
+
| --- | --- | --- |
|
|
599
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.DelegationConfig.property.records">records</a></code> | <code><a href="#@fallobst22/cdk-cross-account-route53.DelegatedRecord">DelegatedRecord</a>[]</code> | *No description.* |
|
|
600
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.DelegationConfig.property.zone">zone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | *No description.* |
|
|
601
|
+
|
|
602
|
+
---
|
|
603
|
+
|
|
604
|
+
##### `records`<sup>Required</sup> <a name="records" id="@fallobst22/cdk-cross-account-route53.DelegationConfig.property.records"></a>
|
|
605
|
+
|
|
606
|
+
```typescript
|
|
607
|
+
public readonly records: DelegatedRecord[];
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
- *Type:* <a href="#@fallobst22/cdk-cross-account-route53.DelegatedRecord">DelegatedRecord</a>[]
|
|
611
|
+
|
|
612
|
+
---
|
|
613
|
+
|
|
614
|
+
##### `zone`<sup>Required</sup> <a name="zone" id="@fallobst22/cdk-cross-account-route53.DelegationConfig.property.zone"></a>
|
|
615
|
+
|
|
616
|
+
```typescript
|
|
617
|
+
public readonly zone: IHostedZone;
|
|
618
|
+
```
|
|
619
|
+
|
|
620
|
+
- *Type:* aws-cdk-lib.aws_route53.IHostedZone
|
|
621
|
+
|
|
622
|
+
---
|
|
623
|
+
|
|
624
|
+
### Route53UserProps <a name="Route53UserProps" id="@fallobst22/cdk-cross-account-route53.Route53UserProps"></a>
|
|
625
|
+
|
|
626
|
+
#### Initializer <a name="Initializer" id="@fallobst22/cdk-cross-account-route53.Route53UserProps.Initializer"></a>
|
|
627
|
+
|
|
628
|
+
```typescript
|
|
629
|
+
import { Route53UserProps } from '@fallobst22/cdk-cross-account-route53'
|
|
630
|
+
|
|
631
|
+
const route53UserProps: Route53UserProps = { ... }
|
|
632
|
+
```
|
|
633
|
+
|
|
634
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
635
|
+
|
|
636
|
+
| **Name** | **Type** | **Description** |
|
|
637
|
+
| --- | --- | --- |
|
|
638
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.Route53UserProps.property.records">records</a></code> | <code><a href="#@fallobst22/cdk-cross-account-route53.DelegatedRecord">DelegatedRecord</a>[]</code> | *No description.* |
|
|
639
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.Route53UserProps.property.zone">zone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | *No description.* |
|
|
640
|
+
| <code><a href="#@fallobst22/cdk-cross-account-route53.Route53UserProps.property.secretName">secretName</a></code> | <code>string</code> | *No description.* |
|
|
641
|
+
|
|
642
|
+
---
|
|
643
|
+
|
|
644
|
+
##### `records`<sup>Required</sup> <a name="records" id="@fallobst22/cdk-cross-account-route53.Route53UserProps.property.records"></a>
|
|
645
|
+
|
|
646
|
+
```typescript
|
|
647
|
+
public readonly records: DelegatedRecord[];
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
- *Type:* <a href="#@fallobst22/cdk-cross-account-route53.DelegatedRecord">DelegatedRecord</a>[]
|
|
651
|
+
|
|
652
|
+
---
|
|
653
|
+
|
|
654
|
+
##### `zone`<sup>Required</sup> <a name="zone" id="@fallobst22/cdk-cross-account-route53.Route53UserProps.property.zone"></a>
|
|
655
|
+
|
|
656
|
+
```typescript
|
|
657
|
+
public readonly zone: IHostedZone;
|
|
658
|
+
```
|
|
659
|
+
|
|
660
|
+
- *Type:* aws-cdk-lib.aws_route53.IHostedZone
|
|
661
|
+
|
|
662
|
+
---
|
|
663
|
+
|
|
664
|
+
##### `secretName`<sup>Required</sup> <a name="secretName" id="@fallobst22/cdk-cross-account-route53.Route53UserProps.property.secretName"></a>
|
|
665
|
+
|
|
666
|
+
```typescript
|
|
667
|
+
public readonly secretName: string;
|
|
668
|
+
```
|
|
669
|
+
|
|
670
|
+
- *Type:* string
|
|
671
|
+
|
|
672
|
+
---
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
|