Data Types

JSON

type description
Account
AccountDataIndexBy
AccountLockoutPolicy
AccountMetricsIndexBy
AccountProvisioningStatus
AccountServicePlan
AccountStatus
AccountsResult
Alert Alert provide an abstraction over the alert messages sent in and out of the Everyware Cloud platform. It encapsulates all the information regarding the alert:
the timestamp when it was received by the platform,
the severity (CRITICAL, WARNING, INFO)
the category (VPN, CONNECTION, CPU ...)
the code of the alert
the message explaining the alert
a unique identifier (uuid) is automatically generated when the alert is created, it will be used to be able to delete a single alert.
The Alert class is used both by the alerts/search API to return alert results from the platform, as well as by alerts/store and alerts/publish API to send alerts to the platform. http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricAlarm.html
AlertsResult
AllowedCertificate
AllowedCertificateCreator
AllowedCertificatesResult AllowedCerticates is a container for a list of AllowedCerticate returned by a list allowed certificate call. It contains the list of requested AllowedCerticates and a flag signaling whether the limit for the maximum number of returned entities has been reached. If limitExceeded is set, the client is requested to paginate through the result by moving the offset forward and issue a new request to get more data.

Example to get all devices:

    String apiPath = "allowedCerticates.xml";
    WebResource apisWeb = client.resource(API_URL).path(apiPath);
    
    AllowedCerticatesResult result;
    int offset = 0;
    do {
       // if the "limit" queryParam is not initialized, limit default value = 50
       // if the "offset" queryParam is not initialized, offset default value = 0
       apisWeb = apisWeb.queryParam("limit", "" + limit);
       if (offset > 0) 
          apisWeb = apisWeb.queryParam("offset", "" + offset);
       result = apisWeb.get(AllowedCerticatesResult.class);
       offset += limit;
    } while (result.isLimitExceeded()):
 
AssetsResult
AuditRecord
AuditResult
BillingReport
BillingReportItem
BlockedCertificate
BlockedCertificateCreator
BlockedCertificatesResult BlockedCerticates is a container for a list of BlockedCerticate returned by a list blocked certificate call. It contains the list of requested BlockedCerticates and a flag signaling whether the limit for the maximum number of returned entities has been reached. If limitExceeded is set, the client is requested to paginate through the result by moving the offset forward and issue a new request to get more data.

Example to get all devices:

    String apiPath = "blockedCerticates.xml";
    WebResource apisWeb = client.resource(API_URL).path(apiPath);
    
    BlockedCerticatesResult result;
    int offset = 0;
    do {
       // if the "limit" queryParam is not initialized, limit default value = 50
       // if the "offset" queryParam is not initialized, offset default value = 0
       apisWeb = apisWeb.queryParam("limit", "" + limit);
       if (offset > 0) 
          apisWeb = apisWeb.queryParam("offset", "" + offset);
       result = apisWeb.get(BlockedCerticatesResult.class);
       offset += limit;
    } while (result.isLimitExceeded()):
 
ConfigPropertyType
CountResult
Device Device is an object representing a device or gateway connected to the Everyware platform. The Device object contains several useful information on the connected object including its connection status and its profile information. Each devices is defined in the context of an Everyware Account whose ID is specified in the Device accountId attribute.

Upon connecting to the Everyware platform, each device will publish a birth certification announcing its characterinstics. The device profile attributes can be divided into few groups.
The device identifiers are attributes which uniquely identify the device. Those include: id, clientId, displayName, serialNumber, IMEI, IMSU, ICCID. The device displayName can be updated by the Account administrator.
The device connection information are attributes related to the device connection. Those include: status, lastEventOn, lastEventType, connectionIp, gpsLatitude, gpsLongitude.
The device version information are attributes related to the device model and version information. Those include: modelId, biosVersion, firmwareVersion, osVersion, jvmVersion, osgiFrameworkVersion, esfVersion, applicationIdentifiers.
The value of the device custom attributes 1-5 are set by the system administrator as additional string attributes that can be associated to the device.
All other device attributes are defined as device extended properties.
When loading or searching a device using the Everyware REST APIs, a fetch parameter can be used to control whether the device extended attributes should be loaded and returned.

