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.
- robosystems_client/api/agent/auto_select_agent.py +81 -9
- robosystems_client/api/agent/execute_specific_agent.py +73 -5
- robosystems_client/api/agent/get_agent_metadata.py +1 -1
- robosystems_client/api/agent/list_agents.py +1 -1
- robosystems_client/api/auth/register_user.py +36 -8
- robosystems_client/api/billing/{cancel_subscription.py → cancel_org_subscription.py} +34 -9
- robosystems_client/api/billing/create_checkout_session.py +28 -20
- robosystems_client/api/billing/get_org_billing_customer.py +189 -0
- robosystems_client/api/billing/{get_subscription.py → get_org_subscription.py} +30 -5
- robosystems_client/api/billing/{get_upcoming_invoice.py → get_org_upcoming_invoice.py} +68 -22
- robosystems_client/api/billing/{list_invoices.py → list_org_invoices.py} +38 -9
- robosystems_client/api/billing/{list_subscriptions.py → list_org_subscriptions.py} +64 -22
- robosystems_client/api/billing/{update_payment_method.py → update_org_payment_method.py} +34 -9
- robosystems_client/api/credits_/list_credit_transactions.py +4 -4
- robosystems_client/api/org/__init__.py +1 -0
- robosystems_client/api/org/create_org.py +174 -0
- robosystems_client/api/{billing/get_billing_customer.py → org/get_org.py} +50 -28
- robosystems_client/api/org/list_org_graphs.py +170 -0
- robosystems_client/api/{user/get_user_limits.py → org/list_user_orgs.py} +21 -25
- robosystems_client/api/org/update_org.py +187 -0
- robosystems_client/api/org_members/__init__.py +1 -0
- robosystems_client/api/org_members/invite_org_member.py +207 -0
- robosystems_client/api/org_members/list_org_members.py +165 -0
- robosystems_client/api/org_members/remove_org_member.py +176 -0
- robosystems_client/api/org_members/update_org_member_role.py +200 -0
- robosystems_client/api/org_usage/__init__.py +1 -0
- robosystems_client/api/org_usage/get_org_limits.py +165 -0
- robosystems_client/api/org_usage/get_org_usage.py +186 -0
- robosystems_client/api/service_offerings/get_service_offerings.py +32 -8
- robosystems_client/api/usage/get_graph_usage_analytics.py +4 -4
- robosystems_client/extensions/__init__.py +25 -0
- robosystems_client/extensions/agent_client.py +526 -0
- robosystems_client/extensions/extensions.py +3 -0
- robosystems_client/models/__init__.py +44 -6
- robosystems_client/models/auth_response.py +35 -0
- robosystems_client/models/{user_usage_response_graphs.py → auth_response_org_type_0.py} +6 -6
- robosystems_client/models/billing_customer.py +8 -8
- robosystems_client/models/checkout_response.py +65 -22
- robosystems_client/models/checkout_status_response.py +2 -1
- robosystems_client/models/create_checkout_request.py +2 -1
- robosystems_client/models/create_checkout_request_resource_config.py +4 -1
- robosystems_client/models/create_org_request.py +79 -0
- robosystems_client/models/graph_subscription_tier.py +40 -48
- robosystems_client/models/graph_subscriptions.py +17 -5
- robosystems_client/models/invite_member_request.py +93 -0
- robosystems_client/models/list_org_graphs_response_200_item.py +44 -0
- robosystems_client/models/org_detail_response.py +174 -0
- robosystems_client/models/org_detail_response_graphs_item.py +44 -0
- robosystems_client/models/org_detail_response_limits_type_0.py +44 -0
- robosystems_client/models/org_detail_response_members_item.py +44 -0
- robosystems_client/models/org_limits_response.py +98 -0
- robosystems_client/models/org_limits_response_current_usage.py +44 -0
- robosystems_client/models/org_list_response.py +82 -0
- robosystems_client/models/org_member_list_response.py +90 -0
- robosystems_client/models/org_member_response.py +104 -0
- robosystems_client/models/org_response.py +121 -0
- robosystems_client/models/org_role.py +10 -0
- robosystems_client/models/org_type.py +10 -0
- robosystems_client/models/org_usage_response.py +146 -0
- robosystems_client/models/org_usage_response_daily_trend_item.py +44 -0
- robosystems_client/models/org_usage_response_graph_details_item.py +44 -0
- robosystems_client/models/org_usage_summary.py +158 -0
- robosystems_client/models/repository_subscriptions.py +15 -4
- robosystems_client/models/service_offerings_response.py +15 -0
- robosystems_client/models/update_member_role_request.py +62 -0
- robosystems_client/models/update_org_request.py +103 -0
- {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.13.dist-info}/METADATA +1 -1
- {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.13.dist-info}/RECORD +70 -37
- robosystems_client/models/user_limits_response.py +0 -95
- robosystems_client/models/user_usage_response.py +0 -90
- {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.13.dist-info}/WHEEL +0 -0
- {robosystems_client-0.2.11.dist-info → robosystems_client-0.2.13.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,158 @@
|
|
|
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
|
+
T = TypeVar("T", bound="OrgUsageSummary")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@_attrs_define
|
|
11
|
+
class OrgUsageSummary:
|
|
12
|
+
"""Organization usage summary.
|
|
13
|
+
|
|
14
|
+
Attributes:
|
|
15
|
+
total_credits_used (float):
|
|
16
|
+
total_ai_operations (int):
|
|
17
|
+
total_storage_gb (float):
|
|
18
|
+
total_api_calls (int):
|
|
19
|
+
daily_avg_credits (float):
|
|
20
|
+
daily_avg_api_calls (float):
|
|
21
|
+
projected_monthly_credits (float):
|
|
22
|
+
projected_monthly_api_calls (int):
|
|
23
|
+
credits_limit (Union[None, int]):
|
|
24
|
+
api_calls_limit (Union[None, int]):
|
|
25
|
+
storage_limit_gb (Union[None, int]):
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
total_credits_used: float
|
|
29
|
+
total_ai_operations: int
|
|
30
|
+
total_storage_gb: float
|
|
31
|
+
total_api_calls: int
|
|
32
|
+
daily_avg_credits: float
|
|
33
|
+
daily_avg_api_calls: float
|
|
34
|
+
projected_monthly_credits: float
|
|
35
|
+
projected_monthly_api_calls: int
|
|
36
|
+
credits_limit: Union[None, int]
|
|
37
|
+
api_calls_limit: Union[None, int]
|
|
38
|
+
storage_limit_gb: Union[None, int]
|
|
39
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
40
|
+
|
|
41
|
+
def to_dict(self) -> dict[str, Any]:
|
|
42
|
+
total_credits_used = self.total_credits_used
|
|
43
|
+
|
|
44
|
+
total_ai_operations = self.total_ai_operations
|
|
45
|
+
|
|
46
|
+
total_storage_gb = self.total_storage_gb
|
|
47
|
+
|
|
48
|
+
total_api_calls = self.total_api_calls
|
|
49
|
+
|
|
50
|
+
daily_avg_credits = self.daily_avg_credits
|
|
51
|
+
|
|
52
|
+
daily_avg_api_calls = self.daily_avg_api_calls
|
|
53
|
+
|
|
54
|
+
projected_monthly_credits = self.projected_monthly_credits
|
|
55
|
+
|
|
56
|
+
projected_monthly_api_calls = self.projected_monthly_api_calls
|
|
57
|
+
|
|
58
|
+
credits_limit: Union[None, int]
|
|
59
|
+
credits_limit = self.credits_limit
|
|
60
|
+
|
|
61
|
+
api_calls_limit: Union[None, int]
|
|
62
|
+
api_calls_limit = self.api_calls_limit
|
|
63
|
+
|
|
64
|
+
storage_limit_gb: Union[None, int]
|
|
65
|
+
storage_limit_gb = self.storage_limit_gb
|
|
66
|
+
|
|
67
|
+
field_dict: dict[str, Any] = {}
|
|
68
|
+
field_dict.update(self.additional_properties)
|
|
69
|
+
field_dict.update(
|
|
70
|
+
{
|
|
71
|
+
"total_credits_used": total_credits_used,
|
|
72
|
+
"total_ai_operations": total_ai_operations,
|
|
73
|
+
"total_storage_gb": total_storage_gb,
|
|
74
|
+
"total_api_calls": total_api_calls,
|
|
75
|
+
"daily_avg_credits": daily_avg_credits,
|
|
76
|
+
"daily_avg_api_calls": daily_avg_api_calls,
|
|
77
|
+
"projected_monthly_credits": projected_monthly_credits,
|
|
78
|
+
"projected_monthly_api_calls": projected_monthly_api_calls,
|
|
79
|
+
"credits_limit": credits_limit,
|
|
80
|
+
"api_calls_limit": api_calls_limit,
|
|
81
|
+
"storage_limit_gb": storage_limit_gb,
|
|
82
|
+
}
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
return field_dict
|
|
86
|
+
|
|
87
|
+
@classmethod
|
|
88
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
89
|
+
d = dict(src_dict)
|
|
90
|
+
total_credits_used = d.pop("total_credits_used")
|
|
91
|
+
|
|
92
|
+
total_ai_operations = d.pop("total_ai_operations")
|
|
93
|
+
|
|
94
|
+
total_storage_gb = d.pop("total_storage_gb")
|
|
95
|
+
|
|
96
|
+
total_api_calls = d.pop("total_api_calls")
|
|
97
|
+
|
|
98
|
+
daily_avg_credits = d.pop("daily_avg_credits")
|
|
99
|
+
|
|
100
|
+
daily_avg_api_calls = d.pop("daily_avg_api_calls")
|
|
101
|
+
|
|
102
|
+
projected_monthly_credits = d.pop("projected_monthly_credits")
|
|
103
|
+
|
|
104
|
+
projected_monthly_api_calls = d.pop("projected_monthly_api_calls")
|
|
105
|
+
|
|
106
|
+
def _parse_credits_limit(data: object) -> Union[None, int]:
|
|
107
|
+
if data is None:
|
|
108
|
+
return data
|
|
109
|
+
return cast(Union[None, int], data)
|
|
110
|
+
|
|
111
|
+
credits_limit = _parse_credits_limit(d.pop("credits_limit"))
|
|
112
|
+
|
|
113
|
+
def _parse_api_calls_limit(data: object) -> Union[None, int]:
|
|
114
|
+
if data is None:
|
|
115
|
+
return data
|
|
116
|
+
return cast(Union[None, int], data)
|
|
117
|
+
|
|
118
|
+
api_calls_limit = _parse_api_calls_limit(d.pop("api_calls_limit"))
|
|
119
|
+
|
|
120
|
+
def _parse_storage_limit_gb(data: object) -> Union[None, int]:
|
|
121
|
+
if data is None:
|
|
122
|
+
return data
|
|
123
|
+
return cast(Union[None, int], data)
|
|
124
|
+
|
|
125
|
+
storage_limit_gb = _parse_storage_limit_gb(d.pop("storage_limit_gb"))
|
|
126
|
+
|
|
127
|
+
org_usage_summary = cls(
|
|
128
|
+
total_credits_used=total_credits_used,
|
|
129
|
+
total_ai_operations=total_ai_operations,
|
|
130
|
+
total_storage_gb=total_storage_gb,
|
|
131
|
+
total_api_calls=total_api_calls,
|
|
132
|
+
daily_avg_credits=daily_avg_credits,
|
|
133
|
+
daily_avg_api_calls=daily_avg_api_calls,
|
|
134
|
+
projected_monthly_credits=projected_monthly_credits,
|
|
135
|
+
projected_monthly_api_calls=projected_monthly_api_calls,
|
|
136
|
+
credits_limit=credits_limit,
|
|
137
|
+
api_calls_limit=api_calls_limit,
|
|
138
|
+
storage_limit_gb=storage_limit_gb,
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
org_usage_summary.additional_properties = d
|
|
142
|
+
return org_usage_summary
|
|
143
|
+
|
|
144
|
+
@property
|
|
145
|
+
def additional_keys(self) -> list[str]:
|
|
146
|
+
return list(self.additional_properties.keys())
|
|
147
|
+
|
|
148
|
+
def __getitem__(self, key: str) -> Any:
|
|
149
|
+
return self.additional_properties[key]
|
|
150
|
+
|
|
151
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
152
|
+
self.additional_properties[key] = value
|
|
153
|
+
|
|
154
|
+
def __delitem__(self, key: str) -> None:
|
|
155
|
+
del self.additional_properties[key]
|
|
156
|
+
|
|
157
|
+
def __contains__(self, key: str) -> bool:
|
|
158
|
+
return key in self.additional_properties
|
|
@@ -15,13 +15,18 @@ T = TypeVar("T", bound="RepositorySubscriptions")
|
|
|
15
15
|
class RepositorySubscriptions:
|
|
16
16
|
"""Repository subscription offerings.
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
Repository subscriptions are per-organization, not per-graph. All members
|
|
19
|
+
of an organization share access to subscribed repositories.
|
|
20
|
+
|
|
21
|
+
Attributes:
|
|
22
|
+
description (str): Description of repository subscriptions
|
|
23
|
+
pricing_model (str): Pricing model type (per_graph or per_organization)
|
|
24
|
+
repositories (list['RepositoryInfo']): Available repositories
|
|
25
|
+
notes (list[str]): Important notes
|
|
22
26
|
"""
|
|
23
27
|
|
|
24
28
|
description: str
|
|
29
|
+
pricing_model: str
|
|
25
30
|
repositories: list["RepositoryInfo"]
|
|
26
31
|
notes: list[str]
|
|
27
32
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
@@ -29,6 +34,8 @@ class RepositorySubscriptions:
|
|
|
29
34
|
def to_dict(self) -> dict[str, Any]:
|
|
30
35
|
description = self.description
|
|
31
36
|
|
|
37
|
+
pricing_model = self.pricing_model
|
|
38
|
+
|
|
32
39
|
repositories = []
|
|
33
40
|
for repositories_item_data in self.repositories:
|
|
34
41
|
repositories_item = repositories_item_data.to_dict()
|
|
@@ -41,6 +48,7 @@ class RepositorySubscriptions:
|
|
|
41
48
|
field_dict.update(
|
|
42
49
|
{
|
|
43
50
|
"description": description,
|
|
51
|
+
"pricing_model": pricing_model,
|
|
44
52
|
"repositories": repositories,
|
|
45
53
|
"notes": notes,
|
|
46
54
|
}
|
|
@@ -55,6 +63,8 @@ class RepositorySubscriptions:
|
|
|
55
63
|
d = dict(src_dict)
|
|
56
64
|
description = d.pop("description")
|
|
57
65
|
|
|
66
|
+
pricing_model = d.pop("pricing_model")
|
|
67
|
+
|
|
58
68
|
repositories = []
|
|
59
69
|
_repositories = d.pop("repositories")
|
|
60
70
|
for repositories_item_data in _repositories:
|
|
@@ -66,6 +76,7 @@ class RepositorySubscriptions:
|
|
|
66
76
|
|
|
67
77
|
repository_subscriptions = cls(
|
|
68
78
|
description=description,
|
|
79
|
+
pricing_model=pricing_model,
|
|
69
80
|
repositories=repositories,
|
|
70
81
|
notes=notes,
|
|
71
82
|
)
|
|
@@ -19,12 +19,21 @@ class ServiceOfferingsResponse:
|
|
|
19
19
|
"""Complete service offerings response.
|
|
20
20
|
|
|
21
21
|
Attributes:
|
|
22
|
+
billing_enabled (bool): Whether billing and payments are enabled
|
|
22
23
|
graph_subscriptions (GraphSubscriptions): Graph subscription offerings.
|
|
24
|
+
|
|
25
|
+
Graph subscriptions are per-graph, not per-organization. Each graph
|
|
26
|
+
created by an organization has its own subscription with its own
|
|
27
|
+
infrastructure tier, pricing, and credit allocation.
|
|
23
28
|
repository_subscriptions (RepositorySubscriptions): Repository subscription offerings.
|
|
29
|
+
|
|
30
|
+
Repository subscriptions are per-organization, not per-graph. All members
|
|
31
|
+
of an organization share access to subscribed repositories.
|
|
24
32
|
operation_costs (OperationCosts): Operation cost information.
|
|
25
33
|
summary (ServiceOfferingSummary): Summary of service offerings.
|
|
26
34
|
"""
|
|
27
35
|
|
|
36
|
+
billing_enabled: bool
|
|
28
37
|
graph_subscriptions: "GraphSubscriptions"
|
|
29
38
|
repository_subscriptions: "RepositorySubscriptions"
|
|
30
39
|
operation_costs: "OperationCosts"
|
|
@@ -32,6 +41,8 @@ class ServiceOfferingsResponse:
|
|
|
32
41
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
33
42
|
|
|
34
43
|
def to_dict(self) -> dict[str, Any]:
|
|
44
|
+
billing_enabled = self.billing_enabled
|
|
45
|
+
|
|
35
46
|
graph_subscriptions = self.graph_subscriptions.to_dict()
|
|
36
47
|
|
|
37
48
|
repository_subscriptions = self.repository_subscriptions.to_dict()
|
|
@@ -44,6 +55,7 @@ class ServiceOfferingsResponse:
|
|
|
44
55
|
field_dict.update(self.additional_properties)
|
|
45
56
|
field_dict.update(
|
|
46
57
|
{
|
|
58
|
+
"billing_enabled": billing_enabled,
|
|
47
59
|
"graph_subscriptions": graph_subscriptions,
|
|
48
60
|
"repository_subscriptions": repository_subscriptions,
|
|
49
61
|
"operation_costs": operation_costs,
|
|
@@ -61,6 +73,8 @@ class ServiceOfferingsResponse:
|
|
|
61
73
|
from ..models.service_offering_summary import ServiceOfferingSummary
|
|
62
74
|
|
|
63
75
|
d = dict(src_dict)
|
|
76
|
+
billing_enabled = d.pop("billing_enabled")
|
|
77
|
+
|
|
64
78
|
graph_subscriptions = GraphSubscriptions.from_dict(d.pop("graph_subscriptions"))
|
|
65
79
|
|
|
66
80
|
repository_subscriptions = RepositorySubscriptions.from_dict(
|
|
@@ -72,6 +86,7 @@ class ServiceOfferingsResponse:
|
|
|
72
86
|
summary = ServiceOfferingSummary.from_dict(d.pop("summary"))
|
|
73
87
|
|
|
74
88
|
service_offerings_response = cls(
|
|
89
|
+
billing_enabled=billing_enabled,
|
|
75
90
|
graph_subscriptions=graph_subscriptions,
|
|
76
91
|
repository_subscriptions=repository_subscriptions,
|
|
77
92
|
operation_costs=operation_costs,
|
|
@@ -0,0 +1,62 @@
|
|
|
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
|
+
from ..models.org_role import OrgRole
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="UpdateMemberRoleRequest")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class UpdateMemberRoleRequest:
|
|
14
|
+
"""Request to update a member's role.
|
|
15
|
+
|
|
16
|
+
Attributes:
|
|
17
|
+
role (OrgRole):
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
role: OrgRole
|
|
21
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
22
|
+
|
|
23
|
+
def to_dict(self) -> dict[str, Any]:
|
|
24
|
+
role = self.role.value
|
|
25
|
+
|
|
26
|
+
field_dict: dict[str, Any] = {}
|
|
27
|
+
field_dict.update(self.additional_properties)
|
|
28
|
+
field_dict.update(
|
|
29
|
+
{
|
|
30
|
+
"role": role,
|
|
31
|
+
}
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
return field_dict
|
|
35
|
+
|
|
36
|
+
@classmethod
|
|
37
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
38
|
+
d = dict(src_dict)
|
|
39
|
+
role = OrgRole(d.pop("role"))
|
|
40
|
+
|
|
41
|
+
update_member_role_request = cls(
|
|
42
|
+
role=role,
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
update_member_role_request.additional_properties = d
|
|
46
|
+
return update_member_role_request
|
|
47
|
+
|
|
48
|
+
@property
|
|
49
|
+
def additional_keys(self) -> list[str]:
|
|
50
|
+
return list(self.additional_properties.keys())
|
|
51
|
+
|
|
52
|
+
def __getitem__(self, key: str) -> Any:
|
|
53
|
+
return self.additional_properties[key]
|
|
54
|
+
|
|
55
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
56
|
+
self.additional_properties[key] = value
|
|
57
|
+
|
|
58
|
+
def __delitem__(self, key: str) -> None:
|
|
59
|
+
del self.additional_properties[key]
|
|
60
|
+
|
|
61
|
+
def __contains__(self, key: str) -> bool:
|
|
62
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,103 @@
|
|
|
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_type import OrgType
|
|
8
|
+
from ..types import UNSET, Unset
|
|
9
|
+
|
|
10
|
+
T = TypeVar("T", bound="UpdateOrgRequest")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@_attrs_define
|
|
14
|
+
class UpdateOrgRequest:
|
|
15
|
+
"""Request to update organization details.
|
|
16
|
+
|
|
17
|
+
Attributes:
|
|
18
|
+
name (Union[None, Unset, str]):
|
|
19
|
+
org_type (Union[None, OrgType, Unset]):
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
name: Union[None, Unset, str] = UNSET
|
|
23
|
+
org_type: Union[None, OrgType, Unset] = UNSET
|
|
24
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
25
|
+
|
|
26
|
+
def to_dict(self) -> dict[str, Any]:
|
|
27
|
+
name: Union[None, Unset, str]
|
|
28
|
+
if isinstance(self.name, Unset):
|
|
29
|
+
name = UNSET
|
|
30
|
+
else:
|
|
31
|
+
name = self.name
|
|
32
|
+
|
|
33
|
+
org_type: Union[None, Unset, str]
|
|
34
|
+
if isinstance(self.org_type, Unset):
|
|
35
|
+
org_type = UNSET
|
|
36
|
+
elif isinstance(self.org_type, OrgType):
|
|
37
|
+
org_type = self.org_type.value
|
|
38
|
+
else:
|
|
39
|
+
org_type = self.org_type
|
|
40
|
+
|
|
41
|
+
field_dict: dict[str, Any] = {}
|
|
42
|
+
field_dict.update(self.additional_properties)
|
|
43
|
+
field_dict.update({})
|
|
44
|
+
if name is not UNSET:
|
|
45
|
+
field_dict["name"] = name
|
|
46
|
+
if org_type is not UNSET:
|
|
47
|
+
field_dict["org_type"] = org_type
|
|
48
|
+
|
|
49
|
+
return field_dict
|
|
50
|
+
|
|
51
|
+
@classmethod
|
|
52
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
53
|
+
d = dict(src_dict)
|
|
54
|
+
|
|
55
|
+
def _parse_name(data: object) -> Union[None, Unset, str]:
|
|
56
|
+
if data is None:
|
|
57
|
+
return data
|
|
58
|
+
if isinstance(data, Unset):
|
|
59
|
+
return data
|
|
60
|
+
return cast(Union[None, Unset, str], data)
|
|
61
|
+
|
|
62
|
+
name = _parse_name(d.pop("name", UNSET))
|
|
63
|
+
|
|
64
|
+
def _parse_org_type(data: object) -> Union[None, OrgType, Unset]:
|
|
65
|
+
if data is None:
|
|
66
|
+
return data
|
|
67
|
+
if isinstance(data, Unset):
|
|
68
|
+
return data
|
|
69
|
+
try:
|
|
70
|
+
if not isinstance(data, str):
|
|
71
|
+
raise TypeError()
|
|
72
|
+
org_type_type_0 = OrgType(data)
|
|
73
|
+
|
|
74
|
+
return org_type_type_0
|
|
75
|
+
except: # noqa: E722
|
|
76
|
+
pass
|
|
77
|
+
return cast(Union[None, OrgType, Unset], data)
|
|
78
|
+
|
|
79
|
+
org_type = _parse_org_type(d.pop("org_type", UNSET))
|
|
80
|
+
|
|
81
|
+
update_org_request = cls(
|
|
82
|
+
name=name,
|
|
83
|
+
org_type=org_type,
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
update_org_request.additional_properties = d
|
|
87
|
+
return update_org_request
|
|
88
|
+
|
|
89
|
+
@property
|
|
90
|
+
def additional_keys(self) -> list[str]:
|
|
91
|
+
return list(self.additional_properties.keys())
|
|
92
|
+
|
|
93
|
+
def __getitem__(self, key: str) -> Any:
|
|
94
|
+
return self.additional_properties[key]
|
|
95
|
+
|
|
96
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
97
|
+
self.additional_properties[key] = value
|
|
98
|
+
|
|
99
|
+
def __delitem__(self, key: str) -> None:
|
|
100
|
+
del self.additional_properties[key]
|
|
101
|
+
|
|
102
|
+
def __contains__(self, key: str) -> bool:
|
|
103
|
+
return key in self.additional_properties
|