jamfpro

package
v0.0.26 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2023 License: MIT Imports: 27 Imported by: 0

Documentation

Overview

jcds2.go Jamf Pro Api Work in progress. waiting for jcds enabled jamf instance to TODO validate structs and logic flow. TODO create distinct create and update jcds package functions TODO move helper funcs to helpers.go TODO create package mains for create and update package funcs TODO remove repeat funcs and use packages.go where appropriate TODO create download package func with aws file manager TODO refactor to use v2 aws sdk for s3

selfService.go

ssoFailover.go

utilities.go For utility/helper functions to support from the main package

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Base64Encode

func Base64Encode(data []byte) (string, error)

Base64Encode encodes the provided data into a base64 string and provides details about the encoding process.

func Base64EncodeCertificate

func Base64EncodeCertificate(certPath string) (string, error)

func DumpRequestToFile

func DumpRequestToFile(req *http.Request, filename string) error

DumpRequestToFile dumps the given request to a specified file.

func GetImageContentType

func GetImageContentType(filePath string) string

GetImageContentType determines the content type based on file extension

func PrettyPrintStruct

func PrettyPrintStruct(v interface{}) string

PrettyPrintStruct prints the structure in a pretty format

func PrintRequestHeaders

func PrintRequestHeaders(req *http.Request)

Print request headers for troubleshooting

func UnmarshalJSONData

func UnmarshalJSONData(data []byte, out interface{}) error

UnmarshalJSONData unmarshals binary data into the given output structure.

Types

type APIIntegration

type APIIntegration struct {
	ID                         int      `json:"id"`
	AuthorizationScopes        []string `json:"authorizationScopes"`
	DisplayName                string   `json:"displayName"`
	Enabled                    bool     `json:"enabled"`
	AccessTokenLifetimeSeconds int      `json:"accessTokenLifetimeSeconds"`
	AppType                    string   `json:"appType"`
	ClientId                   string   `json:"clientId"`
}

type APIRole

type APIRole struct {
	ID          string   `json:"id"`
	DisplayName string   `json:"displayName"`
	Privileges  []string `json:"privileges"`
}

type APIRoleUpdateRequest

type APIRoleUpdateRequest struct {
	DisplayName string   `json:"displayName"`
	Privileges  []string `json:"privileges"`
}

type AccountDataSubsetGroup

type AccountDataSubsetGroup struct {
	ID         int                         `json:"id,omitempty" xml:"id,omitempty"`
	Name       string                      `json:"name" xml:"name"`
	Site       AccountDataSubsetSite       `json:"site,omitempty" xml:"site,omitempty"`
	Privileges AccountDataSubsetPrivileges `json:"privileges,omitempty" xml:"privileges,omitempty"`
}

type AccountDataSubsetLdapServer

type AccountDataSubsetLdapServer struct {
	ID   int    `json:"id,omitempty" xml:"id,omitempty"`
	Name string `json:"name" xml:"name"`
}

type AccountDataSubsetPrivileges

type AccountDataSubsetPrivileges struct {
	JSSObjects    []string `json:"jss_objects,omitempty" xml:"jss_objects>privilege"`
	JSSSettings   []string `json:"jss_settings,omitempty" xml:"jss_settings>privilege"`
	JSSActions    []string `json:"jss_actions,omitempty" xml:"jss_actions>privilege"`
	Recon         []string `json:"recon,omitempty" xml:"recon>privilege"`
	CasperAdmin   []string `json:"casper_admin,omitempty" xml:"casper_admin>privilege"`
	CasperRemote  []string `json:"casper_remote,omitempty" xml:"casper_remote>privilege"`
	CasperImaging []string `json:"casper_imaging,omitempty" xml:"casper_imaging>privilege"`
}

type AccountDataSubsetSite

type AccountDataSubsetSite struct {
	ID   int    `json:"id,omitempty" xml:"id,omitempty"`
	Name string `json:"name" xml:"name"`
}

type AccountDataSubsetUser

type AccountDataSubsetUser struct {
	ID   int    `json:"id,omitempty" xml:"id,omitempty"`
	Name string `json:"name,omitempty" xml:"name,omitempty"`
}

type AccountUser

type AccountUser struct {
	ID   int    `json:"id,omitempty" xml:"id,omitempty"`
	Name string `json:"name" xml:"name"`
}

type ActivationCode

type ActivationCode struct {
	OrganizationName string `json:"organization_name" xml:"organization_name"`
	Code             string `json:"code" xml:"code"`
}

type AllowedFileExtension

type AllowedFileExtension struct {
	XMLName   xml.Name `xml:"allowed_file_extension"`
	ID        int      `xml:"id,omitempty"`
	Extension string   `xml:"extension"`
}

Create / Update - Account structure. XML only as api endpoint only accepts XML for puts

type AllowedFileExtensionsList

type AllowedFileExtensionsList struct {
	Size                  int                    `json:"size" xml:"size"`
	AllowedFileExtensions []AllowedFileExtension `json:"allowed_file_extension" xml:"allowed_file_extension"`
}

Response structure for the list of allowed file extensions

type AppStoreMacApplication

type AppStoreMacApplication struct {
	XMLName     xml.Name    `xml:"mac_application"`
	General     General     `xml:"general"`
	Scope       Scope       `xml:"scope"`
	SelfService SelfService `xml:"self_service"`
}

type AppStoreMacApplicationDataSubsetBuilding

type AppStoreMacApplicationDataSubsetBuilding struct {
	Building AppStoreMacApplicationDataSubsetIDName `xml:"building,omitempty"`
}

type AppStoreMacApplicationDataSubsetComputer

type AppStoreMacApplicationDataSubsetComputer struct {
	Computer struct {
		ID   int    `xml:"id,omitempty"`
		Name string `xml:"name"`
		UDID string `xml:"udid,omitempty"`
	} `xml:"computer"`
}

type AppStoreMacApplicationDataSubsetComputerGroup

type AppStoreMacApplicationDataSubsetComputerGroup struct {
	ComputerGroup AppStoreMacApplicationDataSubsetIDName `xml:"computer_group,omitempty"`
}

type AppStoreMacApplicationDataSubsetDepartment

type AppStoreMacApplicationDataSubsetDepartment struct {
	Department AppStoreMacApplicationDataSubsetIDName `xml:"department,omitempty"`
}

type AppStoreMacApplicationDataSubsetIDName

type AppStoreMacApplicationDataSubsetIDName struct {
	ID   int    `xml:"id,omitempty"`
	Name string `xml:"name,omitempty"`
}

Shared inner structs for reusability

type AppStoreMacApplicationDataSubsetJSSUser

type AppStoreMacApplicationDataSubsetJSSUser struct {
	User AppStoreMacApplicationDataSubsetIDName `xml:"user,omitempty"`
}

type AppStoreMacApplicationDataSubsetJSSUserGroup

type AppStoreMacApplicationDataSubsetJSSUserGroup struct {
	UserGroup AppStoreMacApplicationDataSubsetIDName `xml:"user_group,omitempty"`
}

type AppStoreMacApplicationDataSubsetSelfServiceCategory

type AppStoreMacApplicationDataSubsetSelfServiceCategory struct {
	Category struct {
		ID        int    `xml:"id,omitempty"`
		Name      string `xml:"name"`
		DisplayIn bool   `xml:"display_in,omitempty"`
		FeatureIn bool   `xml:"feature_in,omitempty"`
	} `xml:"category"`
}

type AppStoreMacApplicationDataSubsetSelfServiceIcon

type AppStoreMacApplicationDataSubsetSelfServiceIcon struct {
	ID   int    `xml:"id,omitempty"`
	URI  string `xml:"uri,omitempty"`
	Data string `xml:"data,omitempty"`
}

Tier 3 - Self Service section

type AppStoreMacApplicationDataSubsetVPP

type AppStoreMacApplicationDataSubsetVPP struct {
	AssignVPPDeviceBasedLicenses bool `xml:"assign_vpp_device_based_licenses,omitempty"`
	VPPAdminAccountID            int  `xml:"vpp_admin_account_id,omitempty"`
}

Tier 3 - VPP section

type AzureCloudIdentityProviderConfiguration

type AzureCloudIdentityProviderConfiguration struct {
	ID                                       string                  `json:"id"`
	TenantId                                 string                  `json:"tenantId"`
	Enabled                                  bool                    `json:"enabled"`
	Migrated                                 bool                    `json:"migrated"`
	Mappings                                 ResponseDefaultMappings `json:"mappings"`
	SearchTimeout                            int                     `json:"searchTimeout"`
	TransitiveMembershipEnabled              bool                    `json:"transitiveMembershipEnabled"`
	TransitiveMembershipUserField            string                  `json:"transitiveMembershipUserField"`
	TransitiveDirectoryMembershipEnabled     bool                    `json:"transitiveDirectoryMembershipEnabled"`
	MembershipCalculationOptimizationEnabled bool                    `json:"membershipCalculationOptimizationEnabled"`
}

type Building

type Building struct {
	Id             *string `json:"id,omitempty"` // The response type to be returned is a string
	Name           *string `json:"name,omitempty"`
	StreetAddress1 *string `json:"streetAddress1,omitempty"`
	StreetAddress2 *string `json:"streetAddress2,omitempty"`
	City           *string `json:"city,omitempty"`
	StateProvince  *string `json:"stateProvince,omitempty"`
	ZipPostalCode  *string `json:"zipPostalCode,omitempty"`
	Country        *string `json:"country,omitempty"`
	Href           *string `json:"href,omitempty"`
}

func (*Building) GetCity

func (d *Building) GetCity() string

func (*Building) GetCountry

func (d *Building) GetCountry() string

func (*Building) GetId

func (d *Building) GetId() string

func (*Building) GetName

func (d *Building) GetName() string

func (*Building) GetStateProvince

func (d *Building) GetStateProvince() string

func (*Building) GetStreetAddress1

func (d *Building) GetStreetAddress1() string

func (*Building) GetStreetAddress2

func (d *Building) GetStreetAddress2() string

func (*Building) GetZipPostalCode

func (d *Building) GetZipPostalCode() string

func (*Building) SetCity

func (d *Building) SetCity(v string)

func (*Building) SetCountry

func (d *Building) SetCountry(v string)

func (*Building) SetId

func (d *Building) SetId(v string)

Buildings

func (*Building) SetName

func (d *Building) SetName(v string)

func (*Building) SetStateProvince

func (d *Building) SetStateProvince(v string)

func (*Building) SetStreetAddress1

func (d *Building) SetStreetAddress1(v string)

func (*Building) SetStreetAddress2

func (d *Building) SetStreetAddress2(v string)

func (*Building) SetZipPostalCode

func (d *Building) SetZipPostalCode(v string)

type BuildingScope

type BuildingScope struct {
	ID   int    `xml:"id,omitempty"`
	Name string `xml:"name,omitempty"`
}

type CSAToken

type CSAToken struct {
	EmailAddress string `json:"emailAddress"`
	Password     string `json:"password"`
}

CSAToken is used to provide the email and password when requesting a CSA token from the Jamf Pro API.

type CacheSettings

type CacheSettings struct {
	Id                         string                                     `json:"id"`
	Name                       string                                     `json:"name"`
	CacheType                  string                                     `json:"cacheType"`
	TimeToLiveSeconds          int32                                      `json:"timeToLiveSeconds"`
	TimeToIdleSeconds          int32                                      `json:"timeToIdleSeconds"`
	DirectoryTimeToLiveSeconds int32                                      `json:"directoryTimeToLiveSeconds"`
	EhcacheMaxBytesLocalHeap   string                                     `json:"ehcacheMaxBytesLocalHeap"`
	CacheUniqueId              string                                     `json:"cacheUniqueId"`
	Elasticache                bool                                       `json:"elasticache"`
	MemcachedEndpoints         []CacheSettingsDataSubsetMemcachedEndpoint `json:"memcachedEndpoints"`
}

type CacheSettingsDataSubsetMemcachedEndpoint

type CacheSettingsDataSubsetMemcachedEndpoint struct {
	Id                      string `json:"id"`
	Name                    string `json:"name"`
	HostName                string `json:"hostName"`
	Port                    int    `json:"port"`
	Enabled                 bool   `json:"enabled"`
	JssCacheConfigurationId int    `json:"jssCacheConfigurationId"`
}

type Category

type Category struct {
	Id       *string `json:"id,omitempty"` // The response type to be returned is a string
	Name     *string `json:"name,omitempty"`
	Priority *int    `json:"priority,omitempty"`
	Href     *string `json:"href,omitempty"`
}

func (*Category) GetId

func (d *Category) GetId() string

func (*Category) GetName

func (d *Category) GetName() string

func (*Category) GetPriority

func (d *Category) GetPriority() int

func (*Category) SetId

func (d *Category) SetId(v string)

Categories

func (*Category) SetName

func (d *Category) SetName(v string)

func (*Category) SetPriority

func (d *Category) SetPriority(v int)

type CertificateDetails

type CertificateDetails struct {
	Filename         string `json:"filename"`
	Md5Sum           string `json:"md5Sum"`
	Subject          string `json:"subject,omitempty"`
	SerialNumber     string `json:"serialNumber,omitempty"`
	IdentityKeystore string `json:"identityKeystore,omitempty"`
	KeystorePassword string `json:"keystorePassword,omitempty"`
}

type ClassesDataSubsetAppleTV

type ClassesDataSubsetAppleTV struct {
	Name            string `json:"name" xml:"name"`
	UDID            string `json:"udid" xml:"udid"`
	WifiMacAddress  string `json:"wifi_mac_address" xml:"wifi_mac_address"`
	DeviceID        string `json:"device_id,omitempty" xml:"device_id,omitempty"`
	AirplayPassword string `json:"airplay_password,omitempty" xml:"airplay_password,omitempty"`
}

type ClassesDataSubsetGroup

type ClassesDataSubsetGroup struct {
	ID   int    `json:"id" xml:"id"`
	Name string `json:"name" xml:"name"`
}

type ClassesDataSubsetID

type ClassesDataSubsetID struct {
	ID int `json:"id" xml:"id"`
}

type ClassesDataSubsetMeetingTime

type ClassesDataSubsetMeetingTime struct {
	Days      string `json:"days" xml:"days"`
	StartTime int    `json:"start_time" xml:"start_time"`
	EndTime   int    `json:"end_time" xml:"end_time"`
}

type ClassesDataSubsetMeetingTimes

type ClassesDataSubsetMeetingTimes struct {
	MeetingTime ClassesDataSubsetMeetingTime `json:"meeting_time" xml:"meeting_time"`
}

type ClassesDataSubsetMobileDevice

type ClassesDataSubsetMobileDevice struct {
	Name           string `json:"name" xml:"name"`
	UDID           string `json:"udid" xml:"udid"`
	WifiMacAddress string `json:"wifi_mac_address" xml:"wifi_mac_address"`
	DeviceID       string `json:"device_id,omitempty" xml:"device_id,omitempty"`
}

type ClassesDataSubsetName

type ClassesDataSubsetName struct {
	Name string `json:"name" xml:",chardata"`
}

type ClassesDataSubsetSite

type ClassesDataSubsetSite struct {
	ID   int    `json:"id" xml:"id"`
	Name string `json:"name" xml:"name"`
}

type ClientCheckInHistoryResult

type ClientCheckInHistoryResult struct {
	ID       string `json:"id"`
	Username string `json:"username"`
	Date     string `json:"date"`
	Note     string `json:"note"`
	Details  string `json:"details"`
}

type CloudIdPCommon

type CloudIdPCommon struct {
	ID           string `json:"id"`
	DisplayName  string `json:"displayName"`
	ProviderName string `json:"providerName"`
}

type ComplianceVendorDeviceInformation

type ComplianceVendorDeviceInformation struct {
	DeviceIds []string `json:"deviceIds"`
}

type Computer

type Computer struct {
	General               ComputerDataSubsetGeneral               `json:"general,omitempty" xml:"general,omitempty"`
	Location              ComputerDataSubsetLocation              `json:"location,omitempty" xml:"location,omitempty"`
	Purchasing            ComputerDataSubsetPurchasing            `json:"purchasing,omitempty" xml:"purchasing,omitempty"`
	Peripherals           ComputerDataSubsetPeripherals           `json:"peripherals,omitempty" xml:"peripherals,omitempty"`
	Hardware              ComputerDataSubsetHardware              `json:"hardware,omitempty" xml:"hardware,omitempty"`
	Certificates          ComputerDataSubsetCertificates          `json:"certificates,omitempty" xml:"certificates,omitempty"`
	Security              ComputerDataSubsetSecurity              `json:"security,omitempty" xml:"security,omitempty"`
	Software              ComputerDataSubsetSoftware              `json:"software,omitempty" xml:"software,omitempty"`
	ExtensionAttributes   ComputerDataSubsetExtensionAttributes   `json:"extension_attributes,omitempty" xml:"extension_attributes,omitempty"`
	GroupAccounts         ComputerDataSubsetGroupAccounts         `json:"groups_accounts,omitempty" xml:"groups_accounts,omitempty"`
	IPhones               ComputerDataSubsetIPhones               `json:"iphones,omitempty" xml:"iphones,omitempty"`
	ConfigurationProfiles ComputerDataSubsetConfigurationProfiles `json:"configuration_profiles,omitempty" xml:"configuration_profiles,omitempty"`
}

type ComputerAppUsageDetail

type ComputerAppUsageDetail struct {
	Name       string `json:"name,omitempty" xml:"name,omitempty"`
	Version    string `json:"version,omitempty" xml:"version,omitempty"`
	Foreground int    `json:"foreground,omitempty" xml:"foreground,omitempty"` // Number of minutes application was in the foreground
	Open       int    `json:"open,omitempty" xml:"open,omitempty"`             // Number of minutes the application was open
}

type ComputerAppUsageEntry

type ComputerAppUsageEntry struct {
	App ComputerAppUsageDetail `json:"app,omitempty" xml:"app,omitempty"`
}

type ComputerApplicationDataSubsetComputerDetail

type ComputerApplicationDataSubsetComputerDetail struct {
	ID           int    `json:"id,omitempty" xml:"id,omitempty"`
	Name         string `json:"name,omitempty" xml:"name,omitempty"`
	UDID         string `json:"udid,omitempty" xml:"udid,omitempty"`
	SerialNumber string `json:"serial_number,omitempty" xml:"serial_number,omitempty"`
	MacAddress   string `json:"mac_address,omitempty" xml:"mac_address,omitempty"`
}

type ComputerApplicationDataSubsetComputerWrap

type ComputerApplicationDataSubsetComputerWrap struct {
	Computer ComputerApplicationDataSubsetComputerDetail `json:"computer,omitempty" xml:"computer,omitempty"`
}

type ComputerApplicationDataSubsetUniqueComputers

type ComputerApplicationDataSubsetUniqueComputers struct {
	Computer []ComputerApplicationDataSubsetComputerDetail `json:"computer,omitempty" xml:"computer,omitempty"`
}

type ComputerApplicationDataSubsetVersionDetail

type ComputerApplicationDataSubsetVersionDetail struct {
	Number    string                                      `json:"number,omitempty" xml:"number,omitempty"`
	Computers []ComputerApplicationDataSubsetComputerWrap `json:"computers,omitempty" xml:"computers,omitempty"`
}

type ComputerApplicationDataSubsetVersions

type ComputerApplicationDataSubsetVersions struct {
	Version []ComputerApplicationDataSubsetVersionDetail `json:"version,omitempty" xml:"version,omitempty"`
}

type ComputerApplicationUsageDetail

type ComputerApplicationUsageDetail struct {
	Date string                  `json:"date,omitempty" xml:"date,omitempty"`
	Apps []ComputerAppUsageEntry `json:"apps,omitempty" xml:"apps,omitempty"`
}

type ComputerDataSubsetCertificates

type ComputerDataSubsetCertificates struct {
	Certificates []struct {
		CommonName   string `xml:"common_name,omitempty"`
		Identity     bool   `xml:"identity,omitempty"`
		ExpiresUtc   string `xml:"expires_utc,omitempty"`
		ExpiresEpoch int64  `xml:"expires_epoch,omitempty"`
		Name         string `xml:"name,omitempty"`
	} `xml:"certificate,omitempty"`
}

type ComputerDataSubsetConfigurationProfiles

type ComputerDataSubsetConfigurationProfiles struct {
	Size                 string `xml:"size,omitempty"`
	ConfigurationProfile []struct {
		ID          int    `xml:"id,omitempty"`
		Name        string `xml:"name,omitempty"`
		UUID        string `xml:"uuid,omitempty"`
		IsRemovable bool   `xml:"is_removable,omitempty"`
	} `xml:"configuration_profile,omitempty"`
}

type ComputerDataSubsetExtensionAttributes

type ComputerDataSubsetExtensionAttributes struct {
	ExtensionAttributes []struct {
		ID         int    `xml:"id,omitempty"`
		Name       string `xml:"name,omitempty"`
		Type       string `xml:"type,omitempty"`
		MultiValue bool   `xml:"multi_value,omitempty"`
		Value      string `xml:"value,omitempty"`
	} `xml:"extension_attribute,omitempty"`
}

type ComputerDataSubsetGeneral

