Skip to content

Commit 60d3714

Browse files
authored
Merge pull request #972 from neilmartin83/nm-mobile-device-prestages-2025-11-08
refactor: jamfpro_mobile_device_prestages.go - clean up ptr usage and add omitempty for all optional fields per API spec
2 parents ef8b8ba + b261e3e commit 60d3714

File tree

4 files changed

+263
-262
lines changed

4 files changed

+263
-262
lines changed

examples/mobile_device_prestages/CreateMobileDevicePrestage/CreateMobileDevicePrestage.go

Lines changed: 62 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -21,38 +21,38 @@ func main() {
2121
// Define the payload for creating a new mobile device prestage
2222
prestage := jamfpro.ResourceMobileDevicePrestage{
2323
DisplayName: "jamfpro-sdk-example-mobiledevicePrestage-config",
24-
Mandatory: jamfpro.TruePtr(),
25-
MdmRemovable: jamfpro.FalsePtr(),
24+
Mandatory: true,
25+
MdmRemovable: false,
2626
SupportPhoneNumber: "111-222-3333",
2727
SupportEmailAddress: "email@company.com",
2828
Department: "department name",
29-
DefaultPrestage: jamfpro.FalsePtr(),
29+
DefaultPrestage: false,
3030
EnrollmentSiteID: "-1",
31-
KeepExistingSiteMembership: jamfpro.FalsePtr(),
32-
KeepExistingLocationInformation: jamfpro.FalsePtr(),
33-
RequireAuthentication: jamfpro.FalsePtr(),
31+
KeepExistingSiteMembership: false,
32+
KeepExistingLocationInformation: false,
33+
RequireAuthentication: false,
3434
AuthenticationPrompt: "",
35-
PreventActivationLock: jamfpro.TruePtr(),
36-
EnableDeviceBasedActivationLock: jamfpro.FalsePtr(),
35+
PreventActivationLock: true,
36+
EnableDeviceBasedActivationLock: false,
3737
DeviceEnrollmentProgramInstanceID: "1",
3838
AnchorCertificates: []string{},
3939
EnrollmentCustomizationID: "0",
4040
Language: "",
4141
Region: "",
42-
AutoAdvanceSetup: jamfpro.FalsePtr(),
43-
AllowPairing: jamfpro.TruePtr(),
44-
MultiUser: jamfpro.FalsePtr(),
45-
Supervised: jamfpro.TruePtr(),
42+
AutoAdvanceSetup: false,
43+
AllowPairing: true,
44+
MultiUser: false,
45+
Supervised: true,
4646
MaximumSharedAccounts: 10,
47-
ConfigureDeviceBeforeSetupAssistant: jamfpro.TruePtr(),
48-
SendTimezone: jamfpro.FalsePtr(),
47+
ConfigureDeviceBeforeSetupAssistant: true,
48+
SendTimezone: false,
4949
Timezone: "UTC",
5050
StorageQuotaSizeMegabytes: 4096,
51-
UseStorageQuotaSize: jamfpro.FalsePtr(),
52-
TemporarySessionOnly: jamfpro.FalsePtr(),
53-
EnforceTemporarySessionTimeout: jamfpro.FalsePtr(),
51+
UseStorageQuotaSize: false,
52+
TemporarySessionOnly: false,
53+
EnforceTemporarySessionTimeout: false,
5454
TemporarySessionTimeout: nil,
55-
EnforceUserSessionTimeout: jamfpro.FalsePtr(),
55+
EnforceUserSessionTimeout: false,
5656
UserSessionTimeout: nil,
5757
SiteId: "-1",
5858
VersionLock: 0,
@@ -63,46 +63,46 @@ func main() {
6363

6464
SkipSetupItems: jamfpro.MobileDevicePrestageSubsetSkipSetupItems{
6565
// Selected items are not displayed in the Setup Assistant during enrollment
66-
Location: jamfpro.TruePtr(),
67-
Privacy: jamfpro.TruePtr(),
68-
Biometric: jamfpro.TruePtr(),
69-
SoftwareUpdate: jamfpro.TruePtr(),
70-
Diagnostics: jamfpro.TruePtr(),
71-
IMessageAndFaceTime: jamfpro.TruePtr(),
72-
Intelligence: jamfpro.TruePtr(),
73-
TVRoom: jamfpro.TruePtr(),
74-
Passcode: jamfpro.TruePtr(),
75-
SIMSetup: jamfpro.TruePtr(),
76-
ScreenTime: jamfpro.TruePtr(),
77-
RestoreCompleted: jamfpro.TruePtr(),
78-
TVProviderSignIn: jamfpro.TruePtr(),
79-
Siri: jamfpro.TruePtr(),
80-
Restore: jamfpro.TruePtr(),
81-
ScreenSaver: jamfpro.TruePtr(),
82-
HomeButtonSensitivity: jamfpro.TruePtr(),
83-
CloudStorage: jamfpro.TruePtr(),
84-
ActionButton: jamfpro.TruePtr(),
85-
TransferData: jamfpro.TruePtr(),
86-
EnableLockdownMode: jamfpro.TruePtr(),
87-
Zoom: jamfpro.TruePtr(),
88-
PreferredLanguage: jamfpro.TruePtr(),
89-
VoiceSelection: jamfpro.TruePtr(),
90-
TVHomeScreenSync: jamfpro.TruePtr(),
91-
Safety: jamfpro.TruePtr(),
92-
TermsOfAddress: jamfpro.TruePtr(),
93-
ExpressLanguage: jamfpro.TruePtr(),
94-
CameraButton: jamfpro.TruePtr(),
95-
AppleID: jamfpro.TruePtr(),
96-
DisplayTone: jamfpro.TruePtr(),
97-
WatchMigration: jamfpro.TruePtr(),
98-
UpdateCompleted: jamfpro.TruePtr(),
99-
Appearance: jamfpro.TruePtr(),
100-
Android: jamfpro.TruePtr(),
101-
Payment: jamfpro.TruePtr(),
102-
OnBoarding: jamfpro.TruePtr(),
103-
TOS: jamfpro.TruePtr(),
104-
Welcome: jamfpro.TruePtr(),
105-
TapToSetup: jamfpro.TruePtr(),
66+
Location: true,
67+
Privacy: true,
68+
Biometric: true,
69+
SoftwareUpdate: true,
70+
Diagnostics: true,
71+
IMessageAndFaceTime: true,
72+
Intelligence: true,
73+
TVRoom: true,
74+
Passcode: true,
75+
SIMSetup: true,
76+
ScreenTime: true,
77+
RestoreCompleted: true,
78+
TVProviderSignIn: true,
79+
Siri: true,
80+
Restore: true,
81+
ScreenSaver: true,
82+
HomeButtonSensitivity: true,
83+
CloudStorage: true,
84+
ActionButton: true,
85+
TransferData: true,
86+
EnableLockdownMode: true,
87+
Zoom: true,
88+
PreferredLanguage: true,
89+
VoiceSelection: true,
90+
TVHomeScreenSync: true,
91+
Safety: true,
92+
TermsOfAddress: true,
93+
ExpressLanguage: true,
94+
CameraButton: true,
95+
AppleID: true,
96+
DisplayTone: true,
97+
WatchMigration: true,
98+
UpdateCompleted: true,
99+
Appearance: true,
100+
Android: true,
101+
Payment: true,
102+
OnBoarding: true,
103+
TOS: true,
104+
Welcome: true,
105+
TapToSetup: true,
106106
},
107107
LocationInformation: jamfpro.MobileDevicePrestageSubsetLocationInformation{
108108
ID: "-1", // Required
@@ -118,8 +118,8 @@ func main() {
118118
},
119119
PurchasingInformation: jamfpro.MobileDevicePrestageSubsetPurchasingInformation{
120120
ID: "-1", // Required
121-
Leased: jamfpro.FalsePtr(),
122-
Purchased: jamfpro.TruePtr(),
121+
Leased: false,
122+
Purchased: true,
123123
AppleCareId: "",
124124
PoNumber: "",
125125
Vendor: "",
@@ -138,8 +138,8 @@ func main() {
138138
DeviceNamePrefix: "",
139139
DeviceNameSuffix: "",
140140
SingleDeviceName: "",
141-
ManageNames: jamfpro.TruePtr(),
142-
DeviceNamingConfigured: jamfpro.TruePtr(),
141+
ManageNames: true,
142+
DeviceNamingConfigured: true,
143143
},
144144
}
145145

examples/mobile_device_prestages/UpdateMobileDevicePrestageByID/UpdateMobileDevicePrestageByID.go

Lines changed: 62 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -29,38 +29,38 @@ func main() {
2929

3030
update := &jamfpro.ResourceMobileDevicePrestage{
3131
DisplayName: "jamfpro-sdk-example-mobiledevicePrestage-config",
32-
Mandatory: jamfpro.TruePtr(),
33-
MdmRemovable: jamfpro.FalsePtr(),
32+
Mandatory: true,
33+
MdmRemovable: false,
3434
SupportPhoneNumber: "111-222-3333",
3535
SupportEmailAddress: "email@company.com",
3636
Department: "department name",
37-
DefaultPrestage: jamfpro.FalsePtr(),
37+
DefaultPrestage: false,
3838
EnrollmentSiteID: "-1",
39-
KeepExistingSiteMembership: jamfpro.FalsePtr(),
40-
KeepExistingLocationInformation: jamfpro.FalsePtr(),
41-
RequireAuthentication: jamfpro.FalsePtr(),
39+
KeepExistingSiteMembership: false,
40+
KeepExistingLocationInformation: false,
41+
RequireAuthentication: false,
4242
AuthenticationPrompt: "",
43-
PreventActivationLock: jamfpro.TruePtr(),
44-
EnableDeviceBasedActivationLock: jamfpro.FalsePtr(),
43+
PreventActivationLock: true,
44+
EnableDeviceBasedActivationLock: false,
4545
DeviceEnrollmentProgramInstanceID: "1",
4646
AnchorCertificates: []string{},
4747
EnrollmentCustomizationID: "0",
4848
Language: "",
4949
Region: "",
50-
AutoAdvanceSetup: jamfpro.FalsePtr(),
51-
AllowPairing: jamfpro.TruePtr(),
52-
MultiUser: jamfpro.FalsePtr(),
53-
Supervised: jamfpro.TruePtr(),
50+
AutoAdvanceSetup: false,
51+
AllowPairing: true,
52+
MultiUser: false,
53+
Supervised: true,
5454
MaximumSharedAccounts: 10,
55-
ConfigureDeviceBeforeSetupAssistant: jamfpro.TruePtr(),
56-
SendTimezone: jamfpro.FalsePtr(),
55+
ConfigureDeviceBeforeSetupAssistant: true,
56+
SendTimezone: false,
5757
Timezone: "UTC",
5858
StorageQuotaSizeMegabytes: 4096,
59-
UseStorageQuotaSize: jamfpro.FalsePtr(),
60-
TemporarySessionOnly: jamfpro.FalsePtr(),
61-
EnforceTemporarySessionTimeout: jamfpro.FalsePtr(),
59+
UseStorageQuotaSize: false,
60+
TemporarySessionOnly: false,
61+
EnforceTemporarySessionTimeout: false,
6262
TemporarySessionTimeout: nil,
63-
EnforceUserSessionTimeout: jamfpro.FalsePtr(),
63+
EnforceUserSessionTimeout: false,
6464
UserSessionTimeout: nil,
6565
SiteId: "-1",
6666
VersionLock: currentPrestage.VersionLock,
@@ -72,46 +72,46 @@ func main() {
7272

7373
update.SkipSetupItems = jamfpro.MobileDevicePrestageSubsetSkipSetupItems{
7474
// Selected items are not displayed in the Setup Assistant during enrollment
75-
Location: jamfpro.TruePtr(),
76-
Privacy: jamfpro.TruePtr(),
77-
Biometric: jamfpro.TruePtr(),
78-
SoftwareUpdate: jamfpro.TruePtr(),
79-
Diagnostics: jamfpro.TruePtr(),
80-
IMessageAndFaceTime: jamfpro.TruePtr(),
81-
Intelligence: jamfpro.TruePtr(),
82-
TVRoom: jamfpro.TruePtr(),
83-
Passcode: jamfpro.TruePtr(),
84-
SIMSetup: jamfpro.TruePtr(),
85-
ScreenTime: jamfpro.TruePtr(),
86-
RestoreCompleted: jamfpro.TruePtr(),
87-
TVProviderSignIn: jamfpro.TruePtr(),
88-
Siri: jamfpro.TruePtr(),
89-
Restore: jamfpro.TruePtr(),
90-
ScreenSaver: jamfpro.TruePtr(),
91-
HomeButtonSensitivity: jamfpro.TruePtr(),
92-
CloudStorage: jamfpro.TruePtr(),
93-
ActionButton: jamfpro.TruePtr(),
94-
TransferData: jamfpro.TruePtr(),
95-
EnableLockdownMode: jamfpro.TruePtr(),
96-
Zoom: jamfpro.TruePtr(),
97-
PreferredLanguage: jamfpro.TruePtr(),
98-
VoiceSelection: jamfpro.TruePtr(),
99-
TVHomeScreenSync: jamfpro.TruePtr(),
100-
Safety: jamfpro.TruePtr(),
101-
TermsOfAddress: jamfpro.TruePtr(),
102-
ExpressLanguage: jamfpro.TruePtr(),
103-
CameraButton: jamfpro.TruePtr(),
104-
AppleID: jamfpro.TruePtr(),
105-
DisplayTone: jamfpro.TruePtr(),
106-
WatchMigration: jamfpro.TruePtr(),
107-
UpdateCompleted: jamfpro.TruePtr(),
108-
Appearance: jamfpro.TruePtr(),
109-
Android: jamfpro.TruePtr(),
110-
Payment: jamfpro.TruePtr(),
111-
OnBoarding: jamfpro.TruePtr(),
112-
TOS: jamfpro.TruePtr(),
113-
Welcome: jamfpro.TruePtr(),
114-
TapToSetup: jamfpro.TruePtr(),
75+
Location: true,
76+
Privacy: true,
77+
Biometric: true,
78+
SoftwareUpdate: true,
79+
Diagnostics: true,
80+
IMessageAndFaceTime: true,
81+
Intelligence: true,
82+
TVRoom: true,
83+
Passcode: true,
84+
SIMSetup: true,
85+
ScreenTime: true,
86+
RestoreCompleted: true,
87+
TVProviderSignIn: true,
88+
Siri: true,
89+
Restore: true,
90+
ScreenSaver: true,
91+
HomeButtonSensitivity: true,
92+
CloudStorage: true,
93+
ActionButton: true,
94+
TransferData: true,
95+
EnableLockdownMode: true,
96+
Zoom: true,
97+
PreferredLanguage: true,
98+
VoiceSelection: true,
99+
TVHomeScreenSync: true,
100+
Safety: true,
101+
TermsOfAddress: true,
102+
ExpressLanguage: true,
103+
CameraButton: true,
104+
AppleID: true,
105+
DisplayTone: true,
106+
WatchMigration: true,
107+
UpdateCompleted: true,
108+
Appearance: true,
109+
Android: true,
110+
Payment: true,
111+
OnBoarding: true,
112+
TOS: true,
113+
Welcome: true,
114+
TapToSetup: true,
115115
}
116116

117117
update.LocationInformation = jamfpro.MobileDevicePrestageSubsetLocationInformation{
@@ -129,8 +129,8 @@ func main() {
129129

130130
update.PurchasingInformation = jamfpro.MobileDevicePrestageSubsetPurchasingInformation{
131131
ID: "-1", // Required
132-
Leased: jamfpro.FalsePtr(),
133-
Purchased: jamfpro.TruePtr(),
132+
Leased: false,
133+
Purchased: true,
134134
AppleCareId: "",
135135
PoNumber: "",
136136
Vendor: "",
@@ -150,8 +150,8 @@ func main() {
150150
DeviceNamePrefix: "",
151151
DeviceNameSuffix: "",
152152
SingleDeviceName: "",
153-
ManageNames: jamfpro.TruePtr(),
154-
DeviceNamingConfigured: jamfpro.TruePtr(),
153+
ManageNames: true,
154+
DeviceNamingConfigured: true,
155155
}
156156

157157
// Call UpdateMobileDevicePrestageByID to update the prestage

0 commit comments

Comments
 (0)