Class: Jamf::MobileDevicePrestage

Inherits:
Prestage show all
Includes:
ChangeLog
Defined in:
lib/jamf/api/resources/collection_resources/mobile_device_prestage.rb

Overview

A building defined in the JSS

Constant Summary collapse

RSRC_VERSION =

Constants

'v2'.freeze
RSRC_PATH =
'mobile-device-prestages'.freeze
OBJECT_MODEL =

Object Model / Attributes See APIObject class documentation for details of how the OBJECT_MODEL hash works.

superclass::OBJECT_MODEL.merge(

  # @!attribute skipSetupItems
  #   @return [Jamf::ComputerPrestageSkipSetupItems]
  skipSetupItems: {
    class: :hash
  },

  # @!attribute allowPairing
  #   @return [Boolean]
  allowPairing: {
    class: :boolean
  },

  # @!attribute multiUser
  #   @return [Boolean]
  multiUser: {
    class: :boolean
  },

  # @!attribute supervised
  #   @return [Boolean]
  supervised: {
    class: :boolean
  },

  # @!attribute maximumSharedAccounts
  #   @return [Integer]
  maximumSharedAccounts: {
    class: :integer
  },

  # @!attribute isAutoAdvanceSetup
  #   @return [Boolean]
  autoAdvanceSetup: {
    class: :boolean
  },

  # @!attribute configureDeviceBeforeSetupAssistant
  #   @return [Boolean]
  configureDeviceBeforeSetupAssistant: {
    class: :boolean
  },

  # @!attribute names
  #   @return [Jamf::MobileDevicePrestageNames]
  names: {
    class: Jamf::MobileDevicePrestageNames
  },

  # @!attribute sendTimezone
  #   @return [Boolean]
  sendTimezone: {
    class: :boolean
  },

  # @!attribute timezone
  #   @return [String]
  timezone: {
    class: :string
  }


).freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#versionLockObject (readonly) Originally defined in module Lockable

Returns the value of attribute versionLock.

Class Method Details

.sync_status(prestage = nil, latest = false, cnx: Jamf.cnx) ⇒ Object

Class Methods



118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# File 'lib/jamf/api/resources/collection_resources/mobile_device_prestage.rb', line 118

def self.sync_status(prestage = nil, latest = false, cnx: Jamf.cnx)
  @sync_rsrc ||= "#{self::RSRC_VERSION}/#{self::RSRC_PATH}/#{SYNC_RSRC}"

  if prestage
    id = valid_id prestage
    raise Jamf::NoSuchItemError, "No #{self.class} matching '#{prestage}'" unless id

    rsrc = "#{@sync_rsrc}/#{id}"
    rsrc << '/latest' if latest
    results = cnx.get rsrc
    latest ? Jamf::PrestageSyncStatus.new(results) : results.map { |ss| Jamf::PrestageSyncStatus.new ss }
  else
    cnx.get(@sync_rsrc).map { |ss| Jamf::PrestageSyncStatus.new ss }
  end
end

Instance Method Details

#add_change_log_note(note, cnx: Jamf.cnx) ⇒ void Originally defined in module ChangeLog

This method returns an undefined value.

Add a note to this resource's change log.

If the change history has been cached already, the cache is flushed after adding the note.

Parameters:

  • note (String)

    The note to add. It cannot be empty.

#change_log(sort: nil, filter: nil, paged: nil, page_size: nil, refresh: false, cnx: Jamf.cnx) ⇒ Array<Jamf::ChangeLogEntry> Originally defined in module ChangeLog

The change and note history for this resource. This is a collection of objects as a sub-resource of some primary resource. As such, retriving the change log returns an array of objects, and can be paged, sorted and filtered.

This method is very similar to CollectionResource.all, see the docs for that method for more details

successive page.

Parameters:

  • sort (String, Array<String>) (defaults to: nil)

    Server-side sorting criteria in the format: property:direction, where direction is 'asc' or 'desc'. Multiple properties are supported, either as separate strings in an Array, or a single string, comma separated.

  • filter (String) (defaults to: nil)

    An RSQL filter string. Not all change_log resources currently support filters, and if they don't, this will be ignored.

  • paged (Boolean) (defaults to: nil)

    Defaults to false. Returns only the first page of `page_size` log entries. Use #next_page_of_change_log to retrieve each

  • page_size (Integer) (defaults to: nil)

    How many log entries are returned per page? Minimum is 1, maximum is 2000, default is 100. Ignored unless paged: is truthy. Note: the final page may contain fewer entries than the page_size

  • refresh (Boolean) (defaults to: false)

    re-fetch and re-cache the full list of all entries. Ignored if paged:, page_size:, sort:, or filter: are used.

  • cnx (Jamf::Connection) (defaults to: Jamf.cnx)

    The API connection to use, default: Jamf.cnx. If this is an instance of a Collection Resource, this is always the connection from which it was fetched.

Returns:

#change_log_count(cnx: Jamf.cnx) ⇒ Integer Originally defined in module ChangeLog

how many change log entries are there? needed when using paged #change_log calls

Parameters:

  • cnx (Jamf::Connection) (defaults to: Jamf.cnx)

    The API connection to use, default: Jamf.cnx This is ignored for instances of Collection Resources, which always use the same connection from which they were fetched.

Returns:

  • (Integer)

    How many changelog entries exist?

#next_page_of_change_logArray<Jamf::ChangeHistoryEntry> Originally defined in module ChangeLog

Fetch the next page of a paged #change_log request Returns an empty array if there's been no paged request or if the last one has no more pages.

Returns:

  • (Array<Jamf::ChangeHistoryEntry>)

    The next page of the change and note history for this resource

#sync_status(latest = false) ⇒ Object

Instance Methods



137
138
139
# File 'lib/jamf/api/resources/collection_resources/mobile_device_prestage.rb', line 137

def sync_status(latest = false)
  self.class.sync_status @id, latest, cnx: @cnx
end