status

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 7, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package status holds the declarative device management status items generated from Apple's device management schema: 48 schema files and 80 types.

Design

Apple publishes the wire format of the declarative device management status items as YAML in https://github.com/apple/device-management, pinned here as a git submodule. Generating this package from that pinned commit derives the wire types, validation, and support metadata from Apple's schema (decision record 0003). Every type carries plist and json struct tags with Apple's wire keys, a Validate method driven by the schema's constraints, and support metadata queryable through Support(path) or the schema/support package.

Edit the generator to change this package. admgen verify fails when regeneration would change it or drop an exported name (schema/EXPORTED_IDENTIFIERS.lock). Protocol semantics that Apple documents only in prose live in the hand-written packages that import this one.

References

Index

Constants

View Source
const (
	// ReasonErrorAppStoreDisabled is Apple's "Error.AppStoreDisabled": The
	// App Store is disabled.
	ReasonErrorAppStoreDisabled = "Error.AppStoreDisabled"
	// ReasonErrorDownloadFailed is Apple's "Error.DownloadFailed". Its
	// meaning depends on the status item reporting it; see Reasons.
	ReasonErrorDownloadFailed = "Error.DownloadFailed"
	// ReasonErrorDuplicateConfiguredApp is Apple's
	// "Error.DuplicateConfiguredApp": The app is already being managed.
	ReasonErrorDuplicateConfiguredApp = "Error.DuplicateConfiguredApp"
	// ReasonErrorInstallFailed is Apple's "Error.InstallFailed". Its meaning
	// depends on the status item reporting it; see Reasons.
	ReasonErrorInstallFailed = "Error.InstallFailed"
	// ReasonErrorInvalidAppID is Apple's "Error.InvalidAppID": The app id
	// could not be found.
	ReasonErrorInvalidAppID = "Error.InvalidAppID"
	// ReasonErrorInvalidCodeSignature is Apple's
	// "Error.InvalidCodeSignature": The code signature of the app does not
	// match the composed identifier, and the app cannot be managed.
	ReasonErrorInvalidCodeSignature = "Error.InvalidCodeSignature"
	// ReasonErrorIsSystemApp is Apple's "Error.IsSystemApp": The app is a
	// system app that cannot be managed.
	ReasonErrorIsSystemApp = "Error.IsSystemApp"
	// ReasonErrorLicenseNotFound is Apple's "Error.LicenseNotFound": A
	// license for the app was not available.
	ReasonErrorLicenseNotFound = "Error.LicenseNotFound"
	// ReasonErrorNotAnApp is Apple's "Error.NotAnApp": The downloaded data
	// is not a valid app.
	ReasonErrorNotAnApp = "Error.NotAnApp"
	// ReasonErrorNotSupported is Apple's "Error.NotSupported": The app is
	// not supported on this device.
	ReasonErrorNotSupported = "Error.NotSupported"
	// ReasonErrorUnmanagedAppAlreadyInstalled is Apple's
	// "Error.UnmanagedAppAlreadyInstalled": An unmanaged app is already
	// installed and cannot be managed.
	ReasonErrorUnmanagedAppAlreadyInstalled = "Error.UnmanagedAppAlreadyInstalled"
	// ReasonErrorUpdateFailed is Apple's "Error.UpdateFailed": The app
	// update failed.
	ReasonErrorUpdateFailed = "Error.UpdateFailed"
	// ReasonErrorUserRejected is Apple's "Error.UserRejected": The user
	// rejected management of the app.
	ReasonErrorUserRejected = "Error.UserRejected"
	// ReasonInfoUpdateAvailable is Apple's "Info.UpdateAvailable": An update
	// is available for the app.
	ReasonInfoUpdateAvailable = "Info.UpdateAvailable"
)

Reason codes.

View Source
const (
	// StatusItemTypeAccountListCalDAV: Status Account List CalDAV
	StatusItemTypeAccountListCalDAV = "account.list.caldav"
	// StatusItemTypeAccountListCardDAV: Status Account List CardDAV
	StatusItemTypeAccountListCardDAV = "account.list.carddav"
	// StatusItemTypeAccountListExchange: Status Account List Exchange
	StatusItemTypeAccountListExchange = "account.list.exchange"
	// StatusItemTypeAccountListGoogle: Status Account List Google
	StatusItemTypeAccountListGoogle = "account.list.google"
	// StatusItemTypeAccountListLDAP: Status Account List LDAP
	StatusItemTypeAccountListLDAP = "account.list.ldap"
	// StatusItemTypeAccountListMailIncoming: Status Account List Mail Incoming
	StatusItemTypeAccountListMailIncoming = "account.list.mail.incoming"
	// StatusItemTypeAccountListMailOutgoing: Status Account List Mail Outgoing
	StatusItemTypeAccountListMailOutgoing = "account.list.mail.outgoing"
	// StatusItemTypeAccountListSubscribedCalendar: Status Account List Subscribed Calendar
	StatusItemTypeAccountListSubscribedCalendar = "account.list.subscribed-calendar"
	// StatusItemTypeAppManagedList: Status App Managed List
	StatusItemTypeAppManagedList = "app.managed.list"
	// StatusItemTypeDeviceSerialNumber: Status Device Serial Number
	StatusItemTypeDeviceSerialNumber = "device.identifier.serial-number"
	// StatusItemTypeDeviceUDID: Status Device UDID
	StatusItemTypeDeviceUDID = "device.identifier.udid"
	// StatusItemTypeDeviceModelFamily: Status Device Model Family
	StatusItemTypeDeviceModelFamily = "device.model.family"
	// StatusItemTypeDeviceModelIdentifier: Status Device Model Identifier
	StatusItemTypeDeviceModelIdentifier = "device.model.identifier"
	// StatusItemTypeDeviceModelMarketingName: Status Device Model Marketing Name
	StatusItemTypeDeviceModelMarketingName = "device.model.marketing-name"
	// StatusItemTypeDeviceModelNumber: Status Device Model Number
	StatusItemTypeDeviceModelNumber = "device.model.number"
	// StatusItemTypeDeviceOperatingSystemBuildVersion: Status Device Operating System Build Version
	StatusItemTypeDeviceOperatingSystemBuildVersion = "device.operating-system.build-version"
	// StatusItemTypeDeviceOperatingSystemFamily: Status Device Operating System Family
	StatusItemTypeDeviceOperatingSystemFamily = "device.operating-system.family"
	// StatusItemTypeDeviceOperatingSystemMarketingName: Status Device Operating System Marketing Name
	StatusItemTypeDeviceOperatingSystemMarketingName = "device.operating-system.marketing-name"
	// StatusItemTypeDeviceOperatingSystemSupplementalBuildVersion: Status Device Operating System Supplemental Build Version
	StatusItemTypeDeviceOperatingSystemSupplementalBuildVersion = "device.operating-system.supplemental.build-version"
	// StatusItemTypeDeviceOperatingSystemSupplementalExtraVersion: Status Device Operating System Supplemental Extra Version
	StatusItemTypeDeviceOperatingSystemSupplementalExtraVersion = "device.operating-system.supplemental.extra-version"
	// StatusItemTypeDeviceOperatingSystemVersion: Status Device Operating System Version
	StatusItemTypeDeviceOperatingSystemVersion = "device.operating-system.version"
	// StatusItemTypeDeviceBatteryHealth: Status Device Battery Health
	StatusItemTypeDeviceBatteryHealth = "device.power.battery-health"
	// StatusItemTypeDiskManagementFileVaultEnabled: Status Disk Management File Vault Enabled
	StatusItemTypeDiskManagementFileVaultEnabled = "diskmanagement.filevault.enabled"
	// StatusItemTypeManagementClientCapabilities: Status Management Client Capabilities
	StatusItemTypeManagementClientCapabilities = "management.client-capabilities"
	// StatusItemTypeManagementDeclarations: Status Management Declarations
	StatusItemTypeManagementDeclarations = "management.declarations"
	// StatusItemTypeMDMApp: Status MDM App
	StatusItemTypeMDMApp = "mdm.app"
	// StatusItemTypeMigrationAssistantReport: Status Migration Assistant Report
	StatusItemTypeMigrationAssistantReport = "migration-assistant.report"
	// StatusItemTypeMigrationAssistantState: Status Migration Assistant State
	StatusItemTypeMigrationAssistantState = "migration-assistant.state"
	// StatusItemTypePackageList: Status Package List
	StatusItemTypePackageList = "package.list"
	// StatusItemTypePasscodeCompliance: Status Passcode Compliance
	StatusItemTypePasscodeCompliance = "passcode.is-compliant" // #nosec G101 -- Apple wire identifier, not a credential
	// StatusItemTypePasscodeIsPresent: Status Passcode Is Present
	StatusItemTypePasscodeIsPresent = "passcode.is-present" // #nosec G101 -- Apple wire identifier, not a credential
	// StatusItemTypeScreenSharingConnectionGroupUnresolvedConnections: Status Screen Sharing Connection Group Unresolved Connections
	StatusItemTypeScreenSharingConnectionGroupUnresolvedConnections = "screensharing.connection.group.unresolved-connection"
	// StatusItemTypeSecurityCertificateList: Status Security Certificate List
	StatusItemTypeSecurityCertificateList = "security.certificate.list"
	// StatusItemTypeServicesBackgroundTask: Status Services Background Task
	StatusItemTypeServicesBackgroundTask = "services.background-task"
	// StatusItemTypeSoftwareUpdateBetaEnrollment: Status Software Update Beta Enrollment
	StatusItemTypeSoftwareUpdateBetaEnrollment = "softwareupdate.beta-enrollment"
	// StatusItemTypeSoftwareUpdateDeviceID: Status Software Update Device ID
	StatusItemTypeSoftwareUpdateDeviceID = "softwareupdate.device-id"
	// StatusItemTypeSoftwareUpdateFailureReason: Status Software Update Failure Reason
	StatusItemTypeSoftwareUpdateFailureReason = "softwareupdate.failure-reason"
	// StatusItemTypeSoftwareUpdateInstallReason: Status Software Update Install Reason
	StatusItemTypeSoftwareUpdateInstallReason = "softwareupdate.install-reason"
	// StatusItemTypeSoftwareUpdateInstallState: Status Software Update Install State
	StatusItemTypeSoftwareUpdateInstallState = "softwareupdate.install-state"
	// StatusItemTypeSoftwareUpdatePendingVersion: Status Software Update Pending Version
	StatusItemTypeSoftwareUpdatePendingVersion = "softwareupdate.pending-version"
	// StatusItemTypeTestArrayValue: Status Test Array Value
	StatusItemTypeTestArrayValue = "test.array-value"
	// StatusItemTypeTestBooleanValue: Status Test Boolean Value
	StatusItemTypeTestBooleanValue = "test.boolean-value"
	// StatusItemTypeTestDictionaryValue: Status Test Dictionary Value
	StatusItemTypeTestDictionaryValue = "test.dictionary-value"
	// StatusItemTypeTestErrorValue: Status Test Error Value
	StatusItemTypeTestErrorValue = "test.error-value"
	// StatusItemTypeTestIntegerValue: Status Test Integer Value
	StatusItemTypeTestIntegerValue = "test.integer-value"
	// StatusItemTypeTestRealValue: Status Test Real Value
	StatusItemTypeTestRealValue = "test.real-value"
	// StatusItemTypeTestStringValue: Status Test String Value
	StatusItemTypeTestStringValue = "test.string-value"
)

Wire identifiers.

Variables

