conjur-cli 4.25.2 → 4.26.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/.gitignore +1 -0
- data/Gemfile +1 -0
- data/README.md +6 -0
- data/Rakefile +1 -33
- data/bin/{_conjur_completions → _conjur} +5 -26
- data/lib/conjur/command.rb +7 -4
- data/lib/conjur/command/audit.rb +10 -0
- data/lib/conjur/command/env.rb +1 -0
- data/lib/conjur/command/groups.rb +14 -15
- data/lib/conjur/command/hosts.rb +9 -9
- data/lib/conjur/command/init.rb +2 -0
- data/lib/conjur/command/layers.rb +22 -22
- data/lib/conjur/command/plugin.rb +6 -6
- data/lib/conjur/command/policy.rb +2 -2
- data/lib/conjur/command/pubkeys.rb +8 -8
- data/lib/conjur/command/resources.rb +30 -30
- data/lib/conjur/command/roles.rb +14 -14
- data/lib/conjur/command/rspec/audit_helpers.rb +0 -1
- data/lib/conjur/command/script.rb +2 -2
- data/lib/conjur/command/shellinit.rb +36 -0
- data/lib/conjur/command/users.rb +8 -8
- data/lib/conjur/command/variables.rb +12 -12
- data/lib/conjur/complete.rb +263 -0
- data/lib/conjur/version.rb +1 -1
- data/spec/command/audit_spec.rb +19 -0
- data/spec/complete_spec.rb +265 -0
- data/spec/spec_helper.rb +1 -0
- metadata +8 -6
- data/bin/_conjur_completions.yaml +0 -106
|
@@ -49,31 +49,31 @@ class Conjur::Command::Plugin < Conjur::Command
|
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
cmd.desc 'Install a plugin'
|
|
52
|
-
cmd.arg_name '
|
|
52
|
+
cmd.arg_name 'PLUGIN'
|
|
53
53
|
cmd.command :install do |c|
|
|
54
54
|
c.arg_name 'version'
|
|
55
55
|
c.desc 'Version of the plugin to install'
|
|
56
56
|
c.flag [:v, :version], :default_value => Gem::Requirement.default
|
|
57
57
|
|
|
58
58
|
c.action do |_, options, args|
|
|
59
|
-
install_plugin(require_arg(args, '
|
|
59
|
+
install_plugin(require_arg(args, 'PLUGIN'), options[:version])
|
|
60
60
|
end
|
|
61
61
|
end
|
|
62
62
|
|
|
63
63
|
cmd.desc 'Uninstall a plugin'
|
|
64
|
-
cmd.arg_name '
|
|
64
|
+
cmd.arg_name 'PLUGIN'
|
|
65
65
|
cmd.command :uninstall do |c|
|
|
66
66
|
c.action do |_, _, args|
|
|
67
|
-
name = require_arg(args, '
|
|
67
|
+
name = require_arg(args, 'PLUGIN')
|
|
68
68
|
uninstall_plugin(name)
|
|
69
69
|
end
|
|
70
70
|
end
|
|
71
71
|
|
|
72
72
|
cmd.desc "Show a plugin's details"
|
|
73
|
-
cmd.arg_name '
|
|
73
|
+
cmd.arg_name 'PLUGIN'
|
|
74
74
|
cmd.command :show do |c|
|
|
75
75
|
c.action do |_, _, args|
|
|
76
|
-
name = require_arg(args, '
|
|
76
|
+
name = require_arg(args, 'PLUGIN')
|
|
77
77
|
begin
|
|
78
78
|
gem = Gem::Specification.find_by_name "conjur-asset-#{name}"
|
|
79
79
|
puts "Name: #{name}"
|
|
@@ -62,7 +62,7 @@ annotations on the policy. The policy role becomes the owner of the owned policy
|
|
|
62
62
|
--as-group and --as-role options can be used to set the owner of the policy role. The default
|
|
63
63
|
owner of the policy role is the logged-in user (you), as always.
|
|
64
64
|
DESC
|
|
65
|
-
policy.arg_name "
|
|
65
|
+
policy.arg_name "FILE"
|
|
66
66
|
policy.command :load do |c|
|
|
67
67
|
acting_as_option(c)
|
|
68
68
|
|
|
@@ -71,7 +71,7 @@ owner of the policy role is the logged-in user (you), as always.
|
|
|
71
71
|
c.flag [:collection]
|
|
72
72
|
|
|
73
73
|
c.desc "Load context from this config file, and save it when finished. The file permissions will be 0600 by default."
|
|
74
|
-
c.arg_name "
|
|
74
|
+
c.arg_name "FILE"
|
|
75
75
|
c.flag [:c, :context]
|
|
76
76
|
|
|
77
77
|
c.action do |global_options,options,args|
|
|
@@ -26,19 +26,19 @@ class Conjur::Command::Pubkeys < Conjur::Command
|
|
|
26
26
|
command :pubkeys do |pubkeys|
|
|
27
27
|
|
|
28
28
|
pubkeys.desc "List public keys for the given user"
|
|
29
|
-
pubkeys.arg_name "
|
|
29
|
+
pubkeys.arg_name "USER"
|
|
30
30
|
pubkeys.command :show do |c|
|
|
31
31
|
c.action do |global_options, options, args|
|
|
32
|
-
username = require_arg args, "
|
|
32
|
+
username = require_arg args, "USER"
|
|
33
33
|
puts api.public_keys(username)
|
|
34
34
|
end
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
pubkeys.desc "List the names of a user's public keys"
|
|
38
|
-
pubkeys.arg_name "
|
|
38
|
+
pubkeys.arg_name "USER"
|
|
39
39
|
pubkeys.command :names do |c|
|
|
40
40
|
c.action do |global_options, options, args|
|
|
41
|
-
username = require_arg args, "
|
|
41
|
+
username = require_arg args, "USER"
|
|
42
42
|
api.public_keys(username)
|
|
43
43
|
.split("\n")
|
|
44
44
|
.map{|k| k.split(' ').last}
|
|
@@ -65,7 +65,7 @@ The public key itself may be provided in several ways.
|
|
|
65
65
|
|
|
66
66
|
c.action do |global_options, options, args|
|
|
67
67
|
options[:interactive] = $stdin.isatty if options[:interactive].nil?
|
|
68
|
-
username = require_arg args, "
|
|
68
|
+
username = require_arg args, "USER"
|
|
69
69
|
if key = args.shift
|
|
70
70
|
if /^@(.+)$/ =~ key
|
|
71
71
|
key = File.read(File.expand_path($1))
|
|
@@ -86,11 +86,11 @@ The public key itself may be provided in several ways.
|
|
|
86
86
|
end
|
|
87
87
|
|
|
88
88
|
pubkeys.desc "Removes a public key for a user"
|
|
89
|
-
pubkeys.arg_name "
|
|
89
|
+
pubkeys.arg_name "USER KEY"
|
|
90
90
|
pubkeys.command :delete do |c|
|
|
91
91
|
c.action do |global_options, options, args|
|
|
92
|
-
username = require_arg args, "
|
|
93
|
-
keyname = require_arg args, "
|
|
92
|
+
username = require_arg args, "USER"
|
|
93
|
+
keyname = require_arg args, "KEY"
|
|
94
94
|
api.delete_public_key username, keyname
|
|
95
95
|
puts "Public key '#{keyname}' deleted"
|
|
96
96
|
end
|
|
@@ -24,12 +24,12 @@ class Conjur::Command::Resources < Conjur::Command
|
|
|
24
24
|
command :resource do |resource|
|
|
25
25
|
|
|
26
26
|
resource.desc "Create a new resource"
|
|
27
|
-
resource.arg_name "
|
|
27
|
+
resource.arg_name "RESOURCE"
|
|
28
28
|
resource.command :create do |c|
|
|
29
29
|
acting_as_option(c)
|
|
30
30
|
|
|
31
31
|
c.action do |global_options,options,args|
|
|
32
|
-
id = full_resource_id( require_arg(args, "
|
|
32
|
+
id = full_resource_id( require_arg(args, "RESOURCE") )
|
|
33
33
|
resource = api.resource(id)
|
|
34
34
|
|
|
35
35
|
if ownerid = options.delete(:ownerid)
|
|
@@ -42,32 +42,32 @@ class Conjur::Command::Resources < Conjur::Command
|
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
resource.desc "Show a resource"
|
|
45
|
-
resource.arg_name "
|
|
45
|
+
resource.arg_name "RESOURCE"
|
|
46
46
|
resource.command :show do |c|
|
|
47
47
|
c.action do |global_options,options,args|
|
|
48
|
-
id = full_resource_id( require_arg(args, "
|
|
48
|
+
id = full_resource_id( require_arg(args, "RESOURCE") )
|
|
49
49
|
display api.resource(id).attributes
|
|
50
50
|
end
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
resource.desc "Determines whether a resource exists"
|
|
54
|
-
resource.arg_name "
|
|
54
|
+
resource.arg_name "RESOURCE"
|
|
55
55
|
resource.command :exists do |c|
|
|
56
56
|
c.action do |global_options,options,args|
|
|
57
|
-
id = full_resource_id( require_arg(args, "
|
|
57
|
+
id = full_resource_id( require_arg(args, "RESOURCE") )
|
|
58
58
|
puts api.resource(id).exists?
|
|
59
59
|
end
|
|
60
60
|
end
|
|
61
61
|
|
|
62
62
|
resource.desc "Give a privilege on a resource"
|
|
63
|
-
resource.arg_name "
|
|
63
|
+
resource.arg_name "RESOURCE ROLE PRIVILEGE"
|
|
64
64
|
resource.command :permit do |c|
|
|
65
65
|
c.desc "allow transfer to other roles"
|
|
66
66
|
c.switch [:g, :grantable]
|
|
67
67
|
c.action do |global_options,options,args|
|
|
68
|
-
id = full_resource_id( require_arg(args, "
|
|
69
|
-
role = require_arg(args, "
|
|
70
|
-
privilege = require_arg(args, "
|
|
68
|
+
id = full_resource_id( require_arg(args, "RESOURCE") )
|
|
69
|
+
role = require_arg(args, "ROLE")
|
|
70
|
+
privilege = require_arg(args, "PRIVILEGE")
|
|
71
71
|
unless options[:g]
|
|
72
72
|
api.resource(id).permit privilege, role
|
|
73
73
|
else
|
|
@@ -79,12 +79,12 @@ class Conjur::Command::Resources < Conjur::Command
|
|
|
79
79
|
end
|
|
80
80
|
|
|
81
81
|
resource.desc "Deny a privilege on a resource"
|
|
82
|
-
resource.arg_name "
|
|
82
|
+
resource.arg_name "RESOURCE ROLE PRIVILEGE"
|
|
83
83
|
resource.command :deny do |c|
|
|
84
84
|
c.action do |global_options,options,args|
|
|
85
|
-
id = full_resource_id( require_arg(args, "
|
|
86
|
-
role = require_arg(args, "
|
|
87
|
-
privilege = require_arg(args, "
|
|
85
|
+
id = full_resource_id( require_arg(args, "RESOURCE") )
|
|
86
|
+
role = require_arg(args, "ROLE")
|
|
87
|
+
privilege = require_arg(args, "PRIVILEGE")
|
|
88
88
|
api.resource(id).deny privilege, role
|
|
89
89
|
puts "Permission revoked"
|
|
90
90
|
end
|
|
@@ -97,13 +97,13 @@ class Conjur::Command::Resources < Conjur::Command
|
|
|
97
97
|
When the role argument is used, either the logged-in user must either own the specified
|
|
98
98
|
resource or be an admin of the specified role (i.e. be granted the specified role with grant option).
|
|
99
99
|
"""
|
|
100
|
-
resource.arg_name "
|
|
100
|
+
resource.arg_name "RESOURCE PRIVILEGE"
|
|
101
101
|
resource.command :check do |c|
|
|
102
102
|
c.desc "Role to check. By default, the current logged-in role is used"
|
|
103
103
|
c.flag [:r,:role]
|
|
104
104
|
|
|
105
105
|
c.action do |global_options,options,args|
|
|
106
|
-
id = full_resource_id( require_arg(args, "
|
|
106
|
+
id = full_resource_id( require_arg(args, "RESOURCE") )
|
|
107
107
|
privilege = args.shift or raise "Missing parameter: privilege"
|
|
108
108
|
if role = options[:role]
|
|
109
109
|
role = api.role(role)
|
|
@@ -115,38 +115,38 @@ class Conjur::Command::Resources < Conjur::Command
|
|
|
115
115
|
end
|
|
116
116
|
|
|
117
117
|
resource.desc "Grant ownership on a resource to a new owner"
|
|
118
|
-
resource.arg_name "
|
|
118
|
+
resource.arg_name "RESOURCE USER"
|
|
119
119
|
resource.command :give do |c|
|
|
120
120
|
c.action do |global_options,options,args|
|
|
121
|
-
id = full_resource_id( require_arg(args, "
|
|
122
|
-
owner = require_arg(args, "
|
|
121
|
+
id = full_resource_id( require_arg(args, "RESOURCE") )
|
|
122
|
+
owner = require_arg(args, "USER")
|
|
123
123
|
api.resource(id).give_to owner
|
|
124
124
|
puts "Ownership granted"
|
|
125
125
|
end
|
|
126
126
|
end
|
|
127
127
|
|
|
128
128
|
resource.desc "List roles with a specified permission on the resource"
|
|
129
|
-
resource.arg_name "
|
|
129
|
+
resource.arg_name "RESOURCE PERMISSION"
|
|
130
130
|
resource.command :permitted_roles do |c|
|
|
131
131
|
c.action do |global_options,options,args|
|
|
132
|
-
id = full_resource_id( require_arg(args, "
|
|
133
|
-
permission = require_arg(args, "
|
|
132
|
+
id = full_resource_id( require_arg(args, "RESOURCE") )
|
|
133
|
+
permission = require_arg(args, "PERMISSION")
|
|
134
134
|
display api.resource(id).permitted_roles(permission)
|
|
135
135
|
end
|
|
136
136
|
end
|
|
137
137
|
|
|
138
138
|
resource.desc "Set an annotation on a resource"
|
|
139
|
-
resource.arg_name "
|
|
139
|
+
resource.arg_name "RESOURCE ANNOTATION value"
|
|
140
140
|
resource.command :annotate do |c|
|
|
141
141
|
interactive_option c
|
|
142
142
|
|
|
143
143
|
c.action do |global_options, options, args|
|
|
144
|
-
id = full_resource_id require_arg(args, '
|
|
144
|
+
id = full_resource_id require_arg(args, 'RESOURCE')
|
|
145
145
|
|
|
146
146
|
annotations = if options[:interactive]
|
|
147
147
|
prompt_for_annotations
|
|
148
148
|
else
|
|
149
|
-
name = require_arg args, '
|
|
149
|
+
name = require_arg args, 'ANNOTATION'
|
|
150
150
|
value = require_arg args, 'value'
|
|
151
151
|
{ name => value }
|
|
152
152
|
end
|
|
@@ -158,21 +158,21 @@ class Conjur::Command::Resources < Conjur::Command
|
|
|
158
158
|
end
|
|
159
159
|
|
|
160
160
|
resource.desc "Show an annotation for a resource"
|
|
161
|
-
resource.arg_name "
|
|
161
|
+
resource.arg_name "RESOURCE ANNOTATION"
|
|
162
162
|
resource.command :annotation do |c|
|
|
163
163
|
c.action do |global_options, options, args|
|
|
164
|
-
id = full_resource_id require_arg args, '
|
|
165
|
-
name = require_arg args, '
|
|
164
|
+
id = full_resource_id require_arg args, 'RESOURCE'
|
|
165
|
+
name = require_arg args, 'ANNOTATION'
|
|
166
166
|
value = api.resource(id).annotations[name]
|
|
167
167
|
puts value unless value.nil?
|
|
168
168
|
end
|
|
169
169
|
end
|
|
170
170
|
|
|
171
171
|
resource.desc "Print annotations as JSON"
|
|
172
|
-
resource.arg_name '
|
|
172
|
+
resource.arg_name 'RESOURCE'
|
|
173
173
|
resource.command :annotations do |c|
|
|
174
174
|
c.action do |go, o, args|
|
|
175
|
-
id = full_resource_id require_arg args, '
|
|
175
|
+
id = full_resource_id require_arg args, 'RESOURCE'
|
|
176
176
|
annots = api.resource(id).annotations.to_h
|
|
177
177
|
puts annots.to_json
|
|
178
178
|
end
|
data/lib/conjur/command/roles.rb
CHANGED
|
@@ -27,7 +27,7 @@ class Conjur::Command::Roles < Conjur::Command
|
|
|
27
27
|
command :role do |role|
|
|
28
28
|
|
|
29
29
|
role.desc "Create a new role"
|
|
30
|
-
role.arg_name "
|
|
30
|
+
role.arg_name "ROLE"
|
|
31
31
|
role.command :create do |c|
|
|
32
32
|
acting_as_option(c)
|
|
33
33
|
|
|
@@ -35,7 +35,7 @@ class Conjur::Command::Roles < Conjur::Command
|
|
|
35
35
|
c.switch "json"
|
|
36
36
|
|
|
37
37
|
c.action do |global_options,options,args|
|
|
38
|
-
id = require_arg(args, '
|
|
38
|
+
id = require_arg(args, 'ROLE')
|
|
39
39
|
role = api.role(id)
|
|
40
40
|
|
|
41
41
|
if ownerid = options.delete(:ownerid)
|
|
@@ -54,13 +54,13 @@ class Conjur::Command::Roles < Conjur::Command
|
|
|
54
54
|
end
|
|
55
55
|
|
|
56
56
|
role.desc "Determines whether a role exists"
|
|
57
|
-
role.arg_name "
|
|
57
|
+
role.arg_name "ROLE"
|
|
58
58
|
role.command :exists do |c|
|
|
59
59
|
c.desc "Output a JSON response with a single field, exists"
|
|
60
60
|
c.switch "json"
|
|
61
61
|
|
|
62
62
|
c.action do |global_options,options,args|
|
|
63
|
-
id = require_arg(args, '
|
|
63
|
+
id = require_arg(args, 'ROLE')
|
|
64
64
|
role = api.role(id)
|
|
65
65
|
if options[:json]
|
|
66
66
|
display({
|
|
@@ -73,7 +73,7 @@ class Conjur::Command::Roles < Conjur::Command
|
|
|
73
73
|
end
|
|
74
74
|
|
|
75
75
|
role.desc "Lists role memberships. The role membership list is recursively expanded."
|
|
76
|
-
role.arg_name "
|
|
76
|
+
role.arg_name "ROLE"
|
|
77
77
|
|
|
78
78
|
role.command :memberships do |c|
|
|
79
79
|
c.desc "Whether to show system (internal) roles"
|
|
@@ -91,7 +91,7 @@ class Conjur::Command::Roles < Conjur::Command
|
|
|
91
91
|
end
|
|
92
92
|
|
|
93
93
|
role.desc "Lists all direct members of the role. The membership list is not recursively expanded."
|
|
94
|
-
role.arg_name "
|
|
94
|
+
role.arg_name "ROLE"
|
|
95
95
|
role.command :members do |c|
|
|
96
96
|
c.desc "Verbose output"
|
|
97
97
|
c.switch [:V,:verbose]
|
|
@@ -103,14 +103,14 @@ class Conjur::Command::Roles < Conjur::Command
|
|
|
103
103
|
end
|
|
104
104
|
|
|
105
105
|
role.desc "Grant a role to another role. You must have admin permission on the granting role."
|
|
106
|
-
role.arg_name "
|
|
106
|
+
role.arg_name "ROLE-1 ROLE-2"
|
|
107
107
|
role.command :grant_to do |c|
|
|
108
108
|
c.desc "Whether to grant with admin option"
|
|
109
109
|
c.switch [:a,:admin]
|
|
110
110
|
|
|
111
111
|
c.action do |global_options,options,args|
|
|
112
|
-
id = require_arg(args, '
|
|
113
|
-
member = require_arg(args, '
|
|
112
|
+
id = require_arg(args, 'ROLE-1')
|
|
113
|
+
member = require_arg(args, 'ROLE-2')
|
|
114
114
|
role = api.role(id)
|
|
115
115
|
grant_options = {}
|
|
116
116
|
grant_options[:admin_option] = true if options[:admin]
|
|
@@ -121,11 +121,11 @@ class Conjur::Command::Roles < Conjur::Command
|
|
|
121
121
|
|
|
122
122
|
|
|
123
123
|
role.desc "Revoke a role from another role. You must have admin permission on the revoking role."
|
|
124
|
-
role.arg_name "
|
|
124
|
+
role.arg_name "ROLE-1 ROLE-2"
|
|
125
125
|
role.command :revoke_from do |c|
|
|
126
126
|
c.action do |global_options,options,args|
|
|
127
|
-
id = require_arg(args, '
|
|
128
|
-
member = require_arg(args, '
|
|
127
|
+
id = require_arg(args, 'ROLE-1')
|
|
128
|
+
member = require_arg(args, 'ROLE-2')
|
|
129
129
|
role = api.role(id)
|
|
130
130
|
role.revoke_from member
|
|
131
131
|
puts "Role revoked"
|
|
@@ -176,7 +176,7 @@ If the --short flag is not present, the JSON output will be more verbose:
|
|
|
176
176
|
EOD
|
|
177
177
|
|
|
178
178
|
role.desc "Describe role memberships as a digraph"
|
|
179
|
-
role.arg_name "
|
|
179
|
+
role.arg_name "ROLE", :multiple
|
|
180
180
|
role.command :graph do |c|
|
|
181
181
|
c.desc "Output formats [#{GRAPH_FORMATS}]"
|
|
182
182
|
c.flag [:f,:format], default_value: 'json', must_match: GRAPH_FORMATS
|
|
@@ -214,4 +214,4 @@ EOD
|
|
|
214
214
|
end
|
|
215
215
|
end
|
|
216
216
|
end
|
|
217
|
-
end
|
|
217
|
+
end
|
|
@@ -28,7 +28,7 @@ class Conjur::Command::Script < Conjur::DSLCommand
|
|
|
28
28
|
acting_as_option(c)
|
|
29
29
|
|
|
30
30
|
c.desc "Load context from this config file, and save it when finished. The file permissions will be 0600 by default."
|
|
31
|
-
c.arg_name "
|
|
31
|
+
c.arg_name "FILE"
|
|
32
32
|
c.flag [:c, :context]
|
|
33
33
|
|
|
34
34
|
c.action do |global_options,options,args|
|
|
@@ -36,4 +36,4 @@ class Conjur::Command::Script < Conjur::DSLCommand
|
|
|
36
36
|
end
|
|
37
37
|
end
|
|
38
38
|
end
|
|
39
|
-
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright (C) 2014 Conjur Inc
|
|
3
|
+
#
|
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
5
|
+
# this software and associated documentation files (the "Software"), to deal in
|
|
6
|
+
# the Software without restriction, including without limitation the rights to
|
|
7
|
+
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
8
|
+
# the Software, and to permit persons to whom the Software is furnished to do so,
|
|
9
|
+
# subject to the following conditions:
|
|
10
|
+
#
|
|
11
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
12
|
+
# copies or substantial portions of the Software.
|
|
13
|
+
#
|
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
16
|
+
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
17
|
+
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
18
|
+
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
19
|
+
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
20
|
+
#
|
|
21
|
+
require 'conjur/command'
|
|
22
|
+
|
|
23
|
+
class Conjur::Command::ShellInit < Conjur::Command
|
|
24
|
+
desc 'Provide the command to initialize the shell for conjur'
|
|
25
|
+
|
|
26
|
+
Conjur::CLI.command :shellinit do |c|
|
|
27
|
+
hide_docs c
|
|
28
|
+
c.desc 'Provide the command to initialize the shell for conjur'
|
|
29
|
+
c.action do |global_options,options,args|
|
|
30
|
+
cmd = <<-eoc
|
|
31
|
+
complete -o nospace -C _conjur conjur;
|
|
32
|
+
eoc
|
|
33
|
+
puts cmd.tr "\n", " "
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
data/lib/conjur/command/users.rb
CHANGED
|
@@ -25,7 +25,7 @@ class Conjur::Command::Users < Conjur::Command
|
|
|
25
25
|
command :user do |user|
|
|
26
26
|
|
|
27
27
|
user.desc "Create a new user"
|
|
28
|
-
user.arg_name "
|
|
28
|
+
user.arg_name "NAME"
|
|
29
29
|
user.command :create do |c|
|
|
30
30
|
c.desc "Prompt for a password for the user (default: --no-password)"
|
|
31
31
|
c.switch [:p,:password]
|
|
@@ -86,21 +86,21 @@ class Conjur::Command::Users < Conjur::Command
|
|
|
86
86
|
end
|
|
87
87
|
|
|
88
88
|
user.desc "Show a user"
|
|
89
|
-
user.arg_name "
|
|
89
|
+
user.arg_name "USER"
|
|
90
90
|
user.command :show do |c|
|
|
91
91
|
c.action do |global_options,options,args|
|
|
92
|
-
id = require_arg(args, '
|
|
92
|
+
id = require_arg(args, 'USER')
|
|
93
93
|
display(api.user(id), options)
|
|
94
94
|
end
|
|
95
95
|
end
|
|
96
96
|
|
|
97
97
|
user.desc "Decommission a user"
|
|
98
|
-
user.arg_name "
|
|
98
|
+
user.arg_name "USER"
|
|
99
99
|
user.command :retire do |c|
|
|
100
100
|
retire_options c
|
|
101
101
|
|
|
102
102
|
c.action do |global_options,options,args|
|
|
103
|
-
id = require_arg(args, '
|
|
103
|
+
id = require_arg(args, 'USER')
|
|
104
104
|
|
|
105
105
|
user = api.user(id)
|
|
106
106
|
|
|
@@ -137,12 +137,12 @@ class Conjur::Command::Users < Conjur::Command
|
|
|
137
137
|
end
|
|
138
138
|
|
|
139
139
|
user.desc "Update user's attributes (only uidnumber supported now)"
|
|
140
|
-
user.arg_name "
|
|
140
|
+
user.arg_name "USER"
|
|
141
141
|
user.command :update do |c|
|
|
142
142
|
c.desc "UID number to be associated with user"
|
|
143
143
|
c.flag [:uidnumber]
|
|
144
144
|
c.action do |global_options, options, args|
|
|
145
|
-
login=require_arg(args,'
|
|
145
|
+
login=require_arg(args,'USER')
|
|
146
146
|
raise "Uidnumber should be integer" unless /\d+/ =~ options[:uidnumber]
|
|
147
147
|
options[:uidnumber]=options[:uidnumber].to_i
|
|
148
148
|
api.user(login).update(options)
|
|
@@ -151,7 +151,7 @@ class Conjur::Command::Users < Conjur::Command
|
|
|
151
151
|
end
|
|
152
152
|
|
|
153
153
|
user.desc "Find the user by UID"
|
|
154
|
-
user.arg_name "uid"
|
|
154
|
+
user.arg_name "uid"
|
|
155
155
|
user.command :uidsearch do |c|
|
|
156
156
|
c.action do |global_options, options, args|
|
|
157
157
|
uidnumber = require_arg(args,'uid')
|