jamf

package module
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2023 License: MIT Imports: 26 Imported by: 0

README

Jamf API in Go

Install

package main

import (
  "fmt"
	"log"
	jamf "github.com/deploymenttheory/go-jamfpro-api"
)

func main() {
	// 1. Create a new client for the Jamf Pro API.
	username := "api-username"          // e.g., "api USERNAME"
	password := "api-password"          // e.g., "api password"
	url := "yourcompany.jamfcloud.com"  // e.g., "yourcompany.jamfcloud.com"
	client, err := jamf.NewClient(username, password, url)
	if err != nil {
		log.Fatalf("Failed to create client: %v", err)
	}

	// 2. Use the client to get client check-in data
	response, err := client.GetClientCheckIn()
	if err != nil {
		log.Fatalf("Error getting client check-in: %v", err)
	}
  // Script below calling functions....
}

Usage

sample code: examples

Get auth token in curl

$ curl -u username:password -X POST "https://xxxxx.jamfcloud.com/uapi/auth/tokens"
$ token=xxxxx
$ curl -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $token" "https://xxxxx.jamfcloud.com/uapi/v1/departments"

Documentation

Overview

selfService.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 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 GetFailoverURL

func GetFailoverURL(c *Client) string

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.

func Zip

func Zip(source, target string) error

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 Account

type Account struct {
	XMLName         xml.Name `xml:"account"`
	ResponseAccount          // This line embeds ResponseAccount into Account
	Password        string   `xml:"password"`
}

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

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 AccountDataSubsetMembers

type AccountDataSubsetMembers struct {
	User AccountDataSubsetUser `json:"user,omitempty" xml:"user,omitempty"`
}

type AccountDataSubsetPrivilege

type AccountDataSubsetPrivilege struct {
	Privileges []Privilege `json:"privilege,omitempty" xml:"privilege,omitempty"`
}

type AccountDataSubsetPrivileges

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

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 AccountGroup

type AccountGroup struct {
	XMLName      xml.Name                    `xml:"group"`
	Name         string                      `xml:"name"`
	AccessLevel  string                      `xml:"access_level"`
	PrivilegeSet string                      `xml:"privilege_set"`
	Site         AccountDataSubsetSite       `xml:"site"`
	Privileges   AccountDataSubsetPrivileges `xml:"privileges"`
	Members      []AccountDataSubsetMembers  `xml:"members"`
}

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 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"`
}

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 Client

type Client struct {

	// The Http Client that is used to make requests
	HttpClient       *http.Client
	HttpRetryTimeout time.Duration

	// Option to specify extra headers like User-Agent
	ExtraHeader map[string]string
	// contains filtered or unexported fields
}

Client ... stores an object to talk with Jamf API

func NewClient

func NewClient(username, password, url string) (*Client, error)

NewClient ... returns a new jamf.Client which can be used to access the API

func (*Client) AddNoteToCheckInHistory

func (c *Client) AddNoteToCheckInHistory(note string) (*ResponseCheckInHistoryNote, error)

func (*Client) CheckPkg

func (c *Client) CheckPkg(pkgName string) (int, error)

func (*Client) CloseTeamViewerSession

func (c *Client) CloseTeamViewerSession(configurationId string, sessionId string) error

func (*Client) CreateAccount

func (c *Client) CreateAccount(account *Account) error

CreateAccount creates a new Jamf Pro Account

func (*Client) CreateAccountGroup

func (c *Client) CreateAccountGroup(accountGroup *AccountGroup) error

CreateAccountGroup creates a new Jamf Pro Account Group

func (*Client) CreateAllowedFileExtension

func (c *Client) CreateAllowedFileExtension(extension *AllowedFileExtension) error

CreateAllowedFileExtension creates a new allowed file extension

func (*Client) CreateApiIntegration

func (c *Client) CreateApiIntegration(
	displayName *string,
	authorizationScopes *[]string,
	enabled *bool,
	accessTokenLifetimeSeconds *int) (*APIIntegration, error)

func (*Client) CreateApiRole

func (c *Client) CreateApiRole(displayName *string, privileges *[]string) (*APIRole, error)

func (*Client) CreateAppStoreMacApplication

func (c *Client) CreateAppStoreMacApplication(app *AppStoreMacApplication) (*ResponseAppStoreMacApplication, error)

CreateAppStoreMacApplication creates a new App Store Mac Application

func (*Client) CreateBuilding

func (c *Client) CreateBuilding(name, sa1, sa2, city, sp, zpc, country *string) (*Building, error)

func (*Client) CreateCSAToken

func (c *Client) CreateCSAToken(email string, password string) (*ResponseCSAToken, error)

func (*Client) CreateCategory

func (c *Client) CreateCategory(name *string, priority *int) (*Category, error)

func (*Client) CreateClass

func (c *Client) CreateClass(class *ResponseClass) error

CreateClass creates a new Class

func (*Client) CreateComputerConfigurationProfile

func (c *Client) CreateComputerConfigurationProfile(d *ComputerConfigurationProfile) (int, error)

func (*Client) CreateComputerExtensionAttribute

func (c *Client) CreateComputerExtensionAttribute(d *ComputerExtensionAttribute) (int, error)

func (*Client) CreateComputerGroup

func (c *Client) CreateComputerGroup(d *ComputerGroupRequest) (int, error)

func (*Client) CreateComputerInventoryCustomPathCollection

func (c *Client) CreateComputerInventoryCustomPathCollection(scope, path string) (*ResponseCustomPathCreation, error)

func (*Client) CreateComputerPrestage

func (c *Client) CreateComputerPrestage(
	DisplayName *string,
	Mandatory *bool,
	MdmRemovable *bool,
	SupportPhoneNumber *string,
	SupportEmailAddress *string,
	Department *string,
	DefaultPrestage *bool,
	EnrollmentSiteId *string,
	KeepExistingSiteMembership *bool,
	KeepExistingLocationInformation *bool,
	RequireAuthentication *bool,
	AuthenticationPrompt *string,
	PreventActivationLock *bool,
	EnableDeviceBasedActivationLock *bool,
	DeviceEnrollmentProgramInstanceId *string,
	SkipSetupItems *map[string]bool,
	LocationInformation *ComputerPrestageDataSubsetLocationInformation,
	PurchasingInformation *ComputerPrestageDataSubsetPurchasingInformation,
	AnchorCertificates *[]string,
	EnrollmentCustomizationId *string,
	Language *string,
	Region *string,
	AutoAdvanceSetup *bool,
	InstallProfilesDuringSetup *bool,
	PrestageInstalledProfileIds *[]string,
	CustomPackageIds *[]string,
	CustomPackageDistributionPointId *string,
	EnableRecoveryLock *bool,
	RecoveryLockPasswordType *string,
	RotateRecoveryLockPassword *bool,
	AccountSettings *ComputerPrestageDataSubsetAccountSettings,
) (*computerPrestage, error)

