gandi_v5 0.2.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (157) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.rubocop.yml +13 -3
  4. data/.travis.yml +15 -1
  5. data/CHANGELOG.md +63 -0
  6. data/FUNDING.yml +10 -0
  7. data/LICENSE.md +2 -6
  8. data/README.md +16 -21
  9. data/gandi_v5.gemspec +3 -2
  10. data/lib/gandi_v5.rb +64 -24
  11. data/lib/gandi_v5/billing.rb +0 -2
  12. data/lib/gandi_v5/billing/info.rb +0 -2
  13. data/lib/gandi_v5/data.rb +1 -4
  14. data/lib/gandi_v5/data/converter.rb +0 -4
  15. data/lib/gandi_v5/data/converter/integer.rb +26 -0
  16. data/lib/gandi_v5/domain.rb +167 -28
  17. data/lib/gandi_v5/domain/availability.rb +0 -3
  18. data/lib/gandi_v5/domain/availability/product.rb +0 -3
  19. data/lib/gandi_v5/domain/live_dns.rb +42 -0
  20. data/lib/gandi_v5/domain/renewal_information.rb +0 -3
  21. data/lib/gandi_v5/domain/sharing_space.rb +10 -2
  22. data/lib/gandi_v5/email.rb +0 -4
  23. data/lib/gandi_v5/email/forward.rb +102 -0
  24. data/lib/gandi_v5/email/mailbox.rb +57 -13
  25. data/lib/gandi_v5/email/slot.rb +11 -3
  26. data/lib/gandi_v5/error.rb +0 -2
  27. data/lib/gandi_v5/live_dns.rb +0 -16
  28. data/lib/gandi_v5/live_dns/domain.rb +221 -80
  29. data/lib/gandi_v5/live_dns/domain/dnssec_key.rb +115 -0
  30. data/lib/gandi_v5/live_dns/domain/record.rb +81 -0
  31. data/lib/gandi_v5/live_dns/domain/snapshot.rb +107 -0
  32. data/lib/gandi_v5/live_dns/domain/tsig_key.rb +71 -0
  33. data/lib/gandi_v5/organization.rb +38 -5
  34. data/lib/gandi_v5/organization/customer.rb +90 -0
  35. data/lib/gandi_v5/version.rb +1 -1
  36. data/spec/.rubocop.yml +9 -2
  37. data/spec/fixtures/bodies/GandiV5_Billing/{info.yaml → info.yml} +0 -0
  38. data/spec/fixtures/bodies/GandiV5_Domain/{get.yaml → fetch.yml} +8 -0
  39. data/spec/fixtures/bodies/GandiV5_Domain/{fetch_contacts.yaml → fetch_contacts.yml} +0 -0
  40. data/spec/fixtures/bodies/GandiV5_Domain/fetch_glue_records.yml +7 -0
  41. data/spec/fixtures/bodies/GandiV5_Domain/fetch_livedns.yml +6 -0
  42. data/spec/fixtures/bodies/GandiV5_Domain/fetch_name_servers.yml +2 -0
  43. data/spec/fixtures/bodies/GandiV5_Domain/{renewal_info.yaml → fetch_renewal_info.yml} +0 -3
  44. data/spec/fixtures/bodies/GandiV5_Domain/{restore_info.yaml → fetch_restore_info.yml} +0 -0
  45. data/spec/fixtures/bodies/GandiV5_Domain/{list.yaml → list.yml} +1 -0
  46. data/spec/fixtures/bodies/GandiV5_Domain_Availability/{fetch.yaml → fetch.yml} +0 -0
  47. data/spec/fixtures/bodies/GandiV5_Domain_TLD/{fetch.yaml → fetch.yml} +0 -0
  48. data/spec/fixtures/bodies/GandiV5_Domain_TLD/{list.yaml → list.yml} +0 -0
  49. data/spec/fixtures/bodies/GandiV5_Email_Forward/list.yml +6 -0
  50. data/spec/fixtures/bodies/GandiV5_Email_Mailbox/{get.yaml → fetch.yml} +0 -0
  51. data/spec/fixtures/bodies/GandiV5_Email_Mailbox/{list.yaml → list.yml} +0 -0
  52. data/spec/fixtures/bodies/GandiV5_Email_Slot/{get.yaml → fetch.yml} +0 -0
  53. data/spec/fixtures/bodies/GandiV5_Email_Slot/{list.yaml → list.yml} +0 -0
  54. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain/fetch.yml +3 -0
  55. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain/{list.yaml → list.yml} +0 -0
  56. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain/list_tsig.yml +3 -0
  57. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain/nameservers.yml +3 -0
  58. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain_DnssecKey/fetch.yml +12 -0
  59. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain_DnssecKey/list.yml +9 -0
  60. data/spec/fixtures/bodies/{GandiV5_LiveDNS_Zone_Snapshot/fetch.yaml → GandiV5_LiveDNS_Domain_Snapshot/fetch.yml} +4 -3
  61. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain_Snapshot/list.yml +5 -0
  62. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain_TsigKey/fetch.yml +9 -0
  63. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain_TsigKey/list.yml +4 -0
  64. data/spec/fixtures/bodies/GandiV5_Organization/{get.yaml → fetch.yml} +0 -0
  65. data/spec/fixtures/bodies/GandiV5_Organization/list.yml +7 -0
  66. data/spec/fixtures/bodies/GandiV5_Organization_Customer/list.yml +8 -0
  67. data/spec/spec_helper.rb +2 -2
  68. data/spec/units/gandi_v5/billing_spec.rb +2 -2
  69. data/spec/units/gandi_v5/data/converter/integer_spec.rb +16 -0
  70. data/spec/units/gandi_v5/domain/availability_spec.rb +1 -1
  71. data/spec/units/gandi_v5/domain/live_dns_spec.rb +45 -0
  72. data/spec/units/gandi_v5/domain/tld_spec.rb +2 -2
  73. data/spec/units/gandi_v5/domain_spec.rb +294 -65
  74. data/spec/units/gandi_v5/email/forward_spec.rb +92 -0
  75. data/spec/units/gandi_v5/email/mailbox_spec.rb +122 -40
  76. data/spec/units/gandi_v5/email/slot_spec.rb +13 -5
  77. data/spec/units/gandi_v5/live_dns/domain/dnssec_key_spec.rb +128 -0
  78. data/spec/units/gandi_v5/live_dns/{record_set_spec.rb → domain/record_spec.rb} +1 -1
  79. data/spec/units/gandi_v5/live_dns/domain/snapshot_spec.rb +101 -0
  80. data/spec/units/gandi_v5/live_dns/domain/tsig_key_spec.rb +78 -0
  81. data/spec/units/gandi_v5/live_dns/domain_spec.rb +299 -120
  82. data/spec/units/gandi_v5/live_dns_spec.rb +0 -12
  83. data/spec/units/gandi_v5/organization/customer_spec.rb +81 -0
  84. data/spec/units/gandi_v5/organization_spec.rb +52 -1
  85. data/spec/units/gandi_v5_spec.rb +139 -30
  86. metadata +68 -95
  87. data/doc/GandiV5.html +0 -1183
  88. data/doc/GandiV5/Billing.html +0 -293
  89. data/doc/GandiV5/Billing/Info.html +0 -641
  90. data/doc/GandiV5/Billing/Info/Prepaid.html +0 -817
  91. data/doc/GandiV5/Data.html +0 -785
  92. data/doc/GandiV5/Data/ClassMethods.html +0 -223
  93. data/doc/GandiV5/Data/Converter.html +0 -433
  94. data/doc/GandiV5/Data/Converter/ArrayOf.html +0 -413
  95. data/doc/GandiV5/Data/Converter/Symbol.html +0 -322
  96. data/doc/GandiV5/Data/Converter/Time.html +0 -330
  97. data/doc/GandiV5/Domain.html +0 -16847
  98. data/doc/GandiV5/Domain/AutoRenew.html +0 -1237
  99. data/doc/GandiV5/Domain/Availability.html +0 -1020
  100. data/doc/GandiV5/Domain/Availability/Product.html +0 -988
  101. data/doc/GandiV5/Domain/Availability/Product/Period.html +0 -220
  102. data/doc/GandiV5/Domain/Availability/Product/Price.html +0 -1031
  103. data/doc/GandiV5/Domain/Availability/Tax.html +0 -440
  104. data/doc/GandiV5/Domain/Contact.html +0 -4459
  105. data/doc/GandiV5/Domain/Contract.html +0 -520
  106. data/doc/GandiV5/Domain/Dates.html +0 -1313
  107. data/doc/GandiV5/Domain/RenewalInformation.html +0 -1147
  108. data/doc/GandiV5/Domain/RestoreInformation.html +0 -339
  109. data/doc/GandiV5/Domain/SharingSpace.html +0 -437
  110. data/doc/GandiV5/Domain/TLD.html +0 -1565
  111. data/doc/GandiV5/Email.html +0 -144
  112. data/doc/GandiV5/Email/Mailbox.html +0 -6307
  113. data/doc/GandiV5/Email/Mailbox/Responder.html +0 -1560
  114. data/doc/GandiV5/Email/Offer.html +0 -514
  115. data/doc/GandiV5/Email/Slot.html +0 -4244
  116. data/doc/GandiV5/Error.html +0 -151
  117. data/doc/GandiV5/Error/GandiError.html +0 -270
  118. data/doc/GandiV5/LiveDNS.html +0 -300
  119. data/doc/GandiV5/LiveDNS/Domain.html +0 -2984
  120. data/doc/GandiV5/LiveDNS/RecordSet.html +0 -1593
  121. data/doc/GandiV5/LiveDNS/Zone.html +0 -8891
  122. data/doc/GandiV5/LiveDNS/Zone/Snapshot.html +0 -1556
  123. data/doc/GandiV5/Organization.html +0 -2341
  124. data/doc/_index.html +0 -474
  125. data/doc/class_list.html +0 -51
  126. data/doc/css/common.css +0 -1
  127. data/doc/css/full_list.css +0 -58
  128. data/doc/css/style.css +0 -496
  129. data/doc/file.README.html +0 -175
  130. data/doc/file_list.html +0 -56
  131. data/doc/frames.html +0 -17
  132. data/doc/index.html +0 -175
  133. data/doc/js/app.js +0 -303
  134. data/doc/js/full_list.js +0 -216
  135. data/doc/js/jquery.js +0 -4
  136. data/doc/method_list.html +0 -2427
  137. data/doc/top-level-namespace.html +0 -110
  138. data/lib/gandi_v5/live_dns/record_set.rb +0 -79
  139. data/lib/gandi_v5/live_dns/zone.rb +0 -305
  140. data/lib/gandi_v5/live_dns/zone/snapshot.rb +0 -81
  141. data/spec/features/domain_spec.rb +0 -45
  142. data/spec/features/livedns_domain_spec.rb +0 -8
  143. data/spec/features/livedns_zone_spec.rb +0 -45
  144. data/spec/features/mailbox_spec.rb +0 -18
  145. data/spec/fixtures/bodies/GandiV5_LiveDNS_Domain/get.yaml +0 -4
  146. data/spec/fixtures/bodies/GandiV5_LiveDNS_Zone/get.yaml +0 -11
  147. data/spec/fixtures/bodies/GandiV5_LiveDNS_Zone/list.yaml +0 -11
  148. data/spec/fixtures/bodies/GandiV5_LiveDNS_Zone_Snapshot/list.yaml +0 -3
  149. data/spec/fixtures/vcr/Domain_features/List_domains.yml +0 -54
  150. data/spec/fixtures/vcr/Domain_features/Renew_domain.yml +0 -133
  151. data/spec/fixtures/vcr/LiveDNS_Domain_features/List_domains.yml +0 -32
  152. data/spec/fixtures/vcr/LiveDNS_Zone_features/List_zones.yml +0 -42
  153. data/spec/fixtures/vcr/LiveDNS_Zone_features/Make_and_save_snapshot.yml +0 -72
  154. data/spec/fixtures/vcr/LiveDNS_Zone_features/Save_zone_to_file.yml +0 -28
  155. data/spec/fixtures/vcr/Mailbox_features/List_mailboxes.yml +0 -39
  156. data/spec/units/gandi_v5/live_dns/zone/snapshot_spec.rb +0 -66
  157. data/spec/units/gandi_v5/live_dns/zone_spec.rb +0 -347
