jamfpro

package module
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2023 License: MIT, GPL-3.0 Imports: 28 Imported by: 0

README ¶

Jamf API Client SDK in Go

Install

If you don't have a project yet and you're just trying to experiment with the package, you can create a new directory, initialize a new Go module there, and then try to fetch the dependency:

mkdir myproject
cd myproject
go mod init myproject
go get github.com/deploymenttheory/go-jamfpro-api@latest

to add module requirements and sums:

go mod tidy
package main

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

func main() {
	// Credentials and URL for Jamf API
	username := "your-jamf-api-account"
	password := "your-jamf-api-account-password"
	url := "your-jamf-instance" // e.g., "yourcompany.jamfcloud.com"

	// Set up the configuration for the Jamf Pro API client
	cfg := jamf.Config{
		AuthMethod: jamf.BasicAuthConfig{
			Username: username,
			Password: password,
		},
		URL:              url,
		HTTPClient:       &http.Client{},
		HttpRetryTimeout: 30 * time.Second, // Optional, defaults to 10 seconds if not defined

	}
}	

Usage

sample code: examples

Get auth token in curl

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

Go SDK for Jamf Pro API Progress Tracker

Endpoint 1 (e.g., /users)

  • Create
  • Read
  • Update
  • Delete

Endpoint 2 (e.g., /computers)

  • Create
  • Read
  • Update
  • Delete

... (repeat for each endpoint)

Documentation ¶

Overview ¶

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

request.go Provides functions to interact with the Jamf API.

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 Base64Encode ¶ added in v0.0.3

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

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

func Base64EncodeCertificate ¶

func Base64EncodeCertificate(certPath string) (string, error)

func DumpRequestToFile ¶

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

DumpRequestToFile dumps the given request to a specified file.

func GetImageContentType ¶ added in v0.0.3

func GetImageContentType(filePath string) string

GetImageContentType determines the content type based on file extension

func PrettyPrintStruct ¶ added in v0.0.3

func PrettyPrintStruct(v interface{}) string

PrettyPrintStruct prints the structure in a pretty format

func PrintRequestHeaders ¶

func PrintRequestHeaders(req *http.Request)

Print request headers for troubleshooting

func UnmarshalJSONData ¶

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

UnmarshalJSONData unmarshals binary data into the given output structure.

Types ¶

type APIIntegration ¶

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

type APIRole ¶

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

type APIRoleUpdateRequest ¶

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

type AccountDataSubsetGroup ¶

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

type AccountDataSubsetLdapServer ¶ added in v0.0.3

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

type AccountDataSubsetPrivileges ¶

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

type AccountDataSubsetSite ¶

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

type AccountDataSubsetUser ¶

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

type AccountUser ¶

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

type ActivationCode ¶

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

type AllowedFileExtension ¶

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

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

type AllowedFileExtensionsList ¶

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

Response structure for the list of allowed file extensions

type AppStoreMacApplication ¶

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

type AppStoreMacApplicationDataSubsetBuilding ¶

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

type AppStoreMacApplicationDataSubsetComputer ¶

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

type AppStoreMacApplicationDataSubsetComputerGroup ¶

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

type AppStoreMacApplicationDataSubsetDepartment ¶

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

type AppStoreMacApplicationDataSubsetIDName ¶

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

Shared inner structs for reusability

type AppStoreMacApplicationDataSubsetJSSUser ¶

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

type AppStoreMacApplicationDataSubsetJSSUserGroup ¶

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

type AppStoreMacApplicationDataSubsetSelfServiceCategory ¶

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

type AppStoreMacApplicationDataSubsetSelfServiceIcon ¶

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

Tier 3 - Self Service section

type AppStoreMacApplicationDataSubsetVPP ¶

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

Tier 3 - VPP section

type Authenticator ¶ added in v0.0.3

type Authenticator interface {
	Authenticate(c *Client) error
}

type BasicAuthConfig ¶ added in v0.0.3

type BasicAuthConfig struct {
	Username string
	Password string
}

func (BasicAuthConfig) Authenticate ¶ added in v0.0.3

func (b BasicAuthConfig) Authenticate(c *Client) error

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 {
	HttpClient       *http.Client
	HttpRetryTimeout time.Duration
	ExtraHeader      map[string]string
	// contains filtered or unexported fields
}

func NewClient ¶

func NewClient(cfg Config) (*Client, error)

func (*Client) AddNoteToCheckInHistory ¶

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

func (*Client) CheckExistingPackageInJCDS ¶ added in v0.0.3

func (c *Client) CheckExistingPackageInJCDS(pkgName string, pkgPath string) (bool, error)

func (*Client) CheckExistingPackageInJamfPro ¶ added in v0.0.3

func (c *Client) CheckExistingPackageInJamfPro(idOrName string) (*ResponsePackage, error)

func (*Client) CloseTeamViewerSession ¶

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

func (*Client) CreateAccount ¶

func (c *Client) CreateAccount(account *ResponseAccount) (*ResponseAccount, error)

CreateAccount creates a new Jamf Pro Account.

func (*Client) CreateAccountGroup ¶

func (c *Client) CreateAccountGroup(accountGroup *ResponseAccountGroup) (*ResponseAccountGroup, 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) 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) CreateIbeacon ¶ added in v0.0.3

func (c *Client) CreateIbeacon(ibeacon *ResponseIbeacon) (*ResponseIbeacon, error)

CreateIbeacon creates a new iBeacon configuration.

func (*Client) CreateLdapServer ¶ added in v0.0.3

func (c *Client) CreateLdapServer(server *ResponseLdapServer) (*ResponseLdapServer, error)

CreateLdapServer creates a new LDAP server configuration.

func (*Client) CreateLicensedSoftware ¶ added in v0.0.3

func (c *Client) CreateLicensedSoftware(software *ResponseLicensedSoftware) (*ResponseLicensedSoftware, error)

CreateLicensedSoftware creates a new Licensed Software

func (*Client) CreateMacOSConfigurationProfile ¶ added in v0.0.3

func (c *Client) CreateMacOSConfigurationProfile(profile *ResponseMacOSConfigurationProfile) (*ResponseMacOSConfigurationProfile, error)

CreateMacOSConfigurationProfile creates a new macOS Configuration Profile