View Source
var Reasons = map[string][]ReasonEntry{
	ReasonErrorAppStoreDisabled: {
		{Code: ReasonErrorAppStoreDisabled, Description: "The App Store is disabled.", Schema: "declarative/status/app.managed.list.yaml"},
	},
	ReasonErrorDownloadFailed: {
		{Code: ReasonErrorDownloadFailed, Description: "The app download failed.", Schema: "declarative/status/app.managed.list.yaml", Details: []ReasonDetail{
			{Key: "Timestamp", Type: "<string>", Description: "The RFC 3339 timestamp of the last download failure."},
		}},
		{Code: ReasonErrorDownloadFailed, Description: "The package download failed.", Schema: "declarative/status/package.list.yaml", Details: []ReasonDetail{
			{Key: "Timestamp", Type: "<string>", Description: "The RFC 3339 timestamp of the last download failure."},
		}},
	},
	ReasonErrorDuplicateConfiguredApp: {
		{Code: ReasonErrorDuplicateConfiguredApp, Description: "The app is already being managed.", Schema: "declarative/status/app.managed.list.yaml"},
	},
	ReasonErrorInstallFailed: {
		{Code: ReasonErrorInstallFailed, Description: "The app install failed.", Schema: "declarative/status/app.managed.list.yaml", Details: []ReasonDetail{
			{Key: "Timestamp", Type: "<string>", Description: "The RFC 3339 timestamp of the last install failure."},
		}},
		{Code: ReasonErrorInstallFailed, Description: "The package install failed.", Schema: "declarative/status/package.list.yaml", Details: []ReasonDetail{
			{Key: "Timestamp", Type: "<string>", Description: "The RFC 3339 timestamp of the last install failure."},
		}},
	},
	ReasonErrorInvalidAppID: {
		{Code: ReasonErrorInvalidAppID, Description: "The app id could not be found.", Schema: "declarative/status/app.managed.list.yaml"},
	},
	ReasonErrorInvalidCodeSignature: {
		{Code: ReasonErrorInvalidCodeSignature, Description: "The code signature of the app does not match the composed identifier, and the app cannot be managed.", Schema: "declarative/status/app.managed.list.yaml"},
	},
	ReasonErrorIsSystemApp: {
		{Code: ReasonErrorIsSystemApp, Description: "The app is a system app that cannot be managed.", Schema: "declarative/status/app.managed.list.yaml"},
	},
	ReasonErrorLicenseNotFound: {
		{Code: ReasonErrorLicenseNotFound, Description: "A license for the app was not available.", Schema: "declarative/status/app.managed.list.yaml"},
	},
	ReasonErrorNotAnApp: {
		{Code: ReasonErrorNotAnApp, Description: "The downloaded data is not a valid app.", Schema: "declarative/status/app.managed.list.yaml"},
	},
	ReasonErrorNotSupported: {
		{Code: ReasonErrorNotSupported, Description: "The app is not supported on this device.", Schema: "declarative/status/app.managed.list.yaml"},
	},
	ReasonErrorUnmanagedAppAlreadyInstalled: {
		{Code: ReasonErrorUnmanagedAppAlreadyInstalled, Description: "An unmanaged app is already installed and cannot be managed.", Schema: "declarative/status/app.managed.list.yaml"},
	},
	ReasonErrorUpdateFailed: {
		{Code: ReasonErrorUpdateFailed, Description: "The app update failed.", Schema: "declarative/status/app.managed.list.yaml", Details: []ReasonDetail{
			{Key: "Timestamp", Type: "<string>", Description: "The RFC 3339 timestamp of the last update failure."},
		}},
	},
	ReasonErrorUserRejected: {
		{Code: ReasonErrorUserRejected, Description: "The user rejected management of the app.", Schema: "declarative/status/app.managed.list.yaml"},
	},
	ReasonInfoUpdateAvailable: {
		{Code: ReasonInfoUpdateAvailable, Description: "An update is available for the app.", Schema: "declarative/status/app.managed.list.yaml"},
	},
}

Reasons maps each reason code to every schema declaration of it. A code absent from the map is one Apple's schema does not define, which makes the map the bound on the vocabulary for a caller labelling by code.

View Source
var Registry = map[string]Entry{
	"AccountListCalDAV":                                 {ID: "account.list.caldav", Schema: "declarative/status/account.list.caldav.yaml", Title: "Status Account List CalDAV", New: func() Item { return new(AccountListCalDAV) }},
	"AccountListCardDAV":                                {ID: "account.list.carddav", Schema: "declarative/status/account.list.carddav.yaml", Title: "Status Account List CardDAV", New: func() Item { return new(AccountListCardDAV) }},
	"AccountListExchange":                               {ID: "account.list.exchange", Schema: "declarative/status/account.list.exchange.yaml", Title: "Status Account List Exchange", New: func() Item { return new(AccountListExchange) }},
	"AccountListGoogle":                                 {ID: "account.list.google", Schema: "declarative/status/account.list.google.yaml", Title: "Status Account List Google", New: func() Item { return new(AccountListGoogle) }},
	"AccountListLDAP":                                   {ID: "account.list.ldap", Schema: "declarative/status/account.list.ldap.yaml", Title: "Status Account List LDAP", New: func() Item { return new(AccountListLDAP) }},
	"AccountListMailIncoming":                           {ID: "account.list.mail.incoming", Schema: "declarative/status/account.list.mail.incoming.yaml", Title: "Status Account List Mail Incoming", New: func() Item { return new(AccountListMailIncoming) }},
	"AccountListMailOutgoing":                           {ID: "account.list.mail.outgoing", Schema: "declarative/status/account.list.mail.outgoing.yaml", Title: "Status Account List Mail Outgoing", New: func() Item { return new(AccountListMailOutgoing) }},
	"AccountListSubscribedCalendar":                     {ID: "account.list.subscribed-calendar", Schema: "declarative/status/account.list.subscribed-calendar.yaml", Title: "Status Account List Subscribed Calendar", New: func() Item { return new(AccountListSubscribedCalendar) }},
	"AppManagedList":                                    {ID: "app.managed.list", Schema: "declarative/status/app.managed.list.yaml", Title: "Status App Managed List", New: func() Item { return new(AppManagedList) }},
	"DeviceBatteryHealth":                               {ID: "device.power.battery-health", Schema: "declarative/status/device.power.battery-health.yaml", Title: "Status Device Battery Health", New: func() Item { return new(DeviceBatteryHealth) }},
	"DeviceModelFamily":                                 {ID: "device.model.family", Schema: "declarative/status/device.model.family.yaml", Title: "Status Device Model Family", New: func() Item { return new(DeviceModelFamily) }},
	"DeviceModelIdentifier":                             {ID: "device.model.identifier", Schema: "declarative/status/device.model.identifier.yaml", Title: "Status Device Model Identifier", New: func() Item { return new(DeviceModelIdentifier) }},
	"DeviceModelMarketingName":                          {ID: "device.model.marketing-name", Schema: "declarative/status/device.model.marketing-name.yaml", Title: "Status Device Model Marketing Name", New: func() Item { return new(DeviceModelMarketingName) }},
	"DeviceModelNumber":                                 {ID: "device.model.number", Schema: "declarative/status/device.model.number.yaml", Title: "Status Device Model Number", New: func() Item { return new(DeviceModelNumber) }},
	"DeviceOperatingSystemBuildVersion":                 {ID: "device.operating-system.build-version", Schema: "declarative/status/device.operating-system.build-version.yaml", Title: "Status Device Operating System Build Version", New: func() Item { return new(DeviceOperatingSystemBuildVersion) }},
	"DeviceOperatingSystemFamily":                       {ID: "device.operating-system.family", Schema: "declarative/status/device.operating-system.family.yaml", Title: "Status Device Operating System Family", New: func() Item { return new(DeviceOperatingSystemFamily) }},
	"DeviceOperatingSystemMarketingName":                {ID: "device.operating-system.marketing-name", Schema: "declarative/status/device.operating-system.marketing-name.yaml", Title: "Status Device Operating System Marketing Name", New: func() Item { return new(DeviceOperatingSystemMarketingName) }},
	"DeviceOperatingSystemSupplementalBuildVersion":     {ID: "device.operating-system.supplemental.build-version", Schema: "declarative/status/device.operating-system.supplemental.build-version.yaml", Title: "Status Device Operating System Supplemental Build Version", New: func() Item { return new(DeviceOperatingSystemSupplementalBuildVersion) }},
	"DeviceOperatingSystemSupplementalExtraVersion":     {ID: "device.operating-system.supplemental.extra-version", Schema: "declarative/status/device.operating-system.supplemental.extra-version.yaml", Title: "Status Device Operating System Supplemental Extra Version", New: func() Item { return new(DeviceOperatingSystemSupplementalExtraVersion) }},
	"DeviceOperatingSystemVersion":                      {ID: "device.operating-system.version", Schema: "declarative/status/device.operating-system.version.yaml", Title: "Status Device Operating System Version", New: func() Item { return new(DeviceOperatingSystemVersion) }},
	"DeviceSerialNumber":                                {ID: "device.identifier.serial-number", Schema: "declarative/status/device.identifier.serial-number.yaml", Title: "Status Device Serial Number", New: func() Item { return new(DeviceSerialNumber) }},
	"DeviceUDID":                                        {ID: "device.identifier.udid", Schema: "declarative/status/device.identifier.udid.yaml", Title: "Status Device UDID", New: func() Item { return new(DeviceUDID) }},
	"DiskManagementFileVaultEnabled":                    {ID: "diskmanagement.filevault.enabled", Schema: "declarative/status/diskmanagement.filevault.enabled.yaml", Title: "Status Disk Management File Vault Enabled", New: func() Item { return new(DiskManagementFileVaultEnabled) }},
	"MDMApp":                                            {ID: "mdm.app", Schema: "declarative/status/mdm.app.yaml", Title: "Status MDM App", New: func() Item { return new(MDMApp) }},
	"ManagementClientCapabilities":                      {ID: "management.client-capabilities", Schema: "declarative/status/management.client-capabilities.yaml", Title: "Status Management Client Capabilities", New: func() Item { return new(ManagementClientCapabilities) }},
	"ManagementDeclarations":                            {ID: "management.declarations", Schema: "declarative/status/management.declarations.yaml", Title: "Status Management Declarations", New: func() Item { return new(ManagementDeclarations) }},
	"MigrationAssistantReport":                          {ID: "migration-assistant.report", Schema: "declarative/status/migration-assistant.report.yaml", Title: "Status Migration Assistant Report", New: func() Item { return new(MigrationAssistantReport) }},
	"MigrationAssistantState":                           {ID: "migration-assistant.state", Schema: "declarative/status/migration-assistant.state.yaml", Title: "Status Migration Assistant State", New: func() Item { return new(MigrationAssistantState) }},
	"PackageList":                                       {ID: "package.list", Schema: "declarative/status/package.list.yaml", Title: "Status Package List", New: func() Item { return new(PackageList) }},
	"PasscodeCompliance":                                {ID: "passcode.is-compliant", Schema: "declarative/status/passcode.is-compliant.yaml", Title: "Status Passcode Compliance", New: func() Item { return new(PasscodeCompliance) }},
	"PasscodeIsPresent":                                 {ID: "passcode.is-present", Schema: "declarative/status/passcode.is-present.yaml", Title: "Status Passcode Is Present", New: func() Item { return new(PasscodeIsPresent) }},
	"ScreenSharingConnectionGroupUnresolvedConnections": {ID: "screensharing.connection.group.unresolved-connection", Schema: "declarative/status/screensharing.connection.group.unresolved-connection.yaml", Title: "Status Screen Sharing Connection Group Unresolved Connections", New: func() Item { return new(ScreenSharingConnectionGroupUnresolvedConnections) }},
	"SecurityCertificateList":                           {ID: "security.certificate.list", Schema: "declarative/status/security.certificate.list.yaml", Title: "Status Security Certificate List", New: func() Item { return new(SecurityCertificateList) }},
	"ServicesBackgroundTask":                            {ID: "services.background-task", Schema: "declarative/status/services.background-task.yaml", Title: "Status Services Background Task", New: func() Item { return new(ServicesBackgroundTask) }},
	"SoftwareUpdateBetaEnrollment":                      {ID: "softwareupdate.beta-enrollment", Schema: "declarative/status/softwareupdate.beta-enrollment.yaml", Title: "Status Software Update Beta Enrollment", New: func() Item { return new(SoftwareUpdateBetaEnrollment) }},
	"SoftwareUpdateDeviceID":                            {ID: "softwareupdate.device-id", Schema: "declarative/status/softwareupdate.device-id.yaml", Title: "Status Software Update Device ID", New: func() Item { return new(SoftwareUpdateDeviceID) }},
	"SoftwareUpdateFailureReason":                       {ID: "softwareupdate.failure-reason", Schema: "declarative/status/softwareupdate.failure-reason.yaml", Title: "Status Software Update Failure Reason", New: func() Item { return new(SoftwareUpdateFailureReason) }},
	"SoftwareUpdateInstallReason":                       {ID: "softwareupdate.install-reason", Schema: "declarative/status/softwareupdate.install-reason.yaml", Title: "Status Software Update Install Reason", New: func() Item { return new(SoftwareUpdateInstallReason) }},
	"SoftwareUpdateInstallState":                        {ID: "softwareupdate.install-state", Schema: "declarative/status/softwareupdate.install-state.yaml", Title: "Status Software Update Install State", New: func() Item { return new(SoftwareUpdateInstallState) }},
	"SoftwareUpdatePendingVersion":                      {ID: "softwareupdate.pending-version", Schema: "declarative/status/softwareupdate.pending-version.yaml", Title: "Status Software Update Pending Version", New: func() Item { return new(SoftwareUpdatePendingVersion) }},
	"TestArrayValue":                                    {ID: "test.array-value", Schema: "declarative/status/test.array-value.yaml", Title: "Status Test Array Value", New: func() Item { return new(TestArrayValue) }},
	"TestBooleanValue":                                  {ID: "test.boolean-value", Schema: "declarative/status/test.boolean-value.yaml", Title: "Status Test Boolean Value", New: func() Item { return new(TestBooleanValue) }},
	"TestDictionaryValue":                               {ID: "test.dictionary-value", Schema: "declarative/status/test.dictionary-value.yaml", Title: "Status Test Dictionary Value", New: func() Item { return new(TestDictionaryValue) }},
	"TestErrorValue":                                    {ID: "test.error-value", Schema: "declarative/status/test.error-value.yaml", Title: "Status Test Error Value", New: func() Item { return new(TestErrorValue) }},
	"TestIntegerValue":                                  {ID: "test.integer-value", Schema: "declarative/status/test.integer-value.yaml", Title: "Status Test Integer Value", New: func() Item { return new(TestIntegerValue) }},
	"TestRealValue":                                     {ID: "test.real-value", Schema: "declarative/status/test.real-value.yaml", Title: "Status Test Real Value", New: func() Item { return new(TestRealValue) }},
	"TestStringValue":                                   {ID: "test.string-value", Schema: "declarative/status/test.string-value.yaml", Title: "Status Test String Value", New: func() Item { return new(TestStringValue) }},
}

