Class: JSS::MobileDeviceExtensionAttribute

Inherits:
ExtensionAttribute show all
Defined in:
lib/jss/api_object/extension_attribute/mobile_device_extension_attribute.rb,
lib/jss.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")
OBJECT_HISTORY_OBJECT_TYPE =

the object type for this object in the object history table. See APIObject#add_object_history_entry

86

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ MobileDeviceExtensionAttribute

See JSS::APIObject.initialize



108
109
110
111
112
113
114
115
# File 'lib/jss/api_object/extension_attribute/mobile_device_extension_attribute.rb', line 108

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”



98
99
100
# File 'lib/jss/api_object/extension_attribute/mobile_device_extension_attribute.rb', line 98

def attribute_mapping
  @attribute_mapping
end

#need_to_updateBoolean (readonly) Originally defined in module Updatable

Returns do we have unsaved changes?

Returns:

  • (Boolean)

    do we have unsaved changes?

Instance Method Details

#createObject

See Also:



125
126
127
128
129
130
# File 'lib/jss/api_object/extension_attribute/mobile_device_extension_attribute.rb', line 125

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



145
146
147
148
149
150
151
152
153
154
155
# File 'lib/jss/api_object/extension_attribute/mobile_device_extension_attribute.rb', line 145

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



136
137
138
139
# File 'lib/jss/api_object/extension_attribute/mobile_device_extension_attribute.rb', line 136

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