conjur-asset-host-factory 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/conjur-asset-host-factory-version.rb +1 -1
- data/lib/conjur/api/host_factories.rb +33 -13
- data/lib/conjur/command/host_factories.rb +11 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd29397edddda0f79be357cdbe3b49c6868e9e5c
|
4
|
+
data.tar.gz: 592e45e7862422b2bc162ec797c5d45f756aeacd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a282dd21436c06d180575e127643e8a05735ab6667dbdc3151d90fa8ecf8f32319b9da0c4800e5a890ce0f1628ab43f4ad6602bd8b9afdc0c3b9ba4cda27a11
|
7
|
+
data.tar.gz: 386db30d18c70b7b81c82c7b8055e0ea7d20812ad320362f94323c0207560868e60be01dcfdb72842c9df67af839ef2a3ae7c0a5a07e616783751104201c05d9
|
@@ -22,14 +22,27 @@ require 'conjur/host_factory'
|
|
22
22
|
|
23
23
|
module Conjur
|
24
24
|
class API
|
25
|
+
class << self
|
26
|
+
# Creates a host and returns the response Hash.
|
27
|
+
def host_factory_create_host token, id, options = {}
|
28
|
+
token = token.token if token.is_a?(HostFactoryToken)
|
29
|
+
http_options = {
|
30
|
+
headers: { authorization: %Q(Token token="#{token}") }
|
31
|
+
}
|
32
|
+
response = RestClient::Resource.new(Conjur::API.host_factory_asset_host, http_options)["hosts"].post(options.merge(id: id)).body
|
33
|
+
JSON.parse(response)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
25
37
|
# Options:
|
26
38
|
# +layers+ list of host factory layers
|
27
|
-
# +roleid+ host factory role
|
39
|
+
# +roleid+ host factory role id
|
40
|
+
# +role+ host factory role. If this is provided, it is converted to roleid.
|
28
41
|
def create_host_factory(id, options = {})
|
29
42
|
if options[:layers]
|
30
43
|
options[:layers] = options[:layers].map do |layer|
|
31
44
|
if layer.is_a?(Conjur::Layer)
|
32
|
-
layer.
|
45
|
+
layer.id
|
33
46
|
elsif layer.is_a?(String)
|
34
47
|
layer
|
35
48
|
else
|
@@ -37,6 +50,9 @@ module Conjur
|
|
37
50
|
end
|
38
51
|
end
|
39
52
|
end
|
53
|
+
if role = options.delete(:role)
|
54
|
+
options[:roleid] = role.roleid
|
55
|
+
end
|
40
56
|
log do |logger|
|
41
57
|
logger << "Creating host_factory #{id}"
|
42
58
|
unless options.blank?
|
@@ -53,21 +69,25 @@ module Conjur
|
|
53
69
|
Conjur::HostFactory.new(Conjur::API.host_factory_asset_host, credentials)[fully_escape(id)]
|
54
70
|
end
|
55
71
|
|
72
|
+
def revoke_host_factory_token token
|
73
|
+
token = token.token if token.is_a?(Conjur::HostFactoryToken)
|
74
|
+
RestClient::Resource.new(Conjur::API.host_factory_asset_host, credentials)["tokens/#{token}"].delete
|
75
|
+
end
|
76
|
+
|
77
|
+
def show_host_factory_token token
|
78
|
+
token = token.token if token.is_a?(Conjur::HostFactoryToken)
|
79
|
+
attrs = JSON.parse(RestClient::Resource.new(Conjur::API.host_factory_asset_host, credentials)["tokens/#{token}"].get.body)
|
80
|
+
Conjur::HostFactoryToken.new(Conjur::API.host_factory_asset_host, credentials)["tokens"][attrs['token']].tap do |token|
|
81
|
+
token.attributes = attrs
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
# Creates a Host and returns a Host object.
|
56
86
|
def host_factory_create_host token, id, options = {}
|
57
|
-
|
58
|
-
http_options = {
|
59
|
-
headers: { authorization: %Q(Token token="#{token}") }
|
60
|
-
}
|
61
|
-
response = RestClient::Resource.new(Conjur::API.host_factory_asset_host, http_options)["hosts"].post(options.merge(id: id)).body
|
62
|
-
attributes = JSON.parse(response)
|
87
|
+
attributes = self.class.host_factory_create_host token, id, options
|
63
88
|
Conjur::Host.new(Conjur::API.core_asset_host, credentials)["hosts"][fully_escape attributes['id']].tap do |host|
|
64
89
|
host.attributes = attributes
|
65
90
|
end
|
66
91
|
end
|
67
|
-
|
68
|
-
def revoke_host_factory_token token
|
69
|
-
token = token.token if token.is_a?(Conjur::HostFactoryToken)
|
70
|
-
RestClient::Resource.new(Conjur::API.host_factory_asset_host, credentials)["tokens/#{token}"].delete
|
71
|
-
end
|
72
92
|
end
|
73
93
|
end
|
@@ -132,6 +132,16 @@ By default, this command creates one token. Optionally, it can be used to create
|
|
132
132
|
puts "Token revoked"
|
133
133
|
end
|
134
134
|
end
|
135
|
+
|
136
|
+
tokens.desc "Show a token"
|
137
|
+
tokens.arg_name "token"
|
138
|
+
tokens.command :show do |c|
|
139
|
+
c.action do |global_options,options,args|
|
140
|
+
token = require_arg(args, 'token')
|
141
|
+
|
142
|
+
display api.show_host_factory_token(token), options
|
143
|
+
end
|
144
|
+
end
|
135
145
|
end
|
136
146
|
|
137
147
|
hf.desc "Operations on hosts"
|
@@ -143,7 +153,7 @@ By default, this command creates one token. Optionally, it can be used to create
|
|
143
153
|
token = require_arg(args, 'token')
|
144
154
|
id = require_arg(args, 'host-id')
|
145
155
|
|
146
|
-
host =
|
156
|
+
host = Conjur::API.host_factory_create_host token, id, options
|
147
157
|
display host
|
148
158
|
end
|
149
159
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: conjur-asset-host-factory
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Gilpin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: conjur-api
|