DeviceCommandInput Represents an OS command to be executed remotely on a device.
DeviceCommandOutput Represents the result of an OS command executed remotely on a device.
DeviceComponentConfiguration Describes the configuration of an OSGi Component. The Component configuration groups all the information related to the configuration of a Component. It provides access to parsed ObjectClassDefintion associated to this Component. The configuration does not reuse the OSGi ObjectClassDefinition as the latter does not provide access to certain aspects such as the required attribute, the min and max values. Instead it returns the raw ObjectClassDefintion as parsed from the MetaType Information XML resource associated to this Component.
DeviceConfiguration A container for a list of OSGi component configurations.
DeviceConnectionStatus
DeviceConnectionSummary DeviceConnectionSummary represents an aggregated summary of the connection status of a group of devices at a point in time. It returns the number of devices currently connected, the number of devices which disconnect cleanly, the number of devices which disconnected abruptly, and the number of devices which have been disabled.
DeviceCreator DeviceCreator encapsulates all the information needed to create a new Device in the system. The data provided will be used to seed the new Device and its related information. The clientId field of the Device is used to store the MAC address of the primary network interface of the device. The Device will always be created with connection status disconnected and no last event information. The fields of the DeviceCreator presents the attributes that are searchable for a given device. The DeviceCreator Properties field can be used to provide additional properties associated to the Device; those properties will not be searchable through Device queries. Some of those properties are recognized by the platform and promoted a top level attributes of the Device class.
DeviceCredentialsTight Defines the strategy to validate credentials during device login.
DeviceEvent DeviceEvent represents an event associated to a device, such as events related to the Cloud connection (CONNECTED, DISCONNECTED, MISSING) or events related to the device management (CONF_UPDATED, APPS_UPDATED etc.).
DeviceEventType
DeviceEventsResult DeviceEventsResult is a container for a list of DeviceEvents returned by a list DeviceEvents call. It contains the list of requested DeviceEvents and a flag signaling whether the limit for the maximum number of returned entities has been reached. If limitedExceeded is set, the client is requested to paginate through the result by moving the offset forward and issue a new request to get more data.
DeviceJob
DeviceJobCreator
DeviceJobExecution
DeviceJobExecutionsResult
DeviceJobStatus
DeviceJobTarget
DeviceJobTargetStatus
DeviceJobTargetsResult
DeviceJobType
DeviceJobsResult
DeviceMgmtPki
DeviceMgmtPkiCreator
DeviceMgmtPkisResult DeviceMgmtPki is a container for a list of DeviceMgmtCerticate returned by a list deviceMgmt pki call. It contains the list of requested DeviceMgmtPki and a flag signaling whether the limit for the maximum number of returned entities has been reached. If limitExceeded is set, the client is requested to paginate through the result by moving the offset forward and issue a new request to get more data.

Example to get all devices:

    String apiPath = "deviceMgmtPki.xml";
    WebResource apisWeb = client.resource(API_URL).path(apiPath);
    
    DeviceMgmtPkiResult result;
    int offset = 0;
    do {
       // if the "limit" queryParam is not initialized, limit default value = 50
       // if the "offset" queryParam is not initialized, offset default value = 0
       apisWeb = apisWeb.queryParam("limit", "" + limit);
       if (offset > 0) 
          apisWeb = apisWeb.queryParam("offset", "" + offset);
       result = apisWeb.get(DeviceMgmtPkiResult.class);
       offset += limit;
    } while (result.isLimitExceeded()):
 
DevicePackageInstallOptions
DeviceStatus
DevicesResult DevicesResult is a container for a list of Devices returned by a list device call. It contains the list of requested Devices and a flag signaling whether the limit for the maximum number of returned entities has been reached. If limitExceeded is set, the client is requested to paginate through the result by moving the offset forward and issue a new request to get more data.

Example to get all devices:

    String apiPath = "devices.xml";
    WebResource apisWeb = client.resource(API_URL).path(apiPath);

    DevicesResult result;
    int offset = 0;
    do {
       // if the "limit" queryParam is not initialized, limit default value = 50
       // if the "offset" queryParam is not initialized, offset default value = 0
       apisWeb = apisWeb.queryParam("limit", "" + limit);
       if (offset > 0)
          apisWeb = apisWeb.queryParam("offset", "" + offset);
       result = apisWeb.get(DevicesResult.class);
       offset += limit;
    } while (result.isLimitExceeded()):
 
EdcAssetInfo
EdcEntity
EdcMessage EdcMessage provides an abstraction over the messages sent in and out of the Everyware Cloud platform. It encapsulates all the information regarding the message: the topic it was addressed to, the timestamp when it was received by the platform, and the payload contained in the message. The payload can be represented by a raw binary array or by an EdcPayload object if it was formatted as such when the message was composed and sent. Refer to the EdcPayload documentation for more details on how EdcPayload are modelled and how they can be constructed.
The EdcMessage class is used both by the messages/search API to return message results from the platform, as well as by messages/store and messages/publish API to send messages to the platform.
EdcMetric EdcMetric represents an instance of a metric published as part of the message. The metric is defined by a name, a type and a value. The name is an alphanumeric string. The type is expressed as a string and can be one of the following values: string, double, int, float, long boolean, base64Binary. The value is the string representation of the corresponding value object. For the primitive types, the conversion is straight forward. Values of type base64Binary represent a metric of type byte array; in this case, the metric value is serialized into a base64 encoded string.
EdcMetricValue EdcMetricValue represents an instance of a metric stored in metricsByValue or metricsByTimestamp column families. The metric is defined by a timestamp, a value and the UUID of the message on which the metric was published. The timestamp is a long type. The value is the string representation of the corresponding value object.????? For the primitive types, the conversion is straight forward. Values of type base64Binary represent a metric of type byte array; in this case, the metric value is serialized into a base64 encoded string.
EdcMetricsMapType A container for EdcMetric instances organized into a list.
EdcPayload EdcPayload defines the recommended payload structure for the messages sent to the Everyware Cloud platform. Eurotech designed the format as an open format that is flexible from the aspect of data modeling yet is efficient when it comes to bandwidth conservation. The same payload model is used by the REST API - in which case it is serialized into XML or JSON as requested by the client - or uses the efficient Google ProtoBuf when sent over an MQTT connection when the bandwidth is very important. The EdcPayload contains the following fields: sentOn timestamp, an optional set of metrics represented as name-value pairs, an optional position field to capture a GPS position, and an optional binary body.
  • sentOn: it is the timestamp when the data was captured and sent to the Everyware Cloud platform.
  • metrics: a metric is a data structure composed of the name, a value, and the type of the value. When used with the REST API valid metric types are: string, double, int, float, long, boolean, base64Binary. Data exposed into the payload metrics can be processed through the real-time rules offered by the Everyware Cloud platform or used as query criteria when searching for messages through the messages/searchByMetric API. Each payload can have zero or more metrics.
  • position: it is an optional field used to capture a geo position associated to this payload.
  • body: it is an optional part of the payload that allows additional information to be transmitted in any format determined by the user. This field will be stored into the platform database, but the Everyware Cloud cannot apply any statistical analysis on it.
