waldur-api-client 7.7.6__py3-none-any.whl → 7.7.7__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 (143) hide show
  1. waldur_api_client/api/booking_resources/booking_resources_count.py +34 -11
  2. waldur_api_client/api/booking_resources/booking_resources_list.py +34 -11
  3. waldur_api_client/api/customers/customers_project_metadata_compliance_details_list.py +189 -0
  4. waldur_api_client/api/customers/customers_project_metadata_compliance_overview_list.py +189 -0
  5. waldur_api_client/api/customers/customers_project_metadata_compliance_projects_list.py +187 -0
  6. waldur_api_client/api/customers/customers_project_metadata_question_answers_list.py +187 -0
  7. waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_count.py +34 -11
  8. waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_list.py +34 -11
  9. waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_count.py +34 -11
  10. waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_list.py +34 -11
  11. waldur_api_client/api/marketplace_offering_terms_of_service/__init__.py +1 -0
  12. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_count.py +274 -0
  13. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_create.py +152 -0
  14. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_destroy.py +89 -0
  15. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_list.py +277 -0
  16. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_partial_update.py +164 -0
  17. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_retrieve.py +142 -0
  18. waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_update.py +164 -0
  19. waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_count.py +34 -11
  20. waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_list.py +34 -11
  21. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_count.py +34 -11
  22. waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +34 -11
  23. waldur_api_client/api/marketplace_orders/marketplace_orders_count.py +19 -0
  24. waldur_api_client/api/marketplace_orders/marketplace_orders_list.py +19 -0
  25. waldur_api_client/api/marketplace_plans/marketplace_plans_count.py +19 -0
  26. waldur_api_client/api/marketplace_plans/marketplace_plans_list.py +19 -0
  27. waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_count.py +19 -0
  28. waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_list.py +19 -0
  29. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +34 -11
  30. waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +34 -11
  31. waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +34 -11
  32. waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +34 -11
  33. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_count.py +34 -11
  34. waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_list.py +34 -11
  35. waldur_api_client/api/marketplace_user_offering_consents/__init__.py +1 -0
  36. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_count.py +307 -0
  37. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_create.py +152 -0
  38. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_destroy.py +89 -0
  39. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_list.py +310 -0
  40. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_partial_update.py +164 -0
  41. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_retrieve.py +142 -0
  42. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_revoke.py +146 -0
  43. waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_update.py +164 -0
  44. waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_order_status_retrieve.py +145 -0
  45. waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_status_retrieve.py +147 -0
  46. waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_team_status_list.py +188 -0
  47. waldur_api_client/models/__init__.py +62 -0
  48. waldur_api_client/models/azure_sql_server_create_order_attributes.py +3 -0
  49. waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +3 -0
  50. waldur_api_client/models/booking_offerings_list_field_item.py +0 -2
  51. waldur_api_client/models/booking_offerings_retrieve_field_item.py +0 -2
  52. waldur_api_client/models/booking_resource.py +10 -9
  53. waldur_api_client/models/booking_resources_list_field_item.py +1 -1
  54. waldur_api_client/models/booking_resources_retrieve_field_item.py +1 -1
  55. waldur_api_client/models/checklist_info.py +76 -0
  56. waldur_api_client/models/compliance_overview.py +91 -0
  57. waldur_api_client/models/customer.py +81 -0
  58. waldur_api_client/models/customers_list_field_item.py +4 -0
  59. waldur_api_client/models/customers_retrieve_field_item.py +4 -0
  60. waldur_api_client/models/generic_order_attributes.py +69 -0
  61. waldur_api_client/models/google_auth_authorize_retrieve_field_item.py +1 -0
  62. waldur_api_client/models/google_auth_list_field_item.py +1 -0
  63. waldur_api_client/models/google_auth_retrieve_field_item.py +1 -0
  64. waldur_api_client/models/google_credentials.py +9 -0
  65. waldur_api_client/models/group_invitation.py +24 -0
  66. waldur_api_client/models/group_invitation_request.py +10 -0
  67. waldur_api_client/models/maintenance_announcement.py +8 -0
  68. waldur_api_client/models/marketplace_offering_terms_of_service_count_o_item.py +13 -0
  69. waldur_api_client/models/marketplace_offering_terms_of_service_list_o_item.py +13 -0
  70. waldur_api_client/models/marketplace_orders_list_field_item.py +1 -1
  71. waldur_api_client/models/marketplace_orders_retrieve_field_item.py +1 -1
  72. waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +0 -2
  73. waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +0 -2
  74. waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +0 -2
  75. waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +0 -2
  76. waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +0 -2
  77. waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +0 -2
  78. waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +1 -1
  79. waldur_api_client/models/marketplace_provider_resources_list_field_item.py +1 -1
  80. waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +1 -1
  81. waldur_api_client/models/marketplace_public_offerings_list_field_item.py +0 -2
  82. waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +0 -2
  83. waldur_api_client/models/marketplace_rancher_create_order_attributes.py +3 -0
  84. waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +1 -1
  85. waldur_api_client/models/marketplace_resources_list_field_item.py +1 -1
  86. waldur_api_client/models/marketplace_resources_retrieve_field_item.py +1 -1
  87. waldur_api_client/models/marketplace_service_providers_list_field_item.py +1 -0
  88. waldur_api_client/models/marketplace_service_providers_retrieve_field_item.py +1 -0
  89. waldur_api_client/models/marketplace_user_offering_consents_count_o_item.py +15 -0
  90. waldur_api_client/models/marketplace_user_offering_consents_list_o_item.py +15 -0
  91. waldur_api_client/models/offering.py +0 -18
  92. waldur_api_client/models/offering_create.py +0 -18
  93. waldur_api_client/models/offering_create_request.py +0 -18
  94. waldur_api_client/models/offering_overview_update_request.py +0 -18
  95. waldur_api_client/models/offering_terms_of_service.py +142 -0
  96. waldur_api_client/models/offering_terms_of_service_create.py +107 -0
  97. waldur_api_client/models/offering_terms_of_service_create_request.py +107 -0
  98. waldur_api_client/models/offering_terms_of_service_request.py +96 -0
  99. waldur_api_client/models/open_stack_instance_create_order_attributes.py +3 -0
  100. waldur_api_client/models/open_stack_nested_security_group.py +53 -1
  101. waldur_api_client/models/open_stack_nested_security_group_rules_item.py +197 -0
  102. waldur_api_client/models/open_stack_network.py +20 -0
  103. waldur_api_client/models/open_stack_security_group_rule_update_request.py +4 -4
  104. waldur_api_client/models/open_stack_tenant.py +38 -0
  105. waldur_api_client/models/open_stack_tenant_create_order_attributes.py +21 -0
  106. waldur_api_client/models/open_stack_volume_create_order_attributes.py +3 -0
  107. waldur_api_client/models/openstack_networks_list_field_item.py +1 -0
  108. waldur_api_client/models/openstack_networks_retrieve_field_item.py +1 -0
  109. waldur_api_client/models/openstack_tenants_list_field_item.py +3 -0
  110. waldur_api_client/models/openstack_tenants_retrieve_field_item.py +3 -0
  111. waldur_api_client/models/order_create.py +0 -8
  112. waldur_api_client/models/order_create_request.py +23 -7
  113. waldur_api_client/models/order_details.py +0 -9
  114. waldur_api_client/models/patched_offering_terms_of_service_request.py +96 -0
  115. waldur_api_client/models/patched_user_offering_consent_request.py +59 -0
  116. waldur_api_client/models/permission_project.py +147 -0
  117. waldur_api_client/models/project_answer.py +122 -0
  118. waldur_api_client/models/project_detail.py +133 -0
  119. waldur_api_client/models/project_details_response.py +115 -0
  120. waldur_api_client/models/provider_offering_details.py +0 -18
  121. waldur_api_client/models/provider_offering_details_request.py +0 -18
  122. waldur_api_client/models/public_offering_details.py +0 -18
  123. waldur_api_client/models/question_answer.py +176 -0
  124. waldur_api_client/models/question_answer_project_answers_item.py +44 -0
  125. waldur_api_client/models/question_answer_question_options_item.py +44 -0
  126. waldur_api_client/models/remote_resource_order.py +88 -0
  127. waldur_api_client/models/remote_resource_order_remote_state_enum.py +15 -0
  128. waldur_api_client/models/remote_resource_sync_status.py +123 -0
  129. waldur_api_client/models/remote_resource_sync_status_remote_state_enum.py +13 -0
  130. waldur_api_client/models/remote_resource_team_member.py +85 -0
  131. waldur_api_client/models/resource.py +10 -9
  132. waldur_api_client/models/service_provider.py +9 -0
  133. waldur_api_client/models/slurm_invoices_slurm_package_create_order_attributes.py +3 -0
  134. waldur_api_client/models/sync_status_enum.py +10 -0
  135. waldur_api_client/models/user_offering_consent.py +202 -0
  136. waldur_api_client/models/user_offering_consent_create.py +60 -0
  137. waldur_api_client/models/user_offering_consent_create_request.py +60 -0
  138. waldur_api_client/models/user_offering_consent_request.py +59 -0
  139. waldur_api_client/models/v_mware_virtual_machine_create_order_attributes.py +3 -0
  140. {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.7.dist-info}/METADATA +1 -1
  141. {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.7.dist-info}/RECORD +143 -88
  142. {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.7.dist-info}/LICENSE +0 -0
  143. {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.7.dist-info}/WHEEL +0 -0