func (*Client) CreateDepartment

func (c *Client) CreateDepartment(name *string) (*Department, error)

func (*Client) CreateDeviceEnrollmentInstanceWithToken

func (c *Client) CreateDeviceEnrollmentInstanceWithToken(tokenFileName string, encodedToken string) (string, error)

func (*Client) CreateDirectoryBindingByID

func (c *Client) CreateDirectoryBindingByID(id int, binding *DirectoryBinding) error

CreateDirectoryBindingByID creates a new directory binding using the given ID

func (*Client) CreateDiskEncryptionConfiguration

func (c *Client) CreateDiskEncryptionConfiguration(config *DiskEncryptionConfiguration) error

CreateDiskEncryptionConfiguration creates a new Disk Encryption Configuration

func (*Client) CreateDockItem

func (c *Client) CreateDockItem(item *DockItem) (*ResponseDockItem, error)

CreateDockItem creates a new Dock Item

func (*Client) CreateMobileDeviceGroup

func (c *Client) CreateMobileDeviceGroup(d *MobileDeviceGroupRequest) (int, error)

func (*Client) CreatePackage

func (c *Client) CreatePackage(d *Package) (int, error)

func (*Client) CreatePackageObject

func (c *Client) CreatePackageObject(pkgName, pkgDisplayName string, pkgCategoryId int, pkgMetadata map[string]string) error

func (*Client) CreatePolicy

func (c *Client) CreatePolicy(d *Policy) (int, error)

func (*Client) CreateScript

func (c *Client) CreateScript(d *Script) (string, error)

func (*Client) CreateSession

func (c *Client) CreateSession(user, password string) error

func (*Client) CreateTeamViewerRemoteAdministrationConfiguration

func (c *Client) CreateTeamViewerRemoteAdministrationConfiguration(displayName *string, siteID *string, scriptToken *string, enabled *bool, sessionTimeout *int) (*TeamViewerRemoteAdministrationConfiguration, error)

func (*Client) CreateTeamViewerSession

func (c *Client) CreateTeamViewerSession(configurationId string, session CreateTeamViewerSessionRequest) (*ResponseCreateTeamViewerSession, error)

func (*Client) CreateUploadBrandingImageRequest

func (c *Client) CreateUploadBrandingImageRequest(imageName string, imageData []byte) (*http.Request, error)

CreateUploadBrandingImageRequest creates but does not send the request for branding image upload.

func (*Client) DeleteAccountByID

func (c *Client) DeleteAccountByID(id int) error

DeleteAccountByID deletes an existing Jamf Pro Account by ID

func (*Client) DeleteAccountByName

func (c *Client) DeleteAccountByName(name string) error

DeleteAccountByName deletes an existing Jamf Pro Account by Name

func (*Client) DeleteAccountGroupByID

func (c *Client) DeleteAccountGroupByID(id int) error

DeleteAccountGroupByID deletes an existing Jamf Pro Account Group by ID

func (*Client) DeleteAccountGroupByName

func (c *Client) DeleteAccountGroupByName(name string) error

DeleteAccountGroupByName deletes an existing Jamf Pro Account Group by Name

func (*Client) DeleteAllowedFileExtensionByID

func (c *Client) DeleteAllowedFileExtensionByID(id int) error

DeleteAllowedFileExtensionByID deletes an existing allowed file extension by ID

func (*Client) DeleteAllowedFileExtensionByName

func (c *Client) DeleteAllowedFileExtensionByName(extensionName string) error

DeleteAllowedFileExtensionByName deletes an existing allowed file extension by Name

func (*Client) DeleteApiIntegration

func (c *Client) DeleteApiIntegration(integrationID int) error

func (*Client) DeleteApiRole

func (c *Client) DeleteApiRole(roleID int) error

func (*Client) DeleteAppStoreMacApplicationByID

func (c *Client) DeleteAppStoreMacApplicationByID(id int) error

DeleteAppStoreMacApplicationByID deletes an App Store Mac Application by its ID

func (*Client) DeleteAppStoreMacApplicationByName

func (c *Client) DeleteAppStoreMacApplicationByName(appName string) error

DeleteAppStoreMacApplicationByName deletes an App Store Mac Application by its name

func (*Client) DeleteBuilding

func (c *Client) DeleteBuilding(name string) error

func (*Client) DeleteCSAToken

func (c *Client) DeleteCSAToken() error

func (*Client) DeleteCategory

func (c *Client) DeleteCategory(name string) error

func (*Client) DeleteClassByID

func (c *Client) DeleteClassByID(id int) error

DeleteClassByID deletes a Class by its ID

func (*Client) DeleteClassByName

func (c *Client) DeleteClassByName(className string) error

DeleteClassByName deletes a Class by its name

func (*Client) DeleteComputerConfigurationProfile

func (c *Client) DeleteComputerConfigurationProfile(id int) (int, error)

func (*Client) DeleteComputerExtensionAttribute

func (c *Client) DeleteComputerExtensionAttribute(id int) (int, error)

func (*Client) DeleteComputerGroup

func (c *Client) DeleteComputerGroup(id int) (int, error)

func (*Client) DeleteComputerInventoryByID

func (c *Client) DeleteComputerInventoryByID(id string) error

func (*Client) DeleteComputerInventoryCollectionCustomPath

func (c *Client) DeleteComputerInventoryCollectionCustomPath(id string) error

func (*Client) DeleteComputerPrestage

func (c *Client) DeleteComputerPrestage(prestageID int) error

func (*Client) DeleteDepartment

func (c *Client) DeleteDepartment(name string) error

func (*Client) DeleteDeviceEnrollment

func (c *Client) DeleteDeviceEnrollment(enrollmentID string) error

func (*Client) DeleteDirectoryBindingByID

func (c *Client) DeleteDirectoryBindingByID(id int) error

DeleteDirectoryBindingByID deletes an existing directory binding using the given ID

func (*Client) DeleteDirectoryBindingByName

func (c *Client) DeleteDirectoryBindingByName(name string) error

DeleteDirectoryBindingByName deletes an existing directory binding using the given name

func (*Client) DeleteDiskEncryptionConfigurationByID

func (c *Client) DeleteDiskEncryptionConfigurationByID(id int) error

DeleteDiskEncryptionConfigurationByID deletes a Disk Encryption Configuration by its ID

func (*Client) DeleteDiskEncryptionConfigurationByName

func (c *Client) DeleteDiskEncryptionConfigurationByName(name string) error

DeleteDiskEncryptionConfigurationByName deletes a Disk Encryption Configuration by its name