Registry maps Go type names to constructors, one entry per schema file. Several schemas may share a wire identifier (for example six profile payloads use com.apple.MCX), so look up by identifier with ByID.

Functions

func IDs

func IDs() []string

IDs returns the distinct wire identifiers in sorted order.

func ReasonCodes

func ReasonCodes() []string

ReasonCodes returns the distinct reason codes in sorted order.

func Support

func Support(path string) *support.Entry

Support returns the support entry for a key path such as "DeviceLock.Message" or "DeviceLock.response.MessageResult", or nil when unknown.

Types

type AccountListCalDAV

type AccountListCalDAV struct {
	// A list of status values for the Calendar accounts.
	Value []AccountListCalDAVAccount `plist:"-" json:"-"`
}

AccountListCalDAV: A status report of the client's Calendar accounts.

AccountListCalDAV corresponds to declarative/status/account.list.caldav.yaml (Status Account List CalDAV).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (AccountListCalDAV) MarshalJSON

func (x AccountListCalDAV) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*AccountListCalDAV) SchemaPath

func (*AccountListCalDAV) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*AccountListCalDAV) StatusItemTypeName

func (*AccountListCalDAV) StatusItemTypeName() string

StatusItemTypeName returns "account.list.caldav".

func (*AccountListCalDAV) UnmarshalJSON

func (x *AccountListCalDAV) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*AccountListCalDAV) Validate

func (x *AccountListCalDAV) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type AccountListCalDAVAccount

type AccountListCalDAVAccount struct {
	// The unique identifier for the account.
	Identifier string `plist:"identifier" json:"identifier"`
	// If `true`, the account is removed and the status item object only contains this key and
	// the `identifier` key.
	Removed *bool `plist:"_removed,omitempty" json:"_removed,omitempty"`
	// The identifier of the declaration that installed the account. Only present if a
	// declaration installed the account.
	DeclarationIdentifier *string `plist:"declaration-identifier,omitempty" json:"declaration-identifier,omitempty"`
	// The name of the account.
	VisibleName *string `plist:"visible-name,omitempty" json:"visible-name,omitempty"`
	// The server host name for the account.
	Hostname *string `plist:"hostname,omitempty" json:"hostname,omitempty"`
	// The server port for the account.
	Port *int64 `plist:"port,omitempty" json:"port,omitempty"`
	// The user name for the account.
	Username *string `plist:"username,omitempty" json:"username,omitempty"`
	// If `true`, the Calendar app is displaying calendars and events for the account.
	AreCalendarsEnabled *bool `plist:"are-calendars-enabled,omitempty" json:"are-calendars-enabled,omitempty"`
	// If `true`, the Reminders app is displaying reminders for the account.
	AreRemindersEnabled *bool `plist:"are-reminders-enabled,omitempty" json:"are-reminders-enabled,omitempty"`
}

AccountListCalDAVAccount: A status report of the client's Calendar account details.

type AccountListCardDAV

type AccountListCardDAV struct {
	// A list of status values for the Contacts accounts.
	Value []AccountListCardDAVAccount `plist:"-" json:"-"`
}

AccountListCardDAV: A status report of the client's Contacts accounts.

AccountListCardDAV corresponds to declarative/status/account.list.carddav.yaml (Status Account List CardDAV).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (AccountListCardDAV) MarshalJSON

func (x AccountListCardDAV) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*AccountListCardDAV) SchemaPath

func (*AccountListCardDAV) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*AccountListCardDAV) StatusItemTypeName

func (*AccountListCardDAV) StatusItemTypeName() string

StatusItemTypeName returns "account.list.carddav".

func (*AccountListCardDAV) UnmarshalJSON

func (x *AccountListCardDAV) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*AccountListCardDAV) Validate

func (x *AccountListCardDAV) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type AccountListCardDAVAccount

type AccountListCardDAVAccount struct {
	// The unique identifier for the account.
	Identifier string `plist:"identifier" json:"identifier"`
	// If `true`, the account is removed and the status item object only contains this key and
	// the `identifier` key.
	Removed *bool `plist:"_removed,omitempty" json:"_removed,omitempty"`
	// The identifier of the declaration that installed the account. Only present if a
	// declaration installed the account.
	DeclarationIdentifier *string `plist:"declaration-identifier,omitempty" json:"declaration-identifier,omitempty"`
	// The name of the account.
	VisibleName *string `plist:"visible-name,omitempty" json:"visible-name,omitempty"`
	// The server host name for the account.
	Hostname *string `plist:"hostname,omitempty" json:"hostname,omitempty"`
	// The server port for the account.
	Port *int64 `plist:"port,omitempty" json:"port,omitempty"`
	// The user name for the account.
	Username *string `plist:"username,omitempty" json:"username,omitempty"`
}

AccountListCardDAVAccount: A status report of the client's Contacts account details.

type AccountListExchange

type AccountListExchange struct {
	// A list of status values for the Exchange accounts.
	Value []AccountListExchangeAccount `plist:"-" json:"-"`
}

AccountListExchange: A status report of the client's Exchange accounts.

AccountListExchange corresponds to declarative/status/account.list.exchange.yaml (Status Account List Exchange).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (AccountListExchange) MarshalJSON

func (x AccountListExchange) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*AccountListExchange) SchemaPath

func (*AccountListExchange) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*AccountListExchange) StatusItemTypeName

func (*AccountListExchange) StatusItemTypeName() string

StatusItemTypeName returns "account.list.exchange".

func (*AccountListExchange) UnmarshalJSON

func (x *AccountListExchange) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*AccountListExchange) Validate

func (x *AccountListExchange) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type AccountListExchangeAccount

type AccountListExchangeAccount struct {
	// The unique identifier for the account.
	Identifier string `plist:"identifier" json:"identifier"`
	// If `true`, the account is removed and the status item object only contains this key and
	// the `identifier` key.
	Removed *bool `plist:"_removed,omitempty" json:"_removed,omitempty"`
	// The identifier of the declaration that installed the account. Only present if a
	// declaration installed the account.
	DeclarationIdentifier *string `plist:"declaration-identifier,omitempty" json:"declaration-identifier,omitempty"`
	// The name of the account.
	VisibleName *string `plist:"visible-name,omitempty" json:"visible-name,omitempty"`
	// The server host name for the account.
	Hostname *string `plist:"hostname,omitempty" json:"hostname,omitempty"`
	// The server port for the account.
	Port *int64 `plist:"port,omitempty" json:"port,omitempty"`
	// The user name for the account.
	Username *string `plist:"username,omitempty" json:"username,omitempty"`
	// A Boolean value that indicates whether the Mail app displays mail for this account.
	IsMailEnabled *bool `plist:"is-mail-enabled,omitempty" json:"is-mail-enabled,omitempty"`
	// A Boolean value that indicates whether the Calendar app displays calendars and events
	// for this account.
	AreCalendarsEnabled *bool `plist:"are-calendars-enabled,omitempty" json:"are-calendars-enabled,omitempty"`
	// A Boolean value that indicates whether the Contacts app displays contacts for this
	// account.
	AreContactsEnabled *bool `plist:"are-contacts-enabled,omitempty" json:"are-contacts-enabled,omitempty"`
	// A Boolean value that indicates whether the Notes app displays notes for this account.
	AreNotesEnabled *bool `plist:"are-notes-enabled,omitempty" json:"are-notes-enabled,omitempty"`
	// A Boolean value that indicates whether the Reminders app displays reminders for this
	// account.
	AreRemindersEnabled *bool `plist:"are-reminders-enabled,omitempty" json:"are-reminders-enabled,omitempty"`
}

AccountListExchangeAccount: A status report of the client's Exchange account details.

type AccountListGoogle

type AccountListGoogle struct {
	// A list of status values for the Google accounts.
	Value []AccountListGoogleAccount `plist:"-" json:"-"`
}

AccountListGoogle: A status report of the client's Google accounts.

AccountListGoogle corresponds to declarative/status/account.list.google.yaml (Status Account List Google).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (AccountListGoogle) MarshalJSON

func (x AccountListGoogle) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*AccountListGoogle) SchemaPath

func (*AccountListGoogle) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*AccountListGoogle) StatusItemTypeName

func (*AccountListGoogle) StatusItemTypeName() string

StatusItemTypeName returns "account.list.google".

func (*AccountListGoogle) UnmarshalJSON

func (x *AccountListGoogle) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*AccountListGoogle) Validate

func (x *AccountListGoogle) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type AccountListGoogleAccount

type AccountListGoogleAccount struct {
	// The unique identifier for the account.
	Identifier string `plist:"identifier" json:"identifier"`
	// If `true`, the account is removed and the status item object only contains this key and
	// the `identifier` key.
	Removed *bool `plist:"_removed,omitempty" json:"_removed,omitempty"`
	// The identifier of the declaration that installed the account. Only present if a
	// declaration installed the account.
	DeclarationIdentifier *string `plist:"declaration-identifier,omitempty" json:"declaration-identifier,omitempty"`
	// The name of the account.
	VisibleName *string `plist:"visible-name,omitempty" json:"visible-name,omitempty"`
	// The user name for the account.
	Username *string `plist:"username,omitempty" json:"username,omitempty"`
	// A Boolean value that indicates whether the Mail app displays mail for this account.
	IsMailEnabled *bool `plist:"is-mail-enabled,omitempty" json:"is-mail-enabled,omitempty"`
	// A Boolean value that indicates whether the Calendar app displays calendars and events
	// for this account.
	AreCalendarsEnabled *bool `plist:"are-calendars-enabled,omitempty" json:"are-calendars-enabled,omitempty"`
	// A Boolean value that indicates whether the Contacts app displays contacts for this
	// account.
	AreContactsEnabled *bool `plist:"are-contacts-enabled,omitempty" json:"are-contacts-enabled,omitempty"`
	// A Boolean value that indicates whether the Notes app displays notes for this account.
	AreNotesEnabled *bool `plist:"are-notes-enabled,omitempty" json:"are-notes-enabled,omitempty"`
}

AccountListGoogleAccount: A status report of the client's Google account details.

type AccountListLDAP

type AccountListLDAP struct {
	// A list of status values for the LDAP accounts.
	Value []AccountListLDAPAccount `plist:"-" json:"-"`
}

AccountListLDAP: A status report of the client's Lightweight Directory Access Protocol (LDAP) accounts.

AccountListLDAP corresponds to declarative/status/account.list.ldap.yaml (Status Account List LDAP).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (AccountListLDAP) MarshalJSON

func (x AccountListLDAP) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*AccountListLDAP) SchemaPath

func (*AccountListLDAP) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*AccountListLDAP) StatusItemTypeName

func (*AccountListLDAP) StatusItemTypeName() string

StatusItemTypeName returns "account.list.ldap".

func (*AccountListLDAP) UnmarshalJSON

func (x *AccountListLDAP) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*AccountListLDAP) Validate

func (x *AccountListLDAP) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type AccountListLDAPAccount

type AccountListLDAPAccount struct {
	// The unique identifier for the account.
	Identifier string `plist:"identifier" json:"identifier"`
	// If `true`, the account is removed and the status item object only contains this key and
	// the `identifier` key.
	Removed *bool `plist:"_removed,omitempty" json:"_removed,omitempty"`
	// The identifier of the declaration that installed the account. Only present if a
	// declaration installed the account.
	DeclarationIdentifier *string `plist:"declaration-identifier,omitempty" json:"declaration-identifier,omitempty"`
	// The name of the account.
	VisibleName *string `plist:"visible-name,omitempty" json:"visible-name,omitempty"`
	// The server host name for the account.
	Hostname *string `plist:"hostname,omitempty" json:"hostname,omitempty"`
	// The server port for the account.
	Port *int64 `plist:"port,omitempty" json:"port,omitempty"`
	// The user name for the account.
	Username *string `plist:"username,omitempty" json:"username,omitempty"`
	// A Boolean value that indicates whether the account is enabled for use with the Contacts
	// app.
	IsEnabled *bool `plist:"is-enabled,omitempty" json:"is-enabled,omitempty"`
}

AccountListLDAPAccount: A status report of the client's LDAP account details.

type AccountListMailIncoming

type AccountListMailIncoming struct {
	// A list of status values for the incoming Mail accounts.
	Value []AccountListMailIncomingAccount `plist:"-" json:"-"`
}