func (*Client) CreateManagedPreferenceProfile ¶ added in v0.0.3

func (c *Client) CreateManagedPreferenceProfile(profile *ResponseManagedPreferenceProfile) (*ResponseManagedPreferenceProfile, error)

CreateManagedPreferenceProfile creates a new Managed Preference Profile

func (*Client) CreateMobileDeviceGroup ¶

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

func (*Client) CreateNetworkSegment ¶ added in v0.0.3

func (c *Client) CreateNetworkSegment(segment *ResponseNetworkSegment) (*ResponseNetworkSegment, error)

CreateNetworkSegment creates a new Network Segment

func (*Client) CreatePackage ¶

func (c *Client) CreatePackage(pkg *ResponsePackage) (*ResponsePackage, error)

CreatePackage creates a new Jamf Pro Package.

func (*Client) CreatePolicy ¶

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

func (*Client) CreatePrinter ¶ added in v0.0.3

func (c *Client) CreatePrinter(printer *ResponsePrinter) (*ResponsePrinter, error)

CreatePrinter creates a new Jamf Pro Printer.

func (*Client) CreateRestrictedSoftware ¶ added in v0.0.3

func (c *Client) CreateRestrictedSoftware(software *ResponseRestrictedSoftware) (*ResponseRestrictedSoftware, error)

CreateRestrictedSoftware creates a new Jamf Pro Restricted Software.

func (*Client) CreateScript ¶

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

func (*Client) CreateSmartUserGroup ¶ added in v0.0.3

func (c *Client) CreateSmartUserGroup(group *ResponseUserGroup) (*ResponseUserGroup, error)

CreateSmartUserGroup creates a new Smart User Group

func (*Client) CreateStaticUserGroup ¶ added in v0.0.3

func (c *Client) CreateStaticUserGroup(group *ResponseUserGroup) (*ResponseUserGroup, error)

CreateStaticUserGroup creates a new Static User Group

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) CreateUser ¶ added in v0.0.3

func (c *Client) CreateUser(user *ResponseUser) (*ResponseUser, error)

CreateUser creates a new User

func (*Client) CreateVolumePurchasingSubscription ¶ added in v0.0.3

func (c *Client) CreateVolumePurchasingSubscription(subscription *VolumePurchasingSubscription) (*ResponseVolumePurchasingSubscription, error)

CreateVolumePurchasingSubscription creates a new Volume Purchasing Subscription

func (*Client) CreateWebhook ¶ added in v0.0.3

func (c *Client) CreateWebhook(webhook *ResponseWebhook) (*ResponseWebhook, error)

CreateWebhook creates a new Jamf Pro Webhook.

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) 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) DeleteIbeaconById ¶ added in v0.0.3

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

DeleteIbeaconById deletes an existing iBeacon configuration by its ID.

func (*Client) DeleteIbeaconByName ¶ added in v0.0.3

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

DeleteIbeaconByName deletes an existing iBeacon configuration by its name.

func (*Client) DeleteLdapServerById ¶ added in v0.0.3

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

DeleteLdapServerById deletes an existing LDAP server configuration by its ID.

func (*Client) DeleteLdapServerByName ¶ added in v0.0.3

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

DeleteLdapServerByName deletes an existing LDAP server configuration by its name.

func (*Client) DeleteLicensedSoftwareById ¶ added in v0.0.3

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

DeleteLicensedSoftwareById deletes an existing Licensed Software by its ID

func (*Client) DeleteLicensedSoftwareByName ¶ added in v0.0.3

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

DeleteLicensedSoftwareByName deletes an existing Licensed Software by its name

func (*Client) DeleteMacOSConfigurationProfileById ¶ added in v0.0.3

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

DeleteMacOSConfigurationProfileById deletes an existing macOS Configuration Profile by its ID

func (*Client) DeleteMacOSConfigurationProfileByName ¶ added in v0.0.3

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

DeleteMacOSConfigurationProfileByName deletes an existing macOS Configuration Profile by its name

func (*Client) DeleteManagedPreferenceProfileById ¶ added in v0.0.3

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

DeleteManagedPreferenceProfileById deletes an existing Managed Preference Profile by its ID

func (*Client) DeleteManagedPreferenceProfileByName ¶ added in v0.0.3

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

DeleteManagedPreferenceProfileByName deletes an existing Managed Preference Profile by its name

func (*Client) DeleteMobileDeviceGroup ¶

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

func (*Client) DeleteNetworkSegmentById ¶ added in v0.0.3

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

DeleteNetworkSegmentById deletes an existing Network Segment by its ID

func (*Client) DeleteNetworkSegmentByName ¶ added in v0.0.3

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

DeleteNetworkSegmentByName deletes an existing Network Segment by its name

func (*Client) DeletePackageByID ¶ added in v0.0.3

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

DeletePackageByID deletes an existing Jamf Pro Package by ID.

func (*Client) DeletePackageByName ¶ added in v0.0.3

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

DeletePackageByName deletes an existing Jamf Pro Package by Name.

func (*Client) DeletePolicy ¶

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

func (*Client) DeletePrinterByID ¶ added in v0.0.3

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

DeletePrinterByID deletes an existing Jamf Pro Printer by ID.

func (*Client) DeletePrinterByName ¶ added in v0.0.3

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

DeletePrinterByName deletes an existing Jamf Pro Printer by Name.

func (*Client) DeleteRestrictedSoftwareByID ¶ added in v0.0.3

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

DeleteRestrictedSoftwareByID deletes an existing Jamf Pro Restricted Software by ID.

func (*Client) DeleteRestrictedSoftwareByName ¶ added in v0.0.3

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

DeleteRestrictedSoftwareByName deletes an existing Jamf Pro Restricted Software by Name.

func (*Client) DeleteScript ¶

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

func (*Client) DeleteTeamViewerRemoteAdministrationConfiguration ¶

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

func (*Client) DeleteUserById ¶ added in v0.0.3

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

DeleteUserById deletes an existing User by its ID

func (*Client) DeleteUserByName ¶ added in v0.0.3

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

DeleteUserByName deletes an existing User by its Name

func (*Client) DeleteWebhookByID ¶ added in v0.0.3

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

DeleteWebhookByID deletes an existing Jamf Pro Webhook by ID.

func (*Client) DeleteWebhookByName ¶ added in v0.0.3

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

