github.com/yaegashi/msgraph.go@v0.1.4/beta/ModelMac.go (about)

     1  // Code generated by msgraph.go/gen DO NOT EDIT.
     2  
     3  package msgraph
     4  
     5  import "time"
     6  
     7  // MacManagedAppProtection undocumented
     8  type MacManagedAppProtection struct {
     9  	// Entity is the base model of MacManagedAppProtection
    10  	Entity
    11  }
    12  
    13  // MacOSCertificateProfileBase Mac OS certificate profile.
    14  type MacOSCertificateProfileBase struct {
    15  	// DeviceConfiguration is the base model of MacOSCertificateProfileBase
    16  	DeviceConfiguration
    17  	// RenewalThresholdPercentage Certificate renewal threshold percentage.
    18  	RenewalThresholdPercentage *int `json:"renewalThresholdPercentage,omitempty"`
    19  	// SubjectNameFormat Certificate Subject Name Format.
    20  	SubjectNameFormat *AppleSubjectNameFormat `json:"subjectNameFormat,omitempty"`
    21  	// SubjectAlternativeNameType Certificate Subject Alternative Name Type.
    22  	SubjectAlternativeNameType *SubjectAlternativeNameType `json:"subjectAlternativeNameType,omitempty"`
    23  	// CertificateValidityPeriodValue Value for the Certificate Validity Period.
    24  	CertificateValidityPeriodValue *int `json:"certificateValidityPeriodValue,omitempty"`
    25  	// CertificateValidityPeriodScale Scale for the Certificate Validity Period.
    26  	CertificateValidityPeriodScale *CertificateValidityPeriodScale `json:"certificateValidityPeriodScale,omitempty"`
    27  }
    28  
    29  // MacOSCompliancePolicy This class contains compliance settings for Mac OS.
    30  type MacOSCompliancePolicy struct {
    31  	// DeviceCompliancePolicy is the base model of MacOSCompliancePolicy
    32  	DeviceCompliancePolicy
    33  	// PasswordRequired Whether or not to require a password.
    34  	PasswordRequired *bool `json:"passwordRequired,omitempty"`
    35  	// PasswordBlockSimple Indicates whether or not to block simple passwords.
    36  	PasswordBlockSimple *bool `json:"passwordBlockSimple,omitempty"`
    37  	// PasswordExpirationDays Number of days before the password expires. Valid values 1 to 65535
    38  	PasswordExpirationDays *int `json:"passwordExpirationDays,omitempty"`
    39  	// PasswordMinimumLength Minimum length of password. Valid values 4 to 14
    40  	PasswordMinimumLength *int `json:"passwordMinimumLength,omitempty"`
    41  	// PasswordMinutesOfInactivityBeforeLock Minutes of inactivity before a password is required.
    42  	PasswordMinutesOfInactivityBeforeLock *int `json:"passwordMinutesOfInactivityBeforeLock,omitempty"`
    43  	// PasswordPreviousPasswordBlockCount Number of previous passwords to block. Valid values 1 to 24
    44  	PasswordPreviousPasswordBlockCount *int `json:"passwordPreviousPasswordBlockCount,omitempty"`
    45  	// PasswordMinimumCharacterSetCount The number of character sets required in the password.
    46  	PasswordMinimumCharacterSetCount *int `json:"passwordMinimumCharacterSetCount,omitempty"`
    47  	// PasswordRequiredType The required password type.
    48  	PasswordRequiredType *RequiredPasswordType `json:"passwordRequiredType,omitempty"`
    49  	// OsMinimumVersion Minimum MacOS version.
    50  	OsMinimumVersion *string `json:"osMinimumVersion,omitempty"`
    51  	// OsMaximumVersion Maximum MacOS version.
    52  	OsMaximumVersion *string `json:"osMaximumVersion,omitempty"`
    53  	// OsMinimumBuildVersion Minimum MacOS build version.
    54  	OsMinimumBuildVersion *string `json:"osMinimumBuildVersion,omitempty"`
    55  	// OsMaximumBuildVersion Maximum MacOS build version.
    56  	OsMaximumBuildVersion *string `json:"osMaximumBuildVersion,omitempty"`
    57  	// SystemIntegrityProtectionEnabled Require that devices have enabled system integrity protection.
    58  	SystemIntegrityProtectionEnabled *bool `json:"systemIntegrityProtectionEnabled,omitempty"`
    59  	// DeviceThreatProtectionEnabled Require that devices have enabled device threat protection.
    60  	DeviceThreatProtectionEnabled *bool `json:"deviceThreatProtectionEnabled,omitempty"`
    61  	// DeviceThreatProtectionRequiredSecurityLevel Require Mobile Threat Protection minimum risk level to report noncompliance.
    62  	DeviceThreatProtectionRequiredSecurityLevel *DeviceThreatProtectionLevel `json:"deviceThreatProtectionRequiredSecurityLevel,omitempty"`
    63  	// StorageRequireEncryption Require encryption on Mac OS devices.
    64  	StorageRequireEncryption *bool `json:"storageRequireEncryption,omitempty"`
    65  	// GatekeeperAllowedAppSource System and Privacy setting that determines which download locations apps can be run from on a macOS device.
    66  	GatekeeperAllowedAppSource *MacOSGatekeeperAppSources `json:"gatekeeperAllowedAppSource,omitempty"`
    67  	// FirewallEnabled Whether the firewall should be enabled or not.
    68  	FirewallEnabled *bool `json:"firewallEnabled,omitempty"`
    69  	// FirewallBlockAllIncoming Corresponds to the “Block all incoming connections” option.
    70  	FirewallBlockAllIncoming *bool `json:"firewallBlockAllIncoming,omitempty"`
    71  	// FirewallEnableStealthMode Corresponds to “Enable stealth mode.”
    72  	FirewallEnableStealthMode *bool `json:"firewallEnableStealthMode,omitempty"`
    73  }
    74  
    75  // MacOSCustomAppConfiguration This topic provides descriptions of the declared methods, properties and relationships exposed by the macOSCustomAppConfiguration resource.
    76  type MacOSCustomAppConfiguration struct {
    77  	// DeviceConfiguration is the base model of MacOSCustomAppConfiguration
    78  	DeviceConfiguration
    79  	// BundleID Bundle id for targeting.
    80  	BundleID *string `json:"bundleId,omitempty"`
    81  	// FileName Configuration file name (*.plist | *.xml).
    82  	FileName *string `json:"fileName,omitempty"`
    83  	// ConfigurationXML Configuration xml. (UTF8 encoded byte array)
    84  	ConfigurationXML *Binary `json:"configurationXml,omitempty"`
    85  }
    86  
    87  // MacOSCustomConfiguration This topic provides descriptions of the declared methods, properties and relationships exposed by the macOSCustomConfiguration resource.
    88  type MacOSCustomConfiguration struct {
    89  	// DeviceConfiguration is the base model of MacOSCustomConfiguration
    90  	DeviceConfiguration
    91  	// PayloadName Name that is displayed to the user.
    92  	PayloadName *string `json:"payloadName,omitempty"`
    93  	// PayloadFileName Payload file name (*.mobileconfig | *.xml).
    94  	PayloadFileName *string `json:"payloadFileName,omitempty"`
    95  	// Payload Payload. (UTF8 encoded byte array)
    96  	Payload *Binary `json:"payload,omitempty"`
    97  }
    98  
    99  // MacOSDeviceFeaturesConfiguration MacOS device features configuration profile.
   100  type MacOSDeviceFeaturesConfiguration struct {
   101  	// AppleDeviceFeaturesConfigurationBase is the base model of MacOSDeviceFeaturesConfiguration
   102  	AppleDeviceFeaturesConfigurationBase
   103  	// AutoLaunchItems List of applications, files, folders, and other items to launch when the user logs in. This collection can contain a maximum of 500 elements.
   104  	AutoLaunchItems []MacOSLaunchItem `json:"autoLaunchItems,omitempty"`
   105  	// AdminShowHostInfo Whether to show admin host information on the login window.
   106  	AdminShowHostInfo *bool `json:"adminShowHostInfo,omitempty"`
   107  	// LoginWindowText Custom text to be displayed on the login window.
   108  	LoginWindowText *string `json:"loginWindowText,omitempty"`
   109  	// AuthorizedUsersListHidden Whether to show the name and password dialog or a list of users on the login window.
   110  	AuthorizedUsersListHidden *bool `json:"authorizedUsersListHidden,omitempty"`
   111  	// AuthorizedUsersListHideLocalUsers Whether to show only network and system users in the authorized users list on the login window.
   112  	AuthorizedUsersListHideLocalUsers *bool `json:"authorizedUsersListHideLocalUsers,omitempty"`
   113  	// AuthorizedUsersListHideMobileAccounts Whether to hide mobile users in the authorized users list on the login window.
   114  	AuthorizedUsersListHideMobileAccounts *bool `json:"authorizedUsersListHideMobileAccounts,omitempty"`
   115  	// AuthorizedUsersListIncludeNetworkUsers Whether to show network users in the authorized users list on the login window.
   116  	AuthorizedUsersListIncludeNetworkUsers *bool `json:"authorizedUsersListIncludeNetworkUsers,omitempty"`
   117  	// AuthorizedUsersListHideAdminUsers Whether to hide admin users in the authorized users list on the login window.
   118  	AuthorizedUsersListHideAdminUsers *bool `json:"authorizedUsersListHideAdminUsers,omitempty"`
   119  	// AuthorizedUsersListShowOtherManagedUsers Whether to show other users in the authorized users list on the login window.
   120  	AuthorizedUsersListShowOtherManagedUsers *bool `json:"authorizedUsersListShowOtherManagedUsers,omitempty"`
   121  	// ShutDownDisabled Whether to hide the Shut Down button item on the login window.
   122  	ShutDownDisabled *bool `json:"shutDownDisabled,omitempty"`
   123  	// RestartDisabled Whether to hide the Restart button item on the login window.
   124  	RestartDisabled *bool `json:"restartDisabled,omitempty"`
   125  	// SleepDisabled Whether to hide the Sleep menu item on the login window.
   126  	SleepDisabled *bool `json:"sleepDisabled,omitempty"`
   127  	// ConsoleAccessDisabled Whether the Other user will disregard use of the `>console> special user name.
   128  	ConsoleAccessDisabled *bool `json:"consoleAccessDisabled,omitempty"`
   129  	// ShutDownDisabledWhileLoggedIn Whether the Shut Down menu item on the login window will be disabled while the user is logged in.
   130  	ShutDownDisabledWhileLoggedIn *bool `json:"shutDownDisabledWhileLoggedIn,omitempty"`
   131  	// RestartDisabledWhileLoggedIn Whether the Restart menu item on the login window will be disabled while the user is logged in.
   132  	RestartDisabledWhileLoggedIn *bool `json:"restartDisabledWhileLoggedIn,omitempty"`
   133  	// PowerOffDisabledWhileLoggedIn Whether the Power Off menu item on the login window will be disabled while the user is logged in.
   134  	PowerOffDisabledWhileLoggedIn *bool `json:"powerOffDisabledWhileLoggedIn,omitempty"`
   135  	// LogOutDisabledWhileLoggedIn Whether the Log Out menu item on the login window will be disabled while the user is logged in.
   136  	LogOutDisabledWhileLoggedIn *bool `json:"logOutDisabledWhileLoggedIn,omitempty"`
   137  	// ScreenLockDisableImmediate Whether to disable the immediate screen lock functions.
   138  	ScreenLockDisableImmediate *bool `json:"screenLockDisableImmediate,omitempty"`
   139  	// AssociatedDomains Gets or sets a list that maps apps to their associated domains. The key should match the app's ID, and the value should be a string in the form of "service:domain" where domain is a fully qualified hostname (e.g. webcredentials:example.com). This collection can contain a maximum of 500 elements.
   140  	AssociatedDomains []KeyValuePair `json:"associatedDomains,omitempty"`
   141  	// SingleSignOnExtension Gets or sets a single sign-on extension profile.
   142  	SingleSignOnExtension *SingleSignOnExtension `json:"singleSignOnExtension,omitempty"`
   143  	// SingleSignOnExtensionPkinitCertificate undocumented
   144  	SingleSignOnExtensionPkinitCertificate *MacOSCertificateProfileBase `json:"singleSignOnExtensionPkinitCertificate,omitempty"`
   145  }
   146  
   147  // MacOSEndpointProtectionConfiguration MacOS endpoint protection configuration profile.
   148  type MacOSEndpointProtectionConfiguration struct {
   149  	// DeviceConfiguration is the base model of MacOSEndpointProtectionConfiguration
   150  	DeviceConfiguration
   151  	// GatekeeperAllowedAppSource System and Privacy setting that determines which download locations apps can be run from on a macOS device.
   152  	GatekeeperAllowedAppSource *MacOSGatekeeperAppSources `json:"gatekeeperAllowedAppSource,omitempty"`
   153  	// GatekeeperBlockOverride If set to true, the user override for Gatekeeper will be disabled.
   154  	GatekeeperBlockOverride *bool `json:"gatekeeperBlockOverride,omitempty"`
   155  	// FirewallEnabled Whether the firewall should be enabled or not.
   156  	FirewallEnabled *bool `json:"firewallEnabled,omitempty"`
   157  	// FirewallBlockAllIncoming Corresponds to the “Block all incoming connections” option.
   158  	FirewallBlockAllIncoming *bool `json:"firewallBlockAllIncoming,omitempty"`
   159  	// FirewallEnableStealthMode Corresponds to “Enable stealth mode.”
   160  	FirewallEnableStealthMode *bool `json:"firewallEnableStealthMode,omitempty"`
   161  	// FirewallApplications List of applications with firewall settings. Firewall settings for applications not on this list are determined by the user. This collection can contain a maximum of 500 elements.
   162  	FirewallApplications []MacOSFirewallApplication `json:"firewallApplications,omitempty"`
   163  	// FileVaultEnabled Whether FileVault should be enabled or not.
   164  	FileVaultEnabled *bool `json:"fileVaultEnabled,omitempty"`
   165  	// FileVaultSelectedRecoveryKeyTypes Required if FileVault is enabled, determines the type(s) of recovery key to use.
   166  	FileVaultSelectedRecoveryKeyTypes *MacOSFileVaultRecoveryKeyTypes `json:"fileVaultSelectedRecoveryKeyTypes,omitempty"`
   167  	// FileVaultInstitutionalRecoveryKeyCertificate Required if selected recovery key type(s) include InstitutionalRecoveryKey. The DER Encoded certificate file used to set an institutional recovery key.
   168  	FileVaultInstitutionalRecoveryKeyCertificate *Binary `json:"fileVaultInstitutionalRecoveryKeyCertificate,omitempty"`
   169  	// FileVaultInstitutionalRecoveryKeyCertificateFileName File name of the institutional recovery key certificate to display in UI. (*.der).
   170  	FileVaultInstitutionalRecoveryKeyCertificateFileName *string `json:"fileVaultInstitutionalRecoveryKeyCertificateFileName,omitempty"`
   171  	// FileVaultPersonalRecoveryKeyHelpMessage Required if selected recovery key type(s) include PersonalRecoveryKey. A short message displayed to the user that explains how they can retrieve their personal recovery key.
   172  	FileVaultPersonalRecoveryKeyHelpMessage *string `json:"fileVaultPersonalRecoveryKeyHelpMessage,omitempty"`
   173  	// FileVaultAllowDeferralUntilSignOut Optional. If set to true, the user can defer the enabling of FileVault until they sign out.
   174  	FileVaultAllowDeferralUntilSignOut *bool `json:"fileVaultAllowDeferralUntilSignOut,omitempty"`
   175  	// FileVaultNumberOfTimesUserCanIgnore Optional. When using the Defer option, this is the maximum number of times the user can ignore prompts to enable FileVault before FileVault will be required for the user to sign in. If set to -1, it will always prompt to enable FileVault until FileVault is enabled, though it will allow the user to bypass enabling FileVault. Setting this to 0 will disable the feature.
   176  	FileVaultNumberOfTimesUserCanIgnore *int `json:"fileVaultNumberOfTimesUserCanIgnore,omitempty"`
   177  	// FileVaultDisablePromptAtSignOut Optional. When using the Defer option, if set to true, the user is not prompted to enable FileVault at sign-out.
   178  	FileVaultDisablePromptAtSignOut *bool `json:"fileVaultDisablePromptAtSignOut,omitempty"`
   179  	// FileVaultPersonalRecoveryKeyRotationInMonths Optional. If selected recovery key type(s) include PersonalRecoveryKey, the frequency to rotate that key, in months.
   180  	FileVaultPersonalRecoveryKeyRotationInMonths *int `json:"fileVaultPersonalRecoveryKeyRotationInMonths,omitempty"`
   181  }
   182  
   183  // MacOSEnterpriseWiFiConfiguration MacOS Wi-Fi WPA-Enterprise/WPA2-Enterprise configuration profile.
   184  type MacOSEnterpriseWiFiConfiguration struct {
   185  	// MacOSWiFiConfiguration is the base model of MacOSEnterpriseWiFiConfiguration
   186  	MacOSWiFiConfiguration
   187  	// EapType Extensible Authentication Protocol (EAP). Indicates the type of EAP protocol set on the Wi-Fi endpoint (router).
   188  	EapType *EapType `json:"eapType,omitempty"`
   189  	// EapFastConfiguration EAP-FAST Configuration Option when EAP-FAST is the selected EAP Type.
   190  	EapFastConfiguration *EapFastConfiguration `json:"eapFastConfiguration,omitempty"`
   191  	// TrustedServerCertificateNames Trusted server certificate names when EAP Type is configured to EAP-TLS/TTLS/FAST or PEAP. This is the common name used in the certificates issued by your trusted certificate authority (CA). If you provide this information, you can bypass the dynamic trust dialog that is displayed on end users devices when they connect to this Wi-Fi network.
   192  	TrustedServerCertificateNames []string `json:"trustedServerCertificateNames,omitempty"`
   193  	// AuthenticationMethod Authentication Method when EAP Type is configured to PEAP or EAP-TTLS.
   194  	AuthenticationMethod *WiFiAuthenticationMethod `json:"authenticationMethod,omitempty"`
   195  	// InnerAuthenticationProtocolForEapTtls Non-EAP Method for Authentication (Inner Identity) when EAP Type is EAP-TTLS and Authenticationmethod is Username and Password.
   196  	InnerAuthenticationProtocolForEapTtls *NonEapAuthenticationMethodForEapTtlsType `json:"innerAuthenticationProtocolForEapTtls,omitempty"`
   197  	// OuterIdentityPrivacyTemporaryValue Enable identity privacy (Outer Identity) when EAP Type is configured to EAP-TTLS, EAP-FAST or PEAP. This property masks usernames with the text you enter. For example, if you use 'anonymous', each user that authenticates with this Wi-Fi connection using their real username is displayed as 'anonymous'.
   198  	OuterIdentityPrivacyTemporaryValue *string `json:"outerIdentityPrivacyTemporaryValue,omitempty"`
   199  	// RootCertificateForServerValidation undocumented
   200  	RootCertificateForServerValidation *MacOSTrustedRootCertificate `json:"rootCertificateForServerValidation,omitempty"`
   201  	// IdentityCertificateForClientAuthentication undocumented
   202  	IdentityCertificateForClientAuthentication *MacOSCertificateProfileBase `json:"identityCertificateForClientAuthentication,omitempty"`
   203  }
   204  
   205  // MacOSExtensionsConfiguration MacOS extensions configuration profile.
   206  type MacOSExtensionsConfiguration struct {
   207  	// DeviceConfiguration is the base model of MacOSExtensionsConfiguration
   208  	DeviceConfiguration
   209  	// KernelExtensionOverridesAllowed If set to true, users can approve additional kernel extensions not explicitly allowed by configurations profiles.
   210  	KernelExtensionOverridesAllowed *bool `json:"kernelExtensionOverridesAllowed,omitempty"`
   211  	// KernelExtensionAllowedTeamIdentifiers All kernel extensions validly signed by the team identifiers in this list will be allowed to load.
   212  	KernelExtensionAllowedTeamIdentifiers []string `json:"kernelExtensionAllowedTeamIdentifiers,omitempty"`
   213  	// KernelExtensionsAllowed A list of kernel extensions that will be allowed to load. . This collection can contain a maximum of 500 elements.
   214  	KernelExtensionsAllowed []MacOSKernelExtension `json:"kernelExtensionsAllowed,omitempty"`
   215  }
   216  
   217  // MacOSFirewallApplication undocumented
   218  type MacOSFirewallApplication struct {
   219  	// Object is the base model of MacOSFirewallApplication
   220  	Object
   221  	// BundleID BundleId of the application.
   222  	BundleID *string `json:"bundleId,omitempty"`
   223  	// AllowsIncomingConnections Whether or not incoming connections are allowed.
   224  	AllowsIncomingConnections *bool `json:"allowsIncomingConnections,omitempty"`
   225  }
   226  
   227  // MacOSGeneralDeviceConfiguration This topic provides descriptions of the declared methods, properties and relationships exposed by the macOSGeneralDeviceConfiguration resource.
   228  type MacOSGeneralDeviceConfiguration struct {
   229  	// DeviceConfiguration is the base model of MacOSGeneralDeviceConfiguration
   230  	DeviceConfiguration
   231  	// CompliantAppsList List of apps in the compliance (either allow list or block list, controlled by CompliantAppListType). This collection can contain a maximum of 10000 elements.
   232  	CompliantAppsList []AppListItem `json:"compliantAppsList,omitempty"`
   233  	// CompliantAppListType List that is in the CompliantAppsList.
   234  	CompliantAppListType *AppListType `json:"compliantAppListType,omitempty"`
   235  	// EmailInDomainSuffixes An email address lacking a suffix that matches any of these strings will be considered out-of-domain.
   236  	EmailInDomainSuffixes []string `json:"emailInDomainSuffixes,omitempty"`
   237  	// PasswordBlockSimple Block simple passwords.
   238  	PasswordBlockSimple *bool `json:"passwordBlockSimple,omitempty"`
   239  	// PasswordExpirationDays Number of days before the password expires.
   240  	PasswordExpirationDays *int `json:"passwordExpirationDays,omitempty"`
   241  	// PasswordMinimumCharacterSetCount Number of character sets a password must contain. Valid values 0 to 4
   242  	PasswordMinimumCharacterSetCount *int `json:"passwordMinimumCharacterSetCount,omitempty"`
   243  	// PasswordMinimumLength Minimum length of passwords.
   244  	PasswordMinimumLength *int `json:"passwordMinimumLength,omitempty"`
   245  	// PasswordMinutesOfInactivityBeforeLock Minutes of inactivity required before a password is required.
   246  	PasswordMinutesOfInactivityBeforeLock *int `json:"passwordMinutesOfInactivityBeforeLock,omitempty"`
   247  	// PasswordMinutesOfInactivityBeforeScreenTimeout Minutes of inactivity required before the screen times out.
   248  	PasswordMinutesOfInactivityBeforeScreenTimeout *int `json:"passwordMinutesOfInactivityBeforeScreenTimeout,omitempty"`
   249  	// PasswordPreviousPasswordBlockCount Number of previous passwords to block.
   250  	PasswordPreviousPasswordBlockCount *int `json:"passwordPreviousPasswordBlockCount,omitempty"`
   251  	// PasswordRequiredType Type of password that is required.
   252  	PasswordRequiredType *RequiredPasswordType `json:"passwordRequiredType,omitempty"`
   253  	// PasswordRequired Whether or not to require a password.
   254  	PasswordRequired *bool `json:"passwordRequired,omitempty"`
   255  	// KeychainBlockCloudSync Indicates whether or not iCloud keychain synchronization is blocked (macOS 10.12 and later).
   256  	KeychainBlockCloudSync *bool `json:"keychainBlockCloudSync,omitempty"`
   257  	// AirPrintBlocked Indicates whether or not AirPrint is blocked (macOS 10.12 and later).
   258  	AirPrintBlocked *bool `json:"airPrintBlocked,omitempty"`
   259  	// AirPrintForceTrustedTLS Indicates if trusted certificates are required for TLS printing communication (macOS 10.13 and later).
   260  	AirPrintForceTrustedTLS *bool `json:"airPrintForceTrustedTLS,omitempty"`
   261  	// AirPrintBlockiBeaconDiscovery Indicates whether or not iBeacon discovery of AirPrint printers is blocked. This prevents spurious AirPrint Bluetooth beacons from phishing for network traffic (macOS 10.3 and later).
   262  	AirPrintBlockiBeaconDiscovery *bool `json:"airPrintBlockiBeaconDiscovery,omitempty"`
   263  	// SafariBlockAutofill Indicates whether or not to block the user from using Auto fill in Safari.
   264  	SafariBlockAutofill *bool `json:"safariBlockAutofill,omitempty"`
   265  	// CameraBlocked Indicates whether or not to block the user from accessing the camera of the device.
   266  	CameraBlocked *bool `json:"cameraBlocked,omitempty"`
   267  	// ITunesBlockMusicService Indicates whether or not to block Music service and revert Music app to classic mode.
   268  	ITunesBlockMusicService *bool `json:"iTunesBlockMusicService,omitempty"`
   269  	// SpotlightBlockInternetResults Indicates whether or not to block Spotlight from returning any results from an Internet search.
   270  	SpotlightBlockInternetResults *bool `json:"spotlightBlockInternetResults,omitempty"`
   271  	// KeyboardBlockDictation Indicates whether or not to block the user from using dictation input.
   272  	KeyboardBlockDictation *bool `json:"keyboardBlockDictation,omitempty"`
   273  	// DefinitionLookupBlocked Indicates whether or not to block definition lookup.
   274  	DefinitionLookupBlocked *bool `json:"definitionLookupBlocked,omitempty"`
   275  	// AppleWatchBlockAutoUnlock Indicates whether or to block users from unlocking their Mac with Apple Watch.
   276  	AppleWatchBlockAutoUnlock *bool `json:"appleWatchBlockAutoUnlock,omitempty"`
   277  	// ITunesBlockFileSharing Indicates whether or not to block files from being transferred using iTunes.
   278  	ITunesBlockFileSharing *bool `json:"iTunesBlockFileSharing,omitempty"`
   279  	// ICloudBlockDocumentSync Indicates whether or not to block iCloud document sync.
   280  	ICloudBlockDocumentSync *bool `json:"iCloudBlockDocumentSync,omitempty"`
   281  	// ICloudBlockMail Indicates whether or not to block iCloud from syncing mail.
   282  	ICloudBlockMail *bool `json:"iCloudBlockMail,omitempty"`
   283  	// ICloudBlockAddressBook Indicates whether or not to block iCloud from syncing contacts.
   284  	ICloudBlockAddressBook *bool `json:"iCloudBlockAddressBook,omitempty"`
   285  	// ICloudBlockCalendar Indicates whether or not to block iCloud from syncing calendars.
   286  	ICloudBlockCalendar *bool `json:"iCloudBlockCalendar,omitempty"`
   287  	// ICloudBlockReminders Indicates whether or not to block iCloud from syncing reminders.
   288  	ICloudBlockReminders *bool `json:"iCloudBlockReminders,omitempty"`
   289  	// ICloudBlockBookmarks Indicates whether or not to block iCloud from syncing bookmarks.
   290  	ICloudBlockBookmarks *bool `json:"iCloudBlockBookmarks,omitempty"`
   291  	// ICloudBlockNotes Indicates whether or not to block iCloud from syncing notes.
   292  	ICloudBlockNotes *bool `json:"iCloudBlockNotes,omitempty"`
   293  	// AirDropBlocked Indicates whether or not to allow AirDrop.
   294  	AirDropBlocked *bool `json:"airDropBlocked,omitempty"`
   295  	// PasswordBlockModification Indicates whether or not to allow passcode modification.
   296  	PasswordBlockModification *bool `json:"passwordBlockModification,omitempty"`
   297  	// PasswordBlockFingerprintUnlock Indicates whether or not to block fingerprint unlock.
   298  	PasswordBlockFingerprintUnlock *bool `json:"passwordBlockFingerprintUnlock,omitempty"`
   299  	// PasswordBlockAutoFill Indicates whether or not to block the AutoFill Passwords feature.
   300  	PasswordBlockAutoFill *bool `json:"passwordBlockAutoFill,omitempty"`
   301  	// PasswordBlockProximityRequests Indicates whether or not to block requesting passwords from nearby devices.
   302  	PasswordBlockProximityRequests *bool `json:"passwordBlockProximityRequests,omitempty"`
   303  	// PasswordBlockAirDropSharing Indicates whether or not to block sharing passwords with the AirDrop passwords feature.
   304  	PasswordBlockAirDropSharing *bool `json:"passwordBlockAirDropSharing,omitempty"`
   305  	// SoftwareUpdatesEnforcedDelayInDays Sets how many days a software update will be delyed for a supervised device. Valid values 0 to 90
   306  	SoftwareUpdatesEnforcedDelayInDays *int `json:"softwareUpdatesEnforcedDelayInDays,omitempty"`
   307  	// SoftwareUpdatesForceDelayed Indicates whether or not to delay user visibility of software updates when the device is in supervised mode.
   308  	SoftwareUpdatesForceDelayed *bool `json:"softwareUpdatesForceDelayed,omitempty"`
   309  	// ContentCachingBlocked Indicates whether or not to allow content caching.
   310  	ContentCachingBlocked *bool `json:"contentCachingBlocked,omitempty"`
   311  	// ICloudBlockPhotoLibrary Indicates whether or not to block iCloud Photo Library.
   312  	ICloudBlockPhotoLibrary *bool `json:"iCloudBlockPhotoLibrary,omitempty"`
   313  	// ScreenCaptureBlocked Indicates whether or not to block the user from taking Screenshots.
   314  	ScreenCaptureBlocked *bool `json:"screenCaptureBlocked,omitempty"`
   315  	// ClassroomAppBlockRemoteScreenObservation Indicates whether or not to allow remote screen observation by Classroom app. Requires MDM enrollment via Apple School Manager or Apple Business Manager.
   316  	ClassroomAppBlockRemoteScreenObservation *bool `json:"classroomAppBlockRemoteScreenObservation,omitempty"`
   317  	// ClassroomAppForceUnpromptedScreenObservation Indicates whether or not to automatically give permission to the teacher of a managed course on the Classroom app to view a student's screen without prompting. Requires MDM enrollment via Apple School Manager or Apple Business Manager.
   318  	ClassroomAppForceUnpromptedScreenObservation *bool `json:"classroomAppForceUnpromptedScreenObservation,omitempty"`
   319  	// ClassroomForceAutomaticallyJoinClasses Indicates whether or not to automatically give permission to the teacher's requests, without prompting the student. Requires MDM enrollment via Apple School Manager or Apple Business Manager.
   320  	ClassroomForceAutomaticallyJoinClasses *bool `json:"classroomForceAutomaticallyJoinClasses,omitempty"`
   321  	// ClassroomForceRequestPermissionToLeaveClasses Indicates whether a student enrolled in an unmanaged course via Classroom will be required to request permission from the teacher when attempting to leave the course. Requires MDM enrollment via Apple School Manager or Apple Business Manager.
   322  	ClassroomForceRequestPermissionToLeaveClasses *bool `json:"classroomForceRequestPermissionToLeaveClasses,omitempty"`
   323  	// ClassroomForceUnpromptedAppAndDeviceLock Indicates whether or not to allow the teacher to lock apps or the device without prompting the student. Requires MDM enrollment via Apple School Manager or Apple Business Manager.
   324  	ClassroomForceUnpromptedAppAndDeviceLock *bool `json:"classroomForceUnpromptedAppAndDeviceLock,omitempty"`
   325  	// ICloudBlockActivityContinuation Indicates whether or not to block the user from continuing work that they started on a MacOS device on another iOS or MacOS device (MacOS 10.15 or later).
   326  	ICloudBlockActivityContinuation *bool `json:"iCloudBlockActivityContinuation,omitempty"`
   327  }
   328  
   329  // MacOSImportedPFXCertificateProfile MacOS PFX Import certificate profile
   330  type MacOSImportedPFXCertificateProfile struct {
   331  	// MacOSCertificateProfileBase is the base model of MacOSImportedPFXCertificateProfile
   332  	MacOSCertificateProfileBase
   333  	// IntendedPurpose Intended Purpose of the Certificate Profile - which could be Unassigned, SmimeEncryption, SmimeSigning etc.
   334  	IntendedPurpose *IntendedPurpose `json:"intendedPurpose,omitempty"`
   335  	// ManagedDeviceCertificateStates undocumented
   336  	ManagedDeviceCertificateStates []ManagedDeviceCertificateState `json:"managedDeviceCertificateStates,omitempty"`
   337  }
   338  
   339  // MacOSKerberosSingleSignOnExtension undocumented
   340  type MacOSKerberosSingleSignOnExtension struct {
   341  	// KerberosSingleSignOnExtension is the base model of MacOSKerberosSingleSignOnExtension
   342  	KerberosSingleSignOnExtension
   343  }
   344  
   345  // MacOSKernelExtension undocumented
   346  type MacOSKernelExtension struct {
   347  	// Object is the base model of MacOSKernelExtension
   348  	Object
   349  	// TeamIdentifier The team identifier that was used to sign the kernel extension.
   350  	TeamIdentifier *string `json:"teamIdentifier,omitempty"`
   351  	// BundleID Bundle ID of the kernel extension.
   352  	BundleID *string `json:"bundleId,omitempty"`
   353  }
   354  
   355  // MacOSLaunchItem undocumented
   356  type MacOSLaunchItem struct {
   357  	// Object is the base model of MacOSLaunchItem
   358  	Object
   359  	// Path Path to the launch item.
   360  	Path *string `json:"path,omitempty"`
   361  	// Hide Whether or not to hide the item from the Users and Groups List.
   362  	Hide *bool `json:"hide,omitempty"`
   363  }
   364  
   365  // MacOSLobApp Contains properties and inherited properties for the MacOS LOB App.
   366  type MacOSLobApp struct {
   367  	// MobileLobApp is the base model of MacOSLobApp
   368  	MobileLobApp
   369  	// BundleID The bundle id.
   370  	BundleID *string `json:"bundleId,omitempty"`
   371  	// MinimumSupportedOperatingSystem The value for the minimum applicable operating system.
   372  	MinimumSupportedOperatingSystem *MacOSMinimumOperatingSystem `json:"minimumSupportedOperatingSystem,omitempty"`
   373  	// BuildNumber The build number of MacOS Line of Business (LoB) app.
   374  	BuildNumber *string `json:"buildNumber,omitempty"`
   375  	// VersionNumber The version number of MacOS Line of Business (LoB) app.
   376  	VersionNumber *string `json:"versionNumber,omitempty"`
   377  	// ChildApps The app list in this bundle package
   378  	ChildApps []MacOSLobChildApp `json:"childApps,omitempty"`
   379  	// IdentityVersion The identity version.
   380  	IdentityVersion *string `json:"identityVersion,omitempty"`
   381  	// Md5HashChunkSize The chunk size for MD5 hash
   382  	Md5HashChunkSize *int `json:"md5HashChunkSize,omitempty"`
   383  	// Md5Hash The MD5 hash codes
   384  	Md5Hash []string `json:"md5Hash,omitempty"`
   385  	// IgnoreVersionDetection A boolean to control whether the app's version will be used to detect the app after it is installed on a device. Set this to true for macOS Line of Business (LoB) apps that use a self update feature.
   386  	IgnoreVersionDetection *bool `json:"ignoreVersionDetection,omitempty"`
   387  }
   388  
   389  // MacOSLobChildApp undocumented
   390  type MacOSLobChildApp struct {
   391  	// Object is the base model of MacOSLobChildApp
   392  	Object
   393  	// BundleID The Identity Name.
   394  	BundleID *string `json:"bundleId,omitempty"`
   395  	// BuildNumber The build number of MacOS Line of Business (LoB) app.
   396  	BuildNumber *string `json:"buildNumber,omitempty"`
   397  	// VersionNumber The version number of MacOS Line of Business (LoB) app.
   398  	VersionNumber *string `json:"versionNumber,omitempty"`
   399  }
   400  
   401  // MacOSMicrosoftEdgeApp Contains properties and inherited properties for the MacOS Microsoft Edge App.
   402  type MacOSMicrosoftEdgeApp struct {
   403  	// MobileApp is the base model of MacOSMicrosoftEdgeApp
   404  	MobileApp
   405  }
   406  
   407  // MacOSMinimumOperatingSystem undocumented
   408  type MacOSMinimumOperatingSystem struct {
   409  	// Object is the base model of MacOSMinimumOperatingSystem
   410  	Object
   411  	// V10_7 Mac OS 10.7 or later.
   412  	V10_7 *bool `json:"v10_7,omitempty"`
   413  	// V10_8 Mac OS 10.8 or later.
   414  	V10_8 *bool `json:"v10_8,omitempty"`
   415  	// V10_9 Mac OS 10.9 or later.
   416  	V10_9 *bool `json:"v10_9,omitempty"`
   417  	// V10_10 Mac OS 10.10 or later.
   418  	V10_10 *bool `json:"v10_10,omitempty"`
   419  	// V10_11 Mac OS 10.11 or later.
   420  	V10_11 *bool `json:"v10_11,omitempty"`
   421  	// V10_12 Mac OS 10.12 or later.
   422  	V10_12 *bool `json:"v10_12,omitempty"`
   423  	// V10_13 Mac OS 10.13 or later.
   424  	V10_13 *bool `json:"v10_13,omitempty"`
   425  	// V10_14 Mac OS 10.14 or later.
   426  	V10_14 *bool `json:"v10_14,omitempty"`
   427  	// V10_15 Mac OS 10.15 or later.
   428  	V10_15 *bool `json:"v10_15,omitempty"`
   429  }
   430  
   431  // MacOSOfficeSuiteApp Contains properties and inherited properties for the MacOS Office Suite App.
   432  type MacOSOfficeSuiteApp struct {
   433  	// MobileApp is the base model of MacOSOfficeSuiteApp
   434  	MobileApp
   435  }
   436  
   437  // MacOSPkcsCertificateProfile MacOS PKCS certificate profile.
   438  type MacOSPkcsCertificateProfile struct {
   439  	// MacOSCertificateProfileBase is the base model of MacOSPkcsCertificateProfile
   440  	MacOSCertificateProfileBase
   441  	// CertificationAuthority PKCS certification authority FQDN.
   442  	CertificationAuthority *string `json:"certificationAuthority,omitempty"`
   443  	// CertificationAuthorityName PKCS certification authority Name.
   444  	CertificationAuthorityName *string `json:"certificationAuthorityName,omitempty"`
   445  	// CertificateTemplateName PKCS certificate template name.
   446  	CertificateTemplateName *string `json:"certificateTemplateName,omitempty"`
   447  	// SubjectAlternativeNameFormatString Format string that defines the subject alternative name.
   448  	SubjectAlternativeNameFormatString *string `json:"subjectAlternativeNameFormatString,omitempty"`
   449  	// SubjectNameFormatString Format string that defines the subject name. Example: CN={{EmailAddress}},E={{EmailAddress}},OU=Enterprise Users,O=Contoso Corporation,L=Redmond,ST=WA,C=US
   450  	SubjectNameFormatString *string `json:"subjectNameFormatString,omitempty"`
   451  	// CertificateStore Target store certificate
   452  	CertificateStore *CertificateStore `json:"certificateStore,omitempty"`
   453  	// CustomSubjectAlternativeNames Custom Subject Alternative Name Settings. This collection can contain a maximum of 500 elements.
   454  	CustomSubjectAlternativeNames []CustomSubjectAlternativeName `json:"customSubjectAlternativeNames,omitempty"`
   455  	// AllowAllAppsAccess AllowAllAppsAccess setting
   456  	AllowAllAppsAccess *bool `json:"allowAllAppsAccess,omitempty"`
   457  	// ManagedDeviceCertificateStates undocumented
   458  	ManagedDeviceCertificateStates []ManagedDeviceCertificateState `json:"managedDeviceCertificateStates,omitempty"`
   459  }
   460  
   461  // MacOSScepCertificateProfile Mac OS SCEP certificate profile.
   462  type MacOSScepCertificateProfile struct {
   463  	// MacOSCertificateProfileBase is the base model of MacOSScepCertificateProfile
   464  	MacOSCertificateProfileBase
   465  	// ScepServerUrls SCEP Server Url(s).
   466  	ScepServerUrls []string `json:"scepServerUrls,omitempty"`
   467  	// SubjectNameFormatString Custom format to use with SubjectNameFormat = Custom. Example: CN={{EmailAddress}},E={{EmailAddress}},OU=Enterprise Users,O=Contoso Corporation,L=Redmond,ST=WA,C=US
   468  	SubjectNameFormatString *string `json:"subjectNameFormatString,omitempty"`
   469  	// KeyUsage SCEP Key Usage.
   470  	KeyUsage *KeyUsages `json:"keyUsage,omitempty"`
   471  	// KeySize SCEP Key Size.
   472  	KeySize *KeySize `json:"keySize,omitempty"`
   473  	// HashAlgorithm SCEP Hash Algorithm.
   474  	HashAlgorithm *HashAlgorithms `json:"hashAlgorithm,omitempty"`
   475  	// ExtendedKeyUsages Extended Key Usage (EKU) settings. This collection can contain a maximum of 500 elements.
   476  	ExtendedKeyUsages []ExtendedKeyUsage `json:"extendedKeyUsages,omitempty"`
   477  	// SubjectAlternativeNameFormatString Custom String that defines the AAD Attribute.
   478  	SubjectAlternativeNameFormatString *string `json:"subjectAlternativeNameFormatString,omitempty"`
   479  	// CertificateStore Target store certificate
   480  	CertificateStore *CertificateStore `json:"certificateStore,omitempty"`
   481  	// CustomSubjectAlternativeNames Custom Subject Alternative Name Settings. This collection can contain a maximum of 500 elements.
   482  	CustomSubjectAlternativeNames []CustomSubjectAlternativeName `json:"customSubjectAlternativeNames,omitempty"`
   483  	// RootCertificate undocumented
   484  	RootCertificate *MacOSTrustedRootCertificate `json:"rootCertificate,omitempty"`
   485  	// ManagedDeviceCertificateStates undocumented
   486  	ManagedDeviceCertificateStates []ManagedDeviceCertificateState `json:"managedDeviceCertificateStates,omitempty"`
   487  }
   488  
   489  // MacOSTrustedRootCertificate OS X Trusted Root Certificate configuration profile.
   490  type MacOSTrustedRootCertificate struct {
   491  	// DeviceConfiguration is the base model of MacOSTrustedRootCertificate
   492  	DeviceConfiguration
   493  	// TrustedRootCertificate Trusted Root Certificate.
   494  	TrustedRootCertificate *Binary `json:"trustedRootCertificate,omitempty"`
   495  	// CertFileName File name to display in UI.
   496  	CertFileName *string `json:"certFileName,omitempty"`
   497  }
   498  
   499  // MacOSVpnConfiguration By providing the configurations in this profile you can instruct the Mac device to connect to desired VPN endpoint. By specifying the authentication method and security types expected by VPN endpoint you can make the VPN connection seamless for end user.
   500  type MacOSVpnConfiguration struct {
   501  	// AppleVPNConfiguration is the base model of MacOSVpnConfiguration
   502  	AppleVPNConfiguration
   503  	// IdentityCertificate undocumented
   504  	IdentityCertificate *MacOSCertificateProfileBase `json:"identityCertificate,omitempty"`
   505  }
   506  
   507  // MacOSWiFiConfiguration By providing the configurations in this profile you can instruct the macOS device to connect to desired Wi-Fi endpoint. By specifying the authentication method and security types expected by Wi-Fi endpoint you can make the Wi-Fi connection seamless for end user.
   508  type MacOSWiFiConfiguration struct {
   509  	// DeviceConfiguration is the base model of MacOSWiFiConfiguration
   510  	DeviceConfiguration
   511  	// NetworkName Network Name
   512  	NetworkName *string `json:"networkName,omitempty"`
   513  	// Ssid This is the name of the Wi-Fi network that is broadcast to all devices.
   514  	Ssid *string `json:"ssid,omitempty"`
   515  	// ConnectAutomatically Connect automatically when this network is in range. Setting this to true will skip the user prompt and automatically connect the device to Wi-Fi network.
   516  	ConnectAutomatically *bool `json:"connectAutomatically,omitempty"`
   517  	// ConnectWhenNetworkNameIsHidden Connect when the network is not broadcasting its name (SSID). When set to true, this profile forces the device to connect to a network that doesn't broadcast its SSID to all devices.
   518  	ConnectWhenNetworkNameIsHidden *bool `json:"connectWhenNetworkNameIsHidden,omitempty"`
   519  	// WiFiSecurityType Indicates whether Wi-Fi endpoint uses an EAP based security type.
   520  	WiFiSecurityType *WiFiSecurityType `json:"wiFiSecurityType,omitempty"`
   521  	// ProxySettings Proxy Type for this Wi-Fi connection
   522  	ProxySettings *WiFiProxySetting `json:"proxySettings,omitempty"`
   523  	// ProxyManualAddress IP Address or DNS hostname of the proxy server when manual configuration is selected.
   524  	ProxyManualAddress *string `json:"proxyManualAddress,omitempty"`
   525  	// ProxyManualPort Port of the proxy server when manual configuration is selected.
   526  	ProxyManualPort *int `json:"proxyManualPort,omitempty"`
   527  	// ProxyAutomaticConfigurationURL URL of the proxy server automatic configuration script when automatic configuration is selected. This URL is typically the location of PAC (Proxy Auto Configuration) file.
   528  	ProxyAutomaticConfigurationURL *string `json:"proxyAutomaticConfigurationUrl,omitempty"`
   529  	// PreSharedKey This is the pre-shared key for WPA Personal Wi-Fi network.
   530  	PreSharedKey *string `json:"preSharedKey,omitempty"`
   531  }
   532  
   533  // MacOSWiredNetworkConfiguration MacOS wired network configuration profile.
   534  type MacOSWiredNetworkConfiguration struct {
   535  	// DeviceConfiguration is the base model of MacOSWiredNetworkConfiguration
   536  	DeviceConfiguration
   537  	// NetworkName Network Name
   538  	NetworkName *string `json:"networkName,omitempty"`
   539  	// NetworkInterface Network interface.
   540  	NetworkInterface *WiredNetworkInterface `json:"networkInterface,omitempty"`
   541  	// EapType Extensible Authentication Protocol (EAP). Indicates the type of EAP protocol set on the wired network.
   542  	EapType *EapType `json:"eapType,omitempty"`
   543  	// EapFastConfiguration EAP-FAST Configuration Option when EAP-FAST is the selected EAP Type.
   544  	EapFastConfiguration *EapFastConfiguration `json:"eapFastConfiguration,omitempty"`
   545  	// TrustedServerCertificateNames Trusted server certificate names when EAP Type is configured to EAP-TLS/TTLS/FAST or PEAP. This is the common name used in the certificates issued by your trusted certificate authority (CA). If you provide this information, you can bypass the dynamic trust dialog that is displayed on end users devices when they connect to this wired network.
   546  	TrustedServerCertificateNames []string `json:"trustedServerCertificateNames,omitempty"`
   547  	// AuthenticationMethod Authentication Method when EAP Type is configured to PEAP or EAP-TTLS.
   548  	AuthenticationMethod *WiFiAuthenticationMethod `json:"authenticationMethod,omitempty"`
   549  	// NonEapAuthenticationMethodForEapTtls Non-EAP Method for Authentication (Inner Identity) when EAP Type is EAP-TTLS and Authenticationmethod is Username and Password.
   550  	NonEapAuthenticationMethodForEapTtls *NonEapAuthenticationMethodForEapTtlsType `json:"nonEapAuthenticationMethodForEapTtls,omitempty"`
   551  	// EnableOuterIdentityPrivacy Enable identity privacy (Outer Identity) when EAP Type is configured to EAP-TTLS, EAP-FAST or PEAP. This property masks usernames with the text you enter. For example, if you use 'anonymous', each user that authenticates with this wired network using their real username is displayed as 'anonymous'.
   552  	EnableOuterIdentityPrivacy *string `json:"enableOuterIdentityPrivacy,omitempty"`
   553  	// RootCertificateForServerValidation undocumented
   554  	RootCertificateForServerValidation *MacOSTrustedRootCertificate `json:"rootCertificateForServerValidation,omitempty"`
   555  	// IdentityCertificateForClientAuthentication undocumented
   556  	IdentityCertificateForClientAuthentication *MacOSCertificateProfileBase `json:"identityCertificateForClientAuthentication,omitempty"`
   557  }
   558  
   559  // MacOsVPPApp Contains properties and inherited properties for MacOS Volume-Purchased Program (VPP) Apps.
   560  type MacOsVPPApp struct {
   561  	// MobileApp is the base model of MacOsVPPApp
   562  	MobileApp
   563  	// UsedLicenseCount The number of VPP licenses in use.
   564  	UsedLicenseCount *int `json:"usedLicenseCount,omitempty"`
   565  	// TotalLicenseCount The total number of VPP licenses.
   566  	TotalLicenseCount *int `json:"totalLicenseCount,omitempty"`
   567  	// ReleaseDateTime The VPP application release date and time.
   568  	ReleaseDateTime *time.Time `json:"releaseDateTime,omitempty"`
   569  	// AppStoreURL The store URL.
   570  	AppStoreURL *string `json:"appStoreUrl,omitempty"`
   571  	// LicensingType The supported License Type.
   572  	LicensingType *VPPLicensingType `json:"licensingType,omitempty"`
   573  	// VPPTokenOrganizationName The organization associated with the Apple Volume Purchase Program Token
   574  	VPPTokenOrganizationName *string `json:"vppTokenOrganizationName,omitempty"`
   575  	// VPPTokenAccountType The type of volume purchase program which the given Apple Volume Purchase Program Token is associated with. Possible values are: `business`, `education`.
   576  	VPPTokenAccountType *VPPTokenAccountType `json:"vppTokenAccountType,omitempty"`
   577  	// VPPTokenAppleID The Apple Id associated with the given Apple Volume Purchase Program Token.
   578  	VPPTokenAppleID *string `json:"vppTokenAppleId,omitempty"`
   579  	// BundleID The Identity Name.
   580  	BundleID *string `json:"bundleId,omitempty"`
   581  	// VPPTokenID Identifier of the VPP token associated with this app.
   582  	VPPTokenID *string `json:"vppTokenId,omitempty"`
   583  	// RevokeLicenseActionResults Results of revoke license actions on this app.
   584  	RevokeLicenseActionResults []MacOsVPPAppRevokeLicensesActionResult `json:"revokeLicenseActionResults,omitempty"`
   585  	// AssignedLicenses undocumented
   586  	AssignedLicenses []MacOsVPPAppAssignedLicense `json:"assignedLicenses,omitempty"`
   587  }
   588  
   589  // MacOsVPPAppAssignedLicense MacOS Volume Purchase Program license assignment. This class does not support Create, Delete, or Update.
   590  type MacOsVPPAppAssignedLicense struct {
   591  	// Entity is the base model of MacOsVPPAppAssignedLicense
   592  	Entity
   593  	// UserEmailAddress The user email address.
   594  	UserEmailAddress *string `json:"userEmailAddress,omitempty"`
   595  	// UserID The user ID.
   596  	UserID *string `json:"userId,omitempty"`
   597  	// UserName The user name.
   598  	UserName *string `json:"userName,omitempty"`
   599  	// UserPrincipalName The user principal name.
   600  	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
   601  }
   602  
   603  // MacOsVPPAppAssignmentSettings undocumented
   604  type MacOsVPPAppAssignmentSettings struct {
   605  	// MobileAppAssignmentSettings is the base model of MacOsVPPAppAssignmentSettings
   606  	MobileAppAssignmentSettings
   607  	// UseDeviceLicensing Whether or not to use device licensing.
   608  	UseDeviceLicensing *bool `json:"useDeviceLicensing,omitempty"`
   609  }
   610  
   611  // MacOsVPPAppRevokeLicensesActionResult undocumented
   612  type MacOsVPPAppRevokeLicensesActionResult struct {
   613  	// Object is the base model of MacOsVPPAppRevokeLicensesActionResult
   614  	Object
   615  	// UserID UserId associated with the action.
   616  	UserID *string `json:"userId,omitempty"`
   617  	// ManagedDeviceID DeviceId associated with the action.
   618  	ManagedDeviceID *string `json:"managedDeviceId,omitempty"`
   619  	// TotalLicensesCount A count of the number of licenses for which revoke was attempted.
   620  	TotalLicensesCount *int `json:"totalLicensesCount,omitempty"`
   621  	// FailedLicensesCount A count of the number of licenses for which revoke failed.
   622  	FailedLicensesCount *int `json:"failedLicensesCount,omitempty"`
   623  	// ActionFailureReason The reason for the revoke licenses action failure.
   624  	ActionFailureReason *VPPTokenActionFailureReason `json:"actionFailureReason,omitempty"`
   625  	// ActionName Action name
   626  	ActionName *string `json:"actionName,omitempty"`
   627  	// ActionState State of the action
   628  	ActionState *ActionState `json:"actionState,omitempty"`
   629  	// StartDateTime Time the action was initiated
   630  	StartDateTime *time.Time `json:"startDateTime,omitempty"`
   631  	// LastUpdatedDateTime Time the action state was last updated
   632  	LastUpdatedDateTime *time.Time `json:"lastUpdatedDateTime,omitempty"`
   633  }