losant_rest 1.9.1 → 1.10.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE +1 -1
  3. data/README.md +1 -1
  4. data/docs/_schemas.md +41608 -19945
  5. data/docs/application.md +168 -4
  6. data/docs/applicationTemplates.md +50 -0
  7. data/docs/applications.md +46 -0
  8. data/docs/auth.md +72 -0
  9. data/docs/device.md +1 -0
  10. data/docs/devices.md +89 -2
  11. data/docs/experienceEndpoint.md +43 -0
  12. data/docs/experienceEndpoints.md +1 -1
  13. data/docs/experienceView.md +43 -0
  14. data/lib/losant_rest.rb +2 -1
  15. data/lib/losant_rest/application.rb +144 -5
  16. data/lib/losant_rest/application_api_token.rb +1 -1
  17. data/lib/losant_rest/application_api_tokens.rb +1 -1
  18. data/lib/losant_rest/application_certificate.rb +1 -1
  19. data/lib/losant_rest/application_certificate_authorities.rb +1 -1
  20. data/lib/losant_rest/application_certificate_authority.rb +1 -1
  21. data/lib/losant_rest/application_certificates.rb +1 -1
  22. data/lib/losant_rest/application_key.rb +1 -1
  23. data/lib/losant_rest/application_keys.rb +1 -1
  24. data/lib/losant_rest/application_templates.rb +88 -0
  25. data/lib/losant_rest/applications.rb +1 -1
  26. data/lib/losant_rest/audit_log.rb +1 -1
  27. data/lib/losant_rest/audit_logs.rb +1 -1
  28. data/lib/losant_rest/auth.rb +85 -1
  29. data/lib/losant_rest/client.rb +7 -3
  30. data/lib/losant_rest/dashboard.rb +1 -1
  31. data/lib/losant_rest/dashboards.rb +1 -1
  32. data/lib/losant_rest/data.rb +1 -1
  33. data/lib/losant_rest/data_table.rb +1 -1
  34. data/lib/losant_rest/data_table_row.rb +1 -1
  35. data/lib/losant_rest/data_table_rows.rb +1 -1
  36. data/lib/losant_rest/data_tables.rb +1 -1
  37. data/lib/losant_rest/device.rb +3 -1
  38. data/lib/losant_rest/device_recipe.rb +1 -1
  39. data/lib/losant_rest/device_recipes.rb +1 -1
  40. data/lib/losant_rest/devices.rb +105 -3
  41. data/lib/losant_rest/edge_deployments.rb +1 -1
  42. data/lib/losant_rest/error.rb +1 -1
  43. data/lib/losant_rest/event.rb +1 -1
  44. data/lib/losant_rest/events.rb +1 -1
  45. data/lib/losant_rest/experience.rb +1 -1
  46. data/lib/losant_rest/experience_domain.rb +1 -1
  47. data/lib/losant_rest/experience_domains.rb +1 -1
  48. data/lib/losant_rest/experience_endpoint.rb +51 -1
  49. data/lib/losant_rest/experience_endpoints.rb +1 -1
  50. data/lib/losant_rest/experience_group.rb +1 -1
  51. data/lib/losant_rest/experience_groups.rb +1 -1
  52. data/lib/losant_rest/experience_slug.rb +1 -1
  53. data/lib/losant_rest/experience_slugs.rb +1 -1
  54. data/lib/losant_rest/experience_user.rb +1 -1
  55. data/lib/losant_rest/experience_users.rb +1 -1
  56. data/lib/losant_rest/experience_version.rb +1 -1
  57. data/lib/losant_rest/experience_versions.rb +1 -1
  58. data/lib/losant_rest/experience_view.rb +51 -1
  59. data/lib/losant_rest/experience_views.rb +1 -1
  60. data/lib/losant_rest/file.rb +1 -1
  61. data/lib/losant_rest/files.rb +1 -1
  62. data/lib/losant_rest/flow.rb +1 -1
  63. data/lib/losant_rest/flow_version.rb +1 -1
  64. data/lib/losant_rest/flow_versions.rb +1 -1
  65. data/lib/losant_rest/flows.rb +1 -1
  66. data/lib/losant_rest/integration.rb +1 -1
  67. data/lib/losant_rest/integrations.rb +1 -1
  68. data/lib/losant_rest/me.rb +1 -1
  69. data/lib/losant_rest/notebook.rb +1 -1
  70. data/lib/losant_rest/notebooks.rb +1 -1
  71. data/lib/losant_rest/org.rb +1 -1
  72. data/lib/losant_rest/org_invites.rb +1 -1
  73. data/lib/losant_rest/orgs.rb +1 -1
  74. data/lib/losant_rest/utils.rb +1 -1
  75. data/lib/losant_rest/version.rb +2 -2
  76. data/lib/losant_rest/webhook.rb +1 -1
  77. data/lib/losant_rest/webhooks.rb +1 -1
  78. data/schemas/advancedDeviceQuery.json +1018 -0
  79. data/schemas/advancedEventQuery.json +382 -13
  80. data/schemas/advancedQuery.json +37 -3
  81. data/schemas/application.json +10 -5
  82. data/schemas/applicationApiTokenPost.json +6 -0
  83. data/schemas/applicationCertificate.json +34 -0
  84. data/schemas/applicationCertificatePatch.json +34 -0
  85. data/schemas/applicationCertificatePost.json +34 -0
  86. data/schemas/applicationCertificates.json +34 -0
  87. data/schemas/{applicationCloneResult.json → applicationCreationByTemplateResult.json} +21 -8
  88. data/schemas/applicationExportPost.json +24 -0
  89. data/schemas/applicationExportResult.json +10 -0
  90. data/schemas/applicationKey.json +34 -0
  91. data/schemas/applicationKeyPatch.json +34 -0
  92. data/schemas/applicationKeyPost.json +34 -0
  93. data/schemas/applicationKeyPostResponse.json +34 -0
  94. data/schemas/applicationKeys.json +34 -0
  95. data/schemas/applicationPatch.json +10 -5
  96. data/schemas/applicationPost.json +14 -5
  97. data/schemas/applicationReadme.json +29 -0
  98. data/schemas/applicationReadmePatch.json +11 -0
  99. data/schemas/applicationTemplate.json +99 -0
  100. data/schemas/applicationTemplates.json +140 -0
  101. data/schemas/applications.json +10 -5
  102. data/schemas/authedDevice.json +34 -0
  103. data/schemas/dashboard.json +1228 -144
  104. data/schemas/dashboardPatch.json +1228 -144
  105. data/schemas/dashboardPost.json +1228 -144
  106. data/schemas/dashboards.json +1228 -144
  107. data/schemas/dataExport.json +11 -0
  108. data/schemas/dataTableRows.json +3 -0
  109. data/schemas/dataTableRowsExport.json +37 -3
  110. data/schemas/device.json +16 -3
  111. data/schemas/devicePatch.json +16 -3
  112. data/schemas/devicePost.json +16 -3
  113. data/schemas/deviceRecipe.json +16 -3
  114. data/schemas/deviceRecipePatch.json +16 -3
  115. data/schemas/deviceRecipePost.json +16 -3
  116. data/schemas/deviceRecipes.json +16 -3
  117. data/schemas/devices.json +19 -3
  118. data/schemas/devicesDataRemoved.json +12 -0
  119. data/schemas/devicesDeletePost.json +1034 -0
  120. data/schemas/devicesDeleted.json +12 -0
  121. data/schemas/devicesExportPost.json +1035 -0
  122. data/schemas/devicesPatch.json +1773 -7
  123. data/schemas/devicesRemoveDataPost.json +1056 -0
  124. data/schemas/devicesUpdated.json +18 -0
  125. data/schemas/events.json +1 -816
  126. data/schemas/eventsExport.json +382 -13
  127. data/schemas/experienceGroup.json +7 -0
  128. data/schemas/experienceGroupPatch.json +7 -0
  129. data/schemas/experienceGroupPost.json +7 -0
  130. data/schemas/experienceGroups.json +7 -0
  131. data/schemas/experienceLinkedResources.json +6659 -0
  132. data/schemas/flow.json +103 -1
  133. data/schemas/flowPatch.json +103 -1
  134. data/schemas/flowPost.json +103 -1
  135. data/schemas/flowVersion.json +206 -2
  136. data/schemas/flowVersionPost.json +103 -1
  137. data/schemas/flowVersions.json +206 -2
  138. data/schemas/flows.json +103 -1
  139. data/schemas/flowsImportPost.json +206 -2
  140. data/schemas/flowsImportResult.json +309 -3
  141. data/schemas/githubLogin.json +9 -0
  142. data/schemas/integration.json +4 -4
  143. data/schemas/integrationPatch.json +4 -4
  144. data/schemas/integrationPost.json +4 -4
  145. data/schemas/integrations.json +4 -4
  146. data/schemas/{applicationCloneEnqueued.json → jobEnqueuedResult.json} +0 -0
  147. data/schemas/me.json +3 -0
  148. data/schemas/multiDeviceCommand.json +1019 -0
  149. data/schemas/notebook.json +207 -35
  150. data/schemas/notebookDataExportOptions.json +4 -0
  151. data/schemas/notebookExecutionLogs.json +4 -0
  152. data/schemas/notebookExecutionOptions.json +4 -0
  153. data/schemas/notebookPatch.json +207 -35
  154. data/schemas/notebookPost.json +207 -35
  155. data/schemas/notebooks.json +207 -35
  156. data/schemas/org.json +8 -0
  157. data/schemas/orgPatch.json +9 -0
  158. data/schemas/orgs.json +8 -0
  159. data/schemas/samlResponse.json +21 -0
  160. data/schemas/ssoRequest.json +20 -0
  161. data/schemas/timeSeriesData.json +91 -12
  162. data/schemas/timeSeriesQuery.json +21 -12
  163. data/schemas/userCredentials.json +9 -0
  164. data/schemas/userPost.json +9 -0
  165. data/schemas/{validationCloneErrors.json → validationErrors.json} +9 -2
  166. metadata +24 -7
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -125,6 +125,56 @@ module LosantRest
125
125
  body: body)
