waldur-api-client 7.6.9__py3-none-any.whl → 7.7.0__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 waldur-api-client might be problematic. Click here for more details.

Files changed (38) hide show
  1. waldur_api_client/api/broadcast_messages/broadcast_messages_schedule.py +89 -0
  2. waldur_api_client/api/{autoprovisioning_rule_plans/autoprovisioning_rule_plans_create.py → call_proposal_project_role_mappings/call_proposal_project_role_mappings_create.py} +27 -23
  3. waldur_api_client/api/call_proposal_project_role_mappings/call_proposal_project_role_mappings_destroy.py +89 -0
  4. waldur_api_client/api/{autoprovisioning_rule_plans/autoprovisioning_rule_plans_list.py → call_proposal_project_role_mappings/call_proposal_project_role_mappings_list.py} +34 -13
  5. waldur_api_client/api/{autoprovisioning_rule_plans/autoprovisioning_rule_plans_partial_update.py → call_proposal_project_role_mappings/call_proposal_project_role_mappings_partial_update.py} +27 -23
  6. waldur_api_client/api/{autoprovisioning_rule_plans/autoprovisioning_rule_plans_retrieve.py → call_proposal_project_role_mappings/call_proposal_project_role_mappings_retrieve.py} +17 -13
  7. waldur_api_client/api/{autoprovisioning_rule_plans/autoprovisioning_rule_plans_update.py → call_proposal_project_role_mappings/call_proposal_project_role_mappings_update.py} +27 -23
  8. waldur_api_client/api/{autoprovisioning_rule_plans/autoprovisioning_rule_plans_destroy.py → marketplace_plans/marketplace_plans_destroy.py} +1 -1
  9. waldur_api_client/models/__init__.py +18 -18
  10. waldur_api_client/models/event_types_enum.py +1 -0
  11. waldur_api_client/models/patched_proposal_project_role_mapping_request.py +88 -0
  12. waldur_api_client/models/patched_protected_call_request.py +0 -17
  13. waldur_api_client/models/patched_rule_request.py +90 -1
  14. waldur_api_client/models/{patched_rule_plans_request_limits.py → patched_rule_request_plan_attributes.py} +5 -5
  15. waldur_api_client/models/patched_rule_request_plan_limits.py +44 -0
  16. waldur_api_client/models/proposal_project_role_mapping.py +122 -0
  17. waldur_api_client/models/proposal_project_role_mapping_request.py +89 -0
  18. waldur_api_client/models/proposal_protected_calls_list_field_item.py +0 -3
  19. waldur_api_client/models/proposal_protected_calls_retrieve_field_item.py +0 -3
  20. waldur_api_client/models/protected_call.py +0 -34
  21. waldur_api_client/models/protected_call_request.py +0 -17
  22. waldur_api_client/models/provider_offering_details.py +1 -1
  23. waldur_api_client/models/public_offering_details.py +1 -1
  24. waldur_api_client/models/rule.py +99 -7
  25. waldur_api_client/models/{rule_plans_attributes.py → rule_plan_attributes.py} +5 -5
  26. waldur_api_client/models/{rule_plans_limits.py → rule_plan_limits.py} +5 -5
  27. waldur_api_client/models/rule_request.py +89 -1
  28. waldur_api_client/models/{rule_plans_request_attributes.py → rule_request_plan_attributes.py} +5 -5
  29. waldur_api_client/models/{rule_plans_request_limits.py → rule_request_plan_limits.py} +5 -5
  30. {waldur_api_client-7.6.9.dist-info → waldur_api_client-7.7.0.dist-info}/METADATA +1 -1
  31. {waldur_api_client-7.6.9.dist-info → waldur_api_client-7.7.0.dist-info}/RECORD +34 -32
  32. waldur_api_client/models/patched_rule_plans_request.py +0 -108
  33. waldur_api_client/models/patched_rule_plans_request_attributes.py +0 -44
  34. waldur_api_client/models/rule_plans.py +0 -126
  35. waldur_api_client/models/rule_plans_request.py +0 -109
  36. /waldur_api_client/api/{autoprovisioning_rule_plans → call_proposal_project_role_mappings}/__init__.py +0 -0
  37. {waldur_api_client-7.6.9.dist-info → waldur_api_client-7.7.0.dist-info}/LICENSE +0 -0
  38. {waldur_api_client-7.6.9.dist-info → waldur_api_client-7.7.0.dist-info}/WHEEL +0 -0
