vultr 0.2.1 → 0.3.1

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