dnsimple 3.1.0 → 4.0.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.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +5 -0
  3. data/.rubocop_dnsimple.yml +24 -18
  4. data/CHANGELOG.md +17 -5
  5. data/CONTRIBUTING.md +2 -2
  6. data/Gemfile +0 -1
  7. data/README.md +14 -3
  8. data/dnsimple.gemspec +1 -1
  9. data/lib/dnsimple/client.rb +5 -5
  10. data/lib/dnsimple/client/certificates.rb +89 -0
  11. data/lib/dnsimple/client/clients.rb +37 -0
  12. data/lib/dnsimple/client/collaborators.rb +76 -0
  13. data/lib/dnsimple/client/domains_pushes.rb +97 -0
  14. data/lib/dnsimple/client/registrar.rb +2 -2
  15. data/lib/dnsimple/client/registrar_delegation.rb +42 -0
  16. data/lib/dnsimple/client/services_domains.rb +82 -0
  17. data/lib/dnsimple/client/templates.rb +0 -5
  18. data/lib/dnsimple/client/templates_domains.rb +29 -0
  19. data/lib/dnsimple/client/vanity_name_servers.rb +47 -0
  20. data/lib/dnsimple/client/zones.rb +17 -0
  21. data/lib/dnsimple/client/zones_records.rb +9 -9
  22. data/lib/dnsimple/struct.rb +6 -1
  23. data/lib/dnsimple/struct/certificate.rb +37 -0
  24. data/lib/dnsimple/struct/certificate_bundle.rb +24 -0
  25. data/lib/dnsimple/struct/collaborator.rb +34 -0
  26. data/lib/dnsimple/struct/domain_push.rb +28 -0
  27. data/lib/dnsimple/struct/tld.rb +12 -0
  28. data/lib/dnsimple/struct/zone_file.rb +10 -0
  29. data/lib/dnsimple/struct/{record.rb → zone_record.rb} +4 -1
  30. data/lib/dnsimple/version.rb +1 -1
  31. data/spec/dnsimple/client/accounts_spec.rb +1 -1
  32. data/spec/dnsimple/client/certificates_spec.rb +206 -0
  33. data/spec/dnsimple/client/collaborators_spec.rb +162 -0
  34. data/spec/dnsimple/client/contacts_spec.rb +5 -5
  35. data/spec/dnsimple/client/domains_email_forwards_spec.rb +5 -5
  36. data/spec/dnsimple/client/domains_pushes_spec.rb +162 -0
  37. data/spec/dnsimple/client/domains_spec.rb +6 -6
  38. data/spec/dnsimple/client/registrar_delegation_spec.rb +51 -0
  39. data/spec/dnsimple/client/registrar_spec.rb +6 -6
  40. data/spec/dnsimple/client/registrar_whois_privacy_spec.rb +4 -4
  41. data/spec/dnsimple/client/services_domains_spec.rb +115 -0
  42. data/spec/dnsimple/client/services_spec.rb +1 -1
  43. data/spec/dnsimple/client/templates_domains_spec.rb +32 -0
  44. data/spec/dnsimple/client/templates_records_spec.rb +1 -1
  45. data/spec/dnsimple/client/templates_spec.rb +25 -1
  46. data/spec/dnsimple/client/tlds_spec.rb +8 -4
  47. data/spec/dnsimple/client/vanity_name_servers_spec.rb +54 -0
  48. data/spec/dnsimple/client/webhooks_spec.rb +2 -2
  49. data/spec/dnsimple/client/zones_records_spec.rb +34 -23
  50. data/spec/dnsimple/client/zones_spec.rb +40 -4
  51. data/spec/fixtures.http/acceptPush/success.http +17 -0
  52. data/spec/fixtures.http/addCollaborator/invite-success.http +21 -0
  53. data/spec/fixtures.http/addCollaborator/success.http +21 -0
  54. data/spec/fixtures.http/appliedServices/success.http +21 -0
  55. data/spec/fixtures.http/applyService/created.http +17 -0
  56. data/spec/fixtures.http/applyTemplate/success.http +13 -0
  57. data/spec/fixtures.http/changeDomainDelegationFromVanity/success.http +17 -0
  58. data/spec/fixtures.http/changeDomainDelegationToVanity/success.http +21 -0
  59. data/spec/fixtures.http/createZoneRecord/created.http +13 -9
  60. data/spec/fixtures.http/disableVanityNameServers/success.http +17 -0
  61. data/spec/fixtures.http/downloadCertificate/success.http +21 -0
  62. data/spec/fixtures.http/enableVanityNameServers/success.http +21 -0
  63. data/spec/fixtures.http/getCertificate/success.http +21 -0
  64. data/spec/fixtures.http/getCertificatePrivateKey/success.http +21 -0
  65. data/spec/fixtures.http/getTld/success.http +13 -9
  66. data/spec/fixtures.http/getZoneFile/success.http +21 -0
  67. data/spec/fixtures.http/getZoneRecord/success.http +13 -9
  68. data/spec/fixtures.http/initiatePush/success.http +21 -0
  69. data/spec/fixtures.http/{accounts → listAccounts}/success-account.http +0 -0
  70. data/spec/fixtures.http/{accounts → listAccounts}/success-user.http +0 -0
  71. data/spec/fixtures.http/listCertificates/success.http +21 -0
  72. data/spec/fixtures.http/listCollaborators/success.http +21 -0
  73. data/spec/fixtures.http/listPushes/success.http +21 -0
  74. data/spec/fixtures.http/listTlds/success.http +13 -9
  75. data/spec/fixtures.http/listZoneRecords/success.http +13 -9
  76. data/spec/fixtures.http/notfound-certificate.http +16 -0
  77. data/spec/fixtures.http/notfound-collaborator.http +16 -0
  78. data/spec/fixtures.http/notfound-contact.http +1 -1
  79. data/spec/fixtures.http/notfound-domainpush.http +12 -0
  80. data/spec/fixtures.http/rejectPush/success.http +17 -0
  81. data/spec/fixtures.http/removeCollaborator/success.http +17 -0
  82. data/spec/fixtures.http/unapplyService/success.http +17 -0
  83. data/spec/fixtures.http/updateZoneRecord/success.http +13 -9
  84. metadata +80 -10
