tower 0.3.4__py3-none-linux_armv6l.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 (156) hide show
  1. tower/__init__.py +4 -0
  2. tower/__main__.py +38 -0
  3. tower/client.py +115 -0
  4. tower/tower_api_client/__init__.py +7 -0
  5. tower/tower_api_client/api/__init__.py +1 -0
  6. tower/tower_api_client/api/default/__init__.py +0 -0
  7. tower/tower_api_client/api/default/accept_invitation.py +150 -0
  8. tower/tower_api_client/api/default/cancel_run.py +159 -0
  9. tower/tower_api_client/api/default/claim_device_login_ticket.py +154 -0
  10. tower/tower_api_client/api/default/create_account.py +150 -0
  11. tower/tower_api_client/api/default/create_api_key.py +142 -0
  12. tower/tower_api_client/api/default/create_apps.py +150 -0
  13. tower/tower_api_client/api/default/create_device_login_ticket.py +131 -0
  14. tower/tower_api_client/api/default/create_secret.py +150 -0
  15. tower/tower_api_client/api/default/create_session.py +150 -0
  16. tower/tower_api_client/api/default/create_team.py +150 -0
  17. tower/tower_api_client/api/default/delete_api_key.py +142 -0
  18. tower/tower_api_client/api/default/delete_app.py +146 -0
  19. tower/tower_api_client/api/default/delete_secret.py +104 -0
  20. tower/tower_api_client/api/default/delete_team.py +150 -0
  21. tower/tower_api_client/api/default/delete_team_invitation.py +167 -0
  22. tower/tower_api_client/api/default/deploy_app.py +166 -0
  23. tower/tower_api_client/api/default/describe_app.py +165 -0
  24. tower/tower_api_client/api/default/describe_app_version.py +163 -0
  25. tower/tower_api_client/api/default/describe_device_login_session.py +154 -0
  26. tower/tower_api_client/api/default/describe_run.py +172 -0
  27. tower/tower_api_client/api/default/describe_secrets_key.py +160 -0
  28. tower/tower_api_client/api/default/describe_session.py +125 -0
  29. tower/tower_api_client/api/default/export_secrets.py +218 -0
  30. tower/tower_api_client/api/default/generate_app_statistics.py +129 -0
  31. tower/tower_api_client/api/default/generate_run_statistics.py +160 -0
  32. tower/tower_api_client/api/default/get_app_run_logs.py +159 -0
  33. tower/tower_api_client/api/default/invite_team_member.py +163 -0
  34. tower/tower_api_client/api/default/leave_team.py +150 -0
  35. tower/tower_api_client/api/default/list_api_keys.py +125 -0
  36. tower/tower_api_client/api/default/list_app_environments.py +150 -0
  37. tower/tower_api_client/api/default/list_app_versions.py +146 -0
  38. tower/tower_api_client/api/default/list_apps.py +247 -0
  39. tower/tower_api_client/api/default/list_my_team_invitations.py +129 -0
  40. tower/tower_api_client/api/default/list_runs.py +184 -0
  41. tower/tower_api_client/api/default/list_secret_environments.py +129 -0
  42. tower/tower_api_client/api/default/list_secrets.py +201 -0
  43. tower/tower_api_client/api/default/list_team_invitations.py +150 -0
  44. tower/tower_api_client/api/default/list_team_members.py +146 -0
  45. tower/tower_api_client/api/default/list_teams.py +125 -0
  46. tower/tower_api_client/api/default/refresh_session.py +129 -0
  47. tower/tower_api_client/api/default/remove_team_member.py +163 -0
  48. tower/tower_api_client/api/default/resend_team_invitation.py +167 -0
  49. tower/tower_api_client/api/default/run_app.py +176 -0
  50. tower/tower_api_client/api/default/stream_app_run_logs.py +100 -0
  51. tower/tower_api_client/api/default/update_account_slug.py +163 -0
  52. tower/tower_api_client/api/default/update_my_team_invitation.py +154 -0
  53. tower/tower_api_client/api/default/update_team.py +167 -0
  54. tower/tower_api_client/api/default/update_user.py +150 -0
  55. tower/tower_api_client/client.py +51 -0
  56. tower/tower_api_client/models/__init__.py +193 -0
  57. tower/tower_api_client/models/accept_invitation_params.py +49 -0
  58. tower/tower_api_client/models/accept_invitation_response.py +56 -0
  59. tower/tower_api_client/models/account.py +45 -0
  60. tower/tower_api_client/models/api_key.py +67 -0
  61. tower/tower_api_client/models/app.py +122 -0
  62. tower/tower_api_client/models/app_statistics.py +66 -0
  63. tower/tower_api_client/models/app_summary.py +81 -0
  64. tower/tower_api_client/models/app_version.py +71 -0
  65. tower/tower_api_client/models/cancel_run_response.py +56 -0
  66. tower/tower_api_client/models/claim_device_login_ticket_params.py +49 -0
  67. tower/tower_api_client/models/claim_device_login_ticket_response.py +49 -0
  68. tower/tower_api_client/models/create_account_params.py +91 -0
  69. tower/tower_api_client/models/create_account_params_flags_struct.py +38 -0
  70. tower/tower_api_client/models/create_account_response.py +56 -0
  71. tower/tower_api_client/models/create_api_key_params.py +49 -0
  72. tower/tower_api_client/models/create_api_key_response.py +56 -0
  73. tower/tower_api_client/models/create_app_params.py +57 -0
  74. tower/tower_api_client/models/create_app_response.py +56 -0
  75. tower/tower_api_client/models/create_device_login_ticket_response.py +94 -0
  76. tower/tower_api_client/models/create_secret_params.py +70 -0
  77. tower/tower_api_client/models/create_secret_response.py +56 -0
  78. tower/tower_api_client/models/create_session_params.py +56 -0
  79. tower/tower_api_client/models/create_session_response.py +56 -0
  80. tower/tower_api_client/models/create_team_params.py +56 -0
  81. tower/tower_api_client/models/create_team_response.py +56 -0
  82. tower/tower_api_client/models/delete_api_key_params.py +49 -0
  83. tower/tower_api_client/models/delete_api_key_response.py +56 -0
  84. tower/tower_api_client/models/delete_app_response.py +56 -0
  85. tower/tower_api_client/models/delete_team_invitation_params.py +49 -0
  86. tower/tower_api_client/models/delete_team_invitation_response.py +56 -0
  87. tower/tower_api_client/models/delete_team_params.py +49 -0
  88. tower/tower_api_client/models/delete_team_response.py +56 -0
  89. tower/tower_api_client/models/deploy_app_response.py +56 -0
  90. tower/tower_api_client/models/describe_app_response.py +75 -0
  91. tower/tower_api_client/models/describe_app_version_response.py +56 -0
  92. tower/tower_api_client/models/describe_device_login_session_response.py +56 -0
  93. tower/tower_api_client/models/describe_run_response.py +56 -0
  94. tower/tower_api_client/models/describe_secrets_key_response.py +49 -0
  95. tower/tower_api_client/models/describe_session_response.py +56 -0
  96. tower/tower_api_client/models/error_detail.py +54 -0
  97. tower/tower_api_client/models/error_model.py +109 -0
  98. tower/tower_api_client/models/export_secrets_response.py +75 -0
  99. tower/tower_api_client/models/export_user_secrets_params.py +49 -0
  100. tower/tower_api_client/models/exported_secret.py +62 -0
  101. tower/tower_api_client/models/generate_app_statistics_response.py +56 -0
  102. tower/tower_api_client/models/generate_run_statistics_response.py +85 -0
  103. tower/tower_api_client/models/get_run_log_line.py +47 -0
  104. tower/tower_api_client/models/get_run_logs_output_body.py +65 -0
  105. tower/tower_api_client/models/invite_team_member_params.py +58 -0
  106. tower/tower_api_client/models/invite_team_member_response.py +65 -0
  107. tower/tower_api_client/models/leave_team_response.py +56 -0
  108. tower/tower_api_client/models/list_api_keys_response.py +65 -0
  109. tower/tower_api_client/models/list_app_environments_response.py +50 -0
  110. tower/tower_api_client/models/list_app_versions_response.py +65 -0
  111. tower/tower_api_client/models/list_apps_response.py +75 -0
  112. tower/tower_api_client/models/list_apps_status_item.py +11 -0
  113. tower/tower_api_client/models/list_my_team_invitations_response.py +65 -0
  114. tower/tower_api_client/models/list_runs_response.py +75 -0
  115. tower/tower_api_client/models/list_secret_environments_response.py +50 -0
  116. tower/tower_api_client/models/list_secrets_response.py +75 -0
  117. tower/tower_api_client/models/list_team_invitations_response.py +65 -0
  118. tower/tower_api_client/models/list_team_members_response.py +65 -0
  119. tower/tower_api_client/models/list_teams_response.py +65 -0
  120. tower/tower_api_client/models/log_line.py +62 -0
  121. tower/tower_api_client/models/log_line_error.py +47 -0
  122. tower/tower_api_client/models/pagination.py +59 -0
  123. tower/tower_api_client/models/parameter.py +52 -0
  124. tower/tower_api_client/models/refresh_session_response.py +66 -0
  125. tower/tower_api_client/models/remove_team_member_params.py +49 -0
  126. tower/tower_api_client/models/remove_team_member_response.py +56 -0
  127. tower/tower_api_client/models/resend_team_invitation_params.py +57 -0
  128. tower/tower_api_client/models/resend_team_invitation_response.py +56 -0
  129. tower/tower_api_client/models/run.py +129 -0
  130. tower/tower_api_client/models/run_app_params.py +72 -0
  131. tower/tower_api_client/models/run_app_params_parameters.py +43 -0
  132. tower/tower_api_client/models/run_app_response.py +56 -0
  133. tower/tower_api_client/models/run_results.py +73 -0
  134. tower/tower_api_client/models/run_statistics.py +52 -0
  135. tower/tower_api_client/models/secret.py +62 -0
  136. tower/tower_api_client/models/series_point.py +52 -0
  137. tower/tower_api_client/models/session.py +73 -0
  138. tower/tower_api_client/models/statistics_settings.py +38 -0
  139. tower/tower_api_client/models/team.py +75 -0
  140. tower/tower_api_client/models/team_invitation.py +61 -0
  141. tower/tower_api_client/models/token.py +38 -0
  142. tower/tower_api_client/models/update_account_slug_params.py +49 -0
  143. tower/tower_api_client/models/update_account_slug_response.py +56 -0
  144. tower/tower_api_client/models/update_my_team_invitation_params.py +56 -0
  145. tower/tower_api_client/models/update_my_team_invitation_response.py +39 -0
  146. tower/tower_api_client/models/update_team_params.py +58 -0
  147. tower/tower_api_client/models/update_team_response.py +56 -0
  148. tower/tower_api_client/models/update_user_params.py +71 -0
  149. tower/tower_api_client/models/update_user_response.py +56 -0
  150. tower/tower_api_client/models/user.py +90 -0
  151. tower/tower_api_client/types.py +44 -0
  152. tower-0.3.4.data/scripts/tower +0 -0
  153. tower-0.3.4.dist-info/METADATA +115 -0
  154. tower-0.3.4.dist-info/RECORD +156 -0
  155. tower-0.3.4.dist-info/WHEEL +4 -0
  156. tower-0.3.4.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,167 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict, Optional
