ruby-jss 4.2.0b2 → 4.2.0

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 (105) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +25 -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 +307 -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 +8 -0
  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/composer.rb +114 -107
  98. data/lib/jamf/oapi_validate.rb +1 -0
  99. data/lib/jamf/version.rb +1 -1
  100. data/test/bin/runtests +2 -2
  101. data/test/lib/jamf_test/collection_tests.rb +10 -2
  102. data/test/tests/computer_group.rb +29 -12
  103. data/test/tests/{jp_building.rb → j_building.rb} +2 -2
  104. data/test/tests/j_package.rb +47 -0
  105. metadata +87 -8
@@ -0,0 +1,169 @@
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: ManagedSoftwareUpdatePlanToggleStatus
34
+ #
35
+ #
36
+ #
37
+ # This class was automatically generated from the api/schema
38
+ # URL path on a Jamf Pro server version 11.14.1-t1740408745756
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::ManagedSoftwareUpdatePlanToggleStatusWrapper
52
+ # - Jamf::OAPISchemas::ManagedSoftwareUpdatePlanToggleStatusWrapper
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 ManagedSoftwareUpdatePlanToggleStatus < Jamf::OAPIObject
65
+
66
+ # Enums used by this class or others
67
+
68
+ STATE_OPTIONS = [
69
+ 'NOT_RUNNING',
70
+ 'RUNNING',
71
+ 'NEVER_RAN'
72
+ ]
73
+
74
+ EXIT_STATE_OPTIONS = [
75
+ 'UNKNOWN',
76
+ 'EXECUTING',
77
+ 'COMPLETED',
78
+ 'NOOP',
79
+ 'FAILED',
80
+ 'STOPPED'
81
+ ]
82
+
83
+ OAPI_PROPERTIES = {
84
+
85
+ # The local server time when the toggle was initiated. Null if state is NEVER_RAN
86
+ # @!attribute startTime
87
+ # @return [String]
88
+ startTime: {
89
+ class: Jamf::Timestamp,
90
+ nil_ok: true
91
+ },
92
+
93
+ # The local server time when the toggle was completed. Null if state is NEVER_RAN
94
+ # @!attribute endTime
95
+ # @return [String]
96
+ endTime: {
97
+ class: Jamf::Timestamp,
98
+ nil_ok: true
99
+ },
100
+
101
+ # Duration in seconds between the start time and end time. "Now" is used when end time is null. Null if state is NEVER_RAN
102
+ # @!attribute elapsedTime
103
+ # @return [Integer]
104
+ elapsedTime: {
105
+ class: :integer,
106
+ nil_ok: true
107
+ },
108
+
109
+ # The current state of the toggle
110
+ # @!attribute state
111
+ # @return [String]
112
+ state: {
113
+ class: :string,
114
+ enum: STATE_OPTIONS
115
+ },
116
+
117
+ # The total number of records that will be deleted
118
+ # @!attribute totalRecords
119
+ # @return [Integer]
120
+ totalRecords: {
121
+ class: :integer,
122
+ format: 'int64'
123
+ },
124
+
125
+ # The total number of records that have been deleted
126
+ # @!attribute processedRecords
127
+ # @return [Integer]
128
+ processedRecords: {
129
+ class: :integer,
130
+ format: 'int64'
131
+ },
132
+
133
+ # The percentage between total and completed records.
134
+ # @!attribute percentComplete
135
+ # @return [Float]
136
+ percentComplete: {
137
+ class: :number,
138
+ format: 'double'
139
+ },
140
+
141
+ # Pretty print of total, processed, and percentage complete
142
+ # @!attribute formattedPercentComplete
143
+ # @return [String]
144
+ formattedPercentComplete: {
145
+ class: :string
146
+ },
147
+
148
+ # Troubleshooting - The exit status code from the toggle processing job. "Unknown" will return when the toggle is running.
149
+ # @!attribute exitState
150
+ # @return [String]
151
+ exitState: {
152
+ class: :string,
153
+ enum: EXIT_STATE_OPTIONS
154
+ },
155
+
156
+ # Troubleshooting - The exit message of the toggle job if it encounters an exception while running. Nominal return is an empty string
157
+ # @!attribute exitMessage
158
+ # @return [String]
159
+ exitMessage: {
160
+ class: :string
161
+ }
162
+
163
+ } # end OAPI_PROPERTIES
164
+
165
+ end # class ManagedSoftwareUpdatePlanToggleStatus
166
+
167
+ end # module OAPISchemas
168
+
169
+ end # module Jamf
@@ -0,0 +1,91 @@
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: ManagedSoftwareUpdatePlanToggleStatusWrapper
34
+ #
35
+ #
36
+ #
37
+ # This class was automatically generated from the api/schema
38
+ # URL path on a Jamf Pro server version 11.14.1-t1740408745756
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
+ #
52
+ #
53
+ # Sub Objects:
54
+ # Other object models used by this model's attributes.
55
+ # - Jamf::OAPISchemas::ManagedSoftwareUpdatePlanToggleStatus
56
+ # - Jamf::OAPISchemas::ManagedSoftwareUpdatePlanToggleStatus
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
+ # - '/v1/managed-software-updates/plans/feature-toggle/status:GET' needs permissions:
62
+ # - Read Managed Software Updates
63
+ #
64
+ #
65
+ class ManagedSoftwareUpdatePlanToggleStatusWrapper < Jamf::OAPIObject
66
+
67
+
68
+
69
+ OAPI_PROPERTIES = {
70
+
71
+ # @!attribute toggleOn
72
+ # @return [Jamf::OAPISchemas::ManagedSoftwareUpdatePlanToggleStatus]
73
+ toggleOn: {
74
+ class: Jamf::OAPISchemas::ManagedSoftwareUpdatePlanToggleStatus,
75
+ required: true
76
+ },
77
+
78
+ # @!attribute toggleOff
79
+ # @return [Jamf::OAPISchemas::ManagedSoftwareUpdatePlanToggleStatus]
80
+ toggleOff: {
81
+ class: Jamf::OAPISchemas::ManagedSoftwareUpdatePlanToggleStatus,
82
+ required: true
83
+ }
84
+
85
+ } # end OAPI_PROPERTIES
86
+
87
+ end # class ManagedSoftwareUpdatePlanToggleStatusWrapper
88
+
89
+ end # module OAPISchemas
90
+
91
+ end # module Jamf
@@ -0,0 +1,102 @@
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: ManagedSoftwareUpdatePlans
34
+ #
35
+ #
36
+ #
37
+ # This class was automatically generated from the api/schema
38
+ # URL path on a Jamf Pro server version 11.14.1-t1740408745756
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
+ #
52
+ #
53
+ # Sub Objects:
54
+ # Other object models used by this model's attributes.
55
+ # - Jamf::OAPISchemas::ManagedSoftwareUpdatePlan
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
+ # - '/v1/managed-software-updates/plans:GET' needs permissions:
61
+ # - Read Managed Software Updates
62
+ # - Read Computers
63
+ # - Read Mobile Devices
64
+ # - '/v1/managed-software-updates/plans/group/{id}:GET' needs permissions:
65
+ # - Read Managed Software Updates
66
+ # - Read Computers
67
+ # - Read Smart Computer Groups
68
+ # - Read Static Computer Groups
69
+ # - Read Mobile Devices
70
+ # - Read Smart Mobile Device Groups
71
+ # - Read Static Mobile Device Groups
72
+ #
73
+ #
74
+ class ManagedSoftwareUpdatePlans < Jamf::OAPIObject
75
+
76
+
77
+
78
+ OAPI_PROPERTIES = {
79
+
80
+ # @!attribute totalCount
81
+ # @return [Integer]
82
+ totalCount: {
83
+ class: :integer,
84
+ minimum: 0
85
+ },
86
+
87
+ # @!attribute [r] results
88
+ # @return [Array<Jamf::OAPISchemas::ManagedSoftwareUpdatePlan>]
89
+ results: {
90
+ class: Jamf::OAPISchemas::ManagedSoftwareUpdatePlan,
91
+ readonly: true,
92
+ multi: true,
93
+ min_items: 0
94
+ }
95
+
96
+ } # end OAPI_PROPERTIES
97
+
98
+ end # class ManagedSoftwareUpdatePlans
99
+
100
+ end # module OAPISchemas
101
+
102
+ end # module Jamf
@@ -0,0 +1,173 @@
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
+ module Jamf
25
+
26
+ # This module is the namespace for all objects defined
27
+ # in the OAPI JSON schema under the components => schemas key
28
+ #
29
+ module OAPISchemas
30
+
31
+ # OAPI Object Model and Enums for: ManagedSoftwareUpdateStatus
32
+ #
33
+ #
34
+ #
35
+ # This class was automatically generated from the api/schema
36
+ # URL path on a Jamf Pro server version 11.14.1-t1740408745756
37
+ #
38
+ # This class may be used directly, e.g instances of other classes may
39
+ # use instances of this class as one of their own properties/attributes.
40
+ #
41
+ # It may also be used as a superclass when implementing Jamf Pro API
42
+ # Resources in ruby-jss. The subclasses include appropriate mixins, and
43
+ # should expand on the basic functionality provided here.
44
+ #
45
+ #
46
+ # Container Objects:
47
+ # Other object models that use this model as the value in one
48
+ # of their attributes.
49
+ # - Jamf::OAPISchemas::ManagedSoftwareUpdateStatuses
50
+ #
51
+ # Sub Objects:
52
+ # Other object models used by this model's attributes.
53
+ #
54
+ #
55
+ # Endpoints and Privileges:
56
+ # API endpoints and HTTP operations that use this object
57
+ # model, and the Jamf Pro privileges needed to access them.
58
+ #
59
+ #
60
+ #
61
+ class ManagedSoftwareUpdateStatus < Jamf::OAPIObject
62
+
63
+ # Enums used by this class or others
64
+
65
+ STATUS_OPTIONS = %w[
66
+ DOWNLOADING
67
+ IDLE
68
+ INSTALLING
69
+ INSTALLED
70
+ ERROR
71
+ DOWNLOAD_FAILED
72
+ DOWNLOAD_REQUIRES_COMPUTER
73
+ DOWNLOAD_INSUFFICIENT_SPACE
74
+ DOWNLOAD_INSUFFICIENT_POWER
75
+ DOWNLOAD_INSUFFICIENT_NETWORK
76
+ INSTALL_INSUFFICIENT_SPACE
77
+ INSTALL_INSUFFICIENT_POWER
78
+ INSTALL_PHONE_CALL_IN_PROGRESS
79
+ INSTALL_FAILED
80
+ UNKNOWN
81
+ ]
82
+
83
+ OAPI_PROPERTIES = {
84
+
85
+ # @!attribute osUpdatesStatusId
86
+ # @return [String]
87
+ osUpdatesStatusId: {
88
+ class: :string,
89
+ identifier: :primary
90
+ },
91
+
92
+ # @!attribute device
93
+ # @return [Hash{Symbol: Object}]
94
+ device: {
95
+ class: :hash
96
+ },
97
+
98
+ # @!attribute downloadPercentComplete
99
+ # @return [Float]
100
+ downloadPercentComplete: {
101
+ class: :number
102
+ },
103
+
104
+ # @!attribute downloaded
105
+ # @return [Boolean]
106
+ downloaded: {
107
+ class: :boolean
108
+ },
109
+
110
+ # @!attribute productKey
111
+ # @return [String]
112
+ productKey: {
113
+ class: :string
114
+ },
115
+
116
+ # @!attribute status
117
+ # @return [String]
118
+ status: {
119
+ class: :string,
120
+ enum: STATUS_OPTIONS
121
+ },
122
+
123
+ # not applicable to all managed software update statuses
124
+ # @!attribute deferralsRemaining
125
+ # @return [Integer]
126
+ deferralsRemaining: {
127
+ class: :integer
128
+ },
129
+
130
+ # not applicable to all managed software update statuses
131
+ # @!attribute maxDeferrals
132
+ # @return [Integer]
133
+ maxDeferrals: {
134
+ class: :integer
135
+ },
136
+
137
+ # not applicable to all managed software update statuses
138
+ # @!attribute nextScheduledInstall
139
+ # @return [Jamf::Timestamp]
140
+ nextScheduledInstall: {
141
+ class: Jamf::Timestamp,
142
+ format: 'date-time'
143
+ },
144
+
145
+ # not applicable to all managed software update statuses
146
+ # @!attribute pastNotifications
147
+ # @return [Array<Jamf::Timestamp>]
148
+ pastNotifications: {
149
+ class: Jamf::Timestamp,
150
+ multi: true
151
+ },
152
+
153
+ # @!attribute created
154
+ # @return [Jamf::Timestamp]
155
+ created: {
156
+ class: Jamf::Timestamp,
157
+ format: 'date-time'
158
+ },
159
+
160
+ # @!attribute updated
161
+ # @return [Jamf::Timestamp]
162
+ updated: {
163
+ class: Jamf::Timestamp,
164
+ format: 'date-time'
165
+ }
166
+
167
+ } # end OAPI_PROPERTIES
168
+
169
+ end # class ManagedSoftwareUpdateStatus
170
+
171
+ end # module OAPISchemas
172
+
173
+ end # module Jamf
@@ -0,0 +1,102 @@
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: ManagedSoftwareUpdateStatuses
34
+ #
35
+ #
36
+ #
37
+ # This class was automatically generated from the api/schema
38
+ # URL path on a Jamf Pro server version 11.14.1-t1740408745756
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
+ #
52
+ #
53
+ # Sub Objects:
54
+ # Other object models used by this model's attributes.
55
+ # - Jamf::OAPISchemas::ManagedSoftwareUpdateStatus
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
+ # - '/v1/managed-software-updates/update-statuses:GET' needs permissions:
61
+ # - Read Computers
62
+ # - Read Mobile Devices
63
+ # - '/v1/managed-software-updates/update-statuses/computer-groups/{id}:GET' needs permissions:
64
+ # - Read Computers
65
+ # - Read Smart Computer Groups
66
+ # - Read Static Computer Groups
67
+ # - '/v1/managed-software-updates/update-statuses/computers/{id}:GET' needs permissions:
68
+ # - Read Computers
69
+ # - '/v1/managed-software-updates/update-statuses/mobile-device-groups/{id}:GET' needs permissions:
70
+ # - Read Mobile Devices
71
+ # - Read Smart Mobile Device Groups
72
+ # - Read Static Mobile Device Groups
73
+ # - '/v1/managed-software-updates/update-statuses/mobile-devices/{id}:GET' needs permissions:
74
+ # - Read Mobile Devices
75
+ #
76
+ #
77
+ class ManagedSoftwareUpdateStatuses < Jamf::OAPIObject
78
+
79
+
80
+
81
+ OAPI_PROPERTIES = {
82
+
83
+ # @!attribute totalCount
84
+ # @return [Integer]
85
+ totalCount: {
86
+ class: :integer
87
+ },
88
+
89
+ # @!attribute results
90
+ # @return [Array<Jamf::OAPISchemas::ManagedSoftwareUpdateStatus>]
91
+ results: {
92
+ class: Jamf::OAPISchemas::ManagedSoftwareUpdateStatus,
93
+ multi: true
94
+ }
95
+
96
+ } # end OAPI_PROPERTIES
97
+
98
+ end # class ManagedSoftwareUpdateStatuses
99
+
100
+ end # module OAPISchemas
101
+
102
+ end # module Jamf