Skip to main content
Matrix42 Self-Service Help Center

Service Bus VIII: Internal Structure of Messages

Intended audience: Developers forced to send/receive messages over the Matrix42 Service Bus to communicate with UUX for SUEM without directly depending on the Matrix42.ServiceBus.Adapter (adapter) or Matrix42.ServiceBus.MessageModel (message model) Nuget packages.

This document does not cover the concepts behind the object types used in UUX like Configuration Items, Data Definitions, Pickups, etc.

The examples given in this document should only be considered as such. For a definitive object structure, consult the schema definitions in UUX and/or the message model source code.

Table of contents

  1. Basic Concepts
  2. Message Header
  3. Message Body
  4. Relations
  5. Multifragments
  6. Additional Examples

Basic Concepts

The message is composed of a header and a body.

Both the message header and body are subject to change with subsequent versions of the message model or adapter. The structures described hereafter are based on Matrix42.ServiceBus.Adapter 4.0.0 (pertaining to headers) and Matrix42.ServiceBus.MessageModel 3.9.0 (pertaining to objects/payload).

Message Header

The header contains some basic required information about the message and some optional properties for future use or debugging purposes.

Required Header Properties

  • Type
    This must be the name of a known Configuration Item (CI) in UUX which must also be implemented as a Canonical Message Item in the message model
  • Operation
    one of:
  • ANNOUNCED
  • DESTROYED

Some consumers may treat the following properties as required, so they should always be included.

  • Sender
    This must be the same as the subscription queue name.
  • TimeStamp
    A time stamp as UTC time or local time with time zone offset, following ISO 8601: yyyy-MM-ddTHH:mm:ss.fffZ

Reserved Properties

  • VerifyConnection
    If present, designates a message is only sent to verify a working connection. A message containing this header property should be discarded when received.
  • SenderId
    May be used as a more unique identifier than Sender.
  • From (optional)
    May be the same as Sender or some other identification. Could serve as a routing key in the future.
  • To (optional)
    Intended receiver. Should ideally also be the name of a subscription queue. Could serve as a routing key in the future
  • UserName (optional)
    A user name under which an executing process is running when sending a message.
  • HostName (optional)
    An FQDN of the host the message is being sent from.
  • ClientRuntime (optional)
    Version information about the runtime sending the message.

The header may also contain additional properties not defined here (check the current adapter implementation before).

Header Example

Property Value
Type UEMObjectStatusInfoType
Operation ANNOUNCED
TimeStamp 2020-10-02T01:59:36.710Z
Sender empirum.n1
UserName SYSTEM
HostName jup-ref-n0.qa.matrix42.de
ClientRuntime Matrix42.ServiceBus.Adapter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=db9f238c7d2c269d

Message Body

The body is a JSON-Array of objects. These objects must follow the schema of the type specified in the header.

An example of a single UEMAgentType object:

