pritunl_api_client 1.2.0 → 1.4.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 +3 -0
- data/README.md +27 -3
- data/lib/pritunl_api_client/key.rb +34 -9
- data/lib/pritunl_api_client/version.rb +1 -1
- data/pritunl_api_client.gemspec +0 -1
- metadata +5 -8
- data/bin/console +0 -14
- data/bin/setup +0 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9e7aab97574ccbc72cffee7ab7e38fff8d6cc087
|
|
4
|
+
data.tar.gz: ff948fea79a2d01158132c87a66004dc56121066
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 93353f991868e733cf931697079040de1cec0de4e1c62a8ba95db34abc1d1ec2efb85f7228ee5f63b991c4b264457d5277fd092ec959b1d3dbabf709dfc15a56
|
|
7
|
+
data.tar.gz: 91da34ec454609c5a5a23abe3a83f71446e24e5a2d7c0005f67133307ae1df5525b9b9bac84918f9989a9b488a0a1dfee89a6e939228c7dc48700a34ccb33a1a
|
data/CHANGELOG.md
ADDED
data/README.md
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
# Pritunl API Client
|
|
2
2
|
|
|
3
3
|
[](https://badge.fury.io/rb/pritunl_api_client)
|
|
4
|
+

|
|
5
|
+
[](http://inch-ci.org/github/eterry1388/pritunl_api_client)
|
|
6
|
+
[](https://gemnasium.com/eterry1388/pritunl_api_client)
|
|
4
7
|
|
|
5
8
|
API client for Pritunl written in Ruby.
|
|
6
9
|
|
|
@@ -315,18 +318,33 @@ require 'pritunl_api_client'
|
|
|
315
318
|
|
|
316
319
|
## Keys
|
|
317
320
|
|
|
321
|
+
If you omit the `path` parameter on any of the `key` APIs below, the file content will be directly returned
|
|
322
|
+
from the method rather than to a downloaded file.
|
|
323
|
+
|
|
324
|
+
### Download a users key.
|
|
325
|
+
|
|
326
|
+
```ruby
|
|
327
|
+
@pritunl.key.download( organization_id: org['id'], user_id: user['id'], path: 'output.ovpn' )
|
|
328
|
+
```
|
|
329
|
+
|
|
318
330
|
### Download a users key tar archive.
|
|
319
331
|
|
|
320
332
|
```ruby
|
|
321
333
|
@pritunl.key.download_tar( organization_id: org['id'], user_id: user['id'], path: 'output.tar' )
|
|
322
334
|
```
|
|
323
335
|
|
|
324
|
-
### Download a users
|
|
336
|
+
### Download a users key zip archive.
|
|
325
337
|
|
|
326
338
|
```ruby
|
|
327
339
|
@pritunl.key.download_zip( organization_id: org['id'], user_id: user['id'], path: 'output.zip' )
|
|
328
340
|
```
|
|
329
341
|
|
|
342
|
+
### Download a users onc key Chromebook profile zip archive.
|
|
343
|
+
|
|
344
|
+
```ruby
|
|
345
|
+
@pritunl.key.download_chromebook_profile( organization_id: org['id'], user_id: user['id'], path: 'output.zip' )
|
|
346
|
+
```
|
|
347
|
+
|
|
330
348
|
### Generate a temporary url to download a users key archive.
|
|
331
349
|
|
|
332
350
|
```ruby
|
|
@@ -544,8 +562,14 @@ PritunlApiClient
|
|
|
544
562
|
Generate two-step auth for user
|
|
545
563
|
Delete user
|
|
546
564
|
PritunlApiClient::Key
|
|
565
|
+
Download key
|
|
566
|
+
Get key
|
|
567
|
+
Download tar key
|
|
547
568
|
Get tar key
|
|
569
|
+
Download zip key
|
|
548
570
|
Get zip key
|
|
571
|
+
Download chromebook profile onc zip key
|
|
572
|
+
Get chromebook profile onc zip key
|
|
549
573
|
Get key temporary url
|
|
550
574
|
PritunlApiClient::Server
|
|
551
575
|
Create server
|
|
@@ -564,8 +588,8 @@ PritunlApiClient
|
|
|
564
588
|
Get all settings
|
|
565
589
|
Update settings
|
|
566
590
|
|
|
567
|
-
Finished in 1 minute
|
|
568
|
-
|
|
591
|
+
Finished in 1 minute 11.62 seconds (files took 0.17043 seconds to load)
|
|
592
|
+
38 examples, 0 failures
|
|
569
593
|
```
|
|
570
594
|
|
|
571
595
|
## License
|
|
@@ -8,14 +8,37 @@ module PritunlApiClient
|
|
|
8
8
|
@api = api
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
+
# Download a users key
|
|
12
|
+
#
|
|
13
|
+
# @note User organization must be attached to a server
|
|
14
|
+
# @param organization_id [String]
|
|
15
|
+
# @param user_id [String]
|
|
16
|
+
# @param path [String] Local path to save downloaded file (if omitted, file content fill be returned)
|
|
17
|
+
# @raise [StandardError] if user or servers cannot be found
|
|
18
|
+
# @return [String] Local path to downloaded file or file contents if 'path' was omitted
|
|
19
|
+
def download( organization_id:, user_id:, path: nil )
|
|
20
|
+
temporary_url_id = temporary_url( organization_id: organization_id, user_id: user_id )['id']
|
|
21
|
+
all_users = @api.get( "/user/#{organization_id}" )
|
|
22
|
+
user = all_users.find { |user| user['id'] == user_id }
|
|
23
|
+
fail StandardError, 'Could not find user!' unless user
|
|
24
|
+
servers = user['servers']
|
|
25
|
+
fail StandardError, 'Could not find servers attached to user!' unless servers && servers.count >= 1
|
|
26
|
+
server_id = servers.first['id']
|
|
27
|
+
data = @api.get( "/key/#{temporary_url_id}/#{server_id}.key" )
|
|
28
|
+
return data unless path
|
|
29
|
+
File.write( path, data.force_encoding( 'utf-8' ) )
|
|
30
|
+
path
|
|
31
|
+
end
|
|
32
|
+
|
|
11
33
|
# Download a users key tar archive
|
|
12
34
|
#
|
|
13
35
|
# @param organization_id [String]
|
|
14
36
|
# @param user_id [String]
|
|
15
|
-
# @param path [String] Local path to save downloaded file
|
|
16
|
-
# @return [String] Local path to downloaded file
|
|
17
|
-
def download_tar( organization_id:, user_id:, path: )
|
|
37
|
+
# @param path [String] Local path to save downloaded file (if omitted, file content fill be returned)
|
|
38
|
+
# @return [String] Local path to downloaded file or file contents if 'path' was omitted
|
|
39
|
+
def download_tar( organization_id:, user_id:, path: nil )
|
|
18
40
|
data = @api.get( "/key/#{organization_id}/#{user_id}.tar" )
|
|
41
|
+
return data unless path
|
|
19
42
|
File.write( path, data.force_encoding( 'utf-8' ) )
|
|
20
43
|
path
|
|
21
44
|
end
|
|
@@ -24,10 +47,11 @@ module PritunlApiClient
|
|
|
24
47
|
#
|
|
25
48
|
# @param organization_id [String]
|
|
26
49
|
# @param user_id [String]
|
|
27
|
-
# @param path [String] Local path to save downloaded file
|
|
28
|
-
# @return [String] Local path to downloaded file
|
|
29
|
-
def download_zip( organization_id:, user_id:, path: )
|
|
50
|
+
# @param path [String] Local path to save downloaded file (if omitted, file content fill be returned)
|
|
51
|
+
# @return [String] Local path to downloaded file or file contents if 'path' was omitted
|
|
52
|
+
def download_zip( organization_id:, user_id:, path: nil )
|
|
30
53
|
data = @api.get( "/key/#{organization_id}/#{user_id}.zip" )
|
|
54
|
+
return data unless path
|
|
31
55
|
File.write( path, data.force_encoding( 'utf-8' ) )
|
|
32
56
|
path
|
|
33
57
|
end
|
|
@@ -36,10 +60,11 @@ module PritunlApiClient
|
|
|
36
60
|
#
|
|
37
61
|
# @param organization_id [String]
|
|
38
62
|
# @param user_id [String]
|
|
39
|
-
# @param path [String] Local path to save downloaded file
|
|
40
|
-
# @return [String] Local path to downloaded file
|
|
41
|
-
def download_chromebook_profile( organization_id:, user_id:, path: )
|
|
63
|
+
# @param path [String] Local path to save downloaded file (if omitted, file content fill be returned)
|
|
64
|
+
# @return [String] Local path to downloaded file or file contents if 'path' was omitted
|
|
65
|
+
def download_chromebook_profile( organization_id:, user_id:, path: nil )
|
|
42
66
|
data = @api.get( "/key_onc/#{organization_id}/#{user_id}.zip" )
|
|
67
|
+
return data unless path
|
|
43
68
|
File.write( path, data.force_encoding( 'utf-8' ) )
|
|
44
69
|
path
|
|
45
70
|
end
|
data/pritunl_api_client.gemspec
CHANGED
|
@@ -15,7 +15,6 @@ Gem::Specification.new do |spec|
|
|
|
15
15
|
spec.license = 'MIT'
|
|
16
16
|
|
|
17
17
|
spec.files = `git ls-files -z`.split( "\x0" ).reject { |f| f.match( %r{^(test|spec|features)/} ) }
|
|
18
|
-
spec.executables = spec.files.grep( %r{^bin/} ) { |f| File.basename( f ) }
|
|
19
18
|
spec.require_paths = ['lib']
|
|
20
19
|
|
|
21
20
|
spec.required_ruby_version = '>= 2.1.0'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pritunl_api_client
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eric Terry
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2016-02-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rest-client
|
|
@@ -85,20 +85,17 @@ description: 'API client for Pritunl written in Ruby. Pritunl is a distributed e
|
|
|
85
85
|
here: https://pritunl.com/api.html. I am not affiliated with Pritunl.'
|
|
86
86
|
email:
|
|
87
87
|
- eterry1388@aol.com
|
|
88
|
-
executables:
|
|
89
|
-
- console
|
|
90
|
-
- setup
|
|
88
|
+
executables: []
|
|
91
89
|
extensions: []
|
|
92
90
|
extra_rdoc_files: []
|
|
93
91
|
files:
|
|
94
92
|
- ".gitignore"
|
|
95
93
|
- ".rspec"
|
|
94
|
+
- CHANGELOG.md
|
|
96
95
|
- Gemfile
|
|
97
96
|
- LICENSE
|
|
98
97
|
- README.md
|
|
99
98
|
- Rakefile
|
|
100
|
-
- bin/console
|
|
101
|
-
- bin/setup
|
|
102
99
|
- lib/pritunl_api_client.rb
|
|
103
100
|
- lib/pritunl_api_client/api.rb
|
|
104
101
|
- lib/pritunl_api_client/key.rb
|
|
@@ -128,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
128
125
|
version: '0'
|
|
129
126
|
requirements: []
|
|
130
127
|
rubyforge_project:
|
|
131
|
-
rubygems_version: 2.
|
|
128
|
+
rubygems_version: 2.5.1
|
|
132
129
|
signing_key:
|
|
133
130
|
specification_version: 4
|
|
134
131
|
summary: Pritunl Ruby API Client
|
data/bin/console
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
|
|
3
|
-
require 'bundler/setup'
|
|
4
|
-
require 'pritunl_api_client'
|
|
5
|
-
|
|
6
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
|
7
|
-
# with your gem easier. You can also use a different console, if you like.
|
|
8
|
-
|
|
9
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
|
10
|
-
# require 'pry'
|
|
11
|
-
# Pry.start
|
|
12
|
-
|
|
13
|
-
require 'irb'
|
|
14
|
-
IRB.start
|