126
126
  end
127
127
 
128
+ # Retrieves information on resources linked to an experience endpoint
129
+ #
130
+ # Authentication:
131
+ # The client must be configured with a valid api
132
+ # access token to call this action. The token
133
+ # must include at least one of the following scopes:
134
+ # all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, experienceEndpoint.*, or experienceEndpoint.linkedResources.
135
+ #
136
+ # Parameters:
137
+ # * {string} applicationId - ID associated with the application
138
+ # * {string} experienceEndpointId - ID associated with the experience endpoint
139
+ # * {string} version - Version of this experience endpoint to query
140
+ # * {string} includeCustomNodes - If the result of the request should also include the details of any custom nodes referenced by returned workflows
141
+ # * {string} losantdomain - Domain scope of request (rarely needed)
142
+ # * {boolean} _actions - Return resource actions in response
143
+ # * {boolean} _links - Return resource link in response
144
+ # * {boolean} _embedded - Return embedded resources in response
145
+ #
146
+ # Responses:
147
+ # * 200 - Linked resource information (https://api.losant.com/#/definitions/experienceLinkedResources)
148
+ #
149
+ # Errors:
150
+ # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
151
+ # * 404 - Error if experience endpoint was not found (https://api.losant.com/#/definitions/error)
152
+ def linked_resources(params = {})
153
+ params = Utils.symbolize_hash_keys(params)
154
+ query_params = { _actions: false, _links: true, _embedded: true }
155
+ headers = {}
156
+ body = nil
157
+
158
+ raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)
159
+ raise ArgumentError.new("experienceEndpointId is required") unless params.has_key?(:experienceEndpointId)
160
+
161
+ query_params[:version] = params[:version] if params.has_key?(:version)
162
+ query_params[:includeCustomNodes] = params[:includeCustomNodes] if params.has_key?(:includeCustomNodes)
163
+ headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
164
+ query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
165
+ query_params[:_links] = params[:_links] if params.has_key?(:_links)
166
+ query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
167
+
168
+ path = "/applications/#{params[:applicationId]}/experience/endpoints/#{params[:experienceEndpointId]}/linkedResources"
169
+
170
+ @client.request(
171
+ method: :get,
172
+ path: path,
173
+ query: query_params,
174
+ headers: headers,
175
+ body: body)
176
+ end
177
+
128
178
  # Updates information about an experience endpoint
