ruby-jss 2.0.0b1 → 2.0.0b3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fe30c0681cd2c394be81e8f15797e5222d6ce95c7458717a206c91d9d1704137
4
- data.tar.gz: 275bfb95e7924dd12612e4077fea75da21105b2b8fc7239e989704cdc9bca65a
3
+ metadata.gz: e4da473b27e4faa5f1a6e9249b5fd8ac6347161bd6db568335b47d57ee0c6600
4
+ data.tar.gz: b4864c373f399e8a2b73d7191d9c8407b3df0a7e134f35593a13acde67548652
5
5
  SHA512:
6
- metadata.gz: 747af106fa7e86e60535a831cbd36af1b850e6682cacee07fea2e30ed079188be1ddf6c17e06d25d8887cbda3e35411329fe91a5d2e60c49b5f93a3d2e1b03a3
7
- data.tar.gz: 5e56d93b2dc5fa52faa6a385352d71b5d5691ce9a7428f459eece369d991504729b3ddfe0eea721f6e888306e524684a0bade6572e5c96752605d0179c8e923f
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 = path + @ipa[:name] if path.directory? && @ipa[:name]
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 "defining list-methods for APIObject subclass #{self}"
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"
@@ -87,6 +87,7 @@ module Jamf
87
87
  # @return [String] The token data
88
88
  attr_reader :token
89
89
  alias token_string token
90
+ alias auth_token token
90
91
 
91
92
  # @return [URI] The base API url, e.g. https://myjamf.jamfcloud.com/
92
93
  attr_reader :base_url
@@ -231,8 +231,4 @@ module Jamf
231
231
 
232
232
  end # class Connection
233
233
 
234
- # Some backward compatibility
235
- # @deprecated
236
- APIConnection = Connection
237
-
238
234
  end # module
@@ -110,7 +110,6 @@ module Jamf
110
110
  # Must define this when extending Filterable
111
111
  FILTER_KEYS = OAPI_PROPERTIES.keys - [:extensionAttributes]
112
112
 
113
-
114
113
  DEVICE_TYPE_COMPUTER = 'Computer'.freeze
115
114
 
116
115
  DEVICE_TYPE_MOBILE_DEV = 'Mobile Device'.freeze
@@ -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 Macs or a group
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>] Identiiers for the
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 version will default to latest
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] If no value is provided, will default to false.
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] available only when updating to the latest version
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] will default to false. Can only be true if updateAction
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
@@ -27,6 +27,6 @@
27
27
  module Jamf
28
28
 
29
29
  ### The version of ruby-jss
30
- VERSION = '2.0.0b1'.freeze
30
+ VERSION = '2.0.0b3'.freeze
31
31
 
32
32
  end # module
@@ -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 collaps them, then e.g.
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
- Jamf.load_msg "I just loaded #{klass} from #{abspath}"
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. a the class Jamf::SomeClass for 'Jamf::SomeClass' or
118
- # and Array for the constant "Jamf::SomeClass::SOME_CONST_ARRY"
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
@@ -25,6 +25,7 @@
25
25
 
26
26
  module JamfTest
27
27
 
28
+ # Policy Tests
28
29
  class Policy < JamfTest::APITest
29
30
 
30
31
  include JamfTest::CollectionTests
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.0b1
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-02 00:00:00.000000000 Z
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.1
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.1
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.1
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.1
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. Connection tokens, data transfer using JSON or XML and 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