EdcPki
EdcPkiCreator
EdcPosition EdcPosition is a data structure to capture a geo location. It can be associated to an EdcPayload to geotag an EdcMessage before sending to the Everyware Cloud. Refer to the description of each of the fields for more information on the model of EdcPosition.
EdcResponsePayload EdcPayload defines the recommended payload structure for the messages sent to the Everyware Cloud platform. Eurotech designed the format as an open format that is flexible from the aspect of data modeling yet is efficient when it comes to bandwidth conservation. The same payload model is used by the REST API - in which case it is serialized into XML or JSON as requested by the client - or uses the efficient Google ProtoBuf when sent over an MQTT connection when the bandwidth is very important. The EdcPayload contains the following fields: sentOn timestamp, an optional set of metrics represented as name-value pairs, an optional position field to capture a GPS position, and an optional binary body.
  • sentOn: it is the timestamp when the data was captured and sent to the Everyware Cloud platform.
  • metrics: a metric is a data structure composed of the name, a value, and the type of the value. When used with the REST API valid metric types are: string, double, int, float, long, boolean, base64Binary. Data exposed into the payload metrics can be processed through the real-time rules offered by the Everyware Cloud platform or used as query criteria when searching for messages through the messages/searchByMetric API. Each payload can have zero or more metrics.
  • position: it is an optional field used to capture a geo position associated to this payload.
  • body: it is an optional part of the payload that allows additional information to be transmitted in any format determined by the user. This field will be stored into the platform database, but the Everyware Cloud cannot apply any statistical analysis on it.
EdcTopic Models a topic for messages posted to the EDC platform. Topic are expected to be in the form of "account/asset/"; system topic starts with the $EDC account.
EdcTopicInfo
EdcUsageInfo
EntityId
ErrorBean
Etype
ExpiringAccount
ExpiringAccountsResult
HealthCheckLog A HealthCheckLog represents a health check log. At a minimum a HealthCheckLog is associated to a HealthCheckReport.
HealthCheckLogsResult
HealthCheckPeriodReport HealthCheckPeriodReport An object that describe a derived statistic informations based on the health check monitor logs.
HealthCheckReport A HealthCheckReport represents a health check log rolled up. At a minimum a HealthCheckReport is associated to an Account.
HealthCheckReportsResult
Job
JobAttachmentCreator
JobAttachmentType
JobExecution
JobType
LongResult
MessagesResult MessagesResult is a container for a list of Messages returned by a list or search messages call. It contains the list of requested Messages and a flag signaling whether the limit for the maximum number of returned entities has been reached.
If limitedExceeded is set,the client is requested to paginate through the result by moving the offset forward and issue a new request to get more data.

Example to get all messages:

    // First get the total count of messages
    String apiPath = "messages/count.xml";
    WebResource apisWeb = client.resource(API_URL).path(apiPath);
    CountResult countResult = apisWeb.get(CountResult.class);

    // Then paginate to get all messages
    long MSG_COUNT = countResult.getCount();
    apiPath = "messages.xml";
    apisWeb = client.resource(API_URL).path(apiPath);

    for (int offset = 0; offset < MSG_COUNT; offset += limit) {
       // set limit and offset as queryParam
       // if the "limit" queryParam is not initialized, limit default value = 50
       // if the "offset" queryParam is not initialized, offset default value = 0
       apisWeb = apisWeb.queryParam("limit", "" + limit);
       if (offset > 0)
          apisWeb = apisWeb.queryParam("offset", "" + offset);

     MessagesResult result = apisWeb.get(MessagesResult.class);
    }

    // To get all messages of a given topic
    apiPath = "messages/searchByTopic.xml";
    apisWeb = client.resource(API_URL).path(apiPath);
    apisWeb = apisWeb.queryParam("topic", topic);

    MessagesResult result;
    int offset = 0;
    do {
       apisWeb = apisWeb.queryParam("limit", "" + limit);
       if (offset > 0)
          apisWeb = apisWeb.queryParam("offset", "" + offset);
       result = apisWeb.get(MessagesResult.class);
       offset += limit;
    } while (result.isLimitExceeded()):
 
MetricValuesResult
MetricsResult
NOTIFICATION_STATUS
Organization
Parameter
ParameterInfo
ParameterType
ParametersMapType
PkiAllowedCertificateStatus
PkiStatus
ProvisionJob
ProvisionJobExecution
ProvisionJobStatus
ProvisionRequest ProvisionRequest is a object that represent all information of a provision request for a device.

A provision request is owned by the target account even if the device will connect to the provision broker using a user that belong to the provision account.

A ProvisionRequest object contains a nested ProvisionJob that represent the background job that will be triggered upon device request to be provisioned. The nested ProvisionJob will contain information the provisioning process of a device, its retry counter and general status.

