restpki-ng-python-client 0.9.0__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.
Files changed (181) hide show
  1. restpki_ng_python_client/__init__.py +200 -0
  2. restpki_ng_python_client/api/__init__.py +17 -0
  3. restpki_ng_python_client/api/authentication_api.py +2041 -0
  4. restpki_ng_python_client/api/cades_signature_api.py +2376 -0
  5. restpki_ng_python_client/api/document_keys_api.py +1199 -0
  6. restpki_ng_python_client/api/documents_api.py +868 -0
  7. restpki_ng_python_client/api/pades_signature_api.py +1797 -0
  8. restpki_ng_python_client/api/pades_visual_positioning_presets_api.py +869 -0
  9. restpki_ng_python_client/api/pdf_api.py +334 -0
  10. restpki_ng_python_client/api/signature_api.py +624 -0
  11. restpki_ng_python_client/api/signature_inspection_api.py +337 -0
  12. restpki_ng_python_client/api/signature_sessions_api.py +891 -0
  13. restpki_ng_python_client/api/timestamp_api.py +654 -0
  14. restpki_ng_python_client/api/upload_api.py +1124 -0
  15. restpki_ng_python_client/api/xml_signature_api.py +1781 -0
  16. restpki_ng_python_client/api_client.py +741 -0
  17. restpki_ng_python_client/api_response.py +21 -0
  18. restpki_ng_python_client/configuration.py +426 -0
  19. restpki_ng_python_client/exceptions.py +166 -0
  20. restpki_ng_python_client/file_utils.py +122 -0
  21. restpki_ng_python_client/models/__init__.py +165 -0
  22. restpki_ng_python_client/models/allocate_document_key_batch_request.py +96 -0
  23. restpki_ng_python_client/models/allocate_document_key_request.py +93 -0
  24. restpki_ng_python_client/models/attribute_certificate_model.py +141 -0
  25. restpki_ng_python_client/models/audit_package_options.py +90 -0
  26. restpki_ng_python_client/models/authentication_failures.py +45 -0
  27. restpki_ng_python_client/models/authentication_get_response.py +92 -0
  28. restpki_ng_python_client/models/authentication_post_request.py +116 -0
  29. restpki_ng_python_client/models/authentication_post_response.py +98 -0
  30. restpki_ng_python_client/models/authentications_post_request.py +95 -0
  31. restpki_ng_python_client/models/authentications_post_response.py +114 -0
  32. restpki_ng_python_client/models/authentications_post_signed_bytes_request.py +99 -0
  33. restpki_ng_python_client/models/authentications_post_signed_bytes_response.py +98 -0
  34. restpki_ng_python_client/models/auto_positioning_horizontal_directions.py +45 -0
  35. restpki_ng_python_client/models/auto_positioning_vertical_directions.py +45 -0
  36. restpki_ng_python_client/models/blockchains.py +45 -0
  37. restpki_ng_python_client/models/cades_signature_model.py +123 -0
  38. restpki_ng_python_client/models/cades_signature_post_request_v1.py +137 -0
  39. restpki_ng_python_client/models/cades_signature_post_request_v2.py +152 -0
  40. restpki_ng_python_client/models/cades_signature_post_request_v3.py +149 -0
  41. restpki_ng_python_client/models/cades_signature_post_response.py +120 -0
  42. restpki_ng_python_client/models/cades_signature_post_signed_bytes_request.py +92 -0
  43. restpki_ng_python_client/models/cades_signature_post_signed_bytes_response.py +106 -0
  44. restpki_ng_python_client/models/cades_signer_model.py +159 -0
  45. restpki_ng_python_client/models/cades_timestamp_model.py +140 -0
  46. restpki_ng_python_client/models/certificate_model.py +197 -0
  47. restpki_ng_python_client/models/certificate_reference_model.py +99 -0
  48. restpki_ng_python_client/models/certificate_requirement.py +95 -0
  49. restpki_ng_python_client/models/certificate_requirement_types.py +45 -0
  50. restpki_ng_python_client/models/certificate_summary.py +142 -0
  51. restpki_ng_python_client/models/certified_attribute_model.py +94 -0
  52. restpki_ng_python_client/models/certified_attribute_types.py +44 -0
  53. restpki_ng_python_client/models/cms_content_types.py +50 -0
  54. restpki_ng_python_client/models/cms_signature_options.py +109 -0
  55. restpki_ng_python_client/models/color_model.py +98 -0
  56. restpki_ng_python_client/models/commitment_type_model.py +99 -0
  57. restpki_ng_python_client/models/complete_authentication_request.py +93 -0
  58. restpki_ng_python_client/models/complete_authentication_response.py +103 -0
  59. restpki_ng_python_client/models/complete_signature_request.py +95 -0
  60. restpki_ng_python_client/models/complete_signature_request_v2.py +91 -0
  61. restpki_ng_python_client/models/create_signature_session_request.py +161 -0
  62. restpki_ng_python_client/models/create_signature_session_response.py +95 -0
  63. restpki_ng_python_client/models/digest_algorithm_and_value_model.py +103 -0
  64. restpki_ng_python_client/models/digest_algorithms.py +49 -0
  65. restpki_ng_python_client/models/document_file_model.py +137 -0
  66. restpki_ng_python_client/models/document_key_model.py +100 -0
  67. restpki_ng_python_client/models/document_key_query_response.py +110 -0
  68. restpki_ng_python_client/models/document_key_summary.py +100 -0
  69. restpki_ng_python_client/models/document_model.py +150 -0
  70. restpki_ng_python_client/models/document_query_response.py +93 -0
  71. restpki_ng_python_client/models/document_status.py +47 -0
  72. restpki_ng_python_client/models/document_summary.py +128 -0
  73. restpki_ng_python_client/models/error_model_v2.py +120 -0
  74. restpki_ng_python_client/models/file_model.py +114 -0
  75. restpki_ng_python_client/models/file_reference_model.py +137 -0
  76. restpki_ng_python_client/models/full_xml_signature_post_request.py +136 -0
  77. restpki_ng_python_client/models/general_name_choices.py +52 -0
  78. restpki_ng_python_client/models/general_name_model.py +108 -0
  79. restpki_ng_python_client/models/holder_types.py +45 -0
  80. restpki_ng_python_client/models/inspect_signature_failures.py +44 -0
  81. restpki_ng_python_client/models/inspect_signature_request.py +127 -0
  82. restpki_ng_python_client/models/inspect_signature_response.py +131 -0
  83. restpki_ng_python_client/models/multipart_upload_begin_response.py +95 -0
  84. restpki_ng_python_client/models/multipart_upload_end_request.py +95 -0
  85. restpki_ng_python_client/models/name_model.py +205 -0
  86. restpki_ng_python_client/models/namespace_model.py +99 -0
  87. restpki_ng_python_client/models/open_cades_signature_request_model.py +147 -0
  88. restpki_ng_python_client/models/open_signature_request_model.py +145 -0
  89. restpki_ng_python_client/models/open_xml_signature_request_model.py +151 -0
  90. restpki_ng_python_client/models/other_name_model.py +107 -0
  91. restpki_ng_python_client/models/pades_certification_level.py +47 -0
  92. restpki_ng_python_client/models/pades_horizontal_align.py +46 -0
  93. restpki_ng_python_client/models/pades_measurement_units.py +45 -0
  94. restpki_ng_python_client/models/pades_page_optimization_model.py +98 -0
  95. restpki_ng_python_client/models/pades_signature_model.py +113 -0
  96. restpki_ng_python_client/models/pades_signature_post_request_v1.py +167 -0
  97. restpki_ng_python_client/models/pades_signature_post_request_v2.py +171 -0
  98. restpki_ng_python_client/models/pades_signature_post_response.py +120 -0
  99. restpki_ng_python_client/models/pades_signature_post_signed_bytes_request.py +92 -0
  100. restpki_ng_python_client/models/pades_signature_post_signed_bytes_response.py +106 -0
  101. restpki_ng_python_client/models/pades_signer_model.py +168 -0
  102. restpki_ng_python_client/models/pades_size_model.py +89 -0
  103. restpki_ng_python_client/models/pades_text_horizontal_align.py +45 -0
  104. restpki_ng_python_client/models/pades_vertical_align.py +46 -0
  105. restpki_ng_python_client/models/pades_visual_auto_positioning_model.py +106 -0
  106. restpki_ng_python_client/models/pades_visual_image_model.py +105 -0
  107. restpki_ng_python_client/models/pades_visual_positioning_model.py +109 -0
  108. restpki_ng_python_client/models/pades_visual_rectangle_model.py +127 -0
  109. restpki_ng_python_client/models/pades_visual_representation_model.py +103 -0
  110. restpki_ng_python_client/models/pades_visual_text_model.py +111 -0
  111. restpki_ng_python_client/models/page_orientations.py +46 -0
  112. restpki_ng_python_client/models/paper_sizes.py +56 -0
  113. restpki_ng_python_client/models/pdf_add_marks_request.py +117 -0
  114. restpki_ng_python_client/models/pdf_add_marks_response.py +91 -0
  115. restpki_ng_python_client/models/pdf_container_definition.py +208 -0
  116. restpki_ng_python_client/models/pdf_helper.py +43 -0
  117. restpki_ng_python_client/models/pdf_mark_element_model.py +230 -0
  118. restpki_ng_python_client/models/pdf_mark_element_type.py +46 -0
  119. restpki_ng_python_client/models/pdf_mark_image_model.py +98 -0
  120. restpki_ng_python_client/models/pdf_mark_model.py +168 -0
  121. restpki_ng_python_client/models/pdf_mark_page_options.py +47 -0
  122. restpki_ng_python_client/models/pdf_signature_options.py +101 -0
  123. restpki_ng_python_client/models/pdf_text_section_model.py +125 -0
  124. restpki_ng_python_client/models/pdf_text_style.py +46 -0
  125. restpki_ng_python_client/models/pki_brazil_certificate_model.py +159 -0
  126. restpki_ng_python_client/models/pki_brazil_certificate_types.py +54 -0
  127. restpki_ng_python_client/models/pki_italy_certificate_model.py +103 -0
  128. restpki_ng_python_client/models/pki_italy_certificate_types.py +46 -0
  129. restpki_ng_python_client/models/prepare_authentication_request.py +100 -0
  130. restpki_ng_python_client/models/prepare_authentication_response.py +99 -0
  131. restpki_ng_python_client/models/prepare_signature_failures.py +46 -0
  132. restpki_ng_python_client/models/prepare_signature_request.py +133 -0
  133. restpki_ng_python_client/models/prepare_signature_response.py +116 -0
  134. restpki_ng_python_client/models/resource_content_or_reference.py +107 -0
  135. restpki_ng_python_client/models/role_attribute_model.py +114 -0
  136. restpki_ng_python_client/models/session_completion_status.py +89 -0
  137. restpki_ng_python_client/models/signature_algorithm_and_value_model.py +106 -0
  138. restpki_ng_python_client/models/signature_algorithm_identifier.py +88 -0
  139. restpki_ng_python_client/models/signature_algorithms.py +48 -0
  140. restpki_ng_python_client/models/signature_b_stamp_model.py +135 -0
  141. restpki_ng_python_client/models/signature_policy_identifier_model.py +105 -0
  142. restpki_ng_python_client/models/signature_result_model.py +105 -0
  143. restpki_ng_python_client/models/signature_session_document_data.py +128 -0
  144. restpki_ng_python_client/models/signature_session_document_summary.py +138 -0
  145. restpki_ng_python_client/models/signature_session_model.py +126 -0
  146. restpki_ng_python_client/models/signature_session_status.py +49 -0
  147. restpki_ng_python_client/models/signature_types.py +46 -0
  148. restpki_ng_python_client/models/signer_b_stamp_model.py +132 -0
  149. restpki_ng_python_client/models/signer_model.py +187 -0
  150. restpki_ng_python_client/models/signer_summary.py +94 -0
  151. restpki_ng_python_client/models/timestamp_issue_response.py +99 -0
  152. restpki_ng_python_client/models/validation_item_model.py +111 -0
  153. restpki_ng_python_client/models/validation_item_types.py +91 -0
  154. restpki_ng_python_client/models/validation_results_model.py +131 -0
  155. restpki_ng_python_client/models/webhook_event_model.py +94 -0
  156. restpki_ng_python_client/models/webhook_event_types.py +44 -0
  157. restpki_ng_python_client/models/xml_attribute_model.py +107 -0
  158. restpki_ng_python_client/models/xml_element_location_model.py +111 -0
  159. restpki_ng_python_client/models/xml_element_model.py +115 -0
  160. restpki_ng_python_client/models/xml_element_signature_post_request.py +145 -0
  161. restpki_ng_python_client/models/xml_id_attribute_model.py +96 -0
  162. restpki_ng_python_client/models/xml_id_resolution_table_model.py +123 -0
  163. restpki_ng_python_client/models/xml_insertion_options.py +47 -0
  164. restpki_ng_python_client/models/xml_node_name_model.py +96 -0
  165. restpki_ng_python_client/models/xml_signature_model.py +154 -0
  166. restpki_ng_python_client/models/xml_signature_options.py +102 -0
  167. restpki_ng_python_client/models/xml_signature_post_response.py +120 -0
  168. restpki_ng_python_client/models/xml_signature_post_signed_bytes_request.py +92 -0
  169. restpki_ng_python_client/models/xml_signature_post_signed_bytes_response.py +106 -0
  170. restpki_ng_python_client/models/xml_signature_response_model.py +113 -0
  171. restpki_ng_python_client/models/xml_signature_types.py +47 -0
  172. restpki_ng_python_client/models/xml_signed_entity_types.py +46 -0
  173. restpki_ng_python_client/py.typed +0 -0
  174. restpki_ng_python_client/rest.py +231 -0
  175. restpki_ng_python_client/restpki_ng_client.py +458 -0
  176. restpki_ng_python_client/standard_signature_policies.py +24 -0
  177. restpki_ng_python_client/utils.py +80 -0
  178. restpki_ng_python_client-0.9.0.dist-info/METADATA +16 -0
  179. restpki_ng_python_client-0.9.0.dist-info/RECORD +181 -0
  180. restpki_ng_python_client-0.9.0.dist-info/WHEEL +5 -0
  181. restpki_ng_python_client-0.9.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1124 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Rest PKI Core API
