iotcs.client.model module¶
-
class
iotcs.client.model.DeviceModelAction(name, description, argumentList=None)¶ Bases:
objectA
DeviceModelaction model.Create an instance of DeviceModelAction.
Parameters: - name – the action name
- description – the action human readable description
- argumentList – a list of
Argumentaction arguments.
-
class
Argument(name, argType, description=None, lowerBound=None, upperBound=None, defaultValue=None)¶ Bases:
objectA
DeviceModelActionargument model.-
checkBounds(value)¶
-
classmethod
fromJson(jsonObject)¶
-
getArgType()¶ Return the data type of the
Argumentaction argument.If the action does not take an argument, return None. :return: the
DeviceModelActionArgumentDeviceModelAttribute.Typedata type, or NoneReturns: a DeviceModelAttribute.Typedata type, or None
-
getDefaultValue()¶ Return the argument’s default value.
If a default value is defined in the
DeviceModel, that value is returned. If there is no for the argument in the device model, then None is returned. The value None is not a default value.Returns: the argument’s default value or None if no default value is defined
-
getLowerBound()¶ Return the
Argumentlower bound.Only
NUMBERandINTEGERDeviceModelAttribute.Typearguments have a lower bound. For other attribute types None is returned.Returns: a Numberor None if no lower bound has been set, or:method:`.getArgType` returns a type other than
NUMBERorINTEGER
-
getUpperBound()¶ Return the
Argumentupper bound.Only
NUMBERandINTEGERDeviceModelAttribute.Typearguments have an upper bound. For other attribute types None is returned.Returns: a Numberor None if no upper bound has been set, or:method:`.getArgType` returns a type other than
NUMBERorINTEGER
-
-
getArguments()¶ Return the action
Argumentarguments as list.Returns: the action Argumentarguments else None
-
getDescription()¶ Return the human readable description of this action.
If the model does not contain a description, this method will return an empty String.
Returns: the action description, or an empty string
-
getName()¶ Get the action name.
Returns: the action name from the device model
-
class
iotcs.client.model.DeviceModelAttribute(urn, name, description, type, lowerBound, upperBound, access, alias, defaultValue=None)¶ Bases:
objectDeviceModelAttribute is the model of an attribute in a DeviceModel.
-
class
Access¶ Bases:
enum.Enum- Access rules for an attribute.
- READ_ONLY The attribute value can only be read.
- WRITE_ONLY The attribute value can only be set.
- READ_WRITE The attribute value can be set and can be read
- EXECUTABLE The attribute is a action
-
EXECUTABLE= 3¶
-
READ_ONLY= 0¶
-
READ_WRITE= 2¶
-
WRITE_ONLY= 1¶
-
class
Type¶ Bases:
enum.EnumAn enumeration of the data types an attribute may contain.
-
BOOLEAN= 3¶
-
DATETIME= 5¶
-
INTEGER= 4¶
-
NUMBER= 0¶
-
STRING= 1¶
-
URI= 2¶
-
-
getAccess()¶ Return the access rules for the attribute. The default is READ-ONLY :return: the access rule for the attribute
-
getDefaultValue()¶ Get the default value of the attribute as defined by the device model. If there is no defaultValue for the attribute in the device model, then this method will return None. The value None is not a default value. :return: the default value of the attribute, or None if no default
is defined
-
getDescription()¶ A human friendly description of the attribute. If the model does not contain a description, this method will return an empty String. :return: the attribute description, or an empty string
-
getLowerBound()¶ For Type.NUMBER only, give the lower bound of the acceptable range of values. None is always returned for attributes other than NUMBER type. :return: a number, or None if no lower bound has been set
-
getName()¶ Get the attribute name. :return: the attribute name from the device model
-
getType()¶ The data type of the attribute. If the access type of the attribute is executable, this method will return None. :return: the attribute’s data type, or None
-
getUpperBound()¶ For ` Type.NUMBER` only, give the upper bound of the acceptable range of values. Null is always returned for attributes other than NUMBER type. :return: a number, or None if no upper bound has been set
-
getUrn()¶ Get the URN of the device type model this attribute comes from. :return: the URN of the device type model
-
validate(value)¶
-
class
-
class
iotcs.client.model.DeviceModelFactory¶ Bases:
objectDeviceModel Factory.
-
classmethod
checkLocalStorePath(localStorePathname)¶ Verify the local store path.
If device_model_store is set, then make sure it is readable/writable, or try to create the directory if it does not exist.
Parameters: localStorePathname – the device model store directory path Returns: the absolute path to the device model store directory else ‘None’ if the local storing of device models is not configured or the directory cannot be read or written
-
classmethod
getDeviceModel(secureConnection, urn, aid=None)¶ Get a device model from the IoT server.
Parameters: - secureConnection – a
iotcs.client.SecureConnectionconnection to the server. - urn – the URN of desired device model
- aid – the IoT application identifier or None
Returns: device model or null if not found
Raises: NullPointerException if an argument is null
Raises: IOException if the request failed
Raises: GeneralSecurityException when key or signature algorithm class cannot be loaded, or the key is not in the trusted assets store, or the private key is invalid
- secureConnection – a
-
classmethod
getLogger()¶ Return a logger for DeviceModelFactory log messages.
-
classmethod
getObject(secureConnection, uri, queryParams)¶ Get the model object from the server defined by the uri.
Parameters: - secureConnection – the
iotcs.client.SecureConnectionto make requests - uri – the device model resource uri
- queryParams – dict of query parameters
Returns: the device model as JSON
- secureConnection – the
-
classmethod
-
class
iotcs.client.model.DeviceModelFormat(urn, name, description, formatType, fields)¶ Bases:
objectDeviceModelFormat is the model of a message in a DeviceModel.
Create an instance of DeviceModelFormat.
Parameters: - urn – the urn of the message format
- name – the message format name
- description – a message format human readable description
- type – the DeviceModelFormat.Type
- fields – the fields of this message format.
Raises: KeyError if type is not a valid DeviceModelFormat.Type
-
class
Field(name, description, strType, optional)¶ Bases:
objectDescribes a field of a message.
Create a DeviceModelFormat.Field.
Parameters: - name – the Field name
- description – the Field description
- strType – the string name of a DeviceModelAttribute.Type
- optional – if False the field must exist
-
getDescription()¶ Return the human readable description of this Field.
Returns: the human readable description of this Field.
-
getName()¶ Return the Field name.
Returns: the Field name
-
getType()¶ Return the
DeviceModelAttribute.TypeField type.Returns: the DeviceModelAttribute.TypeField type
-
isOptional()¶ Return True if this Field is not required.
Returns: True if this Field is not required else False.
-
class
Type¶ Bases:
enum.EnumThe message type.
Each type corresponds to one type of message.
-
ALERT= 2¶
-
DATA= (1,)¶
-
-
getDescription()¶ Return the human readable description of this device model format.
A human readable description of the message format. If the format does not contain a description, this method will return an empty String.
Returns: the message format description, or an empty string
-
getFields()¶ Get the format of fields.
Returns: list of field formats
-
getName()¶ Return the message format name.
Returns: the message format name
-
getType()¶ Return the :class:.`DeviceModelFormat.Type` of the message.
Eturn: the :class:.`DeviceModelFormat.Type` of the message
-
getURN()¶ Get the URN of the message format.
Returns: the message format URN
-
class
iotcs.client.model.DeviceModelImpl(urn, name, description, attributes, actions, formats)¶ Bases:
iotcs.client.client.DeviceModelThe implementation of
DeviceModel.Create a DeviceModel instance.
Parameters: - urn – the URN that identifies a DeviceModel
- name – the name for this DeviceModel
- description – the human readable description for this DeviceModel
- attributes – a list of
DeviceModelAttribute`s for this `DeviceModel - actions – a list of
DeviceModelAction`s for this `DeviceModel - formats – a list of
DeviceModelFormat`s for this `DeviceModel
-
getDescription()¶ Return the human readable description of this DeviceModel.
Returns: the human readable description of this DeviceModel.
-
getDeviceModelActions()¶ Return the
DeviceModelAction`s of this :class:.DeviceModel`.Returns: a dict of {actionname: :class:`.DeviceModelAction`}
-
getDeviceModelAttributes()¶ Return the DeviceModelAttribute`s of this :class:.DeviceModel`.
Returns: a dict of {attributename: :class:`.DeviceModelAttribute`}
-
getDeviceModelFormat(urn)¶ Return the DeviceModelFormat for urn.
Parameters: urn – the urn that identifies a DeviceModelFormat of this DeviceModel Returns: the DeviceModelFormat for urn
-
getDeviceModelFormats()¶ Return the
DeviceModelFormat’s of thisDeviceModel.Returns: a dict of {formaturn: :class:`.DeviceModelFormat`}
-
getName()¶ Return the name of this DeviceModel.
Returns: the name of this DeviceModel
-
getURN()¶ Return the URN that identified this DeviceModel.
Returns: the URN that identifies this DeviceModel
-
class
iotcs.client.model.DeviceModelParser¶ Bases:
objectParse JSON into a
iotcs.client.DeviceModel.JSON in this context is a JSON formatted String or a readable stream
-
classmethod
createDeviceModelAction(existingActionNames, jsonObject)¶ Create and return a
DeviceModelActioninstance.Return a
iotcs.client.impl.DeviceModelActionfrom a python json object :param existingActionNames: previously processed actions :param jsonObject: a python object representing a jsoniotib.client.impl.DeviceModelAction:return: aiotcs.client.impl.DeviceModelActioninstance :raises: ValueError if the action exists in existingActionNames or jsonObject` has an invalidiotcs.client.impl.DeviceModelAction.Typeargument type
-
classmethod
createDeviceModelAttribute(urn, existingFieldNames, jsonObject)¶ Create and return a
DeviceModelAttribute.Return a
iotcs.shared.DeviceModelAttribute from the json object `root:param urn: :param existingFieldNames: :param jsonObject: The device model attribute in json object format :return: a DeviceModelAttribute :raises: ValueError if required value is missing or value is invalid
-
classmethod
createDeviceModelFormat(jsonObject)¶ Create and return a
DeviceModelFormatinstance.Return a
iotcs.client.impl.DeviceModelFormatfrom a python json object :param jsonObject: a python object representing a jsoniotcs.client.impl.DeviceModelFormat:return: aiotcs.client.impl.DeviceModelFormatinstance
-
classmethod
createMsgFormatField(jsonObject)¶ Create and return a
DeviceModelFormat.Field.Parameters: jsonObject – a python object representing a json iotcs.client.impl.DeviceModelFormat.FieldReturns: a iotcs.client.impl.DeviceModrlFormat.Fieldinstance
-
classmethod
fromJson(jsonObject)¶ Create a DeviceModel instance.
Return a
iotcs.client.DeviceModelfrom a JSON formatted String :param jsonString: a JSON formatted String :return: aiotcs.client.DeviceModelinstance :raises: json exceptions if jsonString cannot be decoded :raises: ValueError if required values are not present, or invalid
-
classmethod