gandi_v5 0.3.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +56 -2
  4. data/.travis.yml +6 -1
  5. data/CHANGELOG.md +61 -0
  6. data/LICENSE.md +2 -6
  7. data/README.md +15 -9
  8. data/gandi_v5.gemspec +2 -2
  9. data/lib/gandi_v5.rb +40 -14
  10. data/lib/gandi_v5/data.rb +1 -2
  11. data/lib/gandi_v5/data/converter/integer.rb +26 -0
  12. data/lib/gandi_v5/domain.rb +13 -14
  13. data/lib/gandi_v5/email/forward.rb +2 -8
  14. data/lib/gandi_v5/email/mailbox.rb +57 -11
  15. data/lib/gandi_v5/email/slot.rb +11 -3
  16. data/lib/gandi_v5/live_dns.rb +0 -12
  17. data/lib/gandi_v5/live_dns/domain.rb +313 -29
  18. data/lib/gandi_v5/live_dns/domain/dnssec_key.rb +115 -0
  19. data/lib/gandi_v5/live_dns/domain/record.rb +81 -0
  20. data/lib/gandi_v5/live_dns/domain/snapshot.rb +107 -0
  21. data/lib/gandi_v5/live_dns/domain/tsig_key.rb +71 -0
  22. data/lib/gandi_v5/organization.rb +10 -0
  23. data/lib/gandi_v5/organization/customer.rb +90 -0
  24. data/lib/gandi_v5/sharing_space.rb +27 -0
  25. data/lib/gandi_v5/simple_hosting.rb +12 -0
  26. data/lib/gandi_v5/simple_hosting/instance.rb +242 -0
  27. data/lib/gandi_v5/simple_hosting/instance/application.rb +44 -0
  28. data/lib/gandi_v5/simple_hosting/instance/database.rb +19 -0
  29. data/lib/gandi_v5/simple_hosting/instance/language.rb +22 -0
  30. data/lib/gandi_v5/simple_hosting/instance/upgrade.rb +21 -0
  31. data/lib/gandi_v5/simple_hosting/instance/virtual_host.rb +187 -0
  32. data/lib/gandi_v5/simple_hosting/instance/virtual_host/linked_dns_zone.rb +74 -0
  33. data/lib/gandi_v5/version.rb +1 -1
  34. data/spec/.rubocop.yml +56 -2
  35. data/spec/fixtures/bodies/GandiV5_Domain/fetch.yml +8 -0
  36. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain/fetch.yml +1 -2
  37. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain/list_tsig.yml +3 -0
  38. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain/nameservers.yml +3 -0
  39. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain_DnssecKey/fetch.yml +12 -0
  40. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain_DnssecKey/list.yml +9 -0
  41. data/spec/fixtures/bodies/{GandiV5_LiveDNS_Zone_Snapshot → GandiV5_LiveDNS_Domain_Snapshot}/fetch.yml +4 -3
  42. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain_Snapshot/list.yml +5 -0
  43. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain_TsigKey/fetch.yml +9 -0
  44. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain_TsigKey/list.yml +4 -0
  45. data/spec/fixtures/bodies/GandiV5_Organization_Customer/list.yml +8 -0
  46. data/spec/fixtures/bodies/GandiV5_SimpleHosting_Instance/fetch.yml +80 -0
  47. data/spec/fixtures/bodies/GandiV5_SimpleHosting_Instance/list.yml +38 -0
  48. data/spec/fixtures/bodies/GandiV5_SimpleHosting_Instance_VirtualHost/fetch.yml +26 -0
  49. data/spec/fixtures/bodies/GandiV5_SimpleHosting_Instance_VirtualHost/list.yml +18 -0
  50. data/spec/units/gandi_v5/data/converter/integer_spec.rb +16 -0
  51. data/spec/units/gandi_v5/domain_spec.rb +53 -43
  52. data/spec/units/gandi_v5/email/forward_spec.rb +5 -34
  53. data/spec/units/gandi_v5/email/mailbox_spec.rb +119 -37
  54. data/spec/units/gandi_v5/email/slot_spec.rb +10 -2
  55. data/spec/units/gandi_v5/live_dns/domain/dnssec_key_spec.rb +128 -0
  56. data/spec/units/gandi_v5/live_dns/{record_set_spec.rb → domain/record_spec.rb} +1 -1
  57. data/spec/units/gandi_v5/live_dns/domain/snapshot_spec.rb +101 -0
  58. data/spec/units/gandi_v5/live_dns/domain/tsig_key_spec.rb +78 -0
  59. data/spec/units/gandi_v5/live_dns/domain_spec.rb +297 -118
  60. data/spec/units/gandi_v5/live_dns_spec.rb +0 -12
  61. data/spec/units/gandi_v5/organization/customer_spec.rb +81 -0
  62. data/spec/units/gandi_v5/organization_spec.rb +14 -0
  63. data/spec/units/gandi_v5/sharing_space_spec.rb +4 -0
  64. data/spec/units/gandi_v5/simple_hosting/instance/application_spec.rb +37 -0
  65. data/spec/units/gandi_v5/simple_hosting/instance/database_spec.rb +4 -0
  66. data/spec/units/gandi_v5/simple_hosting/instance/language_spec.rb +4 -0
  67. data/spec/units/gandi_v5/simple_hosting/instance/upgrade_spec.rb +4 -0
  68. data/spec/units/gandi_v5/simple_hosting/instance/virtual_host/linked_dns_zone_spec.rb +50 -0
  69. data/spec/units/gandi_v5/simple_hosting/instance/virtual_host_spec.rb +199 -0
  70. data/spec/units/gandi_v5/simple_hosting/instance_spec.rb +182 -0
  71. data/spec/units/gandi_v5/simple_hosting_spec.rb +9 -0
  72. data/spec/units/gandi_v5_spec.rb +139 -30
  73. metadata +50 -31
  74. data/lib/gandi_v5/domain/sharing_space.rb +0 -21
  75. data/lib/gandi_v5/live_dns/has_zone_records.rb +0 -153
  76. data/lib/gandi_v5/live_dns/record_set.rb +0 -79
  77. data/lib/gandi_v5/live_dns/zone.rb +0 -160
  78. data/lib/gandi_v5/live_dns/zone/snapshot.rb +0 -81
  79. data/spec/features/domain_spec.rb +0 -45
  80. data/spec/features/livedns_domain_spec.rb +0 -8
  81. data/spec/features/livedns_zone_spec.rb +0 -45
  82. data/spec/features/mailbox_spec.rb +0 -18
  83. data/spec/fixtures/bodies/GandiV5_LiveDNS_Zone/fetch.yml +0 -11
  84. data/spec/fixtures/bodies/GandiV5_LiveDNS_Zone/list.yml +0 -11
  85. data/spec/fixtures/bodies/GandiV5_LiveDNS_Zone_Snapshot/list.yml +0 -3
  86. data/spec/fixtures/vcr/Domain_features/List_domains.yml +0 -55
  87. data/spec/fixtures/vcr/Domain_features/Renew_domain.yml +0 -133
  88. data/spec/fixtures/vcr/LiveDNS_Domain_features/List_domains.yml +0 -32
  89. data/spec/fixtures/vcr/LiveDNS_Zone_features/List_zones.yml +0 -42
  90. data/spec/fixtures/vcr/LiveDNS_Zone_features/Make_and_save_snapshot.yml +0 -72
  91. data/spec/fixtures/vcr/LiveDNS_Zone_features/Save_zone_to_file.yml +0 -28
  92. data/spec/fixtures/vcr/Mailbox_features/List_mailboxes.yml +0 -39
  93. data/spec/units/gandi_v5/domain/sharing_space_spec.rb +0 -4
  94. data/spec/units/gandi_v5/live_dns/zone/snapshot_spec.rb +0 -66
  95. data/spec/units/gandi_v5/live_dns/zone_spec.rb +0 -347
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe 'Domain features' do
4
- it 'List domains', :vcr do
5
- list = GandiV5.domains
6
-
7
- expect(list.count).to eq 1
8
- expect(list.first.fqdn).to eq 'example.net'
9
- expect(list.first.fqdn_unicode).to eq 'example.net'
10
- expect(list.first.name_servers).to eq []
11
- expect(list.first.services).to be nil
12
- expect(list.first.sharing_space).to be nil
13
- expect(list.first.status).to match_array [:clientTransferProhibited]
14
- expect(list.first.tld).to eq 'net'
15
- expect(list.first.dates.registry_created_at).to eq Time.new(2019, 2, 13, 10, 4, 18)
16
- expect(list.first.dates.updated_at).to eq Time.new(2019, 2, 25, 16, 20, 49)
17
- expect(list.first.dates.authinfo_expires_at).to be nil
18
- expect(list.first.dates.created_at).to eq Time.new(2019, 2, 13, 11, 4, 18)
19
- expect(list.first.dates.deletes_at).to be nil
20
- expect(list.first.dates.hold_begins_at).to be nil
21
- expect(list.first.dates.hold_ends_at).to be nil
22
- expect(list.first.dates.pending_delete_ends_at).to be nil
23
- expect(list.first.dates.registry_ends_at).to eq Time.new(2021, 2, 13, 10, 4, 18)
24
- expect(list.first.dates.renew_begins_at).to be nil
25
- expect(list.first.dates.restore_ends_at).to be nil
26
- expect(list.first.can_tld_lock).to be nil
27
- expect(list.first.auto_renew.dates).to be nil
28
- expect(list.first.auto_renew.duration).to be nil
29
- expect(list.first.auto_renew.enabled).to be false
30
- expect(list.first.auto_renew.org_id).to be nil
31
- expect(list.first.auth_info).to be nil
32
- expect(list.first.uuid).to eq 'ba1167be-2f76-11e9-9dfb-00163ec4cb00'
33
- expect(list.first.sharing_uuid).to be nil
34
- expect(list.first.tags).to match_array []
35
- expect(list.first.trustee_roles).to be nil
36
- expect(list.first.owner).to eq 'alice_doe'
37
- expect(list.first.organisation_owner).to eq 'alice_doe'
38
- expect(list.first.domain_owner).to eq 'Alice Doe'
39
- expect(list.first.name_server).to be :livedns
40
- end
41
-
42
- it 'Renew domain', :vcr do
43
- expect(GandiV5::Domain.fetch('example.net').renew_for(2)).to eq 'Domain renewed.'
44
- end
45
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe 'LiveDNS Domain features' do
4
- it 'List domains', :vcr do
5
- list = GandiV5::LiveDNS::Domain.list
6
- expect(list.map(&:fqdn)).to match_array %w[example.com example.net]
7
- end
8
- end
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe 'LiveDNS Zone features' do
4
- it 'List zones', :vcr do
5
- list = GandiV5::LiveDNS::Zone.list
6
-
7
- expect(list.count).to eq 1
8
- expect(list.first.uuid).to eq 'uuid-of-zone'
9
- expect(list.first.name).to eq 'Zone Name'
10
- expect(list.first.sharing_uuid).to be nil
11
- expect(list.first.soa_retry).to eq 3_600
12
- expect(list.first.soa_minimum).to eq 10_800
13
- expect(list.first.soa_refresh).to eq 10_800
14
- expect(list.first.soa_expire).to eq 604_800
15
- expect(list.first.soa_serial).to eq 1_432_798_405
16
- expect(list.first.soa_email).to eq 'hostmaster.gandi.net.'
17
- expect(list.first.soa_primary_ns).to eq 'a.dns.gandi.net.'
18
- end
19
-
20
- it 'Save zone to file', :vcr do
21
- zone = GandiV5::LiveDNS::Zone.new uuid: 'zone-uuid'
22
- expect(File).to receive(:write).with('/path/to/file', "Contents of zone file.\n")
23
-
24
- File.write '/path/to/file', zone.fetch_zone_lines
25
- end
26
-
27
- it 'Make and save snapshot', :vcr do
28
- yaml = "--- !ruby/object:GandiV5::LiveDNS::Zone::Snapshot\n" \
29
- "uuid: snapshot-uuid\n" \
30
- "zone_uuid: zone-uuid\n" \
31
- "created_at: 2016-12-16 16:51:26.000000000 Z\n" \
32
- "records:\n" \
33
- "- !ruby/object:GandiV5::LiveDNS::RecordSet\n" \
34
- " type: A\n" \
35
- " ttl: 10800\n" \
36
- " name: www\n" \
37
- " values:\n" \
38
- " - 10.0.1.42\n"
39
- expect(File).to receive(:write).with('/path/to/file', yaml)
40
-
41
- zone = GandiV5::LiveDNS::Zone.new uuid: 'zone-uuid'
42
- snapshot = zone.take_snapshot
43
- File.write '/path/to/file', snapshot.to_yaml
44
- end
45
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe 'Mailbox features' do
4
- it 'List mailboxes', :vcr do
5
- list = GandiV5::Email::Mailbox.list 'example.net'
6
-
7
- expect(list.count).to eq 1
8
- expect(list.first.login).to eq 'alice'
9
- expect(list.first.fqdn).to eq 'example.net'
10
- expect(list.first.address).to eq 'alice@example.net'
11
- expect(list.first.uuid).to eq '066743e5-96e4-4a1d-9195-8b8a700a8a79'
12
- expect(list.first.type).to be :standard
13
- expect(list.first.quota_used).to eq 1_200
14
- expect(list.first.aliases).to be nil
15
- expect(list.first.fallback_email).to be nil
16
- expect(list.first.responder).to be nil
17
- end
18
- end
@@ -1,11 +0,0 @@
1
- ---
2
- retry: 3600
3
- uuid: zone-uuid
4
- minimum: 900
5
- refresh: 10800
6
- expire: 604800
7
- serial: 1432798405
8
- user_uuid: user-uuid
9
- email: hostmaster.gandi.net.
10
- primary_ns: a.dns.gandi.net.
11
- name: Name
@@ -1,11 +0,0 @@
1
- ---
2
- - retry: 3600
3
- uuid: zone-uuid
4
- minimum: 900
5
- refresh: 10800
6
- expire: 604800
7
- serial: 1432798405
8
- user_uuid: user-uuid
9
- email: hostmaster.gandi.net.
10
- primary_ns: a.dns.gandi.net.
11
- name: Name
@@ -1,3 +0,0 @@
1
- ---
2
- - uuid: snapshot-uuid
3
- date_created: '2016-12-16T16:51:26Z'
@@ -1,55 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://api.gandi.net/v5/domain/domains?page=1&per_page=100
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- Accept:
11
- - application/json
12
- Authorization:
13
- - Apikey abdce12345
14
- Host:
15
- - api.gandi.net
16
- response:
17
- status:
18
- code: 200
19
- message: OK
20
- headers:
21
- Content-Type:
22
- - application/json; charset=utf-8
23
- body:
24
- encoding: UTF-8
25
- string: |-
26
- [
27
- {
28
- "status": [
29
- "clientTransferProhibited"
30
- ],
31
- "dates": {
32
- "created_at": "2019-02-13T11:04:18Z",
33
- "registry_created_at": "2019-02-13T10:04:18Z",
34
- "registry_ends_at": "2021-02-13T10:04:18Z",
35
- "updated_at": "2019-02-25T16:20:49Z"
36
- },
37
- "tags": [],
38
- "fqdn": "example.net",
39
- "id": "ba1167be-2f76-11e9-9dfb-00163ec4cb00",
40
- "autorenew": false,
41
- "tld": "net",
42
- "owner": "alice_doe",
43
- "orga_owner": "alice_doe",
44
- "domain_owner": "Alice Doe",
45
- "nameserver": {
46
- "current": "livedns"
47
- },
48
- "href": "https://api.test/v5/domain/domains/example.net",
49
- "fqdn_unicode": "example.net",
50
- "nameservers": []
51
- }
52
- ]
53
- http_version:
54
- recorded_at: Thu, 30 May 2019 06:22:02 GMT
55
- recorded_with: VCR 4.0.0
@@ -1,133 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://api.gandi.net/v5/domain/domains/example.net
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- Accept:
11
- - application/json
12
- Authorization:
13
- - Apikey abdce12345
14
- Host:
15
- - api.gandi.net
16
- response:
17
- status:
18
- code: 200
19
- message: OK
20
- headers:
21
- Content-Type:
22
- - application/json; charset=utf-8
23
- body:
24
- encoding: UTF-8
25
- string: |-
26
- {
27
- "status": [
28
- "clientTransferProhibited"
29
- ],
30
- "dates": {
31
- "created_at": "2019-02-13T11:04:18Z",
32
- "deletes_at": "2021-03-30T00:04:18Z",
33
- "hold_begins_at": "2021-02-13T10:04:18Z",
34
- "hold_ends_at": "2021-03-30T10:04:18Z",
35
- "pending_delete_ends_at": "2021-05-04T10:04:18Z",
36
- "registry_created_at": "2019-02-13T10:04:18Z",
37
- "registry_ends_at": "2021-02-13T10:04:18Z",
38
- "renew_begins_at": "2012-01-01T00:00:00Z",
39
- "restore_ends_at": "2021-04-29T10:04:18Z",
40
- "updated_at": "2019-02-25T16:20:49Z",
41
- "authinfo_expires_at": "2020-02-25T16:20:49Z"
42
- },
43
- "can_tld_lock": true,
44
- "tags": [],
45
- "nameservers": [
46
- "ns-25-a.gnadi.net",
47
- "ns-113-b.gnadi.net",
48
- "ns-58-c.gnadi.net"
49
- ],
50
- "contacts": {
51
- "owner": {
52
- "city": "Paris",
53
- "given": "Alice",
54
- "reachability": "pending",
55
- "family": "Doe",
56
- "zip": "75001",
57
- "extra_parameters": {
58
- "birth_date": "",
59
- "birth_department": "",
60
- "birth_city": "",
61
- "birth_country": ""
62
- },
63
- "country": "FR",
64
- "streetaddr": "5 rue neuve",
65
- "data_obfuscated": true,
66
- "mail_obfuscated": true,
67
- "phone": "+33.123456789",
68
- "state": "FR-J",
69
- "validation": "none",
70
- "type": 0,
71
- "email": "alice@example.org"
72
- }
73
- },
74
- "fqdn": "example.net",
75
- "autorenew": {
76
- "dates": [
77
- "2021-01-13T09:04:18Z",
78
- "2021-01-29T10:04:18Z",
79
- "2021-02-12T10:04:18Z"
80
- ],
81
- "org_id": "fe0b931c-18c5-11e9-b9b5-00163ec4cb00",
82
- "duration": 1,
83
- "href": "http://api.test/v5/domain/domains/example.net/autorenew",
84
- "enabled": false
85
- },
86
- "authinfo": "8vyhljvJg+",
87
- "sharing_space": {
88
- "id": "fe0b931c-18c5-11e9-b9b5-00163ec4cb00",
89
- "name": "alice_doe"
90
- },
91
- "tld": "net",
92
- "services": [
93
- "gandilivedns",
94
- "mailboxv2"
95
- ],
96
- "id": "ba1167be-2f76-11e9-9dfb-00163ec4cb00",
97
- "trustee_roles": [],
98
- "href": "http://api.test/v5/domain/domains/example.net",
99
- "fqdn_unicode": "example.net"
100
- }
101
- http_version:
102
- recorded_at: Thu, 30 May 2019 06:22:02 GMT
103
-
104
- - request:
105
- method: post
106
- uri: https://api.gandi.net/v5/domain/domains/example.net/renew
107
- body:
108
- encoding: US-ASCII
109
- string: '{"duration":2}'
110
- headers:
111
- Accept:
112
- - application/json
113
- Authorization:
114
- - Apikey abdce12345
115
- Host:
116
- - api.gandi.net
117
- response:
118
- status:
119
- code: 200
120
- message: OK
121
- headers:
122
- Content-Type:
123
- - application/json; charset=utf-8
124
- body:
125
- encoding: UTF-8
126
- string: |-
127
- {
128
- "message":"Domain renewed."
129
- }
130
- http_version:
131
- recorded_at: Thu, 30 May 2019 06:22:02 GMT
132
-
133
- recorded_with: VCR 4.0.0
@@ -1,32 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://dns.api.gandi.net/api/v5/domains
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- Accept:
11
- - application/json
12
- Authorization:
13
- - Apikey abdce12345
14
- Host:
15
- - api.gandi.net
16
- response:
17
- status:
18
- code: 200
19
- message: OK
20
- headers:
21
- Content-Type:
22
- - application/json; charset=utf-8
23
- body:
24
- encoding: UTF-8
25
- string: |-
26
- [
27
- {"fqdn":"example.com"},
28
- {"fqdn":"example.net"}
29
- ]
30
- http_version:
31
- recorded_at: Thu, 30 May 2019 06:22:02 GMT
32
- recorded_with: VCR 4.0.0
@@ -1,42 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://dns.api.gandi.net/api/v5/zones
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- Accept:
11
- - application/json
12
- X-Api-Key:
13
- - abdce12345
14
- Host:
15
- - api.gandi.net
16
- response:
17
- status:
18
- code: 200
19
- message: OK
20
- headers:
21
- Content-Type:
22
- - application/json; charset=utf-8
23
- body:
24
- encoding: UTF-8
25
- string: |-
26
- [
27
- {
28
- "retry": 3600,
29
- "uuid": "uuid-of-zone",
30
- "minimum": 10800,
31
- "refresh": 10800,
32
- "expire": 604800,
33
- "serial": 1432798405,
34
- "user_uuid": "uuid-of-user",
35
- "email": "hostmaster.gandi.net.",
36
- "primary_ns": "a.dns.gandi.net.",
37
- "name": "Zone Name"
38
- }
39
- ]
40
- http_version:
41
- recorded_at: Thu, 30 May 2019 06:22:02 GMT
42
- recorded_with: VCR 4.0.0
@@ -1,72 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: post
5
- uri: https://dns.api.gandi.net/api/v5/zones/zone-uuid/snapshots
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- Accept:
11
- - application/json
12
- X-Api-Key:
13
- - abdce12345
14
- Host:
15
- - api.gandi.net
16
- response:
17
- status:
18
- code: 200
19
- message: OK
20
- headers:
21
- Content-Type:
22
- - application/json; charset=utf-8
23
- body:
24
- encoding: UTF-8
25
- string: |-
26
- {
27
- "message": "Zone Snapshot Created",
28
- "uuid": "snapshot-uuid"
29
- }
30
- http_version:
31
- recorded_at: Thu, 30 May 2019 06:22:02 GMT
32
-
33
- - request:
34
- method: get
35
- uri: https://dns.api.gandi.net/api/v5/zones/zone-uuid/snapshots/snapshot-uuid
36
- body:
37
- encoding: US-ASCII
38
- string: ''
39
- headers:
40
- Accept:
41
- - text/plain
42
- X-Api-Key:
43
- - abdce12345
44
- Host:
45
- - api.gandi.net
46
- response:
47
- status:
48
- code: 200
49
- message: OK
50
- headers:
51
- Content-Type:
52
- - application/json; charset=utf-8
53
- body:
54
- encoding: UTF-8
55
- string: |-
56
- {
57
- "date_created": "2016-12-16T16:51:26Z",
58
- "uuid": "snapshot-uuid",
59
- "zone_uuid": "zone-uuid",
60
- "zone_data": [
61
- {
62
- "rrset_type": "A",
63
- "rrset_ttl": 10800,
64
- "rrset_name": "www",
65
- "rrset_values": ["10.0.1.42"]
66
- }
67
- ]
68
- }
69
- http_version:
70
- recorded_at: Thu, 30 May 2019 06:22:02 GMT
71
-
72
- recorded_with: VCR 4.0.0