ruby-jss 4.2.0b2 → 4.2.1

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.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +44 -7
  3. data/README-2.0.0.md +19 -8
  4. data/README.md +43 -30
  5. data/lib/jamf/api/classic/api_objects/patch_title.rb +0 -2
  6. data/lib/jamf/api/jamf_pro/api_objects/api_client.rb +3 -0
  7. data/lib/jamf/api/jamf_pro/api_objects/api_role.rb +3 -0
  8. data/lib/jamf/api/jamf_pro/api_objects/j_package.rb +333 -119
  9. data/lib/jamf/api/jamf_pro/api_objects/managed_software_updates/plan.rb +237 -0
  10. data/lib/jamf/api/jamf_pro/api_objects/managed_software_updates.rb +291 -0
  11. data/lib/jamf/api/jamf_pro/base_classes/oapi_object.rb +24 -3
  12. data/lib/jamf/api/jamf_pro/mixins/collection_resource.rb +23 -3
  13. data/lib/jamf/api/jamf_pro/mixins/filterable.rb +8 -0
  14. data/lib/jamf/api/jamf_pro/mixins/jpapi_resource.rb +17 -3
  15. data/lib/jamf/api/jamf_pro/mixins/macos_managed_updates.rb +2 -0
  16. data/lib/jamf/api/jamf_pro/mixins/prestage.rb +3 -0
  17. data/lib/jamf/api/jamf_pro/oapi_schemas/account_group.rb +123 -0
  18. data/lib/jamf/api/jamf_pro/oapi_schemas/account_preferences_v1.rb +105 -0
  19. data/lib/jamf/api/jamf_pro/oapi_schemas/assign_remove_profile_response_sync_state.rb +112 -0
  20. data/lib/jamf/api/jamf_pro/oapi_schemas/auth_account_v1.rb +159 -0
  21. data/lib/jamf/api/jamf_pro/oapi_schemas/authentication_type.rb +97 -0
  22. data/lib/jamf/api/jamf_pro/oapi_schemas/{device_enrollment_disown_body.rb → available_updates.rb} +14 -10
  23. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_application.rb +124 -0
  24. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_attachment.rb +102 -0
  25. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_certificate.rb +151 -0
  26. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_configuration_profile.rb +118 -0
  27. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching.rb +372 -0
  28. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_alert.rb +120 -0
  29. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_cache_detail.rb +97 -0
  30. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error.rb +98 -0
  31. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_data_migration_error_user_info.rb +89 -0
  32. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent.rb +131 -0
  33. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_alert.rb +105 -0
  34. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_capabilities.rb +124 -0
  35. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_details.rb +118 -0
  36. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_content_caching_parent_local_network.rb +97 -0
  37. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk.rb +143 -0
  38. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_disk_encryption.rb +120 -0
  39. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attribute.rb +175 -0
  40. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_font.rb +93 -0
  41. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_general.rb +244 -0
  42. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_hardware.rb +264 -0
  43. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_ibeacon.rb +81 -0
  44. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory.rb +276 -0
  45. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_inventory_file_vault.rb +127 -0
  46. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_licensed_software.rb +88 -0
  47. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_local_user_account.rb +196 -0
  48. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_mdm_capability.rb +88 -0
  49. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_operating_system.rb +148 -0
  50. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_package_receipts.rb +97 -0
  51. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition.rb +145 -0
  52. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_encryption.rb +94 -0
  53. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_partition_file_vault2_state.rb +97 -0
  54. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_plugin.rb +93 -0
  55. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_prestage_v3.rb +129 -0
  56. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_printer.rb +99 -0
  57. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_purchase.rb +158 -0
  58. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_remote_management.rb +88 -0
  59. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_section.rb +109 -0
  60. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_security.rb +193 -0
  61. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_service.rb +81 -0
  62. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_software_update.rb +93 -0
  63. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_storage.rb +90 -0
  64. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_user_and_location.rb +131 -0
  65. data/lib/jamf/api/jamf_pro/oapi_schemas/dss_declaration.rb +111 -0
  66. data/lib/jamf/api/jamf_pro/oapi_schemas/dss_declarations.rb +88 -0
  67. data/lib/jamf/api/jamf_pro/oapi_schemas/enrollment_method.rb +97 -0
  68. data/lib/jamf/api/jamf_pro/oapi_schemas/group_membership.rb +94 -0
  69. data/lib/jamf/api/jamf_pro/oapi_schemas/inventory_preload_extension_attribute.rb +89 -0
  70. data/lib/jamf/api/jamf_pro/oapi_schemas/location_information.rb +146 -0
  71. data/lib/jamf/api/jamf_pro/oapi_schemas/{package_manifest.rb → location_information_v2.rb} +35 -37
  72. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan.rb +181 -0
  73. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_event_store.rb +85 -0
  74. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_group_post.rb +99 -0
  75. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post.rb +98 -0
  76. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_post_response.rb +100 -0
  77. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle.rb +115 -0
  78. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle_status.rb +169 -0
  79. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plan_toggle_status_wrapper.rb +91 -0
  80. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_plans.rb +102 -0
  81. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_status.rb +173 -0
  82. data/lib/jamf/api/jamf_pro/oapi_schemas/managed_software_update_statuses.rb +102 -0
  83. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_name_v2.rb +94 -0
  84. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_prestage_names_v2.rb +118 -0
  85. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_configuration_post.rb +142 -0
  86. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device.rb +105 -0
  87. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_post.rb +97 -0
  88. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_device_response.rb +96 -0
  89. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_group_post.rb +96 -0
  90. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_search_results.rb +89 -0
  91. data/lib/jamf/api/jamf_pro/oapi_schemas/plan_status.rb +127 -0
  92. data/lib/jamf/api/jamf_pro/oapi_schemas/{device_enrollment_prestage.rb → prestage_purchasing_information.rb} +51 -88
  93. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_purchasing_information_v2.rb +174 -0
  94. data/lib/jamf/api/jamf_pro/oapi_schemas/prestage_scope_assignment_v2.rb +94 -0
  95. data/lib/jamf/api/jamf_pro/oapi_schemas/v1_site.rb +91 -0
  96. data/lib/jamf/api/jamf_pro/oapi_schemas.rb +24 -1
  97. data/lib/jamf/api/jamf_pro/other_classes/pager.rb +7 -1
  98. data/lib/jamf/composer.rb +114 -107
  99. data/lib/jamf/oapi_validate.rb +1 -0
  100. data/lib/jamf/utility.rb +20 -14
  101. data/lib/jamf/version.rb +1 -1
  102. data/test/bin/runtests +2 -2
  103. data/test/lib/jamf_test/collection_tests.rb +10 -2
  104. data/test/tests/computer_group.rb +29 -12
  105. data/test/tests/{jp_building.rb → j_building.rb} +2 -2
  106. data/test/tests/j_package.rb +47 -0
  107. metadata +87 -8