func (*Client) DeleteDockItemByID

func (c *Client) DeleteDockItemByID(id int) error

DeleteDockItemByID deletes a Dock Item by its ID

func (*Client) DeleteDockItemByName

func (c *Client) DeleteDockItemByName(name string) error

DeleteDockItemByName deletes a Dock Item by its name

func (*Client) DeleteMobileDeviceGroup

func (c *Client) DeleteMobileDeviceGroup(id int) (int, error)

func (*Client) DeletePackage

func (c *Client) DeletePackage(id int) (int, error)

func (*Client) DeletePolicy

func (c *Client) DeletePolicy(id int) (int, error)

func (*Client) DeleteScript

func (c *Client) DeleteScript(id string) (string, error)

func (*Client) DeleteTeamViewerRemoteAdministrationConfiguration

func (c *Client) DeleteTeamViewerRemoteAdministrationConfiguration(id string) error

func (*Client) DoBinaryRequest

func (c *Client) DoBinaryRequest(method, url string, body interface{}, headers map[string]string) ([]byte, error)

DoBinaryRequest sends an HTTP request and returns the raw binary response.

func (*Client) DoPackageUploadRequest

func (c *Client) DoPackageUploadRequest(api, pkgName, pkgPath string, objID int) error

DoPackageUploadRequest as part of jamfUploader

func (*Client) DoRawRequest

func (c *Client) DoRawRequest(api string, params *url.Values) (string, error)

DoRawRequest is a specialized function to handle raw string responses like extracting certificate public keys

func (*Client) DoRequest

func (c *Client) DoRequest(method, api string, reqbody interface{}, params *url.Values, out interface{}) error

doJsonRequest ... A method to send a request to the jamf api

func (*Client) DoRequestDebug

func (c *Client) DoRequestDebug(method, api string, reqbody interface{}, params *url.Values, out interface{}) error

----------------- Debug Request -----------------//

func (*Client) DownloadIconByID

func (c *Client) DownloadIconByID(iconID int, resolution string, scale int) ([]byte, error)

func (*Client) DownloadSelfServiceBrandingImage

func (c *Client) DownloadSelfServiceBrandingImage(imageID string) ([]byte, error)

DownloadSelfServiceBrandingImage downloads the branding image by its ID

func (*Client) GetAccountByID

func (c *Client) GetAccountByID(id int) (*ResponseAccount, error)

GetAccountByID retrieves the Account by its ID

func (*Client) GetAccountByName

func (c *Client) GetAccountByName(name string) (*ResponseAccount, error)

GetAccountByName retrieves the Account by its name

func (*Client) GetAccountGroupByID

func (c *Client) GetAccountGroupByID(id int) (*ResponseAccount, error)

GetAccountGroupByID retrieves the Account Group by its ID

func (*Client) GetAccountGroupByName

func (c *Client) GetAccountGroupByName(name string) (*ResponseAccount, error)

GetAccountGroupByName retrieves the Account Group by its name

func (*Client) GetAccounts

func (c *Client) GetAccounts() (*ResponseAccountsList, error)

GetAccounts retrieves all user accounts

func (*Client) GetActivationCode

func (c *Client) GetActivationCode() (*ActivationCode, error)

func (*Client) GetAllSyncStateForDeviceEnrollmentInstance

func (c *Client) GetAllSyncStateForDeviceEnrollmentInstance() ([]InstanceSyncState, error)

func (*Client) GetAllowedFileExtensionByID

func (c *Client) GetAllowedFileExtensionByID(id int) (*ResponseAllowedFileExtension, error)

GetAllowedFileExtensionByID retrieves the allowed file extension by its ID

func (*Client) GetAllowedFileExtensionByName

func (c *Client) GetAllowedFileExtensionByName(extension string) (*ResponseAllowedFileExtension, error)

GetAllowedFileExtensionByName retrieves the allowed file extension by its name

func (*Client) GetAllowedFileExtensions

func (c *Client) GetAllowedFileExtensions() (*AllowedFileExtensionsList, error)

GetAllAllowedFileExtensions retrieves all allowed file extensions

func (*Client) GetApiIntegrationByID

func (c *Client) GetApiIntegrationByID(integrationID int) (*APIIntegration, error)

func (*Client) GetApiIntegrationByName

func (c *Client) GetApiIntegrationByName(name string) (*APIIntegration, error)

func (*Client) GetApiIntegrationIdByName

func (c *Client) GetApiIntegrationIdByName(name string) (int, error)

func (*Client) GetApiIntegrations

func (c *Client) GetApiIntegrations() (*ResponseAPIIntegration, error)

func (*Client) GetApiRoleByID

func (c *Client) GetApiRoleByID(roleID int) (*APIRole, error)

func (*Client) GetApiRoleByName

func (c *Client) GetApiRoleByName(name string) (*APIRole, error)

func (*Client) GetApiRoleIdByName

func (c *Client) GetApiRoleIdByName(name string) (string, error)

func (*Client) GetApiRolePrivileges

func (c *Client) GetApiRolePrivileges() (*ResponseAPIRolePrivileges, error)

func (*Client) GetApiRoles

func (c *Client) GetApiRoles() (*ResponseAPIRole, error)

func (*Client) GetAppStoreMacApplicationByID

func (c *Client) GetAppStoreMacApplicationByID(id int) (*ResponseAppStoreMacApplication, error)

GetAppStoreMacApplicationByID retrieves the App Store Mac Application by its ID

func (*Client) GetAppStoreMacApplicationByName

func (c *Client) GetAppStoreMacApplicationByName(appName string) (*ResponseAppStoreMacApplication, error)

GetAppStoreMacApplicationByName retrieves the App Store Mac Application by its name

func (*Client) GetAppStoreMacApplications

func (c *Client) GetAppStoreMacApplications() ([]ResponseAppStoreMacApplicationList, error)

GetAppStoreMacApplications retrieves a list of all App Store Mac Applications

func (*Client) GetBuilding

func (c *Client) GetBuilding(id string) (*Building, error)

func (*Client) GetBuildingByName

func (c *Client) GetBuildingByName(name string) (*Building, error)

func (*Client) GetBuildingIdByName

func (c *Client) GetBuildingIdByName(name string) (string, error)

func (*Client) GetBuildings

func (c *Client) GetBuildings() (*ResponseBuildings, error)

func (*Client) GetCSAToken

func (c *Client) GetCSAToken() (*ResponseCSAToken, error)

func (*Client) GetCacheSettings

func (c *Client) GetCacheSettings() (*CacheSettings, error)

func (*Client) GetCategories

func (c *Client) GetCategories() (*ResponseCategories, error)

func (*Client) GetCategory