AccountListMailIncoming: A status report of the client's incoming Mail accounts.

AccountListMailIncoming corresponds to declarative/status/account.list.mail.incoming.yaml (Status Account List Mail Incoming).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (AccountListMailIncoming) MarshalJSON

func (x AccountListMailIncoming) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*AccountListMailIncoming) SchemaPath

func (*AccountListMailIncoming) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*AccountListMailIncoming) StatusItemTypeName

func (*AccountListMailIncoming) StatusItemTypeName() string

StatusItemTypeName returns "account.list.mail.incoming".

func (*AccountListMailIncoming) UnmarshalJSON

func (x *AccountListMailIncoming) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*AccountListMailIncoming) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type AccountListMailIncomingAccount

type AccountListMailIncomingAccount struct {
	// The unique identifier for the account.
	Identifier string `plist:"identifier" json:"identifier"`
	// If `true`, the account is removed and the status item object only contains this key and
	// the `identifier` key.
	Removed *bool `plist:"_removed,omitempty" json:"_removed,omitempty"`
	// The identifier of the declaration that installed the account. Only present if a
	// declaration installed the account.
	DeclarationIdentifier *string `plist:"declaration-identifier,omitempty" json:"declaration-identifier,omitempty"`
	// The name of the account.
	VisibleName *string `plist:"visible-name,omitempty" json:"visible-name,omitempty"`
	// The server host name for the account.
	Hostname *string `plist:"hostname,omitempty" json:"hostname,omitempty"`
	// The server port for the account.
	Port *int64 `plist:"port,omitempty" json:"port,omitempty"`
	// The user name for the account.
	Username *string `plist:"username,omitempty" json:"username,omitempty"`
	// A Boolean value that indicates whether the Mail app displays mail for this account.
	IsMailEnabled *bool `plist:"is-mail-enabled,omitempty" json:"is-mail-enabled,omitempty"`
	// A Boolean value that indicates whether the Notes app displays notes for this account.
	AreNotesEnabled *bool `plist:"are-notes-enabled,omitempty" json:"are-notes-enabled,omitempty"`
}

AccountListMailIncomingAccount: A status report of the client's incoming Mail account details.

type AccountListMailOutgoing

type AccountListMailOutgoing struct {
	// A list of status values for the outgoing Mail accounts.
	Value []AccountListMailOutgoingAccount `plist:"-" json:"-"`
}

AccountListMailOutgoing: A status report of the client's outgoing Mail accounts.

AccountListMailOutgoing corresponds to declarative/status/account.list.mail.outgoing.yaml (Status Account List Mail Outgoing).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (AccountListMailOutgoing) MarshalJSON

func (x AccountListMailOutgoing) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*AccountListMailOutgoing) SchemaPath

func (*AccountListMailOutgoing) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*AccountListMailOutgoing) StatusItemTypeName

func (*AccountListMailOutgoing) StatusItemTypeName() string

StatusItemTypeName returns "account.list.mail.outgoing".

func (*AccountListMailOutgoing) UnmarshalJSON

func (x *AccountListMailOutgoing) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*AccountListMailOutgoing) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type AccountListMailOutgoingAccount

type AccountListMailOutgoingAccount struct {
	// The unique identifier for the account.
	Identifier string `plist:"identifier" json:"identifier"`
	// If `true`, the account is removed and the status item object only contains this key and
	// the `identifier` key.
	Removed *bool `plist:"_removed,omitempty" json:"_removed,omitempty"`
	// The identifier of the declaration that installed the account. Only present if a
	// declaration installed the account.
	DeclarationIdentifier *string `plist:"declaration-identifier,omitempty" json:"declaration-identifier,omitempty"`
	// The name of the account.
	VisibleName *string `plist:"visible-name,omitempty" json:"visible-name,omitempty"`
	// The server host name for the account.
	Hostname *string `plist:"hostname,omitempty" json:"hostname,omitempty"`
	// The server port for the account.
	Port *int64 `plist:"port,omitempty" json:"port,omitempty"`
	// The user name for the account.
	Username *string `plist:"username,omitempty" json:"username,omitempty"`
}

AccountListMailOutgoingAccount: A status report of the client's outgoing Mail account details.

type AccountListSubscribedCalendar

type AccountListSubscribedCalendar struct {
	// A list of status values for the subscribed calendars.
	Value []AccountListSubscribedCalendarAccount `plist:"-" json:"-"`
}

AccountListSubscribedCalendar: A status report of the client's subscribed calendars.

AccountListSubscribedCalendar corresponds to declarative/status/account.list.subscribed-calendar.yaml (Status Account List Subscribed Calendar).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (AccountListSubscribedCalendar) MarshalJSON

func (x AccountListSubscribedCalendar) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*AccountListSubscribedCalendar) SchemaPath

func (*AccountListSubscribedCalendar) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*AccountListSubscribedCalendar) StatusItemTypeName

func (*AccountListSubscribedCalendar) StatusItemTypeName() string

StatusItemTypeName returns "account.list.subscribed-calendar".

func (*AccountListSubscribedCalendar) UnmarshalJSON

func (x *AccountListSubscribedCalendar) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*AccountListSubscribedCalendar) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type AccountListSubscribedCalendarAccount

type AccountListSubscribedCalendarAccount struct {
	// The unique identifier for the subscribed calendar.
	Identifier string `plist:"identifier" json:"identifier"`
	// If `true`, the subscribed calendar is removed and the status item object only contains
	// this key and the `identifier` key.
	Removed *bool `plist:"_removed,omitempty" json:"_removed,omitempty"`
	// The identifier of the declaration that installed the subscribed calendar. Only present
	// if a declaration installed the subscribed calendar.
	DeclarationIdentifier *string `plist:"declaration-identifier,omitempty" json:"declaration-identifier,omitempty"`
	// The name of the subscribed calendar.
	VisibleName *string `plist:"visible-name,omitempty" json:"visible-name,omitempty"`
	// The URL of the subscribed calendar.
	CalendarUrl *string `plist:"calendar-url,omitempty" json:"calendar-url,omitempty"`
	// The user name for authenticating with the subscribed calendar.
	Username *string `plist:"username,omitempty" json:"username,omitempty"`
	// A Boolean value that indicates whether the Calendar app displays this subscribed
	// calendar.
	IsEnabled *bool `plist:"is-enabled,omitempty" json:"is-enabled,omitempty"`
}

AccountListSubscribedCalendarAccount: A status report of the client's subscribed calendar details.

type AppManagedList

type AppManagedList struct {
	// An array of dictionaries that describe the device's declarative managed apps.
	Value []AppManagedListApp `plist:"-" json:"-"`
}

AppManagedList: The device's declarative managed apps.

AppManagedList corresponds to declarative/status/app.managed.list.yaml (Status App Managed List).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (AppManagedList) MarshalJSON

func (x AppManagedList) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*AppManagedList) SchemaPath

func (*AppManagedList) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*AppManagedList) StatusItemTypeName

func (*AppManagedList) StatusItemTypeName() string

StatusItemTypeName returns "app.managed.list".

func (*AppManagedList) UnmarshalJSON

func (x *AppManagedList) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*AppManagedList) Validate

func (x *AppManagedList) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type AppManagedListApp

type AppManagedListApp struct {
	// The app's bundle id, which is unique.
	Identifier string `plist:"identifier" json:"identifier"`
	// If `true`, the system removed the app and only this key and the `identifier` key are
	// present in the status item object.
	Removed *bool `plist:"_removed,omitempty" json:"_removed,omitempty"`
	// The identifier of the declaration that controls the app.
	DeclarationIdentifier *string `plist:"declaration-identifier,omitempty" json:"declaration-identifier,omitempty"`
	// The name of the app.
	Name *string `plist:"name,omitempty" json:"name,omitempty"`
	// The app's external version identifier. You can also retrieve this value from the App
	// Store. For more information, see `Apps and Books for Organizations`.
	ExternalVersionId *int64 `plist:"external-version-id,omitempty" json:"external-version-id,omitempty"`
	// The version of the app.
	Version *string `plist:"version,omitempty" json:"version,omitempty"`
	// The short version of the app.
	ShortVersion *string `plist:"short-version,omitempty" json:"short-version,omitempty"`
	// The status of the app, which has the following possible values:
	State *string `plist:"state,omitempty" json:"state,omitempty"`
	// The update status of the app, which has the following possible values:
	UpdateState *string `plist:"update-state,omitempty" json:"update-state,omitempty"`
	// The status of app or extension managed configurations. This key is only present when
	// managed configurations are available for the managed app or any of its extensions.
	ConfigState *AppManagedListManagedConfiguration `plist:"config-state,omitempty" json:"config-state,omitempty"`
	// An array that contains additional details about the app state, including errors.
	Reasons []AppManagedListStatusReason `plist:"reasons,omitempty" json:"reasons,omitempty"`
}

AppManagedListApp: A dictionary that describes a declarative managed app.

type AppManagedListManagedConfiguration

type AppManagedListManagedConfiguration struct {
	// The status of any app managed configuration. This key is only present when the managed
	// app has a managed configuration.
	AppConfigState *AppManagedListManagedConfigurationState `plist:"app-config-state,omitempty" json:"app-config-state,omitempty"`
	// The status of any app extension managed configuration. This key's value is a dictionary
	// whose keys are the bundle identifiers of app extensions that have a managed
	// configuration. The values of each key represent the status of the corresponding app
	// extension's managed configuration.
	ExtensionConfigState map[string]AppManagedListManagedConfigurationState `plist:"extension-config-state,omitempty" json:"extension-config-state,omitempty"`
}

AppManagedListManagedConfiguration: The status of app or extension managed configurations. This key is only present when managed configurations are available for the managed app or any of its extensions.

type AppManagedListManagedConfigurationState

type AppManagedListManagedConfigurationState struct {
	// The managed configuration status. - `unknown`: The managed configuration has not been
	// read - `invalid`: The managed configuration was read and deemed to be invalid - `valid`:
	// The managed configuration was read and deemed to be valid
	State string `plist:"state" json:"state"`
}

AppManagedListManagedConfigurationState: The status of any app managed configuration. This key is only present when the managed app has a managed configuration.

type AppManagedListStatusReason

type AppManagedListStatusReason struct {
	// A code for the state.
	Code string `plist:"code" json:"code"`
	// A description of the state.
	Description *string `plist:"description,omitempty" json:"description,omitempty"`
	// A dictionary that contains additional details about the state.
	Details map[string]any `plist:"details,omitempty" json:"details,omitempty"`
}

AppManagedListStatusReason: Information about a status error.

type DeviceBatteryHealth

type DeviceBatteryHealth struct {
	// The battery health status, which has the following values:
	Value string `plist:"-" json:"-"`
}

DeviceBatteryHealth: The device's battery health.

DeviceBatteryHealth corresponds to declarative/status/device.power.battery-health.yaml (Status Device Battery Health).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (DeviceBatteryHealth) MarshalJSON

func (x DeviceBatteryHealth) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*DeviceBatteryHealth) SchemaPath

func (*DeviceBatteryHealth) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*DeviceBatteryHealth) StatusItemTypeName

func (*DeviceBatteryHealth) StatusItemTypeName() string

StatusItemTypeName returns "device.power.battery-health".

func (*DeviceBatteryHealth) UnmarshalJSON

func (x *DeviceBatteryHealth) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*DeviceBatteryHealth) Validate

func (x *DeviceBatteryHealth) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type DeviceModelFamily

type DeviceModelFamily struct {
	// The hardware family of the device, such as `Mac`, `iPhone`, or `iPad`.
	Value string `plist:"-" json:"-"`
}

DeviceModelFamily: A status report of the device's hardware family.

DeviceModelFamily corresponds to declarative/status/device.model.family.yaml (Status Device Model Family).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (DeviceModelFamily) MarshalJSON

func (x DeviceModelFamily) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*DeviceModelFamily) SchemaPath

func (*DeviceModelFamily) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*DeviceModelFamily) StatusItemTypeName

func (*DeviceModelFamily) StatusItemTypeName() string

StatusItemTypeName returns "device.model.family".

func (*DeviceModelFamily) UnmarshalJSON

func (x *DeviceModelFamily) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*DeviceModelFamily) Validate

func (x *DeviceModelFamily) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type DeviceModelIdentifier

type DeviceModelIdentifier struct {
	// A two-part string that specifies the device's model. The first part specifies device's
	// model family, and the second part specifies the model's version. The model's version is
	// a comma-separated number where the first part of the number is the version, and the
	// second part is a variant, such as `MacBookPro15,1` or `iPhone13,2`.
	Value string `plist:"-" json:"-"`
}

DeviceModelIdentifier: A status report of the device's hardware identifier.

DeviceModelIdentifier corresponds to declarative/status/device.model.identifier.yaml (Status Device Model Identifier).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (DeviceModelIdentifier) MarshalJSON

func (x DeviceModelIdentifier) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*DeviceModelIdentifier) SchemaPath

func (*DeviceModelIdentifier) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*DeviceModelIdentifier) StatusItemTypeName

