Help us shape the future of Go! Take the 2026 Go Developer Survey

blueprints

package
v1.11.0 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package blueprints provides typed access to Jamf Platform blueprints API endpoints.

Index

Constants

This section is empty.

Variables

View Source
var Privileges = map[string]jamfplatform.MethodPrivileges{
	"CreateBlueprint":         {Method: "CreateBlueprint", HTTPMethod: "POST", Path: "/v1/blueprints", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"blueprints:create"}, Legacy: nil, Source: "spec"},
	"DeleteBlueprint":         {Method: "DeleteBlueprint", HTTPMethod: "DELETE", Path: "/v1/blueprints/{blueprintId}", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"blueprints:delete"}, Legacy: nil, Source: "spec"},
	"DeployBlueprint":         {Method: "DeployBlueprint", HTTPMethod: "POST", Path: "/v1/blueprints/{blueprintId}/deploy", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"blueprints:deploy"}, Legacy: nil, Source: "spec"},
	"GetBlueprint":            {Method: "GetBlueprint", HTTPMethod: "GET", Path: "/v1/blueprints/{blueprintId}", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"blueprints:read"}, Legacy: nil, Source: "spec"},
	"GetBlueprintComponent":   {Method: "GetBlueprintComponent", HTTPMethod: "GET", Path: "/v1/blueprint-components/{identifier}", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"blueprints:read"}, Legacy: nil, Source: "spec"},
	"GetBlueprintReport":      {Method: "GetBlueprintReport", HTTPMethod: "GET", Path: "/v1/blueprints/{blueprintId}/report", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"blueprints:read"}, Legacy: nil, Source: "spec"},
	"ListBlueprintComponents": {Method: "ListBlueprintComponents", HTTPMethod: "GET", Path: "/v1/blueprint-components", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"blueprints:read"}, Legacy: nil, Source: "spec"},
	"ListBlueprints":          {Method: "ListBlueprints", HTTPMethod: "GET", Path: "/v1/blueprints", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"blueprints:read"}, Legacy: nil, Source: "spec"},
	"UndeployBlueprint":       {Method: "UndeployBlueprint", HTTPMethod: "POST", Path: "/v1/blueprints/{blueprintId}/undeploy", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"blueprints:deploy"}, Legacy: nil, Source: "spec"},
	"UpdateBlueprint":         {Method: "UpdateBlueprint", HTTPMethod: "PATCH", Path: "/v1/blueprints/{blueprintId}", Scopes: []jamfplatform.ScopeKind{jamfplatform.ScopeEnvironment}, ScopesSource: "spec", Scoped: []string{"blueprints:update"}, Legacy: nil, Source: "spec"},
}

Privileges maps each blueprints SDK method name to the Jamf API privileges it requires, sourced from the x-required-privileges vendor extensions in the Jamf OpenAPI specs. Identifiers are GA capability permissions in {capability}:{action} form and a multi-entry Scoped slice means all of them are required.

Source names where each entry's Scoped set came from: "spec" for the operation's own x-required-privileges, "gateway-policy" for one the published spec omits and this SDK supplies from the gateway's authorization policy, and "" when Scoped is empty. An empty Scoped slice means nothing declares a privilege for the endpoint, which is NOT the same as none being required — see jamfplatform.MethodPrivileges. Do not render it as "no permission needed".

Scopes lists the scope kinds each endpoint accepts. It is an alternatives set: a client carries one scope, so a consumer needs a credential matching one of the listed kinds. ScopesSource names where the set came from — "spec" for the spec root's own x-scope-types, "config-override" for one this SDK supplies because the published spec understates what the gateway serves or declares no extension at all. A spec-sourced set is what the spec declares, which for the Platform APIs is currently stricter than the gateway — see jamfplatform.MethodPrivileges.

Synthetic Resolve<X>ByName / Apply<X> methods are not present; document the privileges of the operations they call instead.

Functions

func PrivilegesFor

func PrivilegesFor(method string) (jamfplatform.MethodPrivileges, bool)

PrivilegesFor returns the privilege metadata for the named SDK method and true when the method is present in the registry, or the zero value and false otherwise.

Types

type AcceptCookies

type AcceptCookies struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// The policy Safari uses for managing cookies.
	// Allowed values: see the AcceptCookiesValue constants.
	Value *string `json:"Value,omitempty"`
}

AcceptCookies represents a accept cookies.

func (*AcceptCookies) UnmarshalJSON

func (s *AcceptCookies) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type AcceptCookiesValue

type AcceptCookiesValue = string

AcceptCookiesValue is the set of values accepted by AcceptCookies.Value.

const (
	AcceptCookiesValueNever           AcceptCookiesValue = "Never"
	AcceptCookiesValueCurrentWebsite  AcceptCookiesValue = "CurrentWebsite"
	AcceptCookiesValueVisitedWebsites AcceptCookiesValue = "VisitedWebsites"
	AcceptCookiesValueAlways          AcceptCookiesValue = "Always"
)

AcceptCookiesValue values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func AcceptCookiesValueValues

func AcceptCookiesValueValues() []AcceptCookiesValue

AcceptCookiesValueValues returns every value the Jamf API accepts for AcceptCookiesValue, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type AllowDisablingFraudWarning

type AllowDisablingFraudWarning struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// If false, the system forces fraud warnings on in Safari.
	Value *bool `json:"Value,omitempty"`
}

AllowDisablingFraudWarning represents a allow disabling fraud warning.

func (*AllowDisablingFraudWarning) UnmarshalJSON

func (s *AllowDisablingFraudWarning) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type AllowHistoryClearing

type AllowHistoryClearing struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// If false, the system disables clearing history in Safari.
	Value *bool `json:"Value,omitempty"`
}

AllowHistoryClearing represents a allow history clearing.

func (*AllowHistoryClearing) UnmarshalJSON

func (s *AllowHistoryClearing) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type AllowJavaScript

type AllowJavaScript struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// If false, the system disables JavaScript in Safari.
	Value *bool `json:"Value,omitempty"`
}

AllowJavaScript represents a allow java script.

func (*AllowJavaScript) UnmarshalJSON

func (s *AllowJavaScript) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type AllowPopups

type AllowPopups struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// If false, the system disables popups in Safari.
	Value *bool `json:"Value,omitempty"`
}

AllowPopups represents a allow popups.

func (*AllowPopups) UnmarshalJSON

func (s *AllowPopups) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type AllowPrivateBrowsing

type AllowPrivateBrowsing struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// If false, the system disables private browsing in Safari.
	Value *bool `json:"Value,omitempty"`
}

AllowPrivateBrowsing represents a allow private browsing.

func (*AllowPrivateBrowsing) UnmarshalJSON

func (s *AllowPrivateBrowsing) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type AllowSummary

type AllowSummary struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// If false, the system disables summarization of content in Safari.
	Value *bool `json:"Value,omitempty"`
}

AllowSummary represents a allow summary.

func (*AllowSummary) UnmarshalJSON

func (s *AllowSummary) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ApiError

type ApiError struct {
	Errors *Error `json:"errors,omitempty"`
	// HTTP status of the response.
	HttpStatus int `json:"httpStatus"`
	// Trace ID.
	TraceID string `json:"traceId"`
}

ApiError represents a api error.

type AppSettingsAllowed added in v1.2.0

type AppSettingsAllowed struct {
	// Bundle IDs the device may show or launch. Not supported on macOS.
	AllowedApps *[]string `json:"AllowedApps,omitempty"`
	// Binaries allowed to run. macOS only.
	AllowedBinaries *[]AppSettingsBinaryIdentifier `json:"AllowedBinaries,omitempty"`
	// If `true`, implicitly allows managed apps when `AllowedBinaries` is present. macOS only.
	AlwaysAllowManagedApps *bool `json:"AlwaysAllowManagedApps,omitempty"`
	// Bundle IDs the device may not show or launch. Not supported on macOS.
	DeniedApps *[]string `json:"DeniedApps,omitempty"`
	// Binaries denied from running. macOS only.
	DeniedBinaries *[]AppSettingsBinaryIdentifier `json:"DeniedBinaries,omitempty"`
}

AppSettingsAllowed Allow/deny lists for which apps and binaries can run. > **Validation rule:** Each entry in `AllowedBinaries` requires either `CDHash` or > `TeamID`. Each entry in `DeniedBinaries` requires `CDHash`, `TeamID`, or `SigningID`.

func (*AppSettingsAllowed) UnmarshalJSON added in v1.2.0

func (s *AppSettingsAllowed) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type AppSettingsBinaryIdentifier added in v1.2.0

type AppSettingsBinaryIdentifier struct {
	// 40-character code directory hash of the binary.
	CDHash *string `json:"CDHash,omitempty"`
	// File system path prefix to match binaries.
	PathPrefix *string `json:"PathPrefix,omitempty"`
	// Code signature signing identifier of the binary.
	SigningID *string `json:"SigningID,omitempty"`
	// Code signing state to match.
	// Allowed values: see the AppSettingsBinaryIdentifierSigningState constants.
	SigningState *string `json:"SigningState,omitempty"`
	// Code signature team identifier. Use `*APPLE*` for Apple binaries with no team identifier.
	TeamID *string `json:"TeamID,omitempty"`
}

AppSettingsBinaryIdentifier Identifies a binary by code-signing attributes.

type AppSettingsBinaryIdentifierSigningState added in v1.2.0

type AppSettingsBinaryIdentifierSigningState = string

AppSettingsBinaryIdentifierSigningState is the set of values accepted by AppSettingsBinaryIdentifier.SigningState.

const (
	AppSettingsBinaryIdentifierSigningStateAll         AppSettingsBinaryIdentifierSigningState = "All"
	AppSettingsBinaryIdentifierSigningStateTestFlight  AppSettingsBinaryIdentifierSigningState = "TestFlight"
	AppSettingsBinaryIdentifierSigningStateDeveloperID AppSettingsBinaryIdentifierSigningState = "DeveloperID"
	AppSettingsBinaryIdentifierSigningStateEnterprise  AppSettingsBinaryIdentifierSigningState = "Enterprise"
	AppSettingsBinaryIdentifierSigningStateAppStore    AppSettingsBinaryIdentifierSigningState = "AppStore"
	AppSettingsBinaryIdentifierSigningStateApple       AppSettingsBinaryIdentifierSigningState = "Apple"
)

AppSettingsBinaryIdentifierSigningState values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func AppSettingsBinaryIdentifierSigningStateValues added in v1.2.0

func AppSettingsBinaryIdentifierSigningStateValues() []AppSettingsBinaryIdentifierSigningState

AppSettingsBinaryIdentifierSigningStateValues returns every value the Jamf API accepts for AppSettingsBinaryIdentifierSigningState, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type AppSettingsDeclaration added in v1.2.0

type AppSettingsDeclaration struct {
	// The channel to which the declaration applies: - `SYSTEM` — applies to the system (device) channel
	// - `USER` — applies to the user channel.
	ChannelType DeclarationChannelType `json:"channelType"`
	// All declarations in this component are `com.apple.configuration.*` types.
	// Allowed values: see the AppSettingsDeclarationKind constants.
	Kind string `json:"kind"`
	// Payload fields for the App Settings declaration.
	Payload AppSettingsDeclarationPayload `json:"payload"`
	// Allowed values: see the AppSettingsDeclarationType constants.
	Type string `json:"type"`
}

AppSettingsDeclaration Configures app allow/deny lists and app privacy permission defaults.

func (*AppSettingsDeclaration) UnmarshalJSON added in v1.2.0