@@ -6,7 +6,7 @@ import httpx
6
6
 
7
7
  from ... import errors
8
8
  from ...client import AuthenticatedClient, Client
9
- from ...models.rule_plans import RulePlans
9
+ from ...models.proposal_project_role_mapping import ProposalProjectRoleMapping
10
10
  from ...types import Response
11
11
 
12
12
 
@@ -15,21 +15,25 @@ def _get_kwargs(
15
15
  ) -> dict[str, Any]:
16
16
  _kwargs: dict[str, Any] = {
17
17
  "method": "get",
18
- "url": f"/api/autoprovisioning-rule-plans/{uuid}/",
18
+ "url": f"/api/call-proposal-project-role-mappings/{uuid}/",
19
19
  }
20
20
 
21
21
  return _kwargs
22
22
 
23
23
 
24
- def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> RulePlans:
24
+ def _parse_response(
25
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
26
+ ) -> ProposalProjectRoleMapping:
25
27
  if response.status_code == 200:
26
- response_200 = RulePlans.from_dict(response.json())
28
+ response_200 = ProposalProjectRoleMapping.from_dict(response.json())
27
29
 
28
30
  return response_200
29
31
  raise errors.UnexpectedStatus(response.status_code, response.content)
30
32
 
31
33
 
32
- def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[RulePlans]:
34
+ def _build_response(
35
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
36
+ ) -> Response[ProposalProjectRoleMapping]:
33
37
  return Response(
34
38
  status_code=HTTPStatus(response.status_code),
35
39
  content=response.content,
@@ -42,7 +46,7 @@ def sync_detailed(
42
46
  uuid: UUID,
43
47
  *,
44
48
  client: AuthenticatedClient,
45
- ) -> Response[RulePlans]:
49
+ ) -> Response[ProposalProjectRoleMapping]:
46
50
  """
47
51
  Args:
48
52
  uuid (UUID):
@@ -52,7 +56,7 @@ def sync_detailed(
52
56
  httpx.TimeoutException: If the request takes longer than Client.timeout.
53
57
 
54
58
  Returns:
55
- Response[RulePlans]
59
+ Response[ProposalProjectRoleMapping]
56
60
  """
57
61
 
58
62
  kwargs = _get_kwargs(
@@ -70,7 +74,7 @@ def sync(
70
74
  uuid: UUID,
71
75
  *,
72
76
  client: AuthenticatedClient,
73
- ) -> RulePlans:
77
+ ) -> ProposalProjectRoleMapping:
74
78
  """
75
79
  Args:
76
80
  uuid (UUID):
@@ -80,7 +84,7 @@ def sync(
80
84
  httpx.TimeoutException: If the request takes longer than Client.timeout.
81
85
 
82
86
  Returns:
83
- RulePlans
87
+ ProposalProjectRoleMapping
84
88
  """
85
89
 
86
90
  return sync_detailed(
@@ -93,7 +97,7 @@ async def asyncio_detailed(
93
97
  uuid: UUID,
94
98
  *,
95
99
  client: AuthenticatedClient,
96
- ) -> Response[RulePlans]:
100
+ ) -> Response[ProposalProjectRoleMapping]:
97
101
  """
98
102
  Args:
99
103
  uuid (UUID):
@@ -103,7 +107,7 @@ async def asyncio_detailed(
103
107
  httpx.TimeoutException: If the request takes longer than Client.timeout.
104
108
 
105
109
  Returns:
106
- Response[RulePlans]
110
+ Response[ProposalProjectRoleMapping]
107
111
  """
108
112
 
109
113
  kwargs = _get_kwargs(
@@ -119,7 +123,7 @@ async def asyncio(
119
123
  uuid: UUID,
120
124
  *,
121
125
  client: AuthenticatedClient,
122
- ) -> RulePlans:
126
+ ) -> ProposalProjectRoleMapping:
123
127
  """
124
128
  Args:
125
129
  uuid (UUID):
@@ -129,7 +133,7 @@ async def asyncio(
129
133
  httpx.TimeoutException: If the request takes longer than Client.timeout.
130
134
 
131
135
  Returns:
132
- RulePlans
136
+ ProposalProjectRoleMapping
133
137
  """
134
138
 