@@ -0,0 +1,97 @@
1
+ module Dnsimple
2
+ class Client
3
+ module DomainsPushes
4
+
5
+ # Initiate a push for the domain.
6
+ #
7
+ # @see https://developer.dnsimple.com/v2/domains/pushes/#initiate
8
+ #
9
+ # @example Initiate a domain pushe for example.com:
10
+ # client.domains.initiate_push(1010, "example.com", new_account_email: "admin@target-account.test")
11
+ #
12
+ # @param [Fixnum] account_id the account ID
13
+ # @param [#to_s] domain_id The domain ID or domain name
14
+ # @param [Hash] attributes
15
+ # @option attributes [String] :new_account_email the target account email (mandatory)
16
+ # @param [Hash] options
17
+ # @return [Dnsimple::Response<Dnsimple::Struct::DomainPush>]
18
+ #
19
+ # @raise [Dnsimple::RequestError]
20
+ def initiate_push(account_id, domain_id, attributes, options = {})
21
+ Extra.validate_mandatory_attributes(attributes, [:new_account_email])
22
+ response = client.post(Client.versioned("/%s/domains/%s/pushes" % [account_id, domain_id]), attributes, options)
23
+
24
+ Dnsimple::Response.new(response, Struct::DomainPush.new(response["data"]))
25
+ end
26
+
27
+ # Lists the pushes for the domain.
28
+ #
29
+ # @see https://developer.dnsimple.com/v2/domains/pushes/#list
30
+ #
31
+ # @example List domain pushes in the first page
32
+ # client.domains.pushes(2020)
33
+ #
34
+ # @example List domain pushes, provide a specific page
35
+ # client.domains.pushes(2020, page: 2)
36
+ #
37
+ # @param [Fixnum] account_id the account ID
38
+ # @param [Hash] options
39
+ # @option options [Integer] :page current page (pagination)
40
+ # @option options [Integer] :per_page number of entries to return (pagination)
41
+ # @return [Dnsimple::PaginatedResponse<Dnsimple::Struct::DomainPush>]
42
+ #
43
+ # @raise [Dnsimple::NotFoundError]
44
+ # @raise [Dnsimple::RequestError]
45
+ def pushes(account_id, options = {})
46
+ response = client.get(Client.versioned("/%s/pushes" % [account_id]), Options::ListOptions.new(options))
47
+
48
+ Dnsimple::PaginatedResponse.new(response, response["data"].map { |r| Struct::DomainPush.new(r) })
49
+ end
50
+
51
+ # Accept a domain push.
52
+ #
53
+ # @see https://developer.dnsimple.com/v2/domains/pushes/#accept
54
+ #
55
+ # @example Accept a domain push in the target account:
56
+ # client.domains.accept_push(2020, 1, contact_id: 2)
57
+ #
58
+ # @param [Fixnum] account_id the target account ID
59
+ # @param [Fixnum] push_id the domain push ID
60
+ # @param [Hash] options
61
+ # @param [Hash] attributes
62
+ # @option attributes [Integer] :contact_id the contact ID (mandatory)
63
+ # @return [Dnsimple::Response<nil>]
64
+ #
65
+ # @raise [Dnsimple::NotFoundError]
66
+ # @raise [Dnsimple::RequestError]
67
+ def accept_push(account_id, push_id, attributes, options = {})
68
+ Extra.validate_mandatory_attributes(attributes, [:contact_id])
69
+ response = client.post(Client.versioned("/%s/pushes/%s" % [account_id, push_id]), attributes, options)
70
+
71
+ Dnsimple::Response.new(response, nil)
72
+ end
73
+
74
+ # Reject a domain push.
75
+ #
76
+ # @see https://developer.dnsimple.com/v2/domains/pushes/#reject
77
+ #
78
+ # @example Reject a domain push in the target account:
79
+ # client.domains.reject_push(2020, 1, contact_id: 2)
80
+ #
81
+ # @param [Fixnum] account_id the target account ID
82
+ # @param [Fixnum] push_id the domain push ID
83
+ # @param [Hash] options
84
+ # @return [Dnsimple::Response<nil>]
85
+ #
86
+ # @raise [Dnsimple::NotFoundError]
87
+ # @raise [Dnsimple::RequestError]
88
+ def reject_push(account_id, push_id, options = {})
89
+ response = client.delete(Client.versioned("/%s/pushes/%s" % [account_id, push_id]), options)
90
+
91
+ Dnsimple::Response.new(response, nil)
92
+ end
93
+
94
+ end
95
+
96
+ end
97
+ end
@@ -71,7 +71,7 @@ module Dnsimple
71
71
  # @see https://developer.dnsimple.com/v2/registrar/#transfer
