waldur-api-client 7.7.7__py3-none-any.whl → 7.7.9__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 (140) hide show
  1. waldur_api_client/api/customer_permissions_reviews/customer_permissions_reviews_count.py +19 -0
  2. waldur_api_client/api/customer_permissions_reviews/customer_permissions_reviews_list.py +19 -0
  3. waldur_api_client/api/customers/customers_users_list.py +141 -53
  4. waldur_api_client/api/invoices/invoices_items_retrieve.py +20 -0
  5. waldur_api_client/api/managed_rancher_cluster_resources/__init__.py +1 -0
  6. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_add_node.py +162 -0
  7. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_count.py +172 -0
  8. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_list.py +196 -0
  9. waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_retrieve.py +171 -0
  10. waldur_api_client/api/marketplace_course_accounts/__init__.py +1 -0
  11. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_count.py +244 -0
  12. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_create.py +148 -0
  13. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_create_bulk.py +152 -0
  14. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_destroy.py +89 -0
  15. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_list.py +245 -0
  16. waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_retrieve.py +140 -0
  17. waldur_api_client/api/marketplace_customer_service_accounts/marketplace_customer_service_accounts_count.py +25 -0
  18. waldur_api_client/api/marketplace_customer_service_accounts/marketplace_customer_service_accounts_list.py +25 -0
  19. waldur_api_client/api/marketplace_project_service_accounts/marketplace_project_service_accounts_count.py +25 -0
  20. waldur_api_client/api/marketplace_project_service_accounts/marketplace_project_service_accounts_list.py +25 -0
  21. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_component_stats_list.py +30 -0
  22. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_costs_list.py +30 -0
  23. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_count.py +30 -0
  24. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_customers_list.py +30 -0
  25. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_count.py +30 -0
  26. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_groups_list.py +30 -0
  27. waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_list.py +30 -0
  28. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_count.py +30 -0
  29. waldur_api_client/api/marketplace_public_offerings/marketplace_public_offerings_list.py +30 -0
  30. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_course_accounts_list.py +284 -0
  31. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_offerings_list.py +30 -0
  32. waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_project_service_accounts_list.py +29 -0
  33. waldur_api_client/api/project_permissions_reviews/__init__.py +1 -0
  34. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_close.py +91 -0
  35. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_count.py +266 -0
  36. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_list.py +269 -0
  37. waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_retrieve.py +142 -0
  38. waldur_api_client/api/projects/projects_other_users_list.py +98 -23
  39. waldur_api_client/api/projects/projects_sync_user_roles.py +10 -9
  40. waldur_api_client/api/support_issue_statuses/__init__.py +1 -0
  41. waldur_api_client/api/support_issue_statuses/support_issue_statuses_count.py +172 -0
  42. waldur_api_client/api/support_issue_statuses/support_issue_statuses_create.py +148 -0
  43. waldur_api_client/api/support_issue_statuses/support_issue_statuses_destroy.py +89 -0
  44. waldur_api_client/api/support_issue_statuses/support_issue_statuses_list.py +173 -0
  45. waldur_api_client/api/support_issue_statuses/support_issue_statuses_partial_update.py +162 -0
  46. waldur_api_client/api/support_issue_statuses/support_issue_statuses_retrieve.py +140 -0
  47. waldur_api_client/api/support_issue_statuses/support_issue_statuses_update.py +162 -0
  48. waldur_api_client/api/user_group_invitations/user_group_invitations_submit_request.py +12 -12
  49. waldur_api_client/api/user_invitations/user_invitations_count.py +30 -0
  50. waldur_api_client/api/user_invitations/user_invitations_list.py +30 -0
  51. waldur_api_client/api/user_permission_requests/user_permission_requests_cancel_request.py +146 -0
  52. waldur_api_client/models/__init__.py +76 -2
  53. waldur_api_client/models/cancel_request_response.py +75 -0
  54. waldur_api_client/models/constance_settings.py +18 -0
  55. waldur_api_client/models/constance_settings_request.py +18 -0
  56. waldur_api_client/models/course_account.py +187 -0
  57. waldur_api_client/models/course_account_create_nested.py +68 -0
  58. waldur_api_client/models/course_account_create_nested_request.py +68 -0
  59. waldur_api_client/models/course_account_request.py +80 -0
  60. waldur_api_client/models/course_accounts_bulk_create.py +82 -0
  61. waldur_api_client/models/course_accounts_bulk_create_request.py +82 -0
  62. waldur_api_client/models/customer.py +9 -0
  63. waldur_api_client/models/customer_permission_review.py +16 -16
  64. waldur_api_client/models/customer_request.py +9 -0
  65. waldur_api_client/models/customer_service_account.py +9 -0
  66. waldur_api_client/models/customers_list_field_item.py +1 -0
  67. waldur_api_client/models/customers_retrieve_field_item.py +1 -0
  68. waldur_api_client/models/customers_users_list_o.py +9 -0
  69. waldur_api_client/models/customers_users_list_organization_role_item_type_0.py +10 -0
  70. waldur_api_client/models/customers_users_list_project_role_item_type_0.py +10 -0
  71. waldur_api_client/models/dependency_logic_operator_enum.py +9 -0
  72. waldur_api_client/models/event_subscription.py +1 -1
  73. waldur_api_client/models/event_types_enum.py +4 -0
  74. waldur_api_client/models/group_invitation.py +9 -0
  75. waldur_api_client/models/invitation.py +9 -0
  76. waldur_api_client/models/invoices_items_retrieve_o.py +15 -0
  77. waldur_api_client/models/issue_status.py +103 -0
  78. waldur_api_client/models/issue_status_request.py +78 -0
  79. waldur_api_client/models/issue_status_type_enum.py +9 -0
  80. waldur_api_client/models/kind_enum.py +10 -0
  81. waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +82 -0
  82. waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +82 -0
  83. waldur_api_client/models/managed_rancher_create_node_request.py +186 -0
  84. waldur_api_client/models/marketplace_course_accounts_count_state_item.py +10 -0
  85. waldur_api_client/models/marketplace_course_accounts_list_state_item.py +10 -0
  86. waldur_api_client/models/marketplace_customer_service_accounts_count_state_item.py +10 -0
  87. waldur_api_client/models/marketplace_customer_service_accounts_list_state_item.py +10 -0
  88. waldur_api_client/models/marketplace_project_service_accounts_count_state_item.py +10 -0
  89. waldur_api_client/models/marketplace_project_service_accounts_list_state_item.py +10 -0
  90. waldur_api_client/models/marketplace_service_providers_course_accounts_list_state_item.py +10 -0
  91. waldur_api_client/models/marketplace_service_providers_project_service_accounts_list_state_item.py +10 -0
  92. waldur_api_client/models/marketplace_service_providers_projects_list_field_item.py +1 -0
  93. waldur_api_client/models/nested_security_group_rule.py +223 -0
  94. waldur_api_client/models/{open_stack_nested_security_group_rules_item.py → nested_security_group_rule_request.py} +67 -76
  95. waldur_api_client/models/open_stack_backup_restoration_request.py +0 -22
  96. waldur_api_client/models/open_stack_fixed_ip.py +13 -3
  97. waldur_api_client/models/open_stack_fixed_ip_request.py +7 -2
  98. waldur_api_client/models/open_stack_instance_create_order_attributes.py +20 -20
  99. waldur_api_client/models/open_stack_nested_security_group.py +16 -16
  100. waldur_api_client/models/open_stack_port_ip_update_request.py +6 -2
  101. waldur_api_client/models/open_stack_static_route.py +13 -4
  102. waldur_api_client/models/open_stack_static_route_request.py +7 -3
  103. waldur_api_client/models/open_stack_sub_net.py +15 -2
  104. waldur_api_client/models/open_stack_sub_net_allocation_pool.py +27 -8
  105. waldur_api_client/models/open_stack_sub_net_allocation_pool_request.py +14 -5
  106. waldur_api_client/models/open_stack_sub_net_request.py +15 -2
  107. waldur_api_client/models/patched_customer_request.py +9 -0
  108. waldur_api_client/models/patched_issue_status_request.py +76 -0
  109. waldur_api_client/models/patched_open_stack_sub_net_request.py +15 -2
  110. waldur_api_client/models/patched_project_request.py +17 -0
  111. waldur_api_client/models/patched_question_admin_request.py +17 -0
  112. waldur_api_client/models/patched_rancher_service_request.py +1 -1
  113. waldur_api_client/models/permission_request.py +16 -0
  114. waldur_api_client/models/project.py +17 -0
  115. waldur_api_client/models/project_permission_review.py +166 -0
  116. waldur_api_client/models/project_permissions_reviews_count_o_item.py +11 -0
  117. waldur_api_client/models/project_permissions_reviews_list_o_item.py +11 -0
  118. waldur_api_client/models/project_request.py +17 -0
  119. waldur_api_client/models/project_service_account.py +9 -0
  120. waldur_api_client/models/projects_list_field_item.py +1 -0
  121. waldur_api_client/models/projects_other_users_list_o.py +9 -0
  122. waldur_api_client/models/projects_retrieve_field_item.py +1 -0
  123. waldur_api_client/models/proposal.py +8 -0
  124. waldur_api_client/models/proposal_review.py +8 -0
  125. waldur_api_client/models/question_admin.py +17 -0
  126. waldur_api_client/models/question_admin_request.py +17 -0
  127. waldur_api_client/models/rancher_nested_public_ip.py +25 -7
  128. waldur_api_client/models/rancher_service.py +1 -1
  129. waldur_api_client/models/rancher_service_request.py +1 -1
  130. waldur_api_client/models/rmq_connection.py +8 -3
  131. waldur_api_client/models/rmq_subscription.py +7 -3
  132. waldur_api_client/models/robot_account.py +16 -16
  133. waldur_api_client/models/robot_account_details.py +16 -16
  134. waldur_api_client/models/service_account_state.py +10 -0
  135. waldur_api_client/models/submit_request_response.py +75 -0
  136. waldur_api_client/models/visible_invitation_details.py +9 -0
  137. {waldur_api_client-7.7.7.dist-info → waldur_api_client-7.7.9.dist-info}/METADATA +1 -1
  138. {waldur_api_client-7.7.7.dist-info → waldur_api_client-7.7.9.dist-info}/RECORD +140 -78
  139. {waldur_api_client-7.7.7.dist-info → waldur_api_client-7.7.9.dist-info}/LICENSE +0 -0
  140. {waldur_api_client-7.7.7.dist-info → waldur_api_client-7.7.9.dist-info}/WHEEL +0 -0