@@ -0,0 +1,197 @@
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="OpenStackNestedSecurityGroupRulesItem")
10
+
11
+
12
+ @_attrs_define
13
+ class OpenStackNestedSecurityGroupRulesItem:
14
+ """
15
+ Attributes:
16
+ id (Union[Unset, int]):
17
+ protocol (Union[None, Unset, str]):
18
+ from_port (Union[None, Unset, int]):
19
+ to_port (Union[None, Unset, int]):
20
+ cidr (Union[None, Unset, str]):
21
+ remote_group (Union[None, Unset, str]):
22
+ direction (Union[Unset, str]):
23
+ ethertype (Union[Unset, str]):
24
+ description (Union[None, Unset, str]):
25
+ """
26
+
27
+ id: Union[Unset, int] = UNSET
28
+ protocol: Union[None, Unset, str] = UNSET
29
+ from_port: Union[None, Unset, int] = UNSET
30
+ to_port: Union[None, Unset, int] = UNSET
31
+ cidr: Union[None, Unset, str] = UNSET
32
+ remote_group: Union[None, Unset, str] = UNSET
33
+ direction: Union[Unset, str] = UNSET
34
+ ethertype: Union[Unset, str] = UNSET
35
+ description: Union[None, Unset, str] = UNSET
36
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
37
+
38
+ def to_dict(self) -> dict[str, Any]:
39
+ id = self.id
40
+
41
+ protocol: Union[None, Unset, str]
42
+ if isinstance(self.protocol, Unset):
43
+ protocol = UNSET
44
+ else:
45
+ protocol = self.protocol
46
+
47
+ from_port: Union[None, Unset, int]
48
+ if isinstance(self.from_port, Unset):
49
+ from_port = UNSET
50
+ else:
51
+ from_port = self.from_port
52
+
53
+ to_port: Union[None, Unset, int]
54
+ if isinstance(self.to_port, Unset):
55
+ to_port = UNSET
56
+ else:
57
+ to_port = self.to_port
58
+
59
+ cidr: Union[None, Unset, str]
60
+ if isinstance(self.cidr, Unset):
61
+ cidr = UNSET
62
+ else:
63
+ cidr = self.cidr
64
+
65
+ remote_group: Union[None, Unset, str]
66
+ if isinstance(self.remote_group, Unset):
67
+ remote_group = UNSET
68
+ else:
69
+ remote_group = self.remote_group
70
+
71
+ direction = self.direction
72
+
73
+ ethertype = self.ethertype
74
+
75
+ description: Union[None, Unset, str]
76
+ if isinstance(self.description, Unset):
77
+ description = UNSET
78
+ else:
79
+ description = self.description
80
+
81
+ field_dict: dict[str, Any] = {}
82
+ field_dict.update(self.additional_properties)
83
+ field_dict.update({})
84
+ if id is not UNSET:
85
+ field_dict["id"] = id
86
+ if protocol is not UNSET:
87
+ field_dict["protocol"] = protocol
88
+ if from_port is not UNSET:
89
+ field_dict["from_port"] = from_port
90
+ if to_port is not UNSET:
91
+ field_dict["to_port"] = to_port
92
+ if cidr is not UNSET:
93
+ field_dict["cidr"] = cidr
94
+ if remote_group is not UNSET:
95
+ field_dict["remote_group"] = remote_group
96
+ if direction is not UNSET:
97
+ field_dict["direction"] = direction
98
+ if ethertype is not UNSET:
99
+ field_dict["ethertype"] = ethertype
100
+ if description is not UNSET:
101
+ field_dict["description"] = description
102
+
103
+ return field_dict
104
+
105
+ @classmethod
106
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
107
+ d = dict(src_dict)
108
+ id = d.pop("id", UNSET)
109
+
110
+ def _parse_protocol(data: object) -> Union[None, Unset, str]:
111
+ if data is None:
112
+ return data
113
+ if isinstance(data, Unset):
114
+ return data
115
+ return cast(Union[None, Unset, str], data)
116
+
117
+ protocol = _parse_protocol(d.pop("protocol", UNSET))
118
+
119
+ def _parse_from_port(data: object) -> Union[None, Unset, int]:
120
+ if data is None:
121
+ return data
122
+ if isinstance(data, Unset):
123
+ return data
124
+ return cast(Union[None, Unset, int], data)
125
+
126
+ from_port = _parse_from_port(d.pop("from_port", UNSET))
127
+
128
+ def _parse_to_port(data: object) -> Union[None, Unset, int]:
129
+ if data is None:
130
+ return data
131
+ if isinstance(data, Unset):
132
+ return data
133
+ return cast(Union[None, Unset, int], data)
134
+
135
+ to_port = _parse_to_port(d.pop("to_port", UNSET))
136
+
137
+ def _parse_cidr(data: object) -> Union[None, Unset, str]:
138
+ if data is None:
139
+ return data
140
+ if isinstance(data, Unset):
141
+ return data
142
+ return cast(Union[None, Unset, str], data)
143
+
144
+ cidr = _parse_cidr(d.pop("cidr", UNSET))
145
+
146
+ def _parse_remote_group(data: object) -> Union[None, Unset, str]:
147
+ if data is None:
148
+ return data
149
+ if isinstance(data, Unset):
150
+ return data
151
+ return cast(Union[None, Unset, str], data)
152
+
153
+ remote_group = _parse_remote_group(d.pop("remote_group", UNSET))
154
+
155
+ direction = d.pop("direction", UNSET)
156
+
157
+ ethertype = d.pop("ethertype", UNSET)
158
+
159
+ def _parse_description(data: object) -> Union[None, Unset, str]:
160
+ if data is None:
161
+ return data
162
+ if isinstance(data, Unset):
163
+ return data
164
+ return cast(Union[None, Unset, str], data)
165
+
166
+ description = _parse_description(d.pop("description", UNSET))
167
+
168
+ open_stack_nested_security_group_rules_item = cls(
169
+ id=id,
170
+ protocol=protocol,
171
+ from_port=from_port,
172
+ to_port=to_port,
173
+ cidr=cidr,
174
+ remote_group=remote_group,
175
+ direction=direction,
176
+ ethertype=ethertype,
177
+ description=description,
178
+ )
179
+
180
+ open_stack_nested_security_group_rules_item.additional_properties = d
181
+ return open_stack_nested_security_group_rules_item
182
+
183
+ @property
184
+ def additional_keys(self) -> list[str]:
185
+ return list(self.additional_properties.keys())
186
+
187
+ def __getitem__(self, key: str) -> Any:
188
+ return self.additional_properties[key]
189
+
190
+ def __setitem__(self, key: str, value: Any) -> None:
191
+ self.additional_properties[key] = value
192
+
193
+ def __delitem__(self, key: str) -> None:
194
+ del self.additional_properties[key]
195
+
196
+ def __contains__(self, key: str) -> bool:
197
+ return key in self.additional_properties
@@ -54,6 +54,7 @@ class OpenStackNetwork:
54
54
  tenant_uuid (Union[Unset, UUID]):
