waldur-api-client 7.7.5__py3-none-any.whl → 7.7.6__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.
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_retrieve.py +154 -0
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_review_retrieve.py +154 -0
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_completion_review_status_retrieve.py +154 -0
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_completion_status_retrieve.py +154 -0
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_submit_answers.py +179 -0
- waldur_api_client/api/marketplace_robot_accounts/marketplace_robot_accounts_list.py +23 -0
- waldur_api_client/api/marketplace_robot_accounts/marketplace_robot_accounts_retrieve.py +30 -1
- waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_project_service_accounts_list.py +276 -0
- waldur_api_client/api/marketplace_service_providers/service_provider_compliance_overview.py +189 -0
- waldur_api_client/api/marketplace_service_providers/service_provider_offering_users_compliance.py +222 -0
- waldur_api_client/api/public_maintenance_announcements/__init__.py +1 -0
- waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_count.py +325 -0
- waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_list.py +328 -0
- waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_retrieve.py +144 -0
- waldur_api_client/models/__init__.py +56 -4
- waldur_api_client/models/admin_announcement.py +109 -1
- waldur_api_client/models/admin_announcement_maintenance_affected_offerings_item.py +103 -0
- waldur_api_client/models/admin_announcements_list_field_item.py +8 -0
- waldur_api_client/models/admin_announcements_retrieve_field_item.py +8 -0
- waldur_api_client/models/azure_sql_server_create_order_attributes.py +80 -0
- waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +96 -0
- waldur_api_client/models/basic_user.py +30 -21
- waldur_api_client/models/booking_offerings_list_field_item.py +1 -0
- waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -0
- waldur_api_client/models/create_router.py +1 -1
- waldur_api_client/models/create_router_request.py +1 -1
- waldur_api_client/models/customer.py +0 -30
- waldur_api_client/models/customers_list_field_item.py +0 -2
- waldur_api_client/models/customers_retrieve_field_item.py +0 -2
- waldur_api_client/models/fingerprint.py +19 -17
- waldur_api_client/models/instance_flavor_change_request.py +1 -1
- waldur_api_client/models/marketplace_managed_rancher_create_order_attributes.py +144 -0
- waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_public_offerings_list_field_item.py +1 -0
- waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_rancher_create_order_attributes.py +142 -0
- waldur_api_client/models/marketplace_robot_accounts_list_field_item.py +32 -0
- waldur_api_client/models/marketplace_robot_accounts_retrieve_field_item.py +32 -0
- waldur_api_client/models/offering.py +9 -0
- waldur_api_client/models/offering_create.py +8 -0
- waldur_api_client/models/open_stack_backend_instance.py +2 -2
- waldur_api_client/models/open_stack_backend_volumes.py +3 -3
- waldur_api_client/models/open_stack_backup.py +1 -1
- waldur_api_client/models/open_stack_backup_restoration.py +8 -5
- waldur_api_client/models/open_stack_backup_restoration_request.py +28 -3
- waldur_api_client/models/open_stack_fixed_ip.py +2 -2
- waldur_api_client/models/open_stack_fixed_ip_request.py +2 -2
- waldur_api_client/models/open_stack_floating_ip.py +5 -4
- waldur_api_client/models/open_stack_instance.py +17 -15
- waldur_api_client/models/open_stack_instance_allowed_address_pairs_update_request.py +3 -2
- waldur_api_client/models/open_stack_instance_availability_zone.py +1 -1
- waldur_api_client/models/open_stack_instance_create_order_attributes.py +280 -0
- waldur_api_client/models/open_stack_instance_request.py +4 -3
- waldur_api_client/models/open_stack_instance_security_groups_update_request.py +1 -1
- waldur_api_client/models/open_stack_nested_floating_ip.py +3 -3
- waldur_api_client/models/open_stack_nested_instance.py +1 -1
- waldur_api_client/models/open_stack_nested_port.py +5 -5
- waldur_api_client/models/open_stack_nested_port_request.py +1 -1
- waldur_api_client/models/open_stack_nested_security_group.py +1 -53
- waldur_api_client/models/open_stack_nested_security_group_request.py +59 -0
- waldur_api_client/models/open_stack_nested_sub_net.py +4 -4
- waldur_api_client/models/open_stack_nested_sub_net_request.py +4 -4
- waldur_api_client/models/open_stack_nested_volume.py +3 -3
- waldur_api_client/models/open_stack_nested_volume_request.py +3 -3
- waldur_api_client/models/open_stack_network.py +3 -3
- waldur_api_client/models/open_stack_port.py +10 -9
- waldur_api_client/models/open_stack_port_ip_update_request.py +2 -2
- waldur_api_client/models/open_stack_port_request.py +3 -3
- waldur_api_client/models/open_stack_router.py +2 -2
- waldur_api_client/models/open_stack_router_interface_request.py +4 -2
- waldur_api_client/models/open_stack_security_group_rule_create.py +6 -5
- waldur_api_client/models/open_stack_security_group_rule_create_request.py +6 -5
- waldur_api_client/models/open_stack_security_group_rule_update_request.py +6 -5
- waldur_api_client/models/open_stack_server_group.py +2 -1
- waldur_api_client/models/open_stack_server_group_request.py +2 -1
- waldur_api_client/models/open_stack_snapshot.py +2 -2
- waldur_api_client/models/open_stack_snapshot_restoration.py +1 -1
- waldur_api_client/models/open_stack_sub_net.py +5 -5
- waldur_api_client/models/open_stack_sub_net_request.py +2 -2
- waldur_api_client/models/open_stack_tenant.py +3 -3
- waldur_api_client/models/open_stack_tenant_create_order_attributes.py +109 -0
- waldur_api_client/models/open_stack_volume.py +9 -9
- waldur_api_client/models/open_stack_volume_create_order_attributes.py +152 -0
- waldur_api_client/models/open_stack_volume_request.py +1 -1
- waldur_api_client/models/order_create_request.py +165 -4
- waldur_api_client/models/patched_open_stack_instance_request.py +4 -3
- waldur_api_client/models/patched_open_stack_server_group_request.py +2 -1
- waldur_api_client/models/patched_open_stack_sub_net_request.py +2 -2
- waldur_api_client/models/patched_open_stack_volume_request.py +1 -1
- waldur_api_client/models/permission_request.py +2 -2
- waldur_api_client/models/provider_offering_details.py +9 -0
- waldur_api_client/models/public_maintenance_announcement.py +217 -0
- waldur_api_client/models/public_maintenance_announcement_state_enum.py +10 -0
- waldur_api_client/models/public_maintenance_announcements_count_o_item.py +15 -0
- waldur_api_client/models/public_maintenance_announcements_count_state_item.py +12 -0
- waldur_api_client/models/public_maintenance_announcements_list_o_item.py +15 -0
- waldur_api_client/models/public_maintenance_announcements_list_state_item.py +12 -0
- waldur_api_client/models/public_offering_details.py +9 -0
- waldur_api_client/models/rancher_cluster_security_group_rule.py +5 -4
- waldur_api_client/models/rancher_cluster_security_group_rule_request.py +5 -4
- waldur_api_client/models/remote_project_update_request.py +2 -2
- waldur_api_client/models/robot_account_details.py +226 -144
- waldur_api_client/models/service_provider_compliance_overview.py +122 -0
- waldur_api_client/models/service_provider_offering_user_compliance.py +179 -0
- waldur_api_client/models/service_provider_offering_user_compliance_state_enum.py +17 -0
- waldur_api_client/models/slurm_invoices_slurm_package_create_order_attributes.py +72 -0
- waldur_api_client/models/v_mware_virtual_machine_create_order_attributes.py +225 -0
- waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_1.py +155 -0
- waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_2_type_1.py +155 -0
- waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_3_type_1.py +155 -0
- waldur_api_client/models/volume_attach_request.py +1 -1
- {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/METADATA +1 -1
- {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/RECORD +120 -85
- waldur_api_client/models/nested_security_group_rule.py +0 -222
- waldur_api_client/models/nested_security_group_rule_request.py +0 -187
- {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/LICENSE +0 -0
- {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.6.dist-info}/WHEEL +0 -0
|
@@ -8,7 +8,20 @@ from ..models.request_types import RequestTypes
|
|
|
8
8
|
from ..types import UNSET, Unset
|
|
9
9
|
|
|
10
10
|
if TYPE_CHECKING:
|
|
11
|
+
from ..models.azure_sql_server_create_order_attributes import AzureSQLServerCreateOrderAttributes
|
|
12
|
+
from ..models.azure_virtual_machine_create_order_attributes import AzureVirtualMachineCreateOrderAttributes
|
|
13
|
+
from ..models.marketplace_managed_rancher_create_order_attributes import (
|
|
14
|
+
MarketplaceManagedRancherCreateOrderAttributes,
|
|
15
|
+
)
|
|
16
|
+
from ..models.marketplace_rancher_create_order_attributes import MarketplaceRancherCreateOrderAttributes
|
|
17
|
+
from ..models.open_stack_instance_create_order_attributes import OpenStackInstanceCreateOrderAttributes
|
|
18
|
+
from ..models.open_stack_tenant_create_order_attributes import OpenStackTenantCreateOrderAttributes
|
|
19
|
+
from ..models.open_stack_volume_create_order_attributes import OpenStackVolumeCreateOrderAttributes
|
|
11
20
|
from ..models.order_create_request_limits import OrderCreateRequestLimits
|
|
21
|
+
from ..models.slurm_invoices_slurm_package_create_order_attributes import (
|
|
22
|
+
SlurmInvoicesSlurmPackageCreateOrderAttributes,
|
|
23
|
+
)
|
|
24
|
+
from ..models.v_mware_virtual_machine_create_order_attributes import VMwareVirtualMachineCreateOrderAttributes
|
|
12
25
|
|
|
13
26
|
|
|
14
27
|
T = TypeVar("T", bound="OrderCreateRequest")
|
|
@@ -21,7 +34,12 @@ class OrderCreateRequest:
|
|
|
21
34
|
offering (str):
|
|
22
35
|
project (str):
|
|
23
36
|
plan (Union[Unset, str]):
|
|
24
|
-
attributes (Union[
|
|
37
|
+
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
|
|
25
43
|
limits (Union[Unset, OrderCreateRequestLimits]):
|
|
26
44
|
type_ (Union[Unset, RequestTypes]): Default: RequestTypes.CREATE.
|
|
27
45
|
accepting_terms_of_service (Union[Unset, bool]):
|
|
@@ -31,7 +49,18 @@ class OrderCreateRequest:
|
|
|
31
49
|
offering: str
|
|
32
50
|
project: str
|
|
33
51
|
plan: Union[Unset, str] = UNSET
|
|
34
|
-
attributes: Union[
|
|
52
|
+
attributes: Union[
|
|
53
|
+
"AzureSQLServerCreateOrderAttributes",
|
|
54
|
+
"AzureVirtualMachineCreateOrderAttributes",
|
|
55
|
+
"MarketplaceManagedRancherCreateOrderAttributes",
|
|
56
|
+
"MarketplaceRancherCreateOrderAttributes",
|
|
57
|
+
"OpenStackInstanceCreateOrderAttributes",
|
|
58
|
+
"OpenStackTenantCreateOrderAttributes",
|
|
59
|
+
"OpenStackVolumeCreateOrderAttributes",
|
|
60
|
+
"SlurmInvoicesSlurmPackageCreateOrderAttributes",
|
|
61
|
+
"VMwareVirtualMachineCreateOrderAttributes",
|
|
62
|
+
Unset,
|
|
63
|
+
] = UNSET
|
|
35
64
|
limits: Union[Unset, "OrderCreateRequestLimits"] = UNSET
|
|
36
65
|
type_: Union[Unset, RequestTypes] = RequestTypes.CREATE
|
|
37
66
|
accepting_terms_of_service: Union[Unset, bool] = UNSET
|
|
@@ -39,13 +68,46 @@ class OrderCreateRequest:
|
|
|
39
68
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
40
69
|
|
|
41
70
|
def to_dict(self) -> dict[str, Any]:
|
|
71
|
+
from ..models.azure_sql_server_create_order_attributes import AzureSQLServerCreateOrderAttributes
|
|
72
|
+
from ..models.azure_virtual_machine_create_order_attributes import AzureVirtualMachineCreateOrderAttributes
|
|
73
|
+
from ..models.marketplace_managed_rancher_create_order_attributes import (
|
|
74
|
+
MarketplaceManagedRancherCreateOrderAttributes,
|
|
75
|
+
)
|
|
76
|
+
from ..models.marketplace_rancher_create_order_attributes import MarketplaceRancherCreateOrderAttributes
|
|
77
|
+
from ..models.open_stack_instance_create_order_attributes import OpenStackInstanceCreateOrderAttributes
|
|
78
|
+
from ..models.open_stack_tenant_create_order_attributes import OpenStackTenantCreateOrderAttributes
|
|
79
|
+
from ..models.open_stack_volume_create_order_attributes import OpenStackVolumeCreateOrderAttributes
|
|
80
|
+
from ..models.slurm_invoices_slurm_package_create_order_attributes import (
|
|
81
|
+
SlurmInvoicesSlurmPackageCreateOrderAttributes,
|
|
82
|
+
)
|
|
83
|
+
|
|
42
84
|
offering = self.offering
|
|
43
85
|
|
|
44
86
|
project = self.project
|
|
45
87
|
|
|
46
88
|
plan = self.plan
|
|
47
89
|
|
|
48
|
-
attributes
|
|
90
|
+
attributes: Union[Unset, dict[str, Any]]
|
|
91
|
+
if isinstance(self.attributes, Unset):
|
|
92
|
+
attributes = UNSET
|
|
93
|
+
elif isinstance(self.attributes, AzureVirtualMachineCreateOrderAttributes):
|
|
94
|
+
attributes = self.attributes.to_dict()
|
|
95
|
+
elif isinstance(self.attributes, AzureSQLServerCreateOrderAttributes):
|
|
96
|
+
attributes = self.attributes.to_dict()
|
|
97
|
+
elif isinstance(self.attributes, OpenStackTenantCreateOrderAttributes):
|
|
98
|
+
attributes = self.attributes.to_dict()
|
|
99
|
+
elif isinstance(self.attributes, OpenStackInstanceCreateOrderAttributes):
|
|
100
|
+
attributes = self.attributes.to_dict()
|
|
101
|
+
elif isinstance(self.attributes, OpenStackVolumeCreateOrderAttributes):
|
|
102
|
+
attributes = self.attributes.to_dict()
|
|
103
|
+
elif isinstance(self.attributes, MarketplaceRancherCreateOrderAttributes):
|
|
104
|
+
attributes = self.attributes.to_dict()
|
|
105
|
+
elif isinstance(self.attributes, MarketplaceManagedRancherCreateOrderAttributes):
|
|
106
|
+
attributes = self.attributes.to_dict()
|
|
107
|
+
elif isinstance(self.attributes, SlurmInvoicesSlurmPackageCreateOrderAttributes):
|
|
108
|
+
attributes = self.attributes.to_dict()
|
|
109
|
+
else:
|
|
110
|
+
attributes = self.attributes.to_dict()
|
|
49
111
|
|
|
50
112
|
limits: Union[Unset, dict[str, Any]] = UNSET
|
|
51
113
|
if not isinstance(self.limits, Unset):
|
|
@@ -88,7 +150,20 @@ class OrderCreateRequest:
|
|
|
88
150
|
|
|
89
151
|
@classmethod
|
|
90
152
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
153
|
+
from ..models.azure_sql_server_create_order_attributes import AzureSQLServerCreateOrderAttributes
|
|
154
|
+
from ..models.azure_virtual_machine_create_order_attributes import AzureVirtualMachineCreateOrderAttributes
|
|
155
|
+
from ..models.marketplace_managed_rancher_create_order_attributes import (
|
|
156
|
+
MarketplaceManagedRancherCreateOrderAttributes,
|
|
157
|
+
)
|
|
158
|
+
from ..models.marketplace_rancher_create_order_attributes import MarketplaceRancherCreateOrderAttributes
|
|
159
|
+
from ..models.open_stack_instance_create_order_attributes import OpenStackInstanceCreateOrderAttributes
|
|
160
|
+
from ..models.open_stack_tenant_create_order_attributes import OpenStackTenantCreateOrderAttributes
|
|
161
|
+
from ..models.open_stack_volume_create_order_attributes import OpenStackVolumeCreateOrderAttributes
|
|
91
162
|
from ..models.order_create_request_limits import OrderCreateRequestLimits
|
|
163
|
+
from ..models.slurm_invoices_slurm_package_create_order_attributes import (
|
|
164
|
+
SlurmInvoicesSlurmPackageCreateOrderAttributes,
|
|
165
|
+
)
|
|
166
|
+
from ..models.v_mware_virtual_machine_create_order_attributes import VMwareVirtualMachineCreateOrderAttributes
|
|
92
167
|
|
|
93
168
|
d = dict(src_dict)
|
|
94
169
|
offering = d.pop("offering")
|
|
@@ -97,7 +172,93 @@ class OrderCreateRequest:
|
|
|
97
172
|
|
|
98
173
|
plan = d.pop("plan", UNSET)
|
|
99
174
|
|
|
100
|
-
|
|
175
|
+
def _parse_attributes(
|
|
176
|
+
data: object,
|
|
177
|
+
) -> Union[
|
|
178
|
+
"AzureSQLServerCreateOrderAttributes",
|
|
179
|
+
"AzureVirtualMachineCreateOrderAttributes",
|
|
180
|
+
"MarketplaceManagedRancherCreateOrderAttributes",
|
|
181
|
+
"MarketplaceRancherCreateOrderAttributes",
|
|
182
|
+
"OpenStackInstanceCreateOrderAttributes",
|
|
183
|
+
"OpenStackTenantCreateOrderAttributes",
|
|
184
|
+
"OpenStackVolumeCreateOrderAttributes",
|
|
185
|
+
"SlurmInvoicesSlurmPackageCreateOrderAttributes",
|
|
186
|
+
"VMwareVirtualMachineCreateOrderAttributes",
|
|
187
|
+
Unset,
|
|
188
|
+
]:
|
|
189
|
+
if isinstance(data, Unset):
|
|
190
|
+
return data
|
|
191
|
+
try:
|
|
192
|
+
if not isinstance(data, dict):
|
|
193
|
+
raise TypeError()
|
|
194
|
+
attributes_type_0 = AzureVirtualMachineCreateOrderAttributes.from_dict(data)
|
|
195
|
+
|
|
196
|
+
return attributes_type_0
|
|
197
|
+
except: # noqa: E722
|
|
198
|
+
pass
|
|
199
|
+
try:
|
|
200
|
+
if not isinstance(data, dict):
|
|
201
|
+
raise TypeError()
|
|
202
|
+
attributes_type_1 = AzureSQLServerCreateOrderAttributes.from_dict(data)
|
|
203
|
+
|
|
204
|
+
return attributes_type_1
|
|
205
|
+
except: # noqa: E722
|
|
206
|
+
pass
|
|
207
|
+
try:
|
|
208
|
+
if not isinstance(data, dict):
|
|
209
|
+
raise TypeError()
|
|
210
|
+
attributes_type_2 = OpenStackTenantCreateOrderAttributes.from_dict(data)
|
|
211
|
+
|
|
212
|
+
return attributes_type_2
|
|
213
|
+
except: # noqa: E722
|
|
214
|
+
pass
|
|
215
|
+
try:
|
|
216
|
+
if not isinstance(data, dict):
|
|
217
|
+
raise TypeError()
|
|
218
|
+
attributes_type_3 = OpenStackInstanceCreateOrderAttributes.from_dict(data)
|
|
219
|
+
|
|
220
|
+
return attributes_type_3
|
|
221
|
+
except: # noqa: E722
|
|
222
|
+
pass
|
|
223
|
+
try:
|
|
224
|
+
if not isinstance(data, dict):
|
|
225
|
+
raise TypeError()
|
|
226
|
+
attributes_type_4 = OpenStackVolumeCreateOrderAttributes.from_dict(data)
|
|
227
|
+
|
|
228
|
+
return attributes_type_4
|
|
229
|
+
except: # noqa: E722
|
|
230
|
+
pass
|
|
231
|
+
try:
|
|
232
|
+
if not isinstance(data, dict):
|
|
233
|
+
raise TypeError()
|
|
234
|
+
attributes_type_5 = MarketplaceRancherCreateOrderAttributes.from_dict(data)
|
|
235
|
+
|
|
236
|
+
return attributes_type_5
|
|
237
|
+
except: # noqa: E722
|
|
238
|
+
pass
|
|
239
|
+
try:
|
|
240
|
+
if not isinstance(data, dict):
|
|
241
|
+
raise TypeError()
|
|
242
|
+
attributes_type_6 = MarketplaceManagedRancherCreateOrderAttributes.from_dict(data)
|
|
243
|
+
|
|
244
|
+
return attributes_type_6
|
|
245
|
+
except: # noqa: E722
|
|
246
|
+
pass
|
|
247
|
+
try:
|
|
248
|
+
if not isinstance(data, dict):
|
|
249
|
+
raise TypeError()
|
|
250
|
+
attributes_type_7 = SlurmInvoicesSlurmPackageCreateOrderAttributes.from_dict(data)
|
|
251
|
+
|
|
252
|
+
return attributes_type_7
|
|
253
|
+
except: # noqa: E722
|
|
254
|
+
pass
|
|
255
|
+
if not isinstance(data, dict):
|
|
256
|
+
raise TypeError()
|
|
257
|
+
attributes_type_8 = VMwareVirtualMachineCreateOrderAttributes.from_dict(data)
|
|
258
|
+
|
|
259
|
+
return attributes_type_8
|
|
260
|
+
|
|
261
|
+
attributes = _parse_attributes(d.pop("attributes", UNSET))
|
|
101
262
|
|
|
102
263
|
_limits = d.pop("limits", UNSET)
|
|
103
264
|
limits: Union[Unset, OrderCreateRequestLimits]
|
|
@@ -19,9 +19,10 @@ class PatchedOpenStackInstanceRequest:
|
|
|
19
19
|
Attributes:
|
|
20
20
|
name (Union[Unset, str]):
|
|
21
21
|
description (Union[Unset, str]):
|
|
22
|
-
system_volume_type (Union[None, Unset, str]):
|
|
23
|
-
data_volume_type (Union[None, Unset, str]):
|
|
24
|
-
data_volumes (Union[Unset, list['OpenStackDataVolumeRequest']]):
|
|
22
|
+
system_volume_type (Union[None, Unset, str]): Volume type for the system volume
|
|
23
|
+
data_volume_type (Union[None, Unset, str]): Volume type for the data volume
|
|
24
|
+
data_volumes (Union[Unset, list['OpenStackDataVolumeRequest']]): Additional data volumes to attach to the
|
|
25
|
+
instance
|
|
25
26
|
"""
|
|
26
27
|
|
|
27
28
|
name: Union[Unset, str] = UNSET
|
|
@@ -17,7 +17,8 @@ class PatchedOpenStackServerGroupRequest:
|
|
|
17
17
|
Attributes:
|
|
18
18
|
name (Union[Unset, str]):
|
|
19
19
|
description (Union[Unset, str]):
|
|
20
|
-
policy (Union[BlankEnum, PolicyEnum, Unset]):
|
|
20
|
+
policy (Union[BlankEnum, PolicyEnum, Unset]): Server group policy determining the rules for scheduling servers
|
|
21
|
+
in this group
|
|
21
22
|
"""
|
|
22
23
|
|
|
23
24
|
name: Union[Unset, str] = UNSET
|
|
@@ -21,8 +21,8 @@ class PatchedOpenStackSubNetRequest:
|
|
|
21
21
|
name (Union[Unset, str]):
|
|
22
22
|
description (Union[Unset, str]):
|
|
23
23
|
cidr (Union[Unset, str]):
|
|
24
|
-
gateway_ip (Union[None, Unset, str]):
|
|
25
|
-
disable_gateway (Union[Unset, bool]):
|
|
24
|
+
gateway_ip (Union[None, Unset, str]): IP address of the gateway for this subnet
|
|
25
|
+
disable_gateway (Union[Unset, bool]): If True, no gateway IP address will be allocated
|
|
26
26
|
allocation_pools (Union[Unset, list['OpenStackSubNetAllocationPoolRequest']]):
|
|
27
27
|
dns_nameservers (Union[Unset, list[str]]):
|
|
28
28
|
host_routes (Union[Unset, list['OpenStackStaticRouteRequest']]):
|
|
@@ -15,7 +15,7 @@ class PatchedOpenStackVolumeRequest:
|
|
|
15
15
|
Attributes:
|
|
16
16
|
name (Union[Unset, str]):
|
|
17
17
|
description (Union[Unset, str]):
|
|
18
|
-
bootable (Union[Unset, bool]):
|
|
18
|
+
bootable (Union[Unset, bool]): Indicates if this volume can be used to boot an instance
|
|
19
19
|
"""
|
|
20
20
|
|
|
21
21
|
name: Union[Unset, str] = UNSET
|
|
@@ -25,14 +25,14 @@ class PermissionRequest:
|
|
|
25
25
|
created_by_username (str):
|
|
26
26
|
reviewed_by_full_name (str):
|
|
27
27
|
reviewed_by_username (str):
|
|
28
|
-
reviewed_at (Union[None, datetime.datetime]):
|
|
28
|
+
reviewed_at (Union[None, datetime.datetime]): Timestamp when the review was completed
|
|
29
29
|
scope_uuid (UUID):
|
|
30
30
|
scope_name (str):
|
|
31
31
|
customer_uuid (UUID):
|
|
32
32
|
customer_name (str):
|
|
33
33
|
role_name (str):
|
|
34
34
|
role_description (str):
|
|
35
|
-
review_comment (Union[None, Unset, str]):
|
|
35
|
+
review_comment (Union[None, Unset, str]): Optional comment provided during review
|
|
36
36
|
"""
|
|
37
37
|
|
|
38
38
|
url: str
|
|
@@ -100,6 +100,7 @@ class ProviderOfferingDetails:
|
|
|
100
100
|
parent_uuid (Union[None, UUID, Unset]):
|
|
101
101
|
parent_name (Union[None, Unset, str]):
|
|
102
102
|
backend_metadata (Union[Unset, Any]):
|
|
103
|
+
has_compliance_requirements (Union[Unset, bool]):
|
|
103
104
|
integration_status (Union[None, Unset, list['IntegrationStatus']]):
|
|
104
105
|
google_calendar_is_public (Union[None, Unset, bool]):
|
|
105
106
|
google_calendar_link (Union[None, Unset, str]): Get the Google Calendar link for an offering.
|
|
@@ -168,6 +169,7 @@ class ProviderOfferingDetails:
|
|
|
168
169
|
parent_uuid: Union[None, UUID, Unset] = UNSET
|
|
169
170
|
parent_name: Union[None, Unset, str] = UNSET
|
|
170
171
|
backend_metadata: Union[Unset, Any] = UNSET
|
|
172
|
+
has_compliance_requirements: Union[Unset, bool] = UNSET
|
|
171
173
|
integration_status: Union[None, Unset, list["IntegrationStatus"]] = UNSET
|
|
172
174
|
google_calendar_is_public: Union[None, Unset, bool] = UNSET
|
|
173
175
|
google_calendar_link: Union[None, Unset, str] = UNSET
|
|
@@ -458,6 +460,8 @@ class ProviderOfferingDetails:
|
|
|
458
460
|
|
|
459
461
|
backend_metadata = self.backend_metadata
|
|
460
462
|
|
|
463
|
+
has_compliance_requirements = self.has_compliance_requirements
|
|
464
|
+
|
|
461
465
|
integration_status: Union[None, Unset, list[dict[str, Any]]]
|
|
462
466
|
if isinstance(self.integration_status, Unset):
|
|
463
467
|
integration_status = UNSET
|
|
@@ -611,6 +615,8 @@ class ProviderOfferingDetails:
|
|
|
611
615
|
field_dict["parent_name"] = parent_name
|
|
612
616
|
if backend_metadata is not UNSET:
|
|
613
617
|
field_dict["backend_metadata"] = backend_metadata
|
|
618
|
+
if has_compliance_requirements is not UNSET:
|
|
619
|
+
field_dict["has_compliance_requirements"] = has_compliance_requirements
|
|
614
620
|
if integration_status is not UNSET:
|
|
615
621
|
field_dict["integration_status"] = integration_status
|
|
616
622
|
if google_calendar_is_public is not UNSET:
|
|
@@ -1059,6 +1065,8 @@ class ProviderOfferingDetails:
|
|
|
1059
1065
|
|
|
1060
1066
|
backend_metadata = d.pop("backend_metadata", UNSET)
|
|
1061
1067
|
|
|
1068
|
+
has_compliance_requirements = d.pop("has_compliance_requirements", UNSET)
|
|
1069
|
+
|
|
1062
1070
|
def _parse_integration_status(data: object) -> Union[None, Unset, list["IntegrationStatus"]]:
|
|
1063
1071
|
if data is None:
|
|
1064
1072
|
return data
|
|
@@ -1163,6 +1171,7 @@ class ProviderOfferingDetails:
|
|
|
1163
1171
|
parent_uuid=parent_uuid,
|
|
1164
1172
|
parent_name=parent_name,
|
|
1165
1173
|
backend_metadata=backend_metadata,
|
|
1174
|
+
has_compliance_requirements=has_compliance_requirements,
|
|
1166
1175
|
integration_status=integration_status,
|
|
1167
1176
|
google_calendar_is_public=google_calendar_is_public,
|
|
1168
1177
|
google_calendar_link=google_calendar_link,
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
from collections.abc import Mapping
|
|
3
|
+
from typing import TYPE_CHECKING, 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
|
+
from ..models.maintenance_type_enum import MaintenanceTypeEnum
|
|
11
|
+
from ..models.public_maintenance_announcement_state_enum import PublicMaintenanceAnnouncementStateEnum
|
|
12
|
+
|
|
13
|
+
if TYPE_CHECKING:
|
|
14
|
+
from ..models.maintenance_announcement_offering import MaintenanceAnnouncementOffering
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
T = TypeVar("T", bound="PublicMaintenanceAnnouncement")
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@_attrs_define
|
|
21
|
+
class PublicMaintenanceAnnouncement:
|
|
22
|
+
"""
|
|
23
|
+
Attributes:
|
|
24
|
+
url (str):
|
|
25
|
+
uuid (UUID):
|
|
26
|
+
name (str):
|
|
27
|
+
message (str):
|
|
28
|
+
maintenance_type (MaintenanceTypeEnum):
|
|
29
|
+
maintenance_type_display (str):
|
|
30
|
+
external_reference_url (str): Optional reference to an external maintenance tracker
|
|
31
|
+
state (PublicMaintenanceAnnouncementStateEnum):
|
|
32
|
+
scheduled_start (datetime.datetime): When the maintenance is scheduled to begin
|
|
33
|
+
scheduled_end (datetime.datetime): When the maintenance is scheduled to complete
|
|
34
|
+
actual_start (Union[None, datetime.datetime]): When the maintenance actually began
|
|
35
|
+
actual_end (Union[None, datetime.datetime]): When the maintenance actually completed
|
|
36
|
+
affected_offerings (list['MaintenanceAnnouncementOffering']):
|
|
37
|
+
service_provider_name (str):
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
url: str
|
|
41
|
+
uuid: UUID
|
|
42
|
+
name: str
|
|
43
|
+
message: str
|
|
44
|
+
maintenance_type: MaintenanceTypeEnum
|
|
45
|
+
maintenance_type_display: str
|
|
46
|
+
external_reference_url: str
|
|
47
|
+
state: PublicMaintenanceAnnouncementStateEnum
|
|
48
|
+
scheduled_start: datetime.datetime
|
|
49
|
+
scheduled_end: datetime.datetime
|
|
50
|
+
actual_start: Union[None, datetime.datetime]
|
|
51
|
+
actual_end: Union[None, datetime.datetime]
|
|
52
|
+
affected_offerings: list["MaintenanceAnnouncementOffering"]
|
|
53
|
+
service_provider_name: str
|
|
54
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
55
|
+
|
|
56
|
+
def to_dict(self) -> dict[str, Any]:
|
|
57
|
+
url = self.url
|
|
58
|
+
|
|
59
|
+
uuid = str(self.uuid)
|
|
60
|
+
|
|
61
|
+
name = self.name
|
|
62
|
+
|
|
63
|
+
message = self.message
|
|
64
|
+
|
|
65
|
+
maintenance_type = self.maintenance_type.value
|
|
66
|
+
|
|
67
|
+
maintenance_type_display = self.maintenance_type_display
|
|
68
|
+
|
|
69
|
+
external_reference_url = self.external_reference_url
|
|
70
|
+
|
|
71
|
+
state = self.state.value
|
|
72
|
+
|
|
73
|
+
scheduled_start = self.scheduled_start.isoformat()
|
|
74
|
+
|
|
75
|
+
scheduled_end = self.scheduled_end.isoformat()
|
|
76
|
+
|
|
77
|
+
actual_start: Union[None, str]
|
|
78
|
+
if isinstance(self.actual_start, datetime.datetime):
|
|
79
|
+
actual_start = self.actual_start.isoformat()
|
|
80
|
+
else:
|
|
81
|
+
actual_start = self.actual_start
|
|
82
|
+
|
|
83
|
+
actual_end: Union[None, str]
|
|
84
|
+
if isinstance(self.actual_end, datetime.datetime):
|
|
85
|
+
actual_end = self.actual_end.isoformat()
|
|
86
|
+
else:
|
|
87
|
+
actual_end = self.actual_end
|
|
88
|
+
|
|
89
|
+
affected_offerings = []
|
|
90
|
+
for affected_offerings_item_data in self.affected_offerings:
|
|
91
|
+
affected_offerings_item = affected_offerings_item_data.to_dict()
|
|
92
|
+
affected_offerings.append(affected_offerings_item)
|
|
93
|
+
|
|
94
|
+
service_provider_name = self.service_provider_name
|
|
95
|
+
|
|
96
|
+
field_dict: dict[str, Any] = {}
|
|
97
|
+
field_dict.update(self.additional_properties)
|
|
98
|
+
field_dict.update(
|
|
99
|
+
{
|
|
100
|
+
"url": url,
|
|
101
|
+
"uuid": uuid,
|
|
102
|
+
"name": name,
|
|
103
|
+
"message": message,
|
|
104
|
+
"maintenance_type": maintenance_type,
|
|
105
|
+
"maintenance_type_display": maintenance_type_display,
|
|
106
|
+
"external_reference_url": external_reference_url,
|
|
107
|
+
"state": state,
|
|
108
|
+
"scheduled_start": scheduled_start,
|
|
109
|
+
"scheduled_end": scheduled_end,
|
|
110
|
+
"actual_start": actual_start,
|
|
111
|
+
"actual_end": actual_end,
|
|
112
|
+
"affected_offerings": affected_offerings,
|
|
113
|
+
"service_provider_name": service_provider_name,
|
|
114
|
+
}
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
return field_dict
|
|
118
|
+
|
|
119
|
+
@classmethod
|
|
120
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
121
|
+
from ..models.maintenance_announcement_offering import MaintenanceAnnouncementOffering
|
|
122
|
+
|
|
123
|
+
d = dict(src_dict)
|
|
124
|
+
url = d.pop("url")
|
|
125
|
+
|
|
126
|
+
uuid = UUID(d.pop("uuid"))
|
|
127
|
+
|
|
128
|
+
name = d.pop("name")
|
|
129
|
+
|
|
130
|
+
message = d.pop("message")
|
|
131
|
+
|
|
132
|
+
maintenance_type = MaintenanceTypeEnum(d.pop("maintenance_type"))
|
|
133
|
+
|
|
134
|
+
maintenance_type_display = d.pop("maintenance_type_display")
|
|
135
|
+
|
|
136
|
+
external_reference_url = d.pop("external_reference_url")
|
|
137
|
+
|
|
138
|
+
state = PublicMaintenanceAnnouncementStateEnum(d.pop("state"))
|
|
139
|
+
|
|
140
|
+
scheduled_start = isoparse(d.pop("scheduled_start"))
|
|
141
|
+
|
|
142
|
+
scheduled_end = isoparse(d.pop("scheduled_end"))
|
|
143
|
+
|
|
144
|
+
def _parse_actual_start(data: object) -> Union[None, datetime.datetime]:
|
|
145
|
+
if data is None:
|
|
146
|
+
return data
|
|
147
|
+
try:
|
|
148
|
+
if not isinstance(data, str):
|
|
149
|
+
raise TypeError()
|
|
150
|
+
actual_start_type_0 = isoparse(data)
|
|
151
|
+
|
|
152
|
+
return actual_start_type_0
|
|
153
|
+
except: # noqa: E722
|
|
154
|
+
pass
|
|
155
|
+
return cast(Union[None, datetime.datetime], data)
|
|
156
|
+
|
|
157
|
+
actual_start = _parse_actual_start(d.pop("actual_start"))
|
|
158
|
+
|
|
159
|
+
def _parse_actual_end(data: object) -> Union[None, datetime.datetime]:
|
|
160
|
+
if data is None:
|
|
161
|
+
return data
|
|
162
|
+
try:
|
|
163
|
+
if not isinstance(data, str):
|
|
164
|
+
raise TypeError()
|
|
165
|
+
actual_end_type_0 = isoparse(data)
|
|
166
|
+
|
|
167
|
+
return actual_end_type_0
|
|
168
|
+
except: # noqa: E722
|
|
169
|
+
pass
|
|
170
|
+
return cast(Union[None, datetime.datetime], data)
|
|
171
|
+
|
|
172
|
+
actual_end = _parse_actual_end(d.pop("actual_end"))
|
|
173
|
+
|
|
174
|
+
affected_offerings = []
|
|
175
|
+
_affected_offerings = d.pop("affected_offerings")
|
|
176
|
+
for affected_offerings_item_data in _affected_offerings:
|
|
177
|
+
affected_offerings_item = MaintenanceAnnouncementOffering.from_dict(affected_offerings_item_data)
|
|
178
|
+
|
|
179
|
+
affected_offerings.append(affected_offerings_item)
|
|
180
|
+
|
|
181
|
+
service_provider_name = d.pop("service_provider_name")
|
|
182
|
+
|
|
183
|
+
public_maintenance_announcement = cls(
|
|
184
|
+
url=url,
|
|
185
|
+
uuid=uuid,
|
|
186
|
+
name=name,
|
|
187
|
+
message=message,
|
|
188
|
+
maintenance_type=maintenance_type,
|
|
189
|
+
maintenance_type_display=maintenance_type_display,
|
|
190
|
+
external_reference_url=external_reference_url,
|
|
191
|
+
state=state,
|
|
192
|
+
scheduled_start=scheduled_start,
|
|
193
|
+
scheduled_end=scheduled_end,
|
|
194
|
+
actual_start=actual_start,
|
|
195
|
+
actual_end=actual_end,
|
|
196
|
+
affected_offerings=affected_offerings,
|
|
197
|
+
service_provider_name=service_provider_name,
|
|
198
|
+
)
|
|
199
|
+
|
|
200
|
+
public_maintenance_announcement.additional_properties = d
|
|
201
|
+
return public_maintenance_announcement
|
|
202
|
+
|
|
203
|
+
@property
|
|
204
|
+
def additional_keys(self) -> list[str]:
|
|
205
|
+
return list(self.additional_properties.keys())
|
|
206
|
+
|
|
207
|
+
def __getitem__(self, key: str) -> Any:
|
|
208
|
+
return self.additional_properties[key]
|
|
209
|
+
|
|
210
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
211
|
+
self.additional_properties[key] = value
|
|
212
|
+
|
|
213
|
+
def __delitem__(self, key: str) -> None:
|
|
214
|
+
del self.additional_properties[key]
|
|
215
|
+
|
|
216
|
+
def __contains__(self, key: str) -> bool:
|
|
217
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class PublicMaintenanceAnnouncementsCountOItem(str, Enum):
|
|
5
|
+
CREATED = "created"
|
|
6
|
+
NAME = "name"
|
|
7
|
+
SCHEDULED_END = "scheduled_end"
|
|
8
|
+
SCHEDULED_START = "scheduled_start"
|
|
9
|
+
VALUE_0 = "-created"
|
|
10
|
+
VALUE_1 = "-name"
|
|
11
|
+
VALUE_2 = "-scheduled_end"
|
|
12
|
+
VALUE_3 = "-scheduled_start"
|
|
13
|
+
|
|
14
|
+
def __str__(self) -> str:
|
|
15
|
+
return str(self.value)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class PublicMaintenanceAnnouncementsCountStateItem(str, Enum):
|
|
5
|
+
CANCELLED = "Cancelled"
|
|
6
|
+
COMPLETED = "Completed"
|
|
7
|
+
DRAFT = "Draft"
|
|
8
|
+
IN_PROGRESS = "In progress"
|
|
9
|
+
SCHEDULED = "Scheduled"
|
|
10
|
+
|
|
11
|
+
def __str__(self) -> str:
|
|
12
|
+
return str(self.value)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class PublicMaintenanceAnnouncementsListOItem(str, Enum):
|
|
5
|
+
CREATED = "created"
|
|
6
|
+
NAME = "name"
|
|
7
|
+
SCHEDULED_END = "scheduled_end"
|
|
8
|
+
SCHEDULED_START = "scheduled_start"
|
|
9
|
+
VALUE_0 = "-created"
|
|
10
|
+
VALUE_1 = "-name"
|
|
11
|
+
VALUE_2 = "-scheduled_end"
|
|
12
|
+
VALUE_3 = "-scheduled_start"
|
|
13
|
+
|
|
14
|
+
def __str__(self) -> str:
|
|
15
|
+
return str(self.value)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class PublicMaintenanceAnnouncementsListStateItem(str, Enum):
|
|
5
|
+
CANCELLED = "Cancelled"
|
|
6
|
+
COMPLETED = "Completed"
|
|
7
|
+
DRAFT = "Draft"
|
|
8
|
+
IN_PROGRESS = "In progress"
|
|
9
|
+
SCHEDULED = "Scheduled"
|
|
10
|
+
|
|
11
|
+
def __str__(self) -> str:
|
|
12
|
+
return str(self.value)
|
|
@@ -96,6 +96,7 @@ class PublicOfferingDetails:
|
|
|
96
96
|
parent_uuid (Union[None, UUID, Unset]):
|
|
97
97
|
parent_name (Union[None, Unset, str]):
|
|
98
98
|
backend_metadata (Union[Unset, Any]):
|
|
99
|
+
has_compliance_requirements (Union[Unset, bool]):
|
|
99
100
|
google_calendar_is_public (Union[None, Unset, bool]):
|
|
100
101
|
google_calendar_link (Union[None, Unset, str]): Get the Google Calendar link for an offering.
|
|
101
102
|
promotion_campaigns (Union[Unset, list['NestedCampaign']]):
|
|
@@ -162,6 +163,7 @@ class PublicOfferingDetails:
|
|
|
162
163
|
parent_uuid: Union[None, UUID, Unset] = UNSET
|
|
163
164
|
parent_name: Union[None, Unset, str] = UNSET
|
|
164
165
|
backend_metadata: Union[Unset, Any] = UNSET
|
|
166
|
+
has_compliance_requirements: Union[Unset, bool] = UNSET
|
|
165
167
|
google_calendar_is_public: Union[None, Unset, bool] = UNSET
|
|
166
168
|
google_calendar_link: Union[None, Unset, str] = UNSET
|
|
167
169
|
promotion_campaigns: Union[Unset, list["NestedCampaign"]] = UNSET
|
|
@@ -444,6 +446,8 @@ class PublicOfferingDetails:
|
|
|
444
446
|
|
|
445
447
|
backend_metadata = self.backend_metadata
|
|
446
448
|
|
|
449
|
+
has_compliance_requirements = self.has_compliance_requirements
|
|
450
|
+
|
|
447
451
|
google_calendar_is_public: Union[None, Unset, bool]
|
|
448
452
|
if isinstance(self.google_calendar_is_public, Unset):
|
|
449
453
|
google_calendar_is_public = UNSET
|
|
@@ -588,6 +592,8 @@ class PublicOfferingDetails:
|
|
|
588
592
|
field_dict["parent_name"] = parent_name
|
|
589
593
|
if backend_metadata is not UNSET:
|
|
590
594
|
field_dict["backend_metadata"] = backend_metadata
|
|
595
|
+
if has_compliance_requirements is not UNSET:
|
|
596
|
+
field_dict["has_compliance_requirements"] = has_compliance_requirements
|
|
591
597
|
if google_calendar_is_public is not UNSET:
|
|
592
598
|
field_dict["google_calendar_is_public"] = google_calendar_is_public
|
|
593
599
|
if google_calendar_link is not UNSET:
|
|
@@ -1020,6 +1026,8 @@ class PublicOfferingDetails:
|
|
|
1020
1026
|
|
|
1021
1027
|
backend_metadata = d.pop("backend_metadata", UNSET)
|
|
1022
1028
|
|
|
1029
|
+
has_compliance_requirements = d.pop("has_compliance_requirements", UNSET)
|
|
1030
|
+
|
|
1023
1031
|
def _parse_google_calendar_is_public(data: object) -> Union[None, Unset, bool]:
|
|
1024
1032
|
if data is None:
|
|
1025
1033
|
return data
|
|
@@ -1107,6 +1115,7 @@ class PublicOfferingDetails:
|
|
|
1107
1115
|
parent_uuid=parent_uuid,
|
|
1108
1116
|
parent_name=parent_name,
|
|
1109
1117
|
backend_metadata=backend_metadata,
|
|
1118
|
+
has_compliance_requirements=has_compliance_requirements,
|
|
1110
1119
|
google_calendar_is_public=google_calendar_is_public,
|
|
1111
1120
|
google_calendar_link=google_calendar_link,
|
|
1112
1121
|
promotion_campaigns=promotion_campaigns,
|