ProvisionRequestCreator ProvisionRequestCreator is a object used to create a provision request for a target device into the Everyware platform.

Mandatory fields are: accountId, retryMaxAttempts, provisionUserUsername, provisionUserPassword. Other field that are not set in the ProvisionRequestCreator will be set to the default value of their type.

ClientId, provisionUserUsername, provisionUserPassword must match exactly the values that the device will use to connect the first time to the provision broker.
ClientId is unique within an account, that means that must not exist more the one request for the same ClientId for an account.
ActivatesOn must be after the Expiration date, otherwise the creation will fail.
GenerateActivation key is optional. If set to true a 32 char random string will be generated and associated with the provision request.
A device must provide that activation key upon ask to be provisioned to the provision broker.
ProvisionProperties are not used at the moment.
ProvisionAttachment are optional. It can be specified only one configuration update, while bundle have a limit of 9 for a total of 10 max attachments. If no configuration attachment is passed the system will generate a configuration using values retrieved from the target account and from the device. By set OverwriteIfDuplicate flag to true any existing provision request for the specified ClientId will be overwritten by this provision request. If set to false and a duplicate exist the creation will return an error.
ProvisionRequestExecutionsResult
ProvisionRequestStatus
ProvisionRequestsResult
Role
RolesResult
Rule A Rule represents an Esper rule. At a minimum a Rule is associated to an Account and must have a name when created.
RuleActionConfiguration
RuleActionInfo This class describes a rule action in the system.
RuleActionInfosResult
RulesResult
Severity
SnapshotIdsResult SnapshotIdsResult is a container for a list of Snapshot Ids returned by a getDeviceSnapshots call. It contains the list of requested Snapshot Ids returned as Long
Tad

Java class for Tad complex type.

The following schema fragment specifies the expected content contained within this class.

 <complexType name="Tad">
   <complexContent>
     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
       <sequence>
         <element name="Option" type="{http://www.osgi.org/xmlns/metatype/v1.2.0}Toption" maxOccurs="unbounded" minOccurs="0"/>
         <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
       </sequence>
       <attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="type" use="required" type="{http://www.osgi.org/xmlns/metatype/v1.2.0}Tscalar" />
       <attribute name="cardinality" type="{http://www.w3.org/2001/XMLSchema}int" default="0" />
       <attribute name="min" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="max" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="default" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="required" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
       <anyAttribute/>
     </restriction>
   </complexContent>
 </complexType>
 
Tag
TagApplication
TagApplicationCreator
TagApplicationsResult
TagCreator
TagDeviceSummary
TagsResult
Ticon

Java class for Ticon complex type.

The following schema fragment specifies the expected content contained within this class.

 <complexType name="Ticon">
   <complexContent>
     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
       <sequence>
         <any processContents='lax' maxOccurs="unbounded" minOccurs="0"/>
       </sequence>
       <attribute name="resource" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="size" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
       <anyAttribute/>
     </restriction>
   </complexContent>
 </complexType>
 
Tocd

Java class for Tocd complex type.

The following schema fragment specifies the expected content contained within this class.

 <complexType name="Tocd">
   <complexContent>
     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
       <sequence>
         <element name="AD" type="{http://www.osgi.org/xmlns/metatype/v1.2.0}Tad" maxOccurs="unbounded"/>
         <element name="Icon" type="{http://www.osgi.org/xmlns/metatype/v1.2.0}Ticon" maxOccurs="unbounded" minOccurs="0"/>
         <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
       </sequence>
       <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
       <anyAttribute/>
     </restriction>
   </complexContent>
 </complexType>
 
TopicsResult
Toption

Java class for Toption complex type.

The following schema fragment specifies the expected content contained within this class.

 <complexType name="Toption">
   <complexContent>
     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
       <sequence>
         <any processContents='lax' maxOccurs="unbounded" minOccurs="0"/>
       </sequence>
       <attribute name="label" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
       <anyAttribute/>
     </restriction>
   </complexContent>
 </complexType>
 
Tscalar

Java class for Tscalar.

The following schema fragment specifies the expected content contained within this class.

 <simpleType name="Tscalar">
   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
     <enumeration value="String"/>
     <enumeration value="Long"/>
     <enumeration value="Double"/>
     <enumeration value="Float"/>
     <enumeration value="Integer"/>
     <enumeration value="Byte"/>
     <enumeration value="Char"/>
     <enumeration value="Boolean"/>
     <enumeration value="Short"/>
     <enumeration value="Password"/>
   </restriction>
 </simpleType>
 
UsageResult
User
UserStatus
UsersResult
VersionResult
VpnClientStatus
VpnConnection VpnConnection represents a currently active connection to the VPN Server and it keeps track of the device and the user who initiated it.
VpnConnectionsResult
XmlBundleInfo
XmlConfigPropertiesAdapted A container for XmlConfigPropertyAdapted organized into an array.
XmlConfigPropertyAdapted Represents a typed property. Various flags help in the interpretation and semantics of the property value. For example, a property value might be an array or the property value might have been encrypted.
XmlDeploymentPackage
XmlDeploymentPackages
XmlMapAdaptedMap
XmlMapAdapterKeyValue

XML

Default Namespace (schema)
type description
allowedCertificate
allowedCertificateCreator
blockedCertificate
blockedCertificateCreator
deviceMgmtPki
deviceMgmtPkiCreator
edcPki
edcPkiCreator
pkiAllowedCertificateStatus
pkiStatus
Namespace http://www.osgi.org/xmlns/metatype/v1.2.0 (schema)
type description
Tad