55
55
  is_external (Union[Unset, bool]): Defines whether this network is external (public) or internal (private)
56
56
  type_ (Union[Unset, str]): Network type, such as local, flat, vlan, vxlan, or gre
57
+ segmentation_id (Union[None, Unset, int]): VLAN ID for VLAN networks or tunnel ID for VXLAN/GRE networks
57
58
  subnets (Union[Unset, list['OpenStackNestedSubNet']]):
58
59
  mtu (Union[None, Unset, int]): The maximum transmission unit (MTU) value to address fragmentation.
59
60
  rbac_policies (Union[Unset, list['NetworkRBACPolicy']]):
@@ -99,6 +100,7 @@ class OpenStackNetwork:
99
100
  tenant_uuid: Union[Unset, UUID] = UNSET
100
101
  is_external: Union[Unset, bool] = UNSET
101
102
  type_: Union[Unset, str] = UNSET
103
+ segmentation_id: Union[None, Unset, int] = UNSET
102
104
  subnets: Union[Unset, list["OpenStackNestedSubNet"]] = UNSET
103
105
  mtu: Union[None, Unset, int] = UNSET
104
106
  rbac_policies: Union[Unset, list["NetworkRBACPolicy"]] = UNSET
@@ -197,6 +199,12 @@ class OpenStackNetwork:
197
199
 
