Class: Jamf::APIRole

Inherits:
OAPISchemas::ApiRole show all
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

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#cnxJamf::Connection (readonly) Originally defined in module JPAPIResource

#delete_pathString (readonly) Originally defined in module CollectionResource

#get_pathString (readonly) Originally defined in module JPAPIResource

#post_pathString (readonly) Originally defined in module CollectionResource

#update_pathString (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_keysObject Originally defined in module Filterable

Instance Method Details

#deleteObject Originally defined in module CollectionResource

#exist?Boolean Originally defined in module CollectionResource

#initialize(**data) ⇒ Object Originally defined in module CollectionResource

Constructor

#pretty_print_instance_variablesArray Originally defined in module JPAPIResource

Remove large cached items from the instance_variables used to create pretty-print (pp) output.

#saveObject Originally defined in module JPAPIResource

TODO: error handling

#to_sString Originally defined in module CollectionResource

A meaningful string representation of this object