DeleteWebhookByName deletes an existing Jamf Pro Webhook by Name.

func (*Client) DoRawRequest ¶

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

DoRawRequest sends a GET request to the specified API endpoint and returns the raw string response. This function is specialized for handling 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

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

DoRequestDebug provides complete debugging information during the request-response cycle. It uses createRequestDebug to create and log the request, then handles the HTTP call and response logging any necessary debugging information.

func (*Client) DownloadSelfServiceBrandingImage ¶

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

DownloadSelfServiceBrandingImage downloads the branding image by its ID

func (*Client) DownloadSelfServiceIconByID ¶ added in v0.0.3

func (c *Client) DownloadSelfServiceIconByID(iconID int, res string, scale string) ([]byte, error)

DownloadSelfServiceIconByID downloads an icon by its ID and returns the icon's binary data.

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) (*ResponseAccountGroup, error)

GetAccountGroupByID retrieves the Account Group by its ID

func (*Client) GetAccountGroupByName ¶

func (c *Client) GetAccountGroupByName(name string) (*ResponseAccountGroup, 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) 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) GetIbeaconByID ¶ added in v0.0.3

func (c *Client) GetIbeaconByID(id int) (*ResponseIbeacon, error)

GetIbeaconByID retrieves the iBeacon configuration by its ID.

func (*Client) GetIbeaconByName ¶ added in v0.0.3

func (c *Client) GetIbeaconByName(name string) (*ResponseIbeacon, error)

GetIbeaconByName retrieves the iBeacon configuration by its Name.

func (*Client) GetIbeacons ¶ added in v0.0.3

func (c *Client) GetIbeacons() (*ResponseIbeaconList, error)

GetIbeacons retrieves all iBeacon configurations.

func (*Client) GetIconByID ¶

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

func (*Client) GetInventoryInformation ¶

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

func (*Client) GetJamfPackageV1 ¶ added in v0.0.3

func (c *Client) GetJamfPackageV1(application string) ([]JamfPackageV1, error)

GetJamfPackageV1 retrieves the packages for a given Jamf application using v1 API

func (*Client) GetJamfPackageV2 ¶ added in v0.0.3

func (c *Client) GetJamfPackageV2(application string) (JamfPackageV2, error)

GetJamfPackageV2 retrieves the packages for a given Jamf application using v2 API

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) GetLdapServerByID ¶ added in v0.0.3

func (c *Client) GetLdapServerByID(id int) (*ResponseLdapServer, error)

GetLdapServerByID retrieves the LDAP server configuration by its ID.

func (*Client) GetLdapServerByName ¶ added in v0.0.3

func (c *Client) GetLdapServerByName(name string) (*ResponseLdapServer, error)

GetLdapServerByName retrieves the LDAP server configuration by its Name.

func (*Client) GetLdapServers ¶ added in v0.0.3

func (c *Client) GetLdapServers() (*ResponseLdapServerList, error)

GetLdapServers retrieves all LDAP server configurations.

func (*Client) GetLicensedSoftwareByID ¶ added in v0.0.3

func (c *Client) GetLicensedSoftwareByID(id int) (*ResponseLicensedSoftware, error)

GetLicensedSoftwareByID retrieves the Licensed Software by its ID

func (*Client) GetLicensedSoftwareByName ¶ added in v0.0.3

func (c *Client) GetLicensedSoftwareByName(name string) (*ResponseLicensedSoftware, error)

GetLicensedSoftwareByName retrieves the Licensed Software by its Name

func (*Client) GetLicensedSoftwares ¶ added in v0.0.3

func (c *Client) GetLicensedSoftwares() (*ResponseLicensedSoftwareList, error)

GetLicensedSoftwares retrieves all Licensed Softwares

func (*Client) GetLocalAdminPasswordSettings ¶

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

func (*Client) GetMacOSConfigurationProfileByID ¶ added in v0.0.3

func (c *Client) GetMacOSConfigurationProfileByID(id int) (*ResponseMacOSConfigurationProfile, error)

GetMacOSConfigurationProfileByID retrieves the macOS ConfigurationProfile by its ID

func (*Client) GetMacOSConfigurationProfileByName ¶ added in v0.0.3

func (c *Client) GetMacOSConfigurationProfileByName(name string) (*ResponseMacOSConfigurationProfile, error)

GetMacOSConfigurationProfileByName retrieves the macOS ConfigurationProfile by its Name

func (*Client) GetMacOSConfigurationProfileIdAndDataSubset ¶ added in v0.0.3

func (c *Client) GetMacOSConfigurationProfileIdAndDataSubset(id int, subsets ...string) (*ResponseMacOSConfigurationProfile, error)

GetMacOSConfigurationProfileByDataSubset retrieves all macOS ConfigurationProfiles by data subset

func (*Client) GetMacOSConfigurationProfileNameAndDataSubset ¶ added in v0.0.3

func (c *Client) GetMacOSConfigurationProfileNameAndDataSubset(name string, subsets ...string) (*ResponseMacOSConfigurationProfile, error)

GetMacOSConfigurationProfileNameAndDataSubset retrieves macOS ConfigurationProfile by its Name and subset

func (*Client) GetMacOSConfigurationProfiles ¶ added in v0.0.3

func (c *Client) GetMacOSConfigurationProfiles() (*ResponseMacOSConfigurationProfileList, error)

GetMacOSConfigurationProfiles retrieves all macOS ConfigurationProfiles

func (*Client) GetManagedPreferenceProfileByID ¶ added in v0.0.3

func (c *Client) GetManagedPreferenceProfileByID(id int) (*ResponseManagedPreferenceProfile, error)

GetManagedPreferenceProfileByID retrieves the Managed Preference Profile by its ID

func (*Client) GetManagedPreferenceProfileByIDWithSubset ¶ added in v0.0.3

func (c *Client) GetManagedPreferenceProfileByIDWithSubset(id int, subset string) (*ResponseManagedPreferenceProfile, error)

GetManagedPreferenceProfileByIDWithSubset retrieves the Managed Preference Profile by its ID with data subset

func (*Client) GetManagedPreferenceProfileByName ¶ added in v0.0.3

func (c *Client) GetManagedPreferenceProfileByName(name string) (*ResponseManagedPreferenceProfile, error)