72
72
  #
73
73
  # @example Initiate the transfer for example.com using the contact 1234 as registrant:
74
- # client.registrar.transfer(1010, "example.com", registrant_id: 1234, auth_info: "x1y2z3")
74
+ # client.registrar.transfer(1010, "example.com", registrant_id: 1234, auth_code: "x1y2z3")
75
75
  #
76
76
  # @param [Fixnum] account_id the account ID
77
77
  # @param [#to_s] domain_name the domain name to transfer
@@ -90,7 +90,7 @@ module Dnsimple
90
90
 
91
91
  # Requests the transfer of a domain out of DNSimple.
92
92
  #
93
- # @see https://developer.dnsimple.com/v2/registrar/#transfer_out
93
+ # @see https://developer.dnsimple.com/v2/registrar/#transfer-out
94
94
  #
95
95
  # @example Request to transfer of example.com out of DNSimple:
96
96
  # client.registrar.transfer_out(1010, "example.com")
@@ -44,6 +44,48 @@ module Dnsimple
44
44
  Dnsimple::Response.new(response, response["data"])
45
45
  end
46
46
 
47
+ # Enable vanity name servers for the domain.
48
+ #
49
+ # @see https://developer.dnsimple.com/v2/registrar/delegation/#delegateToVanity
50
+ #
51
+ # @example Enable vanity name servers for example.com:
52
+ # client.registrar.change_domain_delegation_to_vanity(1010, "example.com",
53
+ # ["ns1.example.com", "ns2.example.com", "ns3.example.com", "ns4.example.com"])
54
+ #
55
+ # @param [Fixnum] account_id the account ID
56
+ # @param [#to_s] domain_name the domain name to check
57
+ # @param [Array] attributes
58
+ # @param [Hash] options
59
+ # @return [Dnsimple::Response<Array>]
60
+ #
61
+ # @raise [RequestError] When the request fails.
62
+ def change_domain_delegation_to_vanity(account_id, domain_name, attributes, options = {})
63
+ endpoint = Client.versioned("/%s/registrar/domains/%s/delegation/vanity" % [account_id, domain_name])
64
+ response = client.put(endpoint, attributes, options)
65
+
66
+ Dnsimple::Response.new(response, response["data"])
67
+ end
68
+
69
+ # Disable vanity name servers for the domain.
70
+ #
71
+ # @see https://developer.dnsimple.com/v2/registrar/delegation/#delegateFromVanity
72
+ #
73
+ # @example Disable vanity name servers for example.com:
74
+ # client.registrar.change_domain_delegation_from_vanity(1010, "example.com")
75
+ #
76
+ # @param [Fixnum] account_id the account ID
77
+ # @param [#to_s] domain_name the domain name to check
78
+ # @param [Hash] options
79
+ # @return [Dnsimple::Response<nil>]
80
+ #
81
+ # @raise [RequestError] When the request fails.
82
+ def change_domain_delegation_from_vanity(account_id, domain_name, options = {})
83
+ endpoint = Client.versioned("/%s/registrar/domains/%s/delegation/vanity" % [account_id, domain_name])
84
+ response = client.delete(endpoint, options)
85
+
86
+ Dnsimple::Response.new(response, response["data"])
87
+ end
88
+
47
89
  end