@@ -31,6 +31,8 @@ module Jamf
31
31
  #
32
32
  # Classes doing so must define the FILTER_KEYS constant, an Array of
33
33
  # Symbols of keys from OAPI_PROPERTIES which can be used in filters.
34
+ #
35
+ # TODO: Actually implement this module in CollectionResources?
34
36
  module Filterable
35
37
 
36
38
  def self.extended(extender)
@@ -41,6 +43,12 @@ module Jamf
41
43
 
42
44
  # generate the RSQL filter to put into the url
43
45
  # This is callable from anywhere without mixing in.
46
+ #
47
+ # @param filter [String, nil] the filter to apply, or nil. If the
48
+ # filter starts with FILTER_PARAM_PREFIX, it is returned as-is,
49
+ # assuming it is already properly escaped.
50
+ # @return [String] the filter to use in the URL, with FILTER_PARAM_PREFIX
51
+ ##############################################
44
52
  def self.parse_url_filter_param(filter)
45
53
  return filter if filter.nil? || filter.start_with?(FILTER_PARAM_PREFIX)
46
54
 
@@ -46,7 +46,15 @@ module Jamf
46
46
  API_SOURCE = :jamf_pro
47
47
 
48
48
  # These methods are allowed to call .new
49
- NEW_CALLERS = ['fetch', 'create', 'all', 'cached_all', 'block in all', 'block in cached_all'].freeze
49
+ NEW_CALLERS = [
50
+ 'fetch',
51
+ 'create',
52
+ 'all',
53
+ 'cached_all',
54
+ 'block in all',
55
+ 'block in cached_all',
56
+ 'block in page'
57
+ ].freeze
50
58
 
51
59
  # The resource version for previewing new features
52
60
  RSRC_PREVIEW_VERSION = 'preview'.freeze
