Repository URL to install this package:
|
Version:
0.1.0 ▾
|
# frozen_string_literal: true
module Fortinet
# Represents a user group on the firewall
class UserGroups
def initialize(name, data: nil)
@name = name
@data = data
end
attr_reader :name
def self.all
Fortinet.do('get', '/api/v2/cmdb/user/group')['results'].map { |data| new(data['name'], data: data) }
end
def load
@data = Fortinet.do('get', "/api/v2/cmdb/user/group/#{name}")['results']&.first
end
def loaded?
!@data.nil?
end
def add_local_user(username)
data = {}
data['name'] = username
Fortinet.do('post', "/api/v2/cmdb/user/group/#{name}/member", data)
end
def remove_local_user(username)
Fortinet.do('delete', "/api/v2/cmdb/user/group/#{name}/member/#{username}")
end
def members_usernames
load unless loaded?
@data['member'].map { |m| m['name'] }
end
end
end