129
179
  #
130
180
  # Authentication:
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -125,6 +125,56 @@ module LosantRest
125
125
  body: body)
126
126
  end
127
127
 
128
+ # Retrieves information on resources linked to an experience view
129
+ #
130
+ # Authentication:
131
+ # The client must be configured with a valid api
132
+ # access token to call this action. The token
133
+ # must include at least one of the following scopes:
134
+ # all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, experienceView.*, or experienceView.linkedResources.
135
+ #
136
+ # Parameters:
137
+ # * {string} applicationId - ID associated with the application
138
+ # * {string} experienceViewId - ID associated with the experience view
139
+ # * {string} version - Version of this experience view to query
140
+ # * {string} includeCustomNodes - If the result of the request should also include the details of any custom nodes referenced by returned workflows
141
+ # * {string} losantdomain - Domain scope of request (rarely needed)
142
+ # * {boolean} _actions - Return resource actions in response
143
+ # * {boolean} _links - Return resource link in response
144
+ # * {boolean} _embedded - Return embedded resources in response
145
+ #
146
+ # Responses:
147
+ # * 200 - Linked resource information (https://api.losant.com/#/definitions/experienceLinkedResources)
148
+ #
149
+ # Errors:
150
+ # * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
151
+ # * 404 - Error if experience view was not found (https://api.losant.com/#/definitions/error)
152
+ def linked_resources(params = {})
153
+ params = Utils.symbolize_hash_keys(params)
154
+ query_params = { _actions: false, _links: true, _embedded: true }
155
+ headers = {}
156
+ body = nil
157
+
158
+ raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)
159
+ raise ArgumentError.new("experienceViewId is required") unless params.has_key?(:experienceViewId)
160
+
161
+ query_params[:version] = params[:version] if params.has_key?(:version)
162
+ query_params[:includeCustomNodes] = params[:includeCustomNodes] if params.has_key?(:includeCustomNodes)
163
+ headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
164
+ query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
165
+ query_params[:_links] = params[:_links] if params.has_key?(:_links)
166
+ query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
167
+
168
+ path = "/applications/#{params[:applicationId]}/experience/views/#{params[:experienceViewId]}/linkedResources"
169
+
170
+ @client.request(
171
+ method: :get,
172
+ path: path,
173
+ query: query_params,
174
+ headers: headers,
175
+ body: body)
176
+ end
177
+
128
178
  # Updates information about an experience view