func (*DeviceModelIdentifier) StatusItemTypeName() string

StatusItemTypeName returns "device.model.identifier".

func (*DeviceModelIdentifier) UnmarshalJSON

func (x *DeviceModelIdentifier) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*DeviceModelIdentifier) Validate

func (x *DeviceModelIdentifier) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type DeviceModelMarketingName

type DeviceModelMarketingName struct {
	// The device's marketing name, such as `iPhone 12`. This value may not always be
	// available.
	Value string `plist:"-" json:"-"`
}

DeviceModelMarketingName: A status report of the device's marketing name.

DeviceModelMarketingName corresponds to declarative/status/device.model.marketing-name.yaml (Status Device Model Marketing Name).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (DeviceModelMarketingName) MarshalJSON

func (x DeviceModelMarketingName) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*DeviceModelMarketingName) SchemaPath

func (*DeviceModelMarketingName) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*DeviceModelMarketingName) StatusItemTypeName

func (*DeviceModelMarketingName) StatusItemTypeName() string

StatusItemTypeName returns "device.model.marketing-name".

func (*DeviceModelMarketingName) UnmarshalJSON

func (x *DeviceModelMarketingName) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*DeviceModelMarketingName) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type DeviceModelNumber

type DeviceModelNumber struct {
	// The device's model number.
	Value string `plist:"-" json:"-"`
}

DeviceModelNumber: A status report of the device's hardware number.

DeviceModelNumber corresponds to declarative/status/device.model.number.yaml (Status Device Model Number).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (DeviceModelNumber) MarshalJSON

func (x DeviceModelNumber) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*DeviceModelNumber) SchemaPath

func (*DeviceModelNumber) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*DeviceModelNumber) StatusItemTypeName

func (*DeviceModelNumber) StatusItemTypeName() string

StatusItemTypeName returns "device.model.number".

func (*DeviceModelNumber) UnmarshalJSON

func (x *DeviceModelNumber) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*DeviceModelNumber) Validate

func (x *DeviceModelNumber) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type DeviceOperatingSystemBuildVersion

type DeviceOperatingSystemBuildVersion struct {
	// The operating system's build version on the device, such as `18F132`.
	Value string `plist:"-" json:"-"`
}

DeviceOperatingSystemBuildVersion: A status report of the device's software build identifier.

DeviceOperatingSystemBuildVersion corresponds to declarative/status/device.operating-system.build-version.yaml (Status Device Operating System Build Version).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (DeviceOperatingSystemBuildVersion) MarshalJSON

func (x DeviceOperatingSystemBuildVersion) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*DeviceOperatingSystemBuildVersion) SchemaPath

SchemaPath returns the Apple schema file this type was generated from.

func (*DeviceOperatingSystemBuildVersion) StatusItemTypeName

func (*DeviceOperatingSystemBuildVersion) StatusItemTypeName() string

StatusItemTypeName returns "device.operating-system.build-version".

func (*DeviceOperatingSystemBuildVersion) UnmarshalJSON

func (x *DeviceOperatingSystemBuildVersion) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*DeviceOperatingSystemBuildVersion) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type DeviceOperatingSystemFamily

type DeviceOperatingSystemFamily struct {
	// The operating system family in use on the device, such as `macOS` or `iOS`.
	Value string `plist:"-" json:"-"`
}

DeviceOperatingSystemFamily: A status report of the device's operating system family.

DeviceOperatingSystemFamily corresponds to declarative/status/device.operating-system.family.yaml (Status Device Operating System Family).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (DeviceOperatingSystemFamily) MarshalJSON

func (x DeviceOperatingSystemFamily) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*DeviceOperatingSystemFamily) SchemaPath

func (*DeviceOperatingSystemFamily) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*DeviceOperatingSystemFamily) StatusItemTypeName

func (*DeviceOperatingSystemFamily) StatusItemTypeName() string

StatusItemTypeName returns "device.operating-system.family".

func (*DeviceOperatingSystemFamily) UnmarshalJSON

func (x *DeviceOperatingSystemFamily) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*DeviceOperatingSystemFamily) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type DeviceOperatingSystemMarketingName

type DeviceOperatingSystemMarketingName struct {
	// The operating system's marketing name in use on the device, such as `Catalina`.
	Value string `plist:"-" json:"-"`
}

DeviceOperatingSystemMarketingName: A status report of the device's operating system marketing name.

DeviceOperatingSystemMarketingName corresponds to declarative/status/device.operating-system.marketing-name.yaml (Status Device Operating System Marketing Name).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (DeviceOperatingSystemMarketingName) MarshalJSON

func (x DeviceOperatingSystemMarketingName) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*DeviceOperatingSystemMarketingName) SchemaPath

SchemaPath returns the Apple schema file this type was generated from.

func (*DeviceOperatingSystemMarketingName) StatusItemTypeName

func (*DeviceOperatingSystemMarketingName) StatusItemTypeName() string

StatusItemTypeName returns "device.operating-system.marketing-name".

func (*DeviceOperatingSystemMarketingName) UnmarshalJSON

func (x *DeviceOperatingSystemMarketingName) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*DeviceOperatingSystemMarketingName) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type DeviceOperatingSystemSupplementalBuildVersion

type DeviceOperatingSystemSupplementalBuildVersion struct {
	// The operating system's build and Background Security Improvement versions in use on the
	// device, for example, `20A123a` or `20B27c`.
	Value string `plist:"-" json:"-"`
}

DeviceOperatingSystemSupplementalBuildVersion: A status report of the device's operating system supplemental build identifier.

DeviceOperatingSystemSupplementalBuildVersion corresponds to declarative/status/device.operating-system.supplemental.build-version.yaml (Status Device Operating System Supplemental Build Version).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (DeviceOperatingSystemSupplementalBuildVersion) MarshalJSON

MarshalJSON encodes the status value.

func (*DeviceOperatingSystemSupplementalBuildVersion) SchemaPath

SchemaPath returns the Apple schema file this type was generated from.

func (*DeviceOperatingSystemSupplementalBuildVersion) StatusItemTypeName

StatusItemTypeName returns "device.operating-system.supplemental.build-version".

func (*DeviceOperatingSystemSupplementalBuildVersion) UnmarshalJSON

func (x *DeviceOperatingSystemSupplementalBuildVersion) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*DeviceOperatingSystemSupplementalBuildVersion) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type DeviceOperatingSystemSupplementalExtraVersion

type DeviceOperatingSystemSupplementalExtraVersion struct {
	// The operating system's Background Security Improvement version in use on the device, for
	// example, `a`.
	Value string `plist:"-" json:"-"`
}

DeviceOperatingSystemSupplementalExtraVersion: A status report of the device's operating system's Background Security Improvement identifier.

DeviceOperatingSystemSupplementalExtraVersion corresponds to declarative/status/device.operating-system.supplemental.extra-version.yaml (Status Device Operating System Supplemental Extra Version).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (DeviceOperatingSystemSupplementalExtraVersion) MarshalJSON

MarshalJSON encodes the status value.

func (*DeviceOperatingSystemSupplementalExtraVersion) SchemaPath

SchemaPath returns the Apple schema file this type was generated from.

func (*DeviceOperatingSystemSupplementalExtraVersion) StatusItemTypeName

StatusItemTypeName returns "device.operating-system.supplemental.extra-version".

func (*DeviceOperatingSystemSupplementalExtraVersion) UnmarshalJSON

func (x *DeviceOperatingSystemSupplementalExtraVersion) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*DeviceOperatingSystemSupplementalExtraVersion) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type DeviceOperatingSystemVersion

type DeviceOperatingSystemVersion struct {
	// The operating system's version in use on the device, such as `15.0`.
	Value string `plist:"-" json:"-"`
}

DeviceOperatingSystemVersion: A status report of the device's operating system version.

DeviceOperatingSystemVersion corresponds to declarative/status/device.operating-system.version.yaml (Status Device Operating System Version).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (DeviceOperatingSystemVersion) MarshalJSON

func (x DeviceOperatingSystemVersion) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*DeviceOperatingSystemVersion) SchemaPath

func (*DeviceOperatingSystemVersion) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*DeviceOperatingSystemVersion) StatusItemTypeName

func (*DeviceOperatingSystemVersion) StatusItemTypeName() string

StatusItemTypeName returns "device.operating-system.version".

func (*DeviceOperatingSystemVersion) UnmarshalJSON

func (x *DeviceOperatingSystemVersion) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*DeviceOperatingSystemVersion) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type DeviceSerialNumber

type DeviceSerialNumber struct {
	// The device's serial number.
	Value string `plist:"-" json:"-"`
}

DeviceSerialNumber: A status report of the device's serial number.

DeviceSerialNumber corresponds to declarative/status/device.identifier.serial-number.yaml (Status Device Serial Number).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (DeviceSerialNumber) MarshalJSON

func (x DeviceSerialNumber) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*DeviceSerialNumber) SchemaPath

func (*DeviceSerialNumber) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*DeviceSerialNumber) StatusItemTypeName

func (*DeviceSerialNumber) StatusItemTypeName() string

StatusItemTypeName returns "device.identifier.serial-number".

func (*DeviceSerialNumber) UnmarshalJSON

func (x *DeviceSerialNumber) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*DeviceSerialNumber) Validate

func (x *DeviceSerialNumber) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type DeviceUDID

type DeviceUDID struct {
	// The device's UDID. This value is always available on the device channel. This value is
	// only available on user channels whose organization matches that of the device channel.
	Value string `plist:"-" json:"-"`
}

DeviceUDID: A status report of the device's UDID.

DeviceUDID corresponds to declarative/status/device.identifier.udid.yaml (Status Device UDID).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (DeviceUDID) MarshalJSON

func (x DeviceUDID) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*DeviceUDID) SchemaPath

func (*DeviceUDID) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*DeviceUDID) StatusItemTypeName

func (*DeviceUDID) StatusItemTypeName() string

StatusItemTypeName returns "device.identifier.udid".

func (*DeviceUDID) UnmarshalJSON

func (x *DeviceUDID) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*DeviceUDID) Validate

func (x *DeviceUDID) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type DiskManagementFileVaultEnabled

type DiskManagementFileVaultEnabled struct {
	// A Boolean value that specifies the File Vault enabled status on the device.
	Value bool `plist:"-" json:"-"`
}

DiskManagementFileVaultEnabled: The enabled status of the File Vault.

DiskManagementFileVaultEnabled corresponds to declarative/status/diskmanagement.filevault.enabled.yaml (Status Disk Management File Vault Enabled).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (DiskManagementFileVaultEnabled) MarshalJSON

func (x DiskManagementFileVaultEnabled) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*DiskManagementFileVaultEnabled) SchemaPath

func (*DiskManagementFileVaultEnabled) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*DiskManagementFileVaultEnabled) StatusItemTypeName

func (*DiskManagementFileVaultEnabled) StatusItemTypeName() string

StatusItemTypeName returns "diskmanagement.filevault.enabled".

func (*DiskManagementFileVaultEnabled) UnmarshalJSON

func (x *DiskManagementFileVaultEnabled) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*DiskManagementFileVaultEnabled) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type Entry

type Entry struct {
	// ID is the wire identifier: RequestType, MessageType, PayloadType,
	// DeclarationType, StatusItemType, error code, or type name.
	ID string
	// Schema is the YAML path in apple/device-management.
	Schema string
	Title  string
	// New returns a zero value of the type as Item.
	New func() Item
	// NewResponse returns a zero response value, or nil when the schema
	// defines no response keys.
	NewResponse func() any
}

Entry describes one schema in the Registry.

func ByID

func ByID(id string) []Entry

ByID returns every entry with the given wire identifier, sorted by type name.

type Item

type Item interface {
	// StatusItemTypeName returns the wire identifier from Apple's schema.
	StatusItemTypeName() string
	// SchemaPath returns the schema file the type was generated from.
	SchemaPath() string
	// Validate checks the value against the schema for the target.
	Validate(t support.Target) error
}

Item is implemented by every top-level type in this package.

type MDMApp

type MDMApp struct {
	// The list of apps. The response doesn't include apps that are managed by Declarative
	// Device Management.
	Value []MDMAppApp `plist:"-" json:"-"`
}

MDMApp: A status report of the client's MDM-installed apps.

MDMApp corresponds to declarative/status/mdm.app.yaml (Status MDM App).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (MDMApp) MarshalJSON

func (x MDMApp) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*MDMApp) SchemaPath

func (*MDMApp) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*MDMApp) StatusItemTypeName

func (*MDMApp) StatusItemTypeName() string

StatusItemTypeName returns "mdm.app".

func (*MDMApp) UnmarshalJSON

func (x *MDMApp) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*MDMApp) Validate

func (x *MDMApp) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type MDMAppApp