5
+
6
+ <b><i>Para Português, <a href=\"https://docs.lacunasoftware.com/pt-br/articles/rest-pki/core/integration/get-started\">clique aqui</a></i></b> <p> <a href=\"https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/\">Rest PKI Core</a> is an upcoming version of <a href=\"https://docs.lacunasoftware.com/en-us/articles/rest-pki/\">Rest PKI</a> that will have extended compatibility with environments and databases. </p> <p> In addition to Windows Server (which is already supported by Rest PKI), Rest PKI Core will also run on <b>Linux</b> (Debian- and RedHat-based distributions) and on <b>Docker</b>. As for database servers, in addition to SQL Server, <b>PostgreSQL</b> will also be supported. </p> <p> <b>Before getting started, see the integration overview on the <a href=\"https://docs.lacunasoftware.com/en-us/articles/rest-pki/core/integration/\">Integration Guide</a></b> </p> <p> For questions regarding the usage of this API, please reach us at <a href=\"https://lacuna.help/\">lacuna.help</a> </p> <h2>Parameters</h2> <p> You will need the following parameters: </p> <ul> <li><b>Endpoint</b>: address of the Rest PKI Core instance that will be used</li> <li><b>API Key</b>: authorization key for using the API</li> </ul> <p> The <span class=\"model\">endpoint</span> must be prefixed to all relative URLs mentioned here. As for the <span class=\"model\">API Key</span>, see how to use it below. </p> <h2>Authentication</h2> <p> The API key must be sent on the <span class=\"model\">X-Api-Key</span> header on each request: </p> <!-- unfortunately, class \"example microlight\" doesn't seem to work here --> <pre style=\"font-size: 12px; padding: 10px; border-radius: 4px; background: #41444e; font-weight: 600; color: #fff;\"> X-Api-Key: yourapp|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx </pre> <h2>HTTP Codes</h2> <p> The APIs will return the following HTTP codes: </p> <table> <thead> <tr> <th>Code</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong class=\"model-title\">200 (OK)</strong></td> <td>Request processed successfully. The response is different for each API, please refer to the operation's documentation</td> </tr> <tr> <td><strong class=\"model-title\">400 (Bad Request)</strong></td> <td>Syntax error. For instance, when a required field was not provided</td> </tr> <tr> <td><strong class=\"model-title\">401 (Unauthorized)</strong></td> <td>API key not provided or invalid</td> </tr> <tr> <td><strong class=\"model-title\">403 (Forbidden)</strong></td> <td>API key is valid, but the application has insufficient permissions to complete the requested operation</td> </tr> <tr> <td><strong class=\"model-title\">422 (Unprocessable Entity)</strong></td> <td>API error. The response body is an <a href=\"#model-ErrorModelV2\" class=\"model\">ErrorModelV2</a> </tr> <tr> <td><strong class=\"model-title\">500 (Internal Server Error)</strong></td> <td>An unexpected error occurred. The <span class=\"model\">exceptionCode</span> contained on the response body may be of help for our support team during diagnostic.</td> </tr> </tbody> </table> <h3>Error Codes</h3> <p> Some of the error codes returned in the <span class=\"model\">code</span> field of an <a href=\"#model-ErrorModelV2\" class=\"model\">ErrorModelV2</a> (body of responses with HTTP status code 422) are provided below*: </p> <table> <thead> <tr> <th>Code</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td class=\"model\">DocumentNotFound</td> <td>A referenced document was not found (check the document ID)</td> </tr> <tr> <td class=\"model\">SecurityContextNotFound</td> <td>A referenced security context was not found (check the security context ID)</td> </tr> <tr> <td class=\"model\">SignatureSessionNotFound</td> <td>A referenced signature session was not found (check the signature session ID)</td> </tr> <tr> <td class=\"model\">BadSignatureSessionOperation</td> <td>The operation is invalid for the current signature session or document status. For instance, trying to await the session's completion if it is still <span class=\"model\">Pending</span> results in this error</td> </tr> <tr> <td class=\"model\">BackgroundProcessing</td> <td>The operation cannot be completed at this time because the resource is being processed in background</td> </tr> <tr> <td class=\"model\">SignatureSessionTokenRequired</td> <td>The signature session token was not passed on the <span class=\"model\">X-Signature-Session-Token</span> request header</td> </tr> <tr> <td class=\"model\">BadSignatureSessionToken</td> <td>An invalid signature session token was passed on the <span class=\"model\">X-Signature-Session-Token</span> request header. Check your application for possible corruption of the session token, which may contain characters <span class=\"code\">-</span> (hyphen) and <span class=\"code\">_</span> (underscore)</td> </tr> <tr> <td class=\"model\">ExpiredSignatureSessionToken</td> <td>An expired signature session token was passed on the <span class=\"model\">X-Signature-Session-Token</span> request header. Signature session tokens are normally valid for 4 hours.</td> </tr> </tbody> </table> <p style=\"font-size: 0.9em\"> *The codes shown above are the most common error codes. Nonetheless, this list is not comprehensive. New codes may be added anytime without previous warning. </p> <h2>Culture / Internationalization (i18n)</h2> <p>The <span class=\"model\">Accept-Language</span> request header is observed by this API. The following cultures are supported:</p> <ul> <li><span class=\"code\">en-US</span> (or simply <span class=\"code\">en</span>)</li> <li><span class=\"code\">pt-BR</span> (or simply <span class=\"code\">pt</span>)</li> </ul> <p><i>Notice: error messages are not affected by this header and therefore should not be displayed to users, being better suited for logging.</i></p>
7
+
8
+ The version of the OpenAPI document: 2.1.1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ import io
16
+ import warnings
17
+
18
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
19
+ from typing import Dict, List, Optional, Tuple, Union, Any
20
+
21
+ from urllib3 import encode_multipart_formdata
22
+ from urllib3.fields import RequestField
23
+
24
+ try:
25
+ from typing import Annotated
26
+ except ImportError:
27
+ from typing_extensions import Annotated
28
+
29
+ from pydantic import StrictInt, StrictStr
30
+
31
+ from typing import Optional
32
+
33
+ from restpki_ng_python_client.models.file_reference_model import FileReferenceModel
34
+ from restpki_ng_python_client.models.multipart_upload_begin_response import MultipartUploadBeginResponse
35
+ from restpki_ng_python_client.models.multipart_upload_end_request import MultipartUploadEndRequest
36
+
37
+ from restpki_ng_python_client.api_client import ApiClient
38
+ from restpki_ng_python_client.api_response import ApiResponse
39
+ from restpki_ng_python_client.rest import RESTResponseType
40
+
41
+
42
+ class UploadApi:
43
+ """NOTE: This class is auto generated by OpenAPI Generator
44
+ Ref: https://openapi-generator.tech
45
+
46
+ Do not edit the class manually.
47
+ """
48
+
49
+ def __init__(self, api_client=None) -> None:
50
+ if api_client is None:
51
+ api_client = ApiClient.get_default()
52
+ self.api_client = api_client
53
+
54
+
55
+ @validate_call
56
+ def api_multipart_uploads_post(
57
+ self,
58
+ _request_timeout: Union[
59
+ None,
60
+ Annotated[StrictFloat, Field(gt=0)],
61
+ Tuple[
62
+ Annotated[StrictFloat, Field(gt=0)],
63
+ Annotated[StrictFloat, Field(gt=0)]
64
+ ]
65
+ ] = None,
66
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
67
+ _content_type: Optional[StrictStr] = None,
68
+ _headers: Optional[Dict[StrictStr, Any]] = None,
69
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
70
+ ) -> MultipartUploadBeginResponse:
71
+ """api_multipart_uploads_post
72
+
73
+
74
+ :param _request_timeout: timeout setting for this request. If one
75
+ number provided, it will be total request
76
+ timeout. It can also be a pair (tuple) of
77
+ (connection, read) timeouts.
78
+ :type _request_timeout: int, tuple(int, int), optional
79
+ :param _request_auth: set to override the auth_settings for an a single
80
+ request; this effectively ignores the
81
+ authentication in the spec for a single request.
82
+ :type _request_auth: dict, optional
83
+ :param _content_type: force content-type for the request.
84
+ :type _content_type: str, Optional
85
+ :param _headers: set to override the headers for a single
86
+ request; this effectively ignores the headers
87
+ in the spec for a single request.
88
+ :type _headers: dict, optional
89
+ :param _host_index: set to override the host_index for a single
90
+ request; this effectively ignores the host_index
91
+ in the spec for a single request.
92
+ :type _host_index: int, optional
93
+ :return: Returns the result object.
94
+ """ # noqa: E501
95
+
96
+ _param = self._api_multipart_uploads_post_serialize(
97
+ _request_auth=_request_auth,
98
+ _content_type=_content_type,
99
+ _headers=_headers,
100
+ _host_index=_host_index
101
+ )
102
+
103
+ _response_types_map: Dict[str, Optional[str]] = {
104
+ '200': "MultipartUploadBeginResponse",
105
+ '400': None,
106
+ '401': None,
107
+ '403': None,
108
+ '422': None
109
+
110
+ }
111
+ response_data = self.api_client.call_api(
112
+ *_param,
113
+ _request_timeout=_request_timeout
114
+ )
115
+ response_data.read()
116
+ return self.api_client.response_deserialize(
117
+ response_data=response_data,
118
+ response_types_map=_response_types_map,
119
+ ).data
120
+
121
+
122
+ @validate_call
123
+ def api_multipart_uploads_post_with_http_info(
124
+ self,
125
+ _request_timeout: Union[
126
+ None,
127
+ Annotated[StrictFloat, Field(gt=0)],
128
+ Tuple[
129
+ Annotated[StrictFloat, Field(gt=0)],
130
+ Annotated[StrictFloat, Field(gt=0)]
131
+ ]
132
+ ] = None,
133
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
134
+ _content_type: Optional[StrictStr] = None,
135
+ _headers: Optional[Dict[StrictStr, Any]] = None,
136
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
137
+ ) -> ApiResponse[MultipartUploadBeginResponse]:
138
+ """api_multipart_uploads_post
139
+
140
+
141
+ :param _request_timeout: timeout setting for this request. If one
142
+ number provided, it will be total request
143
+ timeout. It can also be a pair (tuple) of
144
+ (connection, read) timeouts.
145
+ :type _request_timeout: int, tuple(int, int), optional
146
+ :param _request_auth: set to override the auth_settings for an a single
147
+ request; this effectively ignores the
148
+ authentication in the spec for a single request.
149
+ :type _request_auth: dict, optional
150
+ :param _content_type: force content-type for the request.
151
+ :type _content_type: str, Optional
152
+ :param _headers: set to override the headers for a single
153
+ request; this effectively ignores the headers
154
+ in the spec for a single request.
155
+ :type _headers: dict, optional
156
+ :param _host_index: set to override the host_index for a single
157
+ request; this effectively ignores the host_index
158
+ in the spec for a single request.
159
+ :type _host_index: int, optional
160
+ :return: Returns the result object.
161
+ """ # noqa: E501
162
+
163
+ _param = self._api_multipart_uploads_post_serialize(
164
+ _request_auth=_request_auth,
165
+ _content_type=_content_type,
166
+ _headers=_headers,
167
+ _host_index=_host_index
168
+ )
169
+
170
+ _response_types_map: Dict[str, Optional[str]] = {
171
+ '200': "MultipartUploadBeginResponse",
172
+ '400': None,
173
+ '401': None,
174
+ '403': None,
175
+ '422': None
176
+
177
+ }
178
+ response_data = self.api_client.call_api(
179
+ *_param,
180
+ _request_timeout=_request_timeout
181
+ )
182
+ response_data.read()
183
+ return self.api_client.response_deserialize(
184
+ response_data=response_data,
185
+ response_types_map=_response_types_map,
186
+ )
187
+
188
+
189
+ @validate_call
190
+ def api_multipart_uploads_post_without_preload_content(
191
+ self,
192
+ _request_timeout: Union[
193
+ None,
194
+ Annotated[StrictFloat, Field(gt=0)],
195
+ Tuple[
196
+ Annotated[StrictFloat, Field(gt=0)],
197
+ Annotated[StrictFloat, Field(gt=0)]
198
+ ]
199
+ ] = None,
200
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
201
+ _content_type: Optional[StrictStr] = None,
202
+ _headers: Optional[Dict[StrictStr, Any]] = None,
203
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
204
+ ) -> RESTResponseType:
205
+ """api_multipart_uploads_post
206
+
207
+
208
+ :param _request_timeout: timeout setting for this request. If one
209
+ number provided, it will be total request
210
+ timeout. It can also be a pair (tuple) of
211
+ (connection, read) timeouts.
212
+ :type _request_timeout: int, tuple(int, int), optional
213
+ :param _request_auth: set to override the auth_settings for an a single
214
+ request; this effectively ignores the
215
+ authentication in the spec for a single request.
216
+ :type _request_auth: dict, optional
217
+ :param _content_type: force content-type for the request.
218
+ :type _content_type: str, Optional
219
+ :param _headers: set to override the headers for a single
220
+ request; this effectively ignores the headers
221
+ in the spec for a single request.
222
+ :type _headers: dict, optional
223
+ :param _host_index: set to override the host_index for a single
224
+ request; this effectively ignores the host_index
225
+ in the spec for a single request.
226
+ :type _host_index: int, optional
227
+ :return: Returns the result object.
228
+ """ # noqa: E501
229
+
230
+ _param = self._api_multipart_uploads_post_serialize(
231
+ _request_auth=_request_auth,
232
+ _content_type=_content_type,
233
+ _headers=_headers,
234
+ _host_index=_host_index
235
+ )
236
+
237
+ _response_types_map: Dict[str, Optional[str]] = {
238
+ '200': "MultipartUploadBeginResponse",
239
+ '400': None,
240
+ '401': None,
241
+ '403': None,
242
+ '422': None
243
+
244
+ }
245
+ response_data = self.api_client.call_api(
246
+ *_param,
247
+ _request_timeout=_request_timeout
248
+ )
249
+ return response_data.response
250
+
251
+
252
+ def _api_multipart_uploads_post_serialize(
253
+ self,
254
+ _request_auth,
255
+ _content_type,
256
+ _headers,
257
+ _host_index,
258
+ ) -> Tuple:
259
+
260
+ _host = None
261
+
262
+ _collection_formats: Dict[str, str] = {
263
+
264
+ }
265
+
266
+ _path_params: Dict[str, str] = {}
267
+ _query_params: List[Tuple[str, str]] = []
268
+ _header_params: Dict[str, Optional[str]] = _headers or {}
269
+ _form_params: List[Tuple[str, str]] = []
270
+ _files: Dict[str, str] = {}
271
+ _body_params: Optional[bytes] = None
272
+
273
+ # process the path parameters
274
+ # process the query parameters
275
+ # process the header parameters
276
+ # process the form parameters
277
+ # process the body parameter
278
+
279
+
280
+ # set the HTTP header `Accept`
281
+ _header_params['Accept'] = self.api_client.select_header_accept(
282
+ [
283
+ 'text/plain',
284
+ 'application/json',
285
+ 'text/json'
286
+ ]
287
+ )
288
+
289
+
290
+ # authentication setting
291
+ _auth_settings: List[str] = [
292
+ ]
293
+
294
+ return self.api_client.param_serialize(
295
+ method='POST',
296
+ resource_path='/Api/MultipartUploads',
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 api_multipart_uploads_token_part_number_post(
314
+ self,
315
+ token: StrictStr,
316
+ part_number: StrictInt,
317
+ part_digest: Any,
318
+ _request_timeout: Union[
319
+ None,
320
+ Annotated[StrictFloat, Field(gt=0)],
321
+ Tuple[
322
+ Annotated[StrictFloat, Field(gt=0)],
323
+ Annotated[StrictFloat, Field(gt=0)]
324
+ ]
325
+ ] = None,
326
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
327
+ _content_type: Optional[StrictStr] = None,
328
+ _headers: Optional[Dict[StrictStr, Any]] = None,
329
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
330
+ ) -> Any:
331
+ """api_multipart_uploads_token_part_number_post
332
+
333
+
334
+ :param token: (required)
335
+ :type token: str
336
+ :param part_number: (required)
337
+ :type part_number: int
338
+ :param _request_timeout: timeout setting for this request. If one
339
+ number provided, it will be total request
340
+ timeout. It can also be a pair (tuple) of
341
+ (connection, read) timeouts.
342
+ :type _request_timeout: int, tuple(int, int), optional
343
+ :param _request_auth: set to override the auth_settings for an a single
344
+ request; this effectively ignores the
345
+ authentication in the spec for a single request.
346
+ :type _request_auth: dict, optional
347
+ :param _content_type: force content-type for the request.
348
+ :type _content_type: str, Optional
349
+ :param _headers: set to override the headers for a single
350
+ request; this effectively ignores the headers
351
+ in the spec for a single request.
352
+ :type _headers: dict, optional
353
+ :param _host_index: set to override the host_index for a single
354
+ request; this effectively ignores the host_index
355
+ in the spec for a single request.
356
+ :type _host_index: int, optional
357
+ :return: Returns the result object.
358
+ """ # noqa: E501
359
+
360
+ # Add or update the Content-MD5 header in the _headers dictionary
361
+ # if _headers is None:
362
+ # _headers = {}
363
+ # _headers['Content-MD5'] = part_digest
364
+ # _content_type = 'application/octet-stream'
365
+
366
+ _param = self._api_multipart_uploads_token_part_number_post_serialize(
367
+ token=token,
368
+ part_number=part_number,
369
+ _request_auth=_request_auth,
370
+ _content_type=_content_type,
371
+ _headers=_headers,
372
+ _host_index=_host_index
373
+ )
374
+
375
+ _response_types_map: Dict[str, Optional[str]] = {
376
+
377
+ }
378
+ response_data = self.api_client.call_api(
379
+ *_param,
380
+ _request_timeout=_request_timeout
381
+ )
382
+ response_data.read()
383
+ return self.api_client.response_deserialize(
384
+ response_data=response_data,
385
+ response_types_map=_response_types_map,
386
+ ).data
387
+
388
+
389
+ @validate_call
390
+ def api_multipart_uploads_token_part_number_post_with_http_info(
391
+ self,
392
+ token: StrictStr,
393
+ part_number: StrictInt,
394
+ _request_timeout: Union[
395
+ None,
396
+ Annotated[StrictFloat, Field(gt=0)],
397
+ Tuple[
398
+ Annotated[StrictFloat, Field(gt=0)],
399
+ Annotated[StrictFloat, Field(gt=0)]
400
+ ]
401
+ ] = None,
402
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
403
+ _content_type: Optional[StrictStr] = None,
404
+ _headers: Optional[Dict[StrictStr, Any]] = None,
405
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
406
+ ) -> ApiResponse[None]:
407
+ """api_multipart_uploads_token_part_number_post
408
+
409
+
410
+ :param token: (required)
411
+ :type token: str
412
+ :param part_number: (required)
413
+ :type part_number: int
414
+ :param _request_timeout: timeout setting for this request. If one
415
+ number provided, it will be total request
416
+ timeout. It can also be a pair (tuple) of
417
+ (connection, read) timeouts.
418
+ :type _request_timeout: int, tuple(int, int), optional
419
+ :param _request_auth: set to override the auth_settings for an a single
420
+ request; this effectively ignores the
421
+ authentication in the spec for a single request.
422
+ :type _request_auth: dict, optional
423
+ :param _content_type: force content-type for the request.
424
+ :type _content_type: str, Optional
425
+ :param _headers: set to override the headers for a single
426
+ request; this effectively ignores the headers
427
+ in the spec for a single request.
428
+ :type _headers: dict, optional
429
+ :param _host_index: set to override the host_index for a single
430
+ request; this effectively ignores the host_index
431
+ in the spec for a single request.
432
+ :type _host_index: int, optional
433
+ :return: Returns the result object.
434
+ """ # noqa: E501
435
+
436
+ _param = self._api_multipart_uploads_token_part_number_post_serialize(
437
+ token=token,
438
+ part_number=part_number,
439
+ _request_auth=_request_auth,
440
+ _content_type=_content_type,
441
+ _headers=_headers,
442
+ _host_index=_host_index
443
+ )
444
+
445
+ _response_types_map: Dict[str, Optional[str]] = {
446
+
447
+ }
448
+ response_data = self.api_client.call_api(
449
+ *_param,
450
+ _request_timeout=_request_timeout
451
+ )
452
+ response_data.read()
453
+ return self.api_client.response_deserialize(
454
+ response_data=response_data,
455
+ response_types_map=_response_types_map,
456
+ )
457
+
458
+
459
+ @validate_call
460
+ def api_multipart_uploads_token_part_number_post_without_preload_content(
461
+ self,
462
+ token: StrictStr,
463
+ part_number: StrictInt,
464
+ _request_timeout: Union[
465
+ None,
466
+ Annotated[StrictFloat, Field(gt=0)],
467
+ Tuple[
468
+ Annotated[StrictFloat, Field(gt=0)],
469
+ Annotated[StrictFloat, Field(gt=0)]
470
+ ]
471
+ ] = None,
472
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
473
+ _content_type: Optional[StrictStr] = None,
474
+ _headers: Optional[Dict[StrictStr, Any]] = None,
475
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
476
+ ) -> RESTResponseType:
477
+ """api_multipart_uploads_token_part_number_post
478
+
479
+
480
+ :param token: (required)
481
+ :type token: str
482
+ :param part_number: (required)
483
+ :type part_number: int
484
+ :param _request_timeout: timeout setting for this request. If one
485
+ number provided, it will be total request
486
+ timeout. It can also be a pair (tuple) of
487
+ (connection, read) timeouts.
488
+ :type _request_timeout: int, tuple(int, int), optional
489
+ :param _request_auth: set to override the auth_settings for an a single
490
+ request; this effectively ignores the
491
+ authentication in the spec for a single request.
492
+ :type _request_auth: dict, optional
493
+ :param _content_type: force content-type for the request.
494
+ :type _content_type: str, Optional
495
+ :param _headers: set to override the headers for a single
496
+ request; this effectively ignores the headers
497
+ in the spec for a single request.
498
+ :type _headers: dict, optional
499
+ :param _host_index: set to override the host_index for a single
500
+ request; this effectively ignores the host_index
501
+ in the spec for a single request.
502
+ :type _host_index: int, optional
503
+ :return: Returns the result object.
504
+ """ # noqa: E501
505
+
506
+ _param = self._api_multipart_uploads_token_part_number_post_serialize(
507
+ token=token,
508
+ part_number=part_number,
509
+ _request_auth=_request_auth,
510
+ _content_type=_content_type,
511
+ _headers=_headers,
512
+ _host_index=_host_index
513
+ )
514
+
515
+ _response_types_map: Dict[str, Optional[str]] = {
516
+
517
+ }
518
+ response_data = self.api_client.call_api(
519
+ *_param,
520
+ _request_timeout=_request_timeout
521
+ )
522
+ return response_data.response
523
+
524
+
525
+ def _api_multipart_uploads_token_part_number_post_serialize(
526
+ self,
527
+ token,
528
+ part_number,
529
+ _request_auth,
530
+ _content_type,
531
+ _headers,
532
+ _host_index,
533
+ ) -> Tuple:
534
+
535
+ _host = None
536
+
537
+ _collection_formats: Dict[str, str] = {
538
+
539
+ }
540
+
541
+ _path_params: Dict[str, str] = {}
542
+ _query_params: List[Tuple[str, str]] = []
543
+ _header_params: Dict[str, Optional[str]] = _headers or {}
544
+ _form_params: List[Tuple[str, str]] = []
545
+ _files: Dict[str, str] = {}
546
+ _body_params: Optional[bytes] = None
547
+
548
+ # process the path parameters
549
+ if token is not None:
550
+ _path_params['token'] = token
551
+ if part_number is not None:
552
+ _path_params['partNumber'] = part_number
553
+ # process the query parameters
554
+ # process the header parameters
555
+ # process the form parameters
556
+ # process the body parameter
557
+
558
+
559
+
560
+
561
+ # authentication setting
562
+ _auth_settings: List[str] = [
563
+ ]
564
+
565
+ return self.api_client.param_serialize(
566
+ method='POST',
567
+ resource_path='/Api/MultipartUploads/{token}/{partNumber}',
568
+ path_params=_path_params,
569
+ query_params=_query_params,
570
+ header_params=_header_params,
571
+ body=_body_params,
572
+ post_params=_form_params,
573
+ files=_files,
574
+ auth_settings=_auth_settings,
575
+ collection_formats=_collection_formats,
576
+ _host=_host,
577
+ _request_auth=_request_auth
578
+ )
579
+
580
+
581
+
582
+
583
+ @validate_call
584
+ def api_multipart_uploads_token_post(
585
+ self,
586
+ token: StrictStr,
587
+ multipart_upload_end_request: Optional[MultipartUploadEndRequest] = None,
588
+ _request_timeout: Union[
589
+ None,
590
+ Annotated[StrictFloat, Field(gt=0)],
591
+ Tuple[
592
+ Annotated[StrictFloat, Field(gt=0)],
593
+ Annotated[StrictFloat, Field(gt=0)]
594
+ ]
595
+ ] = None,
596
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
597
+ _content_type: Optional[StrictStr] = None,
598
+ _headers: Optional[Dict[StrictStr, Any]] = None,
599
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
600
+ ) -> None:
601
+ """api_multipart_uploads_token_post
602
+
603
+
604
+ :param token: (required)
605
+ :type token: str
606
+ :param multipart_upload_end_request:
607
+ :type multipart_upload_end_request: MultipartUploadEndRequest
608
+ :param _request_timeout: timeout setting for this request. If one
609
+ number provided, it will be total request
610
+ timeout. It can also be a pair (tuple) of
611
+ (connection, read) timeouts.
612
+ :type _request_timeout: int, tuple(int, int), optional
613
+ :param _request_auth: set to override the auth_settings for an a single
614
+ request; this effectively ignores the
615
+ authentication in the spec for a single request.
616
+ :type _request_auth: dict, optional
617
+ :param _content_type: force content-type for the request.
618
+ :type _content_type: str, Optional
619
+ :param _headers: set to override the headers for a single
620
+ request; this effectively ignores the headers
621
+ in the spec for a single request.
622
+ :type _headers: dict, optional
623
+ :param _host_index: set to override the host_index for a single
624
+ request; this effectively ignores the host_index
625
+ in the spec for a single request.
626
+ :type _host_index: int, optional
627
+ :return: Returns the result object.
628
+ """ # noqa: E501
629
+
630
+ _param = self._api_multipart_uploads_token_post_serialize(
631
+ token=token,
632
+ multipart_upload_end_request=multipart_upload_end_request,
633
+ _request_auth=_request_auth,
634
+ _content_type=_content_type,
635
+ _headers=_headers,
636
+ _host_index=_host_index
637
+ )
638
+
639
+ _response_types_map: Dict[str, Optional[str]] = {
640
+
641
+ }
642
+ response_data = self.api_client.call_api(
643
+ *_param,
644
+ _request_timeout=_request_timeout
645
+ )
646
+ response_data.read()
647
+ return self.api_client.response_deserialize(
648
+ response_data=response_data,
649
+ response_types_map=_response_types_map,
650
+ ).data
651
+
652
+
653
+ @validate_call
654
+ def api_multipart_uploads_token_post_with_http_info(
655
+ self,
656
+ token: StrictStr,
657
+ multipart_upload_end_request: Optional[MultipartUploadEndRequest] = None,
658
+ _request_timeout: Union[
659
+ None,
660
+ Annotated[StrictFloat, Field(gt=0)],
661
+ Tuple[
662
+ Annotated[StrictFloat, Field(gt=0)],
663
+ Annotated[StrictFloat, Field(gt=0)]
664
+ ]
665
+ ] = None,
666
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
667
+ _content_type: Optional[StrictStr] = None,
668
+ _headers: Optional[Dict[StrictStr, Any]] = None,
669
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
670
+ ) -> ApiResponse[None]:
671
+ """api_multipart_uploads_token_post
672
+
673
+
674
+ :param token: (required)
675
+ :type token: str
676
+ :param multipart_upload_end_request:
677
+ :type multipart_upload_end_request: MultipartUploadEndRequest
678
+ :param _request_timeout: timeout setting for this request. If one
679
+ number provided, it will be total request
680
+ timeout. It can also be a pair (tuple) of
681
+ (connection, read) timeouts.
682
+ :type _request_timeout: int, tuple(int, int), optional
683
+ :param _request_auth: set to override the auth_settings for an a single
684
+ request; this effectively ignores the
685
+ authentication in the spec for a single request.
686
+ :type _request_auth: dict, optional
687
+ :param _content_type: force content-type for the request.
688
+ :type _content_type: str, Optional
689
+ :param _headers: set to override the headers for a single
690
+ request; this effectively ignores the headers
691
+ in the spec for a single request.
692
+ :type _headers: dict, optional
693
+ :param _host_index: set to override the host_index for a single
694
+ request; this effectively ignores the host_index
695
+ in the spec for a single request.
696
+ :type _host_index: int, optional
697
+ :return: Returns the result object.
698
+ """ # noqa: E501
699
+
700
+ _param = self._api_multipart_uploads_token_post_serialize(
701
+ token=token,
702
+ multipart_upload_end_request=multipart_upload_end_request,
703
+ _request_auth=_request_auth,
704
+ _content_type=_content_type,
705
+ _headers=_headers,
706
+ _host_index=_host_index
707
+ )
708
+
709
+ _response_types_map: Dict[str, Optional[str]] = {
710
+
711
+ }
712
+ response_data = self.api_client.call_api(
713
+ *_param,
714
+ _request_timeout=_request_timeout
715
+ )
716
+ response_data.read()
717
+ return self.api_client.response_deserialize(
718
+ response_data=response_data,
719
+ response_types_map=_response_types_map,
720
+ )
721
+
722
+
723
+ @validate_call
724
+ def api_multipart_uploads_token_post_without_preload_content(
725
+ self,
726
+ token: StrictStr,
727
+ multipart_upload_end_request: Optional[MultipartUploadEndRequest] = None,
728
+ _request_timeout: Union[
729
+ None,
730
+ Annotated[StrictFloat, Field(gt=0)],
731
+ Tuple[
732
+ Annotated[StrictFloat, Field(gt=0)],
733
+ Annotated[StrictFloat, Field(gt=0)]
734
+ ]
735
+ ] = None,
736
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
737
+ _content_type: Optional[StrictStr] = None,
738
+ _headers: Optional[Dict[StrictStr, Any]] = None,
739
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
740
+ ) -> RESTResponseType:
741
+ """api_multipart_uploads_token_post
742
+
743
+
744
+ :param token: (required)
745
+ :type token: str
746
+ :param multipart_upload_end_request:
747
+ :type multipart_upload_end_request: MultipartUploadEndRequest
748
+ :param _request_timeout: timeout setting for this request. If one
749
+ number provided, it will be total request
750
+ timeout. It can also be a pair (tuple) of
751
+ (connection, read) timeouts.
752
+ :type _request_timeout: int, tuple(int, int), optional
753
+ :param _request_auth: set to override the auth_settings for an a single
754
+ request; this effectively ignores the
755
+ authentication in the spec for a single request.
756
+ :type _request_auth: dict, optional
757
+ :param _content_type: force content-type for the request.
758
+ :type _content_type: str, Optional
759
+ :param _headers: set to override the headers for a single
760
+ request; this effectively ignores the headers
761
+ in the spec for a single request.
762
+ :type _headers: dict, optional
763
+ :param _host_index: set to override the host_index for a single
764
+ request; this effectively ignores the host_index
765
+ in the spec for a single request.
766
+ :type _host_index: int, optional
767
+ :return: Returns the result object.
768
+ """ # noqa: E501
769
+
770
+ _param = self._api_multipart_uploads_token_post_serialize(
771
+ token=token,
772
+ multipart_upload_end_request=multipart_upload_end_request,
773
+ _request_auth=_request_auth,
774
+ _content_type=_content_type,
775
+ _headers=_headers,
776
+ _host_index=_host_index
777
+ )
778
+
779
+ _response_types_map: Dict[str, Optional[str]] = {
780
+
781
+ }
782
+ response_data = self.api_client.call_api(
783
+ *_param,
784
+ _request_timeout=_request_timeout
785
+ )
786
+ return response_data.response
787
+
788
+
789
+ def _api_multipart_uploads_token_post_serialize(
790
+ self,
791
+ token,
792
+ multipart_upload_end_request,
793
+ _request_auth,
794
+ _content_type,
795
+ _headers,
796
+ _host_index,
797
+ ) -> Tuple:
798
+
799
+ _host = None
800
+
801
+ _collection_formats: Dict[str, str] = {
802
+
803
+ }
804
+
805
+ _path_params: Dict[str, str] = {}
806
+ _query_params: List[Tuple[str, str]] = []
807
+ _header_params: Dict[str, Optional[str]] = _headers or {}
808
+ _form_params: List[Tuple[str, str]] = []
809
+ _files: Dict[str, str] = {}
810
+ _body_params: Optional[bytes] = None
811
+
812
+ # process the path parameters
813
+ if token is not None:
814
+ _path_params['token'] = token
815
+ # process the query parameters
816
+ # process the header parameters
817
+ # process the form parameters
818
+ # process the body parameter
819
+ if multipart_upload_end_request is not None:
820
+ _body_params = multipart_upload_end_request
821
+
822
+ # set the HTTP header `Content-Type`
823
+ if _content_type:
824
+ _header_params['Content-Type'] = _content_type
825
+ else:
826
+ _default_content_type = (
827
+ self.api_client.select_header_content_type(
828
+ [
829
+ 'application/json-patch+json',
830
+ 'application/json',
831
+ 'text/json',
832
+ 'application/*+json'
833
+ ]
834
+ )
835
+ )
836
+ if _default_content_type is not None:
837
+ _header_params['Content-Type'] = _default_content_type
838
+
839
+ # authentication setting
840
+ _auth_settings: List[str] = [
841
+ ]
842
+
843
+ return self.api_client.param_serialize(
844
+ method='POST',
845
+ resource_path='/Api/MultipartUploads/{token}',
846
+ path_params=_path_params,
847
+ query_params=_query_params,
848
+ header_params=_header_params,
849
+ body=_body_params,
850
+ post_params=_form_params,
851
+ files=_files,
852
+ auth_settings=_auth_settings,
853
+ collection_formats=_collection_formats,
854
+ _host=_host,
855
+ _request_auth=_request_auth
856
+ )
857
+
858
+
859
+
860
+
861
+ @validate_call
862
+ def api_plain_uploads_post(
863
+ self,
864
+ file_path,
865
+ file,
866
+ _request_timeout: Union[
867
+ None,
868
+ Annotated[StrictFloat, Field(gt=0)],
869
+ Tuple[
870
+ Annotated[StrictFloat, Field(gt=0)],
871
+ Annotated[StrictFloat, Field(gt=0)]
872
+ ]
873
+ ] = None,
874
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
875
+ _content_type: Optional[StrictStr] = None,
876
+ _headers: Optional[Dict[StrictStr, Any]] = None,
877
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
878
+ ) -> FileReferenceModel:
879
+ """api_plain_uploads_post
880
+
881
+
882
+ :param _request_timeout: timeout setting for this request. If one
883
+ number provided, it will be total request
884
+ timeout. It can also be a pair (tuple) of
885
+ (connection, read) timeouts.
886
+ :type _request_timeout: int, tuple(int, int), optional
887
+ :param _request_auth: set to override the auth_settings for an a single
888
+ request; this effectively ignores the
889
+ authentication in the spec for a single request.
890
+ :type _request_auth: dict, optional
891
+ :param _content_type: force content-type for the request.
892
+ :type _content_type: str, Optional
893
+ :param _headers: set to override the headers for a single
894
+ request; this effectively ignores the headers
895
+ in the spec for a single request.
896
+ :type _headers: dict, optional
897
+ :param _host_index: set to override the host_index for a single
898
+ request; this effectively ignores the host_index
899
+ in the spec for a single request.
900
+ :type _host_index: int, optional
901
+ :return: Returns the result object.
902
+ """ # noqa: E501
903
+
904
+ files = {'file_field': (file_path, file.read(), 'application/pdf')}
905
+ # Encode the fields and files as multipart/form-data
906
+ encoded_data, content_type = encode_multipart_formdata(fields=files)
907
+
908
+ _param = self._api_plain_uploads_post_serialize(
909
+ file=encoded_data,
910
+ _request_auth=_request_auth,
911
+ _content_type=content_type,
912
+ _headers=_headers,
913
+ _host_index=_host_index
914
+ )
915
+
916
+ _response_types_map: Dict[str, Optional[str]] = {
917
+ '200': "FileReferenceModel",
918
+ '400': None,
919
+ '401': None,
920
+ '403': None,
921
+ '422': None
922
+
923
+ }
924
+ response_data = self.api_client.call_api(
925
+ *_param,
926
+ _request_timeout=_request_timeout
927
+ )
928
+ response_data.read()
929
+ return self.api_client.response_deserialize(
930
+ response_data=response_data,
931
+ response_types_map=_response_types_map,
932
+ ).data
933
+
934
+
935
+ @validate_call
936
+ def api_plain_uploads_post_with_http_info(
937
+ self,
938
+ _request_timeout: Union[
939
+ None,
940
+ Annotated[StrictFloat, Field(gt=0)],
941
+ Tuple[
942
+ Annotated[StrictFloat, Field(gt=0)],
943
+ Annotated[StrictFloat, Field(gt=0)]
944
+ ]
945
+ ] = None,
946
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
947
+ _content_type: Optional[StrictStr] = None,
948
+ _headers: Optional[Dict[StrictStr, Any]] = None,
949
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
950
+ ) -> ApiResponse[FileReferenceModel]:
951
+ """api_plain_uploads_post
952
+
953
+
954
+ :param _request_timeout: timeout setting for this request. If one
955
+ number provided, it will be total request
956
+ timeout. It can also be a pair (tuple) of
957
+ (connection, read) timeouts.
958
+ :type _request_timeout: int, tuple(int, int), optional
959
+ :param _request_auth: set to override the auth_settings for an a single
960
+ request; this effectively ignores the
961
+ authentication in the spec for a single request.
962
+ :type _request_auth: dict, optional
963
+ :param _content_type: force content-type for the request.
964
+ :type _content_type: str, Optional
965
+ :param _headers: set to override the headers for a single
966
+ request; this effectively ignores the headers
967
+ in the spec for a single request.
968
+ :type _headers: dict, optional
969
+ :param _host_index: set to override the host_index for a single
970
+ request; this effectively ignores the host_index
971
+ in the spec for a single request.
972
+ :type _host_index: int, optional
973
+ :return: Returns the result object.
974
+ """ # noqa: E501
975
+
976
+ _param = self._api_plain_uploads_post_serialize(
977
+ _request_auth=_request_auth,
978
+ _content_type=_content_type,
979
+ _headers=_headers,
980
+ _host_index=_host_index
981
+ )
982
+
983
+ _response_types_map: Dict[str, Optional[str]] = {
984
+ '200': "FileReferenceModel",
985
+ '400': None,
986
+ '401': None,
987
+ '403': None,
988
+ '422': None
989
+
990
+ }
991
+ response_data = self.api_client.call_api(
992
+ *_param,
993
+ _request_timeout=_request_timeout
994
+ )
995
+ response_data.read()
996
+ return self.api_client.response_deserialize(
997
+ response_data=response_data,
998
+ response_types_map=_response_types_map,
999
+ )
1000
+
1001
+
1002
+ @validate_call
1003
+ def api_plain_uploads_post_without_preload_content(
1004
+ self,
1005
+ _request_timeout: Union[
1006
+ None,
1007
+ Annotated[StrictFloat, Field(gt=0)],
1008
+ Tuple[
1009
+ Annotated[StrictFloat, Field(gt=0)],
1010
+ Annotated[StrictFloat, Field(gt=0)]
1011
+ ]
1012
+ ] = None,
1013
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1014
+ _content_type: Optional[StrictStr] = None,
1015
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1016
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1017
+ ) -> RESTResponseType:
1018
+ """api_plain_uploads_post
1019
+
1020
+
1021
+ :param _request_timeout: timeout setting for this request. If one
1022
+ number provided, it will be total request
1023
+ timeout. It can also be a pair (tuple) of
1024
+ (connection, read) timeouts.
1025
+ :type _request_timeout: int, tuple(int, int), optional
1026
+ :param _request_auth: set to override the auth_settings for an a single
1027
+ request; this effectively ignores the
1028
+ authentication in the spec for a single request.
1029
+ :type _request_auth: dict, optional
1030
+ :param _content_type: force content-type for the request.
1031
+ :type _content_type: str, Optional
1032
+ :param _headers: set to override the headers for a single
1033
+ request; this effectively ignores the headers
1034
+ in the spec for a single request.
1035
+ :type _headers: dict, optional
1036
+ :param _host_index: set to override the host_index for a single
1037
+ request; this effectively ignores the host_index
1038
+ in the spec for a single request.
1039
+ :type _host_index: int, optional
1040
+ :return: Returns the result object.
1041
+ """ # noqa: E501
1042
+
1043
+ _param = self._api_plain_uploads_post_serialize(
1044
+ _request_auth=_request_auth,
1045
+ _content_type=_content_type,
1046
+ _headers=_headers,
1047
+ _host_index=_host_index
1048
+ )
1049
+
1050
+ _response_types_map: Dict[str, Optional[str]] = {
1051
+ '200': "FileReferenceModel",
1052
+ '400': None,
1053
+ '401': None,
1054
+ '403': None,
1055
+ '422': None
1056
+
1057
+ }
1058
+ response_data = self.api_client.call_api(
1059
+ *_param,
1060
+ _request_timeout=_request_timeout
1061
+ )
1062
+ return response_data.response
1063
+
1064
+
1065
+ def _api_plain_uploads_post_serialize(
1066
+ self,
1067
+ file,
1068
+ _request_auth,
1069
+ _content_type,
1070
+ _headers,
1071
+ _host_index,
1072
+ ) -> Tuple:
1073
+
1074
+ _host = None
1075
+
1076
+ _collection_formats: Dict[str, str] = {
1077
+
1078
+ }
1079
+
1080
+ _path_params: Dict[str, str] = {}
1081
+ _query_params: List[Tuple[str, str]] = []
1082
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1083
+ _form_params: List[Tuple[str, str]] = []
1084
+ _files: Dict[str, str] = {}
1085
+ _body_params: Optional[bytes] = file
1086
+
1087
+ # process the path parameters
1088
+ # process the query parameters
1089
+ # process the header parameters
1090
+ # process the form parameters
1091
+ # process the body parameter
1092
+
1093
+ # set the HTTP header `Content-Type`
1094
+ if _content_type:
1095
+ _header_params['Content-Type'] = _content_type
1096
+
1097
+ # set the HTTP header `Accept`
1098
+ _header_params['Accept'] = self.api_client.select_header_accept(
1099
+ [
1100
+ 'text/plain',
1101
+ 'application/json',
1102
+ 'text/json'
1103
+ ]
1104
+ )
1105
+
1106
+
1107
+ # authentication setting
1108
+ _auth_settings: List[str] = [
1109
+ ]
1110
+
1111
+ return self.api_client.param_serialize(
1112
+ method='POST',
1113
+ resource_path='/api/plain-uploads',
1114
+ path_params=_path_params,
1115
+ query_params=_query_params,
1116
+ header_params=_header_params,
1117
+ body=_body_params,
1118
+ post_params=_form_params,
1119
+ files=_files,
1120
+ auth_settings=_auth_settings,
1121
+ collection_formats=_collection_formats,
1122
+ _host=_host,
1123
+ _request_auth=_request_auth
1124
+ )