129
179
  #
130
180
  # Authentication:
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -21,5 +21,5 @@
21
21
  # SOFTWARE.
22
22
 
23
23
  module LosantRest
24
- VERSION = "1.9.1"
24
+ VERSION = "1.10.2"
25
25
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
  #
3
- # Copyright (c) 2019 Losant IoT, Inc.
3
+ # Copyright (c) 2020 Losant IoT, Inc.
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the "Software"), to deal
@@ -0,0 +1,1018 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "$and": {
6
+ "type": "array",
7
+ "items": {
8
+ "$ref": "#/definitions/advancedDeviceQuery"
9
+ },
10
+ "maxItems": 100
11
+ },
12
+ "$or": {
13
+ "type": "array",
14
+ "items": {
15
+ "$ref": "#/definitions/advancedDeviceQuery"
16
+ },
17
+ "maxItems": 100
18
+ },
19
+ "$nor": {
20
+ "type": "array",
21
+ "items": {
22
+ "$ref": "#/definitions/advancedDeviceQuery"
23
+ },
24
+ "maxItems": 100
25
+ },
26
+ "id": {
27
+ "oneOf": [
28
+ {
29
+ "oneOf": [
30
+ {
31
+ "type": "string",
32
+ "pattern": "^[A-Fa-f\\d]{24}$"
33
+ },
34
+ {
35
+ "type": "null"
36
+ }
37
+ ]
38
+ },
39
+ {
40
+ "type": "object",
41
+ "properties": {
42
+ "$eq": {
43
+ "oneOf": [
44
+ {
45
+ "type": "string",
46
+ "pattern": "^[A-Fa-f\\d]{24}$"
47
+ },
48
+ {
49
+ "type": "null"
50
+ }
51
+ ]
52
+ },
53
+ "$ne": {
54
+ "oneOf": [
55
+ {
56
+ "type": "string",
57
+ "pattern": "^[A-Fa-f\\d]{24}$"
58
+ },
59
+ {
60
+ "type": "null"
61
+ }
62
+ ]
63
+ },
64
+ "$in": {
65
+ "type": "array",
66
+ "maxItems": 100,
67
+ "items": {
68
+ "type": "string",
69
+ "pattern": "^[A-Fa-f\\d]{24}$"
70
+ }
71
+ },
72
+ "$nin": {
73
+ "type": "array",
74
+ "maxItems": 100,
75
+ "items": {
76
+ "type": "string",
77
+ "pattern": "^[A-Fa-f\\d]{24}$"
78
+ }
79
+ }
80
+ },
81
+ "additionalProperties": false,
82
+ "minProperties": 1,
83
+ "maxProperties": 1
84
+ }
85
+ ]
86
+ },
87
+ "creationDate": {
88
+ "oneOf": [
89
+ {
90
+ "type": [
91
+ "string",
92
+ "number",
93
+ "boolean",
94
+ "null"
95
+ ]
96
+ },
97
+ {
98
+ "type": "object",
99
+ "properties": {
100
+ "$eq": {
101
+ "type": [
102
+ "string",
103
+ "number",
104
+ "boolean",
105
+ "null"
106
+ ]
107
+ },
108
+ "$ne": {
109
+ "type": [
110
+ "string",
111
+ "number",
112
+ "boolean",
113
+ "null"
114
+ ]
115
+ },
116
+ "$gt": {
117
+ "type": [
118
+ "string",
119
+ "number",
120
+ "boolean",
121
+ "null"
122
+ ]
123
+ },
124
+ "$lt": {
125
+ "type": [
126
+ "string",
127
+ "number",
128
+ "boolean",
129
+ "null"
130
+ ]
131
+ },
132
+ "$gte": {
133
+ "type": [
134
+ "string",
135
+ "number",
136
+ "boolean",
137
+ "null"
138
+ ]
139
+ },
140
+ "$lte": {
141
+ "type": [
142
+ "string",
143
+ "number",
144
+ "boolean",
145
+ "null"
146
+ ]
147
+ },
148
+ "$startsWith": {
149
+ "type": "string",
150
+ "minLength": 1
151
+ },
152
+ "$endsWith": {
153
+ "type": "string",
154
+ "minLength": 1
155
+ },
156
+ "$contains": {
157
+ "type": "string",
158
+ "minLength": 1
159
+ },
160
+ "$ci": {
161
+ "type": "boolean"
162
+ },
163
+ "$in": {
164
+ "type": "array",
165
+ "maxItems": 100,
166
+ "items": {
167
+ "type": [
168
+ "string",
169
+ "number",
170
+ "boolean"
171
+ ]
172
+ }
173
+ },
174
+ "$nin": {
175
+ "type": "array",
176
+ "maxItems": 100,
177
+ "items": {
178
+ "type": [
179
+ "string",
180
+ "number",
181
+ "boolean"
182
+ ]
183
+ }
184
+ }
185
+ },
186
+ "additionalProperties": false
187
+ }
188
+ ]
189
+ },
190
+ "lastUpdated": {
191
+ "oneOf": [
192
+ {
193
+ "type": [
194
+ "string",
195
+ "number",
196
+ "boolean",
197
+ "null"
198
+ ]
199
+ },
200
+ {
201
+ "type": "object",
202
+ "properties": {
203
+ "$eq": {
204
+ "type": [
205
+ "string",
206
+ "number",
207
+ "boolean",
208
+ "null"
209
+ ]
210
+ },
211
+ "$ne": {
212
+ "type": [
213
+ "string",
214
+ "number",
215
+ "boolean",
216
+ "null"
217
+ ]
218
+ },
219
+ "$gt": {
220
+ "type": [
221
+ "string",
222
+ "number",
223
+ "boolean",
224
+ "null"
225
+ ]
226
+ },
227
+ "$lt": {
228
+ "type": [
229
+ "string",
230
+ "number",
231
+ "boolean",
232
+ "null"
233
+ ]
234
+ },
235
+ "$gte": {
236
+ "type": [
237
+ "string",
238
+ "number",
239
+ "boolean",
240
+ "null"
241
+ ]
242
+ },
243
+ "$lte": {
244
+ "type": [
245
+ "string",
246
+ "number",
247
+ "boolean",
248
+ "null"
249
+ ]
250
+ },
251
+ "$startsWith": {
252
+ "type": "string",
253
+ "minLength": 1
254
+ },
255
+ "$endsWith": {
256
+ "type": "string",
257
+ "minLength": 1
258
+ },
259
+ "$contains": {
260
+ "type": "string",
261
+ "minLength": 1
262
+ },
263
+ "$ci": {
264
+ "type": "boolean"
265
+ },
266
+ "$in": {
267
+ "type": "array",
268
+ "maxItems": 100,
269
+ "items": {
270
+ "type": [
271
+ "string",
272
+ "number",
273
+ "boolean"
274
+ ]
275
+ }
276
+ },
277
+ "$nin": {
278
+ "type": "array",
279
+ "maxItems": 100,
280
+ "items": {
281
+ "type": [
282
+ "string",
283
+ "number",
284
+ "boolean"
285
+ ]
286
+ }
287
+ }
288
+ },
289
+ "additionalProperties": false
290
+ }
291
+ ]
292
+ },
293
+ "name": {
294
+ "oneOf": [
295
+ {
296
+ "type": [
297
+ "string",
298
+ "number",
299
+ "boolean",
300
+ "null"
301
+ ]
302
+ },
303
+ {
304
+ "type": "object",
305
+ "properties": {
306
+ "$eq": {
307
+ "type": [
308
+ "string",
309
+ "number",
310
+ "boolean",
311
+ "null"
312
+ ]
313
+ },
314
+ "$ne": {
315
+ "type": [
316
+ "string",
317
+ "number",
318
+ "boolean",
319
+ "null"
320
+ ]
321
+ },
322
+ "$gt": {
323
+ "type": [
324
+ "string",
325
+ "number",
326
+ "boolean",
327
+ "null"
328
+ ]
329
+ },
330
+ "$lt": {
331
+ "type": [
332
+ "string",
333
+ "number",
334
+ "boolean",
335
+ "null"
336
+ ]
337
+ },
338
+ "$gte": {
339
+ "type": [
340
+ "string",
341
+ "number",
342
+ "boolean",
343
+ "null"
344
+ ]
345
+ },
346
+ "$lte": {
347
+ "type": [
348
+ "string",
349
+ "number",
350
+ "boolean",
351
+ "null"
352
+ ]
353
+ },
354
+ "$startsWith": {
355
+ "type": "string",
356
+ "minLength": 1
357
+ },
358
+ "$endsWith": {
359
+ "type": "string",
360
+ "minLength": 1
361
+ },
362
+ "$contains": {
363
+ "type": "string",
364
+ "minLength": 1
365
+ },
366
+ "$ci": {
367
+ "type": "boolean"
368
+ },
369
+ "$in": {
370
+ "type": "array",
371
+ "maxItems": 100,
372
+ "items": {
373
+ "type": [
374
+ "string",
375
+ "number",
376
+ "boolean"
377
+ ]
378
+ }
379
+ },
380
+ "$nin": {
381
+ "type": "array",
382
+ "maxItems": 100,
383
+ "items": {
384
+ "type": [
385
+ "string",
386
+ "number",
387
+ "boolean"
388
+ ]
389
+ }
390
+ }
391
+ },
392
+ "additionalProperties": false
393
+ }
394
+ ]
395
+ },
396
+ "deviceClass": {
397
+ "oneOf": [
398
+ {
399
+ "type": [
400
+ "string",
401
+ "number",
402
+ "boolean",
403
+ "null"
404
+ ]
405
+ },
406
+ {
407
+ "type": "object",
408
+ "properties": {
409
+ "$eq": {
410
+ "type": [
411
+ "string",
412
+ "number",
413
+ "boolean",
414
+ "null"
415
+ ]
416
+ },
417
+ "$ne": {
418
+ "type": [
419
+ "string",
420
+ "number",
421
+ "boolean",
422
+ "null"
423
+ ]
424
+ },
425
+ "$gt": {
426
+ "type": [
427
+ "string",
428
+ "number",
429
+ "boolean",
430
+ "null"
431
+ ]
432
+ },
433
+ "$lt": {
434
+ "type": [
435
+ "string",
436
+ "number",
437
+ "boolean",
438
+ "null"
439
+ ]
440
+ },
441
+ "$gte": {
442
+ "type": [
443
+ "string",
444
+ "number",
445
+ "boolean",
446
+ "null"
447
+ ]
448
+ },
449
+ "$lte": {
450
+ "type": [
451
+ "string",
452
+ "number",
453
+ "boolean",
454
+ "null"
455
+ ]
456
+ },
457
+ "$startsWith": {
458
+ "type": "string",
459
+ "minLength": 1
460
+ },
461
+ "$endsWith": {
462
+ "type": "string",
463
+ "minLength": 1
464
+ },
465
+ "$contains": {
466
+ "type": "string",
467
+ "minLength": 1
468
+ },
469
+ "$ci": {
470
+ "type": "boolean"
471
+ },
472
+ "$in": {
473
+ "type": "array",
474
+ "maxItems": 100,
475
+ "items": {
476
+ "type": [
477
+ "string",
478
+ "number",
479
+ "boolean"
480
+ ]
481
+ }
482
+ },
483
+ "$nin": {
484
+ "type": "array",
485
+ "maxItems": 100,
486
+ "items": {
487
+ "type": [
488
+ "string",
489
+ "number",
490
+ "boolean"
491
+ ]
492
+ }
493
+ }
494
+ },
495
+ "additionalProperties": false
496
+ }
497
+ ]
498
+ },
499
+ "gatewayId": {
500
+ "oneOf": [
501
+ {
502
+ "oneOf": [
503
+ {
504
+ "type": "string",
505
+ "pattern": "^[A-Fa-f\\d]{24}$"
506
+ },
507
+ {
508
+ "type": "null"
509
+ }
510
+ ]
511
+ },
512
+ {
513
+ "type": "object",
514
+ "properties": {
515
+ "$eq": {
516
+ "oneOf": [
517
+ {
518
+ "type": "string",
519
+ "pattern": "^[A-Fa-f\\d]{24}$"
520
+ },
521
+ {
522
+ "type": "null"
523
+ }
524
+ ]
525
+ },
526
+ "$ne": {
527
+ "oneOf": [
528
+ {
529
+ "type": "string",
530
+ "pattern": "^[A-Fa-f\\d]{24}$"
531
+ },
532
+ {
533
+ "type": "null"
534
+ }
535
+ ]
536
+ },
537
+ "$in": {
538
+ "type": "array",
539
+ "maxItems": 100,
540
+ "items": {
541
+ "type": "string",
542
+ "pattern": "^[A-Fa-f\\d]{24}$"
543
+ }
544
+ },
545
+ "$nin": {
546
+ "type": "array",
547
+ "maxItems": 100,
548
+ "items": {
549
+ "type": "string",
550
+ "pattern": "^[A-Fa-f\\d]{24}$"
551
+ }
552
+ }
553
+ },
554
+ "additionalProperties": false,
555
+ "minProperties": 1,
556
+ "maxProperties": 1
557
+ }
558
+ ]
559
+ },
560
+ "parentId": {
561
+ "oneOf": [
562
+ {
563
+ "oneOf": [
564
+ {
565
+ "type": "string",
566
+ "pattern": "^[A-Fa-f\\d]{24}$"
567
+ },
568
+ {
569
+ "type": "null"
570
+ }
571
+ ]
572
+ },
573
+ {
574
+ "type": "object",
575
+ "properties": {
576
+ "$eq": {
577
+ "oneOf": [
578
+ {
579
+ "type": "string",
580
+ "pattern": "^[A-Fa-f\\d]{24}$"
581
+ },
582
+ {
583
+ "type": "null"
584
+ }
585
+ ]
586
+ },
587
+ "$ne": {
588
+ "oneOf": [
589
+ {
590
+ "type": "string",
591
+ "pattern": "^[A-Fa-f\\d]{24}$"
592
+ },
593
+ {
594
+ "type": "null"
595
+ }
596
+ ]
597
+ },
598
+ "$in": {
599
+ "type": "array",
600
+ "maxItems": 100,
601
+ "items": {
602
+ "type": "string",
603
+ "pattern": "^[A-Fa-f\\d]{24}$"
604
+ }
605
+ },
606
+ "$nin": {
607
+ "type": "array",
608
+ "maxItems": 100,
609
+ "items": {
610
+ "type": "string",
611
+ "pattern": "^[A-Fa-f\\d]{24}$"
612
+ }
613
+ }
614
+ },
615
+ "additionalProperties": false,
616
+ "minProperties": 1,
617
+ "maxProperties": 1
618
+ }
619
+ ]
620
+ },
621
+ "ancestorId": {
622
+ "oneOf": [
623
+ {
624
+ "oneOf": [
625
+ {
626
+ "type": "string",
627
+ "pattern": "^[A-Fa-f\\d]{24}$"
628
+ },
629
+ {
630
+ "type": "null"
631
+ }
632
+ ]
633
+ },
634
+ {
635
+ "type": "object",
636
+ "properties": {
637
+ "$eq": {
638
+ "oneOf": [
639
+ {
640
+ "type": "string",
641
+ "pattern": "^[A-Fa-f\\d]{24}$"
642
+ },
643
+ {
644
+ "type": "null"
645
+ }
646
+ ]
647
+ },
648
+ "$ne": {
649
+ "oneOf": [
650
+ {
651
+ "type": "string",
652
+ "pattern": "^[A-Fa-f\\d]{24}$"
653
+ },
654
+ {
655
+ "type": "null"
656
+ }
657
+ ]
658
+ },
659
+ "$in": {
660
+ "type": "array",
661
+ "maxItems": 100,
662
+ "items": {
663
+ "type": "string",
664
+ "pattern": "^[A-Fa-f\\d]{24}$"
665
+ }
666
+ },
667
+ "$nin": {
668
+ "type": "array",
669
+ "maxItems": 100,
670
+ "items": {
671
+ "type": "string",
672
+ "pattern": "^[A-Fa-f\\d]{24}$"
673
+ }
674
+ }
675
+ },
676
+ "additionalProperties": false,
677
+ "minProperties": 1,
678
+ "maxProperties": 1
679
+ }
680
+ ]
681
+ },
682
+ "attributeName": {
683
+ "oneOf": [
684
+ {
685
+ "type": [
686
+ "string",
687
+ "number",
688
+ "boolean",
689
+ "null"
690
+ ]
691
+ },
692
+ {
693
+ "type": "object",
694
+ "properties": {
695
+ "$eq": {
696
+ "type": [
697
+ "string",
698
+ "number",
699
+ "boolean",
700
+ "null"
701
+ ]
702
+ },
703
+ "$ne": {
704
+ "type": [
705
+ "string",
706
+ "number",
707
+ "boolean",
708
+ "null"
709
+ ]
710
+ },
711
+ "$gt": {
712
+ "type": [
713
+ "string",
714
+ "number",
715
+ "boolean",
716
+ "null"
717
+ ]
718
+ },
719
+ "$lt": {
720
+ "type": [
721
+ "string",
722
+ "number",
723
+ "boolean",
724
+ "null"
725
+ ]
726
+ },
727
+ "$gte": {
728
+ "type": [
729
+ "string",
730
+ "number",
731
+ "boolean",
732
+ "null"
733
+ ]
734
+ },
735
+ "$lte": {
736
+ "type": [
737
+ "string",
738
+ "number",
739
+ "boolean",
740
+ "null"
741
+ ]
742
+ },
743
+ "$startsWith": {
744
+ "type": "string",
745
+ "minLength": 1
746
+ },
747
+ "$endsWith": {
748
+ "type": "string",
749
+ "minLength": 1
750
+ },
751
+ "$contains": {
752
+ "type": "string",
753
+ "minLength": 1
754
+ },
755
+ "$ci": {
756
+ "type": "boolean"
757
+ },
758
+ "$in": {
759
+ "type": "array",
760
+ "maxItems": 100,
761
+ "items": {
762
+ "type": [
763
+ "string",
764
+ "number",
765
+ "boolean"
766
+ ]
767
+ }
768
+ },
769
+ "$nin": {
770
+ "type": "array",
771
+ "maxItems": 100,
772
+ "items": {
773
+ "type": [
774
+ "string",
775
+ "number",
776
+ "boolean"
777
+ ]
778
+ }
779
+ }
780
+ },
781
+ "additionalProperties": false
782
+ }
783
+ ]
784
+ },
785
+ "experienceUserId": {
786
+ "oneOf": [
787
+ {
788
+ "oneOf": [
789
+ {
790
+ "type": "string",
791
+ "pattern": "^[A-Fa-f\\d]{24}$"
792
+ },
793
+ {
794
+ "type": "null"
795
+ }
796
+ ]
797
+ },
798
+ {
799
+ "type": "object",
800
+ "properties": {
801
+ "$eq": {
802
+ "oneOf": [
803
+ {
804
+ "type": "string",
805
+ "pattern": "^[A-Fa-f\\d]{24}$"
806
+ },
807
+ {
808
+ "type": "null"
809
+ }
810
+ ]
811
+ },
812
+ "$ne": {
813
+ "oneOf": [
814
+ {
815
+ "type": "string",
816
+ "pattern": "^[A-Fa-f\\d]{24}$"
817
+ },
818
+ {
819
+ "type": "null"
820
+ }
821
+ ]
822
+ },
823
+ "$in": {
824
+ "type": "array",
825
+ "maxItems": 100,
826
+ "items": {
827
+ "type": "string",
828
+ "pattern": "^[A-Fa-f\\d]{24}$"
829
+ }
830
+ },
831
+ "$nin": {
832
+ "type": "array",
833
+ "maxItems": 100,
834
+ "items": {
835
+ "type": "string",
836
+ "pattern": "^[A-Fa-f\\d]{24}$"
837
+ }
838
+ }
839
+ },
840
+ "additionalProperties": false,
841
+ "minProperties": 1,
842
+ "maxProperties": 1
843
+ }
844
+ ]
845
+ },
846
+ "experienceGroupId": {
847
+ "oneOf": [
848
+ {
849
+ "oneOf": [
850
+ {
851
+ "type": "string",
852
+ "pattern": "^[A-Fa-f\\d]{24}$"
853
+ },
854
+ {
855
+ "type": "null"
856
+ }
857
+ ]
858
+ },
859
+ {
860
+ "type": "object",
861
+ "properties": {
862
+ "$eq": {
863
+ "oneOf": [
864
+ {
865
+ "type": "string",
866
+ "pattern": "^[A-Fa-f\\d]{24}$"
867
+ },
868
+ {
869
+ "type": "null"
870
+ }
871
+ ]
872
+ },
873
+ "$ne": {
874
+ "oneOf": [
875
+ {
876
+ "type": "string",
877
+ "pattern": "^[A-Fa-f\\d]{24}$"
878
+ },
879
+ {
880
+ "type": "null"
881
+ }
882
+ ]
883
+ },
884
+ "$in": {
885
+ "type": "array",
886
+ "maxItems": 100,
887
+ "items": {
888
+ "type": "string",
889
+ "pattern": "^[A-Fa-f\\d]{24}$"
890
+ }
891
+ },
892
+ "$nin": {
893
+ "type": "array",
894
+ "maxItems": 100,
895
+ "items": {
896
+ "type": "string",
897
+ "pattern": "^[A-Fa-f\\d]{24}$"
898
+ }
899
+ }
900
+ },
901
+ "additionalProperties": false,
902
+ "minProperties": 1,
903
+ "maxProperties": 1
904
+ }
905
+ ]
906
+ },
907
+ "tags": {
908
+ "oneOf": [
909
+ {
910
+ "oneOf": [
911
+ {
912
+ "type": "object",
913
+ "properties": {
914
+ "$tagKey": {
915
+ "type": "string",
916
+ "maxLength": 255
917
+ },
918
+ "$tagValue": {
919
+ "type": "string",
920
+ "maxLength": 255
921
+ }
922
+ },
923
+ "additionalProperties": false,
924
+ "minProperties": 1
925
+ },
926
+ {
927
+ "type": "object",
928
+ "patternProperties": {
929
+ "^[0-9a-zA-Z_-]{1,255}": {
930
+ "type": "string",
931
+ "maxLength": 255
932
+ }
933
+ },
934
+ "additionalProperties": false
935
+ }
936
+ ]
937
+ },
938
+ {
939
+ "type": "object",
940
+ "properties": {
941
+ "$eq": {
942
+ "oneOf": [
943
+ {
944
+ "type": "object",
945
+ "properties": {
946
+ "$tagKey": {
947
+ "type": "string",
948
+ "maxLength": 255
949
+ },
950
+ "$tagValue": {
951
+ "type": "string",
952
+ "maxLength": 255
953
+ }
954
+ },
955
+ "additionalProperties": false,
956
+ "minProperties": 1
957
+ },
958
+ {
959
+ "type": "object",
960
+ "patternProperties": {
961
+ "^[0-9a-zA-Z_-]{1,255}": {
962
+ "type": "string",
963
+ "maxLength": 255
964
+ }
965
+ },
966
+ "additionalProperties": false
967
+ }
968
+ ]
969
+ }
970
+ },
971
+ "required": [
972
+ "$eq"
973
+ ],
974
+ "additionalProperties": false
975
+ },
976
+ {
977
+ "type": "object",
978
+ "properties": {
979
+ "$ne": {
980
+ "oneOf": [
981
+ {
982
+ "type": "object",
983
+ "properties": {
984
+ "$tagKey": {
985
+ "type": "string",
986
+ "maxLength": 255
987
+ },
988
+ "$tagValue": {
989
+ "type": "string",
990
+ "maxLength": 255
991
+ }
992
+ },
993
+ "additionalProperties": false,
994
+ "minProperties": 1
995
+ },
996
+ {
997
+ "type": "object",
998
+ "patternProperties": {
999
+ "^[0-9a-zA-Z_-]{1,255}": {
1000
+ "type": "string",
1001
+ "maxLength": 255
1002
+ }
1003
+ },
1004
+ "additionalProperties": false
1005
+ }
1006
+ ]
1007
+ }
1008
+ },
1009
+ "required": [
1010
+ "$ne"
1011
+ ],
1012
+ "additionalProperties": false
1013
+ }
1014
+ ]
1015
+ }
1016
+ },
1017
+ "additionalProperties": false
1018
+ }