@@ -67,14 +75,20 @@ module Jamf
67
75
  end
68
76
 
69
77
  # Disallow direct use of ruby's .new class method for creating instances.
70
- # Require use of .fetch or .create, or 'all'
78
+ # Require use of a method in NEW_CALLERS, or the data must include
79
+ # :instantiate_me
80
+ #
81
+ # WARNING: do not abuse :instantiate_me, it exists so we don't constantly
82
+ # have to update NEW_CALLERS
71
83
  #
72
84
  def new(**data)
73
85
  calling_method = caller_locations(1..1).first.label
74
- unless NEW_CALLERS.include? calling_method
86
+ unless NEW_CALLERS.include? calling_method || data[:instantiate_me]
75
87
  raise Jamf::UnsupportedError, 'Use .fetch, .create, or .all(instantiate:true) to instantiate Jamf::JPAPIResource objects'
76
88
  end
77
89
 
90
+ data.delete :instantiate_me
91
+
78
92
  super(**data)
79
93
  end
80
94
 
@@ -24,6 +24,8 @@
24
24
 
25
25
  module Jamf
26
26
 
27
+ # @deprecated June 2025, Please use the {Jamf::ManagedSoftwareUpdates} module instead.
28
+ #
27
29
  # This module should be mixed in to Jamf::Computer and Jamf::ComputerGroup
28
30
  #
29
31
  # It provides access to the macos-managed-software-updates JPAPI resource for
@@ -59,6 +59,9 @@ module Jamf
59
59
  # You Have Been Warned!
60
60
  NON_UNIQUE_IDENTIFIERS = %i[displayName].freeze
61
61
 
62
+ # The name of the attribute that holds the object's name
63
+ OBJECT_NAME_ATTR = :displayName
64
+
62
65
  # Class Methods
63
66
  #####################################
64
67
  module ClassMethods