[ // array of UEMAgentType objects
  { // UEMAgentType object
    "UEMAgentClassBase": {
      "Information": "RTEMP.ImagoVerum.com (smb)",
      "LastVersionChange": "2020-10-02T00:00:07+02:00",
      "Version": "2006.4",
      "RelationReferences": {
        "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.RelationReference, Matrix42.ServiceBus.MessageModel]], System.Core",
        "$values": [
          {
            "RelationName": "Computer",
            "ReferenceId": "5d545c91-2139-40e7-aa12-2be52f64c279",
            "UsedInType": "SPSComputerType"
          }
        ]
      }
    },
    "AttachedReferences": {
      "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.AttachedReference, Matrix42.ServiceBus.MessageModel]], System.Core",
      "$values": [
        {
          "ID": "5d545c91-2139-40e7-aa12-2be52f64c279",
          "RelationName": "Computer",
          "TypeName": "SPSComputerClassBase",
          "UsedInType": "SPSComputerType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.SPSComputerClassBase, Matrix42.ServiceBus.MessageModel",
                "Name": "RTADMIN02",
                "PrimaryMACAddress": "0050569079FD",
                "SystemSerialNumber": "VMware-42 2f 8d 54 4a db 48 1a-9b 3b fd 74 18 38 76 66",
                "WindowsDomainName": "IMAGOVERUM",
                "ManagedBy": "Empirum",
                "NT4DomainName": "IMAGOVERUM",
                "BIOSGuid": "548d2f42-db4a-1a48-9b3b-fd7418387666",
                "ComputerRole": 1,
                "RelationReferences": {
                  "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.RelationReference, Matrix42.ServiceBus.MessageModel]], System.Core",
                  "$values": [
                    {
                      "RelationName": "T(SPSInventoryClassBase)",
                      "ReferenceId": "d7914929-1ac1-47a4-916d-f023e52c752d",
                      "UsedInType": "SPSComputerType"
                    },
                    {
                      "RelationName": "T(SPSAssetClassBase)",
                      "ReferenceId": "7206782e-98dc-47ee-acb3-d462c6b22142",
                      "UsedInType": "SPSComputerType"
                    },
                    {
                      "RelationName": "T(SPSAssetClassMobile)",
                      "ReferenceId": "48b598b0-488c-4e73-b354-2c469d400a5d",
                      "UsedInType": "SPSComputerType"
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "ID": "d7914929-1ac1-47a4-916d-f023e52c752d",
          "RelationName": "T(SPSInventoryClassBase)",
          "TypeName": "SPSInventoryClassBase",
          "UsedInType": "SPSComputerType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.SPSInventoryClassBase, Matrix42.ServiceBus.MessageModel",
                "LastScanDate": "2020-10-02T00:00:07+02:00",
                "EmpirumClientID": 5025,
                "EmpirumLocation": "Frankfurt"
              }
            ]
          }
        },
        {
          "ID": "7206782e-98dc-47ee-acb3-d462c6b22142",
          "RelationName": "T(SPSAssetClassBase)",
          "TypeName": "SPSAssetClassBase",
          "UsedInType": "SPSComputerType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.SPSAssetClassBase, Matrix42.ServiceBus.MessageModel",
                "SerialNumber": "VMware-42 2f 8d 54 4a db 48 1a-9b 3b fd 74 18 38 76 66",
                "ManagementType": 3
              }
            ]
          }
        },
        {
          "ID": "48b598b0-488c-4e73-b354-2c469d400a5d",
          "RelationName": "T(SPSAssetClassMobile)",
          "TypeName": "SPSAssetClassMobile",
          "UsedInType": "SPSComputerType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.SPSAssetClassMobile, Matrix42.ServiceBus.MessageModel",
                "UUID": "548d2f42-db4a-1a48-9b3b-fd7418387666",
                "LastSeen": "2020-10-02T00:00:07+02:00"
              }
            ]
          }
        }
      ]
    }
  }
]

Lets look into some aspects of this object.

The most important thing to note here is the necessity to provide type information where needed. Clients publishing messages using the adapter will provide type information for all object members that are only required to implement an interface (such as ICollection<T>, which also has the generic type argument T). Most if not all collections will be a HashSet<T> where T is the element type. A HashSet<ItemDataDefinition> for instance will look like this:

{ // generic collection of ItemDataDefinition objects
  "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
  "$values": [
    { // any object inheriting from Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition
      "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.SPSAssetClassMobile, Matrix42.ServiceBus.MessageModel",
      "UUID": "548d2f42-db4a-1a48-9b3b-fd7418387666",
      "LastSeen": "2020-10-02T00:00:07+02:00"
    }
  ]
}

This is an important thing to be aware of when receiving messages.
When only sending messages is required, the above can be shortened by just using a JSON-array, which the adapter knows to deserialize into a primitive .NET-array:

[ // array without any $type information
  { // any object inheriting from Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition
    "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.SPSAssetClassMobile, Matrix42.ServiceBus.MessageModel",
    "UUID": "548d2f42-db4a-1a48-9b3b-fd7418387666",
    "LastSeen": "2020-10-02T00:00:07+02:00"
  }
]

The examples above show a collection with a single object inside. The type information for this object is absolutely necessary and cannot be left out.

The type referred to must be a known type within the context of a receiver using the adapter. When receiving a message with an unknown type, the message is discarded. The allowed types are also restricted to generic collections and types defined in the message model to prevent unwanted instantiation of unsafe objects.

Relations

Relations are a complex topic and can only be covered at a very basic level.

The current implementation in the message model projects relations as defined in UUX into two collections:

  • RelationReferences
  • AttachedReferences

