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
@@ -226,7 +226,11 @@ class OpenStackSubNet:
226
226
 
227
227
  dns_nameservers: Union[Unset, list[str]] = UNSET
228
228
  if not isinstance(self.dns_nameservers, Unset):
229
- dns_nameservers = self.dns_nameservers
229
+ dns_nameservers = []
230
+ for dns_nameservers_item_data in self.dns_nameservers:
231
+ dns_nameservers_item: str
232
+ dns_nameservers_item = dns_nameservers_item_data
233
+ dns_nameservers.append(dns_nameservers_item)
230
234
 
231
235
  host_routes: Union[Unset, list[dict[str, Any]]] = UNSET
232
236
  if not isinstance(self.host_routes, Unset):
@@ -525,7 +529,16 @@ class OpenStackSubNet:
525
529
 
526
530
  enable_dhcp = d.pop("enable_dhcp", UNSET)
527
531
 
528
- dns_nameservers = cast(list[str], d.pop("dns_nameservers", UNSET))
532
+ dns_nameservers = []
533
+ _dns_nameservers = d.pop("dns_nameservers", UNSET)
534
+ for dns_nameservers_item_data in _dns_nameservers or []:
535
+
536
+ def _parse_dns_nameservers_item(data: object) -> str:
537
+ return cast(str, data)
538
+
539
+ dns_nameservers_item = _parse_dns_nameservers_item(dns_nameservers_item_data)
540
+
541
+ dns_nameservers.append(dns_nameservers_item)
529
542
 
530
543
  host_routes = []
531
544
  _host_routes = d.pop("host_routes", UNSET)
@@ -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
 
4
4
  from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
@@ -13,8 +13,8 @@ T = TypeVar("T", bound="OpenStackSubNetAllocationPool")
13
13
  class OpenStackSubNetAllocationPool:
14
14
  """
15
15
  Attributes:
16
- start (Union[Unset, str]):
17
- end (Union[Unset, str]):
16
+ start (Union[Unset, str]): An IPv4 or IPv6 address.
17
+ end (Union[Unset, str]): An IPv4 or IPv6 address.
18
18
  """
19
19
 
20
20
  start: Union[Unset, str] = UNSET
@@ -22,9 +22,17 @@ class OpenStackSubNetAllocationPool:
22
22
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
23
 
24
24
  def to_dict(self) -> dict[str, Any]:
25
- start = self.start
26
-
27
- end = self.end
25
+ start: Union[Unset, str]
26
+ if isinstance(self.start, Unset):
27
+ start = UNSET
28
+ else:
29
+ start = self.start
30
+
31
+ end: Union[Unset, str]
32
+ if isinstance(self.end, Unset):
33
+ end = UNSET
34
+ else:
35
+ end = self.end
28
36
 
29
37
  field_dict: dict[str, Any] = {}
30
38
  field_dict.update(self.additional_properties)
@@ -39,9 +47,20 @@ class OpenStackSubNetAllocationPool:
39
47
  @classmethod
40
48
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
41
49
  d = dict(src_dict)
42
- start = d.pop("start", UNSET)
43
50
 
44
- end = d.pop("end", UNSET)
51
+ def _parse_start(data: object) -> Union[Unset, str]:
52
+ if isinstance(data, Unset):
53
+ return data
54
+ return cast(Union[Unset, str], data)
55
+
56
+ start = _parse_start(d.pop("start", UNSET))
57
+
58
+ def _parse_end(data: object) -> Union[Unset, str]:
59
+ if isinstance(data, Unset):
60
+ return data
61
+ return cast(Union[Unset, str], data)
62
+
63
+ end = _parse_end(d.pop("end", UNSET))
45
64
 
