xbim_identity 2.0.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 (103) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +174 -0
  4. data/Rakefile +10 -0
  5. data/lib/xbim_identity/api/authentication_api.rb +118 -0
  6. data/lib/xbim_identity/api/client_applications_api.rb +315 -0
  7. data/lib/xbim_identity/api/invitations_api.rb +489 -0
  8. data/lib/xbim_identity/api/me_api.rb +148 -0
  9. data/lib/xbim_identity/api/members_api.rb +406 -0
  10. data/lib/xbim_identity/api/registration_api.rb +85 -0
  11. data/lib/xbim_identity/api/tenants_api.rb +709 -0
  12. data/lib/xbim_identity/api/users_api.rb +308 -0
  13. data/lib/xbim_identity/api_client.rb +390 -0
  14. data/lib/xbim_identity/api_error.rb +57 -0
  15. data/lib/xbim_identity/configuration.rb +278 -0
  16. data/lib/xbim_identity/models/application_type.rb +39 -0
  17. data/lib/xbim_identity/models/client_app.rb +351 -0
  18. data/lib/xbim_identity/models/client_app_endpoint.rb +239 -0
  19. data/lib/xbim_identity/models/draft_invitation.rb +379 -0
  20. data/lib/xbim_identity/models/invitation.rb +379 -0
  21. data/lib/xbim_identity/models/invitation_create.rb +253 -0
  22. data/lib/xbim_identity/models/invitation_edit.rb +239 -0
  23. data/lib/xbim_identity/models/invite_status.rb +41 -0
  24. data/lib/xbim_identity/models/master.rb +331 -0
  25. data/lib/xbim_identity/models/master_base.rb +243 -0
  26. data/lib/xbim_identity/models/master_subscription.rb +323 -0
  27. data/lib/xbim_identity/models/o_data_boolean.rb +230 -0
  28. data/lib/xbim_identity/models/o_data_client_app_endpoint_list.rb +252 -0
  29. data/lib/xbim_identity/models/o_data_client_app_list.rb +252 -0
  30. data/lib/xbim_identity/models/o_data_invitation_list.rb +252 -0
  31. data/lib/xbim_identity/models/o_data_string.rb +230 -0
  32. data/lib/xbim_identity/models/o_data_tenant_list.rb +252 -0
  33. data/lib/xbim_identity/models/o_data_tenant_user_list.rb +252 -0
  34. data/lib/xbim_identity/models/o_data_user_list.rb +252 -0
  35. data/lib/xbim_identity/models/problem_details.rb +259 -0
  36. data/lib/xbim_identity/models/region.rb +280 -0
  37. data/lib/xbim_identity/models/region_info.rb +256 -0
  38. data/lib/xbim_identity/models/subscription.rb +309 -0
  39. data/lib/xbim_identity/models/team_member_create.rb +229 -0
  40. data/lib/xbim_identity/models/team_member_edit.rb +219 -0
  41. data/lib/xbim_identity/models/tenancy_type.rb +38 -0
  42. data/lib/xbim_identity/models/tenant.rb +383 -0
  43. data/lib/xbim_identity/models/tenant_create.rb +267 -0
  44. data/lib/xbim_identity/models/tenant_edit.rb +229 -0
  45. data/lib/xbim_identity/models/tenant_role.rb +39 -0
  46. data/lib/xbim_identity/models/tenant_user.rb +299 -0
  47. data/lib/xbim_identity/models/token_err_response.rb +219 -0
  48. data/lib/xbim_identity/models/token_response.rb +259 -0
  49. data/lib/xbim_identity/models/user.rb +261 -0
  50. data/lib/xbim_identity/models/user_create.rb +247 -0
  51. data/lib/xbim_identity/models/user_tenant.rb +279 -0
  52. data/lib/xbim_identity/version.rb +15 -0
  53. data/lib/xbim_identity.rb +83 -0
  54. data/spec/api/authentication_api_spec.rb +52 -0
  55. data/spec/api/client_applications_api_spec.rb +101 -0
  56. data/spec/api/invitations_api_spec.rb +130 -0
  57. data/spec/api/me_api_spec.rb +61 -0
  58. data/spec/api/members_api_spec.rb +113 -0
  59. data/spec/api/registration_api_spec.rb +48 -0
  60. data/spec/api/tenants_api_spec.rb +176 -0
  61. data/spec/api/users_api_spec.rb +95 -0
  62. data/spec/api_client_spec.rb +226 -0
  63. data/spec/configuration_spec.rb +42 -0
  64. data/spec/models/application_type_spec.rb +28 -0
  65. data/spec/models/client_app_endpoint_spec.rb +46 -0
  66. data/spec/models/client_app_spec.rb +112 -0
  67. data/spec/models/draft_invitation_spec.rb +130 -0
  68. data/spec/models/invitation_create_spec.rb +52 -0
  69. data/spec/models/invitation_edit_spec.rb +46 -0
  70. data/spec/models/invitation_spec.rb +130 -0
  71. data/spec/models/invite_status_spec.rb +28 -0
  72. data/spec/models/master_base_spec.rb +46 -0
  73. data/spec/models/master_spec.rb +94 -0
  74. data/spec/models/master_subscription_spec.rb +94 -0
  75. data/spec/models/o_data_boolean_spec.rb +40 -0
  76. data/spec/models/o_data_client_app_endpoint_list_spec.rb +52 -0
  77. data/spec/models/o_data_client_app_list_spec.rb +52 -0
  78. data/spec/models/o_data_invitation_list_spec.rb +52 -0
  79. data/spec/models/o_data_string_spec.rb +40 -0
  80. data/spec/models/o_data_tenant_list_spec.rb +52 -0
  81. data/spec/models/o_data_tenant_user_list_spec.rb +52 -0
  82. data/spec/models/o_data_user_list_spec.rb +52 -0
  83. data/spec/models/problem_details_spec.rb +58 -0
  84. data/spec/models/region_info_spec.rb +46 -0
  85. data/spec/models/region_spec.rb +58 -0
  86. data/spec/models/subscription_spec.rb +88 -0
  87. data/spec/models/team_member_create_spec.rb +40 -0
  88. data/spec/models/team_member_edit_spec.rb +34 -0
  89. data/spec/models/tenancy_type_spec.rb +28 -0
  90. data/spec/models/tenant_create_spec.rb +58 -0
  91. data/spec/models/tenant_edit_spec.rb +40 -0
  92. data/spec/models/tenant_role_spec.rb +28 -0
  93. data/spec/models/tenant_spec.rb +130 -0
  94. data/spec/models/tenant_user_spec.rb +82 -0
  95. data/spec/models/token_err_response_spec.rb +34 -0
  96. data/spec/models/token_response_spec.rb +58 -0
  97. data/spec/models/user_create_spec.rb +46 -0
  98. data/spec/models/user_spec.rb +58 -0
  99. data/spec/models/user_tenant_spec.rb +70 -0
  100. data/spec/spec_helper.rb +111 -0
  101. data/xbim_identity-1.0.0.gem +0 -0
  102. data/xbim_identity.gemspec +38 -0
  103. metadata +184 -0
