varanus 0.4.0 → 0.5.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 +5 -0
- data/Gemfile.lock +1 -1
- data/lib/varanus.rb +14 -0
- data/lib/varanus/domain.rb +42 -0
- data/lib/varanus/organization.rb +13 -0
- data/lib/varanus/ssl.rb +9 -0
- data/lib/varanus/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f457939fd1e7cb008b0a137827856048714d31a4fb2fda63ec027054ea62da58
|
4
|
+
data.tar.gz: 311572c2744ddfa0589282fec69f54eafd9ee1f602caf930f7d20051732c0ae4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc74433391a0cb8c59b8159e480b5acf5f519659216d0b2beaa83b2400bf4873db400b740c5ab2e1282870502edbc8351a13a702c498e5b4e76bc135c78b66c9
|
7
|
+
data.tar.gz: 11a6884e37fb4eec2c763f6ca428dd00dca6e113f3158722f5c5deed9468a09ee1496c27862cd623268a30821c4e9de365ed01033723f968825e55f9da7312ec
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/lib/varanus.rb
CHANGED
@@ -35,6 +35,18 @@ class Varanus
|
|
35
35
|
@dcv ||= DCV.new(self)
|
36
36
|
end
|
37
37
|
|
38
|
+
# Retrieve Domain instance
|
39
|
+
# @return [Varanus::Domain]
|
40
|
+
def domain
|
41
|
+
@domain ||= Domain.new(self)
|
42
|
+
end
|
43
|
+
|
44
|
+
# Retrieve Organization instance
|
45
|
+
# @return [Varanus::Organization]
|
46
|
+
def organization
|
47
|
+
@organization ||= Organization.new(self)
|
48
|
+
end
|
49
|
+
|
38
50
|
# Retrieve Reports instance
|
39
51
|
# @return [Varanus::Reports]
|
40
52
|
def reports
|
@@ -58,6 +70,8 @@ require 'savon'
|
|
58
70
|
require 'varanus/error'
|
59
71
|
require 'varanus/rest_resource'
|
60
72
|
require 'varanus/dcv'
|
73
|
+
require 'varanus/domain'
|
74
|
+
require 'varanus/organization'
|
61
75
|
require 'varanus/reports'
|
62
76
|
require 'varanus/ssl'
|
63
77
|
require 'varanus/ssl/csr'
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# A connection to the Domain API
|
4
|
+
class Varanus::Domain < Varanus::RestResource
|
5
|
+
# Create a new domain. The domain may need to be manually approved after this is
|
6
|
+
# called.
|
7
|
+
# +name+ is the domain
|
8
|
+
# +delegations+ is an Array of Hashes. Each Hash should have an 'orgId' and
|
9
|
+
# 'certTypes' key
|
10
|
+
# opts may include the following keys:
|
11
|
+
# - :description - optional - String
|
12
|
+
# - :active - optional - Boolean (defaults to +true+)
|
13
|
+
# - :allow_subdomains - optional - set to +false+ if you don't want to allow sub
|
14
|
+
# domains for this entry
|
15
|
+
#
|
16
|
+
# @returns [String] - URL for newly created domain
|
17
|
+
def create domain, delegations, opts = {}
|
18
|
+
opts = opts.dup
|
19
|
+
allow_subdomains = opts.delete(:allow_subdomains)
|
20
|
+
domain = "*.#{domain}" if allow_subdomains != false && !domain.start_with?('*.')
|
21
|
+
|
22
|
+
result = @varanus.connection.post('domain/v1',
|
23
|
+
opts.merge(name: domain, delegations: delegations))
|
24
|
+
check_result result
|
25
|
+
result.headers['Location']
|
26
|
+
end
|
27
|
+
|
28
|
+
# Return info on domain. +id+ must be the id returned by #list
|
29
|
+
def info id
|
30
|
+
get("domain/v1/#{id}")
|
31
|
+
end
|
32
|
+
|
33
|
+
def list opts = {}
|
34
|
+
get_with_size_and_position('domain/v1', opts)
|
35
|
+
end
|
36
|
+
|
37
|
+
def list_with_info opts = {}
|
38
|
+
domains = list(opts)
|
39
|
+
domains.map! { |domain| info(domain['id']) }
|
40
|
+
domains
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# A connection to the Organization API
|
4
|
+
class Varanus::Organization < Varanus::RestResource
|
5
|
+
# Return info on organization.
|
6
|
+
def info id
|
7
|
+
get("organization/v1/#{id}")
|
8
|
+
end
|
9
|
+
|
10
|
+
def list
|
11
|
+
get('organization/v1')
|
12
|
+
end
|
13
|
+
end
|
data/lib/varanus/ssl.rb
CHANGED
@@ -55,6 +55,15 @@ class Varanus::SSL < Varanus::RestResource
|
|
55
55
|
get("ssl/v1/collect/#{id}/#{type}")
|
56
56
|
end
|
57
57
|
|
58
|
+
# Returns info on the SSL certificate of the given name
|
59
|
+
def info id
|
60
|
+
get("ssl/v1/#{id}")
|
61
|
+
end
|
62
|
+
|
63
|
+
def list opts = {}
|
64
|
+
get_with_size_and_position('ssl/v1', opts)
|
65
|
+
end
|
66
|
+
|
58
67
|
# Revoke an ssl cert
|
59
68
|
# @param id [Integer] As returned by {#sign}
|
60
69
|
# @param reason [String] Reason for revoking. Sectigo's API will return an error if it
|
data/lib/varanus/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: varanus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Dilda
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-01-
|
11
|
+
date: 2021-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -205,7 +205,9 @@ files:
|
|
205
205
|
- docker-compose.yml
|
206
206
|
- lib/varanus.rb
|
207
207
|
- lib/varanus/dcv.rb
|
208
|
+
- lib/varanus/domain.rb
|
208
209
|
- lib/varanus/error.rb
|
210
|
+
- lib/varanus/organization.rb
|
209
211
|
- lib/varanus/reports.rb
|
210
212
|
- lib/varanus/rest_resource.rb
|
211
213
|
- lib/varanus/ssl.rb
|