GetManagedPreferenceProfileByName retrieves the Managed Preference Profile by its Name

func (*Client) GetManagedPreferenceProfileByNameWithSubset ¶ added in v0.0.3

func (c *Client) GetManagedPreferenceProfileByNameWithSubset(name, subset string) (*ResponseManagedPreferenceProfile, error)

GetManagedPreferenceProfileByNameWithSubset retrieves the Managed Preference Profile by its Name with data subset

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) GetNetworkSegmentByID ¶ added in v0.0.3

func (c *Client) GetNetworkSegmentByID(id int) (*ResponseNetworkSegment, error)

GetNetworkSegmentByID retrieves the Network Segment by its ID

func (*Client) GetNetworkSegmentByName ¶ added in v0.0.3

func (c *Client) GetNetworkSegmentByName(name string) (*ResponseNetworkSegment, error)

GetNetworkSegmentByName retrieves the Network Segment by its Name

func (*Client) GetNetworkSegments ¶ added in v0.0.3

func (c *Client) GetNetworkSegments() (*NetworkSegmentList, error)

GetNetworkSegments retrieves all Network Segments

func (*Client) GetPackageByID ¶ added in v0.0.3

func (c *Client) GetPackageByID(id int) (*ResponsePackage, error)

GetPackageByID gets a package by it's id

func (*Client) GetPackageByName ¶

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

GetPackageByName gets a package by it's name

func (*Client) GetPackageIDByName ¶ added in v0.0.3

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

GetPackageIDByName retrieves the ID of a package by its name.

func (*Client) GetPackageNameByID ¶ added in v0.0.3

func (c *Client) GetPackageNameByID(id int) (string, error)

GetPackageNameByID retrieves the name of a package by its ID.

func (*Client) GetPackageUploadCredentials ¶ added in v0.0.3

func (c *Client) GetPackageUploadCredentials() (*JCDSUploadCredentials, error)

func (*Client) GetPackages ¶

func (c *Client) GetPackages() ([]ResponsePackagesList, error)

GetPackages gets a list of all packages

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) 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) GetPrinterByID ¶ added in v0.0.3

func (c *Client) GetPrinterByID(id int) (*ResponsePrinter, error)

GetPrinterByID gets a printer by its id

func (*Client) GetPrinterByName ¶ added in v0.0.3

func (c *Client) GetPrinterByName(name string) (*ResponsePrinter, error)

GetPrinterByName gets a printer by its name

func (*Client) GetPrinters ¶ added in v0.0.3

func (c *Client) GetPrinters() ([]ResponsePrintersList, error)

GetPrinters gets a list of all printers

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) GetRestrictedSoftwareByID ¶ added in v0.0.3

func (c *Client) GetRestrictedSoftwareByID(id int) (*ResponseRestrictedSoftware, error)

GetRestrictedSoftwareByID gets a restricted software by its id

func (*Client) GetRestrictedSoftwareByName ¶ added in v0.0.3

func (c *Client) GetRestrictedSoftwareByName(name string) (*ResponseRestrictedSoftware, error)

GetRestrictedSoftwareByName gets a restricted software by its name

func (*Client) GetRestrictedSoftwares ¶ added in v0.0.3

func (c *Client) GetRestrictedSoftwares() ([]ResponseRestrictedSoftwareList, error)

GetRestrictedSoftwares gets a list of all restricted softwares

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) GetStartupStatus ¶

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

func (*Client) GetTeacherAppSettings ¶ added in v0.0.3

func (c *Client) GetTeacherAppSettings() (*JamfTeacherAppSettings, error)

GetTeacherAppSettings retrieves the Jamf Teacher app settings

func (*Client) GetTeacherAppSettingsHistory ¶ added in v0.0.3

func (c *Client) GetTeacherAppSettingsHistory(page, pageSize int, sort, filter string) (*TeacherAppHistoryResponse, error)

GetTeacherAppSettingsHistory retrieves the Jamf Teacher app settings history

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) GetUserByEmail ¶ added in v0.0.3

func (c *Client) GetUserByEmail(email string) (*ResponseUsers, error)

GetUserByEmail retrieves the User by its email address

func (*Client) GetUserByID ¶ added in v0.0.3

func (c *Client) GetUserByID(id int) (*ResponseUser, error)

GetUserByID retrieves the User by its ID

func (*Client) GetUserByName ¶ added in v0.0.3

func (c *Client) GetUserByName(name string) (*ResponseUser, error)

GetUserByName retrieves the User by its Name

func (*Client) GetUserGroupByID ¶ added in v0.0.3

func (c *Client) GetUserGroupByID(id int) (*ResponseUserGroup, error)

GetUserGroupByID retrieves the User Group by its ID

func (*Client) GetUserGroupByName ¶ added in v0.0.3

func (c *Client) GetUserGroupByName(name string) (*ResponseUserGroup, error)

GetUserGroupByName retrieves the User Group by its Name

func (*Client) GetUserGroups ¶ added in v0.0.3

func (c *Client) GetUserGroups() ([]ResponseUserGroup, error)

GetUserGroups retrieves all User Groups

func (*Client) GetUsers ¶ added in v0.0.3

func (c *Client) GetUsers() (*ResponseUserList, error)

GetUsers retrieves all Users

func (*Client) GetVolumePurchasingSubscriptionByID ¶ added in v0.0.3

func (c *Client) GetVolumePurchasingSubscriptionByID(id int) (*ResponseVolumePurchasingSubscription, error)

GetVolumePurchasingSubscriptionByID retrieves the Volume Purchasing Subscription by its ID

func (*Client) GetVolumePurchasingSubscriptions ¶ added in v0.0.3

func (c *Client) GetVolumePurchasingSubscriptions() (*ResponseVolumePurchasingSubscription, error)

GetVolumePurchasingSubscriptions retrieves all Volume Purchasing Subscriptions

func (*Client) GetWebhookByID ¶ added in v0.0.3

func (c *Client) GetWebhookByID(id int) (*ResponseWebhook, error)

GetWebhookByID gets a webhook by its id

func (*Client) GetWebhookByName ¶ added in v0.0.3

func (c *Client) GetWebhookByName(name string) (*ResponseWebhook, error)

GetWebhookByName gets a webhook by its name

func (*Client) GetWebhooks ¶ added in v0.0.3