198
200
  type_ = self.type_
199
201
 
202
+ segmentation_id: Union[None, Unset, int]
203
+ if isinstance(self.segmentation_id, Unset):
204
+ segmentation_id = UNSET
205
+ else:
206
+ segmentation_id = self.segmentation_id
207
+
200
208
  subnets: Union[Unset, list[dict[str, Any]]] = UNSET
201
209
  if not isinstance(self.subnets, Unset):
202
210
  subnets = []
@@ -342,6 +350,8 @@ class OpenStackNetwork:
342
350
  field_dict["is_external"] = is_external
343
351
  if type_ is not UNSET:
344
352
  field_dict["type"] = type_
353
+ if segmentation_id is not UNSET:
354
+ field_dict["segmentation_id"] = segmentation_id
345
355
  if subnets is not UNSET:
346
356
  field_dict["subnets"] = subnets
347
357
  if mtu is not UNSET:
@@ -480,6 +490,15 @@ class OpenStackNetwork:
480
490
 
481
491
  type_ = d.pop("type", UNSET)
482
492
 
493
+ def _parse_segmentation_id(data: object) -> Union[None, Unset, int]:
494
+ if data is None:
495
+ return data
496
+ if isinstance(data, Unset):
497
+ return data
498
+ return cast(Union[None, Unset, int], data)
499
+
500
+ segmentation_id = _parse_segmentation_id(d.pop("segmentation_id", UNSET))
501
+
483
502
  subnets = []
484
503
  _subnets = d.pop("subnets", UNSET)
485
504
  for subnets_item_data in _subnets or []:
@@ -637,6 +656,7 @@ class OpenStackNetwork:
637
656
  tenant_uuid=tenant_uuid,
638
657
  is_external=is_external,
639
658
  type_=type_,
659
+ segmentation_id=segmentation_id,
640
660
  subnets=subnets,
641
661
  mtu=mtu,
642
662
  rbac_policies=rbac_policies,
@@ -17,8 +17,8 @@ T = TypeVar("T", bound="OpenStackSecurityGroupRuleUpdateRequest")
17
17
  class OpenStackSecurityGroupRuleUpdateRequest:
18
18
  """
19
19
  Attributes:
20
- ethertype (Union[Unset, EthertypeEnum]):
21
- direction (Union[Unset, DirectionEnum]):
20
+ ethertype (Union[Unset, EthertypeEnum]): Default: EthertypeEnum.IPV4.
21
+ direction (Union[Unset, DirectionEnum]): Default: DirectionEnum.INGRESS.
22
22
  protocol (Union[BlankEnum, ProtocolEnum, Unset]): The network protocol (TCP, UDP, ICMP, or empty for any
23
23
  protocol)
24
24
  from_port (Union[None, Unset, int]): Starting port number in the range (1-65535)
@@ -28,8 +28,8 @@ class OpenStackSecurityGroupRuleUpdateRequest:
28
28
  remote_group (Union[None, Unset, str]): Remote security group that this rule references, if any
29
29
  """
