smplkit 3.0.65 → 3.0.66

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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/group_memberships_api.rb +295 -0
  3. data/lib/smplkit/_generated/app/lib/smplkit_app_client/api/groups_api.rb +366 -0
  4. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group.rb +247 -0
  5. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_create_request.rb +165 -0
  6. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_create_resource.rb +242 -0
  7. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_list_response.rb +193 -0
  8. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_membership.rb +215 -0
  9. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_membership_list_response.rb +193 -0
  10. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_membership_request.rb +165 -0
  11. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_membership_resource.rb +225 -0
  12. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_membership_response.rb +165 -0
  13. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_request.rb +165 -0
  14. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_resource.rb +225 -0
  15. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/group_response.rb +165 -0
  16. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation.rb +14 -1
  17. data/lib/smplkit/_generated/app/lib/smplkit_app_client/models/invitation_create_item.rb +17 -4
  18. data/lib/smplkit/_generated/app/lib/smplkit_app_client.rb +14 -0
  19. data/lib/smplkit/_generated/app/spec/api/group_memberships_api_spec.rb +88 -0
  20. data/lib/smplkit/_generated/app/spec/api/groups_api_spec.rb +100 -0
  21. data/lib/smplkit/_generated/app/spec/models/group_create_request_spec.rb +36 -0
  22. data/lib/smplkit/_generated/app/spec/models/group_create_resource_spec.rb +52 -0
  23. data/lib/smplkit/_generated/app/spec/models/group_list_response_spec.rb +42 -0
  24. data/lib/smplkit/_generated/app/spec/models/group_membership_list_response_spec.rb +42 -0
  25. data/lib/smplkit/_generated/app/spec/models/group_membership_request_spec.rb +36 -0
  26. data/lib/smplkit/_generated/app/spec/models/group_membership_resource_spec.rb +52 -0
  27. data/lib/smplkit/_generated/app/spec/models/group_membership_response_spec.rb +36 -0
  28. data/lib/smplkit/_generated/app/spec/models/group_membership_spec.rb +54 -0
  29. data/lib/smplkit/_generated/app/spec/models/group_request_spec.rb +36 -0
  30. data/lib/smplkit/_generated/app/spec/models/group_resource_spec.rb +52 -0
  31. data/lib/smplkit/_generated/app/spec/models/group_response_spec.rb +36 -0
  32. data/lib/smplkit/_generated/app/spec/models/group_spec.rb +66 -0
  33. data/lib/smplkit/_generated/app/spec/models/invitation_create_item_spec.rb +6 -0
  34. data/lib/smplkit/_generated/app/spec/models/invitation_spec.rb +6 -0
  35. metadata +29 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 16abf7a226f27e82a2343a6a85e23ee92f2f15198bd5353f94ee8daa51af36d3
4
- data.tar.gz: f43cc4fb669ff5ce6cd3fb81e84bdc64f5b619be2df2c1b2328ad1f62c4bd512
3
+ metadata.gz: d5625133c3c3fc48e8d783211e3ccfee90572775dbad53141ea6f809e8e79f0d
4
+ data.tar.gz: c06c855003e82bfd116fcdec13430b64d199ef00a81e84b6b176d2bda42e104c
5
5
  SHA512:
6
- metadata.gz: a2fbbc5b9369e51bb2729ca286a19a40ef1c40af66c803f28a8b7baa7d7d218128906b75a254fc7126c4dd3ce6f4127cf558e1554f261a978641906cd2451421
7
- data.tar.gz: cea0ae0643d5be5e403e0c398543933a1cdcd9e1d68fb77a02004c3021e657585d4861eb6aded5740e75531bf8a0d31c981ad63eca64b0e91bb5337f7ba1096f
6
+ metadata.gz: e3483d8514c812a512d857eef02a591eb023e65c38c4408ffbbeba6be650ce9c058c42b6421934bdb37eb6a40730cc5a2659c5e042067edc54c604691601595f
7
+ data.tar.gz: 065be639582028946d863d675b4000c49c34a96e377a15d4b23a484eb05bd95f812cc4815258c788fd68e233e71d8abe834655e70c8e575b9fb96c5cee5cbe73
@@ -0,0 +1,295 @@
1
+ =begin
2
+ #smplkit API
3
+
4
+ #API for the smplkit platform.
5
+
6
+ The version of the OpenAPI document: 0.1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.22.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module SmplkitGeneratedClient::App
16
+ class GroupMembershipsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create Group Membership
23
+ # Add a user to a group. The body references the user (UUID) and the group (key) in the resource attributes. Returns `409` if this user is already a member of this group, or `422` if either the user is not a member of the account or the group does not exist.
24
+ # @param group_membership_request [GroupMembershipRequest]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [GroupMembershipResponse]
27
+ def create_group_membership(group_membership_request, opts = {})
28
+ data, _status_code, _headers = create_group_membership_with_http_info(group_membership_request, opts)
29
+ data
30
+ end
31
+
32
+ # Create Group Membership
33
+ # Add a user to a group. The body references the user (UUID) and the group (key) in the resource attributes. Returns `409` if this user is already a member of this group, or `422` if either the user is not a member of the account or the group does not exist.
34
+ # @param group_membership_request [GroupMembershipRequest]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(GroupMembershipResponse, Integer, Hash)>] GroupMembershipResponse data, response status code and response headers
37
+ def create_group_membership_with_http_info(group_membership_request, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: GroupMembershipsApi.create_group_membership ...'
40
+ end
41
+ # verify the required parameter 'group_membership_request' is set
42
+ if @api_client.config.client_side_validation && group_membership_request.nil?
43
+ fail ArgumentError, "Missing the required parameter 'group_membership_request' when calling GroupMembershipsApi.create_group_membership"
44
+ end
45
+ # resource path
46
+ local_var_path = '/api/v1/group_memberships'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
55
+ # HTTP header 'Content-Type'
56
+ content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
57
+ if !content_type.nil?
58
+ header_params['Content-Type'] = content_type
59
+ end
60
+
61
+ # form parameters
62
+ form_params = opts[:form_params] || {}
63
+
64
+ # http body (model)
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(group_membership_request)
66
+
67
+ # return_type
68
+ return_type = opts[:debug_return_type] || 'GroupMembershipResponse'
69
+
70
+ # auth_names
71
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
72
+
73
+ new_options = opts.merge(
74
+ :operation => :"GroupMembershipsApi.create_group_membership",
75
+ :header_params => header_params,
76
+ :query_params => query_params,
77
+ :form_params => form_params,
78
+ :body => post_body,
79
+ :auth_names => auth_names,
80
+ :return_type => return_type
81
+ )
82
+
83
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: GroupMembershipsApi#create_group_membership\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+
90
+ # Delete Group Membership
91
+ # Remove a user from a group. Returns `409` when the membership is the user's `default` membership — every user must remain in the `default` group per ADR-055 §4.
92
+ # @param id [String]
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [nil]
95
+ def delete_group_membership(id, opts = {})
96
+ delete_group_membership_with_http_info(id, opts)
97
+ nil
98
+ end
99
+
100
+ # Delete Group Membership
101
+ # Remove a user from a group. Returns &#x60;409&#x60; when the membership is the user&#39;s &#x60;default&#x60; membership — every user must remain in the &#x60;default&#x60; group per ADR-055 §4.
102
+ # @param id [String]
103
+ # @param [Hash] opts the optional parameters
104
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
105
+ def delete_group_membership_with_http_info(id, opts = {})
106
+ if @api_client.config.debugging
107
+ @api_client.config.logger.debug 'Calling API: GroupMembershipsApi.delete_group_membership ...'
108
+ end
109
+ # verify the required parameter 'id' is set
110
+ if @api_client.config.client_side_validation && id.nil?
111
+ fail ArgumentError, "Missing the required parameter 'id' when calling GroupMembershipsApi.delete_group_membership"
112
+ end
113
+ # resource path
114
+ local_var_path = '/api/v1/group_memberships/{id}'.sub('{id}', CGI.escape(id.to_s))
115
+
116
+ # query parameters
117
+ query_params = opts[:query_params] || {}
118
+
119
+ # header parameters
120
+ header_params = opts[:header_params] || {}
121
+ # HTTP header 'Accept' (if needed)
122
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
123
+
124
+ # form parameters
125
+ form_params = opts[:form_params] || {}
126
+
127
+ # http body (model)
128
+ post_body = opts[:debug_body]
129
+
130
+ # return_type
131
+ return_type = opts[:debug_return_type]
132
+
133
+ # auth_names
134
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
135
+
136
+ new_options = opts.merge(
137
+ :operation => :"GroupMembershipsApi.delete_group_membership",
138
+ :header_params => header_params,
139
+ :query_params => query_params,
140
+ :form_params => form_params,
141
+ :body => post_body,
142
+ :auth_names => auth_names,
143
+ :return_type => return_type
144
+ )
145
+
146
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
147
+ if @api_client.config.debugging
148
+ @api_client.config.logger.debug "API called: GroupMembershipsApi#delete_group_membership\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
149
+ end
150
+ return data, status_code, headers
151
+ end
152
+
153
+ # Get Group Membership
154
+ # Return a single membership by id.
155
+ # @param id [String]
156
+ # @param [Hash] opts the optional parameters
157
+ # @return [GroupMembershipResponse]
158
+ def get_group_membership(id, opts = {})
159
+ data, _status_code, _headers = get_group_membership_with_http_info(id, opts)
160
+ data
161
+ end
162
+
163
+ # Get Group Membership
164
+ # Return a single membership by id.
165
+ # @param id [String]
166
+ # @param [Hash] opts the optional parameters
167
+ # @return [Array<(GroupMembershipResponse, Integer, Hash)>] GroupMembershipResponse data, response status code and response headers
168
+ def get_group_membership_with_http_info(id, opts = {})
169
+ if @api_client.config.debugging
170
+ @api_client.config.logger.debug 'Calling API: GroupMembershipsApi.get_group_membership ...'
171
+ end
172
+ # verify the required parameter 'id' is set
173
+ if @api_client.config.client_side_validation && id.nil?
174
+ fail ArgumentError, "Missing the required parameter 'id' when calling GroupMembershipsApi.get_group_membership"
175
+ end
176
+ # resource path
177
+ local_var_path = '/api/v1/group_memberships/{id}'.sub('{id}', CGI.escape(id.to_s))
178
+
179
+ # query parameters
180
+ query_params = opts[:query_params] || {}
181
+
182
+ # header parameters
183
+ header_params = opts[:header_params] || {}
184
+ # HTTP header 'Accept' (if needed)
185
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
186
+
187
+ # form parameters
188
+ form_params = opts[:form_params] || {}
189
+
190
+ # http body (model)
191
+ post_body = opts[:debug_body]
192
+
193
+ # return_type
194
+ return_type = opts[:debug_return_type] || 'GroupMembershipResponse'
195
+
196
+ # auth_names
197
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
198
+
199
+ new_options = opts.merge(
200
+ :operation => :"GroupMembershipsApi.get_group_membership",
201
+ :header_params => header_params,
202
+ :query_params => query_params,
203
+ :form_params => form_params,
204
+ :body => post_body,
205
+ :auth_names => auth_names,
206
+ :return_type => return_type
207
+ )
208
+
209
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
210
+ if @api_client.config.debugging
211
+ @api_client.config.logger.debug "API called: GroupMembershipsApi#get_group_membership\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
212
+ end
213
+ return data, status_code, headers
214
+ end
215
+
216
+ # List Group Memberships
217
+ # List group memberships in the authenticated account. Pass `filter[group]` (a group key) to list members of a single group, or `filter[user]` (a UUID) to list a single user's memberships. The two filters may be combined to look up a specific (user, group) pair.
218
+ # @param [Hash] opts the optional parameters
219
+ # @option opts [String] :filter_group Group key to narrow the result to memberships in that group.
220
+ # @option opts [String] :filter_user User UUID to narrow the result to memberships for that user.
221
+ # @option opts [String] :sort Field to sort by. Prefix with &#x60;-&#x60; for descending order. Default: &#x60;created_at&#x60;. Allowed values: &#x60;created_at&#x60;, &#x60;-created_at&#x60;, &#x60;updated_at&#x60;, &#x60;-updated_at&#x60;. (default to 'created_at')
222
+ # @option opts [Integer] :page_number 1-based page number to return. Optional; defaults to &#x60;1&#x60; when omitted. Must be &#x60;&gt;&#x3D; 1&#x60; — requests with a smaller value are rejected with a 400 error. (default to 1)
223
+ # @option opts [Integer] :page_size Number of items per page. Optional; defaults to &#x60;1000&#x60; when omitted. Must be between &#x60;1&#x60; and &#x60;1000&#x60; inclusive — requests outside that range are rejected with a 400 error. (default to 1000)
224
+ # @option opts [Boolean] :meta_total When &#x60;true&#x60;, the response&#39;s &#x60;meta.pagination&#x60; block includes &#x60;total&#x60; (the total number of matching items across all pages) and &#x60;total_pages&#x60;. Computing these requires an extra &#x60;COUNT&#x60; query, so omit (or pass &#x60;false&#x60;) when the totals are not needed. Defaults to &#x60;false&#x60;. (default to false)
225
+ # @return [GroupMembershipListResponse]
226
+ def list_group_memberships(opts = {})
227
+ data, _status_code, _headers = list_group_memberships_with_http_info(opts)
228
+ data
229
+ end
230
+
231
+ # List Group Memberships
232
+ # List group memberships in the authenticated account. Pass &#x60;filter[group]&#x60; (a group key) to list members of a single group, or &#x60;filter[user]&#x60; (a UUID) to list a single user&#39;s memberships. The two filters may be combined to look up a specific (user, group) pair.
233
+ # @param [Hash] opts the optional parameters
234
+ # @option opts [String] :filter_group Group key to narrow the result to memberships in that group.
235
+ # @option opts [String] :filter_user User UUID to narrow the result to memberships for that user.
236
+ # @option opts [String] :sort Field to sort by. Prefix with &#x60;-&#x60; for descending order. Default: &#x60;created_at&#x60;. Allowed values: &#x60;created_at&#x60;, &#x60;-created_at&#x60;, &#x60;updated_at&#x60;, &#x60;-updated_at&#x60;. (default to 'created_at')
237
+ # @option opts [Integer] :page_number 1-based page number to return. Optional; defaults to &#x60;1&#x60; when omitted. Must be &#x60;&gt;&#x3D; 1&#x60; — requests with a smaller value are rejected with a 400 error. (default to 1)
238
+ # @option opts [Integer] :page_size Number of items per page. Optional; defaults to &#x60;1000&#x60; when omitted. Must be between &#x60;1&#x60; and &#x60;1000&#x60; inclusive — requests outside that range are rejected with a 400 error. (default to 1000)
239
+ # @option opts [Boolean] :meta_total When &#x60;true&#x60;, the response&#39;s &#x60;meta.pagination&#x60; block includes &#x60;total&#x60; (the total number of matching items across all pages) and &#x60;total_pages&#x60;. Computing these requires an extra &#x60;COUNT&#x60; query, so omit (or pass &#x60;false&#x60;) when the totals are not needed. Defaults to &#x60;false&#x60;. (default to false)
240
+ # @return [Array<(GroupMembershipListResponse, Integer, Hash)>] GroupMembershipListResponse data, response status code and response headers
241
+ def list_group_memberships_with_http_info(opts = {})
242
+ if @api_client.config.debugging
243
+ @api_client.config.logger.debug 'Calling API: GroupMembershipsApi.list_group_memberships ...'
244
+ end
245
+ allowable_values = ["created_at", "-created_at", "updated_at", "-updated_at"]
246
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
247
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
248
+ end
249
+ # resource path
250
+ local_var_path = '/api/v1/group_memberships'
251
+
252
+ # query parameters
253
+ query_params = opts[:query_params] || {}
254
+ query_params[:'filter[group]'] = opts[:'filter_group'] if !opts[:'filter_group'].nil?
255
+ query_params[:'filter[user]'] = opts[:'filter_user'] if !opts[:'filter_user'].nil?
256
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
257
+ query_params[:'page[number]'] = opts[:'page_number'] if !opts[:'page_number'].nil?
258
+ query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
259
+ query_params[:'meta[total]'] = opts[:'meta_total'] if !opts[:'meta_total'].nil?
260
+
261
+ # header parameters
262
+ header_params = opts[:header_params] || {}
263
+ # HTTP header 'Accept' (if needed)
264
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
265
+
266
+ # form parameters
267
+ form_params = opts[:form_params] || {}
268
+
269
+ # http body (model)
270
+ post_body = opts[:debug_body]
271
+
272
+ # return_type
273
+ return_type = opts[:debug_return_type] || 'GroupMembershipListResponse'
274
+
275
+ # auth_names
276
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
277
+
278
+ new_options = opts.merge(
279
+ :operation => :"GroupMembershipsApi.list_group_memberships",
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: GroupMembershipsApi#list_group_memberships\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
291
+ end
292
+ return data, status_code, headers
293
+ end
294
+ end
295
+ end
@@ -0,0 +1,366 @@
1
+ =begin
2
+ #smplkit API
3
+
4
+ #API for the smplkit platform.
5
+
6
+ The version of the OpenAPI document: 0.1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.22.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module SmplkitGeneratedClient::App
16
+ class GroupsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create Group
23
+ # Create an Environment Access Group. The caller provides the group id (a snake-case key, unique within the account) in the request body. The id is immutable thereafter. Returns `409` if a group with that id already exists, or `422` if `managed_environments` is not exactly `['*']` or a subset of the account's standard environment keys.
24
+ # @param group_create_request [GroupCreateRequest]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [GroupResponse]
27
+ def create_group(group_create_request, opts = {})
28
+ data, _status_code, _headers = create_group_with_http_info(group_create_request, opts)
29
+ data
30
+ end
31
+
32
+ # Create Group
33
+ # Create an Environment Access Group. The caller provides the group id (a snake-case key, unique within the account) in the request body. The id is immutable thereafter. Returns &#x60;409&#x60; if a group with that id already exists, or &#x60;422&#x60; if &#x60;managed_environments&#x60; is not exactly &#x60;[&#39;*&#39;]&#x60; or a subset of the account&#39;s standard environment keys.
34
+ # @param group_create_request [GroupCreateRequest]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(GroupResponse, Integer, Hash)>] GroupResponse data, response status code and response headers
37
+ def create_group_with_http_info(group_create_request, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: GroupsApi.create_group ...'
40
+ end
41
+ # verify the required parameter 'group_create_request' is set
42
+ if @api_client.config.client_side_validation && group_create_request.nil?
43
+ fail ArgumentError, "Missing the required parameter 'group_create_request' when calling GroupsApi.create_group"
44
+ end
45
+ # resource path
46
+ local_var_path = '/api/v1/groups'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
55
+ # HTTP header 'Content-Type'
56
+ content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
57
+ if !content_type.nil?
58
+ header_params['Content-Type'] = content_type
59
+ end
60
+
61
+ # form parameters
62
+ form_params = opts[:form_params] || {}
63
+
64
+ # http body (model)
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(group_create_request)
66
+
67
+ # return_type
68
+ return_type = opts[:debug_return_type] || 'GroupResponse'
69
+
70
+ # auth_names
71
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
72
+
73
+ new_options = opts.merge(
74
+ :operation => :"GroupsApi.create_group",
75
+ :header_params => header_params,
76
+ :query_params => query_params,
77
+ :form_params => form_params,
78
+ :body => post_body,
79
+ :auth_names => auth_names,
80
+ :return_type => return_type
81
+ )
82
+
83
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: GroupsApi#create_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+
90
+ # Delete Group
91
+ # Delete a group by id. Returns `409` for the reserved `default` group, which every account requires. Deleting a group also cascades to its memberships.
92
+ # @param id [String]
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [nil]
95
+ def delete_group(id, opts = {})
96
+ delete_group_with_http_info(id, opts)
97
+ nil
98
+ end
99
+
100
+ # Delete Group
101
+ # Delete a group by id. Returns &#x60;409&#x60; for the reserved &#x60;default&#x60; group, which every account requires. Deleting a group also cascades to its memberships.
102
+ # @param id [String]
103
+ # @param [Hash] opts the optional parameters
104
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
105
+ def delete_group_with_http_info(id, opts = {})
106
+ if @api_client.config.debugging
107
+ @api_client.config.logger.debug 'Calling API: GroupsApi.delete_group ...'
108
+ end
109
+ # verify the required parameter 'id' is set
110
+ if @api_client.config.client_side_validation && id.nil?
111
+ fail ArgumentError, "Missing the required parameter 'id' when calling GroupsApi.delete_group"
112
+ end
113
+ # resource path
114
+ local_var_path = '/api/v1/groups/{id}'.sub('{id}', CGI.escape(id.to_s))
115
+
116
+ # query parameters
117
+ query_params = opts[:query_params] || {}
118
+
119
+ # header parameters
120
+ header_params = opts[:header_params] || {}
121
+ # HTTP header 'Accept' (if needed)
122
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
123
+
124
+ # form parameters
125
+ form_params = opts[:form_params] || {}
126
+
127
+ # http body (model)
128
+ post_body = opts[:debug_body]
129
+
130
+ # return_type
131
+ return_type = opts[:debug_return_type]
132
+
133
+ # auth_names
134
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
135
+
136
+ new_options = opts.merge(
137
+ :operation => :"GroupsApi.delete_group",
138
+ :header_params => header_params,
139
+ :query_params => query_params,
140
+ :form_params => form_params,
141
+ :body => post_body,
142
+ :auth_names => auth_names,
143
+ :return_type => return_type
144
+ )
145
+
146
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
147
+ if @api_client.config.debugging
148
+ @api_client.config.logger.debug "API called: GroupsApi#delete_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
149
+ end
150
+ return data, status_code, headers
151
+ end
152
+
153
+ # Get Group
154
+ # Return a group by id.
155
+ # @param id [String]
156
+ # @param [Hash] opts the optional parameters
157
+ # @return [GroupResponse]
158
+ def get_group(id, opts = {})
159
+ data, _status_code, _headers = get_group_with_http_info(id, opts)
160
+ data
161
+ end
162
+
163
+ # Get Group
164
+ # Return a group by id.
165
+ # @param id [String]
166
+ # @param [Hash] opts the optional parameters
167
+ # @return [Array<(GroupResponse, Integer, Hash)>] GroupResponse data, response status code and response headers
168
+ def get_group_with_http_info(id, opts = {})
169
+ if @api_client.config.debugging
170
+ @api_client.config.logger.debug 'Calling API: GroupsApi.get_group ...'
171
+ end
172
+ # verify the required parameter 'id' is set
173
+ if @api_client.config.client_side_validation && id.nil?
174
+ fail ArgumentError, "Missing the required parameter 'id' when calling GroupsApi.get_group"
175
+ end
176
+ # resource path
177
+ local_var_path = '/api/v1/groups/{id}'.sub('{id}', CGI.escape(id.to_s))
178
+
179
+ # query parameters
180
+ query_params = opts[:query_params] || {}
181
+
182
+ # header parameters
183
+ header_params = opts[:header_params] || {}
184
+ # HTTP header 'Accept' (if needed)
185
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
186
+
187
+ # form parameters
188
+ form_params = opts[:form_params] || {}
189
+
190
+ # http body (model)
191
+ post_body = opts[:debug_body]
192
+
193
+ # return_type
194
+ return_type = opts[:debug_return_type] || 'GroupResponse'
195
+
196
+ # auth_names
197
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
198
+
199
+ new_options = opts.merge(
200
+ :operation => :"GroupsApi.get_group",
201
+ :header_params => header_params,
202
+ :query_params => query_params,
203
+ :form_params => form_params,
204
+ :body => post_body,
205
+ :auth_names => auth_names,
206
+ :return_type => return_type
207
+ )
208
+
209
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
210
+ if @api_client.config.debugging
211
+ @api_client.config.logger.debug "API called: GroupsApi#get_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
212
+ end
213
+ return data, status_code, headers
214
+ end
215
+
216
+ # List Groups
217
+ # List Environment Access Groups for the authenticated account. `filter[search]` does a case-insensitive substring match against the group `key` and `name`.
218
+ # @param [Hash] opts the optional parameters
219
+ # @option opts [String] :filter_search Case-insensitive substring match against the group &#x60;key&#x60; and &#x60;name&#x60;. A group is returned if either field contains the search term.
220
+ # @option opts [String] :sort Field to sort by. Prefix with &#x60;-&#x60; for descending order. Default: &#x60;name&#x60;. Allowed values: &#x60;created_at&#x60;, &#x60;-created_at&#x60;, &#x60;key&#x60;, &#x60;-key&#x60;, &#x60;name&#x60;, &#x60;-name&#x60;, &#x60;updated_at&#x60;, &#x60;-updated_at&#x60;. (default to 'name')
221
+ # @option opts [Integer] :page_number 1-based page number to return. Optional; defaults to &#x60;1&#x60; when omitted. Must be &#x60;&gt;&#x3D; 1&#x60; — requests with a smaller value are rejected with a 400 error. (default to 1)
222
+ # @option opts [Integer] :page_size Number of items per page. Optional; defaults to &#x60;1000&#x60; when omitted. Must be between &#x60;1&#x60; and &#x60;1000&#x60; inclusive — requests outside that range are rejected with a 400 error. (default to 1000)
223
+ # @option opts [Boolean] :meta_total When &#x60;true&#x60;, the response&#39;s &#x60;meta.pagination&#x60; block includes &#x60;total&#x60; (the total number of matching items across all pages) and &#x60;total_pages&#x60;. Computing these requires an extra &#x60;COUNT&#x60; query, so omit (or pass &#x60;false&#x60;) when the totals are not needed. Defaults to &#x60;false&#x60;. (default to false)
224
+ # @return [GroupListResponse]
225
+ def list_groups(opts = {})
226
+ data, _status_code, _headers = list_groups_with_http_info(opts)
227
+ data
228
+ end
229
+
230
+ # List Groups
231
+ # List Environment Access Groups for the authenticated account. &#x60;filter[search]&#x60; does a case-insensitive substring match against the group &#x60;key&#x60; and &#x60;name&#x60;.
232
+ # @param [Hash] opts the optional parameters
233
+ # @option opts [String] :filter_search Case-insensitive substring match against the group &#x60;key&#x60; and &#x60;name&#x60;. A group is returned if either field contains the search term.
234
+ # @option opts [String] :sort Field to sort by. Prefix with &#x60;-&#x60; for descending order. Default: &#x60;name&#x60;. Allowed values: &#x60;created_at&#x60;, &#x60;-created_at&#x60;, &#x60;key&#x60;, &#x60;-key&#x60;, &#x60;name&#x60;, &#x60;-name&#x60;, &#x60;updated_at&#x60;, &#x60;-updated_at&#x60;. (default to 'name')
235
+ # @option opts [Integer] :page_number 1-based page number to return. Optional; defaults to &#x60;1&#x60; when omitted. Must be &#x60;&gt;&#x3D; 1&#x60; — requests with a smaller value are rejected with a 400 error. (default to 1)
236
+ # @option opts [Integer] :page_size Number of items per page. Optional; defaults to &#x60;1000&#x60; when omitted. Must be between &#x60;1&#x60; and &#x60;1000&#x60; inclusive — requests outside that range are rejected with a 400 error. (default to 1000)
237
+ # @option opts [Boolean] :meta_total When &#x60;true&#x60;, the response&#39;s &#x60;meta.pagination&#x60; block includes &#x60;total&#x60; (the total number of matching items across all pages) and &#x60;total_pages&#x60;. Computing these requires an extra &#x60;COUNT&#x60; query, so omit (or pass &#x60;false&#x60;) when the totals are not needed. Defaults to &#x60;false&#x60;. (default to false)
238
+ # @return [Array<(GroupListResponse, Integer, Hash)>] GroupListResponse data, response status code and response headers
239
+ def list_groups_with_http_info(opts = {})
240
+ if @api_client.config.debugging
241
+ @api_client.config.logger.debug 'Calling API: GroupsApi.list_groups ...'
242
+ end
243
+ allowable_values = ["created_at", "-created_at", "key", "-key", "name", "-name", "updated_at", "-updated_at"]
244
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
245
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
246
+ end
247
+ # resource path
248
+ local_var_path = '/api/v1/groups'
249
+
250
+ # query parameters
251
+ query_params = opts[:query_params] || {}
252
+ query_params[:'filter[search]'] = opts[:'filter_search'] if !opts[:'filter_search'].nil?
253
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
254
+ query_params[:'page[number]'] = opts[:'page_number'] if !opts[:'page_number'].nil?
255
+ query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil?
256
+ query_params[:'meta[total]'] = opts[:'meta_total'] if !opts[:'meta_total'].nil?
257
+
258
+ # header parameters
259
+ header_params = opts[:header_params] || {}
260
+ # HTTP header 'Accept' (if needed)
261
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
262
+
263
+ # form parameters
264
+ form_params = opts[:form_params] || {}
265
+
266
+ # http body (model)
267
+ post_body = opts[:debug_body]
268
+
269
+ # return_type
270
+ return_type = opts[:debug_return_type] || 'GroupListResponse'
271
+
272
+ # auth_names
273
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
274
+
275
+ new_options = opts.merge(
276
+ :operation => :"GroupsApi.list_groups",
277
+ :header_params => header_params,
278
+ :query_params => query_params,
279
+ :form_params => form_params,
280
+ :body => post_body,
281
+ :auth_names => auth_names,
282
+ :return_type => return_type
283
+ )
284
+
285
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
286
+ if @api_client.config.debugging
287
+ @api_client.config.logger.debug "API called: GroupsApi#list_groups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
288
+ end
289
+ return data, status_code, headers
290
+ end
291
+
292
+ # Update Group
293
+ # Update a group's name, description, and managed environments. Whole-resource semantics — submit every writable attribute. For the reserved `default` group, `managed_environments` may be changed (this is the lever that narrows the account-wide baseline), but renaming or other identity changes are rejected with `409`. Invalid `managed_environments` is `422`.
294
+ # @param id [String]
295
+ # @param group_request [GroupRequest]
296
+ # @param [Hash] opts the optional parameters
297
+ # @return [GroupResponse]
298
+ def update_group(id, group_request, opts = {})
299
+ data, _status_code, _headers = update_group_with_http_info(id, group_request, opts)
300
+ data
301
+ end
302
+
303
+ # Update Group
304
+ # Update a group&#39;s name, description, and managed environments. Whole-resource semantics — submit every writable attribute. For the reserved &#x60;default&#x60; group, &#x60;managed_environments&#x60; may be changed (this is the lever that narrows the account-wide baseline), but renaming or other identity changes are rejected with &#x60;409&#x60;. Invalid &#x60;managed_environments&#x60; is &#x60;422&#x60;.
305
+ # @param id [String]
306
+ # @param group_request [GroupRequest]
307
+ # @param [Hash] opts the optional parameters
308
+ # @return [Array<(GroupResponse, Integer, Hash)>] GroupResponse data, response status code and response headers
309
+ def update_group_with_http_info(id, group_request, opts = {})
310
+ if @api_client.config.debugging
311
+ @api_client.config.logger.debug 'Calling API: GroupsApi.update_group ...'
312
+ end
313
+ # verify the required parameter 'id' is set
314
+ if @api_client.config.client_side_validation && id.nil?
315
+ fail ArgumentError, "Missing the required parameter 'id' when calling GroupsApi.update_group"
316
+ end
317
+ # verify the required parameter 'group_request' is set
318
+ if @api_client.config.client_side_validation && group_request.nil?
319
+ fail ArgumentError, "Missing the required parameter 'group_request' when calling GroupsApi.update_group"
320
+ end
321
+ # resource path
322
+ local_var_path = '/api/v1/groups/{id}'.sub('{id}', CGI.escape(id.to_s))
323
+
324
+ # query parameters
325
+ query_params = opts[:query_params] || {}
326
+
327
+ # header parameters
328
+ header_params = opts[:header_params] || {}
329
+ # HTTP header 'Accept' (if needed)
330
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.api+json']) unless header_params['Accept']
331
+ # HTTP header 'Content-Type'
332
+ content_type = @api_client.select_header_content_type(['application/vnd.api+json'])
333
+ if !content_type.nil?
334
+ header_params['Content-Type'] = content_type
335
+ end
336
+
337
+ # form parameters
338
+ form_params = opts[:form_params] || {}
339
+
340
+ # http body (model)
341
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(group_request)
342
+
343
+ # return_type
344
+ return_type = opts[:debug_return_type] || 'GroupResponse'
345
+
346
+ # auth_names
347
+ auth_names = opts[:debug_auth_names] || ['HTTPBearer']
348
+
349
+ new_options = opts.merge(
350
+ :operation => :"GroupsApi.update_group",
351
+ :header_params => header_params,
352
+ :query_params => query_params,
353
+ :form_params => form_params,
354
+ :body => post_body,
355
+ :auth_names => auth_names,
356
+ :return_type => return_type
357
+ )
358
+
359
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
360
+ if @api_client.config.debugging
361
+ @api_client.config.logger.debug "API called: GroupsApi#update_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
362
+ end
363
+ return data, status_code, headers
364
+ end
365
+ end
366
+ end