48
90
  end
49
91
  end
@@ -0,0 +1,82 @@
1
+ module Dnsimple
2
+ class Client
3
+ module ServicesDomains
4
+
5
+ # Lists the one-click services applied to the domain.
6
+ #
7
+ # @see https://developer.dnsimple.com/v2/services/domains/#applied
8
+ #
9
+ # @example List applied one-click services for example.com:
10
+ # client.service.applied_services(1010, "example.com")
11
+ #
12
+ # @example List applied one-click services for example.com, provide a specific page:
13
+ # client.services.applied_services(1010, "example.com", page: 2)
14
+ #
15
+ # @example List applied one-click services for example.com, provide a sorting policy:
16
+ # client.services.applied_services(1010, "example.com", sort: "short_name:asc")
17
+ #
18
+ # @param [Fixnum] account_id the account ID
19
+ # @param [#to_s] domain_id the domain name
20
+ # @param [Hash] options the filtering and sorting options
21
+ # @option options [Integer] :page current page (pagination)
22
+ # @option options [Integer] :per_page number of entries to return (pagination)
23
+ # @option options [String] :sort sorting policy
24
+ # @return [Dnsimple::PaginatedResponse<Dnsimple::Struct::Service>]
25
+ #
26
+ # @raise [RequestError] When the request fails.
27
+ def applied_services(account_id, domain_id, options = {})
28
+ endpoint = Client.versioned("/%s/domains/%s/services" % [account_id, domain_id])
29
+ response = client.get(endpoint, Options::ListOptions.new(options))
30
+
31
+ Dnsimple::PaginatedResponse.new(response, response["data"].map { |r| Struct::Service.new(r) })
32
+ end
33
+
34
+ # Apply a given one-click service to the domain.
35
+ #
36
+ # @see https://developer.dnsimple.com/v2/services/domains/#apply
37
+ #
38
+ # @example Apply one-click service service1 to example.com:
39
+ # client.domain_services.applied_services(1010, "example.com", "service1")
40
+ #
41
+ # @example Apply one-click service service1 to example.com, provide optional settings:
42
+ # client.domain_services.applied_services(1010, "example.com", "service1", app: "foo")
43
+ #
44
+ # @param [Fixnum] account_id the account ID
45
+ # @param [#to_s] service_id the service name (or ID)
46
+ # @param [#to_s] domain_id the domain name
47
+ # @param [Hash] settings optional settings to apply the one-click service
48
+ # @param [Hash] options
49
+ # @return [Dnsimple::Response<nil>]
50
+ #
51
+ # @raise [RequestError] When the request fails.
52
+ def apply_service(account_id, service_id, domain_id, settings = {}, options = {})
53
+ endpoint = Client.versioned("/%s/domains/%s/services/%s" % [account_id, domain_id, service_id])
54
+ response = client.post(endpoint, settings, options)
55
+
56
+ Dnsimple::Response.new(response, nil)
57
+ end
58
+
59
+ # Unapply a given one-click service from the domain.
60
+ #
61
+ # @see https://developer.dnsimple.com/v2/services/domains/#unapply
62
+ #
63
+ # @example Unapply one-click service service1 from example.com:
64
+ # client.domain_services.applied_services(1010, "example.com", "service1")
65
+ #
66
+ # @param [Fixnum] account_id the account ID
67
+ # @param [#to_s] service_id the service name (or ID)
68
+ # @param [#to_s] domain_id the domain name
69
+ # @param [Hash] options
70
+ # @return [Dnsimple::Response<nil>]
71
+ #
72
+ # @raise [RequestError] When the request fails.
73
+ def unapply_service(account_id, service_id, domain_id, options = {})
74
+ endpoint = Client.versioned("/%s/domains/%s/services/%s" % [account_id, domain_id, service_id])
75
+ response = client.delete(endpoint, options)
76
+
77
+ Dnsimple::Response.new(response, nil)
78
+ end
79
+
80
+ end
81
+ end
82
+ end
@@ -29,7 +29,6 @@ module Dnsimple
29
29
 
