terra-scientific-pipelines-service-api-client 0.1.7__py3-none-any.whl → 0.1.8__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.

Potentially problematic release.


This version of terra-scientific-pipelines-service-api-client might be problematic. Click here for more details.

@@ -14,7 +14,7 @@
14
14
  """ # noqa: E501
15
15
 
16
16
 
17
- __version__ = "0.1.7"
17
+ __version__ = "0.1.8"
18
18
 
19
19
  # import apis into sdk package
20
20
  from teaspoons_client.api.admin_api import AdminApi
@@ -37,6 +37,7 @@ from teaspoons_client.exceptions import ApiException
37
37
 
38
38
  # import models into sdk package
39
39
  from teaspoons_client.models.admin_pipeline import AdminPipeline
40
+ from teaspoons_client.models.admin_quota import AdminQuota
40
41
  from teaspoons_client.models.async_pipeline_run_response import AsyncPipelineRunResponse
41
42
  from teaspoons_client.models.error_report import ErrorReport
42
43
  from teaspoons_client.models.get_jobs_response import GetJobsResponse
@@ -57,4 +58,5 @@ from teaspoons_client.models.start_pipeline_run_request_body import StartPipelin
57
58
  from teaspoons_client.models.system_status import SystemStatus
58
59
  from teaspoons_client.models.system_status_systems_value import SystemStatusSystemsValue
59
60
  from teaspoons_client.models.update_pipeline_request_body import UpdatePipelineRequestBody
61
+ from teaspoons_client.models.update_quota_limit_request_body import UpdateQuotaLimitRequestBody
60
62
  from teaspoons_client.models.version_properties import VersionProperties
@@ -19,7 +19,9 @@ from typing_extensions import Annotated
19
19
  from pydantic import Field, StrictStr
20
20
  from typing_extensions import Annotated
21
21
  from teaspoons_client.models.admin_pipeline import AdminPipeline
22
+ from teaspoons_client.models.admin_quota import AdminQuota
22
23
  from teaspoons_client.models.update_pipeline_request_body import UpdatePipelineRequestBody
24
+ from teaspoons_client.models.update_quota_limit_request_body import UpdateQuotaLimitRequestBody
23
25
 
24
26
  from teaspoons_client.api_client import ApiClient, RequestSerialized
25
27
  from teaspoons_client.api_response import ApiResponse
@@ -291,7 +293,290 @@ class AdminApi:
291
293
 
292
294
  return self.api_client.param_serialize(
293
295
  method='GET',
294
- resource_path='/api/admin/v1/pipeline/{pipelineName}',
296
+ resource_path='/api/admin/v1/pipelines/{pipelineName}',
297
+ path_params=_path_params,
298
+ query_params=_query_params,
299
+ header_params=_header_params,
300
+ body=_body_params,
301
+ post_params=_form_params,
302
+ files=_files,
303
+ auth_settings=_auth_settings,
304
+ collection_formats=_collection_formats,
305
+ _host=_host,
306
+ _request_auth=_request_auth
307
+ )
308
+
309
+
310
+
311
+
312
+ @validate_call
313
+ def get_quota_for_pipeline_and_user(
314
+ self,
315
+ pipeline_name: Annotated[StrictStr, Field(description="A string identifier to used to identify a pipeline in the service.")],
316
+ user_id: Annotated[StrictStr, Field(description="A string identifier to used to identify a Terra user")],
317
+ _request_timeout: Union[
318
+ None,
319
+ Annotated[StrictFloat, Field(gt=0)],
320
+ Tuple[
321
+ Annotated[StrictFloat, Field(gt=0)],
322
+ Annotated[StrictFloat, Field(gt=0)]
323
+ ]
324
+ ] = None,
325
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
326
+ _content_type: Optional[StrictStr] = None,
327
+ _headers: Optional[Dict[StrictStr, Any]] = None,
328
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
329
+ ) -> AdminQuota:
330
+ """Get quota for a given pipeline and user.
331
+
332
+
333
+ :param pipeline_name: A string identifier to used to identify a pipeline in the service. (required)
334
+ :type pipeline_name: str
335
+ :param user_id: A string identifier to used to identify a Terra user (required)
336
+ :type user_id: str
337
+ :param _request_timeout: timeout setting for this request. If one
338
+ number provided, it will be total request
339
+ timeout. It can also be a pair (tuple) of
340
+ (connection, read) timeouts.
341
+ :type _request_timeout: int, tuple(int, int), optional
342
+ :param _request_auth: set to override the auth_settings for an a single
343
+ request; this effectively ignores the
344
+ authentication in the spec for a single request.
345
+ :type _request_auth: dict, optional
346
+ :param _content_type: force content-type for the request.
347
+ :type _content_type: str, Optional
348
+ :param _headers: set to override the headers for a single
349
+ request; this effectively ignores the headers
350
+ in the spec for a single request.
351
+ :type _headers: dict, optional
352
+ :param _host_index: set to override the host_index for a single
353
+ request; this effectively ignores the host_index
354
+ in the spec for a single request.
355
+ :type _host_index: int, optional
356
+ :return: Returns the result object.
357
+ """ # noqa: E501
358
+
359
+ _param = self._get_quota_for_pipeline_and_user_serialize(
360
+ pipeline_name=pipeline_name,
361
+ user_id=user_id,
362
+ _request_auth=_request_auth,
363
+ _content_type=_content_type,
364
+ _headers=_headers,
365
+ _host_index=_host_index
366
+ )
367
+
368
+ _response_types_map: Dict[str, Optional[str]] = {
369
+ '200': "AdminQuota",
370
+ '400': "ErrorReport",
371
+ '403': "ErrorReport",
372
+ '500': "ErrorReport",
373
+ }
374
+ response_data = self.api_client.call_api(
375
+ *_param,
376
+ _request_timeout=_request_timeout
377
+ )
378
+ response_data.read()
379
+ return self.api_client.response_deserialize(
380
+ response_data=response_data,
381
+ response_types_map=_response_types_map,
382
+ ).data
383
+
384
+
385
+ @validate_call
386
+ def get_quota_for_pipeline_and_user_with_http_info(
387
+ self,
388
+ pipeline_name: Annotated[StrictStr, Field(description="A string identifier to used to identify a pipeline in the service.")],
389
+ user_id: Annotated[StrictStr, Field(description="A string identifier to used to identify a Terra user")],
390
+ _request_timeout: Union[
391
+ None,
392
+ Annotated[StrictFloat, Field(gt=0)],
393
+ Tuple[
394
+ Annotated[StrictFloat, Field(gt=0)],
395
+ Annotated[StrictFloat, Field(gt=0)]
396
+ ]
397
+ ] = None,
398
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
399
+ _content_type: Optional[StrictStr] = None,
400
+ _headers: Optional[Dict[StrictStr, Any]] = None,
401
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
402
+ ) -> ApiResponse[AdminQuota]:
403
+ """Get quota for a given pipeline and user.
404
+
405
+
406
+ :param pipeline_name: A string identifier to used to identify a pipeline in the service. (required)
407
+ :type pipeline_name: str
408
+ :param user_id: A string identifier to used to identify a Terra user (required)
409
+ :type user_id: str
410
+ :param _request_timeout: timeout setting for this request. If one
411
+ number provided, it will be total request
412
+ timeout. It can also be a pair (tuple) of
413
+ (connection, read) timeouts.
414
+ :type _request_timeout: int, tuple(int, int), optional
415
+ :param _request_auth: set to override the auth_settings for an a single
416
+ request; this effectively ignores the
417
+ authentication in the spec for a single request.
418
+ :type _request_auth: dict, optional
419
+ :param _content_type: force content-type for the request.
420
+ :type _content_type: str, Optional
421
+ :param _headers: set to override the headers for a single
422
+ request; this effectively ignores the headers
423
+ in the spec for a single request.
424
+ :type _headers: dict, optional
425
+ :param _host_index: set to override the host_index for a single
426
+ request; this effectively ignores the host_index
427
+ in the spec for a single request.
428
+ :type _host_index: int, optional
429
+ :return: Returns the result object.
430
+ """ # noqa: E501
431
+
432
+ _param = self._get_quota_for_pipeline_and_user_serialize(
433
+ pipeline_name=pipeline_name,
434
+ user_id=user_id,
435
+ _request_auth=_request_auth,
436
+ _content_type=_content_type,
437
+ _headers=_headers,
438
+ _host_index=_host_index
439
+ )
440
+
441
+ _response_types_map: Dict[str, Optional[str]] = {
442
+ '200': "AdminQuota",
443
+ '400': "ErrorReport",
444
+ '403': "ErrorReport",
445
+ '500': "ErrorReport",
446
+ }
447
+ response_data = self.api_client.call_api(
448
+ *_param,
449
+ _request_timeout=_request_timeout
450
+ )
451
+ response_data.read()
452
+ return self.api_client.response_deserialize(
453
+ response_data=response_data,
454
+ response_types_map=_response_types_map,
455
+ )
456
+
457
+
458
+ @validate_call
459
+ def get_quota_for_pipeline_and_user_without_preload_content(
460
+ self,
461
+ pipeline_name: Annotated[StrictStr, Field(description="A string identifier to used to identify a pipeline in the service.")],
462
+ user_id: Annotated[StrictStr, Field(description="A string identifier to used to identify a Terra user")],
463
+ _request_timeout: Union[
464
+ None,
465
+ Annotated[StrictFloat, Field(gt=0)],
466
+ Tuple[
467
+ Annotated[StrictFloat, Field(gt=0)],
468
+ Annotated[StrictFloat, Field(gt=0)]
469
+ ]
470
+ ] = None,
471
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
472
+ _content_type: Optional[StrictStr] = None,
473
+ _headers: Optional[Dict[StrictStr, Any]] = None,
474
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
475
+ ) -> RESTResponseType:
476
+ """Get quota for a given pipeline and user.
477
+
478
+
479
+ :param pipeline_name: A string identifier to used to identify a pipeline in the service. (required)
480
+ :type pipeline_name: str
481
+ :param user_id: A string identifier to used to identify a Terra user (required)
482
+ :type user_id: str
483
+ :param _request_timeout: timeout setting for this request. If one
484
+ number provided, it will be total request
485
+ timeout. It can also be a pair (tuple) of
486
+ (connection, read) timeouts.
487
+ :type _request_timeout: int, tuple(int, int), optional
488
+ :param _request_auth: set to override the auth_settings for an a single
489
+ request; this effectively ignores the
490
+ authentication in the spec for a single request.
491
+ :type _request_auth: dict, optional
492
+ :param _content_type: force content-type for the request.
493
+ :type _content_type: str, Optional
494
+ :param _headers: set to override the headers for a single
495
+ request; this effectively ignores the headers
496
+ in the spec for a single request.
497
+ :type _headers: dict, optional
498
+ :param _host_index: set to override the host_index for a single
499
+ request; this effectively ignores the host_index
500
+ in the spec for a single request.
501
+ :type _host_index: int, optional
502
+ :return: Returns the result object.
503
+ """ # noqa: E501
504
+
505
+ _param = self._get_quota_for_pipeline_and_user_serialize(
506
+ pipeline_name=pipeline_name,
507
+ user_id=user_id,
508
+ _request_auth=_request_auth,
509
+ _content_type=_content_type,
510
+ _headers=_headers,
511
+ _host_index=_host_index
512
+ )
513
+
514
+ _response_types_map: Dict[str, Optional[str]] = {
515
+ '200': "AdminQuota",
516
+ '400': "ErrorReport",
517
+ '403': "ErrorReport",
518
+ '500': "ErrorReport",
519
+ }
520
+ response_data = self.api_client.call_api(
521
+ *_param,
522
+ _request_timeout=_request_timeout
523
+ )
524
+ return response_data.response
525
+
526
+
527
+ def _get_quota_for_pipeline_and_user_serialize(
528
+ self,
529
+ pipeline_name,
530
+ user_id,
531
+ _request_auth,
532
+ _content_type,
533
+ _headers,
534
+ _host_index,
535
+ ) -> RequestSerialized:
536
+
537
+ _host = None
538
+
539
+ _collection_formats: Dict[str, str] = {
540
+ }
541
+
542
+ _path_params: Dict[str, str] = {}
543
+ _query_params: List[Tuple[str, str]] = []
544
+ _header_params: Dict[str, Optional[str]] = _headers or {}
545
+ _form_params: List[Tuple[str, str]] = []
546
+ _files: Dict[
547
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
548
+ ] = {}
549
+ _body_params: Optional[bytes] = None
550
+
551
+ # process the path parameters
552
+ if pipeline_name is not None:
553
+ _path_params['pipelineName'] = pipeline_name
554
+ if user_id is not None:
555
+ _path_params['userId'] = user_id
556
+ # process the query parameters
557
+ # process the header parameters
558
+ # process the form parameters
559
+ # process the body parameter
560
+
561
+
562
+ # set the HTTP header `Accept`
563
+ if 'Accept' not in _header_params:
564
+ _header_params['Accept'] = self.api_client.select_header_accept(
565
+ [
566
+ 'application/json'
567
+ ]
568
+ )
569
+
570
+
571
+ # authentication setting
572
+ _auth_settings: List[str] = [
573
+ 'oidc',
574
+ 'bearerAuth'
575
+ ]
576
+
577
+ return self.api_client.param_serialize(
578
+ method='GET',
579
+ resource_path='/api/admin/v1/quotas/{pipelineName}/{userId}',
295
580
  path_params=_path_params,
296
581
  query_params=_query_params,
297
582
  header_params=_header_params,
@@ -587,7 +872,318 @@ class AdminApi:
587
872
 
588
873
  return self.api_client.param_serialize(
589
874
  method='PATCH',
590
- resource_path='/api/admin/v1/pipeline/{pipelineName}',
875
+ resource_path='/api/admin/v1/pipelines/{pipelineName}',
876
+ path_params=_path_params,
877
+ query_params=_query_params,
878
+ header_params=_header_params,
879
+ body=_body_params,
880
+ post_params=_form_params,
881
+ files=_files,
882
+ auth_settings=_auth_settings,
883
+ collection_formats=_collection_formats,
884
+ _host=_host,
885
+ _request_auth=_request_auth
886
+ )
887
+
888
+
889
+
890
+
891
+ @validate_call
892
+ def update_quota_limit_for_pipeline_and_user(
893
+ self,
894
+ pipeline_name: Annotated[StrictStr, Field(description="A string identifier to used to identify a pipeline in the service.")],
895
+ user_id: Annotated[StrictStr, Field(description="A string identifier to used to identify a Terra user")],
896
+ update_quota_limit_request_body: UpdateQuotaLimitRequestBody,
897
+ _request_timeout: Union[
898
+ None,
899
+ Annotated[StrictFloat, Field(gt=0)],
900
+ Tuple[
901
+ Annotated[StrictFloat, Field(gt=0)],
902
+ Annotated[StrictFloat, Field(gt=0)]
903
+ ]
904
+ ] = None,
905
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
906
+ _content_type: Optional[StrictStr] = None,
907
+ _headers: Optional[Dict[StrictStr, Any]] = None,
908
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
909
+ ) -> AdminQuota:
910
+ """Update quota limit for a given pipeline and user.
911
+
912
+
913
+ :param pipeline_name: A string identifier to used to identify a pipeline in the service. (required)
914
+ :type pipeline_name: str
915
+ :param user_id: A string identifier to used to identify a Terra user (required)
916
+ :type user_id: str
917
+ :param update_quota_limit_request_body: (required)
918
+ :type update_quota_limit_request_body: UpdateQuotaLimitRequestBody
919
+ :param _request_timeout: timeout setting for this request. If one
920
+ number provided, it will be total request
921
+ timeout. It can also be a pair (tuple) of
922
+ (connection, read) timeouts.
923
+ :type _request_timeout: int, tuple(int, int), optional
924
+ :param _request_auth: set to override the auth_settings for an a single
925
+ request; this effectively ignores the
926
+ authentication in the spec for a single request.
927
+ :type _request_auth: dict, optional
928
+ :param _content_type: force content-type for the request.
929
+ :type _content_type: str, Optional
930
+ :param _headers: set to override the headers for a single
931
+ request; this effectively ignores the headers
932
+ in the spec for a single request.
933
+ :type _headers: dict, optional
934
+ :param _host_index: set to override the host_index for a single
935
+ request; this effectively ignores the host_index
936
+ in the spec for a single request.
937
+ :type _host_index: int, optional
938
+ :return: Returns the result object.
939
+ """ # noqa: E501
940
+
941
+ _param = self._update_quota_limit_for_pipeline_and_user_serialize(
942
+ pipeline_name=pipeline_name,
943
+ user_id=user_id,
944
+ update_quota_limit_request_body=update_quota_limit_request_body,
945
+ _request_auth=_request_auth,
946
+ _content_type=_content_type,
947
+ _headers=_headers,
948
+ _host_index=_host_index
949
+ )
950
+
951
+ _response_types_map: Dict[str, Optional[str]] = {
952
+ '200': "AdminQuota",
953
+ '400': "ErrorReport",
954
+ '403': "ErrorReport",
955
+ '500': "ErrorReport",
956
+ }
957
+ response_data = self.api_client.call_api(
958
+ *_param,
959
+ _request_timeout=_request_timeout
960
+ )
961
+ response_data.read()
962
+ return self.api_client.response_deserialize(
963
+ response_data=response_data,
964
+ response_types_map=_response_types_map,
965
+ ).data
966
+
967
+
968
+ @validate_call
969
+ def update_quota_limit_for_pipeline_and_user_with_http_info(
970
+ self,
971
+ pipeline_name: Annotated[StrictStr, Field(description="A string identifier to used to identify a pipeline in the service.")],
972
+ user_id: Annotated[StrictStr, Field(description="A string identifier to used to identify a Terra user")],
973
+ update_quota_limit_request_body: UpdateQuotaLimitRequestBody,
974
+ _request_timeout: Union[
975
+ None,
976
+ Annotated[StrictFloat, Field(gt=0)],
977
+ Tuple[
978
+ Annotated[StrictFloat, Field(gt=0)],
979
+ Annotated[StrictFloat, Field(gt=0)]
980
+ ]
981
+ ] = None,
982
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
983
+ _content_type: Optional[StrictStr] = None,
984
+ _headers: Optional[Dict[StrictStr, Any]] = None,
985
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
986
+ ) -> ApiResponse[AdminQuota]:
987
+ """Update quota limit for a given pipeline and user.
988
+
989
+
990
+ :param pipeline_name: A string identifier to used to identify a pipeline in the service. (required)
991
+ :type pipeline_name: str
992
+ :param user_id: A string identifier to used to identify a Terra user (required)
993
+ :type user_id: str
994
+ :param update_quota_limit_request_body: (required)
995
+ :type update_quota_limit_request_body: UpdateQuotaLimitRequestBody
996
+ :param _request_timeout: timeout setting for this request. If one
997
+ number provided, it will be total request
998
+ timeout. It can also be a pair (tuple) of
999
+ (connection, read) timeouts.
1000
+ :type _request_timeout: int, tuple(int, int), optional
1001
+ :param _request_auth: set to override the auth_settings for an a single
1002
+ request; this effectively ignores the
1003
+ authentication in the spec for a single request.
1004
+ :type _request_auth: dict, optional
1005
+ :param _content_type: force content-type for the request.
1006
+ :type _content_type: str, Optional
1007
+ :param _headers: set to override the headers for a single
1008
+ request; this effectively ignores the headers
1009
+ in the spec for a single request.
1010
+ :type _headers: dict, optional
1011
+ :param _host_index: set to override the host_index for a single
1012
+ request; this effectively ignores the host_index
1013
+ in the spec for a single request.
1014
+ :type _host_index: int, optional
1015
+ :return: Returns the result object.
1016
+ """ # noqa: E501
1017
+
1018
+ _param = self._update_quota_limit_for_pipeline_and_user_serialize(
1019
+ pipeline_name=pipeline_name,
1020
+ user_id=user_id,
1021
+ update_quota_limit_request_body=update_quota_limit_request_body,
1022
+ _request_auth=_request_auth,
1023
+ _content_type=_content_type,
1024
+ _headers=_headers,
1025
+ _host_index=_host_index
1026
+ )
1027
+
1028
+ _response_types_map: Dict[str, Optional[str]] = {
1029
+ '200': "AdminQuota",
1030
+ '400': "ErrorReport",
1031
+ '403': "ErrorReport",
1032
+ '500': "ErrorReport",
1033
+ }
1034
+ response_data = self.api_client.call_api(
1035
+ *_param,
1036
+ _request_timeout=_request_timeout
1037
+ )
1038
+ response_data.read()
1039
+ return self.api_client.response_deserialize(
1040
+ response_data=response_data,
1041
+ response_types_map=_response_types_map,
1042
+ )
1043
+
1044
+
1045
+ @validate_call
1046
+ def update_quota_limit_for_pipeline_and_user_without_preload_content(
1047
+ self,
1048
+ pipeline_name: Annotated[StrictStr, Field(description="A string identifier to used to identify a pipeline in the service.")],
1049
+ user_id: Annotated[StrictStr, Field(description="A string identifier to used to identify a Terra user")],
1050
+ update_quota_limit_request_body: UpdateQuotaLimitRequestBody,
1051
+ _request_timeout: Union[
1052
+ None,
1053
+ Annotated[StrictFloat, Field(gt=0)],
1054
+ Tuple[
1055
+ Annotated[StrictFloat, Field(gt=0)],
1056
+ Annotated[StrictFloat, Field(gt=0)]
1057
+ ]
1058
+ ] = None,
1059
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1060
+ _content_type: Optional[StrictStr] = None,
1061
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1062
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1063
+ ) -> RESTResponseType:
1064
+ """Update quota limit for a given pipeline and user.
1065
+
1066
+
1067
+ :param pipeline_name: A string identifier to used to identify a pipeline in the service. (required)
1068
+ :type pipeline_name: str
1069
+ :param user_id: A string identifier to used to identify a Terra user (required)
1070
+ :type user_id: str
1071
+ :param update_quota_limit_request_body: (required)
1072
+ :type update_quota_limit_request_body: UpdateQuotaLimitRequestBody
1073
+ :param _request_timeout: timeout setting for this request. If one
1074
+ number provided, it will be total request
1075
+ timeout. It can also be a pair (tuple) of
1076
+ (connection, read) timeouts.
1077
+ :type _request_timeout: int, tuple(int, int), optional
1078
+ :param _request_auth: set to override the auth_settings for an a single
1079
+ request; this effectively ignores the
1080
+ authentication in the spec for a single request.
1081
+ :type _request_auth: dict, optional
1082
+ :param _content_type: force content-type for the request.
1083
+ :type _content_type: str, Optional
1084
+ :param _headers: set to override the headers for a single
1085
+ request; this effectively ignores the headers
1086
+ in the spec for a single request.
1087
+ :type _headers: dict, optional
1088
+ :param _host_index: set to override the host_index for a single
1089
+ request; this effectively ignores the host_index
1090
+ in the spec for a single request.
1091
+ :type _host_index: int, optional
1092
+ :return: Returns the result object.
1093
+ """ # noqa: E501
1094
+
1095
+ _param = self._update_quota_limit_for_pipeline_and_user_serialize(
1096
+ pipeline_name=pipeline_name,
1097
+ user_id=user_id,
1098
+ update_quota_limit_request_body=update_quota_limit_request_body,
1099
+ _request_auth=_request_auth,
1100
+ _content_type=_content_type,
1101
+ _headers=_headers,
1102
+ _host_index=_host_index
1103
+ )
1104
+
1105
+ _response_types_map: Dict[str, Optional[str]] = {
1106
+ '200': "AdminQuota",
1107
+ '400': "ErrorReport",
1108
+ '403': "ErrorReport",
1109
+ '500': "ErrorReport",
1110
+ }
1111
+ response_data = self.api_client.call_api(
1112
+ *_param,
1113
+ _request_timeout=_request_timeout
1114
+ )
1115
+ return response_data.response
1116
+
1117
+
1118
+ def _update_quota_limit_for_pipeline_and_user_serialize(
1119
+ self,
1120
+ pipeline_name,
1121
+ user_id,
1122
+ update_quota_limit_request_body,
1123
+ _request_auth,
1124
+ _content_type,
1125
+ _headers,
1126
+ _host_index,
1127
+ ) -> RequestSerialized:
1128
+
1129
+ _host = None
1130
+
1131
+ _collection_formats: Dict[str, str] = {
1132
+ }
1133
+
1134
+ _path_params: Dict[str, str] = {}
1135
+ _query_params: List[Tuple[str, str]] = []
1136
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1137
+ _form_params: List[Tuple[str, str]] = []
1138
+ _files: Dict[
1139
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1140
+ ] = {}
1141
+ _body_params: Optional[bytes] = None
1142
+
1143
+ # process the path parameters
1144
+ if pipeline_name is not None:
1145
+ _path_params['pipelineName'] = pipeline_name
1146
+ if user_id is not None:
1147
+ _path_params['userId'] = user_id
1148
+ # process the query parameters
1149
+ # process the header parameters
1150
+ # process the form parameters
1151
+ # process the body parameter
1152
+ if update_quota_limit_request_body is not None:
1153
+ _body_params = update_quota_limit_request_body
1154
+
1155
+
1156
+ # set the HTTP header `Accept`
1157
+ if 'Accept' not in _header_params:
1158
+ _header_params['Accept'] = self.api_client.select_header_accept(
1159
+ [
1160
+ 'application/json'
1161
+ ]
1162
+ )
1163
+
1164
+ # set the HTTP header `Content-Type`
1165
+ if _content_type:
1166
+ _header_params['Content-Type'] = _content_type
1167
+ else:
1168
+ _default_content_type = (
1169
+ self.api_client.select_header_content_type(
1170
+ [
1171
+ 'application/json'
1172
+ ]
1173
+ )
1174
+ )
1175
+ if _default_content_type is not None:
1176
+ _header_params['Content-Type'] = _default_content_type
1177
+
1178
+ # authentication setting
1179
+ _auth_settings: List[str] = [
1180
+ 'oidc',
1181
+ 'bearerAuth'
1182
+ ]
1183
+
1184
+ return self.api_client.param_serialize(
1185
+ method='PATCH',
1186
+ resource_path='/api/admin/v1/quotas/{pipelineName}/{userId}',
591
1187
  path_params=_path_params,
592
1188
  query_params=_query_params,
593
1189
  header_params=_header_params,
@@ -90,7 +90,7 @@ class ApiClient:
90
90
  self.default_headers[header_name] = header_value
91
91
  self.cookie = cookie
92
92
  # Set default User-Agent.
93
- self.user_agent = 'terra-scientific-pipelines-service-api-client/0.1.7/python'
93
+ self.user_agent = 'terra-scientific-pipelines-service-api-client/0.1.8/python'
94
94
  self.client_side_validation = configuration.client_side_validation
95
95
 
96
96
  def __enter__(self):
@@ -399,7 +399,7 @@ class Configuration:
399
399
  "OS: {env}\n"\
400
400
  "Python Version: {pyversion}\n"\
401
401
  "Version of the API: 1.0.0\n"\
402
- "SDK Package Version: 0.1.7".\
402
+ "SDK Package Version: 0.1.8".\
403
403
  format(env=sys.platform, pyversion=sys.version)
404
404
 
405
405
  def get_host_settings(self):
@@ -15,6 +15,7 @@
15
15
 
16
16
  # import models into model package
17
17
  from teaspoons_client.models.admin_pipeline import AdminPipeline
18
+ from teaspoons_client.models.admin_quota import AdminQuota
18
19
  from teaspoons_client.models.async_pipeline_run_response import AsyncPipelineRunResponse
19
20
  from teaspoons_client.models.error_report import ErrorReport
20
21
  from teaspoons_client.models.get_jobs_response import GetJobsResponse
@@ -35,4 +36,5 @@ from teaspoons_client.models.start_pipeline_run_request_body import StartPipelin
35
36
  from teaspoons_client.models.system_status import SystemStatus
36
37
  from teaspoons_client.models.system_status_systems_value import SystemStatusSystemsValue
37
38
  from teaspoons_client.models.update_pipeline_request_body import UpdatePipelineRequestBody
39
+ from teaspoons_client.models.update_quota_limit_request_body import UpdateQuotaLimitRequestBody
38
40
  from teaspoons_client.models.version_properties import VersionProperties
@@ -0,0 +1,93 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Terra Scientific Pipelines Service
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
21
+ from typing import Any, ClassVar, Dict, List
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class AdminQuota(BaseModel):
26
+ """
27
+ Object containing the use id, pipeline identifier, quota limit, and quota usage of a Pipeline for a user.
28
+ """ # noqa: E501
29
+ user_id: StrictStr = Field(description="The identifier string for the user who submitted a job request. ", alias="userId")
30
+ pipeline_name: StrictStr = Field(description="The identifier string for the Pipeline. ", alias="pipelineName")
31
+ quota_limit: StrictInt = Field(description="Maximum allowable quota for the pipeline ", alias="quotaLimit")
32
+ quota_consumed: StrictInt = Field(description="Quota consumed by the user ", alias="quotaConsumed")
33
+ __properties: ClassVar[List[str]] = ["userId", "pipelineName", "quotaLimit", "quotaConsumed"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of AdminQuota from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ return _dict
75
+
76
+ @classmethod
77
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
78
+ """Create an instance of AdminQuota from a dict"""
79
+ if obj is None:
80
+ return None
81
+
82
+ if not isinstance(obj, dict):
83
+ return cls.model_validate(obj)
84
+
85
+ _obj = cls.model_validate({
86
+ "userId": obj.get("userId"),
87
+ "pipelineName": obj.get("pipelineName"),
88
+ "quotaLimit": obj.get("quotaLimit"),
89
+ "quotaConsumed": obj.get("quotaConsumed")
90
+ })
91
+ return _obj
92
+
93
+
@@ -0,0 +1,87 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Terra Scientific Pipelines Service
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictInt
21
+ from typing import Any, ClassVar, Dict, List
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class UpdateQuotaLimitRequestBody(BaseModel):
26
+ """
27
+ json object containing the admin provided information used to update a user's quota limit
28
+ """ # noqa: E501
29
+ quota_limit: StrictInt = Field(description="Maximum allowable quota for the pipeline ", alias="quotaLimit")
30
+ __properties: ClassVar[List[str]] = ["quotaLimit"]
31
+
32
+ model_config = ConfigDict(
33
+ populate_by_name=True,
34
+ validate_assignment=True,
35
+ protected_namespaces=(),
36
+ )
37
+
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.model_dump(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46
+ return json.dumps(self.to_dict())
47
+
48
+ @classmethod
49
+ def from_json(cls, json_str: str) -> Optional[Self]:
50
+ """Create an instance of UpdateQuotaLimitRequestBody from a JSON string"""
51
+ return cls.from_dict(json.loads(json_str))
52
+
53
+ def to_dict(self) -> Dict[str, Any]:
54
+ """Return the dictionary representation of the model using alias.
55
+
56
+ This has the following differences from calling pydantic's
57
+ `self.model_dump(by_alias=True)`:
58
+
59
+ * `None` is only added to the output dict for nullable fields that
60
+ were set at model initialization. Other fields with value `None`
61
+ are ignored.
62
+ """
63
+ excluded_fields: Set[str] = set([
64
+ ])
65
+
66
+ _dict = self.model_dump(
67
+ by_alias=True,
68
+ exclude=excluded_fields,
69
+ exclude_none=True,
70
+ )
71
+ return _dict
72
+
73
+ @classmethod
74
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
+ """Create an instance of UpdateQuotaLimitRequestBody from a dict"""
76
+ if obj is None:
77
+ return None
78
+
79
+ if not isinstance(obj, dict):
80
+ return cls.model_validate(obj)
81
+
82
+ _obj = cls.model_validate({
83
+ "quotaLimit": obj.get("quotaLimit")
84
+ })
85
+ return _obj
86
+
87
+
@@ -1,16 +1,16 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: terra-scientific-pipelines-service-api-client
3
- Version: 0.1.7
3
+ Version: 0.1.8
4
4
  Summary: Terra Scientific Pipelines Service
5
5
  Home-page:
6
6
  Author: OpenAPI Generator community
7
7
  Author-email: team@openapitools.org
8
8
  Keywords: OpenAPI,OpenAPI-Generator,Terra Scientific Pipelines Service
9
9
  Description-Content-Type: text/markdown
10
- Requires-Dist: urllib3 <3.0.0,>=1.25.3
11
- Requires-Dist: python-dateutil >=2.8.2
12
- Requires-Dist: pydantic >=2
13
- Requires-Dist: typing-extensions >=4.7.1
10
+ Requires-Dist: urllib3<3.0.0,>=1.25.3
11
+ Requires-Dist: python-dateutil>=2.8.2
12
+ Requires-Dist: pydantic>=2
13
+ Requires-Dist: typing-extensions>=4.7.1
14
14
 
15
15
  No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
16
16
 
@@ -1,19 +1,20 @@
1
- teaspoons_client/__init__.py,sha256=ti6OGPtlZ9w0dKsbjso50JY3TzA_4Spuo1xHIUL1Fto,2971
2
- teaspoons_client/api_client.py,sha256=AGaY5wFZnmqkxT7P4hp2cwOt5oga9LVMJzMEepCM1gQ,27534
1
+ teaspoons_client/__init__.py,sha256=lODTt6uSqecbApVXGPblrBDvMomx3GfZh9N-LEVcxUM,3126
2
+ teaspoons_client/api_client.py,sha256=N0AwvkBQ5gw1g2nXGn1SMN0zX08wqKB4VXhCHCIccBQ,27534
3
3
  teaspoons_client/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- teaspoons_client/configuration.py,sha256=h4JrpRmsR9xkEui6PP61pWhH-c0cosEmYBgjuAOMNP8,15584
4
+ teaspoons_client/configuration.py,sha256=Lguc7wAYCG8Py4JCBUX0D9dEI9KRLuGKt_iu5iQa23Y,15584
5
5
  teaspoons_client/exceptions.py,sha256=54himL4zduna12UfdUqGb8LEVunPChzEvjvPw0DjWjk,5999
6
6
  teaspoons_client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  teaspoons_client/rest.py,sha256=wRFTSvE7v-UjFP1_9oozGWnt8ERYW-PReLkFJZHiWYI,9441
8
8
  teaspoons_client/api/__init__.py,sha256=j4nfxEv5WV8rGkUs8vl0-ZGilqzKUPZfFV_FGq0cg_c,385
9
- teaspoons_client/api/admin_api.py,sha256=ZQY_kbDZolLp34J0j1JJ1cy2yC5PPYML6y3vhGW6ka8,23925
9
+ teaspoons_client/api/admin_api.py,sha256=IX0p8ITxjQFgQd0AsDz0EBchzLwJW8eDq_tz7x_E_IE,48861
10
10
  teaspoons_client/api/jobs_api.py,sha256=erVrdxvQubuUpvqIyAqAlD0nYc-TQlxH5ZhE9_lH6iE,22994
11
11
  teaspoons_client/api/pipeline_runs_api.py,sha256=pkYlLSCfma6TQsLGPOFBUJj65UbS3YZIEfim5Z8Kgdk,49631
12
12
  teaspoons_client/api/pipelines_api.py,sha256=kTqVQ9kf816Qyns4ocquXIH-b0C_MK-6dx0HOMsXHpk,21192
13
13
  teaspoons_client/api/public_api.py,sha256=cYrfhy7epadJPWvXO7xvjhyNRH72bKVXtUmjefezbl0,19743
14
14
  teaspoons_client/api/quotas_api.py,sha256=fU2ZE0B-5ELvkNdXHTWCw0asfLDNK4WetlKVvpWETmI,11862
15
- teaspoons_client/models/__init__.py,sha256=kUQAgMQB8FtJvjlKUZo_kDWk6xo83hXj32N2jPhW9O0,2072
15
+ teaspoons_client/models/__init__.py,sha256=UDkl5FoRif5Oc12EBp3OoVAs-Fw5HWO7UR5cRub9pcw,2227
16
16
  teaspoons_client/models/admin_pipeline.py,sha256=3Ci4-PVXjqO3bgRLrTdRsfEVEsXSS5XDtARQdMOGJnI,4349
17
+ teaspoons_client/models/admin_quota.py,sha256=X0Pll_9JWs1VmmElic8m7-pN6PCIRnxc1nyYyWjlK0w,3245
17
18
  teaspoons_client/models/async_pipeline_run_response.py,sha256=c_Nj3tC41y2G0pqvVwzKn_bVE6mgA2h_Aisp6315zSE,3899
18
19
  teaspoons_client/models/error_report.py,sha256=3IsEF07EPxdcMSPCMW4yE1pXydE8EHmlIBYVScvXyXs,2714
19
20
  teaspoons_client/models/get_jobs_response.py,sha256=Vdz0yG4q4TjbkLuyI13xaabR6Qn_nF3LNxn04qjRPl8,3388
@@ -34,8 +35,9 @@ teaspoons_client/models/start_pipeline_run_request_body.py,sha256=Et4zcC9UVnINsc
34
35
  teaspoons_client/models/system_status.py,sha256=615Ol6vBFowfewWesLeQe6aljaKMXIZb1rgWxt5FNsg,3305
35
36
  teaspoons_client/models/system_status_systems_value.py,sha256=lKuq0aDpRne858ta4gvSZL7JMqc7V3TJcVUmj9-OgOo,2675
36
37
  teaspoons_client/models/update_pipeline_request_body.py,sha256=OYjf_6SVBg00GjGzq9aftbeLJkUHikm80sqFQQSWvUQ,3257
38
+ teaspoons_client/models/update_quota_limit_request_body.py,sha256=sOCNcTbsdTJisAn9YxHMIWUvm_UrxV1HZ5EziIUOgIk,2731
37
39
  teaspoons_client/models/version_properties.py,sha256=pnx1pduz4vnw-wx_sdASU_-zRqE1wf3JdNm4OLDJ2i8,2888
38
- terra_scientific_pipelines_service_api_client-0.1.7.dist-info/METADATA,sha256=4B2DLxjkIsIs16sBPvhMCGaoVOtdnvepeKV81NKxgKU,592
39
- terra_scientific_pipelines_service_api_client-0.1.7.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
40
- terra_scientific_pipelines_service_api_client-0.1.7.dist-info/top_level.txt,sha256=DZYs7jBZ-_bWvnXrtK1TbtfhltgkuPWTRo1Ei7Uv9Jc,17
41
- terra_scientific_pipelines_service_api_client-0.1.7.dist-info/RECORD,,
40
+ terra_scientific_pipelines_service_api_client-0.1.8.dist-info/METADATA,sha256=4Ta9ZQPYDhNV0NvmUuP5ipCZ9YfSguQkaO81Q-druNU,588
41
+ terra_scientific_pipelines_service_api_client-0.1.8.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
42
+ terra_scientific_pipelines_service_api_client-0.1.8.dist-info/top_level.txt,sha256=DZYs7jBZ-_bWvnXrtK1TbtfhltgkuPWTRo1Ei7Uv9Jc,17
43
+ terra_scientific_pipelines_service_api_client-0.1.8.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.5.0)
2
+ Generator: setuptools (75.6.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5