1
0
mirror of https://github.com/github/octodns.git synced 2024-05-11 05:55:00 +00:00

Generate the zone name following the spec of Google Cloud DNS

Zone name must begin with a letter, end with a letter or digit, and only contain lowercase letters, digits or dashes, and be 63 characters or less.
For instance, a reverse zone of IPv6 may violate the spec on the first character and the length of the zone name.
This commit is contained in:
Masaki Tagawa
2018-02-14 01:16:09 +09:00
parent 5138d06162
commit 2a16e988e0
2 changed files with 20 additions and 2 deletions

View File

@@ -127,9 +127,12 @@ class GoogleCloudProvider(BaseProvider):
:type return: new google.cloud.dns.ManagedZone
"""
# Zone name must begin with a letter, end with a letter or digit,
# and only contain lowercase letters, digits or dashes
# and only contain lowercase letters, digits or dashes,
# and be 63 characters or less
zone_name = '{}-{}'.format(
dns_name[:-1].replace('.', '-'), uuid4().hex)
dns_name.replace('.', '-'), uuid4().hex)[:63]
if not zone_name[:1].isalpha():
zone_name = 'zone-{}'.format(zone_name[:58])
gcloud_zone = self.gcloud_client.zone(
name=zone_name,