waldur-api-client 7.7.6__py3-none-any.whl → 7.7.8__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 +34 -11
- waldur_api_client/api/booking_resources/booking_resources_list.py +34 -11
- waldur_api_client/api/customer_permissions_reviews/customer_permissions_reviews_count.py +19 -0
- waldur_api_client/api/customer_permissions_reviews/customer_permissions_reviews_list.py +19 -0
- waldur_api_client/api/customers/customers_project_metadata_compliance_details_list.py +189 -0
- waldur_api_client/api/customers/customers_project_metadata_compliance_overview_list.py +189 -0
- waldur_api_client/api/customers/customers_project_metadata_compliance_projects_list.py +187 -0
- waldur_api_client/api/customers/customers_project_metadata_question_answers_list.py +187 -0
- waldur_api_client/api/customers/customers_users_list.py +141 -53
- waldur_api_client/api/invoices/invoices_items_retrieve.py +20 -0
- waldur_api_client/api/managed_rancher_cluster_resources/__init__.py +1 -0
- waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_add_node.py +162 -0
- waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_count.py +172 -0
- waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_list.py +196 -0
- waldur_api_client/api/managed_rancher_cluster_resources/managed_rancher_cluster_resources_retrieve.py +171 -0
- waldur_api_client/api/marketplace_course_accounts/__init__.py +1 -0
- waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_count.py +244 -0
- waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_create.py +148 -0
- waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_create_bulk.py +152 -0
- waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_destroy.py +89 -0
- waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_list.py +245 -0
- waldur_api_client/api/marketplace_course_accounts/marketplace_course_accounts_retrieve.py +140 -0
- waldur_api_client/api/marketplace_customer_service_accounts/marketplace_customer_service_accounts_count.py +25 -0
- waldur_api_client/api/marketplace_customer_service_accounts/marketplace_customer_service_accounts_list.py +25 -0
- waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_count.py +34 -11
- waldur_api_client/api/marketplace_integration_statuses/marketplace_integration_statuses_list.py +34 -11
- waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_count.py +34 -11
- waldur_api_client/api/marketplace_offering_files/marketplace_offering_files_list.py +34 -11
- waldur_api_client/api/marketplace_offering_terms_of_service/__init__.py +1 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_count.py +274 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_create.py +152 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_destroy.py +89 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_list.py +277 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_partial_update.py +164 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_retrieve.py +142 -0
- waldur_api_client/api/marketplace_offering_terms_of_service/marketplace_offering_terms_of_service_update.py +164 -0
- waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_count.py +34 -11
- waldur_api_client/api/marketplace_offering_user_roles/marketplace_offering_user_roles_list.py +34 -11
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_count.py +34 -11
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +34 -11
- waldur_api_client/api/marketplace_orders/marketplace_orders_count.py +19 -0
- waldur_api_client/api/marketplace_orders/marketplace_orders_list.py +19 -0
- waldur_api_client/api/marketplace_plans/marketplace_plans_count.py +19 -0
- waldur_api_client/api/marketplace_plans/marketplace_plans_list.py +19 -0
- waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_count.py +19 -0
- waldur_api_client/api/marketplace_plans/marketplace_plans_usage_stats_list.py +19 -0
- waldur_api_client/api/marketplace_project_service_accounts/marketplace_project_service_accounts_count.py +25 -0
- waldur_api_client/api/marketplace_project_service_accounts/marketplace_project_service_accounts_list.py +25 -0
- waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_count.py +34 -11
- waldur_api_client/api/marketplace_provider_resources/marketplace_provider_resources_list.py +34 -11
- waldur_api_client/api/marketplace_resources/marketplace_resources_count.py +34 -11
- waldur_api_client/api/marketplace_resources/marketplace_resources_list.py +34 -11
- waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_count.py +34 -11
- waldur_api_client/api/marketplace_screenshots/marketplace_screenshots_list.py +34 -11
- waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_course_accounts_list.py +284 -0
- waldur_api_client/api/marketplace_service_providers/marketplace_service_providers_project_service_accounts_list.py +29 -0
- waldur_api_client/api/marketplace_user_offering_consents/__init__.py +1 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_count.py +307 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_create.py +152 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_destroy.py +89 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_list.py +310 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_partial_update.py +164 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_retrieve.py +142 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_revoke.py +146 -0
- waldur_api_client/api/marketplace_user_offering_consents/marketplace_user_offering_consents_update.py +164 -0
- waldur_api_client/api/project_permissions_reviews/__init__.py +1 -0
- waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_close.py +91 -0
- waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_count.py +266 -0
- waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_list.py +269 -0
- waldur_api_client/api/project_permissions_reviews/project_permissions_reviews_retrieve.py +142 -0
- waldur_api_client/api/projects/projects_other_users_list.py +98 -23
- waldur_api_client/api/projects/projects_sync_user_roles.py +10 -9
- waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_order_status_retrieve.py +145 -0
- waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_status_retrieve.py +147 -0
- waldur_api_client/api/remote_waldur_api/remote_waldur_api_remote_resource_team_status_list.py +188 -0
- waldur_api_client/api/support_issue_statuses/__init__.py +1 -0
- waldur_api_client/api/support_issue_statuses/support_issue_statuses_count.py +172 -0
- waldur_api_client/api/support_issue_statuses/support_issue_statuses_create.py +148 -0
- waldur_api_client/api/support_issue_statuses/support_issue_statuses_destroy.py +89 -0
- waldur_api_client/api/support_issue_statuses/support_issue_statuses_list.py +173 -0
- waldur_api_client/api/support_issue_statuses/support_issue_statuses_partial_update.py +162 -0
- waldur_api_client/api/support_issue_statuses/support_issue_statuses_retrieve.py +140 -0
- waldur_api_client/api/support_issue_statuses/support_issue_statuses_update.py +162 -0
- waldur_api_client/api/user_group_invitations/user_group_invitations_submit_request.py +12 -12
- waldur_api_client/api/user_invitations/user_invitations_count.py +30 -0
- waldur_api_client/api/user_invitations/user_invitations_list.py +30 -0
- waldur_api_client/api/user_permission_requests/user_permission_requests_cancel_request.py +146 -0
- waldur_api_client/models/__init__.py +136 -2
- waldur_api_client/models/azure_sql_server_create_order_attributes.py +3 -0
- waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +3 -0
- waldur_api_client/models/booking_offerings_list_field_item.py +0 -2
- waldur_api_client/models/booking_offerings_retrieve_field_item.py +0 -2
- waldur_api_client/models/booking_resource.py +10 -9
- waldur_api_client/models/booking_resources_list_field_item.py +1 -1
- waldur_api_client/models/booking_resources_retrieve_field_item.py +1 -1
- waldur_api_client/models/cancel_request_response.py +75 -0
- waldur_api_client/models/checklist_info.py +76 -0
- waldur_api_client/models/compliance_overview.py +91 -0
- waldur_api_client/models/constance_settings.py +9 -0
- waldur_api_client/models/constance_settings_request.py +9 -0
- waldur_api_client/models/course_account.py +188 -0
- waldur_api_client/models/course_account_create_nested.py +68 -0
- waldur_api_client/models/course_account_create_nested_request.py +68 -0
- waldur_api_client/models/course_account_request.py +89 -0
- waldur_api_client/models/course_accounts_bulk_create.py +82 -0
- waldur_api_client/models/course_accounts_bulk_create_request.py +82 -0
- waldur_api_client/models/customer.py +90 -0
- waldur_api_client/models/customer_permission_review.py +16 -16
- waldur_api_client/models/customer_request.py +9 -0
- waldur_api_client/models/customer_service_account.py +9 -0
- waldur_api_client/models/customers_list_field_item.py +5 -0
- waldur_api_client/models/customers_retrieve_field_item.py +5 -0
- waldur_api_client/models/customers_users_list_o.py +9 -0
- waldur_api_client/models/customers_users_list_organization_role_item_type_0.py +10 -0
- waldur_api_client/models/customers_users_list_project_role_item_type_0.py +10 -0
- waldur_api_client/models/dependency_logic_operator_enum.py +9 -0
- waldur_api_client/models/event_subscription.py +1 -1
- waldur_api_client/models/event_types_enum.py +4 -0
- waldur_api_client/models/generic_order_attributes.py +69 -0
- waldur_api_client/models/google_auth_authorize_retrieve_field_item.py +1 -0
- waldur_api_client/models/google_auth_list_field_item.py +1 -0
- waldur_api_client/models/google_auth_retrieve_field_item.py +1 -0
- waldur_api_client/models/google_credentials.py +9 -0
- waldur_api_client/models/group_invitation.py +33 -0
- waldur_api_client/models/group_invitation_request.py +10 -0
- waldur_api_client/models/invitation.py +9 -0
- waldur_api_client/models/invoices_items_retrieve_o.py +15 -0
- waldur_api_client/models/issue_status.py +103 -0
- waldur_api_client/models/issue_status_request.py +78 -0
- waldur_api_client/models/issue_status_type_enum.py +9 -0
- waldur_api_client/models/kind_enum.py +10 -0
- waldur_api_client/models/maintenance_announcement.py +8 -0
- waldur_api_client/models/managed_rancher_cluster_resources_list_field_item.py +82 -0
- waldur_api_client/models/managed_rancher_cluster_resources_retrieve_field_item.py +82 -0
- waldur_api_client/models/managed_rancher_create_node_request.py +186 -0
- waldur_api_client/models/marketplace_course_accounts_count_state_item.py +10 -0
- waldur_api_client/models/marketplace_course_accounts_list_state_item.py +10 -0
- waldur_api_client/models/marketplace_customer_service_accounts_count_state_item.py +10 -0
- waldur_api_client/models/marketplace_customer_service_accounts_list_state_item.py +10 -0
- waldur_api_client/models/marketplace_offering_terms_of_service_count_o_item.py +13 -0
- waldur_api_client/models/marketplace_offering_terms_of_service_list_o_item.py +13 -0
- waldur_api_client/models/marketplace_orders_list_field_item.py +1 -1
- waldur_api_client/models/marketplace_orders_retrieve_field_item.py +1 -1
- waldur_api_client/models/marketplace_project_service_accounts_count_state_item.py +10 -0
- waldur_api_client/models/marketplace_project_service_accounts_list_state_item.py +10 -0
- waldur_api_client/models/marketplace_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +0 -2
- waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +0 -2
- waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +0 -2
- waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +0 -2
- waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +0 -2
- waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +0 -2
- waldur_api_client/models/marketplace_provider_resources_details_retrieve_field_item.py +1 -1
- waldur_api_client/models/marketplace_provider_resources_list_field_item.py +1 -1
- waldur_api_client/models/marketplace_provider_resources_retrieve_field_item.py +1 -1
- waldur_api_client/models/marketplace_public_offerings_list_field_item.py +0 -2
- waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +0 -2
- waldur_api_client/models/marketplace_rancher_create_order_attributes.py +3 -0
- waldur_api_client/models/marketplace_resources_details_retrieve_field_item.py +1 -1
- waldur_api_client/models/marketplace_resources_list_field_item.py +1 -1
- waldur_api_client/models/marketplace_resources_retrieve_field_item.py +1 -1
- waldur_api_client/models/marketplace_service_providers_course_accounts_list_state_item.py +10 -0
- waldur_api_client/models/marketplace_service_providers_list_field_item.py +1 -0
- waldur_api_client/models/marketplace_service_providers_project_service_accounts_list_state_item.py +10 -0
- waldur_api_client/models/marketplace_service_providers_projects_list_field_item.py +1 -0
- waldur_api_client/models/marketplace_service_providers_retrieve_field_item.py +1 -0
- waldur_api_client/models/marketplace_user_offering_consents_count_o_item.py +15 -0
- waldur_api_client/models/marketplace_user_offering_consents_list_o_item.py +15 -0
- waldur_api_client/models/nested_security_group_rule.py +223 -0
- waldur_api_client/models/nested_security_group_rule_request.py +188 -0
- waldur_api_client/models/offering.py +0 -18
- waldur_api_client/models/offering_create.py +0 -18
- waldur_api_client/models/offering_create_request.py +0 -18
- waldur_api_client/models/offering_overview_update_request.py +0 -18
- waldur_api_client/models/offering_terms_of_service.py +142 -0
- waldur_api_client/models/offering_terms_of_service_create.py +107 -0
- waldur_api_client/models/offering_terms_of_service_create_request.py +107 -0
- waldur_api_client/models/offering_terms_of_service_request.py +96 -0
- waldur_api_client/models/open_stack_backup_restoration_request.py +0 -22
- waldur_api_client/models/open_stack_fixed_ip.py +13 -3
- waldur_api_client/models/open_stack_fixed_ip_request.py +7 -2
- waldur_api_client/models/open_stack_instance_create_order_attributes.py +23 -20
- waldur_api_client/models/open_stack_nested_security_group.py +53 -1
- waldur_api_client/models/open_stack_network.py +20 -0
- waldur_api_client/models/open_stack_port_ip_update_request.py +6 -2
- waldur_api_client/models/open_stack_security_group_rule_update_request.py +4 -4
- waldur_api_client/models/open_stack_static_route.py +13 -4
- waldur_api_client/models/open_stack_static_route_request.py +7 -3
- waldur_api_client/models/open_stack_sub_net.py +15 -2
- waldur_api_client/models/open_stack_sub_net_allocation_pool.py +27 -8
- waldur_api_client/models/open_stack_sub_net_allocation_pool_request.py +14 -5
- waldur_api_client/models/open_stack_sub_net_request.py +15 -2
- waldur_api_client/models/open_stack_tenant.py +38 -0
- waldur_api_client/models/open_stack_tenant_create_order_attributes.py +21 -0
- waldur_api_client/models/open_stack_volume_create_order_attributes.py +3 -0
- waldur_api_client/models/openstack_networks_list_field_item.py +1 -0
- waldur_api_client/models/openstack_networks_retrieve_field_item.py +1 -0
- waldur_api_client/models/openstack_tenants_list_field_item.py +3 -0
- waldur_api_client/models/openstack_tenants_retrieve_field_item.py +3 -0
- waldur_api_client/models/order_create.py +0 -8
- waldur_api_client/models/order_create_request.py +23 -7
- waldur_api_client/models/order_details.py +0 -9
- waldur_api_client/models/patched_customer_request.py +9 -0
- waldur_api_client/models/patched_issue_status_request.py +76 -0
- waldur_api_client/models/patched_offering_terms_of_service_request.py +96 -0
- waldur_api_client/models/patched_open_stack_sub_net_request.py +15 -2
- waldur_api_client/models/patched_project_request.py +17 -0
- waldur_api_client/models/patched_question_admin_request.py +17 -0
- waldur_api_client/models/patched_rancher_service_request.py +1 -1
- waldur_api_client/models/patched_user_offering_consent_request.py +59 -0
- waldur_api_client/models/permission_project.py +147 -0
- waldur_api_client/models/permission_request.py +16 -0
- waldur_api_client/models/project.py +17 -0
- waldur_api_client/models/project_answer.py +122 -0
- waldur_api_client/models/project_detail.py +133 -0
- waldur_api_client/models/project_details_response.py +115 -0
- waldur_api_client/models/project_permission_review.py +166 -0
- waldur_api_client/models/project_permissions_reviews_count_o_item.py +11 -0
- waldur_api_client/models/project_permissions_reviews_list_o_item.py +11 -0
- waldur_api_client/models/project_request.py +17 -0
- waldur_api_client/models/project_service_account.py +9 -0
- waldur_api_client/models/projects_list_field_item.py +1 -0
- waldur_api_client/models/projects_other_users_list_o.py +9 -0
- waldur_api_client/models/projects_retrieve_field_item.py +1 -0
- waldur_api_client/models/proposal.py +8 -0
- waldur_api_client/models/proposal_review.py +8 -0
- waldur_api_client/models/provider_offering_details.py +0 -18
- waldur_api_client/models/provider_offering_details_request.py +0 -18
- waldur_api_client/models/public_offering_details.py +0 -18
- waldur_api_client/models/question_admin.py +17 -0
- waldur_api_client/models/question_admin_request.py +17 -0
- waldur_api_client/models/question_answer.py +176 -0
- waldur_api_client/models/question_answer_project_answers_item.py +44 -0
- waldur_api_client/models/question_answer_question_options_item.py +44 -0
- waldur_api_client/models/rancher_nested_public_ip.py +25 -7
- waldur_api_client/models/rancher_service.py +1 -1
- waldur_api_client/models/rancher_service_request.py +1 -1
- waldur_api_client/models/remote_resource_order.py +88 -0
- waldur_api_client/models/remote_resource_order_remote_state_enum.py +15 -0
- waldur_api_client/models/remote_resource_sync_status.py +123 -0
- waldur_api_client/models/{robot_account_states.py → remote_resource_sync_status_remote_state_enum.py} +1 -1
- waldur_api_client/models/remote_resource_team_member.py +85 -0
- waldur_api_client/models/resource.py +10 -9
- waldur_api_client/models/rmq_connection.py +8 -3
- waldur_api_client/models/rmq_subscription.py +7 -3
- waldur_api_client/models/robot_account.py +9 -17
- waldur_api_client/models/robot_account_details.py +9 -17
- waldur_api_client/models/service_account_state.py +10 -0
- waldur_api_client/models/service_provider.py +9 -0
- waldur_api_client/models/slurm_invoices_slurm_package_create_order_attributes.py +3 -0
- waldur_api_client/models/submit_request_response.py +75 -0
- waldur_api_client/models/sync_status_enum.py +10 -0
- waldur_api_client/models/user_offering_consent.py +202 -0
- waldur_api_client/models/user_offering_consent_create.py +60 -0
- waldur_api_client/models/user_offering_consent_create_request.py +60 -0
- waldur_api_client/models/user_offering_consent_request.py +59 -0
- waldur_api_client/models/v_mware_virtual_machine_create_order_attributes.py +3 -0
- waldur_api_client/models/visible_invitation_details.py +9 -0
- {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.8.dist-info}/METADATA +1 -1
- {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.8.dist-info}/RECORD +261 -145
- {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.8.dist-info}/LICENSE +0 -0
- {waldur_api_client-7.7.6.dist-info → waldur_api_client-7.7.8.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,107 @@
|
|
|
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 ..types import UNSET, Unset
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="OfferingTermsOfServiceCreateRequest")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class OfferingTermsOfServiceCreateRequest:
|
|
14
|
+
"""
|
|
15
|
+
Attributes:
|
|
16
|
+
offering (str):
|
|
17
|
+
terms_of_service (Union[Unset, str]):
|
|
18
|
+
terms_of_service_link (Union[Unset, str]):
|
|
19
|
+
version (Union[Unset, str]):
|
|
20
|
+
is_active (Union[Unset, bool]):
|
|
21
|
+
requires_reconsent (Union[Unset, bool]): If True, user will be asked to re-consent to the terms of service when
|
|
22
|
+
the terms of service are updated.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
offering: str
|
|
26
|
+
terms_of_service: Union[Unset, str] = UNSET
|
|
27
|
+
terms_of_service_link: Union[Unset, str] = UNSET
|
|
28
|
+
version: Union[Unset, str] = UNSET
|
|
29
|
+
is_active: Union[Unset, bool] = UNSET
|
|
30
|
+
requires_reconsent: Union[Unset, bool] = UNSET
|
|
31
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
32
|
+
|
|
33
|
+
def to_dict(self) -> dict[str, Any]:
|
|
34
|
+
offering = self.offering
|
|
35
|
+
|
|
36
|
+
terms_of_service = self.terms_of_service
|
|
37
|
+
|
|
38
|
+
terms_of_service_link = self.terms_of_service_link
|
|
39
|
+
|
|
40
|
+
version = self.version
|
|
41
|
+
|
|
42
|
+
is_active = self.is_active
|
|
43
|
+
|
|
44
|
+
requires_reconsent = self.requires_reconsent
|
|
45
|
+
|
|
46
|
+
field_dict: dict[str, Any] = {}
|
|
47
|
+
field_dict.update(self.additional_properties)
|
|
48
|
+
field_dict.update(
|
|
49
|
+
{
|
|
50
|
+
"offering": offering,
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
if terms_of_service is not UNSET:
|
|
54
|
+
field_dict["terms_of_service"] = terms_of_service
|
|
55
|
+
if terms_of_service_link is not UNSET:
|
|
56
|
+
field_dict["terms_of_service_link"] = terms_of_service_link
|
|
57
|
+
if version is not UNSET:
|
|
58
|
+
field_dict["version"] = version
|
|
59
|
+
if is_active is not UNSET:
|
|
60
|
+
field_dict["is_active"] = is_active
|
|
61
|
+
if requires_reconsent is not UNSET:
|
|
62
|
+
field_dict["requires_reconsent"] = requires_reconsent
|
|
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
|
+
offering = d.pop("offering")
|
|
70
|
+
|
|
71
|
+
terms_of_service = d.pop("terms_of_service", UNSET)
|
|
72
|
+
|
|
73
|
+
terms_of_service_link = d.pop("terms_of_service_link", UNSET)
|
|
74
|
+
|
|
75
|
+
version = d.pop("version", UNSET)
|
|
76
|
+
|
|
77
|
+
is_active = d.pop("is_active", UNSET)
|
|
78
|
+
|
|
79
|
+
requires_reconsent = d.pop("requires_reconsent", UNSET)
|
|
80
|
+
|
|
81
|
+
offering_terms_of_service_create_request = cls(
|
|
82
|
+
offering=offering,
|
|
83
|
+
terms_of_service=terms_of_service,
|
|
84
|
+
terms_of_service_link=terms_of_service_link,
|
|
85
|
+
version=version,
|
|
86
|
+
is_active=is_active,
|
|
87
|
+
requires_reconsent=requires_reconsent,
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
offering_terms_of_service_create_request.additional_properties = d
|
|
91
|
+
return offering_terms_of_service_create_request
|
|
92
|
+
|
|
93
|
+
@property
|
|
94
|
+
def additional_keys(self) -> list[str]:
|
|
95
|
+
return list(self.additional_properties.keys())
|
|
96
|
+
|
|
97
|
+
def __getitem__(self, key: str) -> Any:
|
|
98
|
+
return self.additional_properties[key]
|
|
99
|
+
|
|
100
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
101
|
+
self.additional_properties[key] = value
|
|
102
|
+
|
|
103
|
+
def __delitem__(self, key: str) -> None:
|
|
104
|
+
del self.additional_properties[key]
|
|
105
|
+
|
|
106
|
+
def __contains__(self, key: str) -> bool:
|
|
107
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,96 @@
|
|
|
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 ..types import UNSET, Unset
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="OfferingTermsOfServiceRequest")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class OfferingTermsOfServiceRequest:
|
|
14
|
+
"""
|
|
15
|
+
Attributes:
|
|
16
|
+
terms_of_service (Union[Unset, str]):
|
|
17
|
+
terms_of_service_link (Union[Unset, str]):
|
|
18
|
+
version (Union[Unset, str]):
|
|
19
|
+
is_active (Union[Unset, bool]):
|
|
20
|
+
requires_reconsent (Union[Unset, bool]): If True, user will be asked to re-consent to the terms of service when
|
|
21
|
+
the terms of service are updated.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
terms_of_service: Union[Unset, str] = UNSET
|
|
25
|
+
terms_of_service_link: Union[Unset, str] = UNSET
|
|
26
|
+
version: Union[Unset, str] = UNSET
|
|
27
|
+
is_active: Union[Unset, bool] = UNSET
|
|
28
|
+
requires_reconsent: Union[Unset, bool] = UNSET
|
|
29
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
30
|
+
|
|
31
|
+
def to_dict(self) -> dict[str, Any]:
|
|
32
|
+
terms_of_service = self.terms_of_service
|
|
33
|
+
|
|
34
|
+
terms_of_service_link = self.terms_of_service_link
|
|
35
|
+
|
|
36
|
+
version = self.version
|
|
37
|
+
|
|
38
|
+
is_active = self.is_active
|
|
39
|
+
|
|
40
|
+
requires_reconsent = self.requires_reconsent
|
|
41
|
+
|
|
42
|
+
field_dict: dict[str, Any] = {}
|
|
43
|
+
field_dict.update(self.additional_properties)
|
|
44
|
+
field_dict.update({})
|
|
45
|
+
if terms_of_service is not UNSET:
|
|
46
|
+
field_dict["terms_of_service"] = terms_of_service
|
|
47
|
+
if terms_of_service_link is not UNSET:
|
|
48
|
+
field_dict["terms_of_service_link"] = terms_of_service_link
|
|
49
|
+
if version is not UNSET:
|
|
50
|
+
field_dict["version"] = version
|
|
51
|
+
if is_active is not UNSET:
|
|
52
|
+
field_dict["is_active"] = is_active
|
|
53
|
+
if requires_reconsent is not UNSET:
|
|
54
|
+
field_dict["requires_reconsent"] = requires_reconsent
|
|
55
|
+
|
|
56
|
+
return field_dict
|
|
57
|
+
|
|
58
|
+
@classmethod
|
|
59
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
60
|
+
d = dict(src_dict)
|
|
61
|
+
terms_of_service = d.pop("terms_of_service", UNSET)
|
|
62
|
+
|
|
63
|
+
terms_of_service_link = d.pop("terms_of_service_link", UNSET)
|
|
64
|
+
|
|
65
|
+
version = d.pop("version", UNSET)
|
|
66
|
+
|
|
67
|
+
is_active = d.pop("is_active", UNSET)
|
|
68
|
+
|
|
69
|
+
requires_reconsent = d.pop("requires_reconsent", UNSET)
|
|
70
|
+
|
|
71
|
+
offering_terms_of_service_request = cls(
|
|
72
|
+
terms_of_service=terms_of_service,
|
|
73
|
+
terms_of_service_link=terms_of_service_link,
|
|
74
|
+
version=version,
|
|
75
|
+
is_active=is_active,
|
|
76
|
+
requires_reconsent=requires_reconsent,
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
offering_terms_of_service_request.additional_properties = d
|
|
80
|
+
return offering_terms_of_service_request
|
|
81
|
+
|
|
82
|
+
@property
|
|
83
|
+
def additional_keys(self) -> list[str]:
|
|
84
|
+
return list(self.additional_properties.keys())
|
|
85
|
+
|
|
86
|
+
def __getitem__(self, key: str) -> Any:
|
|
87
|
+
return self.additional_properties[key]
|
|
88
|
+
|
|
89
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
90
|
+
self.additional_properties[key] = value
|
|
91
|
+
|
|
92
|
+
def __delitem__(self, key: str) -> None:
|
|
93
|
+
del self.additional_properties[key]
|
|
94
|
+
|
|
95
|
+
def __contains__(self, key: str) -> bool:
|
|
96
|
+
return key in self.additional_properties
|
|
@@ -9,7 +9,6 @@ from ..types import UNSET, Unset
|
|
|
9
9
|
if TYPE_CHECKING:
|
|
10
10
|
from ..models.open_stack_nested_floating_ip_request import OpenStackNestedFloatingIPRequest
|
|
11
11
|
from ..models.open_stack_nested_port_request import OpenStackNestedPortRequest
|
|
12
|
-
from ..models.open_stack_nested_security_group_request import OpenStackNestedSecurityGroupRequest
|
|
13
12
|
|
|
14
13
|
|
|
15
14
|
T = TypeVar("T", bound="OpenStackBackupRestorationRequest")
|
|
@@ -24,8 +23,6 @@ class OpenStackBackupRestorationRequest:
|
|
|
24
23
|
name (Union[Unset, str]): New instance name. Leave blank to use source instance name.
|
|
25
24
|
floating_ips (Union[Unset, list['OpenStackNestedFloatingIPRequest']]): Floating IPs that will be assigned to the
|
|
26
25
|
restored instance
|
|
27
|
-
security_groups (Union[Unset, list['OpenStackNestedSecurityGroupRequest']]): Security groups that will be
|
|
28
|
-
assigned to the restored instance
|
|
29
26
|
ports (Union[Unset, list['OpenStackNestedPortRequest']]): Network ports that will be attached to the restored
|
|
30
27
|
instance
|
|
31
28
|
"""
|
|
@@ -33,7 +30,6 @@ class OpenStackBackupRestorationRequest:
|
|
|
33
30
|
flavor: str
|
|
34
31
|
name: Union[Unset, str] = UNSET
|
|
35
32
|
floating_ips: Union[Unset, list["OpenStackNestedFloatingIPRequest"]] = UNSET
|
|
36
|
-
security_groups: Union[Unset, list["OpenStackNestedSecurityGroupRequest"]] = UNSET
|
|
37
33
|
ports: Union[Unset, list["OpenStackNestedPortRequest"]] = UNSET
|
|
38
34
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
39
35
|
|
|
@@ -49,13 +45,6 @@ class OpenStackBackupRestorationRequest:
|
|
|
49
45
|
floating_ips_item = floating_ips_item_data.to_dict()
|
|
50
46
|
floating_ips.append(floating_ips_item)
|
|
51
47
|
|
|
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
48
|
ports: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
60
49
|
if not isinstance(self.ports, Unset):
|
|
61
50
|
ports = []
|
|
@@ -74,8 +63,6 @@ class OpenStackBackupRestorationRequest:
|
|
|
74
63
|
field_dict["name"] = name
|
|
75
64
|
if floating_ips is not UNSET:
|
|
76
65
|
field_dict["floating_ips"] = floating_ips
|
|
77
|
-
if security_groups is not UNSET:
|
|
78
|
-
field_dict["security_groups"] = security_groups
|
|
79
66
|
if ports is not UNSET:
|
|
80
67
|
field_dict["ports"] = ports
|
|
81
68
|
|
|
@@ -85,7 +72,6 @@ class OpenStackBackupRestorationRequest:
|
|
|
85
72
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
86
73
|
from ..models.open_stack_nested_floating_ip_request import OpenStackNestedFloatingIPRequest
|
|
87
74
|
from ..models.open_stack_nested_port_request import OpenStackNestedPortRequest
|
|
88
|
-
from ..models.open_stack_nested_security_group_request import OpenStackNestedSecurityGroupRequest
|
|
89
75
|
|
|
90
76
|
d = dict(src_dict)
|
|
91
77
|
flavor = d.pop("flavor")
|
|
@@ -99,13 +85,6 @@ class OpenStackBackupRestorationRequest:
|
|
|
99
85
|
|
|
100
86
|
floating_ips.append(floating_ips_item)
|
|
101
87
|
|
|
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 = OpenStackNestedSecurityGroupRequest.from_dict(security_groups_item_data)
|
|
106
|
-
|
|
107
|
-
security_groups.append(security_groups_item)
|
|
108
|
-
|
|
109
88
|
ports = []
|
|
110
89
|
_ports = d.pop("ports", UNSET)
|
|
111
90
|
for ports_item_data in _ports or []:
|
|
@@ -117,7 +96,6 @@ class OpenStackBackupRestorationRequest:
|
|
|
117
96
|
flavor=flavor,
|
|
118
97
|
name=name,
|
|
119
98
|
floating_ips=floating_ips,
|
|
120
|
-
security_groups=security_groups,
|
|
121
99
|
ports=ports,
|
|
122
100
|
)
|
|
123
101
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from collections.abc import Mapping
|
|
2
|
-
from typing import Any, TypeVar, Union
|
|
2
|
+
from typing import Any, TypeVar, Union, cast
|
|
3
3
|
|
|
4
4
|
from attrs import define as _attrs_define
|
|
5
5
|
from attrs import field as _attrs_field
|
|
@@ -22,7 +22,11 @@ class OpenStackFixedIp:
|
|
|
22
22
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
23
23
|
|
|
24
24
|
def to_dict(self) -> dict[str, Any]:
|
|
25
|
-
ip_address
|
|
25
|
+
ip_address: Union[Unset, str]
|
|
26
|
+
if isinstance(self.ip_address, Unset):
|
|
27
|
+
ip_address = UNSET
|
|
28
|
+
else:
|
|
29
|
+
ip_address = self.ip_address
|
|
26
30
|
|
|
27
31
|
subnet_id = self.subnet_id
|
|
28
32
|
|
|
@@ -39,7 +43,13 @@ class OpenStackFixedIp:
|
|
|
39
43
|
@classmethod
|
|
40
44
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
41
45
|
d = dict(src_dict)
|
|
42
|
-
|
|
46
|
+
|
|
47
|
+
def _parse_ip_address(data: object) -> Union[Unset, str]:
|
|
48
|
+
if isinstance(data, Unset):
|
|
49
|
+
return data
|
|
50
|
+
return cast(Union[Unset, str], data)
|
|
51
|
+
|
|
52
|
+
ip_address = _parse_ip_address(d.pop("ip_address", UNSET))
|
|
43
53
|
|
|
44
54
|
subnet_id = d.pop("subnet_id", UNSET)
|
|
45
55
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from collections.abc import Mapping
|
|
2
|
-
from typing import Any, TypeVar
|
|
2
|
+
from typing import Any, TypeVar, cast
|
|
3
3
|
|
|
4
4
|
from attrs import define as _attrs_define
|
|
5
5
|
from attrs import field as _attrs_field
|
|
@@ -20,6 +20,7 @@ class OpenStackFixedIpRequest:
|
|
|
20
20
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
21
21
|
|
|
22
22
|
def to_dict(self) -> dict[str, Any]:
|
|
23
|
+
ip_address: str
|
|
23
24
|
ip_address = self.ip_address
|
|
24
25
|
|
|
25
26
|
subnet_id = self.subnet_id
|
|
@@ -38,7 +39,11 @@ class OpenStackFixedIpRequest:
|
|
|
38
39
|
@classmethod
|
|
39
40
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
40
41
|
d = dict(src_dict)
|
|
41
|
-
|
|
42
|
+
|
|
43
|
+
def _parse_ip_address(data: object) -> str:
|
|
44
|
+
return cast(str, data)
|
|
45
|
+
|
|
46
|
+
ip_address = _parse_ip_address(d.pop("ip_address"))
|
|
42
47
|
|
|
43
48
|
subnet_id = d.pop("subnet_id")
|
|
44
49
|
|
|
@@ -21,6 +21,9 @@ class OpenStackInstanceCreateOrderAttributes:
|
|
|
21
21
|
"""This mixin allows to specify list of fields to be rendered by serializer.
|
|
22
22
|
It expects that request is available in serializer's context.
|
|
23
23
|
|
|
24
|
+
It is disabled for nested serializers (where parent is another serializer)
|
|
25
|
+
but remains active for list views (where parent is a ListSerializer).
|
|
26
|
+
|
|
24
27
|
Attributes:
|
|
25
28
|
name (str):
|
|
26
29
|
flavor (str): The flavor to use for the instance
|
|
@@ -28,8 +31,6 @@ class OpenStackInstanceCreateOrderAttributes:
|
|
|
28
31
|
ports (list['OpenStackNestedPortRequest']): Network ports to attach to the instance
|
|
29
32
|
system_volume_size (int): Size of the system volume in MiB. Minimum size is 1024 MiB (1 GiB)
|
|
30
33
|
description (Union[Unset, str]):
|
|
31
|
-
security_groups (Union[Unset, list['OpenStackNestedSecurityGroupRequest']]): List of security groups to apply to
|
|
32
|
-
the instance
|
|
33
34
|
floating_ips (Union[Unset, list['OpenStackNestedFloatingIPRequest']]): Floating IPs to assign to the instance
|
|
34
35
|
system_volume_type (Union[None, Unset, str]): Volume type for the system volume
|
|
35
36
|
data_volume_size (Union[Unset, int]): Size of the data volume in MiB. Minimum size is 1024 MiB (1 GiB)
|
|
@@ -41,6 +42,8 @@ class OpenStackInstanceCreateOrderAttributes:
|
|
|
41
42
|
external network
|
|
42
43
|
data_volumes (Union[Unset, list['OpenStackDataVolumeRequest']]): Additional data volumes to attach to the
|
|
43
44
|
instance
|
|
45
|
+
security_groups (Union[Unset, list['OpenStackNestedSecurityGroupRequest']]): Security groups to attach to the
|
|
46
|
+
instance
|
|
44
47
|
"""
|
|
45
48
|
|
|
46
49
|
name: str
|
|
@@ -49,7 +52,6 @@ class OpenStackInstanceCreateOrderAttributes:
|
|
|
49
52
|
ports: list["OpenStackNestedPortRequest"]
|
|
50
53
|
system_volume_size: int
|
|
51
54
|
description: Union[Unset, str] = UNSET
|
|
52
|
-
security_groups: Union[Unset, list["OpenStackNestedSecurityGroupRequest"]] = UNSET
|
|
53
55
|
floating_ips: Union[Unset, list["OpenStackNestedFloatingIPRequest"]] = UNSET
|
|
54
56
|
system_volume_type: Union[None, Unset, str] = UNSET
|
|
55
57
|
data_volume_size: Union[Unset, int] = UNSET
|
|
@@ -59,6 +61,7 @@ class OpenStackInstanceCreateOrderAttributes:
|
|
|
59
61
|
availability_zone: Union[None, Unset, str] = UNSET
|
|
60
62
|
connect_directly_to_external_network: Union[Unset, bool] = UNSET
|
|
61
63
|
data_volumes: Union[Unset, list["OpenStackDataVolumeRequest"]] = UNSET
|
|
64
|
+
security_groups: Union[Unset, list["OpenStackNestedSecurityGroupRequest"]] = UNSET
|
|
62
65
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
63
66
|
|
|
64
67
|
def to_dict(self) -> dict[str, Any]:
|
|
@@ -77,13 +80,6 @@ class OpenStackInstanceCreateOrderAttributes:
|
|
|
77
80
|
|
|
78
81
|
description = self.description
|
|
79
82
|
|
|
80
|
-
security_groups: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
81
|
-
if not isinstance(self.security_groups, Unset):
|
|
82
|
-
security_groups = []
|
|
83
|
-
for security_groups_item_data in self.security_groups:
|
|
84
|
-
security_groups_item = security_groups_item_data.to_dict()
|
|
85
|
-
security_groups.append(security_groups_item)
|
|
86
|
-
|
|
87
83
|
floating_ips: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
88
84
|
if not isinstance(self.floating_ips, Unset):
|
|
89
85
|
floating_ips = []
|
|
@@ -124,6 +120,13 @@ class OpenStackInstanceCreateOrderAttributes:
|
|
|
124
120
|
data_volumes_item = data_volumes_item_data.to_dict()
|
|
125
121
|
data_volumes.append(data_volumes_item)
|
|
126
122
|
|
|
123
|
+
security_groups: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
124
|
+
if not isinstance(self.security_groups, Unset):
|
|
125
|
+
security_groups = []
|
|
126
|
+
for security_groups_item_data in self.security_groups:
|
|
127
|
+
security_groups_item = security_groups_item_data.to_dict()
|
|
128
|
+
security_groups.append(security_groups_item)
|
|
129
|
+
|
|
127
130
|
field_dict: dict[str, Any] = {}
|
|
128
131
|
field_dict.update(self.additional_properties)
|
|
129
132
|
field_dict.update(
|
|
@@ -137,8 +140,6 @@ class OpenStackInstanceCreateOrderAttributes:
|
|
|
137
140
|
)
|
|
138
141
|
if description is not UNSET:
|
|
139
142
|
field_dict["description"] = description
|
|
140
|
-
if security_groups is not UNSET:
|
|
141
|
-
field_dict["security_groups"] = security_groups
|
|
142
143
|
if floating_ips is not UNSET:
|
|
143
144
|
field_dict["floating_ips"] = floating_ips
|
|
144
145
|
if system_volume_type is not UNSET:
|
|
@@ -157,6 +158,8 @@ class OpenStackInstanceCreateOrderAttributes:
|
|
|
157
158
|
field_dict["connect_directly_to_external_network"] = connect_directly_to_external_network
|
|
158
159
|
if data_volumes is not UNSET:
|
|
159
160
|
field_dict["data_volumes"] = data_volumes
|
|
161
|
+
if security_groups is not UNSET:
|
|
162
|
+
field_dict["security_groups"] = security_groups
|
|
160
163
|
|
|
161
164
|
return field_dict
|
|
162
165
|
|
|
@@ -185,13 +188,6 @@ class OpenStackInstanceCreateOrderAttributes:
|
|
|
185
188
|
|
|
186
189
|
description = d.pop("description", UNSET)
|
|
187
190
|
|
|
188
|
-
security_groups = []
|
|
189
|
-
_security_groups = d.pop("security_groups", UNSET)
|
|
190
|
-
for security_groups_item_data in _security_groups or []:
|
|
191
|
-
security_groups_item = OpenStackNestedSecurityGroupRequest.from_dict(security_groups_item_data)
|
|
192
|
-
|
|
193
|
-
security_groups.append(security_groups_item)
|
|
194
|
-
|
|
195
191
|
floating_ips = []
|
|
196
192
|
_floating_ips = d.pop("floating_ips", UNSET)
|
|
197
193
|
for floating_ips_item_data in _floating_ips or []:
|
|
@@ -241,6 +237,13 @@ class OpenStackInstanceCreateOrderAttributes:
|
|
|
241
237
|
|
|
242
238
|
data_volumes.append(data_volumes_item)
|
|
243
239
|
|
|
240
|
+
security_groups = []
|
|
241
|
+
_security_groups = d.pop("security_groups", UNSET)
|
|
242
|
+
for security_groups_item_data in _security_groups or []:
|
|
243
|
+
security_groups_item = OpenStackNestedSecurityGroupRequest.from_dict(security_groups_item_data)
|
|
244
|
+
|
|
245
|
+
security_groups.append(security_groups_item)
|
|
246
|
+
|
|
244
247
|
open_stack_instance_create_order_attributes = cls(
|
|
245
248
|
name=name,
|
|
246
249
|
flavor=flavor,
|
|
@@ -248,7 +251,6 @@ class OpenStackInstanceCreateOrderAttributes:
|
|
|
248
251
|
ports=ports,
|
|
249
252
|
system_volume_size=system_volume_size,
|
|
250
253
|
description=description,
|
|
251
|
-
security_groups=security_groups,
|
|
252
254
|
floating_ips=floating_ips,
|
|
253
255
|
system_volume_type=system_volume_type,
|
|
254
256
|
data_volume_size=data_volume_size,
|
|
@@ -258,6 +260,7 @@ class OpenStackInstanceCreateOrderAttributes:
|
|
|
258
260
|
availability_zone=availability_zone,
|
|
259
261
|
connect_directly_to_external_network=connect_directly_to_external_network,
|
|
260
262
|
data_volumes=data_volumes,
|
|
263
|
+
security_groups=security_groups,
|
|
261
264
|
)
|
|
262
265
|
|
|
263
266
|
open_stack_instance_create_order_attributes.additional_properties = d
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
from collections.abc import Mapping
|
|
2
|
-
from typing import Any, TypeVar, Union
|
|
2
|
+
from typing import TYPE_CHECKING, Any, TypeVar, Union
|
|
3
3
|
|
|
4
4
|
from attrs import define as _attrs_define
|
|
5
5
|
from attrs import field as _attrs_field
|
|
6
6
|
|
|
7
7
|
from ..types import UNSET, Unset
|
|
8
8
|
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ..models.nested_security_group_rule import NestedSecurityGroupRule
|
|
11
|
+
|
|
12
|
+
|
|
9
13
|
T = TypeVar("T", bound="OpenStackNestedSecurityGroup")
|
|
10
14
|
|
|
11
15
|
|
|
@@ -14,29 +18,77 @@ class OpenStackNestedSecurityGroup:
|
|
|
14
18
|
"""
|
|
15
19
|
Attributes:
|
|
16
20
|
url (Union[Unset, str]):
|
|
21
|
+
name (Union[Unset, str]):
|
|
22
|
+
rules (Union[Unset, list['NestedSecurityGroupRule']]):
|
|
23
|
+
description (Union[Unset, str]):
|
|
24
|
+
state (Union[Unset, str]):
|
|
17
25
|
"""
|
|
18
26
|
|
|
19
27
|
url: Union[Unset, str] = UNSET
|
|
28
|
+
name: Union[Unset, str] = UNSET
|
|
29
|
+
rules: Union[Unset, list["NestedSecurityGroupRule"]] = UNSET
|
|
30
|
+
description: Union[Unset, str] = UNSET
|
|
31
|
+
state: Union[Unset, str] = UNSET
|
|
20
32
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
21
33
|
|
|
22
34
|
def to_dict(self) -> dict[str, Any]:
|
|
23
35
|
url = self.url
|
|
24
36
|
|
|
37
|
+
name = self.name
|
|
38
|
+
|
|
39
|
+
rules: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
40
|
+
if not isinstance(self.rules, Unset):
|
|
41
|
+
rules = []
|
|
42
|
+
for rules_item_data in self.rules:
|
|
43
|
+
rules_item = rules_item_data.to_dict()
|
|
44
|
+
rules.append(rules_item)
|
|
45
|
+
|
|
46
|
+
description = self.description
|
|
47
|
+
|
|
48
|
+
state = self.state
|
|
49
|
+
|
|
25
50
|
field_dict: dict[str, Any] = {}
|
|
26
51
|
field_dict.update(self.additional_properties)
|
|
27
52
|
field_dict.update({})
|
|
28
53
|
if url is not UNSET:
|
|
29
54
|
field_dict["url"] = url
|
|
55
|
+
if name is not UNSET:
|
|
56
|
+
field_dict["name"] = name
|
|
57
|
+
if rules is not UNSET:
|
|
58
|
+
field_dict["rules"] = rules
|
|
59
|
+
if description is not UNSET:
|
|
60
|
+
field_dict["description"] = description
|
|
61
|
+
if state is not UNSET:
|
|
62
|
+
field_dict["state"] = state
|
|
30
63
|
|
|
31
64
|
return field_dict
|
|
32
65
|
|
|
33
66
|
@classmethod
|
|
34
67
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
68
|
+
from ..models.nested_security_group_rule import NestedSecurityGroupRule
|
|
69
|
+
|
|
35
70
|
d = dict(src_dict)
|
|
36
71
|
url = d.pop("url", UNSET)
|
|
37
72
|
|
|
73
|
+
name = d.pop("name", UNSET)
|
|
74
|
+
|
|
75
|
+
rules = []
|
|
76
|
+
_rules = d.pop("rules", UNSET)
|
|
77
|
+
for rules_item_data in _rules or []:
|
|
78
|
+
rules_item = NestedSecurityGroupRule.from_dict(rules_item_data)
|
|
79
|
+
|
|
80
|
+
rules.append(rules_item)
|
|
81
|
+
|
|
82
|
+
description = d.pop("description", UNSET)
|
|
83
|
+
|
|
84
|
+
state = d.pop("state", UNSET)
|
|
85
|
+
|
|
38
86
|
open_stack_nested_security_group = cls(
|
|
39
87
|
url=url,
|
|
88
|
+
name=name,
|
|
89
|
+
rules=rules,
|
|
90
|
+
description=description,
|
|
91
|
+
state=state,
|
|
40
92
|
)
|
|
41
93
|
|
|
42
94
|
open_stack_nested_security_group.additional_properties = d
|
|
@@ -54,6 +54,7 @@ class OpenStackNetwork:
|
|
|
54
54
|
tenant_uuid (Union[Unset, UUID]):
|
|
55
55
|
is_external (Union[Unset, bool]): Defines whether this network is external (public) or internal (private)
|
|
56
56
|
type_ (Union[Unset, str]): Network type, such as local, flat, vlan, vxlan, or gre
|
|
57
|
+
segmentation_id (Union[None, Unset, int]): VLAN ID for VLAN networks or tunnel ID for VXLAN/GRE networks
|
|
57
58
|
subnets (Union[Unset, list['OpenStackNestedSubNet']]):
|
|
58
59
|
mtu (Union[None, Unset, int]): The maximum transmission unit (MTU) value to address fragmentation.
|
|
59
60
|
rbac_policies (Union[Unset, list['NetworkRBACPolicy']]):
|
|
@@ -99,6 +100,7 @@ class OpenStackNetwork:
|
|
|
99
100
|
tenant_uuid: Union[Unset, UUID] = UNSET
|
|
100
101
|
is_external: Union[Unset, bool] = UNSET
|
|
101
102
|
type_: Union[Unset, str] = UNSET
|
|
103
|
+
segmentation_id: Union[None, Unset, int] = UNSET
|
|
102
104
|
subnets: Union[Unset, list["OpenStackNestedSubNet"]] = UNSET
|
|
103
105
|
mtu: Union[None, Unset, int] = UNSET
|
|
104
106
|
rbac_policies: Union[Unset, list["NetworkRBACPolicy"]] = UNSET
|
|
@@ -197,6 +199,12 @@ class OpenStackNetwork:
|
|
|
197
199
|
|
|
198
200
|
type_ = self.type_
|
|
199
201
|
|
|
202
|
+
segmentation_id: Union[None, Unset, int]
|
|
203
|
+
if isinstance(self.segmentation_id, Unset):
|
|
204
|
+
segmentation_id = UNSET
|
|
205
|
+
else:
|
|
206
|
+
segmentation_id = self.segmentation_id
|
|
207
|
+
|
|
200
208
|
subnets: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
201
209
|
if not isinstance(self.subnets, Unset):
|
|
202
210
|
subnets = []
|
|
@@ -342,6 +350,8 @@ class OpenStackNetwork:
|
|
|
342
350
|
field_dict["is_external"] = is_external
|
|
343
351
|
if type_ is not UNSET:
|
|
344
352
|
field_dict["type"] = type_
|
|
353
|
+
if segmentation_id is not UNSET:
|
|
354
|
+
field_dict["segmentation_id"] = segmentation_id
|
|
345
355
|
if subnets is not UNSET:
|
|
346
356
|
field_dict["subnets"] = subnets
|
|
347
357
|
if mtu is not UNSET:
|
|
@@ -480,6 +490,15 @@ class OpenStackNetwork:
|
|
|
480
490
|
|
|
481
491
|
type_ = d.pop("type", UNSET)
|
|
482
492
|
|
|
493
|
+
def _parse_segmentation_id(data: object) -> Union[None, Unset, int]:
|
|
494
|
+
if data is None:
|
|
495
|
+
return data
|
|
496
|
+
if isinstance(data, Unset):
|
|
497
|
+
return data
|
|
498
|
+
return cast(Union[None, Unset, int], data)
|
|
499
|
+
|
|
500
|
+
segmentation_id = _parse_segmentation_id(d.pop("segmentation_id", UNSET))
|
|
501
|
+
|
|
483
502
|
subnets = []
|
|
484
503
|
_subnets = d.pop("subnets", UNSET)
|
|
485
504
|
for subnets_item_data in _subnets or []:
|
|
@@ -637,6 +656,7 @@ class OpenStackNetwork:
|
|
|
637
656
|
tenant_uuid=tenant_uuid,
|
|
638
657
|
is_external=is_external,
|
|
639
658
|
type_=type_,
|
|
659
|
+
segmentation_id=segmentation_id,
|
|
640
660
|
subnets=subnets,
|
|
641
661
|
mtu=mtu,
|
|
642
662
|
rbac_policies=rbac_policies,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from collections.abc import Mapping
|
|
2
|
-
from typing import Any, TypeVar
|
|
2
|
+
from typing import Any, TypeVar, cast
|
|
3
3
|
|
|
4
4
|
from attrs import define as _attrs_define
|
|
5
5
|
from attrs import field as _attrs_field
|
|
@@ -22,6 +22,7 @@ class OpenStackPortIPUpdateRequest:
|
|
|
22
22
|
def to_dict(self) -> dict[str, Any]:
|
|
23
23
|
subnet = self.subnet
|
|
24
24
|
|
|
25
|
+
ip_address: str
|
|
25
26
|
ip_address = self.ip_address
|
|
26
27
|
|
|
27
28
|
field_dict: dict[str, Any] = {}
|
|
@@ -40,7 +41,10 @@ class OpenStackPortIPUpdateRequest:
|
|
|
40
41
|
d = dict(src_dict)
|
|
41
42
|
subnet = d.pop("subnet")
|
|
42
43
|
|
|
43
|
-
|
|
44
|
+
def _parse_ip_address(data: object) -> str:
|
|
45
|
+
return cast(str, data)
|
|
46
|
+
|
|
47
|
+
ip_address = _parse_ip_address(d.pop("ip_address"))
|
|
44
48
|
|
|
45
49
|
open_stack_port_ip_update_request = cls(
|
|
46
50
|
subnet=subnet,
|
|
@@ -17,8 +17,8 @@ T = TypeVar("T", bound="OpenStackSecurityGroupRuleUpdateRequest")
|
|
|
17
17
|
class OpenStackSecurityGroupRuleUpdateRequest:
|
|
18
18
|
"""
|
|
19
19
|
Attributes:
|
|
20
|
-
ethertype (Union[Unset, EthertypeEnum]):
|
|
21
|
-
direction (Union[Unset, DirectionEnum]):
|
|
20
|
+
ethertype (Union[Unset, EthertypeEnum]): Default: EthertypeEnum.IPV4.
|
|
21
|
+
direction (Union[Unset, DirectionEnum]): Default: DirectionEnum.INGRESS.
|
|
22
22
|
protocol (Union[BlankEnum, ProtocolEnum, Unset]): The network protocol (TCP, UDP, ICMP, or empty for any
|
|
23
23
|
protocol)
|
|
24
24
|
from_port (Union[None, Unset, int]): Starting port number in the range (1-65535)
|
|
@@ -28,8 +28,8 @@ class OpenStackSecurityGroupRuleUpdateRequest:
|
|
|
28
28
|
remote_group (Union[None, Unset, str]): Remote security group that this rule references, if any
|
|
29
29
|
"""
|
|
30
30
|
|
|
31
|
-
ethertype: Union[Unset, EthertypeEnum] =
|
|
32
|
-
direction: Union[Unset, DirectionEnum] =
|
|
31
|
+
ethertype: Union[Unset, EthertypeEnum] = EthertypeEnum.IPV4
|
|
32
|
+
direction: Union[Unset, DirectionEnum] = DirectionEnum.INGRESS
|
|
33
33
|
protocol: Union[BlankEnum, ProtocolEnum, Unset] = UNSET
|
|
34
34
|
from_port: Union[None, Unset, int] = UNSET
|
|
35
35
|
to_port: Union[None, Unset, int] = UNSET
|