// Code generated by Microsoft Kiota - DO NOT EDIT.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

package models

import (
    i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
    ie8677ce2c7e1b4c22e9c3827ecd078d41185424dd9eeb92b7d971ed2d49a392e "github.com/microsoft/kiota-abstractions-go/store"
)

type DeviceInfo struct {
    // Stores model information.
    backingStore ie8677ce2c7e1b4c22e9c3827ecd078d41185424dd9eeb92b7d971ed2d49a392e.BackingStore
}
// NewDeviceInfo instantiates a new DeviceInfo and sets the default values.
func NewDeviceInfo()(*DeviceInfo) {
    m := &DeviceInfo{
    }
    m.backingStore = ie8677ce2c7e1b4c22e9c3827ecd078d41185424dd9eeb92b7d971ed2d49a392e.BackingStoreFactoryInstance();
    m.SetAdditionalData(make(map[string]any))
    return m
}
// CreateDeviceInfoFromDiscriminatorValue creates a new instance of the appropriate class based on discriminator value
// returns a Parsable when successful
func CreateDeviceInfoFromDiscriminatorValue(parseNode i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable, error) {
    return NewDeviceInfo(), nil
}
// GetAdditionalData gets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
// returns a map[string]any when successful
func (m *DeviceInfo) GetAdditionalData()(map[string]any) {
    val , err :=  m.backingStore.Get("additionalData")
    if err != nil {
        panic(err)
    }
    if val == nil {
        var value = make(map[string]any);
        m.SetAdditionalData(value);
    }
    return val.(map[string]any)
}
// GetBackingStore gets the BackingStore property value. Stores model information.
// returns a BackingStore when successful
func (m *DeviceInfo) GetBackingStore()(ie8677ce2c7e1b4c22e9c3827ecd078d41185424dd9eeb92b7d971ed2d49a392e.BackingStore) {
    return m.backingStore
}
// GetDeviceId gets the deviceId property value. Unique identifier set by Azure Device Registration Service at the time of registration.
// returns a *string when successful
func (m *DeviceInfo) GetDeviceId()(*string) {
    val, err := m.GetBackingStore().Get("deviceId")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetDisplayName gets the displayName property value. The display name for the device.
// returns a *string when successful
func (m *DeviceInfo) GetDisplayName()(*string) {
    val, err := m.GetBackingStore().Get("displayName")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetEnrollmentProfileName gets the enrollmentProfileName property value. Enrollment profile applied to the device.
// returns a *string when successful
func (m *DeviceInfo) GetEnrollmentProfileName()(*string) {
    val, err := m.GetBackingStore().Get("enrollmentProfileName")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetExtensionAttribute1 gets the extensionAttribute1 property value. Extension attribute.
// returns a *string when successful
func (m *DeviceInfo) GetExtensionAttribute1()(*string) {
    val, err := m.GetBackingStore().Get("extensionAttribute1")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetExtensionAttribute10 gets the extensionAttribute10 property value. Extension attribute.
// returns a *string when successful
func (m *DeviceInfo) GetExtensionAttribute10()(*string) {
    val, err := m.GetBackingStore().Get("extensionAttribute10")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetExtensionAttribute11 gets the extensionAttribute11 property value. Extension attribute.
// returns a *string when successful
func (m *DeviceInfo) GetExtensionAttribute11()(*string) {
    val, err := m.GetBackingStore().Get("extensionAttribute11")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetExtensionAttribute12 gets the extensionAttribute12 property value. Extension attribute.
// returns a *string when successful
func (m *DeviceInfo) GetExtensionAttribute12()(*string) {
    val, err := m.GetBackingStore().Get("extensionAttribute12")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetExtensionAttribute13 gets the extensionAttribute13 property value. Extension attribute.
// returns a *string when successful
func (m *DeviceInfo) GetExtensionAttribute13()(*string) {
    val, err := m.GetBackingStore().Get("extensionAttribute13")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetExtensionAttribute14 gets the extensionAttribute14 property value. Extension attribute.
// returns a *string when successful
func (m *DeviceInfo) GetExtensionAttribute14()(*string) {
    val, err := m.GetBackingStore().Get("extensionAttribute14")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetExtensionAttribute15 gets the extensionAttribute15 property value. Extension attribute.
// returns a *string when successful
func (m *DeviceInfo) GetExtensionAttribute15()(*string) {
    val, err := m.GetBackingStore().Get("extensionAttribute15")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetExtensionAttribute2 gets the extensionAttribute2 property value. Extension attribute.
// returns a *string when successful
func (m *DeviceInfo) GetExtensionAttribute2()(*string) {
    val, err := m.GetBackingStore().Get("extensionAttribute2")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetExtensionAttribute3 gets the extensionAttribute3 property value. Extension attribute.
// returns a *string when successful
func (m *DeviceInfo) GetExtensionAttribute3()(*string) {
    val, err := m.GetBackingStore().Get("extensionAttribute3")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetExtensionAttribute4 gets the extensionAttribute4 property value. Extension attribute.
// returns a *string when successful
func (m *DeviceInfo) GetExtensionAttribute4()(*string) {
    val, err := m.GetBackingStore().Get("extensionAttribute4")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetExtensionAttribute5 gets the extensionAttribute5 property value. Extension attribute.
// returns a *string when successful
func (m *DeviceInfo) GetExtensionAttribute5()(*string) {
    val, err := m.GetBackingStore().Get("extensionAttribute5")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetExtensionAttribute6 gets the extensionAttribute6 property value. Extension attribute.
// returns a *string when successful
func (m *DeviceInfo) GetExtensionAttribute6()(*string) {
    val, err := m.GetBackingStore().Get("extensionAttribute6")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetExtensionAttribute7 gets the extensionAttribute7 property value. Extension attribute.
// returns a *string when successful
func (m *DeviceInfo) GetExtensionAttribute7()(*string) {
    val, err := m.GetBackingStore().Get("extensionAttribute7")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetExtensionAttribute8 gets the extensionAttribute8 property value. Extension attribute.
// returns a *string when successful
func (m *DeviceInfo) GetExtensionAttribute8()(*string) {
    val, err := m.GetBackingStore().Get("extensionAttribute8")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetExtensionAttribute9 gets the extensionAttribute9 property value. Extension attribute.
// returns a *string when successful
func (m *DeviceInfo) GetExtensionAttribute9()(*string) {
    val, err := m.GetBackingStore().Get("extensionAttribute9")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetFieldDeserializers the deserialization information for the current model
// returns a map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(error) when successful
func (m *DeviceInfo) GetFieldDeserializers()(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(error)) {
    res := make(map[string]func(i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode)(error))
    res["deviceId"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetDeviceId(val)
        }
        return nil
    }
    res["displayName"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetDisplayName(val)
        }
        return nil
    }
    res["enrollmentProfileName"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetEnrollmentProfileName(val)
        }
        return nil
    }
    res["extensionAttribute1"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetExtensionAttribute1(val)
        }
        return nil
    }
    res["extensionAttribute10"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetExtensionAttribute10(val)
        }
        return nil
    }
    res["extensionAttribute11"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetExtensionAttribute11(val)
        }
        return nil
    }
    res["extensionAttribute12"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetExtensionAttribute12(val)
        }
        return nil
    }
    res["extensionAttribute13"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetExtensionAttribute13(val)
        }
        return nil
    }
    res["extensionAttribute14"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetExtensionAttribute14(val)
        }
        return nil
    }
    res["extensionAttribute15"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetExtensionAttribute15(val)
        }
        return nil
    }
    res["extensionAttribute2"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetExtensionAttribute2(val)
        }
        return nil
    }
    res["extensionAttribute3"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetExtensionAttribute3(val)
        }
        return nil
    }
    res["extensionAttribute4"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetExtensionAttribute4(val)
        }
        return nil
    }
    res["extensionAttribute5"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetExtensionAttribute5(val)
        }
        return nil
    }
    res["extensionAttribute6"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetExtensionAttribute6(val)
        }
        return nil
    }
    res["extensionAttribute7"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetExtensionAttribute7(val)
        }
        return nil
    }
    res["extensionAttribute8"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetExtensionAttribute8(val)
        }
        return nil
    }
    res["extensionAttribute9"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetExtensionAttribute9(val)
        }
        return nil
    }
    res["isCompliant"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetBoolValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetIsCompliant(val)
        }
        return nil
    }
    res["manufacturer"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetManufacturer(val)
        }
        return nil
    }
    res["mdmAppId"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetMdmAppId(val)
        }
        return nil
    }
    res["model"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetModel(val)
        }
        return nil
    }
    res["@odata.type"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetOdataType(val)
        }
        return nil
    }
    res["operatingSystem"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetOperatingSystem(val)
        }
        return nil
    }
    res["operatingSystemVersion"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetOperatingSystemVersion(val)
        }
        return nil
    }
    res["ownership"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetOwnership(val)
        }
        return nil
    }
    res["physicalIds"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetCollectionOfPrimitiveValues("string")
        if err != nil {
            return err
        }
        if val != nil {
            res := make([]string, len(val))
            for i, v := range val {
                if v != nil {
                    res[i] = *(v.(*string))
                }
            }
            m.SetPhysicalIds(res)
        }
        return nil
    }
    res["profileType"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetProfileType(val)
        }
        return nil
    }
    res["systemLabels"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetCollectionOfPrimitiveValues("string")
        if err != nil {
            return err
        }
        if val != nil {
            res := make([]string, len(val))
            for i, v := range val {
                if v != nil {
                    res[i] = *(v.(*string))
                }
            }
            m.SetSystemLabels(res)
        }
        return nil
    }
    res["trustType"] = func (n i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNode) error {
        val, err := n.GetStringValue()
        if err != nil {
            return err
        }
        if val != nil {
            m.SetTrustType(val)
        }
        return nil
    }
    return res
}
// GetIsCompliant gets the isCompliant property value. Indicates the device compliance status with Mobile Management Device (MDM) policies. Default is false.
// returns a *bool when successful
func (m *DeviceInfo) GetIsCompliant()(*bool) {
    val, err := m.GetBackingStore().Get("isCompliant")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*bool)
    }
    return nil
}
// GetManufacturer gets the manufacturer property value. Manufacturer of the device.
// returns a *string when successful
func (m *DeviceInfo) GetManufacturer()(*string) {
    val, err := m.GetBackingStore().Get("manufacturer")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetMdmAppId gets the mdmAppId property value. Application identifier used to register device into MDM.
// returns a *string when successful
func (m *DeviceInfo) GetMdmAppId()(*string) {
    val, err := m.GetBackingStore().Get("mdmAppId")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetModel gets the model property value. Model of the device.
// returns a *string when successful
func (m *DeviceInfo) GetModel()(*string) {
    val, err := m.GetBackingStore().Get("model")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetOdataType gets the @odata.type property value. The OdataType property
// returns a *string when successful
func (m *DeviceInfo) GetOdataType()(*string) {
    val, err := m.GetBackingStore().Get("odataType")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetOperatingSystem gets the operatingSystem property value. The type of operating system on the device.
// returns a *string when successful
func (m *DeviceInfo) GetOperatingSystem()(*string) {
    val, err := m.GetBackingStore().Get("operatingSystem")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetOperatingSystemVersion gets the operatingSystemVersion property value. The version of the operating system on the device.
// returns a *string when successful
func (m *DeviceInfo) GetOperatingSystemVersion()(*string) {
    val, err := m.GetBackingStore().Get("operatingSystemVersion")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetOwnership gets the ownership property value. Ownership of the device. This property is set by Intune.
// returns a *string when successful
func (m *DeviceInfo) GetOwnership()(*string) {
    val, err := m.GetBackingStore().Get("ownership")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetPhysicalIds gets the physicalIds property value. A collection of physical identifiers for the device.
// returns a []string when successful
func (m *DeviceInfo) GetPhysicalIds()([]string) {
    val, err := m.GetBackingStore().Get("physicalIds")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.([]string)
    }
    return nil
}
// GetProfileType gets the profileType property value. The profile type of the device.
// returns a *string when successful
func (m *DeviceInfo) GetProfileType()(*string) {
    val, err := m.GetBackingStore().Get("profileType")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// GetSystemLabels gets the systemLabels property value. List of labels applied to the device by the system.
// returns a []string when successful
func (m *DeviceInfo) GetSystemLabels()([]string) {
    val, err := m.GetBackingStore().Get("systemLabels")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.([]string)
    }
    return nil
}
// GetTrustType gets the trustType property value. Type of trust for the joined device.
// returns a *string when successful
func (m *DeviceInfo) GetTrustType()(*string) {
    val, err := m.GetBackingStore().Get("trustType")
    if err != nil {
        panic(err)
    }
    if val != nil {
        return val.(*string)
    }
    return nil
}
// Serialize serializes information the current object
func (m *DeviceInfo) Serialize(writer i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriter)(error) {
    {
        err := writer.WriteStringValue("deviceId", m.GetDeviceId())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("displayName", m.GetDisplayName())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("enrollmentProfileName", m.GetEnrollmentProfileName())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("extensionAttribute1", m.GetExtensionAttribute1())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("extensionAttribute10", m.GetExtensionAttribute10())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("extensionAttribute11", m.GetExtensionAttribute11())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("extensionAttribute12", m.GetExtensionAttribute12())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("extensionAttribute13", m.GetExtensionAttribute13())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("extensionAttribute14", m.GetExtensionAttribute14())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("extensionAttribute15", m.GetExtensionAttribute15())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("extensionAttribute2", m.GetExtensionAttribute2())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("extensionAttribute3", m.GetExtensionAttribute3())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("extensionAttribute4", m.GetExtensionAttribute4())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("extensionAttribute5", m.GetExtensionAttribute5())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("extensionAttribute6", m.GetExtensionAttribute6())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("extensionAttribute7", m.GetExtensionAttribute7())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("extensionAttribute8", m.GetExtensionAttribute8())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("extensionAttribute9", m.GetExtensionAttribute9())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteBoolValue("isCompliant", m.GetIsCompliant())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("manufacturer", m.GetManufacturer())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("mdmAppId", m.GetMdmAppId())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("model", m.GetModel())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("@odata.type", m.GetOdataType())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("operatingSystem", m.GetOperatingSystem())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("operatingSystemVersion", m.GetOperatingSystemVersion())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("ownership", m.GetOwnership())
        if err != nil {
            return err
        }
    }
    if m.GetPhysicalIds() != nil {
        err := writer.WriteCollectionOfStringValues("physicalIds", m.GetPhysicalIds())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("profileType", m.GetProfileType())
        if err != nil {
            return err
        }
    }
    if m.GetSystemLabels() != nil {
        err := writer.WriteCollectionOfStringValues("systemLabels", m.GetSystemLabels())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteStringValue("trustType", m.GetTrustType())
        if err != nil {
            return err
        }
    }
    {
        err := writer.WriteAdditionalData(m.GetAdditionalData())
        if err != nil {
            return err
        }
    }
    return nil
}
// SetAdditionalData sets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
func (m *DeviceInfo) SetAdditionalData(value map[string]any)() {
    err := m.GetBackingStore().Set("additionalData", value)
    if err != nil {
        panic(err)
    }
}
// SetBackingStore sets the BackingStore property value. Stores model information.
func (m *DeviceInfo) SetBackingStore(value ie8677ce2c7e1b4c22e9c3827ecd078d41185424dd9eeb92b7d971ed2d49a392e.BackingStore)() {
    m.backingStore = value
}
// SetDeviceId sets the deviceId property value. Unique identifier set by Azure Device Registration Service at the time of registration.
func (m *DeviceInfo) SetDeviceId(value *string)() {
    err := m.GetBackingStore().Set("deviceId", value)
    if err != nil {
        panic(err)
    }
}
// SetDisplayName sets the displayName property value. The display name for the device.
func (m *DeviceInfo) SetDisplayName(value *string)() {
    err := m.GetBackingStore().Set("displayName", value)
    if err != nil {
        panic(err)
    }
}
// SetEnrollmentProfileName sets the enrollmentProfileName property value. Enrollment profile applied to the device.
func (m *DeviceInfo) SetEnrollmentProfileName(value *string)() {
    err := m.GetBackingStore().Set("enrollmentProfileName", value)
    if err != nil {
        panic(err)
    }
}
// SetExtensionAttribute1 sets the extensionAttribute1 property value. Extension attribute.
func (m *DeviceInfo) SetExtensionAttribute1(value *string)() {
    err := m.GetBackingStore().Set("extensionAttribute1", value)
    if err != nil {
        panic(err)
    }
}
// SetExtensionAttribute10 sets the extensionAttribute10 property value. Extension attribute.
func (m *DeviceInfo) SetExtensionAttribute10(value *string)() {
    err := m.GetBackingStore().Set("extensionAttribute10", value)
    if err != nil {
        panic(err)
    }
}
// SetExtensionAttribute11 sets the extensionAttribute11 property value. Extension attribute.
func (m *DeviceInfo) SetExtensionAttribute11(value *string)() {
    err := m.GetBackingStore().Set("extensionAttribute11", value)
    if err != nil {
        panic(err)
    }
}
// SetExtensionAttribute12 sets the extensionAttribute12 property value. Extension attribute.
func (m *DeviceInfo) SetExtensionAttribute12(value *string)() {
    err := m.GetBackingStore().Set("extensionAttribute12", value)
    if err != nil {
        panic(err)
    }
}
// SetExtensionAttribute13 sets the extensionAttribute13 property value. Extension attribute.
func (m *DeviceInfo) SetExtensionAttribute13(value *string)() {
    err := m.GetBackingStore().Set("extensionAttribute13", value)
    if err != nil {
        panic(err)
    }
}
// SetExtensionAttribute14 sets the extensionAttribute14 property value. Extension attribute.
func (m *DeviceInfo) SetExtensionAttribute14(value *string)() {
    err := m.GetBackingStore().Set("extensionAttribute14", value)
    if err != nil {
        panic(err)
    }
}
// SetExtensionAttribute15 sets the extensionAttribute15 property value. Extension attribute.
func (m *DeviceInfo) SetExtensionAttribute15(value *string)() {
    err := m.GetBackingStore().Set("extensionAttribute15", value)
    if err != nil {
        panic(err)
    }
}
// SetExtensionAttribute2 sets the extensionAttribute2 property value. Extension attribute.
func (m *DeviceInfo) SetExtensionAttribute2(value *string)() {
    err := m.GetBackingStore().Set("extensionAttribute2", value)
    if err != nil {
        panic(err)
    }
}
// SetExtensionAttribute3 sets the extensionAttribute3 property value. Extension attribute.
func (m *DeviceInfo) SetExtensionAttribute3(value *string)() {
    err := m.GetBackingStore().Set("extensionAttribute3", value)
    if err != nil {
        panic(err)
    }
}
// SetExtensionAttribute4 sets the extensionAttribute4 property value. Extension attribute.
func (m *DeviceInfo) SetExtensionAttribute4(value *string)() {
    err := m.GetBackingStore().Set("extensionAttribute4", value)
    if err != nil {
        panic(err)
    }
}
// SetExtensionAttribute5 sets the extensionAttribute5 property value. Extension attribute.
func (m *DeviceInfo) SetExtensionAttribute5(value *string)() {
    err := m.GetBackingStore().Set("extensionAttribute5", value)
    if err != nil {
        panic(err)
    }
}
// SetExtensionAttribute6 sets the extensionAttribute6 property value. Extension attribute.
func (m *DeviceInfo) SetExtensionAttribute6(value *string)() {
    err := m.GetBackingStore().Set("extensionAttribute6", value)
    if err != nil {
        panic(err)
    }
}
// SetExtensionAttribute7 sets the extensionAttribute7 property value. Extension attribute.
func (m *DeviceInfo) SetExtensionAttribute7(value *string)() {
    err := m.GetBackingStore().Set("extensionAttribute7", value)
    if err != nil {
        panic(err)
    }
}
// SetExtensionAttribute8 sets the extensionAttribute8 property value. Extension attribute.
func (m *DeviceInfo) SetExtensionAttribute8(value *string)() {
    err := m.GetBackingStore().Set("extensionAttribute8", value)
    if err != nil {
        panic(err)
    }
}
// SetExtensionAttribute9 sets the extensionAttribute9 property value. Extension attribute.
func (m *DeviceInfo) SetExtensionAttribute9(value *string)() {
    err := m.GetBackingStore().Set("extensionAttribute9", value)
    if err != nil {
        panic(err)
    }
}
// SetIsCompliant sets the isCompliant property value. Indicates the device compliance status with Mobile Management Device (MDM) policies. Default is false.
func (m *DeviceInfo) SetIsCompliant(value *bool)() {
    err := m.GetBackingStore().Set("isCompliant", value)
    if err != nil {
        panic(err)
    }
}
// SetManufacturer sets the manufacturer property value. Manufacturer of the device.
func (m *DeviceInfo) SetManufacturer(value *string)() {
    err := m.GetBackingStore().Set("manufacturer", value)
    if err != nil {
        panic(err)
    }
}
// SetMdmAppId sets the mdmAppId property value. Application identifier used to register device into MDM.
func (m *DeviceInfo) SetMdmAppId(value *string)() {
    err := m.GetBackingStore().Set("mdmAppId", value)
    if err != nil {
        panic(err)
    }
}
// SetModel sets the model property value. Model of the device.
func (m *DeviceInfo) SetModel(value *string)() {
    err := m.GetBackingStore().Set("model", value)
    if err != nil {
        panic(err)
    }
}
// SetOdataType sets the @odata.type property value. The OdataType property
func (m *DeviceInfo) SetOdataType(value *string)() {
    err := m.GetBackingStore().Set("odataType", value)
    if err != nil {
        panic(err)
    }
}
// SetOperatingSystem sets the operatingSystem property value. The type of operating system on the device.
func (m *DeviceInfo) SetOperatingSystem(value *string)() {
    err := m.GetBackingStore().Set("operatingSystem", value)
    if err != nil {
        panic(err)
    }
}
// SetOperatingSystemVersion sets the operatingSystemVersion property value. The version of the operating system on the device.
func (m *DeviceInfo) SetOperatingSystemVersion(value *string)() {
    err := m.GetBackingStore().Set("operatingSystemVersion", value)
    if err != nil {
        panic(err)
    }
}
// SetOwnership sets the ownership property value. Ownership of the device. This property is set by Intune.
func (m *DeviceInfo) SetOwnership(value *string)() {
    err := m.GetBackingStore().Set("ownership", value)
    if err != nil {
        panic(err)
    }
}
// SetPhysicalIds sets the physicalIds property value. A collection of physical identifiers for the device.
func (m *DeviceInfo) SetPhysicalIds(value []string)() {
    err := m.GetBackingStore().Set("physicalIds", value)
    if err != nil {
        panic(err)
    }
}
// SetProfileType sets the profileType property value. The profile type of the device.
func (m *DeviceInfo) SetProfileType(value *string)() {
    err := m.GetBackingStore().Set("profileType", value)
    if err != nil {
        panic(err)
    }
}
// SetSystemLabels sets the systemLabels property value. List of labels applied to the device by the system.
func (m *DeviceInfo) SetSystemLabels(value []string)() {
    err := m.GetBackingStore().Set("systemLabels", value)
    if err != nil {
        panic(err)
    }
}
// SetTrustType sets the trustType property value. Type of trust for the joined device.
func (m *DeviceInfo) SetTrustType(value *string)() {
    err := m.GetBackingStore().Set("trustType", value)
    if err != nil {
        panic(err)
    }
}
type DeviceInfoable interface {
    i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.AdditionalDataHolder
    ie8677ce2c7e1b4c22e9c3827ecd078d41185424dd9eeb92b7d971ed2d49a392e.BackedModel
    i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.Parsable
    GetBackingStore()(ie8677ce2c7e1b4c22e9c3827ecd078d41185424dd9eeb92b7d971ed2d49a392e.BackingStore)
    GetDeviceId()(*string)
    GetDisplayName()(*string)
    GetEnrollmentProfileName()(*string)
    GetExtensionAttribute1()(*string)
    GetExtensionAttribute10()(*string)
    GetExtensionAttribute11()(*string)
    GetExtensionAttribute12()(*string)
    GetExtensionAttribute13()(*string)
    GetExtensionAttribute14()(*string)
    GetExtensionAttribute15()(*string)
    GetExtensionAttribute2()(*string)
    GetExtensionAttribute3()(*string)
    GetExtensionAttribute4()(*string)
    GetExtensionAttribute5()(*string)
    GetExtensionAttribute6()(*string)
    GetExtensionAttribute7()(*string)
    GetExtensionAttribute8()(*string)
    GetExtensionAttribute9()(*string)
    GetIsCompliant()(*bool)
    GetManufacturer()(*string)
    GetMdmAppId()(*string)
    GetModel()(*string)
    GetOdataType()(*string)
    GetOperatingSystem()(*string)
    GetOperatingSystemVersion()(*string)
    GetOwnership()(*string)
    GetPhysicalIds()([]string)
    GetProfileType()(*string)
    GetSystemLabels()([]string)
    GetTrustType()(*string)
    SetBackingStore(value ie8677ce2c7e1b4c22e9c3827ecd078d41185424dd9eeb92b7d971ed2d49a392e.BackingStore)()
    SetDeviceId(value *string)()
    SetDisplayName(value *string)()
    SetEnrollmentProfileName(value *string)()
    SetExtensionAttribute1(value *string)()
    SetExtensionAttribute10(value *string)()
    SetExtensionAttribute11(value *string)()
    SetExtensionAttribute12(value *string)()
    SetExtensionAttribute13(value *string)()
    SetExtensionAttribute14(value *string)()
    SetExtensionAttribute15(value *string)()
    SetExtensionAttribute2(value *string)()
    SetExtensionAttribute3(value *string)()
    SetExtensionAttribute4(value *string)()
    SetExtensionAttribute5(value *string)()
    SetExtensionAttribute6(value *string)()
    SetExtensionAttribute7(value *string)()
    SetExtensionAttribute8(value *string)()
    SetExtensionAttribute9(value *string)()
    SetIsCompliant(value *bool)()
    SetManufacturer(value *string)()
    SetMdmAppId(value *string)()
    SetModel(value *string)()
    SetOdataType(value *string)()
    SetOperatingSystem(value *string)()
    SetOperatingSystemVersion(value *string)()
    SetOwnership(value *string)()
    SetPhysicalIds(value []string)()
    SetProfileType(value *string)()
    SetSystemLabels(value []string)()
    SetTrustType(value *string)()
}
