gandi_v5 0.8.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|