@@ -0,0 +1,166 @@
1
+ import datetime
2
+ from collections.abc import Mapping
3
+ from typing import Any, TypeVar, Union, cast
4
+ from uuid import UUID
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+ from dateutil.parser import isoparse
9
+
10
+ T = TypeVar("T", bound="ProjectPermissionReview")
11
+
12
+
13
+ @_attrs_define
14
+ class ProjectPermissionReview:
15
+ """
16
+ Attributes:
17
+ url (str):
18
+ uuid (UUID):
19
+ reviewer_full_name (Union[None, str]):
20
+ reviewer_uuid (Union[None, UUID]):
21
+ is_pending (bool):
22
+ created (datetime.datetime):
23
+ closed (Union[None, datetime.datetime]):
24
+ project_uuid (UUID):
25
+ project_name (str):
26
+ """
27
+
28
+ url: str
29
+ uuid: UUID
30
+ reviewer_full_name: Union[None, str]
31
+ reviewer_uuid: Union[None, UUID]
32
+ is_pending: bool
33
+ created: datetime.datetime
34
+ closed: Union[None, datetime.datetime]
35
+ project_uuid: UUID
36
+ project_name: str
37
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
38
+
39
+ def to_dict(self) -> dict[str, Any]:
40
+ url = self.url
41
+
42
+ uuid = str(self.uuid)
43
+
44
+ reviewer_full_name: Union[None, str]
45
+ reviewer_full_name = self.reviewer_full_name
46
+
47
+ reviewer_uuid: Union[None, str]
48
+ if isinstance(self.reviewer_uuid, UUID):
49
+ reviewer_uuid = str(self.reviewer_uuid)
50
+ else:
51
+ reviewer_uuid = self.reviewer_uuid
52
+
53
+ is_pending = self.is_pending
54
+
55
+ created = self.created.isoformat()
56
+
57
+ closed: Union[None, str]
58
+ if isinstance(self.closed, datetime.datetime):
59
+ closed = self.closed.isoformat()
60
+ else:
61
+ closed = self.closed
62
+
63
+ project_uuid = str(self.project_uuid)
64
+
65
+ project_name = self.project_name
66
+
67
+ field_dict: dict[str, Any] = {}
68
+ field_dict.update(self.additional_properties)
69
+ field_dict.update(
70
+ {
71
+ "url": url,
72
+ "uuid": uuid,
73
+ "reviewer_full_name": reviewer_full_name,
74
+ "reviewer_uuid": reviewer_uuid,
75
+ "is_pending": is_pending,
76
+ "created": created,
77
+ "closed": closed,
78
+ "project_uuid": project_uuid,
79
+ "project_name": project_name,
80
+ }
81
+ )
82
+
83
+ return field_dict
84
+
85
+ @classmethod
86
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
87
+ d = dict(src_dict)
88
+ url = d.pop("url")
89
+
90
+ uuid = UUID(d.pop("uuid"))
91
+
92
+ def _parse_reviewer_full_name(data: object) -> Union[None, str]:
93
+ if data is None:
94
+ return data
95
+ return cast(Union[None, str], data)
96
+
97
+ reviewer_full_name = _parse_reviewer_full_name(d.pop("reviewer_full_name"))
98
+
99
+ def _parse_reviewer_uuid(data: object) -> Union[None, UUID]:
100
+ if data is None:
101
+ return data
102
+ try:
103
+ if not isinstance(data, str):
104
+ raise TypeError()
105
+ reviewer_uuid_type_0 = UUID(data)
106
+
107
+ return reviewer_uuid_type_0
108
+ except: # noqa: E722
109
+ pass
110
+ return cast(Union[None, UUID], data)
111
+
112
+ reviewer_uuid = _parse_reviewer_uuid(d.pop("reviewer_uuid"))
113
+
114
+ is_pending = d.pop("is_pending")
115
+
116
+ created = isoparse(d.pop("created"))
117
+
118
+ def _parse_closed(data: object) -> Union[None, datetime.datetime]:
119
+ if data is None:
120
+ return data
121
+ try:
122
+ if not isinstance(data, str):
123
+ raise TypeError()
124
+ closed_type_0 = isoparse(data)
125
+
126
+ return closed_type_0
127
+ except: # noqa: E722
128
+ pass
129
+ return cast(Union[None, datetime.datetime], data)
130
+
131
+ closed = _parse_closed(d.pop("closed"))
132
+
133
+ project_uuid = UUID(d.pop("project_uuid"))
134
+
135
+ project_name = d.pop("project_name")
136
+
137
+ project_permission_review = cls(
138
+ url=url,
139
+ uuid=uuid,
140
+ reviewer_full_name=reviewer_full_name,
141
+ reviewer_uuid=reviewer_uuid,
142
+ is_pending=is_pending,
143
+ created=created,
144
+ closed=closed,
145
+ project_uuid=project_uuid,
146
+ project_name=project_name,
147
+ )
148
+
149
+ project_permission_review.additional_properties = d
150
+ return project_permission_review
151
+
152
+ @property
153
+ def additional_keys(self) -> list[str]:
154
+ return list(self.additional_properties.keys())
155
+
156
+ def __getitem__(self, key: str) -> Any:
157
+ return self.additional_properties[key]
158
+
159
+ def __setitem__(self, key: str, value: Any) -> None:
160
+ self.additional_properties[key] = value
161
+
162
+ def __delitem__(self, key: str) -> None:
163
+ del self.additional_properties[key]
164
+
165
+ def __contains__(self, key: str) -> bool:
166
+ return key in self.additional_properties
@@ -0,0 +1,11 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ProjectPermissionsReviewsCountOItem(str, Enum):
5
+ CLOSED = "closed"
6
+ CREATED = "created"
7
+ VALUE_0 = "-closed"
8
+ VALUE_1 = "-created"
9
+
10
+ def __str__(self) -> str:
11
+ return str(self.value)
@@ -0,0 +1,11 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ProjectPermissionsReviewsListOItem(str, Enum):
5
+ CLOSED = "closed"
6
+ CREATED = "created"
7
+ VALUE_0 = "-closed"
8
+ VALUE_1 = "-created"
9
+
10
+ def __str__(self) -> str:
11
+ return str(self.value)
@@ -9,6 +9,7 @@ from dateutil.parser import isoparse
9
9
 