type MDMAppApp struct {
	// The app's bundle id, which is unique.
	Identifier string `plist:"identifier" json:"identifier"`
	// If `true`, the system removed the app and only this key and the `identifier` key are
	// present in the status item object. The device reports an MDM-installed app as removed if
	// management of the app has been transferred to Declarative Device Management.
	Removed *bool `plist:"_removed,omitempty" json:"_removed,omitempty"`
	// The name of the app.
	Name *string `plist:"name,omitempty" json:"name,omitempty"`
	// The app's external version identifier. You can also retrieve this value from the App
	// Store. For more information, see `Apps and Books for Organizations`.
	ExternalVersionId *string `plist:"external-version-id,omitempty" json:"external-version-id,omitempty"`
	// The version of the app.
	Version *string `plist:"version,omitempty" json:"version,omitempty"`
	// The short version of the app.
	ShortVersion *string `plist:"short-version,omitempty" json:"short-version,omitempty"`
	// The status of the app that `ManagedApplicationListCommand` reports.
	State *string `plist:"state,omitempty" json:"state,omitempty"`
}

MDMAppApp: A status report that contains details about an MDM-installed app.

type ManagementClientCapabilities

type ManagementClientCapabilities struct {
	// An object that contains the client's protocol capabilities. These typically only change
	// when the device upgrades its software. An implicit status subscription for this status
	// item is always present, so the client always reports changes to the server.
	Value ManagementClientCapabilitiesCapabilities `plist:"-" json:"-"`
}

ManagementClientCapabilities: A status report of the client's protocol capabilities.

ManagementClientCapabilities corresponds to declarative/status/management.client-capabilities.yaml (Status Management Client Capabilities).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (ManagementClientCapabilities) MarshalJSON

func (x ManagementClientCapabilities) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*ManagementClientCapabilities) SchemaPath

func (*ManagementClientCapabilities) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*ManagementClientCapabilities) StatusItemTypeName

func (*ManagementClientCapabilities) StatusItemTypeName() string

StatusItemTypeName returns "management.client-capabilities".

func (*ManagementClientCapabilities) UnmarshalJSON

func (x *ManagementClientCapabilities) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*ManagementClientCapabilities) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type ManagementClientCapabilitiesCapabilities

type ManagementClientCapabilitiesCapabilities struct {
	// A list of protocol versions that the client supports.
	SupportedVersions []string `plist:"supported-versions,omitempty" json:"supported-versions,omitempty"`
	// A set of optional protocol features that the client supports. Each object's key
	// represents a feature, and the property value represents the feature's associated
	// parameters.
	SupportedFeatures map[string]any `plist:"supported-features,omitempty" json:"supported-features,omitempty"`
	// A set of declaration and status items that the client supports.
	SupportedPayloads ManagementClientCapabilitiesCapabilitiesSupportedPayloads `plist:"supported-payloads,omitempty" json:"supported-payloads,omitempty"`
}

ManagementClientCapabilitiesCapabilities: An object that contains the client's protocol capabilities. These typically only change when the device upgrades its software. An implicit status subscription for this status item is always present, so the client always reports changes to the server.

type ManagementClientCapabilitiesCapabilitiesSupportedPayloads

type ManagementClientCapabilitiesCapabilitiesSupportedPayloads struct {
	// A set of declarations that the client supports.
	Declarations ManagementClientCapabilitiesCapabilitiesSupportedPayloadsDeclarations `plist:"declarations,omitempty" json:"declarations,omitempty"`
	// A list of status items that the client supports.
	StatusItems []string `plist:"status-items,omitempty" json:"status-items,omitempty"`
}

ManagementClientCapabilitiesCapabilitiesSupportedPayloads: A set of declaration and status items that the client supports.

type ManagementClientCapabilitiesCapabilitiesSupportedPayloadsDeclarations

type ManagementClientCapabilitiesCapabilitiesSupportedPayloadsDeclarations struct {
	// An array of strings that represents the activation types that the client supports.
	Activations []string `plist:"activations,omitempty" json:"activations,omitempty"`
	// An array of strings that represents the assets that the client supports.
	Assets []string `plist:"assets,omitempty" json:"assets,omitempty"`
	// An array of strings that represents the configuration types that the client supports.
	Configurations []string `plist:"configurations,omitempty" json:"configurations,omitempty"`
	// An array of strings that represents the declaration types that the client supports.
	Management []string `plist:"management,omitempty" json:"management,omitempty"`
}

ManagementClientCapabilitiesCapabilitiesSupportedPayloadsDeclarations: A set of declarations that the client supports.

type ManagementDeclarations

type ManagementDeclarations struct {
	// A collection of the client's processed declarations.
	Value ManagementDeclarationsDeclarations `plist:"-" json:"-"`
}

ManagementDeclarations: A status report of the client's processed declarations.

ManagementDeclarations corresponds to declarative/status/management.declarations.yaml (Status Management Declarations).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (ManagementDeclarations) MarshalJSON

func (x ManagementDeclarations) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*ManagementDeclarations) SchemaPath

func (*ManagementDeclarations) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*ManagementDeclarations) StatusItemTypeName

func (*ManagementDeclarations) StatusItemTypeName() string

StatusItemTypeName returns "management.declarations".

func (*ManagementDeclarations) UnmarshalJSON

func (x *ManagementDeclarations) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*ManagementDeclarations) Validate

func (x *ManagementDeclarations) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type ManagementDeclarationsDeclaration

type ManagementDeclarationsDeclaration struct {
	// The `identifier` of the declaration this status report refers to.
	Identifier string `plist:"identifier" json:"identifier"`
	// The `ServerToken` of the declaration this status report refers to.
	ServerToken string `plist:"server-token" json:"server-token"`
	// If `true`, the declaration is active on the device.
	Active bool `plist:"active" json:"active"`
	// This string defines the validity of the declaration. If it's `invalid`, the `reasons`
	// property contains more details.
	Valid string `plist:"valid" json:"valid"`
	// The details of any client errors.
	Reasons []ManagementDeclarationsStatusReason `plist:"reasons,omitempty" json:"reasons,omitempty"`
}

ManagementDeclarationsDeclaration: Status for a declaration processed by the client.

type ManagementDeclarationsDeclarations

type ManagementDeclarationsDeclarations struct {
	// An array of declarations that represent the client's processed activation types.
	Activations []ManagementDeclarationsDeclaration `plist:"activations,omitempty" json:"activations,omitempty"`
	// An array of declarations that represent the client's processed configuration types.
	Configurations []ManagementDeclarationsDeclaration `plist:"configurations,omitempty" json:"configurations,omitempty"`
	// An array of declarations that represent the client's processed assets.
	Assets []ManagementDeclarationsDeclaration `plist:"assets,omitempty" json:"assets,omitempty"`
	// An array of declarations that represent the client's processed declaration types.
	Management []ManagementDeclarationsDeclaration `plist:"management,omitempty" json:"management,omitempty"`
}

ManagementDeclarationsDeclarations: A collection of the client's processed declarations.

type ManagementDeclarationsStatusReason

type ManagementDeclarationsStatusReason struct {
	// The error code for this error.
	Code string `plist:"code" json:"code"`
	// The description for this error.
	Description *string `plist:"description,omitempty" json:"description,omitempty"`
	// A dictionary that contains further details about this error.
	Details map[string]any `plist:"details,omitempty" json:"details,omitempty"`
}

ManagementDeclarationsStatusReason: Information about a status error.

type MigrationAssistantReport

type MigrationAssistantReport struct {
	// The Migration Assistant migration status.
	Value MigrationAssistantReportMigrationAssistantReport `plist:"-" json:"-"`
}

MigrationAssistantReport: Reports the status of a completed migration.

MigrationAssistantReport corresponds to declarative/status/migration-assistant.report.yaml (Status Migration Assistant Report).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (MigrationAssistantReport) MarshalJSON

func (x MigrationAssistantReport) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*MigrationAssistantReport) SchemaPath

func (*MigrationAssistantReport) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*MigrationAssistantReport) StatusItemTypeName

func (*MigrationAssistantReport) StatusItemTypeName() string

StatusItemTypeName returns "migration-assistant.report".

func (*MigrationAssistantReport) UnmarshalJSON

func (x *MigrationAssistantReport) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*MigrationAssistantReport) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type MigrationAssistantReportMigrationAssistantReport

type MigrationAssistantReportMigrationAssistantReport struct {
	// The total amount of data the system successfully migrated from the source system.
	CompletedDataSize *int64 `plist:"completed-data-size,omitempty" json:"completed-data-size,omitempty"`
	// The number of files successfully migrated from the source system.
	CompletedFileCount *int64 `plist:"completed-file-count,omitempty" json:"completed-file-count,omitempty"`
	// The RFC 3339 timestamp for when the system completed migration.
	CompletionTime *string `plist:"completion-time,omitempty" json:"completion-time,omitempty"`
	// The username of the user that the system migrated from the source system.
	SourceUser *string `plist:"source-user,omitempty" json:"source-user,omitempty"`
	// The RFC 3339 timestamp for when the system started migration.
	StartTime *string `plist:"start-time,omitempty" json:"start-time,omitempty"`
	// The username of the target user account on the destination system.
	TargetUser *string `plist:"target-user,omitempty" json:"target-user,omitempty"`
	// The total amount of data the system considers in scope for migration from the source
	// system.
	TotalDataSize *int64 `plist:"total-data-size,omitempty" json:"total-data-size,omitempty"`
	// The number of files the system considers in scope for migration from the source system.
	TotalFileCount *int64 `plist:"total-file-count,omitempty" json:"total-file-count,omitempty"`
	// The descriptions of migration errors that the system reports.
	Errors []string `plist:"errors,omitempty" json:"errors,omitempty"`
}

MigrationAssistantReportMigrationAssistantReport: The Migration Assistant migration status.

type MigrationAssistantState

type MigrationAssistantState struct {
	// The current migration state of the system, which has the following possible values: -
	// `none`: Migration has not started yet or no migration has taken place. - `migrating`:
	// Migration is in progress. - `completed`: Migration has completed successfully. -
	// `failed`: Migration has failed. - `cancelled`: The user cancelled migration. -
	// `unknown`: Migration status is unknown.
	Value string `plist:"-" json:"-"`
}

MigrationAssistantState: The current migration state of the system.

MigrationAssistantState corresponds to declarative/status/migration-assistant.state.yaml (Status Migration Assistant State).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (MigrationAssistantState) MarshalJSON

func (x MigrationAssistantState) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*MigrationAssistantState) SchemaPath

func (*MigrationAssistantState) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*MigrationAssistantState) StatusItemTypeName

func (*MigrationAssistantState) StatusItemTypeName() string

StatusItemTypeName returns "migration-assistant.state".

func (*MigrationAssistantState) UnmarshalJSON

func (x *MigrationAssistantState) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*MigrationAssistantState) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type PackageList

type PackageList struct {
	// An array of dictionaries that describe the device's declarative packages.
	Value []PackageListPackage `plist:"-" json:"-"`
}

PackageList: The client's declarative packages.

PackageList corresponds to declarative/status/package.list.yaml (Status Package List).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (PackageList) MarshalJSON

func (x PackageList) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*PackageList) SchemaPath

func (*PackageList) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*PackageList) StatusItemTypeName

func (*PackageList) StatusItemTypeName() string

StatusItemTypeName returns "package.list".

func (*PackageList) UnmarshalJSON

func (x *PackageList) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*PackageList) Validate

func (x *PackageList) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type PackageListPackage

type PackageListPackage struct {
	// The package's unique identifier. This is the package identifier value of the package
	// file.
	Identifier string `plist:"identifier" json:"identifier"`
	// If `true`, the system removed the package and only this key and the `identifier` key are
	// present in the status item object.
	Removed *bool `plist:"_removed,omitempty" json:"_removed,omitempty"`
	// The identifier of the declaration that controls the package.
	DeclarationIdentifier *string `plist:"declaration-identifier,omitempty" json:"declaration-identifier,omitempty"`
	// The name of the package.
	Name *string `plist:"name,omitempty" json:"name,omitempty"`
	// The version of the package. This will be the package version value of the package file.
	Version *string `plist:"version,omitempty" json:"version,omitempty"`
	// The status of the package, which has the following possible values:
	State *string `plist:"state,omitempty" json:"state,omitempty"`
	// An array that contains additional details about the package state, including errors.
	Reasons []PackageListStatusReason `plist:"reasons,omitempty" json:"reasons,omitempty"`
}

PackageListPackage: A dictionary that describes a declarative package.

type PackageListStatusReason

type PackageListStatusReason struct {
	// A code for the state.
	Code string `plist:"code" json:"code"`
	// A description of the state.
	Description *string `plist:"description,omitempty" json:"description,omitempty"`
	// A dictionary that contains additional details about the state.
	Details map[string]any `plist:"details,omitempty" json:"details,omitempty"`
}

PackageListStatusReason: Information about a status error.

type PasscodeCompliance

type PasscodeCompliance struct {
	// If `true`, the passcode is in compliance with all passcode policies set on the device.
	// If `false`, the passcode isn't in compliance with one or more passcode policies set on
	// the device. When there are no passcode policies on the device, this value `true`.
	Value bool `plist:"-" json:"-"`
}