func (c *Client) GetWebhooks() ([]ResponseWebhookList, error)

GetWebhooks gets a list of all webhooks

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 *ResponseAccount) error

UpdateAccountByID updates an existing Jamf Pro Account by ID

func (*Client) UpdateAccountByName ¶

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

UpdateAccountByName updates an existing Jamf Pro Account by Name

func (*Client) UpdateAccountGroupByID ¶

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

UpdateAccountGroupByID updates an existing Jamf Pro Account Group by ID

func (*Client) UpdateAccountGroupByName ¶

func (c *Client) UpdateAccountGroupByName(name string, accountGroup *ResponseAccountGroup) (*ResponseAccountGroup, 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) 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) UpdateIbeaconById ¶ added in v0.0.3

func (c *Client) UpdateIbeaconById(id int, ibeacon *ResponseIbeacon) (*ResponseIbeacon, error)

UpdateIbeaconById updates an existing iBeacon configuration by its ID.

func (*Client) UpdateIbeaconByName ¶ added in v0.0.3

func (c *Client) UpdateIbeaconByName(name string, ibeacon *ResponseIbeacon) (*ResponseIbeacon, error)

UpdateIbeaconByName updates an existing iBeacon configuration by its name.

func (*Client) UpdateLdapServerById ¶ added in v0.0.3

func (c *Client) UpdateLdapServerById(id int, server *ResponseLdapServer) (*ResponseLdapServer, error)

UpdateLdapServerById updates an existing LDAP server configuration by its ID.

func (*Client) UpdateLdapServerByName ¶ added in v0.0.3

func (c *Client) UpdateLdapServerByName(name string, server *ResponseLdapServer) (*ResponseLdapServer, error)

UpdateLdapServerByName updates an existing LDAP server configuration by its name.

func (*Client) UpdateLicensedSoftwareById ¶ added in v0.0.3

func (c *Client) UpdateLicensedSoftwareById(id int, software *ResponseLicensedSoftware) (*ResponseLicensedSoftware, error)

UpdateLicensedSoftwareById updates an existing Licensed Software by its ID

func (*Client) UpdateLicensedSoftwareByName ¶ added in v0.0.3

func (c *Client) UpdateLicensedSoftwareByName(name string, software *ResponseLicensedSoftware) (*ResponseLicensedSoftware, error)

UpdateLicensedSoftwareByName updates an existing Licensed Software by its name

func (*Client) UpdateLocalAdminPasswordSettings ¶

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

func (*Client) UpdateMacOSConfigurationProfileById ¶ added in v0.0.3

func (c *Client) UpdateMacOSConfigurationProfileById(id int, profile *ResponseMacOSConfigurationProfile) (*ResponseMacOSConfigurationProfile, error)

UpdateMacOSConfigurationProfileById updates an existing macOS Configuration Profile by its ID

func (*Client) UpdateMacOSConfigurationProfileByName ¶ added in v0.0.3

func (c *Client) UpdateMacOSConfigurationProfileByName(name string, profile *ResponseMacOSConfigurationProfile) (*ResponseMacOSConfigurationProfile, error)

UpdateMacOSConfigurationProfileByName updates an existing macOS Configuration Profile by its name

func (*Client) UpdateManagedPreferenceProfileById ¶ added in v0.0.3

func (c *Client) UpdateManagedPreferenceProfileById(id int, profile *ResponseManagedPreferenceProfile) (*ResponseManagedPreferenceProfile, error)

UpdateManagedPreferenceProfileById updates an existing Managed Preference Profile by its ID

func (*Client) UpdateManagedPreferenceProfileByName ¶ added in v0.0.3

func (c *Client) UpdateManagedPreferenceProfileByName(name string, profile *ResponseManagedPreferenceProfile) (*ResponseManagedPreferenceProfile, error)

UpdateManagedPreferenceProfileByName updates an existing Managed Preference Profile by its name

func (*Client) UpdateMobileDeviceGroup ¶

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

func (*Client) UpdateNetworkSegmentById ¶ added in v0.0.3

func (c *Client) UpdateNetworkSegmentById(id int, segment *ResponseNetworkSegment) (*ResponseNetworkSegment, error)

UpdateNetworkSegmentById updates an existing Network Segment by its ID

func (*Client) UpdateNetworkSegmentByName ¶ added in v0.0.3

func (c *Client) UpdateNetworkSegmentByName(name string, segment *ResponseNetworkSegment) (*ResponseNetworkSegment, error)

UpdateNetworkSegmentByName updates an existing Network Segment by its name

func (*Client) UpdatePackageByID ¶ added in v0.0.3

func (c *Client) UpdatePackageByID(id int, pkg *ResponsePackage) (*ResponsePackage, error)

UpdatePackageByID updates an existing Jamf Pro Package by ID.

func (*Client) UpdatePackageByName ¶ added in v0.0.3

func (c *Client) UpdatePackageByName(name string, pkg *ResponsePackage) (*ResponsePackage, error)

UpdatePackageByName updates an existing Jamf Pro Package by Name.

func (*Client) UpdatePolicy ¶

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

func (*Client) UpdatePrinterByID ¶ added in v0.0.3

func (c *Client) UpdatePrinterByID(id int, printer *ResponsePrinter) (*ResponsePrinter, error)

UpdatePrinterByID updates an existing Jamf Pro Printer by ID.

func (*Client) UpdatePrinterByName ¶ added in v0.0.3

func (c *Client) UpdatePrinterByName(name string, printer *ResponsePrinter) (*ResponsePrinter, error)

UpdatePrinterByName updates an existing Jamf Pro Printer by Name.

func (*Client) UpdateReEnrollment ¶

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

func (*Client) UpdateRestrictedSoftwareByID ¶ added in v0.0.3

func (c *Client) UpdateRestrictedSoftwareByID(id int, software *ResponseRestrictedSoftware) (*ResponseRestrictedSoftware, error)

UpdateRestrictedSoftwareByID updates an existing Jamf Pro Restricted Software by ID.

func (*Client) UpdateRestrictedSoftwareByName ¶ added in v0.0.3

func (c *Client) UpdateRestrictedSoftwareByName(name string, software *ResponseRestrictedSoftware) (*ResponseRestrictedSoftware, error)

