jamfpro

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2024 License: MIT Imports: 15 Imported by: 0

Documentation

Overview

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

selfService.go

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CSAToken

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

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

type 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 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 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 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 ConditionalAccessDeviceState

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

type ConfigurationSettings

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

type CreateManagedSoftwareUpdatePlanParams

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

Body parameters for creating managed software update plans

type CreateTeamViewerConfiguration

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

type CreateTeamViewerSessionRequest

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

type CreatedPlan

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

type CustomPathCreation

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

type Details

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

type DeviceAssignedToEnrollment

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

type DeviceDetail

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

type DeviceEnrollment

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

type DeviceForPlan

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

type EnrollmentCustomization

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

type EnrollmentCustomizationDataSubsetBrandingSettings

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

type ErrorDetail

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

type 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 InstallSettings

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

type InstanceSyncState

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

type InventoryPath

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

type JCDSFile

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

type JCDSFilesResponse

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

type JCDSUploadCredentials

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

type JCDSUploadResponse

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

type JamfArtifact

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

type JamfPackageV1

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

JamfPackageV1 Response structure (from your initial request)

type JamfPackageV2

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

JamfPackageV2 Response structure (from the new v2 API)

type JamfTeacherAppSettings

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

type KeyDetails

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

type Keystore

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

type KeystoreDetails

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

type LoginSettings

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

type ManagedSoftwareUpdateDeviceGroup

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

type ManagedSoftwareUpdateDeviceGroupItem

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

type ManagedSoftwareUpdateQueryParams

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

Define a struct for the query parameters

type ManagedSoftwareUpdates

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

type MetricsDetail

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

type PackageDetail

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

type PlanConfig

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

type ProgressReader

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

func (*ProgressReader) Read

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

type ReEnrollmentHistoryResult

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

type ResponseCSAToken

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

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

type ResponseCheckInHistoryNote

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

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 ResponseConditionalAccess

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

Structures

type ResponseCreateManagedSoftwareUpdatePlan

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

Response for creating managed software update plans

type ResponseCreateTeamViewerConfiguration

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

type ResponseCreateTeamViewerSession

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

type ResponseCustomPathCreation

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

type ResponseDashboard

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

type 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 ResponseEnrollmentCustomization

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

type ResponseEnrollmentSettings

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

type ResponseFeatureToggleStatus

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

type ResponseInventoryInformation

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

type ResponseLocalAdminPasswordSettings

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

type ResponseManagedSoftwareUpdatePlans

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

type ResponseManagedSoftwareUpdatePlansForDeviceGroup

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

type ResponseManagedSoftwareUpdates

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

Struct for ResponseManagedSoftwareUpdates

type ResponsePackage

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

type ResponsePackagesList

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

type ResponseReEnrollment

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

type ResponseReEnrollmentHistory

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

type ResponseStartupStatus

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

type ResponseTeamViewerRemoteAdminStatus

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

type ResponseTeamViewerRemoteAdministrationConfiguration

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

type ResponseTeamViewerSessionStatus

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

type SSOCertificateResponse

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

type SafelistedApp

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

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 SoftwareUpdatePlan

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

type SoftwareUpdatePlanForDeviceGroup

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

type SyncState

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

type TeacherAppFeature

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

type TeacherAppHistoryItem

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

type TeacherAppHistoryResponse

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

type TeamViewerRemoteAdministrationConfiguration

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

type TeamViewerSession

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

type TimeZoneInformation

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

type UpdateDeviceEnrollmentTokenRequest

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

type UpdatePlanStatus

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

type UpdateTeamViewerConfiguration

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

type UploadProgressPercentage

type UploadProgressPercentage struct {
	Filename  string
	TotalSize int64
	SeenSoFar int64
}

func NewUploadProgressPercentage

func NewUploadProgressPercentage(filename string) *UploadProgressPercentage

func (*UploadProgressPercentage) AddBytes

func (p *UploadProgressPercentage) AddBytes(bytes int64)

func (*UploadProgressPercentage) TrackProgress

func (p *UploadProgressPercentage) TrackProgress()

Jump to

Keyboard shortcuts

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