Java class for Tad complex type.

The following schema fragment specifies the expected content contained within this class.

 <complexType name="Tad">
   <complexContent>
     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
       <sequence>
         <element name="Option" type="{http://www.osgi.org/xmlns/metatype/v1.2.0}Toption" maxOccurs="unbounded" minOccurs="0"/>
         <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
       </sequence>
       <attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="type" use="required" type="{http://www.osgi.org/xmlns/metatype/v1.2.0}Tscalar" />
       <attribute name="cardinality" type="{http://www.w3.org/2001/XMLSchema}int" default="0" />
       <attribute name="min" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="max" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="default" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="required" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
       <anyAttribute/>
     </restriction>
   </complexContent>
 </complexType>
 
Ticon

Java class for Ticon complex type.

The following schema fragment specifies the expected content contained within this class.

 <complexType name="Ticon">
   <complexContent>
     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
       <sequence>
         <any processContents='lax' maxOccurs="unbounded" minOccurs="0"/>
       </sequence>
       <attribute name="resource" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="size" use="required" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" />
       <anyAttribute/>
     </restriction>
   </complexContent>
 </complexType>
 
Tocd

Java class for Tocd complex type.

The following schema fragment specifies the expected content contained within this class.

 <complexType name="Tocd">
   <complexContent>
     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
       <sequence>
         <element name="AD" type="{http://www.osgi.org/xmlns/metatype/v1.2.0}Tad" maxOccurs="unbounded"/>
         <element name="Icon" type="{http://www.osgi.org/xmlns/metatype/v1.2.0}Ticon" maxOccurs="unbounded" minOccurs="0"/>
         <any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
       </sequence>
       <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
       <anyAttribute/>
     </restriction>
   </complexContent>
 </complexType>
 
Toption

Java class for Toption complex type.

The following schema fragment specifies the expected content contained within this class.

 <complexType name="Toption">
   <complexContent>
     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
       <sequence>
         <any processContents='lax' maxOccurs="unbounded" minOccurs="0"/>
       </sequence>
       <attribute name="label" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
       <attribute name="value" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
       <anyAttribute/>
     </restriction>
   </complexContent>
 </complexType>
 
Tscalar

Java class for Tscalar.

The following schema fragment specifies the expected content contained within this class.

 <simpleType name="Tscalar">
   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
     <enumeration value="String"/>
     <enumeration value="Long"/>
     <enumeration value="Double"/>
     <enumeration value="Float"/>
     <enumeration value="Integer"/>
     <enumeration value="Byte"/>
     <enumeration value="Char"/>
     <enumeration value="Boolean"/>
     <enumeration value="Short"/>
     <enumeration value="Password"/>
   </restriction>
 </simpleType>
 
Namespace http://eurotech.com/edc/2.0 (schema)
type description
accountsResult
alertsResult
allowedCertificatesResult AllowedCerticates is a container for a list of AllowedCerticate returned by a list allowed certificate call. It contains the list of requested AllowedCerticates and a flag signaling whether the limit for the maximum number of returned entities has been reached. If limitExceeded is set, the client is requested to paginate through the result by moving the offset forward and issue a new request to get more data.

Example to get all devices:

    String apiPath = "allowedCerticates.xml";
    WebResource apisWeb = client.resource(API_URL).path(apiPath);
    
    AllowedCerticatesResult result;
    int offset = 0;
    do {
       // if the "limit" queryParam is not initialized, limit default value = 50
       // if the "offset" queryParam is not initialized, offset default value = 0
       apisWeb = apisWeb.queryParam("limit", "" + limit);
       if (offset > 0) 
          apisWeb = apisWeb.queryParam("offset", "" + offset);
       result = apisWeb.get(AllowedCerticatesResult.class);
       offset += limit;
    } while (result.isLimitExceeded()):
 
assetsResult
auditResult
blockedCertificatesResult BlockedCerticates is a container for a list of BlockedCerticate returned by a list blocked certificate call. It contains the list of requested BlockedCerticates and a flag signaling whether the limit for the maximum number of returned entities has been reached. If limitExceeded is set, the client is requested to paginate through the result by moving the offset forward and issue a new request to get more data.

Example to get all devices:

    String apiPath = "blockedCerticates.xml";
    WebResource apisWeb = client.resource(API_URL).path(apiPath);
    
    BlockedCerticatesResult result;
    int offset = 0;
    do {
       // if the "limit" queryParam is not initialized, limit default value = 50
       // if the "offset" queryParam is not initialized, offset default value = 0
       apisWeb = apisWeb.queryParam("limit", "" + limit);
       if (offset > 0) 
          apisWeb = apisWeb.queryParam("offset", "" + offset);
       result = apisWeb.get(BlockedCerticatesResult.class);
       offset += limit;
    } while (result.isLimitExceeded()):
 
countResult
deviceEventsResult DeviceEventsResult is a container for a list of DeviceEvents returned by a list DeviceEvents call. It contains the list of requested DeviceEvents and a flag signaling whether the limit for the maximum number of returned entities has been reached. If limitedExceeded is set, the client is requested to paginate through the result by moving the offset forward and issue a new request to get more data.
deviceJobExecutionsResult
deviceJobTargetsResult
deviceJobsResult
deviceMgmtPkisResult DeviceMgmtPki is a container for a list of DeviceMgmtCerticate returned by a list deviceMgmt pki call. It contains the list of requested DeviceMgmtPki and a flag signaling whether the limit for the maximum number of returned entities has been reached. If limitExceeded is set, the client is requested to paginate through the result by moving the offset forward and issue a new request to get more data.