46
65
  open_stack_sub_net_allocation_pool = cls(
47
66
  start=start,
@@ -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,8 +11,8 @@ T = TypeVar("T", bound="OpenStackSubNetAllocationPoolRequest")
11
11
  class OpenStackSubNetAllocationPoolRequest:
12
12
  """
13
13
  Attributes:
14
- start (str):
15
- end (str):
14
+ start (str): An IPv4 or IPv6 address.
15
+ end (str): An IPv4 or IPv6 address.
16
16
  """
17
17
 
18
18
  start: str
@@ -20,8 +20,10 @@ class OpenStackSubNetAllocationPoolRequest:
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
+ start: str
23
24
  start = self.start
24
25
 
26
+ end: str
25
27
  end = self.end
26
28
 
27
29
  field_dict: dict[str, Any] = {}
@@ -38,9 +40,16 @@ class OpenStackSubNetAllocationPoolRequest:
38
40
  @classmethod
39
41
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
40
42
  d = dict(src_dict)
41
- start = d.pop("start")
42
43
 
43
- end = d.pop("end")
44
+ def _parse_start(data: object) -> str:
45
+ return cast(str, data)
46
+
47
+ start = _parse_start(d.pop("start"))
48
+
49
+ def _parse_end(data: object) -> str:
50
+ return cast(str, data)
51
+
52
+ end = _parse_end(d.pop("end"))
44
53
 
45
54
  open_stack_sub_net_allocation_pool_request = cls(
46
55
  start=start,
@@ -62,7 +62,11 @@ class OpenStackSubNetRequest:
62
62
 
63
63
  dns_nameservers: Union[Unset, list[str]] = UNSET
64
64
  if not isinstance(self.dns_nameservers, Unset):
65
- dns_nameservers = self.dns_nameservers
65
+ dns_nameservers = []
66
+ for dns_nameservers_item_data in self.dns_nameservers:
67
+ dns_nameservers_item: str
68
+ dns_nameservers_item = dns_nameservers_item_data
69
+ dns_nameservers.append(dns_nameservers_item)
66
70
 
67
71
  host_routes: Union[Unset, list[dict[str, Any]]] = UNSET
68
72
  if not isinstance(self.host_routes, Unset):
@@ -125,7 +129,16 @@ class OpenStackSubNetRequest:
125
129
 
126
130
  allocation_pools.append(allocation_pools_item)
127
131
 
128
- dns_nameservers = cast(list[str], d.pop("dns_nameservers", UNSET))
132
+ dns_nameservers = []
133
+ _dns_nameservers = d.pop("dns_nameservers", UNSET)
134
+ for dns_nameservers_item_data in _dns_nameservers or []:
135
+
136
+ def _parse_dns_nameservers_item(data: object) -> str:
137
+ return cast(str, data)
138
+
139
+ dns_nameservers_item = _parse_dns_nameservers_item(dns_nameservers_item_data)
140
+
141
+ dns_nameservers.append(dns_nameservers_item)
129
142
 
130
143
  host_routes = []
131
144
  _host_routes = d.pop("host_routes", UNSET)
@@ -22,6 +22,7 @@ class PatchedCustomerRequest:
22
22
  name (Union[Unset, str]):
23
23
  native_name (Union[Unset, str]):
24
24
  abbreviation (Union[Unset, str]):
25
+ description (Union[Unset, str]):
25
26
  contact_details (Union[Unset, str]):
26
27
  email (Union[Unset, str]):
27
28
  phone_number (Union[Unset, str]):
@@ -42,6 +43,7 @@ class PatchedCustomerRequest:
42
43
  name: Union[Unset, str] = UNSET
43
44
  native_name: Union[Unset, str] = UNSET
44
45
  abbreviation: Union[Unset, str] = UNSET
46
+ description: Union[Unset, str] = UNSET
45
47
  contact_details: Union[Unset, str] = UNSET
46
48
  email: Union[Unset, str] = UNSET
47
49
  phone_number: Union[Unset, str] = UNSET
@@ -75,6 +77,8 @@ class PatchedCustomerRequest:
75
77
 
76
78
  abbreviation = self.abbreviation
77
79
 
80
+ description = self.description
81
+
78
82
  contact_details = self.contact_details
79
83
 
80
84
  email = self.email
@@ -128,6 +132,8 @@ class PatchedCustomerRequest:
128
132
  field_dict["native_name"] = native_name
129
133
  if abbreviation is not UNSET:
130
134
  field_dict["abbreviation"] = abbreviation
135
+ if description is not UNSET:
136
+ field_dict["description"] = description
131
137
  if contact_details is not UNSET:
132
138
  field_dict["contact_details"] = contact_details
133
139
  if email is not UNSET:
@@ -185,6 +191,8 @@ class PatchedCustomerRequest:
185
191
 
186
192
  abbreviation = d.pop("abbreviation", UNSET)
187
193
 
194
+ description = d.pop("description", UNSET)
195
+
188
196
  contact_details = d.pop("contact_details", UNSET)
189
197
 
190
198
  email = d.pop("email", UNSET)
@@ -248,6 +256,7 @@ class PatchedCustomerRequest:
248
256
  name=name,
249
257
  native_name=native_name,
250
258
  abbreviation=abbreviation,
259
+ description=description,
251
260
  contact_details=contact_details,
252
261
  email=email,
253
262
  phone_number=phone_number,
@@ -0,0 +1,76 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..models.issue_status_type_enum import IssueStatusTypeEnum
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="PatchedIssueStatusRequest")
11
+
12
+
13
+ @_attrs_define
14
+ class PatchedIssueStatusRequest:
15
+ """
16
+ Attributes:
17
+ name (Union[Unset, str]): Status name in Jira.
18
+ type_ (Union[Unset, IssueStatusTypeEnum]):
19
+ """
20
+
21
+ name: Union[Unset, str] = UNSET
22
+ type_: Union[Unset, IssueStatusTypeEnum] = UNSET
23
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> dict[str, Any]:
26
+ name = self.name
27
+
28
+ type_: Union[Unset, int] = UNSET
29
+ if not isinstance(self.type_, Unset):
30
+ type_ = self.type_.value
31
+
32
+ field_dict: dict[str, Any] = {}
33
+ field_dict.update(self.additional_properties)
34
+ field_dict.update({})
35
+ if name is not UNSET:
36
+ field_dict["name"] = name
37
+ if type_ is not UNSET:
38
+ field_dict["type"] = type_
39
+
40
+ return field_dict
41
+
42
+ @classmethod
43
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
44
+ d = dict(src_dict)
45
+ name = d.pop("name", UNSET)
46
+
47
+ _type_ = d.pop("type", UNSET)
48
+ type_: Union[Unset, IssueStatusTypeEnum]
49
+ if isinstance(_type_, Unset):
50
+ type_ = UNSET
51
+ else:
52
+ type_ = IssueStatusTypeEnum(_type_)
53
+
54
+ patched_issue_status_request = cls(
55
+ name=name,
56
+ type_=type_,
57
+ )
58
+
59
+ patched_issue_status_request.additional_properties = d
60
+ return patched_issue_status_request
61
+
62
+ @property
63
+ def additional_keys(self) -> list[str]:
64
+ return list(self.additional_properties.keys())
65
+
66
+ def __getitem__(self, key: str) -> Any:
67
+ return self.additional_properties[key]
68
+
69
+ def __setitem__(self, key: str, value: Any) -> None:
70
+ self.additional_properties[key] = value
71
+
72
+ def __delitem__(self, key: str) -> None:
73
+ del self.additional_properties[key]
74
+
75
+ def __contains__(self, key: str) -> bool:
76
+ return key in self.additional_properties
@@ -62,7 +62,11 @@ class PatchedOpenStackSubNetRequest:
62
62
 
63
63
  dns_nameservers: Union[Unset, list[str]] = UNSET
64
64
  if not isinstance(self.dns_nameservers, Unset):
65
- dns_nameservers = self.dns_nameservers
65
+ dns_nameservers = []
66
+ for dns_nameservers_item_data in self.dns_nameservers:
67
+ dns_nameservers_item: str
68
+ dns_nameservers_item = dns_nameservers_item_data
69
+ dns_nameservers.append(dns_nameservers_item)
66
70
 
67
71
  host_routes: Union[Unset, list[dict[str, Any]]] = UNSET
68
72
  if not isinstance(self.host_routes, Unset):
@@ -123,7 +127,16 @@ class PatchedOpenStackSubNetRequest:
123
127
 
124
128
  allocation_pools.append(allocation_pools_item)
125
129
 
126
- dns_nameservers = cast(list[str], d.pop("dns_nameservers", UNSET))
130
+ dns_nameservers = []
131
+ _dns_nameservers = d.pop("dns_nameservers", UNSET)
132
+ for dns_nameservers_item_data in _dns_nameservers or []:
133
+
134
+ def _parse_dns_nameservers_item(data: object) -> str:
135
+ return cast(str, data)
136
+
137
+ dns_nameservers_item = _parse_dns_nameservers_item(dns_nameservers_item_data)
138
+
139
+ dns_nameservers.append(dns_nameservers_item)
127
140
 
128
141
  host_routes = []
129
142
  _host_routes = d.pop("host_routes", UNSET)
@@ -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 PatchedProjectRequest:
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: Union[Unset, str] = UNSET
@@ -42,6 +44,7 @@ class PatchedProjectRequest:
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 PatchedProjectRequest:
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({})
@@ -119,6 +126,8 @@ class PatchedProjectRequest:
119
126
  field_dict["is_industry"] = is_industry
120
127
  if image is not UNSET:
121
128
  field_dict["image"] = image
129
+ if kind is not UNSET:
130
+ field_dict["kind"] = kind
122
131
 
123
132
  return field_dict
124
133
 
@@ -220,6 +229,13 @@ class PatchedProjectRequest:
220
229
 
221
230
  image = _parse_image(d.pop("image", UNSET))
222
231
 
232
+ _kind = d.pop("kind", UNSET)
233
+ kind: Union[Unset, KindEnum]
234
+ if isinstance(_kind, Unset):
235
+ kind = UNSET
236
+ else:
237
+ kind = KindEnum(_kind)
238
+
223
239
  patched_project_request = cls(
224
240
  name=name,
225
241
  customer=customer,
@@ -231,6 +247,7 @@ class PatchedProjectRequest:
231
247
  oecd_fos_2007_code=oecd_fos_2007_code,
232
248
  is_industry=is_industry,
233
249
  image=image,
250
+ kind=kind,
234
251
  )
235
252
 
236
253
  patched_project_request.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 PatchedQuestionAdminRequest:
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
  description: Union[Unset, str] = UNSET
@@ -48,6 +50,7 @@ class PatchedQuestionAdminRequest:
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 PatchedQuestionAdminRequest:
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({})
@@ -132,6 +139,8 @@ class PatchedQuestionAdminRequest:
132
139
  field_dict["min_value"] = min_value
133
140
  if max_value is not UNSET:
134
141
  field_dict["max_value"] = max_value
142
+ if dependency_logic_operator is not UNSET:
143
+ field_dict["dependency_logic_operator"] = dependency_logic_operator
135
144
 
136
145
  return field_dict
137
146
 
@@ -219,6 +228,13 @@ class PatchedQuestionAdminRequest:
219
228
 
220
229
  max_value = _parse_max_value(d.pop("max_value", UNSET))
221
230
 
231
+ _dependency_logic_operator = d.pop("dependency_logic_operator", UNSET)
232
+ dependency_logic_operator: Union[Unset, DependencyLogicOperatorEnum]
233
+ if isinstance(_dependency_logic_operator, Unset):
234
+ dependency_logic_operator = UNSET
235
+ else:
236
+ dependency_logic_operator = DependencyLogicOperatorEnum(_dependency_logic_operator)
237
+
222
238
  patched_question_admin_request = cls(
223
239
  description=description,
224
240
  user_guidance=user_guidance,
@@ -234,6 +250,7 @@ class PatchedQuestionAdminRequest:
234
250
  always_show_guidance=always_show_guidance,
235
251
  min_value=min_value,
236
252
  max_value=max_value,
253
+ dependency_logic_operator=dependency_logic_operator,
237
254
  )
238
255
 
239
256
  patched_question_admin_request.additional_properties = d
@@ -26,7 +26,7 @@ class PatchedRancherServiceRequest:
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
  """
@@ -23,6 +23,7 @@ class PermissionRequest:
23
23
  created (datetime.datetime):
24
24
  created_by_full_name (str):
25
25
  created_by_username (str):
26
+ created_by_email (str):
26
27
  reviewed_by_full_name (str):
27
28
  reviewed_by_username (str):
28
29
  reviewed_at (Union[None, datetime.datetime]): Timestamp when the review was completed
@@ -32,6 +33,7 @@ class PermissionRequest:
32
33
  customer_name (str):
33
34
  role_name (str):
34
35
  role_description (str):
36
+ project_name_template (str):
35
37
  review_comment (Union[None, Unset, str]): Optional comment provided during review
36
38
  """
37
39
 
@@ -42,6 +44,7 @@ class PermissionRequest:
42
44
  created: datetime.datetime
43
45
  created_by_full_name: str
44
46
  created_by_username: str
47
+ created_by_email: str
45
48
  reviewed_by_full_name: str
46
49
  reviewed_by_username: str
47
50
  reviewed_at: Union[None, datetime.datetime]
@@ -51,6 +54,7 @@ class PermissionRequest:
51
54
  customer_name: str
52
55
  role_name: str
53
56
  role_description: str
57
+ project_name_template: str
54
58
  review_comment: Union[None, Unset, str] = UNSET
55
59
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
56
60
 
@@ -69,6 +73,8 @@ class PermissionRequest:
69
73
 
70
74
  created_by_username = self.created_by_username
71
75
 
76
+ created_by_email = self.created_by_email
77
+
72
78
  reviewed_by_full_name = self.reviewed_by_full_name
73
79
 
74
80
  reviewed_by_username = self.reviewed_by_username
@@ -91,6 +97,8 @@ class PermissionRequest:
91
97
 
92
98
  role_description = self.role_description
93
99
 
100
+ project_name_template = self.project_name_template
101
+
94
102
  review_comment: Union[None, Unset, str]
95
103
  if isinstance(self.review_comment, Unset):
96
104
  review_comment = UNSET
@@ -108,6 +116,7 @@ class PermissionRequest:
108
116
  "created": created,
109
117
  "created_by_full_name": created_by_full_name,
110
118
  "created_by_username": created_by_username,
119
+ "created_by_email": created_by_email,
111
120
  "reviewed_by_full_name": reviewed_by_full_name,
112
121
  "reviewed_by_username": reviewed_by_username,
113
122
  "reviewed_at": reviewed_at,
@@ -117,6 +126,7 @@ class PermissionRequest:
117
126
  "customer_name": customer_name,
118
127
  "role_name": role_name,
119
128
  "role_description": role_description,
129
+ "project_name_template": project_name_template,
120
130
  }