type ComputerDataSubsetGeneral struct {
	ID                    int    `xml:"id,omitempty"`
	Name                  string `xml:"name,omitempty"`
	NetworkAdapterType    string `xml:"network_adapter_type,omitempty"`
	MacAddress            string `xml:"mac_address,omitempty"`
	AltNetworkAdapterType string `xml:"alt_network_adapter_type,omitempty"`
	AltMacAddress         string `xml:"alt_mac_address,omitempty"`
	IPAddress             string `xml:"ip_address,omitempty"`
	LastReportedIP        string `xml:"last_reported_ip,omitempty"`
	SerialNumber          string `xml:"serial_number,omitempty"`
	UDID                  string `xml:"udid,omitempty"`
	JamfVersion           string `xml:"jamf_version,omitempty"`
	Platform              string `xml:"platform,omitempty"`
	Barcode1              string `xml:"barcode_1,omitempty"`
	Barcode2              string `xml:"barcode_2,omitempty"`
	AssetTag              string `xml:"asset_tag,omitempty"`
	RemoteManagement      struct {
		Managed                  bool   `xml:"managed,omitempty"`
		ManagementUsername       string `xml:"management_username,omitempty"`
		ManagementPasswordSha256 string `xml:"management_password_sha256,omitempty"`
	} `xml:"remote_management,omitempty"`
	Supervised      string `xml:"supervised,omitempty"`
	MdmCapable      string `xml:"mdm_capable,omitempty"`
	MdmCapableUsers []struct {
		MdmCapableUser string `xml:"mdm_capable_user,omitempty"`
	} `xml:"mdm_capable_users,omitempty"`
	ManagementStatus struct {
		EnrolledViaDep  bool `xml:"enrolled_via_dep,omitempty"`
		UserApprovedMdm bool `xml:"user_approved_mdm,omitempty"`
	} `xml:"management_status,omitempty"`
	ReportDate                string `xml:"report_date,omitempty"`
	ReportDateEpoch           string `xml:"report_date_epoch,omitempty"`
	ReportDateUtc             string `xml:"report_date_utc,omitempty"`
	LastContactTime           string `xml:"last_contact_time,omitempty"`
	LastContactTimeEpoch      string `xml:"last_contact_time_epoch,omitempty"`
	LastContactTimeUtc        string `xml:"last_contact_time_utc,omitempty"`
	InitialEntryDate          string `xml:"initial_entry_date,omitempty"`
	InitialEntryDateEpoch     string `xml:"initial_entry_date_epoch,omitempty"`
	InitialEntryDateUtc       string `xml:"initial_entry_date_utc,omitempty"`
	LastCloudBackupDateEpoch  string `xml:"last_cloud_backup_date_epoch,omitempty"`
	LastCloudBackupDateUtc    string `xml:"last_cloud_backup_date_utc,omitempty"`
	LastEnrolledDateEpoch     string `xml:"last_enrolled_date_epoch,omitempty"`
	LastEnrolledDateUtc       string `xml:"last_enrolled_date_utc,omitempty"`
	MdmProfileExpirationEpoch string `xml:"mdm_profile_expiration_epoch,omitempty"`
	MdmProfileExpirationUtc   string `xml:"mdm_profile_expiration_utc,omitempty"`
	DistributionPoint         string `xml:"distribution_point,omitempty"`
	Sus                       string `xml:"sus,omitempty"`
	Site                      struct {
		ID   int    `xml:"id,omitempty"`
		Name string `xml:"name,omitempty"`
	} `xml:"site,omitempty"`
	ItunesStoreAccountIsActive string `xml:"itunes_store_account_is_active"`
}

type ComputerDataSubsetGroupAccounts

type ComputerDataSubsetGroupAccounts struct {
	ComputerGroupMemberships struct {
		Groups []string `xml:"group,omitempty"`
	} `xml:"computer_group_memberships,omitempty"`
	LocalAccounts struct {
		Users []struct {
			Name             string `xml:"name,omitempty"`
			Realname         string `xml:"realname,omitempty"`
			UID              int    `xml:"uid,omitempty"`
			Home             string `xml:"home,omitempty"`
			HomeSize         string `xml:"home_size,omitempty"`
			HomeSizeMb       int    `xml:"home_size_mb,omitempty"`
			Administrator    bool   `xml:"administrator,omitempty"`
			FilevaultEnabled bool   `xml:"filevault_enabled,omitempty"`
		} `xml:"user,omitempty"`
	} `xml:"local_accounts,omitempty"`
	UserInventories struct {
		DisableAutomaticLogin bool `xml:"disable_automatic_login,omitempty"`
		Users                 []struct {
			Username                     string `xml:"username,omitempty"`
			PasswordHistoryDepth         string `xml:"password_history_depth,omitempty"`
			PasswordMinLength            string `xml:"password_min_length,omitempty"`
			PasswordMaxAge               string `xml:"password_max_age,omitempty"`
			PasswordMinComplexCharacters string `xml:"password_min_complex_characters,omitempty"`
			PasswordRequireAlphanumeric  string `xml:"password_require_alphanumeric,omitempty"`
		} `xml:"user,omitempty"`
	} `xml:"user_inventories,omitempty"`
}

type ComputerDataSubsetHardware

type ComputerDataSubsetHardware struct {
	Make                        string `xml:"make,omitempty"`
	Model                       string `xml:"model,omitempty"`
	ModelIdentifier             string `xml:"model_identifier,omitempty"`
	OsName                      string `xml:"os_name,omitempty"`
	OsVersion                   string `xml:"os_version,omitempty"`
	OsBuild                     string `xml:"os_build,omitempty"`
	SoftwareUpdateDeviceID      string `xml:"software_update_device_id,omitempty"`
	ActiveDirectoryStatus       string `xml:"active_directory_status,omitempty"`
	ServicePack                 string `xml:"service_pack,omitempty"`
	ProcessorType               string `xml:"processor_type,omitempty"`
	IsAppleSilicon              bool   `xml:"is_apple_silicon,omitempty"`
	ProcessorArchitecture       string `xml:"processor_architecture,omitempty"`
	ProcessorSpeed              int    `xml:"processor_speed,omitempty"`
	ProcessorSpeedMhz           int    `xml:"processor_speed_mhz,omitempty"`
	NumberProcessors            int    `xml:"number_processors,omitempty"`
	NumberCores                 int    `xml:"number_cores,omitempty"`
	TotalRAM                    int    `xml:"total_ram,omitempty"`
	TotalRAMMb                  int    `xml:"total_ram_mb,omitempty"`
	BootRom                     string `xml:"boot_rom,omitempty"`
	BusSpeed                    int    `xml:"bus_speed,omitempty"`
	BusSpeedMhz                 int    `xml:"bus_speed_mhz,omitempty"`
	BatteryCapacity             int    `xml:"battery_capacity,omitempty"`
	CacheSize                   int    `xml:"cache_size,omitempty"`
	CacheSizeKb                 int    `xml:"cache_size_kb,omitempty"`
	AvailableRAMSlots           int    `xml:"available_ram_slots,omitempty"`
	OpticalDrive                string `xml:"optical_drive,omitempty"`
	NicSpeed                    string `xml:"nic_speed,omitempty"`
	SmcVersion                  string `xml:"smc_version,omitempty"`
	BleCapable                  bool   `xml:"ble_capable,omitempty"`
	SupportsIosAppInstalls      bool   `xml:"supports_ios_app_installs,omitempty"`
	SipStatus                   string `xml:"sip_status,omitempty"`
	GatekeeperStatus            string `xml:"gatekeeper_status,omitempty"`
	XprotectVersion             string `xml:"xprotect_version,omitempty"`
	InstitutionalRecoveryKey    string `xml:"institutional_recovery_key,omitempty"`
	DiskEncryptionConfiguration string `xml:"disk_encryption_configuration,omitempty"`
	Filevault2Users             []struct {
		User string `xml:"user,omitempty"`
	} `xml:"filevault2_users,omitempty"`
	Storage struct {
		Devices []struct {
			Disk            string `xml:"disk,omitempty"`
			Model           string `xml:"model,omitempty"`
			Revision        string `xml:"revision,omitempty"`
			SerialNumber    string `xml:"serial_number,omitempty"`
			Size            int    `xml:"size,omitempty"`
			DriveCapacityMb int    `xml:"drive_capacity_mb,omitempty"`
			ConnectionType  string `xml:"connection_type,omitempty"`
			SmartStatus     string `xml:"smart_status,omitempty"`
			Partitions      struct {
				Partitions []struct {
					Name                 string `xml:"name,omitempty"`
					Size                 int    `xml:"size,omitempty"`
					Type                 string `xml:"type,omitempty"`
					PartitionCapacityMb  int    `xml:"partition_capacity_mb,omitempty"`
					PercentageFull       int    `xml:"percentage_full,omitempty"`
					AvailableMb          int    `xml:"available_mb,omitempty"`
					FilevaultStatus      string `xml:"filevault_status,omitempty"`
					FilevaultPercent     int    `xml:"filevault_percent,omitempty"`
					Filevault2Status     string `xml:"filevault2_status,omitempty"`
					Filevault2Percent    int    `xml:"filevault2_percent,omitempty"`
					BootDriveAvailableMb int    `xml:"boot_drive_available_mb,omitempty"`
					LvgUUID              string `xml:"lvgUUID,omitempty"`
					LvUUID               string `xml:"lvUUID,omitempty"`
					PvUUID               string `xml:"pvUUID,omitempty"`
				} `xml:"partition,omitempty"`
			} `xml:"partitions,omitempty"`
		} `xml:"device,omitempty"`
	} `xml:"storage,omitempty"`
	MappedPrinters string `xml:"mapped_printers,omitempty"`
}

type ComputerDataSubsetIPhones

type ComputerDataSubsetIPhones struct {
}

type ComputerDataSubsetLocation

type ComputerDataSubsetLocation struct {
	Username     string `xml:"username,omitempty"`
	RealName     string `xml:"real_name,omitempty"`
	EmailAddress string `xml:"email_address,omitempty"`
	Position     string `xml:"position,omitempty"`
	Phone        string `xml:"phone,omitempty"`
	PhoneNumber  string `xml:"phone_number,omitempty"`
	Department   string `xml:"department,omitempty"`
	Building     string `xml:"building,omitempty"`
	Room         string `xml:"room,omitempty"`
}

type ComputerDataSubsetName

type ComputerDataSubsetName string
const (
	ComputerDataSubsetNameGeneral               ComputerDataSubsetName = "General"
	ComputerDataSubsetNameLocation              ComputerDataSubsetName = "Location"
	ComputerDataSubsetNamePurchasing            ComputerDataSubsetName = "Purchasing"
	ComputerDataSubsetNamePeripherals           ComputerDataSubsetName = "Peripherals"
	ComputerDataSubsetNameHardware              ComputerDataSubsetName = "Hardware"
	ComputerDataSubsetNameCertificates          ComputerDataSubsetName = "Certificates"
	ComputerDataSubsetNameSecurity              ComputerDataSubsetName = "Security"
	ComputerDataSubsetNameSoftware              ComputerDataSubsetName = "Software"
	ComputerDataSubsetNameExtensionAttributes   ComputerDataSubsetName = "ExtensionAttributes"
	ComputerDataSubsetNameGroupAccounts         ComputerDataSubsetName = "GroupsAccounts"
	ComputerDataSubsetNameIPhones               ComputerDataSubsetName = "iphones"
	ComputerDataSubsetNameConfigurationProfiles ComputerDataSubsetName = "ConfigurationProfiles"
)

type ComputerDataSubsetPeripherals

type ComputerDataSubsetPeripherals struct {
}

Don't have example data for this to construct resulting struct. Please cut a PR to populate if needed

type ComputerDataSubsetPurchasing

type ComputerDataSubsetPurchasing struct {
	IsPurchased          bool   `xml:"is_purchased,omitempty"`
	IsLeased             bool   `xml:"is_leased,omitempty"`
	PoNumber             string `xml:"po_number,omitempty"`
	Vendor               string `xml:"vendor,omitempty"`
	ApplecareID          string `xml:"applecare_id,omitempty"`
	PurchasePrice        string `xml:"purchase_price,omitempty"`
	PurchasingAccount    string `xml:"purchasing_account,omitempty"`
	PoDate               string `xml:"po_date,omitempty"`
	PoDateEpoch          int64  `xml:"po_date_epoch,omitempty"`
	PoDateUtc            string `xml:"po_date_utc,omitempty"`
	WarrantyExpires      string `xml:"warranty_expires,omitempty"`
	WarrantyExpiresEpoch int64  `xml:"warranty_expires_epoch,omitempty"`
	WarrantyExpiresUtc   string `xml:"warranty_expires_utc,omitempty"`
	LeaseExpires         string `xml:"lease_expires,omitempty"`
	LeaseExpiresEpoch    int64  `xml:"lease_expires_epoch,omitempty"`
	LeaseExpiresUtc      string `xml:"lease_expires_utc,omitempty"`
	LifeExpectancy       int    `xml:"life_expectancy,omitempty"`
	PurchasingContact    string `xml:"purchasing_contact,omitempty"`
	OsApplecareID        string `xml:"os_applecare_id,omitempty"`
	OsMaintenanceExpires string `xml:"os_maintenance_expires,omitempty"`
	Attachments          string `xml:"attachments,omitempty"`
}

type ComputerDataSubsetSecurity

type ComputerDataSubsetSecurity struct {
	ActivationLock      bool   `xml:"activation_lock,omitempty"`
	RecoveryLockEnabled bool   `xml:"recovery_lock_enabled,omitempty"`
	SecureBootLevel     string `xml:"secure_boot_level,omitempty"`
	ExternalBootLevel   string `xml:"external_boot_level,omitempty"`
	FirewallEnabled     bool   `xml:"firewall_enabled,omitempty"`
}

type ComputerDataSubsetSoftware

type ComputerDataSubsetSoftware struct {
	// UnixExecutables   string `xml:"unix_executables,omitempty"`  - unknown format, accepting PRs
	// LicensedSoftware  string `xml:"licensed_software,omitempty"` - unknown format, accepting PRs
	InstalledByCasper []struct {
		Package string `xml:"package,omitempty"`
	} `xml:"installed_by_casper,omitempty"`
	InstalledByInstallerSwu []struct {
		Package []string `xml:"package,omitempty"`
	} `xml:"installed_by_installer_swu,omitempty"`
	CachedByCasper []struct {
		Package string `xml:"package,omitempty"`
	} `xml:"cached_by_casper,omitempty"`
	AvailableSoftwareUpdates []struct {
		Name string `xml:"name,omitempty"`
	} `xml:"available_software_updates,omitempty"`
	AvailableUpdates []struct {
		Update struct {
			Text        string `xml:",chardata,omitempty"`
			Name        string `xml:"name,omitempty"`
			PackageName string `xml:"package_name,omitempty"`
			Version     string `xml:"version,omitempty"`
		} `xml:"update,omitempty"`
	} `xml:"available_updates,omitempty"`
	RunningServices struct {
		Names []string `xml:"name,omitempty"`
	} `xml:"running_services,omitempty"`
	Applications struct {
		Size         int `xml:"size,omitempty"`
		Applications []struct {
			Name     string `xml:"name,omitempty"`
			Path     string `xml:"path,omitempty"`
			Version  string `xml:"version,omitempty"`
			BundleID string `xml:"bundle_id,omitempty"`
		} `xml:"application,omitempty"`
	} `xml:"applications,omitempty"`
}

type ComputerExtensionAttribute

type ComputerExtensionAttribute struct {
	Id               int                                 `xml:"id"`
	Name             string                              `xml:"name"`
	Enabled          bool                                `xml:"enabled,omitempty"`
	Description      string                              `xml:"description"`
	DataType         string                              `xml:"data_type"`
	InputType        ComputerExtensionAttributeInputType `xml:"input_type,omitempty"`
	InventoryDisplay string                              `xml:"inventory_display,omitempty"`
	ReconDisplay     string                              `xml:"recon_display,omitempty"`
}

type ComputerExtensionAttributeInputType

type ComputerExtensionAttributeInputType struct {
	Type     string   `xml:"type"`
	Platform string   `xml:"platform,omitempty"`
	Script   string   `xml:"script,omitempty"`
	Choices  []string `xml:"popup_choices>choice,omitempty"`
}

type ComputerExtensionAttributeListItem

type ComputerExtensionAttributeListItem struct {
	Id      int    `xml:"id"`
	Name    string `xml:"name"`
	Enabled bool   `xml:"enabled"`
}

type ComputerExtensionAttributeListResponse

type ComputerExtensionAttributeListResponse struct {
	Size    int                                 `xml:"size"`
	Results []MacOSConfigurationProfileListItem `xml:"computer_extension_attribute"`
}

type ComputerGroup

type ComputerGroup struct {
	ID           int                          `xml:"id"`
	Name         string                       `xml:"name"`
	IsSmart      bool                         `xml:"is_smart"`
	Site         Site                         `xml:"site"`
	Criteria     []ComputerGroupCriterion     `xml:"criteria>criterion"`
	CriteriaSize int                          `xml:"criteria>size"`
	Computers    []ComputerGroupComputerEntry `xml:"computers>computer"`
	ComputerSize int                          `xml:"computers>size"`
}

type ComputerGroupComputerEntry

type ComputerGroupComputerEntry struct {
	ID           int    `json:"id,omitempty" xml:"id,omitempty"`
	Name         string `json:"name,omitempty" xml:"name,omitempty"`
	SerialNumber string `json:"serial_number,omitempty" xml:"serial_number,omitempty"`
}

type ComputerGroupCriterion

type ComputerGroupCriterion struct {
	Name         string           `xml:"name"`
	Priority     int              `xml:"priority"`
	AndOr        DeviceGroupAndOr `xml:"and_or"`
	SearchType   string           `xml:"search_type"`
	SearchValue  string           `xml:"value"`
	OpeningParen bool             `xml:"opening_paren"`
	ClosingParen bool             `xml:"closing_paren"`
}

type ComputerGroupListResponse

type ComputerGroupListResponse struct {
	ID      int    `xml:"id,omitempty"`
	Name    string `xml:"name,omitempty"`
	IsSmart bool   `xml:"is_smart,omitempty"`
}

type ComputerGroupRequest

type ComputerGroupRequest struct {
	Name      string                       `xml:"name"`
	IsSmart   bool                         `xml:"is_smart"`
	Site      Site                         `xml:"site"`
	Criteria  []ComputerGroupCriterion     `xml:"criteria>criterion"`
	Computers []ComputerGroupComputerEntry `xml:"computers>computer,omitempty"`
}

type ComputerGroupsResponse

type ComputerGroupsResponse struct {
	Size    int                         `xml:"size"`
	Results []ComputerGroupListResponse `xml:"computer_group"`
}

type ComputerInventoriesQuery

type ComputerInventoriesQuery struct {
	Sections *[]ComputerInventoryDataSubsetName
	Page     int
	PageSize int
	Sort     *[]string
	Filter   string
}

type ComputerInventoriesResponse

type ComputerInventoriesResponse struct {
	TotalCount int                 `json:"totalCount,omitempty"`
	Results    []ComputerInventory `json:"results,omitempty"`
}

type ComputerInventory

type ComputerInventory struct {
	ID                    string                                              `json:"id,omitempty"`
	Udid                  string                                              `json:"udid,omitempty"`
	General               *ComputerInventoryDataSubsetGeneral                 `json:"general,omitempty"`
	DiskEncryption        *ComputerInventoryDataSubsetDiskEncryption          `json:"diskEncryption,omitempty"`
	Purchasing            *ComputerInventoryDataSubsetPurchasing              `json:"purchasing,omitempty"`
	Applications          *[]ComputerInventoryDataSubsetApplications          `json:"applications,omitempty"`
	Storage               *ComputerInventoryDataSubsetStorage                 `json:"storage,omitempty"`
	UserAndLocation       *ComputerInventoryDataSubsetUserAndLocation         `json:"userAndLocation,omitempty"`
	ConfigurationProfiles *[]ComputerInventoryDataSubsetConfigurationProfiles `json:"configurationProfiles,omitempty"`
	Printers              *[]ComputerInventoryDataSubsetPrinters              `json:"printers,omitempty"`
	Services              *[]ComputerInventoryDataSubsetServices              `json:"services,omitempty"`
	Hardware              *ComputerInventoryDataSubsetHardware                `json:"hardware,omitempty"`
	LocalUserAccounts     *[]ComputerInventoryDataSubsetLocalUserAccounts     `json:"localUserAccounts,omitempty"`
	Certificates          *[]ComputerInventoryDataSubsetCertificates          `json:"certificates,omitempty"`
	Attachments           *[]ComputerInventoryDataSubsetAttachments           `json:"attachments,omitempty"`
	Plugins               *[]ComputerInventoryDataSubsetPlugins               `json:"plugins,omitempty"`
	PackageReceipts       *ComputerInventoryDataSubsetPackageReceipts         `json:"packageReceipts,omitempty"`
	Fonts                 *[]ComputerInventoryDataSubsetFonts                 `json:"fonts,omitempty"`
	Security              *ComputerInventoryDataSubsetSecurity                `json:"security,omitempty"`
	OperatingSystem       *ComputerInventoryDataSubsetOperatingSystem         `json:"operatingSystem,omitempty"`
	LicensedSoftware      *[]ComputerInventoryDataSubsetLicensedSoftware      `json:"licensedSoftware,omitempty"`
	Ibeacons              *[]ComputerInventoryDataSubsetIbeacons              `json:"ibeacons,omitempty"`
	SoftwareUpdates       *[]ComputerInventoryDataSubsetSoftwareUpdates       `json:"softwareUpdates,omitempty"`
	ExtensionAttributes   *[]ComputerInventoryDataSubsetExtensionAttributes   `json:"extensionAttributes,omitempty"`
	ContentCaching        *ComputerInventoryDataSubsetContentCaching          `json:"contentCaching,omitempty"`
	GroupMemberships      *[]ComputerInventoryDataSubsetGroupMemberships      `json:"groupMemberships,omitempty"`
}

type ComputerInventoryCollectionPreferences