30
30
 
31
- ethertype: Union[Unset, EthertypeEnum] = UNSET
32
- direction: Union[Unset, DirectionEnum] = UNSET
31
+ ethertype: Union[Unset, EthertypeEnum] = EthertypeEnum.IPV4
32
+ direction: Union[Unset, DirectionEnum] = DirectionEnum.INGRESS
33
33
  protocol: Union[BlankEnum, ProtocolEnum, Unset] = UNSET
34
34
  from_port: Union[None, Unset, int] = UNSET
35
35
  to_port: Union[None, Unset, int] = UNSET
@@ -47,10 +47,13 @@ class OpenStackTenant:
47
47
  created (Union[Unset, datetime.datetime]):
48
48
  modified (Union[Unset, datetime.datetime]):
49
49
  backend_id (Union[None, Unset, str]): ID of tenant in the OpenStack backend
50
+ access_url (Union[None, Unset, str]):
50
51
  availability_zone (Union[Unset, str]): Optional availability group. Will be used for all instances provisioned
51
52
  in this tenant
52
53
  internal_network_id (Union[Unset, str]): ID of internal network in OpenStack tenant
53
54
  external_network_id (Union[Unset, str]): ID of external network connected to OpenStack tenant
55
+ user_username (Union[Unset, str]): Username of the tenant user
56
+ user_password (Union[Unset, str]): Password of the tenant user
54
57
  quotas (Union[Unset, list['Quota']]):
55
58
  default_volume_type_name (Union[Unset, str]): Volume type name to use when creating volumes.
56
59
  marketplace_offering_uuid (Union[None, Unset, str]):
@@ -89,9 +92,12 @@ class OpenStackTenant:
89
92
  created: Union[Unset, datetime.datetime] = UNSET
90
93
  modified: Union[Unset, datetime.datetime] = UNSET
91
94
  backend_id: Union[None, Unset, str] = UNSET
95
+ access_url: Union[None, Unset, str] = UNSET
92
96
  availability_zone: Union[Unset, str] = UNSET
93
97
  internal_network_id: Union[Unset, str] = UNSET
94
98
  external_network_id: Union[Unset, str] = UNSET
99
+ user_username: Union[Unset, str] = UNSET
100
+ user_password: Union[Unset, str] = UNSET
95
101
  quotas: Union[Unset, list["Quota"]] = UNSET
96
102
  default_volume_type_name: Union[Unset, str] = UNSET
97
103
  marketplace_offering_uuid: Union[None, Unset, str] = UNSET
@@ -175,12 +181,22 @@ class OpenStackTenant:
175
181
  else:
176
182
  backend_id = self.backend_id
177
183
 
184
+ access_url: Union[None, Unset, str]
185
+ if isinstance(self.access_url, Unset):
186
+ access_url = UNSET
187
+ else:
188
+ access_url = self.access_url
189
+
178
190
  availability_zone = self.availability_zone
179
191
 
180
192
  internal_network_id = self.internal_network_id
181
193
 
182
194
  external_network_id = self.external_network_id
183
195
 
196
+ user_username = self.user_username
197
+
198
+ user_password = self.user_password
199
+
184
200
  quotas: Union[Unset, list[dict[str, Any]]] = UNSET
185
201
  if not isinstance(self.quotas, Unset):
186
202
  quotas = []
@@ -301,12 +317,18 @@ class OpenStackTenant:
301
317
  field_dict["modified"] = modified
302
318
  if backend_id is not UNSET:
303
319
  field_dict["backend_id"] = backend_id
320
+ if access_url is not UNSET:
321
+ field_dict["access_url"] = access_url
304
322
  if availability_zone is not UNSET:
305
323
  field_dict["availability_zone"] = availability_zone
306
324
  if internal_network_id is not UNSET:
307
325
  field_dict["internal_network_id"] = internal_network_id
308
326
  if external_network_id is not UNSET:
309
327
  field_dict["external_network_id"] = external_network_id
328
+ if user_username is not UNSET:
329
+ field_dict["user_username"] = user_username
330
+ if user_password is not UNSET:
331
+ field_dict["user_password"] = user_password
310
332
  if quotas is not UNSET:
311
333
  field_dict["quotas"] = quotas
312
334
  if default_volume_type_name is not UNSET:
@@ -425,12 +447,25 @@ class OpenStackTenant:
425
447
 
426
448
  backend_id = _parse_backend_id(d.pop("backend_id", UNSET))
427
449
 
450
+ def _parse_access_url(data: object) -> Union[None, Unset, str]:
451
+ if data is None:
452
+ return data
453
+ if isinstance(data, Unset):
454
+ return data
455
+ return cast(Union[None, Unset, str], data)
456
+
457
+ access_url = _parse_access_url(d.pop("access_url", UNSET))
458
+
428
459
  availability_zone = d.pop("availability_zone", UNSET)
429
460
 