121
131
  )
122
132
  if review_comment is not UNSET:
@@ -141,6 +151,8 @@ class PermissionRequest:
141
151
 
142
152
  created_by_username = d.pop("created_by_username")
143
153
 
154
+ created_by_email = d.pop("created_by_email")
155
+
144
156
  reviewed_by_full_name = d.pop("reviewed_by_full_name")
145
157
 
146
158
  reviewed_by_username = d.pop("reviewed_by_username")
@@ -172,6 +184,8 @@ class PermissionRequest:
172
184
 
173
185
  role_description = d.pop("role_description")
174
186
 
187
+ project_name_template = d.pop("project_name_template")
188
+
175
189
  def _parse_review_comment(data: object) -> Union[None, Unset, str]:
176
190
  if data is None:
177
191
  return data
@@ -189,6 +203,7 @@ class PermissionRequest:
189
203
  created=created,
190
204
  created_by_full_name=created_by_full_name,
191
205
  created_by_username=created_by_username,
206
+ created_by_email=created_by_email,
192
207
  reviewed_by_full_name=reviewed_by_full_name,
193
208
  reviewed_by_username=reviewed_by_username,
194
209
  reviewed_at=reviewed_at,
@@ -198,6 +213,7 @@ class PermissionRequest:
198
213
  customer_name=customer_name,
