/// <summary>
 /// Initializes a new instance of the <see cref="DeviceLifecycleEvent" /> class.
 /// </summary>
 /// <param name="lifecycle">lifecycle.</param>
 /// <param name="eventId">The id of the event..</param>
 /// <param name="locationId">The id of the location in which the event was triggered..</param>
 /// <param name="deviceId">The id of the device..</param>
 /// <param name="deviceName">The name of the device.</param>
 /// <param name="principal">The principal that made the change.</param>
 /// <param name="create">Create device lifecycle. .</param>
 /// <param name="delete">Delete device lifecycle. .</param>
 /// <param name="update">Update device lifecycle. .</param>
 /// <param name="moveFrom">moveFrom.</param>
 /// <param name="moveTo">moveTo.</param>
 public DeviceLifecycleEvent(DeviceLifecycle?lifecycle = default(DeviceLifecycle?), string eventId = default(string), string locationId = default(string), string deviceId = default(string), string deviceName = default(string), string principal = default(string), Object create = default(Object), Object delete = default(Object), Object update = default(Object), DeviceLifecycleMove moveFrom = default(DeviceLifecycleMove), DeviceLifecycleMove moveTo = default(DeviceLifecycleMove))
 {
     this.Lifecycle  = lifecycle;
     this.EventId    = eventId;
     this.LocationId = locationId;
     this.DeviceId   = deviceId;
     this.DeviceName = deviceName;
     this.Principal  = principal;
     this.Create     = create;
     this.Delete     = delete;
     this.Update     = update;
     this.MoveFrom   = moveFrom;
     this.MoveTo     = moveTo;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DeviceLifecycleEvent" /> class.
 /// </summary>
 /// <param name="lifecycle">lifecycle.</param>
 /// <param name="eventId">The id of the event..</param>
 /// <param name="locationId">The id of the location in which the event was triggered.  This field is not used or populated for user-level events.  Location id may also be sent in &#x60;ownerId&#x60; with &#x60;ownerType&#x60; &#x3D; &#x60;LOCATION&#x60;. .</param>
 /// <param name="ownerId">ID for what owns the device lifecyle event. Works in tandem with &#x60;ownerType&#x60; as a composite identifier..</param>
 /// <param name="ownerType">ownerType.</param>
 /// <param name="deviceId">The id of the device..</param>
 /// <param name="deviceName">The name of the device.</param>
 /// <param name="principal">The principal that made the change.</param>
 /// <param name="create">create.</param>
 /// <param name="delete">Delete device lifecycle. .</param>
 /// <param name="update">update.</param>
 /// <param name="moveFrom">moveFrom.</param>
 /// <param name="moveTo">moveTo.</param>
 /// <param name="roomMove">roomMove.</param>
 public DeviceLifecycleEvent(DeviceLifecycle?lifecycle = default(DeviceLifecycle?), string eventId = default(string), string locationId = default(string), string ownerId = default(string), EventOwnerType?ownerType = default(EventOwnerType?), string deviceId = default(string), string deviceName = default(string), string principal = default(string), DeviceLifecycleCreate create = default(DeviceLifecycleCreate), Object delete = default(Object), DeviceLifecycleUpdate update = default(DeviceLifecycleUpdate), DeviceLifecycleMove moveFrom = default(DeviceLifecycleMove), DeviceLifecycleMove moveTo = default(DeviceLifecycleMove), DeviceLifecycleRoomMove roomMove = default(DeviceLifecycleRoomMove))
 {
     this.Lifecycle  = lifecycle;
     this.EventId    = eventId;
     this.LocationId = locationId;
     this.OwnerId    = ownerId;
     this.OwnerType  = ownerType;
     this.DeviceId   = deviceId;
     this.DeviceName = deviceName;
     this.Principal  = principal;
     this.Create     = create;
     this.Delete     = delete;
     this.Update     = update;
     this.MoveFrom   = moveFrom;
     this.MoveTo     = moveTo;
     this.RoomMove   = roomMove;
 }