ruby-jss 5.0.2 → 5.1.0b1

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 (24) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +15 -0
  3. data/lib/jamf/api/classic/api_objects/scopable/scope.rb +1 -1
  4. data/lib/jamf/api/jamf_pro/api_objects/j_category.rb +98 -0
  5. data/lib/jamf/api/jamf_pro/api_objects/j_computer_extension_attribute.rb +102 -0
  6. data/lib/jamf/api/jamf_pro/api_objects/j_mobile_device_extension_attribute.rb +101 -0
  7. data/lib/jamf/api/jamf_pro/api_objects/j_script.rb +101 -0
  8. data/lib/jamf/api/jamf_pro/mixins/bulk_deletable.rb +5 -3
  9. data/lib/jamf/api/jamf_pro/mixins/collection_resource.rb +5 -2
  10. data/lib/jamf/api/jamf_pro/mixins/data_dependency.rb +63 -0
  11. data/lib/jamf/api/jamf_pro/mixins/sortable.rb +2 -2
  12. data/lib/jamf/api/jamf_pro/oapi_schemas/categories_search_results.rb +91 -0
  13. data/lib/jamf/api/jamf_pro/oapi_schemas/category.rb +104 -0
  14. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attribute_search_results.rb +91 -0
  15. data/lib/jamf/api/jamf_pro/oapi_schemas/computer_extension_attributes.rb +149 -0
  16. data/lib/jamf/api/jamf_pro/oapi_schemas/extension_attributes.rb +114 -0
  17. data/lib/jamf/api/jamf_pro/oapi_schemas/jamf_protect_plan.rb +125 -0
  18. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_extension_attribute.rb +125 -0
  19. data/lib/jamf/api/jamf_pro/oapi_schemas/mobile_device_extension_attribute_results.rb +79 -0
  20. data/lib/jamf/api/jamf_pro/oapi_schemas/script.rb +193 -0
  21. data/lib/jamf/api/jamf_pro/oapi_schemas/scripts_search_results.rb +91 -0
  22. data/lib/jamf/version.rb +1 -1
  23. metadata +19 -5
  24. data/lib/jamf/api/classic/api_objects/mdm_classic.rb +0 -1416