30
30
  Dnsimple::PaginatedResponse.new(response, response["data"].map { |r| Struct::Template.new(r) })
31
31
  end
32
- alias list templates
33
32
  alias list_templates templates
34
33
 
35
34
  # Lists ALL the templates in the account.
@@ -57,7 +56,6 @@ module Dnsimple
57
56
  def all_templates(account_id, options = {})
58
57
  paginate(:templates, account_id, options)
59
58
  end
60
- alias all all_templates
61
59
 
62
60
  # Creates a template in the account.
63
61
  #
@@ -78,7 +76,6 @@ module Dnsimple
78
76
 
79
77
  Dnsimple::Response.new(response, Struct::Template.new(response["data"]))
80
78
  end
81
- alias create create_template
82
79
 
83
80
  # Gets the template with specified ID.
84
81
  #
@@ -120,7 +117,6 @@ module Dnsimple
120
117
 
121
118
  Dnsimple::Response.new(response, Struct::Template.new(response["data"]))
122
119
  end
123
- alias update update_template
124
120
 
125
121
  # Deletes a template from the account.
126
122
  #
@@ -144,7 +140,6 @@ module Dnsimple
144
140
 
145
141
  Dnsimple::Response.new(response, nil)
146
142
  end
147
- alias delete delete_template
148
143
 
149
144
  end
150
145
  end