PasscodeCompliance: A status report of passcode compliance.

PasscodeCompliance corresponds to declarative/status/passcode.is-compliant.yaml (Status Passcode Compliance).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (PasscodeCompliance) MarshalJSON

func (x PasscodeCompliance) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*PasscodeCompliance) SchemaPath

func (*PasscodeCompliance) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*PasscodeCompliance) StatusItemTypeName

func (*PasscodeCompliance) StatusItemTypeName() string

StatusItemTypeName returns "passcode.is-compliant".

func (*PasscodeCompliance) UnmarshalJSON

func (x *PasscodeCompliance) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*PasscodeCompliance) Validate

func (x *PasscodeCompliance) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type PasscodeIsPresent

type PasscodeIsPresent struct {
	// If `true`, a passcode is present on the device. If `false`, a passcode isn't present on
	// the device. When a passcode is present, the specific attributes of the passcode, such as
	// length or number of complex characters, aren't reported. Instead, use the
	// `passcode.is-compliant` status item to verify that the passcode complies with all
	// passcode policies set on the device.
	Value bool `plist:"-" json:"-"`
}

PasscodeIsPresent: A status report of the passcode on the device.

PasscodeIsPresent corresponds to declarative/status/passcode.is-present.yaml (Status Passcode Is Present).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (PasscodeIsPresent) MarshalJSON

func (x PasscodeIsPresent) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*PasscodeIsPresent) SchemaPath

func (*PasscodeIsPresent) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*PasscodeIsPresent) StatusItemTypeName

func (*PasscodeIsPresent) StatusItemTypeName() string

StatusItemTypeName returns "passcode.is-present".

func (*PasscodeIsPresent) UnmarshalJSON

func (x *PasscodeIsPresent) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*PasscodeIsPresent) Validate

func (x *PasscodeIsPresent) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type Reason

type Reason struct {
	// The error code for this error.
	Code string `plist:"code" json:"code"`
	// A description of this error.
	Description *string `plist:"description,omitempty" json:"description,omitempty"`
	// A dictionary that contains additional details about the error.
	Details map[string]any `plist:"details,omitempty" json:"details,omitempty"`
}

Reason: Provides details about an error for an item in a status report.

Reason corresponds to declarative/status/statusreason.yaml (Status Reason).

func (*Reason) SchemaPath

func (*Reason) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*Reason) StatusItemTypeName

func (*Reason) StatusItemTypeName() string

StatusItemTypeName returns "".

func (*Reason) Validate

func (x *Reason) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type ReasonDetail

type ReasonDetail struct {
	// Key is the wire key inside the details dictionary.
	Key string
	// Type is Apple's declared type for the value, such as "<string>".
	Type string
	// Description is Apple's prose for the key.
	Description string
}

ReasonDetail is one key Apple documents in the details dictionary of a reason. The keys a reason carries depend on the reason.

type ReasonEntry

type ReasonEntry struct {
	// Code is the wire value, matching the Code field of a status report reason.
	Code string
	// Description is Apple's prose for the code in this schema.
	Description string
	// Schema is the YAML path in apple/device-management that declares it.
	Schema string
	// Details are the keys Apple documents in the reason's details dictionary.
	Details []ReasonDetail
}

ReasonEntry is one reason code as a single schema declares it. Apple scopes the vocabulary to the schema, so a code that two schemas declare has one entry per schema and the prose differs between them.

type ScreenSharingConnectionGroupUnresolvedConnections

type ScreenSharingConnectionGroupUnresolvedConnections struct {
	// A status item that contains an array of unresolved connection groups.
	Value []ScreenSharingConnectionGroupUnresolvedConnectionsUnresolvedGroup `plist:"-" json:"-"`
}

ScreenSharingConnectionGroupUnresolvedConnections: Information about connection groups with member connection references that the system couldn't resolve.

ScreenSharingConnectionGroupUnresolvedConnections corresponds to declarative/status/screensharing.connection.group.unresolved-connection.yaml (Status Screen Sharing Connection Group Unresolved Connections).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (ScreenSharingConnectionGroupUnresolvedConnections) MarshalJSON

MarshalJSON encodes the status value.

func (*ScreenSharingConnectionGroupUnresolvedConnections) SchemaPath

SchemaPath returns the Apple schema file this type was generated from.

func (*ScreenSharingConnectionGroupUnresolvedConnections) StatusItemTypeName

StatusItemTypeName returns "screensharing.connection.group.unresolved-connection".

func (*ScreenSharingConnectionGroupUnresolvedConnections) UnmarshalJSON

UnmarshalJSON decodes the status value.

func (*ScreenSharingConnectionGroupUnresolvedConnections) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type ScreenSharingConnectionGroupUnresolvedConnectionsUnresolvedGroup

type ScreenSharingConnectionGroupUnresolvedConnectionsUnresolvedGroup struct {
	// The unique `ConnectionGroupUUID` identifier of the connection group.
	Identifier string `plist:"identifier" json:"identifier"`
	// If `true`, the system removed the unresolved connection group and only this key and the
	// `identifier` key are present in the status item object.
	Removed *bool `plist:"_removed,omitempty" json:"_removed,omitempty"`
	// An array of `ConnectionUUID` values specified in the `Members` key in the group's
	// declaration for the unresolved connections.
	UnresolvedConnections []string `plist:"unresolved_connections,omitempty" json:"unresolved_connections,omitempty"`
}

ScreenSharingConnectionGroupUnresolvedConnectionsUnresolvedGroup: A status item that contains an unresolved connection group.

type SecurityCertificateList

type SecurityCertificateList struct {
	// A list of the device's managed certificates.
	Value []SecurityCertificateListCertificate `plist:"-" json:"-"`
}

SecurityCertificateList: A status report of the client's managed certificates.

SecurityCertificateList corresponds to declarative/status/security.certificate.list.yaml (Status Security Certificate List).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (SecurityCertificateList) MarshalJSON

func (x SecurityCertificateList) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*SecurityCertificateList) SchemaPath

func (*SecurityCertificateList) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*SecurityCertificateList) StatusItemTypeName

func (*SecurityCertificateList) StatusItemTypeName() string

StatusItemTypeName returns "security.certificate.list".

func (*SecurityCertificateList) UnmarshalJSON

func (x *SecurityCertificateList) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*SecurityCertificateList) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type SecurityCertificateListCertificate

type SecurityCertificateListCertificate struct {
	// The unique identifier of the certificate which the system uses as the primary key.
	Identifier string `plist:"identifier" json:"identifier"`
	// If `true`, the system removed the app and only this key and the `identifier` key are
	// present in the status item object.
	Removed *bool `plist:"_removed,omitempty" json:"_removed,omitempty"`
	// The identifier of the asset declaration that installed the certificate, which is only
	// present if a declaration installed the certificate.
	DeclarationIdentifier *string `plist:"declaration-identifier,omitempty" json:"declaration-identifier,omitempty"`
	// The summary of the certificate's subject.
	SubjectSummary string `plist:"subject-summary" json:"subject-summary"`
	// If `true`, the certificate is an identity certificate.
	IsIdentity bool `plist:"is-identity" json:"is-identity"`
	// The certificate data in DER-encoded X.509 format.
	Data []byte `plist:"data,omitempty" json:"data,omitempty"`
}

SecurityCertificateListCertificate: A status report of a security certificate.

type ServicesBackgroundTask

type ServicesBackgroundTask struct {
	// The background task.
	Value []ServicesBackgroundTaskBackgroundTask `plist:"-" json:"-"`
}

ServicesBackgroundTask: A status report of the device's background task details.

ServicesBackgroundTask corresponds to declarative/status/services.background-task.yaml (Status Services Background Task).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (ServicesBackgroundTask) MarshalJSON

func (x ServicesBackgroundTask) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*ServicesBackgroundTask) SchemaPath

func (*ServicesBackgroundTask) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*ServicesBackgroundTask) StatusItemTypeName

func (*ServicesBackgroundTask) StatusItemTypeName() string

StatusItemTypeName returns "services.background-task".

func (*ServicesBackgroundTask) UnmarshalJSON

func (x *ServicesBackgroundTask) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*ServicesBackgroundTask) Validate

func (x *ServicesBackgroundTask) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type ServicesBackgroundTaskBackgroundTask

type ServicesBackgroundTaskBackgroundTask struct {
	// The background task UUID which the system uses as the primary key.
	Identifier string `plist:"identifier" json:"identifier"`
	// If `true`, the background task is removed and the status item object only contains this
	// key and the `identifier` key.
	Removed *bool `plist:"_removed,omitempty" json:"_removed,omitempty"`
	// For types other than `agent` or `daemon`, this is the code signature designated
	// requirement of the item, if available.
	CodeSignature *string `plist:"code-signature,omitempty" json:"code-signature,omitempty"`
	// The numeric user identifier of the owner of the background task.
	Uid int64 `plist:"uid" json:"uid"`
	// For an `agent` or `daemon`, the path to the `launchd` `plist` file. For other types, the
	// path to the app or the document.
	Path string `plist:"path" json:"path"`
	// The `SMAppService.Status` enumeration.
	State string `plist:"state" json:"state"`
	// The daemon, agent, or SFL login item type.
	Type string `plist:"type" json:"type"`
	// Details about a `launchd`-based background task, which is only present when the type is
	// `daemon` or `agent`.
	Launchd *ServicesBackgroundTaskBackgroundTaskLaunchd `plist:"launchd,omitempty" json:"launchd,omitempty"`
}

ServicesBackgroundTaskBackgroundTask: A status report of a background task.

type ServicesBackgroundTaskBackgroundTaskLaunchd

type ServicesBackgroundTaskBackgroundTaskLaunchd struct {
	// The label of the `launchd`-based background task.
	Label string `plist:"label" json:"label"`
	// The program that the `launchd` `plist` file specifies.
	Program string `plist:"program" json:"program"`
	// The program arguments that the `launchd` `plist` file specifies.
	ProgramArguments []string `plist:"program-arguments,omitempty" json:"program-arguments,omitempty"`
	// The hash value of the `launchd` `plist` file.
	Checksum string `plist:"checksum" json:"checksum"`
	// A dictionary that indicates a `ServicesBackgroundTasks` configuration created this
	// background task. The dictionary contains properties that identify the configuration and
	// the declaration asset that provided the launchd plist for the task.
	DeviceManagement *ServicesBackgroundTaskBackgroundTaskLaunchdDeviceManagement `plist:"device-management,omitempty" json:"device-management,omitempty"`
}

ServicesBackgroundTaskBackgroundTaskLaunchd: Details about a `launchd`-based background task, which is only present when the type is `daemon` or `agent`.

type ServicesBackgroundTaskBackgroundTaskLaunchdDeviceManagement

type ServicesBackgroundTaskBackgroundTaskLaunchdDeviceManagement struct {
	// The identifier of the `ServicesBackgroundTasks` configuration that created this task.
	ConfigurationIdentifier string `plist:"configuration-identifier" json:"configuration-identifier"`
	// The `Identifier` of the declaration asset that provided the launchd plist for this task.
	AssetIdentifier string `plist:"asset-identifier" json:"asset-identifier"`
	// The `ServerToken` of the declaration asset that provided the launchd plist for this
	// task.
	AssetServerToken string `plist:"asset-server-token" json:"asset-server-token"`
}

ServicesBackgroundTaskBackgroundTaskLaunchdDeviceManagement: A dictionary that indicates a `ServicesBackgroundTasks` configuration created this background task. The dictionary contains properties that identify the configuration and the declaration asset that provided the launchd plist for the task.

type SoftwareUpdateBetaEnrollment

type SoftwareUpdateBetaEnrollment struct {
	// The device's enrolled beta program name, or an empty string if there's no enrolled beta
	// program.
	Value string `plist:"-" json:"-"`
}

SoftwareUpdateBetaEnrollment: A status report of the device's enrolled beta program.

SoftwareUpdateBetaEnrollment corresponds to declarative/status/softwareupdate.beta-enrollment.yaml (Status Software Update Beta Enrollment).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (SoftwareUpdateBetaEnrollment) MarshalJSON

func (x SoftwareUpdateBetaEnrollment) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*SoftwareUpdateBetaEnrollment) SchemaPath

func (*SoftwareUpdateBetaEnrollment) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*SoftwareUpdateBetaEnrollment) StatusItemTypeName

func (*SoftwareUpdateBetaEnrollment) StatusItemTypeName() string

StatusItemTypeName returns "softwareupdate.beta-enrollment".

func (*SoftwareUpdateBetaEnrollment) UnmarshalJSON

func (x *SoftwareUpdateBetaEnrollment) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*SoftwareUpdateBetaEnrollment) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type SoftwareUpdateDeviceID

type SoftwareUpdateDeviceID struct {
	// The device identifier to use when looking up available software updates via
	// `https://gdmf.apple.com/v2/pmv`.
	Value string `plist:"-" json:"-"`
}

SoftwareUpdateDeviceID: A status report of the device's update device ID.

