Method: Jamf::Sitable#site=

Defined in:
lib/jamf/api/classic/api_objects/sitable.rb

#site=(new_site) ⇒ void

This method returns an undefined value.

Change the site of this object. Any of the NON_SITES values will unset the site

Parameters:

  • new_site (Integer, String)

    The new site

Raises:



107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# File 'lib/jamf/api/classic/api_objects/sitable.rb', line 107

def site=(new_site)
  return nil unless updatable? || creatable?

  # unset the site? Use nil or an empty string
  if NON_SITES.include? new_site
    unset_site
    return
  end

  new_id = Jamf::Site.valid_id new_site, cnx: @cnx
  new_name = Jamf::Site.map_all_ids_to(:name, cnx: @cnx)[new_id]
  # no change, go home.
  return nil if new_name == @site_name

  raise Jamf::NoSuchItemError, "Site '#{new_site}' is not known to the JSS" unless new_id

  @site_name = new_name
  @site_id = new_id
  @need_to_update = true
end