func (c *Client) GetCategory(id string) (*Category, error)

func (*Client) GetCategoryByName

func (c *Client) GetCategoryByName(name string) (*Category, error)

func (*Client) GetCategoryIdByName

func (c *Client) GetCategoryIdByName(name string) (string, error)

func (*Client) GetClassByID

func (c *Client) GetClassByID(id int) (*ResponseClass, error)

GetClassByID retrieves the Class by its ID

func (*Client) GetClassByName

func (c *Client) GetClassByName(className string) (*ResponseClass, error)

GetClassByName retrieves the Class by its name

func (*Client) GetClasses

func (c *Client) GetClasses() (*ResponseClass, error)

GetClasses retrieves a list of all Classes

func (*Client) GetClientCheckIn

func (c *Client) GetClientCheckIn() (*ResponseClientCheckIn, error)

func (*Client) GetClientCheckInHistory

func (c *Client) GetClientCheckInHistory(page int, pageSize int, sort string, filter string) (*ResponseClientCheckInHistory, error)

func (*Client) GetComputerApplicationByName

func (c *Client) GetComputerApplicationByName(appName string) (*ResponseComputerApplication, error)

GetComputerApplicationByName retrieves the Computer Application by its name.

func (*Client) GetComputerApplicationByNameAndVersion

func (c *Client) GetComputerApplicationByNameAndVersion(appName string, version string) (*ResponseComputerApplication, error)

GetComputerApplicationByNameAndVersion retrieves the Computer Application by its name and version.

func (*Client) GetComputerApplicationByNameAndVersionWithAdditionalDisplayFields

func (c *Client) GetComputerApplicationByNameAndVersionWithAdditionalDisplayFields(appName string, version string, inventory string) (*ResponseComputerApplication, error)

GetComputerApplicationByNameAndVersionWithDisplayFields retrieves the Computer Application by its name and version With additional DisplayFields.

func (*Client) GetComputerApplicationUsageByComputerID

func (c *Client) GetComputerApplicationUsageByComputerID(id string, startDate string, endDate string) (*ResponseComputerApplicationUsage, error)

GetComputerApplicationUsageByComputerID retrieves the Computer Application Usage by its Computer ID.

func (*Client) GetComputerApplicationUsageByComputerMacAddress

func (c *Client) GetComputerApplicationUsageByComputerMacAddress(macAddress string, startDate string, endDate string) (*ResponseComputerApplicationUsage, error)

GetComputerApplicationUsageByComputerMacAddress retrieves the Computer Application Usage by its Computer MAC address.

func (*Client) GetComputerApplicationUsageByComputerName

func (c *Client) GetComputerApplicationUsageByComputerName(name string, startDate string, endDate string) (*ResponseComputerApplicationUsage, error)

GetComputerApplicationUsageByComputerName retrieves the Computer Application Usage by its Computer Name.

func (*Client) GetComputerApplicationUsageByComputerSerialNumber

func (c *Client) GetComputerApplicationUsageByComputerSerialNumber(serialNumber string, startDate string, endDate string) (*ResponseComputerApplicationUsage, error)

GetComputerApplicationUsageByComputerSerialNumber retrieves the Computer Application Usage by its Computer Serial Number.

func (*Client) GetComputerApplicationsByNameWithAdditionalDisplayFields

func (c *Client) GetComputerApplicationsByNameWithAdditionalDisplayFields(appName string, inventory string) (*ResponseComputerApplication, error)

GetComputerApplicationsByNameWithDisplayFields retrieves the Computer Applications by name with additional display fields.

func (*Client) GetComputerByID

func (c *Client) GetComputerByID(id int) (*Computer, error)

func (*Client) GetComputerByUDID

func (c *Client) GetComputerByUDID(udid string) (*Computer, error)

func (*Client) GetComputerConfigurationProfile

func (c *Client) GetComputerConfigurationProfile(id int) (*ComputerConfigurationProfile, error)

func (*Client) GetComputerConfigurationProfileByName

func (c *Client) GetComputerConfigurationProfileByName(name string) (*ComputerConfigurationProfile, error)

func (*Client) GetComputerConfigurationProfileIdByName

func (c *Client) GetComputerConfigurationProfileIdByName(name string) (int, error)

func (*Client) GetComputerConfigurationProfiles

func (c *Client) GetComputerConfigurationProfiles() (*ComputerConfigurationProfileListResponse, error)

func (*Client) GetComputerDataSubsetByID

func (c *Client) GetComputerDataSubsetByID(id int, subset ComputerDataSubsetName) (*Computer, error)

func (*Client) GetComputerDataSubsetByUDID

func (c *Client) GetComputerDataSubsetByUDID(udid string, subset ComputerDataSubsetName) (*Computer, error)

func (*Client) GetComputerExtensionAttribute

func (c *Client) GetComputerExtensionAttribute(id int) (*ComputerExtensionAttribute, error)

func (*Client) GetComputerExtensionAttributeByName

func (c *Client) GetComputerExtensionAttributeByName(name string) (*ComputerExtensionAttribute, error)

func (*Client) GetComputerExtensionAttributes

func (c *Client) GetComputerExtensionAttributes() (*ComputerExtensionAttributeListResponse, error)

func (*Client) GetComputerGroup

func (c *Client) GetComputerGroup(id int) (*ComputerGroup, error)

func (*Client) GetComputerGroupByName

func (c *Client) GetComputerGroupByName(name string) (*ComputerGroup, error)

func (*Client) GetComputerGroupIdByName

func (c *Client) GetComputerGroupIdByName(name string) (int, error)

func (*Client) GetComputerGroups

func (c *Client) GetComputerGroups() (*ComputerGroupsResponse, error)

func (*Client) GetComputerInventories

func (c *Client) GetComputerInventories(query *ComputerInventoriesQuery) (*ComputerInventoriesResponse, error)

func (*Client) GetComputerInventoryByID

func (c *Client) GetComputerInventoryByID(id string, sections ...ComputerInventoryDataSubsetName) (*ComputerInventory, error)

func (*Client) GetComputerInventoryCustomPathCollectionSettings

func (c *Client) GetComputerInventoryCustomPathCollectionSettings() (*ResponseComputerInventoryCollectionSettings, error)

func (*Client) GetComputerInventoryDetailByID

func (c *Client) GetComputerInventoryDetailByID(id string) (*ComputerInventory, error)

func (*Client) GetComputerPrestageByID

func (c *Client) GetComputerPrestageByID(prestageID int) (*computerPrestage, error)

func (*Client) GetComputerPrestageByName

func (c *Client) GetComputerPrestageByName(name string) (*computerPrestage, error)

func (*Client) GetComputerPrestageIdByName

func (c *Client) GetComputerPrestageIdByName(name string) (string, error)

