robosystems-client 0.2.11__py3-none-any.whl → 0.2.13__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 robosystems-client might be problematic. Click here for more details.

Files changed (72) hide show
  1. robosystems_client/api/agent/auto_select_agent.py +81 -9
  2. robosystems_client/api/agent/execute_specific_agent.py +73 -5
  3. robosystems_client/api/agent/get_agent_metadata.py +1 -1
  4. robosystems_client/api/agent/list_agents.py +1 -1
  5. robosystems_client/api/auth/register_user.py +36 -8
  6. robosystems_client/api/billing/{cancel_subscription.py → cancel_org_subscription.py} +34 -9
  7. robosystems_client/api/billing/create_checkout_session.py +28 -20
  8. robosystems_client/api/billing/get_org_billing_customer.py +189 -0
  9. robosystems_client/api/billing/{get_subscription.py → get_org_subscription.py} +30 -5
  10. robosystems_client/api/billing/{get_upcoming_invoice.py → get_org_upcoming_invoice.py} +68 -22
  11. robosystems_client/api/billing/{list_invoices.py → list_org_invoices.py} +38 -9
  12. robosystems_client/api/billing/{list_subscriptions.py → list_org_subscriptions.py} +64 -22
  13. robosystems_client/api/billing/{update_payment_method.py → update_org_payment_method.py} +34 -9
  14. robosystems_client/api/credits_/list_credit_transactions.py +4 -4
  15. robosystems_client/api/org/__init__.py +1 -0
  16. robosystems_client/api/org/create_org.py +174 -0
  17. robosystems_client/api/{billing/get_billing_customer.py → org/get_org.py} +50 -28
  18. robosystems_client/api/org/list_org_graphs.py +170 -0
  19. robosystems_client/api/{user/get_user_limits.py → org/list_user_orgs.py} +21 -25
  20. robosystems_client/api/org/update_org.py +187 -0
  21. robosystems_client/api/org_members/__init__.py +1 -0
  22. robosystems_client/api/org_members/invite_org_member.py +207 -0
  23. robosystems_client/api/org_members/list_org_members.py +165 -0
  24. robosystems_client/api/org_members/remove_org_member.py +176 -0
  25. robosystems_client/api/org_members/update_org_member_role.py +200 -0
  26. robosystems_client/api/org_usage/__init__.py +1 -0
  27. robosystems_client/api/org_usage/get_org_limits.py +165 -0
  28. robosystems_client/api/org_usage/get_org_usage.py +186 -0
  29. robosystems_client/api/service_offerings/get_service_offerings.py +32 -8
  30. robosystems_client/api/usage/get_graph_usage_analytics.py +4 -4
  31. robosystems_client/extensions/__init__.py +25 -0
  32. robosystems_client/extensions/agent_client.py +526 -0
  33. robosystems_client/extensions/extensions.py +3 -0
  34. robosystems_client/models/__init__.py +44 -6
  35. robosystems_client/models/auth_response.py +35 -0
  36. robosystems_client/models/{user_usage_response_graphs.py → auth_response_org_type_0.py} +6 -6
  37. robosystems_client/models/billing_customer.py +8 -8
  38. robosystems_client/models/checkout_response.py +65 -22
  39. robosystems_client/models/checkout_status_response.py +2 -1
  40. robosystems_client/models/create_checkout_request.py +2 -1
  41. robosystems_client/models/create_checkout_request_resource_config.py +4 -1
  42. robosystems_client/models/create_org_request.py +79 -0
  43. robosystems_client/models/graph_subscription_tier.py +40 -48
  44. robosystems_client/models/graph_subscriptions.py +17 -5
  45. robosystems_client/models/invite_member_request.py +93 -0
  46. robosystems_client/models/list_org_graphs_response_200_item.py +44 -0
  47. robosystems_client/models/org_detail_response.py +174 -0
  48. robosystems_client/models/org_detail_response_graphs_item.py +44 -0
  49. robosystems_client/models/org_detail_response_limits_type_0.py +44 -0
  50. robosystems_client/models/org_detail_response_members_item.py +44 -0
  51. robosystems_client/models/org_limits_response.py +98 -0
  52. robosystems_client/models/org_limits_response_current_usage.py +44 -0
  53. robosystems_client/models/org_list_response.py +82 -0
  54. robosystems_client/models/org_member_list_response.py +90 -0
  55. robosystems_client/models/org_member_response.py +104 -0
  56. robosystems_client/models/org_response.py +121 -0
  57. robosystems_client/models/org_role.py +10 -0
  58. robosystems_client/models/org_type.py +10 -0
  59. robosystems_client/models/org_usage_response.py +146 -0
  60. robosystems_client/models/org_usage_response_daily_trend_item.py +44 -0
  61. robosystems_client/models/org_usage_response_graph_details_item.py +44 -0
  62. robosystems_client/models/org_usage_summary.py +158 -0
  63. robosystems_client/models/repository_subscriptions.py +15 -4
  64. robosystems_client/models/service_offerings_response.py +15 -0
  65. robosystems_client/models/update_member_role_request.py +62 -0
  66. robosystems_client/models/update_org_request.py +103 -0
  67. {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.13.dist-info}/METADATA +1 -1
  68. {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.13.dist-info}/RECORD +70 -37
  69. robosystems_client/models/user_limits_response.py +0 -95
  70. robosystems_client/models/user_usage_response.py +0 -90
  71. {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.13.dist-info}/WHEEL +0 -0
  72. {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.13.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,93 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..models.org_role import OrgRole
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="InviteMemberRequest")
11
+
12
+
13
+ @_attrs_define
14
+ class InviteMemberRequest:
15
+ """Request to invite a member to an organization.
16
+
17
+ Attributes:
18
+ email (str):
19
+ role (Union[None, OrgRole, Unset]): Default: OrgRole.MEMBER.
20
+ """
21
+
22
+ email: str
23
+ role: Union[None, OrgRole, Unset] = OrgRole.MEMBER
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> dict[str, Any]:
27
+ email = self.email
28
+
29
+ role: Union[None, Unset, str]
30
+ if isinstance(self.role, Unset):
31
+ role = UNSET
32
+ elif isinstance(self.role, OrgRole):
33
+ role = self.role.value
34
+ else:
35
+ role = self.role
36
+
37
+ field_dict: dict[str, Any] = {}
38
+ field_dict.update(self.additional_properties)
39
+ field_dict.update(
40
+ {
41
+ "email": email,
42
+ }
43
+ )
44
+ if role is not UNSET:
45
+ field_dict["role"] = role
46
+
47
+ return field_dict
48
+
49
+ @classmethod
50
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
51
+ d = dict(src_dict)
52
+ email = d.pop("email")
53
+
54
+ def _parse_role(data: object) -> Union[None, OrgRole, Unset]:
55
+ if data is None:
56
+ return data
57
+ if isinstance(data, Unset):
58
+ return data
59
+ try:
60
+ if not isinstance(data, str):
61
+ raise TypeError()
62
+ role_type_0 = OrgRole(data)
63
+
64
+ return role_type_0
65
+ except: # noqa: E722
66
+ pass
67
+ return cast(Union[None, OrgRole, Unset], data)
68
+
69
+ role = _parse_role(d.pop("role", UNSET))
70
+
71
+ invite_member_request = cls(
72
+ email=email,
73
+ role=role,
74
+ )
75
+
76
+ invite_member_request.additional_properties = d
77
+ return invite_member_request
78
+
79
+ @property
80
+ def additional_keys(self) -> list[str]:
81
+ return list(self.additional_properties.keys())
82
+
83
+ def __getitem__(self, key: str) -> Any:
84
+ return self.additional_properties[key]
85
+
86
+ def __setitem__(self, key: str, value: Any) -> None:
87
+ self.additional_properties[key] = value
88
+
89
+ def __delitem__(self, key: str) -> None:
90
+ del self.additional_properties[key]
91
+
92
+ def __contains__(self, key: str) -> bool:
93
+ return key in self.additional_properties
@@ -0,0 +1,44 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="ListOrgGraphsResponse200Item")
8
+
9
+
10
+ @_attrs_define
11
+ class ListOrgGraphsResponse200Item:
12
+ """ """
13
+
14
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ list_org_graphs_response_200_item = cls()
26
+
27
+ list_org_graphs_response_200_item.additional_properties = d
28
+ return list_org_graphs_response_200_item
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> Any:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: Any) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -0,0 +1,174 @@
1
+ import datetime
2
+ from collections.abc import Mapping
3
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+ from dateutil.parser import isoparse
8
+
9
+ from ..models.org_role import OrgRole
10
+ from ..models.org_type import OrgType
11
+
12
+ if TYPE_CHECKING:
13
+ from ..models.org_detail_response_graphs_item import OrgDetailResponseGraphsItem
14
+ from ..models.org_detail_response_limits_type_0 import OrgDetailResponseLimitsType0
15
+ from ..models.org_detail_response_members_item import OrgDetailResponseMembersItem
16
+
17
+
18
+ T = TypeVar("T", bound="OrgDetailResponse")
19
+
20
+
21
+ @_attrs_define
22
+ class OrgDetailResponse:
23
+ """Detailed organization response.
24
+
25
+ Attributes:
26
+ id (str):
27
+ name (str):
28
+ org_type (OrgType):
29
+ user_role (OrgRole):
30
+ members (list['OrgDetailResponseMembersItem']):
31
+ graphs (list['OrgDetailResponseGraphsItem']):
32
+ limits (Union['OrgDetailResponseLimitsType0', None]):
33
+ created_at (datetime.datetime):
34
+ updated_at (datetime.datetime):
35
+ """
36
+
37
+ id: str
38
+ name: str
39
+ org_type: OrgType
40
+ user_role: OrgRole
41
+ members: list["OrgDetailResponseMembersItem"]
42
+ graphs: list["OrgDetailResponseGraphsItem"]
43
+ limits: Union["OrgDetailResponseLimitsType0", None]
44
+ created_at: datetime.datetime
45
+ updated_at: datetime.datetime
46
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
47
+
48
+ def to_dict(self) -> dict[str, Any]:
49
+ from ..models.org_detail_response_limits_type_0 import OrgDetailResponseLimitsType0
50
+
51
+ id = self.id
52
+
53
+ name = self.name
54
+
55
+ org_type = self.org_type.value
56
+
57
+ user_role = self.user_role.value
58
+
59
+ members = []
60
+ for members_item_data in self.members:
61
+ members_item = members_item_data.to_dict()
62
+ members.append(members_item)
63
+
64
+ graphs = []
65
+ for graphs_item_data in self.graphs:
66
+ graphs_item = graphs_item_data.to_dict()
67
+ graphs.append(graphs_item)
68
+
69
+ limits: Union[None, dict[str, Any]]
70
+ if isinstance(self.limits, OrgDetailResponseLimitsType0):
71
+ limits = self.limits.to_dict()
72
+ else:
73
+ limits = self.limits
74
+
75
+ created_at = self.created_at.isoformat()
76
+
77
+ updated_at = self.updated_at.isoformat()
78
+
79
+ field_dict: dict[str, Any] = {}
80
+ field_dict.update(self.additional_properties)
81
+ field_dict.update(
82
+ {
83
+ "id": id,
84
+ "name": name,
85
+ "org_type": org_type,
86
+ "user_role": user_role,
87
+ "members": members,
88
+ "graphs": graphs,
89
+ "limits": limits,
90
+ "created_at": created_at,
91
+ "updated_at": updated_at,
92
+ }
93
+ )
94
+
95
+ return field_dict
96
+
97
+ @classmethod
98
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
99
+ from ..models.org_detail_response_graphs_item import OrgDetailResponseGraphsItem
100
+ from ..models.org_detail_response_limits_type_0 import OrgDetailResponseLimitsType0
101
+ from ..models.org_detail_response_members_item import OrgDetailResponseMembersItem
102
+
103
+ d = dict(src_dict)
104
+ id = d.pop("id")
105
+
106
+ name = d.pop("name")
107
+
108
+ org_type = OrgType(d.pop("org_type"))
109
+
110
+ user_role = OrgRole(d.pop("user_role"))
111
+
112
+ members = []
113
+ _members = d.pop("members")
114
+ for members_item_data in _members:
115
+ members_item = OrgDetailResponseMembersItem.from_dict(members_item_data)
116
+
117
+ members.append(members_item)
118
+
119
+ graphs = []
120
+ _graphs = d.pop("graphs")
121
+ for graphs_item_data in _graphs:
122
+ graphs_item = OrgDetailResponseGraphsItem.from_dict(graphs_item_data)
123
+
124
+ graphs.append(graphs_item)
125
+
126
+ def _parse_limits(data: object) -> Union["OrgDetailResponseLimitsType0", None]:
127
+ if data is None:
128
+ return data
129
+ try:
130
+ if not isinstance(data, dict):
131
+ raise TypeError()
132
+ limits_type_0 = OrgDetailResponseLimitsType0.from_dict(data)
133
+
134
+ return limits_type_0
135
+ except: # noqa: E722
136
+ pass
137
+ return cast(Union["OrgDetailResponseLimitsType0", None], data)
138
+
139
+ limits = _parse_limits(d.pop("limits"))
140
+
141
+ created_at = isoparse(d.pop("created_at"))
142
+
143
+ updated_at = isoparse(d.pop("updated_at"))
144
+
145
+ org_detail_response = cls(
146
+ id=id,
147
+ name=name,
148
+ org_type=org_type,
149
+ user_role=user_role,
150
+ members=members,
151
+ graphs=graphs,
152
+ limits=limits,
153
+ created_at=created_at,
154
+ updated_at=updated_at,
155
+ )
156
+
157
+ org_detail_response.additional_properties = d
158
+ return org_detail_response
159
+
160
+ @property
161
+ def additional_keys(self) -> list[str]:
162
+ return list(self.additional_properties.keys())
163
+
164
+ def __getitem__(self, key: str) -> Any:
165
+ return self.additional_properties[key]
166
+
167
+ def __setitem__(self, key: str, value: Any) -> None:
168
+ self.additional_properties[key] = value
169
+
170
+ def __delitem__(self, key: str) -> None:
171
+ del self.additional_properties[key]
172
+
173
+ def __contains__(self, key: str) -> bool:
174
+ return key in self.additional_properties
@@ -0,0 +1,44 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="OrgDetailResponseGraphsItem")
8
+
9
+
10
+ @_attrs_define
11
+ class OrgDetailResponseGraphsItem:
12
+ """ """
13
+
14
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ org_detail_response_graphs_item = cls()
26
+
27
+ org_detail_response_graphs_item.additional_properties = d
28
+ return org_detail_response_graphs_item
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> Any:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: Any) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -0,0 +1,44 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="OrgDetailResponseLimitsType0")
8
+
9
+
10
+ @_attrs_define
11
+ class OrgDetailResponseLimitsType0:
12
+ """ """
13
+
14
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ org_detail_response_limits_type_0 = cls()
26
+
27
+ org_detail_response_limits_type_0.additional_properties = d
28
+ return org_detail_response_limits_type_0
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> Any:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: Any) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -0,0 +1,44 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="OrgDetailResponseMembersItem")
8
+
9
+
10
+ @_attrs_define
11
+ class OrgDetailResponseMembersItem:
12
+ """ """
13
+
14
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ org_detail_response_members_item = cls()
26
+
27
+ org_detail_response_members_item.additional_properties = d
28
+ return org_detail_response_members_item
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> Any:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: Any) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -0,0 +1,98 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ if TYPE_CHECKING:
8
+ from ..models.org_limits_response_current_usage import OrgLimitsResponseCurrentUsage
9
+
10
+
11
+ T = TypeVar("T", bound="OrgLimitsResponse")
12
+
13
+
14
+ @_attrs_define
15
+ class OrgLimitsResponse:
16
+ """Organization limits response.
17
+
18
+ Attributes:
19
+ org_id (str):
20
+ max_graphs (int):
21
+ current_usage (OrgLimitsResponseCurrentUsage):
22
+ warnings (list[str]):
23
+ can_create_graph (bool):
24
+ """
25
+
26
+ org_id: str
27
+ max_graphs: int
28
+ current_usage: "OrgLimitsResponseCurrentUsage"
29
+ warnings: list[str]
30
+ can_create_graph: bool
31
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
32
+
33
+ def to_dict(self) -> dict[str, Any]:
34
+ org_id = self.org_id
35
+
36
+ max_graphs = self.max_graphs
37
+
38
+ current_usage = self.current_usage.to_dict()
39
+
40
+ warnings = self.warnings
41
+
42
+ can_create_graph = self.can_create_graph
43
+
44
+ field_dict: dict[str, Any] = {}
45
+ field_dict.update(self.additional_properties)
46
+ field_dict.update(
47
+ {
48
+ "org_id": org_id,
49
+ "max_graphs": max_graphs,
50
+ "current_usage": current_usage,
51
+ "warnings": warnings,
52
+ "can_create_graph": can_create_graph,
53
+ }
54
+ )
55
+
56
+ return field_dict
57
+
58
+ @classmethod
59
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
60
+ from ..models.org_limits_response_current_usage import OrgLimitsResponseCurrentUsage
61
+
62
+ d = dict(src_dict)
63
+ org_id = d.pop("org_id")
64
+
65
+ max_graphs = d.pop("max_graphs")
66
+
67
+ current_usage = OrgLimitsResponseCurrentUsage.from_dict(d.pop("current_usage"))
68
+
69
+ warnings = cast(list[str], d.pop("warnings"))
70
+
71
+ can_create_graph = d.pop("can_create_graph")
72
+
73
+ org_limits_response = cls(
74
+ org_id=org_id,
75
+ max_graphs=max_graphs,
76
+ current_usage=current_usage,
77
+ warnings=warnings,
78
+ can_create_graph=can_create_graph,
79
+ )
80
+
81
+ org_limits_response.additional_properties = d
82
+ return org_limits_response
83
+
84
+ @property
85
+ def additional_keys(self) -> list[str]:
86
+ return list(self.additional_properties.keys())
87
+
88
+ def __getitem__(self, key: str) -> Any:
89
+ return self.additional_properties[key]
90
+
91
+ def __setitem__(self, key: str, value: Any) -> None:
92
+ self.additional_properties[key] = value
93
+
94
+ def __delitem__(self, key: str) -> None:
95
+ del self.additional_properties[key]
96
+
97
+ def __contains__(self, key: str) -> bool:
98
+ return key in self.additional_properties
@@ -0,0 +1,44 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="OrgLimitsResponseCurrentUsage")
8
+
9
+
10
+ @_attrs_define
11
+ class OrgLimitsResponseCurrentUsage:
12
+ """ """
13
+
14
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ org_limits_response_current_usage = cls()
26
+
27
+ org_limits_response_current_usage.additional_properties = d
28
+ return org_limits_response_current_usage
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> Any:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: Any) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -0,0 +1,82 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ if TYPE_CHECKING:
8
+ from ..models.org_response import OrgResponse
9
+
10
+
11
+ T = TypeVar("T", bound="OrgListResponse")
12
+
13
+
14
+ @_attrs_define
15
+ class OrgListResponse:
16
+ """List of organizations response.
17
+
18
+ Attributes:
19
+ orgs (list['OrgResponse']):
20
+ total (int):
21
+ """
22
+
23
+ orgs: list["OrgResponse"]
24
+ total: int
25
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> dict[str, Any]:
28
+ orgs = []
29
+ for orgs_item_data in self.orgs:
30
+ orgs_item = orgs_item_data.to_dict()
31
+ orgs.append(orgs_item)
32
+
33
+ total = self.total
34
+
35
+ field_dict: dict[str, Any] = {}
36
+ field_dict.update(self.additional_properties)
37
+ field_dict.update(
38
+ {
39
+ "orgs": orgs,
40
+ "total": total,
41
+ }
42
+ )
43
+
44
+ return field_dict
45
+
46
+ @classmethod
47
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
48
+ from ..models.org_response import OrgResponse
49
+
50
+ d = dict(src_dict)
51
+ orgs = []
52
+ _orgs = d.pop("orgs")
53
+ for orgs_item_data in _orgs:
54
+ orgs_item = OrgResponse.from_dict(orgs_item_data)
55
+
56
+ orgs.append(orgs_item)
57
+
58
+ total = d.pop("total")
59
+
60
+ org_list_response = cls(
61
+ orgs=orgs,
62
+ total=total,
63
+ )
64
+
65
+ org_list_response.additional_properties = d
66
+ return org_list_response
67
+
68
+ @property
69
+ def additional_keys(self) -> list[str]:
70
+ return list(self.additional_properties.keys())
71
+
72
+ def __getitem__(self, key: str) -> Any:
73
+ return self.additional_properties[key]
74
+
75
+ def __setitem__(self, key: str, value: Any) -> None:
76
+ self.additional_properties[key] = value
77
+
78
+ def __delitem__(self, key: str) -> None:
79
+ del self.additional_properties[key]
80
+
81
+ def __contains__(self, key: str) -> bool:
82
+ return key in self.additional_properties