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,66 @@
1
+ import datetime
2
+ from typing import TYPE_CHECKING, Any, Dict, Type, TypeVar, Union
3
+
4
+ import attr
5
+ from dateutil.parser import isoparse
6
+
7
+ from ..types import UNSET, Unset
8
+
9
+ if TYPE_CHECKING:
10
+ from ..models.session import Session
11
+
12
+
13
+ T = TypeVar("T", bound="RefreshSessionResponse")
14
+
15
+
16
+ @attr.s(auto_attribs=True)
17
+ class RefreshSessionResponse:
18
+ """
19
+ Attributes:
20
+ refreshed_at (datetime.datetime): A timestamp that indicates the last time the session data was refreshed.
21
+ session (Session):
22
+ schema (Union[Unset, str]): A URL to the JSON Schema for this object. Example:
23
+ http://localhost:8081/v1/schemas/RefreshSessionResponse.json.
24
+ """
25
+
26
+ refreshed_at: datetime.datetime
27
+ session: "Session"
28
+ schema: Union[Unset, str] = UNSET
29
+
30
+ def to_dict(self) -> Dict[str, Any]:
31
+ refreshed_at = self.refreshed_at.isoformat()
32
+
33
+ session = self.session.to_dict()
34
+
35
+ schema = self.schema
36
+
37
+ field_dict: Dict[str, Any] = {}
38
+ field_dict.update(
39
+ {
40
+ "refreshed_at": refreshed_at,
41
+ "session": session,
42
+ }
43
+ )
44
+ if schema is not UNSET:
45
+ field_dict["$schema"] = schema
46
+
47
+ return field_dict
48
+
49
+ @classmethod
50
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
51
+ from ..models.session import Session
52
+
53
+ d = src_dict.copy()
54
+ refreshed_at = isoparse(d.pop("refreshed_at"))
55
+
56
+ session = Session.from_dict(d.pop("session"))
57
+
58
+ schema = d.pop("$schema", UNSET)
59
+
60
+ refresh_session_response = cls(
61
+ refreshed_at=refreshed_at,
62
+ session=session,
63
+ schema=schema,
64
+ )
65
+
66
+ return refresh_session_response
@@ -0,0 +1,49 @@
1
+ from typing import Any, Dict, Type, TypeVar, Union
2
+
3
+ import attr
4
+
5
+ from ..types import UNSET, Unset
6
+
7
+ T = TypeVar("T", bound="RemoveTeamMemberParams")
8
+
9
+
10
+ @attr.s(auto_attribs=True)
11
+ class RemoveTeamMemberParams:
12
+ """
13
+ Attributes:
14
+ email (str): The email address of the team member to remove
15
+ schema (Union[Unset, str]): A URL to the JSON Schema for this object. Example:
16
+ http://localhost:8081/v1/schemas/RemoveTeamMemberParams.json.
17
+ """
18
+
19
+ email: str
20
+ schema: Union[Unset, str] = UNSET
21
+
22
+ def to_dict(self) -> Dict[str, Any]:
23
+ email = self.email
24
+ schema = self.schema
25
+
26
+ field_dict: Dict[str, Any] = {}
27
+ field_dict.update(
28
+ {
29
+ "email": email,
30
+ }
31
+ )
32
+ if schema is not UNSET:
33
+ field_dict["$schema"] = schema
34
+
35
+ return field_dict
36
+
37
+ @classmethod
38
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
39
+ d = src_dict.copy()
40
+ email = d.pop("email")
41
+
42
+ schema = d.pop("$schema", UNSET)
43
+
44
+ remove_team_member_params = cls(
45
+ email=email,
46
+ schema=schema,
47
+ )
48
+
49
+ return remove_team_member_params
@@ -0,0 +1,56 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, Type, TypeVar, Union
2
+
3
+ import attr
4
+
5
+ from ..types import UNSET, Unset
6
+
7
+ if TYPE_CHECKING:
8
+ from ..models.user import User
9
+
10
+
11
+ T = TypeVar("T", bound="RemoveTeamMemberResponse")
12
+
13
+
14
+ @attr.s(auto_attribs=True)
15
+ class RemoveTeamMemberResponse:
16
+ """
17
+ Attributes:
18
+ team_member (User):
19
+ schema (Union[Unset, str]): A URL to the JSON Schema for this object. Example:
20
+ http://localhost:8081/v1/schemas/RemoveTeamMemberResponse.json.
21
+ """
22
+
23
+ team_member: "User"
24
+ schema: Union[Unset, str] = UNSET
25
+
26
+ def to_dict(self) -> Dict[str, Any]:
27
+ team_member = self.team_member.to_dict()
28
+
29
+ schema = self.schema
30
+
31
+ field_dict: Dict[str, Any] = {}
32
+ field_dict.update(
33
+ {
34
+ "team_member": team_member,
35
+ }
36
+ )
37
+ if schema is not UNSET:
38
+ field_dict["$schema"] = schema
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
44
+ from ..models.user import User
45
+
46
+ d = src_dict.copy()
47
+ team_member = User.from_dict(d.pop("team_member"))
48
+
49
+ schema = d.pop("$schema", UNSET)
50
+
51
+ remove_team_member_response = cls(
52
+ team_member=team_member,
53
+ schema=schema,
54
+ )
55
+
56
+ return remove_team_member_response
@@ -0,0 +1,57 @@
1
+ from typing import Any, Dict, Type, TypeVar, Union
2
+
3
+ import attr
4
+
5
+ from ..types import UNSET, Unset
6
+
7
+ T = TypeVar("T", bound="ResendTeamInvitationParams")
8
+
9
+
10
+ @attr.s(auto_attribs=True)
11
+ class ResendTeamInvitationParams:
12
+ """
13
+ Attributes:
14
+ email (str): The email address of team invitation to resend
15
+ schema (Union[Unset, str]): A URL to the JSON Schema for this object. Example:
16
+ http://localhost:8081/v1/schemas/ResendTeamInvitationParams.json.
17
+ message (Union[Unset, str]): Optional message to include in the invite email
18
+ """
19
+
20
+ email: str
21
+ schema: Union[Unset, str] = UNSET
22
+ message: Union[Unset, str] = UNSET
23
+
24
+ def to_dict(self) -> Dict[str, Any]:
25
+ email = self.email
26
+ schema = self.schema
27
+ message = self.message
28
+
29
+ field_dict: Dict[str, Any] = {}
30
+ field_dict.update(
31
+ {
32
+ "email": email,
33
+ }
34
+ )
35
+ if schema is not UNSET:
36
+ field_dict["$schema"] = schema
37
+ if message is not UNSET:
38
+ field_dict["message"] = message
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
44
+ d = src_dict.copy()
45
+ email = d.pop("email")
46
+
47
+ schema = d.pop("$schema", UNSET)
48
+
49
+ message = d.pop("message", UNSET)
50
+
51
+ resend_team_invitation_params = cls(
52
+ email=email,
53
+ schema=schema,
54
+ message=message,
55
+ )
56
+
57
+ return resend_team_invitation_params
@@ -0,0 +1,56 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, Type, TypeVar, Union
2
+
3
+ import attr
4
+
5
+ from ..types import UNSET, Unset
6
+
7
+ if TYPE_CHECKING:
8
+ from ..models.team_invitation import TeamInvitation
9
+
10
+
11
+ T = TypeVar("T", bound="ResendTeamInvitationResponse")
12
+
13
+
14
+ @attr.s(auto_attribs=True)
15
+ class ResendTeamInvitationResponse:
16
+ """
17
+ Attributes:
18
+ team_invitation (TeamInvitation):
19
+ schema (Union[Unset, str]): A URL to the JSON Schema for this object. Example:
20
+ http://localhost:8081/v1/schemas/ResendTeamInvitationResponse.json.
21
+ """
22
+
23
+ team_invitation: "TeamInvitation"
24
+ schema: Union[Unset, str] = UNSET
25
+
26
+ def to_dict(self) -> Dict[str, Any]:
27
+ team_invitation = self.team_invitation.to_dict()
28
+
29
+ schema = self.schema
30
+
31
+ field_dict: Dict[str, Any] = {}
32
+ field_dict.update(
33
+ {
34
+ "team_invitation": team_invitation,
35
+ }
36
+ )
37
+ if schema is not UNSET:
38
+ field_dict["$schema"] = schema
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
44
+ from ..models.team_invitation import TeamInvitation
45
+
46
+ d = src_dict.copy()
47
+ team_invitation = TeamInvitation.from_dict(d.pop("team_invitation"))
48
+
49
+ schema = d.pop("$schema", UNSET)
50
+
51
+ resend_team_invitation_response = cls(
52
+ team_invitation=team_invitation,
53
+ schema=schema,
54
+ )
55
+
56
+ return resend_team_invitation_response
@@ -0,0 +1,129 @@
1
+ import datetime
2
+ from typing import Any, Dict, Optional, Type, TypeVar
3
+
4
+ import attr
5
+ from dateutil.parser import isoparse
6
+
7
+ T = TypeVar("T", bound="Run")
8
+
9
+
10
+ @attr.s(auto_attribs=True)
11
+ class Run:
12
+ """
13
+ Attributes:
14
+ app_name (str):
15
+ created_at (datetime.datetime):
16
+ environment (str):
17
+ number (int):
18
+ run_id (str):
19
+ scheduled_at (datetime.datetime):
20
+ status (str):
21
+ status_group (str):
22
+ cancelled_at (Optional[datetime.datetime]):
23
+ ended_at (Optional[datetime.datetime]):
24
+ started_at (Optional[datetime.datetime]):
25
+ """
26
+
27
+ app_name: str
28
+ created_at: datetime.datetime
29
+ environment: str
30
+ number: int
31
+ run_id: str
32
+ scheduled_at: datetime.datetime
33
+ status: str
34
+ status_group: str
35
+ cancelled_at: Optional[datetime.datetime]
36
+ ended_at: Optional[datetime.datetime]
37
+ started_at: Optional[datetime.datetime]
38
+
39
+ def to_dict(self) -> Dict[str, Any]:
40
+ app_name = self.app_name
41
+ created_at = self.created_at.isoformat()
42
+
43
+ environment = self.environment
44
+ number = self.number
45
+ run_id = self.run_id
46
+ scheduled_at = self.scheduled_at.isoformat()
47
+
48
+ status = self.status
49
+ status_group = self.status_group
50
+ cancelled_at = self.cancelled_at.isoformat() if self.cancelled_at else None
51
+
52
+ ended_at = self.ended_at.isoformat() if self.ended_at else None
53
+
54
+ started_at = self.started_at.isoformat() if self.started_at else None
55
+
56
+ field_dict: Dict[str, Any] = {}
57
+ field_dict.update(
58
+ {
59
+ "app_name": app_name,
60
+ "created_at": created_at,
61
+ "environment": environment,
62
+ "number": number,
63
+ "run_id": run_id,
64
+ "scheduled_at": scheduled_at,
65
+ "status": status,
66
+ "status_group": status_group,
67
+ "cancelled_at": cancelled_at,
68
+ "ended_at": ended_at,
69
+ "started_at": started_at,
70
+ }
71
+ )
72
+
73
+ return field_dict
74
+
75
+ @classmethod
76
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
77
+ d = src_dict.copy()
78
+ app_name = d.pop("app_name")
79
+
80
+ created_at = isoparse(d.pop("created_at"))
81
+
82
+ environment = d.pop("environment")
83
+
84
+ number = d.pop("number")
85
+
86
+ run_id = d.pop("run_id")
87
+
88
+ scheduled_at = isoparse(d.pop("scheduled_at"))
89
+
90
+ status = d.pop("status")
91
+
92
+ status_group = d.pop("status_group")
93
+
94
+ _cancelled_at = d.pop("cancelled_at")
95
+ cancelled_at: Optional[datetime.datetime]
96
+ if _cancelled_at is None:
97
+ cancelled_at = None
98
+ else:
99
+ cancelled_at = isoparse(_cancelled_at)
100
+
101
+ _ended_at = d.pop("ended_at")
102
+ ended_at: Optional[datetime.datetime]
103
+ if _ended_at is None:
104
+ ended_at = None
105
+ else:
106
+ ended_at = isoparse(_ended_at)
107
+
108
+ _started_at = d.pop("started_at")
109
+ started_at: Optional[datetime.datetime]
110
+ if _started_at is None:
111
+ started_at = None
112
+ else:
113
+ started_at = isoparse(_started_at)
114
+
115
+ run = cls(
116
+ app_name=app_name,
117
+ created_at=created_at,
118
+ environment=environment,
119
+ number=number,
120
+ run_id=run_id,
121
+ scheduled_at=scheduled_at,
122
+ status=status,
123
+ status_group=status_group,
124
+ cancelled_at=cancelled_at,
125
+ ended_at=ended_at,
126
+ started_at=started_at,
127
+ )
128
+
129
+ return run
@@ -0,0 +1,72 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, Type, TypeVar, Union
2
+
3
+ import attr
4
+
5
+ from ..types import UNSET, Unset
6
+
7
+ if TYPE_CHECKING:
8
+ from ..models.run_app_params_parameters import RunAppParamsParameters
9
+
10
+
11
+ T = TypeVar("T", bound="RunAppParams")
12
+
13
+
14
+ @attr.s(auto_attribs=True)
15
+ class RunAppParams:
16
+ """
17
+ Attributes:
18
+ environment (str): The environment to run this app in.
19
+ parameters (RunAppParamsParameters): The parameters to pass into this app.
20
+ schema (Union[Unset, str]): A URL to the JSON Schema for this object. Example:
21
+ http://localhost:8081/v1/schemas/RunAppParams.json.
22
+ parent_run_id (Union[Unset, None, str]): The ID of the run that invoked this run, if relevant. Should be null,
23
+ if none.
24
+ """
25
+
26
+ environment: str
27
+ parameters: "RunAppParamsParameters"
28
+ schema: Union[Unset, str] = UNSET
29
+ parent_run_id: Union[Unset, None, str] = UNSET
30
+
31
+ def to_dict(self) -> Dict[str, Any]:
32
+ environment = self.environment
33
+ parameters = self.parameters.to_dict()
34
+
35
+ schema = self.schema
36
+ parent_run_id = self.parent_run_id
37
+
38
+ field_dict: Dict[str, Any] = {}
39
+ field_dict.update(
40
+ {
41
+ "environment": environment,
42
+ "parameters": parameters,
43
+ }
44
+ )
45
+ if schema is not UNSET:
46
+ field_dict["$schema"] = schema
47
+ if parent_run_id is not UNSET:
48
+ field_dict["parent_run_id"] = parent_run_id
49
+
50
+ return field_dict
51
+
52
+ @classmethod
53
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
54
+ from ..models.run_app_params_parameters import RunAppParamsParameters
55
+
56
+ d = src_dict.copy()
57
+ environment = d.pop("environment")
58
+
59
+ parameters = RunAppParamsParameters.from_dict(d.pop("parameters"))
60
+
61
+ schema = d.pop("$schema", UNSET)
62
+
63
+ parent_run_id = d.pop("parent_run_id", UNSET)
64
+
65
+ run_app_params = cls(
66
+ environment=environment,
67
+ parameters=parameters,
68
+ schema=schema,
69
+ parent_run_id=parent_run_id,
70
+ )
71
+
72
+ return run_app_params
@@ -0,0 +1,43 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ import attr
4
+
5
+ T = TypeVar("T", bound="RunAppParamsParameters")
6
+
7
+
8
+ @attr.s(auto_attribs=True)
9
+ class RunAppParamsParameters:
10
+ """The parameters to pass into this app."""
11
+
12
+ additional_properties: Dict[str, str] = attr.ib(init=False, factory=dict)
13
+
14
+ def to_dict(self) -> Dict[str, Any]:
15
+ field_dict: Dict[str, Any] = {}
16
+ field_dict.update(self.additional_properties)
17
+ field_dict.update({})
18
+
19
+ return field_dict
20
+
21
+ @classmethod
22
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
23
+ d = src_dict.copy()
24
+ run_app_params_parameters = cls()
25
+
26
+ run_app_params_parameters.additional_properties = d
27
+ return run_app_params_parameters
28
+
29
+ @property
30
+ def additional_keys(self) -> List[str]:
31
+ return list(self.additional_properties.keys())
32
+
33
+ def __getitem__(self, key: str) -> str:
34
+ return self.additional_properties[key]
35
+
36
+ def __setitem__(self, key: str, value: str) -> None:
37
+ self.additional_properties[key] = value
38
+
39
+ def __delitem__(self, key: str) -> None:
40
+ del self.additional_properties[key]
41
+
42
+ def __contains__(self, key: str) -> bool:
43
+ return key in self.additional_properties
@@ -0,0 +1,56 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, Type, TypeVar, Union
2
+
3
+ import attr
4
+
5
+ from ..types import UNSET, Unset
6
+
7
+ if TYPE_CHECKING:
8
+ from ..models.run import Run
9
+
10
+
11
+ T = TypeVar("T", bound="RunAppResponse")
12
+
13
+
14
+ @attr.s(auto_attribs=True)
15
+ class RunAppResponse:
16
+ """
17
+ Attributes:
18
+ run (Run):
19
+ schema (Union[Unset, str]): A URL to the JSON Schema for this object. Example:
20
+ http://localhost:8081/v1/schemas/RunAppResponse.json.
21
+ """
22
+
23
+ run: "Run"
24
+ schema: Union[Unset, str] = UNSET
25
+
26
+ def to_dict(self) -> Dict[str, Any]:
27
+ run = self.run.to_dict()
28
+
29
+ schema = self.schema
30
+
31
+ field_dict: Dict[str, Any] = {}
32
+ field_dict.update(
33
+ {
34
+ "run": run,
35
+ }
36
+ )
37
+ if schema is not UNSET:
38
+ field_dict["$schema"] = schema
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
44
+ from ..models.run import Run
45
+
46
+ d = src_dict.copy()
47
+ run = Run.from_dict(d.pop("run"))
48
+
49
+ schema = d.pop("$schema", UNSET)
50
+
51
+ run_app_response = cls(
52
+ run=run,
53
+ schema=schema,
54
+ )
55
+
56
+ return run_app_response
@@ -0,0 +1,73 @@
1
+ from typing import Any, Dict, Type, TypeVar
2
+
3
+ import attr
4
+
5
+ T = TypeVar("T", bound="RunResults")
6
+
7
+
8
+ @attr.s(auto_attribs=True)
9
+ class RunResults:
10
+ """
11
+ Attributes:
12
+ cancelled (int):
13
+ crashed (int):
14
+ errored (int):
15
+ exited (int):
16
+ pending (int):
17
+ running (int):
18
+ """
19
+
20
+ cancelled: int
21
+ crashed: int
22
+ errored: int
23
+ exited: int
24
+ pending: int
25
+ running: int
26
+
27
+ def to_dict(self) -> Dict[str, Any]:
28
+ cancelled = self.cancelled
29
+ crashed = self.crashed
30
+ errored = self.errored
31
+ exited = self.exited
32
+ pending = self.pending
33
+ running = self.running
34
+
35
+ field_dict: Dict[str, Any] = {}
36
+ field_dict.update(
37
+ {
38
+ "cancelled": cancelled,
39
+ "crashed": crashed,
40
+ "errored": errored,
41
+ "exited": exited,
42
+ "pending": pending,
43
+ "running": running,
44
+ }
45
+ )
46
+
47
+ return field_dict
48
+
49
+ @classmethod
50
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
51
+ d = src_dict.copy()
52
+ cancelled = d.pop("cancelled")
53
+
54
+ crashed = d.pop("crashed")
55
+
56
+ errored = d.pop("errored")
57
+
58
+ exited = d.pop("exited")
59
+
60
+ pending = d.pop("pending")
61
+
62
+ running = d.pop("running")
63
+
64
+ run_results = cls(
65
+ cancelled=cancelled,
66
+ crashed=crashed,
67
+ errored=errored,
68
+ exited=exited,
69
+ pending=pending,
70
+ running=running,
71
+ )
72
+
73
+ return run_results