rbac-api-client 1.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 (180) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +175 -0
  4. data/Rakefile +10 -0
  5. data/client-meta.json +8 -0
  6. data/docs/Access.md +19 -0
  7. data/docs/AccessApi.md +68 -0
  8. data/docs/AccessPagination.md +21 -0
  9. data/docs/AccessPaginationAllOf.md +17 -0
  10. data/docs/AdditionalGroup.md +19 -0
  11. data/docs/Error.md +17 -0
  12. data/docs/Error403.md +17 -0
  13. data/docs/Group.md +19 -0
  14. data/docs/GroupApi.md +623 -0
  15. data/docs/GroupOut.md +33 -0
  16. data/docs/GroupPagination.md +21 -0
  17. data/docs/GroupPaginationAllOf.md +17 -0
  18. data/docs/GroupPrincipalIn.md +17 -0
  19. data/docs/GroupRoleIn.md +17 -0
  20. data/docs/GroupRolesPagination.md +21 -0
  21. data/docs/GroupWithPrincipals.md +27 -0
  22. data/docs/GroupWithPrincipalsAllOf.md +17 -0
  23. data/docs/GroupWithPrincipalsAndRoles.md +29 -0
  24. data/docs/GroupWithPrincipalsAndRolesAllOf.md +19 -0
  25. data/docs/InlineResponse200.md +17 -0
  26. data/docs/ListPagination.md +19 -0
  27. data/docs/PaginationLinks.md +23 -0
  28. data/docs/PaginationMeta.md +17 -0
  29. data/docs/Policy.md +19 -0
  30. data/docs/PolicyApi.md +283 -0
  31. data/docs/PolicyExtended.md +29 -0
  32. data/docs/PolicyExtendedAllOf.md +19 -0
  33. data/docs/PolicyIn.md +23 -0
  34. data/docs/PolicyInAllOf.md +19 -0
  35. data/docs/PolicyPagination.md +21 -0
  36. data/docs/PolicyPaginationAllOf.md +17 -0
  37. data/docs/Principal.md +25 -0
  38. data/docs/PrincipalApi.md +68 -0
  39. data/docs/PrincipalIn.md +17 -0
  40. data/docs/PrincipalOut.md +27 -0
  41. data/docs/PrincipalPagination.md +21 -0
  42. data/docs/PrincipalPaginationAllOf.md +17 -0
  43. data/docs/ResourceDefinition.md +17 -0
  44. data/docs/ResourceDefinitionFilter.md +21 -0
  45. data/docs/Role.md +19 -0
  46. data/docs/RoleApi.md +340 -0
  47. data/docs/RoleIn.md +21 -0
  48. data/docs/RoleInAllOf.md +17 -0
  49. data/docs/RoleOut.md +35 -0
  50. data/docs/RoleOutDynamic.md +39 -0
  51. data/docs/RoleOutDynamicAllOf.md +29 -0
  52. data/docs/RolePagination.md +21 -0
  53. data/docs/RolePaginationDynamic.md +21 -0
  54. data/docs/RolePaginationDynamicAllOf.md +17 -0
  55. data/docs/RoleWithAccess.md +37 -0
  56. data/docs/Status.md +27 -0
  57. data/docs/StatusApi.md +56 -0
  58. data/docs/Timestamped.md +19 -0
  59. data/docs/UUID.md +17 -0
  60. data/generate.sh +7 -0
  61. data/git_push.sh +58 -0
  62. data/lib/rbac-api-client.rb +93 -0
  63. data/lib/rbac-api-client/api/access_api.rb +104 -0
  64. data/lib/rbac-api-client/api/group_api.rb +800 -0
  65. data/lib/rbac-api-client/api/policy_api.rb +363 -0
  66. data/lib/rbac-api-client/api/principal_api.rb +104 -0
  67. data/lib/rbac-api-client/api/role_api.rb +445 -0
  68. data/lib/rbac-api-client/api/status_api.rb +76 -0
  69. data/lib/rbac-api-client/api_client.rb +386 -0
  70. data/lib/rbac-api-client/api_error.rb +57 -0
  71. data/lib/rbac-api-client/configuration.rb +248 -0
  72. data/lib/rbac-api-client/models/access.rb +227 -0
  73. data/lib/rbac-api-client/models/access_pagination.rb +239 -0
  74. data/lib/rbac-api-client/models/access_pagination_all_of.rb +213 -0
  75. data/lib/rbac-api-client/models/additional_group.rb +215 -0
  76. data/lib/rbac-api-client/models/error.rb +213 -0
  77. data/lib/rbac-api-client/models/error403.rb +213 -0
  78. data/lib/rbac-api-client/models/group.rb +220 -0
  79. data/lib/rbac-api-client/models/group_out.rb +341 -0
  80. data/lib/rbac-api-client/models/group_pagination.rb +239 -0
  81. data/lib/rbac-api-client/models/group_pagination_all_of.rb +213 -0
  82. data/lib/rbac-api-client/models/group_principal_in.rb +213 -0
  83. data/lib/rbac-api-client/models/group_role_in.rb +213 -0
  84. data/lib/rbac-api-client/models/group_roles_pagination.rb +239 -0
  85. data/lib/rbac-api-client/models/group_with_principals.rb +288 -0
  86. data/lib/rbac-api-client/models/group_with_principals_all_of.rb +213 -0
  87. data/lib/rbac-api-client/models/group_with_principals_and_roles.rb +304 -0
  88. data/lib/rbac-api-client/models/group_with_principals_and_roles_all_of.rb +229 -0
  89. data/lib/rbac-api-client/models/inline_response200.rb +213 -0
  90. data/lib/rbac-api-client/models/list_pagination.rb +215 -0
  91. data/lib/rbac-api-client/models/pagination_links.rb +233 -0
  92. data/lib/rbac-api-client/models/pagination_meta.rb +206 -0
  93. data/lib/rbac-api-client/models/policy.rb +220 -0
  94. data/lib/rbac-api-client/models/policy_extended.rb +302 -0
  95. data/lib/rbac-api-client/models/policy_extended_all_of.rb +227 -0
  96. data/lib/rbac-api-client/models/policy_in.rb +258 -0
  97. data/lib/rbac-api-client/models/policy_in_all_of.rb +227 -0
  98. data/lib/rbac-api-client/models/policy_pagination.rb +239 -0
  99. data/lib/rbac-api-client/models/policy_pagination_all_of.rb +213 -0
  100. data/lib/rbac-api-client/models/principal.rb +252 -0
  101. data/lib/rbac-api-client/models/principal_in.rb +211 -0
  102. data/lib/rbac-api-client/models/principal_out.rb +274 -0
  103. data/lib/rbac-api-client/models/principal_pagination.rb +239 -0
  104. data/lib/rbac-api-client/models/principal_pagination_all_of.rb +213 -0
  105. data/lib/rbac-api-client/models/resource_definition.rb +211 -0
  106. data/lib/rbac-api-client/models/resource_definition_filter.rb +273 -0
  107. data/lib/rbac-api-client/models/role.rb +220 -0
  108. data/lib/rbac-api-client/models/role_in.rb +244 -0
  109. data/lib/rbac-api-client/models/role_in_all_of.rb +213 -0
  110. data/lib/rbac-api-client/models/role_out.rb +352 -0
  111. data/lib/rbac-api-client/models/role_out_dynamic.rb +421 -0
  112. data/lib/rbac-api-client/models/role_out_dynamic_all_of.rb +346 -0
  113. data/lib/rbac-api-client/models/role_pagination.rb +239 -0
  114. data/lib/rbac-api-client/models/role_pagination_dynamic.rb +239 -0
  115. data/lib/rbac-api-client/models/role_pagination_dynamic_all_of.rb +213 -0
  116. data/lib/rbac-api-client/models/role_with_access.rb +367 -0
  117. data/lib/rbac-api-client/models/status.rb +256 -0
  118. data/lib/rbac-api-client/models/timestamped.rb +225 -0
  119. data/lib/rbac-api-client/models/uuid.rb +211 -0
  120. data/lib/rbac-api-client/version.rb +15 -0
  121. data/openapi.json +2613 -0
  122. data/rbac-api-client.gemspec +39 -0
  123. data/spec/api/access_api_spec.rb +49 -0
  124. data/spec/api/group_api_spec.rb +176 -0
  125. data/spec/api/policy_api_spec.rb +97 -0
  126. data/spec/api/principal_api_spec.rb +49 -0
  127. data/spec/api/role_api_spec.rb +110 -0
  128. data/spec/api/status_api_spec.rb +45 -0
  129. data/spec/api_client_spec.rb +226 -0
  130. data/spec/configuration_spec.rb +42 -0
  131. data/spec/models/access_pagination_all_of_spec.rb +41 -0
  132. data/spec/models/access_pagination_spec.rb +53 -0
  133. data/spec/models/access_spec.rb +47 -0
  134. data/spec/models/additional_group_spec.rb +47 -0
  135. data/spec/models/error403_spec.rb +41 -0
  136. data/spec/models/error_spec.rb +41 -0
  137. data/spec/models/group_out_spec.rb +89 -0
  138. data/spec/models/group_pagination_all_of_spec.rb +41 -0
  139. data/spec/models/group_pagination_spec.rb +53 -0
  140. data/spec/models/group_principal_in_spec.rb +41 -0
  141. data/spec/models/group_role_in_spec.rb +41 -0
  142. data/spec/models/group_roles_pagination_spec.rb +53 -0
  143. data/spec/models/group_spec.rb +47 -0
  144. data/spec/models/group_with_principals_all_of_spec.rb +41 -0
  145. data/spec/models/group_with_principals_and_roles_all_of_spec.rb +47 -0
  146. data/spec/models/group_with_principals_and_roles_spec.rb +77 -0
  147. data/spec/models/group_with_principals_spec.rb +71 -0
  148. data/spec/models/inline_response200_spec.rb +41 -0
  149. data/spec/models/list_pagination_spec.rb +47 -0
  150. data/spec/models/pagination_links_spec.rb +59 -0
  151. data/spec/models/pagination_meta_spec.rb +41 -0
  152. data/spec/models/policy_extended_all_of_spec.rb +47 -0
  153. data/spec/models/policy_extended_spec.rb +77 -0
  154. data/spec/models/policy_in_all_of_spec.rb +47 -0
  155. data/spec/models/policy_in_spec.rb +59 -0
  156. data/spec/models/policy_pagination_all_of_spec.rb +41 -0
  157. data/spec/models/policy_pagination_spec.rb +53 -0
  158. data/spec/models/policy_spec.rb +47 -0
  159. data/spec/models/principal_in_spec.rb +41 -0
  160. data/spec/models/principal_out_spec.rb +71 -0
  161. data/spec/models/principal_pagination_all_of_spec.rb +41 -0
  162. data/spec/models/principal_pagination_spec.rb +53 -0
  163. data/spec/models/principal_spec.rb +65 -0
  164. data/spec/models/resource_definition_filter_spec.rb +57 -0
  165. data/spec/models/resource_definition_spec.rb +41 -0
  166. data/spec/models/role_in_all_of_spec.rb +41 -0
  167. data/spec/models/role_in_spec.rb +53 -0
  168. data/spec/models/role_out_dynamic_all_of_spec.rb +77 -0
  169. data/spec/models/role_out_dynamic_spec.rb +107 -0
  170. data/spec/models/role_out_spec.rb +95 -0
  171. data/spec/models/role_pagination_dynamic_all_of_spec.rb +41 -0
  172. data/spec/models/role_pagination_dynamic_spec.rb +53 -0
  173. data/spec/models/role_pagination_spec.rb +53 -0
  174. data/spec/models/role_spec.rb +47 -0
  175. data/spec/models/role_with_access_spec.rb +101 -0
  176. data/spec/models/status_spec.rb +71 -0
  177. data/spec/models/timestamped_spec.rb +47 -0
  178. data/spec/models/uuid_spec.rb +41 -0
  179. data/spec/spec_helper.rb +111 -0
  180. metadata +338 -0
