Class: Grafana::Api::AccessControl::Users

Inherits:
Object
  • Object
show all
Defined in:
lib/grafana-api/api/access_control/users.rb

Instance Method Summary collapse

Constructor Details

#initialize(connection) ⇒ Users

Returns a new instance of Users.



5
6
7
# File 'lib/grafana-api/api/access_control/users.rb', line 5

def initialize(connection)
  @connection = connection
end

Instance Method Details

#create(resource:, resource_id:, user_id:, set_permission_command:) ⇒ Object

Raises:

  • (ArgumentError)


9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/grafana-api/api/access_control/users.rb', line 9

def create(resource:, resource_id:, user_id:, set_permission_command:)
  raise ArgumentError, 'resource is required' if resource.nil?
  raise ArgumentError, 'resource_id is required' if resource_id.nil?
  raise ArgumentError, 'user_id is required' if user_id.nil?
  raise ArgumentError, 'set_permission_command is required' if set_permission_command.nil?

  @connection.call(
    :POST,
    '/access-control/{resource}/{resourceID}/users/{userID}'
      .gsub('{resource}', ERB::Util.url_encode(resource.to_s))
      .gsub('{resourceID}', ERB::Util.url_encode(resource_id.to_s))
      .gsub('{userID}', ERB::Util.url_encode(user_id.to_s)),
    type: Grafana::Api::Models::SuccessResponseBody,
    auth: ['api_key', 'basic'],
    body: set_permission_command
  )
end

#roles(user_id:, include_hidden: nil, target_org_id: nil) ⇒ Object

Raises:

  • (ArgumentError)


27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/grafana-api/api/access_control/users.rb', line 27

def roles(user_id:, include_hidden: nil, target_org_id: nil)
  raise ArgumentError, 'user_id is required' if user_id.nil?

  @connection.call(
    :GET,
    '/access-control/users/{userId}/roles'
      .gsub('{userId}', ERB::Util.url_encode(user_id.to_s)),
    type: [Grafana::Api::Models::RoleDTO],
    auth: ['api_key', 'basic'],
    query: { 'includeHidden' => include_hidden, 'targetOrgId' => target_org_id }
  )
end

#roles_delete(role_uid:, user_id:, global: nil) ⇒ Object

Raises:

  • (ArgumentError)


40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/grafana-api/api/access_control/users.rb', line 40

def roles_delete(role_uid:, user_id:, global: nil)
  raise ArgumentError, 'role_uid is required' if role_uid.nil?
  raise ArgumentError, 'user_id is required' if user_id.nil?

  @connection.call(
    :DELETE,
    '/access-control/users/{userId}/roles/{roleUID}'
      .gsub('{roleUID}', ERB::Util.url_encode(role_uid.to_s))
      .gsub('{userId}', ERB::Util.url_encode(user_id.to_s)),
    type: Grafana::Api::Models::SuccessResponseBody,
    auth: ['api_key', 'basic'],
    query: { 'global' => global }
  )
end

#roles_post(user_id:, add_user_role_command:) ⇒ Object

Raises:

  • (ArgumentError)


55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/grafana-api/api/access_control/users.rb', line 55

def roles_post(user_id:, add_user_role_command:)
  raise ArgumentError, 'user_id is required' if user_id.nil?
  raise ArgumentError, 'add_user_role_command is required' if add_user_role_command.nil?

  @connection.call(
    :POST,
    '/access-control/users/{userId}/roles'
      .gsub('{userId}', ERB::Util.url_encode(user_id.to_s)),
    type: Grafana::Api::Models::SuccessResponseBody,
    auth: ['api_key', 'basic'],
    body: add_user_role_command
  )
end

#roles_put(user_id:, set_user_roles_command:, target_org_id: nil) ⇒ Object

Raises:

  • (ArgumentError)


69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/grafana-api/api/access_control/users.rb', line 69

def roles_put(user_id:, set_user_roles_command:, target_org_id: nil)
  raise ArgumentError, 'user_id is required' if user_id.nil?
  raise ArgumentError, 'set_user_roles_command is required' if set_user_roles_command.nil?

  @connection.call(
    :PUT,
    '/access-control/users/{userId}/roles'
      .gsub('{userId}', ERB::Util.url_encode(user_id.to_s)),
    type: Grafana::Api::Models::SuccessResponseBody,
    auth: ['api_key', 'basic'],
    query: { 'targetOrgId' => target_org_id },
    body: set_user_roles_command
  )
end

#roles_search(roles_search_query:) ⇒ Object

Raises:

  • (ArgumentError)


84
85
86
87
88
89
90
91
92
93
94
# File 'lib/grafana-api/api/access_control/users.rb', line 84

def roles_search(roles_search_query:)
  raise ArgumentError, 'roles_search_query is required' if roles_search_query.nil?

  @connection.call(
    :POST,
    '/access-control/users/roles/search',
    type: nil,
    auth: ['api_key', 'basic'],
    body: roles_search_query
  )
end