430
461
  internal_network_id = d.pop("internal_network_id", UNSET)
431
462
 
432
463
  external_network_id = d.pop("external_network_id", UNSET)
433
464
 
465
+ user_username = d.pop("user_username", UNSET)
466
+
467
+ user_password = d.pop("user_password", UNSET)
468
+
434
469
  quotas = []
435
470
  _quotas = d.pop("quotas", UNSET)
436
471
  for quotas_item_data in _quotas or []:
@@ -568,9 +603,12 @@ class OpenStackTenant:
568
603
  created=created,
569
604
  modified=modified,
570
605
  backend_id=backend_id,
606
+ access_url=access_url,
571
607
  availability_zone=availability_zone,
572
608
  internal_network_id=internal_network_id,
573
609
  external_network_id=external_network_id,
610
+ user_username=user_username,
611
+ user_password=user_password,
574
612
  quotas=quotas,
575
613
  default_volume_type_name=default_volume_type_name,
576
614
  marketplace_offering_uuid=marketplace_offering_uuid,
@@ -14,9 +14,14 @@ class OpenStackTenantCreateOrderAttributes:
14
14
  """This mixin allows to specify list of fields to be rendered by serializer.
15
15
  It expects that request is available in serializer's context.
16
16
 
17
+ It is disabled for nested serializers (where parent is another serializer)
18
+ but remains active for list views (where parent is a ListSerializer).
19
+
17
20
  Attributes:
18
21
  name (str):
19
22
  description (Union[Unset, str]):
23
+ user_username (Union[Unset, str]): Username of the tenant user
24
+ user_password (Union[Unset, str]): Password of the tenant user
20
25
  subnet_cidr (Union[Unset, str]): Default: '192.168.42.0/24'.
21
26
  skip_connection_extnet (Union[Unset, bool]): Default: False.
22
27
  skip_creation_of_default_router (Union[Unset, bool]): Default: False.
@@ -26,6 +31,8 @@ class OpenStackTenantCreateOrderAttributes:
26
31
 
27
32
  name: str
28
33
  description: Union[Unset, str] = UNSET
34
+ user_username: Union[Unset, str] = UNSET
35
+ user_password: Union[Unset, str] = UNSET
29
36
  subnet_cidr: Union[Unset, str] = "192.168.42.0/24"
30
37
  skip_connection_extnet: Union[Unset, bool] = False
31
38
  skip_creation_of_default_router: Union[Unset, bool] = False
@@ -37,6 +44,10 @@ class OpenStackTenantCreateOrderAttributes:
37
44
 
38
45
  description = self.description
39
46
 
47
+ user_username = self.user_username
48
+
49
+ user_password = self.user_password
50
+
40
51
  subnet_cidr = self.subnet_cidr
41
52
 
42
53
  skip_connection_extnet = self.skip_connection_extnet
@@ -54,6 +65,10 @@ class OpenStackTenantCreateOrderAttributes:
54
65
  )
55
66
  if description is not UNSET:
56
67
  field_dict["description"] = description
68
+ if user_username is not UNSET:
69
+ field_dict["user_username"] = user_username
70
+ if user_password is not UNSET:
71
+ field_dict["user_password"] = user_password
57
72
  if subnet_cidr is not UNSET:
58
73
  field_dict["subnet_cidr"] = subnet_cidr
59
74
  if skip_connection_extnet is not UNSET:
@@ -72,6 +87,10 @@ class OpenStackTenantCreateOrderAttributes:
72
87
 
73
88
  description = d.pop("description", UNSET)
74
89
 
90
+ user_username = d.pop("user_username", UNSET)
91
+
92
+ user_password = d.pop("user_password", UNSET)
93
+
75
94
  subnet_cidr = d.pop("subnet_cidr", UNSET)
76
95
 
77
96
  skip_connection_extnet = d.pop("skip_connection_extnet", UNSET)
@@ -83,6 +102,8 @@ class OpenStackTenantCreateOrderAttributes:
83
102
  open_stack_tenant_create_order_attributes = cls(
84
103
  name=name,
85
104
  description=description,
105
+ user_username=user_username,
106
+ user_password=user_password,
86
107
  subnet_cidr=subnet_cidr,
87
108
  skip_connection_extnet=skip_connection_extnet,
88
109
  skip_creation_of_default_router=skip_creation_of_default_router,
@@ -14,6 +14,9 @@ class OpenStackVolumeCreateOrderAttributes:
14
14
  """This mixin allows to specify list of fields to be rendered by serializer.
15
15
  It expects that request is available in serializer's context.
16
16
 
17
+ It is disabled for nested serializers (where parent is another serializer)
18
+ but remains active for list views (where parent is a ListSerializer).
19
+
17
20
  Attributes:
18
21
  name (str):
19
22
  description (Union[Unset, str]):
@@ -31,6 +31,7 @@ class OpenstackNetworksListFieldItem(str, Enum):
31
31
  PROJECT_UUID = "project_uuid"
32
32
  RBAC_POLICIES = "rbac_policies"
33
33
  RESOURCE_TYPE = "resource_type"
34
+ SEGMENTATION_ID = "segmentation_id"
34
35
  SERVICE_NAME = "service_name"
