stackit-secretsmanager 0.0.1a0__py3-none-any.whl

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.
@@ -0,0 +1,4371 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ STACKIT Secrets Manager API
5
+
6
+ This API provides endpoints for managing the Secrets-Manager.
7
+
8
+ The version of the OpenAPI document: 1.4.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501 docstring might be too long
13
+
14
+ from typing import Any, Dict, List, Optional, Tuple, Union
15
+
16
+ from pydantic import Field, StrictFloat, StrictInt, StrictStr, validate_call
17
+ from stackit.core.configuration import Configuration
18
+ from typing_extensions import Annotated
19
+
20
+ from stackit.secretsmanager.api_client import ApiClient, RequestSerialized
21
+ from stackit.secretsmanager.api_response import ApiResponse
22
+ from stackit.secretsmanager.models.acl import ACL
23
+ from stackit.secretsmanager.models.create_acl_payload import CreateACLPayload
24
+ from stackit.secretsmanager.models.create_instance_payload import CreateInstancePayload
25
+ from stackit.secretsmanager.models.create_user_payload import CreateUserPayload
26
+ from stackit.secretsmanager.models.instance import Instance
27
+ from stackit.secretsmanager.models.list_acls_response import ListACLsResponse
28
+ from stackit.secretsmanager.models.list_instances_response import ListInstancesResponse
29
+ from stackit.secretsmanager.models.list_users_response import ListUsersResponse
30
+ from stackit.secretsmanager.models.update_acl_payload import UpdateACLPayload
31
+ from stackit.secretsmanager.models.update_acls_payload import UpdateACLsPayload
32
+ from stackit.secretsmanager.models.update_instance_payload import UpdateInstancePayload
33
+ from stackit.secretsmanager.models.update_user_payload import UpdateUserPayload
34
+ from stackit.secretsmanager.models.user import User
35
+ from stackit.secretsmanager.rest import RESTResponseType
36
+
37
+
38
+ class DefaultApi:
39
+ """NOTE: This class is auto generated by OpenAPI Generator
40
+ Ref: https://openapi-generator.tech
41
+
42
+ Do not edit the class manually.
43
+ """
44
+
45
+ def __init__(self, configuration: Configuration = None) -> None:
46
+ if configuration is None:
47
+ configuration = Configuration()
48
+ self.configuration = configuration
49
+ self.api_client = ApiClient(self.configuration)
50
+
51
+ @validate_call
52
+ def create_acl(
53
+ self,
54
+ project_id: Annotated[
55
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
56
+ ],
57
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
58
+ create_acl_payload: CreateACLPayload,
59
+ _request_timeout: Union[
60
+ None,
61
+ Annotated[StrictFloat, Field(gt=0)],
62
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
63
+ ] = None,
64
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
65
+ _content_type: Optional[StrictStr] = None,
66
+ _headers: Optional[Dict[StrictStr, Any]] = None,
67
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
68
+ ) -> ACL:
69
+ """create_acl
70
+
71
+ Creates a new Secrets Manager acl within the project.
72
+
73
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
74
+ :type project_id: str
75
+ :param instance_id: The Secrets Manager instance UUID. (required)
76
+ :type instance_id: str
77
+ :param create_acl_payload: (required)
78
+ :type create_acl_payload: CreateACLPayload
79
+ :param _request_timeout: timeout setting for this request. If one
80
+ number provided, it will be total request
81
+ timeout. It can also be a pair (tuple) of
82
+ (connection, read) timeouts.
83
+ :type _request_timeout: int, tuple(int, int), optional
84
+ :param _request_auth: set to override the auth_settings for an a single
85
+ request; this effectively ignores the
86
+ authentication in the spec for a single request.
87
+ :type _request_auth: dict, optional
88
+ :param _content_type: force content-type for the request.
89
+ :type _content_type: str, Optional
90
+ :param _headers: set to override the headers for a single
91
+ request; this effectively ignores the headers
92
+ in the spec for a single request.
93
+ :type _headers: dict, optional
94
+ :param _host_index: set to override the host_index for a single
95
+ request; this effectively ignores the host_index
96
+ in the spec for a single request.
97
+ :type _host_index: int, optional
98
+ :return: Returns the result object.
99
+ """ # noqa: E501 docstring might be too long
100
+
101
+ _param = self._create_acl_serialize(
102
+ project_id=project_id,
103
+ instance_id=instance_id,
104
+ create_acl_payload=create_acl_payload,
105
+ _request_auth=_request_auth,
106
+ _content_type=_content_type,
107
+ _headers=_headers,
108
+ _host_index=_host_index,
109
+ )
110
+
111
+ _response_types_map: Dict[str, Optional[str]] = {
112
+ "201": "ACL",
113
+ "400": None,
114
+ "401": None,
115
+ "404": None,
116
+ "500": None,
117
+ }
118
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
119
+ response_data.read()
120
+ return self.api_client.response_deserialize(
121
+ response_data=response_data,
122
+ response_types_map=_response_types_map,
123
+ ).data
124
+
125
+ @validate_call
126
+ def create_acl_with_http_info(
127
+ self,
128
+ project_id: Annotated[
129
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
130
+ ],
131
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
132
+ create_acl_payload: CreateACLPayload,
133
+ _request_timeout: Union[
134
+ None,
135
+ Annotated[StrictFloat, Field(gt=0)],
136
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
137
+ ] = None,
138
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
139
+ _content_type: Optional[StrictStr] = None,
140
+ _headers: Optional[Dict[StrictStr, Any]] = None,
141
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
142
+ ) -> ApiResponse[ACL]:
143
+ """create_acl
144
+
145
+ Creates a new Secrets Manager acl within the project.
146
+
147
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
148
+ :type project_id: str
149
+ :param instance_id: The Secrets Manager instance UUID. (required)
150
+ :type instance_id: str
151
+ :param create_acl_payload: (required)
152
+ :type create_acl_payload: CreateACLPayload
153
+ :param _request_timeout: timeout setting for this request. If one
154
+ number provided, it will be total request
155
+ timeout. It can also be a pair (tuple) of
156
+ (connection, read) timeouts.
157
+ :type _request_timeout: int, tuple(int, int), optional
158
+ :param _request_auth: set to override the auth_settings for an a single
159
+ request; this effectively ignores the
160
+ authentication in the spec for a single request.
161
+ :type _request_auth: dict, optional
162
+ :param _content_type: force content-type for the request.
163
+ :type _content_type: str, Optional
164
+ :param _headers: set to override the headers for a single
165
+ request; this effectively ignores the headers
166
+ in the spec for a single request.
167
+ :type _headers: dict, optional
168
+ :param _host_index: set to override the host_index for a single
169
+ request; this effectively ignores the host_index
170
+ in the spec for a single request.
171
+ :type _host_index: int, optional
172
+ :return: Returns the result object.
173
+ """ # noqa: E501 docstring might be too long
174
+
175
+ _param = self._create_acl_serialize(
176
+ project_id=project_id,
177
+ instance_id=instance_id,
178
+ create_acl_payload=create_acl_payload,
179
+ _request_auth=_request_auth,
180
+ _content_type=_content_type,
181
+ _headers=_headers,
182
+ _host_index=_host_index,
183
+ )
184
+
185
+ _response_types_map: Dict[str, Optional[str]] = {
186
+ "201": "ACL",
187
+ "400": None,
188
+ "401": None,
189
+ "404": None,
190
+ "500": None,
191
+ }
192
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
193
+ response_data.read()
194
+ return self.api_client.response_deserialize(
195
+ response_data=response_data,
196
+ response_types_map=_response_types_map,
197
+ )
198
+
199
+ @validate_call
200
+ def create_acl_without_preload_content(
201
+ self,
202
+ project_id: Annotated[
203
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
204
+ ],
205
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
206
+ create_acl_payload: CreateACLPayload,
207
+ _request_timeout: Union[
208
+ None,
209
+ Annotated[StrictFloat, Field(gt=0)],
210
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
211
+ ] = None,
212
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
213
+ _content_type: Optional[StrictStr] = None,
214
+ _headers: Optional[Dict[StrictStr, Any]] = None,
215
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
216
+ ) -> RESTResponseType:
217
+ """create_acl
218
+
219
+ Creates a new Secrets Manager acl within the project.
220
+
221
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
222
+ :type project_id: str
223
+ :param instance_id: The Secrets Manager instance UUID. (required)
224
+ :type instance_id: str
225
+ :param create_acl_payload: (required)
226
+ :type create_acl_payload: CreateACLPayload
227
+ :param _request_timeout: timeout setting for this request. If one
228
+ number provided, it will be total request
229
+ timeout. It can also be a pair (tuple) of
230
+ (connection, read) timeouts.
231
+ :type _request_timeout: int, tuple(int, int), optional
232
+ :param _request_auth: set to override the auth_settings for an a single
233
+ request; this effectively ignores the
234
+ authentication in the spec for a single request.
235
+ :type _request_auth: dict, optional
236
+ :param _content_type: force content-type for the request.
237
+ :type _content_type: str, Optional
238
+ :param _headers: set to override the headers for a single
239
+ request; this effectively ignores the headers
240
+ in the spec for a single request.
241
+ :type _headers: dict, optional
242
+ :param _host_index: set to override the host_index for a single
243
+ request; this effectively ignores the host_index
244
+ in the spec for a single request.
245
+ :type _host_index: int, optional
246
+ :return: Returns the result object.
247
+ """ # noqa: E501 docstring might be too long
248
+
249
+ _param = self._create_acl_serialize(
250
+ project_id=project_id,
251
+ instance_id=instance_id,
252
+ create_acl_payload=create_acl_payload,
253
+ _request_auth=_request_auth,
254
+ _content_type=_content_type,
255
+ _headers=_headers,
256
+ _host_index=_host_index,
257
+ )
258
+
259
+ _response_types_map: Dict[str, Optional[str]] = {
260
+ "201": "ACL",
261
+ "400": None,
262
+ "401": None,
263
+ "404": None,
264
+ "500": None,
265
+ }
266
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
267
+ return response_data.response
268
+
269
+ def _create_acl_serialize(
270
+ self,
271
+ project_id,
272
+ instance_id,
273
+ create_acl_payload,
274
+ _request_auth,
275
+ _content_type,
276
+ _headers,
277
+ _host_index,
278
+ ) -> RequestSerialized:
279
+
280
+ _host = None
281
+
282
+ _collection_formats: Dict[str, str] = {}
283
+
284
+ _path_params: Dict[str, str] = {}
285
+ _query_params: List[Tuple[str, str]] = []
286
+ _header_params: Dict[str, Optional[str]] = _headers or {}
287
+ _form_params: List[Tuple[str, str]] = []
288
+ _files: Dict[str, Union[str, bytes]] = {}
289
+ _body_params: Optional[bytes] = None
290
+
291
+ # process the path parameters
292
+ if project_id is not None:
293
+ _path_params["projectId"] = project_id
294
+ if instance_id is not None:
295
+ _path_params["instanceId"] = instance_id
296
+ # process the query parameters
297
+ # process the header parameters
298
+ # process the form parameters
299
+ # process the body parameter
300
+ if create_acl_payload is not None:
301
+ _body_params = create_acl_payload
302
+
303
+ # set the HTTP header `Accept`
304
+ if "Accept" not in _header_params:
305
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
306
+
307
+ # set the HTTP header `Content-Type`
308
+ if _content_type:
309
+ _header_params["Content-Type"] = _content_type
310
+ else:
311
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
312
+ if _default_content_type is not None:
313
+ _header_params["Content-Type"] = _default_content_type
314
+
315
+ # authentication setting
316
+ _auth_settings: List[str] = []
317
+
318
+ return self.api_client.param_serialize(
319
+ method="POST",
320
+ resource_path="/v1/projects/{projectId}/instances/{instanceId}/acls",
321
+ path_params=_path_params,
322
+ query_params=_query_params,
323
+ header_params=_header_params,
324
+ body=_body_params,
325
+ post_params=_form_params,
326
+ files=_files,
327
+ auth_settings=_auth_settings,
328
+ collection_formats=_collection_formats,
329
+ _host=_host,
330
+ _request_auth=_request_auth,
331
+ )
332
+
333
+ @validate_call
334
+ def create_instance(
335
+ self,
336
+ project_id: Annotated[
337
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
338
+ ],
339
+ create_instance_payload: CreateInstancePayload,
340
+ _request_timeout: Union[
341
+ None,
342
+ Annotated[StrictFloat, Field(gt=0)],
343
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
344
+ ] = None,
345
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
346
+ _content_type: Optional[StrictStr] = None,
347
+ _headers: Optional[Dict[StrictStr, Any]] = None,
348
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
349
+ ) -> Instance:
350
+ """create_instance
351
+
352
+ Creates a new Secrets Manager instance within the project.
353
+
354
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
355
+ :type project_id: str
356
+ :param create_instance_payload: (required)
357
+ :type create_instance_payload: CreateInstancePayload
358
+ :param _request_timeout: timeout setting for this request. If one
359
+ number provided, it will be total request
360
+ timeout. It can also be a pair (tuple) of
361
+ (connection, read) timeouts.
362
+ :type _request_timeout: int, tuple(int, int), optional
363
+ :param _request_auth: set to override the auth_settings for an a single
364
+ request; this effectively ignores the
365
+ authentication in the spec for a single request.
366
+ :type _request_auth: dict, optional
367
+ :param _content_type: force content-type for the request.
368
+ :type _content_type: str, Optional
369
+ :param _headers: set to override the headers for a single
370
+ request; this effectively ignores the headers
371
+ in the spec for a single request.
372
+ :type _headers: dict, optional
373
+ :param _host_index: set to override the host_index for a single
374
+ request; this effectively ignores the host_index
375
+ in the spec for a single request.
376
+ :type _host_index: int, optional
377
+ :return: Returns the result object.
378
+ """ # noqa: E501 docstring might be too long
379
+
380
+ _param = self._create_instance_serialize(
381
+ project_id=project_id,
382
+ create_instance_payload=create_instance_payload,
383
+ _request_auth=_request_auth,
384
+ _content_type=_content_type,
385
+ _headers=_headers,
386
+ _host_index=_host_index,
387
+ )
388
+
389
+ _response_types_map: Dict[str, Optional[str]] = {
390
+ "201": "Instance",
391
+ "400": None,
392
+ "401": None,
393
+ "500": None,
394
+ }
395
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
396
+ response_data.read()
397
+ return self.api_client.response_deserialize(
398
+ response_data=response_data,
399
+ response_types_map=_response_types_map,
400
+ ).data
401
+
402
+ @validate_call
403
+ def create_instance_with_http_info(
404
+ self,
405
+ project_id: Annotated[
406
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
407
+ ],
408
+ create_instance_payload: CreateInstancePayload,
409
+ _request_timeout: Union[
410
+ None,
411
+ Annotated[StrictFloat, Field(gt=0)],
412
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
413
+ ] = None,
414
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
415
+ _content_type: Optional[StrictStr] = None,
416
+ _headers: Optional[Dict[StrictStr, Any]] = None,
417
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
418
+ ) -> ApiResponse[Instance]:
419
+ """create_instance
420
+
421
+ Creates a new Secrets Manager instance within the project.
422
+
423
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
424
+ :type project_id: str
425
+ :param create_instance_payload: (required)
426
+ :type create_instance_payload: CreateInstancePayload
427
+ :param _request_timeout: timeout setting for this request. If one
428
+ number provided, it will be total request
429
+ timeout. It can also be a pair (tuple) of
430
+ (connection, read) timeouts.
431
+ :type _request_timeout: int, tuple(int, int), optional
432
+ :param _request_auth: set to override the auth_settings for an a single
433
+ request; this effectively ignores the
434
+ authentication in the spec for a single request.
435
+ :type _request_auth: dict, optional
436
+ :param _content_type: force content-type for the request.
437
+ :type _content_type: str, Optional
438
+ :param _headers: set to override the headers for a single
439
+ request; this effectively ignores the headers
440
+ in the spec for a single request.
441
+ :type _headers: dict, optional
442
+ :param _host_index: set to override the host_index for a single
443
+ request; this effectively ignores the host_index
444
+ in the spec for a single request.
445
+ :type _host_index: int, optional
446
+ :return: Returns the result object.
447
+ """ # noqa: E501 docstring might be too long
448
+
449
+ _param = self._create_instance_serialize(
450
+ project_id=project_id,
451
+ create_instance_payload=create_instance_payload,
452
+ _request_auth=_request_auth,
453
+ _content_type=_content_type,
454
+ _headers=_headers,
455
+ _host_index=_host_index,
456
+ )
457
+
458
+ _response_types_map: Dict[str, Optional[str]] = {
459
+ "201": "Instance",
460
+ "400": None,
461
+ "401": None,
462
+ "500": None,
463
+ }
464
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
465
+ response_data.read()
466
+ return self.api_client.response_deserialize(
467
+ response_data=response_data,
468
+ response_types_map=_response_types_map,
469
+ )
470
+
471
+ @validate_call
472
+ def create_instance_without_preload_content(
473
+ self,
474
+ project_id: Annotated[
475
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
476
+ ],
477
+ create_instance_payload: CreateInstancePayload,
478
+ _request_timeout: Union[
479
+ None,
480
+ Annotated[StrictFloat, Field(gt=0)],
481
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
482
+ ] = None,
483
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
484
+ _content_type: Optional[StrictStr] = None,
485
+ _headers: Optional[Dict[StrictStr, Any]] = None,
486
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
487
+ ) -> RESTResponseType:
488
+ """create_instance
489
+
490
+ Creates a new Secrets Manager instance within the project.
491
+
492
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
493
+ :type project_id: str
494
+ :param create_instance_payload: (required)
495
+ :type create_instance_payload: CreateInstancePayload
496
+ :param _request_timeout: timeout setting for this request. If one
497
+ number provided, it will be total request
498
+ timeout. It can also be a pair (tuple) of
499
+ (connection, read) timeouts.
500
+ :type _request_timeout: int, tuple(int, int), optional
501
+ :param _request_auth: set to override the auth_settings for an a single
502
+ request; this effectively ignores the
503
+ authentication in the spec for a single request.
504
+ :type _request_auth: dict, optional
505
+ :param _content_type: force content-type for the request.
506
+ :type _content_type: str, Optional
507
+ :param _headers: set to override the headers for a single
508
+ request; this effectively ignores the headers
509
+ in the spec for a single request.
510
+ :type _headers: dict, optional
511
+ :param _host_index: set to override the host_index for a single
512
+ request; this effectively ignores the host_index
513
+ in the spec for a single request.
514
+ :type _host_index: int, optional
515
+ :return: Returns the result object.
516
+ """ # noqa: E501 docstring might be too long
517
+
518
+ _param = self._create_instance_serialize(
519
+ project_id=project_id,
520
+ create_instance_payload=create_instance_payload,
521
+ _request_auth=_request_auth,
522
+ _content_type=_content_type,
523
+ _headers=_headers,
524
+ _host_index=_host_index,
525
+ )
526
+
527
+ _response_types_map: Dict[str, Optional[str]] = {
528
+ "201": "Instance",
529
+ "400": None,
530
+ "401": None,
531
+ "500": None,
532
+ }
533
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
534
+ return response_data.response
535
+
536
+ def _create_instance_serialize(
537
+ self,
538
+ project_id,
539
+ create_instance_payload,
540
+ _request_auth,
541
+ _content_type,
542
+ _headers,
543
+ _host_index,
544
+ ) -> RequestSerialized:
545
+
546
+ _host = None
547
+
548
+ _collection_formats: Dict[str, str] = {}
549
+
550
+ _path_params: Dict[str, str] = {}
551
+ _query_params: List[Tuple[str, str]] = []
552
+ _header_params: Dict[str, Optional[str]] = _headers or {}
553
+ _form_params: List[Tuple[str, str]] = []
554
+ _files: Dict[str, Union[str, bytes]] = {}
555
+ _body_params: Optional[bytes] = None
556
+
557
+ # process the path parameters
558
+ if project_id is not None:
559
+ _path_params["projectId"] = project_id
560
+ # process the query parameters
561
+ # process the header parameters
562
+ # process the form parameters
563
+ # process the body parameter
564
+ if create_instance_payload is not None:
565
+ _body_params = create_instance_payload
566
+
567
+ # set the HTTP header `Accept`
568
+ if "Accept" not in _header_params:
569
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
570
+
571
+ # set the HTTP header `Content-Type`
572
+ if _content_type:
573
+ _header_params["Content-Type"] = _content_type
574
+ else:
575
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
576
+ if _default_content_type is not None:
577
+ _header_params["Content-Type"] = _default_content_type
578
+
579
+ # authentication setting
580
+ _auth_settings: List[str] = []
581
+
582
+ return self.api_client.param_serialize(
583
+ method="POST",
584
+ resource_path="/v1/projects/{projectId}/instances",
585
+ path_params=_path_params,
586
+ query_params=_query_params,
587
+ header_params=_header_params,
588
+ body=_body_params,
589
+ post_params=_form_params,
590
+ files=_files,
591
+ auth_settings=_auth_settings,
592
+ collection_formats=_collection_formats,
593
+ _host=_host,
594
+ _request_auth=_request_auth,
595
+ )
596
+
597
+ @validate_call
598
+ def create_user(
599
+ self,
600
+ project_id: Annotated[
601
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
602
+ ],
603
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
604
+ create_user_payload: CreateUserPayload,
605
+ _request_timeout: Union[
606
+ None,
607
+ Annotated[StrictFloat, Field(gt=0)],
608
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
609
+ ] = None,
610
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
611
+ _content_type: Optional[StrictStr] = None,
612
+ _headers: Optional[Dict[StrictStr, Any]] = None,
613
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
614
+ ) -> User:
615
+ """create_user
616
+
617
+ Creates a new user for the given Secrets Manager instance.
618
+
619
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
620
+ :type project_id: str
621
+ :param instance_id: The Secrets Manager instance UUID. (required)
622
+ :type instance_id: str
623
+ :param create_user_payload: (required)
624
+ :type create_user_payload: CreateUserPayload
625
+ :param _request_timeout: timeout setting for this request. If one
626
+ number provided, it will be total request
627
+ timeout. It can also be a pair (tuple) of
628
+ (connection, read) timeouts.
629
+ :type _request_timeout: int, tuple(int, int), optional
630
+ :param _request_auth: set to override the auth_settings for an a single
631
+ request; this effectively ignores the
632
+ authentication in the spec for a single request.
633
+ :type _request_auth: dict, optional
634
+ :param _content_type: force content-type for the request.
635
+ :type _content_type: str, Optional
636
+ :param _headers: set to override the headers for a single
637
+ request; this effectively ignores the headers
638
+ in the spec for a single request.
639
+ :type _headers: dict, optional
640
+ :param _host_index: set to override the host_index for a single
641
+ request; this effectively ignores the host_index
642
+ in the spec for a single request.
643
+ :type _host_index: int, optional
644
+ :return: Returns the result object.
645
+ """ # noqa: E501 docstring might be too long
646
+
647
+ _param = self._create_user_serialize(
648
+ project_id=project_id,
649
+ instance_id=instance_id,
650
+ create_user_payload=create_user_payload,
651
+ _request_auth=_request_auth,
652
+ _content_type=_content_type,
653
+ _headers=_headers,
654
+ _host_index=_host_index,
655
+ )
656
+
657
+ _response_types_map: Dict[str, Optional[str]] = {
658
+ "200": "User",
659
+ "400": None,
660
+ "401": None,
661
+ "404": None,
662
+ "409": None,
663
+ "500": None,
664
+ }
665
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
666
+ response_data.read()
667
+ return self.api_client.response_deserialize(
668
+ response_data=response_data,
669
+ response_types_map=_response_types_map,
670
+ ).data
671
+
672
+ @validate_call
673
+ def create_user_with_http_info(
674
+ self,
675
+ project_id: Annotated[
676
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
677
+ ],
678
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
679
+ create_user_payload: CreateUserPayload,
680
+ _request_timeout: Union[
681
+ None,
682
+ Annotated[StrictFloat, Field(gt=0)],
683
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
684
+ ] = None,
685
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
686
+ _content_type: Optional[StrictStr] = None,
687
+ _headers: Optional[Dict[StrictStr, Any]] = None,
688
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
689
+ ) -> ApiResponse[User]:
690
+ """create_user
691
+
692
+ Creates a new user for the given Secrets Manager instance.
693
+
694
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
695
+ :type project_id: str
696
+ :param instance_id: The Secrets Manager instance UUID. (required)
697
+ :type instance_id: str
698
+ :param create_user_payload: (required)
699
+ :type create_user_payload: CreateUserPayload
700
+ :param _request_timeout: timeout setting for this request. If one
701
+ number provided, it will be total request
702
+ timeout. It can also be a pair (tuple) of
703
+ (connection, read) timeouts.
704
+ :type _request_timeout: int, tuple(int, int), optional
705
+ :param _request_auth: set to override the auth_settings for an a single
706
+ request; this effectively ignores the
707
+ authentication in the spec for a single request.
708
+ :type _request_auth: dict, optional
709
+ :param _content_type: force content-type for the request.
710
+ :type _content_type: str, Optional
711
+ :param _headers: set to override the headers for a single
712
+ request; this effectively ignores the headers
713
+ in the spec for a single request.
714
+ :type _headers: dict, optional
715
+ :param _host_index: set to override the host_index for a single
716
+ request; this effectively ignores the host_index
717
+ in the spec for a single request.
718
+ :type _host_index: int, optional
719
+ :return: Returns the result object.
720
+ """ # noqa: E501 docstring might be too long
721
+
722
+ _param = self._create_user_serialize(
723
+ project_id=project_id,
724
+ instance_id=instance_id,
725
+ create_user_payload=create_user_payload,
726
+ _request_auth=_request_auth,
727
+ _content_type=_content_type,
728
+ _headers=_headers,
729
+ _host_index=_host_index,
730
+ )
731
+
732
+ _response_types_map: Dict[str, Optional[str]] = {
733
+ "200": "User",
734
+ "400": None,
735
+ "401": None,
736
+ "404": None,
737
+ "409": None,
738
+ "500": None,
739
+ }
740
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
741
+ response_data.read()
742
+ return self.api_client.response_deserialize(
743
+ response_data=response_data,
744
+ response_types_map=_response_types_map,
745
+ )
746
+
747
+ @validate_call
748
+ def create_user_without_preload_content(
749
+ self,
750
+ project_id: Annotated[
751
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
752
+ ],
753
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
754
+ create_user_payload: CreateUserPayload,
755
+ _request_timeout: Union[
756
+ None,
757
+ Annotated[StrictFloat, Field(gt=0)],
758
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
759
+ ] = None,
760
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
761
+ _content_type: Optional[StrictStr] = None,
762
+ _headers: Optional[Dict[StrictStr, Any]] = None,
763
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
764
+ ) -> RESTResponseType:
765
+ """create_user
766
+
767
+ Creates a new user for the given Secrets Manager instance.
768
+
769
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
770
+ :type project_id: str
771
+ :param instance_id: The Secrets Manager instance UUID. (required)
772
+ :type instance_id: str
773
+ :param create_user_payload: (required)
774
+ :type create_user_payload: CreateUserPayload
775
+ :param _request_timeout: timeout setting for this request. If one
776
+ number provided, it will be total request
777
+ timeout. It can also be a pair (tuple) of
778
+ (connection, read) timeouts.
779
+ :type _request_timeout: int, tuple(int, int), optional
780
+ :param _request_auth: set to override the auth_settings for an a single
781
+ request; this effectively ignores the
782
+ authentication in the spec for a single request.
783
+ :type _request_auth: dict, optional
784
+ :param _content_type: force content-type for the request.
785
+ :type _content_type: str, Optional
786
+ :param _headers: set to override the headers for a single
787
+ request; this effectively ignores the headers
788
+ in the spec for a single request.
789
+ :type _headers: dict, optional
790
+ :param _host_index: set to override the host_index for a single
791
+ request; this effectively ignores the host_index
792
+ in the spec for a single request.
793
+ :type _host_index: int, optional
794
+ :return: Returns the result object.
795
+ """ # noqa: E501 docstring might be too long
796
+
797
+ _param = self._create_user_serialize(
798
+ project_id=project_id,
799
+ instance_id=instance_id,
800
+ create_user_payload=create_user_payload,
801
+ _request_auth=_request_auth,
802
+ _content_type=_content_type,
803
+ _headers=_headers,
804
+ _host_index=_host_index,
805
+ )
806
+
807
+ _response_types_map: Dict[str, Optional[str]] = {
808
+ "200": "User",
809
+ "400": None,
810
+ "401": None,
811
+ "404": None,
812
+ "409": None,
813
+ "500": None,
814
+ }
815
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
816
+ return response_data.response
817
+
818
+ def _create_user_serialize(
819
+ self,
820
+ project_id,
821
+ instance_id,
822
+ create_user_payload,
823
+ _request_auth,
824
+ _content_type,
825
+ _headers,
826
+ _host_index,
827
+ ) -> RequestSerialized:
828
+
829
+ _host = None
830
+
831
+ _collection_formats: Dict[str, str] = {}
832
+
833
+ _path_params: Dict[str, str] = {}
834
+ _query_params: List[Tuple[str, str]] = []
835
+ _header_params: Dict[str, Optional[str]] = _headers or {}
836
+ _form_params: List[Tuple[str, str]] = []
837
+ _files: Dict[str, Union[str, bytes]] = {}
838
+ _body_params: Optional[bytes] = None
839
+
840
+ # process the path parameters
841
+ if project_id is not None:
842
+ _path_params["projectId"] = project_id
843
+ if instance_id is not None:
844
+ _path_params["instanceId"] = instance_id
845
+ # process the query parameters
846
+ # process the header parameters
847
+ # process the form parameters
848
+ # process the body parameter
849
+ if create_user_payload is not None:
850
+ _body_params = create_user_payload
851
+
852
+ # set the HTTP header `Accept`
853
+ if "Accept" not in _header_params:
854
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
855
+
856
+ # set the HTTP header `Content-Type`
857
+ if _content_type:
858
+ _header_params["Content-Type"] = _content_type
859
+ else:
860
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
861
+ if _default_content_type is not None:
862
+ _header_params["Content-Type"] = _default_content_type
863
+
864
+ # authentication setting
865
+ _auth_settings: List[str] = []
866
+
867
+ return self.api_client.param_serialize(
868
+ method="POST",
869
+ resource_path="/v1/projects/{projectId}/instances/{instanceId}/users",
870
+ path_params=_path_params,
871
+ query_params=_query_params,
872
+ header_params=_header_params,
873
+ body=_body_params,
874
+ post_params=_form_params,
875
+ files=_files,
876
+ auth_settings=_auth_settings,
877
+ collection_formats=_collection_formats,
878
+ _host=_host,
879
+ _request_auth=_request_auth,
880
+ )
881
+
882
+ @validate_call
883
+ def delete_acl(
884
+ self,
885
+ project_id: Annotated[
886
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
887
+ ],
888
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
889
+ acl_id: Annotated[StrictStr, Field(description="The acl UUID of the Secrets Manager instance.")],
890
+ _request_timeout: Union[
891
+ None,
892
+ Annotated[StrictFloat, Field(gt=0)],
893
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
894
+ ] = None,
895
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
896
+ _content_type: Optional[StrictStr] = None,
897
+ _headers: Optional[Dict[StrictStr, Any]] = None,
898
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
899
+ ) -> None:
900
+ """delete_acl
901
+
902
+ Deletes the given acl.
903
+
904
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
905
+ :type project_id: str
906
+ :param instance_id: The Secrets Manager instance UUID. (required)
907
+ :type instance_id: str
908
+ :param acl_id: The acl UUID of the Secrets Manager instance. (required)
909
+ :type acl_id: str
910
+ :param _request_timeout: timeout setting for this request. If one
911
+ number provided, it will be total request
912
+ timeout. It can also be a pair (tuple) of
913
+ (connection, read) timeouts.
914
+ :type _request_timeout: int, tuple(int, int), optional
915
+ :param _request_auth: set to override the auth_settings for an a single
916
+ request; this effectively ignores the
917
+ authentication in the spec for a single request.
918
+ :type _request_auth: dict, optional
919
+ :param _content_type: force content-type for the request.
920
+ :type _content_type: str, Optional
921
+ :param _headers: set to override the headers for a single
922
+ request; this effectively ignores the headers
923
+ in the spec for a single request.
924
+ :type _headers: dict, optional
925
+ :param _host_index: set to override the host_index for a single
926
+ request; this effectively ignores the host_index
927
+ in the spec for a single request.
928
+ :type _host_index: int, optional
929
+ :return: Returns the result object.
930
+ """ # noqa: E501 docstring might be too long
931
+
932
+ _param = self._delete_acl_serialize(
933
+ project_id=project_id,
934
+ instance_id=instance_id,
935
+ acl_id=acl_id,
936
+ _request_auth=_request_auth,
937
+ _content_type=_content_type,
938
+ _headers=_headers,
939
+ _host_index=_host_index,
940
+ )
941
+
942
+ _response_types_map: Dict[str, Optional[str]] = {
943
+ "204": None,
944
+ "401": None,
945
+ "404": None,
946
+ "500": None,
947
+ }
948
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
949
+ response_data.read()
950
+ return self.api_client.response_deserialize(
951
+ response_data=response_data,
952
+ response_types_map=_response_types_map,
953
+ ).data
954
+
955
+ @validate_call
956
+ def delete_acl_with_http_info(
957
+ self,
958
+ project_id: Annotated[
959
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
960
+ ],
961
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
962
+ acl_id: Annotated[StrictStr, Field(description="The acl UUID of the Secrets Manager instance.")],
963
+ _request_timeout: Union[
964
+ None,
965
+ Annotated[StrictFloat, Field(gt=0)],
966
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
967
+ ] = None,
968
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
969
+ _content_type: Optional[StrictStr] = None,
970
+ _headers: Optional[Dict[StrictStr, Any]] = None,
971
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
972
+ ) -> ApiResponse[None]:
973
+ """delete_acl
974
+
975
+ Deletes the given acl.
976
+
977
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
978
+ :type project_id: str
979
+ :param instance_id: The Secrets Manager instance UUID. (required)
980
+ :type instance_id: str
981
+ :param acl_id: The acl UUID of the Secrets Manager instance. (required)
982
+ :type acl_id: str
983
+ :param _request_timeout: timeout setting for this request. If one
984
+ number provided, it will be total request
985
+ timeout. It can also be a pair (tuple) of
986
+ (connection, read) timeouts.
987
+ :type _request_timeout: int, tuple(int, int), optional
988
+ :param _request_auth: set to override the auth_settings for an a single
989
+ request; this effectively ignores the
990
+ authentication in the spec for a single request.
991
+ :type _request_auth: dict, optional
992
+ :param _content_type: force content-type for the request.
993
+ :type _content_type: str, Optional
994
+ :param _headers: set to override the headers for a single
995
+ request; this effectively ignores the headers
996
+ in the spec for a single request.
997
+ :type _headers: dict, optional
998
+ :param _host_index: set to override the host_index for a single
999
+ request; this effectively ignores the host_index
1000
+ in the spec for a single request.
1001
+ :type _host_index: int, optional
1002
+ :return: Returns the result object.
1003
+ """ # noqa: E501 docstring might be too long
1004
+
1005
+ _param = self._delete_acl_serialize(
1006
+ project_id=project_id,
1007
+ instance_id=instance_id,
1008
+ acl_id=acl_id,
1009
+ _request_auth=_request_auth,
1010
+ _content_type=_content_type,
1011
+ _headers=_headers,
1012
+ _host_index=_host_index,
1013
+ )
1014
+
1015
+ _response_types_map: Dict[str, Optional[str]] = {
1016
+ "204": None,
1017
+ "401": None,
1018
+ "404": None,
1019
+ "500": None,
1020
+ }
1021
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1022
+ response_data.read()
1023
+ return self.api_client.response_deserialize(
1024
+ response_data=response_data,
1025
+ response_types_map=_response_types_map,
1026
+ )
1027
+
1028
+ @validate_call
1029
+ def delete_acl_without_preload_content(
1030
+ self,
1031
+ project_id: Annotated[
1032
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
1033
+ ],
1034
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
1035
+ acl_id: Annotated[StrictStr, Field(description="The acl UUID of the Secrets Manager instance.")],
1036
+ _request_timeout: Union[
1037
+ None,
1038
+ Annotated[StrictFloat, Field(gt=0)],
1039
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1040
+ ] = None,
1041
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1042
+ _content_type: Optional[StrictStr] = None,
1043
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1044
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1045
+ ) -> RESTResponseType:
1046
+ """delete_acl
1047
+
1048
+ Deletes the given acl.
1049
+
1050
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
1051
+ :type project_id: str
1052
+ :param instance_id: The Secrets Manager instance UUID. (required)
1053
+ :type instance_id: str
1054
+ :param acl_id: The acl UUID of the Secrets Manager instance. (required)
1055
+ :type acl_id: str
1056
+ :param _request_timeout: timeout setting for this request. If one
1057
+ number provided, it will be total request
1058
+ timeout. It can also be a pair (tuple) of
1059
+ (connection, read) timeouts.
1060
+ :type _request_timeout: int, tuple(int, int), optional
1061
+ :param _request_auth: set to override the auth_settings for an a single
1062
+ request; this effectively ignores the
1063
+ authentication in the spec for a single request.
1064
+ :type _request_auth: dict, optional
1065
+ :param _content_type: force content-type for the request.
1066
+ :type _content_type: str, Optional
1067
+ :param _headers: set to override the headers for a single
1068
+ request; this effectively ignores the headers
1069
+ in the spec for a single request.
1070
+ :type _headers: dict, optional
1071
+ :param _host_index: set to override the host_index for a single
1072
+ request; this effectively ignores the host_index
1073
+ in the spec for a single request.
1074
+ :type _host_index: int, optional
1075
+ :return: Returns the result object.
1076
+ """ # noqa: E501 docstring might be too long
1077
+
1078
+ _param = self._delete_acl_serialize(
1079
+ project_id=project_id,
1080
+ instance_id=instance_id,
1081
+ acl_id=acl_id,
1082
+ _request_auth=_request_auth,
1083
+ _content_type=_content_type,
1084
+ _headers=_headers,
1085
+ _host_index=_host_index,
1086
+ )
1087
+
1088
+ _response_types_map: Dict[str, Optional[str]] = {
1089
+ "204": None,
1090
+ "401": None,
1091
+ "404": None,
1092
+ "500": None,
1093
+ }
1094
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1095
+ return response_data.response
1096
+
1097
+ def _delete_acl_serialize(
1098
+ self,
1099
+ project_id,
1100
+ instance_id,
1101
+ acl_id,
1102
+ _request_auth,
1103
+ _content_type,
1104
+ _headers,
1105
+ _host_index,
1106
+ ) -> RequestSerialized:
1107
+
1108
+ _host = None
1109
+
1110
+ _collection_formats: Dict[str, str] = {}
1111
+
1112
+ _path_params: Dict[str, str] = {}
1113
+ _query_params: List[Tuple[str, str]] = []
1114
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1115
+ _form_params: List[Tuple[str, str]] = []
1116
+ _files: Dict[str, Union[str, bytes]] = {}
1117
+ _body_params: Optional[bytes] = None
1118
+
1119
+ # process the path parameters
1120
+ if project_id is not None:
1121
+ _path_params["projectId"] = project_id
1122
+ if instance_id is not None:
1123
+ _path_params["instanceId"] = instance_id
1124
+ if acl_id is not None:
1125
+ _path_params["aclId"] = acl_id
1126
+ # process the query parameters
1127
+ # process the header parameters
1128
+ # process the form parameters
1129
+ # process the body parameter
1130
+
1131
+ # authentication setting
1132
+ _auth_settings: List[str] = []
1133
+
1134
+ return self.api_client.param_serialize(
1135
+ method="DELETE",
1136
+ resource_path="/v1/projects/{projectId}/instances/{instanceId}/acls/{aclId}",
1137
+ path_params=_path_params,
1138
+ query_params=_query_params,
1139
+ header_params=_header_params,
1140
+ body=_body_params,
1141
+ post_params=_form_params,
1142
+ files=_files,
1143
+ auth_settings=_auth_settings,
1144
+ collection_formats=_collection_formats,
1145
+ _host=_host,
1146
+ _request_auth=_request_auth,
1147
+ )
1148
+
1149
+ @validate_call
1150
+ def delete_instance(
1151
+ self,
1152
+ project_id: Annotated[
1153
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
1154
+ ],
1155
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
1156
+ _request_timeout: Union[
1157
+ None,
1158
+ Annotated[StrictFloat, Field(gt=0)],
1159
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1160
+ ] = None,
1161
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1162
+ _content_type: Optional[StrictStr] = None,
1163
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1164
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1165
+ ) -> None:
1166
+ """delete_instance
1167
+
1168
+ Deletes the given Secrets Manager instance.
1169
+
1170
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
1171
+ :type project_id: str
1172
+ :param instance_id: The Secrets Manager instance UUID. (required)
1173
+ :type instance_id: str
1174
+ :param _request_timeout: timeout setting for this request. If one
1175
+ number provided, it will be total request
1176
+ timeout. It can also be a pair (tuple) of
1177
+ (connection, read) timeouts.
1178
+ :type _request_timeout: int, tuple(int, int), optional
1179
+ :param _request_auth: set to override the auth_settings for an a single
1180
+ request; this effectively ignores the
1181
+ authentication in the spec for a single request.
1182
+ :type _request_auth: dict, optional
1183
+ :param _content_type: force content-type for the request.
1184
+ :type _content_type: str, Optional
1185
+ :param _headers: set to override the headers for a single
1186
+ request; this effectively ignores the headers
1187
+ in the spec for a single request.
1188
+ :type _headers: dict, optional
1189
+ :param _host_index: set to override the host_index for a single
1190
+ request; this effectively ignores the host_index
1191
+ in the spec for a single request.
1192
+ :type _host_index: int, optional
1193
+ :return: Returns the result object.
1194
+ """ # noqa: E501 docstring might be too long
1195
+
1196
+ _param = self._delete_instance_serialize(
1197
+ project_id=project_id,
1198
+ instance_id=instance_id,
1199
+ _request_auth=_request_auth,
1200
+ _content_type=_content_type,
1201
+ _headers=_headers,
1202
+ _host_index=_host_index,
1203
+ )
1204
+
1205
+ _response_types_map: Dict[str, Optional[str]] = {
1206
+ "204": None,
1207
+ "401": None,
1208
+ "404": None,
1209
+ "500": None,
1210
+ }
1211
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1212
+ response_data.read()
1213
+ return self.api_client.response_deserialize(
1214
+ response_data=response_data,
1215
+ response_types_map=_response_types_map,
1216
+ ).data
1217
+
1218
+ @validate_call
1219
+ def delete_instance_with_http_info(
1220
+ self,
1221
+ project_id: Annotated[
1222
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
1223
+ ],
1224
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
1225
+ _request_timeout: Union[
1226
+ None,
1227
+ Annotated[StrictFloat, Field(gt=0)],
1228
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1229
+ ] = None,
1230
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1231
+ _content_type: Optional[StrictStr] = None,
1232
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1233
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1234
+ ) -> ApiResponse[None]:
1235
+ """delete_instance
1236
+
1237
+ Deletes the given Secrets Manager instance.
1238
+
1239
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
1240
+ :type project_id: str
1241
+ :param instance_id: The Secrets Manager instance UUID. (required)
1242
+ :type instance_id: str
1243
+ :param _request_timeout: timeout setting for this request. If one
1244
+ number provided, it will be total request
1245
+ timeout. It can also be a pair (tuple) of
1246
+ (connection, read) timeouts.
1247
+ :type _request_timeout: int, tuple(int, int), optional
1248
+ :param _request_auth: set to override the auth_settings for an a single
1249
+ request; this effectively ignores the
1250
+ authentication in the spec for a single request.
1251
+ :type _request_auth: dict, optional
1252
+ :param _content_type: force content-type for the request.
1253
+ :type _content_type: str, Optional
1254
+ :param _headers: set to override the headers for a single
1255
+ request; this effectively ignores the headers
1256
+ in the spec for a single request.
1257
+ :type _headers: dict, optional
1258
+ :param _host_index: set to override the host_index for a single
1259
+ request; this effectively ignores the host_index
1260
+ in the spec for a single request.
1261
+ :type _host_index: int, optional
1262
+ :return: Returns the result object.
1263
+ """ # noqa: E501 docstring might be too long
1264
+
1265
+ _param = self._delete_instance_serialize(
1266
+ project_id=project_id,
1267
+ instance_id=instance_id,
1268
+ _request_auth=_request_auth,
1269
+ _content_type=_content_type,
1270
+ _headers=_headers,
1271
+ _host_index=_host_index,
1272
+ )
1273
+
1274
+ _response_types_map: Dict[str, Optional[str]] = {
1275
+ "204": None,
1276
+ "401": None,
1277
+ "404": None,
1278
+ "500": None,
1279
+ }
1280
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1281
+ response_data.read()
1282
+ return self.api_client.response_deserialize(
1283
+ response_data=response_data,
1284
+ response_types_map=_response_types_map,
1285
+ )
1286
+
1287
+ @validate_call
1288
+ def delete_instance_without_preload_content(
1289
+ self,
1290
+ project_id: Annotated[
1291
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
1292
+ ],
1293
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
1294
+ _request_timeout: Union[
1295
+ None,
1296
+ Annotated[StrictFloat, Field(gt=0)],
1297
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1298
+ ] = None,
1299
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1300
+ _content_type: Optional[StrictStr] = None,
1301
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1302
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1303
+ ) -> RESTResponseType:
1304
+ """delete_instance
1305
+
1306
+ Deletes the given Secrets Manager instance.
1307
+
1308
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
1309
+ :type project_id: str
1310
+ :param instance_id: The Secrets Manager instance UUID. (required)
1311
+ :type instance_id: str
1312
+ :param _request_timeout: timeout setting for this request. If one
1313
+ number provided, it will be total request
1314
+ timeout. It can also be a pair (tuple) of
1315
+ (connection, read) timeouts.
1316
+ :type _request_timeout: int, tuple(int, int), optional
1317
+ :param _request_auth: set to override the auth_settings for an a single
1318
+ request; this effectively ignores the
1319
+ authentication in the spec for a single request.
1320
+ :type _request_auth: dict, optional
1321
+ :param _content_type: force content-type for the request.
1322
+ :type _content_type: str, Optional
1323
+ :param _headers: set to override the headers for a single
1324
+ request; this effectively ignores the headers
1325
+ in the spec for a single request.
1326
+ :type _headers: dict, optional
1327
+ :param _host_index: set to override the host_index for a single
1328
+ request; this effectively ignores the host_index
1329
+ in the spec for a single request.
1330
+ :type _host_index: int, optional
1331
+ :return: Returns the result object.
1332
+ """ # noqa: E501 docstring might be too long
1333
+
1334
+ _param = self._delete_instance_serialize(
1335
+ project_id=project_id,
1336
+ instance_id=instance_id,
1337
+ _request_auth=_request_auth,
1338
+ _content_type=_content_type,
1339
+ _headers=_headers,
1340
+ _host_index=_host_index,
1341
+ )
1342
+
1343
+ _response_types_map: Dict[str, Optional[str]] = {
1344
+ "204": None,
1345
+ "401": None,
1346
+ "404": None,
1347
+ "500": None,
1348
+ }
1349
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1350
+ return response_data.response
1351
+
1352
+ def _delete_instance_serialize(
1353
+ self,
1354
+ project_id,
1355
+ instance_id,
1356
+ _request_auth,
1357
+ _content_type,
1358
+ _headers,
1359
+ _host_index,
1360
+ ) -> RequestSerialized:
1361
+
1362
+ _host = None
1363
+
1364
+ _collection_formats: Dict[str, str] = {}
1365
+
1366
+ _path_params: Dict[str, str] = {}
1367
+ _query_params: List[Tuple[str, str]] = []
1368
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1369
+ _form_params: List[Tuple[str, str]] = []
1370
+ _files: Dict[str, Union[str, bytes]] = {}
1371
+ _body_params: Optional[bytes] = None
1372
+
1373
+ # process the path parameters
1374
+ if project_id is not None:
1375
+ _path_params["projectId"] = project_id
1376
+ if instance_id is not None:
1377
+ _path_params["instanceId"] = instance_id
1378
+ # process the query parameters
1379
+ # process the header parameters
1380
+ # process the form parameters
1381
+ # process the body parameter
1382
+
1383
+ # authentication setting
1384
+ _auth_settings: List[str] = []
1385
+
1386
+ return self.api_client.param_serialize(
1387
+ method="DELETE",
1388
+ resource_path="/v1/projects/{projectId}/instances/{instanceId}",
1389
+ path_params=_path_params,
1390
+ query_params=_query_params,
1391
+ header_params=_header_params,
1392
+ body=_body_params,
1393
+ post_params=_form_params,
1394
+ files=_files,
1395
+ auth_settings=_auth_settings,
1396
+ collection_formats=_collection_formats,
1397
+ _host=_host,
1398
+ _request_auth=_request_auth,
1399
+ )
1400
+
1401
+ @validate_call
1402
+ def delete_user(
1403
+ self,
1404
+ project_id: Annotated[
1405
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
1406
+ ],
1407
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
1408
+ user_id: Annotated[
1409
+ StrictStr, Field(description="The user UUID with permissions on the Secrets Manager instance.")
1410
+ ],
1411
+ _request_timeout: Union[
1412
+ None,
1413
+ Annotated[StrictFloat, Field(gt=0)],
1414
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1415
+ ] = None,
1416
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1417
+ _content_type: Optional[StrictStr] = None,
1418
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1419
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1420
+ ) -> None:
1421
+ """delete_user
1422
+
1423
+ Deletes the given user.
1424
+
1425
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
1426
+ :type project_id: str
1427
+ :param instance_id: The Secrets Manager instance UUID. (required)
1428
+ :type instance_id: str
1429
+ :param user_id: The user UUID with permissions on the Secrets Manager instance. (required)
1430
+ :type user_id: str
1431
+ :param _request_timeout: timeout setting for this request. If one
1432
+ number provided, it will be total request
1433
+ timeout. It can also be a pair (tuple) of
1434
+ (connection, read) timeouts.
1435
+ :type _request_timeout: int, tuple(int, int), optional
1436
+ :param _request_auth: set to override the auth_settings for an a single
1437
+ request; this effectively ignores the
1438
+ authentication in the spec for a single request.
1439
+ :type _request_auth: dict, optional
1440
+ :param _content_type: force content-type for the request.
1441
+ :type _content_type: str, Optional
1442
+ :param _headers: set to override the headers for a single
1443
+ request; this effectively ignores the headers
1444
+ in the spec for a single request.
1445
+ :type _headers: dict, optional
1446
+ :param _host_index: set to override the host_index for a single
1447
+ request; this effectively ignores the host_index
1448
+ in the spec for a single request.
1449
+ :type _host_index: int, optional
1450
+ :return: Returns the result object.
1451
+ """ # noqa: E501 docstring might be too long
1452
+
1453
+ _param = self._delete_user_serialize(
1454
+ project_id=project_id,
1455
+ instance_id=instance_id,
1456
+ user_id=user_id,
1457
+ _request_auth=_request_auth,
1458
+ _content_type=_content_type,
1459
+ _headers=_headers,
1460
+ _host_index=_host_index,
1461
+ )
1462
+
1463
+ _response_types_map: Dict[str, Optional[str]] = {
1464
+ "204": None,
1465
+ "401": None,
1466
+ "404": None,
1467
+ "500": None,
1468
+ }
1469
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1470
+ response_data.read()
1471
+ return self.api_client.response_deserialize(
1472
+ response_data=response_data,
1473
+ response_types_map=_response_types_map,
1474
+ ).data
1475
+
1476
+ @validate_call
1477
+ def delete_user_with_http_info(
1478
+ self,
1479
+ project_id: Annotated[
1480
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
1481
+ ],
1482
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
1483
+ user_id: Annotated[
1484
+ StrictStr, Field(description="The user UUID with permissions on the Secrets Manager instance.")
1485
+ ],
1486
+ _request_timeout: Union[
1487
+ None,
1488
+ Annotated[StrictFloat, Field(gt=0)],
1489
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1490
+ ] = None,
1491
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1492
+ _content_type: Optional[StrictStr] = None,
1493
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1494
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1495
+ ) -> ApiResponse[None]:
1496
+ """delete_user
1497
+
1498
+ Deletes the given user.
1499
+
1500
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
1501
+ :type project_id: str
1502
+ :param instance_id: The Secrets Manager instance UUID. (required)
1503
+ :type instance_id: str
1504
+ :param user_id: The user UUID with permissions on the Secrets Manager instance. (required)
1505
+ :type user_id: str
1506
+ :param _request_timeout: timeout setting for this request. If one
1507
+ number provided, it will be total request
1508
+ timeout. It can also be a pair (tuple) of
1509
+ (connection, read) timeouts.
1510
+ :type _request_timeout: int, tuple(int, int), optional
1511
+ :param _request_auth: set to override the auth_settings for an a single
1512
+ request; this effectively ignores the
1513
+ authentication in the spec for a single request.
1514
+ :type _request_auth: dict, optional
1515
+ :param _content_type: force content-type for the request.
1516
+ :type _content_type: str, Optional
1517
+ :param _headers: set to override the headers for a single
1518
+ request; this effectively ignores the headers
1519
+ in the spec for a single request.
1520
+ :type _headers: dict, optional
1521
+ :param _host_index: set to override the host_index for a single
1522
+ request; this effectively ignores the host_index
1523
+ in the spec for a single request.
1524
+ :type _host_index: int, optional
1525
+ :return: Returns the result object.
1526
+ """ # noqa: E501 docstring might be too long
1527
+
1528
+ _param = self._delete_user_serialize(
1529
+ project_id=project_id,
1530
+ instance_id=instance_id,
1531
+ user_id=user_id,
1532
+ _request_auth=_request_auth,
1533
+ _content_type=_content_type,
1534
+ _headers=_headers,
1535
+ _host_index=_host_index,
1536
+ )
1537
+
1538
+ _response_types_map: Dict[str, Optional[str]] = {
1539
+ "204": None,
1540
+ "401": None,
1541
+ "404": None,
1542
+ "500": None,
1543
+ }
1544
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1545
+ response_data.read()
1546
+ return self.api_client.response_deserialize(
1547
+ response_data=response_data,
1548
+ response_types_map=_response_types_map,
1549
+ )
1550
+
1551
+ @validate_call
1552
+ def delete_user_without_preload_content(
1553
+ self,
1554
+ project_id: Annotated[
1555
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
1556
+ ],
1557
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
1558
+ user_id: Annotated[
1559
+ StrictStr, Field(description="The user UUID with permissions on the Secrets Manager instance.")
1560
+ ],
1561
+ _request_timeout: Union[
1562
+ None,
1563
+ Annotated[StrictFloat, Field(gt=0)],
1564
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1565
+ ] = None,
1566
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1567
+ _content_type: Optional[StrictStr] = None,
1568
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1569
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1570
+ ) -> RESTResponseType:
1571
+ """delete_user
1572
+
1573
+ Deletes the given user.
1574
+
1575
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
1576
+ :type project_id: str
1577
+ :param instance_id: The Secrets Manager instance UUID. (required)
1578
+ :type instance_id: str
1579
+ :param user_id: The user UUID with permissions on the Secrets Manager instance. (required)
1580
+ :type user_id: str
1581
+ :param _request_timeout: timeout setting for this request. If one
1582
+ number provided, it will be total request
1583
+ timeout. It can also be a pair (tuple) of
1584
+ (connection, read) timeouts.
1585
+ :type _request_timeout: int, tuple(int, int), optional
1586
+ :param _request_auth: set to override the auth_settings for an a single
1587
+ request; this effectively ignores the
1588
+ authentication in the spec for a single request.
1589
+ :type _request_auth: dict, optional
1590
+ :param _content_type: force content-type for the request.
1591
+ :type _content_type: str, Optional
1592
+ :param _headers: set to override the headers for a single
1593
+ request; this effectively ignores the headers
1594
+ in the spec for a single request.
1595
+ :type _headers: dict, optional
1596
+ :param _host_index: set to override the host_index for a single
1597
+ request; this effectively ignores the host_index
1598
+ in the spec for a single request.
1599
+ :type _host_index: int, optional
1600
+ :return: Returns the result object.
1601
+ """ # noqa: E501 docstring might be too long
1602
+
1603
+ _param = self._delete_user_serialize(
1604
+ project_id=project_id,
1605
+ instance_id=instance_id,
1606
+ user_id=user_id,
1607
+ _request_auth=_request_auth,
1608
+ _content_type=_content_type,
1609
+ _headers=_headers,
1610
+ _host_index=_host_index,
1611
+ )
1612
+
1613
+ _response_types_map: Dict[str, Optional[str]] = {
1614
+ "204": None,
1615
+ "401": None,
1616
+ "404": None,
1617
+ "500": None,
1618
+ }
1619
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1620
+ return response_data.response
1621
+
1622
+ def _delete_user_serialize(
1623
+ self,
1624
+ project_id,
1625
+ instance_id,
1626
+ user_id,
1627
+ _request_auth,
1628
+ _content_type,
1629
+ _headers,
1630
+ _host_index,
1631
+ ) -> RequestSerialized:
1632
+
1633
+ _host = None
1634
+
1635
+ _collection_formats: Dict[str, str] = {}
1636
+
1637
+ _path_params: Dict[str, str] = {}
1638
+ _query_params: List[Tuple[str, str]] = []
1639
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1640
+ _form_params: List[Tuple[str, str]] = []
1641
+ _files: Dict[str, Union[str, bytes]] = {}
1642
+ _body_params: Optional[bytes] = None
1643
+
1644
+ # process the path parameters
1645
+ if project_id is not None:
1646
+ _path_params["projectId"] = project_id
1647
+ if instance_id is not None:
1648
+ _path_params["instanceId"] = instance_id
1649
+ if user_id is not None:
1650
+ _path_params["userId"] = user_id
1651
+ # process the query parameters
1652
+ # process the header parameters
1653
+ # process the form parameters
1654
+ # process the body parameter
1655
+
1656
+ # authentication setting
1657
+ _auth_settings: List[str] = []
1658
+
1659
+ return self.api_client.param_serialize(
1660
+ method="DELETE",
1661
+ resource_path="/v1/projects/{projectId}/instances/{instanceId}/users/{userId}",
1662
+ path_params=_path_params,
1663
+ query_params=_query_params,
1664
+ header_params=_header_params,
1665
+ body=_body_params,
1666
+ post_params=_form_params,
1667
+ files=_files,
1668
+ auth_settings=_auth_settings,
1669
+ collection_formats=_collection_formats,
1670
+ _host=_host,
1671
+ _request_auth=_request_auth,
1672
+ )
1673
+
1674
+ @validate_call
1675
+ def get_acl(
1676
+ self,
1677
+ project_id: Annotated[
1678
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
1679
+ ],
1680
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
1681
+ acl_id: Annotated[StrictStr, Field(description="The acl UUID of the Secrets Manager instance.")],
1682
+ _request_timeout: Union[
1683
+ None,
1684
+ Annotated[StrictFloat, Field(gt=0)],
1685
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1686
+ ] = None,
1687
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1688
+ _content_type: Optional[StrictStr] = None,
1689
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1690
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1691
+ ) -> ACL:
1692
+ """get_acl
1693
+
1694
+ Returns the details for the given acl.
1695
+
1696
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
1697
+ :type project_id: str
1698
+ :param instance_id: The Secrets Manager instance UUID. (required)
1699
+ :type instance_id: str
1700
+ :param acl_id: The acl UUID of the Secrets Manager instance. (required)
1701
+ :type acl_id: str
1702
+ :param _request_timeout: timeout setting for this request. If one
1703
+ number provided, it will be total request
1704
+ timeout. It can also be a pair (tuple) of
1705
+ (connection, read) timeouts.
1706
+ :type _request_timeout: int, tuple(int, int), optional
1707
+ :param _request_auth: set to override the auth_settings for an a single
1708
+ request; this effectively ignores the
1709
+ authentication in the spec for a single request.
1710
+ :type _request_auth: dict, optional
1711
+ :param _content_type: force content-type for the request.
1712
+ :type _content_type: str, Optional
1713
+ :param _headers: set to override the headers for a single
1714
+ request; this effectively ignores the headers
1715
+ in the spec for a single request.
1716
+ :type _headers: dict, optional
1717
+ :param _host_index: set to override the host_index for a single
1718
+ request; this effectively ignores the host_index
1719
+ in the spec for a single request.
1720
+ :type _host_index: int, optional
1721
+ :return: Returns the result object.
1722
+ """ # noqa: E501 docstring might be too long
1723
+
1724
+ _param = self._get_acl_serialize(
1725
+ project_id=project_id,
1726
+ instance_id=instance_id,
1727
+ acl_id=acl_id,
1728
+ _request_auth=_request_auth,
1729
+ _content_type=_content_type,
1730
+ _headers=_headers,
1731
+ _host_index=_host_index,
1732
+ )
1733
+
1734
+ _response_types_map: Dict[str, Optional[str]] = {
1735
+ "200": "ACL",
1736
+ "401": None,
1737
+ "404": None,
1738
+ "500": None,
1739
+ }
1740
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1741
+ response_data.read()
1742
+ return self.api_client.response_deserialize(
1743
+ response_data=response_data,
1744
+ response_types_map=_response_types_map,
1745
+ ).data
1746
+
1747
+ @validate_call
1748
+ def get_acl_with_http_info(
1749
+ self,
1750
+ project_id: Annotated[
1751
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
1752
+ ],
1753
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
1754
+ acl_id: Annotated[StrictStr, Field(description="The acl UUID of the Secrets Manager instance.")],
1755
+ _request_timeout: Union[
1756
+ None,
1757
+ Annotated[StrictFloat, Field(gt=0)],
1758
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1759
+ ] = None,
1760
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1761
+ _content_type: Optional[StrictStr] = None,
1762
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1763
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1764
+ ) -> ApiResponse[ACL]:
1765
+ """get_acl
1766
+
1767
+ Returns the details for the given acl.
1768
+
1769
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
1770
+ :type project_id: str
1771
+ :param instance_id: The Secrets Manager instance UUID. (required)
1772
+ :type instance_id: str
1773
+ :param acl_id: The acl UUID of the Secrets Manager instance. (required)
1774
+ :type acl_id: str
1775
+ :param _request_timeout: timeout setting for this request. If one
1776
+ number provided, it will be total request
1777
+ timeout. It can also be a pair (tuple) of
1778
+ (connection, read) timeouts.
1779
+ :type _request_timeout: int, tuple(int, int), optional
1780
+ :param _request_auth: set to override the auth_settings for an a single
1781
+ request; this effectively ignores the
1782
+ authentication in the spec for a single request.
1783
+ :type _request_auth: dict, optional
1784
+ :param _content_type: force content-type for the request.
1785
+ :type _content_type: str, Optional
1786
+ :param _headers: set to override the headers for a single
1787
+ request; this effectively ignores the headers
1788
+ in the spec for a single request.
1789
+ :type _headers: dict, optional
1790
+ :param _host_index: set to override the host_index for a single
1791
+ request; this effectively ignores the host_index
1792
+ in the spec for a single request.
1793
+ :type _host_index: int, optional
1794
+ :return: Returns the result object.
1795
+ """ # noqa: E501 docstring might be too long
1796
+
1797
+ _param = self._get_acl_serialize(
1798
+ project_id=project_id,
1799
+ instance_id=instance_id,
1800
+ acl_id=acl_id,
1801
+ _request_auth=_request_auth,
1802
+ _content_type=_content_type,
1803
+ _headers=_headers,
1804
+ _host_index=_host_index,
1805
+ )
1806
+
1807
+ _response_types_map: Dict[str, Optional[str]] = {
1808
+ "200": "ACL",
1809
+ "401": None,
1810
+ "404": None,
1811
+ "500": None,
1812
+ }
1813
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1814
+ response_data.read()
1815
+ return self.api_client.response_deserialize(
1816
+ response_data=response_data,
1817
+ response_types_map=_response_types_map,
1818
+ )
1819
+
1820
+ @validate_call
1821
+ def get_acl_without_preload_content(
1822
+ self,
1823
+ project_id: Annotated[
1824
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
1825
+ ],
1826
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
1827
+ acl_id: Annotated[StrictStr, Field(description="The acl UUID of the Secrets Manager instance.")],
1828
+ _request_timeout: Union[
1829
+ None,
1830
+ Annotated[StrictFloat, Field(gt=0)],
1831
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1832
+ ] = None,
1833
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1834
+ _content_type: Optional[StrictStr] = None,
1835
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1836
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1837
+ ) -> RESTResponseType:
1838
+ """get_acl
1839
+
1840
+ Returns the details for the given acl.
1841
+
1842
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
1843
+ :type project_id: str
1844
+ :param instance_id: The Secrets Manager instance UUID. (required)
1845
+ :type instance_id: str
1846
+ :param acl_id: The acl UUID of the Secrets Manager instance. (required)
1847
+ :type acl_id: str
1848
+ :param _request_timeout: timeout setting for this request. If one
1849
+ number provided, it will be total request
1850
+ timeout. It can also be a pair (tuple) of
1851
+ (connection, read) timeouts.
1852
+ :type _request_timeout: int, tuple(int, int), optional
1853
+ :param _request_auth: set to override the auth_settings for an a single
1854
+ request; this effectively ignores the
1855
+ authentication in the spec for a single request.
1856
+ :type _request_auth: dict, optional
1857
+ :param _content_type: force content-type for the request.
1858
+ :type _content_type: str, Optional
1859
+ :param _headers: set to override the headers for a single
1860
+ request; this effectively ignores the headers
1861
+ in the spec for a single request.
1862
+ :type _headers: dict, optional
1863
+ :param _host_index: set to override the host_index for a single
1864
+ request; this effectively ignores the host_index
1865
+ in the spec for a single request.
1866
+ :type _host_index: int, optional
1867
+ :return: Returns the result object.
1868
+ """ # noqa: E501 docstring might be too long
1869
+
1870
+ _param = self._get_acl_serialize(
1871
+ project_id=project_id,
1872
+ instance_id=instance_id,
1873
+ acl_id=acl_id,
1874
+ _request_auth=_request_auth,
1875
+ _content_type=_content_type,
1876
+ _headers=_headers,
1877
+ _host_index=_host_index,
1878
+ )
1879
+
1880
+ _response_types_map: Dict[str, Optional[str]] = {
1881
+ "200": "ACL",
1882
+ "401": None,
1883
+ "404": None,
1884
+ "500": None,
1885
+ }
1886
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1887
+ return response_data.response
1888
+
1889
+ def _get_acl_serialize(
1890
+ self,
1891
+ project_id,
1892
+ instance_id,
1893
+ acl_id,
1894
+ _request_auth,
1895
+ _content_type,
1896
+ _headers,
1897
+ _host_index,
1898
+ ) -> RequestSerialized:
1899
+
1900
+ _host = None
1901
+
1902
+ _collection_formats: Dict[str, str] = {}
1903
+
1904
+ _path_params: Dict[str, str] = {}
1905
+ _query_params: List[Tuple[str, str]] = []
1906
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1907
+ _form_params: List[Tuple[str, str]] = []
1908
+ _files: Dict[str, Union[str, bytes]] = {}
1909
+ _body_params: Optional[bytes] = None
1910
+
1911
+ # process the path parameters
1912
+ if project_id is not None:
1913
+ _path_params["projectId"] = project_id
1914
+ if instance_id is not None:
1915
+ _path_params["instanceId"] = instance_id
1916
+ if acl_id is not None:
1917
+ _path_params["aclId"] = acl_id
1918
+ # process the query parameters
1919
+ # process the header parameters
1920
+ # process the form parameters
1921
+ # process the body parameter
1922
+
1923
+ # set the HTTP header `Accept`
1924
+ if "Accept" not in _header_params:
1925
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1926
+
1927
+ # authentication setting
1928
+ _auth_settings: List[str] = []
1929
+
1930
+ return self.api_client.param_serialize(
1931
+ method="GET",
1932
+ resource_path="/v1/projects/{projectId}/instances/{instanceId}/acls/{aclId}",
1933
+ path_params=_path_params,
1934
+ query_params=_query_params,
1935
+ header_params=_header_params,
1936
+ body=_body_params,
1937
+ post_params=_form_params,
1938
+ files=_files,
1939
+ auth_settings=_auth_settings,
1940
+ collection_formats=_collection_formats,
1941
+ _host=_host,
1942
+ _request_auth=_request_auth,
1943
+ )
1944
+
1945
+ @validate_call
1946
+ def get_instance(
1947
+ self,
1948
+ project_id: Annotated[
1949
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
1950
+ ],
1951
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
1952
+ _request_timeout: Union[
1953
+ None,
1954
+ Annotated[StrictFloat, Field(gt=0)],
1955
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
1956
+ ] = None,
1957
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1958
+ _content_type: Optional[StrictStr] = None,
1959
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1960
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1961
+ ) -> Instance:
1962
+ """get_instance
1963
+
1964
+ Returns the details for the given Secrets Manager instance.
1965
+
1966
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
1967
+ :type project_id: str
1968
+ :param instance_id: The Secrets Manager instance UUID. (required)
1969
+ :type instance_id: str
1970
+ :param _request_timeout: timeout setting for this request. If one
1971
+ number provided, it will be total request
1972
+ timeout. It can also be a pair (tuple) of
1973
+ (connection, read) timeouts.
1974
+ :type _request_timeout: int, tuple(int, int), optional
1975
+ :param _request_auth: set to override the auth_settings for an a single
1976
+ request; this effectively ignores the
1977
+ authentication in the spec for a single request.
1978
+ :type _request_auth: dict, optional
1979
+ :param _content_type: force content-type for the request.
1980
+ :type _content_type: str, Optional
1981
+ :param _headers: set to override the headers for a single
1982
+ request; this effectively ignores the headers
1983
+ in the spec for a single request.
1984
+ :type _headers: dict, optional
1985
+ :param _host_index: set to override the host_index for a single
1986
+ request; this effectively ignores the host_index
1987
+ in the spec for a single request.
1988
+ :type _host_index: int, optional
1989
+ :return: Returns the result object.
1990
+ """ # noqa: E501 docstring might be too long
1991
+
1992
+ _param = self._get_instance_serialize(
1993
+ project_id=project_id,
1994
+ instance_id=instance_id,
1995
+ _request_auth=_request_auth,
1996
+ _content_type=_content_type,
1997
+ _headers=_headers,
1998
+ _host_index=_host_index,
1999
+ )
2000
+
2001
+ _response_types_map: Dict[str, Optional[str]] = {
2002
+ "200": "Instance",
2003
+ "401": None,
2004
+ "404": None,
2005
+ "500": None,
2006
+ }
2007
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2008
+ response_data.read()
2009
+ return self.api_client.response_deserialize(
2010
+ response_data=response_data,
2011
+ response_types_map=_response_types_map,
2012
+ ).data
2013
+
2014
+ @validate_call
2015
+ def get_instance_with_http_info(
2016
+ self,
2017
+ project_id: Annotated[
2018
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
2019
+ ],
2020
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
2021
+ _request_timeout: Union[
2022
+ None,
2023
+ Annotated[StrictFloat, Field(gt=0)],
2024
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
2025
+ ] = None,
2026
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2027
+ _content_type: Optional[StrictStr] = None,
2028
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2029
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2030
+ ) -> ApiResponse[Instance]:
2031
+ """get_instance
2032
+
2033
+ Returns the details for the given Secrets Manager instance.
2034
+
2035
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
2036
+ :type project_id: str
2037
+ :param instance_id: The Secrets Manager instance UUID. (required)
2038
+ :type instance_id: str
2039
+ :param _request_timeout: timeout setting for this request. If one
2040
+ number provided, it will be total request
2041
+ timeout. It can also be a pair (tuple) of
2042
+ (connection, read) timeouts.
2043
+ :type _request_timeout: int, tuple(int, int), optional
2044
+ :param _request_auth: set to override the auth_settings for an a single
2045
+ request; this effectively ignores the
2046
+ authentication in the spec for a single request.
2047
+ :type _request_auth: dict, optional
2048
+ :param _content_type: force content-type for the request.
2049
+ :type _content_type: str, Optional
2050
+ :param _headers: set to override the headers for a single
2051
+ request; this effectively ignores the headers
2052
+ in the spec for a single request.
2053
+ :type _headers: dict, optional
2054
+ :param _host_index: set to override the host_index for a single
2055
+ request; this effectively ignores the host_index
2056
+ in the spec for a single request.
2057
+ :type _host_index: int, optional
2058
+ :return: Returns the result object.
2059
+ """ # noqa: E501 docstring might be too long
2060
+
2061
+ _param = self._get_instance_serialize(
2062
+ project_id=project_id,
2063
+ instance_id=instance_id,
2064
+ _request_auth=_request_auth,
2065
+ _content_type=_content_type,
2066
+ _headers=_headers,
2067
+ _host_index=_host_index,
2068
+ )
2069
+
2070
+ _response_types_map: Dict[str, Optional[str]] = {
2071
+ "200": "Instance",
2072
+ "401": None,
2073
+ "404": None,
2074
+ "500": None,
2075
+ }
2076
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2077
+ response_data.read()
2078
+ return self.api_client.response_deserialize(
2079
+ response_data=response_data,
2080
+ response_types_map=_response_types_map,
2081
+ )
2082
+
2083
+ @validate_call
2084
+ def get_instance_without_preload_content(
2085
+ self,
2086
+ project_id: Annotated[
2087
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
2088
+ ],
2089
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
2090
+ _request_timeout: Union[
2091
+ None,
2092
+ Annotated[StrictFloat, Field(gt=0)],
2093
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
2094
+ ] = None,
2095
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2096
+ _content_type: Optional[StrictStr] = None,
2097
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2098
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2099
+ ) -> RESTResponseType:
2100
+ """get_instance
2101
+
2102
+ Returns the details for the given Secrets Manager instance.
2103
+
2104
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
2105
+ :type project_id: str
2106
+ :param instance_id: The Secrets Manager instance UUID. (required)
2107
+ :type instance_id: str
2108
+ :param _request_timeout: timeout setting for this request. If one
2109
+ number provided, it will be total request
2110
+ timeout. It can also be a pair (tuple) of
2111
+ (connection, read) timeouts.
2112
+ :type _request_timeout: int, tuple(int, int), optional
2113
+ :param _request_auth: set to override the auth_settings for an a single
2114
+ request; this effectively ignores the
2115
+ authentication in the spec for a single request.
2116
+ :type _request_auth: dict, optional
2117
+ :param _content_type: force content-type for the request.
2118
+ :type _content_type: str, Optional
2119
+ :param _headers: set to override the headers for a single
2120
+ request; this effectively ignores the headers
2121
+ in the spec for a single request.
2122
+ :type _headers: dict, optional
2123
+ :param _host_index: set to override the host_index for a single
2124
+ request; this effectively ignores the host_index
2125
+ in the spec for a single request.
2126
+ :type _host_index: int, optional
2127
+ :return: Returns the result object.
2128
+ """ # noqa: E501 docstring might be too long
2129
+
2130
+ _param = self._get_instance_serialize(
2131
+ project_id=project_id,
2132
+ instance_id=instance_id,
2133
+ _request_auth=_request_auth,
2134
+ _content_type=_content_type,
2135
+ _headers=_headers,
2136
+ _host_index=_host_index,
2137
+ )
2138
+
2139
+ _response_types_map: Dict[str, Optional[str]] = {
2140
+ "200": "Instance",
2141
+ "401": None,
2142
+ "404": None,
2143
+ "500": None,
2144
+ }
2145
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2146
+ return response_data.response
2147
+
2148
+ def _get_instance_serialize(
2149
+ self,
2150
+ project_id,
2151
+ instance_id,
2152
+ _request_auth,
2153
+ _content_type,
2154
+ _headers,
2155
+ _host_index,
2156
+ ) -> RequestSerialized:
2157
+
2158
+ _host = None
2159
+
2160
+ _collection_formats: Dict[str, str] = {}
2161
+
2162
+ _path_params: Dict[str, str] = {}
2163
+ _query_params: List[Tuple[str, str]] = []
2164
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2165
+ _form_params: List[Tuple[str, str]] = []
2166
+ _files: Dict[str, Union[str, bytes]] = {}
2167
+ _body_params: Optional[bytes] = None
2168
+
2169
+ # process the path parameters
2170
+ if project_id is not None:
2171
+ _path_params["projectId"] = project_id
2172
+ if instance_id is not None:
2173
+ _path_params["instanceId"] = instance_id
2174
+ # process the query parameters
2175
+ # process the header parameters
2176
+ # process the form parameters
2177
+ # process the body parameter
2178
+
2179
+ # set the HTTP header `Accept`
2180
+ if "Accept" not in _header_params:
2181
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2182
+
2183
+ # authentication setting
2184
+ _auth_settings: List[str] = []
2185
+
2186
+ return self.api_client.param_serialize(
2187
+ method="GET",
2188
+ resource_path="/v1/projects/{projectId}/instances/{instanceId}",
2189
+ path_params=_path_params,
2190
+ query_params=_query_params,
2191
+ header_params=_header_params,
2192
+ body=_body_params,
2193
+ post_params=_form_params,
2194
+ files=_files,
2195
+ auth_settings=_auth_settings,
2196
+ collection_formats=_collection_formats,
2197
+ _host=_host,
2198
+ _request_auth=_request_auth,
2199
+ )
2200
+
2201
+ @validate_call
2202
+ def get_user(
2203
+ self,
2204
+ project_id: Annotated[
2205
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
2206
+ ],
2207
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
2208
+ user_id: Annotated[
2209
+ StrictStr, Field(description="The user UUID with permissions on the Secrets Manager instance.")
2210
+ ],
2211
+ _request_timeout: Union[
2212
+ None,
2213
+ Annotated[StrictFloat, Field(gt=0)],
2214
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
2215
+ ] = None,
2216
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2217
+ _content_type: Optional[StrictStr] = None,
2218
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2219
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2220
+ ) -> User:
2221
+ """get_user
2222
+
2223
+ Returns the details for the given user.
2224
+
2225
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
2226
+ :type project_id: str
2227
+ :param instance_id: The Secrets Manager instance UUID. (required)
2228
+ :type instance_id: str
2229
+ :param user_id: The user UUID with permissions on the Secrets Manager instance. (required)
2230
+ :type user_id: str
2231
+ :param _request_timeout: timeout setting for this request. If one
2232
+ number provided, it will be total request
2233
+ timeout. It can also be a pair (tuple) of
2234
+ (connection, read) timeouts.
2235
+ :type _request_timeout: int, tuple(int, int), optional
2236
+ :param _request_auth: set to override the auth_settings for an a single
2237
+ request; this effectively ignores the
2238
+ authentication in the spec for a single request.
2239
+ :type _request_auth: dict, optional
2240
+ :param _content_type: force content-type for the request.
2241
+ :type _content_type: str, Optional
2242
+ :param _headers: set to override the headers for a single
2243
+ request; this effectively ignores the headers
2244
+ in the spec for a single request.
2245
+ :type _headers: dict, optional
2246
+ :param _host_index: set to override the host_index for a single
2247
+ request; this effectively ignores the host_index
2248
+ in the spec for a single request.
2249
+ :type _host_index: int, optional
2250
+ :return: Returns the result object.
2251
+ """ # noqa: E501 docstring might be too long
2252
+
2253
+ _param = self._get_user_serialize(
2254
+ project_id=project_id,
2255
+ instance_id=instance_id,
2256
+ user_id=user_id,
2257
+ _request_auth=_request_auth,
2258
+ _content_type=_content_type,
2259
+ _headers=_headers,
2260
+ _host_index=_host_index,
2261
+ )
2262
+
2263
+ _response_types_map: Dict[str, Optional[str]] = {
2264
+ "200": "User",
2265
+ "401": None,
2266
+ "404": None,
2267
+ "500": None,
2268
+ }
2269
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2270
+ response_data.read()
2271
+ return self.api_client.response_deserialize(
2272
+ response_data=response_data,
2273
+ response_types_map=_response_types_map,
2274
+ ).data
2275
+
2276
+ @validate_call
2277
+ def get_user_with_http_info(
2278
+ self,
2279
+ project_id: Annotated[
2280
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
2281
+ ],
2282
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
2283
+ user_id: Annotated[
2284
+ StrictStr, Field(description="The user UUID with permissions on the Secrets Manager instance.")
2285
+ ],
2286
+ _request_timeout: Union[
2287
+ None,
2288
+ Annotated[StrictFloat, Field(gt=0)],
2289
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
2290
+ ] = None,
2291
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2292
+ _content_type: Optional[StrictStr] = None,
2293
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2294
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2295
+ ) -> ApiResponse[User]:
2296
+ """get_user
2297
+
2298
+ Returns the details for the given user.
2299
+
2300
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
2301
+ :type project_id: str
2302
+ :param instance_id: The Secrets Manager instance UUID. (required)
2303
+ :type instance_id: str
2304
+ :param user_id: The user UUID with permissions on the Secrets Manager instance. (required)
2305
+ :type user_id: str
2306
+ :param _request_timeout: timeout setting for this request. If one
2307
+ number provided, it will be total request
2308
+ timeout. It can also be a pair (tuple) of
2309
+ (connection, read) timeouts.
2310
+ :type _request_timeout: int, tuple(int, int), optional
2311
+ :param _request_auth: set to override the auth_settings for an a single
2312
+ request; this effectively ignores the
2313
+ authentication in the spec for a single request.
2314
+ :type _request_auth: dict, optional
2315
+ :param _content_type: force content-type for the request.
2316
+ :type _content_type: str, Optional
2317
+ :param _headers: set to override the headers for a single
2318
+ request; this effectively ignores the headers
2319
+ in the spec for a single request.
2320
+ :type _headers: dict, optional
2321
+ :param _host_index: set to override the host_index for a single
2322
+ request; this effectively ignores the host_index
2323
+ in the spec for a single request.
2324
+ :type _host_index: int, optional
2325
+ :return: Returns the result object.
2326
+ """ # noqa: E501 docstring might be too long
2327
+
2328
+ _param = self._get_user_serialize(
2329
+ project_id=project_id,
2330
+ instance_id=instance_id,
2331
+ user_id=user_id,
2332
+ _request_auth=_request_auth,
2333
+ _content_type=_content_type,
2334
+ _headers=_headers,
2335
+ _host_index=_host_index,
2336
+ )
2337
+
2338
+ _response_types_map: Dict[str, Optional[str]] = {
2339
+ "200": "User",
2340
+ "401": None,
2341
+ "404": None,
2342
+ "500": None,
2343
+ }
2344
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2345
+ response_data.read()
2346
+ return self.api_client.response_deserialize(
2347
+ response_data=response_data,
2348
+ response_types_map=_response_types_map,
2349
+ )
2350
+
2351
+ @validate_call
2352
+ def get_user_without_preload_content(
2353
+ self,
2354
+ project_id: Annotated[
2355
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
2356
+ ],
2357
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
2358
+ user_id: Annotated[
2359
+ StrictStr, Field(description="The user UUID with permissions on the Secrets Manager instance.")
2360
+ ],
2361
+ _request_timeout: Union[
2362
+ None,
2363
+ Annotated[StrictFloat, Field(gt=0)],
2364
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
2365
+ ] = None,
2366
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2367
+ _content_type: Optional[StrictStr] = None,
2368
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2369
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2370
+ ) -> RESTResponseType:
2371
+ """get_user
2372
+
2373
+ Returns the details for the given user.
2374
+
2375
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
2376
+ :type project_id: str
2377
+ :param instance_id: The Secrets Manager instance UUID. (required)
2378
+ :type instance_id: str
2379
+ :param user_id: The user UUID with permissions on the Secrets Manager instance. (required)
2380
+ :type user_id: str
2381
+ :param _request_timeout: timeout setting for this request. If one
2382
+ number provided, it will be total request
2383
+ timeout. It can also be a pair (tuple) of
2384
+ (connection, read) timeouts.
2385
+ :type _request_timeout: int, tuple(int, int), optional
2386
+ :param _request_auth: set to override the auth_settings for an a single
2387
+ request; this effectively ignores the
2388
+ authentication in the spec for a single request.
2389
+ :type _request_auth: dict, optional
2390
+ :param _content_type: force content-type for the request.
2391
+ :type _content_type: str, Optional
2392
+ :param _headers: set to override the headers for a single
2393
+ request; this effectively ignores the headers
2394
+ in the spec for a single request.
2395
+ :type _headers: dict, optional
2396
+ :param _host_index: set to override the host_index for a single
2397
+ request; this effectively ignores the host_index
2398
+ in the spec for a single request.
2399
+ :type _host_index: int, optional
2400
+ :return: Returns the result object.
2401
+ """ # noqa: E501 docstring might be too long
2402
+
2403
+ _param = self._get_user_serialize(
2404
+ project_id=project_id,
2405
+ instance_id=instance_id,
2406
+ user_id=user_id,
2407
+ _request_auth=_request_auth,
2408
+ _content_type=_content_type,
2409
+ _headers=_headers,
2410
+ _host_index=_host_index,
2411
+ )
2412
+
2413
+ _response_types_map: Dict[str, Optional[str]] = {
2414
+ "200": "User",
2415
+ "401": None,
2416
+ "404": None,
2417
+ "500": None,
2418
+ }
2419
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2420
+ return response_data.response
2421
+
2422
+ def _get_user_serialize(
2423
+ self,
2424
+ project_id,
2425
+ instance_id,
2426
+ user_id,
2427
+ _request_auth,
2428
+ _content_type,
2429
+ _headers,
2430
+ _host_index,
2431
+ ) -> RequestSerialized:
2432
+
2433
+ _host = None
2434
+
2435
+ _collection_formats: Dict[str, str] = {}
2436
+
2437
+ _path_params: Dict[str, str] = {}
2438
+ _query_params: List[Tuple[str, str]] = []
2439
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2440
+ _form_params: List[Tuple[str, str]] = []
2441
+ _files: Dict[str, Union[str, bytes]] = {}
2442
+ _body_params: Optional[bytes] = None
2443
+
2444
+ # process the path parameters
2445
+ if project_id is not None:
2446
+ _path_params["projectId"] = project_id
2447
+ if instance_id is not None:
2448
+ _path_params["instanceId"] = instance_id
2449
+ if user_id is not None:
2450
+ _path_params["userId"] = user_id
2451
+ # process the query parameters
2452
+ # process the header parameters
2453
+ # process the form parameters
2454
+ # process the body parameter
2455
+
2456
+ # set the HTTP header `Accept`
2457
+ if "Accept" not in _header_params:
2458
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2459
+
2460
+ # authentication setting
2461
+ _auth_settings: List[str] = []
2462
+
2463
+ return self.api_client.param_serialize(
2464
+ method="GET",
2465
+ resource_path="/v1/projects/{projectId}/instances/{instanceId}/users/{userId}",
2466
+ path_params=_path_params,
2467
+ query_params=_query_params,
2468
+ header_params=_header_params,
2469
+ body=_body_params,
2470
+ post_params=_form_params,
2471
+ files=_files,
2472
+ auth_settings=_auth_settings,
2473
+ collection_formats=_collection_formats,
2474
+ _host=_host,
2475
+ _request_auth=_request_auth,
2476
+ )
2477
+
2478
+ @validate_call
2479
+ def list_acls(
2480
+ self,
2481
+ project_id: Annotated[
2482
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
2483
+ ],
2484
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
2485
+ _request_timeout: Union[
2486
+ None,
2487
+ Annotated[StrictFloat, Field(gt=0)],
2488
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
2489
+ ] = None,
2490
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2491
+ _content_type: Optional[StrictStr] = None,
2492
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2493
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2494
+ ) -> ListACLsResponse:
2495
+ """list_acls
2496
+
2497
+ Returns the acls for the given Secrets Manager instance.
2498
+
2499
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
2500
+ :type project_id: str
2501
+ :param instance_id: The Secrets Manager instance UUID. (required)
2502
+ :type instance_id: str
2503
+ :param _request_timeout: timeout setting for this request. If one
2504
+ number provided, it will be total request
2505
+ timeout. It can also be a pair (tuple) of
2506
+ (connection, read) timeouts.
2507
+ :type _request_timeout: int, tuple(int, int), optional
2508
+ :param _request_auth: set to override the auth_settings for an a single
2509
+ request; this effectively ignores the
2510
+ authentication in the spec for a single request.
2511
+ :type _request_auth: dict, optional
2512
+ :param _content_type: force content-type for the request.
2513
+ :type _content_type: str, Optional
2514
+ :param _headers: set to override the headers for a single
2515
+ request; this effectively ignores the headers
2516
+ in the spec for a single request.
2517
+ :type _headers: dict, optional
2518
+ :param _host_index: set to override the host_index for a single
2519
+ request; this effectively ignores the host_index
2520
+ in the spec for a single request.
2521
+ :type _host_index: int, optional
2522
+ :return: Returns the result object.
2523
+ """ # noqa: E501 docstring might be too long
2524
+
2525
+ _param = self._list_acls_serialize(
2526
+ project_id=project_id,
2527
+ instance_id=instance_id,
2528
+ _request_auth=_request_auth,
2529
+ _content_type=_content_type,
2530
+ _headers=_headers,
2531
+ _host_index=_host_index,
2532
+ )
2533
+
2534
+ _response_types_map: Dict[str, Optional[str]] = {
2535
+ "200": "ListACLsResponse",
2536
+ "401": None,
2537
+ "404": None,
2538
+ "500": None,
2539
+ }
2540
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2541
+ response_data.read()
2542
+ return self.api_client.response_deserialize(
2543
+ response_data=response_data,
2544
+ response_types_map=_response_types_map,
2545
+ ).data
2546
+
2547
+ @validate_call
2548
+ def list_acls_with_http_info(
2549
+ self,
2550
+ project_id: Annotated[
2551
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
2552
+ ],
2553
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
2554
+ _request_timeout: Union[
2555
+ None,
2556
+ Annotated[StrictFloat, Field(gt=0)],
2557
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
2558
+ ] = None,
2559
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2560
+ _content_type: Optional[StrictStr] = None,
2561
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2562
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2563
+ ) -> ApiResponse[ListACLsResponse]:
2564
+ """list_acls
2565
+
2566
+ Returns the acls for the given Secrets Manager instance.
2567
+
2568
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
2569
+ :type project_id: str
2570
+ :param instance_id: The Secrets Manager instance UUID. (required)
2571
+ :type instance_id: str
2572
+ :param _request_timeout: timeout setting for this request. If one
2573
+ number provided, it will be total request
2574
+ timeout. It can also be a pair (tuple) of
2575
+ (connection, read) timeouts.
2576
+ :type _request_timeout: int, tuple(int, int), optional
2577
+ :param _request_auth: set to override the auth_settings for an a single
2578
+ request; this effectively ignores the
2579
+ authentication in the spec for a single request.
2580
+ :type _request_auth: dict, optional
2581
+ :param _content_type: force content-type for the request.
2582
+ :type _content_type: str, Optional
2583
+ :param _headers: set to override the headers for a single
2584
+ request; this effectively ignores the headers
2585
+ in the spec for a single request.
2586
+ :type _headers: dict, optional
2587
+ :param _host_index: set to override the host_index for a single
2588
+ request; this effectively ignores the host_index
2589
+ in the spec for a single request.
2590
+ :type _host_index: int, optional
2591
+ :return: Returns the result object.
2592
+ """ # noqa: E501 docstring might be too long
2593
+
2594
+ _param = self._list_acls_serialize(
2595
+ project_id=project_id,
2596
+ instance_id=instance_id,
2597
+ _request_auth=_request_auth,
2598
+ _content_type=_content_type,
2599
+ _headers=_headers,
2600
+ _host_index=_host_index,
2601
+ )
2602
+
2603
+ _response_types_map: Dict[str, Optional[str]] = {
2604
+ "200": "ListACLsResponse",
2605
+ "401": None,
2606
+ "404": None,
2607
+ "500": None,
2608
+ }
2609
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2610
+ response_data.read()
2611
+ return self.api_client.response_deserialize(
2612
+ response_data=response_data,
2613
+ response_types_map=_response_types_map,
2614
+ )
2615
+
2616
+ @validate_call
2617
+ def list_acls_without_preload_content(
2618
+ self,
2619
+ project_id: Annotated[
2620
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
2621
+ ],
2622
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
2623
+ _request_timeout: Union[
2624
+ None,
2625
+ Annotated[StrictFloat, Field(gt=0)],
2626
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
2627
+ ] = None,
2628
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2629
+ _content_type: Optional[StrictStr] = None,
2630
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2631
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2632
+ ) -> RESTResponseType:
2633
+ """list_acls
2634
+
2635
+ Returns the acls for the given Secrets Manager instance.
2636
+
2637
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
2638
+ :type project_id: str
2639
+ :param instance_id: The Secrets Manager instance UUID. (required)
2640
+ :type instance_id: str
2641
+ :param _request_timeout: timeout setting for this request. If one
2642
+ number provided, it will be total request
2643
+ timeout. It can also be a pair (tuple) of
2644
+ (connection, read) timeouts.
2645
+ :type _request_timeout: int, tuple(int, int), optional
2646
+ :param _request_auth: set to override the auth_settings for an a single
2647
+ request; this effectively ignores the
2648
+ authentication in the spec for a single request.
2649
+ :type _request_auth: dict, optional
2650
+ :param _content_type: force content-type for the request.
2651
+ :type _content_type: str, Optional
2652
+ :param _headers: set to override the headers for a single
2653
+ request; this effectively ignores the headers
2654
+ in the spec for a single request.
2655
+ :type _headers: dict, optional
2656
+ :param _host_index: set to override the host_index for a single
2657
+ request; this effectively ignores the host_index
2658
+ in the spec for a single request.
2659
+ :type _host_index: int, optional
2660
+ :return: Returns the result object.
2661
+ """ # noqa: E501 docstring might be too long
2662
+
2663
+ _param = self._list_acls_serialize(
2664
+ project_id=project_id,
2665
+ instance_id=instance_id,
2666
+ _request_auth=_request_auth,
2667
+ _content_type=_content_type,
2668
+ _headers=_headers,
2669
+ _host_index=_host_index,
2670
+ )
2671
+
2672
+ _response_types_map: Dict[str, Optional[str]] = {
2673
+ "200": "ListACLsResponse",
2674
+ "401": None,
2675
+ "404": None,
2676
+ "500": None,
2677
+ }
2678
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2679
+ return response_data.response
2680
+
2681
+ def _list_acls_serialize(
2682
+ self,
2683
+ project_id,
2684
+ instance_id,
2685
+ _request_auth,
2686
+ _content_type,
2687
+ _headers,
2688
+ _host_index,
2689
+ ) -> RequestSerialized:
2690
+
2691
+ _host = None
2692
+
2693
+ _collection_formats: Dict[str, str] = {}
2694
+
2695
+ _path_params: Dict[str, str] = {}
2696
+ _query_params: List[Tuple[str, str]] = []
2697
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2698
+ _form_params: List[Tuple[str, str]] = []
2699
+ _files: Dict[str, Union[str, bytes]] = {}
2700
+ _body_params: Optional[bytes] = None
2701
+
2702
+ # process the path parameters
2703
+ if project_id is not None:
2704
+ _path_params["projectId"] = project_id
2705
+ if instance_id is not None:
2706
+ _path_params["instanceId"] = instance_id
2707
+ # process the query parameters
2708
+ # process the header parameters
2709
+ # process the form parameters
2710
+ # process the body parameter
2711
+
2712
+ # set the HTTP header `Accept`
2713
+ if "Accept" not in _header_params:
2714
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2715
+
2716
+ # authentication setting
2717
+ _auth_settings: List[str] = []
2718
+
2719
+ return self.api_client.param_serialize(
2720
+ method="GET",
2721
+ resource_path="/v1/projects/{projectId}/instances/{instanceId}/acls",
2722
+ path_params=_path_params,
2723
+ query_params=_query_params,
2724
+ header_params=_header_params,
2725
+ body=_body_params,
2726
+ post_params=_form_params,
2727
+ files=_files,
2728
+ auth_settings=_auth_settings,
2729
+ collection_formats=_collection_formats,
2730
+ _host=_host,
2731
+ _request_auth=_request_auth,
2732
+ )
2733
+
2734
+ @validate_call
2735
+ def list_instances(
2736
+ self,
2737
+ project_id: Annotated[
2738
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
2739
+ ],
2740
+ _request_timeout: Union[
2741
+ None,
2742
+ Annotated[StrictFloat, Field(gt=0)],
2743
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
2744
+ ] = None,
2745
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2746
+ _content_type: Optional[StrictStr] = None,
2747
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2748
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2749
+ ) -> ListInstancesResponse:
2750
+ """list_instances
2751
+
2752
+ Returns a list of all Secrets Manager instances within the project.
2753
+
2754
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
2755
+ :type project_id: str
2756
+ :param _request_timeout: timeout setting for this request. If one
2757
+ number provided, it will be total request
2758
+ timeout. It can also be a pair (tuple) of
2759
+ (connection, read) timeouts.
2760
+ :type _request_timeout: int, tuple(int, int), optional
2761
+ :param _request_auth: set to override the auth_settings for an a single
2762
+ request; this effectively ignores the
2763
+ authentication in the spec for a single request.
2764
+ :type _request_auth: dict, optional
2765
+ :param _content_type: force content-type for the request.
2766
+ :type _content_type: str, Optional
2767
+ :param _headers: set to override the headers for a single
2768
+ request; this effectively ignores the headers
2769
+ in the spec for a single request.
2770
+ :type _headers: dict, optional
2771
+ :param _host_index: set to override the host_index for a single
2772
+ request; this effectively ignores the host_index
2773
+ in the spec for a single request.
2774
+ :type _host_index: int, optional
2775
+ :return: Returns the result object.
2776
+ """ # noqa: E501 docstring might be too long
2777
+
2778
+ _param = self._list_instances_serialize(
2779
+ project_id=project_id,
2780
+ _request_auth=_request_auth,
2781
+ _content_type=_content_type,
2782
+ _headers=_headers,
2783
+ _host_index=_host_index,
2784
+ )
2785
+
2786
+ _response_types_map: Dict[str, Optional[str]] = {
2787
+ "200": "ListInstancesResponse",
2788
+ "401": None,
2789
+ "500": None,
2790
+ }
2791
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2792
+ response_data.read()
2793
+ return self.api_client.response_deserialize(
2794
+ response_data=response_data,
2795
+ response_types_map=_response_types_map,
2796
+ ).data
2797
+
2798
+ @validate_call
2799
+ def list_instances_with_http_info(
2800
+ self,
2801
+ project_id: Annotated[
2802
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
2803
+ ],
2804
+ _request_timeout: Union[
2805
+ None,
2806
+ Annotated[StrictFloat, Field(gt=0)],
2807
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
2808
+ ] = None,
2809
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2810
+ _content_type: Optional[StrictStr] = None,
2811
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2812
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2813
+ ) -> ApiResponse[ListInstancesResponse]:
2814
+ """list_instances
2815
+
2816
+ Returns a list of all Secrets Manager instances within the project.
2817
+
2818
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
2819
+ :type project_id: str
2820
+ :param _request_timeout: timeout setting for this request. If one
2821
+ number provided, it will be total request
2822
+ timeout. It can also be a pair (tuple) of
2823
+ (connection, read) timeouts.
2824
+ :type _request_timeout: int, tuple(int, int), optional
2825
+ :param _request_auth: set to override the auth_settings for an a single
2826
+ request; this effectively ignores the
2827
+ authentication in the spec for a single request.
2828
+ :type _request_auth: dict, optional
2829
+ :param _content_type: force content-type for the request.
2830
+ :type _content_type: str, Optional
2831
+ :param _headers: set to override the headers for a single
2832
+ request; this effectively ignores the headers
2833
+ in the spec for a single request.
2834
+ :type _headers: dict, optional
2835
+ :param _host_index: set to override the host_index for a single
2836
+ request; this effectively ignores the host_index
2837
+ in the spec for a single request.
2838
+ :type _host_index: int, optional
2839
+ :return: Returns the result object.
2840
+ """ # noqa: E501 docstring might be too long
2841
+
2842
+ _param = self._list_instances_serialize(
2843
+ project_id=project_id,
2844
+ _request_auth=_request_auth,
2845
+ _content_type=_content_type,
2846
+ _headers=_headers,
2847
+ _host_index=_host_index,
2848
+ )
2849
+
2850
+ _response_types_map: Dict[str, Optional[str]] = {
2851
+ "200": "ListInstancesResponse",
2852
+ "401": None,
2853
+ "500": None,
2854
+ }
2855
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2856
+ response_data.read()
2857
+ return self.api_client.response_deserialize(
2858
+ response_data=response_data,
2859
+ response_types_map=_response_types_map,
2860
+ )
2861
+
2862
+ @validate_call
2863
+ def list_instances_without_preload_content(
2864
+ self,
2865
+ project_id: Annotated[
2866
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
2867
+ ],
2868
+ _request_timeout: Union[
2869
+ None,
2870
+ Annotated[StrictFloat, Field(gt=0)],
2871
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
2872
+ ] = None,
2873
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2874
+ _content_type: Optional[StrictStr] = None,
2875
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2876
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2877
+ ) -> RESTResponseType:
2878
+ """list_instances
2879
+
2880
+ Returns a list of all Secrets Manager instances within the project.
2881
+
2882
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
2883
+ :type project_id: str
2884
+ :param _request_timeout: timeout setting for this request. If one
2885
+ number provided, it will be total request
2886
+ timeout. It can also be a pair (tuple) of
2887
+ (connection, read) timeouts.
2888
+ :type _request_timeout: int, tuple(int, int), optional
2889
+ :param _request_auth: set to override the auth_settings for an a single
2890
+ request; this effectively ignores the
2891
+ authentication in the spec for a single request.
2892
+ :type _request_auth: dict, optional
2893
+ :param _content_type: force content-type for the request.
2894
+ :type _content_type: str, Optional
2895
+ :param _headers: set to override the headers for a single
2896
+ request; this effectively ignores the headers
2897
+ in the spec for a single request.
2898
+ :type _headers: dict, optional
2899
+ :param _host_index: set to override the host_index for a single
2900
+ request; this effectively ignores the host_index
2901
+ in the spec for a single request.
2902
+ :type _host_index: int, optional
2903
+ :return: Returns the result object.
2904
+ """ # noqa: E501 docstring might be too long
2905
+
2906
+ _param = self._list_instances_serialize(
2907
+ project_id=project_id,
2908
+ _request_auth=_request_auth,
2909
+ _content_type=_content_type,
2910
+ _headers=_headers,
2911
+ _host_index=_host_index,
2912
+ )
2913
+
2914
+ _response_types_map: Dict[str, Optional[str]] = {
2915
+ "200": "ListInstancesResponse",
2916
+ "401": None,
2917
+ "500": None,
2918
+ }
2919
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2920
+ return response_data.response
2921
+
2922
+ def _list_instances_serialize(
2923
+ self,
2924
+ project_id,
2925
+ _request_auth,
2926
+ _content_type,
2927
+ _headers,
2928
+ _host_index,
2929
+ ) -> RequestSerialized:
2930
+
2931
+ _host = None
2932
+
2933
+ _collection_formats: Dict[str, str] = {}
2934
+
2935
+ _path_params: Dict[str, str] = {}
2936
+ _query_params: List[Tuple[str, str]] = []
2937
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2938
+ _form_params: List[Tuple[str, str]] = []
2939
+ _files: Dict[str, Union[str, bytes]] = {}
2940
+ _body_params: Optional[bytes] = None
2941
+
2942
+ # process the path parameters
2943
+ if project_id is not None:
2944
+ _path_params["projectId"] = project_id
2945
+ # process the query parameters
2946
+ # process the header parameters
2947
+ # process the form parameters
2948
+ # process the body parameter
2949
+
2950
+ # set the HTTP header `Accept`
2951
+ if "Accept" not in _header_params:
2952
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2953
+
2954
+ # authentication setting
2955
+ _auth_settings: List[str] = []
2956
+
2957
+ return self.api_client.param_serialize(
2958
+ method="GET",
2959
+ resource_path="/v1/projects/{projectId}/instances",
2960
+ path_params=_path_params,
2961
+ query_params=_query_params,
2962
+ header_params=_header_params,
2963
+ body=_body_params,
2964
+ post_params=_form_params,
2965
+ files=_files,
2966
+ auth_settings=_auth_settings,
2967
+ collection_formats=_collection_formats,
2968
+ _host=_host,
2969
+ _request_auth=_request_auth,
2970
+ )
2971
+
2972
+ @validate_call
2973
+ def list_users(
2974
+ self,
2975
+ project_id: Annotated[
2976
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
2977
+ ],
2978
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
2979
+ _request_timeout: Union[
2980
+ None,
2981
+ Annotated[StrictFloat, Field(gt=0)],
2982
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
2983
+ ] = None,
2984
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2985
+ _content_type: Optional[StrictStr] = None,
2986
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2987
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2988
+ ) -> ListUsersResponse:
2989
+ """list_users
2990
+
2991
+ Returns the users for the given Secrets Manager instance.
2992
+
2993
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
2994
+ :type project_id: str
2995
+ :param instance_id: The Secrets Manager instance UUID. (required)
2996
+ :type instance_id: str
2997
+ :param _request_timeout: timeout setting for this request. If one
2998
+ number provided, it will be total request
2999
+ timeout. It can also be a pair (tuple) of
3000
+ (connection, read) timeouts.
3001
+ :type _request_timeout: int, tuple(int, int), optional
3002
+ :param _request_auth: set to override the auth_settings for an a single
3003
+ request; this effectively ignores the
3004
+ authentication in the spec for a single request.
3005
+ :type _request_auth: dict, optional
3006
+ :param _content_type: force content-type for the request.
3007
+ :type _content_type: str, Optional
3008
+ :param _headers: set to override the headers for a single
3009
+ request; this effectively ignores the headers
3010
+ in the spec for a single request.
3011
+ :type _headers: dict, optional
3012
+ :param _host_index: set to override the host_index for a single
3013
+ request; this effectively ignores the host_index
3014
+ in the spec for a single request.
3015
+ :type _host_index: int, optional
3016
+ :return: Returns the result object.
3017
+ """ # noqa: E501 docstring might be too long
3018
+
3019
+ _param = self._list_users_serialize(
3020
+ project_id=project_id,
3021
+ instance_id=instance_id,
3022
+ _request_auth=_request_auth,
3023
+ _content_type=_content_type,
3024
+ _headers=_headers,
3025
+ _host_index=_host_index,
3026
+ )
3027
+
3028
+ _response_types_map: Dict[str, Optional[str]] = {
3029
+ "200": "ListUsersResponse",
3030
+ "401": None,
3031
+ "404": None,
3032
+ "500": None,
3033
+ }
3034
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3035
+ response_data.read()
3036
+ return self.api_client.response_deserialize(
3037
+ response_data=response_data,
3038
+ response_types_map=_response_types_map,
3039
+ ).data
3040
+
3041
+ @validate_call
3042
+ def list_users_with_http_info(
3043
+ self,
3044
+ project_id: Annotated[
3045
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
3046
+ ],
3047
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
3048
+ _request_timeout: Union[
3049
+ None,
3050
+ Annotated[StrictFloat, Field(gt=0)],
3051
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
3052
+ ] = None,
3053
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3054
+ _content_type: Optional[StrictStr] = None,
3055
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3056
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3057
+ ) -> ApiResponse[ListUsersResponse]:
3058
+ """list_users
3059
+
3060
+ Returns the users for the given Secrets Manager instance.
3061
+
3062
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
3063
+ :type project_id: str
3064
+ :param instance_id: The Secrets Manager instance UUID. (required)
3065
+ :type instance_id: str
3066
+ :param _request_timeout: timeout setting for this request. If one
3067
+ number provided, it will be total request
3068
+ timeout. It can also be a pair (tuple) of
3069
+ (connection, read) timeouts.
3070
+ :type _request_timeout: int, tuple(int, int), optional
3071
+ :param _request_auth: set to override the auth_settings for an a single
3072
+ request; this effectively ignores the
3073
+ authentication in the spec for a single request.
3074
+ :type _request_auth: dict, optional
3075
+ :param _content_type: force content-type for the request.
3076
+ :type _content_type: str, Optional
3077
+ :param _headers: set to override the headers for a single
3078
+ request; this effectively ignores the headers
3079
+ in the spec for a single request.
3080
+ :type _headers: dict, optional
3081
+ :param _host_index: set to override the host_index for a single
3082
+ request; this effectively ignores the host_index
3083
+ in the spec for a single request.
3084
+ :type _host_index: int, optional
3085
+ :return: Returns the result object.
3086
+ """ # noqa: E501 docstring might be too long
3087
+
3088
+ _param = self._list_users_serialize(
3089
+ project_id=project_id,
3090
+ instance_id=instance_id,
3091
+ _request_auth=_request_auth,
3092
+ _content_type=_content_type,
3093
+ _headers=_headers,
3094
+ _host_index=_host_index,
3095
+ )
3096
+
3097
+ _response_types_map: Dict[str, Optional[str]] = {
3098
+ "200": "ListUsersResponse",
3099
+ "401": None,
3100
+ "404": None,
3101
+ "500": None,
3102
+ }
3103
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3104
+ response_data.read()
3105
+ return self.api_client.response_deserialize(
3106
+ response_data=response_data,
3107
+ response_types_map=_response_types_map,
3108
+ )
3109
+
3110
+ @validate_call
3111
+ def list_users_without_preload_content(
3112
+ self,
3113
+ project_id: Annotated[
3114
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
3115
+ ],
3116
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
3117
+ _request_timeout: Union[
3118
+ None,
3119
+ Annotated[StrictFloat, Field(gt=0)],
3120
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
3121
+ ] = None,
3122
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3123
+ _content_type: Optional[StrictStr] = None,
3124
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3125
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3126
+ ) -> RESTResponseType:
3127
+ """list_users
3128
+
3129
+ Returns the users for the given Secrets Manager instance.
3130
+
3131
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
3132
+ :type project_id: str
3133
+ :param instance_id: The Secrets Manager instance UUID. (required)
3134
+ :type instance_id: str
3135
+ :param _request_timeout: timeout setting for this request. If one
3136
+ number provided, it will be total request
3137
+ timeout. It can also be a pair (tuple) of
3138
+ (connection, read) timeouts.
3139
+ :type _request_timeout: int, tuple(int, int), optional
3140
+ :param _request_auth: set to override the auth_settings for an a single
3141
+ request; this effectively ignores the
3142
+ authentication in the spec for a single request.
3143
+ :type _request_auth: dict, optional
3144
+ :param _content_type: force content-type for the request.
3145
+ :type _content_type: str, Optional
3146
+ :param _headers: set to override the headers for a single
3147
+ request; this effectively ignores the headers
3148
+ in the spec for a single request.
3149
+ :type _headers: dict, optional
3150
+ :param _host_index: set to override the host_index for a single
3151
+ request; this effectively ignores the host_index
3152
+ in the spec for a single request.
3153
+ :type _host_index: int, optional
3154
+ :return: Returns the result object.
3155
+ """ # noqa: E501 docstring might be too long
3156
+
3157
+ _param = self._list_users_serialize(
3158
+ project_id=project_id,
3159
+ instance_id=instance_id,
3160
+ _request_auth=_request_auth,
3161
+ _content_type=_content_type,
3162
+ _headers=_headers,
3163
+ _host_index=_host_index,
3164
+ )
3165
+
3166
+ _response_types_map: Dict[str, Optional[str]] = {
3167
+ "200": "ListUsersResponse",
3168
+ "401": None,
3169
+ "404": None,
3170
+ "500": None,
3171
+ }
3172
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3173
+ return response_data.response
3174
+
3175
+ def _list_users_serialize(
3176
+ self,
3177
+ project_id,
3178
+ instance_id,
3179
+ _request_auth,
3180
+ _content_type,
3181
+ _headers,
3182
+ _host_index,
3183
+ ) -> RequestSerialized:
3184
+
3185
+ _host = None
3186
+
3187
+ _collection_formats: Dict[str, str] = {}
3188
+
3189
+ _path_params: Dict[str, str] = {}
3190
+ _query_params: List[Tuple[str, str]] = []
3191
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3192
+ _form_params: List[Tuple[str, str]] = []
3193
+ _files: Dict[str, Union[str, bytes]] = {}
3194
+ _body_params: Optional[bytes] = None
3195
+
3196
+ # process the path parameters
3197
+ if project_id is not None:
3198
+ _path_params["projectId"] = project_id
3199
+ if instance_id is not None:
3200
+ _path_params["instanceId"] = instance_id
3201
+ # process the query parameters
3202
+ # process the header parameters
3203
+ # process the form parameters
3204
+ # process the body parameter
3205
+
3206
+ # set the HTTP header `Accept`
3207
+ if "Accept" not in _header_params:
3208
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
3209
+
3210
+ # authentication setting
3211
+ _auth_settings: List[str] = []
3212
+
3213
+ return self.api_client.param_serialize(
3214
+ method="GET",
3215
+ resource_path="/v1/projects/{projectId}/instances/{instanceId}/users",
3216
+ path_params=_path_params,
3217
+ query_params=_query_params,
3218
+ header_params=_header_params,
3219
+ body=_body_params,
3220
+ post_params=_form_params,
3221
+ files=_files,
3222
+ auth_settings=_auth_settings,
3223
+ collection_formats=_collection_formats,
3224
+ _host=_host,
3225
+ _request_auth=_request_auth,
3226
+ )
3227
+
3228
+ @validate_call
3229
+ def update_acl(
3230
+ self,
3231
+ project_id: Annotated[
3232
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
3233
+ ],
3234
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
3235
+ acl_id: Annotated[StrictStr, Field(description="The acl UUID of the Secrets Manager instance.")],
3236
+ update_acl_payload: UpdateACLPayload,
3237
+ _request_timeout: Union[
3238
+ None,
3239
+ Annotated[StrictFloat, Field(gt=0)],
3240
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
3241
+ ] = None,
3242
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3243
+ _content_type: Optional[StrictStr] = None,
3244
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3245
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3246
+ ) -> None:
3247
+ """update_acl
3248
+
3249
+ Updates the ip ranges for the acl.
3250
+
3251
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
3252
+ :type project_id: str
3253
+ :param instance_id: The Secrets Manager instance UUID. (required)
3254
+ :type instance_id: str
3255
+ :param acl_id: The acl UUID of the Secrets Manager instance. (required)
3256
+ :type acl_id: str
3257
+ :param update_acl_payload: (required)
3258
+ :type update_acl_payload: UpdateACLPayload
3259
+ :param _request_timeout: timeout setting for this request. If one
3260
+ number provided, it will be total request
3261
+ timeout. It can also be a pair (tuple) of
3262
+ (connection, read) timeouts.
3263
+ :type _request_timeout: int, tuple(int, int), optional
3264
+ :param _request_auth: set to override the auth_settings for an a single
3265
+ request; this effectively ignores the
3266
+ authentication in the spec for a single request.
3267
+ :type _request_auth: dict, optional
3268
+ :param _content_type: force content-type for the request.
3269
+ :type _content_type: str, Optional
3270
+ :param _headers: set to override the headers for a single
3271
+ request; this effectively ignores the headers
3272
+ in the spec for a single request.
3273
+ :type _headers: dict, optional
3274
+ :param _host_index: set to override the host_index for a single
3275
+ request; this effectively ignores the host_index
3276
+ in the spec for a single request.
3277
+ :type _host_index: int, optional
3278
+ :return: Returns the result object.
3279
+ """ # noqa: E501 docstring might be too long
3280
+
3281
+ _param = self._update_acl_serialize(
3282
+ project_id=project_id,
3283
+ instance_id=instance_id,
3284
+ acl_id=acl_id,
3285
+ update_acl_payload=update_acl_payload,
3286
+ _request_auth=_request_auth,
3287
+ _content_type=_content_type,
3288
+ _headers=_headers,
3289
+ _host_index=_host_index,
3290
+ )
3291
+
3292
+ _response_types_map: Dict[str, Optional[str]] = {
3293
+ "200": None,
3294
+ "400": None,
3295
+ "401": None,
3296
+ "404": None,
3297
+ "500": None,
3298
+ }
3299
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3300
+ response_data.read()
3301
+ return self.api_client.response_deserialize(
3302
+ response_data=response_data,
3303
+ response_types_map=_response_types_map,
3304
+ ).data
3305
+
3306
+ @validate_call
3307
+ def update_acl_with_http_info(
3308
+ self,
3309
+ project_id: Annotated[
3310
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
3311
+ ],
3312
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
3313
+ acl_id: Annotated[StrictStr, Field(description="The acl UUID of the Secrets Manager instance.")],
3314
+ update_acl_payload: UpdateACLPayload,
3315
+ _request_timeout: Union[
3316
+ None,
3317
+ Annotated[StrictFloat, Field(gt=0)],
3318
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
3319
+ ] = None,
3320
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3321
+ _content_type: Optional[StrictStr] = None,
3322
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3323
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3324
+ ) -> ApiResponse[None]:
3325
+ """update_acl
3326
+
3327
+ Updates the ip ranges for the acl.
3328
+
3329
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
3330
+ :type project_id: str
3331
+ :param instance_id: The Secrets Manager instance UUID. (required)
3332
+ :type instance_id: str
3333
+ :param acl_id: The acl UUID of the Secrets Manager instance. (required)
3334
+ :type acl_id: str
3335
+ :param update_acl_payload: (required)
3336
+ :type update_acl_payload: UpdateACLPayload
3337
+ :param _request_timeout: timeout setting for this request. If one
3338
+ number provided, it will be total request
3339
+ timeout. It can also be a pair (tuple) of
3340
+ (connection, read) timeouts.
3341
+ :type _request_timeout: int, tuple(int, int), optional
3342
+ :param _request_auth: set to override the auth_settings for an a single
3343
+ request; this effectively ignores the
3344
+ authentication in the spec for a single request.
3345
+ :type _request_auth: dict, optional
3346
+ :param _content_type: force content-type for the request.
3347
+ :type _content_type: str, Optional
3348
+ :param _headers: set to override the headers for a single
3349
+ request; this effectively ignores the headers
3350
+ in the spec for a single request.
3351
+ :type _headers: dict, optional
3352
+ :param _host_index: set to override the host_index for a single
3353
+ request; this effectively ignores the host_index
3354
+ in the spec for a single request.
3355
+ :type _host_index: int, optional
3356
+ :return: Returns the result object.
3357
+ """ # noqa: E501 docstring might be too long
3358
+
3359
+ _param = self._update_acl_serialize(
3360
+ project_id=project_id,
3361
+ instance_id=instance_id,
3362
+ acl_id=acl_id,
3363
+ update_acl_payload=update_acl_payload,
3364
+ _request_auth=_request_auth,
3365
+ _content_type=_content_type,
3366
+ _headers=_headers,
3367
+ _host_index=_host_index,
3368
+ )
3369
+
3370
+ _response_types_map: Dict[str, Optional[str]] = {
3371
+ "200": None,
3372
+ "400": None,
3373
+ "401": None,
3374
+ "404": None,
3375
+ "500": None,
3376
+ }
3377
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3378
+ response_data.read()
3379
+ return self.api_client.response_deserialize(
3380
+ response_data=response_data,
3381
+ response_types_map=_response_types_map,
3382
+ )
3383
+
3384
+ @validate_call
3385
+ def update_acl_without_preload_content(
3386
+ self,
3387
+ project_id: Annotated[
3388
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
3389
+ ],
3390
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
3391
+ acl_id: Annotated[StrictStr, Field(description="The acl UUID of the Secrets Manager instance.")],
3392
+ update_acl_payload: UpdateACLPayload,
3393
+ _request_timeout: Union[
3394
+ None,
3395
+ Annotated[StrictFloat, Field(gt=0)],
3396
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
3397
+ ] = None,
3398
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3399
+ _content_type: Optional[StrictStr] = None,
3400
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3401
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3402
+ ) -> RESTResponseType:
3403
+ """update_acl
3404
+
3405
+ Updates the ip ranges for the acl.
3406
+
3407
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
3408
+ :type project_id: str
3409
+ :param instance_id: The Secrets Manager instance UUID. (required)
3410
+ :type instance_id: str
3411
+ :param acl_id: The acl UUID of the Secrets Manager instance. (required)
3412
+ :type acl_id: str
3413
+ :param update_acl_payload: (required)
3414
+ :type update_acl_payload: UpdateACLPayload
3415
+ :param _request_timeout: timeout setting for this request. If one
3416
+ number provided, it will be total request
3417
+ timeout. It can also be a pair (tuple) of
3418
+ (connection, read) timeouts.
3419
+ :type _request_timeout: int, tuple(int, int), optional
3420
+ :param _request_auth: set to override the auth_settings for an a single
3421
+ request; this effectively ignores the
3422
+ authentication in the spec for a single request.
3423
+ :type _request_auth: dict, optional
3424
+ :param _content_type: force content-type for the request.
3425
+ :type _content_type: str, Optional
3426
+ :param _headers: set to override the headers for a single
3427
+ request; this effectively ignores the headers
3428
+ in the spec for a single request.
3429
+ :type _headers: dict, optional
3430
+ :param _host_index: set to override the host_index for a single
3431
+ request; this effectively ignores the host_index
3432
+ in the spec for a single request.
3433
+ :type _host_index: int, optional
3434
+ :return: Returns the result object.
3435
+ """ # noqa: E501 docstring might be too long
3436
+
3437
+ _param = self._update_acl_serialize(
3438
+ project_id=project_id,
3439
+ instance_id=instance_id,
3440
+ acl_id=acl_id,
3441
+ update_acl_payload=update_acl_payload,
3442
+ _request_auth=_request_auth,
3443
+ _content_type=_content_type,
3444
+ _headers=_headers,
3445
+ _host_index=_host_index,
3446
+ )
3447
+
3448
+ _response_types_map: Dict[str, Optional[str]] = {
3449
+ "200": None,
3450
+ "400": None,
3451
+ "401": None,
3452
+ "404": None,
3453
+ "500": None,
3454
+ }
3455
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3456
+ return response_data.response
3457
+
3458
+ def _update_acl_serialize(
3459
+ self,
3460
+ project_id,
3461
+ instance_id,
3462
+ acl_id,
3463
+ update_acl_payload,
3464
+ _request_auth,
3465
+ _content_type,
3466
+ _headers,
3467
+ _host_index,
3468
+ ) -> RequestSerialized:
3469
+
3470
+ _host = None
3471
+
3472
+ _collection_formats: Dict[str, str] = {}
3473
+
3474
+ _path_params: Dict[str, str] = {}
3475
+ _query_params: List[Tuple[str, str]] = []
3476
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3477
+ _form_params: List[Tuple[str, str]] = []
3478
+ _files: Dict[str, Union[str, bytes]] = {}
3479
+ _body_params: Optional[bytes] = None
3480
+
3481
+ # process the path parameters
3482
+ if project_id is not None:
3483
+ _path_params["projectId"] = project_id
3484
+ if instance_id is not None:
3485
+ _path_params["instanceId"] = instance_id
3486
+ if acl_id is not None:
3487
+ _path_params["aclId"] = acl_id
3488
+ # process the query parameters
3489
+ # process the header parameters
3490
+ # process the form parameters
3491
+ # process the body parameter
3492
+ if update_acl_payload is not None:
3493
+ _body_params = update_acl_payload
3494
+
3495
+ # set the HTTP header `Content-Type`
3496
+ if _content_type:
3497
+ _header_params["Content-Type"] = _content_type
3498
+ else:
3499
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
3500
+ if _default_content_type is not None:
3501
+ _header_params["Content-Type"] = _default_content_type
3502
+
3503
+ # authentication setting
3504
+ _auth_settings: List[str] = []
3505
+
3506
+ return self.api_client.param_serialize(
3507
+ method="PUT",
3508
+ resource_path="/v1/projects/{projectId}/instances/{instanceId}/acls/{aclId}",
3509
+ path_params=_path_params,
3510
+ query_params=_query_params,
3511
+ header_params=_header_params,
3512
+ body=_body_params,
3513
+ post_params=_form_params,
3514
+ files=_files,
3515
+ auth_settings=_auth_settings,
3516
+ collection_formats=_collection_formats,
3517
+ _host=_host,
3518
+ _request_auth=_request_auth,
3519
+ )
3520
+
3521
+ @validate_call
3522
+ def update_acls(
3523
+ self,
3524
+ project_id: Annotated[
3525
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
3526
+ ],
3527
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
3528
+ update_acls_payload: UpdateACLsPayload,
3529
+ _request_timeout: Union[
3530
+ None,
3531
+ Annotated[StrictFloat, Field(gt=0)],
3532
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
3533
+ ] = None,
3534
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3535
+ _content_type: Optional[StrictStr] = None,
3536
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3537
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3538
+ ) -> None:
3539
+ """update_acls
3540
+
3541
+ Changes a list of ACLs within the project.
3542
+
3543
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
3544
+ :type project_id: str
3545
+ :param instance_id: The Secrets Manager instance UUID. (required)
3546
+ :type instance_id: str
3547
+ :param update_acls_payload: (required)
3548
+ :type update_acls_payload: UpdateACLsPayload
3549
+ :param _request_timeout: timeout setting for this request. If one
3550
+ number provided, it will be total request
3551
+ timeout. It can also be a pair (tuple) of
3552
+ (connection, read) timeouts.
3553
+ :type _request_timeout: int, tuple(int, int), optional
3554
+ :param _request_auth: set to override the auth_settings for an a single
3555
+ request; this effectively ignores the
3556
+ authentication in the spec for a single request.
3557
+ :type _request_auth: dict, optional
3558
+ :param _content_type: force content-type for the request.
3559
+ :type _content_type: str, Optional
3560
+ :param _headers: set to override the headers for a single
3561
+ request; this effectively ignores the headers
3562
+ in the spec for a single request.
3563
+ :type _headers: dict, optional
3564
+ :param _host_index: set to override the host_index for a single
3565
+ request; this effectively ignores the host_index
3566
+ in the spec for a single request.
3567
+ :type _host_index: int, optional
3568
+ :return: Returns the result object.
3569
+ """ # noqa: E501 docstring might be too long
3570
+
3571
+ _param = self._update_acls_serialize(
3572
+ project_id=project_id,
3573
+ instance_id=instance_id,
3574
+ update_acls_payload=update_acls_payload,
3575
+ _request_auth=_request_auth,
3576
+ _content_type=_content_type,
3577
+ _headers=_headers,
3578
+ _host_index=_host_index,
3579
+ )
3580
+
3581
+ _response_types_map: Dict[str, Optional[str]] = {
3582
+ "200": None,
3583
+ "400": None,
3584
+ "401": None,
3585
+ "404": None,
3586
+ "500": None,
3587
+ }
3588
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3589
+ response_data.read()
3590
+ return self.api_client.response_deserialize(
3591
+ response_data=response_data,
3592
+ response_types_map=_response_types_map,
3593
+ ).data
3594
+
3595
+ @validate_call
3596
+ def update_acls_with_http_info(
3597
+ self,
3598
+ project_id: Annotated[
3599
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
3600
+ ],
3601
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
3602
+ update_acls_payload: UpdateACLsPayload,
3603
+ _request_timeout: Union[
3604
+ None,
3605
+ Annotated[StrictFloat, Field(gt=0)],
3606
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
3607
+ ] = None,
3608
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3609
+ _content_type: Optional[StrictStr] = None,
3610
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3611
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3612
+ ) -> ApiResponse[None]:
3613
+ """update_acls
3614
+
3615
+ Changes a list of ACLs within the project.
3616
+
3617
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
3618
+ :type project_id: str
3619
+ :param instance_id: The Secrets Manager instance UUID. (required)
3620
+ :type instance_id: str
3621
+ :param update_acls_payload: (required)
3622
+ :type update_acls_payload: UpdateACLsPayload
3623
+ :param _request_timeout: timeout setting for this request. If one
3624
+ number provided, it will be total request
3625
+ timeout. It can also be a pair (tuple) of
3626
+ (connection, read) timeouts.
3627
+ :type _request_timeout: int, tuple(int, int), optional
3628
+ :param _request_auth: set to override the auth_settings for an a single
3629
+ request; this effectively ignores the
3630
+ authentication in the spec for a single request.
3631
+ :type _request_auth: dict, optional
3632
+ :param _content_type: force content-type for the request.
3633
+ :type _content_type: str, Optional
3634
+ :param _headers: set to override the headers for a single
3635
+ request; this effectively ignores the headers
3636
+ in the spec for a single request.
3637
+ :type _headers: dict, optional
3638
+ :param _host_index: set to override the host_index for a single
3639
+ request; this effectively ignores the host_index
3640
+ in the spec for a single request.
3641
+ :type _host_index: int, optional
3642
+ :return: Returns the result object.
3643
+ """ # noqa: E501 docstring might be too long
3644
+
3645
+ _param = self._update_acls_serialize(
3646
+ project_id=project_id,
3647
+ instance_id=instance_id,
3648
+ update_acls_payload=update_acls_payload,
3649
+ _request_auth=_request_auth,
3650
+ _content_type=_content_type,
3651
+ _headers=_headers,
3652
+ _host_index=_host_index,
3653
+ )
3654
+
3655
+ _response_types_map: Dict[str, Optional[str]] = {
3656
+ "200": None,
3657
+ "400": None,
3658
+ "401": None,
3659
+ "404": None,
3660
+ "500": None,
3661
+ }
3662
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3663
+ response_data.read()
3664
+ return self.api_client.response_deserialize(
3665
+ response_data=response_data,
3666
+ response_types_map=_response_types_map,
3667
+ )
3668
+
3669
+ @validate_call
3670
+ def update_acls_without_preload_content(
3671
+ self,
3672
+ project_id: Annotated[
3673
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
3674
+ ],
3675
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
3676
+ update_acls_payload: UpdateACLsPayload,
3677
+ _request_timeout: Union[
3678
+ None,
3679
+ Annotated[StrictFloat, Field(gt=0)],
3680
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
3681
+ ] = None,
3682
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3683
+ _content_type: Optional[StrictStr] = None,
3684
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3685
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3686
+ ) -> RESTResponseType:
3687
+ """update_acls
3688
+
3689
+ Changes a list of ACLs within the project.
3690
+
3691
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
3692
+ :type project_id: str
3693
+ :param instance_id: The Secrets Manager instance UUID. (required)
3694
+ :type instance_id: str
3695
+ :param update_acls_payload: (required)
3696
+ :type update_acls_payload: UpdateACLsPayload
3697
+ :param _request_timeout: timeout setting for this request. If one
3698
+ number provided, it will be total request
3699
+ timeout. It can also be a pair (tuple) of
3700
+ (connection, read) timeouts.
3701
+ :type _request_timeout: int, tuple(int, int), optional
3702
+ :param _request_auth: set to override the auth_settings for an a single
3703
+ request; this effectively ignores the
3704
+ authentication in the spec for a single request.
3705
+ :type _request_auth: dict, optional
3706
+ :param _content_type: force content-type for the request.
3707
+ :type _content_type: str, Optional
3708
+ :param _headers: set to override the headers for a single
3709
+ request; this effectively ignores the headers
3710
+ in the spec for a single request.
3711
+ :type _headers: dict, optional
3712
+ :param _host_index: set to override the host_index for a single
3713
+ request; this effectively ignores the host_index
3714
+ in the spec for a single request.
3715
+ :type _host_index: int, optional
3716
+ :return: Returns the result object.
3717
+ """ # noqa: E501 docstring might be too long
3718
+
3719
+ _param = self._update_acls_serialize(
3720
+ project_id=project_id,
3721
+ instance_id=instance_id,
3722
+ update_acls_payload=update_acls_payload,
3723
+ _request_auth=_request_auth,
3724
+ _content_type=_content_type,
3725
+ _headers=_headers,
3726
+ _host_index=_host_index,
3727
+ )
3728
+
3729
+ _response_types_map: Dict[str, Optional[str]] = {
3730
+ "200": None,
3731
+ "400": None,
3732
+ "401": None,
3733
+ "404": None,
3734
+ "500": None,
3735
+ }
3736
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3737
+ return response_data.response
3738
+
3739
+ def _update_acls_serialize(
3740
+ self,
3741
+ project_id,
3742
+ instance_id,
3743
+ update_acls_payload,
3744
+ _request_auth,
3745
+ _content_type,
3746
+ _headers,
3747
+ _host_index,
3748
+ ) -> RequestSerialized:
3749
+
3750
+ _host = None
3751
+
3752
+ _collection_formats: Dict[str, str] = {}
3753
+
3754
+ _path_params: Dict[str, str] = {}
3755
+ _query_params: List[Tuple[str, str]] = []
3756
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3757
+ _form_params: List[Tuple[str, str]] = []
3758
+ _files: Dict[str, Union[str, bytes]] = {}
3759
+ _body_params: Optional[bytes] = None
3760
+
3761
+ # process the path parameters
3762
+ if project_id is not None:
3763
+ _path_params["projectId"] = project_id
3764
+ if instance_id is not None:
3765
+ _path_params["instanceId"] = instance_id
3766
+ # process the query parameters
3767
+ # process the header parameters
3768
+ # process the form parameters
3769
+ # process the body parameter
3770
+ if update_acls_payload is not None:
3771
+ _body_params = update_acls_payload
3772
+
3773
+ # set the HTTP header `Content-Type`
3774
+ if _content_type:
3775
+ _header_params["Content-Type"] = _content_type
3776
+ else:
3777
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
3778
+ if _default_content_type is not None:
3779
+ _header_params["Content-Type"] = _default_content_type
3780
+
3781
+ # authentication setting
3782
+ _auth_settings: List[str] = []
3783
+
3784
+ return self.api_client.param_serialize(
3785
+ method="PUT",
3786
+ resource_path="/v1/projects/{projectId}/instances/{instanceId}/acls",
3787
+ path_params=_path_params,
3788
+ query_params=_query_params,
3789
+ header_params=_header_params,
3790
+ body=_body_params,
3791
+ post_params=_form_params,
3792
+ files=_files,
3793
+ auth_settings=_auth_settings,
3794
+ collection_formats=_collection_formats,
3795
+ _host=_host,
3796
+ _request_auth=_request_auth,
3797
+ )
3798
+
3799
+ @validate_call
3800
+ def update_instance(
3801
+ self,
3802
+ project_id: Annotated[
3803
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
3804
+ ],
3805
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
3806
+ update_instance_payload: UpdateInstancePayload,
3807
+ _request_timeout: Union[
3808
+ None,
3809
+ Annotated[StrictFloat, Field(gt=0)],
3810
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
3811
+ ] = None,
3812
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3813
+ _content_type: Optional[StrictStr] = None,
3814
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3815
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3816
+ ) -> None:
3817
+ """update_instance
3818
+
3819
+ Updates the given Secrets Manager instance.
3820
+
3821
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
3822
+ :type project_id: str
3823
+ :param instance_id: The Secrets Manager instance UUID. (required)
3824
+ :type instance_id: str
3825
+ :param update_instance_payload: (required)
3826
+ :type update_instance_payload: UpdateInstancePayload
3827
+ :param _request_timeout: timeout setting for this request. If one
3828
+ number provided, it will be total request
3829
+ timeout. It can also be a pair (tuple) of
3830
+ (connection, read) timeouts.
3831
+ :type _request_timeout: int, tuple(int, int), optional
3832
+ :param _request_auth: set to override the auth_settings for an a single
3833
+ request; this effectively ignores the
3834
+ authentication in the spec for a single request.
3835
+ :type _request_auth: dict, optional
3836
+ :param _content_type: force content-type for the request.
3837
+ :type _content_type: str, Optional
3838
+ :param _headers: set to override the headers for a single
3839
+ request; this effectively ignores the headers
3840
+ in the spec for a single request.
3841
+ :type _headers: dict, optional
3842
+ :param _host_index: set to override the host_index for a single
3843
+ request; this effectively ignores the host_index
3844
+ in the spec for a single request.
3845
+ :type _host_index: int, optional
3846
+ :return: Returns the result object.
3847
+ """ # noqa: E501 docstring might be too long
3848
+
3849
+ _param = self._update_instance_serialize(
3850
+ project_id=project_id,
3851
+ instance_id=instance_id,
3852
+ update_instance_payload=update_instance_payload,
3853
+ _request_auth=_request_auth,
3854
+ _content_type=_content_type,
3855
+ _headers=_headers,
3856
+ _host_index=_host_index,
3857
+ )
3858
+
3859
+ _response_types_map: Dict[str, Optional[str]] = {
3860
+ "201": None,
3861
+ "400": None,
3862
+ "401": None,
3863
+ "404": None,
3864
+ "500": None,
3865
+ }
3866
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3867
+ response_data.read()
3868
+ return self.api_client.response_deserialize(
3869
+ response_data=response_data,
3870
+ response_types_map=_response_types_map,
3871
+ ).data
3872
+
3873
+ @validate_call
3874
+ def update_instance_with_http_info(
3875
+ self,
3876
+ project_id: Annotated[
3877
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
3878
+ ],
3879
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
3880
+ update_instance_payload: UpdateInstancePayload,
3881
+ _request_timeout: Union[
3882
+ None,
3883
+ Annotated[StrictFloat, Field(gt=0)],
3884
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
3885
+ ] = None,
3886
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3887
+ _content_type: Optional[StrictStr] = None,
3888
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3889
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3890
+ ) -> ApiResponse[None]:
3891
+ """update_instance
3892
+
3893
+ Updates the given Secrets Manager instance.
3894
+
3895
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
3896
+ :type project_id: str
3897
+ :param instance_id: The Secrets Manager instance UUID. (required)
3898
+ :type instance_id: str
3899
+ :param update_instance_payload: (required)
3900
+ :type update_instance_payload: UpdateInstancePayload
3901
+ :param _request_timeout: timeout setting for this request. If one
3902
+ number provided, it will be total request
3903
+ timeout. It can also be a pair (tuple) of
3904
+ (connection, read) timeouts.
3905
+ :type _request_timeout: int, tuple(int, int), optional
3906
+ :param _request_auth: set to override the auth_settings for an a single
3907
+ request; this effectively ignores the
3908
+ authentication in the spec for a single request.
3909
+ :type _request_auth: dict, optional
3910
+ :param _content_type: force content-type for the request.
3911
+ :type _content_type: str, Optional
3912
+ :param _headers: set to override the headers for a single
3913
+ request; this effectively ignores the headers
3914
+ in the spec for a single request.
3915
+ :type _headers: dict, optional
3916
+ :param _host_index: set to override the host_index for a single
3917
+ request; this effectively ignores the host_index
3918
+ in the spec for a single request.
3919
+ :type _host_index: int, optional
3920
+ :return: Returns the result object.
3921
+ """ # noqa: E501 docstring might be too long
3922
+
3923
+ _param = self._update_instance_serialize(
3924
+ project_id=project_id,
3925
+ instance_id=instance_id,
3926
+ update_instance_payload=update_instance_payload,
3927
+ _request_auth=_request_auth,
3928
+ _content_type=_content_type,
3929
+ _headers=_headers,
3930
+ _host_index=_host_index,
3931
+ )
3932
+
3933
+ _response_types_map: Dict[str, Optional[str]] = {
3934
+ "201": None,
3935
+ "400": None,
3936
+ "401": None,
3937
+ "404": None,
3938
+ "500": None,
3939
+ }
3940
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
3941
+ response_data.read()
3942
+ return self.api_client.response_deserialize(
3943
+ response_data=response_data,
3944
+ response_types_map=_response_types_map,
3945
+ )
3946
+
3947
+ @validate_call
3948
+ def update_instance_without_preload_content(
3949
+ self,
3950
+ project_id: Annotated[
3951
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
3952
+ ],
3953
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
3954
+ update_instance_payload: UpdateInstancePayload,
3955
+ _request_timeout: Union[
3956
+ None,
3957
+ Annotated[StrictFloat, Field(gt=0)],
3958
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
3959
+ ] = None,
3960
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3961
+ _content_type: Optional[StrictStr] = None,
3962
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3963
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3964
+ ) -> RESTResponseType:
3965
+ """update_instance
3966
+
3967
+ Updates the given Secrets Manager instance.
3968
+
3969
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
3970
+ :type project_id: str
3971
+ :param instance_id: The Secrets Manager instance UUID. (required)
3972
+ :type instance_id: str
3973
+ :param update_instance_payload: (required)
3974
+ :type update_instance_payload: UpdateInstancePayload
3975
+ :param _request_timeout: timeout setting for this request. If one
3976
+ number provided, it will be total request
3977
+ timeout. It can also be a pair (tuple) of
3978
+ (connection, read) timeouts.
3979
+ :type _request_timeout: int, tuple(int, int), optional
3980
+ :param _request_auth: set to override the auth_settings for an a single
3981
+ request; this effectively ignores the
3982
+ authentication in the spec for a single request.
3983
+ :type _request_auth: dict, optional
3984
+ :param _content_type: force content-type for the request.
3985
+ :type _content_type: str, Optional
3986
+ :param _headers: set to override the headers for a single
3987
+ request; this effectively ignores the headers
3988
+ in the spec for a single request.
3989
+ :type _headers: dict, optional
3990
+ :param _host_index: set to override the host_index for a single
3991
+ request; this effectively ignores the host_index
3992
+ in the spec for a single request.
3993
+ :type _host_index: int, optional
3994
+ :return: Returns the result object.
3995
+ """ # noqa: E501 docstring might be too long
3996
+
3997
+ _param = self._update_instance_serialize(
3998
+ project_id=project_id,
3999
+ instance_id=instance_id,
4000
+ update_instance_payload=update_instance_payload,
4001
+ _request_auth=_request_auth,
4002
+ _content_type=_content_type,
4003
+ _headers=_headers,
4004
+ _host_index=_host_index,
4005
+ )
4006
+
4007
+ _response_types_map: Dict[str, Optional[str]] = {
4008
+ "201": None,
4009
+ "400": None,
4010
+ "401": None,
4011
+ "404": None,
4012
+ "500": None,
4013
+ }
4014
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
4015
+ return response_data.response
4016
+
4017
+ def _update_instance_serialize(
4018
+ self,
4019
+ project_id,
4020
+ instance_id,
4021
+ update_instance_payload,
4022
+ _request_auth,
4023
+ _content_type,
4024
+ _headers,
4025
+ _host_index,
4026
+ ) -> RequestSerialized:
4027
+
4028
+ _host = None
4029
+
4030
+ _collection_formats: Dict[str, str] = {}
4031
+
4032
+ _path_params: Dict[str, str] = {}
4033
+ _query_params: List[Tuple[str, str]] = []
4034
+ _header_params: Dict[str, Optional[str]] = _headers or {}
4035
+ _form_params: List[Tuple[str, str]] = []
4036
+ _files: Dict[str, Union[str, bytes]] = {}
4037
+ _body_params: Optional[bytes] = None
4038
+
4039
+ # process the path parameters
4040
+ if project_id is not None:
4041
+ _path_params["projectId"] = project_id
4042
+ if instance_id is not None:
4043
+ _path_params["instanceId"] = instance_id
4044
+ # process the query parameters
4045
+ # process the header parameters
4046
+ # process the form parameters
4047
+ # process the body parameter
4048
+ if update_instance_payload is not None:
4049
+ _body_params = update_instance_payload
4050
+
4051
+ # set the HTTP header `Content-Type`
4052
+ if _content_type:
4053
+ _header_params["Content-Type"] = _content_type
4054
+ else:
4055
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
4056
+ if _default_content_type is not None:
4057
+ _header_params["Content-Type"] = _default_content_type
4058
+
4059
+ # authentication setting
4060
+ _auth_settings: List[str] = []
4061
+
4062
+ return self.api_client.param_serialize(
4063
+ method="PUT",
4064
+ resource_path="/v1/projects/{projectId}/instances/{instanceId}",
4065
+ path_params=_path_params,
4066
+ query_params=_query_params,
4067
+ header_params=_header_params,
4068
+ body=_body_params,
4069
+ post_params=_form_params,
4070
+ files=_files,
4071
+ auth_settings=_auth_settings,
4072
+ collection_formats=_collection_formats,
4073
+ _host=_host,
4074
+ _request_auth=_request_auth,
4075
+ )
4076
+
4077
+ @validate_call
4078
+ def update_user(
4079
+ self,
4080
+ project_id: Annotated[
4081
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
4082
+ ],
4083
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
4084
+ user_id: Annotated[
4085
+ StrictStr, Field(description="The user UUID with permissions on the Secrets Manager instance.")
4086
+ ],
4087
+ update_user_payload: UpdateUserPayload,
4088
+ _request_timeout: Union[
4089
+ None,
4090
+ Annotated[StrictFloat, Field(gt=0)],
4091
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
4092
+ ] = None,
4093
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4094
+ _content_type: Optional[StrictStr] = None,
4095
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4096
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4097
+ ) -> None:
4098
+ """update_user
4099
+
4100
+ Updates the details for the given user.
4101
+
4102
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
4103
+ :type project_id: str
4104
+ :param instance_id: The Secrets Manager instance UUID. (required)
4105
+ :type instance_id: str
4106
+ :param user_id: The user UUID with permissions on the Secrets Manager instance. (required)
4107
+ :type user_id: str
4108
+ :param update_user_payload: (required)
4109
+ :type update_user_payload: UpdateUserPayload
4110
+ :param _request_timeout: timeout setting for this request. If one
4111
+ number provided, it will be total request
4112
+ timeout. It can also be a pair (tuple) of
4113
+ (connection, read) timeouts.
4114
+ :type _request_timeout: int, tuple(int, int), optional
4115
+ :param _request_auth: set to override the auth_settings for an a single
4116
+ request; this effectively ignores the
4117
+ authentication in the spec for a single request.
4118
+ :type _request_auth: dict, optional
4119
+ :param _content_type: force content-type for the request.
4120
+ :type _content_type: str, Optional
4121
+ :param _headers: set to override the headers for a single
4122
+ request; this effectively ignores the headers
4123
+ in the spec for a single request.
4124
+ :type _headers: dict, optional
4125
+ :param _host_index: set to override the host_index for a single
4126
+ request; this effectively ignores the host_index
4127
+ in the spec for a single request.
4128
+ :type _host_index: int, optional
4129
+ :return: Returns the result object.
4130
+ """ # noqa: E501 docstring might be too long
4131
+
4132
+ _param = self._update_user_serialize(
4133
+ project_id=project_id,
4134
+ instance_id=instance_id,
4135
+ user_id=user_id,
4136
+ update_user_payload=update_user_payload,
4137
+ _request_auth=_request_auth,
4138
+ _content_type=_content_type,
4139
+ _headers=_headers,
4140
+ _host_index=_host_index,
4141
+ )
4142
+
4143
+ _response_types_map: Dict[str, Optional[str]] = {
4144
+ "200": None,
4145
+ "401": None,
4146
+ "404": None,
4147
+ "500": None,
4148
+ }
4149
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
4150
+ response_data.read()
4151
+ return self.api_client.response_deserialize(
4152
+ response_data=response_data,
4153
+ response_types_map=_response_types_map,
4154
+ ).data
4155
+
4156
+ @validate_call
4157
+ def update_user_with_http_info(
4158
+ self,
4159
+ project_id: Annotated[
4160
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
4161
+ ],
4162
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
4163
+ user_id: Annotated[
4164
+ StrictStr, Field(description="The user UUID with permissions on the Secrets Manager instance.")
4165
+ ],
4166
+ update_user_payload: UpdateUserPayload,
4167
+ _request_timeout: Union[
4168
+ None,
4169
+ Annotated[StrictFloat, Field(gt=0)],
4170
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
4171
+ ] = None,
4172
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4173
+ _content_type: Optional[StrictStr] = None,
4174
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4175
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4176
+ ) -> ApiResponse[None]:
4177
+ """update_user
4178
+
4179
+ Updates the details for the given user.
4180
+
4181
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
4182
+ :type project_id: str
4183
+ :param instance_id: The Secrets Manager instance UUID. (required)
4184
+ :type instance_id: str
4185
+ :param user_id: The user UUID with permissions on the Secrets Manager instance. (required)
4186
+ :type user_id: str
4187
+ :param update_user_payload: (required)
4188
+ :type update_user_payload: UpdateUserPayload
4189
+ :param _request_timeout: timeout setting for this request. If one
4190
+ number provided, it will be total request
4191
+ timeout. It can also be a pair (tuple) of
4192
+ (connection, read) timeouts.
4193
+ :type _request_timeout: int, tuple(int, int), optional
4194
+ :param _request_auth: set to override the auth_settings for an a single
4195
+ request; this effectively ignores the
4196
+ authentication in the spec for a single request.
4197
+ :type _request_auth: dict, optional
4198
+ :param _content_type: force content-type for the request.
4199
+ :type _content_type: str, Optional
4200
+ :param _headers: set to override the headers for a single
4201
+ request; this effectively ignores the headers
4202
+ in the spec for a single request.
4203
+ :type _headers: dict, optional
4204
+ :param _host_index: set to override the host_index for a single
4205
+ request; this effectively ignores the host_index
4206
+ in the spec for a single request.
4207
+ :type _host_index: int, optional
4208
+ :return: Returns the result object.
4209
+ """ # noqa: E501 docstring might be too long
4210
+
4211
+ _param = self._update_user_serialize(
4212
+ project_id=project_id,
4213
+ instance_id=instance_id,
4214
+ user_id=user_id,
4215
+ update_user_payload=update_user_payload,
4216
+ _request_auth=_request_auth,
4217
+ _content_type=_content_type,
4218
+ _headers=_headers,
4219
+ _host_index=_host_index,
4220
+ )
4221
+
4222
+ _response_types_map: Dict[str, Optional[str]] = {
4223
+ "200": None,
4224
+ "401": None,
4225
+ "404": None,
4226
+ "500": None,
4227
+ }
4228
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
4229
+ response_data.read()
4230
+ return self.api_client.response_deserialize(
4231
+ response_data=response_data,
4232
+ response_types_map=_response_types_map,
4233
+ )
4234
+
4235
+ @validate_call
4236
+ def update_user_without_preload_content(
4237
+ self,
4238
+ project_id: Annotated[
4239
+ StrictStr, Field(description="The STACKIT portal project UUID the Secrets Manager instance is part of.")
4240
+ ],
4241
+ instance_id: Annotated[StrictStr, Field(description="The Secrets Manager instance UUID.")],
4242
+ user_id: Annotated[
4243
+ StrictStr, Field(description="The user UUID with permissions on the Secrets Manager instance.")
4244
+ ],
4245
+ update_user_payload: UpdateUserPayload,
4246
+ _request_timeout: Union[
4247
+ None,
4248
+ Annotated[StrictFloat, Field(gt=0)],
4249
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
4250
+ ] = None,
4251
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4252
+ _content_type: Optional[StrictStr] = None,
4253
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4254
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4255
+ ) -> RESTResponseType:
4256
+ """update_user
4257
+
4258
+ Updates the details for the given user.
4259
+
4260
+ :param project_id: The STACKIT portal project UUID the Secrets Manager instance is part of. (required)
4261
+ :type project_id: str
4262
+ :param instance_id: The Secrets Manager instance UUID. (required)
4263
+ :type instance_id: str
4264
+ :param user_id: The user UUID with permissions on the Secrets Manager instance. (required)
4265
+ :type user_id: str
4266
+ :param update_user_payload: (required)
4267
+ :type update_user_payload: UpdateUserPayload
4268
+ :param _request_timeout: timeout setting for this request. If one
4269
+ number provided, it will be total request
4270
+ timeout. It can also be a pair (tuple) of
4271
+ (connection, read) timeouts.
4272
+ :type _request_timeout: int, tuple(int, int), optional
4273
+ :param _request_auth: set to override the auth_settings for an a single
4274
+ request; this effectively ignores the
4275
+ authentication in the spec for a single request.
4276
+ :type _request_auth: dict, optional
4277
+ :param _content_type: force content-type for the request.
4278
+ :type _content_type: str, Optional
4279
+ :param _headers: set to override the headers for a single
4280
+ request; this effectively ignores the headers
4281
+ in the spec for a single request.
4282
+ :type _headers: dict, optional
4283
+ :param _host_index: set to override the host_index for a single
4284
+ request; this effectively ignores the host_index
4285
+ in the spec for a single request.
4286
+ :type _host_index: int, optional
4287
+ :return: Returns the result object.
4288
+ """ # noqa: E501 docstring might be too long
4289
+
4290
+ _param = self._update_user_serialize(
4291
+ project_id=project_id,
4292
+ instance_id=instance_id,
4293
+ user_id=user_id,
4294
+ update_user_payload=update_user_payload,
4295
+ _request_auth=_request_auth,
4296
+ _content_type=_content_type,
4297
+ _headers=_headers,
4298
+ _host_index=_host_index,
4299
+ )
4300
+
4301
+ _response_types_map: Dict[str, Optional[str]] = {
4302
+ "200": None,
4303
+ "401": None,
4304
+ "404": None,
4305
+ "500": None,
4306
+ }
4307
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
4308
+ return response_data.response
4309
+
4310
+ def _update_user_serialize(
4311
+ self,
4312
+ project_id,
4313
+ instance_id,
4314
+ user_id,
4315
+ update_user_payload,
4316
+ _request_auth,
4317
+ _content_type,
4318
+ _headers,
4319
+ _host_index,
4320
+ ) -> RequestSerialized:
4321
+
4322
+ _host = None
4323
+
4324
+ _collection_formats: Dict[str, str] = {}
4325
+
4326
+ _path_params: Dict[str, str] = {}
4327
+ _query_params: List[Tuple[str, str]] = []
4328
+ _header_params: Dict[str, Optional[str]] = _headers or {}
4329
+ _form_params: List[Tuple[str, str]] = []
4330
+ _files: Dict[str, Union[str, bytes]] = {}
4331
+ _body_params: Optional[bytes] = None
4332
+
4333
+ # process the path parameters
4334
+ if project_id is not None:
4335
+ _path_params["projectId"] = project_id
4336
+ if instance_id is not None:
4337
+ _path_params["instanceId"] = instance_id
4338
+ if user_id is not None:
4339
+ _path_params["userId"] = user_id
4340
+ # process the query parameters
4341
+ # process the header parameters
4342
+ # process the form parameters
4343
+ # process the body parameter
4344
+ if update_user_payload is not None:
4345
+ _body_params = update_user_payload
4346
+
4347
+ # set the HTTP header `Content-Type`
4348
+ if _content_type:
4349
+ _header_params["Content-Type"] = _content_type
4350
+ else:
4351
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
4352
+ if _default_content_type is not None:
4353
+ _header_params["Content-Type"] = _default_content_type
4354
+
4355
+ # authentication setting
4356
+ _auth_settings: List[str] = []
4357
+
4358
+ return self.api_client.param_serialize(
4359
+ method="PUT",
4360
+ resource_path="/v1/projects/{projectId}/instances/{instanceId}/users/{userId}",
4361
+ path_params=_path_params,
4362
+ query_params=_query_params,
4363
+ header_params=_header_params,
4364
+ body=_body_params,
4365
+ post_params=_form_params,
4366
+ files=_files,
4367
+ auth_settings=_auth_settings,
4368
+ collection_formats=_collection_formats,
4369
+ _host=_host,
4370
+ _request_auth=_request_auth,
4371
+ )