latitudesh-python-sdk 0.0.6__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 latitudesh-python-sdk might be problematic. Click here for more details.

Files changed (206) hide show
  1. latitudesh_python_sdk/__init__.py +18 -0
  2. latitudesh_python_sdk/_hooks/__init__.py +5 -0
  3. latitudesh_python_sdk/_hooks/registration.py +13 -0
  4. latitudesh_python_sdk/_hooks/sdkhooks.py +76 -0
  5. latitudesh_python_sdk/_hooks/types.py +106 -0
  6. latitudesh_python_sdk/_version.py +15 -0
  7. latitudesh_python_sdk/apikeys.py +802 -0
  8. latitudesh_python_sdk/basesdk.py +366 -0
  9. latitudesh_python_sdk/billing.py +210 -0
  10. latitudesh_python_sdk/events_sdk.py +240 -0
  11. latitudesh_python_sdk/firewalls_sdk.py +1640 -0
  12. latitudesh_python_sdk/httpclient.py +136 -0
  13. latitudesh_python_sdk/ipaddresses_sdk.py +448 -0
  14. latitudesh_python_sdk/models/__init__.py +1927 -0
  15. latitudesh_python_sdk/models/api_key.py +81 -0
  16. latitudesh_python_sdk/models/apierror.py +22 -0
  17. latitudesh_python_sdk/models/assign_server_virtual_networkop.py +43 -0
  18. latitudesh_python_sdk/models/bandwidth_packages.py +67 -0
  19. latitudesh_python_sdk/models/bandwidth_plan.py +72 -0
  20. latitudesh_python_sdk/models/bandwidth_plans.py +15 -0
  21. latitudesh_python_sdk/models/billing_usage.py +158 -0
  22. latitudesh_python_sdk/models/create_api_key.py +40 -0
  23. latitudesh_python_sdk/models/create_firewall_assignmentop.py +61 -0
  24. latitudesh_python_sdk/models/create_firewallop.py +69 -0
  25. latitudesh_python_sdk/models/create_ipmi_sessionop.py +16 -0
  26. latitudesh_python_sdk/models/create_projectop.py +79 -0
  27. latitudesh_python_sdk/models/create_server_actionop.py +69 -0
  28. latitudesh_python_sdk/models/create_server_out_of_bandop.py +61 -0
  29. latitudesh_python_sdk/models/create_server_reinstallop.py +140 -0
  30. latitudesh_python_sdk/models/create_serverop.py +173 -0
  31. latitudesh_python_sdk/models/create_tagop.py +50 -0
  32. latitudesh_python_sdk/models/create_virtual_networkop.py +72 -0
  33. latitudesh_python_sdk/models/custom_tag.py +54 -0
  34. latitudesh_python_sdk/models/delete_api_keyop.py +16 -0
  35. latitudesh_python_sdk/models/delete_firewall_assignmentop.py +25 -0
  36. latitudesh_python_sdk/models/delete_firewallop.py +18 -0
  37. latitudesh_python_sdk/models/delete_project_ssh_keyop.py +23 -0
  38. latitudesh_python_sdk/models/delete_project_user_dataop.py +23 -0
  39. latitudesh_python_sdk/models/delete_projectop.py +18 -0
  40. latitudesh_python_sdk/models/delete_storage_filesystemsop.py +16 -0
  41. latitudesh_python_sdk/models/delete_virtual_networks_assignmentsop.py +16 -0
  42. latitudesh_python_sdk/models/delete_vpn_sessionop.py +16 -0
  43. latitudesh_python_sdk/models/deploy_config.py +74 -0
  44. latitudesh_python_sdk/models/destroy_serverop.py +31 -0
  45. latitudesh_python_sdk/models/destroy_tagop.py +16 -0
  46. latitudesh_python_sdk/models/destroy_team_memberop.py +18 -0
  47. latitudesh_python_sdk/models/destroy_virtual_machineop.py +16 -0
  48. latitudesh_python_sdk/models/destroy_virtual_networkop.py +18 -0
  49. latitudesh_python_sdk/models/error_object.py +49 -0
  50. latitudesh_python_sdk/models/events.py +90 -0
  51. latitudesh_python_sdk/models/filesystem_data.py +53 -0
  52. latitudesh_python_sdk/models/firewall.py +71 -0
  53. latitudesh_python_sdk/models/firewall_server.py +50 -0
  54. latitudesh_python_sdk/models/firewalls.py +26 -0
  55. latitudesh_python_sdk/models/get_bandwidth_plansop.py +33 -0
  56. latitudesh_python_sdk/models/get_billing_usageop.py +46 -0
  57. latitudesh_python_sdk/models/get_eventsop.py +98 -0
  58. latitudesh_python_sdk/models/get_firewall_assignmentsop.py +18 -0
  59. latitudesh_python_sdk/models/get_firewallop.py +18 -0
  60. latitudesh_python_sdk/models/get_ipop.py +33 -0
  61. latitudesh_python_sdk/models/get_ipsop.py +91 -0
  62. latitudesh_python_sdk/models/get_planop.py +16 -0
  63. latitudesh_python_sdk/models/get_plans_operating_systemop.py +19 -0
  64. latitudesh_python_sdk/models/get_plansop.py +125 -0
  65. latitudesh_python_sdk/models/get_project_ssh_keyop.py +37 -0
  66. latitudesh_python_sdk/models/get_project_ssh_keysop.py +33 -0
  67. latitudesh_python_sdk/models/get_project_user_dataop.py +38 -0
  68. latitudesh_python_sdk/models/get_project_users_dataop.py +46 -0
  69. latitudesh_python_sdk/models/get_projectsop.py +76 -0
  70. latitudesh_python_sdk/models/get_regionop.py +18 -0
  71. latitudesh_python_sdk/models/get_role_idop.py +16 -0
  72. latitudesh_python_sdk/models/get_rolesop.py +19 -0
  73. latitudesh_python_sdk/models/get_server_deploy_configop.py +18 -0
  74. latitudesh_python_sdk/models/get_server_out_of_bandop.py +18 -0
  75. latitudesh_python_sdk/models/get_serverop.py +33 -0
  76. latitudesh_python_sdk/models/get_serversop.py +156 -0
  77. latitudesh_python_sdk/models/get_storage_filesystemsop.py +22 -0
  78. latitudesh_python_sdk/models/get_traffic_consumptionop.py +45 -0
  79. latitudesh_python_sdk/models/get_traffic_quotaop.py +20 -0
  80. latitudesh_python_sdk/models/get_user_profileop.py +19 -0
  81. latitudesh_python_sdk/models/get_virtual_networkop.py +32 -0
  82. latitudesh_python_sdk/models/get_virtual_networks_assignmentsop.py +40 -0
  83. latitudesh_python_sdk/models/get_virtual_networksop.py +40 -0
  84. latitudesh_python_sdk/models/get_vpn_sessionsop.py +70 -0
  85. latitudesh_python_sdk/models/index_virtual_machineop.py +22 -0
  86. latitudesh_python_sdk/models/ip_address.py +122 -0
  87. latitudesh_python_sdk/models/ip_addresses.py +15 -0
  88. latitudesh_python_sdk/models/ipmi_session.py +53 -0
  89. latitudesh_python_sdk/models/list_firewallsop.py +20 -0
  90. latitudesh_python_sdk/models/membership.py +63 -0
  91. latitudesh_python_sdk/models/operating_systems.py +57 -0
  92. latitudesh_python_sdk/models/out_of_band_connection.py +88 -0
  93. latitudesh_python_sdk/models/patch_current_teamop.py +91 -0
  94. latitudesh_python_sdk/models/patch_storage_filesystemsop.py +79 -0
  95. latitudesh_python_sdk/models/patch_user_profileop.py +88 -0
  96. latitudesh_python_sdk/models/plan.py +15 -0
  97. latitudesh_python_sdk/models/plan_data.py +206 -0
  98. latitudesh_python_sdk/models/post_api_keyop.py +19 -0
  99. latitudesh_python_sdk/models/post_project_ssh_keyop.py +81 -0
  100. latitudesh_python_sdk/models/post_project_user_dataop.py +68 -0
  101. latitudesh_python_sdk/models/post_storage_filesystemsop.py +63 -0
  102. latitudesh_python_sdk/models/post_team_membersop.py +54 -0
  103. latitudesh_python_sdk/models/post_teamop.py +67 -0
  104. latitudesh_python_sdk/models/post_vpn_sessionop.py +63 -0
  105. latitudesh_python_sdk/models/project.py +130 -0
  106. latitudesh_python_sdk/models/project_include.py +72 -0
  107. latitudesh_python_sdk/models/projects.py +15 -0
  108. latitudesh_python_sdk/models/put_project_ssh_keyop.py +87 -0
  109. latitudesh_python_sdk/models/put_project_user_dataop.py +76 -0
  110. latitudesh_python_sdk/models/put_vpn_sessionop.py +16 -0
  111. latitudesh_python_sdk/models/region.py +50 -0
  112. latitudesh_python_sdk/models/region_resource_data.py +37 -0
  113. latitudesh_python_sdk/models/regions.py +50 -0
  114. latitudesh_python_sdk/models/role.py +15 -0
  115. latitudesh_python_sdk/models/role_data.py +35 -0
  116. latitudesh_python_sdk/models/security.py +25 -0
  117. latitudesh_python_sdk/models/server.py +54 -0
  118. latitudesh_python_sdk/models/server_action.py +52 -0
  119. latitudesh_python_sdk/models/server_data.py +219 -0
  120. latitudesh_python_sdk/models/server_exit_rescue_modeop.py +16 -0
  121. latitudesh_python_sdk/models/server_lockop.py +16 -0
  122. latitudesh_python_sdk/models/server_rescue.py +22 -0
  123. latitudesh_python_sdk/models/server_schedule_deletion.py +44 -0
  124. latitudesh_python_sdk/models/server_schedule_deletionop.py +16 -0
  125. latitudesh_python_sdk/models/server_start_rescue_modeop.py +16 -0
  126. latitudesh_python_sdk/models/server_unlockop.py +16 -0
  127. latitudesh_python_sdk/models/server_unschedule_deletionop.py +16 -0
  128. latitudesh_python_sdk/models/servers.py +26 -0
  129. latitudesh_python_sdk/models/show_virtual_machineop.py +16 -0
  130. latitudesh_python_sdk/models/ssh_key.py +15 -0
  131. latitudesh_python_sdk/models/ssh_key_data.py +55 -0
  132. latitudesh_python_sdk/models/storage_plan.py +36 -0
  133. latitudesh_python_sdk/models/storage_plans.py +15 -0
  134. latitudesh_python_sdk/models/team.py +74 -0
  135. latitudesh_python_sdk/models/team_include.py +43 -0
  136. latitudesh_python_sdk/models/team_members.py +51 -0
  137. latitudesh_python_sdk/models/teams.py +26 -0
  138. latitudesh_python_sdk/models/traffic.py +133 -0
  139. latitudesh_python_sdk/models/traffic_quota.py +106 -0
  140. latitudesh_python_sdk/models/update_api_key.py +48 -0
  141. latitudesh_python_sdk/models/update_api_keyop.py +41 -0
  142. latitudesh_python_sdk/models/update_firewallop.py +89 -0
  143. latitudesh_python_sdk/models/update_plans_bandwidthop.py +50 -0
  144. latitudesh_python_sdk/models/update_projectop.py +95 -0
  145. latitudesh_python_sdk/models/update_server_deploy_configop.py +122 -0
  146. latitudesh_python_sdk/models/update_serverop.py +69 -0
  147. latitudesh_python_sdk/models/update_tagop.py +74 -0
  148. latitudesh_python_sdk/models/update_virtual_networkop.py +67 -0
  149. latitudesh_python_sdk/models/user.py +59 -0
  150. latitudesh_python_sdk/models/user_data.py +15 -0
  151. latitudesh_python_sdk/models/user_data_properties.py +46 -0
  152. latitudesh_python_sdk/models/user_include.py +52 -0
  153. latitudesh_python_sdk/models/user_team.py +61 -0
  154. latitudesh_python_sdk/models/user_teams.py +26 -0
  155. latitudesh_python_sdk/models/user_update.py +37 -0
  156. latitudesh_python_sdk/models/virtual_machine.py +25 -0
  157. latitudesh_python_sdk/models/virtual_machine_payload.py +41 -0
  158. latitudesh_python_sdk/models/virtual_machine_plans.py +180 -0
  159. latitudesh_python_sdk/models/virtual_network.py +103 -0
  160. latitudesh_python_sdk/models/virtual_network1.py +84 -0
  161. latitudesh_python_sdk/models/virtual_network_assignment.py +37 -0
  162. latitudesh_python_sdk/models/virtual_network_assignments.py +29 -0
  163. latitudesh_python_sdk/models/virtual_networks.py +26 -0
  164. latitudesh_python_sdk/models/vpn_session_data_with_password.py +77 -0
  165. latitudesh_python_sdk/models/vpn_session_with_password.py +18 -0
  166. latitudesh_python_sdk/operatingsystems_sdk.py +188 -0
  167. latitudesh_python_sdk/plans.py +1178 -0
  168. latitudesh_python_sdk/privatenetworks.py +1672 -0
  169. latitudesh_python_sdk/projects_sdk.py +864 -0
  170. latitudesh_python_sdk/py.typed +1 -0
  171. latitudesh_python_sdk/regions_sdk.py +376 -0
  172. latitudesh_python_sdk/roles.py +374 -0
  173. latitudesh_python_sdk/sdk.py +214 -0
  174. latitudesh_python_sdk/sdkconfiguration.py +57 -0
  175. latitudesh_python_sdk/servers_sdk.py +3810 -0
  176. latitudesh_python_sdk/sshkeys.py +1050 -0
  177. latitudesh_python_sdk/storage.py +820 -0
  178. latitudesh_python_sdk/tags.py +786 -0
  179. latitudesh_python_sdk/teams_sdk.py +596 -0
  180. latitudesh_python_sdk/teamsmembers.py +578 -0
  181. latitudesh_python_sdk/traffic_sdk.py +400 -0
  182. latitudesh_python_sdk/types/__init__.py +21 -0
  183. latitudesh_python_sdk/types/basemodel.py +39 -0
  184. latitudesh_python_sdk/userdata_sdk.py +1052 -0
  185. latitudesh_python_sdk/userprofile.py +596 -0
  186. latitudesh_python_sdk/utils/__init__.py +101 -0
  187. latitudesh_python_sdk/utils/annotations.py +55 -0
  188. latitudesh_python_sdk/utils/enums.py +34 -0
  189. latitudesh_python_sdk/utils/eventstreaming.py +238 -0
  190. latitudesh_python_sdk/utils/forms.py +202 -0
  191. latitudesh_python_sdk/utils/headers.py +136 -0
  192. latitudesh_python_sdk/utils/logger.py +27 -0
  193. latitudesh_python_sdk/utils/metadata.py +118 -0
  194. latitudesh_python_sdk/utils/queryparams.py +205 -0
  195. latitudesh_python_sdk/utils/requestbodies.py +66 -0
  196. latitudesh_python_sdk/utils/retries.py +217 -0
  197. latitudesh_python_sdk/utils/security.py +192 -0
  198. latitudesh_python_sdk/utils/serializers.py +219 -0
  199. latitudesh_python_sdk/utils/url.py +155 -0
  200. latitudesh_python_sdk/utils/values.py +137 -0
  201. latitudesh_python_sdk/virtualmachines.py +772 -0
  202. latitudesh_python_sdk/vpnsessions.py +818 -0
  203. latitudesh_python_sdk-0.0.6.dist-info/LICENSE +21 -0
  204. latitudesh_python_sdk-0.0.6.dist-info/METADATA +730 -0
  205. latitudesh_python_sdk-0.0.6.dist-info/RECORD +206 -0
  206. latitudesh_python_sdk-0.0.6.dist-info/WHEEL +4 -0