10
10
  from .. import types
11
11
  from ..models.blank_enum import BlankEnum
12
+ from ..models.kind_enum import KindEnum
12
13
  from ..models.oecd_fos_2007_code_enum import OecdFos2007CodeEnum
13
14
  from ..types import UNSET, File, Unset
14
15
 
@@ -30,6 +31,7 @@ class ProjectRequest:
30
31
  oecd_fos_2007_code (Union[BlankEnum, None, OecdFos2007CodeEnum, Unset]):
31
32
  is_industry (Union[Unset, bool]):
32
33
  image (Union[File, None, Unset]):
34
+ kind (Union[Unset, KindEnum]):
33
35
  """
34
36
 
35
37
  name: str
@@ -42,6 +44,7 @@ class ProjectRequest:
42
44
  oecd_fos_2007_code: Union[BlankEnum, None, OecdFos2007CodeEnum, Unset] = UNSET
43
45
  is_industry: Union[Unset, bool] = UNSET
44
46
  image: Union[File, None, Unset] = UNSET
47
+ kind: Union[Unset, KindEnum] = UNSET
45
48
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
46
49
 
47
50
  def to_dict(self) -> dict[str, Any]:
@@ -96,6 +99,10 @@ class ProjectRequest:
96
99
  else:
97
100
  image = self.image
98
101
 
102
+ kind: Union[Unset, str] = UNSET
103
+ if not isinstance(self.kind, Unset):
104
+ kind = self.kind.value
105
+
99
106
  field_dict: dict[str, Any] = {}
100
107
  field_dict.update(self.additional_properties)
101
108
  field_dict.update(
@@ -120,6 +127,8 @@ class ProjectRequest:
120
127
  field_dict["is_industry"] = is_industry
121
128
  if image is not UNSET:
122
129
  field_dict["image"] = image
130
+ if kind is not UNSET:
131
+ field_dict["kind"] = kind
123
132
 
124
133
  return field_dict
125
134
 
@@ -221,6 +230,13 @@ class ProjectRequest:
221
230
 
222
231
  image = _parse_image(d.pop("image", UNSET))
223
232
 
233
+ _kind = d.pop("kind", UNSET)
234
+ kind: Union[Unset, KindEnum]
235
+ if isinstance(_kind, Unset):
236
+ kind = UNSET
237
+ else:
238
+ kind = KindEnum(_kind)
239
+
224
240
  project_request = cls(
225
241
  name=name,
226
242
  customer=customer,
@@ -232,6 +248,7 @@ class ProjectRequest:
232
248
  oecd_fos_2007_code=oecd_fos_2007_code,
233
249
  is_industry=is_industry,
234
250
  image=image,
251
+ kind=kind,
235
252
  )
236
253
 
237
254
  project_request.additional_properties = d
@@ -7,6 +7,7 @@ from attrs import define as _attrs_define
7
7
  from attrs import field as _attrs_field
8
8
  from dateutil.parser import isoparse
9
9
 
10
+ from ..models.service_account_state import ServiceAccountState
10
11
  from ..types import UNSET, Unset
11
12
 
12
13
  T = TypeVar("T", bound="ProjectServiceAccount")
@@ -21,6 +22,7 @@ class ProjectServiceAccount:
21
22
  created (datetime.datetime):
22
23
  modified (datetime.datetime):
23
24
  error_message (str):
25
+ state (ServiceAccountState):
24
26
  token (Union[None, str]):
25
27
  expires_at (Union[None, str]):
26
28
  project (UUID):
@@ -41,6 +43,7 @@ class ProjectServiceAccount:
41
43
  created: datetime.datetime
42
44
  modified: datetime.datetime
43
45
  error_message: str
46
+ state: ServiceAccountState
44
47
  token: Union[None, str]
45
48
  expires_at: Union[None, str]
46
49
  project: UUID
@@ -67,6 +70,8 @@ class ProjectServiceAccount:
67
70
 
68
71
  error_message = self.error_message
69
72
 
73
+ state = self.state.value
74
+
70
75
  token: Union[None, str]
71
76
  token = self.token
72
77
 
@@ -104,6 +109,7 @@ class ProjectServiceAccount:
104
109
  "created": created,
105
110
  "modified": modified,
106
111
  "error_message": error_message,
112
+ "state": state,
107
113
  "token": token,
108
114
  "expires_at": expires_at,
109
115
  "project": project,
@@ -140,6 +146,8 @@ class ProjectServiceAccount:
140
146
 
141
147
  error_message = d.pop("error_message")
142
148
 
149
+ state = ServiceAccountState(d.pop("state"))
150
+
143
151
  def _parse_token(data: object) -> Union[None, str]:
144
152
  if data is None:
145
153
  return data
@@ -182,6 +190,7 @@ class ProjectServiceAccount:
182
190
  created=created,
183
191
  modified=modified,
184
192
  error_message=error_message,
193
+ state=state,
185
194
  token=token,
186
195
  expires_at=expires_at,
187
196
  project=project,
@@ -16,6 +16,7 @@ class ProjectsListFieldItem(str, Enum):
16
16
  END_DATE_REQUESTED_BY = "end_date_requested_by"
17
17
  IMAGE = "image"
18
18
  IS_INDUSTRY = "is_industry"
19
+ KIND = "kind"
19
20
  MARKETPLACE_RESOURCE_COUNT = "marketplace_resource_count"
20
21
  MAX_SERVICE_ACCOUNTS = "max_service_accounts"
21
22
  NAME = "name"
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ProjectsOtherUsersListO(str, Enum):
5
+ CONCATENATED_NAME = "concatenated_name"
6
+ VALUE_1 = "-concatenated_name"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)
@@ -16,6 +16,7 @@ class ProjectsRetrieveFieldItem(str, Enum):
16
16
  END_DATE_REQUESTED_BY = "end_date_requested_by"
17
17
  IMAGE = "image"
18
18
  IS_INDUSTRY = "is_industry"
19
+ KIND = "kind"
19
20
  MARKETPLACE_RESOURCE_COUNT = "marketplace_resource_count"
20
21
  MAX_SERVICE_ACCOUNTS = "max_service_accounts"
21
22
  NAME = "name"
@@ -40,6 +40,7 @@ class Proposal:
40
40
  round_ (NestedRound):
41
41
  call_uuid (UUID):
42
42
  call_name (str):
43
+ call_managing_organisation_uuid (UUID):
43
44
  oecd_fos_2007_label (str):
44
45
  allocation_comment (Union[None, str]):
45
46
  created (datetime.datetime):
@@ -67,6 +68,7 @@ class Proposal:
67
68
  round_: "NestedRound"
68
69
  call_uuid: UUID
69
70
  call_name: str
71
+ call_managing_organisation_uuid: UUID
70
72
  oecd_fos_2007_label: str
71
73
  allocation_comment: Union[None, str]
72
74
  created: datetime.datetime
@@ -117,6 +119,8 @@ class Proposal:
117
119
 
118
120
  call_name = self.call_name
119
121
 
122
+ call_managing_organisation_uuid = str(self.call_managing_organisation_uuid)
123
+
120
124
  oecd_fos_2007_label = self.oecd_fos_2007_label
121
125
 
122
126
  allocation_comment: Union[None, str]
@@ -174,6 +178,7 @@ class Proposal:
174
178
  "round": round_,
175
179
  "call_uuid": call_uuid,
176
180
  "call_name": call_name,
181
+ "call_managing_organisation_uuid": call_managing_organisation_uuid,
177
182
  "oecd_fos_2007_label": oecd_fos_2007_label,
178
183
  "allocation_comment": allocation_comment,
179
184
  "created": created,
@@ -252,6 +257,8 @@ class Proposal:
252
257
 
253
258
  call_name = d.pop("call_name")
254
259
 
260
+ call_managing_organisation_uuid = UUID(d.pop("call_managing_organisation_uuid"))
261
+
255
262
  oecd_fos_2007_label = d.pop("oecd_fos_2007_label")
256
263
 
257
264
  def _parse_allocation_comment(data: object) -> Union[None, str]:
@@ -337,6 +344,7 @@ class Proposal:
337
344
  round_=round_,
338
345
  call_uuid=call_uuid,
339
346
  call_name=call_name,
347
+ call_managing_organisation_uuid=call_managing_organisation_uuid,
340
348
  oecd_fos_2007_label=oecd_fos_2007_label,
341
349
  allocation_comment=allocation_comment,
342
350
  created=created,
@@ -36,6 +36,7 @@ class ProposalReview:
36
36
  round_start_time (datetime.datetime):
37
37
  call_name (str):
38
38
  call_uuid (UUID):
39
+ call_managing_organisation_uuid (UUID):
39
40
  summary_score (Union[Unset, int]):
40
41
  summary_public_comment (Union[Unset, str]):
41
42
  summary_private_comment (Union[Unset, str]):
@@ -67,6 +68,7 @@ class ProposalReview:
67
68
  round_start_time: datetime.datetime
68
69
  call_name: str
69
70
  call_uuid: UUID
71
+ call_managing_organisation_uuid: UUID
70
72
  summary_score: Union[Unset, int] = UNSET
71
73
  summary_public_comment: Union[Unset, str] = UNSET
72
74
  summary_private_comment: Union[Unset, str] = UNSET
@@ -117,6 +119,8 @@ class ProposalReview:
117
119
 
118
120
  call_uuid = str(self.call_uuid)
119
121
 
122
+ call_managing_organisation_uuid = str(self.call_managing_organisation_uuid)
123
+
120
124
  summary_score = self.summary_score
121
125
 
122
126
  summary_public_comment = self.summary_public_comment
@@ -198,6 +202,7 @@ class ProposalReview:
198
202
  "round_start_time": round_start_time,
199
203
  "call_name": call_name,
200
204
  "call_uuid": call_uuid,
205
+ "call_managing_organisation_uuid": call_managing_organisation_uuid,
201
206
  }
202
207
  )
203
208
  if summary_score is not UNSET:
@@ -269,6 +274,8 @@ class ProposalReview:
269
274
 
270
275
  call_uuid = UUID(d.pop("call_uuid"))
271
276
 
277
+ call_managing_organisation_uuid = UUID(d.pop("call_managing_organisation_uuid"))
278
+
272
279
  summary_score = d.pop("summary_score", UNSET)
273
280
 
274
281
  summary_public_comment = d.pop("summary_public_comment", UNSET)
@@ -380,6 +387,7 @@ class ProposalReview:
380
387
  round_start_time=round_start_time,
381
388
  call_name=call_name,
382
389
  call_uuid=call_uuid,
390
+ call_managing_organisation_uuid=call_managing_organisation_uuid,
383
391
  summary_score=summary_score,
384
392
  summary_public_comment=summary_public_comment,
385
393
  summary_private_comment=summary_private_comment,
@@ -7,6 +7,7 @@ from attrs import field as _attrs_field
7
7
 
8
8
  from ..models.blank_enum import BlankEnum
9
9
  from ..models.checklist_operators import ChecklistOperators
10
+ from ..models.dependency_logic_operator_enum import DependencyLogicOperatorEnum
10
11
  from ..models.question_type_enum import QuestionTypeEnum
11
12
  from ..types import UNSET, Unset
12
13
 
@@ -42,6 +43,7 @@ class QuestionAdmin:
42
43
  is conditional on answer matching guidance_answer_value with guidance_operator
43
44
  min_value (Union[None, Unset, str]): Minimum value allowed for NUMBER type questions
44
45
  max_value (Union[None, Unset, str]): Maximum value allowed for NUMBER type questions
46
+ dependency_logic_operator (Union[Unset, DependencyLogicOperatorEnum]):
45
47
  """
