14
14
import argparse
15
15
16
16
from gcloud import dns
17
+ from gcloud .exceptions import NotFound
17
18
18
19
19
20
# [START create_zone]
20
21
def create_zone (project_id , name , dns_name , description ):
21
22
client = dns .Client (project = project_id )
22
23
zone = client .zone (
23
24
name , # examplezonename
24
- dns_name = dns_name ) # example.com.
25
- zone . description = description
25
+ dns_name = dns_name , # example.com.
26
+ description = description )
26
27
zone .create ()
27
28
return zone
28
29
# [END create_zone]
@@ -31,9 +32,13 @@ def create_zone(project_id, name, dns_name, description):
31
32
# [START get_zone]
32
33
def get_zone (project_id , name ):
33
34
client = dns .Client (project = project_id )
34
- zones , _ = client .list_zones ()
35
- zone = list (filter (lambda zone : zone .name == name , zones ))
36
- return zone .pop () if zone else None
35
+ zone = client .zone (name = name )
36
+
37
+ try :
38
+ zone .reload ()
39
+ return zone
40
+ except NotFound :
41
+ return None
37
42
# [END get_zone]
38
43
39
44
@@ -48,15 +53,15 @@ def list_zones(project_id):
48
53
# [START delete_zone]
49
54
def delete_zone (project_id , name ):
50
55
client = dns .Client (project = project_id )
51
- zone = client .zone (name , None )
56
+ zone = client .zone (name )
52
57
zone .delete ()
53
58
# [END delete_zone]
54
59
55
60
56
61
# [START list_resource_records]
57
62
def list_resource_records (project_id , zone_name ):
58
63
client = dns .Client (project = project_id )
59
- zone = client .zone (zone_name , None )
64
+ zone = client .zone (zone_name )
60
65
61
66
records , page_token = zone .list_resource_record_sets ()
62
67
while page_token is not None :
@@ -72,7 +77,7 @@ def list_resource_records(project_id, zone_name):
72
77
# [START changes]
73
78
def list_changes (project_id , zone_name ):
74
79
client = dns .Client (project = project_id )
75
- zone = client .zone (zone_name , None )
80
+ zone = client .zone (zone_name )
76
81
77
82
changes , _ = zone .list_changes ()
78
83
0 commit comments