func (*Client) GetComputerPrestages

func (c *Client) GetComputerPrestages() (*ResponseComputerPrestages, error)

func (*Client) GetComputers

func (c *Client) GetComputers() (*ComputersResponse, error)

func (*Client) GetConditionalAccessComplianceStateByDeviceID

func (c *Client) GetConditionalAccessComplianceStateByDeviceID(deviceType string, deviceID int) (*ConditionalAccessDeviceState, error)

func (*Client) GetConditionalAccessComplianceStateByDeviceTypeAndDeviceName

func (c *Client) GetConditionalAccessComplianceStateByDeviceTypeAndDeviceName(deviceType string, deviceName string) (*ConditionalAccessDeviceState, error)

func (*Client) GetConditionalAccessComplianceStateByDeviceTypeAndID

func (c *Client) GetConditionalAccessComplianceStateByDeviceTypeAndID(deviceType string, deviceID int) (*ResponseConditionalAccess, error)

func (*Client) GetConditionalAccessComplianceStateDeviceIdByName

func (c *Client) GetConditionalAccessComplianceStateDeviceIdByName(deviceType string, name string, deviceID int) (string, error)

func (*Client) GetDashboard

func (c *Client) GetDashboard() (*ResponseDashboard, error)

func (*Client) GetDepartment

func (c *Client) GetDepartment(id string) (*Department, error)

func (*Client) GetDepartmentByName

func (c *Client) GetDepartmentByName(name string) (*Department, error)

func (*Client) GetDepartmentIdByName

func (c *Client) GetDepartmentIdByName(name string) (string, error)

func (*Client) GetDepartments

func (c *Client) GetDepartments() (*ResponseDepartments, error)

func (*Client) GetDeviceCommunicationSettings

func (c *Client) GetDeviceCommunicationSettings() (*ResponseDeviceCommunicationSettings, error)

func (*Client) GetDeviceEnrollmentByID

func (c *Client) GetDeviceEnrollmentByID(enrollmentID string) (*DeviceEnrollment, error)

func (*Client) GetDeviceEnrollmentByName

func (c *Client) GetDeviceEnrollmentByName(name string) (*DeviceEnrollment, error)

func (*Client) GetDeviceEnrollmentIdByName

func (c *Client) GetDeviceEnrollmentIdByName(name string) (string, error)

func (*Client) GetDeviceEnrollments

func (c *Client) GetDeviceEnrollments() (*ResponseDeviceEnrollment, error)

func (*Client) GetDevicesAssignedToDeviceEnrollmentID

func (c *Client) GetDevicesAssignedToDeviceEnrollmentID(enrollmentID string) ([]DeviceAssignedToEnrollment, error)

func (*Client) GetDirectoryBindingByID

func (c *Client) GetDirectoryBindingByID(id int) (*ResponseDirectoryBinding, error)

GetDirectoryBindingByID retrieves the Directory Binding by its ID

func (*Client) GetDirectoryBindingByName

func (c *Client) GetDirectoryBindingByName(name string) (*ResponseDirectoryBinding, error)

GetDirectoryBindingByName retrieves the Directory Binding by its name

func (*Client) GetDirectoryBindings

func (c *Client) GetDirectoryBindings() ([]ResponseDirectoryBindingsList, error)

GetDirectoryBindings retrieves all directory bindings

func (*Client) GetDiskEncryptionConfigurationByID

func (c *Client) GetDiskEncryptionConfigurationByID(id int) (*ResponseDiskEncryptionConfiguration, error)

GetDiskEncryptionConfigurationByID retrieves the Disk Encryption Configuration by its ID

func (*Client) GetDiskEncryptionConfigurationByName

func (c *Client) GetDiskEncryptionConfigurationByName(name string) (*ResponseDiskEncryptionConfiguration, error)

GetDiskEncryptionConfigurationByName retrieves the Disk Encryption Configuration by its name

func (*Client) GetDiskEncryptionConfigurations

func (c *Client) GetDiskEncryptionConfigurations() ([]ResponseDiskEncryptionConfigurationsList, error)

GetDiskEncryptionConfigurations retrieves a list of all Disk Encryption Configurations

func (*Client) GetDockItemByID

func (c *Client) GetDockItemByID(id int) (*ResponseDockItem, error)

GetDockItemByID retrieves the Dock Item by its ID

func (*Client) GetDockItemByName

func (c *Client) GetDockItemByName(name string) (*ResponseDockItem, error)

GetDockItemByName retrieves the Dock Item by its name

func (*Client) GetDockItems

func (c *Client) GetDockItems() (*ResponseDockItemsList, error)

GetDockItems retrieves a list of all Dock Items

func (*Client) GetEnrollmentAndReenrollmentSettings

func (c *Client) GetEnrollmentAndReenrollmentSettings() (*ResponseEnrollmentSettings, error)

func (*Client) GetEnrollmentCustomizationByID

func (c *Client) GetEnrollmentCustomizationByID(customizationID string) (*EnrollmentCustomization, error)

func (*Client) GetEnrollmentCustomizationByName

func (c *Client) GetEnrollmentCustomizationByName(name string) (*EnrollmentCustomization, error)

func (*Client) GetEnrollmentCustomizationIdByName

func (c *Client) GetEnrollmentCustomizationIdByName(name string) (string, error)

func (*Client) GetEnrollmentCustomizations

func (c *Client) GetEnrollmentCustomizations() (*ResponseEnrollmentCustomization, error)

func (*Client) GetIconByID

func (c *Client) GetIconByID(iconID int) (*ResponseIcon, error)

func (*Client) GetInventoryInformation

func (c *Client) GetInventoryInformation() (*ResponseInventoryInformation, error)

func (*Client) GetJamfProDeviceEnrollmentPublicKey

func (c *Client) GetJamfProDeviceEnrollmentPublicKey() (string, error)

GetJamfProDeviceEnrollmentPublicKey retrieves the public key for device enrollments.

func (*Client) GetJamfProInformation

func (c *Client) GetJamfProInformation() (*ResponseJamfProInformation, error)

func (*Client) GetJamfProVersion

func (c *Client) GetJamfProVersion() (*ResponseJamfProVersion, error)

func (*Client) GetLatestSyncStateForDeviceEnrollmentInstance

func (c *Client) GetLatestSyncStateForDeviceEnrollmentInstance(enrollmentID string) (*InstanceSyncState, error)

func (*Client) GetLocalAdminPasswordSettings

func (c *Client) GetLocalAdminPasswordSettings() (*ResponseLocalAdminPasswordSettings, error)

func (*Client) GetMobileDeviceGroup

func (c *Client) GetMobileDeviceGroup(id int) (*MobileDeviceGroup, error)