46
48
 
47
49
  uuid: UUID
@@ -63,6 +65,7 @@ class QuestionAdmin:
63
65
  always_show_guidance: Union[Unset, bool] = UNSET
64
66
  min_value: Union[None, Unset, str] = UNSET
65
67
  max_value: Union[None, Unset, str] = UNSET
68
+ dependency_logic_operator: Union[Unset, DependencyLogicOperatorEnum] = UNSET
66
69
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
67
70
 
68
71
  def to_dict(self) -> dict[str, Any]:
@@ -129,6 +132,10 @@ class QuestionAdmin:
129
132
  else:
130
133
  max_value = self.max_value
131
134
 
135
+ dependency_logic_operator: Union[Unset, str] = UNSET
136
+ if not isinstance(self.dependency_logic_operator, Unset):
137
+ dependency_logic_operator = self.dependency_logic_operator.value
138
+
132
139
  field_dict: dict[str, Any] = {}
133
140
  field_dict.update(self.additional_properties)
134
141
  field_dict.update(
@@ -167,6 +174,8 @@ class QuestionAdmin:
167
174
  field_dict["min_value"] = min_value
168
175
  if max_value is not UNSET:
169
176
  field_dict["max_value"] = max_value
177
+ if dependency_logic_operator is not UNSET:
178
+ field_dict["dependency_logic_operator"] = dependency_logic_operator
170
179
 
171
180
  return field_dict
172
181
 
@@ -271,6 +280,13 @@ class QuestionAdmin:
271
280
 
272
281
  max_value = _parse_max_value(d.pop("max_value", UNSET))
273
282
 
283
+ _dependency_logic_operator = d.pop("dependency_logic_operator", UNSET)
284
+ dependency_logic_operator: Union[Unset, DependencyLogicOperatorEnum]
285
+ if isinstance(_dependency_logic_operator, Unset):
286
+ dependency_logic_operator = UNSET
287
+ else:
288
+ dependency_logic_operator = DependencyLogicOperatorEnum(_dependency_logic_operator)
289
+
274
290
  question_admin = cls(
275
291
  uuid=uuid,
276
292
  question_options=question_options,
@@ -291,6 +307,7 @@ class QuestionAdmin:
291
307
  always_show_guidance=always_show_guidance,
292
308
  min_value=min_value,
293
309
  max_value=max_value,
310
+ dependency_logic_operator=dependency_logic_operator,
294
311
  )
295
312
 
296
313
  question_admin.additional_properties = d
@@ -6,6 +6,7 @@ from attrs import field as _attrs_field
6
6
 
7
7
  from ..models.blank_enum import BlankEnum
8
8
  from ..models.checklist_operators import ChecklistOperators
9
+ from ..models.dependency_logic_operator_enum import DependencyLogicOperatorEnum
9
10
  from ..models.question_type_enum import QuestionTypeEnum
10
11
  from ..types import UNSET, Unset
11
12
 
@@ -32,6 +33,7 @@ class QuestionAdminRequest:
32
33
  is conditional on answer matching guidance_answer_value with guidance_operator
33
34
  min_value (Union[None, Unset, str]): Minimum value allowed for NUMBER type questions
34
35
  max_value (Union[None, Unset, str]): Maximum value allowed for NUMBER type questions
36
+ dependency_logic_operator (Union[Unset, DependencyLogicOperatorEnum]):
35
37
  """
36
38
 
37
39
  checklist: str
@@ -48,6 +50,7 @@ class QuestionAdminRequest:
48
50
  always_show_guidance: Union[Unset, bool] = UNSET
49
51
  min_value: Union[None, Unset, str] = UNSET
50
52
  max_value: Union[None, Unset, str] = UNSET
53
+ dependency_logic_operator: Union[Unset, DependencyLogicOperatorEnum] = UNSET
51
54
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
52
55
 
53
56
  def to_dict(self) -> dict[str, Any]:
@@ -101,6 +104,10 @@ class QuestionAdminRequest:
101
104
  else:
102
105
  max_value = self.max_value
103
106
 
107
+ dependency_logic_operator: Union[Unset, str] = UNSET
108
+ if not isinstance(self.dependency_logic_operator, Unset):
109
+ dependency_logic_operator = self.dependency_logic_operator.value
110
+
104
111
  field_dict: dict[str, Any] = {}
105
112
  field_dict.update(self.additional_properties)
106
113
  field_dict.update(
@@ -134,6 +141,8 @@ class QuestionAdminRequest:
134
141
  field_dict["min_value"] = min_value
135
142
  if max_value is not UNSET:
136
143
  field_dict["max_value"] = max_value
144
+ if dependency_logic_operator is not UNSET:
145
+ field_dict["dependency_logic_operator"] = dependency_logic_operator
137
146
 
138
147
  return field_dict
139
148
 
@@ -221,6 +230,13 @@ class QuestionAdminRequest:
221
230
 
222
231
  max_value = _parse_max_value(d.pop("max_value", UNSET))
223
232
 
233
+ _dependency_logic_operator = d.pop("dependency_logic_operator", UNSET)
234
+ dependency_logic_operator: Union[Unset, DependencyLogicOperatorEnum]
235
+ if isinstance(_dependency_logic_operator, Unset):
236
+ dependency_logic_operator = UNSET
237
+ else:
238
+ dependency_logic_operator = DependencyLogicOperatorEnum(_dependency_logic_operator)
239
+
224
240
  question_admin_request = cls(
225
241
  checklist=checklist,
226
242
  description=description,
@@ -236,6 +252,7 @@ class QuestionAdminRequest:
236
252
  always_show_guidance=always_show_guidance,
237
253
  min_value=min_value,
238
254
  max_value=max_value,
255
+ dependency_logic_operator=dependency_logic_operator,
239
256
  )
240
257
 
241
258
  question_admin_request.additional_properties = d
@@ -1,5 +1,5 @@
1
1
  from collections.abc import Mapping
2
- from typing import Any, TypeVar, Union
2
+ from typing import Any, TypeVar, Union, cast
3
3
  from uuid import UUID
4
4
 
5
5
  from attrs import define as _attrs_define
@@ -16,8 +16,8 @@ class RancherNestedPublicIP:
16
16
  Attributes:
17
17
  floating_ip (Union[Unset, str]):
18
18
  floating_ip_uuid (Union[Unset, UUID]):
19
- ip_address (Union[Unset, str]):
20
- external_ip_address (Union[Unset, str]):
19
+ ip_address (Union[Unset, str]): An IPv4 or IPv6 address.
20
+ external_ip_address (Union[Unset, str]): An IPv4 or IPv6 address.
21
21
  """
22
22
 
23
23
  floating_ip: Union[Unset, str] = UNSET
@@ -33,9 +33,17 @@ class RancherNestedPublicIP:
33
33
  if not isinstance(self.floating_ip_uuid, Unset):
34
34
  floating_ip_uuid = str(self.floating_ip_uuid)
35
35
 
36
- ip_address = self.ip_address
36
+ ip_address: Union[Unset, str]
37
+ if isinstance(self.ip_address, Unset):
38
+ ip_address = UNSET
39
+ else:
40
+ ip_address = self.ip_address
37
41
 
38
- external_ip_address = self.external_ip_address
42
+ external_ip_address: Union[Unset, str]
43
+ if isinstance(self.external_ip_address, Unset):
44
+ external_ip_address = UNSET
45
+ else:
46
+ external_ip_address = self.external_ip_address
39
47
 
40
48
  field_dict: dict[str, Any] = {}
41
49
  field_dict.update(self.additional_properties)
@@ -63,9 +71,19 @@ class RancherNestedPublicIP:
63
71
  else:
64
72
  floating_ip_uuid = UUID(_floating_ip_uuid)
65
73
 
66
- ip_address = d.pop("ip_address", UNSET)
74
+ def _parse_ip_address(data: object) -> Union[Unset, str]:
75
+ if isinstance(data, Unset):
76
+ return data
77
+ return cast(Union[Unset, str], data)
78
+
79
+ ip_address = _parse_ip_address(d.pop("ip_address", UNSET))
80
+
81
+ def _parse_external_ip_address(data: object) -> Union[Unset, str]:
82
+ if isinstance(data, Unset):
83
+ return data
84
+ return cast(Union[Unset, str], data)
67
85
 
68
- external_ip_address = d.pop("external_ip_address", UNSET)
86
+ external_ip_address = _parse_external_ip_address(d.pop("external_ip_address", UNSET))
69
87
 
70
88
  rancher_nested_public_ip = cls(
71
89
  floating_ip=floating_ip,
@@ -51,7 +51,7 @@ class RancherService:
51
51
  runtime_state (Union[Unset, str]):
52
52
  namespace (Union[Unset, str]):
53
53
  namespace_name (Union[Unset, str]):
54
- cluster_ip (Union[None, Unset, str]):
54
+ cluster_ip (Union[None, Unset, str]): An IPv4 or IPv6 address.
55
55
  selector (Union[Unset, Any]):
56
56
  target_workloads (Union[Unset, list['RancherNestedWorkload']]):
57
57
  marketplace_offering_uuid (Union[None, Unset, str]):
@@ -26,7 +26,7 @@ class RancherServiceRequest:
26
26
  backend_id (Union[Unset, str]):
27
27
  runtime_state (Union[Unset, str]):
28
28
  namespace (Union[Unset, str]):
29
- cluster_ip (Union[None, Unset, str]):
29
+ cluster_ip (Union[None, Unset, str]): An IPv4 or IPv6 address.
30
30
  selector (Union[Unset, Any]):
31
31
  target_workloads (Union[Unset, list['RancherNestedWorkloadRequest']]):
32
32
  """
@@ -1,5 +1,5 @@
1
1
  from collections.abc import Mapping
2
- from typing import Any, TypeVar
2
+ from typing import Any, TypeVar, cast
3
3
 
4
4
  from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
@@ -11,7 +11,7 @@ T = TypeVar("T", bound="RmqConnection")
11
11
  class RmqConnection:
12
12
  """
13
13
  Attributes:
14
- source_ip (str):
14
+ source_ip (str): An IPv4 or IPv6 address.
15
15
  vhost (str):
16
16
  """
17
17
 
@@ -20,6 +20,7 @@ class RmqConnection:
20
20
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
21
21
 
22
22
  def to_dict(self) -> dict[str, Any]:
23
+ source_ip: str
23
24
  source_ip = self.source_ip
24
25
 
25
26
  vhost = self.vhost
@@ -38,7 +39,11 @@ class RmqConnection:
38
39
  @classmethod
39
40
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
40
41
  d = dict(src_dict)
41
- source_ip = d.pop("source_ip")
42
+
43
+ def _parse_source_ip(data: object) -> str:
44
+ return cast(str, data)
45
+
46
+ source_ip = _parse_source_ip(d.pop("source_ip"))
42
47
 
43
48
  vhost = d.pop("vhost")
44
49