UpdateRestrictedSoftwareByName updates an existing Jamf Pro Restricted Software by Name.

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) UpdateUserByEmail ¶ added in v0.0.3

func (c *Client) UpdateUserByEmail(email string, user *ResponseUser) (*ResponseUser, error)

UpdateUserByEmail updates an existing User by its Email

func (*Client) UpdateUserById ¶ added in v0.0.3

func (c *Client) UpdateUserById(id int, user *ResponseUser) (*ResponseUser, error)

UpdateUserById updates an existing User by its ID

func (*Client) UpdateUserByName ¶ added in v0.0.3

func (c *Client) UpdateUserByName(name string, user *ResponseUser) (*ResponseUser, error)

UpdateUserByName updates an existing User by its Name

func (*Client) UpdateWebhookByID ¶ added in v0.0.3

func (c *Client) UpdateWebhookByID(id int, webhook *ResponseWebhook) (*ResponseWebhook, error)

UpdateWebhookByID updates an existing Jamf Pro Webhook by ID.

func (*Client) UpdateWebhookByName ¶ added in v0.0.3

func (c *Client) UpdateWebhookByName(name string, webhook *ResponseWebhook) (*ResponseWebhook, error)

UpdateWebhookByName updates an existing Jamf Pro Webhook by Name.

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(iconPath string, filename string) (*ResponseIcon, error)

UploadIcon uploads an icon and returns the response containing the URL and ID of the uploaded icon

func (*Client) UploadPackageMetadataToJamfPro ¶ added in v0.0.3

func (c *Client) UploadPackageMetadataToJamfPro(pkgName string, pkgID int) error

func (*Client) UploadPackageToJCDS ¶ added in v0.0.3

func (c *Client) UploadPackageToJCDS(pkgPath string, creds *JCDSUploadCredentials) 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 ComputerDataSubsetCertificates ¶

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

type ComputerDataSubsetConfigurationProfiles ¶

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

type ComputerDataSubsetExtensionAttributes ¶

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

type ComputerDataSubsetGeneral ¶

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

type ComputerDataSubsetGroupAccounts ¶

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

type ComputerDataSubsetHardware ¶

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

type ComputerDataSubsetIPhones ¶

type ComputerDataSubsetIPhones struct {
}

type ComputerDataSubsetLocation ¶

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

type ComputerDataSubsetName ¶

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

type ComputerDataSubsetPeripherals ¶

type ComputerDataSubsetPeripherals struct {
}

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

type ComputerDataSubsetPurchasing ¶

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

type ComputerDataSubsetSecurity ¶

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

type ComputerDataSubsetSoftware ¶

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

type ComputerExtensionAttribute ¶

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

type ComputerExtensionAttributeInputType ¶

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

type ComputerExtensionAttributeListItem ¶

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

type ComputerExtensionAttributeListResponse ¶

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

type ComputerGroup ¶

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

type ComputerGroupComputerEntry ¶

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

type ComputerGroupCriterion ¶

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

type ComputerGroupListResponse ¶

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

type ComputerGroupRequest ¶

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

type ComputerGroupsResponse ¶

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

type ComputerInventoriesQuery ¶

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

type ComputerInventoriesResponse ¶

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

type ComputerInventory ¶

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

type ComputerInventoryCollectionPreferences ¶

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

type ComputerInventoryDataSubsetApplications ¶

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

type ComputerInventoryDataSubsetAttachments ¶

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

type ComputerInventoryDataSubsetCertificates ¶

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

type ComputerInventoryDataSubsetConfigurationProfiles ¶

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

type ComputerInventoryDataSubsetContentCaching ¶

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

type ComputerInventoryDataSubsetDiskEncryption ¶

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

type ComputerInventoryDataSubsetExtensionAttributes ¶

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

type ComputerInventoryDataSubsetFonts ¶

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

type ComputerInventoryDataSubsetGeneral ¶

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

type ComputerInventoryDataSubsetGroupMemberships ¶

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

type ComputerInventoryDataSubsetHardware ¶

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

type ComputerInventoryDataSubsetIbeacons ¶

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

type ComputerInventoryDataSubsetLicensedSoftware ¶

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

type ComputerInventoryDataSubsetLocalUserAccounts ¶

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

type ComputerInventoryDataSubsetName ¶

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

type ComputerInventoryDataSubsetOperatingSystem ¶

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

type ComputerInventoryDataSubsetPackageReceipts ¶

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

type ComputerInventoryDataSubsetPlugins ¶

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

type ComputerInventoryDataSubsetPrinters ¶

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

type ComputerInventoryDataSubsetPurchasing ¶

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

type ComputerInventoryDataSubsetSecurity ¶

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

type ComputerInventoryDataSubsetServices ¶

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

type ComputerInventoryDataSubsetSoftwareUpdates ¶

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

type ComputerInventoryDataSubsetStorage ¶

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

type ComputerInventoryDataSubsetUserAndLocation ¶

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

type ComputerListResponse ¶

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

type ComputerPrestageDataSubsetAccountSettings ¶

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

type ComputerPrestageDataSubsetLocationInformation ¶

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

type ComputerPrestageDataSubsetPurchasingInformation ¶

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

type ComputerPrestageDataSubsetSkipSetupItems ¶

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

type ComputerScope ¶

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

type ComputersResponse ¶

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

type ConditionalAccessDeviceState ¶

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

type Config ¶ added in v0.0.3

type Config struct {
	AuthMethod       Authenticator
	URL              string
	HTTPClient       *http.Client
	HttpRetryTimeout time.Duration
	ExtraHeader      map[string]string
	RefreshBuffer    time.Duration
}

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 DisplayField ¶ added in v0.0.3

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

type DockItem ¶

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

type DockItemGeneral ¶

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

type EnrollmentCustomization ¶

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

type EnrollmentCustomizationDataSubsetBrandingSettings ¶

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

type 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 ExtensionAttributeItem ¶ added in v0.0.3

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

type ExternalRecipient ¶ added in v0.0.3

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

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 GeneralInfo ¶ added in v0.0.3

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

type Groups ¶

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

type IBeaconScope ¶

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

type IbeaconListItem ¶ added in v0.0.3

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

type InstallSettings ¶

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

type InstanceSyncState ¶

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

type InternalRecipient ¶ added in v0.0.3

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

type InventoryPath ¶

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