@@ -0,0 +1,123 @@
1
+ # Copyright 2025 Pixar
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "Apache License")
4
+ # with the following modification; you may not use this file except in
5
+ # compliance with the Apache License and the following modification to it:
6
+ # Section 6. Trademarks. is deleted and replaced with:
7
+ #
8
+ # 6. Trademarks. This License does not grant permission to use the trade
9
+ # names, trademarks, service marks, or product names of the Licensor
10
+ # and its affiliates, except as required to comply with Section 4(c) of
11
+ # the License and to reproduce the content of the NOTICE file.
12
+ #
13
+ # You may obtain a copy of the Apache License at
14
+ #
15
+ # http://www.apache.org/licenses/LICENSE-2.0
16
+ #
17
+ # Unless required by applicable law or agreed to in writing, software
18
+ # distributed under the Apache License with the above modification is
19
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
20
+ # KIND, either express or implied. See the Apache License for the specific
21
+ # language governing permissions and limitations under the Apache License.
22
+ #
23
+
24
+
25
+ module Jamf
26
+
27
+ # This module is the namespace for all objects defined
28
+ # in the OAPI JSON schema under the components => schemas key
29
+ #
30
+ module OAPISchemas
31
+
32
+
33
+ # OAPI Object Model and Enums for: AccountGroup
34
+ #
35
+ #
36
+ #
37
+ # This class was automatically generated from the api/schema
38
+ # URL path on a Jamf Pro server version 11.6.1-t1718634702
39
+ #
40
+ # This class may be used directly, e.g instances of other classes may
41
+ # use instances of this class as one of their own properties/attributes.
42
+ #
43
+ # It may also be used as a superclass when implementing Jamf Pro API
44
+ # Resources in ruby-jss. The subclasses include appropriate mixins, and
45
+ # should expand on the basic functionality provided here.
46
+ #
47
+ #
48
+ # Container Objects:
49
+ # Other object models that use this model as the value in one
50
+ # of their attributes.
51
+ # - Jamf::OAPISchemas::Authorization
52
+ # - Jamf::OAPISchemas::AuthorizationV1
53
+ #
54
+ # Sub Objects:
55
+ # Other object models used by this model's attributes.
56
+ #
57
+ #
58
+ # Endpoints and Privileges:
59
+ # API endpoints and HTTP operations that use this object
60
+ # model, and the Jamf Pro privileges needed to access them.
61
+ #
62
+ #
63
+ #
64
+ class AccountGroup < Jamf::OAPIObject
65
+
66
+ # Enums used by this class or others
67
+
68
+ ACCESS_LEVEL_OPTIONS = [
69
+ 'FullAccess',
70
+ 'SiteAccess',
71
+ 'GroupBasedAccess'
72
+ ]
73
+
74
+ PRIVILEGE_SET_OPTIONS = [
75
+ 'ADMINISTRATOR',
76
+ 'AUDITOR',
77
+ 'ENROLLMENT',
78
+ 'CUSTOM'
79
+ ]
80
+
81
+ OAPI_PROPERTIES = {
82
+
83
+ # @!attribute accessLevel
84
+ # @return [String]
85
+ accessLevel: {
86
+ class: :string,
87
+ enum: ACCESS_LEVEL_OPTIONS
88
+ },
89
+
90
+ # @!attribute privilegeSet
91
+ # @return [String]
92
+ privilegeSet: {
93
+ class: :string,
94
+ enum: PRIVILEGE_SET_OPTIONS
95
+ },
96
+
97
+ # @!attribute siteId
98
+ # @return [Integer]
99
+ siteId: {
100
+ class: :integer
101
+ },
102
+
103
+ # @!attribute privileges
104
+ # @return [Array<String>]
105
+ privileges: {
106
+ class: :string,
107
+ multi: true
108
+ },
109
+
110
+ # @!attribute memberUserIds
111
+ # @return [Array<Integer>]
112
+ memberUserIds: {
113
+ class: :integer,
114
+ multi: true
115
+ }
116
+
117
+ } # end OAPI_PROPERTIES
118
+
119
+ end # class AccountGroup
120
+
121
+ end # module OAPISchemas
122
+
123
+ end # module Jamf
@@ -0,0 +1,105 @@
1
+ # Copyright 2025 Pixar
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "Apache License")
4
+ # with the following modification; you may not use this file except in
5
+ # compliance with the Apache License and the following modification to it:
6
+ # Section 6. Trademarks. is deleted and replaced with:
7
+ #
8
+ # 6. Trademarks. This License does not grant permission to use the trade
9
+ # names, trademarks, service marks, or product names of the Licensor
10
+ # and its affiliates, except as required to comply with Section 4(c) of
11
+ # the License and to reproduce the content of the NOTICE file.
12
+ #
13
+ # You may obtain a copy of the Apache License at
14
+ #
15
+ # http://www.apache.org/licenses/LICENSE-2.0
16
+ #
17
+ # Unless required by applicable law or agreed to in writing, software
18
+ # distributed under the Apache License with the above modification is
19
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
20
+ # KIND, either express or implied. See the Apache License for the specific
21
+ # language governing permissions and limitations under the Apache License.
22
+ #
23
+
24
+
25
+ module Jamf
26
+
27
+ # This module is the namespace for all objects defined
28
+ # in the OAPI JSON schema under the components => schemas key
29
+ #
30
+ module OAPISchemas
31
+
32
+
33
+ # OAPI Object Model and Enums for: AccountPreferencesV1
34
+ #
35
+ #
36
+ #
37
+ # This class was automatically generated from the api/schema
38
+ # URL path on a Jamf Pro server version 11.6.1-t1718634702
39
+ #
40
+ # This class may be used directly, e.g instances of other classes may
41
+ # use instances of this class as one of their own properties/attributes.
42
+ #
43
+ # It may also be used as a superclass when implementing Jamf Pro API
44
+ # Resources in ruby-jss. The subclasses include appropriate mixins, and
45
+ # should expand on the basic functionality provided here.
46
+ #
47
+ #
48
+ # Container Objects:
49
+ # Other object models that use this model as the value in one
50
+ # of their attributes.
51
+ # - Jamf::OAPISchemas::AuthAccountV1
52
+ #
53
+ # Sub Objects:
54
+ # Other object models used by this model's attributes.
55
+ #
56
+ #
57
+ # Endpoints and Privileges:
58
+ # API endpoints and HTTP operations that use this object
59
+ # model, and the Jamf Pro privileges needed to access them.
60
+ #
61
+ #
62
+ #
63
+ class AccountPreferencesV1 < Jamf::OAPIObject
64
+
65
+
66
+
67
+ OAPI_PROPERTIES = {
68
+
69
+ # @!attribute language
70
+ # @return [String]
71
+ language: {
72
+ class: :string
73
+ },
74
+
75
+ # @!attribute dateFormat
76
+ # @return [String]
77
+ dateFormat: {
78
+ class: :string
79
+ },
80
+
81
+ # @!attribute region
82
+ # @return [String]
83
+ region: {
84
+ class: :string
85
+ },
86
+
87
+ # @!attribute timezone
88
+ # @return [String]
89
+ timezone: {
90
+ class: :string
91
+ },
92
+
93
+ # @!attribute disableRelativeDates
94
+ # @return [Boolean]
95
+ disableRelativeDates: {
96
+ class: :boolean
97
+ }
98
+
99
+ } # end OAPI_PROPERTIES
100
+
101
+ end # class AccountPreferencesV1
102
+
103
+ end # module OAPISchemas
104
+
105
+ end # module Jamf
@@ -0,0 +1,112 @@
1
+ # Copyright 2025 Pixar
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "Apache License")
4
+ # with the following modification; you may not use this file except in
5
+ # compliance with the Apache License and the following modification to it:
6
+ # Section 6. Trademarks. is deleted and replaced with:
7
+ #
8
+ # 6. Trademarks. This License does not grant permission to use the trade
9
+ # names, trademarks, service marks, or product names of the Licensor
10
+ # and its affiliates, except as required to comply with Section 4(c) of
11
+ # the License and to reproduce the content of the NOTICE file.
12
+ #
13
+ # You may obtain a copy of the Apache License at
14
+ #
15
+ # http://www.apache.org/licenses/LICENSE-2.0
16
+ #
17
+ # Unless required by applicable law or agreed to in writing, software
18
+ # distributed under the Apache License with the above modification is
19
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
20
+ # KIND, either express or implied. See the Apache License for the specific
21
+ # language governing permissions and limitations under the Apache License.
22
+ #
23
+
24
+
25
+ module Jamf
26
+
27
+ # This module is the namespace for all objects defined
28
+ # in the OAPI JSON schema under the components => schemas key
29
+ #
30
+ module OAPISchemas
31
+
32
+
33
+ # OAPI Object Model and Enums for: AssignRemoveProfileResponseSyncState
34
+ #
35
+ #
36
+ #
37
+ # This class was automatically generated from the api/schema
38
+ # URL path on a Jamf Pro server version 11.6.1-t1718634702
39
+ #
40
+ # This class may be used directly, e.g instances of other classes may
41
+ # use instances of this class as one of their own properties/attributes.
42
+ #
43
+ # It may also be used as a superclass when implementing Jamf Pro API
44
+ # Resources in ruby-jss. The subclasses include appropriate mixins, and
45
+ # should expand on the basic functionality provided here.
46
+ #
47
+ #
48
+ # Container Objects:
49
+ # Other object models that use this model as the value in one
50
+ # of their attributes.
51
+ # - Jamf::OAPISchemas::DeviceEnrollmentDevice
52
+ #
53
+ # Sub Objects:
54
+ # Other object models used by this model's attributes.
55
+ #
56
+ #
57
+ # Endpoints and Privileges:
58
+ # API endpoints and HTTP operations that use this object
59
+ # model, and the Jamf Pro privileges needed to access them.
60
+ #
61
+ #
62
+ #
63
+ class AssignRemoveProfileResponseSyncState < Jamf::OAPIObject
64
+
65
+
66
+
67
+ OAPI_PROPERTIES = {
68
+
69
+ # @!attribute id
70
+ # @return [Integer]
71
+ id: {
72
+ class: :j_id,
73
+ identifier: :primary
74
+ },
75
+
76
+ # @!attribute serialNumber
77
+ # @return [String]
78
+ serialNumber: {
79
+ class: :string
80
+ },
81
+
82
+ # @!attribute profileUUID
83
+ # @return [String]
84
+ profileUUID: {
85
+ class: :string
86
+ },
87
+
88
+ # @!attribute syncStatus
89
+ # @return [String]
90
+ syncStatus: {
91
+ class: :string
92
+ },
93
+
94
+ # @!attribute failureCount
95
+ # @return [Integer]
96
+ failureCount: {
97
+ class: :integer
98
+ },
99
+
100
+ # @!attribute timestamp
101
+ # @return [Integer]
102
+ timestamp: {
103
+ class: :integer
104
+ }
105
+
106
+ } # end OAPI_PROPERTIES
107
+
108
+ end # class AssignRemoveProfileResponseSyncState
109
+
110
+ end # module OAPISchemas
111
+
112
+ end # module Jamf
@@ -0,0 +1,159 @@
1
+ # Copyright 2025 Pixar
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "Apache License")
4
+ # with the following modification; you may not use this file except in
5
+ # compliance with the Apache License and the following modification to it:
6
+ # Section 6. Trademarks. is deleted and replaced with:
7
+ #
8
+ # 6. Trademarks. This License does not grant permission to use the trade
9
+ # names, trademarks, service marks, or product names of the Licensor
10
+ # and its affiliates, except as required to comply with Section 4(c) of
11
+ # the License and to reproduce the content of the NOTICE file.
12
+ #
13
+ # You may obtain a copy of the Apache License at
14
+ #
15
+ # http://www.apache.org/licenses/LICENSE-2.0
16
+ #
17
+ # Unless required by applicable law or agreed to in writing, software
18
+ # distributed under the Apache License with the above modification is
19
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
20
+ # KIND, either express or implied. See the Apache License for the specific
21
+ # language governing permissions and limitations under the Apache License.
22
+ #
23
+
24
+
25
+ module Jamf
26
+
27
+ # This module is the namespace for all objects defined
28
+ # in the OAPI JSON schema under the components => schemas key
29
+ #
30
+ module OAPISchemas
31
+
32
+
33
+ # OAPI Object Model and Enums for: AuthAccountV1
34
+ #
35
+ #
36
+ #
37
+ # This class was automatically generated from the api/schema
38
+ # URL path on a Jamf Pro server version 11.6.1-t1718634702
39
+ #
40
+ # This class may be used directly, e.g instances of other classes may
41
+ # use instances of this class as one of their own properties/attributes.
42
+ #
43
+ # It may also be used as a superclass when implementing Jamf Pro API
44
+ # Resources in ruby-jss. The subclasses include appropriate mixins, and
45
+ # should expand on the basic functionality provided here.
46
+ #
47
+ #
48
+ # Container Objects:
49
+ # Other object models that use this model as the value in one
50
+ # of their attributes.
51
+ # - Jamf::OAPISchemas::AuthorizationV1
52
+ #
53
+ # Sub Objects:
54
+ # Other object models used by this model's attributes.
55
+ # - Jamf::OAPISchemas::AccountPreferencesV1
56
+ #
57
+ # Endpoints and Privileges:
58
+ # API endpoints and HTTP operations that use this object
59
+ # model, and the Jamf Pro privileges needed to access them.
60
+ #
61
+ #
62
+ #
63
+ class AuthAccountV1 < Jamf::OAPIObject
64
+
65
+ # Enums used by this class or others
66
+
67
+ ACCESS_LEVEL_OPTIONS = [
68
+ 'FullAccess',
69
+ 'SiteAccess',
70
+ 'GroupBasedAccess'
71
+ ]
72
+
73
+ PRIVILEGE_SET_OPTIONS = [
74
+ 'ADMINISTRATOR',
75
+ 'AUDITOR',
76
+ 'ENROLLMENT',
77
+ 'CUSTOM'
78
+ ]
79
+
80
+ OAPI_PROPERTIES = {
81
+
82
+ # @!attribute id
83
+ # @return [String]
84
+ id: {
85
+ class: :j_id,
86
+ identifier: :primary,
87
+ min_length: 1
88
+ },
89
+
90
+ # @!attribute username
91
+ # @return [String]
92
+ username: {
93
+ class: :string
94
+ },
95
+
96
+ # @!attribute realName
97
+ # @return [String]
98
+ realName: {
99
+ class: :string
100
+ },
101
+
102
+ # @!attribute email
103
+ # @return [String]
104
+ email: {
105
+ class: :string
106
+ },
107
+
108
+ # @!attribute preferences
109
+ # @return [Jamf::OAPISchemas::AccountPreferencesV1]
110
+ preferences: {
111
+ class: Jamf::OAPISchemas::AccountPreferencesV1
112
+ },
113
+
114
+ # @!attribute multiSiteAdmin
115
+ # @return [Boolean]
116
+ multiSiteAdmin: {
117
+ class: :boolean
118
+ },
119
+
120
+ # @!attribute accessLevel
121
+ # @return [String]
122
+ accessLevel: {
123
+ class: :string,
124
+ enum: ACCESS_LEVEL_OPTIONS
125
+ },
126
+
127
+ # @!attribute privilegeSet
128
+ # @return [String]
129
+ privilegeSet: {
130
+ class: :string,
131
+ enum: PRIVILEGE_SET_OPTIONS
132
+ },
133
+
134
+ # @!attribute privilegesBySite
135
+ # @return [Hash{Symbol: Array<String> }]
136
+ privilegesBySite: {
137
+ class: :hash
138
+ },
139
+
140
+ # @!attribute groupIds
141
+ # @return [Array<String>]
142
+ groupIds: {
143
+ class: :string,
144
+ multi: true
145
+ },
146
+
147
+ # @!attribute currentSiteId
148
+ # @return [String]
149
+ currentSiteId: {
150
+ class: :string
151
+ }
152
+
153
+ } # end OAPI_PROPERTIES
154
+
155
+ end # class AuthAccountV1
156
+
157
+ end # module OAPISchemas
158
+
159
+ end # module Jamf
@@ -0,0 +1,97 @@
1
+ # Copyright 2025 Pixar
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "Apache License")
4
+ # with the following modification; you may not use this file except in
5
+ # compliance with the Apache License and the following modification to it:
6
+ # Section 6. Trademarks. is deleted and replaced with:
7
+ #
8
+ # 6. Trademarks. This License does not grant permission to use the trade
9
+ # names, trademarks, service marks, or product names of the Licensor
10
+ # and its affiliates, except as required to comply with Section 4(c) of
11
+ # the License and to reproduce the content of the NOTICE file.
12
+ #
13
+ # You may obtain a copy of the Apache License at
14
+ #
15
+ # http://www.apache.org/licenses/LICENSE-2.0
16
+ #
17
+ # Unless required by applicable law or agreed to in writing, software
18
+ # distributed under the Apache License with the above modification is
19
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
20
+ # KIND, either express or implied. See the Apache License for the specific
21
+ # language governing permissions and limitations under the Apache License.
22
+ #
23
+
24
+
25
+ module Jamf
26
+
27
+ # This module is the namespace for all objects defined
28
+ # in the OAPI JSON schema under the components => schemas key
29
+ #
30
+ module OAPISchemas
31
+
32
+
33
+ # OAPI Object Model and Enums for: AuthenticationType
34
+ #
35
+ #
36
+ #
37
+ # This class was automatically generated from the api/schema
38
+ # URL path on a Jamf Pro server version 11.6.1-t1718634702
39
+ #
40
+ # This class may be used directly, e.g instances of other classes may
41
+ # use instances of this class as one of their own properties/attributes.
42
+ #
43
+ # It may also be used as a superclass when implementing Jamf Pro API
44
+ # Resources in ruby-jss. The subclasses include appropriate mixins, and
45
+ # should expand on the basic functionality provided here.
46
+ #
47
+ #
48
+ # Container Objects:
49
+ # Other object models that use this model as the value in one
50
+ # of their attributes.
51
+ # - Jamf::OAPISchemas::Authorization
52
+ # - Jamf::OAPISchemas::AuthorizationV1
53
+ # - Jamf::OAPISchemas::CurrentAuthorization
54
+ #
55
+ # Sub Objects:
56
+ # Other object models used by this model's attributes.
57
+ #
58
+ #
59
+ # Endpoints and Privileges:
60
+ # API endpoints and HTTP operations that use this object
61
+ # model, and the Jamf Pro privileges needed to access them.
62
+ #
63
+ #
64
+ #
65
+ class AuthenticationType < Jamf::OAPIObject
66
+
67
+ # Enums used by this class or others
68
+
69
+ VALUE_OPTIONS = [
70
+ 'JSS',
71
+ 'LDAP',
72
+ 'SAML',
73
+ 'INVITE',
74
+ 'NATIVE_APP_API_INTEGRATION',
75
+ 'DEVICE_SIGNATURE',
76
+ 'CLOUD_CONNECTOR',
77
+ 'SYSTEM_ACCOUNT',
78
+ 'USER_ENROLLMENT',
79
+ 'CLIENT_CREDENTIALS'
80
+ ]
81
+
82
+ OAPI_PROPERTIES = {
83
+
84
+ # @!attribute value
85
+ # @return [String]
86
+ value: {
87
+ class: :string,
88
+ enum: VALUE_OPTIONS
89
+ }
90
+
91
+ } # end OAPI_PROPERTIES
92
+
93
+ end # class AuthenticationType
94
+
95
+ end # module OAPISchemas
96
+
97
+ end # module Jamf