Example to get all devices:

    String apiPath = "deviceMgmtPki.xml";
    WebResource apisWeb = client.resource(API_URL).path(apiPath);
    
    DeviceMgmtPkiResult result;
    int offset = 0;
    do {
       // if the "limit" queryParam is not initialized, limit default value = 50
       // if the "offset" queryParam is not initialized, offset default value = 0
       apisWeb = apisWeb.queryParam("limit", "" + limit);
       if (offset > 0) 
          apisWeb = apisWeb.queryParam("offset", "" + offset);
       result = apisWeb.get(DeviceMgmtPkiResult.class);
       offset += limit;
    } while (result.isLimitExceeded()):
 
devicePackageInstallOptions
devicesResult DevicesResult is a container for a list of Devices returned by a list device call. It contains the list of requested Devices and a flag signaling whether the limit for the maximum number of returned entities has been reached. If limitExceeded is set, the client is requested to paginate through the result by moving the offset forward and issue a new request to get more data.

Example to get all devices:

    String apiPath = "devices.xml";
    WebResource apisWeb = client.resource(API_URL).path(apiPath);

    DevicesResult result;
    int offset = 0;
    do {
       // if the "limit" queryParam is not initialized, limit default value = 50
       // if the "offset" queryParam is not initialized, offset default value = 0
       apisWeb = apisWeb.queryParam("limit", "" + limit);
       if (offset > 0)
          apisWeb = apisWeb.queryParam("offset", "" + offset);
       result = apisWeb.get(DevicesResult.class);
       offset += limit;
    } while (result.isLimitExceeded()):
 
errorBean
expiringAccount
NOTIFICATION_STATUS
expiringAccountsResult
healthCheckLogsResult
healthCheckReportsResult
longResult
messagesResult MessagesResult is a container for a list of Messages returned by a list or search messages call. It contains the list of requested Messages and a flag signaling whether the limit for the maximum number of returned entities has been reached.
If limitedExceeded is set,the client is requested to paginate through the result by moving the offset forward and issue a new request to get more data.

Example to get all messages:

    // First get the total count of messages
    String apiPath = "messages/count.xml";
    WebResource apisWeb = client.resource(API_URL).path(apiPath);
    CountResult countResult = apisWeb.get(CountResult.class);

    // Then paginate to get all messages
    long MSG_COUNT = countResult.getCount();
    apiPath = "messages.xml";
    apisWeb = client.resource(API_URL).path(apiPath);

    for (int offset = 0; offset < MSG_COUNT; offset += limit) {
       // set limit and offset as queryParam
       // if the "limit" queryParam is not initialized, limit default value = 50
       // if the "offset" queryParam is not initialized, offset default value = 0
       apisWeb = apisWeb.queryParam("limit", "" + limit);
       if (offset > 0)
          apisWeb = apisWeb.queryParam("offset", "" + offset);

     MessagesResult result = apisWeb.get(MessagesResult.class);
    }

    // To get all messages of a given topic
    apiPath = "messages/searchByTopic.xml";
    apisWeb = client.resource(API_URL).path(apiPath);
    apisWeb = apisWeb.queryParam("topic", topic);

    MessagesResult result;
    int offset = 0;
    do {
       apisWeb = apisWeb.queryParam("limit", "" + limit);
       if (offset > 0)
          apisWeb = apisWeb.queryParam("offset", "" + offset);
       result = apisWeb.get(MessagesResult.class);
       offset += limit;
    } while (result.isLimitExceeded()):
 
metricValuesResult
metricsResult
provisionRequestExecutionsResult
provisionRequestsResult
rolesResult
ruleActionInfosResult
rulesResult
snapshotIdsResult SnapshotIdsResult is a container for a list of Snapshot Ids returned by a getDeviceSnapshots call. It contains the list of requested Snapshot Ids returned as Long
tagApplicationsResult
tagsResult
topicsResult
usageResult
usersResult
versionResult
vpnConnectionsResult
account
accountCreator AccountCreator encapsulates all the information needed to create a new Account in the system. The data provided will be used to seed the new Account and its related information such as the associated organization and users.
accountDataIndexBy
accountLockoutPolicy
accountMetricsIndexBy
accountProvisioningStatus
accountServicePlan
accountStatus
alert Alert provide an abstraction over the alert messages sent in and out of the Everyware Cloud platform. It encapsulates all the information regarding the alert:
the timestamp when it was received by the platform,
the severity (CRITICAL, WARNING, INFO)
the category (VPN, CONNECTION, CPU ...)
the code of the alert
the message explaining the alert
a unique identifier (uuid) is automatically generated when the alert is created, it will be used to be able to delete a single alert.
The Alert class is used both by the alerts/search API to return alert results from the platform, as well as by alerts/store and alerts/publish API to send alerts to the platform. http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricAlarm.html
severity
alertCreator AlertCreator encapsulates all the information needed to create a new Alert in the system. An Alert is associated to an Account.
auditRecord
billingReport
billingReportItem
device Device is an object representing a device or gateway connected to the Everyware platform. The Device object contains several useful information on the connected object including its connection status and its profile information. Each devices is defined in the context of an Everyware Account whose ID is specified in the Device accountId attribute.