SoftwareUpdateDeviceID corresponds to declarative/status/softwareupdate.device-id.yaml (Status Software Update Device ID).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (SoftwareUpdateDeviceID) MarshalJSON

func (x SoftwareUpdateDeviceID) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*SoftwareUpdateDeviceID) SchemaPath

func (*SoftwareUpdateDeviceID) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*SoftwareUpdateDeviceID) StatusItemTypeName

func (*SoftwareUpdateDeviceID) StatusItemTypeName() string

StatusItemTypeName returns "softwareupdate.device-id".

func (*SoftwareUpdateDeviceID) UnmarshalJSON

func (x *SoftwareUpdateDeviceID) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*SoftwareUpdateDeviceID) Validate

func (x *SoftwareUpdateDeviceID) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type SoftwareUpdateFailureReason

type SoftwareUpdateFailureReason struct {
	// Details about a software update failure.
	Value SoftwareUpdateFailureReasonDictionary `plist:"-" json:"-"`
}

SoftwareUpdateFailureReason: A status report of a software update failure reason.

SoftwareUpdateFailureReason corresponds to declarative/status/softwareupdate.failure-reason.yaml (Status Software Update Failure Reason).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (SoftwareUpdateFailureReason) MarshalJSON

func (x SoftwareUpdateFailureReason) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*SoftwareUpdateFailureReason) SchemaPath

func (*SoftwareUpdateFailureReason) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*SoftwareUpdateFailureReason) StatusItemTypeName

func (*SoftwareUpdateFailureReason) StatusItemTypeName() string

StatusItemTypeName returns "softwareupdate.failure-reason".

func (*SoftwareUpdateFailureReason) UnmarshalJSON

func (x *SoftwareUpdateFailureReason) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*SoftwareUpdateFailureReason) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type SoftwareUpdateFailureReasonDictionary

type SoftwareUpdateFailureReasonDictionary struct {
	// The number of times the current software update failed. If there are no failures, or no
	// pending software update, this is `0`.
	Count int64 `plist:"count" json:"count"`
	// If present, this describes the reason for last software update failure. This key isn't
	// present if there are no failures or no pending software update.
	Reason *string `plist:"reason,omitempty" json:"reason,omitempty"`
	// If present, this is the RFC 3339 timestamp of the last software update failure. This key
	// isn't present if there are no failures or no pending software update.
	Timestamp *string `plist:"timestamp,omitempty" json:"timestamp,omitempty"`
}

SoftwareUpdateFailureReasonDictionary: Details about a software update failure.

type SoftwareUpdateInstallReason

type SoftwareUpdateInstallReason struct {
	// Details about the reason for a pending software update.
	Value SoftwareUpdateInstallReasonDictionary `plist:"-" json:"-"`
}

SoftwareUpdateInstallReason: A status report of the reason for a pending software update on the device.

SoftwareUpdateInstallReason corresponds to declarative/status/softwareupdate.install-reason.yaml (Status Software Update Install Reason).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (SoftwareUpdateInstallReason) MarshalJSON

func (x SoftwareUpdateInstallReason) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*SoftwareUpdateInstallReason) SchemaPath

func (*SoftwareUpdateInstallReason) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*SoftwareUpdateInstallReason) StatusItemTypeName

func (*SoftwareUpdateInstallReason) StatusItemTypeName() string

StatusItemTypeName returns "softwareupdate.install-reason".

func (*SoftwareUpdateInstallReason) UnmarshalJSON

func (x *SoftwareUpdateInstallReason) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*SoftwareUpdateInstallReason) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type SoftwareUpdateInstallReasonDictionary

type SoftwareUpdateInstallReasonDictionary struct {
	// A list of reasons for the pending software update. An empty list indicates that no
	// software update is pending.
	Reason []string `plist:"reason,omitempty" json:"reason,omitempty"`
	// The identifier of the declaration that caused the software update to occur. This key is
	// present only if the `reason` array contains the `declaration` value.
	DeclarationId *string `plist:"declaration-id,omitempty" json:"declaration-id,omitempty"`
}

SoftwareUpdateInstallReasonDictionary: Details about the reason for a pending software update.

type SoftwareUpdateInstallState

type SoftwareUpdateInstallState struct {
	// The software update install status, which has the following values:
	Value string `plist:"-" json:"-"`
}

SoftwareUpdateInstallState: A status report of the software update install state.

SoftwareUpdateInstallState corresponds to declarative/status/softwareupdate.install-state.yaml (Status Software Update Install State).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (SoftwareUpdateInstallState) MarshalJSON

func (x SoftwareUpdateInstallState) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*SoftwareUpdateInstallState) SchemaPath

func (*SoftwareUpdateInstallState) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*SoftwareUpdateInstallState) StatusItemTypeName

func (*SoftwareUpdateInstallState) StatusItemTypeName() string

StatusItemTypeName returns "softwareupdate.install-state".

func (*SoftwareUpdateInstallState) UnmarshalJSON

func (x *SoftwareUpdateInstallState) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*SoftwareUpdateInstallState) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type SoftwareUpdatePendingVersion

type SoftwareUpdatePendingVersion struct {
	// A dictionary that contains the build and OS versions of the software update that's
	// pending on the device.
	Value SoftwareUpdatePendingVersionDictionary `plist:"-" json:"-"`
}

SoftwareUpdatePendingVersion: A status report of the pending software update version.

SoftwareUpdatePendingVersion corresponds to declarative/status/softwareupdate.pending-version.yaml (Status Software Update Pending Version).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (SoftwareUpdatePendingVersion) MarshalJSON

func (x SoftwareUpdatePendingVersion) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*SoftwareUpdatePendingVersion) SchemaPath

func (*SoftwareUpdatePendingVersion) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*SoftwareUpdatePendingVersion) StatusItemTypeName

func (*SoftwareUpdatePendingVersion) StatusItemTypeName() string

StatusItemTypeName returns "softwareupdate.pending-version".

func (*SoftwareUpdatePendingVersion) UnmarshalJSON

func (x *SoftwareUpdatePendingVersion) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*SoftwareUpdatePendingVersion) Validate

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type SoftwareUpdatePendingVersionDictionary

type SoftwareUpdatePendingVersionDictionary struct {
	// The OS version of the pending software update, including any Background Security
	// Improvement version. This string is empty if no update is pending.
	OsVersion string `plist:"os-version" json:"os-version"`
	// The build version of the pending software update, including any Background Security
	// Improvement version. This string is empty if no update is pending.
	BuildVersion string `plist:"build-version" json:"build-version"`
	// The local date time value that indicates when the pending software update will be
	// installed. This key is only present when the pending software update is being enforced.
	TargetLocalDateTime *string `plist:"target-local-date-time,omitempty" json:"target-local-date-time,omitempty"`
}

SoftwareUpdatePendingVersionDictionary: A dictionary that contains the build and OS versions of the software update that's pending on the device.

type TestArrayValue

type TestArrayValue struct {
	// The test status item array value.
	Value []TestArrayValueArray `plist:"-" json:"-"`
}

TestArrayValue: A test status item for an array.

TestArrayValue corresponds to declarative/status/test.array-value.yaml (Status Test Array Value).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (TestArrayValue) MarshalJSON

func (x TestArrayValue) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*TestArrayValue) SchemaPath

func (*TestArrayValue) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*TestArrayValue) StatusItemTypeName

func (*TestArrayValue) StatusItemTypeName() string

StatusItemTypeName returns "test.array-value".

func (*TestArrayValue) UnmarshalJSON

func (x *TestArrayValue) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*TestArrayValue) Validate

func (x *TestArrayValue) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type TestArrayValueArray

type TestArrayValueArray struct {
	// The value of the first sub-key.
	Key1 string `plist:"key1" json:"key1"`
	// The value of the second sub-key.
	Key2 *string `plist:"key2,omitempty" json:"key2,omitempty"`
}

TestArrayValueArray: A status value for the test status item array.

type TestBooleanValue

type TestBooleanValue struct {
	// The test status Boolean value.
	Value bool `plist:"-" json:"-"`
}

TestBooleanValue: A test status item for a Boolean value.

TestBooleanValue corresponds to declarative/status/test.boolean-value.yaml (Status Test Boolean Value).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (TestBooleanValue) MarshalJSON

func (x TestBooleanValue) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*TestBooleanValue) SchemaPath

func (*TestBooleanValue) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*TestBooleanValue) StatusItemTypeName

func (*TestBooleanValue) StatusItemTypeName() string

StatusItemTypeName returns "test.boolean-value".

func (*TestBooleanValue) UnmarshalJSON

func (x *TestBooleanValue) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*TestBooleanValue) Validate

func (x *TestBooleanValue) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type TestDictionaryValue

type TestDictionaryValue struct {
	// The test status dictionary value.
	Value TestDictionaryValueDictionary `plist:"-" json:"-"`
}

TestDictionaryValue: A test status item for a dictionary.

TestDictionaryValue corresponds to declarative/status/test.dictionary-value.yaml (Status Test Dictionary Value).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (TestDictionaryValue) MarshalJSON

func (x TestDictionaryValue) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*TestDictionaryValue) SchemaPath

func (*TestDictionaryValue) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*TestDictionaryValue) StatusItemTypeName

func (*TestDictionaryValue) StatusItemTypeName() string

StatusItemTypeName returns "test.dictionary-value".

func (*TestDictionaryValue) UnmarshalJSON

func (x *TestDictionaryValue) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*TestDictionaryValue) Validate

func (x *TestDictionaryValue) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type TestDictionaryValueDictionary

type TestDictionaryValueDictionary struct {
	// The value of the first sub-key.
	Key1 string `plist:"key1" json:"key1"`
	// The value of the second sub-key.
	Key2 *string `plist:"key2,omitempty" json:"key2,omitempty"`
}

TestDictionaryValueDictionary: The test status dictionary value.

type TestErrorValue

type TestErrorValue struct {
	// The test status error value.
	Value string `plist:"-" json:"-"`
}

TestErrorValue: A test status item for an error.

TestErrorValue corresponds to declarative/status/test.error-value.yaml (Status Test Error Value).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (TestErrorValue) MarshalJSON

func (x TestErrorValue) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*TestErrorValue) SchemaPath

func (*TestErrorValue) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*TestErrorValue) StatusItemTypeName

func (*TestErrorValue) StatusItemTypeName() string

StatusItemTypeName returns "test.error-value".

func (*TestErrorValue) UnmarshalJSON

func (x *TestErrorValue) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*TestErrorValue) Validate

func (x *TestErrorValue) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type TestIntegerValue

type TestIntegerValue struct {
	// The test status integer value.
	Value int64 `plist:"-" json:"-"`
}

TestIntegerValue: A test status item for an integer.

TestIntegerValue corresponds to declarative/status/test.integer-value.yaml (Status Test Integer Value).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (TestIntegerValue) MarshalJSON

func (x TestIntegerValue) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*TestIntegerValue) SchemaPath

func (*TestIntegerValue) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*TestIntegerValue) StatusItemTypeName

func (*TestIntegerValue) StatusItemTypeName() string

StatusItemTypeName returns "test.integer-value".

func (*TestIntegerValue) UnmarshalJSON

func (x *TestIntegerValue) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*TestIntegerValue) Validate

func (x *TestIntegerValue) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type TestRealValue

type TestRealValue struct {
	// The test status real value.
	Value float64 `plist:"-" json:"-"`
}

TestRealValue: A test status item for a real value.

TestRealValue corresponds to declarative/status/test.real-value.yaml (Status Test Real Value).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (TestRealValue) MarshalJSON

func (x TestRealValue) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*TestRealValue) SchemaPath

func (*TestRealValue) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*TestRealValue) StatusItemTypeName

func (*TestRealValue) StatusItemTypeName() string

StatusItemTypeName returns "test.real-value".

func (*TestRealValue) UnmarshalJSON

func (x *TestRealValue) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*TestRealValue) Validate

func (x *TestRealValue) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

type TestStringValue

type TestStringValue struct {
	// The test status string value.
	Value string `plist:"-" json:"-"`
}

TestStringValue: A test status item for a string.

TestStringValue corresponds to declarative/status/test.string-value.yaml (Status Test String Value).

The wire value is the Value field itself; this type exists so the status item has a name, a schema path, and support metadata.

func (TestStringValue) MarshalJSON

func (x TestStringValue) MarshalJSON() ([]byte, error)

MarshalJSON encodes the status value.

func (*TestStringValue) SchemaPath

func (*TestStringValue) SchemaPath() string

SchemaPath returns the Apple schema file this type was generated from.

func (*TestStringValue) StatusItemTypeName

func (*TestStringValue) StatusItemTypeName() string

StatusItemTypeName returns "test.string-value".

func (*TestStringValue) UnmarshalJSON

func (x *TestStringValue) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes the status value.

func (*TestStringValue) Validate

func (x *TestStringValue) Validate(t support.Target) error

Validate checks x against the schema. With a non-zero target it also checks that every present key is supported on that OS version and enrollment context.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL