ruby-jss 1.2.3 → 1.2.4a1

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 (103) hide show
  1. checksums.yaml +4 -4
  2. data/lib/jamf.rb +169 -0
  3. data/lib/jamf/api/abstract_classes/collection_resource.rb +422 -0
  4. data/lib/jamf/api/abstract_classes/generic_reference.rb +145 -0
  5. data/lib/jamf/api/abstract_classes/json_object.rb +1074 -0
  6. data/lib/jamf/api/abstract_classes/prestage.rb +219 -0
  7. data/lib/jamf/api/abstract_classes/prestage_skip_setup_items.rb +126 -0
  8. data/lib/jamf/api/abstract_classes/resource.rb +250 -0
  9. data/lib/jamf/api/abstract_classes/singleton_resource.rb +87 -0
  10. data/lib/jamf/api/attribute_classes/ip_address.rb +66 -0
  11. data/lib/jamf/api/attribute_classes/timestamp.rb +144 -0
  12. data/lib/jamf/api/connection.rb +734 -0
  13. data/lib/jamf/api/connection/api_error.rb +111 -0
  14. data/lib/jamf/api/connection/api_error_styleguide.rb +96 -0
  15. data/lib/jamf/api/connection/token.rb +220 -0
  16. data/lib/jamf/api/json_objects/account_prefs.rb +79 -0
  17. data/lib/jamf/api/json_objects/android_details.rb +139 -0
  18. data/lib/jamf/api/json_objects/appletv_details.rb +110 -0
  19. data/lib/jamf/api/json_objects/attachment.rb +68 -0
  20. data/lib/jamf/api/json_objects/cellular_network.rb +151 -0
  21. data/lib/jamf/api/json_objects/change_log_entry.rb +77 -0
  22. data/lib/jamf/api/json_objects/computer_prestage_skip_setup_items.rb +67 -0
  23. data/lib/jamf/api/json_objects/country.rb +51 -0
  24. data/lib/jamf/api/json_objects/extension_attribute_value.rb +128 -0
  25. data/lib/jamf/api/json_objects/installed_application.rb +59 -0
  26. data/lib/jamf/api/json_objects/installed_certificate.rb +53 -0
  27. data/lib/jamf/api/json_objects/installed_configuration_profile.rb +67 -0
  28. data/lib/jamf/api/json_objects/installed_ebook.rb +58 -0
  29. data/lib/jamf/api/json_objects/installed_provisioning_profile.rb +59 -0
  30. data/lib/jamf/api/json_objects/inventory_preload_extension_attribute.rb +52 -0
  31. data/lib/jamf/api/json_objects/ios_details.rb +244 -0
  32. data/lib/jamf/api/json_objects/location.rb +95 -0
  33. data/lib/jamf/api/json_objects/md_prestage_name.rb +57 -0
  34. data/lib/jamf/api/json_objects/md_prestage_names.rb +82 -0
  35. data/lib/jamf/api/json_objects/md_prestage_skip_setup_items.rb +165 -0
  36. data/lib/jamf/api/json_objects/mobile_device_details.rb +219 -0
  37. data/lib/jamf/api/json_objects/mobile_device_security.rb +101 -0
  38. data/lib/jamf/api/json_objects/prestage_assignment.rb +61 -0
  39. data/lib/jamf/api/json_objects/prestage_location.rb +104 -0
  40. data/lib/jamf/api/json_objects/prestage_purchasing_data.rb +132 -0
  41. data/lib/jamf/api/json_objects/prestage_scope.rb +54 -0
  42. data/lib/jamf/api/json_objects/prestage_sync_status.rb +63 -0
  43. data/lib/jamf/api/json_objects/purchasing_data.rb +125 -0
  44. data/lib/jamf/api/mixins/abstract.rb +58 -0
  45. data/lib/jamf/api/mixins/bulk_deletable.rb +39 -0
  46. data/lib/jamf/api/mixins/change_log.rb +136 -0
  47. data/lib/jamf/api/mixins/extendable.rb +75 -0
  48. data/lib/jamf/api/mixins/immutable.rb +39 -0
  49. data/lib/jamf/api/mixins/locatable.rb +124 -0
  50. data/lib/jamf/api/mixins/lockable.rb +48 -0
  51. data/lib/jamf/api/mixins/referable.rb +92 -0
  52. data/lib/jamf/api/mixins/searchable.rb +202 -0
  53. data/lib/jamf/api/mixins/uncreatable.rb +40 -0
  54. data/lib/jamf/api/mixins/undeletable.rb +40 -0
  55. data/lib/jamf/api/resources/collection_resources/account.rb +163 -0
  56. data/lib/jamf/api/resources/collection_resources/building.rb +114 -0
  57. data/lib/jamf/api/resources/collection_resources/category.rb +82 -0
  58. data/lib/jamf/api/resources/collection_resources/computer.rb +49 -0
  59. data/lib/jamf/api/resources/collection_resources/computer_prestage.rb +80 -0
  60. data/lib/jamf/api/resources/collection_resources/department.rb +79 -0
  61. data/lib/jamf/api/resources/collection_resources/extension_attribute.rb +45 -0
  62. data/lib/jamf/api/resources/collection_resources/inventory_preload_record.rb +274 -0
  63. data/lib/jamf/api/resources/collection_resources/md_prestage.rb +139 -0
  64. data/lib/jamf/api/resources/collection_resources/mobile_device.rb +315 -0
  65. data/lib/jamf/api/resources/collection_resources/script.rb +190 -0
  66. data/lib/jamf/api/resources/collection_resources/site.rb +77 -0
  67. data/lib/jamf/api/resources/singleton_resources/app_store_country_codes.rb +131 -0
  68. data/lib/jamf/api/resources/singleton_resources/authorization.rb +88 -0
  69. data/lib/jamf/api/resources/singleton_resources/client_checkin_settings.rb +139 -0
  70. data/lib/jamf/api/resources/singleton_resources/reenrollment_settings.rb +95 -0
  71. data/lib/jamf/client.rb +301 -0
  72. data/lib/jamf/client/jamf_binary.rb +132 -0
  73. data/lib/jamf/client/jamf_helper.rb +298 -0
  74. data/lib/jamf/client/management_action.rb +114 -0
  75. data/lib/jamf/compatibility.rb +88 -0
  76. data/lib/jamf/composer.rb +190 -0
  77. data/lib/jamf/configuration.rb +281 -0
  78. data/lib/jamf/exceptions.rb +107 -0
  79. data/lib/jamf/ruby_extensions.rb +36 -0
  80. data/lib/jamf/ruby_extensions/array.rb +35 -0
  81. data/lib/jamf/ruby_extensions/array/predicates.rb +46 -0
  82. data/lib/jamf/ruby_extensions/array/utils.rb +47 -0
  83. data/lib/jamf/ruby_extensions/filetest.rb +32 -0
  84. data/lib/jamf/ruby_extensions/filetest/predicates.rb +46 -0
  85. data/lib/jamf/ruby_extensions/hash.rb +33 -0
  86. data/lib/jamf/ruby_extensions/hash/backports.rb +92 -0
  87. data/lib/jamf/ruby_extensions/ipaddr.rb +37 -0
  88. data/lib/jamf/ruby_extensions/ipaddr/utils.rb +95 -0
  89. data/lib/jamf/ruby_extensions/object.rb +30 -0
  90. data/lib/jamf/ruby_extensions/object/predicates.rb +51 -0
  91. data/lib/jamf/ruby_extensions/pathname.rb +39 -0
  92. data/lib/jamf/ruby_extensions/pathname/predicates.rb +50 -0
  93. data/lib/jamf/ruby_extensions/pathname/utils.rb +75 -0
  94. data/lib/jamf/ruby_extensions/string.rb +35 -0
  95. data/lib/jamf/ruby_extensions/string/backports.rb +66 -0
  96. data/lib/jamf/ruby_extensions/string/conversions.rb +65 -0
  97. data/lib/jamf/ruby_extensions/string/predicates.rb +47 -0
  98. data/lib/jamf/utility.rb +423 -0
  99. data/lib/jamf/validate.rb +224 -0
  100. data/lib/jamf/version.rb +32 -0
  101. data/lib/jpapi.rb +26 -0
  102. data/lib/jss/version.rb +1 -1
  103. metadata +104 -4
@@ -0,0 +1,77 @@
1
+ # Copyright 2019 Pixar
2
+
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "Apache License")
5
+ # with the following modification; you may not use this file except in
6
+ # compliance with the Apache License and the following modification to it:
7
+ # Section 6. Trademarks. is deleted and replaced with:
8
+ #
9
+ # 6. Trademarks. This License does not grant permission to use the trade
10
+ # names, trademarks, service marks, or product names of the Licensor
11
+ # and its affiliates, except as required to comply with Section 4(c) of
12
+ # the License and to reproduce the content of the NOTICE file.
13
+ #
14
+ # You may obtain a copy of the Apache License at
15
+ #
16
+ # http://www.apache.org/licenses/LICENSE-2.0
17
+ #
18
+ # Unless required by applicable law or agreed to in writing, software
19
+ # distributed under the Apache License with the above modification is
20
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ # KIND, either express or implied. See the Apache License for the specific
22
+ # language governing permissions and limitations under the Apache License.
23
+
24
+ module Jamf
25
+
26
+ # A single entry in a resource's change history.
27
+ # This class is read-only
28
+ #
29
+ class ChangeLogEntry < Jamf::JSONObject
30
+
31
+ extend Jamf::Immutable
32
+
33
+ OBJECT_MODEL = {
34
+
35
+ # @!attribute [r] id
36
+ # @return [String] The Jamf Pro user who made the change or note.
37
+ id: {
38
+ class: :integer,
39
+ readonly: true
40
+ },
41
+
42
+ # @!attribute [r] username
43
+ # @return [String] The Jamf Pro user who made the change or note.
44
+ username: {
45
+ class: :string,
46
+ readonly: true
47
+ },
48
+
49
+ # @!attribute [r] date
50
+ # @return [Jamf::Timestamp] When the change was made
51
+ date: {
52
+ class: Jamf::Timestamp,
53
+ readonly: true
54
+ },
55
+
56
+ # @!attribute [r] notes
57
+ # @return [String] Notes entered manually or via the API.
58
+ note: {
59
+ class: :string,
60
+ readonly: true
61
+ },
62
+
63
+ # @!attribute [r] details
64
+ # @return [String] Details of the change
65
+ details: {
66
+ class: :string,
67
+ readonly: true
68
+ }
69
+ }.freeze
70
+
71
+ # Must call parse_object_model to turn the OBJECT_MODEL into
72
+ # attributes
73
+ parse_object_model
74
+
75
+ end # class
76
+
77
+ end # module
@@ -0,0 +1,67 @@
1
+ # Copyright 2019 Pixar
2
+
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "Apache License")
5
+ # with the following modification; you may not use this file except in
6
+ # compliance with the Apache License and the following modification to it:
7
+ # Section 6. Trademarks. is deleted and replaced with:
8
+ #
9
+ # 6. Trademarks. This License does not grant permission to use the trade
10
+ # names, trademarks, service marks, or product names of the Licensor
11
+ # and its affiliates, except as required to comply with Section 4(c) of
12
+ # the License and to reproduce the content of the NOTICE file.
13
+ #
14
+ # You may obtain a copy of the Apache License at
15
+ #
16
+ # http://www.apache.org/licenses/LICENSE-2.0
17
+ #
18
+ # Unless required by applicable law or agreed to in writing, software
19
+ # distributed under the Apache License with the above modification is
20
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ # KIND, either express or implied. See the Apache License for the specific
22
+ # language governing permissions and limitations under the Apache License.
23
+ #
24
+ #
25
+
26
+ # The module
27
+ module Jamf
28
+
29
+ # A 'location' for a computer prestage in Jamf Pro
30
+ class ComputerPrestageSkipSetupItems < Jamf::PrestageSkipSetupItems
31
+
32
+ OBJECT_MODEL = superclass::OBJECT_MODEL.merge(
33
+
34
+ # @!attribute FileVault
35
+ # @return [Boolean]
36
+ FileVault: {
37
+ class: :boolean,
38
+ aliases: %i[filevault]
39
+ },
40
+
41
+ # @!attribute iCloudDiagnostics
42
+ # @return [Boolean]
43
+ iCloudDiagnostics: {
44
+ class: :boolean,
45
+ aliases: %i[iclouddiagnostics icloud_diagnostics]
46
+ },
47
+
48
+ # @!attribute iCloudStorage
49
+ # @return [Boolean]
50
+ iCloudStorage: {
51
+ class: :boolean,
52
+ aliases: %i[icloudstorage icloud_storage]
53
+ },
54
+
55
+ # @!attribute Registration
56
+ # @return [Boolean]
57
+ Registration: {
58
+ class: :boolean,
59
+ aliases: %i[registration]
60
+ }
61
+ ).freeze
62
+
63
+ parse_object_model
64
+
65
+ end # class location
66
+
67
+ end # module
@@ -0,0 +1,51 @@
1
+ # Copyright 2019 Pixar
2
+
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "Apache License")
5
+ # with the following modification; you may not use this file except in
6
+ # compliance with the Apache License and the following modification to it:
7
+ # Section 6. Trademarks. is deleted and replaced with:
8
+ #
9
+ # 6. Trademarks. This License does not grant permission to use the trade
10
+ # names, trademarks, service marks, or product names of the Licensor
11
+ # and its affiliates, except as required to comply with Section 4(c) of
12
+ # the License and to reproduce the content of the NOTICE file.
13
+ #
14
+ # You may obtain a copy of the Apache License at
15
+ #
16
+ # http://www.apache.org/licenses/LICENSE-2.0
17
+ #
18
+ # Unless required by applicable law or agreed to in writing, software
19
+ # distributed under the Apache License with the above modification is
20
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ # KIND, either express or implied. See the Apache License for the specific
22
+ # language governing permissions and limitations under the Apache License.
23
+ #
24
+ #
25
+
26
+ # The module
27
+ module Jamf
28
+
29
+ # A 'location' for a managed object in Jamf Pro
30
+ class Country < Jamf::JSONObject
31
+
32
+ OBJECT_MODEL = {
33
+
34
+ # @!attribute code [r]
35
+ # @return [String] the country code
36
+ code: {
37
+ class: :string
38
+ },
39
+
40
+ # @!attribute name [r]
41
+ # @return [String] the country name
42
+ name: {
43
+ class: :string
44
+ }
45
+ }.freeze
46
+
47
+ parse_object_model
48
+
49
+ end # class Country
50
+
51
+ end # module
@@ -0,0 +1,128 @@
1
+ # Copyright 2019 Pixar
2
+
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "Apache License")
5
+ # with the following modification; you may not use this file except in
6
+ # compliance with the Apache License and the following modification to it:
7
+ # Section 6. Trademarks. is deleted and replaced with:
8
+ #
9
+ # 6. Trademarks. This License does not grant permission to use the trade
10
+ # names, trademarks, service marks, or product names of the Licensor
11
+ # and its affiliates, except as required to comply with Section 4(c) of
12
+ # the License and to reproduce the content of the NOTICE file.
13
+ #
14
+ # You may obtain a copy of the Apache License at
15
+ #
16
+ # http://www.apache.org/licenses/LICENSE-2.0
17
+ #
18
+ # Unless required by applicable law or agreed to in writing, software
19
+ # distributed under the Apache License with the above modification is
20
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ # KIND, either express or implied. See the Apache License for the specific
22
+ # language governing permissions and limitations under the Apache License.
23
+ #
24
+ #
25
+
26
+ # The module
27
+ module Jamf
28
+
29
+ # An extension attribute in Jamf Pro
30
+ class ExtensionAttributeValue < Jamf::JSONObject
31
+
32
+ OBJECT_MODEL = {
33
+
34
+ # @!attribute [r] id
35
+ # The id of the attribute defining this value
36
+ # @return [Integer]
37
+ id: {
38
+ class: :integer,
39
+ readonly: true
40
+ },
41
+
42
+ # @!attribute [r] name
43
+ # The name of the attribute defining this value
44
+ # @return [String]
45
+ name: {
46
+ class: :string,
47
+ readonly: true
48
+ },
49
+
50
+ # @!attribute [r] type
51
+ # The value_type of this value
52
+ # @return [String]
53
+ type: {
54
+ class: :string,
55
+ enum: Jamf::ExtensionAttribute::VALUE_TYPES,
56
+ readonly: true
57
+ },
58
+
59
+ # @!attribute [r] value
60
+ # The value stored for this managed object for this ext attr
61
+ # Settable via #new_value=
62
+ # @return [String]
63
+ value: {
64
+ class: :string,
65
+ readonly: true # settable via Extendable#set_ext_attr
66
+ }
67
+
68
+ }.freeze
69
+ parse_object_model
70
+
71
+ # TODO: The WebApp doesn't seem to support enforcement of Data types..
72
+ # I can enter any string as a DATE ea, an that string comes through as the
73
+ # value.
74
+ #
75
+
76
+ def initialize(data, cnx: Jamf.cnx)
77
+ super
78
+ return if @value.nil?
79
+ @value =
80
+ case @type
81
+ when :integer
82
+ @value.j_integer? ? @value.to_i : "INVALID INTEGER: #{@value}"
83
+ when :date
84
+ Jamf::TimeStamp.new @value, cnx: cnx
85
+ else
86
+ @value
87
+ end # case
88
+ end # init
89
+
90
+ # setter for values. Usually called by
91
+ # Extendable#set_ext_attr
92
+ def new_value=(new_val)
93
+
94
+ # nil unsets the value
95
+ unless new_val.nil?
96
+ new_val =
97
+ case @type
98
+ when :integer
99
+ Jamf::Validate.integer new_val, "Value for ext. attr. #{@name} must be an integer"
100
+ when :date
101
+ validate_date new_val
102
+ else
103
+ new_val.to_s
104
+ end # case
105
+ end # unless nil
106
+
107
+ old_val = @value
108
+ return if old_val == new_val
109
+ @value = new_val
110
+ note_unsaved_change(:value, old_val)
111
+ end
112
+
113
+ # the to_jamf in JSONObject would skip all these
114
+ # cuz they are read-only
115
+ # but we need them here.
116
+ def to_jamf
117
+ return unless unsaved_changes?
118
+
119
+ new_val = @type == :date ? @value.to_jamf : @value.to_s
120
+ {
121
+ id: @id,
122
+ value: new_val
123
+ }
124
+ end
125
+
126
+ end # class ext attr
127
+
128
+ end # module
@@ -0,0 +1,59 @@
1
+ # Copyright 2019 Pixar
2
+
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "Apache License")
5
+ # with the following modification; you may not use this file except in
6
+ # compliance with the Apache License and the following modification to it:
7
+ # Section 6. Trademarks. is deleted and replaced with:
8
+ #
9
+ # 6. Trademarks. This License does not grant permission to use the trade
10
+ # names, trademarks, service marks, or product names of the Licensor
11
+ # and its affiliates, except as required to comply with Section 4(c) of
12
+ # the License and to reproduce the content of the NOTICE file.
13
+ #
14
+ # You may obtain a copy of the Apache License at
15
+ #
16
+ # http://www.apache.org/licenses/LICENSE-2.0
17
+ #
18
+ # Unless required by applicable law or agreed to in writing, software
19
+ # distributed under the Apache License with the above modification is
20
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ # KIND, either express or implied. See the Apache License for the specific
22
+ # language governing permissions and limitations under the Apache License.
23
+ #
24
+ #
25
+
26
+ # The module
27
+ module Jamf
28
+
29
+ # An installed application on a device
30
+ class InstalledApplication < Jamf::JSONObject
31
+
32
+ OBJECT_MODEL = {
33
+
34
+ # @!attribute [r] identifier
35
+ # @return [String]
36
+ identifier: {
37
+ class: :string,
38
+ readonly: true
39
+ },
40
+
41
+ # @!attribute [r] name
42
+ # @return [String]
43
+ name: {
44
+ class: :string,
45
+ readonly: true
46
+ },
47
+
48
+ # @!attribute [r] version
49
+ # @return [String]
50
+ version: {
51
+ class: :string,
52
+ readonly: true
53
+ }
54
+ }.freeze
55
+ parse_object_model
56
+
57
+ end # class Mobile Device security
58
+
59
+ end # module
@@ -0,0 +1,53 @@
1
+ # Copyright 2019 Pixar
2
+
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "Apache License")
5
+ # with the following modification; you may not use this file except in
6
+ # compliance with the Apache License and the following modification to it:
7
+ # Section 6. Trademarks. is deleted and replaced with:
8
+ #
9
+ # 6. Trademarks. This License does not grant permission to use the trade
10
+ # names, trademarks, service marks, or product names of the Licensor
11
+ # and its affiliates, except as required to comply with Section 4(c) of
12
+ # the License and to reproduce the content of the NOTICE file.
13
+ #
14
+ # You may obtain a copy of the Apache License at
15
+ #
16
+ # http://www.apache.org/licenses/LICENSE-2.0
17
+ #
18
+ # Unless required by applicable law or agreed to in writing, software
19
+ # distributed under the Apache License with the above modification is
20
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ # KIND, either express or implied. See the Apache License for the specific
22
+ # language governing permissions and limitations under the Apache License.
23
+ #
24
+ #
25
+
26
+ # The module
27
+ module Jamf
28
+
29
+ # A certificate installed on a device
30
+ class InstalledCertificate < Jamf::JSONObject
31
+
32
+ OBJECT_MODEL = {
33
+
34
+ # @!attribute [r] commonName
35
+ # @return [String]
36
+ commonName: {
37
+ class: :string,
38
+ readonly: true
39
+ },
40
+
41
+ # @!attribute [r] isIdentity
42
+ # @return [Boolean]
43
+ isIdentity: {
44
+ class: :boolean,
45
+ readonly: true
46
+ }
47
+
48
+ }.freeze
49
+ parse_object_model
50
+
51
+ end # class Mobile Device security
52
+
53
+ end # module
@@ -0,0 +1,67 @@
1
+ # Copyright 2019 Pixar
2
+
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "Apache License")
5
+ # with the following modification; you may not use this file except in
6
+ # compliance with the Apache License and the following modification to it:
7
+ # Section 6. Trademarks. is deleted and replaced with:
8
+ #
9
+ # 6. Trademarks. This License does not grant permission to use the trade
10
+ # names, trademarks, service marks, or product names of the Licensor
11
+ # and its affiliates, except as required to comply with Section 4(c) of
12
+ # the License and to reproduce the content of the NOTICE file.
13
+ #
14
+ # You may obtain a copy of the Apache License at
15
+ #
16
+ # http://www.apache.org/licenses/LICENSE-2.0
17
+ #
18
+ # Unless required by applicable law or agreed to in writing, software
19
+ # distributed under the Apache License with the above modification is
20
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
+ # KIND, either express or implied. See the Apache License for the specific
22
+ # language governing permissions and limitations under the Apache License.
23
+ #
24
+ #
25
+
26
+ # The module
27
+ module Jamf
28
+
29
+ # a config profile installed on a device
30
+ class InstalledConfigurationProfile < Jamf::JSONObject
31
+
32
+ OBJECT_MODEL = {
33
+
34
+ # @!attribute [r] displayName
35
+ # @return [String]
36
+ displayName: {
37
+ class: :string,
38
+ readonly: true
39
+ },
40
+
41
+ # @!attribute [r] version
42
+ # @return [String]
43
+ version: {
44
+ class: :string,
45
+ readonly: true
46
+ },
47
+
48
+ # @!attribute [r] uuid
49
+ # @return [String]
50
+ uuid: {
51
+ class: :string,
52
+ readonly: true
53
+ },
54
+
55
+ # @!attribute [r] identifier
56
+ # @return [String]
57
+ identifier: {
58
+ class: :string,
59
+ readonly: true
60
+ }
61
+
62
+ }.freeze
63
+ parse_object_model
64
+
65
+ end # class Mobile Device security
66
+
67
+ end # module