199
214
  role_name=role_name,
200
215
  role_description=role_description,
216
+ project_name_template=project_name_template,
201
217
  review_comment=review_comment,
202
218
  )
203
219
 
@@ -8,6 +8,7 @@ from attrs import field as _attrs_field
8
8
  from dateutil.parser import isoparse
9
9
 
10
10
  from ..models.blank_enum import BlankEnum
11
+ from ..models.kind_enum import KindEnum
11
12
  from ..models.oecd_fos_2007_code_enum import OecdFos2007CodeEnum
12
13
  from ..types import UNSET, Unset
13
14
 
@@ -49,6 +50,7 @@ class Project:
49
50
  image (Union[None, Unset, str]):
50
51
  resources_count (Union[Unset, int]):
51
52
  max_service_accounts (Union[None, Unset, int]): Maximum number of service accounts allowed
53
+ kind (Union[Unset, KindEnum]):
52
54
  project_credit (Union[None, Unset, float]):
53
55
  marketplace_resource_count (Union[Unset, ProjectMarketplaceResourceCount]):
54
56
  billing_price_estimate (Union[Unset, NestedPriceEstimate]):
@@ -79,6 +81,7 @@ class Project:
79
81
  image: Union[None, Unset, str] = UNSET
80
82
  resources_count: Union[Unset, int] = UNSET