@@ -1,81 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class GandiV5
4
- class LiveDNS
5
- class Zone
6
- # A snapshot (backup) of a zone.
7
- # @!attribute [r] uuid
8
- # @return [String]
9
- # @!attribute [r] zone_uuid
10
- # @return [String]
11
- # @!attribute [r] created_at
12
- # @return [Time]
13
- # @!attribute [r] records
14
- # @return [Array<GandiV5::LiveDNS::RecordSet>]
15
- class Snapshot
16
- include GandiV5::Data
17
-
18
- members :uuid, :zone_uuid
19
- member :created_at, gandi_key: 'date_created', converter: GandiV5::Data::Converter::Time
20
- member(
21
- :records,
22
- gandi_key: 'zone_data',
23
- converter: GandiV5::LiveDNS::RecordSet,
24
- array: true
25
- )
26
-
27
- alias snapshot_uuid uuid
28
-
29
- # Delete this snapshot.
30
- # @return [String] The confirmation message from Gandi.
31
- # @raise [GandiV5::Error::GandiError] if Gandi returns an error.
32
- def delete
33
- _response, data = GandiV5.delete url
34
- data['message']
35
- end
36
-
37
- # @see GandiV5::LiveDNS::Zone.fetch
38
- def fetch_zone
39
- GandiV5::LiveDNS::Zone.fetch zone_uuid
40
- end
41
-
42
- # The snapshot's zone (fetching from Gandi if required).
43
- # @return [GandiV5::LiveDNS::Zone]
44
- # @raise [GandiV5::Error::GandiError] if Gandi returns an error.
45
- def zone
46
- @zone ||= fetch_zone
47
- end
48
-
49
- # Get snapshot UUIDs for this zone from Gandi.
50
- # @return [Hash{String => Time}] Mapping UUID to time made.
51
- # @raise [GandiV5::Error::GandiError] if Gandi returns an error.
52
- def self.list(zone_uuid)
53
- _response, data = GandiV5.get url(zone_uuid)
54
- Hash[data.map { |snapshot| [snapshot['uuid'], Time.parse(snapshot['date_created'])] }]
55
- end
56
-
57
- # Get snapshot from Gandi.
58
- # @param zone_uuid [String, #to_s] the UUID of the zone the snapshot was made of.
59
- # @param snapshot_uuid [String, #to_s] the UUID of the snapshot to fetch.
60
- # @return [GandiV5::LiveDNS::Zone::Snapshot]
61
- # @raise [GandiV5::Error::GandiError] if Gandi returns an error.
62
- def self.fetch(zone_uuid, snapshot_uuid)
63
- _response, data = GandiV5.get url(zone_uuid, snapshot_uuid)
64
- from_gandi data
65
- end
66
-
67
- private
68
-
69
- def url
70
- "#{BASE}zones/#{CGI.escape zone_uuid}/snapshots/#{CGI.escape uuid}"
71
- end
72
-
73
- def self.url(zone_uuid, snapshot_uuid = nil)
74
- "#{BASE}zones/#{CGI.escape zone_uuid}/snapshots" +
75
- (snapshot_uuid ? "/#{CGI.escape snapshot_uuid}" : '')
76
- end
77
- private_class_method :url
78
- end
79
- end
80
- end
81
- end
@@ -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 be nil
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,4 +0,0 @@
1
- ---
2
- zonedata: /zones/zone-uuid/recprds
3
- fqdn: example.com
4
- zone: /zones/zone-uuid
@@ -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,54 +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
- }
51
- ]
52
- http_version:
53
- recorded_at: Thu, 30 May 2019 06:22:02 GMT
54
- 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