Class: JSS::MobileDeviceExtensionAttribute

Inherits:
ExtensionAttribute show all
Defined in:
lib/jss-api/api_object/extension_attribute/mobile_device_extension_attribute.rb,
lib/jss-api.rb

Overview

An extension attribute as defined in the JSS

Constant Summary collapse

RSRC_BASE =

The base for REST resources of this class

"mobiledeviceextensionattributes"
RSRC_LIST_KEY =

the hash key used for the JSON list output of all objects in the JSS

:mobile_device_extension_attributes
RSRC_OBJECT_KEY =

The hash key used for the JSON object output. It’s also used in various error messages

:mobile_device_extension_attribute
VALID_DATA_KEYS =

these keys, as well as :id and :name, are present in valid API JSON data for this class

[:description, :inventory_display, :recon_display]
TARGET_CLASS =

these ext attribs are related to these kinds of objects

JSS::MobileDevice
ALL_TARGETS_CRITERION =

A criterion that will return all members of the TARGET_CLASS

JSS::Criteriable::Criterion.new(:and_or => "and", :name => "Last Inventory Update", :search_type => "after (yyyy-mm-dd)", :value => "2003-01-01")

Constants inherited from ExtensionAttribute

ExtensionAttribute::DATA_TYPES, ExtensionAttribute::DEFAULT_DATA_TYPE, ExtensionAttribute::DEFAULT_INPUT_TYPE, ExtensionAttribute::DEFAULT_WEB_DISPLAY_CHOICE, ExtensionAttribute::EDITABLE_INPUT_TYPES, ExtensionAttribute::INPUT_TYPES, ExtensionAttribute::WEB_DISPLAY_CHOICES

Constants included from Updatable

Updatable::UPDATABLE

Constants included from Creatable

Creatable::CREATABLE

Constants inherited from APIObject

APIObject::DEFAULT_LOOKUP_KEYS, APIObject::REQUIRED_DATA_KEYS

Instance Attribute Summary collapse

Attributes inherited from ExtensionAttribute

#data_type, #description, #input_type, #popup_choices, #web_display

Attributes included from Updatable

#need_to_update

Attributes inherited from APIObject

#id, #in_jss, #name, #rest_rsrc

Instance Method Summary collapse

Methods inherited from ExtensionAttribute

#all_with_result, #delete, #latest_values, #update

Methods included from Updatable

#name=, #update

Methods inherited from APIObject

all, all_ids, all_names, #delete, get_name, map_all_ids_to, #save, xml_list

Constructor Details

#initialize(args = {}) ⇒ MobileDeviceExtensionAttribute

See JSS::APIObject.initialize



102
103
104
105
106
107
108
109
# File 'lib/jss-api/api_object/extension_attribute/mobile_device_extension_attribute.rb', line 102

def initialize(args = {})

  super args

  if @init_data[:input_type]
    @attribute_mapping = @init_data[:input_type][:attribute_mapping]
  end
end

Instance Attribute Details

#attribute_mappingString

Returns the name of the LDAP attribute to use when the @input Type is “LDAP Attribute Mapping”.

Returns:

  • (String)

    the name of the LDAP attribute to use when the @input Type is “LDAP Attribute Mapping”



92
93
94
# File 'lib/jss-api/api_object/extension_attribute/mobile_device_extension_attribute.rb', line 92

def attribute_mapping
  @attribute_mapping
end

Instance Method Details

#createObject

See Also:



119
120
121
122
123
124
# File 'lib/jss-api/api_object/extension_attribute/mobile_device_extension_attribute.rb', line 119

def create
  if @input_type == 'LDAP Attribute Mapping'
    raise MissingDataError, "No attribute_mapping defined for 'LDAP Attribute Mapping' input_type." unless @attribute_mapping
  end
  super
end

#input_type=(new_val) ⇒ Object



139
140
141
142
143
144
145
146
147
148
149
# File 'lib/jss-api/api_object/extension_attribute/mobile_device_extension_attribute.rb', line 139

def input_type= (new_val)
  raise JSS::InvalidDataError, "Mobile Device Extension Attribute input_type cannot be 'script'" if new_val == 'script'

  super

  if @input_type == 'LDAP Attribute Mapping'
    @popup_choices = nil
  else
    @attribute_mapping = nil
  end
end

#web_display=(new_val) ⇒ Object



130
131
132
133
# File 'lib/jss-api/api_object/extension_attribute/mobile_device_extension_attribute.rb', line 130

def web_display= (new_val)
  raise JSS::InvalidDataError, "web_display cannot be 'Operating System' for Mobile Device Extension Attributes." if new_val == 'Operating System'
  super
end