waldur-api-client 7.6.8__py3-none-any.whl → 7.6.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.
- waldur_api_client/api/invoices/invoices_list.py +0 -30
- waldur_api_client/api/invoices/invoices_stats_list.py +0 -30
- waldur_api_client/api/marketplace_maintenance_announcement_offerings/__init__.py +1 -0
- waldur_api_client/api/marketplace_maintenance_announcement_offerings/marketplace_maintenance_announcement_offerings_create.py +152 -0
- waldur_api_client/api/marketplace_maintenance_announcement_offerings/marketplace_maintenance_announcement_offerings_destroy.py +89 -0
- waldur_api_client/api/marketplace_maintenance_announcement_offerings/marketplace_maintenance_announcement_offerings_list.py +175 -0
- waldur_api_client/api/marketplace_maintenance_announcement_offerings/marketplace_maintenance_announcement_offerings_partial_update.py +166 -0
- waldur_api_client/api/marketplace_maintenance_announcement_offerings/marketplace_maintenance_announcement_offerings_retrieve.py +144 -0
- waldur_api_client/api/marketplace_maintenance_announcement_offerings/marketplace_maintenance_announcement_offerings_update.py +166 -0
- waldur_api_client/api/marketplace_maintenance_announcement_template_offerings/__init__.py +1 -0
- waldur_api_client/api/marketplace_maintenance_announcement_template_offerings/marketplace_maintenance_announcement_template_offerings_create.py +152 -0
- waldur_api_client/api/marketplace_maintenance_announcement_template_offerings/marketplace_maintenance_announcement_template_offerings_destroy.py +89 -0
- waldur_api_client/api/marketplace_maintenance_announcement_template_offerings/marketplace_maintenance_announcement_template_offerings_list.py +175 -0
- waldur_api_client/api/marketplace_maintenance_announcement_template_offerings/marketplace_maintenance_announcement_template_offerings_partial_update.py +168 -0
- waldur_api_client/api/marketplace_maintenance_announcement_template_offerings/marketplace_maintenance_announcement_template_offerings_retrieve.py +144 -0
- waldur_api_client/api/marketplace_maintenance_announcement_template_offerings/marketplace_maintenance_announcement_template_offerings_update.py +166 -0
- waldur_api_client/api/marketplace_maintenance_announcements/__init__.py +1 -0
- waldur_api_client/api/marketplace_maintenance_announcements/marketplace_maintenance_announcements_create.py +150 -0
- waldur_api_client/api/marketplace_maintenance_announcements/marketplace_maintenance_announcements_destroy.py +89 -0
- waldur_api_client/api/marketplace_maintenance_announcements/marketplace_maintenance_announcements_list.py +175 -0
- waldur_api_client/api/marketplace_maintenance_announcements/marketplace_maintenance_announcements_partial_update.py +164 -0
- waldur_api_client/api/marketplace_maintenance_announcements/marketplace_maintenance_announcements_retrieve.py +142 -0
- waldur_api_client/api/marketplace_maintenance_announcements/marketplace_maintenance_announcements_update.py +164 -0
- waldur_api_client/api/marketplace_maintenance_announcements_template/__init__.py +1 -0
- waldur_api_client/api/marketplace_maintenance_announcements_template/marketplace_maintenance_announcements_template_create.py +152 -0
- waldur_api_client/api/marketplace_maintenance_announcements_template/marketplace_maintenance_announcements_template_destroy.py +89 -0
- waldur_api_client/api/marketplace_maintenance_announcements_template/marketplace_maintenance_announcements_template_list.py +175 -0
- waldur_api_client/api/marketplace_maintenance_announcements_template/marketplace_maintenance_announcements_template_partial_update.py +166 -0
- waldur_api_client/api/marketplace_maintenance_announcements_template/marketplace_maintenance_announcements_template_retrieve.py +144 -0
- waldur_api_client/api/marketplace_maintenance_announcements_template/marketplace_maintenance_announcements_template_update.py +166 -0
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_offering_component.py +6 -6
- waldur_api_client/api/openstack_volume_types/openstack_volume_types_names_retrieve.py +118 -0
- waldur_api_client/models/__init__.py +34 -0
- waldur_api_client/models/constance_settings.py +22 -0
- waldur_api_client/models/constance_settings_request.py +22 -0
- waldur_api_client/models/impact_level_enum.py +11 -0
- waldur_api_client/models/maintenance_announcement.py +225 -0
- waldur_api_client/models/maintenance_announcement_offering.py +112 -0
- waldur_api_client/models/maintenance_announcement_offering_request.py +95 -0
- waldur_api_client/models/maintenance_announcement_offering_template.py +112 -0
- waldur_api_client/models/maintenance_announcement_offering_template_request.py +95 -0
- waldur_api_client/models/maintenance_announcement_request.py +113 -0
- waldur_api_client/models/maintenance_announcement_state_enum.py +12 -0
- waldur_api_client/models/maintenance_announcement_template.py +134 -0
- waldur_api_client/models/maintenance_announcement_template_request.py +95 -0
- waldur_api_client/models/maintenance_type_enum.py +12 -0
- waldur_api_client/models/merged_plugin_options.py +1 -1
- waldur_api_client/models/merged_plugin_options_request.py +1 -1
- waldur_api_client/models/offering_component.py +15 -4
- waldur_api_client/models/patched_maintenance_announcement_offering_request.py +94 -0
- waldur_api_client/models/patched_maintenance_announcement_offering_template_request.py +94 -0
- waldur_api_client/models/patched_maintenance_announcement_request.py +128 -0
- waldur_api_client/models/patched_maintenance_announcement_template_request.py +94 -0
- waldur_api_client/models/update_offering_component_request.py +274 -0
- {waldur_api_client-7.6.8.dist-info → waldur_api_client-7.6.9.dist-info}/METADATA +1 -1
- {waldur_api_client-7.6.8.dist-info → waldur_api_client-7.6.9.dist-info}/RECORD +58 -13
- {waldur_api_client-7.6.8.dist-info → waldur_api_client-7.6.9.dist-info}/LICENSE +0 -0
- {waldur_api_client-7.6.8.dist-info → waldur_api_client-7.6.9.dist-info}/WHEEL +0 -0
|
@@ -309,6 +309,7 @@ from .identity_provider_request import IdentityProviderRequest
|
|
|
309
309
|
from .image_create_request import ImageCreateRequest
|
|
310
310
|
from .image_create_response import ImageCreateResponse
|
|
311
311
|
from .image_upload_response import ImageUploadResponse
|
|
312
|
+
from .impact_level_enum import ImpactLevelEnum
|
|
312
313
|
from .import_resource_request import ImportResourceRequest
|
|
313
314
|
from .importable_resource import ImportableResource
|
|
314
315
|
from .instance_flavor_change_request import InstanceFlavorChangeRequest
|
|
@@ -375,6 +376,16 @@ from .link_openstack_request import LinkOpenstackRequest
|
|
|
375
376
|
from .link_to_invoice import LinkToInvoice
|
|
376
377
|
from .link_to_invoice_request import LinkToInvoiceRequest
|
|
377
378
|
from .logout import Logout
|
|
379
|
+
from .maintenance_announcement import MaintenanceAnnouncement
|
|
380
|
+
from .maintenance_announcement_offering import MaintenanceAnnouncementOffering
|
|
381
|
+
from .maintenance_announcement_offering_request import MaintenanceAnnouncementOfferingRequest
|
|
382
|
+
from .maintenance_announcement_offering_template import MaintenanceAnnouncementOfferingTemplate
|
|
383
|
+
from .maintenance_announcement_offering_template_request import MaintenanceAnnouncementOfferingTemplateRequest
|
|
384
|
+
from .maintenance_announcement_request import MaintenanceAnnouncementRequest
|
|
385
|
+
from .maintenance_announcement_state_enum import MaintenanceAnnouncementStateEnum
|
|
386
|
+
from .maintenance_announcement_template import MaintenanceAnnouncementTemplate
|
|
387
|
+
from .maintenance_announcement_template_request import MaintenanceAnnouncementTemplateRequest
|
|
388
|
+
from .maintenance_type_enum import MaintenanceTypeEnum
|
|
378
389
|
from .mapping import Mapping
|
|
379
390
|
from .mapping_request import MappingRequest
|
|
380
391
|
from .marketplace_categories_list_customers_offerings_state_item import (
|
|
@@ -804,6 +815,12 @@ from .patched_invoice_item_update_request import PatchedInvoiceItemUpdateRequest
|
|
|
804
815
|
from .patched_issue_request import PatchedIssueRequest
|
|
805
816
|
from .patched_keycloak_user_group_membership_request import PatchedKeycloakUserGroupMembershipRequest
|
|
806
817
|
from .patched_lexis_link_request import PatchedLexisLinkRequest
|
|
818
|
+
from .patched_maintenance_announcement_offering_request import PatchedMaintenanceAnnouncementOfferingRequest
|
|
819
|
+
from .patched_maintenance_announcement_offering_template_request import (
|
|
820
|
+
PatchedMaintenanceAnnouncementOfferingTemplateRequest,
|
|
821
|
+
)
|
|
822
|
+
from .patched_maintenance_announcement_request import PatchedMaintenanceAnnouncementRequest
|
|
823
|
+
from .patched_maintenance_announcement_template_request import PatchedMaintenanceAnnouncementTemplateRequest
|
|
807
824
|
from .patched_marketplace_category_request import PatchedMarketplaceCategoryRequest
|
|
808
825
|
from .patched_message_template_request import PatchedMessageTemplateRequest
|
|
809
826
|
from .patched_migration_details_request import PatchedMigrationDetailsRequest
|
|
@@ -1216,6 +1233,7 @@ from .template_version import TemplateVersion
|
|
|
1216
1233
|
from .tenant import Tenant
|
|
1217
1234
|
from .token_request import TokenRequest
|
|
1218
1235
|
from .total_customer_cost import TotalCustomerCost
|
|
1236
|
+
from .update_offering_component_request import UpdateOfferingComponentRequest
|
|
1219
1237
|
from .user import User
|
|
1220
1238
|
from .user_agreement import UserAgreement
|
|
1221
1239
|
from .user_agreement_request import UserAgreementRequest
|
|
@@ -1585,6 +1603,7 @@ __all__ = (
|
|
|
1585
1603
|
"ImageCreateRequest",
|
|
1586
1604
|
"ImageCreateResponse",
|
|
1587
1605
|
"ImageUploadResponse",
|
|
1606
|
+
"ImpactLevelEnum",
|
|
1588
1607
|
"ImportableResource",
|
|
1589
1608
|
"ImportResourceRequest",
|
|
1590
1609
|
"InstanceFlavorChangeRequest",
|
|
@@ -1651,6 +1670,16 @@ __all__ = (
|
|
|
1651
1670
|
"LinkToInvoice",
|
|
1652
1671
|
"LinkToInvoiceRequest",
|
|
1653
1672
|
"Logout",
|
|
1673
|
+
"MaintenanceAnnouncement",
|
|
1674
|
+
"MaintenanceAnnouncementOffering",
|
|
1675
|
+
"MaintenanceAnnouncementOfferingRequest",
|
|
1676
|
+
"MaintenanceAnnouncementOfferingTemplate",
|
|
1677
|
+
"MaintenanceAnnouncementOfferingTemplateRequest",
|
|
1678
|
+
"MaintenanceAnnouncementRequest",
|
|
1679
|
+
"MaintenanceAnnouncementStateEnum",
|
|
1680
|
+
"MaintenanceAnnouncementTemplate",
|
|
1681
|
+
"MaintenanceAnnouncementTemplateRequest",
|
|
1682
|
+
"MaintenanceTypeEnum",
|
|
1654
1683
|
"Mapping",
|
|
1655
1684
|
"MappingRequest",
|
|
1656
1685
|
"MarketplaceCategoriesListCustomersOfferingsStateItem",
|
|
@@ -2028,6 +2057,10 @@ __all__ = (
|
|
|
2028
2057
|
"PatchedIssueRequest",
|
|
2029
2058
|
"PatchedKeycloakUserGroupMembershipRequest",
|
|
2030
2059
|
"PatchedLexisLinkRequest",
|
|
2060
|
+
"PatchedMaintenanceAnnouncementOfferingRequest",
|
|
2061
|
+
"PatchedMaintenanceAnnouncementOfferingTemplateRequest",
|
|
2062
|
+
"PatchedMaintenanceAnnouncementRequest",
|
|
2063
|
+
"PatchedMaintenanceAnnouncementTemplateRequest",
|
|
2031
2064
|
"PatchedMarketplaceCategoryRequest",
|
|
2032
2065
|
"PatchedMessageTemplateRequest",
|
|
2033
2066
|
"PatchedMigrationDetailsRequest",
|
|
@@ -2420,6 +2453,7 @@ __all__ = (
|
|
|
2420
2453
|
"Tenant",
|
|
2421
2454
|
"TokenRequest",
|
|
2422
2455
|
"TotalCustomerCost",
|
|
2456
|
+
"UpdateOfferingComponentRequest",
|
|
2423
2457
|
"User",
|
|
2424
2458
|
"UserAgreement",
|
|
2425
2459
|
"UserAgreementRequest",
|
|
@@ -143,6 +143,8 @@ class ConstanceSettings:
|
|
|
143
143
|
oidc_user_field (Union[Unset, str]):
|
|
144
144
|
oidc_cache_timeout (Union[Unset, int]):
|
|
145
145
|
deactivate_user_if_no_roles (Union[Unset, bool]):
|
|
146
|
+
maintenance_announcement_notify_before_minutes (Union[Unset, int]):
|
|
147
|
+
maintenance_announcement_notify_system (Union[Unset, list[str]]):
|
|
146
148
|
"""
|
|
147
149
|
|
|
148
150
|
site_name: Union[Unset, str] = UNSET
|
|
@@ -275,6 +277,8 @@ class ConstanceSettings:
|
|
|
275
277
|
oidc_user_field: Union[Unset, str] = UNSET
|
|
276
278
|
oidc_cache_timeout: Union[Unset, int] = UNSET
|
|
277
279
|
deactivate_user_if_no_roles: Union[Unset, bool] = UNSET
|
|
280
|
+
maintenance_announcement_notify_before_minutes: Union[Unset, int] = UNSET
|
|
281
|
+
maintenance_announcement_notify_system: Union[Unset, list[str]] = UNSET
|
|
278
282
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
279
283
|
|
|
280
284
|
def to_dict(self) -> dict[str, Any]:
|
|
@@ -590,6 +594,12 @@ class ConstanceSettings:
|
|
|
590
594
|
|
|
591
595
|
deactivate_user_if_no_roles = self.deactivate_user_if_no_roles
|
|
592
596
|
|
|
597
|
+
maintenance_announcement_notify_before_minutes = self.maintenance_announcement_notify_before_minutes
|
|
598
|
+
|
|
599
|
+
maintenance_announcement_notify_system: Union[Unset, list[str]] = UNSET
|
|
600
|
+
if not isinstance(self.maintenance_announcement_notify_system, Unset):
|
|
601
|
+
maintenance_announcement_notify_system = self.maintenance_announcement_notify_system
|
|
602
|
+
|
|
593
603
|
field_dict: dict[str, Any] = {}
|
|
594
604
|
field_dict.update(self.additional_properties)
|
|
595
605
|
field_dict.update({})
|
|
@@ -857,6 +867,12 @@ class ConstanceSettings:
|
|
|
857
867
|
field_dict["OIDC_CACHE_TIMEOUT"] = oidc_cache_timeout
|
|
858
868
|
if deactivate_user_if_no_roles is not UNSET:
|
|
859
869
|
field_dict["DEACTIVATE_USER_IF_NO_ROLES"] = deactivate_user_if_no_roles
|
|
870
|
+
if maintenance_announcement_notify_before_minutes is not UNSET:
|
|
871
|
+
field_dict["MAINTENANCE_ANNOUNCEMENT_NOTIFY_BEFORE_MINUTES"] = (
|
|
872
|
+
maintenance_announcement_notify_before_minutes
|
|
873
|
+
)
|
|
874
|
+
if maintenance_announcement_notify_system is not UNSET:
|
|
875
|
+
field_dict["MAINTENANCE_ANNOUNCEMENT_NOTIFY_SYSTEM"] = maintenance_announcement_notify_system
|
|
860
876
|
|
|
861
877
|
return field_dict
|
|
862
878
|
|
|
@@ -1211,6 +1227,10 @@ class ConstanceSettings:
|
|
|
1211
1227
|
|
|
1212
1228
|
deactivate_user_if_no_roles = d.pop("DEACTIVATE_USER_IF_NO_ROLES", UNSET)
|
|
1213
1229
|
|
|
1230
|
+
maintenance_announcement_notify_before_minutes = d.pop("MAINTENANCE_ANNOUNCEMENT_NOTIFY_BEFORE_MINUTES", UNSET)
|
|
1231
|
+
|
|
1232
|
+
maintenance_announcement_notify_system = cast(list[str], d.pop("MAINTENANCE_ANNOUNCEMENT_NOTIFY_SYSTEM", UNSET))
|
|
1233
|
+
|
|
1214
1234
|
constance_settings = cls(
|
|
1215
1235
|
site_name=site_name,
|
|
1216
1236
|
site_description=site_description,
|
|
@@ -1342,6 +1362,8 @@ class ConstanceSettings:
|
|
|
1342
1362
|
oidc_user_field=oidc_user_field,
|
|
1343
1363
|
oidc_cache_timeout=oidc_cache_timeout,
|
|
1344
1364
|
deactivate_user_if_no_roles=deactivate_user_if_no_roles,
|
|
1365
|
+
maintenance_announcement_notify_before_minutes=maintenance_announcement_notify_before_minutes,
|
|
1366
|
+
maintenance_announcement_notify_system=maintenance_announcement_notify_system,
|
|
1345
1367
|
)
|
|
1346
1368
|
|
|
1347
1369
|
constance_settings.additional_properties = d
|
|
@@ -145,6 +145,8 @@ class ConstanceSettingsRequest:
|
|
|
145
145
|
oidc_user_field (Union[Unset, str]):
|
|
146
146
|
oidc_cache_timeout (Union[Unset, int]):
|
|
147
147
|
deactivate_user_if_no_roles (Union[Unset, bool]):
|
|
148
|
+
maintenance_announcement_notify_before_minutes (Union[Unset, int]):
|
|
149
|
+
maintenance_announcement_notify_system (Union[Unset, list[str]]):
|
|
148
150
|
"""
|
|
149
151
|
|
|
150
152
|
site_name: Union[Unset, str] = UNSET
|
|
@@ -277,6 +279,8 @@ class ConstanceSettingsRequest:
|
|
|
277
279
|
oidc_user_field: Union[Unset, str] = UNSET
|
|
278
280
|
oidc_cache_timeout: Union[Unset, int] = UNSET
|
|
279
281
|
deactivate_user_if_no_roles: Union[Unset, bool] = UNSET
|
|
282
|
+
maintenance_announcement_notify_before_minutes: Union[Unset, int] = UNSET
|
|
283
|
+
maintenance_announcement_notify_system: Union[Unset, list[str]] = UNSET
|
|
280
284
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
281
285
|
|
|
282
286
|
def to_dict(self) -> dict[str, Any]:
|
|
@@ -628,6 +632,12 @@ class ConstanceSettingsRequest:
|
|
|
628
632
|
|
|
629
633
|
deactivate_user_if_no_roles = self.deactivate_user_if_no_roles
|
|
630
634
|
|
|
635
|
+
maintenance_announcement_notify_before_minutes = self.maintenance_announcement_notify_before_minutes
|
|
636
|
+
|
|
637
|
+
maintenance_announcement_notify_system: Union[Unset, list[str]] = UNSET
|
|
638
|
+
if not isinstance(self.maintenance_announcement_notify_system, Unset):
|
|
639
|
+
maintenance_announcement_notify_system = self.maintenance_announcement_notify_system
|
|
640
|
+
|
|
631
641
|
field_dict: dict[str, Any] = {}
|
|
632
642
|
field_dict.update(self.additional_properties)
|
|
633
643
|
field_dict.update({})
|
|
@@ -895,6 +905,12 @@ class ConstanceSettingsRequest:
|
|
|
895
905
|
field_dict["OIDC_CACHE_TIMEOUT"] = oidc_cache_timeout
|
|
896
906
|
if deactivate_user_if_no_roles is not UNSET:
|
|
897
907
|
field_dict["DEACTIVATE_USER_IF_NO_ROLES"] = deactivate_user_if_no_roles
|
|
908
|
+
if maintenance_announcement_notify_before_minutes is not UNSET:
|
|
909
|
+
field_dict["MAINTENANCE_ANNOUNCEMENT_NOTIFY_BEFORE_MINUTES"] = (
|
|
910
|
+
maintenance_announcement_notify_before_minutes
|
|
911
|
+
)
|
|
912
|
+
if maintenance_announcement_notify_system is not UNSET:
|
|
913
|
+
field_dict["MAINTENANCE_ANNOUNCEMENT_NOTIFY_SYSTEM"] = maintenance_announcement_notify_system
|
|
898
914
|
|
|
899
915
|
return field_dict
|
|
900
916
|
|
|
@@ -1345,6 +1361,10 @@ class ConstanceSettingsRequest:
|
|
|
1345
1361
|
|
|
1346
1362
|
deactivate_user_if_no_roles = d.pop("DEACTIVATE_USER_IF_NO_ROLES", UNSET)
|
|
1347
1363
|
|
|
1364
|
+
maintenance_announcement_notify_before_minutes = d.pop("MAINTENANCE_ANNOUNCEMENT_NOTIFY_BEFORE_MINUTES", UNSET)
|
|
1365
|
+
|
|
1366
|
+
maintenance_announcement_notify_system = cast(list[str], d.pop("MAINTENANCE_ANNOUNCEMENT_NOTIFY_SYSTEM", UNSET))
|
|
1367
|
+
|
|
1348
1368
|
constance_settings_request = cls(
|
|
1349
1369
|
site_name=site_name,
|
|
1350
1370
|
site_description=site_description,
|
|
@@ -1476,6 +1496,8 @@ class ConstanceSettingsRequest:
|
|
|
1476
1496
|
oidc_user_field=oidc_user_field,
|
|
1477
1497
|
oidc_cache_timeout=oidc_cache_timeout,
|
|
1478
1498
|
deactivate_user_if_no_roles=deactivate_user_if_no_roles,
|
|
1499
|
+
maintenance_announcement_notify_before_minutes=maintenance_announcement_notify_before_minutes,
|
|
1500
|
+
maintenance_announcement_notify_system=maintenance_announcement_notify_system,
|
|
1479
1501
|
)
|
|
1480
1502
|
|
|
1481
1503
|
constance_settings_request.additional_properties = d
|
|
@@ -0,0 +1,225 @@
|
|
|
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_announcement_state_enum import MaintenanceAnnouncementStateEnum
|
|
11
|
+
from ..models.maintenance_type_enum import MaintenanceTypeEnum
|
|
12
|
+
from ..types import UNSET, Unset
|
|
13
|
+
|
|
14
|
+
if TYPE_CHECKING:
|
|
15
|
+
from ..models.maintenance_announcement_offering import MaintenanceAnnouncementOffering
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
T = TypeVar("T", bound="MaintenanceAnnouncement")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@_attrs_define
|
|
22
|
+
class MaintenanceAnnouncement:
|
|
23
|
+
"""
|
|
24
|
+
Attributes:
|
|
25
|
+
url (str):
|
|
26
|
+
uuid (UUID):
|
|
27
|
+
name (str):
|
|
28
|
+
state (MaintenanceAnnouncementStateEnum):
|
|
29
|
+
scheduled_start (datetime.datetime): When the maintenance is scheduled to begin
|
|
30
|
+
scheduled_end (datetime.datetime): When the maintenance is scheduled to complete
|
|
31
|
+
actual_start (Union[None, datetime.datetime]): When the maintenance actually began
|
|
32
|
+
actual_end (Union[None, datetime.datetime]): When the maintenance actually completed
|
|
33
|
+
service_provider (str): Service provider announcing the maintenance
|
|
34
|
+
created_by (Union[None, str]):
|
|
35
|
+
affected_offerings (list['MaintenanceAnnouncementOffering']):
|
|
36
|
+
message (Union[Unset, str]):
|
|
37
|
+
maintenance_type (Union[Unset, MaintenanceTypeEnum]):
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
url: str
|
|
41
|
+
uuid: UUID
|
|
42
|
+
name: str
|
|
43
|
+
state: MaintenanceAnnouncementStateEnum
|
|
44
|
+
scheduled_start: datetime.datetime
|
|
45
|
+
scheduled_end: datetime.datetime
|
|
46
|
+
actual_start: Union[None, datetime.datetime]
|
|
47
|
+
actual_end: Union[None, datetime.datetime]
|
|
48
|
+
service_provider: str
|
|
49
|
+
created_by: Union[None, str]
|
|
50
|
+
affected_offerings: list["MaintenanceAnnouncementOffering"]
|
|
51
|
+
message: Union[Unset, str] = UNSET
|
|
52
|
+
maintenance_type: Union[Unset, MaintenanceTypeEnum] = UNSET
|
|
53
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
54
|
+
|
|
55
|
+
def to_dict(self) -> dict[str, Any]:
|
|
56
|
+
url = self.url
|
|
57
|
+
|
|
58
|
+
uuid = str(self.uuid)
|
|
59
|
+
|
|
60
|
+
name = self.name
|
|
61
|
+
|
|
62
|
+
state = self.state.value
|
|
63
|
+
|
|
64
|
+
scheduled_start = self.scheduled_start.isoformat()
|
|
65
|
+
|
|
66
|
+
scheduled_end = self.scheduled_end.isoformat()
|
|
67
|
+
|
|
68
|
+
actual_start: Union[None, str]
|
|
69
|
+
if isinstance(self.actual_start, datetime.datetime):
|
|
70
|
+
actual_start = self.actual_start.isoformat()
|
|
71
|
+
else:
|
|
72
|
+
actual_start = self.actual_start
|
|
73
|
+
|
|
74
|
+
actual_end: Union[None, str]
|
|
75
|
+
if isinstance(self.actual_end, datetime.datetime):
|
|
76
|
+
actual_end = self.actual_end.isoformat()
|
|
77
|
+
else:
|
|
78
|
+
actual_end = self.actual_end
|
|
79
|
+
|
|
80
|
+
service_provider = self.service_provider
|
|
81
|
+
|
|
82
|
+
created_by: Union[None, str]
|
|
83
|
+
created_by = self.created_by
|
|
84
|
+
|
|
85
|
+
affected_offerings = []
|
|
86
|
+
for affected_offerings_item_data in self.affected_offerings:
|
|
87
|
+
affected_offerings_item = affected_offerings_item_data.to_dict()
|
|
88
|
+
affected_offerings.append(affected_offerings_item)
|
|
89
|
+
|
|
90
|
+
message = self.message
|
|
91
|
+
|
|
92
|
+
maintenance_type: Union[Unset, int] = UNSET
|
|
93
|
+
if not isinstance(self.maintenance_type, Unset):
|
|
94
|
+
maintenance_type = self.maintenance_type.value
|
|
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
|
+
"state": state,
|
|
104
|
+
"scheduled_start": scheduled_start,
|
|
105
|
+
"scheduled_end": scheduled_end,
|
|
106
|
+
"actual_start": actual_start,
|
|
107
|
+
"actual_end": actual_end,
|
|
108
|
+
"service_provider": service_provider,
|
|
109
|
+
"created_by": created_by,
|
|
110
|
+
"affected_offerings": affected_offerings,
|
|
111
|
+
}
|
|
112
|
+
)
|
|
113
|
+
if message is not UNSET:
|
|
114
|
+
field_dict["message"] = message
|
|
115
|
+
if maintenance_type is not UNSET:
|
|
116
|
+
field_dict["maintenance_type"] = maintenance_type
|
|
117
|
+
|
|
118
|
+
return field_dict
|
|
119
|
+
|
|
120
|
+
@classmethod
|
|
121
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
122
|
+
from ..models.maintenance_announcement_offering import MaintenanceAnnouncementOffering
|
|
123
|
+
|
|
124
|
+
d = dict(src_dict)
|
|
125
|
+
url = d.pop("url")
|
|
126
|
+
|
|
127
|
+
uuid = UUID(d.pop("uuid"))
|
|
128
|
+
|
|
129
|
+
name = d.pop("name")
|
|
130
|
+
|
|
131
|
+
state = MaintenanceAnnouncementStateEnum(d.pop("state"))
|
|
132
|
+
|
|
133
|
+
scheduled_start = isoparse(d.pop("scheduled_start"))
|
|
134
|
+
|
|
135
|
+
scheduled_end = isoparse(d.pop("scheduled_end"))
|
|
136
|
+
|
|
137
|
+
def _parse_actual_start(data: object) -> Union[None, datetime.datetime]:
|
|
138
|
+
if data is None:
|
|
139
|
+
return data
|
|
140
|
+
try:
|
|
141
|
+
if not isinstance(data, str):
|
|
142
|
+
raise TypeError()
|
|
143
|
+
actual_start_type_0 = isoparse(data)
|
|
144
|
+
|
|
145
|
+
return actual_start_type_0
|
|
146
|
+
except: # noqa: E722
|
|
147
|
+
pass
|
|
148
|
+
return cast(Union[None, datetime.datetime], data)
|
|
149
|
+
|
|
150
|
+
actual_start = _parse_actual_start(d.pop("actual_start"))
|
|
151
|
+
|
|
152
|
+
def _parse_actual_end(data: object) -> Union[None, datetime.datetime]:
|
|
153
|
+
if data is None:
|
|
154
|
+
return data
|
|
155
|
+
try:
|
|
156
|
+
if not isinstance(data, str):
|
|
157
|
+
raise TypeError()
|
|
158
|
+
actual_end_type_0 = isoparse(data)
|
|
159
|
+
|
|
160
|
+
return actual_end_type_0
|
|
161
|
+
except: # noqa: E722
|
|
162
|
+
pass
|
|
163
|
+
return cast(Union[None, datetime.datetime], data)
|
|
164
|
+
|
|
165
|
+
actual_end = _parse_actual_end(d.pop("actual_end"))
|
|
166
|
+
|
|
167
|
+
service_provider = d.pop("service_provider")
|
|
168
|
+
|
|
169
|
+
def _parse_created_by(data: object) -> Union[None, str]:
|
|
170
|
+
if data is None:
|
|
171
|
+
return data
|
|
172
|
+
return cast(Union[None, str], data)
|
|
173
|
+
|
|
174
|
+
created_by = _parse_created_by(d.pop("created_by"))
|
|
175
|
+
|
|
176
|
+
affected_offerings = []
|
|
177
|
+
_affected_offerings = d.pop("affected_offerings")
|
|
178
|
+
for affected_offerings_item_data in _affected_offerings:
|
|
179
|
+
affected_offerings_item = MaintenanceAnnouncementOffering.from_dict(affected_offerings_item_data)
|
|
180
|
+
|
|
181
|
+
affected_offerings.append(affected_offerings_item)
|
|
182
|
+
|
|
183
|
+
message = d.pop("message", UNSET)
|
|
184
|
+
|
|
185
|
+
_maintenance_type = d.pop("maintenance_type", UNSET)
|
|
186
|
+
maintenance_type: Union[Unset, MaintenanceTypeEnum]
|
|
187
|
+
if isinstance(_maintenance_type, Unset):
|
|
188
|
+
maintenance_type = UNSET
|
|
189
|
+
else:
|
|
190
|
+
maintenance_type = MaintenanceTypeEnum(_maintenance_type)
|
|
191
|
+
|
|
192
|
+
maintenance_announcement = cls(
|
|
193
|
+
url=url,
|
|
194
|
+
uuid=uuid,
|
|
195
|
+
name=name,
|
|
196
|
+
state=state,
|
|
197
|
+
scheduled_start=scheduled_start,
|
|
198
|
+
scheduled_end=scheduled_end,
|
|
199
|
+
actual_start=actual_start,
|
|
200
|
+
actual_end=actual_end,
|
|
201
|
+
service_provider=service_provider,
|
|
202
|
+
created_by=created_by,
|
|
203
|
+
affected_offerings=affected_offerings,
|
|
204
|
+
message=message,
|
|
205
|
+
maintenance_type=maintenance_type,
|
|
206
|
+
)
|
|
207
|
+
|
|
208
|
+
maintenance_announcement.additional_properties = d
|
|
209
|
+
return maintenance_announcement
|
|
210
|
+
|
|
211
|
+
@property
|
|
212
|
+
def additional_keys(self) -> list[str]:
|
|
213
|
+
return list(self.additional_properties.keys())
|
|
214
|
+
|
|
215
|
+
def __getitem__(self, key: str) -> Any:
|
|
216
|
+
return self.additional_properties[key]
|
|
217
|
+
|
|
218
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
219
|
+
self.additional_properties[key] = value
|
|
220
|
+
|
|
221
|
+
def __delitem__(self, key: str) -> None:
|
|
222
|
+
del self.additional_properties[key]
|
|
223
|
+
|
|
224
|
+
def __contains__(self, key: str) -> bool:
|
|
225
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Union
|
|
3
|
+
from uuid import UUID
|
|
4
|
+
|
|
5
|
+
from attrs import define as _attrs_define
|
|
6
|
+
from attrs import field as _attrs_field
|
|
7
|
+
|
|
8
|
+
from ..models.impact_level_enum import ImpactLevelEnum
|
|
9
|
+
from ..types import UNSET, Unset
|
|
10
|
+
|
|
11
|
+
T = TypeVar("T", bound="MaintenanceAnnouncementOffering")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@_attrs_define
|
|
15
|
+
class MaintenanceAnnouncementOffering:
|
|
16
|
+
"""
|
|
17
|
+
Attributes:
|
|
18
|
+
url (str):
|
|
19
|
+
uuid (UUID):
|
|
20
|
+
maintenance (str):
|
|
21
|
+
offering (str):
|
|
22
|
+
impact_level (Union[Unset, ImpactLevelEnum]):
|
|
23
|
+
impact_description (Union[Unset, str]): Specific description of how this offering will be affected
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
url: str
|
|
27
|
+
uuid: UUID
|
|
28
|
+
maintenance: str
|
|
29
|
+
offering: str
|
|
30
|
+
impact_level: Union[Unset, ImpactLevelEnum] = UNSET
|
|
31
|
+
impact_description: Union[Unset, str] = UNSET
|
|
32
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
33
|
+
|
|
34
|
+
def to_dict(self) -> dict[str, Any]:
|
|
35
|
+
url = self.url
|
|
36
|
+
|
|
37
|
+
uuid = str(self.uuid)
|
|
38
|
+
|
|
39
|
+
maintenance = self.maintenance
|
|
40
|
+
|
|
41
|
+
offering = self.offering
|
|
42
|
+
|
|
43
|
+
impact_level: Union[Unset, int] = UNSET
|
|
44
|
+
if not isinstance(self.impact_level, Unset):
|
|
45
|
+
impact_level = self.impact_level.value
|
|
46
|
+
|
|
47
|
+
impact_description = self.impact_description
|
|
48
|
+
|
|
49
|
+
field_dict: dict[str, Any] = {}
|
|
50
|
+
field_dict.update(self.additional_properties)
|
|
51
|
+
field_dict.update(
|
|
52
|
+
{
|
|
53
|
+
"url": url,
|
|
54
|
+
"uuid": uuid,
|
|
55
|
+
"maintenance": maintenance,
|
|
56
|
+
"offering": offering,
|
|
57
|
+
}
|
|
58
|
+
)
|
|
59
|
+
if impact_level is not UNSET:
|
|
60
|
+
field_dict["impact_level"] = impact_level
|
|
61
|
+
if impact_description is not UNSET:
|
|
62
|
+
field_dict["impact_description"] = impact_description
|
|
63
|
+
|
|
64
|
+
return field_dict
|
|
65
|
+
|
|
66
|
+
@classmethod
|
|
67
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
68
|
+
d = dict(src_dict)
|
|
69
|
+
url = d.pop("url")
|
|
70
|
+
|
|
71
|
+
uuid = UUID(d.pop("uuid"))
|
|
72
|
+
|
|
73
|
+
maintenance = d.pop("maintenance")
|
|
74
|
+
|
|
75
|
+
offering = d.pop("offering")
|
|
76
|
+
|
|
77
|
+
_impact_level = d.pop("impact_level", UNSET)
|
|
78
|
+
impact_level: Union[Unset, ImpactLevelEnum]
|
|
79
|
+
if isinstance(_impact_level, Unset):
|
|
80
|
+
impact_level = UNSET
|
|
81
|
+
else:
|
|
82
|
+
impact_level = ImpactLevelEnum(_impact_level)
|
|
83
|
+
|
|
84
|
+
impact_description = d.pop("impact_description", UNSET)
|
|
85
|
+
|
|
86
|
+
maintenance_announcement_offering = cls(
|
|
87
|
+
url=url,
|
|
88
|
+
uuid=uuid,
|
|
89
|
+
maintenance=maintenance,
|
|
90
|
+
offering=offering,
|
|
91
|
+
impact_level=impact_level,
|
|
92
|
+
impact_description=impact_description,
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
maintenance_announcement_offering.additional_properties = d
|
|
96
|
+
return maintenance_announcement_offering
|
|
97
|
+
|
|
98
|
+
@property
|
|
99
|
+
def additional_keys(self) -> list[str]:
|
|
100
|
+
return list(self.additional_properties.keys())
|
|
101
|
+
|
|
102
|
+
def __getitem__(self, key: str) -> Any:
|
|
103
|
+
return self.additional_properties[key]
|
|
104
|
+
|
|
105
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
106
|
+
self.additional_properties[key] = value
|
|
107
|
+
|
|
108
|
+
def __delitem__(self, key: str) -> None:
|
|
109
|
+
del self.additional_properties[key]
|
|
110
|
+
|
|
111
|
+
def __contains__(self, key: str) -> bool:
|
|
112
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,95 @@
|
|
|
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.impact_level_enum import ImpactLevelEnum
|
|
8
|
+
from ..types import UNSET, Unset
|
|
9
|
+
|
|
10
|
+
T = TypeVar("T", bound="MaintenanceAnnouncementOfferingRequest")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@_attrs_define
|
|
14
|
+
class MaintenanceAnnouncementOfferingRequest:
|
|
15
|
+
"""
|
|
16
|
+
Attributes:
|
|
17
|
+
maintenance (str):
|
|
18
|
+
offering (str):
|
|
19
|
+
impact_level (Union[Unset, ImpactLevelEnum]):
|
|
20
|
+
impact_description (Union[Unset, str]): Specific description of how this offering will be affected
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
maintenance: str
|
|
24
|
+
offering: str
|
|
25
|
+
impact_level: Union[Unset, ImpactLevelEnum] = UNSET
|
|
26
|
+
impact_description: Union[Unset, str] = UNSET
|
|
27
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
28
|
+
|
|
29
|
+
def to_dict(self) -> dict[str, Any]:
|
|
30
|
+
maintenance = self.maintenance
|
|
31
|
+
|
|
32
|
+
offering = self.offering
|
|
33
|
+
|
|
34
|
+
impact_level: Union[Unset, int] = UNSET
|
|
35
|
+
if not isinstance(self.impact_level, Unset):
|
|
36
|
+
impact_level = self.impact_level.value
|
|
37
|
+
|
|
38
|
+
impact_description = self.impact_description
|
|
39
|
+
|
|
40
|
+
field_dict: dict[str, Any] = {}
|
|
41
|
+
field_dict.update(self.additional_properties)
|
|
42
|
+
field_dict.update(
|
|
43
|
+
{
|
|
44
|
+
"maintenance": maintenance,
|
|
45
|
+
"offering": offering,
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
if impact_level is not UNSET:
|
|
49
|
+
field_dict["impact_level"] = impact_level
|
|
50
|
+
if impact_description is not UNSET:
|
|
51
|
+
field_dict["impact_description"] = impact_description
|
|
52
|
+
|
|
53
|
+
return field_dict
|
|
54
|
+
|
|
55
|
+
@classmethod
|
|
56
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
57
|
+
d = dict(src_dict)
|
|
58
|
+
maintenance = d.pop("maintenance")
|
|
59
|
+
|
|
60
|
+
offering = d.pop("offering")
|
|
61
|
+
|
|
62
|
+
_impact_level = d.pop("impact_level", UNSET)
|
|
63
|
+
impact_level: Union[Unset, ImpactLevelEnum]
|
|
64
|
+
if isinstance(_impact_level, Unset):
|
|
65
|
+
impact_level = UNSET
|
|
66
|
+
else:
|
|
67
|
+
impact_level = ImpactLevelEnum(_impact_level)
|
|
68
|
+
|
|
69
|
+
impact_description = d.pop("impact_description", UNSET)
|
|
70
|
+
|
|
71
|
+
maintenance_announcement_offering_request = cls(
|
|
72
|
+
maintenance=maintenance,
|
|
73
|
+
offering=offering,
|
|
74
|
+
impact_level=impact_level,
|
|
75
|
+
impact_description=impact_description,
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
maintenance_announcement_offering_request.additional_properties = d
|
|
79
|
+
return maintenance_announcement_offering_request
|
|
80
|
+
|
|
81
|
+
@property
|
|
82
|
+
def additional_keys(self) -> list[str]:
|
|
83
|
+
return list(self.additional_properties.keys())
|
|
84
|
+
|
|
85
|
+
def __getitem__(self, key: str) -> Any:
|
|
86
|
+
return self.additional_properties[key]
|
|
87
|
+
|
|
88
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
89
|
+
self.additional_properties[key] = value
|
|
90
|
+
|
|
91
|
+
def __delitem__(self, key: str) -> None:
|
|
92
|
+
del self.additional_properties[key]
|
|
93
|
+
|
|
94
|
+
def __contains__(self, key: str) -> bool:
|
|
95
|
+
return key in self.additional_properties
|