135
139
  return (
@@ -6,21 +6,21 @@ import httpx
6
6
 
7
7
  from ... import errors
8
8
  from ...client import AuthenticatedClient, Client
9
- from ...models.rule_plans import RulePlans
10
- from ...models.rule_plans_request import RulePlansRequest
9
+ from ...models.proposal_project_role_mapping import ProposalProjectRoleMapping
10
+ from ...models.proposal_project_role_mapping_request import ProposalProjectRoleMappingRequest
11
11
  from ...types import Response
12
12
 
13
13
 
14
14
  def _get_kwargs(
15
15
  uuid: UUID,
16
16
  *,
17
- body: RulePlansRequest,
17
+ body: ProposalProjectRoleMappingRequest,
18
18
  ) -> dict[str, Any]:
19
19
  headers: dict[str, Any] = {}
20
20
 
21
21
  _kwargs: dict[str, Any] = {
22
22
  "method": "put",
23
- "url": f"/api/autoprovisioning-rule-plans/{uuid}/",
23
+ "url": f"/api/call-proposal-project-role-mappings/{uuid}/",
24
24
  }
25
25
 
26
26
  _kwargs["json"] = body.to_dict()
@@ -31,15 +31,19 @@ def _get_kwargs(
31
31
  return _kwargs
32
32
 
33
33
 
34
- def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> RulePlans:
34
+ def _parse_response(
35
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
36
+ ) -> ProposalProjectRoleMapping:
35
37
  if response.status_code == 200:
36
- response_200 = RulePlans.from_dict(response.json())
38
+ response_200 = ProposalProjectRoleMapping.from_dict(response.json())
37
39
 
38
40
  return response_200
39
41
  raise errors.UnexpectedStatus(response.status_code, response.content)
40
42
 
41
43
 
42
- def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[RulePlans]:
44
+ def _build_response(
45
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
46
+ ) -> Response[ProposalProjectRoleMapping]:
43
47
  return Response(
44
48
  status_code=HTTPStatus(response.status_code),
45
49
  content=response.content,
@@ -52,19 +56,19 @@ def sync_detailed(
52
56
  uuid: UUID,
53
57
  *,
54
58
  client: AuthenticatedClient,
55
- body: RulePlansRequest,
56
- ) -> Response[RulePlans]:
59
+ body: ProposalProjectRoleMappingRequest,
60
+ ) -> Response[ProposalProjectRoleMapping]:
57
61
  """
58
62
  Args:
59
63
  uuid (UUID):
60
- body (RulePlansRequest):
64
+ body (ProposalProjectRoleMappingRequest):
61
65
 
62
66
  Raises:
63
67
  errors.UnexpectedStatus: If the server returns an undocumented status code.
64
68
  httpx.TimeoutException: If the request takes longer than Client.timeout.
65
69
 
66
70
  Returns:
67
- Response[RulePlans]
71
+ Response[ProposalProjectRoleMapping]
68
72
  """
69
73
 
70
74
  kwargs = _get_kwargs(
@@ -83,19 +87,19 @@ def sync(
83
87
  uuid: UUID,
84
88
  *,
85
89
  client: AuthenticatedClient,
86
- body: RulePlansRequest,
87
- ) -> RulePlans:
90
+ body: ProposalProjectRoleMappingRequest,
91
+ ) -> ProposalProjectRoleMapping:
88
92
  """
89
93
  Args:
90
94
  uuid (UUID):
91
- body (RulePlansRequest):
95
+ body (ProposalProjectRoleMappingRequest):
92
96
 
93
97
  Raises:
94
98
  errors.UnexpectedStatus: If the server returns an undocumented status code.
95
99
  httpx.TimeoutException: If the request takes longer than Client.timeout.
96
100
 
97
101
  Returns:
98
- RulePlans
102
+ ProposalProjectRoleMapping
99
103
  """
100
104
 
101
105
  return sync_detailed(
@@ -109,19 +113,19 @@ async def asyncio_detailed(
109
113
  uuid: UUID,
110
114
  *,
111
115
  client: AuthenticatedClient,
112
- body: RulePlansRequest,
113
- ) -> Response[RulePlans]:
116
+ body: ProposalProjectRoleMappingRequest,
117
+ ) -> Response[ProposalProjectRoleMapping]:
114
118
  """
115
119
  Args:
116
120
  uuid (UUID):
117
- body (RulePlansRequest):
121
+ body (ProposalProjectRoleMappingRequest):
118
122
 
119
123
  Raises:
120
124
  errors.UnexpectedStatus: If the server returns an undocumented status code.
121
125
  httpx.TimeoutException: If the request takes longer than Client.timeout.
122
126
 
123
127
  Returns:
124
- Response[RulePlans]
128
+ Response[ProposalProjectRoleMapping]
125
129
  """
126
130
 
127
131
  kwargs = _get_kwargs(
@@ -138,19 +142,19 @@ async def asyncio(
138
142
  uuid: UUID,
139
143
  *,
140
144
  client: AuthenticatedClient,
141
- body: RulePlansRequest,
142
- ) -> RulePlans:
145
+ body: ProposalProjectRoleMappingRequest,
146
+ ) -> ProposalProjectRoleMapping:
143
147
  """
144
148
  Args:
145
149
  uuid (UUID):
146
- body (RulePlansRequest):
150
+ body (ProposalProjectRoleMappingRequest):
147
151
 
148
152
  Raises:
149
153
  errors.UnexpectedStatus: If the server returns an undocumented status code.
150
154
  httpx.TimeoutException: If the request takes longer than Client.timeout.
151
155
 
152
156
  Returns:
153
- RulePlans
157
+ ProposalProjectRoleMapping
154
158
  """
155
159
 
156
160
  return (
@@ -14,7 +14,7 @@ def _get_kwargs(
14
14
  ) -> dict[str, Any]:
15
15
  _kwargs: dict[str, Any] = {
16
16
  "method": "delete",
17
- "url": f"/api/autoprovisioning-rule-plans/{uuid}/",
17
+ "url": f"/api/marketplace-plans/{uuid}/",
18
18
  }
19
19
 
20
20
  return _kwargs
@@ -849,6 +849,7 @@ from .patched_project_credit_request import PatchedProjectCreditRequest
849
849
  from .patched_project_estimated_cost_policy_request import PatchedProjectEstimatedCostPolicyRequest
850
850
  from .patched_project_request import PatchedProjectRequest
851
851
  from .patched_project_service_account_request import PatchedProjectServiceAccountRequest
852
+ from .patched_proposal_project_role_mapping_request import PatchedProposalProjectRoleMappingRequest
852
853
  from .patched_proposal_review_request import PatchedProposalReviewRequest
853
854
  from .patched_protected_call_request import PatchedProtectedCallRequest
854
855
  from .patched_protected_round_request import PatchedProtectedRoundRequest
@@ -867,10 +868,9 @@ from .patched_requested_resource_request import PatchedRequestedResourceRequest
867
868
  from .patched_resource_update_request import PatchedResourceUpdateRequest
868
869
  from .patched_robot_account_request import PatchedRobotAccountRequest
869
870
  from .patched_role_details_request import PatchedRoleDetailsRequest
870
- from .patched_rule_plans_request import PatchedRulePlansRequest
871
- from .patched_rule_plans_request_attributes import PatchedRulePlansRequestAttributes
872
- from .patched_rule_plans_request_limits import PatchedRulePlansRequestLimits
873
871
  from .patched_rule_request import PatchedRuleRequest
872
+ from .patched_rule_request_plan_attributes import PatchedRuleRequestPlanAttributes
873
+ from .patched_rule_request_plan_limits import PatchedRuleRequestPlanLimits
874
874
  from .patched_screenshot_request import PatchedScreenshotRequest
875
875
  from .patched_section_request import PatchedSectionRequest
876
876
  from .patched_service_provider_request import PatchedServiceProviderRequest
@@ -948,6 +948,8 @@ from .proposal import Proposal
948
948
  from .proposal_approve_request import ProposalApproveRequest
949
949
  from .proposal_documentation import ProposalDocumentation
950
950
  from .proposal_documentation_request import ProposalDocumentationRequest
951
+ from .proposal_project_role_mapping import ProposalProjectRoleMapping
952
+ from .proposal_project_role_mapping_request import ProposalProjectRoleMappingRequest
951
953
  from .proposal_proposals_list_o_item import ProposalProposalsListOItem
952
954
  from .proposal_proposals_list_state_item import ProposalProposalsListStateItem
953
955
  from .proposal_proposals_list_users_list_field_item import ProposalProposalsListUsersListFieldItem
@@ -1158,13 +1160,11 @@ from .roles_list_field_item import RolesListFieldItem
1158
1160
  from .roles_retrieve_field_item import RolesRetrieveFieldItem
1159
1161
  from .round_reviewer import RoundReviewer
1160
1162
  from .rule import Rule
1161
- from .rule_plans import RulePlans
1162
- from .rule_plans_attributes import RulePlansAttributes
1163
- from .rule_plans_limits import RulePlansLimits
1164
- from .rule_plans_request import RulePlansRequest
1165
- from .rule_plans_request_attributes import RulePlansRequestAttributes
1166
- from .rule_plans_request_limits import RulePlansRequestLimits
1163
+ from .rule_plan_attributes import RulePlanAttributes
1164
+ from .rule_plan_limits import RulePlanLimits
1167
1165
  from .rule_request import RuleRequest
1166
+ from .rule_request_plan_attributes import RuleRequestPlanAttributes
1167
+ from .rule_request_plan_limits import RuleRequestPlanLimits
1168
1168
  from .runtime_states import RuntimeStates
1169
1169
  from .saml_2_login import Saml2Login
1170
1170
  from .saml_2_login_complete import Saml2LoginComplete
@@ -2087,6 +2087,7 @@ __all__ = (
2087
2087
  "PatchedProjectEstimatedCostPolicyRequest",
2088
2088
  "PatchedProjectRequest",
2089
2089
  "PatchedProjectServiceAccountRequest",
2090
+ "PatchedProposalProjectRoleMappingRequest",
2090
2091
  "PatchedProposalReviewRequest",
2091
2092
  "PatchedProtectedCallRequest",
2092
2093
  "PatchedProtectedRoundRequest",
@@ -2105,10 +2106,9 @@ __all__ = (
2105
2106
  "PatchedResourceUpdateRequest",
2106
2107
  "PatchedRobotAccountRequest",
2107
2108
  "PatchedRoleDetailsRequest",
2108
- "PatchedRulePlansRequest",
2109
- "PatchedRulePlansRequestAttributes",
2110
- "PatchedRulePlansRequestLimits",
2111
2109
  "PatchedRuleRequest",
2110
+ "PatchedRuleRequestPlanAttributes",
2111
+ "PatchedRuleRequestPlanLimits",
2112
2112
  "PatchedScreenshotRequest",
2113
2113
  "PatchedSectionRequest",
2114
2114
  "PatchedServiceProviderRequest",
@@ -2178,6 +2178,8 @@ __all__ = (
2178
2178
  "ProposalApproveRequest",
2179
2179
  "ProposalDocumentation",
2180
2180
  "ProposalDocumentationRequest",
2181
+ "ProposalProjectRoleMapping",
2182
+ "ProposalProjectRoleMappingRequest",
2181
2183
  "ProposalProposalsListOItem",
2182
2184
  "ProposalProposalsListStateItem",
2183
2185
  "ProposalProposalsListUsersListFieldItem",
@@ -2380,13 +2382,11 @@ __all__ = (
2380
2382
  "RoleType",
2381
2383
  "RoundReviewer",
2382
2384
  "Rule",
2383
- "RulePlans",
2384
- "RulePlansAttributes",
2385
- "RulePlansLimits",
2386
- "RulePlansRequest",
2387
- "RulePlansRequestAttributes",
2388
- "RulePlansRequestLimits",
2385
+ "RulePlanAttributes",
2386
+ "RulePlanLimits",
2389
2387
  "RuleRequest",
2388
+ "RuleRequestPlanAttributes",
2389
+ "RuleRequestPlanLimits",
2390
2390
  "RuntimeStates",
2391
2391
  "Saml2Login",
2392
2392
  "Saml2LoginComplete",
@@ -62,6 +62,7 @@ class EventTypesEnum(str, Enum):
62
62
  MARKETPLACE_PLAN_COMPONENT_FUTURE_PRICE_UPDATED = "marketplace_plan_component_future_price_updated"
63
63
  MARKETPLACE_PLAN_COMPONENT_QUOTA_UPDATED = "marketplace_plan_component_quota_updated"
64
64
  MARKETPLACE_PLAN_CREATED = "marketplace_plan_created"
65
+ MARKETPLACE_PLAN_DELETED = "marketplace_plan_deleted"
65
66
  MARKETPLACE_PLAN_UPDATED = "marketplace_plan_updated"
66
67
  MARKETPLACE_RESOURCE_CREATE_CANCELED = "marketplace_resource_create_canceled"
67
68
  MARKETPLACE_RESOURCE_CREATE_FAILED = "marketplace_resource_create_failed"
@@ -0,0 +1,88 @@
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 ..types import UNSET, Unset
8
+
9
+ T = TypeVar("T", bound="PatchedProposalProjectRoleMappingRequest")
10
+
11
+
12
+ @_attrs_define
13
+ class PatchedProposalProjectRoleMappingRequest:
14
+ """
15
+ Attributes:
16
+ call (Union[Unset, str]):
17
+ proposal_role (Union[Unset, str]):
18
+ project_role (Union[None, Unset, str]):
19
+ """
20
+
21
+ call: Union[Unset, str] = UNSET
22
+ proposal_role: Union[Unset, str] = UNSET
23
+ project_role: Union[None, Unset, str] = UNSET
24
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
+
26
+ def to_dict(self) -> dict[str, Any]:
27
+ call = self.call
28
+
29
+ proposal_role = self.proposal_role
30
+
31
+ project_role: Union[None, Unset, str]
32
+ if isinstance(self.project_role, Unset):
33
+ project_role = UNSET
34
+ else:
35
+ project_role = self.project_role
36
+
37
+ field_dict: dict[str, Any] = {}
38
+ field_dict.update(self.additional_properties)
39
+ field_dict.update({})
40
+ if call is not UNSET:
41
+ field_dict["call"] = call
42
+ if proposal_role is not UNSET:
43
+ field_dict["proposal_role"] = proposal_role
44
+ if project_role is not UNSET:
45
+ field_dict["project_role"] = project_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
+ call = d.pop("call", UNSET)
53
+
54
+ proposal_role = d.pop("proposal_role", UNSET)
55
+
56
+ def _parse_project_role(data: object) -> Union[None, Unset, str]:
57
+ if data is None:
58
+ return data
59
+ if isinstance(data, Unset):
60
+ return data
61
+ return cast(Union[None, Unset, str], data)
62
+
63
+ project_role = _parse_project_role(d.pop("project_role", UNSET))
64
+
65
+ patched_proposal_project_role_mapping_request = cls(
66
+ call=call,
67
+ proposal_role=proposal_role,
68
+ project_role=project_role,
69
+ )
70
+
71
+ patched_proposal_project_role_mapping_request.additional_properties = d
72
+ return patched_proposal_project_role_mapping_request
73
+
74
+ @property
75
+ def additional_keys(self) -> list[str]:
76
+ return list(self.additional_properties.keys())
77
+
78
+ def __getitem__(self, key: str) -> Any:
79
+ return self.additional_properties[key]
80
+
81
+ def __setitem__(self, key: str, value: Any) -> None:
82
+ self.additional_properties[key] = value
83
+
84
+ def __delitem__(self, key: str) -> None:
85
+ del self.additional_properties[key]
86
+
87
+ def __contains__(self, key: str) -> bool:
88
+ return key in self.additional_properties
@@ -1,6 +1,5 @@
1
1
  from collections.abc import Mapping
2
2
  from typing import Any, TypeVar, Union, cast
3
- from uuid import UUID
4
3
 
5
4
  from attrs import define as _attrs_define
6
5
  from attrs import field as _attrs_field
@@ -25,7 +24,6 @@ class PatchedProtectedCallRequest:
25
24
  scores
26
25
  created_by (Union[None, Unset, str]):
27
26
  reference_code (Union[Unset, str]):
28
- default_project_role (Union[Unset, UUID]):
29
27
  """
30
28
 
31
29
  name: Union[Unset, str] = UNSET
@@ -37,7 +35,6 @@ class PatchedProtectedCallRequest:
37
35
  reviews_visible_to_submitters: Union[Unset, bool] = UNSET
38
36
  created_by: Union[None, Unset, str] = UNSET
39
37
  reference_code: Union[Unset, str] = UNSET
40
- default_project_role: Union[Unset, UUID] = UNSET
41
38
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
42
39
 
43
40
  def to_dict(self) -> dict[str, Any]:
@@ -71,10 +68,6 @@ class PatchedProtectedCallRequest:
71
68
 
72
69
  reference_code = self.reference_code
73
70
 
74
- default_project_role: Union[Unset, str] = UNSET
75
- if not isinstance(self.default_project_role, Unset):
76
- default_project_role = str(self.default_project_role)
77
-
78
71
  field_dict: dict[str, Any] = {}
79
72
  field_dict.update(self.additional_properties)
80
73
  field_dict.update({})
@@ -96,8 +89,6 @@ class PatchedProtectedCallRequest:
96
89
  field_dict["created_by"] = created_by
97
90
  if reference_code is not UNSET:
98
91
  field_dict["reference_code"] = reference_code
99
- if default_project_role is not UNSET:
100
- field_dict["default_project_role"] = default_project_role
101
92
 
102
93
  return field_dict
103
94
 
@@ -143,13 +134,6 @@ class PatchedProtectedCallRequest:
143
134
 
144
135
  reference_code = d.pop("reference_code", UNSET)
145
136
 
146
- _default_project_role = d.pop("default_project_role", UNSET)
147
- default_project_role: Union[Unset, UUID]
148
- if isinstance(_default_project_role, Unset):
149
- default_project_role = UNSET
150
- else:
151
- default_project_role = UUID(_default_project_role)
152
-
153
137
  patched_protected_call_request = cls(
154
138
  name=name,
155
139
  description=description,
@@ -160,7 +144,6 @@ class PatchedProtectedCallRequest:
160
144
  reviews_visible_to_submitters=reviews_visible_to_submitters,
161
145
  created_by=created_by,
162
146
  reference_code=reference_code,
163
- default_project_role=default_project_role,
164
147
  )
165
148
 
166
149
  patched_protected_call_request.additional_properties = d
@@ -1,11 +1,16 @@
1
1
  from collections.abc import Mapping
2
- from typing import Any, TypeVar, Union, cast
2
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
3
3
 
4
4
  from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
6
6
 
7
7
  from ..types import UNSET, Unset
8
8
 
9
+ if TYPE_CHECKING:
10
+ from ..models.patched_rule_request_plan_attributes import PatchedRuleRequestPlanAttributes
11
+ from ..models.patched_rule_request_plan_limits import PatchedRuleRequestPlanLimits
12
+
13
+
9
14
  T = TypeVar("T", bound="PatchedRuleRequest")
10
15
 
11
16
 
@@ -13,19 +18,31 @@ T = TypeVar("T", bound="PatchedRuleRequest")
13
18
  class PatchedRuleRequest:
14
19
  """
15
20
  Attributes:
21
+ name (Union[Unset, str]):
16
22
  user_affiliations (Union[Unset, list[str]]):
17
23
  user_email_patterns (Union[Unset, list[str]]):
18
24
  customer (Union[Unset, str]):
19
25
  project_role (Union[None, Unset, str]):
26
+ project_role_name (Union[None, Unset, str]):
27
+ plan (Union[None, Unset, str]):
28
+ plan_attributes (Union[Unset, PatchedRuleRequestPlanAttributes]):
29
+ plan_limits (Union[Unset, PatchedRuleRequestPlanLimits]):
20
30
  """
21
31
 
32
+ name: Union[Unset, str] = UNSET
22
33
  user_affiliations: Union[Unset, list[str]] = UNSET
23
34
  user_email_patterns: Union[Unset, list[str]] = UNSET
24
35
  customer: Union[Unset, str] = UNSET
25
36
  project_role: Union[None, Unset, str] = UNSET
37
+ project_role_name: Union[None, Unset, str] = UNSET
38
+ plan: Union[None, Unset, str] = UNSET
39
+ plan_attributes: Union[Unset, "PatchedRuleRequestPlanAttributes"] = UNSET
40
+ plan_limits: Union[Unset, "PatchedRuleRequestPlanLimits"] = UNSET
26
41
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
42
 
28
43
  def to_dict(self) -> dict[str, Any]:
44
+ name = self.name
45
+
29
46
  user_affiliations: Union[Unset, list[str]] = UNSET
30
47
  if not isinstance(self.user_affiliations, Unset):
31
48
  user_affiliations = self.user_affiliations
@@ -42,9 +59,31 @@ class PatchedRuleRequest:
42
59
  else:
43
60
  project_role = self.project_role
44
61
 
62
+ project_role_name: Union[None, Unset, str]
63
+ if isinstance(self.project_role_name, Unset):
64
+ project_role_name = UNSET
65
+ else:
66
+ project_role_name = self.project_role_name
67
+
68
+ plan: Union[None, Unset, str]
69
+ if isinstance(self.plan, Unset):
70
+ plan = UNSET
71
+ else:
72
+ plan = self.plan
73
+
74
+ plan_attributes: Union[Unset, dict[str, Any]] = UNSET
75
+ if not isinstance(self.plan_attributes, Unset):
76
+ plan_attributes = self.plan_attributes.to_dict()
77
+
78
+ plan_limits: Union[Unset, dict[str, Any]] = UNSET
79
+ if not isinstance(self.plan_limits, Unset):
80
+ plan_limits = self.plan_limits.to_dict()
81
+
45
82
  field_dict: dict[str, Any] = {}
46
83
  field_dict.update(self.additional_properties)
47
84
  field_dict.update({})
85
+ if name is not UNSET:
86
+ field_dict["name"] = name
48
87
  if user_affiliations is not UNSET:
49
88
  field_dict["user_affiliations"] = user_affiliations
50
89
  if user_email_patterns is not UNSET:
@@ -53,12 +92,25 @@ class PatchedRuleRequest:
53
92
  field_dict["customer"] = customer
54
93
  if project_role is not UNSET:
55
94
  field_dict["project_role"] = project_role
95
+ if project_role_name is not UNSET:
96
+ field_dict["project_role_name"] = project_role_name
97
+ if plan is not UNSET:
98
+ field_dict["plan"] = plan
99
+ if plan_attributes is not UNSET:
100
+ field_dict["plan_attributes"] = plan_attributes
101
+ if plan_limits is not UNSET:
102
+ field_dict["plan_limits"] = plan_limits
56
103
 
57
104
  return field_dict
58
105
 
59
106
  @classmethod
60
107
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
108
+ from ..models.patched_rule_request_plan_attributes import PatchedRuleRequestPlanAttributes
109
+ from ..models.patched_rule_request_plan_limits import PatchedRuleRequestPlanLimits
110
+
61
111
  d = dict(src_dict)
112
+ name = d.pop("name", UNSET)
113
+
62
114
  user_affiliations = cast(list[str], d.pop("user_affiliations", UNSET))
63
115
 
64
116
  user_email_patterns = cast(list[str], d.pop("user_email_patterns", UNSET))
@@ -74,11 +126,48 @@ class PatchedRuleRequest:
74
126
 
75
127
  project_role = _parse_project_role(d.pop("project_role", UNSET))
76
128
 
129
+ def _parse_project_role_name(data: object) -> Union[None, Unset, str]:
130
+ if data is None:
131
+ return data
132
+ if isinstance(data, Unset):
133
+ return data
134
+ return cast(Union[None, Unset, str], data)
135
+
136
+ project_role_name = _parse_project_role_name(d.pop("project_role_name", UNSET))
137
+
138
+ def _parse_plan(data: object) -> Union[None, Unset, str]:
139
+ if data is None:
140
+ return data
141
+ if isinstance(data, Unset):
142
+ return data
143
+ return cast(Union[None, Unset, str], data)
144
+
145
+ plan = _parse_plan(d.pop("plan", UNSET))
146
+
147
+ _plan_attributes = d.pop("plan_attributes", UNSET)
148
+ plan_attributes: Union[Unset, PatchedRuleRequestPlanAttributes]
149
+ if isinstance(_plan_attributes, Unset):
150
+ plan_attributes = UNSET
151
+ else:
152
+ plan_attributes = PatchedRuleRequestPlanAttributes.from_dict(_plan_attributes)
153
+
154
+ _plan_limits = d.pop("plan_limits", UNSET)
155
+ plan_limits: Union[Unset, PatchedRuleRequestPlanLimits]
156
+ if isinstance(_plan_limits, Unset):
157
+ plan_limits = UNSET
158
+ else:
159
+ plan_limits = PatchedRuleRequestPlanLimits.from_dict(_plan_limits)
160
+
77
161
  patched_rule_request = cls(
162
+ name=name,
78
163
  user_affiliations=user_affiliations,
79
164
  user_email_patterns=user_email_patterns,
80
165
  customer=customer,
81
166
  project_role=project_role,
167
+ project_role_name=project_role_name,
168
+ plan=plan,
169
+ plan_attributes=plan_attributes,
170
+ plan_limits=plan_limits,
82
171
  )
83
172
 
84
173
  patched_rule_request.additional_properties = d