@@ -0,0 +1 @@
1
+ # Marker file for PEP 561. The package enables type hints.
@@ -0,0 +1,376 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from .basesdk import BaseSDK
4
+ from latitudesh_python_sdk import models, utils
5
+ from latitudesh_python_sdk._hooks import HookContext
6
+ from latitudesh_python_sdk.types import OptionalNullable, UNSET
7
+ from latitudesh_python_sdk.utils import get_security_from_env
8
+ from typing import Any, Mapping, Optional
9
+
10
+
11
+ class RegionsSDK(BaseSDK):
12
+ def list(
13
+ self,
14
+ *,
15
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
16
+ server_url: Optional[str] = None,
17
+ timeout_ms: Optional[int] = None,
18
+ http_headers: Optional[Mapping[str, str]] = None,
19
+ ) -> models.Regions:
20
+ r"""List all Regions
21
+
22
+ Lists all [available locations](https://latitude.sh/locations). For server availability by location, please see the [Plans API](/reference/get-plans).
23
+
24
+
25
+
26
+ :param retries: Override the default retry configuration for this method
27
+ :param server_url: Override the default server URL for this method
28
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
29
+ :param http_headers: Additional headers to set or replace on requests.
30
+ """
31
+ base_url = None
32
+ url_variables = None
33
+ if timeout_ms is None:
34
+ timeout_ms = self.sdk_configuration.timeout_ms
35
+
36
+ if server_url is not None:
37
+ base_url = server_url
38
+ else:
39
+ base_url = self._get_url(base_url, url_variables)
40
+ req = self._build_request(
41
+ method="GET",
42
+ path="/regions",
43
+ base_url=base_url,
44
+ url_variables=url_variables,
45
+ request=None,
46
+ request_body_required=False,
47
+ request_has_path_params=False,
48
+ request_has_query_params=True,
49
+ user_agent_header="user-agent",
50
+ accept_header_value="application/vnd.api+json",
51
+ http_headers=http_headers,
52
+ security=self.sdk_configuration.security,
53
+ timeout_ms=timeout_ms,
54
+ )
55
+
56
+ if retries == UNSET:
57
+ if self.sdk_configuration.retry_config is not UNSET:
58
+ retries = self.sdk_configuration.retry_config
59
+
60
+ retry_config = None
61
+ if isinstance(retries, utils.RetryConfig):
62
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
63
+
64
+ http_res = self.do_request(
65
+ hook_ctx=HookContext(
66
+ base_url=base_url or "",
67
+ operation_id="get-regions",
68
+ oauth2_scopes=[],
69
+ security_source=get_security_from_env(
70
+ self.sdk_configuration.security, models.Security
71
+ ),
72
+ ),
73
+ request=req,
74
+ error_status_codes=["4XX", "5XX"],
75
+ retry_config=retry_config,
76
+ )
77
+
78
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
79
+ return utils.unmarshal_json(http_res.text, models.Regions)
80
+ if utils.match_response(http_res, "4XX", "*"):
81
+ http_res_text = utils.stream_to_text(http_res)
82
+ raise models.APIError(
83
+ "API error occurred", http_res.status_code, http_res_text, http_res
84
+ )
85
+ if utils.match_response(http_res, "5XX", "*"):
86
+ http_res_text = utils.stream_to_text(http_res)
87
+ raise models.APIError(
88
+ "API error occurred", http_res.status_code, http_res_text, http_res
89
+ )
90
+
91
+ content_type = http_res.headers.get("Content-Type")
92
+ http_res_text = utils.stream_to_text(http_res)
93
+ raise models.APIError(
94
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
95
+ http_res.status_code,
96
+ http_res_text,
97
+ http_res,
98
+ )
99
+
100
+ async def list_async(
101
+ self,
102
+ *,
103
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
104
+ server_url: Optional[str] = None,
105
+ timeout_ms: Optional[int] = None,
106
+ http_headers: Optional[Mapping[str, str]] = None,
107
+ ) -> models.Regions:
108
+ r"""List all Regions
109
+
110
+ Lists all [available locations](https://latitude.sh/locations). For server availability by location, please see the [Plans API](/reference/get-plans).
111
+
112
+
113
+
114
+ :param retries: Override the default retry configuration for this method
115
+ :param server_url: Override the default server URL for this method
116
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
117
+ :param http_headers: Additional headers to set or replace on requests.
118
+ """
119
+ base_url = None
120
+ url_variables = None
121
+ if timeout_ms is None:
122
+ timeout_ms = self.sdk_configuration.timeout_ms
123
+
124
+ if server_url is not None:
125
+ base_url = server_url
126
+ else:
127
+ base_url = self._get_url(base_url, url_variables)
128
+ req = self._build_request_async(
129
+ method="GET",
130
+ path="/regions",
131
+ base_url=base_url,
132
+ url_variables=url_variables,
133
+ request=None,
134
+ request_body_required=False,
135
+ request_has_path_params=False,
136
+ request_has_query_params=True,
137
+ user_agent_header="user-agent",
138
+ accept_header_value="application/vnd.api+json",
139
+ http_headers=http_headers,
140
+ security=self.sdk_configuration.security,
141
+ timeout_ms=timeout_ms,
142
+ )
143
+
144
+ if retries == UNSET:
145
+ if self.sdk_configuration.retry_config is not UNSET:
146
+ retries = self.sdk_configuration.retry_config
147
+
148
+ retry_config = None
149
+ if isinstance(retries, utils.RetryConfig):
150
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
151
+
152
+ http_res = await self.do_request_async(
153
+ hook_ctx=HookContext(
154
+ base_url=base_url or "",
155
+ operation_id="get-regions",
156
+ oauth2_scopes=[],
157
+ security_source=get_security_from_env(
158
+ self.sdk_configuration.security, models.Security
159
+ ),
160
+ ),
161
+ request=req,
162
+ error_status_codes=["4XX", "5XX"],
163
+ retry_config=retry_config,
164
+ )
165
+
166
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
167
+ return utils.unmarshal_json(http_res.text, models.Regions)
168
+ if utils.match_response(http_res, "4XX", "*"):
169
+ http_res_text = await utils.stream_to_text_async(http_res)
170
+ raise models.APIError(
171
+ "API error occurred", http_res.status_code, http_res_text, http_res
172
+ )
173
+ if utils.match_response(http_res, "5XX", "*"):
174
+ http_res_text = await utils.stream_to_text_async(http_res)
175
+ raise models.APIError(
176
+ "API error occurred", http_res.status_code, http_res_text, http_res
177
+ )
178
+
179
+ content_type = http_res.headers.get("Content-Type")
180
+ http_res_text = await utils.stream_to_text_async(http_res)
181
+ raise models.APIError(
182
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
183
+ http_res.status_code,
184
+ http_res_text,
185
+ http_res,
186
+ )
187
+
188
+ def get(
189
+ self,
190
+ *,
191
+ region_id: str,
192
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
193
+ server_url: Optional[str] = None,
194
+ timeout_ms: Optional[int] = None,
195
+ http_headers: Optional[Mapping[str, str]] = None,
196
+ ) -> models.Region:
197
+ r"""Retrieve a Region
198
+
199
+ :param region_id: The region region_ID
200
+ :param retries: Override the default retry configuration for this method
201
+ :param server_url: Override the default server URL for this method
202
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
203
+ :param http_headers: Additional headers to set or replace on requests.
204
+ """
205
+ base_url = None
206
+ url_variables = None
207
+ if timeout_ms is None:
208
+ timeout_ms = self.sdk_configuration.timeout_ms
209
+
210
+ if server_url is not None:
211
+ base_url = server_url
212
+ else:
213
+ base_url = self._get_url(base_url, url_variables)
214
+
215
+ request = models.GetRegionRequest(
216
+ region_id=region_id,
217
+ )
218
+
219
+ req = self._build_request(
220
+ method="GET",
221
+ path="/regions/{region_id}",
222
+ base_url=base_url,
223
+ url_variables=url_variables,
224
+ request=request,
225
+ request_body_required=False,
226
+ request_has_path_params=True,
227
+ request_has_query_params=True,
228
+ user_agent_header="user-agent",
229
+ accept_header_value="application/vnd.api+json",
230
+ http_headers=http_headers,
231
+ security=self.sdk_configuration.security,
232
+ timeout_ms=timeout_ms,
233
+ )
234
+
235
+ if retries == UNSET:
236
+ if self.sdk_configuration.retry_config is not UNSET:
237
+ retries = self.sdk_configuration.retry_config
238
+
239
+ retry_config = None
240
+ if isinstance(retries, utils.RetryConfig):
241
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
242
+
243
+ http_res = self.do_request(
244
+ hook_ctx=HookContext(
245
+ base_url=base_url or "",
246
+ operation_id="get-region",
247
+ oauth2_scopes=[],
248
+ security_source=get_security_from_env(
249
+ self.sdk_configuration.security, models.Security
250
+ ),
251
+ ),
252
+ request=req,
253
+ error_status_codes=["404", "4XX", "5XX"],
254
+ retry_config=retry_config,
255
+ )
256
+
257
+ response_data: Any = None
258
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
259
+ return utils.unmarshal_json(http_res.text, models.Region)
260
+ if utils.match_response(http_res, "404", "application/vnd.api+json"):
261
+ response_data = utils.unmarshal_json(http_res.text, models.ErrorObjectData)
262
+ raise models.ErrorObject(data=response_data)
263
+ if utils.match_response(http_res, "4XX", "*"):
264
+ http_res_text = utils.stream_to_text(http_res)
265
+ raise models.APIError(
266
+ "API error occurred", http_res.status_code, http_res_text, http_res
267
+ )
268
+ if utils.match_response(http_res, "5XX", "*"):
269
+ http_res_text = utils.stream_to_text(http_res)
270
+ raise models.APIError(
271
+ "API error occurred", http_res.status_code, http_res_text, http_res
272
+ )
273
+
274
+ content_type = http_res.headers.get("Content-Type")
275
+ http_res_text = utils.stream_to_text(http_res)
276
+ raise models.APIError(
277
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
278
+ http_res.status_code,
279
+ http_res_text,
280
+ http_res,
281
+ )
282
+
283
+ async def get_async(
284
+ self,
285
+ *,
286
+ region_id: str,
287
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
288
+ server_url: Optional[str] = None,
289
+ timeout_ms: Optional[int] = None,
290
+ http_headers: Optional[Mapping[str, str]] = None,
291
+ ) -> models.Region:
292
+ r"""Retrieve a Region
293
+
294
+ :param region_id: The region region_ID
295
+ :param retries: Override the default retry configuration for this method
296
+ :param server_url: Override the default server URL for this method
297
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
298
+ :param http_headers: Additional headers to set or replace on requests.
299
+ """
300
+ base_url = None
301
+ url_variables = None
302
+ if timeout_ms is None:
303
+ timeout_ms = self.sdk_configuration.timeout_ms
304
+
305
+ if server_url is not None:
306
+ base_url = server_url
307
+ else:
308
+ base_url = self._get_url(base_url, url_variables)
309
+
310
+ request = models.GetRegionRequest(
311
+ region_id=region_id,
312
+ )
313
+
314
+ req = self._build_request_async(
315
+ method="GET",
316
+ path="/regions/{region_id}",
317
+ base_url=base_url,
318
+ url_variables=url_variables,
319
+ request=request,
320
+ request_body_required=False,
321
+ request_has_path_params=True,
322
+ request_has_query_params=True,
323
+ user_agent_header="user-agent",
324
+ accept_header_value="application/vnd.api+json",
325
+ http_headers=http_headers,
326
+ security=self.sdk_configuration.security,
327
+ timeout_ms=timeout_ms,
328
+ )
329
+
330
+ if retries == UNSET:
331
+ if self.sdk_configuration.retry_config is not UNSET:
332
+ retries = self.sdk_configuration.retry_config
333
+
334
+ retry_config = None
335
+ if isinstance(retries, utils.RetryConfig):
336
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
337
+
338
+ http_res = await self.do_request_async(
339
+ hook_ctx=HookContext(
340
+ base_url=base_url or "",
341
+ operation_id="get-region",
342
+ oauth2_scopes=[],
343
+ security_source=get_security_from_env(
344
+ self.sdk_configuration.security, models.Security
345
+ ),
346
+ ),
347
+ request=req,
348
+ error_status_codes=["404", "4XX", "5XX"],
349
+ retry_config=retry_config,
350
+ )
351
+
352
+ response_data: Any = None
353
+ if utils.match_response(http_res, "200", "application/vnd.api+json"):
354
+ return utils.unmarshal_json(http_res.text, models.Region)
355
+ if utils.match_response(http_res, "404", "application/vnd.api+json"):
356
+ response_data = utils.unmarshal_json(http_res.text, models.ErrorObjectData)
357
+ raise models.ErrorObject(data=response_data)
358
+ if utils.match_response(http_res, "4XX", "*"):
359
+ http_res_text = await utils.stream_to_text_async(http_res)
360
+ raise models.APIError(
361
+ "API error occurred", http_res.status_code, http_res_text, http_res
362
+ )
363
+ if utils.match_response(http_res, "5XX", "*"):
364
+ http_res_text = await utils.stream_to_text_async(http_res)
365
+ raise models.APIError(
366
+ "API error occurred", http_res.status_code, http_res_text, http_res
367
+ )
368
+
369
+ content_type = http_res.headers.get("Content-Type")
370
+ http_res_text = await utils.stream_to_text_async(http_res)
371
+ raise models.APIError(
372
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
373
+ http_res.status_code,
374
+ http_res_text,
375
+ http_res,
376
+ )