@@ -0,0 +1,709 @@
1
+ =begin
2
+ #Xbim Flex Identity API 2.0
3
+
4
+ #Communication centralised around construction data
5
+
6
+ The version of the OpenAPI document: 2.0
7
+ Contact: info@xbim.net
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.4.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module XbimIdentity
16
+ class TenantsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Gets the specified Tenant by its unique identifier
23
+ # <span style='font-size: 17px;'>Summary:</span>Gets the specified Tenant by its unique identifier.<br/>Return Type: <b>Tenant</b><br/><br/>
24
+ # @param identifier [String] The Tenant identifier.
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 5.
27
+ # @option opts [String] :select Limits the properties returned in the result.
28
+ # @return [Tenant]
29
+ def get_tenant_by_identifier(identifier, opts = {})
30
+ data, _status_code, _headers = get_tenant_by_identifier_with_http_info(identifier, opts)
31
+ data
32
+ end
33
+
34
+ # Gets the specified Tenant by its unique identifier
35
+ # &lt;span style&#x3D;&#39;font-size: 17px;&#39;&gt;Summary:&lt;/span&gt;Gets the specified Tenant by its unique identifier.&lt;br/&gt;Return Type: &lt;b&gt;Tenant&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;
36
+ # @param identifier [String] The Tenant identifier.
37
+ # @param [Hash] opts the optional parameters
38
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 5.
39
+ # @option opts [String] :select Limits the properties returned in the result.
40
+ # @return [Array<(Tenant, Integer, Hash)>] Tenant data, response status code and response headers
41
+ def get_tenant_by_identifier_with_http_info(identifier, opts = {})
42
+ if @api_client.config.debugging
43
+ @api_client.config.logger.debug 'Calling API: TenantsApi.get_tenant_by_identifier ...'
44
+ end
45
+ # resource path
46
+ local_var_path = '/id/2.0/Tenants/GetById(identifier={identifier})'.sub('{' + 'identifier' + '}', CGI.escape(identifier.to_s))
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+ query_params[:'$expand'] = opts[:'expand'] if !opts[:'expand'].nil?
51
+ query_params[:'$select'] = opts[:'select'] if !opts[:'select'].nil?
52
+
53
+ # header parameters
54
+ header_params = opts[:header_params] || {}
55
+ # HTTP header 'Accept' (if needed)
56
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
57
+
58
+ # form parameters
59
+ form_params = opts[:form_params] || {}
60
+
61
+ # http body (model)
62
+ post_body = opts[:debug_body]
63
+
64
+ # return_type
65
+ return_type = opts[:debug_return_type] || 'Tenant'
66
+
67
+ # auth_names
68
+ auth_names = opts[:debug_auth_names] || ['oauth2']
69
+
70
+ new_options = opts.merge(
71
+ :operation => :"TenantsApi.get_tenant_by_identifier",
72
+ :header_params => header_params,
73
+ :query_params => query_params,
74
+ :form_params => form_params,
75
+ :body => post_body,
76
+ :auth_names => auth_names,
77
+ :return_type => return_type
78
+ )
79
+
80
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
81
+ if @api_client.config.debugging
82
+ @api_client.config.logger.debug "API called: TenantsApi#get_tenant_by_identifier\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
83
+ end
84
+ return data, status_code, headers
85
+ end
86
+
87
+ # Registers user in the 'Demo' tenancy
88
+ # <span style='font-size: 17px;'>Summary:</span>Registers user in the 'Demo' tenancy.<br/>Any user can request to be registered in the demo tenancy.<br/>Return Type: <b>Tenant</b><br/><br/>
89
+ # @param [Hash] opts the optional parameters
90
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
91
+ # @option opts [String] :select Limits the properties returned in the result.
92
+ # @return [Tenant]
93
+ def id20_tenants_demo_get(opts = {})
94
+ data, _status_code, _headers = id20_tenants_demo_get_with_http_info(opts)
95
+ data
96
+ end
97
+
98
+ # Registers user in the &#39;Demo&#39; tenancy
99
+ # &lt;span style&#x3D;&#39;font-size: 17px;&#39;&gt;Summary:&lt;/span&gt;Registers user in the &#39;Demo&#39; tenancy.&lt;br/&gt;Any user can request to be registered in the demo tenancy.&lt;br/&gt;Return Type: &lt;b&gt;Tenant&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;
100
+ # @param [Hash] opts the optional parameters
101
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
102
+ # @option opts [String] :select Limits the properties returned in the result.
103
+ # @return [Array<(Tenant, Integer, Hash)>] Tenant data, response status code and response headers
104
+ def id20_tenants_demo_get_with_http_info(opts = {})
105
+ if @api_client.config.debugging
106
+ @api_client.config.logger.debug 'Calling API: TenantsApi.id20_tenants_demo_get ...'
107
+ end
108
+ # resource path
109
+ local_var_path = '/id/2.0/Tenants/Demo'
110
+
111
+ # query parameters
112
+ query_params = opts[:query_params] || {}
113
+ query_params[:'$expand'] = opts[:'expand'] if !opts[:'expand'].nil?
114
+ query_params[:'$select'] = opts[:'select'] if !opts[:'select'].nil?
115
+
116
+ # header parameters
117
+ header_params = opts[:header_params] || {}
118
+ # HTTP header 'Accept' (if needed)
119
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
120
+
121
+ # form parameters
122
+ form_params = opts[:form_params] || {}
123
+
124
+ # http body (model)
125
+ post_body = opts[:debug_body]
126
+
127
+ # return_type
128
+ return_type = opts[:debug_return_type] || 'Tenant'
129
+
130
+ # auth_names
131
+ auth_names = opts[:debug_auth_names] || ['oauth2']
132
+
133
+ new_options = opts.merge(
134
+ :operation => :"TenantsApi.id20_tenants_demo_get",
135
+ :header_params => header_params,
136
+ :query_params => query_params,
137
+ :form_params => form_params,
138
+ :body => post_body,
139
+ :auth_names => auth_names,
140
+ :return_type => return_type
141
+ )
142
+
143
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
144
+ if @api_client.config.debugging
145
+ @api_client.config.logger.debug "API called: TenantsApi#id20_tenants_demo_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
146
+ end
147
+ return data, status_code, headers
148
+ end
149
+
150
+ # Gets publickly known demo tenant id
151
+ # <span style='font-size: 17px;'>Summary:</span>Gets publickly known demo tenant id.<br/>Return Type: <b>ODataString</b><br/>For more information about OData responses <a href='https://www.odata.org/getting-started/understand-odata-in-6-steps/'>link</a>.<br/><br/>
152
+ # @param [Hash] opts the optional parameters
153
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
154
+ # @option opts [String] :select Limits the properties returned in the result.
155
+ # @return [ODataString]
156
+ def id20_tenants_demo_tenant_id_get(opts = {})
157
+ data, _status_code, _headers = id20_tenants_demo_tenant_id_get_with_http_info(opts)
158
+ data
159
+ end
160
+
161
+ # Gets publickly known demo tenant id
162
+ # &lt;span style&#x3D;&#39;font-size: 17px;&#39;&gt;Summary:&lt;/span&gt;Gets publickly known demo tenant id.&lt;br/&gt;Return Type: &lt;b&gt;ODataString&lt;/b&gt;&lt;br/&gt;For more information about OData responses &lt;a href&#x3D;&#39;https://www.odata.org/getting-started/understand-odata-in-6-steps/&#39;&gt;link&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;
163
+ # @param [Hash] opts the optional parameters
164
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
165
+ # @option opts [String] :select Limits the properties returned in the result.
166
+ # @return [Array<(ODataString, Integer, Hash)>] ODataString data, response status code and response headers
167
+ def id20_tenants_demo_tenant_id_get_with_http_info(opts = {})
168
+ if @api_client.config.debugging
169
+ @api_client.config.logger.debug 'Calling API: TenantsApi.id20_tenants_demo_tenant_id_get ...'
170
+ end
171
+ # resource path
172
+ local_var_path = '/id/2.0/Tenants/DemoTenantId'
173
+
174
+ # query parameters
175
+ query_params = opts[:query_params] || {}
176
+ query_params[:'$expand'] = opts[:'expand'] if !opts[:'expand'].nil?
177
+ query_params[:'$select'] = opts[:'select'] if !opts[:'select'].nil?
178
+
179
+ # header parameters
180
+ header_params = opts[:header_params] || {}
181
+ # HTTP header 'Accept' (if needed)
182
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
183
+
184
+ # form parameters
185
+ form_params = opts[:form_params] || {}
186
+
187
+ # http body (model)
188
+ post_body = opts[:debug_body]
189
+
190
+ # return_type
191
+ return_type = opts[:debug_return_type] || 'ODataString'
192
+
193
+ # auth_names
194
+ auth_names = opts[:debug_auth_names] || ['oauth2']
195
+
196
+ new_options = opts.merge(
197
+ :operation => :"TenantsApi.id20_tenants_demo_tenant_id_get",
198
+ :header_params => header_params,
199
+ :query_params => query_params,
200
+ :form_params => form_params,
201
+ :body => post_body,
202
+ :auth_names => auth_names,
203
+ :return_type => return_type
204
+ )
205
+
206
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
207
+ if @api_client.config.debugging
208
+ @api_client.config.logger.debug "API called: TenantsApi#id20_tenants_demo_tenant_id_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
209
+ end
210
+ return data, status_code, headers
211
+ end
212
+
213
+ # Operations to query a set of data
214
+ # <span style='font-size: 17px;'>Summary:</span>Operations to query a set of data.<br/>Queries support: $filter, $orderby, $select, $expand(including nested filters, selects and expands), $top, $skip.<br/>Return Type: <b>ODataTenantList</b><br/>For more information about OData responses <a href='https://www.odata.org/getting-started/understand-odata-in-6-steps/'>link</a>.<br/><br/>
215
+ # @param [Hash] opts the optional parameters
216
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 5.
217
+ # @option opts [String] :filter Restricts the set of items returned. The maximum number of expressions is 1000. The allowed functions are: allfunctions.
218
+ # @option opts [String] :select Limits the properties returned in the result.
219
+ # @option opts [String] :orderby Specifies the order in which items are returned. The maximum number of expressions is 5.
220
+ # @option opts [Integer] :top Limits the number of items returned from a collection. The maximum value is 1000.
221
+ # @option opts [Integer] :skip Excludes the specified number of items of the queried collection from the result.
222
+ # @option opts [Boolean] :count Indicates whether the total count of items within a collection are returned in the result.
223
+ # @return [ODataTenantList]
224
+ def id20_tenants_get(opts = {})
225
+ data, _status_code, _headers = id20_tenants_get_with_http_info(opts)
226
+ data
227
+ end
228
+
229
+ # Operations to query a set of data
230
+ # &lt;span style&#x3D;&#39;font-size: 17px;&#39;&gt;Summary:&lt;/span&gt;Operations to query a set of data.&lt;br/&gt;Queries support: $filter, $orderby, $select, $expand(including nested filters, selects and expands), $top, $skip.&lt;br/&gt;Return Type: &lt;b&gt;ODataTenantList&lt;/b&gt;&lt;br/&gt;For more information about OData responses &lt;a href&#x3D;&#39;https://www.odata.org/getting-started/understand-odata-in-6-steps/&#39;&gt;link&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;
231
+ # @param [Hash] opts the optional parameters
232
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 5.
233
+ # @option opts [String] :filter Restricts the set of items returned. The maximum number of expressions is 1000. The allowed functions are: allfunctions.
234
+ # @option opts [String] :select Limits the properties returned in the result.
235
+ # @option opts [String] :orderby Specifies the order in which items are returned. The maximum number of expressions is 5.
236
+ # @option opts [Integer] :top Limits the number of items returned from a collection. The maximum value is 1000.
237
+ # @option opts [Integer] :skip Excludes the specified number of items of the queried collection from the result.
238
+ # @option opts [Boolean] :count Indicates whether the total count of items within a collection are returned in the result.
239
+ # @return [Array<(ODataTenantList, Integer, Hash)>] ODataTenantList data, response status code and response headers
240
+ def id20_tenants_get_with_http_info(opts = {})
241
+ if @api_client.config.debugging
242
+ @api_client.config.logger.debug 'Calling API: TenantsApi.id20_tenants_get ...'
243
+ end
244
+ # resource path
245
+ local_var_path = '/id/2.0/Tenants'
246
+
247
+ # query parameters
248
+ query_params = opts[:query_params] || {}
249
+ query_params[:'$expand'] = opts[:'expand'] if !opts[:'expand'].nil?
250
+ query_params[:'$filter'] = opts[:'filter'] if !opts[:'filter'].nil?
251
+ query_params[:'$select'] = opts[:'select'] if !opts[:'select'].nil?
252
+ query_params[:'$orderby'] = opts[:'orderby'] if !opts[:'orderby'].nil?
253
+ query_params[:'$top'] = opts[:'top'] if !opts[:'top'].nil?
254
+ query_params[:'$skip'] = opts[:'skip'] if !opts[:'skip'].nil?
255
+ query_params[:'$count'] = opts[:'count'] if !opts[:'count'].nil?
256
+
257
+ # header parameters
258
+ header_params = opts[:header_params] || {}
259
+ # HTTP header 'Accept' (if needed)
260
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
261
+
262
+ # form parameters
263
+ form_params = opts[:form_params] || {}
264
+
265
+ # http body (model)
266
+ post_body = opts[:debug_body]
267
+
268
+ # return_type
269
+ return_type = opts[:debug_return_type] || 'ODataTenantList'
270
+
271
+ # auth_names
272
+ auth_names = opts[:debug_auth_names] || ['oauth2']
273
+
274
+ new_options = opts.merge(
275
+ :operation => :"TenantsApi.id20_tenants_get",
276
+ :header_params => header_params,
277
+ :query_params => query_params,
278
+ :form_params => form_params,
279
+ :body => post_body,
280
+ :auth_names => auth_names,
281
+ :return_type => return_type
282
+ )
283
+
284
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
285
+ if @api_client.config.debugging
286
+ @api_client.config.logger.debug "API called: TenantsApi#id20_tenants_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
287
+ end
288
+ return data, status_code, headers
289
+ end
290
+
291
+ # Checks the availability of a Tenant identifier
292
+ # <span style='font-size: 17px;'>Summary:</span>Checks the availability of a Tenant identifier.<br/>.<br/>Return Type: <b>ODataBoolean</b><br/>For more information about OData responses <a href='https://www.odata.org/getting-started/understand-odata-in-6-steps/'>link</a>.<br/><br/>
293
+ # @param id [String]
294
+ # @param [Hash] opts the optional parameters
295
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
296
+ # @option opts [String] :select Limits the properties returned in the result.
297
+ # @return [ODataBoolean]
298
+ def id20_tenants_is_identifier_available_idid_get(id, opts = {})
299
+ data, _status_code, _headers = id20_tenants_is_identifier_available_idid_get_with_http_info(id, opts)
300
+ data
301
+ end
302
+
303
+ # Checks the availability of a Tenant identifier
304
+ # &lt;span style&#x3D;&#39;font-size: 17px;&#39;&gt;Summary:&lt;/span&gt;Checks the availability of a Tenant identifier.&lt;br/&gt;.&lt;br/&gt;Return Type: &lt;b&gt;ODataBoolean&lt;/b&gt;&lt;br/&gt;For more information about OData responses &lt;a href&#x3D;&#39;https://www.odata.org/getting-started/understand-odata-in-6-steps/&#39;&gt;link&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;
305
+ # @param id [String]
306
+ # @param [Hash] opts the optional parameters
307
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
308
+ # @option opts [String] :select Limits the properties returned in the result.
309
+ # @return [Array<(ODataBoolean, Integer, Hash)>] ODataBoolean data, response status code and response headers
310
+ def id20_tenants_is_identifier_available_idid_get_with_http_info(id, opts = {})
311
+ if @api_client.config.debugging
312
+ @api_client.config.logger.debug 'Calling API: TenantsApi.id20_tenants_is_identifier_available_idid_get ...'
313
+ end
314
+ # resource path
315
+ local_var_path = '/id/2.0/Tenants/IsIdentifierAvailable(id={id})'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
316
+
317
+ # query parameters
318
+ query_params = opts[:query_params] || {}
319
+ query_params[:'$expand'] = opts[:'expand'] if !opts[:'expand'].nil?
320
+ query_params[:'$select'] = opts[:'select'] if !opts[:'select'].nil?
321
+
322
+ # header parameters
323
+ header_params = opts[:header_params] || {}
324
+ # HTTP header 'Accept' (if needed)
325
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
326
+
327
+ # form parameters
328
+ form_params = opts[:form_params] || {}
329
+
330
+ # http body (model)
331
+ post_body = opts[:debug_body]
332
+
333
+ # return_type
334
+ return_type = opts[:debug_return_type] || 'ODataBoolean'
335
+
336
+ # auth_names
337
+ auth_names = opts[:debug_auth_names] || ['oauth2']
338
+
339
+ new_options = opts.merge(
340
+ :operation => :"TenantsApi.id20_tenants_is_identifier_available_idid_get",
341
+ :header_params => header_params,
342
+ :query_params => query_params,
343
+ :form_params => form_params,
344
+ :body => post_body,
345
+ :auth_names => auth_names,
346
+ :return_type => return_type
347
+ )
348
+
349
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
350
+ if @api_client.config.debugging
351
+ @api_client.config.logger.debug "API called: TenantsApi#id20_tenants_is_identifier_available_idid_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
352
+ end
353
+ return data, status_code, headers
354
+ end
355
+
356
+ # Creates a new Tenant for the current user
357
+ # <span style='font-size: 17px;'>Summary:</span>Creates a new Tenant for the current user.<br/>The ability to create Tenants may be limited by Subscription level.<br/>Return Type: <b>Tenant</b><br/><br/>
358
+ # @param tenant_create [TenantCreate]
359
+ # @param [Hash] opts the optional parameters
360
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
361
+ # @option opts [String] :select Limits the properties returned in the result.
362
+ # @return [Tenant]
363
+ def id20_tenants_post(tenant_create, opts = {})
364
+ data, _status_code, _headers = id20_tenants_post_with_http_info(tenant_create, opts)
365
+ data
366
+ end
367
+
368
+ # Creates a new Tenant for the current user
369
+ # &lt;span style&#x3D;&#39;font-size: 17px;&#39;&gt;Summary:&lt;/span&gt;Creates a new Tenant for the current user.&lt;br/&gt;The ability to create Tenants may be limited by Subscription level.&lt;br/&gt;Return Type: &lt;b&gt;Tenant&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;
370
+ # @param tenant_create [TenantCreate]
371
+ # @param [Hash] opts the optional parameters
372
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
373
+ # @option opts [String] :select Limits the properties returned in the result.
374
+ # @return [Array<(Tenant, Integer, Hash)>] Tenant data, response status code and response headers
375
+ def id20_tenants_post_with_http_info(tenant_create, opts = {})
376
+ if @api_client.config.debugging
377
+ @api_client.config.logger.debug 'Calling API: TenantsApi.id20_tenants_post ...'
378
+ end
379
+ # verify the required parameter 'tenant_create' is set
380
+ if @api_client.config.client_side_validation && tenant_create.nil?
381
+ fail ArgumentError, "Missing the required parameter 'tenant_create' when calling TenantsApi.id20_tenants_post"
382
+ end
383
+ # resource path
384
+ local_var_path = '/id/2.0/Tenants'
385
+
386
+ # query parameters
387
+ query_params = opts[:query_params] || {}
388
+ query_params[:'$expand'] = opts[:'expand'] if !opts[:'expand'].nil?
389
+ query_params[:'$select'] = opts[:'select'] if !opts[:'select'].nil?
390
+
391
+ # header parameters
392
+ header_params = opts[:header_params] || {}
393
+ # HTTP header 'Accept' (if needed)
394
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
395
+ # HTTP header 'Content-Type'
396
+ content_type = @api_client.select_header_content_type(['application/json', 'application/xml', 'text/json', 'application/*+json'])
397
+ if !content_type.nil?
398
+ header_params['Content-Type'] = content_type
399
+ end
400
+
401
+ # form parameters
402
+ form_params = opts[:form_params] || {}
403
+
404
+ # http body (model)
405
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(tenant_create)
406
+
407
+ # return_type
408
+ return_type = opts[:debug_return_type] || 'Tenant'
409
+
410
+ # auth_names
411
+ auth_names = opts[:debug_auth_names] || ['oauth2']
412
+
413
+ new_options = opts.merge(
414
+ :operation => :"TenantsApi.id20_tenants_post",
415
+ :header_params => header_params,
416
+ :query_params => query_params,
417
+ :form_params => form_params,
418
+ :body => post_body,
419
+ :auth_names => auth_names,
420
+ :return_type => return_type
421
+ )
422
+
423
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
424
+ if @api_client.config.debugging
425
+ @api_client.config.logger.debug "API called: TenantsApi#id20_tenants_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
426
+ end
427
+ return data, status_code, headers
428
+ end
429
+
430
+ # Delete the tenant
431
+ # <span style='font-size: 17px;'>Summary:</span>Delete the tenant.<br/>Return Type: <b></b><br/><br/>
432
+ # @param tenant_id [String] The unique Tenant ID (UUID or Identifier string)
433
+ # @param [Hash] opts the optional parameters
434
+ # @return [nil]
435
+ def id20_tenants_tenant_id_delete(tenant_id, opts = {})
436
+ id20_tenants_tenant_id_delete_with_http_info(tenant_id, opts)
437
+ nil
438
+ end
439
+
440
+ # Delete the tenant
441
+ # &lt;span style&#x3D;&#39;font-size: 17px;&#39;&gt;Summary:&lt;/span&gt;Delete the tenant.&lt;br/&gt;Return Type: &lt;b&gt;&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;
442
+ # @param tenant_id [String] The unique Tenant ID (UUID or Identifier string)
443
+ # @param [Hash] opts the optional parameters
444
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
445
+ def id20_tenants_tenant_id_delete_with_http_info(tenant_id, opts = {})
446
+ if @api_client.config.debugging
447
+ @api_client.config.logger.debug 'Calling API: TenantsApi.id20_tenants_tenant_id_delete ...'
448
+ end
449
+ # verify the required parameter 'tenant_id' is set
450
+ if @api_client.config.client_side_validation && tenant_id.nil?
451
+ fail ArgumentError, "Missing the required parameter 'tenant_id' when calling TenantsApi.id20_tenants_tenant_id_delete"
452
+ end
453
+ # resource path
454
+ local_var_path = '/id/2.0/Tenants({tenantId})'.sub('{' + 'tenantId' + '}', CGI.escape(tenant_id.to_s))
455
+
456
+ # query parameters
457
+ query_params = opts[:query_params] || {}
458
+
459
+ # header parameters
460
+ header_params = opts[:header_params] || {}
461
+
462
+ # form parameters
463
+ form_params = opts[:form_params] || {}
464
+
465
+ # http body (model)
466
+ post_body = opts[:debug_body]
467
+
468
+ # return_type
469
+ return_type = opts[:debug_return_type]
470
+
471
+ # auth_names
472
+ auth_names = opts[:debug_auth_names] || ['oauth2']
473
+
474
+ new_options = opts.merge(
475
+ :operation => :"TenantsApi.id20_tenants_tenant_id_delete",
476
+ :header_params => header_params,
477
+ :query_params => query_params,
478
+ :form_params => form_params,
479
+ :body => post_body,
480
+ :auth_names => auth_names,
481
+ :return_type => return_type
482
+ )
483
+
484
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
485
+ if @api_client.config.debugging
486
+ @api_client.config.logger.debug "API called: TenantsApi#id20_tenants_tenant_id_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
487
+ end
488
+ return data, status_code, headers
489
+ end
490
+
491
+ # Gets the specified Tenant by its key
492
+ # <span style='font-size: 17px;'>Summary:</span>Gets the specified Tenant by its key.<br/>Return Type: <b>Tenant</b><br/><br/>
493
+ # @param tenant_id [String] The unique Tenant ID (UUID or Identifier string)
494
+ # @param [Hash] opts the optional parameters
495
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 5.
496
+ # @option opts [String] :select Limits the properties returned in the result.
497
+ # @return [Tenant]
498
+ def id20_tenants_tenant_id_get(tenant_id, opts = {})
499
+ data, _status_code, _headers = id20_tenants_tenant_id_get_with_http_info(tenant_id, opts)
500
+ data
501
+ end
502
+
503
+ # Gets the specified Tenant by its key
504
+ # &lt;span style&#x3D;&#39;font-size: 17px;&#39;&gt;Summary:&lt;/span&gt;Gets the specified Tenant by its key.&lt;br/&gt;Return Type: &lt;b&gt;Tenant&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;
505
+ # @param tenant_id [String] The unique Tenant ID (UUID or Identifier string)
506
+ # @param [Hash] opts the optional parameters
507
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 5.
508
+ # @option opts [String] :select Limits the properties returned in the result.
509
+ # @return [Array<(Tenant, Integer, Hash)>] Tenant data, response status code and response headers
510
+ def id20_tenants_tenant_id_get_with_http_info(tenant_id, opts = {})
511
+ if @api_client.config.debugging
512
+ @api_client.config.logger.debug 'Calling API: TenantsApi.id20_tenants_tenant_id_get ...'
513
+ end
514
+ # verify the required parameter 'tenant_id' is set
515
+ if @api_client.config.client_side_validation && tenant_id.nil?
516
+ fail ArgumentError, "Missing the required parameter 'tenant_id' when calling TenantsApi.id20_tenants_tenant_id_get"
517
+ end
518
+ # resource path
519
+ local_var_path = '/id/2.0/Tenants({tenantId})'.sub('{' + 'tenantId' + '}', CGI.escape(tenant_id.to_s))
520
+
521
+ # query parameters
522
+ query_params = opts[:query_params] || {}
523
+ query_params[:'$expand'] = opts[:'expand'] if !opts[:'expand'].nil?
524
+ query_params[:'$select'] = opts[:'select'] if !opts[:'select'].nil?
525
+
526
+ # header parameters
527
+ header_params = opts[:header_params] || {}
528
+ # HTTP header 'Accept' (if needed)
529
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
530
+
531
+ # form parameters
532
+ form_params = opts[:form_params] || {}
533
+
534
+ # http body (model)
535
+ post_body = opts[:debug_body]
536
+
537
+ # return_type
538
+ return_type = opts[:debug_return_type] || 'Tenant'
539
+
540
+ # auth_names
541
+ auth_names = opts[:debug_auth_names] || ['oauth2']
542
+
543
+ new_options = opts.merge(
544
+ :operation => :"TenantsApi.id20_tenants_tenant_id_get",
545
+ :header_params => header_params,
546
+ :query_params => query_params,
547
+ :form_params => form_params,
548
+ :body => post_body,
549
+ :auth_names => auth_names,
550
+ :return_type => return_type
551
+ )
552
+
553
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
554
+ if @api_client.config.debugging
555
+ @api_client.config.logger.debug "API called: TenantsApi#id20_tenants_tenant_id_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
556
+ end
557
+ return data, status_code, headers
558
+ end
559
+
560
+ # Patch tenant
561
+ # <span style='font-size: 17px;'>Summary:</span>Patch tenant.<br/>Return Type: <b>Tenant</b><br/><br/>
562
+ # @param tenant_id [String] The unique Tenant ID (UUID or Identifier string)
563
+ # @param tenant_edit [TenantEdit] delta changes
564
+ # @param [Hash] opts the optional parameters
565
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
566
+ # @option opts [String] :select Limits the properties returned in the result.
567
+ # @return [Tenant]
568
+ def id20_tenants_tenant_id_patch(tenant_id, tenant_edit, opts = {})
569
+ data, _status_code, _headers = id20_tenants_tenant_id_patch_with_http_info(tenant_id, tenant_edit, opts)
570
+ data
571
+ end
572
+
573
+ # Patch tenant
574
+ # &lt;span style&#x3D;&#39;font-size: 17px;&#39;&gt;Summary:&lt;/span&gt;Patch tenant.&lt;br/&gt;Return Type: &lt;b&gt;Tenant&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;
575
+ # @param tenant_id [String] The unique Tenant ID (UUID or Identifier string)
576
+ # @param tenant_edit [TenantEdit] delta changes
577
+ # @param [Hash] opts the optional parameters
578
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
579
+ # @option opts [String] :select Limits the properties returned in the result.
580
+ # @return [Array<(Tenant, Integer, Hash)>] Tenant data, response status code and response headers
581
+ def id20_tenants_tenant_id_patch_with_http_info(tenant_id, tenant_edit, opts = {})
582
+ if @api_client.config.debugging
583
+ @api_client.config.logger.debug 'Calling API: TenantsApi.id20_tenants_tenant_id_patch ...'
584
+ end
585
+ # verify the required parameter 'tenant_id' is set
586
+ if @api_client.config.client_side_validation && tenant_id.nil?
587
+ fail ArgumentError, "Missing the required parameter 'tenant_id' when calling TenantsApi.id20_tenants_tenant_id_patch"
588
+ end
589
+ # verify the required parameter 'tenant_edit' is set
590
+ if @api_client.config.client_side_validation && tenant_edit.nil?
591
+ fail ArgumentError, "Missing the required parameter 'tenant_edit' when calling TenantsApi.id20_tenants_tenant_id_patch"
592
+ end
593
+ # resource path
594
+ local_var_path = '/id/2.0/Tenants({tenantId})'.sub('{' + 'tenantId' + '}', CGI.escape(tenant_id.to_s))
595
+
596
+ # query parameters
597
+ query_params = opts[:query_params] || {}
598
+ query_params[:'$expand'] = opts[:'expand'] if !opts[:'expand'].nil?
599
+ query_params[:'$select'] = opts[:'select'] if !opts[:'select'].nil?
600
+
601
+ # header parameters
602
+ header_params = opts[:header_params] || {}
603
+ # HTTP header 'Accept' (if needed)
604
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
605
+ # HTTP header 'Content-Type'
606
+ content_type = @api_client.select_header_content_type(['application/json', 'application/xml', 'text/json', 'application/*+json'])
607
+ if !content_type.nil?
608
+ header_params['Content-Type'] = content_type
609
+ end
610
+
611
+ # form parameters
612
+ form_params = opts[:form_params] || {}
613
+
614
+ # http body (model)
615
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(tenant_edit)
616
+
617
+ # return_type
618
+ return_type = opts[:debug_return_type] || 'Tenant'
619
+
620
+ # auth_names
621
+ auth_names = opts[:debug_auth_names] || ['oauth2']
622
+
623
+ new_options = opts.merge(
624
+ :operation => :"TenantsApi.id20_tenants_tenant_id_patch",
625
+ :header_params => header_params,
626
+ :query_params => query_params,
627
+ :form_params => form_params,
628
+ :body => post_body,
629
+ :auth_names => auth_names,
630
+ :return_type => return_type
631
+ )
632
+
633
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
634
+ if @api_client.config.debugging
635
+ @api_client.config.logger.debug "API called: TenantsApi#id20_tenants_tenant_id_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
636
+ end
637
+ return data, status_code, headers
638
+ end
639
+
640
+ # Gets Tenant Subscription Plans
641
+ # <span style='font-size: 17px;'>Summary:</span>Gets Tenant Subscription Plans.<br/>Return Type: <b>Subscription</b><br/><br/>
642
+ # @param tenant_id [String] The unique Tenant ID (UUID or Identifier string)
643
+ # @param [Hash] opts the optional parameters
644
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
645
+ # @option opts [String] :select Limits the properties returned in the result.
646
+ # @return [Subscription]
647
+ def id20_tenants_tenant_id_subscription_get(tenant_id, opts = {})
648
+ data, _status_code, _headers = id20_tenants_tenant_id_subscription_get_with_http_info(tenant_id, opts)
649
+ data
650
+ end
651
+
652
+ # Gets Tenant Subscription Plans
653
+ # &lt;span style&#x3D;&#39;font-size: 17px;&#39;&gt;Summary:&lt;/span&gt;Gets Tenant Subscription Plans.&lt;br/&gt;Return Type: &lt;b&gt;Subscription&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;
654
+ # @param tenant_id [String] The unique Tenant ID (UUID or Identifier string)
655
+ # @param [Hash] opts the optional parameters
656
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
657
+ # @option opts [String] :select Limits the properties returned in the result.
658
+ # @return [Array<(Subscription, Integer, Hash)>] Subscription data, response status code and response headers
659
+ def id20_tenants_tenant_id_subscription_get_with_http_info(tenant_id, opts = {})
660
+ if @api_client.config.debugging
661
+ @api_client.config.logger.debug 'Calling API: TenantsApi.id20_tenants_tenant_id_subscription_get ...'
662
+ end
663
+ # verify the required parameter 'tenant_id' is set
664
+ if @api_client.config.client_side_validation && tenant_id.nil?
665
+ fail ArgumentError, "Missing the required parameter 'tenant_id' when calling TenantsApi.id20_tenants_tenant_id_subscription_get"
666
+ end
667
+ # resource path
668
+ local_var_path = '/id/2.0/Tenants({tenantId})/Subscription'.sub('{' + 'tenantId' + '}', CGI.escape(tenant_id.to_s))
669
+
670
+ # query parameters
671
+ query_params = opts[:query_params] || {}
672
+ query_params[:'$expand'] = opts[:'expand'] if !opts[:'expand'].nil?
673
+ query_params[:'$select'] = opts[:'select'] if !opts[:'select'].nil?
674
+
675
+ # header parameters
676
+ header_params = opts[:header_params] || {}
677
+ # HTTP header 'Accept' (if needed)
678
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
679
+
680
+ # form parameters
681
+ form_params = opts[:form_params] || {}
682
+
683
+ # http body (model)
684
+ post_body = opts[:debug_body]
685
+
686
+ # return_type
687
+ return_type = opts[:debug_return_type] || 'Subscription'
688
+
689
+ # auth_names
690
+ auth_names = opts[:debug_auth_names] || ['oauth2']
691
+
692
+ new_options = opts.merge(
693
+ :operation => :"TenantsApi.id20_tenants_tenant_id_subscription_get",
694
+ :header_params => header_params,
695
+ :query_params => query_params,
696
+ :form_params => form_params,
697
+ :body => post_body,
698
+ :auth_names => auth_names,
699
+ :return_type => return_type
700
+ )
701
+
702
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
703
+ if @api_client.config.debugging
704
+ @api_client.config.logger.debug "API called: TenantsApi#id20_tenants_tenant_id_subscription_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
705
+ end
706
+ return data, status_code, headers
707
+ end
708
+ end
709
+ end