func (s *AppSettingsDeclaration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type AppSettingsDeclarationKind added in v1.2.0

type AppSettingsDeclarationKind = string

AppSettingsDeclarationKind is the set of values accepted by AppSettingsDeclaration.Kind.

const (
	AppSettingsDeclarationKindConfiguration AppSettingsDeclarationKind = "CONFIGURATION"
)

AppSettingsDeclarationKind values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func AppSettingsDeclarationKindValues added in v1.2.0

func AppSettingsDeclarationKindValues() []AppSettingsDeclarationKind

AppSettingsDeclarationKindValues returns every value the Jamf API accepts for AppSettingsDeclarationKind, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type AppSettingsDeclarationPayload added in v1.2.0

type AppSettingsDeclarationPayload struct {
	// Allow/deny lists for which apps and binaries can run.
	// > **Validation rule:** Each entry in `AllowedBinaries` requires either `CDHash` or > `TeamID`. Each
	// entry in `DeniedBinaries` requires `CDHash`, `TeamID`, or `SigningID`.
	Allowed *AppSettingsAllowed `json:"Allowed,omitempty"`
	// App privacy permission defaults. Not supported on tvOS/visionOS/watchOS.
	Privacy *AppSettingsPrivacy `json:"Privacy,omitempty"`
}

AppSettingsDeclarationPayload Payload fields for the App Settings declaration.

func (*AppSettingsDeclarationPayload) UnmarshalJSON added in v1.2.0

func (s *AppSettingsDeclarationPayload) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type AppSettingsDeclarationType added in v1.2.0

type AppSettingsDeclarationType = string

AppSettingsDeclarationType is the set of values accepted by AppSettingsDeclaration.Type.

const (
	AppSettingsDeclarationTypeComAppleConfigurationAppSettings AppSettingsDeclarationType = "com.apple.configuration.app.settings"
)

AppSettingsDeclarationType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func AppSettingsDeclarationTypeValues added in v1.2.0

func AppSettingsDeclarationTypeValues() []AppSettingsDeclarationType

AppSettingsDeclarationTypeValues returns every value the Jamf API accepts for AppSettingsDeclarationType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type AppSettingsPermissionDefaults added in v1.2.0

type AppSettingsPermissionDefaults struct {
	// Not supported on iOS.
	// Allowed values: see the AppSettingsPermissionDefaultsAccessibility constants.
	Accessibility *string `json:"Accessibility,omitempty"`
	// Allowed values: see the AppSettingsPermissionDefaultsBluetooth constants.
	Bluetooth *string `json:"Bluetooth,omitempty"`
	// Allowed values: see the AppSettingsPermissionDefaultsCamera constants.
	Camera *string `json:"Camera,omitempty"`
	// Allowed values: see the AppSettingsPermissionDefaultsDictation constants.
	Dictation *string `json:"Dictation,omitempty"`
	// Allowed values: see the AppSettingsPermissionDefaultsLocalNetwork constants.
	LocalNetwork *string `json:"LocalNetwork,omitempty"`
	// Allowed values: see the AppSettingsPermissionDefaultsLocation constants.
	Location *string `json:"Location,omitempty"`
	// Not supported on macOS.
	// Allowed values: see the AppSettingsPermissionDefaultsLocationAccuracy constants.
	LocationAccuracy *string `json:"LocationAccuracy,omitempty"`
	// Allowed values: see the AppSettingsPermissionDefaultsMicrophone constants.
	Microphone *string `json:"Microphone,omitempty"`
	// Text shown to the user explaining why the organization requires these defaults.
	OrganizationJustification string `json:"OrganizationJustification"`
}

AppSettingsPermissionDefaults App privacy permission defaults for one app identifier.

type AppSettingsPermissionDefaultsAccessibility added in v1.2.0

type AppSettingsPermissionDefaultsAccessibility = string

AppSettingsPermissionDefaultsAccessibility is the set of values accepted by AppSettingsPermissionDefaults.Accessibility.

const (
	AppSettingsPermissionDefaultsAccessibilityNone  AppSettingsPermissionDefaultsAccessibility = "None"
	AppSettingsPermissionDefaultsAccessibilityAllow AppSettingsPermissionDefaultsAccessibility = "Allow"
)

AppSettingsPermissionDefaultsAccessibility values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func AppSettingsPermissionDefaultsAccessibilityValues added in v1.2.0

func AppSettingsPermissionDefaultsAccessibilityValues() []AppSettingsPermissionDefaultsAccessibility

AppSettingsPermissionDefaultsAccessibilityValues returns every value the Jamf API accepts for AppSettingsPermissionDefaultsAccessibility, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type AppSettingsPermissionDefaultsBluetooth added in v1.2.0

type AppSettingsPermissionDefaultsBluetooth = string

AppSettingsPermissionDefaultsBluetooth is the set of values accepted by AppSettingsPermissionDefaults.Bluetooth.

const (
	AppSettingsPermissionDefaultsBluetoothNone  AppSettingsPermissionDefaultsBluetooth = "None"
	AppSettingsPermissionDefaultsBluetoothAllow AppSettingsPermissionDefaultsBluetooth = "Allow"
)

AppSettingsPermissionDefaultsBluetooth values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func AppSettingsPermissionDefaultsBluetoothValues added in v1.2.0

func AppSettingsPermissionDefaultsBluetoothValues() []AppSettingsPermissionDefaultsBluetooth

AppSettingsPermissionDefaultsBluetoothValues returns every value the Jamf API accepts for AppSettingsPermissionDefaultsBluetooth, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type AppSettingsPermissionDefaultsCamera added in v1.2.0

type AppSettingsPermissionDefaultsCamera = string

AppSettingsPermissionDefaultsCamera is the set of values accepted by AppSettingsPermissionDefaults.Camera.

const (
	AppSettingsPermissionDefaultsCameraNone  AppSettingsPermissionDefaultsCamera = "None"
	AppSettingsPermissionDefaultsCameraAllow AppSettingsPermissionDefaultsCamera = "Allow"
)

AppSettingsPermissionDefaultsCamera values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func AppSettingsPermissionDefaultsCameraValues added in v1.2.0

func AppSettingsPermissionDefaultsCameraValues() []AppSettingsPermissionDefaultsCamera

AppSettingsPermissionDefaultsCameraValues returns every value the Jamf API accepts for AppSettingsPermissionDefaultsCamera, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type AppSettingsPermissionDefaultsDictation added in v1.2.0

type AppSettingsPermissionDefaultsDictation = string

AppSettingsPermissionDefaultsDictation is the set of values accepted by AppSettingsPermissionDefaults.Dictation.

const (
	AppSettingsPermissionDefaultsDictationNone  AppSettingsPermissionDefaultsDictation = "None"
	AppSettingsPermissionDefaultsDictationAllow AppSettingsPermissionDefaultsDictation = "Allow"
)

AppSettingsPermissionDefaultsDictation values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func AppSettingsPermissionDefaultsDictationValues added in v1.2.0

func AppSettingsPermissionDefaultsDictationValues() []AppSettingsPermissionDefaultsDictation

AppSettingsPermissionDefaultsDictationValues returns every value the Jamf API accepts for AppSettingsPermissionDefaultsDictation, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type AppSettingsPermissionDefaultsLocalNetwork added in v1.2.0

type AppSettingsPermissionDefaultsLocalNetwork = string

AppSettingsPermissionDefaultsLocalNetwork is the set of values accepted by AppSettingsPermissionDefaults.LocalNetwork.

const (
	AppSettingsPermissionDefaultsLocalNetworkNone  AppSettingsPermissionDefaultsLocalNetwork = "None"
	AppSettingsPermissionDefaultsLocalNetworkAllow AppSettingsPermissionDefaultsLocalNetwork = "Allow"
)

AppSettingsPermissionDefaultsLocalNetwork values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func AppSettingsPermissionDefaultsLocalNetworkValues added in v1.2.0

func AppSettingsPermissionDefaultsLocalNetworkValues() []AppSettingsPermissionDefaultsLocalNetwork

AppSettingsPermissionDefaultsLocalNetworkValues returns every value the Jamf API accepts for AppSettingsPermissionDefaultsLocalNetwork, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type AppSettingsPermissionDefaultsLocation added in v1.2.0

type AppSettingsPermissionDefaultsLocation = string

AppSettingsPermissionDefaultsLocation is the set of values accepted by AppSettingsPermissionDefaults.Location.

const (
	AppSettingsPermissionDefaultsLocationNone       AppSettingsPermissionDefaultsLocation = "None"
	AppSettingsPermissionDefaultsLocationWhileUsing AppSettingsPermissionDefaultsLocation = "WhileUsing"
	AppSettingsPermissionDefaultsLocationAlways     AppSettingsPermissionDefaultsLocation = "Always"
)

AppSettingsPermissionDefaultsLocation values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func AppSettingsPermissionDefaultsLocationValues added in v1.2.0

func AppSettingsPermissionDefaultsLocationValues() []AppSettingsPermissionDefaultsLocation

AppSettingsPermissionDefaultsLocationValues returns every value the Jamf API accepts for AppSettingsPermissionDefaultsLocation, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type AppSettingsPermissionDefaultsLocationAccuracy added in v1.2.0

type AppSettingsPermissionDefaultsLocationAccuracy = string

AppSettingsPermissionDefaultsLocationAccuracy is the set of values accepted by AppSettingsPermissionDefaults.LocationAccuracy.

const (
	AppSettingsPermissionDefaultsLocationAccuracyNone        AppSettingsPermissionDefaultsLocationAccuracy = "None"
	AppSettingsPermissionDefaultsLocationAccuracyApproximate AppSettingsPermissionDefaultsLocationAccuracy = "Approximate"
	AppSettingsPermissionDefaultsLocationAccuracyPrecise     AppSettingsPermissionDefaultsLocationAccuracy = "Precise"
)

AppSettingsPermissionDefaultsLocationAccuracy values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func AppSettingsPermissionDefaultsLocationAccuracyValues added in v1.2.0

func AppSettingsPermissionDefaultsLocationAccuracyValues() []AppSettingsPermissionDefaultsLocationAccuracy

AppSettingsPermissionDefaultsLocationAccuracyValues returns every value the Jamf API accepts for AppSettingsPermissionDefaultsLocationAccuracy, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type AppSettingsPermissionDefaultsMap added in v1.2.0

type AppSettingsPermissionDefaultsMap = map[string]AppSettingsPermissionDefaults

AppSettingsPermissionDefaultsMap maps an app identifier (bundle ID on iOS; a composed `Bundle-ID {Designated-Requirement}` identifier on macOS) to a permission-defaults object.

type AppSettingsPermissionDefaultsMicrophone added in v1.2.0

type AppSettingsPermissionDefaultsMicrophone = string

AppSettingsPermissionDefaultsMicrophone is the set of values accepted by AppSettingsPermissionDefaults.Microphone.

const (
	AppSettingsPermissionDefaultsMicrophoneNone  AppSettingsPermissionDefaultsMicrophone = "None"
	AppSettingsPermissionDefaultsMicrophoneAllow AppSettingsPermissionDefaultsMicrophone = "Allow"
)

AppSettingsPermissionDefaultsMicrophone values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func AppSettingsPermissionDefaultsMicrophoneValues added in v1.2.0

func AppSettingsPermissionDefaultsMicrophoneValues() []AppSettingsPermissionDefaultsMicrophone

AppSettingsPermissionDefaultsMicrophoneValues returns every value the Jamf API accepts for AppSettingsPermissionDefaultsMicrophone, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type AppSettingsPrivacy added in v1.2.0

type AppSettingsPrivacy struct {
	// Maps an app identifier (bundle ID on iOS; a composed `Bundle-ID {Designated-Requirement}` identifier
	// on macOS) to a permission-defaults object.
	PermissionDefaults *AppSettingsPermissionDefaultsMap `json:"PermissionDefaults,omitempty"`
}

AppSettingsPrivacy App privacy permission defaults. Not supported on tvOS/visionOS/watchOS.

type AudioAccessorySettingsComponent

type AudioAccessorySettingsComponent struct {
	// Audio accessory settings configuration.
	// Configures audio accessory temporary pairing behavior.
	Configuration AudioAccessorySettingsConfiguration `json:"configuration"`
	// Allowed values: see the AudioAccessorySettingsComponentIdentifier constants.
	Identifier string `json:"identifier"`
}

AudioAccessorySettingsComponent represents a audio accessory settings component.

func (*AudioAccessorySettingsComponent) UnmarshalJSON

func (s *AudioAccessorySettingsComponent) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type AudioAccessorySettingsComponentIdentifier

type AudioAccessorySettingsComponentIdentifier = string

AudioAccessorySettingsComponentIdentifier is the set of values accepted by AudioAccessorySettingsComponent.Identifier.

const (
	AudioAccessorySettingsComponentIdentifierComJamfDdmAudioAccessorySettings AudioAccessorySettingsComponentIdentifier = "com.jamf.ddm.audio-accessory-settings"
)

AudioAccessorySettingsComponentIdentifier values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func AudioAccessorySettingsComponentIdentifierValues

func AudioAccessorySettingsComponentIdentifierValues() []AudioAccessorySettingsComponentIdentifier

AudioAccessorySettingsComponentIdentifierValues returns every value the Jamf API accepts for AudioAccessorySettingsComponentIdentifier, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type AudioAccessorySettingsConfiguration

type AudioAccessorySettingsConfiguration struct {
	// Temporary pairing configuration.
	TemporaryPairing *TemporaryPairing `json:"TemporaryPairing,omitempty"`
}

AudioAccessorySettingsConfiguration Audio accessory settings configuration. Configures audio accessory temporary pairing behavior.

func (*AudioAccessorySettingsConfiguration) UnmarshalJSON

func (s *AudioAccessorySettingsConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type AutomaticAction

type AutomaticAction struct {
	// Controls whether this control should be used.
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Allowed values: see the AutomaticActionValue constants.
	Value string `json:"Value"`
}

AutomaticAction represents a automatic action.

func (*AutomaticAction) UnmarshalJSON

func (s *AutomaticAction) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type AutomaticActionValue

type AutomaticActionValue = string

AutomaticActionValue is the set of values accepted by AutomaticAction.Value.

const (
	AutomaticActionValueAllowed   AutomaticActionValue = "Allowed"
	AutomaticActionValueAlwaysOn  AutomaticActionValue = "AlwaysOn"
	AutomaticActionValueAlwaysOff AutomaticActionValue = "AlwaysOff"
)

AutomaticActionValue values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func AutomaticActionValueValues

func AutomaticActionValueValues() []AutomaticActionValue

AutomaticActionValueValues returns every value the Jamf API accepts for AutomaticActionValue, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type AutomaticActions

type AutomaticActions struct {
	Download              *AutomaticAction `json:"Download,omitempty"`
	InstallOSUpdates      *AutomaticAction `json:"InstallOSUpdates,omitempty"`
	InstallSecurityUpdate *AutomaticAction `json:"InstallSecurityUpdate,omitempty"`
}

AutomaticActions represents a automatic actions.

func (*AutomaticActions) UnmarshalJSON

func (s *AutomaticActions) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type BasicMode

type BasicMode struct {
	// Add the square root button to the basic calculator by replacing the +/- button.
	AddSquareRoot bool `json:"AddSquareRoot"`
	// Controls whether this control should be used.
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
}

BasicMode represents a basic mode.

func (*BasicMode) UnmarshalJSON

func (s *BasicMode) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type Beta

type Beta struct {
	// Controls whether this control should be used.
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool         `json:"Included,omitempty"`
	Value    *BetaSettings `json:"Value,omitempty"`
}

Beta represents a beta.

func (*Beta) UnmarshalJSON

func (s *Beta) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type BetaProgram

type BetaProgram struct {
	Description *string `json:"Description,omitempty"`
	Token       *string `json:"Token,omitempty"`
}

BetaProgram represents a beta program.

type BetaSettings

type BetaSettings struct {
	OfferPrograms *[]BetaProgram `json:"OfferPrograms,omitempty"`
	// Allowed values: see the BetaSettingsProgramEnrollment constants.
	ProgramEnrollment string       `json:"ProgramEnrollment"`
	RequireProgram    *BetaProgram `json:"RequireProgram,omitempty"`
}

BetaSettings represents a beta settings.

type BetaSettingsProgramEnrollment

type BetaSettingsProgramEnrollment = string

BetaSettingsProgramEnrollment is the set of values accepted by BetaSettings.ProgramEnrollment.

const (
	BetaSettingsProgramEnrollmentAllowed   BetaSettingsProgramEnrollment = "Allowed"
	BetaSettingsProgramEnrollmentAlwaysOn  BetaSettingsProgramEnrollment = "AlwaysOn"
	BetaSettingsProgramEnrollmentAlwaysOff BetaSettingsProgramEnrollment = "AlwaysOff"
)

BetaSettingsProgramEnrollment values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func BetaSettingsProgramEnrollmentValues

func BetaSettingsProgramEnrollmentValues() []BetaSettingsProgramEnrollment

BetaSettingsProgramEnrollmentValues returns every value the Jamf API accepts for BetaSettingsProgramEnrollment, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type BlueprintDetail

type BlueprintDetail struct {
	// Creation date.
	Created time.Time `json:"created"`
	// Blueprint deployment state.
	DeploymentState *DeploymentState `json:"deploymentState,omitempty"`
	// Description of the blueprint.
	Description *string `json:"description,omitempty"`
	// ID of the blueprint.
	ID string `json:"id"`
	// Name of the blueprint.
	Name string `json:"name"`
	// Device groups.
	Scope *BlueprintScope `json:"scope,omitempty"`
	// Array of blueprint steps.
	Steps []BlueprintStep `json:"steps"`
	// Last modification date.
	Updated time.Time `json:"updated"`
}

BlueprintDetail represents a blueprint detail.

type BlueprintOverview

type BlueprintOverview struct {
	// Creation date.
	Created time.Time `json:"created"`
	// Blueprint deployment state.
	DeploymentState *DeploymentState `json:"deploymentState,omitempty"`
	// Description of the blueprint.
	Description *string `json:"description,omitempty"`
	// ID of the blueprint.
	ID string `json:"id"`
	// Name of the blueprint.
	Name string `json:"name"`
	// Last modification date.
	Updated time.Time `json:"updated"`
}

BlueprintOverview Array of result items.

type BlueprintScope

type BlueprintScope struct {
	// Device groups.
	DeviceGroups []string `json:"deviceGroups"`
}

BlueprintScope Device groups.

type BlueprintStatusDetail

type BlueprintStatusDetail struct {
	// Number of devices in failed state.
	Failed int `json:"failed"`
	// Number of devices in pending state.
	Pending int `json:"pending"`
	// Number of devices in successful state.
	Succeeded int `json:"succeeded"`
}

BlueprintStatusDetail represents a blueprint status detail.

type BlueprintStep

type BlueprintStep struct {
	// Declarative activation predicate.
	ActivationPredicate *string `json:"activationPredicate,omitempty"`
	// Array of components included in the step.
	Components []Component `json:"components"`
	// Name of the step.
	Name *string `json:"name,omitempty"`
}

BlueprintStep Array of blueprint steps.

type BookmarkGroup

type BookmarkGroup struct {
	// A list of bookmarks.
	Bookmarks []BookmarkItem `json:"Bookmarks"`
	// A string that specifies the unique identifier for this group of managed bookmarks.
	GroupIdentifier string `json:"GroupIdentifier"`
	// The name of the bookmarks folder.
	Title string `json:"Title"`
}

BookmarkGroup represents a bookmark group.

type BookmarkItem

type BookmarkItem struct {
	// Allowed values: see the BookmarkItemType constants.
	Type     string              `json:"Type"`
	BOOKMARK *URLBookmarkItem    `json:"-"`
	FOLDER   *FolderBookmarkItem `json:"-"`
}

BookmarkItem is a polymorphic response keyed by Type. Exactly one variant pointer is populated after unmarshaling.

func (BookmarkItem) MarshalJSON

func (m BookmarkItem) MarshalJSON() ([]byte, error)

MarshalJSON emits the active variant's JSON.

A discriminator that names a variant must be accompanied by exactly that variant: a nil one, or a different one set beside it, is an error rather than a body the caller did not write. Where the request carries a destructive command, a bare discriminator is a well-formed request with every option defaulted, and dropping a populated variant is how a caller ships it. An empty or unrecognised discriminator with no variant set is the one case that still emits the discriminator alone, so the zero value and an unknown value read from a response stay marshalable.

func (*BookmarkItem) UnmarshalJSON

func (m *BookmarkItem) UnmarshalJSON(data []byte) error

UnmarshalJSON dispatches the payload to the variant matching the Type discriminator. Unknown values leave the variant pointers nil but preserve the discriminator string.

type BookmarkItemType

type BookmarkItemType = string

BookmarkItemType is the set of values accepted by BookmarkItem.Type.

const (
	BookmarkItemTypeBookmark BookmarkItemType = "BOOKMARK"
	BookmarkItemTypeFolder   BookmarkItemType = "FOLDER"
)

BookmarkItemType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func BookmarkItemTypeValues

func BookmarkItemTypeValues() []BookmarkItemType

BookmarkItemTypeValues returns every value the Jamf API accepts for BookmarkItemType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type Calculator

type Calculator struct {
	// If present, configures the basic mode of the calculator. Basic mode is always enabled.
	BasicMode *BasicMode `json:"BasicMode,omitempty"`
	// If present, controls global input options of the calculator. If not present, all input modes are
	// enabled.
	InputModes *InputModes `json:"InputModes,omitempty"`
	// If present, configures the Math Notes mode of the calculator. If not present, math notes mode is
	// enabled.
	MathNotesMode *MathNotesMode `json:"MathNotesMode,omitempty"`
	// If present, configures the programmer mode of the calculator. If not present, programmer mode is
	// enabled.
	ProgrammerMode *ProgrammerMode `json:"ProgrammerMode,omitempty"`
	// If present, configures the scientific mode of the calculator. If not present, scientific mode is
	// enabled.
	ScientificMode *ScientificMode `json:"ScientificMode,omitempty"`
}

Calculator represents a calculator.

func (*Calculator) UnmarshalJSON

func (s *Calculator) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ChangeAtNextAuth

type ChangeAtNextAuth struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Change at next auth.
	Value *bool `json:"Value,omitempty"`
}

ChangeAtNextAuth represents a change at next auth.

func (*ChangeAtNextAuth) UnmarshalJSON

func (s *ChangeAtNextAuth) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type Client

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

Client provides typed methods for blueprints operations.

func New

func New(base *jamfplatform.Client) *Client

New creates a blueprints client that shares the authenticated transport of the given root client.

func (*Client) CreateBlueprint

func (c *Client) CreateBlueprint(ctx context.Context, request *CreateBlueprintRequest) (*CreateResponse, error)

CreateBlueprint create a new blueprint.

Required privileges: blueprints:create.

func (*Client) DeleteBlueprint

func (c *Client) DeleteBlueprint(ctx context.Context, blueprintID string) error

DeleteBlueprint delete a blueprint.

Required privileges: blueprints:delete.

Parameters:

  • blueprintID: Blueprint ID.

func (*Client) DeployBlueprint

func (c *Client) DeployBlueprint(ctx context.Context, blueprintID string) error

DeployBlueprint deploy blueprint.

Required privileges: blueprints:deploy.

Parameters:

  • blueprintID: Blueprint ID.

func (*Client) GetBlueprint

func (c *Client) GetBlueprint(ctx context.Context, blueprintID string) (*BlueprintDetail, error)

GetBlueprint get a blueprint.

Required privileges: blueprints:read.

Parameters:

  • blueprintID: Blueprint ID.

func (*Client) GetBlueprintComponent

func (c *Client) GetBlueprintComponent(ctx context.Context, identifier string) (*ComponentDescription, error)

GetBlueprintComponent get component.

Required privileges: blueprints:read.

Parameters:

  • identifier: Identifier of the component.

func (*Client) GetBlueprintReport

func (c *Client) GetBlueprintReport(ctx context.Context, blueprintID string) (*BlueprintStatusDetail, error)

GetBlueprintReport get blueprint status report.

Required privileges: blueprints:read.

Parameters:

  • blueprintID: Blueprint ID.

func (*Client) ListBlueprintComponents

func (c *Client) ListBlueprintComponents(ctx context.Context) ([]ComponentDescription, error)

ListBlueprintComponents list available blueprint components.

Required privileges: blueprints:read.

func (*Client) ListBlueprints

func (c *Client) ListBlueprints(ctx context.Context, sort []string, search string) ([]BlueprintOverview, error)

ListBlueprints list blueprints.

Required privileges: blueprints:read.

Parameters:

  • sort: Sorting criteria in the format: `<field_name>[:sort_direction][,<secondary_sort_field_name>[:sort_direction]]*`. Default sort direction is `asc` (Ascending). Use `desc` for Descending ordering. Additional sort parameters are supported and determine order of results that have equivalent values for previous sort parameters.
  • search: Search query to match against `name` and `description` properties.

func (*Client) ResolveBlueprintByName

func (c *Client) ResolveBlueprintByName(ctx context.Context, name string) (*BlueprintOverview, error)

ResolveBlueprintByName looks up a Blueprint by its name field and returns the decoded resource. Shares the same HTTP call as the ID-only variant; error semantics are identical.

func (*Client) ResolveBlueprintComponentByName

func (c *Client) ResolveBlueprintComponentByName(ctx context.Context, name string) (*ComponentDescription, error)

ResolveBlueprintComponentByName looks up a BlueprintComponent by its name field and returns the decoded resource. Shares the same HTTP call as the ID-only variant; error semantics are identical.

func (*Client) ResolveBlueprintComponentIDByName

func (c *Client) ResolveBlueprintComponentIDByName(ctx context.Context, name string) (string, error)

ResolveBlueprintComponentIDByName looks up a BlueprintComponent by its name field and returns the ID. Returns *APIResponseError with HasStatus(404) when no match exists, or *AmbiguousMatchError when multiple resources share the name.

func (*Client) ResolveBlueprintIDByName

func (c *Client) ResolveBlueprintIDByName(ctx context.Context, name string) (string, error)

ResolveBlueprintIDByName looks up a Blueprint by its name field and returns the ID. Returns *APIResponseError with HasStatus(404) when no match exists, or *AmbiguousMatchError when multiple resources share the name.

func (*Client) UndeployBlueprint

func (c *Client) UndeployBlueprint(ctx context.Context, blueprintID string) error

UndeployBlueprint undeploy blueprint.

Required privileges: blueprints:deploy.

Parameters:

  • blueprintID: Blueprint ID.

func (*Client) UpdateBlueprint

func (c *Client) UpdateBlueprint(ctx context.Context, blueprintID string, request *UpdateBlueprintRequest) error

UpdateBlueprint updates a blueprint configuration.

Required privileges: blueprints:update.

Parameters:

  • blueprintID: Blueprint ID.

type Component

type Component struct {
	Configuration json.RawMessage `json:"configuration"`
	Identifier    string          `json:"identifier"`
}

Component A blueprint component.

type ComponentDescription

type ComponentDescription struct {
	// Description of the component.
	Description *string `json:"description,omitempty"`
	// Blueprint component identifier.
	Identifier string `json:"identifier"`
	// Meta object containing additional information about component.
	Meta *Meta `json:"meta,omitempty"`
	// Name of the component.
	Name string `json:"name"`
}

ComponentDescription Array of result items.

type ConfigurationProfile

type ConfigurationProfile struct {
	// Configuration wrapper for one or more Apple MDM profile payloads.
	// ### Example — `com.apple.domains`.
	// Using the payload defined in
	// [com.apple.domains.yaml](https://github.com/apple/device-management/blob/release/mdm/profiles/com.apple.domains.yaml),
	// its `payloadkeys` are `EmailDomains`, `WebDomains`, `SafariPasswordAutoFillDomains`,
	// `CrossSiteTrackingPreventionRelaxedDomains`, and `CrossSiteTrackingPreventionRelaxedApps` — all
	// optional arrays of strings.
	// “`json { "payloadDisplayName": "Managed Domains", "payloadContent": [ { "payloadType":
	// "com.apple.domains", "EmailDomains": ["example.com", "private.example.com"], "WebDomains":
	// ["*.example.com"], "SafariPasswordAutoFillDomains": ["login.example.com"] } ] } “`.
	// ### Example — `com.apple.wifi.managed`.
	// The same pattern works for any payload. For
	// [com.apple.wifi.managed](https://github.com/apple/device-management/blob/release/mdm/profiles/com.apple.wifi.managed.yaml),
	// look up its `payloadkeys` and send:
	// “`json { "payloadDisplayName": "Corporate Wi-Fi", "payloadContent": [ { "payloadType":
	// "com.apple.wifi.managed", "SSID_STR": "Corporate-WiFi", "EncryptionType": "WPA2", "AutoJoin": true,
	// "IsHotspot": false } ] } “`.
	// ### Combining multiple Apple payloads in one component.
	// A single `com.jamf.ddm-configuration-profile` component can contain multiple Apple payloads in the
	// `payloadContent` array:
	// “`json { "payloadDisplayName": "Network & Domains", "payloadContent": [ { "payloadType":
	// "com.apple.domains", "WebDomains": ["*.corp.example.com"], "EmailDomains": ["corp.example.com"] }, {
	// "payloadType": "com.apple.wifi.managed", "SSID_STR": "CorpNet", "EncryptionType": "WPA3" } ] } “`.
	// You can also place multiple `com.jamf.ddm-configuration-profile` components in the same blueprint
	// step alongside other component types.
	Configuration ConfigurationProfileConfiguration `json:"configuration"`
	// ## Using Apple MDM profile payloads as blueprint components.
	// The API accepts **any** Apple MDM configuration profile payload as a blueprint component — not
	// only the ones explicitly listed in this specification. Use the `com.jamf.ddm-configuration-profile`
	// identifier with the pattern described here to send one or more Apple payloads.
	// Apple publishes all payload definitions at
	// [apple/device-management/mdm/profiles](https://github.com/apple/device-management/tree/release/mdm/profiles).
	// ### Step 1 — Choose the Apple payload(s).
	// Find the payload YAML in the Apple repository. The `payloadtype` field (e.g., `com.apple.domains`,
	// `com.apple.wifi.managed`, `com.apple.applicationaccess`) identifies each payload.
	// > **Unsupported payload types:** Blueprints with > `com.apple.font` or `com.apple.webClip.managed`
	// payloads > cannot be created.
	// ### Step 2 — Build the `configuration` object.
	// The `configuration` has two mandatory fields:
	// | Field | Type | Description |
	// |---|---|---|
	// | `payloadDisplayName` | string | A human-readable name shown on the device (e.g., `"Managed Domains"`) |
	// | `payloadContent` | array | An array of payload objects — each one represents a single Apple payload |
	// Each entry in `payloadContent` **must** contain:
	// | Field | Type | Description |
	// |---|---|---|
	// | `payloadType` | string | The Apple payload type identifier (e.g., `com.apple.domains`) |
	// In addition to `payloadType`, include the payload-specific keys from the `payloadkeys` section of
	// the Apple payload YAML.
	// ### Apple type → JSON type mapping.
	// | Apple type | JSON value type | Example |
	// |---|---|---|
	// | `<string>` | string | `"example.com"` |
	// | `<integer>` | number | `42` |
	// | `<real>` | number | `3.14` |
	// | `<boolean>` | boolean | `true` |
	// | `<data>` | string (Base64-encoded) | `"SGVsbG8="` |
	// | `<date>` | string (ISO 8601) | `"2026-01-15T00:00:00Z"` |
	// | `<array>` | array | `["a", "b"]` |
	// | `<dictionary>` | object | `{ "key": "value" }` |
	// Only include the keys you want to configure. Keys marked `presence: optional` in the Apple YAML can
	// be omitted; keys marked `presence: required` must be present.
	// ### Reference.
	// - Apple payload definitions: https://github.com/apple/device-management/tree/release/mdm/profiles -
	// Apple Configuration Profile reference:
	// https://developer.apple.com/documentation/devicemanagement/profile-specific-payload-keys.
	// Allowed values: see the ConfigurationProfileIdentifier constants.
	Identifier string `json:"identifier"`
}

ConfigurationProfile Component for sending any Apple MDM configuration profile payload as a blueprint component.

type ConfigurationProfileConfiguration

type ConfigurationProfileConfiguration struct {
	// An array of Apple payload objects. Each entry represents a single Apple MDM payload and **must**
	// include a `payloadType` field set to the Apple payload type identifier (e.g., `com.apple.domains`,
	// `com.apple.wifi.managed`, `com.apple.applicationaccess`).
	// In addition to `payloadType`, include any payload-specific keys from the `payloadkeys` section of
	// the corresponding Apple payload YAML definition. Any additional properties beyond `payloadType` are
	// accepted to accommodate any Apple payload schema.
	PayloadContent []json.RawMessage `json:"payloadContent"`
	// A human-readable name for this configuration profile, displayed on the device.
	PayloadDisplayName string `json:"payloadDisplayName"`
}

ConfigurationProfileConfiguration Configuration wrapper for one or more Apple MDM profile payloads. ### Example — `com.apple.domains` Using the payload defined in [com.apple.domains.yaml](https://github.com/apple/device-management/blob/release/mdm/profiles/com.apple.domains.yaml), its `payloadkeys` are `EmailDomains`, `WebDomains`, `SafariPasswordAutoFillDomains`, `CrossSiteTrackingPreventionRelaxedDomains`, and `CrossSiteTrackingPreventionRelaxedApps` — all optional arrays of strings. ```json { "payloadDisplayName": "Managed Domains", "payloadContent": [ { "payloadType": "com.apple.domains", "EmailDomains": ["example.com", "private.example.com"], "WebDomains": ["*.example.com"], "SafariPasswordAutoFillDomains": ["login.example.com"] } ] } ``` ### Example — `com.apple.wifi.managed` The same pattern works for any payload. For [com.apple.wifi.managed](https://github.com/apple/device-management/blob/release/mdm/profiles/com.apple.wifi.managed.yaml), look up its `payloadkeys` and send: ```json { "payloadDisplayName": "Corporate Wi-Fi", "payloadContent": [ { "payloadType": "com.apple.wifi.managed", "SSID_STR": "Corporate-WiFi", "EncryptionType": "WPA2", "AutoJoin": true, "IsHotspot": false } ] } ``` ### Combining multiple Apple payloads in one component A single `com.jamf.ddm-configuration-profile` component can contain multiple Apple payloads in the `payloadContent` array: ```json { "payloadDisplayName": "Network & Domains", "payloadContent": [ { "payloadType": "com.apple.domains", "WebDomains": ["*.corp.example.com"], "EmailDomains": ["corp.example.com"] }, { "payloadType": "com.apple.wifi.managed", "SSID_STR": "CorpNet", "EncryptionType": "WPA3" } ] } ``` You can also place multiple `com.jamf.ddm-configuration-profile` components in the same blueprint step alongside other component types.

type ConfigurationProfileContentItem

type ConfigurationProfileContentItem struct {
	// The Apple payload type identifier (e.g., `com.apple.domains`, `com.apple.wifi.managed`,
	// `com.apple.applicationaccess`).
	PayloadType string `json:"payloadType"`
}

ConfigurationProfileContentItem A single Apple MDM payload entry. Must contain `payloadType` to identify the Apple payload, plus any payload-specific keys.

type ConfigurationProfileIdentifier

type ConfigurationProfileIdentifier = string

ConfigurationProfileIdentifier is the set of values accepted by ConfigurationProfile.Identifier.

const (
	ConfigurationProfileIdentifierComJamfDdmConfigurationProfile ConfigurationProfileIdentifier = "com.jamf.ddm-configuration-profile"
)

ConfigurationProfileIdentifier values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ConfigurationProfileIdentifierValues

func ConfigurationProfileIdentifierValues() []ConfigurationProfileIdentifier

ConfigurationProfileIdentifierValues returns every value the Jamf API accepts for ConfigurationProfileIdentifier, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ContentCachingDeclaration added in v1.2.0

type ContentCachingDeclaration struct {
	// The channel to which the declaration applies: - `SYSTEM` — applies to the system (device) channel
	// - `USER` — applies to the user channel.
	ChannelType DeclarationChannelType `json:"channelType"`
	// All declarations in this component are `com.apple.configuration.*` types.
	// Allowed values: see the ContentCachingDeclarationKind constants.
	Kind string `json:"kind"`
	// Payload fields for the Content Caching declaration.
	Payload ContentCachingDeclarationPayload `json:"payload"`
	// Allowed values: see the ContentCachingDeclarationType constants.
	Type string `json:"type"`
}

ContentCachingDeclaration Configures the built-in Content Caching service. macOS only.

func (*ContentCachingDeclaration) UnmarshalJSON added in v1.2.0

func (s *ContentCachingDeclaration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ContentCachingDeclarationKind added in v1.2.0

type ContentCachingDeclarationKind = string

ContentCachingDeclarationKind is the set of values accepted by ContentCachingDeclaration.Kind.

const (
	ContentCachingDeclarationKindConfiguration ContentCachingDeclarationKind = "CONFIGURATION"
)

ContentCachingDeclarationKind values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ContentCachingDeclarationKindValues added in v1.2.0

func ContentCachingDeclarationKindValues() []ContentCachingDeclarationKind

ContentCachingDeclarationKindValues returns every value the Jamf API accepts for ContentCachingDeclarationKind, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ContentCachingDeclarationPayload added in v1.2.0

type ContentCachingDeclarationPayload struct {
	// If `true`, the system may purge cached content when disk space is low.
	AllowCacheDelete *bool `json:"AllowCacheDelete,omitempty"`
	// Caches the user's iCloud data. At least one of `AllowPersonalCaching`/`AllowSharedCaching` must be
	// `true`.
	AllowPersonalCaching *bool `json:"AllowPersonalCaching,omitempty"`
	// Caches non-iCloud content such as apps and software updates.
	AllowSharedCaching *bool `json:"AllowSharedCaching,omitempty"`
	// Automatically activates Content Caching when possible.
	AutoActivation *bool `json:"AutoActivation,omitempty"`
	// Automatically enables Internet connection sharing for tethered caching.
	AutoEnableTetheredCaching *bool `json:"AutoEnableTetheredCaching,omitempty"`
	// Maximum disk space in bytes for the cache. `0` is unlimited.
	CacheLimit *int `json:"CacheLimit,omitempty"`
	// Directory used to store cached content. Must end with `/Library/Application
	// Support/Apple/AssetCache/Data`.
	DataPath *string `json:"DataPath,omitempty"`
	// Reporting interval in seconds for the status item. `0` disables it; any other value must be between
	// 300 and 86400.
	DeclarativeStatusInterval *int `json:"DeclarativeStatusInterval,omitempty"`
	// If `true`, disables Content Caching entirely.
	DenyActivation *bool `json:"DenyActivation,omitempty"`
	// If `true`, disables tethered caching.
	DenyTetheredCaching *bool `json:"DenyTetheredCaching,omitempty"`
	// Shows exceptional conditions as system notifications.
	DisplayAlerts *bool `json:"DisplayAlerts,omitempty"`
	// Prevents sleep while Content Caching is on.
	KeepAwake *bool `json:"KeepAwake,omitempty"`
	// Client IP ranges to serve.
	ListenRanges *[]ContentCachingIpRange `json:"ListenRanges,omitempty"`
	// Restricts serving to `ListenRanges` only.
	ListenRangesOnly *bool `json:"ListenRangesOnly,omitempty"`
	// Serves clients in the union of `ListenRanges`, `PeerListenRanges`, and `Parents`.
	ListenWithPeersAndParents *bool `json:"ListenWithPeersAndParents,omitempty"`
	// Restricts serving to the local subnet, ignoring `ListenRanges`.
	LocalSubnetsOnly *bool `json:"LocalSubnetsOnly,omitempty"`
	// Logs client IP and port.
	LogClientIdentity *bool `json:"LogClientIdentity,omitempty"`
	// Reporting interval in seconds for management statistics.
	ManagementReportingInterval *int `json:"ManagementReportingInterval,omitempty"`
	// How the `ManagementStatusTarget` HTTPS connection is secured.
	// Allowed values: see the ContentCachingDeclarationPayloadManagementSecurityConfig constants.
	ManagementSecurityConfig *string `json:"ManagementSecurityConfig,omitempty"`
	// Asset declaration identifier for the certificate used to verify `ManagementStatusTarget`.
	ManagementStatusCertificateReference *string `json:"ManagementStatusCertificateReference,omitempty"`
	// URL the cache PUTs management statistics to.
	ManagementStatusTarget *string `json:"ManagementStatusTarget,omitempty"`
	// Policy for choosing among multiple parents.
	// Allowed values: see the ContentCachingDeclarationPayloadParentSelectionPolicy constants.
	ParentSelectionPolicy *string `json:"ParentSelectionPolicy,omitempty"`
	// IP addresses of upstream content caches to use instead of Apple directly.
	Parents *[]string `json:"Parents,omitempty"`
	// Peer IP ranges this cache queries for content.
	PeerFilterRanges *[]ContentCachingIpRange `json:"PeerFilterRanges,omitempty"`
	// Peer IP ranges this cache responds to.
	PeerListenRanges *[]ContentCachingIpRange `json:"PeerListenRanges,omitempty"`
	// Restricts peering to the local subnet.
	PeerLocalSubnetsOnly *bool `json:"PeerLocalSubnetsOnly,omitempty"`
	// Maximum disk space in bytes for personal (iCloud) content. `0` uses `CacheLimit`.
	PersonalCacheLimit *int `json:"PersonalCacheLimit,omitempty"`
	// TCP port for upload/download requests. `0` picks a random port.
	Port *int `json:"Port,omitempty"`
	// Public IP ranges cloud servers use to match clients to caches.
	PublicRanges *[]ContentCachingIpRange `json:"PublicRanges,omitempty"`
}

ContentCachingDeclarationPayload Payload fields for the Content Caching declaration.

func (*ContentCachingDeclarationPayload) UnmarshalJSON added in v1.2.0

func (s *ContentCachingDeclarationPayload) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ContentCachingDeclarationPayloadManagementSecurityConfig added in v1.2.0

type ContentCachingDeclarationPayloadManagementSecurityConfig = string

ContentCachingDeclarationPayloadManagementSecurityConfig is the set of values accepted by ContentCachingDeclarationPayload.ManagementSecurityConfig.

const (
	ContentCachingDeclarationPayloadManagementSecurityConfigNoCert             ContentCachingDeclarationPayloadManagementSecurityConfig = "no-cert"
	ContentCachingDeclarationPayloadManagementSecurityConfigSignedByCACert     ContentCachingDeclarationPayloadManagementSecurityConfig = "signedByCACert"
	ContentCachingDeclarationPayloadManagementSecurityConfigSpecificServerCert ContentCachingDeclarationPayloadManagementSecurityConfig = "specificServerCert"
)

ContentCachingDeclarationPayloadManagementSecurityConfig values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ContentCachingDeclarationPayloadManagementSecurityConfigValues added in v1.2.0

func ContentCachingDeclarationPayloadManagementSecurityConfigValues() []ContentCachingDeclarationPayloadManagementSecurityConfig

ContentCachingDeclarationPayloadManagementSecurityConfigValues returns every value the Jamf API accepts for ContentCachingDeclarationPayloadManagementSecurityConfig, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ContentCachingDeclarationPayloadParentSelectionPolicy added in v1.2.0

type ContentCachingDeclarationPayloadParentSelectionPolicy = string

ContentCachingDeclarationPayloadParentSelectionPolicy is the set of values accepted by ContentCachingDeclarationPayload.ParentSelectionPolicy.

const (
	ContentCachingDeclarationPayloadParentSelectionPolicyFirstAvailable  ContentCachingDeclarationPayloadParentSelectionPolicy = "first-available"
	ContentCachingDeclarationPayloadParentSelectionPolicyURLPathHash     ContentCachingDeclarationPayloadParentSelectionPolicy = "url-path-hash"
	ContentCachingDeclarationPayloadParentSelectionPolicyRandom          ContentCachingDeclarationPayloadParentSelectionPolicy = "random"
	ContentCachingDeclarationPayloadParentSelectionPolicyRoundRobin      ContentCachingDeclarationPayloadParentSelectionPolicy = "round-robin"
	ContentCachingDeclarationPayloadParentSelectionPolicyStickyAvailable ContentCachingDeclarationPayloadParentSelectionPolicy = "sticky-available"
)

ContentCachingDeclarationPayloadParentSelectionPolicy values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ContentCachingDeclarationPayloadParentSelectionPolicyValues added in v1.2.0

func ContentCachingDeclarationPayloadParentSelectionPolicyValues() []ContentCachingDeclarationPayloadParentSelectionPolicy

ContentCachingDeclarationPayloadParentSelectionPolicyValues returns every value the Jamf API accepts for ContentCachingDeclarationPayloadParentSelectionPolicy, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ContentCachingDeclarationType added in v1.2.0

type ContentCachingDeclarationType = string

ContentCachingDeclarationType is the set of values accepted by ContentCachingDeclaration.Type.

const (
	ContentCachingDeclarationTypeComAppleConfigurationContentCacheSettings ContentCachingDeclarationType = "com.apple.configuration.content-cache.settings"
)

ContentCachingDeclarationType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ContentCachingDeclarationTypeValues added in v1.2.0

func ContentCachingDeclarationTypeValues() []ContentCachingDeclarationType

ContentCachingDeclarationTypeValues returns every value the Jamf API accepts for ContentCachingDeclarationType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ContentCachingIpRange added in v1.2.0

type ContentCachingIpRange struct {
	// The first IP address in the range.
	First string `json:"first"`
	// The last IP address in the range.
	Last string `json:"last"`
	// Allowed values: see the ContentCachingIpRangeType constants.
	Type *string `json:"type,omitempty"`
}

ContentCachingIpRange A range of IP addresses.

type ContentCachingIpRangeType added in v1.2.0

type ContentCachingIpRangeType = string

ContentCachingIpRangeType is the set of values accepted by ContentCachingIpRange.Type.

const (
	ContentCachingIpRangeTypeIPv4 ContentCachingIpRangeType = "IPv4"
	ContentCachingIpRangeTypeIPv6 ContentCachingIpRangeType = "IPv6"
)

ContentCachingIpRangeType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ContentCachingIpRangeTypeValues added in v1.2.0

func ContentCachingIpRangeTypeValues() []ContentCachingIpRangeType

ContentCachingIpRangeTypeValues returns every value the Jamf API accepts for ContentCachingIpRangeType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type CreateBlueprintRequest

type CreateBlueprintRequest struct {
	// Description of the blueprint.
	Description *string `json:"description,omitempty"`
	// Name of the blueprint.
	Name string `json:"name"`
	// Scope of the blueprint.
	Scope CreateScope `json:"scope"`
	// Array of blueprint steps.
	Steps []BlueprintStep `json:"steps"`
}

CreateBlueprintRequest represents a create blueprint request.

type CreateResponse

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

CreateResponse represents a create response.

type CreateScope

type CreateScope struct {
	// Device groups.
	DeviceGroups []string `json:"deviceGroups"`
}

CreateScope Scope of the blueprint.

type CustomDeclaration

type CustomDeclaration struct {
	// The channel to which the declaration applies: - `SYSTEM` — applies to the system (device) channel
	// - `USER` — applies to the user channel.
	ChannelType DeclarationChannelType `json:"channelType"`
	// The declaration group, determined by the Apple declaration type prefix: - `CONFIGURATION` — for
	// `com.apple.configuration.*` types - `ASSET` — for `com.apple.asset.*` types.
	Kind DeclarationKind `json:"kind"`
	// A JSON object containing the declaration-specific keys from the Apple declaration schema. Include
	// the `payloadkeys` fields from the corresponding Apple declaration YAML. Additional properties are
	// accepted to accommodate any Apple declaration schema.
	Payload map[string]any `json:"payload"`
	// An integer that identifies this declaration within the `declarations` list of this request. Use this
	// value to cross-reference declarations in other payload fields via the `$PAYLOAD_<payloadKey>`
	// placeholder, which is substituted at deploy time with the generated declaration identifier. The
	// value is local to the current request. It does not need to be globally unique or consistent across
	// requests.
	PayloadKey int `json:"payloadKey"`
	// The Apple declarative device management declaration type identifier (e.g.,
	// `com.apple.configuration.passcode.settings`, `com.apple.asset.useridentity`).
	Type string `json:"type"`
}

CustomDeclaration A single Apple declarative device management declaration entry.

func (*CustomDeclaration) UnmarshalJSON

func (s *CustomDeclaration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type CustomDeclarationsComponent

type CustomDeclarationsComponent struct {
	// Configuration object containing one or more Apple declarative device management declarations.
	// ### Example — single configuration declaration.
	// “`json { "declarations": [ { "type": "com.apple.configuration.passcode.settings", "channelType":
	// "SYSTEM", "kind": "CONFIGURATION", "payload": { "RequirePasscode": true, "MinimumLength": 8,
	// "MaximumFailedAttempts": 10 }, "payloadKey": 1 } ] } “`.
	// ### Example — configuration declaration referencing an asset.
	// A configuration declaration can reference an asset declaration defined in the same `declarations`
	// array using the `$PAYLOAD_<payloadKey>` placeholder. The `payloadKey` values are local to the
	// declarations list in this request — they do not need to be globally unique or consistent across
	// requests:
	// “`json { "declarations": [ { "type": "com.apple.asset.credential.userpassword", "channelType":
	// "SYSTEM", "kind": "ASSET", "payload": { "Reference": { "DataURL":
	// "https://example.com/asset-data/credential.json", "ContentType": "application/json" } },
	// "payloadKey": 1 }, { "type": "com.apple.configuration.account.caldav", "channelType": "SYSTEM",
	// "kind": "CONFIGURATION", "payload": { "HostName": "caldav.example.com", "VisibleName": "Work
	// Calendar", "AuthenticationCredentialsAssetReference": "$PAYLOAD_1" }, "payloadKey": 2 } ] } “`.
	Configuration CustomDeclarationsConfiguration `json:"configuration"`
	// ## Use Apple declarative device management declarations as blueprint components.
	// The API accepts any Apple declarative device management configuration or asset declaration as a
	// blueprint component, not only the ones explicitly listed in this specification. Use the
	// `com.jamf.ddm.custom-declarations` identifier with the pattern described here to send one or more
	// Apple declarative device management declarations.
	// Apple publishes all declaration definitions at
	// [apple/device-management/declarative/declarations](https://github.com/apple/device-management/tree/release/declarative/declarations).
	// ### Step 1 — Choose the Apple declaration type.
	// Find the declaration YAML in the Apple repository. The `declarationtype` field (e.g.,
	// `com.apple.configuration.passcode.settings`, `com.apple.asset.useridentity`) identifies each
	// declaration.
	// ### Step 2 — Set the `kind` field.
	// The `kind` maps to the declaration group, derived from the Apple declaration type prefix:
	// | `kind` | Apple declaration type prefix |
	// |---|---|
	// | `CONFIGURATION` | `com.apple.configuration.` |
	// | `ASSET` | `com.apple.asset.` |
	// ### Step 3 — Set the `channelType` field.
	// | `channelType` | Description |
	// |---|---|
	// | `SYSTEM` | Applies the declaration to the system (device) channel |
	// | `USER` | Applies the declaration to the user channel |
	// ### Step 4 — Build the `payload` object.
	// The `payload` is a JSON object containing the declaration-specific keys from the `payloadkeys`
	// section of the corresponding Apple declaration YAML.
	// Only include the keys you want to configure. Keys marked `presence: optional` in the Apple YAML can
	// be omitted; keys marked `presence: required` must be present.
	// ### Step 5 — Use `payloadKey` for cross-declaration references.
	// Each declaration in the array has an integer `payloadKey` that identifies it within the
	// `declarations` list of this request. To reference another declaration's generated identifier in a
	// payload field, use the placeholder `$PAYLOAD_<payloadKey>`. This placeholder is substituted at
	// deploy time with the actual declaration identifier of the referenced declaration.
	// The `payloadKey` value is local to the declarations in this request — it does not need to be
	// globally unique or consistent across requests. This is useful when a configuration declaration must
	// reference an asset declaration defined in the same component.
	// Allowed values: see the CustomDeclarationsComponentIdentifier constants.
	Identifier string `json:"identifier"`
}

CustomDeclarationsComponent Blueprint component that delivers any Apple declarative device management declarations to managed devices.

func (*CustomDeclarationsComponent) UnmarshalJSON

func (s *CustomDeclarationsComponent) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type CustomDeclarationsComponentIdentifier

type CustomDeclarationsComponentIdentifier = string

CustomDeclarationsComponentIdentifier is the set of values accepted by CustomDeclarationsComponent.Identifier.

const (
	CustomDeclarationsComponentIdentifierComJamfDdmCustomDeclarations CustomDeclarationsComponentIdentifier = "com.jamf.ddm.custom-declarations"
)

CustomDeclarationsComponentIdentifier values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func CustomDeclarationsComponentIdentifierValues

func CustomDeclarationsComponentIdentifierValues() []CustomDeclarationsComponentIdentifier

CustomDeclarationsComponentIdentifierValues returns every value the Jamf API accepts for CustomDeclarationsComponentIdentifier, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type CustomDeclarationsConfiguration

type CustomDeclarationsConfiguration struct {
	// An array of Apple declarative device management declaration objects to include in this component.
	Declarations []CustomDeclaration `json:"declarations"`
}

CustomDeclarationsConfiguration Configuration object containing one or more Apple declarative device management declarations. ### Example — single configuration declaration ```json { "declarations": [ { "type": "com.apple.configuration.passcode.settings", "channelType": "SYSTEM", "kind": "CONFIGURATION", "payload": { "RequirePasscode": true, "MinimumLength": 8, "MaximumFailedAttempts": 10 }, "payloadKey": 1 } ] } ``` ### Example — configuration declaration referencing an asset A configuration declaration can reference an asset declaration defined in the same `declarations` array using the `$PAYLOAD_<payloadKey>` placeholder. The `payloadKey` values are local to the declarations list in this request — they do not need to be globally unique or consistent across requests: ```json { "declarations": [ { "type": "com.apple.asset.credential.userpassword", "channelType": "SYSTEM", "kind": "ASSET", "payload": { "Reference": { "DataURL": "https://example.com/asset-data/credential.json", "ContentType": "application/json" } }, "payloadKey": 1 }, { "type": "com.apple.configuration.account.caldav", "channelType": "SYSTEM", "kind": "CONFIGURATION", "payload": { "HostName": "caldav.example.com", "VisibleName": "Work Calendar", "AuthenticationCredentialsAssetReference": "$PAYLOAD_1" }, "payloadKey": 2 } ] } ```.

func (*CustomDeclarationsConfiguration) UnmarshalJSON

func (s *CustomDeclarationsConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type CustomRegex

type CustomRegex struct {
	// Map of OS language ID to a localized description. Use the special `default` key for languages that
	// the dictionary doesn't contain.
	Description *map[string]string `json:"Description,omitempty"`
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Regular expression.
	Regex *string `json:"Regex,omitempty"`
}

CustomRegex represents a custom regex.

func (*CustomRegex) UnmarshalJSON

func (s *CustomRegex) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type DeclarationChannelType

type DeclarationChannelType = string

DeclarationChannelType represents a declaration channel type value.

const (
	DeclarationChannelTypeSystem DeclarationChannelType = "SYSTEM"
	DeclarationChannelTypeUser   DeclarationChannelType = "USER"
)

DeclarationChannelType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func DeclarationChannelTypeValues

func DeclarationChannelTypeValues() []DeclarationChannelType

DeclarationChannelTypeValues returns every value the Jamf API accepts for DeclarationChannelType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type DeclarationKind

type DeclarationKind = string

DeclarationKind represents a declaration kind value.

const (
	DeclarationKindConfiguration DeclarationKind = "CONFIGURATION"
	DeclarationKindAsset         DeclarationKind = "ASSET"
)

DeclarationKind values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func DeclarationKindValues

func DeclarationKindValues() []DeclarationKind

DeclarationKindValues returns every value the Jamf API accepts for DeclarationKind, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type DeclarationsComponent added in v1.2.0

type DeclarationsComponent struct {
	// Configuration wrapper for one or more declarations.
	// ### Example.
	// “`json { "identifier": "com.jamf.ddm-strict", "configuration": { "declarations": [ { "type":
	// "com.apple.configuration.app.managed", "channelType": "SYSTEM", "kind": "CONFIGURATION", "payload":
	// { "AppStoreID": "361285480", "InstallBehavior": { "Install": "Required", "License": { "Assignment":
	// "Device" } } } } ] } } “`.
	Configuration DeclarationsComponentConfiguration `json:"configuration"`
	// ## Supported declarations.
	// | Item | Type identifier | Supported OS |
	// |---|---|---|
	// | Managed App | `com.apple.configuration.app.managed` | macOS 26.0+ |
	// | App Settings | `com.apple.configuration.app.settings` | iOS 27.0+, macOS 27.0+, tvOS 27.0+, visionOS 27.0+ |
	// | Content Caching | `com.apple.configuration.content-cache.settings` | macOS 27.0+ |
	// | External Intelligence Settings | `com.apple.configuration.external-intelligence.settings` | iOS 26.4+, macOS 26.4+, visionOS 26.4+ |
	// | Intelligence Settings | `com.apple.configuration.intelligence.settings` | iOS 26.4+, macOS 26.4+, visionOS 26.4+ |
	// | Keyboard Settings | `com.apple.configuration.keyboard.settings` | iOS 26.4+, macOS 26.4+ |
	// | Package | `com.apple.configuration.package` | macOS 26.0+ |
	// | Screen Sharing Connection | `com.apple.configuration.screensharing.connection` | macOS 14.0+ |
	// | Screen Sharing Connection Group | `com.apple.configuration.screensharing.connection.group` | macOS 14.0+ |
	// | Screen Sharing Host Settings | `com.apple.configuration.screensharing.host.settings` | macOS 14.0+ |
	// | Siri Settings | `com.apple.configuration.siri.settings` | iOS 26.4+, macOS 26.4+, tvOS 27.0+, visionOS 26.4+, watchOS 26.4+ |
	// A single component can contain multiple declarations, of different supported types, in its
	// `declarations` array. Each array entry is one of the items above, identified by its own `type`
	// field.
	// Apple publishes the full specification for each of these at
	// [apple/device-management/declarative/declarations/configurations](https://github.com/apple/device-management/tree/release/declarative/declarations/configurations).
	// Allowed values: see the DeclarationsComponentIdentifier constants.
	Identifier string `json:"identifier"`
}

DeclarationsComponent Blueprint component for one or more supported Apple declarations.

func (*DeclarationsComponent) UnmarshalJSON added in v1.2.0

func (s *DeclarationsComponent) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type DeclarationsComponentConfiguration added in v1.2.0

type DeclarationsComponentConfiguration struct {
	// An array of declaration items, each identified by its own `type`.
	Declarations []DeclarationsComponentConfigurationDeclarationsItem `json:"declarations"`
}

DeclarationsComponentConfiguration Configuration wrapper for one or more declarations. ### Example ```json { "identifier": "com.jamf.ddm-strict", "configuration": { "declarations": [ { "type": "com.apple.configuration.app.managed", "channelType": "SYSTEM", "kind": "CONFIGURATION", "payload": { "AppStoreID": "361285480", "InstallBehavior": { "Install": "Required", "License": { "Assignment": "Device" } } } } ] } } ```.

func (*DeclarationsComponentConfiguration) UnmarshalJSON added in v1.2.0

func (s *DeclarationsComponentConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type DeclarationsComponentConfigurationDeclarationsItem added in v1.2.0

type DeclarationsComponentConfigurationDeclarationsItem struct {
	// Allowed values: see the DeclarationsComponentConfigurationDeclarationsItemType constants.
	Type                                    string                                   `json:"type"`
	ManagedAppDeclaration                   *ManagedAppDeclaration                   `json:"-"`
	AppSettingsDeclaration                  *AppSettingsDeclaration                  `json:"-"`
	ContentCachingDeclaration               *ContentCachingDeclaration               `json:"-"`
	ExternalIntelligenceSettingsDeclaration *ExternalIntelligenceSettingsDeclaration `json:"-"`
	IntelligenceSettingsDeclaration         *IntelligenceSettingsDeclaration         `json:"-"`
	KeyboardSettingsDeclaration             *KeyboardSettingsDeclaration             `json:"-"`
	PackageDeclaration                      *PackageDeclaration                      `json:"-"`
	ScreenSharingConnectionDeclaration      *ScreenSharingConnectionDeclaration      `json:"-"`
	ScreenSharingConnectionGroupDeclaration *ScreenSharingConnectionGroupDeclaration `json:"-"`
	ScreenSharingHostSettingsDeclaration    *ScreenSharingHostSettingsDeclaration    `json:"-"`
	SiriSettingsDeclaration                 *SiriSettingsDeclaration                 `json:"-"`
}

DeclarationsComponentConfigurationDeclarationsItem is a polymorphic response keyed by type. Exactly one variant pointer is populated after unmarshaling.

func (DeclarationsComponentConfigurationDeclarationsItem) MarshalJSON added in v1.2.0

MarshalJSON emits the active variant's JSON.

A discriminator that names a variant must be accompanied by exactly that variant: a nil one, or a different one set beside it, is an error rather than a body the caller did not write. Where the request carries a destructive command, a bare discriminator is a well-formed request with every option defaulted, and dropping a populated variant is how a caller ships it. An empty or unrecognised discriminator with no variant set is the one case that still emits the discriminator alone, so the zero value and an unknown value read from a response stay marshalable.

func (*DeclarationsComponentConfigurationDeclarationsItem) UnmarshalJSON added in v1.2.0

UnmarshalJSON dispatches the payload to the variant matching the type discriminator. Unknown values leave the variant pointers nil but preserve the discriminator string.

type DeclarationsComponentConfigurationDeclarationsItemType added in v1.2.0

type DeclarationsComponentConfigurationDeclarationsItemType = string

DeclarationsComponentConfigurationDeclarationsItemType is the set of values accepted by DeclarationsComponentConfigurationDeclarationsItem.Type.

const (
	DeclarationsComponentConfigurationDeclarationsItemTypeComAppleConfigurationAppManaged                   DeclarationsComponentConfigurationDeclarationsItemType = "com.apple.configuration.app.managed"
	DeclarationsComponentConfigurationDeclarationsItemTypeComAppleConfigurationAppSettings                  DeclarationsComponentConfigurationDeclarationsItemType = "com.apple.configuration.app.settings"
	DeclarationsComponentConfigurationDeclarationsItemTypeComAppleConfigurationContentCacheSettings         DeclarationsComponentConfigurationDeclarationsItemType = "com.apple.configuration.content-cache.settings"
	DeclarationsComponentConfigurationDeclarationsItemTypeComAppleConfigurationExternalIntelligenceSettings DeclarationsComponentConfigurationDeclarationsItemType = "com.apple.configuration.external-intelligence.settings"
	DeclarationsComponentConfigurationDeclarationsItemTypeComAppleConfigurationIntelligenceSettings         DeclarationsComponentConfigurationDeclarationsItemType = "com.apple.configuration.intelligence.settings"
	DeclarationsComponentConfigurationDeclarationsItemTypeComAppleConfigurationKeyboardSettings             DeclarationsComponentConfigurationDeclarationsItemType = "com.apple.configuration.keyboard.settings"
	DeclarationsComponentConfigurationDeclarationsItemTypeComAppleConfigurationPackage                      DeclarationsComponentConfigurationDeclarationsItemType = "com.apple.configuration.package"
	DeclarationsComponentConfigurationDeclarationsItemTypeComAppleConfigurationScreensharingConnection      DeclarationsComponentConfigurationDeclarationsItemType = "com.apple.configuration.screensharing.connection"
	DeclarationsComponentConfigurationDeclarationsItemTypeComAppleConfigurationScreensharingConnectionGroup DeclarationsComponentConfigurationDeclarationsItemType = "com.apple.configuration.screensharing.connection.group"
	DeclarationsComponentConfigurationDeclarationsItemTypeComAppleConfigurationScreensharingHostSettings    DeclarationsComponentConfigurationDeclarationsItemType = "com.apple.configuration.screensharing.host.settings"
	DeclarationsComponentConfigurationDeclarationsItemTypeComAppleConfigurationSiriSettings                 DeclarationsComponentConfigurationDeclarationsItemType = "com.apple.configuration.siri.settings"
)

DeclarationsComponentConfigurationDeclarationsItemType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func DeclarationsComponentConfigurationDeclarationsItemTypeValues added in v1.2.0

func DeclarationsComponentConfigurationDeclarationsItemTypeValues() []DeclarationsComponentConfigurationDeclarationsItemType

DeclarationsComponentConfigurationDeclarationsItemTypeValues returns every value the Jamf API accepts for DeclarationsComponentConfigurationDeclarationsItemType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type DeclarationsComponentIdentifier added in v1.2.0

type DeclarationsComponentIdentifier = string

DeclarationsComponentIdentifier is the set of values accepted by DeclarationsComponent.Identifier.

const (
	DeclarationsComponentIdentifierComJamfDdmStrict DeclarationsComponentIdentifier = "com.jamf.ddm-strict"
)

DeclarationsComponentIdentifier values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func DeclarationsComponentIdentifierValues added in v1.2.0

func DeclarationsComponentIdentifierValues() []DeclarationsComponentIdentifier

DeclarationsComponentIdentifierValues returns every value the Jamf API accepts for DeclarationsComponentIdentifier, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type Deferrals

type Deferrals struct {
	CombinedPeriodInDays *OptionalPeriodInDays `json:"CombinedPeriodInDays,omitempty"`
	MajorPeriodInDays    *OptionalPeriodInDays `json:"MajorPeriodInDays,omitempty"`
	MinorPeriodInDays    *OptionalPeriodInDays `json:"MinorPeriodInDays,omitempty"`
	SystemPeriodInDays   *OptionalPeriodInDays `json:"SystemPeriodInDays,omitempty"`
}

Deferrals represents a deferrals.

func (*Deferrals) UnmarshalJSON

func (s *Deferrals) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type Deployment

type Deployment struct {
	// Date when deployment job started.
	Started time.Time `json:"started"`
	// Deployment job state.
	// Allowed values: "PENDING", "DEPLOYING", "SUCCEEDED", "FAILED".
	State string `json:"state"`
}

Deployment Information about last deployment job.

type DeploymentState

type DeploymentState struct {
	// Information about last deployment job.
	LastDeployment *Deployment `json:"lastDeployment,omitempty"`
	// Blueprint state.
	// Allowed values: see the DeploymentStateState constants.
	State string `json:"state"`
}

DeploymentState Blueprint deployment state.

type DeploymentStateState

type DeploymentStateState = string

DeploymentStateState is the set of values accepted by DeploymentState.State.

const (
	DeploymentStateStateNotDeployed DeploymentStateState = "NOT_DEPLOYED"
	DeploymentStateStateDeployed    DeploymentStateState = "DEPLOYED"
	DeploymentStateStateOutOfDate   DeploymentStateState = "OUT_OF_DATE"
)

DeploymentStateState values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func DeploymentStateStateValues

func DeploymentStateStateValues() []DeploymentStateState

DeploymentStateStateValues returns every value the Jamf API accepts for DeploymentStateState, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type DetailsURL

type DetailsURL struct {
	// Controls whether this setting should be used.
	Included *bool `json:"Included,omitempty"`
	// URL of a web page with the details about the enforced update.
	Value *string `json:"Value,omitempty"`
}

DetailsURL Optional URL with details about the enforced update.

func (*DetailsURL) UnmarshalJSON

func (s *DetailsURL) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type DiskManagementComponent

type DiskManagementComponent struct {
	// Disk management settings configuration.
	// Configures restrictions for external and network storage access.
	Configuration DiskManagementSettingsConfiguration `json:"configuration"`
	// Allowed values: see the DiskManagementComponentIdentifier constants.
	Identifier string `json:"identifier"`
}

DiskManagementComponent represents a disk management component.

func (*DiskManagementComponent) UnmarshalJSON

func (s *DiskManagementComponent) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type DiskManagementComponentIdentifier

type DiskManagementComponentIdentifier = string

DiskManagementComponentIdentifier is the set of values accepted by DiskManagementComponent.Identifier.

const (
	DiskManagementComponentIdentifierComJamfDdmDiskManagement DiskManagementComponentIdentifier = "com.jamf.ddm.disk-management"
)

DiskManagementComponentIdentifier values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func DiskManagementComponentIdentifierValues

func DiskManagementComponentIdentifierValues() []DiskManagementComponentIdentifier

DiskManagementComponentIdentifierValues returns every value the Jamf API accepts for DiskManagementComponentIdentifier, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type DiskManagementSettingsConfiguration

type DiskManagementSettingsConfiguration struct {
	// Storage restrictions configuration.
	Restrictions *Restrictions `json:"Restrictions,omitempty"`
	// Configuration version.
	// Allowed values: see the DiskManagementSettingsConfigurationVersion constants.
	Version int `json:"version"`
}

DiskManagementSettingsConfiguration Disk management settings configuration. Configures restrictions for external and network storage access.

func (*DiskManagementSettingsConfiguration) UnmarshalJSON

func (s *DiskManagementSettingsConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type DiskManagementSettingsConfigurationVersion

type DiskManagementSettingsConfigurationVersion = int

DiskManagementSettingsConfigurationVersion is the set of values accepted by DiskManagementSettingsConfiguration.Version.

const (
	DiskManagementSettingsConfigurationVersion2 DiskManagementSettingsConfigurationVersion = 2
)

DiskManagementSettingsConfigurationVersion values accepted by the Jamf API. The alias above is an int, so these constants pass to any parameter or field declared as a plain int.

func DiskManagementSettingsConfigurationVersionValues

func DiskManagementSettingsConfigurationVersionValues() []DiskManagementSettingsConfigurationVersion

DiskManagementSettingsConfigurationVersionValues returns every value the Jamf API accepts for DiskManagementSettingsConfigurationVersion, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's int64validator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type Error

type Error struct {
	// Error-specific code that can be used to identify localization string, etc.
	Code string `json:"code"`
	// A general description of error for troubleshooting/debugging. Generally this text should not be
	// displayed to a user; instead refer to errorCode and it's localized text.
	Description string `json:"description"`
	// Name of the field that caused the error.
	Field *string `json:"field,omitempty"`
	// id of object with error.
	ID *string `json:"id,omitempty"`
}

Error represents a error.

type ExternalIntelligenceSettingsDeclaration added in v1.2.0

type ExternalIntelligenceSettingsDeclaration struct {
	// The channel to which the declaration applies: - `SYSTEM` — applies to the system (device) channel
	// - `USER` — applies to the user channel.
	ChannelType DeclarationChannelType `json:"channelType"`
	// All declarations in this component are `com.apple.configuration.*` types.
	// Allowed values: see the ExternalIntelligenceSettingsDeclarationKind constants.
	Kind string `json:"kind"`
	// Payload fields for the External Intelligence Settings declaration.
	Payload ExternalIntelligenceSettingsDeclarationPayload `json:"payload"`
	// Allowed values: see the ExternalIntelligenceSettingsDeclarationType constants.
	Type string `json:"type"`
}

ExternalIntelligenceSettingsDeclaration Configures External Intelligence Integrations settings.

func (*ExternalIntelligenceSettingsDeclaration) UnmarshalJSON added in v1.2.0

func (s *ExternalIntelligenceSettingsDeclaration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ExternalIntelligenceSettingsDeclarationKind added in v1.2.0

type ExternalIntelligenceSettingsDeclarationKind = string

ExternalIntelligenceSettingsDeclarationKind is the set of values accepted by ExternalIntelligenceSettingsDeclaration.Kind.

const (
	ExternalIntelligenceSettingsDeclarationKindConfiguration ExternalIntelligenceSettingsDeclarationKind = "CONFIGURATION"
)

ExternalIntelligenceSettingsDeclarationKind values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ExternalIntelligenceSettingsDeclarationKindValues added in v1.2.0

func ExternalIntelligenceSettingsDeclarationKindValues() []ExternalIntelligenceSettingsDeclarationKind

ExternalIntelligenceSettingsDeclarationKindValues returns every value the Jamf API accepts for ExternalIntelligenceSettingsDeclarationKind, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ExternalIntelligenceSettingsDeclarationPayload added in v1.2.0

type ExternalIntelligenceSettingsDeclarationPayload struct {
	// If `false`, disables sign-in for external intelligence integrations.
	AllowSignIn *bool `json:"AllowSignIn,omitempty"`
	// Restricts external intelligence to the given workspace ID (currently limited to one element).
	AllowedWorkspaceIDs *[]string `json:"AllowedWorkspaceIDs,omitempty"`
	// If `false`, disables external intelligence integrations.
	Enabled *bool `json:"Enabled,omitempty"`
}

ExternalIntelligenceSettingsDeclarationPayload Payload fields for the External Intelligence Settings declaration.

func (*ExternalIntelligenceSettingsDeclarationPayload) UnmarshalJSON added in v1.2.0

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ExternalIntelligenceSettingsDeclarationType added in v1.2.0

type ExternalIntelligenceSettingsDeclarationType = string

ExternalIntelligenceSettingsDeclarationType is the set of values accepted by ExternalIntelligenceSettingsDeclaration.Type.

const (
	ExternalIntelligenceSettingsDeclarationTypeComAppleConfigurationExternalIntelligenceSettings ExternalIntelligenceSettingsDeclarationType = "com.apple.configuration.external-intelligence.settings"
)

ExternalIntelligenceSettingsDeclarationType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ExternalIntelligenceSettingsDeclarationTypeValues added in v1.2.0

func ExternalIntelligenceSettingsDeclarationTypeValues() []ExternalIntelligenceSettingsDeclarationType

ExternalIntelligenceSettingsDeclarationTypeValues returns every value the Jamf API accepts for ExternalIntelligenceSettingsDeclarationType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type FailedAttemptsResetInMinutes

type FailedAttemptsResetInMinutes struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Failed attempts reset in minutes.
	Value *int `json:"Value,omitempty"`
}

FailedAttemptsResetInMinutes represents a failed attempts reset in minutes.

func (*FailedAttemptsResetInMinutes) UnmarshalJSON

func (s *FailedAttemptsResetInMinutes) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type FolderBookmarkItem

type FolderBookmarkItem struct {
	// An array of bookmarks for each bookmark in the folder.
	Folder *[]URLBookmarkItem `json:"Folder,omitempty"`
	// The title of the folder shown in Safari.
	Title string `json:"Title"`
	// Allowed values: see the FolderBookmarkItemType constants.
	Type string `json:"Type"`
}

FolderBookmarkItem represents a folder bookmark item.

type FolderBookmarkItemType

type FolderBookmarkItemType = string

FolderBookmarkItemType is the set of values accepted by FolderBookmarkItem.Type.

const (
	FolderBookmarkItemTypeFolder FolderBookmarkItemType = "FOLDER"
)

FolderBookmarkItemType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func FolderBookmarkItemTypeValues

func FolderBookmarkItemTypeValues() []FolderBookmarkItemType

FolderBookmarkItemTypeValues returns every value the Jamf API accepts for FolderBookmarkItemType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type InputModes

type InputModes struct {
	// Controls whether this control should be used.
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Configures whether RPN input is enabled.
	RPN bool `json:"RPN"`
	// Configures whether unit conversions are enabled.
	UnitConversion bool `json:"UnitConversion"`
}

InputModes represents a input modes.

func (*InputModes) UnmarshalJSON

func (s *InputModes) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type IntelligenceSettingsApps added in v1.2.0

type IntelligenceSettingsApps struct {
	// Calendar and Reminders Intelligence feature toggles. Requires iOS/macOS/visionOS 27.0+.
	Calendar *IntelligenceSettingsAppsCalendar `json:"Calendar,omitempty"`
	// Mail Intelligence feature toggles.
	Mail *IntelligenceSettingsAppsMail `json:"Mail,omitempty"`
	// Not supported on visionOS.
	Notes *IntelligenceSettingsAppsNotes `json:"Notes,omitempty"`
	// Safari Intelligence feature toggles.
	Safari *IntelligenceSettingsAppsSafari `json:"Safari,omitempty"`
}

IntelligenceSettingsApps Per-app Intelligence feature toggles.

func (*IntelligenceSettingsApps) UnmarshalJSON added in v1.2.0

func (s *IntelligenceSettingsApps) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type IntelligenceSettingsAppsCalendar added in v1.2.0

type IntelligenceSettingsAppsCalendar struct {
	AllowNaturalLanguageEditing *bool `json:"AllowNaturalLanguageEditing,omitempty"`
}

IntelligenceSettingsAppsCalendar Calendar and Reminders Intelligence feature toggles. Requires iOS/macOS/visionOS 27.0+.

func (*IntelligenceSettingsAppsCalendar) UnmarshalJSON added in v1.2.0

func (s *IntelligenceSettingsAppsCalendar) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type IntelligenceSettingsAppsMail added in v1.2.0

type IntelligenceSettingsAppsMail struct {
	AllowSmartReplies *bool `json:"AllowSmartReplies,omitempty"`
	AllowSummary      *bool `json:"AllowSummary,omitempty"`
}

IntelligenceSettingsAppsMail Mail Intelligence feature toggles.

func (*IntelligenceSettingsAppsMail) UnmarshalJSON added in v1.2.0

func (s *IntelligenceSettingsAppsMail) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type IntelligenceSettingsAppsNotes added in v1.2.0

type IntelligenceSettingsAppsNotes struct {
	AllowTranscription        *bool `json:"AllowTranscription,omitempty"`
	AllowTranscriptionSummary *bool `json:"AllowTranscriptionSummary,omitempty"`
}

IntelligenceSettingsAppsNotes Not supported on visionOS.

func (*IntelligenceSettingsAppsNotes) UnmarshalJSON added in v1.2.0

func (s *IntelligenceSettingsAppsNotes) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type IntelligenceSettingsAppsSafari added in v1.2.0

type IntelligenceSettingsAppsSafari struct {
	AllowSummary *bool `json:"AllowSummary,omitempty"`
}

IntelligenceSettingsAppsSafari Safari Intelligence feature toggles.

func (*IntelligenceSettingsAppsSafari) UnmarshalJSON added in v1.2.0

func (s *IntelligenceSettingsAppsSafari) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type IntelligenceSettingsDeclaration added in v1.2.0

type IntelligenceSettingsDeclaration struct {
	// The channel to which the declaration applies: - `SYSTEM` — applies to the system (device) channel
	// - `USER` — applies to the user channel.
	ChannelType DeclarationChannelType `json:"channelType"`
	// All declarations in this component are `com.apple.configuration.*` types.
	// Allowed values: see the IntelligenceSettingsDeclarationKind constants.
	Kind string `json:"kind"`
	// Payload fields for the Intelligence Settings declaration.
	Payload IntelligenceSettingsDeclarationPayload `json:"payload"`
	// Allowed values: see the IntelligenceSettingsDeclarationType constants.
	Type string `json:"type"`
}

IntelligenceSettingsDeclaration Configures Apple Intelligence settings.

func (*IntelligenceSettingsDeclaration) UnmarshalJSON added in v1.2.0

func (s *IntelligenceSettingsDeclaration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type IntelligenceSettingsDeclarationKind added in v1.2.0

type IntelligenceSettingsDeclarationKind = string

IntelligenceSettingsDeclarationKind is the set of values accepted by IntelligenceSettingsDeclaration.Kind.

const (
	IntelligenceSettingsDeclarationKindConfiguration IntelligenceSettingsDeclarationKind = "CONFIGURATION"
)

IntelligenceSettingsDeclarationKind values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func IntelligenceSettingsDeclarationKindValues added in v1.2.0

func IntelligenceSettingsDeclarationKindValues() []IntelligenceSettingsDeclarationKind

IntelligenceSettingsDeclarationKindValues returns every value the Jamf API accepts for IntelligenceSettingsDeclarationKind, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type IntelligenceSettingsDeclarationPayload added in v1.2.0

type IntelligenceSettingsDeclarationPayload struct {
	AllowAppleIntelligenceReport *bool `json:"AllowAppleIntelligenceReport,omitempty"`
	AllowGenmoji                 *bool `json:"AllowGenmoji,omitempty"`
	AllowImagePlayground         *bool `json:"AllowImagePlayground,omitempty"`
	// Not supported on macOS.
	AllowImageWand *bool `json:"AllowImageWand,omitempty"`
	// Not supported on macOS/visionOS.
	AllowPersonalizedHandwritingResults *bool `json:"AllowPersonalizedHandwritingResults,omitempty"`
	// Not supported on visionOS. Requires iOS/macOS 27.0+.
	AllowVisualIntelligence *bool `json:"AllowVisualIntelligence,omitempty"`
	// Not supported on macOS/visionOS. Deprecated on iOS 27.0+ in favor of `AllowVisualIntelligence`.
	AllowVisualIntelligenceSummary *bool `json:"AllowVisualIntelligenceSummary,omitempty"`
	AllowWritingTools              *bool `json:"AllowWritingTools,omitempty"`
	// Per-app Intelligence feature toggles.
	Apps *IntelligenceSettingsApps `json:"Apps,omitempty"`
	// If `true`, forces on-device-only dictation.
	ForceOnDeviceOnlyDictation *bool `json:"ForceOnDeviceOnlyDictation,omitempty"`
	// Not supported on macOS/visionOS. If `true`, forces on-device-only translation.
	ForceOnDeviceOnlyTranslation *bool `json:"ForceOnDeviceOnlyTranslation,omitempty"`
}

IntelligenceSettingsDeclarationPayload Payload fields for the Intelligence Settings declaration.

func (*IntelligenceSettingsDeclarationPayload) UnmarshalJSON added in v1.2.0

func (s *IntelligenceSettingsDeclarationPayload) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type IntelligenceSettingsDeclarationType added in v1.2.0

type IntelligenceSettingsDeclarationType = string

IntelligenceSettingsDeclarationType is the set of values accepted by IntelligenceSettingsDeclaration.Type.

const (
	IntelligenceSettingsDeclarationTypeComAppleConfigurationIntelligenceSettings IntelligenceSettingsDeclarationType = "com.apple.configuration.intelligence.settings"
)

IntelligenceSettingsDeclarationType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func IntelligenceSettingsDeclarationTypeValues added in v1.2.0

func IntelligenceSettingsDeclarationTypeValues() []IntelligenceSettingsDeclarationType

IntelligenceSettingsDeclarationTypeValues returns every value the Jamf API accepts for IntelligenceSettingsDeclarationType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type KeyboardSettingsDeclaration added in v1.2.0

type KeyboardSettingsDeclaration struct {
	// The channel to which the declaration applies: - `SYSTEM` — applies to the system (device) channel
	// - `USER` — applies to the user channel.
	ChannelType DeclarationChannelType `json:"channelType"`
	// All declarations in this component are `com.apple.configuration.*` types.
	// Allowed values: see the KeyboardSettingsDeclarationKind constants.
	Kind string `json:"kind"`
	// Payload fields for the Keyboard Settings declaration.
	Payload KeyboardSettingsDeclarationPayload `json:"payload"`
	// Allowed values: see the KeyboardSettingsDeclarationType constants.
	Type string `json:"type"`
}

KeyboardSettingsDeclaration Configures keyboard settings.

func (*KeyboardSettingsDeclaration) UnmarshalJSON added in v1.2.0

func (s *KeyboardSettingsDeclaration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type KeyboardSettingsDeclarationKind added in v1.2.0

type KeyboardSettingsDeclarationKind = string

KeyboardSettingsDeclarationKind is the set of values accepted by KeyboardSettingsDeclaration.Kind.

const (
	KeyboardSettingsDeclarationKindConfiguration KeyboardSettingsDeclarationKind = "CONFIGURATION"
)

KeyboardSettingsDeclarationKind values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func KeyboardSettingsDeclarationKindValues added in v1.2.0

func KeyboardSettingsDeclarationKindValues() []KeyboardSettingsDeclarationKind

KeyboardSettingsDeclarationKindValues returns every value the Jamf API accepts for KeyboardSettingsDeclarationKind, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type KeyboardSettingsDeclarationPayload added in v1.2.0

type KeyboardSettingsDeclarationPayload struct {
	// Not supported on macOS.
	AllowAutoCorrection   *bool `json:"AllowAutoCorrection,omitempty"`
	AllowDefinitionLookup *bool `json:"AllowDefinitionLookup,omitempty"`
	AllowDictation        *bool `json:"AllowDictation,omitempty"`
	// Also supported by `math.settings`.
	AllowMathKeyboardSuggestions *bool `json:"AllowMathKeyboardSuggestions,omitempty"`
	// Not supported on macOS.
	AllowPredictiveText *bool `json:"AllowPredictiveText,omitempty"`
	// Not supported on macOS.
	AllowSlideToType *bool `json:"AllowSlideToType,omitempty"`
	// Not supported on macOS.
	AllowSpellCheck *bool `json:"AllowSpellCheck,omitempty"`
	// Not supported on macOS.
	AllowTextReplacement *bool `json:"AllowTextReplacement,omitempty"`
}

KeyboardSettingsDeclarationPayload Payload fields for the Keyboard Settings declaration.

func (*KeyboardSettingsDeclarationPayload) UnmarshalJSON added in v1.2.0

func (s *KeyboardSettingsDeclarationPayload) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type KeyboardSettingsDeclarationType added in v1.2.0

type KeyboardSettingsDeclarationType = string

KeyboardSettingsDeclarationType is the set of values accepted by KeyboardSettingsDeclaration.Type.

const (
	KeyboardSettingsDeclarationTypeComAppleConfigurationKeyboardSettings KeyboardSettingsDeclarationType = "com.apple.configuration.keyboard.settings"
)

KeyboardSettingsDeclarationType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func KeyboardSettingsDeclarationTypeValues added in v1.2.0

func KeyboardSettingsDeclarationTypeValues() []KeyboardSettingsDeclarationType

KeyboardSettingsDeclarationTypeValues returns every value the Jamf API accepts for KeyboardSettingsDeclarationType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ManagedAppAttributes

type ManagedAppAttributes struct {
	// Associated domains for the app.
	AssociatedDomains *[]string `json:"AssociatedDomains,omitempty"`
	// Enable direct downloads for the app's associated domains.
	AssociatedDomainsEnableDirectDownloads *bool `json:"AssociatedDomainsEnableDirectDownloads,omitempty"`
	// UUID of the network slice to use for the app's cellular connection.
	CellularSliceUUID *string `json:"CellularSliceUUID,omitempty"`
	// UUID of the DNS proxy configuration to apply to the app.
	DNSProxyUUID *string `json:"DNSProxyUUID,omitempty"`
	// Allow the user to hide the app from the home screen (requires iOS 18.1 or later). When `Lockable` is
	// `false`, this must also be `false`.
	Hideable *bool `json:"Hideable,omitempty"`
	// Allow the user to lock the app behind Face ID or Touch ID (requires iOS 18.1 or later).
	Lockable *bool `json:"Lockable,omitempty"`
	// Require screen lock when the app uses Tap to Pay.
	TapToPayScreenLock *bool `json:"TapToPayScreenLock,omitempty"`
}

ManagedAppAttributes Fine-grained app behavior settings. All fields are optional. **iOS 18.1+ note:** `Hideable` and `Lockable` require iOS 18.1 or later. When `Lockable` is `false`, `Hideable` is required and must also be `false`.

func (*ManagedAppAttributes) UnmarshalJSON

func (s *ManagedAppAttributes) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ManagedAppComponent

type ManagedAppComponent struct {
	// Configuration for one or more volume purchasing apps.
	// ### Example — single required app.
	// “`json { "apps": [ { "AssetId": "019a8082-19ba-794c-91f4-2cd5a02b0c72", "AppAndBookTokenId":
	// "099a8082-ae9d-70be-b377-84e4ba7459c4", "AppId": "com.microsoft.Excel", "Install": "Required",
	// "AutomaticAppUpdates": "AlwaysOn" } ] } “`.
	// ### Example — app with attributes (iOS 18.1+).
	// “`json { "apps": [ { "AssetId": "019a8082-19ba-794c-91f4-2cd5a02b0c72", "AppAndBookTokenId":
	// "099a8082-ae9d-70be-b377-84e4ba7459c4", "AppId": "com.microsoft.Excel", "Install": "Required",
	// "AllowDownloadsOverCellular": "AlwaysOff", "AutomaticAppUpdates": "AlwaysOn", "IncludeInBackup":
	// true, "Attributes": { "Hideable": true, "Lockable": true, "AssociatedDomains": ["corp.example.com"],
	// "AssociatedDomainsEnableDirectDownloads": false } } ] } “`.
	// ### Example — multiple apps in one component.
	// “`json { "apps": [ { "AssetId": "019a8082-19ba-794c-91f4-2cd5a02b0c72", "AppAndBookTokenId":
	// "099a8082-ae9d-70be-b377-84e4ba7459c4", "AppId": "com.microsoft.Excel", "Install": "Required" }, {
	// "AssetId": "12345678-0000-0000-0000-000000000001", "AppAndBookTokenId":
	// "099a8082-ae9d-70be-b377-84e4ba7459c4", "AppId": "com.microsoft.Word", "Install": "Optional",
	// "AutomaticAppUpdates": "StoreSettings" } ] } “`.
	Configuration ManagedAppConfiguration `json:"configuration"`
	// ## Using volume purchasing apps as blueprint components.
	// The `com.jamf.ddm.app-managed` component installs and manages Apple volume purchasing apps on
	// devices. Each component contains one or more app configurations in the `apps` array.
	// ### Prerequisites.
	// Apps must be available in your Jamf organization's volume purchasing token. The `AssetId` and
	// `AppAndBookTokenId` values come from your volume purchasing integration in Jamf — use the [List
	// available blueprint components](../listComponents) endpoint (`GET /v1/blueprint-components`) to
	// discover apps available to your organization and retrieve their identifiers.
	// ### Required fields per app.
	// | Field | Type | Description |
	// |---|---|---|
	// | `AssetId` | string | volume purchasing asset identifier for the app |
	// | `AppAndBookTokenId` | string | Identifier of the volume purchasing token that licenses the app |
	// | `AppId` | string | App bundle identifier (e.g., `com.microsoft.Excel`) |
	// ### Optional management fields.
	// | Field | Type | Values | Description |
	// |---|---|---|---|
	// | `Install` | string | `Required`, `Optional` | Whether the app must be installed. Defaults to `Required`. |
	// | `AllowDownloadsOverCellular` | string | `AlwaysOn`, `AlwaysOff`, `StoreSettings` | Controls cellular downloads. Defaults to `StoreSettings`. |
	// | `AutomaticAppUpdates` | string | `AlwaysOn`, `AlwaysOff`, `StoreSettings` | Controls automatic updates. Defaults to `StoreSettings`. |
	// | `IncludeInBackup` | boolean | `true`, `false` | Whether app data is included in device backups. |
	// | `Attributes` | object | — | Fine-grained app behavior settings. See `Attributes` fields below. |
	// ### `Attributes` fields (all optional).
	// | Field | Type | Description |
	// |---|---|---|
	// | `Hideable` | boolean | Allow the user to hide the app (requires iOS 18.1 or later). When `Lockable` is `false`, `Hideable` must also be `false`. |
	// | `Lockable` | boolean | Allow the user to lock the app behind Face ID / Touch ID (requires iOS 18.1 or later). |
	// | `TapToPayScreenLock` | boolean | Require screen lock when Tap to Pay is used. |
	// | `AssociatedDomains` | array of strings | Associated domains for the app (e.g., `["example.com"]`). |
	// | `AssociatedDomainsEnableDirectDownloads` | boolean | Enable direct downloads for the associated domains. |
	// | `CellularSliceUUID` | string (UUID) | Network slicing UUID for the app's cellular connection. |
	// | `DNSProxyUUID` | string (UUID) | UUID of the DNS proxy configuration to apply to the app. |
	// > **Validation rule:** When `Lockable` is `false`, `Hideable` is required and must also be `false`.
	// Allowed values: see the ManagedAppComponentIdentifier constants.
	Identifier string `json:"identifier"`
}

ManagedAppComponent Blueprint component that installs and manages volume purchasing apps on managed devices.

func (*ManagedAppComponent) UnmarshalJSON

func (s *ManagedAppComponent) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ManagedAppComponentIdentifier

type ManagedAppComponentIdentifier = string

ManagedAppComponentIdentifier is the set of values accepted by ManagedAppComponent.Identifier.

const (
	ManagedAppComponentIdentifierComJamfDdmAppManaged ManagedAppComponentIdentifier = "com.jamf.ddm.app-managed"
)

ManagedAppComponentIdentifier values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ManagedAppComponentIdentifierValues

func ManagedAppComponentIdentifierValues() []ManagedAppComponentIdentifier

ManagedAppComponentIdentifierValues returns every value the Jamf API accepts for ManagedAppComponentIdentifier, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ManagedAppConfig added in v1.2.0

type ManagedAppConfig struct {
	// Certificates to provide to the app or extension. Each entry pairs a certificate asset reference with
	// an identifier the app uses to look the certificate up.
	Certificates *[]ManagedAppCredentialConfig `json:"Certificates,omitempty"`
	// Identifier of an asset declaration containing a reference to the app or extension config data. The
	// asset must be of type `com.apple.asset.data`, the referenced data must be a property list file, and
	// the asset's `ContentType` must match the data type.
	DataAssetReference *string `json:"DataAssetReference,omitempty"`
	// Identities to provide to the app or extension. Each entry pairs an identity asset reference with an
	// identifier the app uses to look the identity up.
	Identities *[]ManagedAppCredentialConfig `json:"Identities,omitempty"`
	// Passwords to provide to the app or extension. Each entry pairs a password asset reference with an
	// identifier the app uses to look the password up.
	Passwords *[]ManagedAppCredentialConfig `json:"Passwords,omitempty"`
}

ManagedAppConfig App or extension config data and credentials. Requires macOS 27.0+.

type ManagedAppConfiguration

type ManagedAppConfiguration struct {
	// One or more volume purchasing app configurations to include in this component.
	Apps []ManagedAppEntry `json:"apps"`
}

ManagedAppConfiguration Configuration for one or more volume purchasing apps. ### Example — single required app ```json { "apps": [ { "AssetId": "019a8082-19ba-794c-91f4-2cd5a02b0c72", "AppAndBookTokenId": "099a8082-ae9d-70be-b377-84e4ba7459c4", "AppId": "com.microsoft.Excel", "Install": "Required", "AutomaticAppUpdates": "AlwaysOn" } ] } ``` ### Example — app with attributes (iOS 18.1+) ```json { "apps": [ { "AssetId": "019a8082-19ba-794c-91f4-2cd5a02b0c72", "AppAndBookTokenId": "099a8082-ae9d-70be-b377-84e4ba7459c4", "AppId": "com.microsoft.Excel", "Install": "Required", "AllowDownloadsOverCellular": "AlwaysOff", "AutomaticAppUpdates": "AlwaysOn", "IncludeInBackup": true, "Attributes": { "Hideable": true, "Lockable": true, "AssociatedDomains": ["corp.example.com"], "AssociatedDomainsEnableDirectDownloads": false } } ] } ``` ### Example — multiple apps in one component ```json { "apps": [ { "AssetId": "019a8082-19ba-794c-91f4-2cd5a02b0c72", "AppAndBookTokenId": "099a8082-ae9d-70be-b377-84e4ba7459c4", "AppId": "com.microsoft.Excel", "Install": "Required" }, { "AssetId": "12345678-0000-0000-0000-000000000001", "AppAndBookTokenId": "099a8082-ae9d-70be-b377-84e4ba7459c4", "AppId": "com.microsoft.Word", "Install": "Optional", "AutomaticAppUpdates": "StoreSettings" } ] } ```.

func (*ManagedAppConfiguration) UnmarshalJSON

func (s *ManagedAppConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ManagedAppCredentialConfig added in v1.2.0

type ManagedAppCredentialConfig struct {
	// Identifier of the asset declaration containing the credential.
	AssetReference string `json:"AssetReference"`
	// The identifier the app or extension uses to fetch this credential through the `ManagedApp`
	// framework. App developers define these values.
	Identifier string `json:"Identifier"`
}

ManagedAppCredentialConfig A credential asset reference and the identifier the app looks it up by.

type ManagedAppDeclaration added in v1.2.0

type ManagedAppDeclaration struct {
	// The channel to which the declaration applies: - `SYSTEM` — applies to the system (device) channel
	// - `USER` — applies to the user channel.
	ChannelType DeclarationChannelType `json:"channelType"`
	// All declarations in this component are `com.apple.configuration.*` types.
	// Allowed values: see the ManagedAppDeclarationKind constants.
	Kind string `json:"kind"`
	// Payload fields for the Managed App declaration.
	// > **Validation rule:** One of `AppStoreID`, `BundleID`, or `AppComposedIdentifier` is required.
	Payload ManagedAppDeclarationPayload `json:"payload"`
	// Allowed values: see the ManagedAppDeclarationType constants.
	Type string `json:"type"`
}

ManagedAppDeclaration Manages an app installed by other means (App Store, a manifest URL, or a package). For volume purchasing (VPP) apps, use the `com.jamf.ddm.app-managed` component instead.

func (*ManagedAppDeclaration) UnmarshalJSON added in v1.2.0

func (s *ManagedAppDeclaration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ManagedAppDeclarationKind added in v1.2.0

type ManagedAppDeclarationKind = string

ManagedAppDeclarationKind is the set of values accepted by ManagedAppDeclaration.Kind.

const (
	ManagedAppDeclarationKindConfiguration ManagedAppDeclarationKind = "CONFIGURATION"
)

ManagedAppDeclarationKind values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ManagedAppDeclarationKindValues added in v1.2.0

func ManagedAppDeclarationKindValues() []ManagedAppDeclarationKind

ManagedAppDeclarationKindValues returns every value the Jamf API accepts for ManagedAppDeclarationKind, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ManagedAppDeclarationPayload added in v1.2.0

type ManagedAppDeclarationPayload struct {
	// Identifies an existing app to take over management of, formatted `Bundle-ID` or `Bundle-ID
	// (Team-ID)`.
	AppComposedIdentifier *string `json:"AppComposedIdentifier,omitempty"`
	// App or extension config data and credentials. Requires macOS 27.0+.
	AppConfig *ManagedAppConfig `json:"AppConfig,omitempty"`
	// App Store ID of the app. One of `AppStoreID`, `BundleID`, or `AppComposedIdentifier` is required.
	AppStoreID *string `json:"AppStoreID,omitempty"`
	// Bundle ID of an App Store app.
	BundleID *string `json:"BundleID,omitempty"`
	// Maps an extension composed identifier (`Bundle-ID` or `Bundle-ID (Team-ID)`) to its config.
	ExtensionConfigs *ManagedAppExtensionConfigs `json:"ExtensionConfigs,omitempty"`
	// Describes how and when to install the app.
	InstallBehavior *ManagedAppInstallBehavior `json:"InstallBehavior,omitempty"`
	// Identifier of an asset declaration providing app config data via the MDMv1 behavior. Requires macOS
	// 27.0+.
	LegacyAppConfigAssetReference *string `json:"LegacyAppConfigAssetReference,omitempty"`
	// Specifies how the device updates the app.
	UpdateBehavior *ManagedAppUpdateBehavior `json:"UpdateBehavior,omitempty"`
	// If `true`, installs an iOS/iPadOS App Store app on Apple silicon Macs.
	IOSApp *bool `json:"iOSApp,omitempty"`
}

ManagedAppDeclarationPayload Payload fields for the Managed App declaration. > **Validation rule:** One of `AppStoreID`, `BundleID`, or `AppComposedIdentifier` is required.

func (*ManagedAppDeclarationPayload) UnmarshalJSON added in v1.2.0

func (s *ManagedAppDeclarationPayload) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ManagedAppDeclarationType added in v1.2.0

type ManagedAppDeclarationType = string

ManagedAppDeclarationType is the set of values accepted by ManagedAppDeclaration.Type.

const (
	ManagedAppDeclarationTypeComAppleConfigurationAppManaged ManagedAppDeclarationType = "com.apple.configuration.app.managed"
)

ManagedAppDeclarationType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ManagedAppDeclarationTypeValues added in v1.2.0

func ManagedAppDeclarationTypeValues() []ManagedAppDeclarationType

ManagedAppDeclarationTypeValues returns every value the Jamf API accepts for ManagedAppDeclarationType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ManagedAppEntry

type ManagedAppEntry struct {
	// Controls whether the app can be downloaded over a cellular connection.
	// Allowed values: see the ManagedAppEntryAllowDownloadsOverCellular constants.
	AllowDownloadsOverCellular *string `json:"AllowDownloadsOverCellular,omitempty"`
	// Identifier of the volume purchasing token that licenses this app.
	AppAndBookTokenID string `json:"AppAndBookTokenId"`
	// App bundle identifier.
	AppID string `json:"AppId"`
	// volume purchasing asset identifier for the app.
	AssetID string `json:"AssetId"`
	// Fine-grained app behavior settings. All fields are optional.
	// **iOS 18.1+ note:** `Hideable` and `Lockable` require iOS 18.1 or later. When `Lockable` is `false`,
	// `Hideable` is required and must also be `false`.
	Attributes *ManagedAppAttributes `json:"Attributes,omitempty"`
	// Controls whether the app updates automatically.
	// Allowed values: see the ManagedAppEntryAutomaticAppUpdates constants.
	AutomaticAppUpdates *string `json:"AutomaticAppUpdates,omitempty"`
	// Whether the app's data is included in device backups.
	IncludeInBackup *bool `json:"IncludeInBackup,omitempty"`
	// Whether the app must be installed on devices in scope.
	// Allowed values: see the ManagedAppEntryInstall constants.
	Install *string `json:"Install,omitempty"`
}

ManagedAppEntry Configuration for a single volume purchasing app.

func (*ManagedAppEntry) UnmarshalJSON

func (s *ManagedAppEntry) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ManagedAppEntryAllowDownloadsOverCellular

type ManagedAppEntryAllowDownloadsOverCellular = string

ManagedAppEntryAllowDownloadsOverCellular is the set of values accepted by ManagedAppEntry.AllowDownloadsOverCellular.

const (
	ManagedAppEntryAllowDownloadsOverCellularAlwaysOn      ManagedAppEntryAllowDownloadsOverCellular = "AlwaysOn"
	ManagedAppEntryAllowDownloadsOverCellularAlwaysOff     ManagedAppEntryAllowDownloadsOverCellular = "AlwaysOff"
	ManagedAppEntryAllowDownloadsOverCellularStoreSettings ManagedAppEntryAllowDownloadsOverCellular = "StoreSettings"
)

ManagedAppEntryAllowDownloadsOverCellular values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ManagedAppEntryAllowDownloadsOverCellularValues

func ManagedAppEntryAllowDownloadsOverCellularValues() []ManagedAppEntryAllowDownloadsOverCellular

ManagedAppEntryAllowDownloadsOverCellularValues returns every value the Jamf API accepts for ManagedAppEntryAllowDownloadsOverCellular, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ManagedAppEntryAutomaticAppUpdates

type ManagedAppEntryAutomaticAppUpdates = string

ManagedAppEntryAutomaticAppUpdates is the set of values accepted by ManagedAppEntry.AutomaticAppUpdates.

const (
	ManagedAppEntryAutomaticAppUpdatesAlwaysOn      ManagedAppEntryAutomaticAppUpdates = "AlwaysOn"
	ManagedAppEntryAutomaticAppUpdatesAlwaysOff     ManagedAppEntryAutomaticAppUpdates = "AlwaysOff"
	ManagedAppEntryAutomaticAppUpdatesStoreSettings ManagedAppEntryAutomaticAppUpdates = "StoreSettings"
)

ManagedAppEntryAutomaticAppUpdates values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ManagedAppEntryAutomaticAppUpdatesValues

func ManagedAppEntryAutomaticAppUpdatesValues() []ManagedAppEntryAutomaticAppUpdates

ManagedAppEntryAutomaticAppUpdatesValues returns every value the Jamf API accepts for ManagedAppEntryAutomaticAppUpdates, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ManagedAppEntryInstall

type ManagedAppEntryInstall = string

ManagedAppEntryInstall is the set of values accepted by ManagedAppEntry.Install.

const (
	ManagedAppEntryInstallRequired ManagedAppEntryInstall = "Required"
	ManagedAppEntryInstallOptional ManagedAppEntryInstall = "Optional"
)

ManagedAppEntryInstall values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ManagedAppEntryInstallValues

func ManagedAppEntryInstallValues() []ManagedAppEntryInstall

ManagedAppEntryInstallValues returns every value the Jamf API accepts for ManagedAppEntryInstall, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ManagedAppExtensionConfigs added in v1.2.0

type ManagedAppExtensionConfigs = map[string]ManagedAppConfig

ManagedAppExtensionConfigs maps an extension composed identifier (`Bundle-ID` or `Bundle-ID (Team-ID)`) to its config.

type ManagedAppInstallBehavior added in v1.2.0

type ManagedAppInstallBehavior struct {
	// Whether the app remains on the device at all times.
	// Allowed values: see the ManagedAppInstallBehaviorInstall constants.
	Install *string `json:"Install,omitempty"`
	// The app's license.
	License *ManagedAppLicense `json:"License,omitempty"`
	// App Store external version identifier (EVID) to install.
	Version *int `json:"Version,omitempty"`
}

ManagedAppInstallBehavior Describes how and when to install the app.

func (*ManagedAppInstallBehavior) UnmarshalJSON added in v1.2.0

func (s *ManagedAppInstallBehavior) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ManagedAppInstallBehaviorInstall added in v1.2.0

type ManagedAppInstallBehaviorInstall = string

ManagedAppInstallBehaviorInstall is the set of values accepted by ManagedAppInstallBehavior.Install.

const (
	ManagedAppInstallBehaviorInstallOptional ManagedAppInstallBehaviorInstall = "Optional"
	ManagedAppInstallBehaviorInstallRequired ManagedAppInstallBehaviorInstall = "Required"
)

ManagedAppInstallBehaviorInstall values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ManagedAppInstallBehaviorInstallValues added in v1.2.0

func ManagedAppInstallBehaviorInstallValues() []ManagedAppInstallBehaviorInstall

ManagedAppInstallBehaviorInstallValues returns every value the Jamf API accepts for ManagedAppInstallBehaviorInstall, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ManagedAppLicense added in v1.2.0

type ManagedAppLicense struct {
	// License type for an App Store app.
	// Allowed values: see the ManagedAppLicenseAssignment constants.
	Assignment *string `json:"Assignment,omitempty"`
}

ManagedAppLicense The app's license.

type ManagedAppLicenseAssignment added in v1.2.0

type ManagedAppLicenseAssignment = string

ManagedAppLicenseAssignment is the set of values accepted by ManagedAppLicense.Assignment.

const (
	ManagedAppLicenseAssignmentDevice ManagedAppLicenseAssignment = "Device"
	ManagedAppLicenseAssignmentUser   ManagedAppLicenseAssignment = "User"
)

ManagedAppLicenseAssignment values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ManagedAppLicenseAssignmentValues added in v1.2.0

func ManagedAppLicenseAssignmentValues() []ManagedAppLicenseAssignment

ManagedAppLicenseAssignmentValues returns every value the Jamf API accepts for ManagedAppLicenseAssignment, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ManagedAppUpdateBehavior added in v1.2.0

type ManagedAppUpdateBehavior struct {
	// Whether the device automatically updates the app.
	// Allowed values: see the ManagedAppUpdateBehaviorAutomaticAppUpdates constants.
	AutomaticAppUpdates string `json:"AutomaticAppUpdates"`
}

ManagedAppUpdateBehavior Specifies how the device updates the app.

type ManagedAppUpdateBehaviorAutomaticAppUpdates added in v1.2.0

type ManagedAppUpdateBehaviorAutomaticAppUpdates = string

ManagedAppUpdateBehaviorAutomaticAppUpdates is the set of values accepted by ManagedAppUpdateBehavior.AutomaticAppUpdates.

const (
	ManagedAppUpdateBehaviorAutomaticAppUpdatesAlwaysOn      ManagedAppUpdateBehaviorAutomaticAppUpdates = "AlwaysOn"
	ManagedAppUpdateBehaviorAutomaticAppUpdatesAlwaysOff     ManagedAppUpdateBehaviorAutomaticAppUpdates = "AlwaysOff"
	ManagedAppUpdateBehaviorAutomaticAppUpdatesStoreSettings ManagedAppUpdateBehaviorAutomaticAppUpdates = "StoreSettings"
)

ManagedAppUpdateBehaviorAutomaticAppUpdates values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ManagedAppUpdateBehaviorAutomaticAppUpdatesValues added in v1.2.0

func ManagedAppUpdateBehaviorAutomaticAppUpdatesValues() []ManagedAppUpdateBehaviorAutomaticAppUpdates

ManagedAppUpdateBehaviorAutomaticAppUpdatesValues returns every value the Jamf API accepts for ManagedAppUpdateBehaviorAutomaticAppUpdates, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ManagedExtension

type ManagedExtension struct {
	// Allowed domains.
	AllowedDomains *[]ManagedExtensionDomain `json:"AllowedDomains,omitempty"`
	// Denied domains.
	DeniedDomains *[]ManagedExtensionDomain `json:"DeniedDomains,omitempty"`
	// Private Browsing state.
	// Allowed values: see the ManagedExtensionPrivateBrowsing constants.
	PrivateBrowsing *string `json:"PrivateBrowsing,omitempty"`
	// Extension state.
	// Allowed values: see the ManagedExtensionState constants.
	State *string `json:"State,omitempty"`
}

ManagedExtension represents a managed extension.

type ManagedExtensionDomain

type ManagedExtensionDomain struct {
	// Domain.
	Domain string `json:"Domain"`
}

ManagedExtensionDomain represents a managed extension domain.

type ManagedExtensionPrivateBrowsing

type ManagedExtensionPrivateBrowsing = string

ManagedExtensionPrivateBrowsing is the set of values accepted by ManagedExtension.PrivateBrowsing.

const (
	ManagedExtensionPrivateBrowsingAllowed   ManagedExtensionPrivateBrowsing = "Allowed"
	ManagedExtensionPrivateBrowsingAlwaysOn  ManagedExtensionPrivateBrowsing = "AlwaysOn"
	ManagedExtensionPrivateBrowsingAlwaysOff ManagedExtensionPrivateBrowsing = "AlwaysOff"
)

ManagedExtensionPrivateBrowsing values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ManagedExtensionPrivateBrowsingValues

func ManagedExtensionPrivateBrowsingValues() []ManagedExtensionPrivateBrowsing

ManagedExtensionPrivateBrowsingValues returns every value the Jamf API accepts for ManagedExtensionPrivateBrowsing, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ManagedExtensionState

type ManagedExtensionState = string

ManagedExtensionState is the set of values accepted by ManagedExtension.State.

const (
	ManagedExtensionStateAllowed   ManagedExtensionState = "Allowed"
	ManagedExtensionStateAlwaysOn  ManagedExtensionState = "AlwaysOn"
	ManagedExtensionStateAlwaysOff ManagedExtensionState = "AlwaysOff"
)

ManagedExtensionState values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ManagedExtensionStateValues

func ManagedExtensionStateValues() []ManagedExtensionState

ManagedExtensionStateValues returns every value the Jamf API accepts for ManagedExtensionState, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type MathNotesMode

type MathNotesMode struct {
	// Controls whether the mode is enabled.
	Enabled bool `json:"Enabled"`
	// Controls whether this control should be used.
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
}

MathNotesMode represents a math notes mode.

func (*MathNotesMode) UnmarshalJSON

func (s *MathNotesMode) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type MathSettingsComponent

type MathSettingsComponent struct {
	// Math settings configuration.
	// Configures Calculator app modes and system-wide math behavior including keyboard suggestions and
	// Math Notes.
	Configuration MathSettingsConfiguration `json:"configuration"`
	// Allowed values: see the MathSettingsComponentIdentifier constants.
	Identifier string `json:"identifier"`
}

MathSettingsComponent represents a math settings component.

func (*MathSettingsComponent) UnmarshalJSON

func (s *MathSettingsComponent) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type MathSettingsComponentIdentifier

type MathSettingsComponentIdentifier = string

MathSettingsComponentIdentifier is the set of values accepted by MathSettingsComponent.Identifier.

const (
	MathSettingsComponentIdentifierComJamfDdmMathSettings MathSettingsComponentIdentifier = "com.jamf.ddm.math-settings"
)

MathSettingsComponentIdentifier values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func MathSettingsComponentIdentifierValues

func MathSettingsComponentIdentifierValues() []MathSettingsComponentIdentifier

MathSettingsComponentIdentifierValues returns every value the Jamf API accepts for MathSettingsComponentIdentifier, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type MathSettingsConfiguration

type MathSettingsConfiguration struct {
	// If present, configures the built-in Calculator app.
	Calculator *Calculator `json:"Calculator,omitempty"`
	// If present, configures math behavior in the system.
	SystemBehavior *SystemBehavior `json:"SystemBehavior,omitempty"`
}

MathSettingsConfiguration Math settings configuration. Configures Calculator app modes and system-wide math behavior including keyboard suggestions and Math Notes.

func (*MathSettingsConfiguration) UnmarshalJSON

func (s *MathSettingsConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type MaximumFailedAttempts

type MaximumFailedAttempts struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Maximum failed attempts.
	Value *int `json:"Value,omitempty"`
}

MaximumFailedAttempts represents a maximum failed attempts.

func (*MaximumFailedAttempts) UnmarshalJSON

func (s *MaximumFailedAttempts) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type MaximumGracePeriodInMinutes

type MaximumGracePeriodInMinutes struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Maximum grace period in minutes.
	Value *int `json:"Value,omitempty"`
}

MaximumGracePeriodInMinutes represents a maximum grace period in minutes.

func (*MaximumGracePeriodInMinutes) UnmarshalJSON

func (s *MaximumGracePeriodInMinutes) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type MaximumInactivityInMinutes

type MaximumInactivityInMinutes struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Maximum inactivity in minutes.
	Value *int `json:"Value,omitempty"`
}

MaximumInactivityInMinutes represents a maximum inactivity in minutes.

func (*MaximumInactivityInMinutes) UnmarshalJSON

func (s *MaximumInactivityInMinutes) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type MaximumPasscodeAgeInDays

type MaximumPasscodeAgeInDays struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Maximum passcode age in days.
	Value *int `json:"Value,omitempty"`
}

MaximumPasscodeAgeInDays represents a maximum passcode age in days.

func (*MaximumPasscodeAgeInDays) UnmarshalJSON

func (s *MaximumPasscodeAgeInDays) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type Meta

type Meta struct {
	// Supported version of OS families.
	SupportedOs map[string][]SupportedOs `json:"supportedOs"`
}

Meta Meta object containing additional information about component.

type MinimumComplexCharacters

type MinimumComplexCharacters struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Minimum complex characters.
	Value *int `json:"Value,omitempty"`
}

MinimumComplexCharacters represents a minimum complex characters.

func (*MinimumComplexCharacters) UnmarshalJSON

func (s *MinimumComplexCharacters) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type MinimumLength

type MinimumLength struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Minimum length.
	Value *int `json:"Value,omitempty"`
}

MinimumLength represents a minimum length.

func (*MinimumLength) UnmarshalJSON

func (s *MinimumLength) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type NewTabStartPage

type NewTabStartPage struct {
	// The composed identifier of the extension that provides the start page.
	ExtensionIdentifier *string `json:"ExtensionIdentifier,omitempty"`
	// The URL of the homepage which needs to start with https:// or http://.
	HomepageURL *string `json:"HomepageURL,omitempty"`
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Sets the start page type in Safari.
	// Allowed values: see the NewTabStartPagePageType constants.
	PageType *string `json:"PageType,omitempty"`
}

NewTabStartPage represents a new tab start page.

func (*NewTabStartPage) UnmarshalJSON

func (s *NewTabStartPage) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type NewTabStartPagePageType

type NewTabStartPagePageType = string

NewTabStartPagePageType is the set of values accepted by NewTabStartPage.PageType.

const (
	NewTabStartPagePageTypeStart     NewTabStartPagePageType = "Start"
	NewTabStartPagePageTypeHome      NewTabStartPagePageType = "Home"
	NewTabStartPagePageTypeExtension NewTabStartPagePageType = "Extension"
)

NewTabStartPagePageType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func NewTabStartPagePageTypeValues

func NewTabStartPagePageTypeValues() []NewTabStartPagePageType

NewTabStartPagePageTypeValues returns every value the Jamf API accepts for NewTabStartPagePageType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type OptionalPeriodInDays

type OptionalPeriodInDays struct {
	// Controls whether this control should be used.
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	Value    *int  `json:"Value,omitempty"`
}

OptionalPeriodInDays represents a optional period in days.

func (*OptionalPeriodInDays) UnmarshalJSON

func (s *OptionalPeriodInDays) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type OptionallyEnabled

type OptionallyEnabled struct {
	Enabled bool `json:"Enabled"`
	// Controls whether this control should be used.
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
}

OptionallyEnabled represents a optionally enabled.

func (*OptionallyEnabled) UnmarshalJSON

func (s *OptionallyEnabled) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type PackageDeclaration added in v1.2.0

type PackageDeclaration struct {
	// The channel to which the declaration applies: - `SYSTEM` — applies to the system (device) channel
	// - `USER` — applies to the user channel.
	ChannelType DeclarationChannelType `json:"channelType"`
	// All declarations in this component are `com.apple.configuration.*` types.
	// Allowed values: see the PackageDeclarationKind constants.
	Kind string `json:"kind"`
	// Payload fields for the Package declaration.
	Payload PackageDeclarationPayload `json:"payload"`
	// Allowed values: see the PackageDeclarationType constants.
	Type string `json:"type"`
}

PackageDeclaration Installs a package (apps, fonts, documents, or other items) on macOS. Apps a package installs are not automatically managed; use the Managed App declaration for that.

func (*PackageDeclaration) UnmarshalJSON added in v1.2.0

func (s *PackageDeclaration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type PackageDeclarationKind added in v1.2.0

type PackageDeclarationKind = string

PackageDeclarationKind is the set of values accepted by PackageDeclaration.Kind.

const (
	PackageDeclarationKindConfiguration PackageDeclarationKind = "CONFIGURATION"
)

PackageDeclarationKind values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func PackageDeclarationKindValues added in v1.2.0

func PackageDeclarationKindValues() []PackageDeclarationKind

PackageDeclarationKindValues returns every value the Jamf API accepts for PackageDeclarationKind, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type PackageDeclarationPayload added in v1.2.0

type PackageDeclarationPayload struct {
	// Describes how and when to install the package.
	InstallBehavior *PackageInstallBehavior `json:"InstallBehavior,omitempty"`
	// URL of the manifest document for the package (`.pkg`) to install.
	ManifestURL string `json:"ManifestURL"`
	// macOS 27.0+.
	UninstallBehavior *PackageUninstallBehavior `json:"UninstallBehavior,omitempty"`
}

PackageDeclarationPayload Payload fields for the Package declaration.

func (*PackageDeclarationPayload) UnmarshalJSON added in v1.2.0

func (s *PackageDeclarationPayload) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type PackageDeclarationType added in v1.2.0

type PackageDeclarationType = string

PackageDeclarationType is the set of values accepted by PackageDeclaration.Type.

const (
	PackageDeclarationTypeComAppleConfigurationPackage PackageDeclarationType = "com.apple.configuration.package"
)

PackageDeclarationType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func PackageDeclarationTypeValues added in v1.2.0

func PackageDeclarationTypeValues() []PackageDeclarationType

PackageDeclarationTypeValues returns every value the Jamf API accepts for PackageDeclarationType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type PackageInstallBehavior added in v1.2.0

type PackageInstallBehavior struct {
	// Allowed values: see the PackageInstallBehaviorInstall constants.
	Install *string `json:"Install,omitempty"`
}

PackageInstallBehavior Describes how and when to install the package.

type PackageInstallBehaviorInstall added in v1.2.0

type PackageInstallBehaviorInstall = string

PackageInstallBehaviorInstall is the set of values accepted by PackageInstallBehavior.Install.

const (
	PackageInstallBehaviorInstallOptional PackageInstallBehaviorInstall = "Optional"
	PackageInstallBehaviorInstallRequired PackageInstallBehaviorInstall = "Required"
)

PackageInstallBehaviorInstall values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func PackageInstallBehaviorInstallValues added in v1.2.0

func PackageInstallBehaviorInstallValues() []PackageInstallBehaviorInstall

PackageInstallBehaviorInstallValues returns every value the Jamf API accepts for PackageInstallBehaviorInstall, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type PackageUninstallBehavior added in v1.2.0

type PackageUninstallBehavior struct {
	// If `true`, removes the files the package installed when the configuration is removed.
	Remove *bool `json:"Remove,omitempty"`
}

PackageUninstallBehavior macOS 27.0+.

func (*PackageUninstallBehavior) UnmarshalJSON added in v1.2.0

func (s *PackageUninstallBehavior) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type PagedResponseBlueprintOverview

type PagedResponseBlueprintOverview struct {
	// Array of result items.
	Results []BlueprintOverview `json:"results"`
	// Total number of items matching the filter.
	TotalCount int64 `json:"totalCount"`
}

PagedResponseBlueprintOverview represents a paged response blueprint overview.

type PagedResponseComponentDescription

type PagedResponseComponentDescription struct {
	// Array of result items.
	Results []ComponentDescription `json:"results"`
	// Total number of items matching the filter.
	TotalCount int64 `json:"totalCount"`
}

PagedResponseComponentDescription represents a paged response component description.

type PasscodeReuseLimit

type PasscodeReuseLimit struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Passcode reuse limit.
	Value *int `json:"Value,omitempty"`
}

PasscodeReuseLimit represents a passcode reuse limit.

func (*PasscodeReuseLimit) UnmarshalJSON

func (s *PasscodeReuseLimit) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type PasscodeSettingsComponent

type PasscodeSettingsComponent struct {
	// Passcode settings configuration.
	// Configures device passcode requirements including complexity, length, and expiration.
	Configuration PasscodeSettingsConfiguration `json:"configuration"`
	// Allowed values: see the PasscodeSettingsComponentIdentifier constants.
	Identifier string `json:"identifier"`
}

PasscodeSettingsComponent represents a passcode settings component.

func (*PasscodeSettingsComponent) UnmarshalJSON

func (s *PasscodeSettingsComponent) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type PasscodeSettingsComponentIdentifier

type PasscodeSettingsComponentIdentifier = string

PasscodeSettingsComponentIdentifier is the set of values accepted by PasscodeSettingsComponent.Identifier.

const (
	PasscodeSettingsComponentIdentifierComJamfDdmPasscodeSettings PasscodeSettingsComponentIdentifier = "com.jamf.ddm.passcode-settings"
)

PasscodeSettingsComponentIdentifier values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func PasscodeSettingsComponentIdentifierValues

func PasscodeSettingsComponentIdentifierValues() []PasscodeSettingsComponentIdentifier

PasscodeSettingsComponentIdentifierValues returns every value the Jamf API accepts for PasscodeSettingsComponentIdentifier, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type PasscodeSettingsConfiguration

type PasscodeSettingsConfiguration struct {
	ChangeAtNextAuth             *ChangeAtNextAuth             `json:"ChangeAtNextAuth,omitempty"`
	CustomRegex                  *CustomRegex                  `json:"CustomRegex,omitempty"`
	FailedAttemptsResetInMinutes *FailedAttemptsResetInMinutes `json:"FailedAttemptsResetInMinutes,omitempty"`
	MaximumFailedAttempts        *MaximumFailedAttempts        `json:"MaximumFailedAttempts,omitempty"`
	MaximumGracePeriodInMinutes  *MaximumGracePeriodInMinutes  `json:"MaximumGracePeriodInMinutes,omitempty"`
	MaximumInactivityInMinutes   *MaximumInactivityInMinutes   `json:"MaximumInactivityInMinutes,omitempty"`
	MaximumPasscodeAgeInDays     *MaximumPasscodeAgeInDays     `json:"MaximumPasscodeAgeInDays,omitempty"`
	MinimumComplexCharacters     *MinimumComplexCharacters     `json:"MinimumComplexCharacters,omitempty"`
	MinimumLength                *MinimumLength                `json:"MinimumLength,omitempty"`
	PasscodeReuseLimit           *PasscodeReuseLimit           `json:"PasscodeReuseLimit,omitempty"`
	RequireAlphanumericPasscode  *RequireAlphanumericPasscode  `json:"RequireAlphanumericPasscode,omitempty"`
	RequireComplexPasscode       *RequireComplexPasscode       `json:"RequireComplexPasscode,omitempty"`
	RequirePasscode              *RequirePasscode              `json:"RequirePasscode,omitempty"`
	// Configuration version.
	// Allowed values: see the PasscodeSettingsConfigurationVersion constants.
	Version int `json:"version"`
}

PasscodeSettingsConfiguration Passcode settings configuration. Configures device passcode requirements including complexity, length, and expiration.

func (*PasscodeSettingsConfiguration) UnmarshalJSON

func (s *PasscodeSettingsConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type PasscodeSettingsConfigurationVersion

type PasscodeSettingsConfigurationVersion = int

PasscodeSettingsConfigurationVersion is the set of values accepted by PasscodeSettingsConfiguration.Version.

const (
	PasscodeSettingsConfigurationVersion2 PasscodeSettingsConfigurationVersion = 2
)

PasscodeSettingsConfigurationVersion values accepted by the Jamf API. The alias above is an int, so these constants pass to any parameter or field declared as a plain int.

func PasscodeSettingsConfigurationVersionValues

func PasscodeSettingsConfigurationVersionValues() []PasscodeSettingsConfigurationVersion

PasscodeSettingsConfigurationVersionValues returns every value the Jamf API accepts for PasscodeSettingsConfigurationVersion, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's int64validator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ProgrammerMode

type ProgrammerMode struct {
	// Controls whether the mode is enabled.
	Enabled bool `json:"Enabled"`
	// Controls whether this control should be used.
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
}

ProgrammerMode represents a programmer mode.

func (*ProgrammerMode) UnmarshalJSON

func (s *ProgrammerMode) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type RapidSecurityResponse

type RapidSecurityResponse struct {
	Enable         *OptionallyEnabled `json:"Enable,omitempty"`
	EnableRollback *OptionallyEnabled `json:"EnableRollback,omitempty"`
}

RapidSecurityResponse represents a rapid security response.

func (*RapidSecurityResponse) UnmarshalJSON

func (s *RapidSecurityResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type RecommendedCadence

type RecommendedCadence struct {
	// Controls whether this control should be used.
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Allowed values: see the RecommendedCadenceValue constants.
	Value string `json:"Value"`
}

RecommendedCadence represents a recommended cadence.

func (*RecommendedCadence) UnmarshalJSON

func (s *RecommendedCadence) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type RecommendedCadenceValue

type RecommendedCadenceValue = string

RecommendedCadenceValue is the set of values accepted by RecommendedCadence.Value.

const (
	RecommendedCadenceValueAll    RecommendedCadenceValue = "All"
	RecommendedCadenceValueOldest RecommendedCadenceValue = "Oldest"
	RecommendedCadenceValueNewest RecommendedCadenceValue = "Newest"
)

RecommendedCadenceValue values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func RecommendedCadenceValueValues

func RecommendedCadenceValueValues() []RecommendedCadenceValue

RecommendedCadenceValueValues returns every value the Jamf API accepts for RecommendedCadenceValue, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type RequireAlphanumericPasscode

type RequireAlphanumericPasscode struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Require alphanumeric passcode.
	Value *bool `json:"Value,omitempty"`
}

RequireAlphanumericPasscode represents a require alphanumeric passcode.

func (*RequireAlphanumericPasscode) UnmarshalJSON

func (s *RequireAlphanumericPasscode) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type RequireComplexPasscode

type RequireComplexPasscode struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Require complex passcode.
	Value *bool `json:"Value,omitempty"`
}

RequireComplexPasscode represents a require complex passcode.

func (*RequireComplexPasscode) UnmarshalJSON

func (s *RequireComplexPasscode) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type RequirePasscode

type RequirePasscode struct {
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Require passcode.
	Value *bool `json:"Value,omitempty"`
}

RequirePasscode represents a require passcode.

func (*RequirePasscode) UnmarshalJSON

func (s *RequirePasscode) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type Restrictions

type Restrictions struct {
	// Storage access mode configuration.
	ExternalStorage *StorageMode `json:"ExternalStorage,omitempty"`
	// Storage access mode configuration.
	NetworkStorage *StorageMode `json:"NetworkStorage,omitempty"`
}

Restrictions Storage restrictions configuration.

func (*Restrictions) UnmarshalJSON

func (s *Restrictions) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type SafariBookmarksComponent

type SafariBookmarksComponent struct {
	// Safari bookmarks configuration.
	// Defines managed bookmark groups and folders that appear in Safari across managed devices.
	Configuration SafariBookmarksConfiguration `json:"configuration"`
	// Allowed values: see the SafariBookmarksComponentIdentifier constants.
	Identifier string `json:"identifier"`
}

SafariBookmarksComponent represents a safari bookmarks component.

type SafariBookmarksComponentIdentifier

type SafariBookmarksComponentIdentifier = string

SafariBookmarksComponentIdentifier is the set of values accepted by SafariBookmarksComponent.Identifier.

const (
	SafariBookmarksComponentIdentifierComJamfDdmSafariBookmarks SafariBookmarksComponentIdentifier = "com.jamf.ddm.safari-bookmarks"
)

SafariBookmarksComponentIdentifier values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func SafariBookmarksComponentIdentifierValues

func SafariBookmarksComponentIdentifierValues() []SafariBookmarksComponentIdentifier

SafariBookmarksComponentIdentifierValues returns every value the Jamf API accepts for SafariBookmarksComponentIdentifier, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SafariBookmarksConfiguration

type SafariBookmarksConfiguration struct {
	// A dictionary that specifies a set of managed bookmarks.
	ManagedBookmarks []BookmarkGroup `json:"ManagedBookmarks"`
}

SafariBookmarksConfiguration Safari bookmarks configuration. Defines managed bookmark groups and folders that appear in Safari across managed devices.

type SafariExtensionsComponent

type SafariExtensionsComponent struct {
	// Safari extensions configuration.
	// Manages Safari browser extensions including allowed/denied domains and private browsing settings.
	Configuration SafariExtensionsConfiguration `json:"configuration"`
	// Allowed values: see the SafariExtensionsComponentIdentifier constants.
	Identifier string `json:"identifier"`
}

SafariExtensionsComponent represents a safari extensions component.

type SafariExtensionsComponentIdentifier

type SafariExtensionsComponentIdentifier = string

SafariExtensionsComponentIdentifier is the set of values accepted by SafariExtensionsComponent.Identifier.

const (
	SafariExtensionsComponentIdentifierComJamfDdmSafariExtensions SafariExtensionsComponentIdentifier = "com.jamf.ddm.safari-extensions"
)

SafariExtensionsComponentIdentifier values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func SafariExtensionsComponentIdentifierValues

func SafariExtensionsComponentIdentifierValues() []SafariExtensionsComponentIdentifier

SafariExtensionsComponentIdentifierValues returns every value the Jamf API accepts for SafariExtensionsComponentIdentifier, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SafariExtensionsConfiguration

type SafariExtensionsConfiguration struct {
	ManagedExtensions map[string]ManagedExtension `json:"ManagedExtensions"`
}

SafariExtensionsConfiguration Safari extensions configuration. Manages Safari browser extensions including allowed/denied domains and private browsing settings.

type SafariSettingsComponent

type SafariSettingsComponent struct {
	// Safari settings configuration.
	// Configures Safari browser behavior including cookies, JavaScript, popups, private browsing, and
	// start page settings.
	Configuration SafariSettingsConfiguration `json:"configuration"`
	// Allowed values: see the SafariSettingsComponentIdentifier constants.
	Identifier string `json:"identifier"`
}

SafariSettingsComponent represents a safari settings component.

func (*SafariSettingsComponent) UnmarshalJSON

func (s *SafariSettingsComponent) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type SafariSettingsComponentIdentifier

type SafariSettingsComponentIdentifier = string

SafariSettingsComponentIdentifier is the set of values accepted by SafariSettingsComponent.Identifier.

const (
	SafariSettingsComponentIdentifierComJamfDdmSafariSettings SafariSettingsComponentIdentifier = "com.jamf.ddm.safari-settings"
)

SafariSettingsComponentIdentifier values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func SafariSettingsComponentIdentifierValues

func SafariSettingsComponentIdentifierValues() []SafariSettingsComponentIdentifier

SafariSettingsComponentIdentifierValues returns every value the Jamf API accepts for SafariSettingsComponentIdentifier, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SafariSettingsConfiguration

type SafariSettingsConfiguration struct {
	// The policy Safari uses for managing cookies.
	AcceptCookies *AcceptCookies `json:"AcceptCookies,omitempty"`
	// If false, the system forces fraud warnings on in Safari.
	AllowDisablingFraudWarning *AllowDisablingFraudWarning `json:"AllowDisablingFraudWarning,omitempty"`
	// If false, the system disables clearing history in Safari.
	AllowHistoryClearing *AllowHistoryClearing `json:"AllowHistoryClearing,omitempty"`
	// If false, the system disables JavaScript in Safari.
	AllowJavaScript *AllowJavaScript `json:"AllowJavaScript,omitempty"`
	// If false, the system disables popups in Safari.
	AllowPopups *AllowPopups `json:"AllowPopups,omitempty"`
	// If false, the system disables private browsing in Safari.
	AllowPrivateBrowsing *AllowPrivateBrowsing `json:"AllowPrivateBrowsing,omitempty"`
	// If false, the system disables summarization of content in Safari.
	AllowSummary *AllowSummary `json:"AllowSummary,omitempty"`
	// Sets the start page for new tabs in Safari.
	NewTabStartPage *NewTabStartPage `json:"NewTabStartPage,omitempty"`
}

SafariSettingsConfiguration Safari settings configuration. Configures Safari browser behavior including cookies, JavaScript, popups, private browsing, and start page settings.

func (*SafariSettingsConfiguration) UnmarshalJSON

func (s *SafariSettingsConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ScientificMode

type ScientificMode struct {
	// Controls whether the mode is enabled.
	Enabled bool `json:"Enabled"`
	// Controls whether this control should be used.
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
}

ScientificMode represents a scientific mode.

func (*ScientificMode) UnmarshalJSON

func (s *ScientificMode) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ScreenSharingConnectionDeclaration added in v1.2.0

type ScreenSharingConnectionDeclaration struct {
	// The channel to which the declaration applies: - `SYSTEM` — applies to the system (device) channel
	// - `USER` — applies to the user channel.
	ChannelType DeclarationChannelType `json:"channelType"`
	// All declarations in this component are `com.apple.configuration.*` types.
	// Allowed values: see the ScreenSharingConnectionDeclarationKind constants.
	Kind string `json:"kind"`
	// Payload fields for the Screen Sharing Connection declaration.
	Payload ScreenSharingConnectionDeclarationPayload `json:"payload"`
	// Allowed values: see the ScreenSharingConnectionDeclarationType constants.
	Type string `json:"type"`
}

ScreenSharingConnectionDeclaration Configures a connection to a screen-sharing host. macOS only.

func (*ScreenSharingConnectionDeclaration) UnmarshalJSON added in v1.2.0

func (s *ScreenSharingConnectionDeclaration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ScreenSharingConnectionDeclarationKind added in v1.2.0

type ScreenSharingConnectionDeclarationKind = string

ScreenSharingConnectionDeclarationKind is the set of values accepted by ScreenSharingConnectionDeclaration.Kind.

const (
	ScreenSharingConnectionDeclarationKindConfiguration ScreenSharingConnectionDeclarationKind = "CONFIGURATION"
)

ScreenSharingConnectionDeclarationKind values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ScreenSharingConnectionDeclarationKindValues added in v1.2.0

func ScreenSharingConnectionDeclarationKindValues() []ScreenSharingConnectionDeclarationKind

ScreenSharingConnectionDeclarationKindValues returns every value the Jamf API accepts for ScreenSharingConnectionDeclarationKind, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ScreenSharingConnectionDeclarationPayload added in v1.2.0

type ScreenSharingConnectionDeclarationPayload struct {
	// Asset declaration identifier of type `com.apple.asset.credential.userpassword` providing
	// authentication credentials.
	AuthenticationCredentialsAssetReference *string `json:"AuthenticationCredentialsAssetReference,omitempty"`
	// Unique identifier for this connection when it is a member of a connection group.
	ConnectionUUID string `json:"ConnectionUUID"`
	// Display configuration for a screen-sharing connection.
	DisplayConfiguration ScreenSharingDisplayConfiguration `json:"DisplayConfiguration"`
	// The name of the connection.
	DisplayName string `json:"DisplayName"`
	// Host name or IP address of the screen-sharing host.
	HostName string `json:"HostName"`
	// TCP port to initiate the connection on.
	Port *int `json:"Port,omitempty"`
}

ScreenSharingConnectionDeclarationPayload Payload fields for the Screen Sharing Connection declaration.

func (*ScreenSharingConnectionDeclarationPayload) UnmarshalJSON added in v1.2.0

func (s *ScreenSharingConnectionDeclarationPayload) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ScreenSharingConnectionDeclarationType added in v1.2.0

type ScreenSharingConnectionDeclarationType = string

ScreenSharingConnectionDeclarationType is the set of values accepted by ScreenSharingConnectionDeclaration.Type.

const (
	ScreenSharingConnectionDeclarationTypeComAppleConfigurationScreensharingConnection ScreenSharingConnectionDeclarationType = "com.apple.configuration.screensharing.connection"
)

ScreenSharingConnectionDeclarationType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ScreenSharingConnectionDeclarationTypeValues added in v1.2.0

func ScreenSharingConnectionDeclarationTypeValues() []ScreenSharingConnectionDeclarationType

ScreenSharingConnectionDeclarationTypeValues returns every value the Jamf API accepts for ScreenSharingConnectionDeclarationType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ScreenSharingConnectionGroupDeclaration added in v1.2.0

type ScreenSharingConnectionGroupDeclaration struct {
	// The channel to which the declaration applies: - `SYSTEM` — applies to the system (device) channel
	// - `USER` — applies to the user channel.
	ChannelType DeclarationChannelType `json:"channelType"`
	// All declarations in this component are `com.apple.configuration.*` types.
	// Allowed values: see the ScreenSharingConnectionGroupDeclarationKind constants.
	Kind string `json:"kind"`
	// Payload fields for the Screen Sharing Connection Group declaration.
	Payload ScreenSharingConnectionGroupDeclarationPayload `json:"payload"`
	// Allowed values: see the ScreenSharingConnectionGroupDeclarationType constants.
	Type string `json:"type"`
}

ScreenSharingConnectionGroupDeclaration Groups multiple Screen Sharing Connection declarations together. macOS only.

type ScreenSharingConnectionGroupDeclarationKind added in v1.2.0

type ScreenSharingConnectionGroupDeclarationKind = string

ScreenSharingConnectionGroupDeclarationKind is the set of values accepted by ScreenSharingConnectionGroupDeclaration.Kind.

const (
	ScreenSharingConnectionGroupDeclarationKindConfiguration ScreenSharingConnectionGroupDeclarationKind = "CONFIGURATION"
)

ScreenSharingConnectionGroupDeclarationKind values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ScreenSharingConnectionGroupDeclarationKindValues added in v1.2.0

func ScreenSharingConnectionGroupDeclarationKindValues() []ScreenSharingConnectionGroupDeclarationKind

ScreenSharingConnectionGroupDeclarationKindValues returns every value the Jamf API accepts for ScreenSharingConnectionGroupDeclarationKind, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ScreenSharingConnectionGroupDeclarationPayload added in v1.2.0

type ScreenSharingConnectionGroupDeclarationPayload struct {
	// Unique identifier for this connection group.
	ConnectionGroupUUID string `json:"ConnectionGroupUUID"`
	// The name of the connection group.
	GroupName string `json:"GroupName"`
	// `ConnectionUUID` values of Screen Sharing Connection declarations that belong to this group.
	Members []string `json:"Members"`
}

ScreenSharingConnectionGroupDeclarationPayload Payload fields for the Screen Sharing Connection Group declaration.

type ScreenSharingConnectionGroupDeclarationType added in v1.2.0

type ScreenSharingConnectionGroupDeclarationType = string

ScreenSharingConnectionGroupDeclarationType is the set of values accepted by ScreenSharingConnectionGroupDeclaration.Type.

const (
	ScreenSharingConnectionGroupDeclarationTypeComAppleConfigurationScreensharingConnectionGroup ScreenSharingConnectionGroupDeclarationType = "com.apple.configuration.screensharing.connection.group"
)

ScreenSharingConnectionGroupDeclarationType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ScreenSharingConnectionGroupDeclarationTypeValues added in v1.2.0

func ScreenSharingConnectionGroupDeclarationTypeValues() []ScreenSharingConnectionGroupDeclarationType

ScreenSharingConnectionGroupDeclarationTypeValues returns every value the Jamf API accepts for ScreenSharingConnectionGroupDeclarationType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ScreenSharingDisplayConfiguration added in v1.2.0

type ScreenSharingDisplayConfiguration struct {
	// Number of virtual displays to create.
	// Allowed values: see the ScreenSharingDisplayConfigurationDisplayType constants.
	DisplayType string `json:"DisplayType"`
}

ScreenSharingDisplayConfiguration Display configuration for a screen-sharing connection.

type ScreenSharingDisplayConfigurationDisplayType added in v1.2.0

type ScreenSharingDisplayConfigurationDisplayType = string

ScreenSharingDisplayConfigurationDisplayType is the set of values accepted by ScreenSharingDisplayConfiguration.DisplayType.

const (
	ScreenSharingDisplayConfigurationDisplayTypeVirtual1 ScreenSharingDisplayConfigurationDisplayType = "Virtual1"
	ScreenSharingDisplayConfigurationDisplayTypeVirtual2 ScreenSharingDisplayConfigurationDisplayType = "Virtual2"
)

ScreenSharingDisplayConfigurationDisplayType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ScreenSharingDisplayConfigurationDisplayTypeValues added in v1.2.0

func ScreenSharingDisplayConfigurationDisplayTypeValues() []ScreenSharingDisplayConfigurationDisplayType

ScreenSharingDisplayConfigurationDisplayTypeValues returns every value the Jamf API accepts for ScreenSharingDisplayConfigurationDisplayType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ScreenSharingHostSettingsDeclaration added in v1.2.0

type ScreenSharingHostSettingsDeclaration struct {
	// The channel to which the declaration applies: - `SYSTEM` — applies to the system (device) channel
	// - `USER` — applies to the user channel.
	ChannelType DeclarationChannelType `json:"channelType"`
	// All declarations in this component are `com.apple.configuration.*` types.
	// Allowed values: see the ScreenSharingHostSettingsDeclarationKind constants.
	Kind string `json:"kind"`
	// Payload fields for the Screen Sharing Host Settings declaration.
	Payload ScreenSharingHostSettingsDeclarationPayload `json:"payload"`
	// Allowed values: see the ScreenSharingHostSettingsDeclarationType constants.
	Type string `json:"type"`
}

ScreenSharingHostSettingsDeclaration Restricts how a device behaves as a screen-sharing host. macOS only.

func (*ScreenSharingHostSettingsDeclaration) UnmarshalJSON added in v1.2.0

func (s *ScreenSharingHostSettingsDeclaration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ScreenSharingHostSettingsDeclarationKind added in v1.2.0

type ScreenSharingHostSettingsDeclarationKind = string

ScreenSharingHostSettingsDeclarationKind is the set of values accepted by ScreenSharingHostSettingsDeclaration.Kind.

const (
	ScreenSharingHostSettingsDeclarationKindConfiguration ScreenSharingHostSettingsDeclarationKind = "CONFIGURATION"
)

ScreenSharingHostSettingsDeclarationKind values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ScreenSharingHostSettingsDeclarationKindValues added in v1.2.0

func ScreenSharingHostSettingsDeclarationKindValues() []ScreenSharingHostSettingsDeclarationKind

ScreenSharingHostSettingsDeclarationKindValues returns every value the Jamf API accepts for ScreenSharingHostSettingsDeclarationKind, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type ScreenSharingHostSettingsDeclarationPayload added in v1.2.0

type ScreenSharingHostSettingsDeclarationPayload struct {
	// Maximum virtual displays to make available to clients.
	MaximumVirtualDisplays *int `json:"MaximumVirtualDisplays,omitempty"`
	// Initial UDP port for the host connection. Screen sharing always establishes its first connection on
	// TCP port 5900.
	PortBase                          *int  `json:"PortBase,omitempty"`
	PreventCopyFilesFromHost          *bool `json:"PreventCopyFilesFromHost,omitempty"`
	PreventCopyFilesToHost            *bool `json:"PreventCopyFilesToHost,omitempty"`
	PreventHighPerformanceConnections *bool `json:"PreventHighPerformanceConnections,omitempty"`
}

ScreenSharingHostSettingsDeclarationPayload Payload fields for the Screen Sharing Host Settings declaration.

func (*ScreenSharingHostSettingsDeclarationPayload) UnmarshalJSON added in v1.2.0

func (s *ScreenSharingHostSettingsDeclarationPayload) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type ScreenSharingHostSettingsDeclarationType added in v1.2.0

type ScreenSharingHostSettingsDeclarationType = string

ScreenSharingHostSettingsDeclarationType is the set of values accepted by ScreenSharingHostSettingsDeclaration.Type.

const (
	ScreenSharingHostSettingsDeclarationTypeComAppleConfigurationScreensharingHostSettings ScreenSharingHostSettingsDeclarationType = "com.apple.configuration.screensharing.host.settings"
)

ScreenSharingHostSettingsDeclarationType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func ScreenSharingHostSettingsDeclarationTypeValues added in v1.2.0

func ScreenSharingHostSettingsDeclarationTypeValues() []ScreenSharingHostSettingsDeclarationType

ScreenSharingHostSettingsDeclarationTypeValues returns every value the Jamf API accepts for ScreenSharingHostSettingsDeclarationType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SiriSettingsDeclaration added in v1.2.0

type SiriSettingsDeclaration struct {
	// The channel to which the declaration applies: - `SYSTEM` — applies to the system (device) channel
	// - `USER` — applies to the user channel.
	ChannelType DeclarationChannelType `json:"channelType"`
	// All declarations in this component are `com.apple.configuration.*` types.
	// Allowed values: see the SiriSettingsDeclarationKind constants.
	Kind string `json:"kind"`
	// Payload fields for the Siri Settings declaration.
	Payload SiriSettingsDeclarationPayload `json:"payload"`
	// Allowed values: see the SiriSettingsDeclarationType constants.
	Type string `json:"type"`
}

SiriSettingsDeclaration Configures Siri settings.

func (*SiriSettingsDeclaration) UnmarshalJSON added in v1.2.0

func (s *SiriSettingsDeclaration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type SiriSettingsDeclarationKind added in v1.2.0

type SiriSettingsDeclarationKind = string

SiriSettingsDeclarationKind is the set of values accepted by SiriSettingsDeclaration.Kind.

const (
	SiriSettingsDeclarationKindConfiguration SiriSettingsDeclarationKind = "CONFIGURATION"
)

SiriSettingsDeclarationKind values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func SiriSettingsDeclarationKindValues added in v1.2.0

func SiriSettingsDeclarationKindValues() []SiriSettingsDeclarationKind

SiriSettingsDeclarationKindValues returns every value the Jamf API accepts for SiriSettingsDeclarationKind, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SiriSettingsDeclarationPayload added in v1.2.0

type SiriSettingsDeclarationPayload struct {
	// Not supported on tvOS/watchOS. Requires iOS/macOS/visionOS 27.0+. If `false`, disables Siri AI
	// features.
	AllowSiriAI *bool `json:"AllowSiriAI,omitempty"`
	// Not supported on macOS/tvOS/visionOS.
	AllowUserGeneratedContent *bool `json:"AllowUserGeneratedContent,omitempty"`
	// Not supported on macOS/tvOS/visionOS.
	AllowWhileLocked *bool `json:"AllowWhileLocked,omitempty"`
	// Not supported on watchOS. If `false`, disables Siri.
	Enabled *bool `json:"Enabled,omitempty"`
	// Not supported on tvOS/visionOS/watchOS.
	ForceProfanityFilter *bool `json:"ForceProfanityFilter,omitempty"`
	// Not supported on tvOS/watchOS. Requires iOS/macOS/visionOS 27.0+.
	ForceReduceSensitiveContent *bool `json:"ForceReduceSensitiveContent,omitempty"`
}

SiriSettingsDeclarationPayload Payload fields for the Siri Settings declaration.

func (*SiriSettingsDeclarationPayload) UnmarshalJSON added in v1.2.0

func (s *SiriSettingsDeclarationPayload) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type SiriSettingsDeclarationType added in v1.2.0

type SiriSettingsDeclarationType = string

SiriSettingsDeclarationType is the set of values accepted by SiriSettingsDeclaration.Type.

const (
	SiriSettingsDeclarationTypeComAppleConfigurationSiriSettings SiriSettingsDeclarationType = "com.apple.configuration.siri.settings"
)

SiriSettingsDeclarationType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func SiriSettingsDeclarationTypeValues added in v1.2.0

func SiriSettingsDeclarationTypeValues() []SiriSettingsDeclarationType

SiriSettingsDeclarationTypeValues returns every value the Jamf API accepts for SiriSettingsDeclarationType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SoftwareUpdateSettingsComponent

type SoftwareUpdateSettingsComponent struct {
	// Software update settings configuration.
	// Configures OS update behavior including notifications, automatic actions, deferrals, and rapid
	// security responses.
	Configuration SoftwareUpdateSettingsConfiguration `json:"configuration"`
	// Allowed values: see the SoftwareUpdateSettingsComponentIdentifier constants.
	Identifier string `json:"identifier"`
}

SoftwareUpdateSettingsComponent represents a software update settings component.

func (*SoftwareUpdateSettingsComponent) UnmarshalJSON

func (s *SoftwareUpdateSettingsComponent) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type SoftwareUpdateSettingsComponentIdentifier

type SoftwareUpdateSettingsComponentIdentifier = string

SoftwareUpdateSettingsComponentIdentifier is the set of values accepted by SoftwareUpdateSettingsComponent.Identifier.

const (
	SoftwareUpdateSettingsComponentIdentifierComJamfDdmSoftwareUpdateSettings SoftwareUpdateSettingsComponentIdentifier = "com.jamf.ddm.software-update-settings"
)

SoftwareUpdateSettingsComponentIdentifier values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func SoftwareUpdateSettingsComponentIdentifierValues

func SoftwareUpdateSettingsComponentIdentifierValues() []SoftwareUpdateSettingsComponentIdentifier

SoftwareUpdateSettingsComponentIdentifierValues returns every value the Jamf API accepts for SoftwareUpdateSettingsComponentIdentifier, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SoftwareUpdateSettingsConfiguration

type SoftwareUpdateSettingsConfiguration struct {
	AllowStandardUserOSUpdates *OptionallyEnabled     `json:"AllowStandardUserOSUpdates,omitempty"`
	AutomaticActions           *AutomaticActions      `json:"AutomaticActions,omitempty"`
	Beta                       *Beta                  `json:"Beta,omitempty"`
	Deferrals                  *Deferrals             `json:"Deferrals,omitempty"`
	Notifications              *OptionallyEnabled     `json:"Notifications,omitempty"`
	RapidSecurityResponse      *RapidSecurityResponse `json:"RapidSecurityResponse,omitempty"`
	RecommendedCadence         *RecommendedCadence    `json:"RecommendedCadence,omitempty"`
}

SoftwareUpdateSettingsConfiguration Software update settings configuration. Configures OS update behavior including notifications, automatic actions, deferrals, and rapid security responses.

func (*SoftwareUpdateSettingsConfiguration) UnmarshalJSON

func (s *SoftwareUpdateSettingsConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type StorageMode

type StorageMode struct {
	// Controls whether this setting should be used.
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Controls whether the mode is enabled.
	// Allowed values: see the StorageModeValue constants.
	Value string `json:"Value"`
}

StorageMode Storage access mode configuration.

func (*StorageMode) UnmarshalJSON

func (s *StorageMode) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type StorageModeValue

type StorageModeValue = string

StorageModeValue is the set of values accepted by StorageMode.Value.

const (
	StorageModeValueAllowed    StorageModeValue = "Allowed"
	StorageModeValueDisallowed StorageModeValue = "Disallowed"
	StorageModeValueReadOnly   StorageModeValue = "ReadOnly"
)

StorageModeValue values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func StorageModeValueValues

func StorageModeValueValues() []StorageModeValue

StorageModeValueValues returns every value the Jamf API accepts for StorageModeValue, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SupportedOs

type SupportedOs struct {
	// Version of the OS family.
	Version string `json:"version"`
}

SupportedOs Supported version of OS families.

type SwUpdateAutomaticConfiguration

type SwUpdateAutomaticConfiguration struct {
	// Allowed values: see the SwUpdateAutomaticConfigurationStrategy constants.
	Strategy string                         `json:"strategy"`
	LATEST   *SwUpdateLatestConfiguration   `json:"-"`
	SEMANTIC *SwUpdateSemanticConfiguration `json:"-"`
}

SwUpdateAutomaticConfiguration Automatic software update enforcement configuration. Automatically enforces updates based on strategy (LATEST or SEMANTIC).

func (SwUpdateAutomaticConfiguration) MarshalJSON

func (m SwUpdateAutomaticConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON emits the active variant's JSON.

A discriminator that names a variant must be accompanied by exactly that variant: a nil one, or a different one set beside it, is an error rather than a body the caller did not write. Where the request carries a destructive command, a bare discriminator is a well-formed request with every option defaulted, and dropping a populated variant is how a caller ships it. An empty or unrecognised discriminator with no variant set is the one case that still emits the discriminator alone, so the zero value and an unknown value read from a response stay marshalable.

func (*SwUpdateAutomaticConfiguration) UnmarshalJSON

func (m *SwUpdateAutomaticConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON dispatches the payload to the variant matching the strategy discriminator. Unknown values leave the variant pointers nil but preserve the discriminator string.

type SwUpdateAutomaticConfigurationStrategy

type SwUpdateAutomaticConfigurationStrategy = string

SwUpdateAutomaticConfigurationStrategy is the set of values accepted by SwUpdateAutomaticConfiguration.Strategy.

const (
	SwUpdateAutomaticConfigurationStrategyLatest   SwUpdateAutomaticConfigurationStrategy = "LATEST"
	SwUpdateAutomaticConfigurationStrategySemantic SwUpdateAutomaticConfigurationStrategy = "SEMANTIC"
)

SwUpdateAutomaticConfigurationStrategy values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func SwUpdateAutomaticConfigurationStrategyValues

func SwUpdateAutomaticConfigurationStrategyValues() []SwUpdateAutomaticConfigurationStrategy

SwUpdateAutomaticConfigurationStrategyValues returns every value the Jamf API accepts for SwUpdateAutomaticConfigurationStrategy, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SwUpdateComponent

type SwUpdateComponent struct {
	// Software update enforcement configuration.
	// Configures OS update enforcement using either manual (specific version by date) or automatic
	// strategies.
	Configuration SwUpdateConfiguration `json:"configuration"`
	// Allowed values: see the SwUpdateComponentIdentifier constants.
	Identifier string `json:"identifier"`
}

SwUpdateComponent represents a sw update component.

func (*SwUpdateComponent) UnmarshalJSON

func (s *SwUpdateComponent) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type SwUpdateComponentIdentifier

type SwUpdateComponentIdentifier = string

SwUpdateComponentIdentifier is the set of values accepted by SwUpdateComponent.Identifier.

const (
	SwUpdateComponentIdentifierComJamfDdmSwUpdates SwUpdateComponentIdentifier = "com.jamf.ddm.sw-updates"
)

SwUpdateComponentIdentifier values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func SwUpdateComponentIdentifierValues

func SwUpdateComponentIdentifierValues() []SwUpdateComponentIdentifier

SwUpdateComponentIdentifierValues returns every value the Jamf API accepts for SwUpdateComponentIdentifier, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SwUpdateConfiguration

type SwUpdateConfiguration struct {
	// Allowed values: see the SwUpdateConfigurationEnforcementType constants.
	EnforcementType string                          `json:"enforcementType"`
	AUTOMATIC       *SwUpdateAutomaticConfiguration `json:"-"`
	MANUAL          *SwUpdateManualConfiguration    `json:"-"`
}

SwUpdateConfiguration Software update enforcement configuration. Configures OS update enforcement using either manual (specific version by date) or automatic strategies.

func (SwUpdateConfiguration) MarshalJSON

func (m SwUpdateConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON emits the active variant's JSON.

A discriminator that names a variant must be accompanied by exactly that variant: a nil one, or a different one set beside it, is an error rather than a body the caller did not write. Where the request carries a destructive command, a bare discriminator is a well-formed request with every option defaulted, and dropping a populated variant is how a caller ships it. An empty or unrecognised discriminator with no variant set is the one case that still emits the discriminator alone, so the zero value and an unknown value read from a response stay marshalable.

func (*SwUpdateConfiguration) UnmarshalJSON

func (m *SwUpdateConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON dispatches the payload to the variant matching the enforcementType discriminator. Unknown values leave the variant pointers nil but preserve the discriminator string.

type SwUpdateConfigurationEnforcementType

type SwUpdateConfigurationEnforcementType = string

SwUpdateConfigurationEnforcementType is the set of values accepted by SwUpdateConfiguration.EnforcementType.

const (
	SwUpdateConfigurationEnforcementTypeAutomatic SwUpdateConfigurationEnforcementType = "AUTOMATIC"
	SwUpdateConfigurationEnforcementTypeManual    SwUpdateConfigurationEnforcementType = "MANUAL"
)

SwUpdateConfigurationEnforcementType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func SwUpdateConfigurationEnforcementTypeValues

func SwUpdateConfigurationEnforcementTypeValues() []SwUpdateConfigurationEnforcementType

SwUpdateConfigurationEnforcementTypeValues returns every value the Jamf API accepts for SwUpdateConfigurationEnforcementType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SwUpdateLatestConfiguration

type SwUpdateLatestConfiguration struct {
	// The device local time (HH:MM) when the update should be installed.
	DeploymentTime string `json:"deploymentTime"`
	// Optional URL with details about the enforced update.
	DetailsURL *DetailsURL `json:"detailsURL,omitempty"`
	// The number of days after the OS update release.
	EnforceAfterDays int `json:"enforceAfterDays"`
	// Allowed values: see the SwUpdateLatestConfigurationEnforcementType constants.
	EnforcementType string `json:"enforcementType"`
	// Allowed values: see the SwUpdateLatestConfigurationStrategy constants.
	Strategy string `json:"strategy"`
}

SwUpdateLatestConfiguration Automatic software update with LATEST strategy. Enforces the newest available OS version a specified number of days after release.

func (*SwUpdateLatestConfiguration) UnmarshalJSON

func (s *SwUpdateLatestConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type SwUpdateLatestConfigurationEnforcementType

type SwUpdateLatestConfigurationEnforcementType = string

SwUpdateLatestConfigurationEnforcementType is the set of values accepted by SwUpdateLatestConfiguration.EnforcementType.

const (
	SwUpdateLatestConfigurationEnforcementTypeAutomatic SwUpdateLatestConfigurationEnforcementType = "AUTOMATIC"
)

SwUpdateLatestConfigurationEnforcementType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func SwUpdateLatestConfigurationEnforcementTypeValues

func SwUpdateLatestConfigurationEnforcementTypeValues() []SwUpdateLatestConfigurationEnforcementType

SwUpdateLatestConfigurationEnforcementTypeValues returns every value the Jamf API accepts for SwUpdateLatestConfigurationEnforcementType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SwUpdateLatestConfigurationStrategy

type SwUpdateLatestConfigurationStrategy = string

SwUpdateLatestConfigurationStrategy is the set of values accepted by SwUpdateLatestConfiguration.Strategy.

const (
	SwUpdateLatestConfigurationStrategyLatest SwUpdateLatestConfigurationStrategy = "LATEST"
)

SwUpdateLatestConfigurationStrategy values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func SwUpdateLatestConfigurationStrategyValues

func SwUpdateLatestConfigurationStrategyValues() []SwUpdateLatestConfigurationStrategy

SwUpdateLatestConfigurationStrategyValues returns every value the Jamf API accepts for SwUpdateLatestConfigurationStrategy, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SwUpdateManualConfiguration

type SwUpdateManualConfiguration struct {
	// Optional URL with details about the enforced update.
	DetailsURL *DetailsURL `json:"detailsURL,omitempty"`
	// Allowed values: see the SwUpdateManualConfigurationEnforcementType constants.
	EnforcementType string `json:"enforcementType"`
	// Local time of the device until which update must be performed.
	TargetLocalDateTime time.Time `json:"targetLocalDateTime"`
	// Target OS version in semantic versioning format.
	TargetOSVersion string `json:"targetOSVersion"`
}

SwUpdateManualConfiguration Manual software update enforcement configuration. Enforces a specific OS version by a specific date/time.

func (*SwUpdateManualConfiguration) UnmarshalJSON

func (s *SwUpdateManualConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type SwUpdateManualConfigurationEnforcementType

type SwUpdateManualConfigurationEnforcementType = string

SwUpdateManualConfigurationEnforcementType is the set of values accepted by SwUpdateManualConfiguration.EnforcementType.

const (
	SwUpdateManualConfigurationEnforcementTypeManual SwUpdateManualConfigurationEnforcementType = "MANUAL"
)

SwUpdateManualConfigurationEnforcementType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func SwUpdateManualConfigurationEnforcementTypeValues

func SwUpdateManualConfigurationEnforcementTypeValues() []SwUpdateManualConfigurationEnforcementType

SwUpdateManualConfigurationEnforcementTypeValues returns every value the Jamf API accepts for SwUpdateManualConfigurationEnforcementType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SwUpdateSemanticConfiguration

type SwUpdateSemanticConfiguration struct {
	// Optional URL with details about the enforced update.
	DetailsURL *DetailsURL `json:"detailsURL,omitempty"`
	// Allowed values: see the SwUpdateSemanticConfigurationEnforcementType constants.
	EnforcementType string `json:"enforcementType"`
	// Rules for semantic update strategy.
	Rules UpdateRules `json:"rules"`
	// Allowed values: see the SwUpdateSemanticConfigurationStrategy constants.
	Strategy string `json:"strategy"`
}

SwUpdateSemanticConfiguration Automatic software update with SEMANTIC strategy. Applies semantic versioning rules to determine update enforcement timing.

func (*SwUpdateSemanticConfiguration) UnmarshalJSON

func (s *SwUpdateSemanticConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type SwUpdateSemanticConfigurationEnforcementType

type SwUpdateSemanticConfigurationEnforcementType = string

SwUpdateSemanticConfigurationEnforcementType is the set of values accepted by SwUpdateSemanticConfiguration.EnforcementType.

const (
	SwUpdateSemanticConfigurationEnforcementTypeAutomatic SwUpdateSemanticConfigurationEnforcementType = "AUTOMATIC"
)

SwUpdateSemanticConfigurationEnforcementType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func SwUpdateSemanticConfigurationEnforcementTypeValues

func SwUpdateSemanticConfigurationEnforcementTypeValues() []SwUpdateSemanticConfigurationEnforcementType

SwUpdateSemanticConfigurationEnforcementTypeValues returns every value the Jamf API accepts for SwUpdateSemanticConfigurationEnforcementType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SwUpdateSemanticConfigurationStrategy

type SwUpdateSemanticConfigurationStrategy = string

SwUpdateSemanticConfigurationStrategy is the set of values accepted by SwUpdateSemanticConfiguration.Strategy.

const (
	SwUpdateSemanticConfigurationStrategySemantic SwUpdateSemanticConfigurationStrategy = "SEMANTIC"
)

SwUpdateSemanticConfigurationStrategy values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func SwUpdateSemanticConfigurationStrategyValues

func SwUpdateSemanticConfigurationStrategyValues() []SwUpdateSemanticConfigurationStrategy

SwUpdateSemanticConfigurationStrategyValues returns every value the Jamf API accepts for SwUpdateSemanticConfigurationStrategy, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type SystemBehavior

type SystemBehavior struct {
	// Controls whether this control should be used.
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
	// Controls whether keyboard suggestions include math solutions.
	KeyboardSuggestions bool `json:"KeyboardSuggestions"`
	// Controls whether Math Notes is allowed in other apps such as Notes.
	MathNotes bool `json:"MathNotes"`
}

SystemBehavior represents a system behavior.

func (*SystemBehavior) UnmarshalJSON

func (s *SystemBehavior) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type TemporaryPairing

type TemporaryPairing struct {
	// Temporary pairing configuration details.
	Configuration *TemporaryPairingConfig `json:"Configuration,omitempty"`
	// If true, temporary pairing of audio accessories is disabled.
	Disabled *bool `json:"Disabled,omitempty"`
	// Controls whether this setting should be used.
	// Write-only. Servers MUST NOT return this field in responses; the SDK preserves it only so the caller
	// can supply a value on update.
	Included *bool `json:"Included,omitempty"`
}

TemporaryPairing Temporary pairing configuration.

func (*TemporaryPairing) UnmarshalJSON

func (s *TemporaryPairing) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type TemporaryPairingConfig

type TemporaryPairingConfig struct {
	// Automatic unpairing time configuration.
	UnpairingTime UnpairingTime `json:"UnpairingTime"`
}

TemporaryPairingConfig Temporary pairing configuration details.

func (*TemporaryPairingConfig) UnmarshalJSON

func (s *TemporaryPairingConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type URLBookmarkItem

type URLBookmarkItem struct {
	// The title of the bookmark shown in Safari.
	Title string `json:"Title"`
	// Allowed values: see the URLBookmarkItemType constants.
	Type string `json:"Type"`
	// The URL for the bookmark item.
	URL string `json:"URL"`
}

URLBookmarkItem represents a u r l bookmark item.

type URLBookmarkItemType

type URLBookmarkItemType = string

URLBookmarkItemType is the set of values accepted by URLBookmarkItem.Type.

const (
	URLBookmarkItemTypeBookmark URLBookmarkItemType = "BOOKMARK"
)

URLBookmarkItemType values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func URLBookmarkItemTypeValues

func URLBookmarkItemTypeValues() []URLBookmarkItemType

URLBookmarkItemTypeValues returns every value the Jamf API accepts for URLBookmarkItemType, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type UnpairingTime

type UnpairingTime struct {
	// Local time hour (24-hour clock) for automatic unpairing. Required when Policy is "Hour".
	Hour *int `json:"Hour,omitempty"`
	// A string that specifies the device's unpairing policy.
	// Allowed values: see the UnpairingTimePolicy constants.
	Policy string `json:"Policy"`
}

UnpairingTime Automatic unpairing time configuration.

func (*UnpairingTime) UnmarshalJSON

func (s *UnpairingTime) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type UnpairingTimePolicy

type UnpairingTimePolicy = string

UnpairingTimePolicy is the set of values accepted by UnpairingTime.Policy.

const (
	UnpairingTimePolicyNone UnpairingTimePolicy = "None"
	UnpairingTimePolicyHour UnpairingTimePolicy = "Hour"
)

UnpairingTimePolicy values accepted by the Jamf API. The alias above is a string, so these constants pass to any parameter or field declared as a plain string.

func UnpairingTimePolicyValues

func UnpairingTimePolicyValues() []UnpairingTimePolicy

UnpairingTimePolicyValues returns every value the Jamf API accepts for UnpairingTimePolicy, in the order the spec declares them. Returns a fresh slice per call, so no caller can corrupt the set for the rest of the process — which a package level var would allow. Suits attribute validation (Terraform's stringvalidator.OneOf, say) and anything that needs to enumerate the set rather than name one member.

type UpdateBlueprintRequest

type UpdateBlueprintRequest struct {
	// Description of the blueprint.
	Description *string `json:"description,omitempty"`
	// Name of the blueprint.
	Name *string `json:"name,omitempty"`
	// Device groups.
	Scope *BlueprintScope `json:"scope,omitempty"`
	// Array of blueprint steps.
	Steps *[]BlueprintStep `json:"steps,omitempty"`
}

UpdateBlueprintRequest represents a update blueprint request.

type UpdateRule

type UpdateRule struct {
	// The device local time (HH:MM) when the update should be installed.
	DeploymentTime string `json:"deploymentTime"`
	// The number of days after the OS update release.
	EnforceAfterDays int `json:"enforceAfterDays"`
}

UpdateRule Configuration for a specific update type.

func (*UpdateRule) UnmarshalJSON

func (s *UpdateRule) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

type UpdateRules

type UpdateRules struct {
	// Configuration for a specific update type.
	Minor UpdateRule `json:"minor"`
}

UpdateRules Rules for semantic update strategy.

func (*UpdateRules) UnmarshalJSON

func (s *UpdateRules) UnmarshalJSON(data []byte) error

UnmarshalJSON decodes s, accepting a JSON string for any number or boolean it declares, because the store this schema comes from serves back the scalar encoding its writer used. A failure names the field it came from.

Marshalling is unaffected, so writing s back sends the bare number or boolean the spec declares rather than the encoding it was read as.

Jump to

Keyboard shortcuts

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