35
36
  SERVICE_SETTINGS = "service_settings"
36
37
  SERVICE_SETTINGS_ERROR_MESSAGE = "service_settings_error_message"
@@ -31,6 +31,7 @@ class OpenstackNetworksRetrieveFieldItem(str, Enum):
31
31
  PROJECT_UUID = "project_uuid"
32
32
  RBAC_POLICIES = "rbac_policies"
33
33
  RESOURCE_TYPE = "resource_type"
34
+ SEGMENTATION_ID = "segmentation_id"
34
35
  SERVICE_NAME = "service_name"
35
36
  SERVICE_SETTINGS = "service_settings"
36
37
  SERVICE_SETTINGS_ERROR_MESSAGE = "service_settings_error_message"
@@ -2,6 +2,7 @@ from enum import Enum
2
2
 
3
3
 
4
4
  class OpenstackTenantsListFieldItem(str, Enum):
5
+ ACCESS_URL = "access_url"
5
6
  AVAILABILITY_ZONE = "availability_zone"
6
7
  BACKEND_ID = "backend_id"
7
8
  CREATED = "created"
@@ -40,6 +41,8 @@ class OpenstackTenantsListFieldItem(str, Enum):
40
41
  STATE = "state"
41
42
  SUBNET_CIDR = "subnet_cidr"
42
43
  URL = "url"
44
+ USER_PASSWORD = "user_password"
45
+ USER_USERNAME = "user_username"
43
46
  UUID = "uuid"
44
47
 
45
48
  def __str__(self) -> str:
@@ -2,6 +2,7 @@ from enum import Enum
2
2
 
3
3
 
4
4
  class OpenstackTenantsRetrieveFieldItem(str, Enum):
5
+ ACCESS_URL = "access_url"
5
6
  AVAILABILITY_ZONE = "availability_zone"
6
7
  BACKEND_ID = "backend_id"
7
8
  CREATED = "created"
@@ -40,6 +41,8 @@ class OpenstackTenantsRetrieveFieldItem(str, Enum):
40
41
  STATE = "state"
41
42
  SUBNET_CIDR = "subnet_cidr"
42
43
  URL = "url"
44
+ USER_PASSWORD = "user_password"
45
+ USER_USERNAME = "user_username"
43
46
  UUID = "uuid"
44
47
 
45
48
  def __str__(self) -> str:
@@ -30,7 +30,6 @@ class OrderCreate:
30
30
  offering_image (str):
31
31
  offering_thumbnail (str):
32
32
  offering_type (str):
33
- offering_terms_of_service (str):
34
33
  offering_shared (bool): Accessible to all customers.
35
34
  offering_billable (bool): Purchase and usage is invoiced.
36
35
  offering_plugin_options (Any): Public data used by specific plugin, such as storage mode for OpenStack.
@@ -85,7 +84,6 @@ class OrderCreate:
85
84
  offering_image: str
86
85
  offering_thumbnail: str
87
86
  offering_type: str
88
- offering_terms_of_service: str
89
87
  offering_shared: bool
90
88
  offering_billable: bool
91
89
  offering_plugin_options: Any
@@ -146,8 +144,6 @@ class OrderCreate:
146
144
 
147
145
  offering_type = self.offering_type
148
146
 
149
- offering_terms_of_service = self.offering_terms_of_service
150
-
151
147
  offering_shared = self.offering_shared
152
148
 
153
149
  offering_billable = self.offering_billable
@@ -280,7 +276,6 @@ class OrderCreate:
280
276
  "offering_image": offering_image,
281
277
  "offering_thumbnail": offering_thumbnail,
282
278
  "offering_type": offering_type,
283
- "offering_terms_of_service": offering_terms_of_service,
284
279
  "offering_shared": offering_shared,
285
280
  "offering_billable": offering_billable,
286
281
  "offering_plugin_options": offering_plugin_options,
@@ -353,8 +348,6 @@ class OrderCreate:
353
348
 
354
349
  offering_type = d.pop("offering_type")
355
350
 
356
- offering_terms_of_service = d.pop("offering_terms_of_service")
357
-
358
351
  offering_shared = d.pop("offering_shared")
359
352
 
360
353
  offering_billable = d.pop("offering_billable")
@@ -566,7 +559,6 @@ class OrderCreate:
566
559
  offering_image=offering_image,
567
560
  offering_thumbnail=offering_thumbnail,
568
561
  offering_type=offering_type,
569
- offering_terms_of_service=offering_terms_of_service,
570
562
  offering_shared=offering_shared,
571
563
  offering_billable=offering_billable,
572
564
  offering_plugin_options=offering_plugin_options,
@@ -10,6 +10,7 @@ from ..types import UNSET, Unset
10
10
  if TYPE_CHECKING:
11
11
  from ..models.azure_sql_server_create_order_attributes import AzureSQLServerCreateOrderAttributes
12
12
  from ..models.azure_virtual_machine_create_order_attributes import AzureVirtualMachineCreateOrderAttributes
13
+ from ..models.generic_order_attributes import GenericOrderAttributes
13
14
  from ..models.marketplace_managed_rancher_create_order_attributes import (
14
15
  MarketplaceManagedRancherCreateOrderAttributes,
15
16
  )
