Update an AWS Route 53 DNS record with your IPv4 and/or IPv6 public address
route53-ip-update [OPTIONS] [HOSTNAMES]...
[HOSTNAMES]...
The hostnames to update
-a
, --address-type <ADDRESS_TYPE>
-n
, --allow-nonroutable <ALLOW_NONROUTABLE>
-c
, --config-file <CONFIG_FILE>
-q
, --query-interfaces <QUERY_INTERFACES>
-Q
, --query-ip-service <QUERY_IP_SERVICE>
-I
, --ignore-interfaces <IGNORE_INTERFACES>
-s
, --ip-service <IP_SERVICE>
https://api64.ipify.org
.-t
, --timeout <TIMEOUT>
-T
, --ttl <TTL>
-r
, --route53-zone <ROUTE53_ZONE>
-h
, --help
-V
, --version
The configuration file may be in TOML, YAML, or JSON format. The parser used is deteremined by the extension (.toml
uses TOML; .yaml
, .yml
, and .json
use the YAML parser, which is JSON-compatible).
The format of the configuration file is as follows (YAML):
yaml
address-type: ipv4|ipv6|both # Types of addresses to include
allow-nonroutable: false|true # Whether non-routable records should be allowed
query-interfaces: false|true # Whether interfaces should be queried
query-ip-service: false|true # Whether the IP service should be queried
ignore-interfaces: # List of interfaces to ignore while querying
- interface-name
ip-service: https://hostname/ # IP service to query.
timeout: "10 s" # Timeout for the IP service
ttl: 60 # TTL in seconds to default to
route53-zones: # List of Route 53 zones
- zone-id: zone1-id # The Route 53 zone id
ttl: 60 # TTL in seconds to default to
hostnames: # List of hostnames to update
- hostname: host.net # Hostname to update
ttl: 10 # TTL in seconds to use for this record
- zone-id: zone2-id
hostnames: # Simplified way of specifying hostnames without TTL
- host.net