@jaggr2/cdk-cf-dns 0.1.1 → 0.1.2
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/lib/handler/cloudflare.d.ts +4 -0
- package/lib/handler/cloudflare.js +17 -2
- package/lib/handler/cloudflare.js.map +1 -1
- package/lib/provider.d.ts +8 -0
- package/lib/provider.js +10 -8
- package/lib/provider.js.map +1 -1
- package/lib/record.js +14 -4
- package/lib/record.js.map +1 -1
- package/package.json +1 -1
- package/src/handler/cloudflare.ts +17 -2
- package/src/provider.ts +10 -8
- package/src/record.ts +15 -4
|
@@ -121,6 +121,10 @@ export declare function isRecordDoesNotExist(response: {
|
|
|
121
121
|
/**
|
|
122
122
|
* Builds the DNS record payload sent to the Cloudflare API from the custom
|
|
123
123
|
* resource properties.
|
|
124
|
+
*
|
|
125
|
+
* CloudFormation can deliver nested custom resource properties with stringified
|
|
126
|
+
* values (e.g. `ttl: "300"`), so numeric and boolean fields are coerced back to
|
|
127
|
+
* their real types before the payload is sent.
|
|
124
128
|
*/
|
|
125
129
|
export declare function buildRecordPayload(properties: Record<string, unknown>): Record<string, unknown>;
|
|
126
130
|
/**
|
|
@@ -233,13 +233,28 @@ function isRecordDoesNotExist(response) {
|
|
|
233
233
|
/**
|
|
234
234
|
* Builds the DNS record payload sent to the Cloudflare API from the custom
|
|
235
235
|
* resource properties.
|
|
236
|
+
*
|
|
237
|
+
* CloudFormation can deliver nested custom resource properties with stringified
|
|
238
|
+
* values (e.g. `ttl: "300"`), so numeric and boolean fields are coerced back to
|
|
239
|
+
* their real types before the payload is sent.
|
|
236
240
|
*/
|
|
237
241
|
function buildRecordPayload(properties) {
|
|
238
242
|
const record = (properties.record ?? {});
|
|
239
243
|
const payload = {};
|
|
240
244
|
for (const key of ['name', 'type', 'content', 'data', 'ttl', 'proxied', 'priority', 'comment', 'tags']) {
|
|
241
|
-
if (record[key]
|
|
242
|
-
|
|
245
|
+
if (record[key] === undefined) {
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
switch (key) {
|
|
249
|
+
case 'ttl':
|
|
250
|
+
case 'priority':
|
|
251
|
+
payload[key] = Number(record[key]);
|
|
252
|
+
break;
|
|
253
|
+
case 'proxied':
|
|
254
|
+
payload[key] = record[key] === true || record[key] === 'true';
|
|
255
|
+
break;
|
|
256
|
+
default:
|
|
257
|
+
payload[key] = record[key];
|
|
243
258
|
}
|
|
244
259
|
}
|
|
245
260
|
return payload;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../../src/handler/cloudflare.ts"],"names":[],"mappings":";;;AAoEA,wBAeC;AAKD,kBAEC;AASD,kCAgCC;AA2BD,0BAsDC;AA+BD,sCAIC;AAKD,0CASC;AAKD,oDAEC;
|
|
1
|
+
{"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../../src/handler/cloudflare.ts"],"names":[],"mappings":"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"}
|
package/lib/provider.d.ts
CHANGED
|
@@ -33,6 +33,10 @@ export declare class CloudflareDnsProvider extends Construct {
|
|
|
33
33
|
* Grants the provider's handler `secretsmanager:GetSecretValue` on the given
|
|
34
34
|
* secret. Repeated grants of the same secret are deduplicated.
|
|
35
35
|
*
|
|
36
|
+
* Delegates to `ISecret.grantRead`, which correctly handles partial ARNs for
|
|
37
|
+
* secrets imported by name (Secrets Manager appends a random suffix, so the
|
|
38
|
+
* grant targets `arn:...:secret:<name>-??????`).
|
|
39
|
+
*
|
|
36
40
|
* @param secret The secret holding a Cloudflare API token.
|
|
37
41
|
*/
|
|
38
42
|
grantSecretRead(secret: secretsmanager.ISecret): void;
|
|
@@ -69,6 +73,10 @@ export declare class CloudflareCertificateProvider extends Construct {
|
|
|
69
73
|
* Grants the provider's handler `secretsmanager:GetSecretValue` on the given
|
|
70
74
|
* secret. Repeated grants of the same secret are deduplicated.
|
|
71
75
|
*
|
|
76
|
+
* Delegates to `ISecret.grantRead`, which correctly handles partial ARNs for
|
|
77
|
+
* secrets imported by name (Secrets Manager appends a random suffix, so the
|
|
78
|
+
* grant targets `arn:...:secret:<name>-??????`).
|
|
79
|
+
*
|
|
72
80
|
* @param secret The secret holding a Cloudflare API token.
|
|
73
81
|
*/
|
|
74
82
|
grantSecretRead(secret: secretsmanager.ISecret): void;
|
package/lib/provider.js
CHANGED
|
@@ -148,6 +148,10 @@ class CloudflareDnsProvider extends constructs_1.Construct {
|
|
|
148
148
|
* Grants the provider's handler `secretsmanager:GetSecretValue` on the given
|
|
149
149
|
* secret. Repeated grants of the same secret are deduplicated.
|
|
150
150
|
*
|
|
151
|
+
* Delegates to `ISecret.grantRead`, which correctly handles partial ARNs for
|
|
152
|
+
* secrets imported by name (Secrets Manager appends a random suffix, so the
|
|
153
|
+
* grant targets `arn:...:secret:<name>-??????`).
|
|
154
|
+
*
|
|
151
155
|
* @param secret The secret holding a Cloudflare API token.
|
|
152
156
|
*/
|
|
153
157
|
grantSecretRead(secret) {
|
|
@@ -156,10 +160,7 @@ class CloudflareDnsProvider extends constructs_1.Construct {
|
|
|
156
160
|
return;
|
|
157
161
|
}
|
|
158
162
|
this.grantedSecrets.add(arn);
|
|
159
|
-
this.handlerRole
|
|
160
|
-
actions: ['secretsmanager:GetSecretValue'],
|
|
161
|
-
resources: [arn],
|
|
162
|
-
}));
|
|
163
|
+
secret.grantRead(this.handlerRole);
|
|
163
164
|
}
|
|
164
165
|
}
|
|
165
166
|
exports.CloudflareDnsProvider = CloudflareDnsProvider;
|
|
@@ -216,6 +217,10 @@ class CloudflareCertificateProvider extends constructs_1.Construct {
|
|
|
216
217
|
* Grants the provider's handler `secretsmanager:GetSecretValue` on the given
|
|
217
218
|
* secret. Repeated grants of the same secret are deduplicated.
|
|
218
219
|
*
|
|
220
|
+
* Delegates to `ISecret.grantRead`, which correctly handles partial ARNs for
|
|
221
|
+
* secrets imported by name (Secrets Manager appends a random suffix, so the
|
|
222
|
+
* grant targets `arn:...:secret:<name>-??????`).
|
|
223
|
+
*
|
|
219
224
|
* @param secret The secret holding a Cloudflare API token.
|
|
220
225
|
*/
|
|
221
226
|
grantSecretRead(secret) {
|
|
@@ -224,10 +229,7 @@ class CloudflareCertificateProvider extends constructs_1.Construct {
|
|
|
224
229
|
return;
|
|
225
230
|
}
|
|
226
231
|
this.grantedSecrets.add(arn);
|
|
227
|
-
this.handlerRole
|
|
228
|
-
actions: ['secretsmanager:GetSecretValue'],
|
|
229
|
-
resources: [arn],
|
|
230
|
-
}));
|
|
232
|
+
secret.grantRead(this.handlerRole);
|
|
231
233
|
}
|
|
232
234
|
}
|
|
233
235
|
exports.CloudflareCertificateProvider = CloudflareCertificateProvider;
|
package/lib/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|
package/lib/record.js
CHANGED
|
@@ -227,18 +227,28 @@ function resolveRecordName(recordName, zoneName) {
|
|
|
227
227
|
return recordName;
|
|
228
228
|
}
|
|
229
229
|
/**
|
|
230
|
-
*
|
|
231
|
-
*
|
|
230
|
+
* Encodes a TXT record value for Cloudflare. TXT content must consist of RFC
|
|
231
|
+
* 1035 "character strings" delimited by double quotes; Cloudflare's dashboard
|
|
232
|
+
* warns when content is not quoted and treats unquoted content as a single
|
|
233
|
+
* string. Values longer than 255 characters are split into a series of quoted
|
|
234
|
+
* segments.
|
|
232
235
|
*/
|
|
233
236
|
function chunkTxt(type, content) {
|
|
234
|
-
if (type !== CloudflareRecordType.TXT
|
|
237
|
+
if (type !== CloudflareRecordType.TXT) {
|
|
235
238
|
return content;
|
|
236
239
|
}
|
|
237
240
|
const chunks = [];
|
|
238
241
|
for (let i = 0; i < content.length; i += 255) {
|
|
239
242
|
chunks.push(content.slice(i, i + 255));
|
|
240
243
|
}
|
|
241
|
-
return chunks.map((chunk) => `"${chunk}"`).join(' ');
|
|
244
|
+
return chunks.map((chunk) => `"${escapeTxt(chunk)}"`).join(' ');
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Escapes double quotes and backslashes so the value can be wrapped as a single
|
|
248
|
+
* RFC 1035 quoted string (internal `"` and `\` are escaped with a backslash).
|
|
249
|
+
*/
|
|
250
|
+
function escapeTxt(value) {
|
|
251
|
+
return value.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
242
252
|
}
|
|
243
253
|
/**
|
|
244
254
|
* An A record.
|
package/lib/record.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jaggr2/cdk-cf-dns",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Manage Cloudflare DNS records as CloudFormation resources from AWS CDK, so Route 53 hosted zones are no longer needed.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -271,14 +271,29 @@ export function isRecordDoesNotExist(response: { status: number; body: Cloudflar
|
|
|
271
271
|
/**
|
|
272
272
|
* Builds the DNS record payload sent to the Cloudflare API from the custom
|
|
273
273
|
* resource properties.
|
|
274
|
+
*
|
|
275
|
+
* CloudFormation can deliver nested custom resource properties with stringified
|
|
276
|
+
* values (e.g. `ttl: "300"`), so numeric and boolean fields are coerced back to
|
|
277
|
+
* their real types before the payload is sent.
|
|
274
278
|
*/
|
|
275
279
|
export function buildRecordPayload(properties: Record<string, unknown>): Record<string, unknown> {
|
|
276
280
|
const record = (properties.record ?? {}) as Record<string, unknown>;
|
|
277
281
|
const payload: Record<string, unknown> = {};
|
|
278
282
|
|
|
279
283
|
for (const key of ['name', 'type', 'content', 'data', 'ttl', 'proxied', 'priority', 'comment', 'tags']) {
|
|
280
|
-
if (record[key]
|
|
281
|
-
|
|
284
|
+
if (record[key] === undefined) {
|
|
285
|
+
continue;
|
|
286
|
+
}
|
|
287
|
+
switch (key) {
|
|
288
|
+
case 'ttl':
|
|
289
|
+
case 'priority':
|
|
290
|
+
payload[key] = Number(record[key]);
|
|
291
|
+
break;
|
|
292
|
+
case 'proxied':
|
|
293
|
+
payload[key] = record[key] === true || record[key] === 'true';
|
|
294
|
+
break;
|
|
295
|
+
default:
|
|
296
|
+
payload[key] = record[key];
|
|
282
297
|
}
|
|
283
298
|
}
|
|
284
299
|
|
package/src/provider.ts
CHANGED
|
@@ -130,6 +130,10 @@ export class CloudflareDnsProvider extends Construct {
|
|
|
130
130
|
* Grants the provider's handler `secretsmanager:GetSecretValue` on the given
|
|
131
131
|
* secret. Repeated grants of the same secret are deduplicated.
|
|
132
132
|
*
|
|
133
|
+
* Delegates to `ISecret.grantRead`, which correctly handles partial ARNs for
|
|
134
|
+
* secrets imported by name (Secrets Manager appends a random suffix, so the
|
|
135
|
+
* grant targets `arn:...:secret:<name>-??????`).
|
|
136
|
+
*
|
|
133
137
|
* @param secret The secret holding a Cloudflare API token.
|
|
134
138
|
*/
|
|
135
139
|
public grantSecretRead(secret: secretsmanager.ISecret): void {
|
|
@@ -138,10 +142,7 @@ export class CloudflareDnsProvider extends Construct {
|
|
|
138
142
|
return;
|
|
139
143
|
}
|
|
140
144
|
this.grantedSecrets.add(arn);
|
|
141
|
-
this.handlerRole
|
|
142
|
-
actions: ['secretsmanager:GetSecretValue'],
|
|
143
|
-
resources: [arn],
|
|
144
|
-
}));
|
|
145
|
+
secret.grantRead(this.handlerRole);
|
|
145
146
|
}
|
|
146
147
|
}
|
|
147
148
|
|
|
@@ -207,6 +208,10 @@ export class CloudflareCertificateProvider extends Construct {
|
|
|
207
208
|
* Grants the provider's handler `secretsmanager:GetSecretValue` on the given
|
|
208
209
|
* secret. Repeated grants of the same secret are deduplicated.
|
|
209
210
|
*
|
|
211
|
+
* Delegates to `ISecret.grantRead`, which correctly handles partial ARNs for
|
|
212
|
+
* secrets imported by name (Secrets Manager appends a random suffix, so the
|
|
213
|
+
* grant targets `arn:...:secret:<name>-??????`).
|
|
214
|
+
*
|
|
210
215
|
* @param secret The secret holding a Cloudflare API token.
|
|
211
216
|
*/
|
|
212
217
|
public grantSecretRead(secret: secretsmanager.ISecret): void {
|
|
@@ -215,9 +220,6 @@ export class CloudflareCertificateProvider extends Construct {
|
|
|
215
220
|
return;
|
|
216
221
|
}
|
|
217
222
|
this.grantedSecrets.add(arn);
|
|
218
|
-
this.handlerRole
|
|
219
|
-
actions: ['secretsmanager:GetSecretValue'],
|
|
220
|
-
resources: [arn],
|
|
221
|
-
}));
|
|
223
|
+
secret.grantRead(this.handlerRole);
|
|
222
224
|
}
|
|
223
225
|
}
|
package/src/record.ts
CHANGED
|
@@ -308,18 +308,29 @@ export function resolveRecordName(recordName: string | undefined, zoneName: stri
|
|
|
308
308
|
}
|
|
309
309
|
|
|
310
310
|
/**
|
|
311
|
-
*
|
|
312
|
-
*
|
|
311
|
+
* Encodes a TXT record value for Cloudflare. TXT content must consist of RFC
|
|
312
|
+
* 1035 "character strings" delimited by double quotes; Cloudflare's dashboard
|
|
313
|
+
* warns when content is not quoted and treats unquoted content as a single
|
|
314
|
+
* string. Values longer than 255 characters are split into a series of quoted
|
|
315
|
+
* segments.
|
|
313
316
|
*/
|
|
314
317
|
function chunkTxt(type: CloudflareRecordType, content: string): string {
|
|
315
|
-
if (type !== CloudflareRecordType.TXT
|
|
318
|
+
if (type !== CloudflareRecordType.TXT) {
|
|
316
319
|
return content;
|
|
317
320
|
}
|
|
318
321
|
const chunks: string[] = [];
|
|
319
322
|
for (let i = 0; i < content.length; i += 255) {
|
|
320
323
|
chunks.push(content.slice(i, i + 255));
|
|
321
324
|
}
|
|
322
|
-
return chunks.map((chunk) => `"${chunk}"`).join(' ');
|
|
325
|
+
return chunks.map((chunk) => `"${escapeTxt(chunk)}"`).join(' ');
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Escapes double quotes and backslashes so the value can be wrapped as a single
|
|
330
|
+
* RFC 1035 quoted string (internal `"` and `\` are escaped with a backslash).
|
|
331
|
+
*/
|
|
332
|
+
function escapeTxt(value: string): string {
|
|
333
|
+
return value.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
323
334
|
}
|
|
324
335
|
|
|
325
336
|
/**
|