Each ItemDataDefinition may have relations to another ItemDataDefinition (of another CI). In the example above the UEMAgentType configuration item (CI) has a relation to SPSComputerType through their data definitions (DD) UEMAgentClassBase and SPSComputerClassBase, respectively. In turn, SPSComputerClassBase may have further relations to other DDs of other CIs. Here is a shortened example, with commented-out properties not directly involved with relations:

{ // UEMAgentType object
  "UEMAgentClassBase": {
    // "Information": "RTEMP.ImagoVerum.com (smb)",
    // "LastVersionChange": "2020-10-02T00:00:07+02:00",
    // "Version": "2006.4",
    "RelationReferences": {
      "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.RelationReference, Matrix42.ServiceBus.MessageModel]], System.Core",
      "$values": [
        {
          "RelationName": "Computer",
          "ReferenceId": "5d545c91-2139-40e7-aa12-2be52f64c279", // GUID referencing a single AttachedReference in the AttachedReferences collection
          "UsedInType": "SPSComputerType"
        }
      ]
    }
  },
  "AttachedReferences": {
    "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.AttachedReference, Matrix42.ServiceBus.MessageModel]], System.Core",
    "$values": [
      {
        "ID": "5d545c91-2139-40e7-aa12-2be52f64c279", // GUID referred to by one or more RelationReferences
        "RelationName": "Computer",
        "TypeName": "SPSComputerClassBase",
        "UsedInType": "SPSComputerType",
        "ReferencedObjects": {
          "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
          "$values": [
            {
              "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.SPSComputerClassBase, Matrix42.ServiceBus.MessageModel",
              // "Name": "RTADMIN02",
              // "PrimaryMACAddress": "0050569079FD",
              // "SystemSerialNumber": "VMware-42 2f 8d 54 4a db 48 1a-9b 3b fd 74 18 38 76 66",
              // "WindowsDomainName": "IMAGOVERUM",
              // "ManagedBy": "Empirum",
              // "NT4DomainName": "IMAGOVERUM",
              // "BIOSGuid": "548d2f42-db4a-1a48-9b3b-fd7418387666",
              // "ComputerRole": 1,
              "RelationReferences": {
                // further nested relations referencing additional attached references
              }
            }
          ]
        }
      },
      {
        // additional attached references
      }
    ]
  }
}

The commented-out properties would serve as matching criteria to identify the related objects. In some cases these properties are not sufficient and further nested relations are needed.

In addition to RelationReferences an object can also have DestroyedRelationReferences. Using the example above there is only one key difference:

{ // UEMAgentType object
  "UEMAgentClassBase": {
    "DestroyedRelationReferences": { // these relations have been deleted
      // ...
    }
  },
  "AttachedReferences": {
    // ...
  }
}

Multifragments

Some data definitions (DDs) have properties containing a collection of objects, such as a computer having multiple network adapters or hard disks, etc.

The Mode of the multifragment can be one of:

  • MultiFragmentMode.Target = 1
  • MultiFragmentMode.Difference = 2

For the following examples, lets assume we have a computer with drives 'A', 'B' and 'C' already in all databases. Now drive 'C' gets replaced with a drive 'D' and this change needs to be sent.

This is what a multifragment in target mode looks like (simplified):

{ // SPSComputerType
  // ...
  "SPSComputerClassHardDisk": {
    "Mode": 1, // MultiFragmentMode.Target
    "Announced": [
      {
        "DeviceID": "A"
      },
      {
        "DeviceID": "B"
      },
      {
        "DeviceID": "D"
      }
    ]
  }
}

And here in difference mode:

{ // SPSComputerType
  // ...
  "SPSComputerClassHardDisk": {
    "Mode": 2, // MultiFragmentMode.Difference
    "Announced": [
      {
        "DeviceID": "D"
      }
    ],
    "Destroyed": [
      {
        "DeviceID": "C"
      }
    ]
  }
}

Examples

UEMObjectStatusInfoType

Header:

  • ClientRuntime: Matrix42.ServiceBus.Adapter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=db9f238c7d2c269d
  • HostName: jup-ref-n0.qa.matrix42.de
  • Operation: ANNOUNCED
  • Sender: empirum.n1
  • TimeStamp: 2020-10-02T01:59:36.710Z
  • Type: UEMObjectStatusInfoType
  • UserName: SYSTEM