type JCDSFile ¶ added in v0.0.3

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

type JCDSFilesResponse ¶ added in v0.0.3

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

type JCDSUploadCredentials ¶ added in v0.0.3

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

type JCDSUploadResponse ¶ added in v0.0.3

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

type JamfArtifact ¶ added in v0.0.3

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

type JamfPackageV1 ¶ added in v0.0.3

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

JamfPackageV1 Response structure (from your initial request)

type JamfPackageV2 ¶ added in v0.0.3

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

JamfPackageV2 Response structure (from the new v2 API)

type JamfTeacherAppSettings ¶ added in v0.0.3

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

type JamfUserScope ¶

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

type KeyDetails ¶

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

type Keystore ¶

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

type KeystoreDetails ¶

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

type LdapServerDataSubsetLdapAccount ¶ added in v0.0.3

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

type LdapServerDataSubsetLdapConnection ¶ added in v0.0.3

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

type LdapServerDataSubsetLdapMappingsForUsers ¶ added in v0.0.3

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

type LdapServerDataSubsetLdapUserGroupMappings ¶ added in v0.0.3

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

type LdapServerDataSubsetLdapUserGroupMembershipMappings ¶ added in v0.0.3

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

type LdapServerDataSubsetLdapUserMappings ¶ added in v0.0.3

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

type LdapServerListItem ¶ added in v0.0.3

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

type LicensedSoftwareDataSubsetDefinition ¶ added in v0.0.3

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

type LicensedSoftwareDataSubsetLicense ¶ added in v0.0.3

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

type LicensedSoftwareDataSubsetPurchasing ¶ added in v0.0.3

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

type LicensedSoftwareGeneral ¶ added in v0.0.3

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

type LicensedSoftwareListItem ¶ added in v0.0.3

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

type LogLevel ¶ added in v0.0.3

type LogLevel int

LogLevel type to define various log levels.

const (
	TRACE LogLevel = iota
	DEBUG
	INFO
	WARN
	ERROR
	FATAL
)

type Logger ¶ added in v0.0.3

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

Logger is our custom logger type. It embeds the standard logger.

func NewLogger ¶ added in v0.0.3

func NewLogger(level LogLevel, output io.Writer, flag int, appVersion string, userID string) *Logger

NewLogger creates a new logger instance with metadata.

func (*Logger) Debug ¶ added in v0.0.3

func (l *Logger) Debug(format string, v ...interface{})

Debug logs a debug message.

func (*Logger) Error ¶ added in v0.0.3

func (l *Logger) Error(format string, v ...interface{})

Error logs an error message.

func (*Logger) ErrorWithStack ¶ added in v0.0.3

func (l *Logger) ErrorWithStack(err error)

ErrorWithStack logs an error message with a stack trace.

func (*Logger) Fatal ¶ added in v0.0.3

func (l *Logger) Fatal(format string, v ...interface{})

Fatal logs a fatal message and exits the program.

func (*Logger) GetLevel ¶ added in v0.0.3

func (l *Logger) GetLevel() LogLevel

GetLevel allows users to get the current log level.

func (*Logger) Info ¶ added in v0.0.3

func (l *Logger) Info(format string, v ...interface{})

Info logs an informational message.

func (*Logger) SetApplicationVersion ¶ added in v0.0.3

func (l *Logger) SetApplicationVersion(version string)

SetApplicationVersion updates the application version.

func (*Logger) SetLevel ¶ added in v0.0.3

func (l *Logger) SetLevel(level LogLevel)

SetLevel allows users to dynamically set the log level.

func (*Logger) SetUserID ¶ added in v0.0.3

func (l *Logger) SetUserID(id string)

SetUserID updates the user ID.

func (*Logger) Warn ¶ added in v0.0.3

func (l *Logger) Warn(format string, v ...interface{})

Warn logs a warning message.

func (*Logger) WrapErrorWithStack ¶ added in v0.0.3

func (l *Logger) WrapErrorWithStack(err error, message string) error

WrapErrorWithStack wraps an error with a message and returns it.

type LoginSettings ¶

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

type MacApplication ¶

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

type MacOSConfigurationProfileGeneral ¶ added in v0.0.3

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

type MacOSConfigurationProfileListItem ¶ added in v0.0.3

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

type MacOSConfigurationProfileScope ¶ added in v0.0.3

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

type MacOSConfigurationProfileScopeExclusions ¶ added in v0.0.3

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

type MacOSConfigurationProfileScopeLimitations ¶ added in v0.0.3

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

type MacOSConfigurationProfileSelfService ¶ added in v0.0.3

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

type ManagedPreferenceProfileList ¶ added in v0.0.3

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

type MetricsDetail ¶

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

type MobileDeviceGroup ¶

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

type MobileDeviceGroupCriterion ¶

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

type MobileDeviceGroupDeviceEntry ¶

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

type MobileDeviceGroupListResponse ¶

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

type MobileDeviceGroupRequest ¶

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

type MobileDeviceGroupsResponse ¶

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

type NetworkSegmentList ¶ added in v0.0.3

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

type NetworkSegmentScope ¶

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

type OAuthConfig ¶ added in v0.0.3

type OAuthConfig struct {
	ClientID     string
	ClientSecret string
}

func (OAuthConfig) Authenticate ¶ added in v0.0.3

func (o OAuthConfig) Authenticate(c *Client) error

type PackageDetail ¶ added in v0.0.3

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

type PatchPolicyDashboardStatus ¶

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

PatchPolicyDashboardStatus represents the status of the Patch Policy on the dashboard

type PatchPolicyDataSubsetDashboardStatus ¶

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

type PatchPolicyDataSubsetPatchPolicyDetails ¶

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

type PatchPolicyDataSubsetResults ¶

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

type Policy ¶

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

type PolicyFilesAndProcesses ¶

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

type PolicyGeneral ¶

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

type PolicyGeneralDateTimeLimitations ¶

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

TODO Get types and test

type PolicyGeneralNetworkLimitations ¶

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

TODO Get types and test

type PolicyGeneralOverrideDefaultSettings ¶

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

TODO Get types and test

type PolicyListItem ¶

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

type PolicyListResponse ¶

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

type PolicyMaintenance ¶

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

type PolicyPackageConfiguration ¶

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