@@ -0,0 +1,104 @@
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: Category
34
+ #
35
+ #
36
+ #
37
+ # This class was automatically generated from the api/schema
38
+ # URL path on a Jamf Pro server version 11.9.2-t1726753918
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::CategoriesSearchResults
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
+ # - '/v1/categories:POST' needs permissions:
61
+ # - Create Categories
62
+ # - '/v1/categories/{id}:GET' needs permissions:
63
+ # - Read Categories
64
+ # - '/v1/categories/{id}:PUT' needs permissions:
65
+ # - Update Categories
66
+ #
67
+ #
68
+ class Category < Jamf::OAPIObject
69
+
70
+
71
+
72
+ OAPI_PROPERTIES = {
73
+
74
+ # @!attribute [r] id
75
+ # @return [String]
76
+ id: {
77
+ class: :j_id,
78
+ identifier: :primary,
79
+ readonly: true,
80
+ min_length: 1
81
+ },
82
+
83
+ # @!attribute name
84
+ # @return [String]
85
+ name: {
86
+ class: :string,
87
+ required: true
88
+ },
89
+
90
+ # @!attribute priority
91
+ # @return [Integer]
92
+ priority: {
93
+ class: :integer,
94
+ required: true,
95
+ format: 'int32'
96
+ }
97
+
98
+ } # end OAPI_PROPERTIES
99
+
100
+ end # class Category
101
+
102
+ end # module OAPISchemas
103
+
104
+ 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: ComputerExtensionAttributeSearchResults
34
+ #
35
+ #
36
+ #
37
+ # This class was automatically generated from the api/schema
38
+ # URL path on a Jamf Pro server version 11.9.2-t1726753918
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::ComputerExtensionAttributes
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/computer-extension-attributes:GET' needs permissions:
61
+ # - Read Computer Extension Attributes
62
+ #
63
+ #
64
+ class ComputerExtensionAttributeSearchResults < Jamf::OAPIObject
65
+
66
+
67
+
68
+ OAPI_PROPERTIES = {
69
+
70
+ # @!attribute totalCount
71
+ # @return [Integer]
72
+ totalCount: {
73
+ class: :integer,
74
+ required: true
75
+ },
76
+
77
+ # @!attribute results
78
+ # @return [Array<Jamf::OAPISchemas::ComputerExtensionAttributes>]
79
+ results: {
80
+ class: Jamf::OAPISchemas::ComputerExtensionAttributes,
81
+ multi: true,
82
+ min_items: 0
83
+ }
84
+
85
+ } # end OAPI_PROPERTIES
86
+
87
+ end # class ComputerExtensionAttributeSearchResults
88
+
89
+ end # module OAPISchemas
90
+
91
+ end # module Jamf
@@ -0,0 +1,149 @@
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: ComputerExtensionAttributes
32
+ #
33
+ #
34
+ #
35
+ # This class was automatically generated from the api/schema
36
+ # URL path on a Jamf Pro server version 11.9.2-t1726753918
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::ComputerExtensionAttributeSearchResults
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
+ # - '/v1/computer-extension-attributes:POST' needs permissions:
59
+ # - Create Computer Extension Attributes
60
+ # - '/v1/computer-extension-attributes/{id}:GET' needs permissions:
61
+ # - Read Computer Extension Attributes
62
+ # - '/v1/computer-extension-attributes/{id}:PUT' needs permissions:
63
+ # - Update Computer Extension Attributes
64
+ #
65
+ #
66
+ class ComputerExtensionAttributes < Jamf::OAPIObject
67
+
68
+ # Enums used by this class or others
69
+
70
+ INVENTORY_DISPLAY_TYPE_OPTIONS = %w[
71
+ GENERAL
72
+ HARDWARE
73
+ OPERATING_SYSTEM
74
+ USER_AND_LOCATION
75
+ PURCHASING
76
+ EXTENSION_ATTRIBUTES
77
+ ]
78
+
79
+ INPUT_TYPE_OPTIONS = %w[
80
+ SCRIPT
81
+ TEXT
82
+ POPUP
83
+ DIRECTORY_SERVICE_ATTRIBUTE_MAPPING
84
+ ]
85
+
86
+ OAPI_PROPERTIES = {
87
+
88
+ # Enabled by default, but for inputType Script we can disable it as well. <br/> Possible values are:<br/> false <br/> true
89
+ # @!attribute enabled
90
+ # @return [Boolean]
91
+ enabled: {
92
+ class: :boolean
93
+ },
94
+
95
+ # Category in which to display the extension attribute in Jamf Pro.
96
+ # @!attribute inventoryDisplayType
97
+ # @return [String]
98
+ inventoryDisplayType: {
99
+ class: :string,
100
+ required: true,
101
+ enum: INVENTORY_DISPLAY_TYPE_OPTIONS
102
+ },
103
+
104
+ # Extension attributes collect inventory data by using an input type.The type of the Input used to populate the extension attribute.
105
+ # @!attribute inputType
106
+ # @return [String]
107
+ inputType: {
108
+ class: :string,
109
+ required: true,
110
+ enum: INPUT_TYPE_OPTIONS
111
+ },
112
+
113
+ # When we run this script it returns a data value each time a computer submits inventory to Jamf Pro. Provide scriptContents only when inputType is 'SCRIPT'.
114
+ # @!attribute scriptContents
115
+ # @return [String]
116
+ scriptContents: {
117
+ class: :string,
118
+ nil_ok: true
119
+ },
120
+
121
+ # When added with list of choices while creating computer extension attributes these Pop-up menu can be displayed in inventory information. User can choose a value from the pop-up menu list when enrolling a computer any time using Jamf Pro. Provide popupMenuChoices only when inputType is 'POPUP'.
122
+ # @!attribute popupMenuChoices
123
+ # @return [Array<String>]
124
+ popupMenuChoices: {
125
+ class: :string,
126
+ multi: true,
127
+ min_items: 0
128
+ },
129
+
130
+ # Directory Service attribute use to populate the extension attribute. <br/> Required when inputType is "DIRECTORY_SERVICE_ATTRIBUTE_MAPPING"
131
+ # @!attribute ldapAttributeMapping
132
+ # @return [String]
133
+ ldapAttributeMapping: {
134
+ class: :string
135
+ },
136
+
137
+ # Collect multiple values for this extension attribute. ldapExtensionAttributeAllowed is disabled by default, only for inputType 'DIRECTORY_SERVICE_ATTRIBUTE_MAPPING' it can be enabled. It's value cannot be modified during edit operation.<br/> Possible values are:<br/> false <br/> true <br/>
138
+ # @!attribute ldapExtensionAttributeAllowed
139
+ # @return [Boolean]
140
+ ldapExtensionAttributeAllowed: {
141
+ class: :boolean
142
+ }
143
+ }.merge(Jamf::OAPISchemas::ExtensionAttributes::OAPI_PROPERTIES) # end OAPI_PROPERTIES
144
+
145
+ end # class ComputerExtensionAttributes
146
+
147
+ end # module OAPISchemas
148
+
149
+ end # module Jamf
@@ -0,0 +1,114 @@
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: ExtensionAttributes
34
+ #
35
+ #
36
+ #
37
+ # This class was automatically generated from the api/schema
38
+ # URL path on a Jamf Pro server version 11.9.2-t1726753918
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
+ #
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 ExtensionAttributes < Jamf::OAPIObject
64
+
65
+ # Enums used by this class or others
66
+
67
+ DATA_TYPE_OPTIONS = [
68
+ 'INTEGER',
69
+ 'STRING',
70
+ 'DATE'
71
+ ]
72
+
73
+ OAPI_PROPERTIES = {
74
+
75
+ # Unique Id for Computer Extension Attribute.
76
+ # @!attribute [r] id
77
+ # @return [String]
78
+ id: {
79
+ class: :j_id,
80
+ identifier: :primary,
81
+ readonly: true
82
+ },
83
+
84
+ # Display name for the extension attribute.
85
+ # @!attribute name
86
+ # @return [String]
87
+ name: {
88
+ class: :string,
89
+ required: true
90
+ },
91
+
92
+ # Description for the extension attribute.
93
+ # @!attribute description
94
+ # @return [String]
95
+ description: {
96
+ class: :string
97
+ },
98
+
99
+ # Type of data being collected.
100
+ # @!attribute dataType
101
+ # @return [String]
102
+ dataType: {
103
+ class: :string,
104
+ required: true,
105
+ enum: DATA_TYPE_OPTIONS
106
+ }
107
+
108
+ } # end OAPI_PROPERTIES
109
+
110
+ end # class ExtensionAttributes
111
+
112
+ end # module OAPISchemas
113
+
114
+ end # module Jamf
@@ -0,0 +1,125 @@
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: JamfProtectPlan
34
+ #
35
+ #
36
+ #
37
+ # This class was automatically generated from the api/schema
38
+ # URL path on a Jamf Pro server version 11.9.2-t1726753918
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::PlanSearchResults
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 JamfProtectPlan < Jamf::OAPIObject
64
+
65
+
66
+
67
+ OAPI_PROPERTIES = {
68
+
69
+ # @!attribute [r] uuid
70
+ # @return [String]
71
+ uuid: {
72
+ class: :string,
73
+ readonly: true
74
+ },
75
+
76
+ # @!attribute [r] id
77
+ # @return [String]
78
+ id: {
79
+ class: :j_id,
80
+ identifier: :primary,
81
+ readonly: true
82
+ },
83
+
84
+ # @!attribute [r] name
85
+ # @return [String]
86
+ name: {
87
+ class: :string,
88
+ readonly: true
89
+ },
90
+
91
+ # @!attribute [r] description
92
+ # @return [String]
93
+ description: {
94
+ class: :string,
95
+ readonly: true
96
+ },
97
+
98
+ # @!attribute [r] profileId
99
+ # @return [Integer]
100
+ profileId: {
101
+ class: :integer,
102
+ readonly: true
103
+ },
104
+
105
+ # @!attribute [r] profileName
106
+ # @return [String]
107
+ profileName: {
108
+ class: :string,
109
+ readonly: true
110
+ },
111
+
112
+ # @!attribute [r] scopeDescription
113
+ # @return [String]
114
+ scopeDescription: {
115
+ class: :string,
116
+ readonly: true
117
+ }
118
+
119
+ } # end OAPI_PROPERTIES
120
+
121
+ end # class JamfProtectPlan
122
+
123
+ end # module OAPISchemas
124
+
125
+ end # module Jamf
@@ -0,0 +1,125 @@
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: MobileDeviceExtensionAttribute
34
+ #
35
+ #
36
+ #
37
+ # This class was automatically generated from the api/schema
38
+ # URL path on a Jamf Pro server version 11.9.2-t1726753918
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::MobileDeviceGeneral
52
+ # - Jamf::OAPISchemas::MobileDeviceHardware
53
+ # - Jamf::OAPISchemas::MobileDeviceInventory
54
+ # - Jamf::OAPISchemas::MobileDevicePurchasing
55
+ # - Jamf::OAPISchemas::MobileDeviceUserAndLocation
56
+ #
57
+ # Sub Objects:
58
+ # Other object models used by this model's attributes.
59
+ #
60
+ #
61
+ # Endpoints and Privileges:
62
+ # API endpoints and HTTP operations that use this object
63
+ # model, and the Jamf Pro privileges needed to access them.
64
+ #
65
+ #
66
+ #
67
+ class MobileDeviceExtensionAttribute < Jamf::OAPIObject
68
+
69
+ # Enums used by this class or others
70
+
71
+ TYPE_OPTIONS = [
72
+ 'STRING',
73
+ 'INTEGER',
74
+ 'DATE'
75
+ ]
76
+
77
+ OAPI_PROPERTIES = {
78
+
79
+ # @!attribute [r] id
80
+ # @return [String]
81
+ id: {
82
+ class: :j_id,
83
+ identifier: :primary,
84
+ readonly: true
85
+ },
86
+
87
+ # @!attribute name
88
+ # @return [String]
89
+ name: {
90
+ class: :string
91
+ },
92
+
93
+ # @!attribute type
94
+ # @return [String]
95
+ type: {
96
+ class: :string,
97
+ enum: TYPE_OPTIONS
98
+ },
99
+
100
+ # @!attribute value
101
+ # @return [Array<String>]
102
+ value: {
103
+ class: :string,
104
+ multi: true
105
+ },
106
+
107
+ # @!attribute extensionAttributeCollectionAllowed
108
+ # @return [Boolean]
109
+ extensionAttributeCollectionAllowed: {
110
+ class: :boolean
111
+ },
112
+
113
+ # @!attribute inventoryDisplay
114
+ # @return [String]
115
+ inventoryDisplay: {
116
+ class: :string
117
+ }
118
+
119
+ } # end OAPI_PROPERTIES
120
+
121
+ end # class MobileDeviceExtensionAttribute
122
+
123
+ end # module OAPISchemas
124
+
125
+ end # module Jamf