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,94 @@
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: MobileDevicePrestageNameV2
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::MobileDevicePrestageNamesV2
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 MobileDevicePrestageNameV2 < Jamf::OAPIObject
64
+
65
+
66
+
67
+ OAPI_PROPERTIES = {
68
+
69
+ # @!attribute id
70
+ # @return [String]
71
+ id: {
72
+ class: :j_id,
73
+ identifier: :primary
74
+ },
75
+
76
+ # @!attribute deviceName
77
+ # @return [String]
78
+ deviceName: {
79
+ class: :string
80
+ },
81
+
82
+ # @!attribute used
83
+ # @return [Boolean]
84
+ used: {
85
+ class: :boolean
86
+ }
87
+
88
+ } # end OAPI_PROPERTIES
89
+
90
+ end # class MobileDevicePrestageNameV2
91
+
92
+ end # module OAPISchemas
93
+
94
+ end # module Jamf
@@ -0,0 +1,118 @@
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: MobileDevicePrestageNamesV2
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
+ #
52
+ #
53
+ # Sub Objects:
54
+ # Other object models used by this model's attributes.
55
+ # - Jamf::OAPISchemas::MobileDevicePrestageNameV2
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 MobileDevicePrestageNamesV2 < Jamf::OAPIObject
64
+
65
+
66
+
67
+ OAPI_PROPERTIES = {
68
+
69
+ # @!attribute assignNamesUsing
70
+ # @return [String]
71
+ assignNamesUsing: {
72
+ class: :string
73
+ },
74
+
75
+ # @!attribute prestageDeviceNames
76
+ # @return [Array<Jamf::OAPISchemas::MobileDevicePrestageNameV2>]
77
+ prestageDeviceNames: {
78
+ class: Jamf::OAPISchemas::MobileDevicePrestageNameV2,
79
+ multi: true
80
+ },
81
+
82
+ # @!attribute deviceNamePrefix
83
+ # @return [String]
84
+ deviceNamePrefix: {
85
+ class: :string
86
+ },
87
+
88
+ # @!attribute deviceNameSuffix
89
+ # @return [String]
90
+ deviceNameSuffix: {
91
+ class: :string
92
+ },
93
+
94
+ # @!attribute singleDeviceName
95
+ # @return [String]
96
+ singleDeviceName: {
97
+ class: :string
98
+ },
99
+
100
+ # @!attribute manageNames
101
+ # @return [Boolean]
102
+ manageNames: {
103
+ class: :boolean
104
+ },
105
+
106
+ # @!attribute deviceNamingConfigured
107
+ # @return [Boolean]
108
+ deviceNamingConfigured: {
109
+ class: :boolean
110
+ }
111
+
112
+ } # end OAPI_PROPERTIES
113
+
114
+ end # class MobileDevicePrestageNamesV2
115
+
116
+ end # module OAPISchemas
117
+
118
+ end # module Jamf
@@ -0,0 +1,142 @@
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: PlanConfigurationPost
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::ManagedSoftwareUpdatePlanGroupPost
52
+ # - Jamf::OAPISchemas::ManagedSoftwareUpdatePlanPost
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 PlanConfigurationPost < Jamf::OAPIObject
65
+
66
+ # Enums used by this class or others
67
+
68
+ UPDATE_ACTION_OPTIONS = [
69
+ 'DOWNLOAD_ONLY',
70
+ 'DOWNLOAD_INSTALL',
71
+ 'DOWNLOAD_INSTALL_ALLOW_DEFERRAL',
72
+ 'DOWNLOAD_INSTALL_RESTART',
73
+ 'DOWNLOAD_INSTALL_SCHEDULE',
74
+ 'UNKNOWN'
75
+ ]
76
+
77
+ VERSION_TYPE_OPTIONS = [
78
+ 'LATEST_MAJOR',
79
+ 'LATEST_MINOR',
80
+ 'LATEST_ANY',
81
+ 'SPECIFIC_VERSION',
82
+ 'CUSTOM_VERSION',
83
+ 'UNKNOWN'
84
+ ]
85
+
86
+ OAPI_PROPERTIES = {
87
+
88
+ # @!attribute updateAction
89
+ # @return [String]
90
+ updateAction: {
91
+ class: :string,
92
+ required: true,
93
+ enum: UPDATE_ACTION_OPTIONS
94
+ },
95
+
96
+ # @!attribute versionType
97
+ # @return [String]
98
+ versionType: {
99
+ class: :string,
100
+ required: true,
101
+ enum: VERSION_TYPE_OPTIONS
102
+ },
103
+
104
+ # Optional. Indicates the specific version to update to. Only available when the version type is set to specific version or custom version, otherwise defaults to NO_SPECIFIC_VERSION.
105
+ # @!attribute specificVersion
106
+ # @return [String]
107
+ specificVersion: {
108
+ class: :string,
109
+ min_length: 0
110
+ },
111
+
112
+ # Optional. Indicates the build version to update to. Only available when the version type is set to custom version.
113
+ # @!attribute buildVersion
114
+ # @return [String]
115
+ buildVersion: {
116
+ class: :string,
117
+ nil_ok: true
118
+ },
119
+
120
+ # Required when the provided updateAction is DOWNLOAD_INSTALL_ALLOW_DEFERRAL, not applicable to all managed software update plans
121
+ # @!attribute maxDeferrals
122
+ # @return [Integer]
123
+ maxDeferrals: {
124
+ class: :integer,
125
+ minimum: 0
126
+ },
127
+
128
+ # Optional. Indicates the local date and time of the device to force update by.
129
+ # @!attribute forceInstallLocalDateTime
130
+ # @return [String]
131
+ forceInstallLocalDateTime: {
132
+ class: Jamf::Timestamp,
133
+ nil_ok: true
134
+ }
135
+
136
+ } # end OAPI_PROPERTIES
137
+
138
+ end # class PlanConfigurationPost
139
+
140
+ end # module OAPISchemas
141
+
142
+ 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: PlanDevice
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::ManagedSoftwareUpdatePlan
52
+ # - Jamf::OAPISchemas::PlanDeviceResponse
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 PlanDevice < Jamf::OAPIObject
65
+
66
+ # Enums used by this class or others
67
+
68
+ OBJECT_TYPE_OPTIONS = [
69
+ 'COMPUTER',
70
+ 'MOBILE_DEVICE',
71
+ 'APPLE_TV'
72
+ ]
73
+
74
+ OAPI_PROPERTIES = {
75
+
76
+ # @!attribute [r] deviceId
77
+ # @return [String]
78
+ deviceId: {
79
+ class: :string,
80
+ readonly: true,
81
+ min_length: 1
82
+ },
83
+
84
+ # @!attribute [r] objectType
85
+ # @return [String]
86
+ objectType: {
87
+ class: :string,
88
+ readonly: true,
89
+ enum: OBJECT_TYPE_OPTIONS
90
+ },
91
+
92
+ # @!attribute [r] href
93
+ # @return [String]
94
+ href: {
95
+ class: :string,
96
+ readonly: true
97
+ }
98
+
99
+ } # end OAPI_PROPERTIES
100
+
101
+ end # class PlanDevice
102
+
103
+ end # module OAPISchemas
104
+
105
+ 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: PlanDevicePost
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::ManagedSoftwareUpdatePlanPost
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 PlanDevicePost < Jamf::OAPIObject
64
+
65
+ # Enums used by this class or others
66
+
67
+ OBJECT_TYPE_OPTIONS = [
68
+ 'COMPUTER',
69
+ 'MOBILE_DEVICE',
70
+ 'APPLE_TV'
71
+ ]
72
+
73
+ OAPI_PROPERTIES = {
74
+
75
+ # @!attribute deviceId
76
+ # @return [String]
77
+ deviceId: {
78
+ class: :string,
79
+ required: true,
80
+ min_length: 1
81
+ },
82
+
83
+ # @!attribute objectType
84
+ # @return [String]
85
+ objectType: {
86
+ class: :string,
87
+ required: true,
88
+ enum: OBJECT_TYPE_OPTIONS
89
+ }
90
+
91
+ } # end OAPI_PROPERTIES
92
+
93
+ end # class PlanDevicePost
94
+
95
+ end # module OAPISchemas
96
+
97
+ end # module Jamf
@@ -0,0 +1,96 @@
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: PlanDeviceResponse
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::ManagedSoftwareUpdatePlanPostResponse
52
+ #
53
+ # Sub Objects:
54
+ # Other object models used by this model's attributes.
55
+ # - Jamf::OAPISchemas::PlanDevice
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 PlanDeviceResponse < Jamf::OAPIObject
64
+
65
+
66
+
67
+ OAPI_PROPERTIES = {
68
+
69
+ # @!attribute device
70
+ # @return [Jamf::OAPISchemas::PlanDevice]
71
+ device: {
72
+ class: Jamf::OAPISchemas::PlanDevice
73
+ },
74
+
75
+ # @!attribute [r] planId
76
+ # @return [String]
77
+ planId: {
78
+ class: :string,
79
+ readonly: true,
80
+ min_length: 1
81
+ },
82
+
83
+ # @!attribute [r] href
84
+ # @return [String]
85
+ href: {
86
+ class: :string,
87
+ readonly: true
88
+ }
89
+
90
+ } # end OAPI_PROPERTIES
91
+
92
+ end # class PlanDeviceResponse
93
+
94
+ end # module OAPISchemas
95
+
96
+ end # module Jamf