func (*Client) GetMobileDeviceGroupByName

func (c *Client) GetMobileDeviceGroupByName(name string) (*MobileDeviceGroup, error)

func (*Client) GetMobileDeviceGroupIdByName

func (c *Client) GetMobileDeviceGroupIdByName(name string) (int, error)

func (*Client) GetMobileDeviceGroups

func (c *Client) GetMobileDeviceGroups() (*MobileDeviceGroupsResponse, error)

func (*Client) GetPackage

func (c *Client) GetPackage(id int) (*Package, error)

func (*Client) GetPackageByName

func (c *Client) GetPackageByName(name string) (*Package, error)

func (*Client) GetPackageIdByName

func (c *Client) GetPackageIdByName(name string) (int, error)

func (*Client) GetPackages

func (c *Client) GetPackages() (*PackageListResponse, error)

func (*Client) GetPatchPolicy

func (c *Client) GetPatchPolicy(policyID string) (*ResponsePatchPolicy, error)

GetPatchPolicy retrieves the details of a patch policy

func (*Client) GetPatchPolicyDashboardStatus

func (c *Client) GetPatchPolicyDashboardStatus(policyID string) (*PatchPolicyDashboardStatus, error)

GetPatchPolicyDashboardStatus retrieves whether the Patch Policy is on the Dashboard

func (*Client) GetPkgCategoryId

func (c *Client) GetPkgCategoryId(category string) (string, error)

func (*Client) GetPolicies

func (c *Client) GetPolicies() (*PolicyListResponse, error)

func (*Client) GetPolicy

func (c *Client) GetPolicy(id int) (*Policy, error)

func (*Client) GetPolicyByName

func (c *Client) GetPolicyByName(name string) (*Policy, error)

func (*Client) GetPolicyIdByName

func (c *Client) GetPolicyIdByName(name string) (int, error)

func (*Client) GetReEnrollment

func (c *Client) GetReEnrollment() (*ResponseReEnrollment, error)

func (*Client) GetReEnrollmentHistory

func (c *Client) GetReEnrollmentHistory(page, pageSize int, sort string) (*ResponseReEnrollmentHistory, error)

func (*Client) GetSSOCertificate

func (c *Client) GetSSOCertificate() (*SSOCertificateResponse, error)

Get SSO Certificate

func (*Client) GetSSOFailoverSettings

func (c *Client) GetSSOFailoverSettings() (*FailoverResponse, error)

Get JAMF Pro api Failover settings

func (*Client) GetScript

func (c *Client) GetScript(id string) (*Script, error)

func (*Client) GetScriptByName

func (c *Client) GetScriptByName(name string) (*Script, error)

func (*Client) GetScripts

func (c *Client) GetScripts() (*ScriptsListResponse, error)

func (*Client) GetSelfServiceSettings

func (c *Client) GetSelfServiceSettings(exportFilePath string) (*SelfServiceSettings, error)

GetSelfServiceSettings retrieves the Self Service settings.

func (*Client) GetSessionToken

func (c *Client) GetSessionToken(pkgID int) (string, string, string, error)

func (*Client) GetStartupStatus

func (c *Client) GetStartupStatus() (*ResponseStartupStatus, error)

func (*Client) GetTeamViewerRemoteAdminStatus

func (c *Client) GetTeamViewerRemoteAdminStatus(configID string) (*ResponseTeamViewerRemoteAdminStatus, error)

func (*Client) GetTeamViewerRemoteAdministrationConfigurationByID

func (c *Client) GetTeamViewerRemoteAdministrationConfigurationByID(configID string) (*TeamViewerRemoteAdministrationConfiguration, error)

func (*Client) GetTeamViewerRemoteAdministrationConfigurationByName

func (c *Client) GetTeamViewerRemoteAdministrationConfigurationByName(name string) (*TeamViewerRemoteAdministrationConfiguration, error)

func (*Client) GetTeamViewerRemoteAdministrationConfigurationIdByName

func (c *Client) GetTeamViewerRemoteAdministrationConfigurationIdByName(name string) (string, error)

func (*Client) GetTeamViewerRemoteAdministrationConfigurations

func (c *Client) GetTeamViewerRemoteAdministrationConfigurations() (*ResponseTeamViewerRemoteAdministrationConfiguration, error)

func (*Client) GetTeamViewerSessionStatusByID

func (c *Client) GetTeamViewerSessionStatusByID(configurationId string, sessionId string) (*ResponseTeamViewerSessionStatus, error)

func (*Client) GetTimeZoneInformation

func (c *Client) GetTimeZoneInformation() ([]TimeZoneInformation, error)

func (*Client) PostPackage

func (c *Client) PostPackage(pkgName, pkgPath, xAuthToken, pkgUploadURL string) error

func (*Client) RegenerateFailoverURL

func (c *Client) RegenerateFailoverURL() (*FailoverGenerateResponse, error)

Regenerate new JAMF Pro api Failover URL

func (*Client) SearchApiRolePrivileges

func (c *Client) SearchApiRolePrivileges(name string, limit int) (*ResponseAPIRolePrivileges, error)

func (*Client) UpdateAccountByID

func (c *Client) UpdateAccountByID(id int, account *Account) error

UpdateAccountByID updates an existing Jamf Pro Account by ID

func (*Client) UpdateAccountByName

func (c *Client) UpdateAccountByName(name string, account *Account) error

UpdateAccountByName updates an existing Jamf Pro Account by Name

func (*Client) UpdateAccountGroupByID

func (c *Client) UpdateAccountGroupByID(id int, accountGroup *AccountGroup) error

UpdateAccountGroupByID updates an existing Jamf Pro Account Group by ID

func (*Client) UpdateAccountGroupByName

func (c *Client) UpdateAccountGroupByName(name string, accountGroup *AccountGroup) error

UpdateAccountGroupByName updates an existing Jamf Pro Account Group by Name

func (*Client) UpdateActivationCode

func (c *Client) UpdateActivationCode() error

func (*Client) UpdateAllowedFileExtensionByID

func (c *Client) UpdateAllowedFileExtensionByID(id int, extension *AllowedFileExtension) error

UpdateAllowedFileExtensionByID updates an existing allowed file extension by ID

func (*Client) UpdateAllowedFileExtensionByName

func (c *Client) UpdateAllowedFileExtensionByName(extensionName string, extension *ResponseAllowedFileExtension) error

UpdateAllowedFileExtensionByName updates an existing allowed file extension by Name

func (*Client) UpdateApiIntegration

func (c *Client) UpdateApiIntegration(d *APIIntegration) (*APIIntegration, error)

func (*Client) UpdateApiRole

func (c *Client) UpdateApiRole(d *APIRole) (*APIRole, error)