type PolicyPackageConfigurationPackage ¶

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

type PolicyReboot ¶

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

type PolicyScope ¶

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

type PolicyScopeExclusions ¶

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

type PolicyScript ¶

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

type PolicyScripts ¶

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

type PolicySelfService ¶

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

type PolicyUserInteraction ¶

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

type PrinterDetail ¶ added in v0.0.3

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

type ProgressReader ¶ added in v0.0.3

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

func (*ProgressReader) Read ¶ added in v0.0.3

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

type ReEnrollmentHistoryResult ¶

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

type ResponseAPIIntegration ¶

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

type ResponseAPIRole ¶

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

type ResponseAPIRolePrivileges ¶

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

type ResponseAccount ¶

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

type ResponseAccountGroup ¶ added in v0.0.3

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

type ResponseAccountsList ¶

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

type ResponseAllowedFileExtension ¶

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

XML structure represented in nested Go structs AllowedFileExtension Response structure

type ResponseAppStoreMacApplication ¶

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

Top-level struct

type ResponseAppStoreMacApplicationList ¶

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

type ResponseBuildings ¶

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

type ResponseCSAToken ¶

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

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 ResponseIbeacon ¶ added in v0.0.3

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

type ResponseIbeaconList ¶ added in v0.0.3

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

type ResponseIcon ¶

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

type ResponseInventoryInformation ¶

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

type ResponseJamfProInformation ¶

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

type ResponseJamfProVersion ¶

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

type ResponseLdapServer ¶ added in v0.0.3

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

type ResponseLdapServerList ¶ added in v0.0.3

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

type ResponseLicensedSoftware ¶ added in v0.0.3

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

type ResponseLicensedSoftwareList ¶ added in v0.0.3

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

type ResponseLocalAdminPasswordSettings ¶

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

type ResponseMacOSConfigurationProfile ¶ added in v0.0.3

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

type ResponseMacOSConfigurationProfileList ¶ added in v0.0.3

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

type ResponseManagedPreferenceProfile ¶ added in v0.0.3

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

type ResponseNetworkSegment ¶ added in v0.0.3

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

type ResponsePackage ¶ added in v0.0.3

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

type ResponsePackagesList ¶ added in v0.0.3

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

type ResponsePatchPolicy ¶

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

ResponsePatchPolicy represents the entire response structure for patch policies

type ResponsePrinter ¶ added in v0.0.3

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

type ResponsePrintersList ¶ added in v0.0.3

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

type ResponseReEnrollment ¶

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

type ResponseReEnrollmentHistory ¶

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

type ResponseRestrictedSoftware ¶ added in v0.0.3

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

type ResponseRestrictedSoftwareList ¶ added in v0.0.3

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

type ResponseStartupStatus ¶

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

type ResponseTeamViewerRemoteAdminStatus ¶

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

type ResponseTeamViewerRemoteAdministrationConfiguration ¶

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

type ResponseTeamViewerSessionStatus ¶

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

type ResponseUser ¶ added in v0.0.3

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

type ResponseUserGroup ¶ added in v0.0.3

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

type ResponseUserList ¶ added in v0.0.3

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

type ResponseUsers ¶ added in v0.0.3

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

type ResponseVolumePurchasingSubscription ¶ added in v0.0.3

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

type ResponseWebhook ¶ added in v0.0.3

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

type ResponseWebhookList ¶ added in v0.0.3

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

type RestrictedSoftwareTitle ¶ added in v0.0.3

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

type SSOCertificateResponse ¶

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

type SafelistedApp ¶ added in v0.0.3

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

type Scope ¶

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

Tier 2 - Scope section

type Script ¶

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

type ScriptCreateResponse ¶

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

type ScriptsListResponse ¶

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

type SelfService ¶

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

Tier 2 - SelfService section

type SelfServiceCategory ¶

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

type SelfServiceIcon ¶

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

type SelfServiceSecurity ¶ added in v0.0.3

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

type SelfServiceSettings ¶

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

SelfServiceSettings represents the settings of Self Service.

type SetupTaskOption ¶

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

type Site ¶

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

type StatusCodeCategory ¶ added in v0.0.3

type StatusCodeCategory int
const (
	Success StatusCodeCategory = iota
	ClientError
	ServerError
	Unknown

	ClassicAPI = "/JSSResource"
	JamfProAPI = "/api"
)

type SyncState ¶

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

type TeacherAppFeature ¶ added in v0.0.3

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

type TeacherAppHistoryItem ¶ added in v0.0.3

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

type TeacherAppHistoryResponse ¶ added in v0.0.3

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

type TeamViewerRemoteAdministrationConfiguration ¶

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

type TeamViewerSession ¶

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

type TimeZoneInformation ¶

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

type UpdateDeviceEnrollmentTokenRequest ¶

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

type UpdateTeamViewerConfiguration ¶

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

type UploadProgressPercentage ¶ added in v0.0.3

type UploadProgressPercentage struct {
	Filename  string
	TotalSize int64
	SeenSoFar int64
}

func NewUploadProgressPercentage ¶ added in v0.0.3

func NewUploadProgressPercentage(filename string) *UploadProgressPercentage

func (*UploadProgressPercentage) AddBytes ¶ added in v0.0.3

func (p *UploadProgressPercentage) AddBytes(bytes int64)

func (*UploadProgressPercentage) TrackProgress ¶ added in v0.0.3

func (p *UploadProgressPercentage) TrackProgress()

type User ¶ added in v0.0.3

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

type UserGroupCriteria ¶ added in v0.0.3

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

type UserGroupCriterion ¶ added in v0.0.3

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

type UserGroupScope ¶

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

type UserGroupUser ¶ added in v0.0.3

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

type UserListItem ¶ added in v0.0.3

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

type UserScope ¶

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

type Users ¶

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

type UsersDataSubsetExtensionAttribute ¶ added in v0.0.3

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

type UsersDataSubsetItem ¶ added in v0.0.3

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

type UsersDataSubsetLDAPServer ¶ added in v0.0.3

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

type UsersDataSubsetUserSite ¶ added in v0.0.3

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

type VolumePurchasingSubscription ¶ added in v0.0.3

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

type WebhookItem ¶ added in v0.0.3

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

Directories ¶

Path Synopsis
examples

Jump to

Keyboard shortcuts

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