Upon connecting to the Everyware platform, each device will publish a birth certification announcing its characterinstics. The device profile attributes can be divided into few groups.
The device identifiers are attributes which uniquely identify the device. Those include: id, clientId, displayName, serialNumber, IMEI, IMSU, ICCID. The device displayName can be updated by the Account administrator.
The device connection information are attributes related to the device connection. Those include: status, lastEventOn, lastEventType, connectionIp, gpsLatitude, gpsLongitude.
The device version information are attributes related to the device model and version information. Those include: modelId, biosVersion, firmwareVersion, osVersion, jvmVersion, osgiFrameworkVersion, esfVersion, applicationIdentifiers.
The value of the device custom attributes 1-5 are set by the system administrator as additional string attributes that can be associated to the device.
All other device attributes are defined as device extended properties.
When loading or searching a device using the Everyware REST APIs, a fetch parameter can be used to control whether the device extended attributes should be loaded and returned.

deviceConnectionStatus
deviceConnectionSummary DeviceConnectionSummary represents an aggregated summary of the connection status of a group of devices at a point in time. It returns the number of devices currently connected, the number of devices which disconnect cleanly, the number of devices which disconnected abruptly, and the number of devices which have been disabled.
deviceCreator DeviceCreator encapsulates all the information needed to create a new Device in the system. The data provided will be used to seed the new Device and its related information. The clientId field of the Device is used to store the MAC address of the primary network interface of the device. The Device will always be created with connection status disconnected and no last event information. The fields of the DeviceCreator presents the attributes that are searchable for a given device. The DeviceCreator Properties field can be used to provide additional properties associated to the Device; those properties will not be searchable through Device queries. Some of those properties are recognized by the platform and promoted a top level attributes of the Device class.
deviceCredentialsTight Defines the strategy to validate credentials during device login.
deviceEvent DeviceEvent represents an event associated to a device, such as events related to the Cloud connection (CONNECTED, DISCONNECTED, MISSING) or events related to the device management (CONF_UPDATED, APPS_UPDATED etc.).
deviceEventType
deviceStatus
edcEntity
entityId
etype
healthCheckLog A HealthCheckLog represents a health check log. At a minimum a HealthCheckLog is associated to a HealthCheckReport.
healthCheckPeriodReport HealthCheckPeriodReport An object that describe a derived statistic informations based on the health check monitor logs.
healthCheckReport A HealthCheckReport represents a health check log rolled up. At a minimum a HealthCheckReport is associated to an Account.
organization
provisionRequest ProvisionRequest is a object that represent all information of a provision request for a device.

A provision request is owned by the target account even if the device will connect to the provision broker using a user that belong to the provision account.

A ProvisionRequest object contains a nested ProvisionJob that represent the background job that will be triggered upon device request to be provisioned. The nested ProvisionJob will contain information the provisioning process of a device, its retry counter and general status.

provisionRequestCreator ProvisionRequestCreator is a object used to create a provision request for a target device into the Everyware platform.

Mandatory fields are: accountId, retryMaxAttempts, provisionUserUsername, provisionUserPassword. Other field that are not set in the ProvisionRequestCreator will be set to the default value of their type.

ClientId, provisionUserUsername, provisionUserPassword must match exactly the values that the device will use to connect the first time to the provision broker.
ClientId is unique within an account, that means that must not exist more the one request for the same ClientId for an account.
ActivatesOn must be after the Expiration date, otherwise the creation will fail.
GenerateActivation key is optional. If set to true a 32 char random string will be generated and associated with the provision request.
A device must provide that activation key upon ask to be provisioned to the provision broker.
ProvisionProperties are not used at the moment.
ProvisionAttachment are optional. It can be specified only one configuration update, while bundle have a limit of 9 for a total of 10 max attachments. If no configuration attachment is passed the system will generate a configuration using values retrieved from the target account and from the device. By set OverwriteIfDuplicate flag to true any existing provision request for the specified ClientId will be overwritten by this provision request. If set to false and a duplicate exist the creation will return an error.
provisionRequestStatus
role
roleCreator RoleCreator encapsulates all the information needed to create a new Role in the system. A Role is associated to an Account and a set of Permissions.
rule A Rule represents an Esper rule. At a minimum a Rule is associated to an Account and must have a name when created.
ruleActionConfiguration
ruleCreator RuleCreator encapsulates all the information needed to create a new Rule in the system. A Rule is associated to an Account.
tag
tagApplication
tagApplicationCreator
tagCreator
tagDeviceSummary
user
userCreator UserCreator encapsulates all the information needed to create a new User in the system.
userStatus
deviceJob
deviceJobCreator
deviceJobExecution
deviceJobStatus
deviceJobTarget
deviceJobTargetStatus
deviceJobType
job
jobAttachmentCreator
jobAttachmentType
jobExecution
jobType
provisionJob
provisionJobExecution
provisionJobStatus
edcAssetInfo
edcTopicInfo
edcUsageInfo
parameterInfo
parameterType
ruleActionInfo This class describes a rule action in the system.
vpnClientStatus
vpnConnection VpnConnection represents a currently active connection to the VPN Server and it keeps track of the device and the user who initiated it.
parameter
parametersMapType
edcResponsePayload EdcPayload defines the recommended payload structure for the messages sent to the Everyware Cloud platform. Eurotech designed the format as an open format that is flexible from the aspect of data modeling yet is efficient when it comes to bandwidth conservation. The same payload model is used by the REST API - in which case it is serialized into XML or JSON as requested by the client - or uses the efficient Google ProtoBuf when sent over an MQTT connection when the bandwidth is very important. The EdcPayload contains the following fields: sentOn timestamp, an optional set of metrics represented as name-value pairs, an optional position field to capture a GPS position, and an optional binary body.
  • sentOn: it is the timestamp when the data was captured and sent to the Everyware Cloud platform.
  • metrics: a metric is a data structure composed of the name, a value, and the type of the value. When used with the REST API valid metric types are: string, double, int, float, long, boolean, base64Binary. Data exposed into the payload metrics can be processed through the real-time rules offered by the Everyware Cloud platform or used as query criteria when searching for messages through the messages/searchByMetric API. Each payload can have zero or more metrics.
  • position: it is an optional field used to capture a geo position associated to this payload.
  • body: it is an optional part of the payload that allows additional information to be transmitted in any format determined by the user. This field will be stored into the platform database, but the Everyware Cloud cannot apply any statistical analysis on it.
