Class: Jamf::APIRole
- Inherits:
-
OAPISchemas::ApiRole
- Object
- OAPIObject
- OAPISchemas::ApiRole
- Jamf::APIRole
- Extended by:
- Filterable
- Includes:
- CollectionResource
- Defined in:
- lib/jamf/api/jamf_pro/api_objects/api_role.rb
Overview
An API Role in the Jamf Pro API
API Roles are predefined sets of privileges that can be assigned to API Clients, aka API Integrations.
Constant Summary collapse
- SEARCH_RESULT_OBJECT =
The OAPI object class we get back from a ‘list’ query to get the whole collection, or a subset of it. It contains a :results key which is an array of data for objects of the parent class.
Jamf::OAPISchemas::ApiRoleResult
- POST_OBJECT =
The OAPI object class we send with a POST request to make a new member of the collection in Jamf. This is usually the same as the parent class.
Jamf::OAPISchemas::ApiRoleRequest
- PUT_OBJECT =
The OAPI object class we send with a PUT request to change an object in Jamf by specifying all its values. Most updates happen this way, and this is usually the same as the parent class
Jamf::OAPISchemas::ApiRoleRequest
- LIST_PATH =
The path for GETting the list of all objects in the collection, possibly filtered, sorted, and/or paged REQUIRED for all collection resources
GET_PATH, POST_PATH, PUT_PATH, PATCH_PATH, and DELETE_PATH are automatically assumed from the LIST_PATH if they follow the standards:
-
GET_PATH = “#LIST_PATH/id”
-
fetch an object from the collection
-
-
POST_PATH = LIST_PATH
-
create a new object in the collection
-
-
PUT_PATH = “#LIST_PATH/id”
-
update an object passing all its values back. Most objects use this or PATCH but not both
-
-
PATCH_PATH = “#LIST_PATH/id”
-
update an object passing some of its values back Most objects use this or PUT but not both
-
-
DELETE_PATH = “#LIST_PATH/id”
-
delete an object from the collection
-
If those paths differ from the standards, the constants must be defined here
-
'v1/api-roles'.freeze
- AVAILABLE_PRIVS_PATH =
The path that returns a list of all available privs
'v1/api-role-privileges'- ALT_IDENTIFIERS =
Identifiers not marked in the superclass’s OAPI_PROPERTIES constant which usually only identifies ‘:id’
i[displayName].freeze
- FILTER_KEYS =
Must define this when extending Filterable
i[ id displayName ].freeze
- OBJECT_NAME_ATTR =
The attribute holding the object’s name
:displayName
Instance Attribute Summary collapse
-
#cnx ⇒ Jamf::Connection
included
from JPAPIResource
readonly
The API connection thru which we deal with this resource.
-
#delete_path ⇒ String
included
from CollectionResource
readonly
The path for deleting a this item from the collection in the JPAPI.
-
#get_path ⇒ String
included
from JPAPIResource
readonly
The path for fetching this thing from the JPAPI.
-
#post_path ⇒ String
included
from CollectionResource
readonly
The path for creating a new item in the collection in the JPAPI.
-
#update_path ⇒ String
included
from JPAPIResource
readonly
The path for updating this thing from the JPAPI.
Class Method Summary collapse
-
.available_privs(cnx: Jamf.cnx) ⇒ Array<String>
All available privileges that can be granted via an API Role.
- .filter_keys ⇒ Object extended from Filterable
Instance Method Summary collapse
- #delete ⇒ Object included from CollectionResource
- #exist? ⇒ Boolean included from CollectionResource
-
#initialize(**data) ⇒ Object
included
from CollectionResource
Constructor.
-
#pretty_print_instance_variables ⇒ Array
included
from JPAPIResource
Remove large cached items from the instance_variables used to create pretty-print (pp) output.
-
#save ⇒ Object
included
from JPAPIResource
TODO: error handling.
-
#to_s ⇒ String
included
from CollectionResource
A meaningful string representation of this object.
Instance Attribute Details
#cnx ⇒ Jamf::Connection (readonly) Originally defined in module JPAPIResource
#delete_path ⇒ String (readonly) Originally defined in module CollectionResource
#get_path ⇒ String (readonly) Originally defined in module JPAPIResource
#post_path ⇒ String (readonly) Originally defined in module CollectionResource
#update_path ⇒ String (readonly) Originally defined in module JPAPIResource
Class Method Details
.available_privs(cnx: Jamf.cnx) ⇒ Array<String>
114 115 116 |
# File 'lib/jamf/api/jamf_pro/api_objects/api_role.rb', line 114 def self.available_privs(cnx: Jamf.cnx) cnx.jp_get(AVAILABLE_PRIVS_PATH)[:privileges] end |
.filter_keys ⇒ Object Originally defined in module Filterable
Instance Method Details
#delete ⇒ Object Originally defined in module CollectionResource
#exist? ⇒ Boolean Originally defined in module CollectionResource
#initialize(**data) ⇒ Object Originally defined in module CollectionResource
Constructor
#pretty_print_instance_variables ⇒ Array Originally defined in module JPAPIResource
Remove large cached items from the instance_variables used to create pretty-print (pp) output.
#save ⇒ Object Originally defined in module JPAPIResource
TODO: error handling
#to_s ⇒ String Originally defined in module CollectionResource
A meaningful string representation of this object