{"id":19293185,"url":"https://github.com/jweyrich/aws-route53-replace-ips","last_synced_at":"2026-05-17T01:33:45.408Z","repository":{"id":137208359,"uuid":"161645140","full_name":"jweyrich/aws-route53-replace-ips","owner":"jweyrich","description":"☁ Route53 - Replace multiple IPs in multiple zones","archived":false,"fork":false,"pushed_at":"2018-12-13T13:45:20.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-04T23:01:51.027Z","etag":null,"topics":["aws","dns","ip","ip-address","replace","replacement","route53","zonefile"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jweyrich.png","metadata":{"files":{"readme":"README.md","changelog":"changed_zones/.gitkeep","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-13T13:44:24.000Z","updated_at":"2022-06-18T06:59:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"4c8eb1ff-c848-4927-a77d-7c26cd52b8b4","html_url":"https://github.com/jweyrich/aws-route53-replace-ips","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jweyrich/aws-route53-replace-ips","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jweyrich%2Faws-route53-replace-ips","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jweyrich%2Faws-route53-replace-ips/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jweyrich%2Faws-route53-replace-ips/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jweyrich%2Faws-route53-replace-ips/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jweyrich","download_url":"https://codeload.github.com/jweyrich/aws-route53-replace-ips/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jweyrich%2Faws-route53-replace-ips/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267575666,"owners_count":24110234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","dns","ip","ip-address","replace","replacement","route53","zonefile"],"created_at":"2024-11-09T22:34:15.822Z","updated_at":"2026-05-17T01:33:45.376Z","avatar_url":"https://github.com/jweyrich.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Route53 - Replace multiple IPs in multiple zones\n\n### Dependencies\n\n* [cli53](https://github.com/barnybug/cli53)\n\n### Working flow\n\n\t\tREAD FROM\t\t  SCRIPT\t      WRITE TO\n\t---------------------------------------------------------------------------\n\tzones.txt,Route53     \t\t\u003e export.sh         \u003e original_zones/*.zone\n\tzones.txt,original_zones/*.zone \u003e replace.sh        \u003e changed_zones/*.zone\n\tzones.txt,changed_zones/*.zone  \u003e apply_changes.sh  \u003e Route53\n\tzones.txt,original_zones/*.zone \u003e revert_changes.sh \u003e Route53\n\n### Configurations\n\n`AWS_PROFILE`: Configures the AWS profile to be used when running the scripts. The default value is `default`. For information about named profiles, read [CLI - Named Profiles](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html).\n\n`ORIGINAL_ZONES_FOLDER`: Configure the folder where your original zone files will reside. This configuration tells `export.sh` where to write the zones exported from Route53. The default value is `original_zones`.\n\n`CHANGED_ZONES_FOLDER`: Configure the folder where your changed zone files will reside. This configuration tells `replace.sh` where to copy the original zones files and perform the replacements. It also tells `apply_changes.sh` which zone files it should import to Route53. The default value is `changed_zones`.\n\n`ZONE_FILE_EXTENSION`: Configure the zone files extension, without the leading dot. The default value is `zone`.\n\n`ZONES_FILE`: Configure the file where the Route53 Zone IDs are defined. Each row in `ZONES_FILE` specifies a Route53 zone ID. The zone IDs specified there are the ones to be used by `replace.sh`, `apply_changes.sh`, and `revert_changes.sh`. The default value is `zones.txt`.\n\n`MAP_FILE`: Configure the file where the IP mappings are stored. The default value is `maps.txt`.\n\n`MAP_SEPARTOR`. Configure the separator character used to separate the OLD_IP and the NEW_IP in the `MAP_FILE`. The default value is `':'`. Example: `10.1.1.1:172.16.0.10`.\n\n### How to use?\n\n1. Export all zone(s) specified in `zones.txt` from Route53 to `original_zones/*.zone`:\n\n    ./export.sh\n\n2. Define all IP replacements you want to apply to the zones stored in `original_zones/*.zone`. Each row in `maps.txt` should use the following format:\n\n    OLD_IP:NEW_IP\n\nExample:\n\n    10.1.1.1:172.16.0.10\n    10.1.1.2:172.16.0.11\n    10.1.1.3:172.16.0.12\n\n3. Replace all mapped IPs locally. Each zone in `original_zones/*.zone` will be copied to `changed_zones/*.zone` and the IPs replacement will be applied only to `changed_zones/*.zone`:\n\n    ./replace.sh\n\n4. Apply the changes to Route53 by re-importing the zones from `changed_zones/*.zone`:\n\n    ./apply_changes.sh\n\nIf you want to undo/revert/rollback the changes you applied to Route53 in step 4, just run:\n\n    ./revert_changes.sh\n\nThis will re-import the zones from `original_zones/*.zone` over the existing zones in Route53.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjweyrich%2Faws-route53-replace-ips","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjweyrich%2Faws-route53-replace-ips","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjweyrich%2Faws-route53-replace-ips/lists"}