Body:

[
  {
    "UEMObjectStatusInfoClassBase": {
      "LastChanged": "2020-10-02T03:59:10+02:00",
      "Message": "",
      "InstallationStatus": 1,
      "InstallationResult": 1,
      "RelationReferences": {
        "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.RelationReference, Matrix42.ServiceBus.MessageModel]], System.Core",
        "$values": [
          {
            "RelationName": "UEMObject",
            "ReferenceId": "0a67358e-f4d3-41c2-b205-6c29bb2b916e",
            "UsedInType": "UEMSoftwarePackageType"
          },
          {
            "RelationName": "SPSComputer",
            "ReferenceId": "f6bd9b20-0cc4-4eba-915e-de1fb0dddb96",
            "UsedInType": "SPSComputerType"
          }
        ]
      }
    },
    "AttachedReferences": {
      "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.AttachedReference, Matrix42.ServiceBus.MessageModel]], System.Core",
      "$values": [
        {
          "ID": "0a67358e-f4d3-41c2-b205-6c29bb2b916e",
          "RelationName": "UEMObject",
          "TypeName": "UEMObjectClassBase",
          "UsedInType": "UEMSoftwarePackageType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.UEMObjectClassBase, Matrix42.ServiceBus.MessageModel",
                "Name": "Matrix42 Management Console 20.0",
                "UEMObjectID": "56b9aeba-8c0a-4000-97f8-63413d792f85",
                "RelationReferences": {
                  "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.RelationReference, Matrix42.ServiceBus.MessageModel]], System.Core",
                  "$values": [
                    {
                      "RelationName": "T(UEMSoftwarePackageClassBase)",
                      "ReferenceId": "bb061611-8f48-4dfb-bf51-67a60a475b14",
                      "UsedInType": "UEMSoftwarePackageType"
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "ID": "bb061611-8f48-4dfb-bf51-67a60a475b14",
          "RelationName": "T(UEMSoftwarePackageClassBase)",
          "TypeName": "UEMSoftwarePackageClassBase",
          "UsedInType": "UEMSoftwarePackageType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.UEMSoftwarePackageClassBase, Matrix42.ServiceBus.MessageModel"
              }
            ]
          }
        },
        {
          "ID": "f6bd9b20-0cc4-4eba-915e-de1fb0dddb96",
          "RelationName": "SPSComputer",
          "TypeName": "SPSComputerClassBase",
          "UsedInType": "SPSComputerType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.SPSComputerClassBase, Matrix42.ServiceBus.MessageModel",
                "Name": "JUP-REF-N3",
                "PrimaryMACAddress": "005056AF758B",
                "WindowsDomainName": "QA",
                "NT4DomainName": "QA",
                "BIOSGuid": "59692f42-f5e3-ff1c-030b-64bc48268c8d",
                "RelationReferences": {
                  "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.RelationReference, Matrix42.ServiceBus.MessageModel]], System.Core",
                  "$values": [
                    {
                      "RelationName": "T(SPSInventoryClassBase)",
                      "ReferenceId": "7cbde91b-9f47-4e78-8af2-db468b6e11dd",
                      "UsedInType": "SPSComputerType"
                    },
                    {
                      "RelationName": "T(SPSAssetClassMobile)",
                      "ReferenceId": "a82b1a73-ae9f-4e0d-9e36-87cb65543e4b",
                      "UsedInType": "SPSComputerType"
                    }
                  ]
                }
              }
            ]
          }
        },
        {
          "ID": "7cbde91b-9f47-4e78-8af2-db468b6e11dd",
          "RelationName": "T(SPSInventoryClassBase)",
          "TypeName": "SPSInventoryClassBase",
          "UsedInType": "SPSComputerType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.SPSInventoryClassBase, Matrix42.ServiceBus.MessageModel",
                "EmpirumClientID": 8,
                "EmpirumLocation": "Frankfurt"
              }
            ]
          }
        },
        {
          "ID": "a82b1a73-ae9f-4e0d-9e36-87cb65543e4b",
          "RelationName": "T(SPSAssetClassMobile)",
          "TypeName": "SPSAssetClassMobile",
          "UsedInType": "SPSComputerType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.SPSAssetClassMobile, Matrix42.ServiceBus.MessageModel",
                "UUID": "59692f42-f5e3-ff1c-030b-64bc48268c8d"
              }
            ]
          }
        }
      ]
    }
  }
]