@@ -0,0 +1,29 @@
1
+ module Dnsimple
2
+ class Client
3
+ module TemplatesDomains
4
+
5
+ # Applies a template to the domain.
6
+ #
7
+ # @see https://developer.dnsimple.com/v2/templates/domains/#apply
8
+ #
9
+ # @example Apply template 5401 for example.com in account 1010:
10
+ # client.templates.apply_template(1010, 5401, "example.com")
11
+ #
12
+ # @param [Fixnum] account_id The account ID
13
+ # @param [#to_s] template_id The template ID
14
+ # @param [#to_s] domain_id The Domain ID or name
15
+ # @param [Hash] options
16
+ # @return [Dnsimple::Response<nil>]
17
+ #
18
+ # @raise [Dnsimple::NotFoundError]
19
+ # @raise [Dnsimple::RequestError]
20
+ def apply_template(account_id, template_id, domain_id, options = {})
21
+ endpoint = Client.versioned("/%s/domains/%s/templates/%s" % [account_id, domain_id, template_id])
22
+ response = client.post(endpoint, options)
23
+
24
+ Dnsimple::Response.new(response, nil)
25
+ end
26
+
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,47 @@
1
+ module Dnsimple
2
+ class Client
3
+ module VanityNameServers
4
+
5
+ # Enable vanity name servers for the domain.
6
+ #
7
+ # @see https://developer.dnsimple.com/v2/vanity/#enable
8
+ #
9
+ # @example Enable vanity name servers for example.com:
10
+ # client.vanity_name_servers.enable(1010, "example.com")
11
+ #
12
+ # @param [Fixnum] account_id the account ID
13
+ # @param [#to_s] domain_name the domain name
14
+ # @param [Hash] options
15
+ # @return [Dnsimple::Response<Array>]
16
+ #
17
+ # @raise [RequestError] When the request fails.
18
+ def enable_vanity_name_servers(account_id, domain_name, options = {})
19
+ endpoint = Client.versioned("/%s/vanity/%s" % [account_id, domain_name])
20
+ response = client.put(endpoint, options)
21
+
22
+ Dnsimple::Response.new(response, response["data"])
23
+ end
24
+
25
+ # Disable vanity name servers for the domain.
26
+ #
27
+ # @see https://developer.dnsimple.com/v2/vanity/#disable
28
+ #
29
+ # @example Disable vanity name servers for example.com:
30
+ # client.vanity_name_servers.disable(1010, "example.com")
31
+ #
32
+ # @param [Fixnum] account_id the account ID
33
+ # @param [#to_s] domain_name the domain name
34
+ # @param [Hash] options
35
+ # @return [Dnsimple::Response<nil>]
36
+ #
37
+ # @raise [RequestError] When the request fails.
38
+ def disable_vanity_name_servers(account_id, domain_name, options = {})
39
+ endpoint = Client.versioned("/%s/vanity/%s" % [account_id, domain_name])
40
+ response = client.delete(endpoint, options)
41
+
42
+ Dnsimple::Response.new(response, response["data"])
43
+ end
44
+
45
+ end
46
+ end
47
+ end
@@ -77,6 +77,23 @@ module Dnsimple
77
77
  Dnsimple::Response.new(response, Struct::Zone.new(response["data"]))
78
78
  end
79
79
 
80
+ # Gets a zone file from the account.
81
+ #
82
+ # @see https://developer.dnsimple.com/v2/zones/#get-file
83
+ #
84
+ # @param [Fixnum] account_id the account ID
85
+ # @param [#to_s] zone_name the zone name
86
+ # @param [Hash] options
87
+ # @return [Dnsimple::Response<Dnsimple::Struct::ZoneFile>]
88
+ #
89
+ # @raise [Dnsimple::NotFoundError]
90
+ # @raise [Dnsimple::RequestError]
91
+ def zone_file(account_id, zone_name, options = {})
92
+ response = client.get(Client.versioned("/%s/zones/%s/file" % [account_id, zone_name]), options)
93
+
94
+ Dnsimple::Response.new(response, Struct::ZoneFile.new(response["data"]))
95
+ end
96
+
80
97
  end
81
98
  end
82
99
  end
@@ -26,14 +26,14 @@ module Dnsimple
26
26
  # @option options [Integer] :per_page number of entries to return (pagination)
27
27
  # @option options [String] :sort sorting policy
28
28
  # @option options [Hash] :filter filtering policy
29
- # @return [Dnsimple::PaginatedResponse<Dnsimple::Struct::Record>]
29
+ # @return [Dnsimple::PaginatedResponse<Dnsimple::Struct::ZoneRecord>]
30
30
  #
31
31
  # @raise [Dnsimple::NotFoundError]
32
32
  # @raise [Dnsimple::RequestError]
33
33
  def records(account_id, zone_id, options = {})
