waldur-api-client 7.8.1__py3-none-any.whl → 7.8.3__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/booking_resources/booking_resources_count.py +10 -13
- waldur_api_client/api/booking_resources/booking_resources_list.py +10 -13
- waldur_api_client/api/call_managing_organisations/call_managing_organisations_create.py +44 -7
- waldur_api_client/api/call_managing_organisations/call_managing_organisations_partial_update.py +46 -7
- waldur_api_client/api/call_managing_organisations/call_managing_organisations_update.py +44 -7
- waldur_api_client/api/checklists_admin/checklists_admin_checklist_questions.py +49 -0
- waldur_api_client/api/checklists_admin/checklists_admin_count.py +43 -0
- waldur_api_client/api/checklists_admin/checklists_admin_list.py +43 -0
- waldur_api_client/api/checklists_admin_categories/checklists_admin_categories_create.py +44 -7
- waldur_api_client/api/checklists_admin_categories/checklists_admin_categories_partial_update.py +44 -7
- waldur_api_client/api/checklists_admin_categories/checklists_admin_categories_update.py +44 -7
- waldur_api_client/api/customers/customers_create.py +44 -7
- waldur_api_client/api/customers/customers_partial_update.py +44 -7
- waldur_api_client/api/customers/customers_update.py +44 -7
- waldur_api_client/api/external_links/external_links_create.py +44 -7
- waldur_api_client/api/external_links/external_links_partial_update.py +44 -7
- waldur_api_client/api/external_links/external_links_update.py +44 -7
- waldur_api_client/api/invoices/invoices_paid.py +44 -7
- waldur_api_client/api/marketplace_categories/marketplace_categories_create.py +44 -7
- waldur_api_client/api/marketplace_categories/marketplace_categories_partial_update.py +44 -7
- waldur_api_client/api/marketplace_categories/marketplace_categories_update.py +44 -7
- waldur_api_client/api/marketplace_category_groups/marketplace_category_groups_create.py +44 -7
- waldur_api_client/api/marketplace_category_groups/marketplace_category_groups_partial_update.py +44 -7
- waldur_api_client/api/marketplace_category_groups/marketplace_category_groups_update.py +44 -7
- waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_create.py +44 -7
- waldur_api_client/api/marketplace_orders/marketplace_orders_update_attachment.py +44 -7
- waldur_api_client/api/marketplace_project_update_requests/marketplace_project_update_requests_count.py +18 -18
- waldur_api_client/api/marketplace_project_update_requests/marketplace_project_update_requests_list.py +18 -18
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_create.py +44 -7
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_image.py +44 -7
- waldur_api_client/api/marketplace_provider_offerings/marketplace_provider_offerings_update_thumbnail.py +30 -5
- waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +10 -13
- waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +10 -13
- waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_move_resource.py +22 -0
- waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +10 -13
- waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +10 -13
- waldur_api_client/api/marketplace_resources/marketplace_resources_move_resource.py +22 -0
- waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_create.py +44 -7
- waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_update.py +44 -7
- waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_create.py +44 -7
- waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_partial_update.py +44 -7
- waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_update.py +44 -7
- waldur_api_client/api/openstack_backups/openstack_backups_restore.py +10 -10
- waldur_api_client/api/override_settings/override_settings.py +30 -5
- waldur_api_client/api/payments/payments_create.py +44 -7
- waldur_api_client/api/payments/payments_partial_update.py +44 -7
- waldur_api_client/api/payments/payments_update.py +44 -7
- waldur_api_client/api/projects/projects_create.py +44 -7
- waldur_api_client/api/projects/projects_partial_update.py +44 -7
- waldur_api_client/api/projects/projects_update.py +44 -7
- waldur_api_client/api/proposal_proposals/proposal_proposals_attach_document.py +30 -5
- waldur_api_client/api/rancher_services/rancher_services_create.py +22 -22
- waldur_api_client/api/slurm_jobs/slurm_jobs_create.py +44 -7
- waldur_api_client/api/slurm_jobs/slurm_jobs_update.py +44 -7
- waldur_api_client/api/support_attachments/support_attachments_create.py +44 -7
- waldur_api_client/api/user_group_invitations/user_group_invitations_count.py +15 -0
- waldur_api_client/api/user_group_invitations/user_group_invitations_list.py +15 -0
- waldur_api_client/api/users/users_create.py +44 -7
- waldur_api_client/api/users/users_partial_update.py +44 -7
- waldur_api_client/api/users/users_update.py +44 -7
- waldur_api_client/models/__init__.py +172 -8
- waldur_api_client/models/agent_type_enum.py +13 -0
- waldur_api_client/models/attachment_request_form.py +70 -0
- waldur_api_client/models/attachment_request_multipart.py +83 -0
- waldur_api_client/models/azure_sql_server_create_order_attributes.py +5 -10
- waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +7 -12
- 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/booking_resource.py +16 -34
- waldur_api_client/models/booking_resources_list_field_item.py +1 -3
- waldur_api_client/models/booking_resources_retrieve_field_item.py +1 -3
- waldur_api_client/models/call_managing_organisation_request_form.py +103 -0
- waldur_api_client/models/call_managing_organisation_request_multipart.py +122 -0
- waldur_api_client/models/call_round.py +11 -1
- waldur_api_client/models/category_group_request_form.py +103 -0
- waldur_api_client/models/category_group_request_multipart.py +122 -0
- waldur_api_client/models/checklist_category_request_form.py +103 -0
- waldur_api_client/models/checklist_category_request_multipart.py +122 -0
- waldur_api_client/models/checklists_admin_checklist_questions_checklist_type.py +11 -0
- waldur_api_client/models/checklists_admin_checklist_questions_checklist_type_in_item.py +11 -0
- waldur_api_client/models/checklists_admin_count_checklist_type.py +11 -0
- waldur_api_client/models/checklists_admin_count_checklist_type_in_item.py +11 -0
- waldur_api_client/models/checklists_admin_list_checklist_type.py +11 -0
- waldur_api_client/models/checklists_admin_list_checklist_type_in_item.py +11 -0
- waldur_api_client/models/constance_settings.py +18 -0
- waldur_api_client/models/constance_settings_request.py +18 -0
- waldur_api_client/models/constance_settings_request_form.py +1556 -0
- waldur_api_client/models/constance_settings_request_multipart.py +2187 -0
- waldur_api_client/models/customer.py +9 -0
- waldur_api_client/models/customer_request.py +9 -0
- waldur_api_client/models/customer_request_form.py +312 -0
- waldur_api_client/models/customer_request_multipart.py +394 -0
- waldur_api_client/models/customers_list_field_item.py +1 -0
- waldur_api_client/models/customers_retrieve_field_item.py +1 -0
- waldur_api_client/models/event_groups_enum.py +1 -0
- waldur_api_client/models/event_types_enum.py +2 -0
- waldur_api_client/models/external_link_request_form.py +111 -0
- waldur_api_client/models/external_link_request_multipart.py +132 -0
- waldur_api_client/models/firecrest_job_request_form.py +104 -0
- waldur_api_client/models/firecrest_job_request_multipart.py +127 -0
- waldur_api_client/models/generic_order_attributes.py +1 -2
- waldur_api_client/models/integration_status.py +21 -4
- waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +1 -3
- waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +1 -3
- waldur_api_client/models/marketplace_category_request_form.py +153 -0
- waldur_api_client/models/marketplace_category_request_multipart.py +187 -0
- waldur_api_client/models/marketplace_orders_list_field_item.py +1 -3
- waldur_api_client/models/marketplace_orders_retrieve_field_item.py +1 -3
- waldur_api_client/models/marketplace_provider_offerings_list_course_accounts_retrieve_field_item.py +1 -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_provider_resources_details_retrieve_field_item.py +1 -3
- waldur_api_client/models/marketplace_provider_resources_list_field_item.py +1 -3
- waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +1 -3
- 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_resources_details_retrieve_field_item.py +1 -3
- waldur_api_client/models/marketplace_resources_list_field_item.py +1 -3
- waldur_api_client/models/marketplace_resources_retrieve_field_item.py +1 -3
- waldur_api_client/models/marketplace_robot_accounts_list_field_item.py +2 -1
- waldur_api_client/models/marketplace_robot_accounts_retrieve_field_item.py +2 -1
- waldur_api_client/models/marketplace_service_providers_offerings_list_field_item.py +1 -0
- waldur_api_client/models/merged_plugin_options.py +9 -0
- waldur_api_client/models/merged_plugin_options_request.py +9 -0
- waldur_api_client/models/move_resource_request.py +65 -0
- waldur_api_client/models/nested_round.py +9 -0
- waldur_api_client/models/nested_round_request.py +9 -0
- waldur_api_client/models/offering.py +20 -0
- waldur_api_client/models/offering_create.py +20 -0
- waldur_api_client/models/offering_create_request.py +20 -0
- waldur_api_client/models/offering_create_request_form.py +479 -0
- waldur_api_client/models/offering_create_request_form_limits.py +57 -0
- waldur_api_client/models/offering_create_request_multipart.py +599 -0
- waldur_api_client/models/offering_create_request_multipart_limits.py +57 -0
- waldur_api_client/models/offering_file_request_form.py +78 -0
- waldur_api_client/models/offering_file_request_multipart.py +93 -0
- waldur_api_client/models/offering_image_request_form.py +62 -0
- waldur_api_client/models/offering_image_request_multipart.py +73 -0
- waldur_api_client/models/offering_thumbnail_request_form.py +62 -0
- waldur_api_client/models/offering_thumbnail_request_multipart.py +73 -0
- waldur_api_client/models/offering_user.py +5 -5
- waldur_api_client/models/{offering_user_state_enum.py → offering_user_state.py} +1 -1
- waldur_api_client/models/open_stack_backup_restoration.py +3 -5
- waldur_api_client/models/open_stack_backup_restoration_create_request.py +141 -0
- waldur_api_client/models/open_stack_backup_restoration_request.py +22 -30
- waldur_api_client/models/{open_stack_nested_security_group_request.py → open_stack_create_floating_ip_request.py} +17 -6
- waldur_api_client/models/open_stack_create_port_request.py +104 -0
- waldur_api_client/models/open_stack_instance.py +13 -29
- waldur_api_client/models/open_stack_instance_create_order_attributes.py +67 -54
- waldur_api_client/models/open_stack_instance_floating_i_ps_update_request.py +5 -5
- waldur_api_client/models/open_stack_instance_ports_update_request.py +5 -5
- waldur_api_client/models/open_stack_instance_request.py +1 -67
- waldur_api_client/models/open_stack_nested_port_request.py +0 -9
- waldur_api_client/models/open_stack_security_group_hyperlink_request.py +59 -0
- waldur_api_client/models/open_stack_server_group_hyperlink_request.py +59 -0
- waldur_api_client/models/open_stack_tenant_create_order_attributes.py +9 -14
- waldur_api_client/models/open_stack_volume_create_order_attributes.py +8 -13
- waldur_api_client/models/openstack_instances_list_field_item.py +0 -7
- waldur_api_client/models/openstack_instances_retrieve_field_item.py +0 -7
- waldur_api_client/models/order_attachment_request_form.py +84 -0
- waldur_api_client/models/order_attachment_request_multipart.py +98 -0
- waldur_api_client/models/order_create.py +8 -0
- waldur_api_client/models/order_details.py +16 -34
- waldur_api_client/models/paid_request_form.py +81 -0
- waldur_api_client/models/paid_request_multipart.py +94 -0
- waldur_api_client/models/patched_call_managing_organisation_request_form.py +92 -0
- waldur_api_client/models/patched_call_managing_organisation_request_multipart.py +109 -0
- waldur_api_client/models/patched_category_group_request_form.py +101 -0
- waldur_api_client/models/patched_category_group_request_multipart.py +121 -0
- waldur_api_client/models/patched_checklist_category_request_form.py +102 -0
- waldur_api_client/models/patched_checklist_category_request_multipart.py +122 -0
- waldur_api_client/models/patched_customer_request.py +9 -0
- waldur_api_client/models/patched_customer_request_form.py +310 -0
- waldur_api_client/models/patched_customer_request_multipart.py +393 -0
- waldur_api_client/models/patched_external_link_request_form.py +110 -0
- waldur_api_client/models/patched_external_link_request_multipart.py +133 -0
- waldur_api_client/models/patched_marketplace_category_request_form.py +151 -0
- waldur_api_client/models/patched_marketplace_category_request_multipart.py +186 -0
- waldur_api_client/models/patched_open_stack_instance_request.py +1 -67
- waldur_api_client/models/patched_payment_request_form.py +119 -0
- waldur_api_client/models/patched_payment_request_multipart.py +142 -0
- waldur_api_client/models/patched_project_request_form.py +279 -0
- waldur_api_client/models/patched_project_request_multipart.py +342 -0
- waldur_api_client/models/patched_service_provider_request_form.py +101 -0
- waldur_api_client/models/patched_service_provider_request_multipart.py +121 -0
- waldur_api_client/models/patched_user_request_form.py +241 -0
- waldur_api_client/models/patched_user_request_multipart.py +306 -0
- waldur_api_client/models/payment_request_form.py +113 -0
- waldur_api_client/models/payment_request_multipart.py +134 -0
- waldur_api_client/models/{rancher_nested_security_group.py → project_hyperlink_request.py} +5 -5
- waldur_api_client/models/project_request_form.py +280 -0
- waldur_api_client/models/project_request_multipart.py +341 -0
- waldur_api_client/models/project_user.py +9 -0
- waldur_api_client/models/proposal.py +8 -0
- waldur_api_client/models/proposal_documentation_request_form.py +84 -0
- waldur_api_client/models/proposal_documentation_request_multipart.py +98 -0
- waldur_api_client/models/proposal_proposals_count_o_item.py +3 -1
- waldur_api_client/models/proposal_proposals_list_o_item.py +3 -1
- waldur_api_client/models/proposal_review.py +40 -0
- waldur_api_client/models/protected_proposal_list.py +8 -0
- waldur_api_client/models/protected_proposal_list_request.py +8 -0
- waldur_api_client/models/protected_round.py +8 -0
- waldur_api_client/models/provider_offering.py +21 -1
- waldur_api_client/models/provider_offering_details.py +20 -0
- waldur_api_client/models/public_offering_details.py +20 -0
- waldur_api_client/models/rancher_clusters_list_field_item.py +0 -1
- waldur_api_client/models/rancher_clusters_retrieve_field_item.py +0 -1
- waldur_api_client/models/rancher_service_create.py +508 -0
- waldur_api_client/models/rancher_service_create_marketplace_offering_plugin_options_type_0.py +44 -0
- waldur_api_client/models/rancher_service_create_request.py +185 -0
- waldur_api_client/models/rancher_service_request.py +16 -19
- waldur_api_client/models/rancher_workload_create.py +59 -0
- waldur_api_client/models/rancher_workload_create_request.py +59 -0
- waldur_api_client/models/resource.py +16 -34
- waldur_api_client/models/robot_account_details.py +22 -13
- waldur_api_client/models/screenshot_request_form.py +87 -0
- waldur_api_client/models/screenshot_request_multipart.py +105 -0
- waldur_api_client/models/service_provider_request_form.py +112 -0
- waldur_api_client/models/service_provider_request_multipart.py +134 -0
- waldur_api_client/models/slurm_invoices_slurm_package_create_order_attributes.py +4 -9
- waldur_api_client/models/user_request_form.py +250 -0
- waldur_api_client/models/user_request_multipart.py +316 -0
- waldur_api_client/models/v_mware_virtual_machine_create_order_attributes.py +11 -16
- waldur_api_client/models/vmware_nested_network.py +0 -25
- waldur_api_client/models/vmware_nested_network_request.py +6 -14
- {waldur_api_client-7.8.1.dist-info → waldur_api_client-7.8.3.dist-info}/METADATA +1 -1
- {waldur_api_client-7.8.1.dist-info → waldur_api_client-7.8.3.dist-info}/RECORD +233 -153
- waldur_api_client/models/open_stack_data_volume.py +0 -81
- {waldur_api_client-7.8.1.dist-info → waldur_api_client-7.8.3.dist-info}/WHEEL +0 -0
- {waldur_api_client-7.8.1.dist-info → waldur_api_client-7.8.3.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from io import BytesIO
|
|
3
|
+
from typing import Any, TypeVar
|
|
4
|
+
|
|
5
|
+
from attrs import define as _attrs_define
|
|
6
|
+
from attrs import field as _attrs_field
|
|
7
|
+
|
|
8
|
+
from ..types import File
|
|
9
|
+
|
|
10
|
+
T = TypeVar("T", bound="OfferingFileRequestForm")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@_attrs_define
|
|
14
|
+
class OfferingFileRequestForm:
|
|
15
|
+
"""
|
|
16
|
+
Attributes:
|
|
17
|
+
name (str):
|
|
18
|
+
offering (str):
|
|
19
|
+
file (File):
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
name: str
|
|
23
|
+
offering: str
|
|
24
|
+
file: File
|
|
25
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
26
|
+
|
|
27
|
+
def to_dict(self) -> dict[str, Any]:
|
|
28
|
+
name = self.name
|
|
29
|
+
|
|
30
|
+
offering = self.offering
|
|
31
|
+
|
|
32
|
+
file = self.file.to_tuple()
|
|
33
|
+
|
|
34
|
+
field_dict: dict[str, Any] = {}
|
|
35
|
+
field_dict.update(self.additional_properties)
|
|
36
|
+
field_dict.update(
|
|
37
|
+
{
|
|
38
|
+
"name": name,
|
|
39
|
+
"offering": offering,
|
|
40
|
+
"file": file,
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
return field_dict
|
|
45
|
+
|
|
46
|
+
@classmethod
|
|
47
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
48
|
+
d = dict(src_dict)
|
|
49
|
+
name = d.pop("name")
|
|
50
|
+
|
|
51
|
+
offering = d.pop("offering")
|
|
52
|
+
|
|
53
|
+
file = File(payload=BytesIO(d.pop("file")))
|
|
54
|
+
|
|
55
|
+
offering_file_request_form = cls(
|
|
56
|
+
name=name,
|
|
57
|
+
offering=offering,
|
|
58
|
+
file=file,
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
offering_file_request_form.additional_properties = d
|
|
62
|
+
return offering_file_request_form
|
|
63
|
+
|
|
64
|
+
@property
|
|
65
|
+
def additional_keys(self) -> list[str]:
|
|
66
|
+
return list(self.additional_properties.keys())
|
|
67
|
+
|
|
68
|
+
def __getitem__(self, key: str) -> Any:
|
|
69
|
+
return self.additional_properties[key]
|
|
70
|
+
|
|
71
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
72
|
+
self.additional_properties[key] = value
|
|
73
|
+
|
|
74
|
+
def __delitem__(self, key: str) -> None:
|
|
75
|
+
del self.additional_properties[key]
|
|
76
|
+
|
|
77
|
+
def __contains__(self, key: str) -> bool:
|
|
78
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from io import BytesIO
|
|
3
|
+
from typing import Any, TypeVar
|
|
4
|
+
|
|
5
|
+
from attrs import define as _attrs_define
|
|
6
|
+
from attrs import field as _attrs_field
|
|
7
|
+
|
|
8
|
+
from .. import types
|
|
9
|
+
from ..types import File
|
|
10
|
+
|
|
11
|
+
T = TypeVar("T", bound="OfferingFileRequestMultipart")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@_attrs_define
|
|
15
|
+
class OfferingFileRequestMultipart:
|
|
16
|
+
"""
|
|
17
|
+
Attributes:
|
|
18
|
+
name (str):
|
|
19
|
+
offering (str):
|
|
20
|
+
file (File):
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
name: str
|
|
24
|
+
offering: str
|
|
25
|
+
file: File
|
|
26
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
27
|
+
|
|
28
|
+
def to_dict(self) -> dict[str, Any]:
|
|
29
|
+
name = self.name
|
|
30
|
+
|
|
31
|
+
offering = self.offering
|
|
32
|
+
|
|
33
|
+
file = self.file.to_tuple()
|
|
34
|
+
|
|
35
|
+
field_dict: dict[str, Any] = {}
|
|
36
|
+
field_dict.update(self.additional_properties)
|
|
37
|
+
field_dict.update(
|
|
38
|
+
{
|
|
39
|
+
"name": name,
|
|
40
|
+
"offering": offering,
|
|
41
|
+
"file": file,
|
|
42
|
+
}
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
return field_dict
|
|
46
|
+
|
|
47
|
+
def to_multipart(self) -> types.RequestFiles:
|
|
48
|
+
files: types.RequestFiles = []
|
|
49
|
+
|
|
50
|
+
files.append(("name", (None, str(self.name).encode(), "text/plain")))
|
|
51
|
+
|
|
52
|
+
files.append(("offering", (None, str(self.offering).encode(), "text/plain")))
|
|
53
|
+
|
|
54
|
+
files.append(("file", self.file.to_tuple()))
|
|
55
|
+
|
|
56
|
+
for prop_name, prop in self.additional_properties.items():
|
|
57
|
+
files.append((prop_name, (None, str(prop).encode(), "text/plain")))
|
|
58
|
+
|
|
59
|
+
return files
|
|
60
|
+
|
|
61
|
+
@classmethod
|
|
62
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
63
|
+
d = dict(src_dict)
|
|
64
|
+
name = d.pop("name")
|
|
65
|
+
|
|
66
|
+
offering = d.pop("offering")
|
|
67
|
+
|
|
68
|
+
file = File(payload=BytesIO(d.pop("file")))
|
|
69
|
+
|
|
70
|
+
offering_file_request_multipart = cls(
|
|
71
|
+
name=name,
|
|
72
|
+
offering=offering,
|
|
73
|
+
file=file,
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
offering_file_request_multipart.additional_properties = d
|
|
77
|
+
return offering_file_request_multipart
|
|
78
|
+
|
|
79
|
+
@property
|
|
80
|
+
def additional_keys(self) -> list[str]:
|
|
81
|
+
return list(self.additional_properties.keys())
|
|
82
|
+
|
|
83
|
+
def __getitem__(self, key: str) -> Any:
|
|
84
|
+
return self.additional_properties[key]
|
|
85
|
+
|
|
86
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
87
|
+
self.additional_properties[key] = value
|
|
88
|
+
|
|
89
|
+
def __delitem__(self, key: str) -> None:
|
|
90
|
+
del self.additional_properties[key]
|
|
91
|
+
|
|
92
|
+
def __contains__(self, key: str) -> bool:
|
|
93
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from io import BytesIO
|
|
3
|
+
from typing import Any, TypeVar
|
|
4
|
+
|
|
5
|
+
from attrs import define as _attrs_define
|
|
6
|
+
from attrs import field as _attrs_field
|
|
7
|
+
|
|
8
|
+
from ..types import File
|
|
9
|
+
|
|
10
|
+
T = TypeVar("T", bound="OfferingImageRequestForm")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@_attrs_define
|
|
14
|
+
class OfferingImageRequestForm:
|
|
15
|
+
"""
|
|
16
|
+
Attributes:
|
|
17
|
+
image (File):
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
image: File
|
|
21
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
22
|
+
|
|
23
|
+
def to_dict(self) -> dict[str, Any]:
|
|
24
|
+
image = self.image.to_tuple()
|
|
25
|
+
|
|
26
|
+
field_dict: dict[str, Any] = {}
|
|
27
|
+
field_dict.update(self.additional_properties)
|
|
28
|
+
field_dict.update(
|
|
29
|
+
{
|
|
30
|
+
"image": image,
|
|
31
|
+
}
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
return field_dict
|
|
35
|
+
|
|
36
|
+
@classmethod
|
|
37
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
38
|
+
d = dict(src_dict)
|
|
39
|
+
image = File(payload=BytesIO(d.pop("image")))
|
|
40
|
+
|
|
41
|
+
offering_image_request_form = cls(
|
|
42
|
+
image=image,
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
offering_image_request_form.additional_properties = d
|
|
46
|
+
return offering_image_request_form
|
|
47
|
+
|
|
48
|
+
@property
|
|
49
|
+
def additional_keys(self) -> list[str]:
|
|
50
|
+
return list(self.additional_properties.keys())
|
|
51
|
+
|
|
52
|
+
def __getitem__(self, key: str) -> Any:
|
|
53
|
+
return self.additional_properties[key]
|
|
54
|
+
|
|
55
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
56
|
+
self.additional_properties[key] = value
|
|
57
|
+
|
|
58
|
+
def __delitem__(self, key: str) -> None:
|
|
59
|
+
del self.additional_properties[key]
|
|
60
|
+
|
|
61
|
+
def __contains__(self, key: str) -> bool:
|
|
62
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from io import BytesIO
|
|
3
|
+
from typing import Any, TypeVar
|
|
4
|
+
|
|
5
|
+
from attrs import define as _attrs_define
|
|
6
|
+
from attrs import field as _attrs_field
|
|
7
|
+
|
|
8
|
+
from .. import types
|
|
9
|
+
from ..types import File
|
|
10
|
+
|
|
11
|
+
T = TypeVar("T", bound="OfferingImageRequestMultipart")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@_attrs_define
|
|
15
|
+
class OfferingImageRequestMultipart:
|
|
16
|
+
"""
|
|
17
|
+
Attributes:
|
|
18
|
+
image (File):
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
image: File
|
|
22
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
23
|
+
|
|
24
|
+
def to_dict(self) -> dict[str, Any]:
|
|
25
|
+
image = self.image.to_tuple()
|
|
26
|
+
|
|
27
|
+
field_dict: dict[str, Any] = {}
|
|
28
|
+
field_dict.update(self.additional_properties)
|
|
29
|
+
field_dict.update(
|
|
30
|
+
{
|
|
31
|
+
"image": image,
|
|
32
|
+
}
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
return field_dict
|
|
36
|
+
|
|
37
|
+
def to_multipart(self) -> types.RequestFiles:
|
|
38
|
+
files: types.RequestFiles = []
|
|
39
|
+
|
|
40
|
+
files.append(("image", self.image.to_tuple()))
|
|
41
|
+
|
|
42
|
+
for prop_name, prop in self.additional_properties.items():
|
|
43
|
+
files.append((prop_name, (None, str(prop).encode(), "text/plain")))
|
|
44
|
+
|
|
45
|
+
return files
|
|
46
|
+
|
|
47
|
+
@classmethod
|
|
48
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
49
|
+
d = dict(src_dict)
|
|
50
|
+
image = File(payload=BytesIO(d.pop("image")))
|
|
51
|
+
|
|
52
|
+
offering_image_request_multipart = cls(
|
|
53
|
+
image=image,
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
offering_image_request_multipart.additional_properties = d
|
|
57
|
+
return offering_image_request_multipart
|
|
58
|
+
|
|
59
|
+
@property
|
|
60
|
+
def additional_keys(self) -> list[str]:
|
|
61
|
+
return list(self.additional_properties.keys())
|
|
62
|
+
|
|
63
|
+
def __getitem__(self, key: str) -> Any:
|
|
64
|
+
return self.additional_properties[key]
|
|
65
|
+
|
|
66
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
67
|
+
self.additional_properties[key] = value
|
|
68
|
+
|
|
69
|
+
def __delitem__(self, key: str) -> None:
|
|
70
|
+
del self.additional_properties[key]
|
|
71
|
+
|
|
72
|
+
def __contains__(self, key: str) -> bool:
|
|
73
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from io import BytesIO
|
|
3
|
+
from typing import Any, TypeVar
|
|
4
|
+
|
|
5
|
+
from attrs import define as _attrs_define
|
|
6
|
+
from attrs import field as _attrs_field
|
|
7
|
+
|
|
8
|
+
from ..types import File
|
|
9
|
+
|
|
10
|
+
T = TypeVar("T", bound="OfferingThumbnailRequestForm")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@_attrs_define
|
|
14
|
+
class OfferingThumbnailRequestForm:
|
|
15
|
+
"""
|
|
16
|
+
Attributes:
|
|
17
|
+
thumbnail (File):
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
thumbnail: File
|
|
21
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
22
|
+
|
|
23
|
+
def to_dict(self) -> dict[str, Any]:
|
|
24
|
+
thumbnail = self.thumbnail.to_tuple()
|
|
25
|
+
|
|
26
|
+
field_dict: dict[str, Any] = {}
|
|
27
|
+
field_dict.update(self.additional_properties)
|
|
28
|
+
field_dict.update(
|
|
29
|
+
{
|
|
30
|
+
"thumbnail": thumbnail,
|
|
31
|
+
}
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
return field_dict
|
|
35
|
+
|
|
36
|
+
@classmethod
|
|
37
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
38
|
+
d = dict(src_dict)
|
|
39
|
+
thumbnail = File(payload=BytesIO(d.pop("thumbnail")))
|
|
40
|
+
|
|
41
|
+
offering_thumbnail_request_form = cls(
|
|
42
|
+
thumbnail=thumbnail,
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
offering_thumbnail_request_form.additional_properties = d
|
|
46
|
+
return offering_thumbnail_request_form
|
|
47
|
+
|
|
48
|
+
@property
|
|
49
|
+
def additional_keys(self) -> list[str]:
|
|
50
|
+
return list(self.additional_properties.keys())
|
|
51
|
+
|
|
52
|
+
def __getitem__(self, key: str) -> Any:
|
|
53
|
+
return self.additional_properties[key]
|
|
54
|
+
|
|
55
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
56
|
+
self.additional_properties[key] = value
|
|
57
|
+
|
|
58
|
+
def __delitem__(self, key: str) -> None:
|
|
59
|
+
del self.additional_properties[key]
|
|
60
|
+
|
|
61
|
+
def __contains__(self, key: str) -> bool:
|
|
62
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from io import BytesIO
|
|
3
|
+
from typing import Any, TypeVar
|
|
4
|
+
|
|
5
|
+
from attrs import define as _attrs_define
|
|
6
|
+
from attrs import field as _attrs_field
|
|
7
|
+
|
|
8
|
+
from .. import types
|
|
9
|
+
from ..types import File
|
|
10
|
+
|
|
11
|
+
T = TypeVar("T", bound="OfferingThumbnailRequestMultipart")
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@_attrs_define
|
|
15
|
+
class OfferingThumbnailRequestMultipart:
|
|
16
|
+
"""
|
|
17
|
+
Attributes:
|
|
18
|
+
thumbnail (File):
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
thumbnail: File
|
|
22
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
23
|
+
|
|
24
|
+
def to_dict(self) -> dict[str, Any]:
|
|
25
|
+
thumbnail = self.thumbnail.to_tuple()
|
|
26
|
+
|
|
27
|
+
field_dict: dict[str, Any] = {}
|
|
28
|
+
field_dict.update(self.additional_properties)
|
|
29
|
+
field_dict.update(
|
|
30
|
+
{
|
|
31
|
+
"thumbnail": thumbnail,
|
|
32
|
+
}
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
return field_dict
|
|
36
|
+
|
|
37
|
+
def to_multipart(self) -> types.RequestFiles:
|
|
38
|
+
files: types.RequestFiles = []
|
|
39
|
+
|
|
40
|
+
files.append(("thumbnail", self.thumbnail.to_tuple()))
|
|
41
|
+
|
|
42
|
+
for prop_name, prop in self.additional_properties.items():
|
|
43
|
+
files.append((prop_name, (None, str(prop).encode(), "text/plain")))
|
|
44
|
+
|
|
45
|
+
return files
|
|
46
|
+
|
|
47
|
+
@classmethod
|
|
48
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
49
|
+
d = dict(src_dict)
|
|
50
|
+
thumbnail = File(payload=BytesIO(d.pop("thumbnail")))
|
|
51
|
+
|
|
52
|
+
offering_thumbnail_request_multipart = cls(
|
|
53
|
+
thumbnail=thumbnail,
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
offering_thumbnail_request_multipart.additional_properties = d
|
|
57
|
+
return offering_thumbnail_request_multipart
|
|
58
|
+
|
|
59
|
+
@property
|
|
60
|
+
def additional_keys(self) -> list[str]:
|
|
61
|
+
return list(self.additional_properties.keys())
|
|
62
|
+
|
|
63
|
+
def __getitem__(self, key: str) -> Any:
|
|
64
|
+
return self.additional_properties[key]
|
|
65
|
+
|
|
66
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
67
|
+
self.additional_properties[key] = value
|
|
68
|
+
|
|
69
|
+
def __delitem__(self, key: str) -> None:
|
|
70
|
+
del self.additional_properties[key]
|
|
71
|
+
|
|
72
|
+
def __contains__(self, key: str) -> bool:
|
|
73
|
+
return key in self.additional_properties
|
|
@@ -7,7 +7,7 @@ from attrs import define as _attrs_define
|
|
|
7
7
|
from attrs import field as _attrs_field
|
|
8
8
|
from dateutil.parser import isoparse
|
|
9
9
|
|
|
10
|
-
from ..models.
|
|
10
|
+
from ..models.offering_user_state import OfferingUserState
|
|
11
11
|
from ..types import UNSET, Unset
|
|
12
12
|
|
|
13
13
|
T = TypeVar("T", bound="OfferingUser")
|
|
@@ -34,7 +34,7 @@ class OfferingUser:
|
|
|
34
34
|
customer_uuid (Union[Unset, UUID]):
|
|
35
35
|
customer_name (Union[Unset, str]):
|
|
36
36
|
is_restricted (Union[Unset, bool]): Signal to service if the user account is restricted or not
|
|
37
|
-
state (Union[Unset,
|
|
37
|
+
state (Union[Unset, OfferingUserState]):
|
|
38
38
|
service_provider_comment (Union[Unset, str]): Additional comment for pending states like validation or account
|
|
39
39
|
linking
|
|
40
40
|
service_provider_comment_url (Union[Unset, str]): URL link for additional information or actions related to
|
|
@@ -59,7 +59,7 @@ class OfferingUser:
|
|
|
59
59
|
customer_uuid: Union[Unset, UUID] = UNSET
|
|
60
60
|
customer_name: Union[Unset, str] = UNSET
|
|
61
61
|
is_restricted: Union[Unset, bool] = UNSET
|
|
62
|
-
state: Union[Unset,
|
|
62
|
+
state: Union[Unset, OfferingUserState] = UNSET
|
|
63
63
|
service_provider_comment: Union[Unset, str] = UNSET
|
|
64
64
|
service_provider_comment_url: Union[Unset, str] = UNSET
|
|
65
65
|
has_consent: Union[Unset, bool] = UNSET
|
|
@@ -248,11 +248,11 @@ class OfferingUser:
|
|
|
248
248
|
is_restricted = d.pop("is_restricted", UNSET)
|
|
249
249
|
|
|
250
250
|
_state = d.pop("state", UNSET)
|
|
251
|
-
state: Union[Unset,
|
|
251
|
+
state: Union[Unset, OfferingUserState]
|
|
252
252
|
if isinstance(_state, Unset):
|
|
253
253
|
state = UNSET
|
|
254
254
|
else:
|
|
255
|
-
state =
|
|
255
|
+
state = OfferingUserState(_state)
|
|
256
256
|
|
|
257
257
|
service_provider_comment = d.pop("service_provider_comment", UNSET)
|
|
258
258
|
|
|
@@ -28,11 +28,9 @@ class OpenStackBackupRestoration:
|
|
|
28
28
|
flavor (Union[Unset, str]): Flavor to be used for the restored instance. If not specified, original instance
|
|
29
29
|
flavor will be used
|
|
30
30
|
name (Union[Unset, str]): New instance name. Leave blank to use source instance name.
|
|
31
|
-
floating_ips (Union[Unset, list['OpenStackNestedFloatingIP']]):
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
the restored instance
|
|
35
|
-
ports (Union[Unset, list['OpenStackNestedPort']]): Network ports that will be attached to the restored instance
|
|
31
|
+
floating_ips (Union[Unset, list['OpenStackNestedFloatingIP']]):
|
|
32
|
+
security_groups (Union[Unset, list['OpenStackNestedSecurityGroup']]):
|
|
33
|
+
ports (Union[Unset, list['OpenStackNestedPort']]):
|
|
36
34
|
"""
|
|
37
35
|
|
|
38
36
|
uuid: Union[Unset, UUID] = UNSET
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import TYPE_CHECKING, Any, TypeVar, Union
|
|
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
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ..models.open_stack_create_floating_ip_request import OpenStackCreateFloatingIPRequest
|
|
11
|
+
from ..models.open_stack_create_port_request import OpenStackCreatePortRequest
|
|
12
|
+
from ..models.open_stack_security_group_hyperlink_request import OpenStackSecurityGroupHyperlinkRequest
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
T = TypeVar("T", bound="OpenStackBackupRestorationCreateRequest")
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@_attrs_define
|
|
19
|
+
class OpenStackBackupRestorationCreateRequest:
|
|
20
|
+
"""
|
|
21
|
+
Attributes:
|
|
22
|
+
flavor (str): Flavor to be used for the restored instance. If not specified, original instance flavor will be
|
|
23
|
+
used
|
|
24
|
+
name (Union[Unset, str]): New instance name. Leave blank to use source instance name.
|
|
25
|
+
floating_ips (Union[Unset, list['OpenStackCreateFloatingIPRequest']]): Floating IPs that will be assigned to the
|
|
26
|
+
restored instance
|
|
27
|
+
security_groups (Union[Unset, list['OpenStackSecurityGroupHyperlinkRequest']]): Security groups that will be
|
|
28
|
+
assigned to the restored instance
|
|
29
|
+
ports (Union[Unset, list['OpenStackCreatePortRequest']]): Network ports that will be attached to the restored
|
|
30
|
+
instance
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
flavor: str
|
|
34
|
+
name: Union[Unset, str] = UNSET
|
|
35
|
+
floating_ips: Union[Unset, list["OpenStackCreateFloatingIPRequest"]] = UNSET
|
|
36
|
+
security_groups: Union[Unset, list["OpenStackSecurityGroupHyperlinkRequest"]] = UNSET
|
|
37
|
+
ports: Union[Unset, list["OpenStackCreatePortRequest"]] = UNSET
|
|
38
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
39
|
+
|
|
40
|
+
def to_dict(self) -> dict[str, Any]:
|
|
41
|
+
flavor = self.flavor
|
|
42
|
+
|
|
43
|
+
name = self.name
|
|
44
|
+
|
|
45
|
+
floating_ips: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
46
|
+
if not isinstance(self.floating_ips, Unset):
|
|
47
|
+
floating_ips = []
|
|
48
|
+
for floating_ips_item_data in self.floating_ips:
|
|
49
|
+
floating_ips_item = floating_ips_item_data.to_dict()
|
|
50
|
+
floating_ips.append(floating_ips_item)
|
|
51
|
+
|
|
52
|
+
security_groups: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
53
|
+
if not isinstance(self.security_groups, Unset):
|
|
54
|
+
security_groups = []
|
|
55
|
+
for security_groups_item_data in self.security_groups:
|
|
56
|
+
security_groups_item = security_groups_item_data.to_dict()
|
|
57
|
+
security_groups.append(security_groups_item)
|
|
58
|
+
|
|
59
|
+
ports: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
60
|
+
if not isinstance(self.ports, Unset):
|
|
61
|
+
ports = []
|
|
62
|
+
for ports_item_data in self.ports:
|
|
63
|
+
ports_item = ports_item_data.to_dict()
|
|
64
|
+
ports.append(ports_item)
|
|
65
|
+
|
|
66
|
+
field_dict: dict[str, Any] = {}
|
|
67
|
+
field_dict.update(self.additional_properties)
|
|
68
|
+
field_dict.update(
|
|
69
|
+
{
|
|
70
|
+
"flavor": flavor,
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
if name is not UNSET:
|
|
74
|
+
field_dict["name"] = name
|
|
75
|
+
if floating_ips is not UNSET:
|
|
76
|
+
field_dict["floating_ips"] = floating_ips
|
|
77
|
+
if security_groups is not UNSET:
|
|
78
|
+
field_dict["security_groups"] = security_groups
|
|
79
|
+
if ports is not UNSET:
|
|
80
|
+
field_dict["ports"] = ports
|
|
81
|
+
|
|
82
|
+
return field_dict
|
|
83
|
+
|
|
84
|
+
@classmethod
|
|
85
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
86
|
+
from ..models.open_stack_create_floating_ip_request import OpenStackCreateFloatingIPRequest
|
|
87
|
+
from ..models.open_stack_create_port_request import OpenStackCreatePortRequest
|
|
88
|
+
from ..models.open_stack_security_group_hyperlink_request import OpenStackSecurityGroupHyperlinkRequest
|
|
89
|
+
|
|
90
|
+
d = dict(src_dict)
|
|
91
|
+
flavor = d.pop("flavor")
|
|
92
|
+
|
|
93
|
+
name = d.pop("name", UNSET)
|
|
94
|
+
|
|
95
|
+
floating_ips = []
|
|
96
|
+
_floating_ips = d.pop("floating_ips", UNSET)
|
|
97
|
+
for floating_ips_item_data in _floating_ips or []:
|
|
98
|
+
floating_ips_item = OpenStackCreateFloatingIPRequest.from_dict(floating_ips_item_data)
|
|
99
|
+
|
|
100
|
+
floating_ips.append(floating_ips_item)
|
|
101
|
+
|
|
102
|
+
security_groups = []
|
|
103
|
+
_security_groups = d.pop("security_groups", UNSET)
|
|
104
|
+
for security_groups_item_data in _security_groups or []:
|
|
105
|
+
security_groups_item = OpenStackSecurityGroupHyperlinkRequest.from_dict(security_groups_item_data)
|
|
106
|
+
|
|
107
|
+
security_groups.append(security_groups_item)
|
|
108
|
+
|
|
109
|
+
ports = []
|
|
110
|
+
_ports = d.pop("ports", UNSET)
|
|
111
|
+
for ports_item_data in _ports or []:
|
|
112
|
+
ports_item = OpenStackCreatePortRequest.from_dict(ports_item_data)
|
|
113
|
+
|
|
114
|
+
ports.append(ports_item)
|
|
115
|
+
|
|
116
|
+
open_stack_backup_restoration_create_request = cls(
|
|
117
|
+
flavor=flavor,
|
|
118
|
+
name=name,
|
|
119
|
+
floating_ips=floating_ips,
|
|
120
|
+
security_groups=security_groups,
|
|
121
|
+
ports=ports,
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
open_stack_backup_restoration_create_request.additional_properties = d
|
|
125
|
+
return open_stack_backup_restoration_create_request
|
|
126
|
+
|
|
127
|
+
@property
|
|
128
|
+
def additional_keys(self) -> list[str]:
|
|
129
|
+
return list(self.additional_properties.keys())
|
|
130
|
+
|
|
131
|
+
def __getitem__(self, key: str) -> Any:
|
|
132
|
+
return self.additional_properties[key]
|
|
133
|
+
|
|
134
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
135
|
+
self.additional_properties[key] = value
|
|
136
|
+
|
|
137
|
+
def __delitem__(self, key: str) -> None:
|
|
138
|
+
del self.additional_properties[key]
|
|
139
|
+
|
|
140
|
+
def __contains__(self, key: str) -> bool:
|
|
141
|
+
return key in self.additional_properties
|