@@ -35,11 +36,12 @@ class OrderCreateRequest:
35
36
  project (str):
36
37
  plan (Union[Unset, str]):
37
38
  attributes (Union['AzureSQLServerCreateOrderAttributes', 'AzureVirtualMachineCreateOrderAttributes',
38
- 'MarketplaceManagedRancherCreateOrderAttributes', 'MarketplaceRancherCreateOrderAttributes',
39
- 'OpenStackInstanceCreateOrderAttributes', 'OpenStackTenantCreateOrderAttributes',
40
- 'OpenStackVolumeCreateOrderAttributes', 'SlurmInvoicesSlurmPackageCreateOrderAttributes',
41
- 'VMwareVirtualMachineCreateOrderAttributes', Unset]): Attributes structure depends on the offering type
42
- specified in the parent object
39
+ 'GenericOrderAttributes', 'MarketplaceManagedRancherCreateOrderAttributes',
40
+ 'MarketplaceRancherCreateOrderAttributes', 'OpenStackInstanceCreateOrderAttributes',
41
+ 'OpenStackTenantCreateOrderAttributes', 'OpenStackVolumeCreateOrderAttributes',
42
+ 'SlurmInvoicesSlurmPackageCreateOrderAttributes', 'VMwareVirtualMachineCreateOrderAttributes', Unset]):
43
+ Attributes structure depends on the offering type specified in the parent object. Can also be a generic object
44
+ for offerings without a specific attributes schema.
43
45
  limits (Union[Unset, OrderCreateRequestLimits]):
44
46
  type_ (Union[Unset, RequestTypes]): Default: RequestTypes.CREATE.
45
47
  accepting_terms_of_service (Union[Unset, bool]):
@@ -52,6 +54,7 @@ class OrderCreateRequest:
52
54
  attributes: Union[
53
55
  "AzureSQLServerCreateOrderAttributes",
54
56
  "AzureVirtualMachineCreateOrderAttributes",
57
+ "GenericOrderAttributes",
55
58
  "MarketplaceManagedRancherCreateOrderAttributes",
56
59
  "MarketplaceRancherCreateOrderAttributes",
57
60
  "OpenStackInstanceCreateOrderAttributes",
@@ -80,6 +83,7 @@ class OrderCreateRequest:
80
83
  from ..models.slurm_invoices_slurm_package_create_order_attributes import (
81
84
  SlurmInvoicesSlurmPackageCreateOrderAttributes,
82
85
  )
86
+ from ..models.v_mware_virtual_machine_create_order_attributes import VMwareVirtualMachineCreateOrderAttributes
83
87
 
84
88
  offering = self.offering
85
89
 
@@ -106,6 +110,8 @@ class OrderCreateRequest:
106
110
  attributes = self.attributes.to_dict()
107
111
  elif isinstance(self.attributes, SlurmInvoicesSlurmPackageCreateOrderAttributes):
108
112
  attributes = self.attributes.to_dict()
113
+ elif isinstance(self.attributes, VMwareVirtualMachineCreateOrderAttributes):
114
+ attributes = self.attributes.to_dict()
109
115
  else:
110
116
  attributes = self.attributes.to_dict()
111
117
 
@@ -152,6 +158,7 @@ class OrderCreateRequest:
152
158
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
153
159
  from ..models.azure_sql_server_create_order_attributes import AzureSQLServerCreateOrderAttributes
154
160
  from ..models.azure_virtual_machine_create_order_attributes import AzureVirtualMachineCreateOrderAttributes
161
+ from ..models.generic_order_attributes import GenericOrderAttributes
155
162
  from ..models.marketplace_managed_rancher_create_order_attributes import (
156
163
  MarketplaceManagedRancherCreateOrderAttributes,
157
164
  )
@@ -177,6 +184,7 @@ class OrderCreateRequest:
177
184
  ) -> Union[
178
185
  "AzureSQLServerCreateOrderAttributes",
179
186
  "AzureVirtualMachineCreateOrderAttributes",
187
+ "GenericOrderAttributes",
180
188
  "MarketplaceManagedRancherCreateOrderAttributes",
181
189
  "MarketplaceRancherCreateOrderAttributes",
182
190
  "OpenStackInstanceCreateOrderAttributes",
@@ -252,11 +260,19 @@ class OrderCreateRequest:
252
260
  return attributes_type_7
253
261
  except: # noqa: E722
254
262
  pass
263
+ try:
264
+ if not isinstance(data, dict):
265
+ raise TypeError()
266
+ attributes_type_8 = VMwareVirtualMachineCreateOrderAttributes.from_dict(data)
267
+
268
+ return attributes_type_8
269
+ except: # noqa: E722
270
+ pass
255
271
  if not isinstance(data, dict):
256
272
  raise TypeError()
257
- attributes_type_8 = VMwareVirtualMachineCreateOrderAttributes.from_dict(data)
273
+ attributes_type_9 = GenericOrderAttributes.from_dict(data)
258
274
 
259
- return attributes_type_8
275
+ return attributes_type_9
260
276
 
261
277
  attributes = _parse_attributes(d.pop("attributes", UNSET))
262
278