SPSComputerType

Header (sent from a docker container):

  • ClientRuntime: Matrix42.ServiceBus.Adapter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=db9f238c7d2c269d
  • HostName: 7e910326188e
  • Operation: ANNOUNCED
  • Sender: empirum.u1
  • TimeStamp: 2020-10-02T01:42:50.254Z
  • Type: SPSComputerType
  • UserName: ContainerAdministrator

Body:

[
  {
    "SPSComputerClassProcessor": {
      "Mode": 1
    },
    "SPSAssetClassMobile": {
      "UUID": "7e4c1042-b4ab-3a17-ce49-61156baed476"
    },
    "SPSComputerClassApplicationProvider": {},
    "SPSCommonClassLdap": {},
    "SPSInventoryClassBase": {
      "EmpirumClientID": 1,
      "EmpirumLocation": "Frankfurt"
    },
    "SPSComputerClassGraphicCard": {
      "Mode": 1
    },
    "SPSTargetingClassTarget": {},
    "SPSComputerClassBase": {
      "Name": "JUP-REF-U0",
      "PrimaryMACAddress": "005056907CB2",
      "WindowsDomainName": "QA",
      "ManagedBy": "Empirum",
      "NT4DomainName": "QA",
      "BIOSGuid": "7e4c1042-b4ab-3a17-ce49-61156baed476"
    },
    "SPSAssetClassBase": {
      "Name": "JUP-REF-U0",
      "ManagementType": 3
    },
    "SPSComputerClassHardDisk": {
      "Mode": 1
    },
    "SPSComputerClassOS": {},
    "SPSComputerClassNetworkCard": {
      "Mode": 1
    },
    "SPSComputerClassMemoryModule": {
      "Mode": 1
    },
    "SPSInventoryClassApplication": {
      "Mode": 1
    },
    "SPSAssetClassOrder": {},
    "SPSComputerClassLogon": {
      "Mode": 1
    },
    "SPSComputerClassAD": {},
    "LCMDemandEntityClassBase": {},
    "SPSCommonClassBase": {}
  }
]

UEMPatchManagementGroupType

Header:

  • ClientRuntime: Matrix42.ServiceBus.Adapter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=db9f238c7d2c269d
  • HostName: 7e910326188e
  • Operation: ANNOUNCED
  • Sender: empirum.u1
  • SenderId: DEADBEEF-DEAD-BEEF-DEAD-DEADBEEFDEAD
  • TimeStamp: 2020-10-02T01:43:44.217Z
  • Type: UEMPatchManagementGroupType
  • UserName: ContainerAdministrator

Body:

[
  {
    "UEMObjectClassBase": {
      "Name": "ALL_PATCHES",
      "ManagedBy": 1,
      "UEMObjectType": 4,
      "UEMObjectID": "1"
    },
    "UEMPatchManagementGroupClassBase": {
      "Category": 1,
      "ExcludeApprovedPatches": false,
      "TestScheduledTimeOfDay": "2020-10-01T22:00:00Z",
      "RelationReferences": {
        "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.RelationReference, Matrix42.ServiceBus.MessageModel]], System.Core",
        "$values": [
          {
            "RelationName": "EmpirumLocation",
            "ReferenceId": "68b283f7-f637-4d57-80c8-be1b6f4ffca1",
            "UsedInType": "SPSConnectorTypeEmpirum"
          }
        ]
      }
    },
    "AttachedReferences": {
      "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.AttachedReference, Matrix42.ServiceBus.MessageModel]], System.Core",
      "$values": [
        {
          "ID": "68b283f7-f637-4d57-80c8-be1b6f4ffca1",
          "RelationName": "EmpirumLocation",
          "TypeName": "SPSConnectorClassEmpirumLocation",
          "UsedInType": "SPSConnectorTypeEmpirum",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.SPSConnectorClassEmpirumLocation, Matrix42.ServiceBus.MessageModel",
                "Name": "Frankfurt",
                "UseServiceUserToCompleteInventory": 1
              }
            ]
          }
        }
      ]
    }
  }
]