81
83
  max_service_accounts: Union[None, Unset, int] = UNSET
84
+ kind: Union[Unset, KindEnum] = UNSET
82
85
  project_credit: Union[None, Unset, float] = UNSET
83
86
  marketplace_resource_count: Union[Unset, "ProjectMarketplaceResourceCount"] = UNSET
84
87
  billing_price_estimate: Union[Unset, "NestedPriceEstimate"] = UNSET
@@ -187,6 +190,10 @@ class Project:
187
190
  else:
188
191
  max_service_accounts = self.max_service_accounts
189
192
 
193
+ kind: Union[Unset, str] = UNSET
194
+ if not isinstance(self.kind, Unset):
195
+ kind = self.kind.value
196
+
190
197
  project_credit: Union[None, Unset, float]
191
198
  if isinstance(self.project_credit, Unset):
192
199
  project_credit = UNSET
@@ -254,6 +261,8 @@ class Project:
254
261
  field_dict["resources_count"] = resources_count
255
262
  if max_service_accounts is not UNSET:
256
263
  field_dict["max_service_accounts"] = max_service_accounts
264
+ if kind is not UNSET:
265
+ field_dict["kind"] = kind
257
266
  if project_credit is not UNSET:
258
267
  field_dict["project_credit"] = project_credit
259
268
  if marketplace_resource_count is not UNSET:
@@ -437,6 +446,13 @@ class Project:
437
446
 
438
447
  max_service_accounts = _parse_max_service_accounts(d.pop("max_service_accounts", UNSET))
439
448
 
449
+ _kind = d.pop("kind", UNSET)
450
+ kind: Union[Unset, KindEnum]
451
+ if isinstance(_kind, Unset):
452
+ kind = UNSET
453
+ else:
454
+ kind = KindEnum(_kind)
455
+
440
456
  def _parse_project_credit(data: object) -> Union[None, Unset, float]:
441
457
  if data is None:
442
458
  return data
@@ -486,6 +502,7 @@ class Project:
486
502
  image=image,
487
503
  resources_count=resources_count,
488
504
  max_service_accounts=max_service_accounts,
505
+ kind=kind,
489
506
  project_credit=project_credit,
490
507
  marketplace_resource_count=marketplace_resource_count,
491
508
  billing_price_estimate=billing_price_estimate,