vultr 0.2.1 → 0.3.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c12fe3beaaf22ba449d893cacbf405d6f8ad2e9f
4
- data.tar.gz: 1d4032bfc3ea121f6911ffcc7de091419279b65c
3
+ metadata.gz: 48cfd40f5280925bfe09e90f6734e5cf7a22ae7a
4
+ data.tar.gz: d394747f88db57a643a76d680fd43146e2697c56
5
5
  SHA512:
6
- metadata.gz: 9cfce53dd5097cc82fe1cf1916bd45da16614a52ae5b29fe9ec47c1f599734da65852cf3ccdfca8e98449fa0c46bdcd8f96fdd3999b97a0bef1f3f8c087fb3d2
7
- data.tar.gz: 4271cb8e3353ee175b85c7ac079a4efb9cd00ffbfb9b41d9e23f9070d66c49e25313f6d0d4d40c35c1a971312f374edba0159428a9b9b11332b4351b22b1112c
6
+ metadata.gz: 27805fd90489fe329202a143b5ae8f90ff93605916b754e9e1da5f10143244d5ae3f41f4a9659fb8cadc7ed3fdcc3fd407b3209d00b60a71111f3bb259ac480d
7
+ data.tar.gz: 046d0ec597dfe2f71a4ce28d5bb94877198c7b02371e2034c0b25136de4cac07478b54b9146e71fffa165b1d43da105d0f28fc48eaafd4091536a7e590ee9f75
@@ -1,3 +1,16 @@
1
+ == 0.3.0 / 2016-09-07
2
+
3
+ * Update to the latest APIs.
4
+
5
+ == 0.2.2 / 2015-09-25
6
+
7
+ * New function [server_bandwidth](https://www.vultr.com/api/#server_bandwidth).
8
+ Thanks to @molisoft.
9
+
10
+ == 0.2.1 / 2015-05-28
11
+
12
+ * Minor bug fixes.
13
+
1
14
  == 0.2.0 / 2015-05-03
2
15
 
3
16
  * Update README.md
@@ -12,16 +12,29 @@ module Vultr
12
12
  App: {
13
13
  list: [:get, '/v1/app/list']
14
14
  },
15
+ Auth: {
16
+ info: [:get, '/v1/auth/info?api_key=[api_key]']
17
+ },
15
18
  Backup: {
16
19
  list: [:get, '/v1/backup/list?api_key=[api_key]']
17
20
  },
21
+ Block: {
22
+ attach: [:post, '/v1/block/attach?api_key=[api_key]', ['SUBID', 'attach_to_SUBID']],
23
+ create: [:post, '/v1/block/create?api_key=[api_key]', ['DCID', 'size_gb', 'label']],
24
+ delete: [:post, '/v1/block/delete?api_key=[api_key]', ['SUBID']],
25
+ detach: [:post, '/v1/block/detach?api_key=[api_key]', ['SUBID']],
26
+ label_set: [:post, '/v1/block/label_set?api_key=[api_key]', ['SUBID', 'label']],
27
+ list: [:get, '/v1/block/list?api_key=[api_key]&SUBID=[SUBID]'],
28
+ resize: [:post, '/v1/block/resize?api_key=[api_key]', ['SUBID', 'size_gb']]
29
+ },
18
30
  DNS: {
19
31
  create_domain: [:post, '/v1/dns/create_domain?api_key=[api_key]', ['domain', 'serverip']],
20
- delete_domain: [:post, '/v1/dns/delete_domain?api_key=[api_key]', ['domain']],
21
32
  create_record: [:post, '/v1/dns/create_record?api_key=[api_key]', ['domain', 'name', 'type', 'data', 'ttl', 'priority']],
33
+ delete_domain: [:post, '/v1/dns/delete_domain?api_key=[api_key]', ['domain']],
22
34
  delete_record: [:post, '/v1/dns/delete_record?api_key=[api_key]', ['domain', 'RECORDID']],
23
35
  list: [:get, '/v1/dns/list?api_key=[api_key]'],
24
- records: [:get, '/v1/dns/records?api_key=[api_key]&domain=[domain]']
36
+ records: [:get, '/v1/dns/records?api_key=[api_key]&domain=[domain]'],
37
+ update_record: [:post, '/v1/dns/update_record?api_key=[api_key]', ['domain', 'RECORDID', 'name', 'type', 'data', 'ttl', 'priority']]
25
38
  },
26
39
  ISO: {
27
40
  list: [:get, '/v1/iso/list?api_key=[api_key]']
@@ -29,57 +42,88 @@ module Vultr
29
42
  OS: {
30
43
  list: [:get, '/v1/os/list']
31
44
  },
32
- Plan: {
33
- list: [:get, '/v1/plans/list']
45
+ Plans: {
46
+ list: [:get, '/v1/plans/list?type=[type]'],
47
+ list_vc2: [:get, '/v1/plans/list_vc2'],
48
+ list_vdc2: [:get, '/v1/plans/list_vdc2']
49
+ },
50
+ Regions: {
51
+ availability: [:get, '/v1/regions/availability?DCID=[DCID]'],
52
+ list: [:get, '/v1/regions/list']
34
53
  },
35
- Region: {
36
- list: [:get, '/v1/regions/list'],
37
- availability: [:get, '/v1/regions/availability?DCID=[DCID]']
54
+ RevervedIP: {
55
+ attach: [:post, '/v1/reservedip/list?api_key=[api_key]', ['ip_address', 'attach_SUBID']],
56
+ convert: [:post, '/v1/reservedip/list?api_key=[api_key]', ['SUBID', 'ip_address', 'label']],
57
+ create: [:post, '/v1/reservedip/list?api_key=[api_key]', ['DCID', 'ip_type', 'label']],
58
+ destroy: [:post, '/v1/reservedip/list?api_key=[api_key]', ['ip_address']],
59
+ detach: [:post, '/v1/reservedip/list?api_key=[api_key]', ['ip_address', 'detach_SUBID']],
60
+ list: [:get, '/v1/reservedip/list?api_key=[api_key]']
38
61
  },
39
62
  Server: {
40
- list: [:get, '/v1/server/list?api_key=[api_key]', ['SUBID']],
41
- reboot: [:post, '/v1/server/reboot?api_key=[api_key]', ['SUBID']],
42
- halt: [:post, '/v1/server/halt?api_key=[api_key]', ['SUBID']],
43
- start: [:post, '/v1/server/start?api_key=[api_key]', ['SUBID']],
44
- destroy: [:post, '/v1/server/destroy?api_key=[api_key]', ['SUBID']],
63
+ app_change: [:post, '/v1/server/app_change?api_key=[api_key]', ['SUBID', 'APPID']],
64
+ app_change_list: [:get, '/v1/server/app_change?api_key=[api_key]&SUBID=[SUBID]'],
65
+ backup_disable: [:post, '/v1/server/backup_disable?api_key=[api_key]', ['SUBID']],
66
+ backup_enable: [:post, '/v1/server/backup_enable?api_key=[api_key]', ['SUBID']],
67
+ backup_get_schedule: [:post, '/v1/server/backup_get_schedule?api_key=[api_key]', ['SUBID']],
68
+ backup_set_schedule: [:post, '/v1/server/backup_set_schedule?api_key=[api_key]', ['SUBID', 'cron_type', 'hour', 'dow', 'dom']],
69
+ bandwidth: [:get, '/v1/server/bandwidth?api_key=[api_key]&SUBID=[SUBID]'],
45
70
  create: [:post, '/v1/server/create?api_key=[api_key]',
46
71
  ['DCID', 'VPSPLANID', 'OSID', 'ipxe_chain_url', 'ISOID', 'SCRIPTID', 'SNAPSHOTID',
47
- 'enable_ipv6', 'enable_private_network', 'label', 'SSHKEYID', 'auto_backups', 'APPID']],
48
- list_ipv4: [:get, '/v1/server/list_ipv4?api_key=[api_key]&SUBID=[SUBID]'],
72
+ 'enable_ipv6', 'enable_private_network', 'private_network', 'label', 'SSHKEYID', 'auto_backups',
73
+ 'APPID', 'userdata', 'notify_activate', 'ddos_protection', 'reserved_ip_v4', 'hostname', 'tag']],
49
74
  create_ipv4: [:post, '/v1/server/create_ipv4?api_key=[api_key]', ['SUBID', 'reboot']],
75
+ destroy: [:post, '/v1/server/destroy?api_key=[api_key]', ['SUBID']],
50
76
  destroy_ipv4: [:post, '/v1/server/destroy_ipv4?api_key=[api_key]', ['SUBID', 'ip']],
51
- list_ipv6: [:get, '/v1/server/list_ipv6?api_key=[api_key]&SUBID=[SUBID]'],
77
+ get_app_info: [:get, '/v1/server/get_app_info?api_key=[api_key]&SUBID=[SUBID]'],
78
+ get_user_data: [:get, '/v1/server/set_user_data?api_key=[api_key]&SUBID=[SUBID]'],
79
+ halt: [:post, '/v1/server/halt?api_key=[api_key]', ['SUBID']],
80
+ iso_attach: [:post, '/v1/server/iso_detach?api_key=[api_key]', ['SUBID', 'ISOID']],
81
+ iso_detach: [:post, '/v1/server/iso_detach?api_key=[api_key]', ['SUBID']],
82
+ iso_status: [:get, '/v1/server/iso_status?api_key=[api_key]&SUBID=[SUBID]'],
52
83
  label_set: [:post, '/v1/server/label_set?api_key=[api_key]', ['SUBID', 'label']],
84
+ list: [:get, '/v1/server/list?api_key=[api_key]&SUBID=[SUBID]&tag=[tag]'],
85
+ list_ipv4: [:get, '/v1/server/list_ipv4?api_key=[api_key]&SUBID=[SUBID]'],
86
+ list_ipv6: [:get, '/v1/server/list_ipv6?api_key=[api_key]&SUBID=[SUBID]'],
87
+ neighbors: [:get, '/v1/server/neighbors?api_key=[api_key]&SUBID=[SUBID]'],
53
88
  os_change: [:post, '/v1/server/os_change?api_key=[api_key]', ['SUBID', 'OSID']],
54
89
  os_change_list: [:get, '/v1/server/os_change_list?api_key=[api_key]&SUBID=[SUBID]'],
55
- reinstall: [:post, '/v1/server/reinstall?api_key=[api_key]', ['SUBID']],
90
+ reboot: [:post, '/v1/server/reboot?api_key=[api_key]', ['SUBID']],
91
+ reinstall: [:post, '/v1/server/reinstall?api_key=[api_key]', ['SUBID', 'hostname']],
56
92
  restore_backup: [:post, '/v1/server/restore_backup?api_key=[api_key]', ['SUBID', 'BACKUPID']],
57
93
  restore_snapshot: [:post, '/v1/server/restore_snapshot?api_key=[api_key]', ['SUBID', 'SNAPSHOTID']],
58
94
  reverse_default_ipv4: [:post, '/v1/server/reverse_default_ipv4?api_key=[api_key]', ['SUBID', 'ip']],
59
- reverse_delete_ipv6: [:post, '/v1/server/reverse_delete_ipv6?api_key=[api_key]', ['SUBID']],
95
+ reverse_delete_ipv6: [:post, '/v1/server/reverse_delete_ipv6?api_key=[api_key]', ['SUBID', 'ip']],
60
96
  reverse_list_ipv6: [:get, '/v1/server/reverse_list_ipv6?api_key=[api_key]&SUBID=[SUBID]'],
61
- reverse_set_ipv4: [:post, '/v1/server/reverse_set_ipv4?api_key=[api_key]', ['SUBID', 'ip']],
62
- reverse_set_ipv6: [:post, '/v1/server/reverse_set_ipv6?api_key=[api_key]', ['SUBID', 'ip']],
97
+ reverse_set_ipv4: [:post, '/v1/server/reverse_set_ipv4?api_key=[api_key]', ['SUBID', 'ip', 'entry']],
98
+ reverse_set_ipv6: [:post, '/v1/server/reverse_set_ipv6?api_key=[api_key]', ['SUBID', 'ip', 'entry']],
99
+ set_user_data: [:post, '/v1/server/set_user_data?api_key=[api_key]', ['SUBID', 'userdata']],
100
+ start: [:post, '/v1/server/start?api_key=[api_key]', ['SUBID']],
63
101
  upgrade_plan: [:post, '/v1/server/upgrade_plan?api_key=[api_key]', ['SUBID', 'VPSPLANID']],
64
102
  upgrade_plan_list: [:get, '/v1/server/upgrade_plan_list?api_key=[api_key]&SUBID=[SUBID]']
65
103
  },
66
104
  Snapshot: {
67
- list: [:get, '/v1/snapshot/list?api_key=[api_key]'],
68
105
  destroy: [:post, '/v1/snapshot/destroy?api_key=[api_key]', ['SNAPSHOTID']],
69
- create: [:post, '/v1/snapshot/create?api_key=[api_key]', ['SUBID']]
106
+ create: [:post, '/v1/snapshot/create?api_key=[api_key]', ['SUBID']],
107
+ list: [:get, '/v1/snapshot/list?api_key=[api_key]']
70
108
  },
71
109
  SSHKey: {
72
- list: [:get, '/v1/sshkey/list?api_key=[api_key]'],
73
110
  create: [:post, '/v1/sshkey/create?api_key=[api_key]', ['name', 'ssh_key']],
74
111
  destroy: [:post, '/v1/sshkey/destroy?api_key=[api_key]', ['SSHKEYID']],
112
+ list: [:get, '/v1/sshkey/list?api_key=[api_key]'],
75
113
  update: [:post, '/v1/sshkey/update?api_key=[api_key]', ['SSHKEYID', 'name', 'ssh_key']]
76
114
  },
77
115
  StartupScript: {
78
- list: [:get, '/v1/startupscript/list?api_key=[api_key]'],
79
116
  create: [:post, '/v1/startupscript/create?api_key=[api_key]', ['name', 'script', 'type']],
80
117
  destroy: [:post, '/v1/startupscript/destroy?api_key=[api_key]', ['SCRIPTID']],
118
+ list: [:get, '/v1/startupscript/list?api_key=[api_key]'],
81
119
  update: [:post, '/v1/startupscript/update?api_key=[api_key]', ['SCRIPTID', 'name', 'script']]
82
120
  },
121
+ User: {
122
+ create: [:post, '/v1/user/create?api_key=[api_key]', ['email', 'name', 'password', 'api_enabled', 'acls']],
123
+ delete: [:post, '/v1/user/delete?api_key=[api_key]', ['USERID']],
124
+ list: [:get, '/v1/user/list?api_key=[api_key]'],
125
+ update: [:post, '/v1/user/update?api_key=[api_key]', ['USERID', 'email', 'name', 'password', 'api_enabled', 'acls']]
126
+ }
83
127
  }
84
128
 
85
129
  DEFINITIONS.each do |resource|
@@ -146,9 +190,8 @@ module Vultr
146
190
  end
147
191
 
148
192
  def process_api_key(parts)
149
- api_key_index = parts.index 'api_key='
150
- api_key_index = parts.index '&api_key=' unless api_key_index
151
- parts[api_key_index + 1] = api_key if api_key_index
193
+ api_key_index = parts.index 'api_key=[api_key]'
194
+ parts[api_key_index].sub!(/\[api_key\]/, api_key) if api_key_index
152
195
 
153
196
  parts
154
197
  end
@@ -156,23 +199,21 @@ module Vultr
156
199
  def process_query_args_from_path(query, args)
157
200
  return if query.nil?
158
201
 
159
- parts = query.split(/\[|\]/)
202
+ parts = query.split('&')
160
203
  parts = process_api_key(parts)
161
204
 
162
205
  hash = args[-1]
163
206
  if hash.is_a?(Hash)
164
207
  hash.each do |key, value|
165
- query_setter = "#{key}="
166
- query_arg_index = parts.index query_setter
167
- query_arg_index = parts.index "&#{query_setter}" unless query_arg_index
168
-
169
- unless query_arg_index.nil?
170
- parts[query_arg_index+1] = value
171
- end
208
+ query_arg_index = parts.index "#{key}=[#{key}]"
209
+ parts[query_arg_index].sub!(/\[.*\]/, value.to_s) if query_arg_index
172
210
  end
173
211
  end
174
212
 
175
- parts.join('')
213
+ parts.delete_if do |x|
214
+ x =~ /=\[.*\]/
215
+ end
216
+ parts.join('&')
176
217
  end
177
218
 
178
219
  def process_params_args_from_keys(params, args)
@@ -1,7 +1,7 @@
1
1
  module Vultr
2
2
  module VERSION
3
3
  MAJOR = 0
4
- MINOR = 2
4
+ MINOR = 3
5
5
  TINY = 1
6
6
  PRE = nil
7
7
 
@@ -6,10 +6,10 @@ require 'vultr/version'
6
6
  Gem::Specification.new do |s|
7
7
  s.name = 'vultr'
8
8
  s.version = Vultr::VERSION::STRING
9
- s.authors = ['Tolbkni Kao']
9
+ s.authors = ['Jiangmiao Gao']
10
10
  s.email = ['tolbkni@gmail.com']
11
11
  s.summary = %q{Ruby bindings for VULTR API.}
12
- s.description = %q{Ruby bindings for VULTR API.}
12
+ s.description = %q{Ruby bindings for VULTR API. VULTR APIs can be found here: https://www.vultr.com/api/}
13
13
  s.homepage = 'https://github.com/tolbkni/vultr.rb'
14
14
  s.license = 'MIT'
15
15
 
@@ -18,8 +18,8 @@ Gem::Specification.new do |s|
18
18
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
19
19
  s.require_paths = ['lib']
20
20
 
21
- s.add_dependency 'faraday', '~> 0.9.1'
22
- s.add_dependency 'faraday_middleware', '~> 0.9.1'
21
+ s.add_dependency 'faraday', '~> 0.9.2'
22
+ s.add_dependency 'faraday_middleware', '~> 0.9.2'
23
23
 
24
24
  s.add_development_dependency 'bundler', '~> 1.6'
25
25
  s.add_development_dependency 'rake'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vultr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
- - Tolbkni Kao
7
+ - Jiangmiao Gao
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-28 00:00:00.000000000 Z
11
+ date: 2016-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.9.1
19
+ version: 0.9.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.9.1
26
+ version: 0.9.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: faraday_middleware
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.9.1
33
+ version: 0.9.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.9.1
40
+ version: 0.9.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -80,7 +80,7 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description: Ruby bindings for VULTR API.
83
+ description: 'Ruby bindings for VULTR API. VULTR APIs can be found here: https://www.vultr.com/api/'
84
84
  email:
85
85
  - tolbkni@gmail.com
86
86
  executables: []
@@ -127,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
127
  version: '0'
128
128
  requirements: []
129
129
  rubyforge_project:
130
- rubygems_version: 2.4.5
130
+ rubygems_version: 2.5.1
131
131
  signing_key:
132
132
  specification_version: 4
133
133
  summary: Ruby bindings for VULTR API.