xmlMapAdaptedMap
xmlMapAdapterKeyValue
edcMessage EdcMessage provides an abstraction over the messages sent in and out of the Everyware Cloud platform. It encapsulates all the information regarding the message: the topic it was addressed to, the timestamp when it was received by the platform, and the payload contained in the message. The payload can be represented by a raw binary array or by an EdcPayload object if it was formatted as such when the message was composed and sent. Refer to the EdcPayload documentation for more details on how EdcPayload are modelled and how they can be constructed.
The EdcMessage class is used both by the messages/search API to return message results from the platform, as well as by messages/store and messages/publish API to send messages to the platform.
edcPayload EdcPayload defines the recommended payload structure for the messages sent to the Everyware Cloud platform. Eurotech designed the format as an open format that is flexible from the aspect of data modeling yet is efficient when it comes to bandwidth conservation. The same payload model is used by the REST API - in which case it is serialized into XML or JSON as requested by the client - or uses the efficient Google ProtoBuf when sent over an MQTT connection when the bandwidth is very important. The EdcPayload contains the following fields: sentOn timestamp, an optional set of metrics represented as name-value pairs, an optional position field to capture a GPS position, and an optional binary body.
  • sentOn: it is the timestamp when the data was captured and sent to the Everyware Cloud platform.
  • metrics: a metric is a data structure composed of the name, a value, and the type of the value. When used with the REST API valid metric types are: string, double, int, float, long, boolean, base64Binary. Data exposed into the payload metrics can be processed through the real-time rules offered by the Everyware Cloud platform or used as query criteria when searching for messages through the messages/searchByMetric API. Each payload can have zero or more metrics.
  • position: it is an optional field used to capture a geo position associated to this payload.
  • body: it is an optional part of the payload that allows additional information to be transmitted in any format determined by the user. This field will be stored into the platform database, but the Everyware Cloud cannot apply any statistical analysis on it.
edcPosition EdcPosition is a data structure to capture a geo location. It can be associated to an EdcPayload to geotag an EdcMessage before sending to the Everyware Cloud. Refer to the description of each of the fields for more information on the model of EdcPosition.
edcMetric EdcMetric represents an instance of a metric published as part of the message. The metric is defined by a name, a type and a value. The name is an alphanumeric string. The type is expressed as a string and can be one of the following values: string, double, int, float, long boolean, base64Binary. The value is the string representation of the corresponding value object. For the primitive types, the conversion is straight forward. Values of type base64Binary represent a metric of type byte array; in this case, the metric value is serialized into a base64 encoded string.
edcMetricValue EdcMetricValue represents an instance of a metric stored in metricsByValue or metricsByTimestamp column families. The metric is defined by a timestamp, a value and the UUID of the message on which the metric was published. The timestamp is a long type. The value is the string representation of the corresponding value object.????? For the primitive types, the conversion is straight forward. Values of type base64Binary represent a metric of type byte array; in this case, the metric value is serialized into a base64 encoded string.
edcMetricsMapType A container for EdcMetric instances organized into a list.
Namespace http://eurotech.com/esf/2.0 (schema)
type description
deviceCommandInput Represents an OS command to be executed remotely on a device.
deviceCommandOutput Represents the result of an OS command executed remotely on a device.
deviceComponentConfiguration Describes the configuration of an OSGi Component. The Component configuration groups all the information related to the configuration of a Component. It provides access to parsed ObjectClassDefintion associated to this Component. The configuration does not reuse the OSGi ObjectClassDefinition as the latter does not provide access to certain aspects such as the required attribute, the min and max values. Instead it returns the raw ObjectClassDefintion as parsed from the MetaType Information XML resource associated to this Component.
deviceConfiguration A container for a list of OSGi component configurations.
xmlConfigPropertiesAdapted A container for XmlConfigPropertyAdapted organized into an array.
xmlConfigPropertyAdapted Represents a typed property. Various flags help in the interpretation and semantics of the property value. For example, a property value might be an array or the property value might have been encrypted.
configPropertyType
xmlBundleInfo
xmlDeploymentPackage
xmlDeploymentPackages