gandi_v5 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +23 -9
- data/README.md +54 -10
- data/lib/gandi_v5.rb +112 -66
- data/lib/gandi_v5/billing/info/prepaid.rb +1 -0
- data/lib/gandi_v5/data.rb +1 -0
- data/lib/gandi_v5/data/converter.rb +3 -2
- data/lib/gandi_v5/data/converter/array_of.rb +3 -2
- data/lib/gandi_v5/data/converter/integer.rb +3 -2
- data/lib/gandi_v5/data/converter/symbol.rb +3 -2
- data/lib/gandi_v5/data/converter/time.rb +3 -2
- data/lib/gandi_v5/domain.rb +9 -6
- data/lib/gandi_v5/domain/availability/product/period.rb +1 -1
- data/lib/gandi_v5/domain/contact.rb +5 -5
- data/lib/gandi_v5/domain/tld.rb +2 -2
- data/lib/gandi_v5/domain/transfer_in.rb +170 -0
- data/lib/gandi_v5/domain/transfer_in/availability.rb +51 -0
- data/lib/gandi_v5/email.rb +1 -0
- data/lib/gandi_v5/email/mailbox.rb +1 -1
- data/lib/gandi_v5/error/gandi_error.rb +1 -0
- data/lib/gandi_v5/live_dns.rb +2 -0
- data/lib/gandi_v5/live_dns/domain.rb +28 -1
- data/lib/gandi_v5/live_dns/domain/dnssec_key.rb +16 -11
- data/lib/gandi_v5/live_dns/domain/snapshot.rb +4 -0
- data/lib/gandi_v5/live_dns/domain/tsig_key.rb +7 -4
- data/lib/gandi_v5/simple_hosting.rb +1 -0
- data/lib/gandi_v5/simple_hosting/instance.rb +3 -0
- data/lib/gandi_v5/simple_hosting/instance/application.rb +1 -0
- data/lib/gandi_v5/simple_hosting/instance/database.rb +1 -0
- data/lib/gandi_v5/simple_hosting/instance/language.rb +1 -1
- data/lib/gandi_v5/simple_hosting/instance/upgrade.rb +1 -0
- data/lib/gandi_v5/simple_hosting/instance/virtual_host.rb +2 -2
- data/lib/gandi_v5/simple_hosting/instance/virtual_host/linked_dns_zone.rb +1 -0
- data/lib/gandi_v5/version.rb +1 -1
- data/spec/features/list_domain_renewals_spec.rb +16 -0
- data/spec/features/list_email_addresses_spec.rb +39 -0
- data/spec/fixtures/bodies/GandiV5_Domain_TransferIn/fetch.yml +21 -0
- data/spec/fixtures/bodies/GandiV5_Domain_TransferIn_Availability/fetch.yml +10 -0
- data/spec/fixtures/vcr/Examples/List_domain_renewals.yml +54 -0
- data/spec/fixtures/vcr/Examples/List_email_addresses.yml +103 -0
- data/spec/units/gandi_v5/domain/transfer_in/availability_spec.rb +49 -0
- data/spec/units/gandi_v5/domain/transfer_in_spec.rb +143 -0
- metadata +127 -20
- data/.gitignore +0 -26
- data/.rspec +0 -3
- data/.rubocop.yml +0 -74
- data/.travis.yml +0 -38
- data/FUNDING.yml +0 -10
- data/Gemfile +0 -6
- data/Guardfile +0 -39
- data/Rakefile +0 -3
- data/bin/console +0 -13
- data/gandi_v5.gemspec +0 -42
data/lib/gandi_v5/email.rb
CHANGED
@@ -43,7 +43,7 @@ class GandiV5
|
|
43
43
|
alias mailbox_uuid uuid
|
44
44
|
|
45
45
|
# Create a new GandiV5::Email::Mailbox
|
46
|
-
# @param members [Hash
|
46
|
+
# @param members [Hash{Symbol => Object}]
|
47
47
|
# @return [GandiV5::Email::Slot]
|
48
48
|
def initialize(**members)
|
49
49
|
super(**members)
|
@@ -5,6 +5,7 @@ class GandiV5
|
|
5
5
|
# Generic error class for errors returned by Gandi.
|
6
6
|
class GandiError < GandiV5::Error
|
7
7
|
# Generate a new GandiV5::Error::GandiError from the hash returned by Gandi.
|
8
|
+
# @api private
|
8
9
|
# @param hash [Hash] the hash returned by Gandi.
|
9
10
|
# @return [GandiV5::Error::GandiError]
|
10
11
|
def self.from_hash(hash)
|
data/lib/gandi_v5/live_dns.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# Namespace for classes which access LiveDNS details.
|
4
|
+
# @see https://api.gandi.net/docs/livedns/
|
4
5
|
class GandiV5
|
5
6
|
# Gandi LiveDNS Management API.
|
6
7
|
class LiveDNS
|
8
|
+
# Permitted record types.
|
7
9
|
RECORD_TYPES = %w[
|
8
10
|
A AAAA CNAME MX NS TXT ALIAS
|
9
11
|
WKS SRV LOC SPF CAA DS SSHFP PTR KEY DNAME TLSA OPENPGPKEY CDS
|
@@ -21,6 +21,7 @@ class GandiV5
|
|
21
21
|
end
|
22
22
|
|
23
23
|
# Update this domain's settings.
|
24
|
+
# @see https://api.gandi.net/docs/livedns/#patch-v5-livedns-domains-fqdn
|
24
25
|
# @param automatic_snapshots [String, #to_s]
|
25
26
|
# Enable or disable the automatic creation of new snapshots when records are changed.
|
26
27
|
# @return [String] The confirmation message from Gandi.
|
@@ -33,12 +34,14 @@ class GandiV5
|
|
33
34
|
|
34
35
|
# @overload fetch_records()
|
35
36
|
# Fetch all records for this domain.
|
37
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-domains-fqdn-records
|
36
38
|
# @param page [Integer, #each<Integer>] which page(s) of results to get.
|
37
39
|
# If page is not provided keep querying until an empty list is returned.
|
38
40
|
# If page responds to .each then iterate until an empty list is returned.
|
39
41
|
# @param per_page [Integer, #to_s] (optional default 100) how many results ot get per page.
|
40
42
|
# @overload fetch_records(name)
|
41
43
|
# Fetch records for a name.
|
44
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-domains-fqdn-records-rrset_name
|
42
45
|
# @param name [String] the name to fetch records for.
|
43
46
|
# @param page [Integer, #each<Integer>] which page(s) of results to get.
|
44
47
|
# If page is not provided keep querying until an empty list is returned.
|
@@ -46,6 +49,7 @@ class GandiV5
|
|
46
49
|
# @param per_page [Integer, #to_s] (optional default 100) how many results ot get per page.
|
47
50
|
# @overload fetch_records(name, type)
|
48
51
|
# Fetch records of a type for a name.
|
52
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-domains-fqdn-records-rrset_name-rrset_type
|
49
53
|
# @param name [String] the name to fetch records for.
|
50
54
|
# @param type [String] the record type to fetch.
|
51
55
|
# @param page [Integer, #each<Integer>] which page(s) of results to get.
|
@@ -70,11 +74,14 @@ class GandiV5
|
|
70
74
|
|
71
75
|
# @overload fetch_zone_lines()
|
72
76
|
# Fetch all records for this domain.
|
77
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-domains-fqdn-records
|
73
78
|
# @overload fetch_zone_lines(name)
|
74
79
|
# Fetch records for a name.
|
80
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-domains-fqdn-records-rrset_name
|
75
81
|
# @param name [String] the name to fetch records for.
|
76
82
|
# @overload fetch_zone_lines(name, type)
|
77
83
|
# Fetch records of a type for a name.
|
84
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-domains-fqdn-records-rrset_name-rrset_type
|
78
85
|
# @param name [String] the name to fetch records for.
|
79
86
|
# @param type [String] the record type to fetch.
|
80
87
|
# @return [String]
|
@@ -90,6 +97,7 @@ class GandiV5
|
|
90
97
|
end
|
91
98
|
|
92
99
|
# Add record to this domain.
|
100
|
+
# @see https://api.gandi.net/docs/livedns/#post-v5-livedns-domains-fqdn-records
|
93
101
|
# @param name [String]
|
94
102
|
# @param type [String]
|
95
103
|
# @param ttl [Integer]
|
@@ -113,11 +121,14 @@ class GandiV5
|
|
113
121
|
|
114
122
|
# @overload delete_records()
|
115
123
|
# Delete all records for this domain.
|
124
|
+
# @see https://api.gandi.net/docs/livedns/#delete-v5-livedns-domains-fqdn-records
|
116
125
|
# @overload delete_records(name)
|
117
126
|
# Delete records for a name.
|
127
|
+
# @see https://api.gandi.net/docs/livedns/#delete-v5-livedns-domains-fqdn-records-rrset_name
|
118
128
|
# @param name [String] the name to delete records for.
|
119
129
|
# @overload delete_records(name, type)
|
120
130
|
# Delete records of a type for a name.
|
131
|
+
# @see https://api.gandi.net/docs/livedns/#delete-v5-livedns-domains-fqdn-records-rrset_name-rrset_type
|
121
132
|
# @param name [String] the name to delete records for.
|
122
133
|
# @param type [String] the record type to delete.
|
123
134
|
# @return [nil]
|
@@ -136,6 +147,9 @@ class GandiV5
|
|
136
147
|
# @param type [String, nil] only replaces record of this type (requires name).
|
137
148
|
# @param values [Array<String>] the values to set for the record.
|
138
149
|
# @raise [ArgumentError] if ttl is present and type is absent.
|
150
|
+
# @see https://api.gandi.net/docs/livedns/#put-v5-livedns-domains-fqdn-records
|
151
|
+
# @see https://api.gandi.net/docs/livedns/#put-v5-livedns-domains-fqdn-records-rrset_name
|
152
|
+
# @see https://api.gandi.net/docs/livedns/#put-v5-livedns-domains-fqdn-records-rrset_name-rrset_type
|
139
153
|
# @return [String] The confirmation message from Gandi.
|
140
154
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
141
155
|
# rubocop:disable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
|
@@ -161,6 +175,7 @@ class GandiV5
|
|
161
175
|
# rubocop:enable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
|
162
176
|
|
163
177
|
# Replace all records for this domain.
|
178
|
+
# @see https://api.gandi.net/docs/livedns/#put-v5-livedns-domains-fqdn-records
|
164
179
|
# @param text [String] zone file lines to replace the records with.
|
165
180
|
# @return [String] The confirmation message from Gandi.
|
166
181
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
@@ -199,6 +214,7 @@ class GandiV5
|
|
199
214
|
end
|
200
215
|
|
201
216
|
# Requery Gandi for the domain's DNSSEC keys.
|
217
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-domains-fqdn-keys
|
202
218
|
# @return [Array<GandiV5::LiveDNS::Domain::DnssecKey>]
|
203
219
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
204
220
|
def fetch_dnssec_keys
|
@@ -215,6 +231,7 @@ class GandiV5
|
|
215
231
|
end
|
216
232
|
|
217
233
|
# Requery Gandi for the domain's TSIG keys.
|
234
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-domains-fqdn-axfr-tsig
|
218
235
|
# @return [Array<GandiV5::LiveDNS::Domain::TsigKey>]
|
219
236
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
220
237
|
def fetch_tsig_keys
|
@@ -223,6 +240,7 @@ class GandiV5
|
|
223
240
|
end
|
224
241
|
|
225
242
|
# Add a Tsig key to this domain.
|
243
|
+
# @see https://api.gandi.net/docs/livedns/#put-v5-livedns-domains-fqdn-axfr-tsig-id
|
226
244
|
# @param key [GandiV5::LiveDNS::Domain::TsigKey, #uuid, String, #to_s]
|
227
245
|
# the key to add.
|
228
246
|
# @param sharing_id [nil, String, #to_s]
|
@@ -235,6 +253,7 @@ class GandiV5
|
|
235
253
|
end
|
236
254
|
|
237
255
|
# Remove a Tsig key from this domain.
|
256
|
+
# @see https://api.gandi.net/docs/livedns/#delete-v5-livedns-domains-fqdn-axfr-tsig-id
|
238
257
|
# @param key [GandiV5::LiveDNS::Domain::TsigKey, #uuid, String, #to_s]
|
239
258
|
# the key to remove.
|
240
259
|
# @param sharing_id [nil, String, #to_s]
|
@@ -254,6 +273,7 @@ class GandiV5
|
|
254
273
|
end
|
255
274
|
|
256
275
|
# Requery Gandi for the domain's AXFR clients.
|
276
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-domains-fqdn-axfr-slaves
|
257
277
|
# @return [Array<String>] list of IP addresses.
|
258
278
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
259
279
|
def fetch_axfr_clients
|
@@ -262,6 +282,7 @@ class GandiV5
|
|
262
282
|
end
|
263
283
|
|
264
284
|
# Add an AXFR client to this domain.
|
285
|
+
# @see https://api.gandi.net/docs/livedns/#put-v5-livedns-domains-fqdn-axfr-slaves-ip
|
265
286
|
# @param ip [String, #to_s] the IP address to add.
|
266
287
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
267
288
|
def add_axfr_client(ip)
|
@@ -269,6 +290,7 @@ class GandiV5
|
|
269
290
|
end
|
270
291
|
|
271
292
|
# Remove and AXFR client from this domain.
|
293
|
+
# @see https://api.gandi.net/docs/livedns/#delete-v5-livedns-domains-fqdn-axfr-slaves-ip
|
272
294
|
# @param ip [String, #to_s] the IP address to remove.
|
273
295
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
274
296
|
def remove_axfr_client(ip)
|
@@ -276,6 +298,7 @@ class GandiV5
|
|
276
298
|
end
|
277
299
|
|
278
300
|
# List the domains.
|
301
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-domains
|
279
302
|
# @param page [#each<Integer, #to_s>] the page(s) of results to retrieve.
|
280
303
|
# If page is not provided keep querying until an empty list is returned.
|
281
304
|
# If page responds to .each then iterate until an empty list is returned.
|
@@ -300,6 +323,7 @@ class GandiV5
|
|
300
323
|
end
|
301
324
|
|
302
325
|
# Get a domain.
|
326
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-domains-fqdn
|
303
327
|
# @param fqdn [String, #to_s] the fully qualified domain name to fetch.
|
304
328
|
# @return [GandiV5::LiveDNS::Domain]
|
305
329
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
@@ -310,6 +334,7 @@ class GandiV5
|
|
310
334
|
|
311
335
|
# Create a new domain in the LiveDNS system.
|
312
336
|
# You must have sufficent permission to manage the domain to do this.
|
337
|
+
# @see https://api.gandi.net/docs/livedns/#post-v5-livedns-domains
|
313
338
|
# @param fqdn [String, #to_s] the fully qualified domain to add to LiveDNS.
|
314
339
|
# @param records [Array<Hash, GandiV5::LiveDNS::Domain::Record, #to_h, nil>]
|
315
340
|
# @param ttl [Integer, #to_s, nil] the TTL of the SOA record.
|
@@ -335,6 +360,7 @@ class GandiV5
|
|
335
360
|
end
|
336
361
|
|
337
362
|
# Fetch the list of known record types (A, CNAME, etc.)
|
363
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-dns-rrtypes
|
338
364
|
# @return [Array<String>]
|
339
365
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
340
366
|
def self.record_types
|
@@ -342,7 +368,8 @@ class GandiV5
|
|
342
368
|
end
|
343
369
|
|
344
370
|
# Get the LiveDNS servers to use for a domain.
|
345
|
-
# Does not take into account any NS records that exist in the zone.
|
371
|
+
# @note Does not take into account any NS records that exist in the zone.
|
372
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-nameservers-fqdn
|
346
373
|
# @param fqdn [String, #to_s] the fully qualified domain to hash in
|
347
374
|
# in order to get the LiveDNS servers to use.
|
348
375
|
# @return [Array<String>]
|
@@ -4,27 +4,27 @@ class GandiV5
|
|
4
4
|
class LiveDNS
|
5
5
|
class Domain
|
6
6
|
# A DNSSEC key for a domain's DNS records.
|
7
|
-
# @!
|
7
|
+
# @!attribute [r] uuid
|
8
8
|
# @return [String]
|
9
|
-
# @!
|
9
|
+
# @!attribute [r] status
|
10
10
|
# @return [String]
|
11
|
-
# @!
|
11
|
+
# @!attribute [r] fqdn
|
12
12
|
# @return [String]
|
13
|
-
# @!
|
13
|
+
# @!attribute [r] algorithm_id
|
14
14
|
# @return [Integer]
|
15
|
-
# @!
|
15
|
+
# @!attribute [r] algorithm_name
|
16
16
|
# @return [String]
|
17
|
-
# @!
|
17
|
+
# @!attribute [r] deleted
|
18
18
|
# @return [Boolean]
|
19
|
-
# @!
|
19
|
+
# @!attribute [r] ds
|
20
20
|
# @return [String]
|
21
|
-
# @!
|
21
|
+
# @!attribute [r] flags
|
22
22
|
# @return [Integer]
|
23
|
-
# @!
|
23
|
+
# @!attribute [r] fingerprint
|
24
24
|
# @return [String]
|
25
|
-
# @!
|
25
|
+
# @!attribute [r] public_key
|
26
26
|
# @return [String]
|
27
|
-
# @!
|
27
|
+
# @!attribute [r] tag
|
28
28
|
# @return [String]
|
29
29
|
class DnssecKey
|
30
30
|
include GandiV5::Data
|
@@ -36,6 +36,7 @@ class GandiV5
|
|
36
36
|
member :algorithm_id, gandi_key: 'algorithm'
|
37
37
|
|
38
38
|
# Delete this key.
|
39
|
+
# @see https://api.gandi.net/docs/livedns/#delete-v5-livedns-domains-fqdn-keys-id
|
39
40
|
# @return [String] The confirmation message from Gandi.
|
40
41
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
41
42
|
def delete
|
@@ -45,6 +46,7 @@ class GandiV5
|
|
45
46
|
end
|
46
47
|
|
47
48
|
# Undelete this key.
|
49
|
+
# @see https://api.gandi.net/docs/livedns/#patch-v5-livedns-domains-fqdn-keys-id
|
48
50
|
# @return [String] The confirmation message from Gandi.
|
49
51
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
50
52
|
def undelete
|
@@ -66,6 +68,7 @@ class GandiV5
|
|
66
68
|
end
|
67
69
|
|
68
70
|
# Create a new DNSSEC key for a zone.
|
71
|
+
# @see https://api.gandi.net/docs/livedns/#post-v5-livedns-domains-fqdn-keys
|
69
72
|
# @param fqdn [String, #to_s] the fully qualified domain to create the key for.
|
70
73
|
# @param flags [Integer, :key_signing_key, :zone_signing_key] the key's flags.
|
71
74
|
# @return [GandiV5::LiveDNS::Domain::DnssecKey]
|
@@ -80,6 +83,7 @@ class GandiV5
|
|
80
83
|
end
|
81
84
|
|
82
85
|
# Get keys for a FQDN from Gandi.
|
86
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-domains-fqdn-keys
|
83
87
|
# @param fqdn [String, #to_s] The fully qualified domain name to get the keys for.
|
84
88
|
# @return [Array<GandiV5::LiveDNS::Domain::DnssecKey>]
|
85
89
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
@@ -89,6 +93,7 @@ class GandiV5
|
|
89
93
|
end
|
90
94
|
|
91
95
|
# Get DNSSEC key from Gandi.
|
96
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-domains-fqdn-keys-id
|
92
97
|
# @param fqdn [String, #to_s] The fully qualified domain name the key was made for.
|
93
98
|
# @param uuid [String, #to_s] the UUID of the key to fetch.
|
94
99
|
# @return [GandiV5::LiveDNS::Domain::DnssecKey]
|
@@ -30,6 +30,7 @@ class GandiV5
|
|
30
30
|
alias snapshot_uuid uuid
|
31
31
|
|
32
32
|
# Delete this snapshot.
|
33
|
+
# @see https://api.gandi.net/docs/livedns/#delete-v5-livedns-domains-fqdn-snapshots-id
|
33
34
|
# @return [String] The confirmation message from Gandi.
|
34
35
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
35
36
|
def delete
|
@@ -38,6 +39,7 @@ class GandiV5
|
|
38
39
|
end
|
39
40
|
|
40
41
|
# Update this snapshot.
|
42
|
+
# @see https://api.gandi.net/docs/livedns/#patch-v5-livedns-domains-fqdn-snapshots-id
|
41
43
|
# @param name [String, #to_s] new name for the snapshot.
|
42
44
|
# @return [String] The confirmation message from Gandi.
|
43
45
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
@@ -48,6 +50,7 @@ class GandiV5
|
|
48
50
|
end
|
49
51
|
|
50
52
|
# Get snapshot details for this FQDN from Gandi.
|
53
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-domains-fqdn-snapshots
|
51
54
|
# @param fqdn [String, #to_s] The fully qualified domain name to get the snapshots for.
|
52
55
|
# @param page [#each<Integer, #to_s>] the page(s) of results to retrieve.
|
53
56
|
# If page is not provided keep querying until an empty list is returned.
|
@@ -67,6 +70,7 @@ class GandiV5
|
|
67
70
|
end
|
68
71
|
|
69
72
|
# Get snapshot from Gandi.
|
73
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-domains-fqdn-snapshots-id
|
70
74
|
# @param fqdn [String, #to_s] The fully qualified domain name the snapshot was made for.
|
71
75
|
# @param uuid [String, #to_s] the UUID of the snapshot to fetch.
|
72
76
|
# @return [GandiV5::LiveDNS::Domain::Snapshot]
|
@@ -4,13 +4,13 @@ class GandiV5
|
|
4
4
|
class LiveDNS
|
5
5
|
class Domain
|
6
6
|
# A Tsig key.
|
7
|
-
# @!
|
7
|
+
# @!attribute [r] uuid
|
8
8
|
# @return [String]
|
9
|
-
# @!
|
9
|
+
# @!attribute [r] name
|
10
10
|
# @return [String]
|
11
|
-
# @!
|
11
|
+
# @!attribute [r] secret
|
12
12
|
# @return [String]
|
13
|
-
# @!
|
13
|
+
# @!attribute [r] config_examples
|
14
14
|
# @return [Hash<Symbol -> String>]
|
15
15
|
class TsigKey
|
16
16
|
include GandiV5::Data
|
@@ -28,6 +28,7 @@ class GandiV5
|
|
28
28
|
)
|
29
29
|
|
30
30
|
# Create a new DNSSEC key for a zone.
|
31
|
+
# @see https://api.gandi.net/docs/livedns/#post-v5-livedns-axfr-tsig
|
31
32
|
# @param sharing_id [nil, String, #to_s]
|
32
33
|
# @return [GandiV5::LiveDNS::Domain::DnssecKey]
|
33
34
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
@@ -42,6 +43,7 @@ class GandiV5
|
|
42
43
|
# Get keys from Gandi.
|
43
44
|
# If you need the secret, fingerprint, public_key or tag attributes you'll need
|
44
45
|
# to use GandiV5::LiveDNS::Domain::DnssecKey.fetch on each item.
|
46
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-axfr-tsig
|
45
47
|
# @return [Array<GandiV5::LiveDNS::Domain::TsigKey>]
|
46
48
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
47
49
|
def self.list
|
@@ -50,6 +52,7 @@ class GandiV5
|
|
50
52
|
end
|
51
53
|
|
52
54
|
# Get Tsig key from Gandi.
|
55
|
+
# @see https://api.gandi.net/docs/livedns/#get-v5-livedns-axfr-tsig-id
|
53
56
|
# @param uuid [String, #to_s] the UUID of the key to fetch.
|
54
57
|
# @return [GandiV5::LiveDNS::Domain::TsigKey]
|
55
58
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
@@ -117,6 +117,7 @@ class GandiV5
|
|
117
117
|
)
|
118
118
|
|
119
119
|
# Instruct Gandi to restart this instance.
|
120
|
+
# @see https://api.gandi.net/docs/simplehosting/#post-v5-simplehosting-instances-instance_id-action
|
120
121
|
# @return [String] confirmation message.
|
121
122
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
122
123
|
def restart
|
@@ -125,6 +126,7 @@ class GandiV5
|
|
125
126
|
end
|
126
127
|
|
127
128
|
# Instruct Gandi to console this instance.
|
129
|
+
# @see https://api.gandi.net/docs/simplehosting/#post-v5-simplehosting-instances-instance_id-action
|
128
130
|
# @return [String] confirmation message.
|
129
131
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
130
132
|
def console
|
@@ -133,6 +135,7 @@ class GandiV5
|
|
133
135
|
end
|
134
136
|
|
135
137
|
# Instruct Gandi to reset the database password for this instance.
|
138
|
+
# @see https://api.gandi.net/docs/simplehosting/#post-v5-simplehosting-instances-instance_id-action
|
136
139
|
# @return [String] confirmation message.
|
137
140
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|
138
141
|
def reset_database_password
|
@@ -4,7 +4,7 @@
|
|
4
4
|
class GandiV5
|
5
5
|
class SimpleHosting
|
6
6
|
class Instance
|
7
|
-
# A simple hosting
|
7
|
+
# A virtual host on a simple hosting instance.
|
8
8
|
# @see https://api.gandi.net/docs/simplehosting/
|
9
9
|
# @!attribute [r] created_at
|
10
10
|
# @return [Time]
|
@@ -139,7 +139,7 @@ class GandiV5
|
|
139
139
|
|
140
140
|
# Get information on a virtual host.
|
141
141
|
# @see https://api.gandi.net/docs/simplehosting#get-v5-simplehosting-instances-instance_id-vhosts-vhost_fqdn
|
142
|
-
# @param
|
142
|
+
# @param instance_uuid [String, #to_s] the UUID of the simple hosting instance.
|
143
143
|
# @param fqdn [String, #to_s] the fully qualified domain name of the virtual host.
|
144
144
|
# @return [GandiV5::SimpleHosting::Instance]
|
145
145
|
# @raise [GandiV5::Error::GandiError] if Gandi returns an error.
|