func (*Client) UpdateAppStoreMacApplication

func (c *Client) UpdateAppStoreMacApplication(id int, app *AppStoreMacApplication) (*ResponseAppStoreMacApplication, error)

UpdateAppStoreMacApplication updates an existing App Store Mac Application

func (*Client) UpdateBuilding

func (c *Client) UpdateBuilding(d *Building) (*Building, error)

func (*Client) UpdateCSAToken

func (c *Client) UpdateCSAToken(email string, password string) (*ResponseCSAToken, error)

func (*Client) UpdateCacheSettings

func (c *Client) UpdateCacheSettings(settings *CacheSettings) (*CacheSettings, error)

func (*Client) UpdateCategory

func (c *Client) UpdateCategory(d *Category) (*Category, error)

func (*Client) UpdateClassByID

func (c *Client) UpdateClassByID(id int, class *ResponseClass) error

UpdateClassByID updates an existing Class by ID

func (*Client) UpdateClassByName

func (c *Client) UpdateClassByName(className string, class *ResponseClass) error

UpdateClassByName updates an existing Class by Name

func (*Client) UpdateComputerConfigurationProfile

func (c *Client) UpdateComputerConfigurationProfile(d *ComputerConfigurationProfile) (int, error)

func (*Client) UpdateComputerExtensionAttribute

func (c *Client) UpdateComputerExtensionAttribute(d *ComputerExtensionAttribute) (int, error)

func (*Client) UpdateComputerGroup

func (c *Client) UpdateComputerGroup(d *ComputerGroup) (int, error)

func (*Client) UpdateComputerInventoryDetailByID

func (c *Client) UpdateComputerInventoryDetailByID(id string, computer ComputerInventory) (*ComputerInventory, error)

func (*Client) UpdateComputerPrestage

func (c *Client) UpdateComputerPrestage(d *computerPrestage) (*computerPrestage, error)

func (*Client) UpdateDepartment

func (c *Client) UpdateDepartment(d *Department) (*Department, error)

func (*Client) UpdateDeviceCommunicationSettings

func (c *Client) UpdateDeviceCommunicationSettings(
	autoRenewMobileDeviceMdmProfileWhenCaRenewed *bool,
	autoRenewMobileDeviceMdmProfileWhenDeviceIdentityCertExpiring *bool,
	autoRenewComputerMdmProfileWhenCaRenewed *bool,
	autoRenewComputerMdmProfileWhenDeviceIdentityCertExpiring *bool,
	mdmProfileMobileDeviceExpirationLimitInDays *int,
	mdmProfileComputerExpirationLimitInDays *int) (*ResponseDeviceCommunicationSettings, error)

func (*Client) UpdateDeviceEnrollment

func (c *Client) UpdateDeviceEnrollment(d *DeviceEnrollment) (*DeviceEnrollment, error)

func (*Client) UpdateDeviceEnrollmentInstanceWithToken

func (c *Client) UpdateDeviceEnrollmentInstanceWithToken(enrollmentID string, tokenFileName string, encodedToken string) (*DeviceEnrollment, error)

UpdateDeviceEnrollmentInstanceWithToken updates a device enrollment instance with the provided token.

func (*Client) UpdateDirectoryBindingByID

func (c *Client) UpdateDirectoryBindingByID(id int, binding *DirectoryBinding) error

UpdateDirectoryBindingByID updates an existing directory binding using the given ID

func (*Client) UpdateDirectoryBindingByName

func (c *Client) UpdateDirectoryBindingByName(name string, binding *DirectoryBinding) error

UpdateDirectoryBindingByName updates an existing directory binding using the given name

func (*Client) UpdateDiskEncryptionConfigurationByID

func (c *Client) UpdateDiskEncryptionConfigurationByID(id int, config *DiskEncryptionConfiguration) error

UpdateDiskEncryptionConfigurationByID updates an existing Disk Encryption Configuration by its ID

func (*Client) UpdateDiskEncryptionConfigurationByName

func (c *Client) UpdateDiskEncryptionConfigurationByName(name string, config *DiskEncryptionConfiguration) error

UpdateDiskEncryptionConfigurationByName updates an existing Disk Encryption Configuration by its name

func (*Client) UpdateDockItemById

func (c *Client) UpdateDockItemById(id int, item *DockItem) (*ResponseDockItem, error)

UpdateDockItem updates an existing Dock Item By Id

func (*Client) UpdateDockItemByName

func (c *Client) UpdateDockItemByName(name string, item *DockItem) (*ResponseDockItem, error)

UpdateDockItemByName updates an existing Dock Item by its name

func (*Client) UpdateEnrollmentAndReenrollmentSettings

func (c *Client) UpdateEnrollmentAndReenrollmentSettings(settings *ResponseEnrollmentSettings) (*ResponseEnrollmentSettings, error)

func (*Client) UpdateLocalAdminPasswordSettings

func (c *Client) UpdateLocalAdminPasswordSettings(settings *ResponseLocalAdminPasswordSettings) (*ResponseLocalAdminPasswordSettings, error)

func (*Client) UpdateMobileDeviceGroup

func (c *Client) UpdateMobileDeviceGroup(d *MobileDeviceGroup) (int, error)

func (*Client) UpdatePackage

func (c *Client) UpdatePackage(d *Package) (int, error)

func (*Client) UpdatePackageMetadata

func (c *Client) UpdatePackageMetadata(pkgName, pkgDisplayName string, pkgMetadata map[string]string, hashValue string, pkgId int) error

func (*Client) UpdatePolicy

func (c *Client) UpdatePolicy(d *Policy) (int, error)

func (*Client) UpdateReEnrollment

func (c *Client) UpdateReEnrollment(d *ResponseReEnrollment) (*ResponseReEnrollment, error)

func (*Client) UpdateScript

func (c *Client) UpdateScript(d *Script) (*Script, error)

func (*Client) UpdateSelfServiceSettings

func (c *Client) UpdateSelfServiceSettings(settings *SelfServiceSettings) (*SelfServiceSettings, error)

UpdateSelfServiceSettings updates the Self Service settings.

func (*Client) UpdateTeamViewerRemoteAdministrationConfiguration

func (c *Client) UpdateTeamViewerRemoteAdministrationConfiguration(id string, config UpdateTeamViewerConfiguration) (*TeamViewerRemoteAdministrationConfiguration, error)

func (*Client) UpdateclientCheckIn

func (c *Client) UpdateclientCheckIn(d *ResponseClientCheckIn) (*ResponseClientCheckIn, error)

func (*Client) UploadBrandingImage

func (c *Client) UploadBrandingImage(imageName string, imageData []byte) error

UploadBrandingImage uploads a branding image to the Jamf Pro server.