@@ -0,0 +1,363 @@
1
+ =begin
2
+ #Role Based Access Control
3
+
4
+ #The API for Role Based Access Control.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.2.2
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module RBACApiClient
16
+ class PolicyApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create a policy in a tenant
23
+ # @param policy_in [PolicyIn] Policy to create
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [PolicyExtended]
26
+ def create_policies(policy_in, opts = {})
27
+ data, _status_code, _headers = create_policies_with_http_info(policy_in, opts)
28
+ data
29
+ end
30
+
31
+ # Create a policy in a tenant
32
+ # @param policy_in [PolicyIn] Policy to create
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(PolicyExtended, Integer, Hash)>] PolicyExtended data, response status code and response headers
35
+ def create_policies_with_http_info(policy_in, opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: PolicyApi.create_policies ...'
38
+ end
39
+ # verify the required parameter 'policy_in' is set
40
+ if @api_client.config.client_side_validation && policy_in.nil?
41
+ fail ArgumentError, "Missing the required parameter 'policy_in' when calling PolicyApi.create_policies"
42
+ end
43
+ # resource path
44
+ local_var_path = '/policies/'
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+ # HTTP header 'Accept' (if needed)
52
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
53
+ # HTTP header 'Content-Type'
54
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
55
+
56
+ # form parameters
57
+ form_params = opts[:form_params] || {}
58
+
59
+ # http body (model)
60
+ post_body = opts[:body] || @api_client.object_to_http_body(policy_in)
61
+
62
+ # return_type
63
+ return_type = opts[:return_type] || 'PolicyExtended'
64
+
65
+ # auth_names
66
+ auth_names = opts[:auth_names] || ['basic_auth']
67
+
68
+ new_options = opts.merge(
69
+ :header_params => header_params,
70
+ :query_params => query_params,
71
+ :form_params => form_params,
72
+ :body => post_body,
73
+ :auth_names => auth_names,
74
+ :return_type => return_type
75
+ )
76
+
77
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
78
+ if @api_client.config.debugging
79
+ @api_client.config.logger.debug "API called: PolicyApi#create_policies\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
80
+ end
81
+ return data, status_code, headers
82
+ end
83
+
84
+ # Delete a policy in the tenant
85
+ # @param uuid [String] ID of policy to delete
86
+ # @param [Hash] opts the optional parameters
87
+ # @return [nil]
88
+ def delete_policy(uuid, opts = {})
89
+ delete_policy_with_http_info(uuid, opts)
90
+ nil
91
+ end
92
+
93
+ # Delete a policy in the tenant
94
+ # @param uuid [String] ID of policy to delete
95
+ # @param [Hash] opts the optional parameters
96
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
97
+ def delete_policy_with_http_info(uuid, opts = {})
98
+ if @api_client.config.debugging
99
+ @api_client.config.logger.debug 'Calling API: PolicyApi.delete_policy ...'
100
+ end
101
+ # verify the required parameter 'uuid' is set
102
+ if @api_client.config.client_side_validation && uuid.nil?
103
+ fail ArgumentError, "Missing the required parameter 'uuid' when calling PolicyApi.delete_policy"
104
+ end
105
+ # resource path
106
+ local_var_path = '/policies/{uuid}/'.sub('{' + 'uuid' + '}', CGI.escape(uuid.to_s))
107
+
108
+ # query parameters
109
+ query_params = opts[:query_params] || {}
110
+
111
+ # header parameters
112
+ header_params = opts[:header_params] || {}
113
+ # HTTP header 'Accept' (if needed)
114
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
115
+
116
+ # form parameters
117
+ form_params = opts[:form_params] || {}
118
+
119
+ # http body (model)
120
+ post_body = opts[:body]
121
+
122
+ # return_type
123
+ return_type = opts[:return_type]
124
+
125
+ # auth_names
126
+ auth_names = opts[:auth_names] || ['basic_auth']
127
+
128
+ new_options = opts.merge(
129
+ :header_params => header_params,
130
+ :query_params => query_params,
131
+ :form_params => form_params,
132
+ :body => post_body,
133
+ :auth_names => auth_names,
134
+ :return_type => return_type
135
+ )
136
+
137
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
138
+ if @api_client.config.debugging
139
+ @api_client.config.logger.debug "API called: PolicyApi#delete_policy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
140
+ end
141
+ return data, status_code, headers
142
+ end
143
+
144
+ # Get a policy in the tenant
145
+ # @param uuid [String] ID of policy to get
146
+ # @param [Hash] opts the optional parameters
147
+ # @return [PolicyExtended]
148
+ def get_policy(uuid, opts = {})
149
+ data, _status_code, _headers = get_policy_with_http_info(uuid, opts)
150
+ data
151
+ end
152
+
153
+ # Get a policy in the tenant
154
+ # @param uuid [String] ID of policy to get
155
+ # @param [Hash] opts the optional parameters
156
+ # @return [Array<(PolicyExtended, Integer, Hash)>] PolicyExtended data, response status code and response headers
157
+ def get_policy_with_http_info(uuid, opts = {})
158
+ if @api_client.config.debugging
159
+ @api_client.config.logger.debug 'Calling API: PolicyApi.get_policy ...'
160
+ end
161
+ # verify the required parameter 'uuid' is set
162
+ if @api_client.config.client_side_validation && uuid.nil?
163
+ fail ArgumentError, "Missing the required parameter 'uuid' when calling PolicyApi.get_policy"
164
+ end
165
+ # resource path
166
+ local_var_path = '/policies/{uuid}/'.sub('{' + 'uuid' + '}', CGI.escape(uuid.to_s))
167
+
168
+ # query parameters
169
+ query_params = opts[:query_params] || {}
170
+
171
+ # header parameters
172
+ header_params = opts[:header_params] || {}
173
+ # HTTP header 'Accept' (if needed)
174
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
175
+
176
+ # form parameters
177
+ form_params = opts[:form_params] || {}
178
+
179
+ # http body (model)
180
+ post_body = opts[:body]
181
+
182
+ # return_type
183
+ return_type = opts[:return_type] || 'PolicyExtended'
184
+
185
+ # auth_names
186
+ auth_names = opts[:auth_names] || ['basic_auth']
187
+
188
+ new_options = opts.merge(
189
+ :header_params => header_params,
190
+ :query_params => query_params,
191
+ :form_params => form_params,
192
+ :body => post_body,
193
+ :auth_names => auth_names,
194
+ :return_type => return_type
195
+ )
196
+
197
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
198
+ if @api_client.config.debugging
199
+ @api_client.config.logger.debug "API called: PolicyApi#get_policy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
200
+ end
201
+ return data, status_code, headers
202
+ end
203
+
204
+ # List the policies in the tenant
205
+ # @param [Hash] opts the optional parameters
206
+ # @option opts [Integer] :limit Parameter for selecting the amount of data returned. (default to 10)
207
+ # @option opts [Integer] :offset Parameter for selecting the offset of data. (default to 0)
208
+ # @option opts [String] :name Parameter for filtering resource by name using string contains search.
209
+ # @option opts [String] :scope Parameter for filtering resource by scope. (default to 'account')
210
+ # @option opts [String] :group_name Parameter for filtering resource by group name using string contains search.
211
+ # @option opts [String] :group_uuid Parameter for filtering resource by group uuid using UUID exact match.
212
+ # @option opts [String] :order_by Parameter for ordering resource by value. For inverse ordering, supply &#39;-&#39; before the param value, such as: ?order_by&#x3D;-name
213
+ # @return [PolicyPagination]
214
+ def list_policies(opts = {})
215
+ data, _status_code, _headers = list_policies_with_http_info(opts)
216
+ data
217
+ end
218
+
219
+ # List the policies in the tenant
220
+ # @param [Hash] opts the optional parameters
221
+ # @option opts [Integer] :limit Parameter for selecting the amount of data returned.
222
+ # @option opts [Integer] :offset Parameter for selecting the offset of data.
223
+ # @option opts [String] :name Parameter for filtering resource by name using string contains search.
224
+ # @option opts [String] :scope Parameter for filtering resource by scope.
225
+ # @option opts [String] :group_name Parameter for filtering resource by group name using string contains search.
226
+ # @option opts [String] :group_uuid Parameter for filtering resource by group uuid using UUID exact match.
227
+ # @option opts [String] :order_by Parameter for ordering resource by value. For inverse ordering, supply &#39;-&#39; before the param value, such as: ?order_by&#x3D;-name
228
+ # @return [Array<(PolicyPagination, Integer, Hash)>] PolicyPagination data, response status code and response headers
229
+ def list_policies_with_http_info(opts = {})
230
+ if @api_client.config.debugging
231
+ @api_client.config.logger.debug 'Calling API: PolicyApi.list_policies ...'
232
+ end
233
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 1000
234
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling PolicyApi.list_policies, must be smaller than or equal to 1000.'
235
+ end
236
+
237
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
238
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling PolicyApi.list_policies, must be greater than or equal to 1.'
239
+ end
240
+
241
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
242
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling PolicyApi.list_policies, must be greater than or equal to 0.'
243
+ end
244
+
245
+ allowable_values = ["account", "principal"]
246
+ if @api_client.config.client_side_validation && opts[:'scope'] && !allowable_values.include?(opts[:'scope'])
247
+ fail ArgumentError, "invalid value for \"scope\", must be one of #{allowable_values}"
248
+ end
249
+ # resource path
250
+ local_var_path = '/policies/'
251
+
252
+ # query parameters
253
+ query_params = opts[:query_params] || {}
254
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
255
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
256
+ query_params[:'name'] = opts[:'name'] if !opts[:'name'].nil?
257
+ query_params[:'scope'] = opts[:'scope'] if !opts[:'scope'].nil?
258
+ query_params[:'group_name'] = opts[:'group_name'] if !opts[:'group_name'].nil?
259
+ query_params[:'group_uuid'] = opts[:'group_uuid'] if !opts[:'group_uuid'].nil?
260
+ query_params[:'order_by'] = opts[:'order_by'] if !opts[:'order_by'].nil?
261
+
262
+ # header parameters
263
+ header_params = opts[:header_params] || {}
264
+ # HTTP header 'Accept' (if needed)
265
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
266
+
267
+ # form parameters
268
+ form_params = opts[:form_params] || {}
269
+
270
+ # http body (model)
271
+ post_body = opts[:body]
272
+
273
+ # return_type
274
+ return_type = opts[:return_type] || 'PolicyPagination'
275
+
276
+ # auth_names
277
+ auth_names = opts[:auth_names] || ['basic_auth']
278
+
279
+ new_options = opts.merge(
280
+ :header_params => header_params,
281
+ :query_params => query_params,
282
+ :form_params => form_params,
283
+ :body => post_body,
284
+ :auth_names => auth_names,
285
+ :return_type => return_type
286
+ )
287
+
288
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
289
+ if @api_client.config.debugging
290
+ @api_client.config.logger.debug "API called: PolicyApi#list_policies\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
291
+ end
292
+ return data, status_code, headers
293
+ end
294
+
295
+ # Update a policy in the tenant
296
+ # @param uuid [String] ID of policy to update
297
+ # @param policy_in [PolicyIn] Policy to update
298
+ # @param [Hash] opts the optional parameters
299
+ # @return [PolicyExtended]
300
+ def update_policy(uuid, policy_in, opts = {})
301
+ data, _status_code, _headers = update_policy_with_http_info(uuid, policy_in, opts)
302
+ data
303
+ end
304
+
305
+ # Update a policy in the tenant
306
+ # @param uuid [String] ID of policy to update
307
+ # @param policy_in [PolicyIn] Policy to update
308
+ # @param [Hash] opts the optional parameters
309
+ # @return [Array<(PolicyExtended, Integer, Hash)>] PolicyExtended data, response status code and response headers
310
+ def update_policy_with_http_info(uuid, policy_in, opts = {})
311
+ if @api_client.config.debugging
312
+ @api_client.config.logger.debug 'Calling API: PolicyApi.update_policy ...'
313
+ end
314
+ # verify the required parameter 'uuid' is set
315
+ if @api_client.config.client_side_validation && uuid.nil?
316
+ fail ArgumentError, "Missing the required parameter 'uuid' when calling PolicyApi.update_policy"
317
+ end
318
+ # verify the required parameter 'policy_in' is set
319
+ if @api_client.config.client_side_validation && policy_in.nil?
320
+ fail ArgumentError, "Missing the required parameter 'policy_in' when calling PolicyApi.update_policy"
321
+ end
322
+ # resource path
323
+ local_var_path = '/policies/{uuid}/'.sub('{' + 'uuid' + '}', CGI.escape(uuid.to_s))
324
+
325
+ # query parameters
326
+ query_params = opts[:query_params] || {}
327
+
328
+ # header parameters
329
+ header_params = opts[:header_params] || {}
330
+ # HTTP header 'Accept' (if needed)
331
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
332
+ # HTTP header 'Content-Type'
333
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
334
+
335
+ # form parameters
336
+ form_params = opts[:form_params] || {}
337
+
338
+ # http body (model)
339
+ post_body = opts[:body] || @api_client.object_to_http_body(policy_in)
340
+
341
+ # return_type
342
+ return_type = opts[:return_type] || 'PolicyExtended'
343
+
344
+ # auth_names
345
+ auth_names = opts[:auth_names] || ['basic_auth']
346
+
347
+ new_options = opts.merge(
348
+ :header_params => header_params,
349
+ :query_params => query_params,
350
+ :form_params => form_params,
351
+ :body => post_body,
352
+ :auth_names => auth_names,
353
+ :return_type => return_type
354
+ )
355
+
356
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
357
+ if @api_client.config.debugging
358
+ @api_client.config.logger.debug "API called: PolicyApi#update_policy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
359
+ end
360
+ return data, status_code, headers
361
+ end
362
+ end
363
+ end
@@ -0,0 +1,104 @@
1
+ =begin
2
+ #Role Based Access Control
3
+
4
+ #The API for Role Based Access Control.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.2.2
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module RBACApiClient
16
+ class PrincipalApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # List the principals for a tenant
23
+ # @param [Hash] opts the optional parameters
24
+ # @option opts [Integer] :limit Parameter for selecting the amount of data returned. (default to 10)
25
+ # @option opts [Integer] :offset Parameter for selecting the offset of data. (default to 0)
26
+ # @option opts [String] :usernames Usernames of principals to get
27
+ # @option opts [String] :sort_order The sort order of the query, either ascending or descending
28
+ # @return [PrincipalPagination]
29
+ def list_principals(opts = {})
30
+ data, _status_code, _headers = list_principals_with_http_info(opts)
31
+ data
32
+ end
33
+
34
+ # List the principals for a tenant
35
+ # @param [Hash] opts the optional parameters
36
+ # @option opts [Integer] :limit Parameter for selecting the amount of data returned.
37
+ # @option opts [Integer] :offset Parameter for selecting the offset of data.
38
+ # @option opts [String] :usernames Usernames of principals to get
39
+ # @option opts [String] :sort_order The sort order of the query, either ascending or descending
40
+ # @return [Array<(PrincipalPagination, Integer, Hash)>] PrincipalPagination data, response status code and response headers
41
+ def list_principals_with_http_info(opts = {})
42
+ if @api_client.config.debugging
43
+ @api_client.config.logger.debug 'Calling API: PrincipalApi.list_principals ...'
44
+ end
45
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 1000
46
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling PrincipalApi.list_principals, must be smaller than or equal to 1000.'
47
+ end
48
+
49
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
50
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling PrincipalApi.list_principals, must be greater than or equal to 1.'
51
+ end
52
+
53
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
54
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling PrincipalApi.list_principals, must be greater than or equal to 0.'
55
+ end
56
+
57
+ allowable_values = ["asc", "desc"]
58
+ if @api_client.config.client_side_validation && opts[:'sort_order'] && !allowable_values.include?(opts[:'sort_order'])
59
+ fail ArgumentError, "invalid value for \"sort_order\", must be one of #{allowable_values}"
60
+ end
61
+ # resource path
62
+ local_var_path = '/principals/'
63
+
64
+ # query parameters
65
+ query_params = opts[:query_params] || {}
66
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
67
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
68
+ query_params[:'usernames'] = opts[:'usernames'] if !opts[:'usernames'].nil?
69
+ query_params[:'sort_order'] = opts[:'sort_order'] if !opts[:'sort_order'].nil?
70
+
71
+ # header parameters
72
+ header_params = opts[:header_params] || {}
73
+ # HTTP header 'Accept' (if needed)
74
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
75
+
76
+ # form parameters
77
+ form_params = opts[:form_params] || {}
78
+
79
+ # http body (model)
80
+ post_body = opts[:body]
81
+
82
+ # return_type
83
+ return_type = opts[:return_type] || 'PrincipalPagination'
84
+
85
+ # auth_names
86
+ auth_names = opts[:auth_names] || ['basic_auth']
87
+
88
+ new_options = opts.merge(
89
+ :header_params => header_params,
90
+ :query_params => query_params,
91
+ :form_params => form_params,
92
+ :body => post_body,
93
+ :auth_names => auth_names,
94
+ :return_type => return_type
95
+ )
96
+
97
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
98
+ if @api_client.config.debugging
99
+ @api_client.config.logger.debug "API called: PrincipalApi#list_principals\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
100
+ end
101
+ return data, status_code, headers
102
+ end
103
+ end
104
+ end