3
+
4
+ import httpx
5
+
6
+ from ...client import AuthenticatedClient
7
+ from ...models.resend_team_invitation_params import ResendTeamInvitationParams
8
+ from ...models.resend_team_invitation_response import ResendTeamInvitationResponse
9
+ from ...types import Response
10
+
11
+
12
+ def _get_kwargs(
13
+ slug: str,
14
+ *,
15
+ client: AuthenticatedClient,
16
+ json_body: ResendTeamInvitationParams,
17
+ ) -> Dict[str, Any]:
18
+ url = "{}/teams/{slug}/invites/resend".format(client.base_url, slug=slug)
19
+
20
+ headers: Dict[str, str] = client.get_headers()
21
+ cookies: Dict[str, Any] = client.get_cookies()
22
+
23
+ json_json_body = json_body.to_dict()
24
+
25
+ return {
26
+ "method": "post",
27
+ "url": url,
28
+ "headers": headers,
29
+ "cookies": cookies,
30
+ "timeout": client.get_timeout(),
31
+ "json": json_json_body,
32
+ }
33
+
34
+
35
+ def _parse_response(
36
+ *, response: httpx.Response
37
+ ) -> Optional[ResendTeamInvitationResponse]:
38
+ if response.status_code == 200:
39
+ response_200 = ResendTeamInvitationResponse.from_dict(response.json())
40
+
41
+ return response_200
42
+ return None
43
+
44
+
45
+ def _build_response(
46
+ *, response: httpx.Response
47
+ ) -> Response[ResendTeamInvitationResponse]:
48
+ return Response(
49
+ status_code=HTTPStatus(response.status_code),
50
+ content=response.content,
51
+ headers=response.headers,
52
+ parsed=_parse_response(response=response),
53
+ )
54
+
55
+
56
+ def sync_detailed(
57
+ slug: str,
58
+ *,
59
+ client: AuthenticatedClient,
60
+ json_body: ResendTeamInvitationParams,
61
+ ) -> Response[ResendTeamInvitationResponse]:
62
+ """Resend Team Invitation
63
+
64
+ Resend a team invitation to a user if they need a reminder or if they lost it
65
+
66
+ Args:
67
+ slug (str): The slug of the team to invite someone to
68
+ json_body (ResendTeamInvitationParams):
69
+
70
+ Returns:
71
+ Response[ResendTeamInvitationResponse]
72
+ """
73
+
74
+ kwargs = _get_kwargs(
75
+ slug=slug,
76
+ client=client,
77
+ json_body=json_body,
78
+ )
79
+
80
+ response = httpx.request(
81
+ verify=client.verify_ssl,
82
+ **kwargs,
83
+ )
84
+
85
+ return _build_response(response=response)
86
+
87
+
88
+ def sync(
89
+ slug: str,
90
+ *,
91
+ client: AuthenticatedClient,
92
+ json_body: ResendTeamInvitationParams,
93
+ ) -> Optional[ResendTeamInvitationResponse]:
94
+ """Resend Team Invitation
95
+
96
+ Resend a team invitation to a user if they need a reminder or if they lost it
97
+
98
+ Args:
99
+ slug (str): The slug of the team to invite someone to
100
+ json_body (ResendTeamInvitationParams):
101
+
102
+ Returns:
103
+ Response[ResendTeamInvitationResponse]
104
+ """
105
+
106
+ return sync_detailed(
107
+ slug=slug,
108
+ client=client,
109
+ json_body=json_body,
110
+ ).parsed
111
+
112
+
113
+ async def asyncio_detailed(
114
+ slug: str,
115
+ *,
116
+ client: AuthenticatedClient,
117
+ json_body: ResendTeamInvitationParams,
118
+ ) -> Response[ResendTeamInvitationResponse]:
119
+ """Resend Team Invitation
120
+
121
+ Resend a team invitation to a user if they need a reminder or if they lost it
122
+
123
+ Args:
124
+ slug (str): The slug of the team to invite someone to
125
+ json_body (ResendTeamInvitationParams):
126
+
127
+ Returns:
128
+ Response[ResendTeamInvitationResponse]
129
+ """
130
+
131
+ kwargs = _get_kwargs(
132
+ slug=slug,
133
+ client=client,
134
+ json_body=json_body,
135
+ )
136
+
137
+ async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
138
+ response = await _client.request(**kwargs)
139
+
140
+ return _build_response(response=response)
141
+
142
+
143
+ async def asyncio(
144
+ slug: str,
145
+ *,
146
+ client: AuthenticatedClient,
147
+ json_body: ResendTeamInvitationParams,
148
+ ) -> Optional[ResendTeamInvitationResponse]:
149
+ """Resend Team Invitation
150
+
151
+ Resend a team invitation to a user if they need a reminder or if they lost it
152
+
153
+ Args:
154
+ slug (str): The slug of the team to invite someone to
155
+ json_body (ResendTeamInvitationParams):
156
+
157
+ Returns:
158
+ Response[ResendTeamInvitationResponse]
159
+ """
160
+
161
+ return (
162
+ await asyncio_detailed(
163
+ slug=slug,
164
+ client=client,
165
+ json_body=json_body,
166
+ )
167
+ ).parsed
@@ -0,0 +1,176 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict, Optional, Union
3
+
4
+ import httpx
5
+
6
+ from ...client import AuthenticatedClient
7
+ from ...models.error_model import ErrorModel
8
+ from ...models.run_app_params import RunAppParams
9
+ from ...models.run_app_response import RunAppResponse
10
+ from ...types import Response
11
+
12
+
13
+ def _get_kwargs(
14
+ name: str,
15
+ *,
16
+ client: AuthenticatedClient,
17
+ json_body: RunAppParams,
18
+ ) -> Dict[str, Any]:
19
+ url = "{}/apps/{name}/runs".format(client.base_url, name=name)
20
+
21
+ headers: Dict[str, str] = client.get_headers()
22
+ cookies: Dict[str, Any] = client.get_cookies()
23
+
24
+ json_json_body = json_body.to_dict()
25
+
26
+ return {
27
+ "method": "post",
28
+ "url": url,
29
+ "headers": headers,
30
+ "cookies": cookies,
31
+ "timeout": client.get_timeout(),
32
+ "json": json_json_body,
33
+ }
34
+
35
+
36
+ def _parse_response(
37
+ *, response: httpx.Response
38
+ ) -> Optional[Union[ErrorModel, RunAppResponse]]:
39
+ if response.status_code == 200:
40
+ response_200 = RunAppResponse.from_dict(response.json())
41
+
42
+ return response_200
43
+ if response.status_code == 201:
44
+ response_201 = RunAppResponse.from_dict(response.json())
45
+
46
+ return response_201
47
+ if response.status_code == 401:
48
+ response_401 = ErrorModel.from_dict(response.json())
49
+
50
+ return response_401
51
+ return None
52
+
53
+
54
+ def _build_response(
55
+ *, response: httpx.Response
56
+ ) -> Response[Union[ErrorModel, RunAppResponse]]:
57
+ return Response(
58
+ status_code=HTTPStatus(response.status_code),
59
+ content=response.content,
60
+ headers=response.headers,
61
+ parsed=_parse_response(response=response),
62
+ )
63
+
64
+
65
+ def sync_detailed(
66
+ name: str,
67
+ *,
68
+ client: AuthenticatedClient,
69
+ json_body: RunAppParams,
70
+ ) -> Response[Union[ErrorModel, RunAppResponse]]:
71
+ """Run app
72
+
73
+ Runs an app with the supplied parameters.
74
+
75
+ Args:
76
+ name (str): The name of the app to fetch runs for.
77
+ json_body (RunAppParams):
78
+
79
+ Returns:
80
+ Response[Union[ErrorModel, RunAppResponse]]
81
+ """
82
+
83
+ kwargs = _get_kwargs(
84
+ name=name,
85
+ client=client,
86
+ json_body=json_body,
87
+ )
88
+
89
+ response = httpx.request(
90
+ verify=client.verify_ssl,
91
+ **kwargs,
92
+ )
93
+
94
+ return _build_response(response=response)
95
+
96
+
97
+ def sync(
98
+ name: str,
99
+ *,
100
+ client: AuthenticatedClient,
101
+ json_body: RunAppParams,
102
+ ) -> Optional[Union[ErrorModel, RunAppResponse]]:
103
+ """Run app
104
+
105
+ Runs an app with the supplied parameters.
106
+
107
+ Args:
108
+ name (str): The name of the app to fetch runs for.
109
+ json_body (RunAppParams):
110
+
111
+ Returns:
112
+ Response[Union[ErrorModel, RunAppResponse]]
113
+ """
114
+
115
+ return sync_detailed(
116
+ name=name,
117
+ client=client,
118
+ json_body=json_body,
119
+ ).parsed
120
+
121
+
122
+ async def asyncio_detailed(
123
+ name: str,
124
+ *,
125
+ client: AuthenticatedClient,
126
+ json_body: RunAppParams,
127
+ ) -> Response[Union[ErrorModel, RunAppResponse]]:
128
+ """Run app
129
+
130
+ Runs an app with the supplied parameters.
131
+
132
+ Args:
133
+ name (str): The name of the app to fetch runs for.
134
+ json_body (RunAppParams):
135
+
136
+ Returns:
137
+ Response[Union[ErrorModel, RunAppResponse]]
138
+ """
139
+
140
+ kwargs = _get_kwargs(
141
+ name=name,
142
+ client=client,
143
+ json_body=json_body,
144
+ )
145
+
146
+ async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
147
+ response = await _client.request(**kwargs)
148
+
149
+ return _build_response(response=response)
150
+
151
+
152
+ async def asyncio(
153
+ name: str,
154
+ *,
155
+ client: AuthenticatedClient,
156
+ json_body: RunAppParams,
157
+ ) -> Optional[Union[ErrorModel, RunAppResponse]]:
158
+ """Run app
159
+
160
+ Runs an app with the supplied parameters.
161
+
162
+ Args:
163
+ name (str): The name of the app to fetch runs for.
164
+ json_body (RunAppParams):
165
+
166
+ Returns:
167
+ Response[Union[ErrorModel, RunAppResponse]]
168
+ """
169
+
170
+ return (
171
+ await asyncio_detailed(
172
+ name=name,
173
+ client=client,
174
+ json_body=json_body,
175
+ )
176
+ ).parsed
@@ -0,0 +1,100 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict
3
+
4
+ import httpx
5
+
6
+ from ...client import AuthenticatedClient
7
+ from ...types import Response
8
+
9
+
10
+ def _get_kwargs(
11
+ name: str,
12
+ seq: int,
13
+ *,
14
+ client: AuthenticatedClient,
15
+ ) -> Dict[str, Any]:
16
+ url = "{}/apps/{name}/runs/{seq}/logs/stream".format(
17
+ client.base_url, name=name, seq=seq
18
+ )
19
+
20
+ headers: Dict[str, str] = client.get_headers()
21
+ cookies: Dict[str, Any] = client.get_cookies()
22
+
23
+ return {
24
+ "method": "get",
25
+ "url": url,
26
+ "headers": headers,
27
+ "cookies": cookies,
28
+ "timeout": client.get_timeout(),
29
+ }
30
+
31
+
32
+ def _build_response(*, response: httpx.Response) -> Response[Any]:
33
+ return Response(
34
+ status_code=HTTPStatus(response.status_code),
35
+ content=response.content,
36
+ headers=response.headers,
37
+ parsed=None,
38
+ )
39
+
40
+
41
+ def sync_detailed(
42
+ name: str,
43
+ seq: int,
44
+ *,
45
+ client: AuthenticatedClient,
46
+ ) -> Response[Any]:
47
+ """Stream logs for a specific app run
48
+
49
+ Streams the logs associated with a particular run of an app in real-time.
50
+
51
+ Args:
52
+ name (str): The name of the app to get logs for.
53
+ seq (int): The sequence number of the run to get logs for.
54
+
55
+ Returns:
56
+ Response[Any]
57
+ """
58
+
59
+ kwargs = _get_kwargs(
60
+ name=name,
61
+ seq=seq,
62
+ client=client,
63
+ )
64
+
65
+ response = httpx.request(
66
+ verify=client.verify_ssl,
67
+ **kwargs,
68
+ )
69
+
70
+ return _build_response(response=response)
71
+
72
+
73
+ async def asyncio_detailed(
74
+ name: str,
75
+ seq: int,
76
+ *,
77
+ client: AuthenticatedClient,
78
+ ) -> Response[Any]:
79
+ """Stream logs for a specific app run
80
+
81
+ Streams the logs associated with a particular run of an app in real-time.
82
+
83
+ Args:
84
+ name (str): The name of the app to get logs for.
85
+ seq (int): The sequence number of the run to get logs for.
86
+
87
+ Returns:
88
+ Response[Any]
89
+ """
90
+
91
+ kwargs = _get_kwargs(
92
+ name=name,
93
+ seq=seq,
94
+ client=client,
95
+ )
96
+
97
+ async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
98
+ response = await _client.request(**kwargs)
99
+
100
+ return _build_response(response=response)
@@ -0,0 +1,163 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict, Optional
3
+
4
+ import httpx
5
+
6
+ from ...client import AuthenticatedClient
7
+ from ...models.update_account_slug_params import UpdateAccountSlugParams
8
+ from ...models.update_account_slug_response import UpdateAccountSlugResponse
9
+ from ...types import Response
10
+
11
+
12
+ def _get_kwargs(
13
+ slug: str,
14
+ *,
15
+ client: AuthenticatedClient,
16
+ json_body: UpdateAccountSlugParams,
17
+ ) -> Dict[str, Any]:
18
+ url = "{}/accounts/{slug}".format(client.base_url, slug=slug)
19
+
20
+ headers: Dict[str, str] = client.get_headers()
21
+ cookies: Dict[str, Any] = client.get_cookies()
22
+
23
+ json_json_body = json_body.to_dict()
24
+
25
+ return {
26
+ "method": "put",
27
+ "url": url,
28
+ "headers": headers,
29
+ "cookies": cookies,
30
+ "timeout": client.get_timeout(),
31
+ "json": json_json_body,
32
+ }
33
+
34
+
35
+ def _parse_response(*, response: httpx.Response) -> Optional[UpdateAccountSlugResponse]:
36
+ if response.status_code == 200:
37
+ response_200 = UpdateAccountSlugResponse.from_dict(response.json())
38
+
39
+ return response_200
40
+ return None
41
+
42
+
43
+ def _build_response(*, response: httpx.Response) -> Response[UpdateAccountSlugResponse]:
44
+ return Response(
45
+ status_code=HTTPStatus(response.status_code),
46
+ content=response.content,
47
+ headers=response.headers,
48
+ parsed=_parse_response(response=response),
49
+ )
50
+
51
+
52
+ def sync_detailed(
53
+ slug: str,
54
+ *,
55
+ client: AuthenticatedClient,
56
+ json_body: UpdateAccountSlugParams,
57
+ ) -> Response[UpdateAccountSlugResponse]:
58
+ """Update account slug
59
+
60
+ Update the slug for an account
61
+
62
+ Args:
63
+ slug (str): The slug of the account to update
64
+ json_body (UpdateAccountSlugParams):
65
+
66
+ Returns:
67
+ Response[UpdateAccountSlugResponse]
68
+ """
69
+
70
+ kwargs = _get_kwargs(
71
+ slug=slug,
72
+ client=client,
73
+ json_body=json_body,
74
+ )
75
+
76
+ response = httpx.request(
77
+ verify=client.verify_ssl,
78
+ **kwargs,
79
+ )
80
+
81
+ return _build_response(response=response)
82
+
83
+
84
+ def sync(
85
+ slug: str,
86
+ *,
87
+ client: AuthenticatedClient,
88
+ json_body: UpdateAccountSlugParams,
89
+ ) -> Optional[UpdateAccountSlugResponse]:
90
+ """Update account slug
91
+
92
+ Update the slug for an account
93
+
94
+ Args:
95
+ slug (str): The slug of the account to update
96
+ json_body (UpdateAccountSlugParams):
97
+
98
+ Returns:
99
+ Response[UpdateAccountSlugResponse]
100
+ """
101
+
102
+ return sync_detailed(
103
+ slug=slug,
104
+ client=client,
105
+ json_body=json_body,
106
+ ).parsed
107
+
108
+
109
+ async def asyncio_detailed(
110
+ slug: str,
111
+ *,
112
+ client: AuthenticatedClient,
113
+ json_body: UpdateAccountSlugParams,
114
+ ) -> Response[UpdateAccountSlugResponse]:
115
+ """Update account slug
116
+
117
+ Update the slug for an account
118
+
119
+ Args:
120
+ slug (str): The slug of the account to update
121
+ json_body (UpdateAccountSlugParams):
122
+
123
+ Returns:
124
+ Response[UpdateAccountSlugResponse]
125
+ """
126
+
127
+ kwargs = _get_kwargs(
128
+ slug=slug,
129
+ client=client,
130
+ json_body=json_body,
131
+ )
132
+
133
+ async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
134
+ response = await _client.request(**kwargs)
135
+
136
+ return _build_response(response=response)
137
+
138
+
139
+ async def asyncio(
140
+ slug: str,
141
+ *,
142
+ client: AuthenticatedClient,
143
+ json_body: UpdateAccountSlugParams,
144
+ ) -> Optional[UpdateAccountSlugResponse]:
145
+ """Update account slug
146
+
147
+ Update the slug for an account
148
+
149
+ Args:
150
+ slug (str): The slug of the account to update
151
+ json_body (UpdateAccountSlugParams):
152
+
153
+ Returns:
154
+ Response[UpdateAccountSlugResponse]
155
+ """
156
+
157
+ return (
158
+ await asyncio_detailed(
159
+ slug=slug,
160
+ client=client,
161
+ json_body=json_body,
162
+ )
163
+ ).parsed