func (*Client) UploadIcon

func (c *Client) UploadIcon(filePath string) (*ResponseIcon, error)

func (*Client) UploadPackage

func (c *Client) UploadPackage(pkgName, pkgPath string, objID int) error

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 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 ComputerConfigurationProfile

type ComputerConfigurationProfile struct {
	General     ComputerConfigurationProfileGeneral     `xml:"general"`
	Scope       ComputerConfigurationProfileScope       `xml:"scope"`
	SelfService ComputerConfigurationProfileSelfService `xml:"self_service,omitempty"`
}

type ComputerConfigurationProfileGeneral

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

type ComputerConfigurationProfileListItem

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

type ComputerConfigurationProfileListResponse

type ComputerConfigurationProfileListResponse struct {
	Size    int                                    `xml:"size"`
	Results []ComputerConfigurationProfileListItem `xml:"os_x_configuration_profile"`
}

type ComputerConfigurationProfileScope

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

type ComputerConfigurationProfileScopeExclusions

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

type ComputerConfigurationProfileScopeLimitations

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

type ComputerConfigurationProfileSelfService

type ComputerConfigurationProfileSelfService struct {
	SelfServiceDisplayName      string                `xml:"self_service_display_name,omitempty"`
	InstallButtonText           string                `xml:"install_button_text,omitempty"`
	SelfServiceDescription      string                `xml:"self_service_description,omitempty"`
	ForceUsersToViewDescription bool                  `xml:"force_users_to_view_description,omitempty"`
	RemovalDisallowed           string                `xml:"security>removal_disallowed,omitempty"`
	SelfServiceIcon             SelfServiceIcon       `xml:"self_service_icon,omitempty,omitempty"`
	FeatureOnMainPage           bool                  `xml:"feature_on_main_page,omitempty"`
	SelfServiceCategories       []SelfServiceCategory `xml:"self_service_categories>category,omitempty,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 []ComputerConfigurationProfileListItem `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 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 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 CustomPathCreation

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

type Department

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

func (*Department) GetId

func (d *Department) GetId() string

func (*Department) GetName

func (d *Department) GetName() string

func (*Department) SetId

func (d *Department) SetId(v string)

Departments

func (*Department) SetName

func (d *Department) SetName(v string)

type DepartmentScope

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

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 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 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 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 Error

type Error interface {
	Error() string
	StatusCode() int
	URI() string
	Body() string
}

type ErrorDetail

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

type ErrorMessage

type ErrorMessage struct {
	Code        string `json:"code"`
	Field       string `json:"field"`
	Description string `json:"description"`
	ID          string `json:"id"`
}

type ErrorResponse

type ErrorResponse struct {
	HTTPStatus int            `json:"httpStatus"`
	Errors     []ErrorMessage `json:"errors"`
}

type FailoverGenerateResponse

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

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 Groups

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

type IBeaconScope

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

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 InventoryPath

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

type JamfPackageUploader

type JamfPackageUploader struct {
	Client             *Client
	Description        string
	PkgName            string
	PkgDisplayName     string
	PkgPath            string
	Version            string
	PkgCategory        string
	PkgInfo            string
	PkgNotes           string
	PkgPriority        string
	RebootRequired     string
	OSRequirements     string
	RequiredProcessor  string
	SendNotification   string
	ReplacePkg         string
	JCDSMode           string
	ReplacePkgMetadata string
	SkipMetadataUpload string
	JSSURL             string
	APIUsername        string
	APIPassword        string
	CloudDP            bool
	SMBURL             string
	SMBUsername        string
	SMBPassword        string
	SMBShares          []map[string]string
	Sleep              int
	PkgMetadata        map[string]string
}

func (*JamfPackageUploader) CheckLocalPkg

func (j *JamfPackageUploader) CheckLocalPkg(mountShare string, pkgName string) string

func (*JamfPackageUploader) CopyPkg

func (j *JamfPackageUploader) CopyPkg(mountShare string, pkgPath string, pkgName string)

func (*JamfPackageUploader) MountSMB

func (j *JamfPackageUploader) MountSMB(mountShare string, mountUser string, mountPass string) error

func (*JamfPackageUploader) Sha512Sum

func (j *JamfPackageUploader) Sha512Sum(filename string) (string, error)

func (*JamfPackageUploader) UmountSMB

func (j *JamfPackageUploader) UmountSMB(mountShare string)

func (*JamfPackageUploader) ZipPkgPath

func (j *JamfPackageUploader) ZipPkgPath(bundlePath string, recipeCacheDir string) string

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 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 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 NetworkSegmentScope

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

type OutputVariables

type OutputVariables struct {
	PkgPath                          string
	PkgName                          string
	PkgUploaded                      bool
	JamfPackageUploaderSummaryResult string
}

type Package

type Package struct {
	ID                 int    `xml:"id"`
	Name               string `xml:"name"`
	CategoryName       string `xml:"category"`
	Filename           string `xml:"filename"`
	Info               string `xml:"info"`
	Notes              string `xml:"notes"`
	RebootRequired     bool   `xml:"reboot_required"`
	Priority           int    `xml:"priority"`
	FillExistingUsers  bool   `xml:"fill_existing_users"`
	BootVolumeRequired bool   `xml:"boot_volume_required"`
	AllowUninstalled   bool   `xml:"allow_uninstalled"`
	OsRequirements     string `xml:"os_requirements"`
	RequiredProcessor  string `xml:"required_processor"`
	HashType           string `xml:"hash_type,omitempty"`
	HashValue          string `xml:"hash_value,omitempty"`
}

type PackageListItem

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

type PackageListResponse

type PackageListResponse struct {
	Size    int               `xml:"size"`
	Results []PackageListItem `xml:"package"`
}

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 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 Privilege

type Privilege struct {
	Privilege string `json:"privilege,omitempty" xml:",chardata"`
}

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 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"`
	PasswordSHA256      string                      `json:"password_sha256,omitempty" xml:"password_sha256,omitempty"`
	Enabled             string                      `json:"enabled,omitempty" xml:"enabled,omitempty"`
	ForcePasswordChange bool                        `json:"force_password_change,omitempty" xml:"force_password_change,omitempty"`
	AccessLevel         string                      `json:"access_level,omitempty" xml:"access_level,omitempty"`
	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"`
	Groups              []AccountDataSubsetGroup    `json:"groups,omitempty" xml:"groups>group,omitempty"`
}

Account Response structure

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"`
}

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 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 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 ResponseDepartments

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

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 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 ResponseLocalAdminPasswordSettings

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

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 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 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 SSOCertificateResponse

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

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 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 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 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 UpdateTeamViewerConfiguration

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

type UserGroupScope

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

type UserScope

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

type Users

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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