Module: Conjur::API::Router::V5
Overview
V5 translates method arguments to rest-ful API request parameters.
because of this, most of the methods suffer from :reek:LongParameterList:
and :reek:UtilityFunction:
Instance Method Summary
collapse
-
#authenticator(account, authenticator, service_id, credentials) ⇒ Object
-
#authenticators ⇒ Object
-
#authn_authenticate(account, username) ⇒ Object
-
#authn_authenticate_local(username, account, expiration, cidr, &block) ⇒ Object
For v5, the authn-local message is a JSON string with account, sub, and optional fields.
-
#authn_login(account, username, password) ⇒ Object
-
#authn_rotate_api_key(credentials, account, id) ⇒ Object
-
#authn_rotate_own_api_key(account, username, password) ⇒ Object
-
#authn_update_password(account, username, password) ⇒ Object
-
#group_attributes(credentials, resource, id) ⇒ Object
-
#host_factory_create_host(token) ⇒ Object
-
#host_factory_create_tokens(credentials, id) ⇒ Object
-
#host_factory_revoke_token(credentials, token) ⇒ Object
-
#ldap_sync_policy(credentials, config_name) ⇒ Object
-
#parse_group_gidnumber(attributes) ⇒ Object
-
#parse_members(credentials, result) ⇒ Object
-
#parse_user_uidnumber(attributes) ⇒ Object
-
#parse_variable_kind(attributes) ⇒ Object
-
#parse_variable_mime_type(attributes) ⇒ Object
-
#policies_load_policy(credentials, account, id) ⇒ Object
-
#public_keys_for_user(account, username) ⇒ Object
-
#resources(credentials, account, kind, options) ⇒ Object
-
#resources_check(credentials, id, privilege, role) ⇒ Object
-
#resources_permitted_roles(credentials, id, privilege) ⇒ Object
-
#resources_resource(credentials, id) ⇒ Object
-
#roles_role(credentials, id) ⇒ Object
-
#secrets_add(credentials, id) ⇒ Object
-
#secrets_value(credentials, id, options) ⇒ Object
-
#secrets_values(credentials, variable_ids) ⇒ Object
-
#user_attributes(credentials, resource, id) ⇒ Object
-
#variable_attributes(credentials, resource, id) ⇒ Object
fully_escape, path_escape, path_or_query_escape, query_escape
Instance Method Details
#authenticator(account, authenticator, service_id, credentials) ⇒ Object
#authn_authenticate(account, username) ⇒ Object
#authn_authenticate_local(username, account, expiration, cidr, &block) ⇒ Object
For v5, the authn-local message is a JSON string with account, sub, and optional fields.
61
62
63
64
65
66
|
# File 'lib/conjur/api/router/v5.rb', line 61
def authn_authenticate_local username, account, expiration, cidr, &block
{ account: account, sub: username }.tap do |params|
params[:exp] = expiration if expiration
params[:cidr] = cidr if cidr
end.to_json
end
|
#authn_login(account, username, password) ⇒ Object
#authn_rotate_api_key(credentials, account, id) ⇒ Object
#authn_rotate_own_api_key(account, username, password) ⇒ Object
#authn_update_password(account, username, password) ⇒ Object
#group_attributes(credentials, resource, id) ⇒ Object
198
199
200
|
# File 'lib/conjur/api/router/v5.rb', line 198
def group_attributes credentials, resource, id
resource_annotations resource
end
|
#host_factory_create_host(token) ⇒ Object
#host_factory_create_tokens(credentials, id) ⇒ Object
#host_factory_revoke_token(credentials, token) ⇒ Object
#ldap_sync_policy(credentials, config_name) ⇒ Object
#parse_group_gidnumber(attributes) ⇒ Object
210
211
212
|
# File 'lib/conjur/api/router/v5.rb', line 210
def parse_group_gidnumber attributes
HasAttributes.annotation_value attributes, 'conjur/gidnumber'
end
|
#parse_members(credentials, result) ⇒ Object
226
227
228
229
230
|
# File 'lib/conjur/api/router/v5.rb', line 226
def parse_members credentials, result
result.map do |json|
RoleGrant.parse_from_json(json, credentials)
end
end
|
#parse_user_uidnumber(attributes) ⇒ Object
214
215
216
|
# File 'lib/conjur/api/router/v5.rb', line 214
def parse_user_uidnumber attributes
HasAttributes.annotation_value attributes, 'conjur/uidnumber'
end
|
#parse_variable_kind(attributes) ⇒ Object
218
219
220
|
# File 'lib/conjur/api/router/v5.rb', line 218
def parse_variable_kind attributes
HasAttributes.annotation_value attributes, 'conjur/kind'
end
|
#parse_variable_mime_type(attributes) ⇒ Object
222
223
224
|
# File 'lib/conjur/api/router/v5.rb', line 222
def parse_variable_mime_type attributes
HasAttributes.annotation_value attributes, 'conjur/mime_type'
end
|
#policies_load_policy(credentials, account, id) ⇒ Object
#public_keys_for_user(account, username) ⇒ Object
#resources(credentials, account, kind, options) ⇒ Object
133
134
135
136
137
138
139
140
141
142
143
|
# File 'lib/conjur/api/router/v5.rb', line 133
def resources credentials, account, kind, options
credentials ||= {}
path = "/resources/#{fully_escape account}"
path += "/#{fully_escape kind}" if kind
RestClient::Resource.new(
Conjur.configuration.core_url,
Conjur.configuration.create_rest_client_options(credentials)
)[path][options_querystring options]
end
|
#resources_check(credentials, id, privilege, role) ⇒ Object
159
160
161
162
163
164
165
|
# File 'lib/conjur/api/router/v5.rb', line 159
def resources_check credentials, id, privilege, role
options = {}
options[:check] = true
options[:privilege] = privilege
options[:role] = query_escape(Id.new(role)) if role
resources_resource(credentials, id)[options_querystring options].get
end
|
#resources_permitted_roles(credentials, id, privilege) ⇒ Object
152
153
154
155
156
157
|
# File 'lib/conjur/api/router/v5.rb', line 152
def resources_permitted_roles credentials, id, privilege
options = {}
options[:permitted_roles] = true
options[:privilege] = privilege
resources_resource(credentials, id)[options_querystring options]
end
|
#resources_resource(credentials, id) ⇒ Object
#roles_role(credentials, id) ⇒ Object
#secrets_add(credentials, id) ⇒ Object
#secrets_value(credentials, id, options) ⇒ Object
#secrets_values(credentials, variable_ids) ⇒ Object
188
189
190
191
192
193
194
195
196
|
# File 'lib/conjur/api/router/v5.rb', line 188
def secrets_values credentials, variable_ids
options = {
variable_ids: Array(variable_ids).join(',')
}
RestClient::Resource.new(
Conjur.configuration.core_url,
Conjur.configuration.create_rest_client_options(credentials)
)['secrets'][options_querystring(options).gsub("%2C", ',')]
end
|
#user_attributes(credentials, resource, id) ⇒ Object
206
207
208
|
# File 'lib/conjur/api/router/v5.rb', line 206
def user_attributes credentials, resource, id
resource_annotations resource
end
|
#variable_attributes(credentials, resource, id) ⇒ Object
202
203
204
|
# File 'lib/conjur/api/router/v5.rb', line 202
def variable_attributes credentials, resource, id
resource_annotations resource
end
|