type ComputerInventoryCollectionPreferences struct {
	MonitorApplicationUsage                      bool `json:"monitorApplicationUsage"`
	IncludeFonts                                 bool `json:"includeFonts"`
	IncludePlugins                               bool `json:"includePlugins"`
	IncludePackages                              bool `json:"includePackages"`
	IncludeSoftwareUpdates                       bool `json:"includeSoftwareUpdates"`
	IncludeAccounts                              bool `json:"includeAccounts"`
	CalculateSizes                               bool `json:"calculateSizes"`
	IncludeHiddenAccounts                        bool `json:"includeHiddenAccounts"`
	IncludePrinters                              bool `json:"includePrinters"`
	IncludeServices                              bool `json:"includeServices"`
	CollectSyncedMobileDeviceInfo                bool `json:"collectSyncedMobileDeviceInfo"`
	UpdateLdapInfoOnComputerInventorySubmissions bool `json:"updateLdapInfoOnComputerInventorySubmissions"`
	MonitorBeacons                               bool `json:"monitorBeacons"`
	AllowChangingUserAndLocation                 bool `json:"allowChangingUserAndLocation"`
	UseUnixUserPaths                             bool `json:"useUnixUserPaths"`
}

type ComputerInventoryDataSubsetApplications

type ComputerInventoryDataSubsetApplications struct {
	Name              string `json:"name,omitempty"`
	Path              string `json:"path,omitempty"`
	Version           string `json:"version,omitempty"`
	MacAppStore       bool   `json:"macAppStore,omitempty"`
	SizeMegabytes     int    `json:"sizeMegabytes,omitempty"`
	BundleID          string `json:"bundleId,omitempty"`
	UpdateAvailable   bool   `json:"updateAvailable,omitempty"`
	ExternalVersionID string `json:"externalVersionId,omitempty"`
}

type ComputerInventoryDataSubsetAttachments

type ComputerInventoryDataSubsetAttachments struct {
	ID        string `json:"id,omitempty"`
	Name      string `json:"name,omitempty"`
	FileType  string `json:"fileType,omitempty"`
	SizeBytes int    `json:"sizeBytes,omitempty"`
}

type ComputerInventoryDataSubsetCertificates

type ComputerInventoryDataSubsetCertificates struct {
	CommonName        string    `json:"commonName,omitempty"`
	Identity          bool      `json:"identity,omitempty"`
	ExpirationDate    time.Time `json:"expirationDate,omitempty"`
	Username          string    `json:"username,omitempty"`
	LifecycleStatus   string    `json:"lifecycleStatus,omitempty"`
	CertificateStatus string    `json:"certificateStatus,omitempty"`
}

type ComputerInventoryDataSubsetConfigurationProfiles

type ComputerInventoryDataSubsetConfigurationProfiles struct {
	ID                string    `json:"id,omitempty"`
	Username          string    `json:"username,omitempty"`
	LastInstalled     time.Time `json:"lastInstalled,omitempty"`
	Removable         bool      `json:"removable,omitempty"`
	DisplayName       string    `json:"displayName,omitempty"`
	ProfileIdentifier string    `json:"profileIdentifier,omitempty"`
}

type ComputerInventoryDataSubsetContentCaching

type ComputerInventoryDataSubsetContentCaching struct {
	ComputerContentCachingInformationID string `json:"computerContentCachingInformationId,omitempty"`
	Parents                             []struct {
		ContentCachingParentID string `json:"contentCachingParentId,omitempty"`
		Address                string `json:"address,omitempty"`
		Alerts                 struct {
			ContentCachingParentAlertID string        `json:"contentCachingParentAlertId,omitempty"`
			Addresses                   []interface{} `json:"addresses,omitempty"`
			ClassName                   string        `json:"className,omitempty"`
			PostDate                    time.Time     `json:"postDate,omitempty"`
		} `json:"alerts,omitempty"`
		Details struct {
			ContentCachingParentDetailsID string `json:"contentCachingParentDetailsId,omitempty"`
			AcPower                       bool   `json:"acPower,omitempty"`
			CacheSizeBytes                int    `json:"cacheSizeBytes,omitempty"`
			Capabilities                  struct {
				ContentCachingParentCapabilitiesID string `json:"contentCachingParentCapabilitiesId,omitempty"`
				Imports                            bool   `json:"imports,omitempty"`
				Namespaces                         bool   `json:"namespaces,omitempty"`
				PersonalContent                    bool   `json:"personalContent,omitempty"`
				QueryParameters                    bool   `json:"queryParameters,omitempty"`
				SharedContent                      bool   `json:"sharedContent,omitempty"`
				Prioritization                     bool   `json:"prioritization,omitempty"`
			} `json:"capabilities,omitempty"`
			Portable     bool `json:"portable,omitempty"`
			LocalNetwork []struct {
				ContentCachingParentLocalNetworkID string `json:"contentCachingParentLocalNetworkId,omitempty"`
				Speed                              int    `json:"speed,omitempty"`
				Wired                              bool   `json:"wired,omitempty"`
			} `json:"localNetwork,omitempty"`
		} `json:"details,omitempty"`
		GUID    string `json:"guid,omitempty"`
		Healthy bool   `json:"healthy,omitempty"`
		Port    int    `json:"port,omitempty"`
		Version string `json:"version,omitempty"`
	} `json:"parents,omitempty"`
	Alerts []struct {
		CacheBytesLimit      int       `json:"cacheBytesLimit,omitempty"`
		ClassName            string    `json:"className,omitempty"`
		PathPreventingAccess string    `json:"pathPreventingAccess,omitempty"`
		PostDate             time.Time `json:"postDate,omitempty"`
		ReservedVolumeBytes  int       `json:"reservedVolumeBytes,omitempty"`
		Resource             string    `json:"resource,omitempty"`
	} `json:"alerts,omitempty"`
	Activated            bool `json:"activated,omitempty"`
	Active               bool `json:"active,omitempty"`
	ActualCacheBytesUsed int  `json:"actualCacheBytesUsed,omitempty"`
	CacheDetails         []struct {
		ComputerContentCachingCacheDetailsID string `json:"computerContentCachingCacheDetailsId,omitempty"`
		CategoryName                         string `json:"categoryName,omitempty"`
		DiskSpaceBytesUsed                   int    `json:"diskSpaceBytesUsed,omitempty"`
	} `json:"cacheDetails,omitempty"`
	CacheBytesFree                  int64  `json:"cacheBytesFree,omitempty"`
	CacheBytesLimit                 int    `json:"cacheBytesLimit,omitempty"`
	CacheStatus                     string `json:"cacheStatus,omitempty"`
	CacheBytesUsed                  int    `json:"cacheBytesUsed,omitempty"`
	DataMigrationCompleted          bool   `json:"dataMigrationCompleted,omitempty"`
	DataMigrationProgressPercentage int    `json:"dataMigrationProgressPercentage,omitempty"`
	DataMigrationError              struct {
		Code     int    `json:"code,omitempty"`
		Domain   string `json:"domain,omitempty"`
		UserInfo []struct {
			Key   string `json:"key,omitempty"`
			Value string `json:"value,omitempty"`
		} `json:"userInfo,omitempty"`
	} `json:"dataMigrationError,omitempty"`
	MaxCachePressureLast1HourPercentage int       `json:"maxCachePressureLast1HourPercentage,omitempty"`
	PersonalCacheBytesFree              int64     `json:"personalCacheBytesFree,omitempty"`
	PersonalCacheBytesLimit             int       `json:"personalCacheBytesLimit,omitempty"`
	PersonalCacheBytesUsed              int       `json:"personalCacheBytesUsed,omitempty"`
	Port                                int       `json:"port,omitempty"`
	PublicAddress                       string    `json:"publicAddress,omitempty"`
	RegistrationError                   string    `json:"registrationError,omitempty"`
	RegistrationResponseCode            int       `json:"registrationResponseCode,omitempty"`
	RegistrationStarted                 time.Time `json:"registrationStarted,omitempty"`
	RegistrationStatus                  string    `json:"registrationStatus,omitempty"`
	RestrictedMedia                     bool      `json:"restrictedMedia,omitempty"`
	ServerGUID                          string    `json:"serverGuid,omitempty"`
	StartupStatus                       string    `json:"startupStatus,omitempty"`
	TetheratorStatus                    string    `json:"tetheratorStatus,omitempty"`
	TotalBytesAreSince                  time.Time `json:"totalBytesAreSince,omitempty"`
	TotalBytesDropped                   int       `json:"totalBytesDropped,omitempty"`
	TotalBytesImported                  int       `json:"totalBytesImported,omitempty"`
	TotalBytesReturnedToChildren        int       `json:"totalBytesReturnedToChildren,omitempty"`
	TotalBytesReturnedToClients         int       `json:"totalBytesReturnedToClients,omitempty"`
	TotalBytesReturnedToPeers           int       `json:"totalBytesReturnedToPeers,omitempty"`
	TotalBytesStoredFromOrigin          int       `json:"totalBytesStoredFromOrigin,omitempty"`
	TotalBytesStoredFromParents         int       `json:"totalBytesStoredFromParents,omitempty"`
	TotalBytesStoredFromPeers           int       `json:"totalBytesStoredFromPeers,omitempty"`
}

type ComputerInventoryDataSubsetDiskEncryption

type ComputerInventoryDataSubsetDiskEncryption struct {
	BootPartitionEncryptionDetails struct {
		PartitionName              string `json:"partitionName,omitempty"`
		PartitionFileVault2State   string `json:"partitionFileVault2State,omitempty"`
		PartitionFileVault2Percent int    `json:"partitionFileVault2Percent,omitempty"`
	} `json:"bootPartitionEncryptionDetails,omitempty"`
	IndividualRecoveryKeyValidityStatus string   `json:"individualRecoveryKeyValidityStatus,omitempty"`
	InstitutionalRecoveryKeyPresent     bool     `json:"institutionalRecoveryKeyPresent,omitempty"`
	DiskEncryptionConfigurationName     string   `json:"diskEncryptionConfigurationName,omitempty"`
	FileVault2EnabledUserNames          []string `json:"fileVault2EnabledUserNames,omitempty"`
	FileVault2EligibilityMessage        string   `json:"fileVault2EligibilityMessage,omitempty"`
}

type ComputerInventoryDataSubsetExtensionAttributes

type ComputerInventoryDataSubsetExtensionAttributes struct {
	DefinitionID string   `json:"definitionId,omitempty"`
	Name         string   `json:"name,omitempty"`
	Description  string   `json:"description,omitempty"`
	Enabled      bool     `json:"enabled,omitempty"`
	MultiValue   bool     `json:"multiValue,omitempty"`
	Values       []string `json:"values,omitempty"`
	DataType     string   `json:"dataType,omitempty"`
	Options      []string `json:"options,omitempty"`
	InputType    string   `json:"inputType,omitempty"`
}

type ComputerInventoryDataSubsetFonts

type ComputerInventoryDataSubsetFonts struct {
	Name    string `json:"name,omitempty"`
	Version string `json:"version,omitempty"`
	Path    string `json:"path,omitempty"`
}

type ComputerInventoryDataSubsetGeneral

type ComputerInventoryDataSubsetGeneral struct {
	Name              string `json:"name,omitempty"`
	LastIPAddress     string `json:"lastIpAddress,omitempty"`
	LastReportedIP    string `json:"lastReportedIp,omitempty"`
	JamfBinaryVersion string `json:"jamfBinaryVersion,omitempty"`
	Platform          string `json:"platform,omitempty"`
	Barcode1          string `json:"barcode1,omitempty"`
	Barcode2          string `json:"barcode2,omitempty"`
	AssetTag          string `json:"assetTag,omitempty"`
	RemoteManagement  struct {
		Managed            bool   `json:"managed,omitempty"`
		ManagementUsername string `json:"managementUsername,omitempty"`
	} `json:"remoteManagement,omitempty"`
	Supervised bool `json:"supervised,omitempty"`
	MdmCapable struct {
		Capable      bool     `json:"capable,omitempty"`
		CapableUsers []string `json:"capableUsers,omitempty"`
	} `json:"mdmCapable,omitempty"`
	ReportDate           time.Time `json:"reportDate,omitempty"`
	LastContactTime      time.Time `json:"lastContactTime,omitempty"`
	LastCloudBackupDate  time.Time `json:"lastCloudBackupDate,omitempty"`
	LastEnrolledDate     time.Time `json:"lastEnrolledDate,omitempty"`
	MdmProfileExpiration time.Time `json:"mdmProfileExpiration,omitempty"`
	InitialEntryDate     string    `json:"initialEntryDate,omitempty"`
	DistributionPoint    string    `json:"distributionPoint,omitempty"`
	EnrollmentMethod     struct {
		ID         string `json:"id,omitempty"`
		ObjectName string `json:"objectName,omitempty"`
		ObjectType string `json:"objectType,omitempty"`
	} `json:"enrollmentMethod,omitempty"`
	Site struct {
		ID   string `json:"id,omitempty"`
		Name string `json:"name,omitempty"`
	} `json:"site,omitempty"`
	ItunesStoreAccountActive             bool `json:"itunesStoreAccountActive,omitempty"`
	EnrolledViaAutomatedDeviceEnrollment bool `json:"enrolledViaAutomatedDeviceEnrollment,omitempty"`
	UserApprovedMdm                      bool `json:"userApprovedMdm,omitempty"`
	ExtensionAttributes                  []struct {
		DefinitionID string   `json:"definitionId,omitempty"`
		Name         string   `json:"name,omitempty"`
		Description  string   `json:"description,omitempty"`
		Enabled      bool     `json:"enabled,omitempty"`
		MultiValue   bool     `json:"multiValue,omitempty"`
		Values       []string `json:"values,omitempty"`
		DataType     string   `json:"dataType,omitempty"`
		Options      []string `json:"options,omitempty"`
		InputType    string   `json:"inputType,omitempty"`
	} `json:"extensionAttributes,omitempty"`
}

type ComputerInventoryDataSubsetGroupMemberships

type ComputerInventoryDataSubsetGroupMemberships struct {
	GroupID    string `json:"groupId,omitempty"`
	GroupName  string `json:"groupName,omitempty"`
	SmartGroup bool   `json:"smartGroup,omitempty"`
}

type ComputerInventoryDataSubsetHardware

type ComputerInventoryDataSubsetHardware struct {
	Make                   string `json:"make,omitempty"`
	Model                  string `json:"model,omitempty"`
	ModelIdentifier        string `json:"modelIdentifier,omitempty"`
	SerialNumber           string `json:"serialNumber,omitempty"`
	ProcessorSpeedMhz      int    `json:"processorSpeedMhz,omitempty"`
	ProcessorCount         int    `json:"processorCount,omitempty"`
	CoreCount              int    `json:"coreCount,omitempty"`
	ProcessorType          string `json:"processorType,omitempty"`
	ProcessorArchitecture  string `json:"processorArchitecture,omitempty"`
	BusSpeedMhz            int    `json:"busSpeedMhz,omitempty"`
	CacheSizeKilobytes     int    `json:"cacheSizeKilobytes,omitempty"`
	NetworkAdapterType     string `json:"networkAdapterType,omitempty"`
	MacAddress             string `json:"macAddress,omitempty"`
	AltNetworkAdapterType  string `json:"altNetworkAdapterType,omitempty"`
	AltMacAddress          string `json:"altMacAddress,omitempty"`
	TotalRAMMegabytes      int    `json:"totalRamMegabytes,omitempty"`
	OpenRAMSlots           int    `json:"openRamSlots,omitempty"`
	BatteryCapacityPercent int    `json:"batteryCapacityPercent,omitempty"`
	SmcVersion             string `json:"smcVersion,omitempty"`
	NicSpeed               string `json:"nicSpeed,omitempty"`
	OpticalDrive           string `json:"opticalDrive,omitempty"`
	BootRom                string `json:"bootRom,omitempty"`
	BleCapable             bool   `json:"bleCapable,omitempty"`
	SupportsIosAppInstalls bool   `json:"supportsIosAppInstalls,omitempty"`
	AppleSilicon           bool   `json:"appleSilicon,omitempty"`
	ExtensionAttributes    []struct {
		DefinitionID string   `json:"definitionId,omitempty"`
		Name         string   `json:"name,omitempty"`
		Description  string   `json:"description,omitempty"`
		Enabled      bool     `json:"enabled,omitempty"`
		MultiValue   bool     `json:"multiValue,omitempty"`
		Values       []string `json:"values,omitempty"`
		DataType     string   `json:"dataType,omitempty"`
		Options      []string `json:"options,omitempty"`
		InputType    string   `json:"inputType,omitempty"`
	} `json:"extensionAttributes,omitempty"`
}

type ComputerInventoryDataSubsetIbeacons

type ComputerInventoryDataSubsetIbeacons struct {
	Name string `json:"name,omitempty"`
}

type ComputerInventoryDataSubsetLicensedSoftware

