ruby-jss 2.0.0b1 → 2.0.0b3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/jamf/api/classic/api_objects/mobile_device_application.rb +35 -6
- data/lib/jamf/api/classic/base_classes/api_object.rb +1 -1
- data/lib/jamf/api/connection/token.rb +1 -0
- data/lib/jamf/api/connection.rb +0 -4
- data/lib/jamf/api/jamf_pro/api_objects/inventory_preload_record.rb +0 -1
- data/lib/jamf/api/jamf_pro/mixins/macos_managed_updates.rb +17 -7
- data/lib/jamf/deprecations/deprecated_api_connection_class.rb +29 -0
- data/lib/jamf/version.rb +1 -1
- data/lib/zeitwerk_config.rb +15 -10
- data/test/tests/policy.rb +1 -0
- metadata +18 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4da473b27e4faa5f1a6e9249b5fd8ac6347161bd6db568335b47d57ee0c6600
|
4
|
+
data.tar.gz: b4864c373f399e8a2b73d7191d9c8407b3df0a7e134f35593a13acde67548652
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f85ca5790b4c365a9c85c58a803d54e79b4916d2b4d4e4afb32d98b4131bc0137df647f65c4144d5d711890c6453532ff30b24565db443ab6fa9d698a28e2b1
|
7
|
+
data.tar.gz: 76434531dba3201bcc711d19154798bd5ac2a4deb998aea3b82dd07aaebc4a69df41909848fe2cffb466b5752f04735b2f09a54dc2f127ddcdd3ead3e31efb51
|
@@ -50,7 +50,6 @@ module Jamf
|
|
50
50
|
include Jamf::VPPable
|
51
51
|
include Jamf::Sitable
|
52
52
|
|
53
|
-
|
54
53
|
# Class Methods
|
55
54
|
#####################################
|
56
55
|
|
@@ -162,6 +161,10 @@ module Jamf
|
|
162
161
|
# does its backups (to icloud or itunes)?
|
163
162
|
attr_reader :prevent_backup_of_app_data
|
164
163
|
|
164
|
+
# @return [Boolean] Should this app auto-update on devices?
|
165
|
+
attr_reader :keep_app_updated_on_devices
|
166
|
+
alias auto_update? keep_app_updated_on_devices
|
167
|
+
|
165
168
|
# @return [Boolean] should the JSS update the icon and description from the app
|
166
169
|
# source?
|
167
170
|
attr_reader :keep_description_and_icon_up_to_date
|
@@ -185,7 +188,6 @@ module Jamf
|
|
185
188
|
# which contains a plist <dict> element with config data.
|
186
189
|
attr_reader :configuration_prefs
|
187
190
|
|
188
|
-
|
189
191
|
# Constructor
|
190
192
|
#####################################
|
191
193
|
|
@@ -208,6 +210,7 @@ module Jamf
|
|
208
210
|
@itunes_country_region = general[:itunes_country_region]
|
209
211
|
@itunes_sync_time = general[:itunes_sync_time]
|
210
212
|
@deploy_as_managed_app = general[:deploy_as_managed_app]
|
213
|
+
@keep_app_updated_on_devices = general[:keep_app_updated_on_devices]
|
211
214
|
@remove_app_when_mdm_profile_is_removed = general[:remove_app_when_mdm_profile_is_removed]
|
212
215
|
@prevent_backup_of_app_data = general[:prevent_backup_of_app_data]
|
213
216
|
@keep_description_and_icon_up_to_date = general[:keep_description_and_icon_up_to_date]
|
@@ -232,6 +235,7 @@ module Jamf
|
|
232
235
|
#
|
233
236
|
def display_name=(new_val)
|
234
237
|
return nil if new_val.to_s == @display_name
|
238
|
+
|
235
239
|
@display_name = new_val.to_s
|
236
240
|
@need_to_update = true
|
237
241
|
end
|
@@ -274,6 +278,7 @@ module Jamf
|
|
274
278
|
#
|
275
279
|
def url=(new_val)
|
276
280
|
return nil if new_val == @url
|
281
|
+
|
277
282
|
@url = new_val
|
278
283
|
@need_to_update = true
|
279
284
|
end
|
@@ -288,6 +293,7 @@ module Jamf
|
|
288
293
|
def make_available_after_install=(new_val)
|
289
294
|
return nil if new_val == @make_available_after_install
|
290
295
|
raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
|
296
|
+
|
291
297
|
@make_available_after_install = new_val
|
292
298
|
@need_to_update = true
|
293
299
|
end
|
@@ -302,10 +308,25 @@ module Jamf
|
|
302
308
|
def deploy_as_managed_app=(new_val)
|
303
309
|
return nil if new_val == @deploy_as_managed_app
|
304
310
|
raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
|
311
|
+
|
305
312
|
@deploy_as_managed_app = new_val
|
306
313
|
@need_to_update = true
|
307
314
|
end
|
308
315
|
|
316
|
+
# Set whether or not this app should be auto-updated on devices
|
317
|
+
#
|
318
|
+
# @param new_val[Boolean] The new value
|
319
|
+
#
|
320
|
+
# @return [void]
|
321
|
+
#
|
322
|
+
def keep_app_updated_on_devices=(new_val)
|
323
|
+
return nil if new_val == @keep_app_updated_on_devices
|
324
|
+
raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
|
325
|
+
|
326
|
+
@keep_app_updated_on_devices = new_val
|
327
|
+
@need_to_update = true
|
328
|
+
end
|
329
|
+
alias auto_update= keep_app_updated_on_devices=
|
309
330
|
|
310
331
|
# Set whether or not this app should be removed when
|
311
332
|
# the device is unmanaged
|
@@ -317,6 +338,7 @@ module Jamf
|
|
317
338
|
def remove_app_when_mdm_profile_is_removed=(new_val)
|
318
339
|
return nil if new_val == @remove_app_when_mdm_profile_is_removed
|
319
340
|
raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
|
341
|
+
|
320
342
|
@remove_app_when_mdm_profile_is_removed = new_val
|
321
343
|
@need_to_update = true
|
322
344
|
end
|
@@ -330,11 +352,11 @@ module Jamf
|
|
330
352
|
def prevent_backup_of_app_data=(new_val)
|
331
353
|
return nil if new_val == @prevent_backup_of_app_data
|
332
354
|
raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
|
355
|
+
|
333
356
|
@prevent_backup_of_app_data = new_val
|
334
357
|
@need_to_update = true
|
335
358
|
end
|
336
359
|
|
337
|
-
|
338
360
|
# Set whether or not the jss should update info about this app from the app store
|
339
361
|
#
|
340
362
|
# @param new_val[Boolean] The new value
|
@@ -344,6 +366,7 @@ module Jamf
|
|
344
366
|
def keep_description_and_icon_up_to_date=(new_val)
|
345
367
|
return nil if new_val == @keep_description_and_icon_up_to_date
|
346
368
|
raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
|
369
|
+
|
347
370
|
@keep_description_and_icon_up_to_date = new_val
|
348
371
|
@need_to_update = true
|
349
372
|
end
|
@@ -357,6 +380,7 @@ module Jamf
|
|
357
380
|
def free=(new_val)
|
358
381
|
return nil if new_val == @free
|
359
382
|
raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
|
383
|
+
|
360
384
|
@free = new_val
|
361
385
|
@need_to_update = true
|
362
386
|
end
|
@@ -371,6 +395,7 @@ module Jamf
|
|
371
395
|
def take_over_management=(new_val)
|
372
396
|
return nil if new_val == @take_over_management
|
373
397
|
raise Jamf::InvalidDataError, 'New value must be true or false' unless new_val.jss_boolean?
|
398
|
+
|
374
399
|
@take_over_management = new_val
|
375
400
|
@need_to_update = true
|
376
401
|
end
|
@@ -432,6 +457,7 @@ module Jamf
|
|
432
457
|
#
|
433
458
|
def external_url=(new_val)
|
434
459
|
return nil if new_val == @external_url
|
460
|
+
|
435
461
|
@external_url = new_val
|
436
462
|
@need_to_update = true
|
437
463
|
end
|
@@ -445,11 +471,11 @@ module Jamf
|
|
445
471
|
#
|
446
472
|
def configuration_prefs=(new_val)
|
447
473
|
return nil if new_val == @configuration_prefs
|
474
|
+
|
448
475
|
@configuration_prefs = new_val
|
449
476
|
@need_to_update = true
|
450
477
|
end
|
451
478
|
|
452
|
-
|
453
479
|
# Save the application to a file.
|
454
480
|
#
|
455
481
|
# @param path[Pathname, String] The path to which the file should be saved.
|
@@ -462,10 +488,12 @@ module Jamf
|
|
462
488
|
#
|
463
489
|
def save_ipa(path, overwrite = false)
|
464
490
|
return nil unless @ipa[:data]
|
491
|
+
|
465
492
|
path = Pathname.new path
|
466
|
-
path
|
493
|
+
path += @ipa[:name] if path.directory? && @ipa[:name]
|
467
494
|
|
468
495
|
raise Jamf::AlreadyExistsError, "The file #{path} already exists" if path.exist? && !overwrite
|
496
|
+
|
469
497
|
path.delete if path.exist?
|
470
498
|
path.jss_save Base64.decode64(@ipa[:data])
|
471
499
|
end
|
@@ -507,6 +535,7 @@ module Jamf
|
|
507
535
|
#
|
508
536
|
def refresh_ipa
|
509
537
|
return nil unless @in_jss
|
538
|
+
|
510
539
|
fresh_data = @cnx.c_get(@rest_rsrc)[self.class::RSRC_OBJECT_KEY]
|
511
540
|
@ipa = fresh_data[:general][:ipa]
|
512
541
|
end
|
@@ -523,6 +552,7 @@ module Jamf
|
|
523
552
|
gen.add_element('deploy_as_managed_app').text = @deploy_as_managed_app
|
524
553
|
gen.add_element('remove_app_when_mdm_profile_is_removed').text = @remove_app_when_mdm_profile_is_removed
|
525
554
|
gen.add_element('prevent_backup_of_app_data').text = @prevent_backup_of_app_data
|
555
|
+
gen.add_element('keep_app_updated_on_devices').text = @keep_app_updated_on_devices
|
526
556
|
gen.add_element('keep_description_and_icon_up_to_date').text = @keep_description_and_icon_up_to_date
|
527
557
|
gen.add_element('free').text = @free
|
528
558
|
gen.add_element('take_over_management').text = @take_over_management
|
@@ -540,7 +570,6 @@ module Jamf
|
|
540
570
|
doc.to_s
|
541
571
|
end
|
542
572
|
|
543
|
-
|
544
573
|
end # class removable_macaddr
|
545
574
|
|
546
575
|
end # module
|
@@ -295,7 +295,7 @@ module Jamf
|
|
295
295
|
# This is called automatically when subclasses are loaded by zeitwerk
|
296
296
|
#
|
297
297
|
def self.define_identifier_list_methods
|
298
|
-
Jamf.load_msg "
|
298
|
+
Jamf.load_msg "Defining list-methods for APIObject subclass #{self}"
|
299
299
|
|
300
300
|
lookup_keys.each do |als, key|
|
301
301
|
meth_name = key.to_s.end_with?('s') ? "all_#{key}es" : "all_#{key}s"
|
data/lib/jamf/api/connection.rb
CHANGED
@@ -49,6 +49,10 @@ module Jamf
|
|
49
49
|
# https://developer.jamf.com/jamf-pro/reference/post_v1-macos-managed-software-updates-send-updates
|
50
50
|
MANAGED_SW_UPDATES_SEND_UPDATES_RSRC = "#{MANAGED_SW_UPDATES_RSRC}/send-updates"
|
51
51
|
|
52
|
+
# These are the options available in Jamf::OAPISchemas::MacOsManagedSoftwareUpdate::UPDATE_ACTION_OPTIONS
|
53
|
+
DOWNLOAD_AND_INSTALL = 'DOWNLOAD_AND_INSTALL'
|
54
|
+
DOWNLOAD_ONLY = 'DOWNLOAD_ONLY'
|
55
|
+
|
52
56
|
# Class Methods
|
53
57
|
#####################################
|
54
58
|
module ClassMethods
|
@@ -67,11 +71,11 @@ module Jamf
|
|
67
71
|
Jamf::OAPISchemas::AvailableUpdates.new(data).availableUpdates
|
68
72
|
end
|
69
73
|
|
70
|
-
# Send the os update command to target
|
74
|
+
# Send the os update command to target Computers or a ComputerGroup
|
71
75
|
#
|
72
76
|
# @param updateAction [String] Required. 'DOWNLOAD_AND_INSTALL' or 'DOWNLOAD_ONLY'
|
73
77
|
#
|
74
|
-
# @param deviceIds [String, Integer, Array<String, Integer>]
|
78
|
+
# @param deviceIds [String, Integer, Array<String, Integer>] Identifiers for the
|
75
79
|
# computer targets. Required if no groupId is given.
|
76
80
|
#
|
77
81
|
# @param groupId [String, Integer] Identifier for the computer group target.
|
@@ -82,19 +86,20 @@ module Jamf
|
|
82
86
|
# Update will use the InstallLater install action. MaxDeferral is ignored if using the
|
83
87
|
# DOWNLOAD_ONLY updateAction.
|
84
88
|
#
|
85
|
-
# @param version [String] If no value is provided, the
|
86
|
-
# version based on device eligibility.
|
89
|
+
# @param version [String] The OS version to install. If no value is provided, the
|
90
|
+
# version will default to latest version based on device eligibility.
|
87
91
|
#
|
88
|
-
# @param skipVersionVerification [Boolean]
|
92
|
+
# @param skipVersionVerification [Boolean] Should the specified version be installed
|
93
|
+
# even it it isn't applicable to this machine? If no value is provided, will default to false.
|
89
94
|
# If true, the specified version will be forced to complete DownloadAndInstall
|
90
95
|
# install action.
|
91
96
|
#
|
92
|
-
# @param applyMajorUpdate [Boolean]
|
97
|
+
# @param applyMajorUpdate [Boolean] Available only when updating to the latest version
|
93
98
|
# based on device eligibility. Defaults to false. If false the calculated latest version
|
94
99
|
# will only include minor version updates. If a value is provided, the calculated latest
|
95
100
|
# version will include minor and major version updates.
|
96
101
|
#
|
97
|
-
# @param forceRestart [Boolean]
|
102
|
+
# @param forceRestart [Boolean] Will default to false. Can only be true if updateAction
|
98
103
|
# is DOWNLOAD_AND_INSTALLn and the devices the command is sent to are on macOs 11 or higher.
|
99
104
|
# If true, the DownloadAndInstall action is performed, a restart will be forced.
|
100
105
|
# MaxDeferral will be ignored if true.
|
@@ -146,6 +151,11 @@ module Jamf
|
|
146
151
|
# Instance Methods
|
147
152
|
######################################
|
148
153
|
|
154
|
+
# Send a managed update command to an instance of Computer or ComputerGroup.
|
155
|
+
# This just calls the class method of the same name.
|
156
|
+
#
|
157
|
+
# @see MacOSManagedUpdates.send_managed_os_update
|
158
|
+
#
|
149
159
|
def send_managed_os_update(updateAction:, maxDeferrals: nil, version: nil, skipVersionVerification: false, applyMajorUpdate: false, forceRestart: false, cnx: Jamf.cnx)
|
150
160
|
deviceIds = is_a?(Jamf::Computer) ? @id : nil
|
151
161
|
groupId = is_a?(Jamf::Computer) ? nil : @id
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Copyright 2022 Pixar
|
2
|
+
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "Apache License")
|
5
|
+
# with the following modification; you may not use this file except in
|
6
|
+
# compliance with the Apache License and the following modification to it:
|
7
|
+
# Section 6. Trademarks. is deleted and replaced with:
|
8
|
+
#
|
9
|
+
# 6. Trademarks. This License does not grant permission to use the trade
|
10
|
+
# names, trademarks, service marks, or product names of the Licensor
|
11
|
+
# and its affiliates, except as required to comply with Section 4(c) of
|
12
|
+
# the License and to reproduce the content of the NOTICE file.
|
13
|
+
#
|
14
|
+
# You may obtain a copy of the Apache License at
|
15
|
+
#
|
16
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
17
|
+
#
|
18
|
+
# Unless required by applicable law or agreed to in writing, software
|
19
|
+
# distributed under the Apache License with the above modification is
|
20
|
+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
21
|
+
# KIND, either express or implied. See the Apache License for the specific
|
22
|
+
# language governing permissions and limitations under the Apache License.
|
23
|
+
|
24
|
+
# @deprecated Use class Jamf::Connection
|
25
|
+
module Jamf
|
26
|
+
|
27
|
+
APIConnection = Connection
|
28
|
+
|
29
|
+
end
|
data/lib/jamf/version.rb
CHANGED
data/lib/zeitwerk_config.rb
CHANGED
@@ -29,7 +29,7 @@ def setup_zeitwerk_loader(loader)
|
|
29
29
|
loader.ignore __FILE__
|
30
30
|
|
31
31
|
# these paths all define classes & modules directly below 'Jamf'
|
32
|
-
# If we didn't
|
32
|
+
# If we didn't collapse them, then e.g.
|
33
33
|
# /jamf/api/base_classes/classic/group.rb
|
34
34
|
# would be expected to define
|
35
35
|
# Jamf::Api::BaseClasses::Classic::Group
|
@@ -51,7 +51,8 @@ def setup_zeitwerk_loader(loader)
|
|
51
51
|
|
52
52
|
loader.collapse("#{__dir__}/jamf/deprecations")
|
53
53
|
|
54
|
-
# filenames => Constants, which don't adhere to zeitwerk's parsing standards
|
54
|
+
# filenames => Constants, which don't adhere to zeitwerk's parsing standards.
|
55
|
+
#
|
55
56
|
# Mostly because the a filename like 'oapi_object' would be
|
56
57
|
# loaded by zeitwerk expecting it to define 'OapiObject', but it really
|
57
58
|
# defines 'OAPIObject'
|
@@ -88,15 +89,16 @@ def setup_zeitwerk_loader(loader)
|
|
88
89
|
loader.inflector.inflect 'md_prestage_skip_setup_items' => 'MobileDevicePrestageSkipSetupItems'
|
89
90
|
loader.inflector.inflect 'macos_managed_updates' => 'MacOSManagedUpdates'
|
90
91
|
|
91
|
-
# deprecations, separated so they load only when used
|
92
|
+
# deprecations, separated so they load only when used.
|
93
|
+
# When its time to get rid of them, delete the files from the
|
94
|
+
# 'deprecations' directory, and the matching line here.
|
92
95
|
loader.inflector.inflect('deprecated_api_constant' => 'API')
|
93
96
|
loader.inflector.inflect('deprecated_config_constant' => 'CONFIG')
|
97
|
+
loader.inflector.inflect('deprecated_api_connection_class' => 'APIConnection')
|
94
98
|
|
95
99
|
# These should be ignored, some will be required directly
|
96
100
|
#####################################
|
97
101
|
|
98
|
-
loader.ignore "#{__dir__}/jamf/api/jamf_pro/pre_oapi"
|
99
|
-
|
100
102
|
loader.ignore "#{__dir__}/jamf/db_connection.rb"
|
101
103
|
loader.ignore "#{__dir__}/jamf/ruby_extensions.rb"
|
102
104
|
loader.ignore "#{__dir__}/jamf/ruby_extensions"
|
@@ -106,16 +108,18 @@ def setup_zeitwerk_loader(loader)
|
|
106
108
|
loader.ignore "#{__dir__}/ruby-jss.rb"
|
107
109
|
|
108
110
|
# callback for when a specific file/constant loads
|
111
|
+
# duplicate and uncomment this if desired to react to
|
112
|
+
# specific things loading
|
109
113
|
#####################################
|
110
|
-
loader.on_load('Jamf::SomeClass') do |klass, abspath|
|
111
|
-
|
112
|
-
end
|
114
|
+
# loader.on_load('Jamf::SomeClass') do |klass, abspath|
|
115
|
+
# Jamf.load_msg "I just loaded #{klass} from #{abspath}"
|
116
|
+
# end
|
113
117
|
|
114
118
|
# callback for when anything loads
|
115
119
|
# - const_path is like "Jamf::SomeClass" or "Jamf::SomeClass::SOME_CONST_ARRY"
|
116
120
|
# - value is the value that constant contains after loading,
|
117
|
-
# e.g.
|
118
|
-
#
|
121
|
+
# e.g. the class Jamf::SomeClass for 'Jamf::SomeClass' or
|
122
|
+
# an Array for the constant "Jamf::SomeClass::SOME_CONST_ARRY"
|
119
123
|
# - abspath is the full path to the file where the constant was loaded from.
|
120
124
|
#####################################
|
121
125
|
loader.on_load do |const_path, value, abspath|
|
@@ -123,6 +127,7 @@ def setup_zeitwerk_loader(loader)
|
|
123
127
|
|
124
128
|
# Parse OAPI_PROPERTIES into getters and setters for subclasses of
|
125
129
|
# OAPIObject in the JPAPI.
|
130
|
+
#
|
126
131
|
# The class we just loaded must have this method and constant
|
127
132
|
# and the method must not have run already for the class or any superclass.
|
128
133
|
# This prevents running parse_oapi_properties again in subclasses that
|
data/test/tests/policy.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-jss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.0b3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Lasell
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2022-08-
|
13
|
+
date: 2022-08-31 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: CFPropertyList
|
@@ -50,42 +50,30 @@ dependencies:
|
|
50
50
|
name: faraday
|
51
51
|
requirement: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- - "
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version: 1.0.0
|
56
|
-
- - "<="
|
53
|
+
- - "~>"
|
57
54
|
- !ruby/object:Gem::Version
|
58
|
-
version: 1.0
|
55
|
+
version: '1.0'
|
59
56
|
type: :runtime
|
60
57
|
prerelease: false
|
61
58
|
version_requirements: !ruby/object:Gem::Requirement
|
62
59
|
requirements:
|
63
|
-
- - "
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version: 1.0.0
|
66
|
-
- - "<="
|
60
|
+
- - "~>"
|
67
61
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.0
|
62
|
+
version: '1.0'
|
69
63
|
- !ruby/object:Gem::Dependency
|
70
64
|
name: faraday_middleware
|
71
65
|
requirement: !ruby/object:Gem::Requirement
|
72
66
|
requirements:
|
73
|
-
- - "
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 1.0.0
|
76
|
-
- - "<="
|
67
|
+
- - "~>"
|
77
68
|
- !ruby/object:Gem::Version
|
78
|
-
version: 1.0
|
69
|
+
version: '1.0'
|
79
70
|
type: :runtime
|
80
71
|
prerelease: false
|
81
72
|
version_requirements: !ruby/object:Gem::Requirement
|
82
73
|
requirements:
|
83
|
-
- - "
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: 1.0.0
|
86
|
-
- - "<="
|
74
|
+
- - "~>"
|
87
75
|
- !ruby/object:Gem::Version
|
88
|
-
version: 1.0
|
76
|
+
version: '1.0'
|
89
77
|
- !ruby/object:Gem::Dependency
|
90
78
|
name: concurrent-ruby
|
91
79
|
requirement: !ruby/object:Gem::Requirement
|
@@ -107,9 +95,6 @@ dependencies:
|
|
107
95
|
- - "~>"
|
108
96
|
- !ruby/object:Gem::Version
|
109
97
|
version: '2.3'
|
110
|
-
- - ">="
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
version: 2.3.0
|
113
98
|
type: :runtime
|
114
99
|
prerelease: false
|
115
100
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -117,9 +102,6 @@ dependencies:
|
|
117
102
|
- - "~>"
|
118
103
|
- !ruby/object:Gem::Version
|
119
104
|
version: '2.3'
|
120
|
-
- - ">="
|
121
|
-
- !ruby/object:Gem::Version
|
122
|
-
version: 2.3.0
|
123
105
|
- !ruby/object:Gem::Dependency
|
124
106
|
name: zeitwerk
|
125
107
|
requirement: !ruby/object:Gem::Requirement
|
@@ -144,6 +126,9 @@ dependencies:
|
|
144
126
|
name: rexml
|
145
127
|
requirement: !ruby/object:Gem::Requirement
|
146
128
|
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '3.1'
|
147
132
|
- - ">="
|
148
133
|
- !ruby/object:Gem::Version
|
149
134
|
version: 3.1.9
|
@@ -151,6 +136,9 @@ dependencies:
|
|
151
136
|
prerelease: false
|
152
137
|
version_requirements: !ruby/object:Gem::Requirement
|
153
138
|
requirements:
|
139
|
+
- - "~>"
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '3.1'
|
154
142
|
- - ">="
|
155
143
|
- !ruby/object:Gem::Version
|
156
144
|
version: 3.1.9
|
@@ -159,7 +147,7 @@ description: |
|
|
159
147
|
an enterprise/education tool for managing Apple devices, from jamf.com.
|
160
148
|
The Jamf module provides access to both the 'Classic' API and the more modern
|
161
149
|
'Jamf Pro' API. Jamf Pro objects are implemented as classes and can interact
|
162
|
-
with each other.
|
150
|
+
with each other. Authentication tokens, data transfer using JSON or XML and other
|
163
151
|
details are handled automatically under the hood to allow simpler, intuitive
|
164
152
|
automation of Jamf-related Tasks.
|
165
153
|
email: ruby-jss@pixar.com
|
@@ -759,6 +747,7 @@ files:
|
|
759
747
|
- lib/jamf/configuration.rb
|
760
748
|
- lib/jamf/constants.rb
|
761
749
|
- lib/jamf/db_connection.rb
|
750
|
+
- lib/jamf/deprecations/deprecated_api_connection_class.rb
|
762
751
|
- lib/jamf/deprecations/deprecated_api_constant.rb
|
763
752
|
- lib/jamf/deprecations/deprecated_config_constant.rb
|
764
753
|
- lib/jamf/exceptions.rb
|