34
34
  response = client.get(Client.versioned("/%s/zones/%s/records" % [account_id, zone_id]), Options::ListOptions.new(options))
35
35
 
36
- Dnsimple::PaginatedResponse.new(response, response["data"].map { |r| Struct::Record.new(r) })
36
+ Dnsimple::PaginatedResponse.new(response, response["data"].map { |r| Struct::ZoneRecord.new(r) })
37
37
  end
38
38
  alias list records
39
39
  alias list_records records
@@ -59,7 +59,7 @@ module Dnsimple
59
59
  # @option options [Integer] :per_page number of entries to return (pagination)
60
60
  # @option options [String] :sort sorting policy
61
61
  # @option options [Hash] :filter filtering policy
62
- # @return [Dnsimple::CollectionResponse<Dnsimple::Struct::Record>]
62
+ # @return [Dnsimple::CollectionResponse<Dnsimple::Struct::ZoneRecord>]
63
63
  #
64
64
  # @raise [Dnsimple::NotFoundError]
65
65
  # @raise [Dnsimple::RequestError]
@@ -79,7 +79,7 @@ module Dnsimple
79
79
  # @param [String] zone_id the zone name
80
80
  # @param [Hash] attributes
81
81
  # @param [Hash] options
82
- # @return [Dnsimple::Response<Dnsimple::Struct::Record>]
82
+ # @return [Dnsimple::Response<Dnsimple::Struct::ZoneRecord>]
83
83
  #
84
84
  # @raise [Dnsimple::NotFoundError]
85
85
  # @raise [Dnsimple::RequestError]
@@ -87,7 +87,7 @@ module Dnsimple
87
87
  Extra.validate_mandatory_attributes(attributes, [:type, :name, :content])
88
88
  response = client.post(Client.versioned("/%s/zones/%s/records" % [account_id, zone_id]), attributes, options)
89
89
 
90
- Dnsimple::Response.new(response, Struct::Record.new(response["data"]))
90
+ Dnsimple::Response.new(response, Struct::ZoneRecord.new(response["data"]))
91
91
  end
92
92
  alias create create_record
93
93
 
@@ -102,14 +102,14 @@ module Dnsimple
102
102
  # @param [String] zone_id the zone name
103
103
  # @param [Fixnum] record_id the record ID
104
104
  # @param [Hash] options
105
- # @return [Dnsimple::Response<Dnsimple::Struct::Record>]
105
+ # @return [Dnsimple::Response<Dnsimple::Struct::ZoneRecord>]
106
106
  #
107
107
  # @raise [Dnsimple::NotFoundError]
108
108
  # @raise [Dnsimple::RequestError]
109
109
  def record(account_id, zone_id, record_id, options = {})
110
110
  response = client.get(Client.versioned("/%s/zones/%s/records/%s" % [account_id, zone_id, record_id]), options)
111
111
 
112
- Dnsimple::Response.new(response, Struct::Record.new(response["data"]))
112
+ Dnsimple::Response.new(response, Struct::ZoneRecord.new(response["data"]))
113
113
  end
114
114
 
115
115
  # Updates a zone record in the account.
@@ -124,14 +124,14 @@ module Dnsimple
124
124
  # @param [Fixnum] record_id the record ID
125
125
  # @param [Hash] attributes
126
126
  # @param [Hash] options
127
- # @return [Dnsimple::Response<Dnsimple::Struct::Record>]
127
+ # @return [Dnsimple::Response<Dnsimple::Struct::ZoneRecord>]
128
128
  #
129
129
  # @raise [Dnsimple::NotFoundError]
130
130
  # @raise [Dnsimple::RequestError]
131
131
  def update_record(account_id, zone_id, record_id, attributes, options = {})
132
132
  response = client.patch(Client.versioned("/%s/zones/%s/records/%s" % [account_id, zone_id, record_id]), attributes, options)
133
133
 
134
- Dnsimple::Response.new(response, Struct::Record.new(response["data"]))
134
+ Dnsimple::Response.new(response, Struct::ZoneRecord.new(response["data"]))
135
135
  end
136
136
  alias update update_record
137
137