type ComputerInventoryDataSubsetLicensedSoftware struct {
	ID   string `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

type ComputerInventoryDataSubsetLocalUserAccounts

type ComputerInventoryDataSubsetLocalUserAccounts struct {
	UID                            string `json:"uid,omitempty"`
	Username                       string `json:"username,omitempty"`
	FullName                       string `json:"fullName,omitempty"`
	Admin                          bool   `json:"admin,omitempty"`
	HomeDirectory                  string `json:"homeDirectory,omitempty"`
	HomeDirectorySizeMb            int    `json:"homeDirectorySizeMb,omitempty"`
	FileVault2Enabled              bool   `json:"fileVault2Enabled,omitempty"`
	UserAccountType                string `json:"userAccountType,omitempty"`
	PasswordMinLength              int    `json:"passwordMinLength,omitempty"`
	PasswordMaxAge                 int    `json:"passwordMaxAge,omitempty"`
	PasswordMinComplexCharacters   int    `json:"passwordMinComplexCharacters,omitempty"`
	PasswordHistoryDepth           int    `json:"passwordHistoryDepth,omitempty"`
	PasswordRequireAlphanumeric    bool   `json:"passwordRequireAlphanumeric,omitempty"`
	ComputerAzureActiveDirectoryID string `json:"computerAzureActiveDirectoryId,omitempty"`
	UserAzureActiveDirectoryID     string `json:"userAzureActiveDirectoryId,omitempty"`
	AzureActiveDirectoryID         string `json:"azureActiveDirectoryId,omitempty"`
}

type ComputerInventoryDataSubsetName

type ComputerInventoryDataSubsetName string
const (
	ComputerInventoryDataSubsetNameGeneral               ComputerInventoryDataSubsetName = "GENERAL"
	ComputerInventoryDataSubsetNameLocation              ComputerInventoryDataSubsetName = "DISK_ENCRYPTION"
	ComputerInventoryDataSubsetNamePurchasing            ComputerInventoryDataSubsetName = "PURCHASING"
	ComputerInventoryDataSubsetNameApplications          ComputerInventoryDataSubsetName = "APPLICATIONS"
	ComputerInventoryDataSubsetNameStorage               ComputerInventoryDataSubsetName = "STORAGE"
	ComputerInventoryDataSubsetNameUserAndLocation       ComputerInventoryDataSubsetName = "USER_AND_LOCATION"
	ComputerInventoryDataSubsetNameConfigurationProfiles ComputerInventoryDataSubsetName = "CONFIGURATION_PROFILES"
	ComputerInventoryDataSubsetNamePrinters              ComputerInventoryDataSubsetName = "PRINTERS"
	ComputerInventoryDataSubsetNameServices              ComputerInventoryDataSubsetName = "SERVICES"
	ComputerInventoryDataSubsetNameHardware              ComputerInventoryDataSubsetName = "HARDWARE"
	ComputerInventoryDataSubsetNameLocalUserAccounts     ComputerInventoryDataSubsetName = "LOCAL_USER_ACCOUNTS"
	ComputerInventoryDataSubsetNameCertificates          ComputerInventoryDataSubsetName = "CERTIFICATES"
	ComputerInventoryDataSubsetNameAttachments           ComputerInventoryDataSubsetName = "ATTACHMENTS"
	ComputerInventoryDataSubsetNamePlugins               ComputerInventoryDataSubsetName = "PLUGINS"
	ComputerInventoryDataSubsetNamePackageReceipts       ComputerInventoryDataSubsetName = "PACKAGE_RECEIPTS"
	ComputerInventoryDataSubsetNameFonts                 ComputerInventoryDataSubsetName = "FONTS"
	ComputerInventoryDataSubsetNameSecurity              ComputerInventoryDataSubsetName = "SECURITY"
	ComputerInventoryDataSubsetNameOperatingSystem       ComputerInventoryDataSubsetName = "OPERATING_SYSTEM"
	ComputerInventoryDataSubsetNameLicensedSoftware      ComputerInventoryDataSubsetName = "LICENSED_SOFTWARE"
	ComputerInventoryDataSubsetNameIBeacons              ComputerInventoryDataSubsetName = "IBEACONS"
	ComputerInventoryDataSubsetNameSoftwareUpdates       ComputerInventoryDataSubsetName = "SOFTWARE_UPDATES"
	ComputerInventoryDataSubsetNameExtensionAttributes   ComputerInventoryDataSubsetName = "EXTENSION_ATTRIBUTES"
	ComputerInventoryDataSubsetNameContentCaching        ComputerInventoryDataSubsetName = "CONTENT_CACHING"
	ComputerInventoryDataSubsetNameGroupMemberships      ComputerInventoryDataSubsetName = "GROUP_MEMBERSHIPS"
)

type ComputerInventoryDataSubsetOperatingSystem

type ComputerInventoryDataSubsetOperatingSystem struct {
	Name                   string `json:"name,omitempty"`
	Version                string `json:"version,omitempty"`
	Build                  string `json:"build,omitempty"`
	ActiveDirectoryStatus  string `json:"activeDirectoryStatus,omitempty"`
	FileVault2Status       string `json:"fileVault2Status,omitempty"`
	SoftwareUpdateDeviceID string `json:"softwareUpdateDeviceId,omitempty"`
	ExtensionAttributes    []struct {
		DefinitionID string   `json:"definitionId,omitempty"`
		Name         string   `json:"name,omitempty"`
		Description  string   `json:"description,omitempty"`
		Enabled      bool     `json:"enabled,omitempty"`
		MultiValue   bool     `json:"multiValue,omitempty"`
		Values       []string `json:"values,omitempty"`
		DataType     string   `json:"dataType,omitempty"`
		Options      []string `json:"options,omitempty"`
		InputType    string   `json:"inputType,omitempty"`
	} `json:"extensionAttributes,omitempty"`
}

type ComputerInventoryDataSubsetPackageReceipts

type ComputerInventoryDataSubsetPackageReceipts struct {
	InstalledByJamfPro      []string `json:"installedByJamfPro,omitempty"`
	InstalledByInstallerSwu []string `json:"installedByInstallerSwu,omitempty"`
	Cached                  []string `json:"cached,omitempty"`
}

type ComputerInventoryDataSubsetPlugins

type ComputerInventoryDataSubsetPlugins struct {
	Name    string `json:"name,omitempty"`
	Version string `json:"version,omitempty"`
	Path    string `json:"path,omitempty"`
}

type ComputerInventoryDataSubsetPrinters

type ComputerInventoryDataSubsetPrinters struct {
	Name     string `json:"name,omitempty"`
	Type     string `json:"type,omitempty"`
	URI      string `json:"uri,omitempty"`
	Location string `json:"location,omitempty"`
}

type ComputerInventoryDataSubsetPurchasing

type ComputerInventoryDataSubsetPurchasing struct {
	Leased              bool   `json:"leased,omitempty"`
	Purchased           bool   `json:"purchased,omitempty"`
	PoNumber            string `json:"poNumber,omitempty"`
	PoDate              string `json:"poDate,omitempty"`
	Vendor              string `json:"vendor,omitempty"`
	WarrantyDate        string `json:"warrantyDate,omitempty"`
	AppleCareID         string `json:"appleCareId,omitempty"`
	LeaseDate           string `json:"leaseDate,omitempty"`
	PurchasePrice       string `json:"purchasePrice,omitempty"`
	LifeExpectancy      int    `json:"lifeExpectancy,omitempty"`
	PurchasingAccount   string `json:"purchasingAccount,omitempty"`
	PurchasingContact   string `json:"purchasingContact,omitempty"`
	ExtensionAttributes []struct {
		DefinitionID string   `json:"definitionId,omitempty"`
		Name         string   `json:"name,omitempty"`
		Description  string   `json:"description,omitempty"`
		Enabled      bool     `json:"enabled,omitempty"`
		MultiValue   bool     `json:"multiValue,omitempty"`
		Values       []string `json:"values,omitempty"`
		DataType     string   `json:"dataType,omitempty"`
		Options      []string `json:"options,omitempty"`
		InputType    string   `json:"inputType,omitempty"`
	} `json:"extensionAttributes,omitempty"`
}

type ComputerInventoryDataSubsetSecurity

type ComputerInventoryDataSubsetSecurity struct {
	SipStatus             string `json:"sipStatus,omitempty"`
	GatekeeperStatus      string `json:"gatekeeperStatus,omitempty"`
	XprotectVersion       string `json:"xprotectVersion,omitempty"`
	AutoLoginDisabled     bool   `json:"autoLoginDisabled,omitempty"`
	RemoteDesktopEnabled  bool   `json:"remoteDesktopEnabled,omitempty"`
	ActivationLockEnabled bool   `json:"activationLockEnabled,omitempty"`
	RecoveryLockEnabled   bool   `json:"recoveryLockEnabled,omitempty"`
	FirewallEnabled       bool   `json:"firewallEnabled,omitempty"`
	SecureBootLevel       string `json:"secureBootLevel,omitempty"`
	ExternalBootLevel     string `json:"externalBootLevel,omitempty"`
	BootstrapTokenAllowed bool   `json:"bootstrapTokenAllowed,omitempty"`
}

type ComputerInventoryDataSubsetServices

type ComputerInventoryDataSubsetServices struct {
	Name string `json:"name,omitempty"`
}

type ComputerInventoryDataSubsetSoftwareUpdates

type ComputerInventoryDataSubsetSoftwareUpdates struct {
	Name        string `json:"name,omitempty"`
	Version     string `json:"version,omitempty"`
	PackageName string `json:"packageName,omitempty"`
}

type ComputerInventoryDataSubsetStorage

type ComputerInventoryDataSubsetStorage struct {
	BootDriveAvailableSpaceMegabytes int `json:"bootDriveAvailableSpaceMegabytes,omitempty"`
	Disks                            []struct {
		ID            string `json:"id,omitempty"`
		Device        string `json:"device,omitempty"`
		Model         string `json:"model,omitempty"`
		Revision      string `json:"revision,omitempty"`
		SerialNumber  string `json:"serialNumber,omitempty"`
		SizeMegabytes int    `json:"sizeMegabytes,omitempty"`
		SmartStatus   string `json:"smartStatus,omitempty"`
		Type          string `json:"type,omitempty"`
		Partitions    []struct {
			Name                      string `json:"name,omitempty"`
			SizeMegabytes             int    `json:"sizeMegabytes,omitempty"`
			AvailableMegabytes        int    `json:"availableMegabytes,omitempty"`
			PartitionType             string `json:"partitionType,omitempty"`
			PercentUsed               int    `json:"percentUsed,omitempty"`
			FileVault2State           string `json:"fileVault2State,omitempty"`
			FileVault2ProgressPercent int    `json:"fileVault2ProgressPercent,omitempty"`
			LvmManaged                bool   `json:"lvmManaged,omitempty"`
		} `json:"partitions,omitempty"`
	} `json:"disks,omitempty"`
}

type ComputerInventoryDataSubsetUserAndLocation

type ComputerInventoryDataSubsetUserAndLocation struct {
	Username            string `json:"username,omitempty"`
	Realname            string `json:"realname,omitempty"`
	Email               string `json:"email,omitempty"`
	Position            string `json:"position,omitempty"`
	Phone               string `json:"phone,omitempty"`
	DepartmentID        string `json:"departmentId,omitempty"`
	BuildingID          string `json:"buildingId,omitempty"`
	Room                string `json:"room,omitempty"`
	ExtensionAttributes []struct {
		DefinitionID string   `json:"definitionId,omitempty"`
		Name         string   `json:"name,omitempty"`
		Description  string   `json:"description,omitempty"`
		Enabled      bool     `json:"enabled,omitempty"`
		MultiValue   bool     `json:"multiValue,omitempty"`
		Values       []string `json:"values,omitempty"`
		DataType     string   `json:"dataType,omitempty"`
		Options      []string `json:"options,omitempty"`
		InputType    string   `json:"inputType,omitempty"`
	} `json:"extensionAttributes,omitempty"`
}
type ComputerLink struct {
	Computer UsersDataSubsetItem `json:"computer" xml:"computer"`
}

type ComputerListResponse

type ComputerListResponse struct {
	ID              int    `json:"id,omitempty" xml:"id,omitempty"`
	UDID            string `json:"udid,omitempty" xml:"udid,omitempty"`
	Name            string `json:"name,omitempty" xml:"name,omitempty"`
	SerialNumber    string `json:"serial_number,omitempty" xml:"serial_number,omitempty"`
	Managed         bool   `json:"managed,omitempty" xml:"managed,omitempty"`
	Model           string `json:"model,omitempty" xml:"model,omitempty"`
	Department      string `json:"department,omitempty" xml:"department,omitempty"`
	Building        string `json:"building,omitempty" xml:"building,omitempty"`
	MACAddress      string `json:"mac_address,omitempty" xml:"mac_address,omitempty"`
	ReportDateUTC   string `json:"report_date_utc,omitempty" xml:"report_date_utc,omitempty"`
	ReportDateEpoch int64  `json:"report_date_epoch,omitempty" xml:"report_date_epoch,omitempty"`
}

type ComputerPrestageDataSubsetAccountSettings

type ComputerPrestageDataSubsetAccountSettings struct {
	ID                                      *string `json:"id"`
	PayloadConfigured                       *bool   `json:"payloadConfigured"`
	LocalAdminAccountEnabled                *bool   `json:"localAdminAccountEnabled"`
	AdminUsername                           *string `json:"adminUsername"`
	AdminPassword                           *string `json:"adminPassword"`
	HiddenAdminAccount                      *bool   `json:"hiddenAdminAccount"`
	LocalUserManaged                        *bool   `json:"localUserManaged"`
	UserAccountType                         *string `json:"userAccountType"`
	VersionLock                             *int    `json:"versionLock"`
	PrefillPrimaryAccountInfoFeatureEnabled *bool   `json:"prefillPrimaryAccountInfoFeatureEnabled"`
	PrefillType                             *string `json:"prefillType"`
	PrefillAccountFullName                  *string `json:"prefillAccountFullName"`
	PrefillAccountUserName                  *string `json:"prefillAccountUserName"`
	PreventPrefillInfoFromModification      *bool   `json:"preventPrefillInfoFromModification"`
}

type ComputerPrestageDataSubsetLocationInformation

type ComputerPrestageDataSubsetLocationInformation struct {
	Username     string `json:"username"`
	Realname     string `json:"realname"`
	Phone        string `json:"phone"`
	Email        string `json:"email"`
	Room         string `json:"room"`
	Position     string `json:"position"`
	DepartmentId string `json:"departmentId"`
	BuildingId   string `json:"buildingId"`
	ID           string `json:"id"`
	VersionLock  int    `json:"versionLock"`
}

type ComputerPrestageDataSubsetPurchasingInformation

type ComputerPrestageDataSubsetPurchasingInformation struct {
	ID                string `json:"id"`
	Leased            bool   `json:"leased"`
	Purchased         bool   `json:"purchased"`
	AppleCareId       string `json:"appleCareId"`
	PoNumber          string `json:"poNumber"`
	Vendor            string `json:"vendor"`
	PurchasePrice     string `json:"purchasePrice"`
	LifeExpectancy    int    `json:"lifeExpectancy"`
	PurchasingAccount string `json:"purchasingAccount"`
	PurchasingContact string `json:"purchasingContact"`
	LeaseDate         string `json:"leaseDate"`
	PoDate            string `json:"poDate"`
	WarrantyDate      string `json:"warrantyDate"`
	VersionLock       int    `json:"versionLock"`
}

type ComputerPrestageDataSubsetSkipSetupItems

type ComputerPrestageDataSubsetSkipSetupItems struct {
	Location bool `json:"Location"`
	Privacy  bool `json:"Privacy"`
}

type ComputerScope

type ComputerScope struct {
	ID   int    `xml:"id,omitempty"`
	Name string `xml:"name,omitempty"`
	UDID string `xml:"udid,omitempty"`
}

type ComputersResponse

type ComputersResponse struct {
	Size    int                    `xml:"size"`
	Results []ComputerListResponse `xml:"computer"`
}

type ConditionalAccessDeviceState

type ConditionalAccessDeviceState struct {
	DeviceId                          string                            `json:"deviceId"`
	Applicable                        bool                              `json:"applicable"`
	ComplianceState                   string                            `json:"complianceState"`
	ComplianceVendor                  string                            `json:"complianceVendor"`
	ComplianceVendorDeviceInformation ComplianceVendorDeviceInformation `json:"complianceVendorDeviceInformation"`
}

type ConfigurationSettings

type ConfigurationSettings struct {
	NotificationsEnabled  bool   `json:"notificationsEnabled"`
	AlertUserApprovedMdm  bool   `json:"alertUserApprovedMdm"`
	DefaultLandingPage    string `json:"defaultLandingPage"`
	DefaultHomeCategoryId int32  `json:"defaultHomeCategoryId"`
	BookmarksName         string `json:"bookmarksName"`
}

type CreateManagedSoftwareUpdatePlanParams

type CreateManagedSoftwareUpdatePlanParams struct {
	Devices []DeviceForPlan `json:"devices"`
	Config  PlanConfig      `json:"config"`
}

Body parameters for creating managed software update plans

type CreateTeamViewerConfiguration

type CreateTeamViewerConfiguration struct {
	Enabled        bool   `json:"enabled"`
	SiteID         string `json:"siteId"`
	DisplayName    string `json:"displayName"`
	ScriptToken    string `json:"scriptToken"`
	SessionTimeout int    `json:"sessionTimeout"`
}

type CreateTeamViewerSessionRequest

type CreateTeamViewerSessionRequest struct {
	DeviceID    string `json:"deviceId"`
	DeviceType  string `json:"deviceType"`
	Description string `json:"description"`
}

type CreatedPlan

type CreatedPlan struct {
	Device DeviceDetail `json:"device"`
	PlanID string       `json:"planId"`
	Href   string       `json:"href"`
}

type CustomPathCreation

type CustomPathCreation struct {
	Scope string `json:"scope"`
	Path  string `json:"path"`
}

type Details

type Details struct {
	Label string `json:"label"`
	Value string `json:"value"`
}

type DeviceAssignedToEnrollment

type DeviceAssignedToEnrollment struct {
	ID                                string    `json:"id"`
	DeviceEnrollmentProgramInstanceId string    `json:"deviceEnrollmentProgramInstanceId"`
	PrestageId                        string    `json:"prestageId"`
	SerialNumber                      string    `json:"serialNumber"`
	Description                       string    `json:"description"`
	Model                             string    `json:"model"`
	Color                             string    `json:"color"`
	AssetTag                          string    `json:"assetTag"`
	ProfileStatus                     string    `json:"profileStatus"`
	SyncState                         SyncState `json:"syncState"`
	ProfileAssignTime                 string    `json:"profileAssignTime"`
	ProfilePushTime                   string    `json:"profilePushTime"`
	DeviceAssignedDate                string    `json:"deviceAssignedDate"`
}

type DeviceDetail

type DeviceDetail struct {
	DeviceID   string `json:"deviceId"`
	ObjectType string `json:"objectType,omitempty"`
	Href       string `json:"href,omitempty"`
}

type DeviceEnrollment

type DeviceEnrollment struct {
	ID                    string `json:"id"`
	Name                  string `json:"name"`
	SupervisionIdentityId string `json:"supervisionIdentityId"`
	SiteId                string `json:"siteId"`
	ServerName            string `json:"serverName"`
	ServerUuid            string `json:"serverUuid"`
	AdminId               string `json:"adminId"`
	OrgName               string `json:"orgName"`
	OrgEmail              string `json:"orgEmail"`
	OrgPhone              string `json:"orgPhone"`
	OrgAddress            string `json:"orgAddress"`
	TokenExpirationDate   string `json:"tokenExpirationDate"`
}

type DeviceForPlan

type DeviceForPlan struct {
	DeviceID   string `json:"deviceId"`
	ObjectType string `json:"objectType"`
}

type DeviceGroupAndOr

type DeviceGroupAndOr string
const (
	And DeviceGroupAndOr = "and"
	Or  DeviceGroupAndOr = "or"
)

type DirectoryBinding

type DirectoryBinding struct {
	XMLName xml.Name `xml:"directory_binding"`
	ResponseDirectoryBinding
}

DirectoryBinding structure to represent the XML request body

type DirectoryBindingList

type DirectoryBindingList struct {
	ID   int    `json:"id" xml:"id"`
	Name string `json:"name" xml:"name"`
}

type DiskEncryptionConfiguration

type DiskEncryptionConfiguration struct {
	XMLName                  xml.Name                                                       `xml:"disk_encryption_configuration"`
	Name                     string                                                         `xml:"name"`
	KeyType                  string                                                         `xml:"key_type"`
	FileVaultEnabledUsers    string                                                         `xml:"file_vault_enabled_users"`
	InstitutionalRecoveryKey *DiskEncryptionConfigurationDataSubsetInstitutionalRecoveryKey `xml:"institutional_recovery_key,omitempty"`
}

DiskEncryptionConfiguration represents the top-level XML structure for creating/updating a Disk Encryption Configuration.

type DiskEncryptionConfigurationDataSubsetInstitutionalRecoveryKey

type DiskEncryptionConfigurationDataSubsetInstitutionalRecoveryKey struct {
	Key             string `xml:"key"`
	CertificateType string `xml:"certificate_type"`
	Password        string `xml:"password"`
	Data            string `xml:"data"`
}

DiskEncryptionConfigurationDataSubsetInstitutionalRecoveryKey represents the XML structure for Institutional Recovery Key.

type DiskEncryptionConfigurationList

type DiskEncryptionConfigurationList struct {
	ID   int    `json:"id" xml:"id"`
	Name string `json:"name" xml:"name"`
}

type DisplayField

type DisplayField struct {
	Size int    `json:"size" xml:"size"`
	Name string `json:"name" xml:"name"`
}

type DockItem

type DockItem struct {
	XMLName  xml.Name `xml:"dock_item"`
	Name     string   `xml:"name"`
	Type     string   `xml:"type"`
	Path     string   `xml:"path"`
	Contents string   `xml:"contents"`
}

type DockItemGeneral

type DockItemGeneral struct {
	ID   int    `xml:"id"`
	Name string `xml:"name"`
}

type EnrollmentCustomization

type EnrollmentCustomization struct {
	ID                                      string                                            `json:"id"`
	SiteId                                  string                                            `json:"siteId"`
	DisplayName                             string                                            `json:"displayName"`
	Description                             string                                            `json:"description"`
	EnrollmentCustomizationBrandingSettings EnrollmentCustomizationDataSubsetBrandingSettings `json:"enrollmentCustomizationBrandingSettings"`
}

type EnrollmentCustomizationDataSubsetBrandingSettings

type EnrollmentCustomizationDataSubsetBrandingSettings struct {
	TextColor       string `json:"textColor"`
	ButtonColor     string `json:"buttonColor"`
	ButtonTextColor string `json:"buttonTextColor"`
	BackgroundColor string `json:"backgroundColor"`
	IconUrl         string `json:"iconUrl"`
}

type ErrorDetail

type ErrorDetail struct {
	HTTPStatusCode string `json:"httpStatusCode"`
	Description    string `json:"description"`
	ID             string `json:"id"`
}

type ExtensionAttributeItem

type ExtensionAttributeItem struct {
	ID    int    `json:"id,omitempty" xml:"id,omitempty"`
	Name  string `json:"name,omitempty" xml:"name,omitempty"`
	Type  string `json:"type,omitempty" xml:"type,omitempty"` // possible values: String, Integer, Date
	Value string `json:"value,omitempty" xml:"value,omitempty"`
}

type ExternalRecipient

type ExternalRecipient struct {
	Name  string `json:"name"`  // Required
	Email string `json:"email"` // Required
}

type FailoverResponse

type FailoverResponse struct {
	FailoverURL    string `json:"failoverUrl"`
	GenerationTime int64  `json:"generationTime"`
}

type FeatureOption

type FeatureOption struct {
	ID       string          `json:"id"`
	Title    string          `json:"title"`
	Subtitle string          `json:"subtitle"`
	Info     string          `json:"info"`
	Enabled  bool            `json:"enabled"`
	Metrics  []MetricsDetail `json:"metrics"`
	Details  []Details       `json:"details"`
	Error    ErrorDetail     `json:"error"`
}

type General

type General struct {
	ID       int                                    `xml:"id,omitempty"`
	Name     string                                 `xml:"name"`
	Version  string                                 `xml:"version"`
	IsFree   bool                                   `xml:"is_free,omitempty"`
	BundleID string                                 `xml:"bundle_id"`
	URL      string                                 `xml:"url"`
	Category AppStoreMacApplicationDataSubsetIDName `xml:"category,omitempty"`
	Site     AppStoreMacApplicationDataSubsetIDName `xml:"site,omitempty"`
}

Tier 2 - General Section

type GeneralCategory

type GeneralCategory struct {
	ID   string `xml:"id,omitempty"`
	Name string `xml:"name,omitempty"`
}

type GeneralInfo

type GeneralInfo struct {
	ID      int    `json:"id" xml:"id"`
	Name    string `json:"name" xml:"name"`
	Enabled bool   `json:"enabled" xml:"enabled"`
	Plist   string `json:"plist" xml:"plist"`
}

type Groups

type Groups struct {
	Group []ResponseAccountGroup `json:"group,omitempty" xml:"group,omitempty"`
}

type IBeaconScope

type IBeaconScope struct {
	Id   int    `xml:"id"`
	Name string `xml:"name"`
}

type IbeaconListItem

type IbeaconListItem struct {
	ID    int    `json:"id" xml:"id"`
	Name  string `json:"name" xml:"name"`
	UUID  string `json:"uuid" xml:"uuid"`
	Major int    `json:"major" xml:"major"`
	Minor int    `json:"minor" xml:"minor"`
}

type InstallSettings

type InstallSettings struct {
	InstallAutomatically bool   `json:"installAutomatically"`
	InstallLocation      string `json:"installLocation"`
}

type InstanceSyncState

type InstanceSyncState struct {
	SyncState  string `json:"syncState"`
	InstanceID string `json:"instanceId"`
	Timestamp  string `json:"timestamp"`
}

type InternalRecipient

type InternalRecipient struct {
	AccountId string `json:"accountId"` // Required
	Frequency string `json:"frequency,omitempty"`
}

type InventoryPath

type InventoryPath struct {
	ID   string `json:"id"`
	Path string `json:"path"`
}

type JCDSFile

type JCDSFile struct {
	FileName string `json:"fileName" xml:"fileName"`
	MD5      string `json:"md5" xml:"md5"`
}

type JCDSFilesResponse

type JCDSFilesResponse struct {
	Files []JCDSFile `json:"files" xml:"files"`
}

type JCDSUploadCredentials

type JCDSUploadCredentials struct {
	AccessKeyID     string `json:"accessKeyID"`
	SecretAccessKey string `json:"secretAccessKey"`
	SessionToken    string `json:"sessionToken"`
	Region          string `json:"region"`
	BucketName      string `json:"bucketName"`
	Path            string `json:"path"`
	UUID            string `json:"uuid"`
}

type JCDSUploadResponse

type JCDSUploadResponse struct {
	Credentials JCDSUploadCredentials `json:"Credentials"`
}

type JamfArtifact

type JamfArtifact struct {
	ID       string `json:"id"`
	Filename string `json:"filename"`
	Version  string `json:"version"`
	Created  string `json:"created"`
	URL      string `json:"url"`
}

type JamfPackageV1

type JamfPackageV1 struct {
	ID       string `json:"id"`
	Filename string `json:"filename"`
	Version  string `json:"version"`
	Created  string `json:"created"`
	URL      string `json:"url"`
}

JamfPackageV1 Response structure (from your initial request)

type JamfPackageV2

type JamfPackageV2 struct {
	DisplayName       string         `json:"displayName"`
	ReleaseHistoryUrl string         `json:"releaseHistoryUrl"`
	Artifacts         []JamfArtifact `json:"artifacts"`
}

JamfPackageV2 Response structure (from the new v2 API)

type JamfTeacherAppSettings

type JamfTeacherAppSettings struct {
	IsEnabled                   bool              `json:"isEnabled"`
	TimezoneId                  string            `json:"timezoneId"`
	AutoClear                   string            `json:"autoClear"`
	MaxRestrictionLengthSeconds int               `json:"maxRestrictionLengthSeconds"`
	DisplayNameType             string            `json:"displayNameType"`
	Features                    TeacherAppFeature `json:"features"`
	SafelistedApps              []SafelistedApp   `json:"safelistedApps"`
}

type JamfUserScope

type JamfUserScope struct {
	Id   int    `xml:"id"`
	Name string `xml:"name"`
}

type KeyDetails

type KeyDetails struct {
	ID    string `json:"id"`
	Valid bool   `json:"valid"`
}

type Keystore

type Keystore struct {
	Key               string       `json:"key"`
	Keys              []KeyDetails `json:"keys"`
	Type              string       `json:"type"`
	KeystoreSetupType string       `json:"keystoreSetupType"`
	KeystoreFileName  string       `json:"keystoreFileName"`
}

type KeystoreDetails

type KeystoreDetails struct {
	Keys         []string `json:"keys"`
	SerialNumber int64    `json:"serialNumber"`
	Subject      string   `json:"subject"`
	Issuer       string   `json:"issuer"`
	Expiration   string   `json:"expiration"`
}

type LdapServerDataSubsetLdapAccount

type LdapServerDataSubsetLdapAccount struct {
	DistinguishedUsername string `json:"distinguished_username" xml:"distinguished_username"`
	Password              string `json:"password" xml:"password"`
}

type LdapServerDataSubsetLdapConnection

type LdapServerDataSubsetLdapConnection struct {
	ID                  int                             `json:"id,omitempty" xml:"id,omitempty"`
	Name                string                          `json:"name" xml:"name"`
	Hostname            string                          `json:"hostname" xml:"hostname"`
	CertificateUsed     string                          `json:"certificate_used" xml:"certificate_used"`
	ConnectionIsUsedFor string                          `json:"connection_is_used_for" xml:"connection_is_used_for"`
	ServerType          string                          `json:"server_type" xml:"server_type"`
	Port                int                             `json:"port" xml:"port"`
	UseSSL              bool                            `json:"use_ssl" xml:"use_ssl"`
	AuthenticationType  string                          `json:"authentication_type" xml:"authentication_type"`
	Account             LdapServerDataSubsetLdapAccount `json:"account" xml:"account"`
	OpenCloseTimeout    int                             `json:"open_close_timeout" xml:"open_close_timeout"`
	SearchTimeout       int                             `json:"search_timeout" xml:"search_timeout"`
	ReferralResponse    string                          `json:"referral_response" xml:"referral_response"`
	UseWildcards        bool                            `json:"use_wildcards" xml:"use_wildcards"`
}

type LdapServerDataSubsetLdapMappingsForUsers

type LdapServerDataSubsetLdapMappingsForUsers struct {
	UserMappings                LdapServerDataSubsetLdapUserMappings                `json:"user_mappings" xml:"user_mappings"`
	UserGroupMappings           LdapServerDataSubsetLdapUserGroupMappings           `json:"user_group_mappings" xml:"user_group_mappings"`
	UserGroupMembershipMappings LdapServerDataSubsetLdapUserGroupMembershipMappings `json:"user_group_membership_mappings" xml:"user_group_membership_mappings"`
}

type LdapServerDataSubsetLdapUserGroupMappings

type LdapServerDataSubsetLdapUserGroupMappings struct {
	MapObjectClassToAnyOrAll          string `json:"map_object_class_to_any_or_all" xml:"map_object_class_to_any_or_all"`
	ObjectClasses                     string `json:"object_classes" xml:"object_classes"`
	MapUserMembershipToGroupField     bool   `json:"map_user_membership_to_group_field" xml:"map_user_membership_to_group_field"`
	MapUserMembershipUseDn            bool   `json:"map_user_membership_use_dn" xml:"map_user_membership_use_dn"`
	UserGroupMembershipUseLdapCompare bool   `json:"user_group_membership_use_ldap_compare" xml:"user_group_membership_use_ldap_compare"`
	SearchBase                        string `json:"search_base" xml:"search_base"`
	SearchScope                       string `json:"search_scope" xml:"search_scope"`
	MapGroupId                        string `json:"map_group_id" xml:"map_group_id"`
	MapGroupName                      string `json:"map_group_name" xml:"map_group_name"`
	MapGroupUuid                      string `json:"map_group_uuid" xml:"map_group_uuid"`
}

type LdapServerDataSubsetLdapUserGroupMembershipMappings

type LdapServerDataSubsetLdapUserGroupMembershipMappings struct {
	UserGroupMembershipStoredIn       string `json:"user_group_membership_stored_in" xml:"user_group_membership_stored_in"`
	MapGroupMembershipToUserField     string `json:"map_group_membership_to_user_field" xml:"map_group_membership_to_user_field"`
	AppendToUsername                  string `json:"append_to_username" xml:"append_to_username"`
	UseDn                             bool   `json:"use_dn" xml:"use_dn"`
	RecursiveLookups                  bool   `json:"recursive_lookups" xml:"recursive_lookups"`
	MapUserMembershipToGroupField     bool   `json:"map_user_membership_to_group_field" xml:"map_user_membership_to_group_field"`
	MapUserMembershipUseDn            bool   `json:"map_user_membership_use_dn" xml:"map_user_membership_use_dn"`
	UserGroupMembershipUseLdapCompare bool   `json:"user_group_membership_use_ldap_compare" xml:"user_group_membership_use_ldap_compare"`
	Username                          string `json:"username" xml:"username"`
	GroupId                           string `json:"group_id" xml:"group_id"`
	MapObjectClassToAnyOrAll          string `json:"map_object_class_to_any_or_all" xml:"map_object_class_to_any_or_all"`
	ObjectClasses                     string `json:"object_classes" xml:"object_classes"`
	SearchBase                        string `json:"search_base" xml:"search_base"`
	SearchScope                       string `json:"search_scope" xml:"search_scope"`
}

type LdapServerDataSubsetLdapUserMappings

type LdapServerDataSubsetLdapUserMappings struct {
	MapObjectClassToAnyOrAll string `json:"map_object_class_to_any_or_all" xml:"map_object_class_to_any_or_all"`
	ObjectClasses            string `json:"object_classes" xml:"object_classes"`
	SearchBase               string `json:"search_base" xml:"search_base"`
	SearchScope              string `json:"search_scope" xml:"search_scope"`
	MapUserId                string `json:"map_user_id" xml:"map_user_id"`
	MapUsername              string `json:"map_username" xml:"map_username"`
	MapRealname              string `json:"map_realname" xml:"map_realname"`
	MapEmailAddress          string `json:"map_email_address" xml:"map_email_address"`
	AppendToEmailResults     string `json:"append_to_email_results" xml:"append_to_email_results"`
	MapDepartment            string `json:"map_department" xml:"map_department"`
	MapBuilding              string `json:"map_building" xml:"map_building"`
	MapRoom                  string `json:"map_room" xml:"map_room"`
	MapTelephone             string `json:"map_telephone" xml:"map_telephone"`
	MapPosition              string `json:"map_position" xml:"map_position"`
	MapUserUuid              string `json:"map_user_uuid" xml:"map_user_uuid"`
}

type LdapServerListItem

type LdapServerListItem struct {
	ID   int    `json:"id" xml:"id"`
	Name string `json:"name" xml:"name"`
}

type LicensedSoftwareDataSubsetDefinition

type LicensedSoftwareDataSubsetDefinition struct {
	CompareType string `json:"compare_type" xml:"compare_type"`
	Name        string `json:"name" xml:"name"`
	Version     int    `json:"version" xml:"version"`
}

type LicensedSoftwareDataSubsetLicense

type LicensedSoftwareDataSubsetLicense struct {
	SerialNumber1    string                               `json:"serial_number_1" xml:"serial_number_1"`
	SerialNumber2    string                               `json:"serial_number_2" xml:"serial_number_2"`
	OrganizationName string                               `json:"organization_name" xml:"organization_name"`
	RegisteredTo     string                               `json:"registered_to" xml:"registered_to"`
	LicenseType      string                               `json:"license_type" xml:"license_type"`
	LicenseCount     int                                  `json:"license_count" xml:"license_count"`
	Notes            string                               `json:"notes" xml:"notes"`
	Purchasing       LicensedSoftwareDataSubsetPurchasing `json:"purchasing" xml:"purchasing"`
}

type LicensedSoftwareDataSubsetPurchasing

type LicensedSoftwareDataSubsetPurchasing struct {
	IsPerpetual       bool   `json:"is_perpetual" xml:"is_perpetual"`
	IsAnnual          bool   `json:"is_annual" xml:"is_annual"`
	PONumber          string `json:"po_number" xml:"po_number"`
	Vendor            string `json:"vendor" xml:"vendor"`
	PurchasePrice     string `json:"purchase_price" xml:"purchase_price"`
	PurchasingAccount string `json:"purchasing_account" xml:"purchasing_account"`
	PODate            string `json:"po_date" xml:"po_date"`
	LicenseExpires    string `json:"license_expires" xml:"license_expires"`
	LifeExpectancy    int    `json:"life_expectancy" xml:"life_expectancy"`
	PurchasingContact string `json:"purchasing_contact" xml:"purchasing_contact"`
}

type LicensedSoftwareGeneral

type LicensedSoftwareGeneral struct {
	ID                                 int    `json:"id,omitempty" xml:"id,omitempty"`
	Name                               string `json:"name" xml:"name"`
	Publisher                          string `json:"publisher" xml:"publisher"`
	Platform                           string `json:"platform" xml:"platform"`
	SendEmailOnViolation               bool   `json:"send_email_on_violation" xml:"send_email_on_violation"`
	RemoveTitlesFromInventoryReports   bool   `json:"remove_titles_from_inventory_reports" xml:"remove_titles_from_inventory_reports"`
	ExcludeTitlesPurchasedFromAppStore bool   `json:"exclude_titles_purchased_from_app_store" xml:"exclude_titles_purchased_from_app_store"`
	Notes                              string `json:"notes" xml:"notes"`
	Site                               Site   `json:"site" xml:"site"`
}

type LicensedSoftwareListItem

type LicensedSoftwareListItem struct {
	ID   int    `json:"id" xml:"id"`
	Name string `json:"name" xml:"name"`
}

type LoginSettings

type LoginSettings struct {
	UserLoginLevel  string `json:"userLoginLevel"`
	AllowRememberMe bool   `json:"allowRememberMe"`
	AuthType        string `json:"authType"`
}

type MacApplication

type MacApplication struct {
	ID   int    `xml:"id"`
	Name string `xml:"name"`
}

type MacOSConfigurationProfileGeneral

type MacOSConfigurationProfileGeneral struct {
	ID                 int             `json:"id,omitempty" xml:"id,omitempty"`
	Name               string          `json:"name" xml:"name"`
	Description        string          `json:"description" xml:"description"`
	Site               Site            `json:"site" xml:"site"`
	Category           GeneralCategory `json:"category,omitempty" xml:"category,omitempty"`
	DistributionMethod string          `json:"distribution_method" xml:"distribution_method"`
	UserRemovable      bool            `json:"user_removable" xml:"user_removable"`
	Level              string          `json:"level" xml:"level"`
	UUID               string          `json:"uuid" xml:"uuid"`
	RedeployOnUpdate   string          `json:"redeploy_on_update" xml:"redeploy_on_update"`
	Payload            string          `json:"payloads" xml:"payloads"`
}

type MacOSConfigurationProfileListItem

type MacOSConfigurationProfileListItem struct {
	ID   int    `json:"id" xml:"id"`
	Name string `json:"name" xml:"name"`
}

type MacOSConfigurationProfileScope

type MacOSConfigurationProfileScope struct {
	AllComputers   bool                                      `json:"all_computers" xml:"all_computers"`
	AllUsers       bool                                      `json:"all_jss_users" xml:"all_jss_users"`
	Computers      []ComputerScope                           `json:"computers,omitempty" xml:"computers>computer,omitempty"`
	Buildings      []BuildingScope                           `json:"buildings,omitempty" xml:"buildings>building,omitempty"`
	Departments    []DepartmentScope                         `json:"departments,omitempty" xml:"departments>department,omitempty"`
	ComputerGroups []ComputerGroupListResponse               `json:"computer_groups,omitempty" xml:"computer_groups>computer_group,omitempty"`
	JamfUsers      []JamfUserScope                           `json:"jss_users,omitempty" xml:"jss_users>jss_user,omitempty"`
	JamfUserGroups []UserGroupScope                          `json:"jss_user_groups,omitempty" xml:"jss_user_groups>jss_user_group,omitempty"`
	Limitiations   MacOSConfigurationProfileScopeLimitations `json:"limitations" xml:"limitations"`
	Exclusions     MacOSConfigurationProfileScopeExclusions  `json:"exclusions" xml:"exclusions"`
}

type MacOSConfigurationProfileScopeExclusions

type MacOSConfigurationProfileScopeExclusions struct {
	Computers       []ComputerScope             `json:"computers,omitempty" xml:"computers>computer,omitempty"`
	Buildings       []BuildingScope             `json:"buildings,omitempty" xml:"buildings>building,omitempty"`
	Departments     []DepartmentScope           `json:"departments,omitempty" xml:"departments>department,omitempty"`
	ComputerGroups  []ComputerGroupListResponse `json:"computer_groups,omitempty" xml:"computer_groups>computer_group,omitempty"`
	Users           []UserScope                 `json:"users,omitempty" xml:"users>user,omitempty"`
	UserGroups      []UserGroupScope            `json:"user_groups,omitempty" xml:"user_groups>user_group,omitempty"`
	NetworkSegments []NetworkSegmentScope       `json:"network_segments,omitempty" xml:"network_segments>network_segment,omitempty"`
	IBeacons        []IBeaconScope              `json:"ibeacons,omitempty" xml:"ibeacons>ibeacon,omitempty"`
	JamfUsers       []JamfUserScope             `json:"jss_users,omitempty" xml:"jss_users>jss_user,omitempty"`
	JamfUserGroups  []UserGroupScope            `json:"jss_user_groups,omitempty" xml:"jss_user_groups>jss_user_group,omitempty"`
}

type MacOSConfigurationProfileScopeLimitations

type MacOSConfigurationProfileScopeLimitations struct {
	Users           []UserScope           `json:"users,omitempty" xml:"users>user,omitempty"`
	UserGroups      []UserGroupScope      `json:"user_groups,omitempty" xml:"user_groups>user_group,omitempty"`
	NetworkSegments []NetworkSegmentScope `json:"network_segments,omitempty" xml:"network_segments>network_segment,omitempty"`
	IBeacons        []IBeaconScope        `json:"ibeacons,omitempty" xml:"ibeacons>ibeacon,omitempty"`
}

type MacOSConfigurationProfileSelfService

type MacOSConfigurationProfileSelfService struct {
	SelfServiceDisplayName      string                `json:"self_service_display_name,omitempty" xml:"self_service_display_name,omitempty"`
	InstallButtonText           string                `json:"install_button_text,omitempty" xml:"install_button_text,omitempty"`
	SelfServiceDescription      string                `json:"self_service_description,omitempty" xml:"self_service_description,omitempty"`
	ForceUsersToViewDescription bool                  `json:"force_users_to_view_description,omitempty" xml:"force_users_to_view_description,omitempty"`
	Security                    SelfServiceSecurity   `json:"security,omitempty" xml:"security,omitempty"`
	SelfServiceIcon             SelfServiceIcon       `json:"self_service_icon,omitempty" xml:"self_service_icon,omitempty"`
	FeatureOnMainPage           bool                  `json:"feature_on_main_page,omitempty" xml:"feature_on_main_page,omitempty"`
	SelfServiceCategories       []SelfServiceCategory `json:"self_service_categories,omitempty" xml:"self_service_categories>category,omitempty"`
}

type ManagedPreferenceProfileList

type ManagedPreferenceProfileList struct {
	Size    int                                `json:"size" xml:"size"`
	Results []ResponseManagedPreferenceProfile `json:"managedpreferenceprofile" xml:"managedpreferenceprofile"`
}

type ManagedSoftwareUpdateDeviceGroup

type ManagedSoftwareUpdateDeviceGroup struct {
	GroupID    string `json:"groupId"`
	ObjectType string `json:"objectType"`
}

type ManagedSoftwareUpdateDeviceGroupItem

type ManagedSoftwareUpdateDeviceGroupItem struct {
	Group  ManagedSoftwareUpdateDeviceGroup `json:"group"`
	Config PlanConfig                       `json:"config"`
}

type ManagedSoftwareUpdateQueryParams

type ManagedSoftwareUpdateQueryParams struct {
	Page     int      `json:"page"`
	PageSize int      `json:"page-size"`
	Sort     []string `json:"sort"`
	Filter   string   `json:"filter"`
}

Define a struct for the query parameters

type ManagedSoftwareUpdates

type ManagedSoftwareUpdates struct {
	MacOS []string `json:"macOS,omitempty"`
	IOS   []string `json:"iOS,omitempty"`
}

type MetricsDetail

type MetricsDetail struct {
	Value   string `json:"value"`
	Enabled bool   `json:"enabled"`
	Tag     string `json:"tag"`
}

type MobileDeviceGroup

type MobileDeviceGroup struct {
	ID           int                            `xml:"id"`
	Name         string                         `xml:"name"`
	IsSmart      bool                           `xml:"is_smart"`
	Site         Site                           `xml:"site"`
	Criteria     []MobileDeviceGroupCriterion   `xml:"criteria>criterion"`
	CriteriaSize int                            `xml:"criteria>size"`
	Devices      []MobileDeviceGroupDeviceEntry `xml:"mobile_devices>mobile_device"`
	DeviceSize   int                            `xml:"mobile_devices>size"`
}

type MobileDeviceGroupCriterion

type MobileDeviceGroupCriterion struct {
	Name         string           `xml:"name"`
	Priority     int              `xml:"priority"`
	AndOr        DeviceGroupAndOr `xml:"and_or"`
	SearchType   string           `xml:"search_type"`
	SearchValue  string           `xml:"value"`
	OpeningParen bool             `xml:"opening_paren"`
	ClosingParen bool             `xml:"closing_paren"`
}

type MobileDeviceGroupDeviceEntry

type MobileDeviceGroupDeviceEntry struct {
	ID           int    `json:"id,omitempty" xml:"id,omitempty"`
	Name         string `json:"name,omitempty" xml:"name,omitempty"`
	SerialNumber string `json:"serial_number,omitempty" xml:"serial_number,omitempty"`
}

type MobileDeviceGroupListResponse

type MobileDeviceGroupListResponse struct {
	ID      int    `xml:"id,omitempty"`
	Name    string `xml:"name,omitempty"`
	IsSmart bool   `xml:"is_smart,omitempty"`
}

type MobileDeviceGroupRequest

type MobileDeviceGroupRequest struct {
	Name     string                         `xml:"name"`
	IsSmart  bool                           `xml:"is_smart"`
	Site     Site                           `xml:"site"`
	Criteria []MobileDeviceGroupCriterion   `xml:"criteria>criterion"`
	Devices  []MobileDeviceGroupDeviceEntry `xml:"mobile_devices>mobile_device,omitempty"`
}

type MobileDeviceGroupsResponse

type MobileDeviceGroupsResponse struct {
	Size    int                             `xml:"size"`
	Results []MobileDeviceGroupListResponse `xml:"mobile_device_group"`
}
type MobileDeviceLink struct {
	MobileDevice UsersDataSubsetItem `json:"mobile_device" xml:"mobile_device"`
}

type NetworkSegmentList

type NetworkSegmentList struct {
	Size    int                      `json:"size" xml:"size"`
	Results []ResponseNetworkSegment `json:"network_segment" xml:"network_segment"`
}

type NetworkSegmentScope

type NetworkSegmentScope struct {
	ID   int    `xml:"id"`
	UID  string `xml:"uid,omitempty"`
	Name int    `xml:"name"`
}

type PackageDetail

type PackageDetail struct {
	ID   int    `json:"id" xml:"id"`
	Name string `json:"name" xml:"name"`
}

type PatchPolicyDashboardStatus

type PatchPolicyDashboardStatus struct {
	OnDashboard bool `json:"onDashboard,omitempty" xml:"onDashboard,omitempty"`
}

PatchPolicyDashboardStatus represents the status of the Patch Policy on the dashboard

type PatchPolicyDataSubsetDashboardStatus

type PatchPolicyDataSubsetDashboardStatus struct {
	OnDashboard bool `json:"onDashboard,omitempty" xml:"onDashboard,omitempty"`
}

type PatchPolicyDataSubsetPatchPolicyDetails

type PatchPolicyDataSubsetPatchPolicyDetails struct {
	ID                           string `json:"id,omitempty" xml:"id,omitempty"`
	Name                         string `json:"name,omitempty" xml:"name,omitempty"`
	Enabled                      bool   `json:"enabled,omitempty" xml:"enabled,omitempty"`
	TargetPatchVersion           string `json:"targetPatchVersion,omitempty" xml:"targetPatchVersion,omitempty"`
	DeploymentMethod             string `json:"deploymentMethod,omitempty" xml:"deploymentMethod,omitempty"`
	SoftwareTitleId              string `json:"softwareTitleId,omitempty" xml:"softwareTitleId,omitempty"`
	SoftwareTitleConfigurationId string `json:"softwareTitleConfigurationId,omitempty" xml:"softwareTitleConfigurationId,omitempty"`
	KillAppsDelayMinutes         int    `json:"killAppsDelayMinutes,omitempty" xml:"killAppsDelayMinutes,omitempty"`
	KillAppsMessage              string `json:"killAppsMessage,omitempty" xml:"killAppsMessage,omitempty"`
	Downgrade                    bool   `json:"downgrade,omitempty" xml:"downgrade,omitempty"`
	PatchUnknownVersion          bool   `json:"patchUnknownVersion,omitempty" xml:"patchUnknownVersion,omitempty"`
	NotificationHeader           string `json:"notificationHeader,omitempty" xml:"notificationHeader,omitempty"`
	SelfServiceEnforceDeadline   bool   `json:"selfServiceEnforceDeadline,omitempty" xml:"selfServiceEnforceDeadline,omitempty"`
	SelfServiceDeadline          int    `json:"selfServiceDeadline,omitempty" xml:"selfServiceDeadline,omitempty"`
	InstallButtonText            string `json:"installButtonText,omitempty" xml:"installButtonText,omitempty"`
	SelfServiceDescription       string `json:"selfServiceDescription,omitempty" xml:"selfServiceDescription,omitempty"`
	IconId                       string `json:"iconId,omitempty" xml:"iconId,omitempty"`
	ReminderFrequency            int    `json:"reminderFrequency,omitempty" xml:"reminderFrequency,omitempty"`
	ReminderEnabled              bool   `json:"reminderEnabled,omitempty" xml:"reminderEnabled,omitempty"`
}

type PatchPolicyDataSubsetResults

type PatchPolicyDataSubsetResults struct {
	PatchPolicyDetails PatchPolicyDataSubsetPatchPolicyDetails `json:"patchPolicy,omitempty" xml:"patchPolicy,omitempty"`
}
type PeripheralLink struct {
	Peripheral UsersDataSubsetItem `json:"peripheral" xml:"peripheral"`
}

type PlanConfig

type PlanConfig struct {
	UpdateAction              string `json:"updateAction"`
	VersionType               string `json:"versionType"`
	SpecificVersion           string `json:"specificVersion,omitempty"`
	MaxDeferrals              int    `json:"maxDeferrals"`
	ForceInstallLocalDateTime string `json:"forceInstallLocalDateTime,omitempty"`
}

type Policy

type Policy struct {
	General              PolicyGeneral              `xml:"general"`
	Scope                PolicyScope                `xml:"scope,omitempty"`
	SelfService          PolicySelfService          `xml:"self_service"`
	PackageConfiguration PolicyPackageConfiguration `xml:"package_configuration,omitempty"`
	ScriptsConfiguration PolicyScripts              `xml:"scripts,omitempty"`
	Reboot               PolicyReboot               `xml:"reboot"`
	Maintenance          PolicyMaintenance          `xml:"maintenance"`
	FilesAndProcesses    PolicyFilesAndProcesses    `xml:"files_processes"`
	UserInteraction      PolicyUserInteraction      `xml:"user_interaction"`
}

type PolicyFilesAndProcesses

type PolicyFilesAndProcesses struct {
	SearchByPath         string `xml:"search_by_path"`
	DeleteFile           bool   `xml:"delete_file"`
	LocateFile           string `xml:"locate_file"`
	UpdateLocateDatabase bool   `xml:"update_locate_database"`
	SpotlightSearch      string `xml:"spotlight_search"`
	SearchForProcess     string `xml:"search_for_process"`
	KillProcess          bool   `xml:"kill_process"`
	RunCommand           string `xml:"run_command"`
}

type PolicyGeneral

type PolicyGeneral struct {
	ID                         int                                  `xml:"id"`
	Name                       string                               `xml:"name"`
	Enabled                    bool                                 `xml:"enabled"`
	Trigger                    string                               `xml:"trigger"`
	TriggerCheckin             bool                                 `xml:"trigger_checkin"`
	TriggerEnrollmentComplete  bool                                 `xml:"trigger_enrollment_complete"`
	TriggerLogin               bool                                 `xml:"trigger_login"`
	TriggerLogout              bool                                 `xml:"trigger_logout"`
	TriggerNetworkStateChanged bool                                 `xml:"trigger_network_state_changed"`
	TriggerStartup             bool                                 `xml:"trigger_startup"`
	TriggerOther               string                               `xml:"trigger_other"`
	Frequency                  string                               `xml:"frequency"`
	RetryEvent                 string                               `xml:"retry_event"`
	RetryAttempts              int                                  `xml:"retry_attempts"`
	NotifyOnEachFailedRetry    bool                                 `xml:"notify_on_each_failed_retry"`
	LocationUserOnly           bool                                 `xml:"location_user_only"`
	TargetDrive                string                               `xml:"target_drive"`
	Offline                    bool                                 `xml:"offline"`
	Category                   GeneralCategory                      `xml:"category,omitempty"`
	DateTimeLimitations        PolicyGeneralDateTimeLimitations     `xml:"date_time_limitations"`
	NetworkLimitations         PolicyGeneralNetworkLimitations      `xml:"network_limitations"`
	OverrideDefaultSettings    PolicyGeneralOverrideDefaultSettings `xml:"override_default_settings"`
	NetworkRequirements        string                               `xml:"network_requirements"`
	Site                       Site                                 `xml:"site"`
}

type PolicyGeneralDateTimeLimitations

type PolicyGeneralDateTimeLimitations struct {
	ActivationDate      string `xml:"activation_date"`
	ActivationDateEpoch int    `xml:"activation_date_epoch"`
	ActivationDateUtc   string `xml:"activation_date_utc"`
	ExpirationDate      string `xml:"expiration_date"`
	ExpirationDateEpoch int    `xml:"expiration_date_epoch"`
	ExpirationDateUtc   string `xml:"expiration_date_utc"`
	NoExecuteOn         string `xml:"no_execute_on"`
	NoExecuteStart      string `xml:"no_execute_start"`
	NoExecuteEnd        string `xml:"no_execute_end"`
}

TODO Get types and test

type PolicyGeneralNetworkLimitations

type PolicyGeneralNetworkLimitations struct {
	MinimumNetworkConnection string `xml:"minimum_network_connection"`
	AnyIpAddress             bool   `xml:"any_ip_address"`
	NetworkSegments          string `xml:"network_segments"`
}

TODO Get types and test

type PolicyGeneralOverrideDefaultSettings

type PolicyGeneralOverrideDefaultSettings struct {
	TargetDrive       string `xml:"target_drive"`
	DistributionPoint string `xml:"distribution_point"`
	ForceAfpSmb       bool   `xml:"force_afp_smb"`
	Sus               string `xml:"sus"`
	NetbootServer     string `xml:"netboot_server"`
}

TODO Get types and test

type PolicyListItem

type PolicyListItem struct {
	ID   int    `xml:"id"`
	Name string `xml:"name"`
}

type PolicyListResponse

type PolicyListResponse struct {
	Size    int              `xml:"size"`
	Results []PolicyListItem `xml:"policy"`
}

type PolicyMaintenance

type PolicyMaintenance struct {
	Recon                    bool `xml:"recon"`
	ResetName                bool `xml:"reset_name"`
	InstallAllCachedPackages bool `xml:"install_all_cached_packages"`
	Heal                     bool `xml:"heal"`
	Prebindings              bool `xml:"prebindings"`
	Permissions              bool `xml:"permissions"`
	Byhost                   bool `xml:"byhost"`
	SystemCache              bool `xml:"system_cache"`
	UserCache                bool `xml:"user_cache"`
	Verify                   bool `xml:"verify"`
}

type PolicyPackageConfiguration

type PolicyPackageConfiguration struct {
	Packages []PolicyPackageConfigurationPackage `xml:"packages>package,omitempty"`
}

type PolicyPackageConfigurationPackage

type PolicyPackageConfigurationPackage struct {
	ID                int    `xml:"id,omitempty"`
	Name              string `xml:"name,omitempty"`
	Action            string `xml:"action,omitempty"`
	FillUserTemplate  bool   `xml:"fut,omitempty"`
	FillExistingUsers bool   `xml:"feu,omitempty"`
	UpdateAutorun     bool   `xml:"update_autorun,omitempty"`
}

type PolicyReboot

type PolicyReboot struct {
	Message                     string `xml:"message"`
	StartupDisk                 string `xml:"startup_disk"`
	SpecifyStartup              string `xml:"specify_startup"`
	NoUserLoggedIn              string `xml:"no_user_logged_in"`
	UserLoggedIn                string `xml:"user_logged_in"`
	MinutesUntilReboot          int    `xml:"minutes_until_reboot"`
	StartRebootTimerImmediately bool   `xml:"start_reboot_timer_immediately"`
	FileVault2Reboot            bool   `xml:"file_vault_2_reboot"`
}

type PolicyScope

type PolicyScope struct {
	AllComputers   bool                        `xml:"all_computers"`
	Computers      []ComputerScope             `xml:"computers>computer,omitempty"`
	ComputerGroups []ComputerGroupListResponse `xml:"computer_groups>computer_group,omitempty"`
	Buildings      []BuildingScope             `xml:"buildings>building,omitempty"`
	Departments    []DepartmentScope           `xml:"departments>department,omitempty"`
	Exclusions     PolicyScopeExclusions       `xml:"exclusions,omitempty"`
}

type PolicyScopeExclusions

type PolicyScopeExclusions struct {
	Computers      []ComputerScope             `xml:"computers>computer,omitempty"`
	ComputerGroups []ComputerGroupListResponse `xml:"computer_groups>computer_group,omitempty"`
	Buildings      []BuildingScope             `xml:"buildings>building,omitempty"`
	Departments    []DepartmentScope           `xml:"departments>department,omitempty"`
}

type PolicyScript

type PolicyScript struct {
	ID          string `xml:"id,omitempty"`
	Name        string `xml:"name,omitempty"`
	Priority    string `xml:"priority,omitempty"`
	Parameter4  string `xml:"parameter4,omitempty"`
	Parameter5  string `xml:"parameter5,omitempty"`
	Parameter6  string `xml:"parameter6,omitempty"`
	Parameter7  string `xml:"parameter7,omitempty"`
	Parameter8  string `xml:"parameter8,omitempty"`
	Parameter9  string `xml:"parameter9,omitempty"`
	Parameter10 string `xml:"parameter10,omitempty"`
	Parameter11 string `xml:"parameter11,omitempty"`
}

type PolicyScripts

type PolicyScripts struct {
	Scripts []PolicyScript `xml:"script,omitempty"`
}

type PolicySelfService

type PolicySelfService struct {
	UseForSelfService           bool                  `xml:"use_for_self_service"`
	SelfServiceDisplayName      string                `xml:"self_service_display_name"`
	InstallButtonText           string                `xml:"install_button_text"`
	ReinstallButtonText         string                `xml:"reinstall_button_text"`
	SelfServiceDescription      string                `xml:"self_service_description"`
	ForceUsersToViewDescription bool                  `xml:"force_users_to_view_description"`
	SelfServiceIcon             SelfServiceIcon       `xml:"self_service_icon,omitempty"`
	FeatureOnMainPage           bool                  `xml:"feature_on_main_page"`
	SelfServiceCategories       []SelfServiceCategory `xml:"self_service_categories>category,omitempty"`
}

type PolicyUserInteraction

type PolicyUserInteraction struct {
	MessageStart          string `xml:"message_start"`
	AllowUsersToDefer     bool   `xml:"allow_users_to_defer"`
	AllowDeferralUntilUtc string `xml:"allow_deferral_until_utc"`
	AllowDeferralMinutes  int    `xml:"allow_deferral_minutes"`
	MessageFinish         string `xml:"message_finish"`
}

type PrinterDetail

type PrinterDetail struct {
	ID   int    `json:"id" xml:"id"`
	Name string `json:"name" xml:"name"`
}

type ProgressReader

type ProgressReader struct {
	// contains filtered or unexported fields
}

func (*ProgressReader) Read

func (pr *ProgressReader) Read(p []byte) (int, error)

type ReEnrollmentHistoryResult

type ReEnrollmentHistoryResult struct {
	ID       int    `json:"id"`
	Username string `json:"username"`
	Date     string `json:"date"`
	Note     string `json:"note"`
	Details  string `json:"details"`
}

type RequestAzureCloudIdentityProvider

type RequestAzureCloudIdentityProvider struct {
	CloudIdPCommon RequestCloudIdPCommon `json:"cloudIdPCommon"`
	Server         RequestServer         `json:"server"`
}

type RequestCloudIdPCommon

type RequestCloudIdPCommon struct {
	DisplayName  string `json:"displayName"`
	ProviderName string `json:"providerName"` // AZURE
}

type RequestDefaultMappings

type RequestDefaultMappings struct {
	SearchTimeout int    `json:"searchTimeout"`
	UserId        string `json:"userId,omitempty"`
	UserName      string `json:"userName,omitempty"`
	RealName      string `json:"realName,omitempty"`
	Email         string `json:"email,omitempty"`
	Department    string `json:"department,omitempty"`
	Building      string `json:"building,omitempty"`
	Room          string `json:"room,omitempty"`
	Phone         string `json:"phone,omitempty"`
	Position      string `json:"position,omitempty"`
	GroupId       string `json:"groupId,omitempty"`
	GroupName     string `json:"groupName,omitempty"`
}

type RequestServer

type RequestServer struct {
	TenantId                                 string                 `json:"tenantId"`
	Enabled                                  bool                   `json:"enabled"`
	Mappings                                 RequestDefaultMappings `json:"mappings"`
	SearchTimeout                            int                    `json:"searchTimeout"`
	TransitiveMembershipEnabled              bool                   `json:"transitiveMembershipEnabled"`
	TransitiveMembershipUserField            string                 `json:"transitiveMembershipUserField"`
	TransitiveDirectoryMembershipEnabled     bool                   `json:"transitiveDirectoryMembershipEnabled"`
	MembershipCalculationOptimizationEnabled bool                   `json:"membershipCalculationOptimizationEnabled"`
	Code                                     string                 `json:"code"`
}

type ResponseAPIIntegration

type ResponseAPIIntegration struct {
	TotalCount int              `json:"totalCount"`
	Results    []APIIntegration `json:"results"`
}

type ResponseAPIRole

type ResponseAPIRole struct {
	TotalCount int       `json:"totalCount"`
	Results    []APIRole `json:"results"`
}

type ResponseAPIRolePrivileges

type ResponseAPIRolePrivileges struct {
	Privileges []string `json:"privileges"`
}

type ResponseAccount

type ResponseAccount struct {
	ID                  int                         `json:"id,omitempty" xml:"id,omitempty"`
	Name                string                      `json:"name" xml:"name"`
	DirectoryUser       bool                        `json:"directory_user,omitempty" xml:"directory_user,omitempty"`
	FullName            string                      `json:"full_name,omitempty" xml:"full_name,omitempty"`
	Email               string                      `json:"email,omitempty" xml:"email,omitempty"`
	EmailAddress        string                      `json:"email_address,omitempty" xml:"email_address,omitempty"`
	Enabled             string                      `json:"enabled,omitempty" xml:"enabled,omitempty"`
	LdapServer          AccountDataSubsetLdapServer `json:"ldap_server,omitempty" xml:"ldap_server,omitempty"` // Added this
	ForcePasswordChange bool                        `json:"force_password_change,omitempty" xml:"force_password_change,omitempty"`
	AccessLevel         string                      `json:"access_level,omitempty" xml:"access_level,omitempty"`
	Password            string                      `json:"password" xml:"password"`
	PrivilegeSet        string                      `json:"privilege_set,omitempty" xml:"privilege_set,omitempty"`
	Site                AccountDataSubsetSite       `json:"site,omitempty" xml:"site,omitempty"`
	Privileges          AccountDataSubsetPrivileges `json:"privileges,omitempty" xml:"privileges,omitempty"`
}

type ResponseAccountGroup

type ResponseAccountGroup struct {
	ID           int                         `json:"id,omitempty" xml:"id"`
	Name         string                      `json:"name" xml:"name"`
	AccessLevel  string                      `json:"access_level" xml:"access_level"`
	PrivilegeSet string                      `json:"privilege_set" xml:"privilege_set"`
	Site         AccountDataSubsetSite       `json:"site" xml:"site"`
	Privileges   AccountDataSubsetPrivileges `json:"privileges" xml:"privileges"`
	Members      []AccountDataSubsetUser     `json:"members" xml:"members>user"`
}

type ResponseAccountsList

type ResponseAccountsList struct {
	Users  Users  `json:"users,omitempty" xml:"users,omitempty"`
	Groups Groups `json:"groups,omitempty" xml:"groups,omitempty"`
}

type ResponseAllowedFileExtension

type ResponseAllowedFileExtension struct {
	ID        int    `json:"id" xml:"id"`
	Extension string `json:"extension" xml:"extension"`
}

XML structure represented in nested Go structs AllowedFileExtension Response structure

type ResponseAppStoreMacApplication

type ResponseAppStoreMacApplication struct {
	General     General     `xml:"general"`
	Scope       Scope       `xml:"scope"`
	SelfService SelfService `xml:"self_service"`
}

Top-level struct

type ResponseAppStoreMacApplicationList

type ResponseAppStoreMacApplicationList struct {
	MacApplications []MacApplication `xml:"mac_application"`
}

type ResponseBuildings

type ResponseBuildings struct {
	TotalCount *int       `json:"totalCount,omitempty"`
	Results    []Building `json:"results,omitempty"`
}

type ResponseCSAToken

type ResponseCSAToken struct {
	RefreshExpiration int      `json:"refreshExpiration"`
	Scopes            []string `json:"scopes"`
}

ResponseCSAToken represents the structure of the response when requesting a CSA token from the Jamf Pro API.

type ResponseCacheSettings

type ResponseCacheSettings struct {
	TotalCount *int            `json:"totalCount,omitempty"`
	Results    []CacheSettings `json:"results,omitempty"`
}

type ResponseCategories

type ResponseCategories struct {
	TotalCount *int       `json:"totalCount,omitempty"`
	Results    []Category `json:"results,omitempty"`
}

type ResponseCheckInHistoryNote

type ResponseCheckInHistoryNote struct {
	ID   string `json:"id"`
	Href string `json:"href"`
}

type ResponseClass

type ResponseClass struct {
	ID                  int                             `json:"id" xml:"id"`
	Source              string                          `json:"source" xml:"source"`
	Name                string                          `json:"name" xml:"name"`
	Description         string                          `json:"description" xml:"description"`
	Site                ClassesDataSubsetSite           `json:"site" xml:"site"`
	MobileDeviceGroup   ClassesDataSubsetGroup          `json:"mobile_device_group" xml:"mobile_device_group"`
	Students            []ClassesDataSubsetName         `json:"students>student" xml:"students>student"`
	Teachers            []ClassesDataSubsetName         `json:"teachers>teacher" xml:"teachers>teacher"`
	TeacherIDs          []ClassesDataSubsetID           `json:"teacher_ids>id" xml:"teacher_ids>id"`
	StudentGroupIDs     []ClassesDataSubsetID           `json:"student_group_ids>id" xml:"student_group_ids>id"`
	TeacherGroupIDs     []ClassesDataSubsetID           `json:"teacher_group_ids>id" xml:"teacher_group_ids>id"`
	MobileDevices       []ClassesDataSubsetMobileDevice `json:"mobile_devices>mobile_device" xml:"mobile_devices>mobile_device"`
	MobileDeviceGroupID []ClassesDataSubsetID           `json:"mobile_device_group_id>id" xml:"mobile_device_group_id>id"`
	MeetingTimes        ClassesDataSubsetMeetingTimes   `json:"meeting_times" xml:"meeting_times"`
	AppleTVs            []ClassesDataSubsetAppleTV      `json:"apple_tvs>apple_tv" xml:"apple_tvs>apple_tv"`
}

type ResponseClientCheckIn

type ResponseClientCheckIn struct {
	CheckInFrequency                 int  `json:"checkInFrequency"`
	CreateHooks                      bool `json:"createHooks"`
	HookLog                          bool `json:"hookLog"`
	HookPolicies                     bool `json:"hookPolicies"`
	CreateStartupScript              bool `json:"createStartupScript"`
	StartupLog                       bool `json:"startupLog"`
	StartupPolicies                  bool `json:"startupPolicies"`
	StartupSsh                       bool `json:"startupSsh"`
	EnableLocalConfigurationProfiles bool `json:"enableLocalConfigurationProfiles"`
}

type ResponseClientCheckInHistory

type ResponseClientCheckInHistory struct {
	TotalCount int                          `json:"totalCount"`
	Results    []ClientCheckInHistoryResult `json:"results"`
}

type ResponseCloudIdentityProvider

type ResponseCloudIdentityProvider struct {
	CloudIdPCommon CloudIdPCommon                          `json:"cloudIdPCommon"`
	Server         AzureCloudIdentityProviderConfiguration `json:"server"`
}

type ResponseComputerApplication

type ResponseComputerApplication struct {
	Versions        ComputerApplicationDataSubsetVersions        `json:"versions,omitempty" xml:"versions,omitempty"`
	UniqueComputers ComputerApplicationDataSubsetUniqueComputers `json:"unique_computers,omitempty" xml:"unique_computers,omitempty"`
}

type ResponseComputerApplicationUsage

type ResponseComputerApplicationUsage struct {
	Usage ComputerApplicationUsageDetail `json:"usage,omitempty" xml:"usage,omitempty"`
}

type ResponseComputerInventoryCollectionSettings

type ResponseComputerInventoryCollectionSettings struct {
	Preferences      ComputerInventoryCollectionPreferences `json:"computerInventoryCollectionPreferences"`
	ApplicationPaths []InventoryPath                        `json:"applicationPaths"`
	FontPaths        []InventoryPath                        `json:"fontPaths"`
	PluginPaths      []InventoryPath                        `json:"pluginPaths"`
}

type ResponseComputerPrestages

type ResponseComputerPrestages struct {
	TotalCount *int               `json:"totalCount,omitempty"`
	Results    []computerPrestage `json:"results,omitempty"`
}

type ResponseConditionalAccess

type ResponseConditionalAccess struct {
	TotalCount int                            `json:"totalCount,omitempty"`
	Results    []ConditionalAccessDeviceState `json:"results"`
}

Structures

type ResponseCreateManagedSoftwareUpdatePlan

type ResponseCreateManagedSoftwareUpdatePlan struct {
	Plans []CreatedPlan `json:"plans"`
}

Response for creating managed software update plans

type ResponseCreateTeamViewerConfiguration

type ResponseCreateTeamViewerConfiguration struct {
	ID   string `json:"id"`
	Href string `json:"href"`
}

type ResponseCreateTeamViewerSession

type ResponseCreateTeamViewerSession struct {
	ID   string `json:"id"`
	Href string `json:"href"`
}

type ResponseCustomPathCreation

type ResponseCustomPathCreation struct {
	Message string `json:"message"`
}

type ResponseDashboard

type ResponseDashboard struct {
	SetupTaskOptions map[string]SetupTaskOption `json:"setupTaskOptions"`
	FeatureOptions   map[string][]FeatureOption `json:"featureOptions"`
}

type ResponseDefaultMappings

type ResponseDefaultMappings struct {
	UserId     string `json:"userId"`
	UserName   string `json:"userName"`
	RealName   string `json:"realName"`
	Email      string `json:"email"`
	Department string `json:"department"`
	Building   string `json:"building"`
	Room       string `json:"room"`
	Phone      string `json:"phone"`
	Position   string `json:"position"`
	GroupId    string `json:"groupId"`
	GroupName  string `json:"groupName"`
}

type ResponseDefaultServerConfiguration

type ResponseDefaultServerConfiguration struct {
	ID                                       string                  `json:"id"`
	TenantId                                 string                  `json:"tenantId"`
	Enabled                                  bool                    `json:"enabled"`
	Migrated                                 bool                    `json:"migrated"`
	Mappings                                 ResponseDefaultMappings `json:"mappings"`
	SearchTimeout                            int                     `json:"searchTimeout"`
	TransitiveMembershipEnabled              bool                    `json:"transitiveMembershipEnabled"`
	TransitiveMembershipUserField            string                  `json:"transitiveMembershipUserField"`
	TransitiveDirectoryMembershipEnabled     bool                    `json:"transitiveDirectoryMembershipEnabled"`
	MembershipCalculationOptimizationEnabled bool                    `json:"membershipCalculationOptimizationEnabled"`
}

type ResponseDeviceCommunicationSettings

type ResponseDeviceCommunicationSettings struct {
	AutoRenewMobileDeviceMdmProfileWhenCaRenewed                  bool `json:"autoRenewMobileDeviceMdmProfileWhenCaRenewed"`
	AutoRenewMobileDeviceMdmProfileWhenDeviceIdentityCertExpiring bool `json:"autoRenewMobileDeviceMdmProfileWhenDeviceIdentityCertExpiring"`
	AutoRenewComputerMdmProfileWhenCaRenewed                      bool `json:"autoRenewComputerMdmProfileWhenCaRenewed"`
	AutoRenewComputerMdmProfileWhenDeviceIdentityCertExpiring     bool `json:"autoRenewComputerMdmProfileWhenDeviceIdentityCertExpiring"`
	MdmProfileMobileDeviceExpirationLimitInDays                   int  `json:"mdmProfileMobileDeviceExpirationLimitInDays"`
	MdmProfileComputerExpirationLimitInDays                       int  `json:"mdmProfileComputerExpirationLimitInDays"`
}

type ResponseDeviceEnrollment

type ResponseDeviceEnrollment struct {
	TotalCount int                `json:"totalCount"`
	Results    []DeviceEnrollment `json:"results"`
}

type ResponseDirectoryBinding

type ResponseDirectoryBinding struct {
	ID         int    `json:"id,omitempty" xml:"id,omitempty"`
	Name       string `json:"name" xml:"name"`
	Priority   int    `json:"priority,omitempty" xml:"priority,omitempty"`
	Domain     string `json:"domain,omitempty" xml:"domain,omitempty"`
	Username   string `json:"username,omitempty" xml:"username,omitempty"`
	Password   string `json:"password,omitempty" xml:"password,omitempty"`
	ComputerOU string `json:"computer_ou,omitempty" xml:"computer_ou,omitempty"`
	Type       string `json:"type,omitempty" xml:"type,omitempty"`
}

DirectoryBinding structure

type ResponseDirectoryBindingsList

type ResponseDirectoryBindingsList struct {
	Size             int                  `json:"size" xml:"size"`
	DirectoryBinding DirectoryBindingList `json:"directory_binding" xml:"directory_binding"`
}

type ResponseDiskEncryptionConfiguration

type ResponseDiskEncryptionConfiguration struct {
	ID                    int    `json:"id,omitempty" xml:"id,omitempty"`
	Name                  string `json:"name" xml:"name"`
	KeyType               string `json:"key_type" xml:"key_type"`
	FileVaultEnabledUsers string `json:"file_vault_enabled_users" xml:"file_vault_enabled_users"`
}

Top-level struct for individual configurations

type ResponseDiskEncryptionConfigurationsList

type ResponseDiskEncryptionConfigurationsList struct {
	Size                        int                             `json:"size" xml:"size"`
	DiskEncryptionConfiguration DiskEncryptionConfigurationList `json:"disk_encryption_configuration" xml:"disk_encryption_configuration"`
}

Struct for listing all configurations

type ResponseDockItem

type ResponseDockItem struct {
	ID       int    `xml:"id"`
	Name     string `xml:"name"`
	Type     string `xml:"type"`
	Path     string `xml:"path"`
	Contents string `xml:"contents"`
}

DockItem Response structure

type ResponseDockItemsList

type ResponseDockItemsList struct {
	Size      int               `xml:"size"`
	DockItems []DockItemGeneral `xml:"dock_item"`
}

Response for getting all dock items

type ResponseEnrollmentCustomization

type ResponseEnrollmentCustomization struct {
	TotalCount int                       `json:"totalCount"`
	Results    []EnrollmentCustomization `json:"results"`
}

type ResponseEnrollmentSettings

type ResponseEnrollmentSettings struct {
	InstallSingleProfile                bool                `json:"installSingleProfile"`
	SigningMdmProfileEnabled            bool                `json:"signingMdmProfileEnabled"`
	MdmSigningCertificate               *CertificateDetails `json:"mdmSigningCertificate"`
	RestrictReenrollment                bool                `json:"restrictReenrollment"`
	FlushLocationInformation            bool                `json:"flushLocationInformation"`
	FlushLocationHistoryInformation     bool                `json:"flushLocationHistoryInformation"`
	FlushPolicyHistory                  bool                `json:"flushPolicyHistory"`
	FlushExtensionAttributes            bool                `json:"flushExtensionAttributes"`
	FlushMdmCommandsOnReenroll          string              `json:"flushMdmCommandsOnReenroll"`
	MacOsEnterpriseEnrollmentEnabled    bool                `json:"macOsEnterpriseEnrollmentEnabled"`
	ManagementUsername                  string              `json:"managementUsername"`
	CreateManagementAccount             bool                `json:"createManagementAccount"`
	HideManagementAccount               bool                `json:"hideManagementAccount"`
	AllowSshOnlyManagementAccount       bool                `json:"allowSshOnlyManagementAccount"`
	EnsureSshRunning                    bool                `json:"ensureSshRunning"`
	LaunchSelfService                   bool                `json:"launchSelfService"`
	SignQuickAdd                        bool                `json:"signQuickAdd"`
	DeveloperCertificateIdentity        *CertificateDetails `json:"developerCertificateIdentity"`
	DeveloperCertificateIdentityDetails CertificateDetails  `json:"developerCertificateIdentityDetails"`
	MdmSigningCertificateDetails        CertificateDetails  `json:"mdmSigningCertificateDetails"`
	IosEnterpriseEnrollmentEnabled      bool                `json:"iosEnterpriseEnrollmentEnabled"`
	IosPersonalEnrollmentEnabled        bool                `json:"iosPersonalEnrollmentEnabled"`
	PersonalDeviceEnrollmentType        string              `json:"personalDeviceEnrollmentType"`
	AccountDrivenUserEnrollmentEnabled  bool                `json:"accountDrivenUserEnrollmentEnabled"`
}

type ResponseFeatureToggleStatus

type ResponseFeatureToggleStatus struct {
	Toggle                       bool `json:"toggle"`
	ForceInstallLocalDateEnabled bool `json:"forceInstallLocalDateEnabled,omitempty"`
	DssEnabled                   bool `json:"dssEnabled,omitempty"`
}

type ResponseIbeacon

type ResponseIbeacon struct {
	ID    int    `json:"id" xml:"id"`
	Name  string `json:"name" xml:"name"`
	UUID  string `json:"uuid" xml:"uuid"`
	Major int    `json:"major" xml:"major"`
	Minor int    `json:"minor" xml:"minor"`
}

type ResponseIbeaconList

type ResponseIbeaconList struct {
	Ibeacons []IbeaconListItem `json:"ibeacon" xml:"ibeacon"`
}

type ResponseIcon

type ResponseIcon struct {
	URL string `json:"url"`
	ID  int    `json:"id"`
}

type ResponseInventoryInformation

type ResponseInventoryInformation struct {
	ManagedComputers   int `json:"managedComputers"`
	UnmanagedComputers int `json:"unmanagedComputers"`
	ManagedDevices     int `json:"managedDevices"`
	UnmanagedDevices   int `json:"unmanagedDevices"`
}

type ResponseJamfProInformation

type ResponseJamfProInformation struct {
	IsVppTokenEnabled         bool `json:"isVppTokenEnabled"`
	IsDepAccountEnabled       bool `json:"isDepAccountEnabled"`
	IsByodEnabled             bool `json:"isByodEnabled"`
	IsUserMigrationEnabled    bool `json:"isUserMigrationEnabled"`
	IsCloudDeploymentsEnabled bool `json:"isCloudDeploymentsEnabled"`
	IsPatchEnabled            bool `json:"isPatchEnabled"`
	IsSsoSamlEnabled          bool `json:"isSsoSamlEnabled"`
	IsSmtpEnabled             bool `json:"isSmtpEnabled"`
}

type ResponseJamfProVersion

type ResponseJamfProVersion struct {
	Version *string `json:"Version,omitempty"`
}

type ResponseLdapServer

type ResponseLdapServer struct {
	Connection       LdapServerDataSubsetLdapConnection       `json:"connection" xml:"connection"`
	MappingsForUsers LdapServerDataSubsetLdapMappingsForUsers `json:"mappings_for_users" xml:"mappings_for_users"`
}

type ResponseLdapServerList

type ResponseLdapServerList struct {
	Servers []LdapServerListItem `json:"ldap_server" xml:"ldap_server"`
}

type ResponseLicensedSoftware

type ResponseLicensedSoftware struct {
	General             LicensedSoftwareGeneral                `json:"general" xml:"general"`
	SoftwareDefinitions []LicensedSoftwareDataSubsetDefinition `json:"software_definitions" xml:"software_definitions>definition"`
	FontDefinitions     []LicensedSoftwareDataSubsetDefinition `json:"font_definitions" xml:"font_definitions>definition"`
	PluginDefinitions   []LicensedSoftwareDataSubsetDefinition `json:"plugin_definitions" xml:"plugin_definitions>definition"`
	Licenses            []LicensedSoftwareDataSubsetLicense    `json:"licenses" xml:"licenses>license"`
}

type ResponseLicensedSoftwareList

type ResponseLicensedSoftwareList struct {
	SoftwareItems []LicensedSoftwareListItem `json:"licensed_software" xml:"licensed_software"`
}

type ResponseLocalAdminPasswordSettings

type ResponseLocalAdminPasswordSettings struct {
	AutoDeployEnabled        bool `json:"autoDeployEnabled"`
	PasswordRotationTime     int  `json:"passwordRotationTime"`
	AutoRotateEnabled        bool `json:"autoRotateEnabled"`
	AutoRotateExpirationTime int  `json:"autoRotateExpirationTime"`
}

type ResponseMacOSConfigurationProfile

type ResponseMacOSConfigurationProfile struct {
	General     MacOSConfigurationProfileGeneral     `json:"general" xml:"general"`
	Scope       MacOSConfigurationProfileScope       `json:"scope" xml:"scope"`
	SelfService MacOSConfigurationProfileSelfService `json:"self_service,omitempty" xml:"self_service,omitempty"`
}

type ResponseMacOSConfigurationProfileList

type ResponseMacOSConfigurationProfileList struct {
	Size    int                                 `json:"size" xml:"size"`
	Results []MacOSConfigurationProfileListItem `json:"os_x_configuration_profile" xml:"os_x_configuration_profile"`
}

type ResponseManagedPreferenceProfile

type ResponseManagedPreferenceProfile struct {
	General GeneralInfo `json:"general" xml:"general"`
}

type ResponseManagedSoftwareUpdatePlans

type ResponseManagedSoftwareUpdatePlans struct {
	TotalCount int                  `json:"totalCount"`
	Results    []SoftwareUpdatePlan `json:"results"`
}

type ResponseManagedSoftwareUpdatePlansForDeviceGroup

type ResponseManagedSoftwareUpdatePlansForDeviceGroup struct {
	TotalCount int                                `json:"totalCount"`
	Results    []SoftwareUpdatePlanForDeviceGroup `json:"results"`
}

type ResponseManagedSoftwareUpdates

type ResponseManagedSoftwareUpdates struct {
	AvailableUpdates *ManagedSoftwareUpdates `json:"availableUpdates,omitempty"`
}

Struct for ResponseManagedSoftwareUpdates

type ResponseNetworkSegment

type ResponseNetworkSegment struct {
	ID                  int    `json:"id" xml:"id"`
	Name                string `json:"name" xml:"name"`
	StartingAddress     string `json:"starting_address" xml:"starting_address"`
	EndingAddress       string `json:"ending_address" xml:"ending_address"`
	DistributionServer  string `json:"distribution_server,omitempty" xml:"distribution_server,omitempty"`
	DistributionPoint   string `json:"distribution_point,omitempty" xml:"distribution_point,omitempty"`
	URL                 string `json:"url,omitempty" xml:"url,omitempty"`
	SWUServer           string `json:"swu_server,omitempty" xml:"swu_server,omitempty"`
	Building            string `json:"building,omitempty" xml:"building,omitempty"`
	Department          string `json:"department,omitempty" xml:"department,omitempty"`
	OverrideBuildings   bool   `json:"override_buildings" xml:"override_buildings"`
	OverrideDepartments bool   `json:"override_departments" xml:"override_departments"`
}

type ResponsePackage

type ResponsePackage struct {
	ID                         int    `json:"id,omitempty" xml:"id,omitempty"`
	Name                       string `json:"name" xml:"name"`
	Category                   string `json:"category,omitempty" xml:"category,omitempty"`
	Filename                   string `json:"filename,omitempty" xml:"filename,omitempty"`
	Info                       string `json:"info,omitempty" xml:"info,omitempty"`
	Notes                      string `json:"notes,omitempty" xml:"notes,omitempty"`
	Priority                   int    `json:"priority,omitempty" xml:"priority,omitempty"`
	RebootRequired             bool   `json:"reboot_required,omitempty" xml:"reboot_required,omitempty"`
	FillUserTemplate           bool   `json:"fill_user_template,omitempty" xml:"fill_user_template,omitempty"`
	FillExistingUsers          bool   `json:"fill_existing_users,omitempty" xml:"fill_existing_users,omitempty"`
	AllowUninstalled           bool   `json:"allow_uninstalled,omitempty" xml:"allow_uninstalled,omitempty"`
	OSRequirements             string `json:"os_requirements,omitempty" xml:"os_requirements,omitempty"`
	RequiredProcessor          string `json:"required_processor,omitempty" xml:"required_processor,omitempty"`
	SwitchWithPackage          string `json:"switch_with_package,omitempty" xml:"switch_with_package,omitempty"`
	InstallIfReportedAvailable bool   `json:"install_if_reported_available,omitempty" xml:"install_if_reported_available,omitempty"`
	ReinstallOption            string `json:"reinstall_option,omitempty" xml:"reinstall_option,omitempty"`
	TriggeringFiles            string `json:"triggering_files,omitempty" xml:"triggering_files,omitempty"`
	SendNotification           bool   `json:"send_notification,omitempty" xml:"send_notification,omitempty"`
}

type ResponsePackagesList

type ResponsePackagesList struct {
	Size     int             `json:"size" xml:"size"`
	Packages []PackageDetail `json:"package" xml:"package"`
}

type ResponsePatchPolicy

type ResponsePatchPolicy struct {
	TotalCount int                          `json:"totalCount,omitempty" xml:"totalCount,omitempty"`
	Results    PatchPolicyDataSubsetResults `json:"results,omitempty" xml:"results,omitempty"`
}

ResponsePatchPolicy represents the entire response structure for patch policies

type ResponsePrinter

type ResponsePrinter struct {
	ID          int    `json:"id,omitempty" xml:"id,omitempty"`
	Name        string `json:"name" xml:"name"`
	Category    string `json:"category" xml:"category"`
	URI         string `json:"uri" xml:"uri"`
	CUPSName    string `json:"CUPS_name" xml:"CUPS_name"`
	Location    string `json:"location" xml:"location"`
	Model       string `json:"model" xml:"model"`
	Info        string `json:"info,omitempty" xml:"info,omitempty"`
	Notes       string `json:"notes,omitempty" xml:"notes,omitempty"`
	MakeDefault bool   `json:"make_default" xml:"make_default"`
	UseGeneric  bool   `json:"use_generic" xml:"use_generic"`
	PPD         string `json:"ppd" xml:"ppd"`
	PPDPath     string `json:"ppd_path" xml:"ppd_path"`
	PPDContents string `json:"ppd_contents" xml:"ppd_contents"`
}

type ResponsePrintersList

type ResponsePrintersList struct {
	Size     int             `json:"size" xml:"size"`
	Printers []PrinterDetail `json:"printer" xml:"printer"`
}

type ResponseReEnrollment

type ResponseReEnrollment struct {
	IsFlushPolicyHistoryEnabled              bool   `json:"isFlushPolicyHistoryEnabled"`
	IsFlushLocationInformationEnabled        bool   `json:"isFlushLocationInformationEnabled"`
	IsFlushLocationInformationHistoryEnabled bool   `json:"isFlushLocationInformationHistoryEnabled"`
	IsFlushExtensionAttributesEnabled        bool   `json:"isFlushExtensionAttributesEnabled"`
	FlushMDMQueue                            string `json:"flushMDMQueue"`
}

type ResponseReEnrollmentHistory

type ResponseReEnrollmentHistory struct {
	TotalCount int                         `json:"totalCount"`
	Results    []ReEnrollmentHistoryResult `json:"results"`
}

type ResponseRestrictedSoftware

type ResponseRestrictedSoftware struct {
	General struct {
		ID                    int    `json:"id,omitempty" xml:"id,omitempty"`
		Name                  string `json:"name" xml:"name"`
		ProcessName           string `json:"process_name" xml:"process_name"`
		MatchExactProcessName bool   `json:"match_exact_process_name" xml:"match_exact_process_name"`
		SendNotification      bool   `json:"send_notification" xml:"send_notification"`
		KillProcess           bool   `json:"kill_process" xml:"kill_process"`
		DeleteExecutable      bool   `json:"delete_executable" xml:"delete_executable"`
		DisplayMessage        string `json:"display_message" xml:"display_message"`
		Site                  struct {
			ID   int    `json:"id" xml:"id"`
			Name string `json:"name" xml:"name"`
		} `json:"site" xml:"site"`
	} `json:"general" xml:"general"`
	Scope struct {
		AllComputers bool `json:"all_computers" xml:"all_computers"`
		Computers    []struct {
			Computer struct {
				ID   int    `json:"id" xml:"id"`
				Name string `json:"name" xml:"name"`
			} `json:"computer" xml:"computer"`
		} `json:"computers" xml:"computers"`
		ComputerGroups []struct {
			ComputerGroup struct {
				ID   int    `json:"id" xml:"id"`
				Name string `json:"name" xml:"name"`
			} `json:"computer_group" xml:"computer_group"`
		} `json:"computer_groups" xml:"computer_groups"`
		Buildings []struct {
			Building struct {
				ID   int    `json:"id" xml:"id"`
				Name string `json:"name" xml:"name"`
			} `json:"building" xml:"building"`
		} `json:"buildings" xml:"buildings"`
		Departments []struct {
			Department struct {
				ID   int    `json:"id" xml:"id"`
				Name string `json:"name" xml:"name"`
			} `json:"department" xml:"department"`
		} `json:"departments" xml:"departments"`
		Exclusions struct {
			Computers []struct {
				Computer struct {
					ID   int    `json:"id" xml:"id"`
					Name string `json:"name" xml:"name"`
				} `json:"computer" xml:"computer"`
			} `json:"computers" xml:"computers"`
			ComputerGroups []struct {
				ComputerGroup struct {
					ID   int    `json:"id" xml:"id"`
					Name string `json:"name" xml:"name"`
				} `json:"computer_group" xml:"computer_group"`
			} `json:"computer_groups" xml:"computer_groups"`
			Buildings []struct {
				Building struct {
					ID   int    `json:"id" xml:"id"`
					Name string `json:"name" xml:"name"`
				} `json:"building" xml:"building"`
			} `json:"buildings" xml:"buildings"`
			Departments []struct {
				Department struct {
					ID   int    `json:"id" xml:"id"`
					Name string `json:"name" xml:"name"`
				} `json:"department" xml:"department"`
			} `json:"departments" xml:"departments"`
			Users []struct {
				User struct {
					ID   int    `json:"id" xml:"id"`
					Name string `json:"name" xml:"name"`
				} `json:"user" xml:"user"`
			} `json:"users" xml:"users"`
		} `json:"exclusions" xml:"exclusions"`
	} `json:"scope" xml:"scope"`
}

type ResponseRestrictedSoftwareList

type ResponseRestrictedSoftwareList struct {
	Size                    int                       `json:"size" xml:"size"`
	RestrictedSoftwareTitle []RestrictedSoftwareTitle `json:"restricted_software_title" xml:"restricted_software_title"`
}

type ResponseStartupStatus

type ResponseStartupStatus struct {
	Step                    string `json:"step"`
	StepCode                string `json:"stepCode"`
	StepParam               string `json:"stepParam"`
	Percentage              int    `json:"percentage"`
	Warning                 string `json:"warning"`
	WarningCode             string `json:"warningCode"`
	WarningParam            string `json:"warningParam"`
	Error                   string `json:"error"`
	ErrorCode               string `json:"errorCode"`
	SetupAssistantNecessary bool   `json:"setupAssistantNecessary"`
}

type ResponseTeamViewerRemoteAdminStatus

type ResponseTeamViewerRemoteAdminStatus struct {
	ConnectionVerificationResult string `json:"connectionVerificationResult"`
}

type ResponseTeamViewerRemoteAdministrationConfiguration

type ResponseTeamViewerRemoteAdministrationConfiguration struct {
	TotalCount int                                           `json:"totalCount"`
	Results    []TeamViewerRemoteAdministrationConfiguration `json:"results"`
}

type ResponseTeamViewerSessionStatus

type ResponseTeamViewerSessionStatus struct {
	SessionState string `json:"sessionState"`
	Online       bool   `json:"online"`
}

type ResponseUser

type ResponseUser struct {
	ID                   int                                 `json:"id" xml:"id"`
	Name                 string                              `json:"name" xml:"name"` // required
	FullName             string                              `json:"full_name,omitempty" xml:"full_name,omitempty"`
	Email                string                              `json:"email,omitempty" xml:"email,omitempty"`
	EmailAddress         string                              `json:"email_address,omitempty" xml:"email_address,omitempty"`
	PhoneNumber          string                              `json:"phone_number,omitempty" xml:"phone_number,omitempty"`
	Position             string                              `json:"position,omitempty" xml:"position,omitempty"`
	EnableCustomPhotoURL bool                                `json:"enable_custom_photo_url,omitempty" xml:"enable_custom_photo_url,omitempty"`
	CustomPhotoURL       string                              `json:"custom_photo_url,omitempty" xml:"custom_photo_url,omitempty"`
	LDAPServer           UsersDataSubsetLDAPServer           `json:"ldap_server,omitempty" xml:"ldap_server,omitempty"`
	ExtensionAttributes  []UsersDataSubsetExtensionAttribute `json:"extension_attributes,omitempty" xml:"extension_attributes,omitempty"`
	Sites                []UsersDataSubsetUserSite           `json:"sites,omitempty" xml:"sites,omitempty"`
	Links                UsersDataSubsetUserLinks            `json:"links,omitempty" xml:"links,omitempty"`
}

type ResponseUserGroup

type ResponseUserGroup struct {
	ID               int                 `json:"id" xml:"id"`
	Name             string              `json:"name" xml:"name"`
	IsSmart          bool                `json:"is_smart" xml:"is_smart"`
	IsNotifyOnChange bool                `json:"is_notify_on_change" xml:"is_notify_on_change"`
	Site             Site                `json:"site,omitempty" xml:"site,omitempty"`
	Criteria         []UserGroupCriteria `json:"criteria,omitempty" xml:"criteria,omitempty"`
	Users            []UserGroupUser     `json:"users,omitempty" xml:"users,omitempty"`
}

type ResponseUserList

type ResponseUserList struct {
	Size  int            `json:"size" xml:"size"`
	Users []UserListItem `json:"user" xml:"user"`
}

type ResponseUsers

type ResponseUsers struct {
	Size  int            `xml:"size"`
	Users []ResponseUser `xml:"user"`
}

type ResponseVolumePurchasingSubscription

type ResponseVolumePurchasingSubscription struct {
	TotalCount int                            `json:"totalCount"`
	Results    []VolumePurchasingSubscription `json:"results"`
}

type ResponseWebhook

type ResponseWebhook struct {
	ID                                int            `json:"id" xml:"id"`
	Name                              string         `json:"name" xml:"name"`
	Enabled                           bool           `json:"enabled" xml:"enabled"`
	URL                               string         `json:"url" xml:"url"`
	ContentType                       string         `json:"content_type" xml:"content_type"`
	Event                             string         `json:"event" xml:"event"`
	ConnectionTimeout                 int            `json:"connection_timeout" xml:"connection_timeout"`
	ReadTimeout                       int            `json:"read_timeout" xml:"read_timeout"`
	AuthenticationType                string         `json:"authentication_type" xml:"authentication_type"`
	Username                          string         `json:"username" xml:"username"`
	Password                          string         `json:"password" xml:"password"`
	EnableDisplayFieldsForGroupObject bool           `json:"enable_display_fields_for_group_object" xml:"enable_display_fields_for_group_object"`
	DisplayFields                     []DisplayField `json:"display_fields" xml:"display_fields"`
	SmartGroupID                      int            `json:"smart_group_id" xml:"smart_group_id"`
}

type ResponseWebhookList

type ResponseWebhookList struct {
	Size    int           `json:"size" xml:"size"`
	Webhook []WebhookItem `json:"webhook" xml:"webhook"`
}

type RestrictedSoftwareTitle

type RestrictedSoftwareTitle struct {
	ID   int    `json:"id" xml:"id"`
	Name string `json:"name" xml:"name"`
}

type SSOCertificateResponse

type SSOCertificateResponse struct {
	Keystore        Keystore        `json:"keystore"`
	KeystoreDetails KeystoreDetails `json:"keystoreDetails"`
}

type SafelistedApp

type SafelistedApp struct {
	Name     string `json:"name"`
	BundleId string `json:"bundleId"`
}

type Scope

type Scope struct {
	AllComputers   bool                                            `xml:"all_computers,omitempty"`
	AllJSSUsers    bool                                            `xml:"all_jss_users,omitempty"`
	Buildings      []AppStoreMacApplicationDataSubsetBuilding      `xml:"buildings,omitempty"`
	Departments    []AppStoreMacApplicationDataSubsetDepartment    `xml:"departments,omitempty"`
	Computers      []AppStoreMacApplicationDataSubsetComputer      `xml:"computers,omitempty"`
	ComputerGroups []AppStoreMacApplicationDataSubsetComputerGroup `xml:"computer_groups,omitempty"`
	JSSUsers       []AppStoreMacApplicationDataSubsetJSSUser       `xml:"jss_users,omitempty"`
	JSSUserGroups  []AppStoreMacApplicationDataSubsetJSSUserGroup  `xml:"jss_user_groups,omitempty"`
	Limitations    struct {
		Users           []AppStoreMacApplicationDataSubsetJSSUser      `xml:"users,omitempty"`
		UserGroups      []AppStoreMacApplicationDataSubsetJSSUserGroup `xml:"user_groups,omitempty"`
		NetworkSegments []struct {
			NetworkSegment AppStoreMacApplicationDataSubsetIDName `xml:"network_segment,omitempty"`
		} `xml:"network_segments"`
	} `xml:"limitations,omitempty"`
	Exclusions struct {
		Buildings       []AppStoreMacApplicationDataSubsetBuilding     `xml:"buildings,omitempty"`
		Departments     []AppStoreMacApplicationDataSubsetDepartment   `xml:"departments,omitempty"`
		Users           []AppStoreMacApplicationDataSubsetJSSUser      `xml:"users,omitempty"`
		UserGroups      []AppStoreMacApplicationDataSubsetJSSUserGroup `xml:"user_groups,omitempty"`
		NetworkSegments []struct {
			NetworkSegment struct {
				ID   int    `xml:"id,omitempty"`
				UID  string `xml:"uid,omitempty"`
				Name string `xml:"name"`
			} `xml:"network_segment,omitempty"`
		} `xml:"network_segments"`
		Computers      []AppStoreMacApplicationDataSubsetComputer      `xml:"computers,omitempty"`
		ComputerGroups []AppStoreMacApplicationDataSubsetComputerGroup `xml:"computer_groups,omitempty"`
		JSSUsers       []AppStoreMacApplicationDataSubsetJSSUser       `xml:"jss_users,omitempty"`
		JSSUserGroups  []AppStoreMacApplicationDataSubsetJSSUserGroup  `xml:"jss_user_groups,omitempty"`
	} `xml:"exclusions,omitempty"`
}

Tier 2 - Scope section

type Script

type Script struct {
	ID             string `json:"id,omitempty"`
	Name           string `json:"name"`
	CategoryID     string `json:"categoryId"`
	CategoryName   string `json:"categoryName"`
	Info           string `json:"info"`
	Notes          string `json:"notes"`
	Priority       string `json:"priority"`
	Parameter4     string `json:"parameter4"`
	Parameter5     string `json:"parameter5"`
	Parameter6     string `json:"parameter6"`
	Parameter7     string `json:"parameter7"`
	Parameter8     string `json:"parameter8"`
	Parameter9     string `json:"parameter9"`
	Parameter10    string `json:"parameter10"`
	Parameter11    string `json:"parameter11"`
	OsRequirements string `json:"osRequirements"`
	ScriptContents string `json:"scriptContents"`
}

type ScriptCreateResponse

type ScriptCreateResponse struct {
	ID   string `json:"id,omitempty"`
	Href string `json:"href,omitempty"`
}

type ScriptsListResponse

type ScriptsListResponse struct {
	Count   int      `json:"totalCount,omitempty"`
	Results []Script `json:"results,omitempty"`
}

type SelfService

type SelfService struct {
	InstallButtonText           string                                                `xml:"install_button_text,omitempty"`
	SelfServiceDescription      string                                                `xml:"self_service_description,omitempty"`
	ForceUsersToViewDescription bool                                                  `xml:"force_users_to_view_description,omitempty"`
	SelfServiceIcon             AppStoreMacApplicationDataSubsetSelfServiceIcon       `xml:"self_service_icon,omitempty"`
	FeatureOnMainPage           bool                                                  `xml:"feature_on_main_page,omitempty"`
	SelfServiceCategories       []AppStoreMacApplicationDataSubsetSelfServiceCategory `xml:"self_service_categories,omitempty"`
	Notification                string                                                `xml:"notification,omitempty"`
	NotificationSubject         string                                                `xml:"notification_subject,omitempty"`
	NotificationMessage         string                                                `xml:"notification_message,omitempty"`
	VPP                         AppStoreMacApplicationDataSubsetVPP                   `xml:"vpp,omitempty"`
}

Tier 2 - SelfService section

type SelfServiceCategory

type SelfServiceCategory struct {
	ID        int    `xml:"id,omitempty"`
	Name      string `xml:"name,omitempty"`
	DisplayIn bool   `xml:"display_in,omitempty"`
	FeatureIn bool   `xml:"feature_in,omitempty"`
}

type SelfServiceIcon

type SelfServiceIcon struct {
	ID       int    `xml:"id,omitempty"`
	Filename string `xml:"filename,omitempty"`
	URI      string `xml:"uri,omitempty"`
}

type SelfServiceSecurity

type SelfServiceSecurity struct {
	RemovalDisallowed string `json:"removal_disallowed,omitempty" xml:"removal_disallowed,omitempty"`
}

type SelfServiceSettings

type SelfServiceSettings struct {
	InstallSettings       InstallSettings       `json:"installSettings"`
	LoginSettings         LoginSettings         `json:"loginSettings"`
	ConfigurationSettings ConfigurationSettings `json:"configurationSettings"`
}

SelfServiceSettings represents the settings of Self Service.

type SetupTaskOption

type SetupTaskOption struct {
	Available bool        `json:"available"`
	Error     ErrorDetail `json:"error"`
}

type Site

type Site struct {
	ID   int    `json:"id,omitempty" xml:"id,omitempty"`
	Name string `json:"name,omitempty" xml:"name,omitempty"`
}

type SoftwareUpdatePlan

type SoftwareUpdatePlan struct {
	PlanUUID                  string           `json:"planUuid"`
	Device                    DeviceDetail     `json:"device"`
	UpdateAction              string           `json:"updateAction"`
	VersionType               string           `json:"versionType"`
	SpecificVersion           string           `json:"specificVersion,omitempty"`
	MaxDeferrals              int              `json:"maxDeferrals"`
	ForceInstallLocalDateTime string           `json:"forceInstallLocalDateTime,omitempty"`
	Status                    UpdatePlanStatus `json:"status"`
}

type SoftwareUpdatePlanForDeviceGroup

type SoftwareUpdatePlanForDeviceGroup struct {
	PlanUUID                  string           `json:"planUuid"`
	Device                    DeviceDetail     `json:"device"`
	UpdateAction              string           `json:"updateAction"`
	VersionType               string           `json:"versionType"`
	SpecificVersion           string           `json:"specificVersion,omitempty"`
	MaxDeferrals              int              `json:"maxDeferrals"`
	ForceInstallLocalDateTime string           `json:"forceInstallLocalDateTime,omitempty"`
	Status                    UpdatePlanStatus `json:"status"`
}

type SyncState

type SyncState struct {
	ID           int    `json:"id"`
	SerialNumber string `json:"serialNumber"`
	ProfileUUID  string `json:"profileUUID"`
	SyncStatus   string `json:"syncStatus"`
	FailureCount int    `json:"failureCount"`
	Timestamp    int    `json:"timestamp"`
}

type TeacherAppFeature

type TeacherAppFeature struct {
	IsAllowAppLock         bool `json:"isAllowAppLock"`
	IsAllowWebLock         bool `json:"isAllowWebLock"`
	IsAllowRestrictions    bool `json:"isAllowRestrictions"`
	IsAllowAttentionScreen bool `json:"isAllowAttentionScreen"`
	IsAllowClearPasscode   bool `json:"isAllowClearPasscode"`
}

type TeacherAppHistoryItem

type TeacherAppHistoryItem struct {
	ID       int    `json:"id"`
	Username string `json:"username"`
	Date     string `json:"date"`
	Note     string `json:"note"`
	Details  string `json:"details"`
}

type TeacherAppHistoryResponse

type TeacherAppHistoryResponse struct {
	TotalCount int                     `json:"totalCount"`
	Results    []TeacherAppHistoryItem `json:"results"`
}

type TeamViewerRemoteAdministrationConfiguration

type TeamViewerRemoteAdministrationConfiguration struct {
	ID             string `json:"id"`
	SiteID         string `json:"siteId"`
	DisplayName    string `json:"displayName"`
	Enabled        bool   `json:"enabled"`
	SessionTimeout int    `json:"sessionTimeout"`
}

type TeamViewerSession

type TeamViewerSession struct {
	ID            string `json:"id"`
	Code          string `json:"code"`
	Description   string `json:"description"`
	SupporterLink string `json:"supporterLink"`
	EndUserLink   string `json:"endUserLink"`
	DeviceID      string `json:"deviceId"`
	DeviceName    string `json:"deviceName"`
	DeviceType    string `json:"deviceType"`
	State         string `json:"state"`
	CreatorID     string `json:"creatorId"`
	CreatorName   string `json:"creatorName"`
	CreatedAt     string `json:"createdAt"`
}

type TimeZoneInformation

type TimeZoneInformation struct {
	ZoneId      string `json:"zoneId"`
	Region      string `json:"region"`
	DisplayName string `json:"displayName"`
}

type UpdateDeviceEnrollmentTokenRequest

type UpdateDeviceEnrollmentTokenRequest struct {
	TokenFileName string `json:"tokenFileName"`
	EncodedToken  string `json:"encodedToken"`
}

type UpdatePlanStatus

type UpdatePlanStatus struct {
	State        string   `json:"state,omitempty"`
	ErrorReasons []string `json:"errorReasons,omitempty"`
}

type UpdateTeamViewerConfiguration

type UpdateTeamViewerConfiguration struct {
	DisplayName    string `json:"displayName"`
	Enabled        bool   `json:"enabled"`
	SessionTimeout int    `json:"sessionTimeout"`
	Token          string `json:"token"`
}

type UploadProgressPercentage

type UploadProgressPercentage struct {
	Filename  string
	TotalSize int64
	SeenSoFar int64
}

func NewUploadProgressPercentage

func NewUploadProgressPercentage(filename string) *UploadProgressPercentage

func (*UploadProgressPercentage) AddBytes

func (p *UploadProgressPercentage) AddBytes(bytes int64)

func (*UploadProgressPercentage) TrackProgress

func (p *UploadProgressPercentage) TrackProgress()

type User

type User struct {
	ID           int    `json:"id" xml:"id"`
	Username     string `json:"username,omitempty" xml:"username,omitempty"`
	FullName     string `json:"full_name,omitempty" xml:"full_name,omitempty"`
	PhoneNumber  string `json:"phone_number,omitempty" xml:"phone_number,omitempty"`
	EmailAddress string `json:"email_address,omitempty" xml:"email_address,omitempty"`
}

type UserGroupCriteria

type UserGroupCriteria struct {
	Size      int                `json:"size" xml:"size"`
	Criterion UserGroupCriterion `json:"criterion" xml:"criterion"`
}

type UserGroupCriterion

type UserGroupCriterion struct {
	Name         string `json:"name" xml:"name"`
	Priority     int    `json:"priority,omitempty" xml:"priority,omitempty"`
	AndOr        string `json:"and_or,omitempty" xml:"and_or,omitempty"`
	SearchType   string `json:"search_type,omitempty" xml:"search_type,omitempty"`
	Value        string `json:"value,omitempty" xml:"value,omitempty"`
	OpeningParen bool   `json:"opening_paren,omitempty" xml:"opening_paren,omitempty"`
	ClosingParen bool   `json:"closing_paren,omitempty" xml:"closing_paren,omitempty"`
}

type UserGroupScope

type UserGroupScope struct {
	Id   int    `xml:"id"`
	Name string `xml:"name"`
}

type UserGroupUser

type UserGroupUser struct {
	Size int  `json:"size" xml:"size"`
	User User `json:"user" xml:"user"`
}

type UserListItem

type UserListItem struct {
	ID   int    `json:"id" xml:"id"`
	Name string `json:"name" xml:"name"`
}

type UserScope

type UserScope struct {
	Name string `xml:"name"`
}

type Users

type Users struct {
	User []AccountUser `json:"user,omitempty" xml:"user,omitempty"`
}

type UsersDataSubsetExtensionAttribute

type UsersDataSubsetExtensionAttribute struct {
	ExtensionAttributeItem `json:"extension_attribute" xml:"extension_attribute"`
}

type UsersDataSubsetItem

type UsersDataSubsetItem struct {
	ID   int    `json:"id,omitempty" xml:"id,omitempty"`
	Name string `json:"name,omitempty" xml:"name,omitempty"`
}

type UsersDataSubsetLDAPServer

type UsersDataSubsetLDAPServer struct {
	ID   int    `json:"id,omitempty" xml:"id,omitempty"`
	Name string `json:"name,omitempty" xml:"name,omitempty"`
}
type UsersDataSubsetUserLinks struct {
	Computers         ComputerLink      `json:"computers,omitempty" xml:"computers,omitempty"`
	Peripherals       PeripheralLink    `json:"peripherals,omitempty" xml:"peripherals,omitempty"`
	MobileDevices     MobileDeviceLink  `json:"mobile_devices,omitempty" xml:"mobile_devices,omitempty"`
	VPPAssignments    VPPAssignmentLink `json:"vpp_assignments,omitempty" xml:"vpp_assignments,omitempty"`
	TotalVPPCodeCount int               `json:"total_vpp_code_count,omitempty" xml:"total_vpp_code_count,omitempty"`
}

type UsersDataSubsetUserSite

type UsersDataSubsetUserSite struct {
	Site Site `json:"site,omitempty" xml:"site,omitempty"`
}
type VPPAssignmentLink struct {
	VPPAssignment UsersDataSubsetItem `json:"vpp_assignment" xml:"vpp_assignment"`
}

type VolumePurchasingSubscription

type VolumePurchasingSubscription struct {
	Name               string              `json:"name"` // Required
	Enabled            bool                `json:"enabled,omitempty"`
	Triggers           []string            `json:"triggers,omitempty"`
	LocationIds        []string            `json:"locationIds,omitempty"`
	InternalRecipients []InternalRecipient `json:"internalRecipients,omitempty"`
	ExternalRecipients []ExternalRecipient `json:"externalRecipients,omitempty"`
	SiteId             string              `json:"siteId,omitempty"`
	ID                 string              `json:"id,omitempty"`
}

type WebhookItem

type WebhookItem struct {
	ID   int    `json:"id" xml:"id"`
	Name string `json:"name" xml:"name"`
}

Jump to

Keyboard shortcuts

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