UEMSoftwarePackageType

Header:

  • ClientRuntime: Matrix42.ServiceBus.Adapter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=db9f238c7d2c269d
  • HostName: 7e910326188e
  • Operation: ANNOUNCED
  • Sender: empirum.u1
  • SenderId: DEADBEEF-DEAD-BEEF-DEAD-DEADBEEFDEAD
  • TimeStamp: 2020-10-02T01:51:43.911Z
  • Type: UEMSoftwarePackageType
  • UserName: ContainerAdministrator

Body:

[
  {
    "UEMObjectClassBase": {
      "Name": "Matrix42 UEM Agent Windows 1906.1",
      "ManagedBy": 1,
      "UEMObjectType": 1,
      "Description": "Matrix42 UEM Agent Windows",
      "Revision": "0",
      "Version": "1906.1",
      "Status": 5,
      "UEMObjectID": "19061a73-cdc0-4256-87a2-092fafe936b4",
      "RelationReferences": {
        "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.RelationReference, Matrix42.ServiceBus.MessageModel]], System.Core",
        "$values": [
          {
            "RelationName": "UEMDeviceOSes",
            "ReferenceId": "b2519abb-834a-4e73-9fb7-627a90de6c50",
            "UsedInType": "UEMDeviceOSType"
          },
          {
            "RelationName": "UEMDeviceOSes",
            "ReferenceId": "d09b1d5f-73a9-401d-884e-4a9e00622eb5",
            "UsedInType": "UEMDeviceOSType"
          },
          {
            "RelationName": "UEMDeviceOSes",
            "ReferenceId": "44c8efe2-aced-4a68-9374-fc5b50d0ecaf",
            "UsedInType": "UEMDeviceOSType"
          },
          {
            "RelationName": "UEMDeviceOSes",
            "ReferenceId": "471b135e-0245-478b-818c-38d8cba5fefc",
            "UsedInType": "UEMDeviceOSType"
          },
          {
            "RelationName": "UEMDeviceOSes",
            "ReferenceId": "9153c02f-7f90-403b-9513-8c75469dff52",
            "UsedInType": "UEMDeviceOSType"
          },
          {
            "RelationName": "UEMDeviceOSes",
            "ReferenceId": "b25d5cbe-74f2-45ad-a49f-b8cd3ac1d888",
            "UsedInType": "UEMDeviceOSType"
          },
          {
            "RelationName": "UEMDeviceOSes",
            "ReferenceId": "6e089567-9d6e-4de1-84f1-750927fc77cd",
            "UsedInType": "UEMDeviceOSType"
          },
          {
            "RelationName": "UEMComputerArchitectures",
            "ReferenceId": "5a5771e2-0f55-43b6-8e70-03c75bc17acc",
            "UsedInType": "UEMComputerArchitectureType"
          },
          {
            "RelationName": "UEMComputerArchitectures",
            "ReferenceId": "0d2ffe7e-56d4-434b-af45-c0d85af2ef5e",
            "UsedInType": "UEMComputerArchitectureType"
          }
        ]
      }
    },
    "UEMSoftwarePackageClassBase": {
      "AllowUnistallation": false,
      "CheckFile": "%Packages%\\Matrix42\\UEM Agent Windows\\1906.1\\Install\\Setup.inf",
      "Discontinue": false,
      "Distribution": false,
      "Duration": 3,
      "Key": "Matrix42\\UEM Agent Windows",
      "ProductFile": "",
      "Script": "%Packages%\\Matrix42\\UEM Agent Windows\\1906.1\\Install\\Setup.inf"
    },
    "SPSCommonClassBase": {},
    "UEMSoftwarePackageInfoClass": {
      "CreationDate": "2017-06-13T00:00:00+02:00",
      "Author": "Matrix42",
      "InventoryID": "",
      "LastChange": "2017-06-13T00:00:00+02:00",
      "Dependencies": "",
      "CommandLine": "\"%Setup%\" %SetupParms% \"%Script%\" /S1",
      "Method": "Scripted",
      "TestedOS": "See System Requirements"
    },
    "AttachedReferences": {
      "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.AttachedReference, Matrix42.ServiceBus.MessageModel]], System.Core",
      "$values": [
        {
          "ID": "b2519abb-834a-4e73-9fb7-627a90de6c50",
          "RelationName": "UEMDeviceOSes",
          "TypeName": "UEMDeviceOSClass",
          "UsedInType": "UEMDeviceOSType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.UEMDeviceOSClass, Matrix42.ServiceBus.MessageModel",
                "Name": "Windows 7",
                "OSFamily": 1
              }
            ]
          }
        },
        {
          "ID": "d09b1d5f-73a9-401d-884e-4a9e00622eb5",
          "RelationName": "UEMDeviceOSes",
          "TypeName": "UEMDeviceOSClass",
          "UsedInType": "UEMDeviceOSType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.UEMDeviceOSClass, Matrix42.ServiceBus.MessageModel",
                "Name": "Windows 8.x",
                "OSFamily": 1
              }
            ]
          }
        },
        {
          "ID": "44c8efe2-aced-4a68-9374-fc5b50d0ecaf",
          "RelationName": "UEMDeviceOSes",
          "TypeName": "UEMDeviceOSClass",
          "UsedInType": "UEMDeviceOSType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.UEMDeviceOSClass, Matrix42.ServiceBus.MessageModel",
                "Name": "Windows 10",
                "OSFamily": 1
              }
            ]
          }
        },
        {
          "ID": "471b135e-0245-478b-818c-38d8cba5fefc",
          "RelationName": "UEMDeviceOSes",
          "TypeName": "UEMDeviceOSClass",
          "UsedInType": "UEMDeviceOSType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.UEMDeviceOSClass, Matrix42.ServiceBus.MessageModel",
                "Name": "Windows Server 2008 R2",
                "OSFamily": 1
              }
            ]
          }
        },
        {
          "ID": "9153c02f-7f90-403b-9513-8c75469dff52",
          "RelationName": "UEMDeviceOSes",
          "TypeName": "UEMDeviceOSClass",
          "UsedInType": "UEMDeviceOSType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.UEMDeviceOSClass, Matrix42.ServiceBus.MessageModel",
                "Name": "Windows Server 2012/R2",
                "OSFamily": 1
              }
            ]
          }
        },
        {
          "ID": "b25d5cbe-74f2-45ad-a49f-b8cd3ac1d888",
          "RelationName": "UEMDeviceOSes",
          "TypeName": "UEMDeviceOSClass",
          "UsedInType": "UEMDeviceOSType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.UEMDeviceOSClass, Matrix42.ServiceBus.MessageModel",
                "Name": "Windows Server 2016",
                "OSFamily": 1
              }
            ]
          }
        },
        {
          "ID": "6e089567-9d6e-4de1-84f1-750927fc77cd",
          "RelationName": "UEMDeviceOSes",
          "TypeName": "UEMDeviceOSClass",
          "UsedInType": "UEMDeviceOSType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.UEMDeviceOSClass, Matrix42.ServiceBus.MessageModel",
                "Name": "Windows Server 2019",
                "OSFamily": 1
              }
            ]
          }
        },
        {
          "ID": "5a5771e2-0f55-43b6-8e70-03c75bc17acc",
          "RelationName": "UEMComputerArchitectures",
          "TypeName": "UEMComputerArchitectureClass",
          "UsedInType": "UEMComputerArchitectureType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.UEMComputerArchitectureClass, Matrix42.ServiceBus.MessageModel",
                "Name": "x86"
              }
            ]
          }
        },
        {
          "ID": "0d2ffe7e-56d4-434b-af45-c0d85af2ef5e",
          "RelationName": "UEMComputerArchitectures",
          "TypeName": "UEMComputerArchitectureClass",
          "UsedInType": "UEMComputerArchitectureType",
          "ReferencedObjects": {
            "$type": "System.Collections.Generic.HashSet`1[[Matrix42.ServiceBus.MessageModel.Contracts.ItemDataDefinition, Matrix42.ServiceBus.MessageModel]], System.Core",
            "$values": [
              {
                "$type": "Matrix42.ServiceBus.MessageModel.Models.DataDefinitions.UEMComputerArchitectureClass, Matrix42.ServiceBus.MessageModel",
                "Name": "x64"
              }
            ]
          }
        }
      ]
    }
  }
]
  • Was this article helpful?