From f3529afa18f61f3fd043d3cc2258f3afeb0d7cb8 Mon Sep 17 00:00:00 2001 From: badra001 Date: Tue, 22 Feb 2022 13:20:43 -0500 Subject: [PATCH] - code 0.1.0 - add heritage TXT record support --- CHANGELOG.md | 4 ++++ README.md | 2 +- code/ddns-lambda.zip | Bin 11046 -> 11680 bytes variables.tf | 14 ++++++++------ version.tf | 2 +- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d4585e..5987854 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,3 +33,7 @@ * 0.0.22 -- 2022-02-22 - code 0.0.13 - fix typo + +* 0.0.23 -- 2022-02-22 + - code 0.1.0 + - add heritage TXT record support diff --git a/README.md b/README.md index 8c069fc..1e3c14d 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ No modules. | [component\_tags](#input\_component\_tags) | Additional tags for Components (s3, kms, ddb) | `map(map(string))` |
{
"ddb": {},
"kms": {},
"s3": {}
}
| no | | [create](#input\_create) | Flag to indicate whether to create the resources or not (default: true) | `bool` | `true` | no | | [dynamodb\_table\_name](#input\_dynamodb\_table\_name) | Different DynamoDB table name to override default of var.name) | `string` | `null` | no | -| [lambda\_environment\_variables](#input\_lambda\_environment\_variables) | Map of lambda environment variables and values | `map(string)` |
{
"DNS_RR_TimeToLive": 60,
"DynamoDBName": null,
"SleepTime": 60,
"TagKeyCname": "boc:dns:cname",
"TagKeyHostName": "boc:dns:name",
"TagKeyZone": "boc:dns:zone"
}
| no | +| [lambda\_environment\_variables](#input\_lambda\_environment\_variables) | Map of lambda environment variables and values | `map(string)` |
{
"DNS_RR_TimeToLive": 60,
"DynamoDBName": null,
"HeritageIdentifier": "dynr53",
"HeritageTXTRecordPrefix": "_txt",
"SleepTime": 60,
"TagKeyCname": "boc:dns:cname",
"TagKeyHostName": "boc:dns:name",
"TagKeyZone": "boc:dns:zone"
}
| no | | [lambda\_name](#input\_lambda\_name) | Different Lambda name to override default of var.name) | `string` | `null` | no | | [name](#input\_name) | Name to use within all the created resources (default: inf-dynamic-route53) | `string` | `"inf-dynamic-route53"` | no | | [override\_prefixes](#input\_override\_prefixes) | Override built-in prefixes by component. This should be used primarily for common infrastructure things | `map(string)` | `{}` | no | diff --git a/code/ddns-lambda.zip b/code/ddns-lambda.zip index ba3ca7cf836f957c347ef688aabc5f755b1d2754..157de091162e7ab17881d972a5320971d3c92c37 100644 GIT binary patch literal 11680 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 Z|1W}CQ3eeBf89X;nd*O$o$i0t{|AG~pkDw0 literal 11046 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 XD#=1Z{qHvDf2H