waldur-api-client 7.7.5__py3-none-any.whl → 7.7.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of waldur-api-client might be problematic. Click here for more details.
- 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/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/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_checklist_retrieve.py +154 -0
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_checklist_review_retrieve.py +154 -0
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_completion_review_status_retrieve.py +154 -0
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_completion_status_retrieve.py +154 -0
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_count.py +34 -11
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_list.py +34 -11
- waldur_api_client/api/marketplace_offering_users/marketplace_offering_users_submit_answers.py +179 -0
- 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_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_robot_accounts/marketplace_robot_accounts_list.py +23 -0
- waldur_api_client/api/marketplace_robot_accounts/marketplace_robot_accounts_retrieve.py +30 -1
- waldur_api_client/api/marketplace_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_project_service_accounts_list.py +276 -0
- waldur_api_client/api/marketplace_service_providers/service_provider_compliance_overview.py +189 -0
- waldur_api_client/api/marketplace_service_providers/service_provider_offering_users_compliance.py +222 -0
- waldur_api_client/api/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/public_maintenance_announcements/__init__.py +1 -0
- waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_count.py +325 -0
- waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_list.py +328 -0
- waldur_api_client/api/public_maintenance_announcements/public_maintenance_announcements_retrieve.py +144 -0
- waldur_api_client/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/models/__init__.py +118 -4
- waldur_api_client/models/admin_announcement.py +109 -1
- waldur_api_client/models/admin_announcement_maintenance_affected_offerings_item.py +103 -0
- waldur_api_client/models/admin_announcements_list_field_item.py +8 -0
- waldur_api_client/models/admin_announcements_retrieve_field_item.py +8 -0
- waldur_api_client/models/azure_sql_server_create_order_attributes.py +83 -0
- waldur_api_client/models/azure_virtual_machine_create_order_attributes.py +99 -0
- waldur_api_client/models/basic_user.py +30 -21
- waldur_api_client/models/booking_offerings_list_field_item.py +1 -2
- waldur_api_client/models/booking_offerings_retrieve_field_item.py +1 -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/checklist_info.py +76 -0
- waldur_api_client/models/compliance_overview.py +91 -0
- waldur_api_client/models/create_router.py +1 -1
- waldur_api_client/models/create_router_request.py +1 -1
- waldur_api_client/models/customer.py +51 -0
- waldur_api_client/models/customers_list_field_item.py +2 -0
- waldur_api_client/models/customers_retrieve_field_item.py +2 -0
- waldur_api_client/models/fingerprint.py +19 -17
- 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 +24 -0
- waldur_api_client/models/group_invitation_request.py +10 -0
- waldur_api_client/models/instance_flavor_change_request.py +1 -1
- waldur_api_client/models/maintenance_announcement.py +8 -0
- waldur_api_client/models/marketplace_managed_rancher_create_order_attributes.py +144 -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_provider_offerings_list_customer_service_accounts_retrieve_field_item.py +1 -2
- waldur_api_client/models/marketplace_provider_offerings_list_field_item.py +1 -2
- waldur_api_client/models/marketplace_provider_offerings_list_project_service_accounts_retrieve_field_item.py +1 -2
- waldur_api_client/models/marketplace_provider_offerings_retrieve_field_item.py +1 -2
- waldur_api_client/models/marketplace_provider_offerings_stats_retrieve_field_item.py +1 -2
- waldur_api_client/models/marketplace_provider_offerings_user_has_resource_access_retrieve_field_item.py +1 -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 +1 -2
- waldur_api_client/models/marketplace_public_offerings_retrieve_field_item.py +1 -2
- waldur_api_client/models/marketplace_rancher_create_order_attributes.py +145 -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_robot_accounts_list_field_item.py +32 -0
- waldur_api_client/models/marketplace_robot_accounts_retrieve_field_item.py +32 -0
- waldur_api_client/models/marketplace_service_providers_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/offering.py +9 -18
- waldur_api_client/models/offering_create.py +8 -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_backend_instance.py +2 -2
- waldur_api_client/models/open_stack_backend_volumes.py +3 -3
- waldur_api_client/models/open_stack_backup.py +1 -1
- waldur_api_client/models/open_stack_backup_restoration.py +8 -5
- waldur_api_client/models/open_stack_backup_restoration_request.py +28 -3
- waldur_api_client/models/open_stack_fixed_ip.py +2 -2
- waldur_api_client/models/open_stack_fixed_ip_request.py +2 -2
- waldur_api_client/models/open_stack_floating_ip.py +5 -4
- waldur_api_client/models/open_stack_instance.py +17 -15
- waldur_api_client/models/open_stack_instance_allowed_address_pairs_update_request.py +3 -2
- waldur_api_client/models/open_stack_instance_availability_zone.py +1 -1
- waldur_api_client/models/open_stack_instance_create_order_attributes.py +283 -0
- waldur_api_client/models/open_stack_instance_request.py +4 -3
- waldur_api_client/models/open_stack_instance_security_groups_update_request.py +1 -1
- waldur_api_client/models/open_stack_nested_floating_ip.py +3 -3
- waldur_api_client/models/open_stack_nested_instance.py +1 -1
- waldur_api_client/models/open_stack_nested_port.py +5 -5
- waldur_api_client/models/open_stack_nested_port_request.py +1 -1
- waldur_api_client/models/open_stack_nested_security_group.py +16 -16
- waldur_api_client/models/open_stack_nested_security_group_request.py +59 -0
- waldur_api_client/models/{nested_security_group_rule_request.py → open_stack_nested_security_group_rules_item.py} +73 -63
- waldur_api_client/models/open_stack_nested_sub_net.py +4 -4
- waldur_api_client/models/open_stack_nested_sub_net_request.py +4 -4
- waldur_api_client/models/open_stack_nested_volume.py +3 -3
- waldur_api_client/models/open_stack_nested_volume_request.py +3 -3
- waldur_api_client/models/open_stack_network.py +23 -3
- waldur_api_client/models/open_stack_port.py +10 -9
- waldur_api_client/models/open_stack_port_ip_update_request.py +2 -2
- waldur_api_client/models/open_stack_port_request.py +3 -3
- waldur_api_client/models/open_stack_router.py +2 -2
- waldur_api_client/models/open_stack_router_interface_request.py +4 -2
- waldur_api_client/models/open_stack_security_group_rule_create.py +6 -5
- waldur_api_client/models/open_stack_security_group_rule_create_request.py +6 -5
- waldur_api_client/models/open_stack_security_group_rule_update_request.py +10 -9
- waldur_api_client/models/open_stack_server_group.py +2 -1
- waldur_api_client/models/open_stack_server_group_request.py +2 -1
- waldur_api_client/models/open_stack_snapshot.py +2 -2
- waldur_api_client/models/open_stack_snapshot_restoration.py +1 -1
- waldur_api_client/models/open_stack_sub_net.py +5 -5
- waldur_api_client/models/open_stack_sub_net_request.py +2 -2
- waldur_api_client/models/open_stack_tenant.py +41 -3
- waldur_api_client/models/open_stack_tenant_create_order_attributes.py +130 -0
- waldur_api_client/models/open_stack_volume.py +9 -9
- waldur_api_client/models/open_stack_volume_create_order_attributes.py +155 -0
- waldur_api_client/models/open_stack_volume_request.py +1 -1
- 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 +181 -4
- waldur_api_client/models/order_details.py +0 -9
- waldur_api_client/models/patched_offering_terms_of_service_request.py +96 -0
- waldur_api_client/models/patched_open_stack_instance_request.py +4 -3
- waldur_api_client/models/patched_open_stack_server_group_request.py +2 -1
- waldur_api_client/models/patched_open_stack_sub_net_request.py +2 -2
- waldur_api_client/models/patched_open_stack_volume_request.py +1 -1
- waldur_api_client/models/patched_user_offering_consent_request.py +59 -0
- waldur_api_client/models/permission_project.py +147 -0
- waldur_api_client/models/permission_request.py +2 -2
- 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/provider_offering_details.py +9 -18
- waldur_api_client/models/provider_offering_details_request.py +0 -18
- waldur_api_client/models/public_maintenance_announcement.py +217 -0
- waldur_api_client/models/public_maintenance_announcement_state_enum.py +10 -0
- waldur_api_client/models/public_maintenance_announcements_count_o_item.py +15 -0
- waldur_api_client/models/public_maintenance_announcements_count_state_item.py +12 -0
- waldur_api_client/models/public_maintenance_announcements_list_o_item.py +15 -0
- waldur_api_client/models/public_maintenance_announcements_list_state_item.py +12 -0
- waldur_api_client/models/public_offering_details.py +9 -18
- 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_cluster_security_group_rule.py +5 -4
- waldur_api_client/models/rancher_cluster_security_group_rule_request.py +5 -4
- waldur_api_client/models/remote_project_update_request.py +2 -2
- waldur_api_client/models/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/remote_resource_sync_status_remote_state_enum.py +13 -0
- waldur_api_client/models/remote_resource_team_member.py +85 -0
- waldur_api_client/models/resource.py +10 -9
- waldur_api_client/models/robot_account_details.py +226 -144
- waldur_api_client/models/service_provider.py +9 -0
- waldur_api_client/models/service_provider_compliance_overview.py +122 -0
- waldur_api_client/models/service_provider_offering_user_compliance.py +179 -0
- waldur_api_client/models/service_provider_offering_user_compliance_state_enum.py +17 -0
- waldur_api_client/models/slurm_invoices_slurm_package_create_order_attributes.py +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 +228 -0
- waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_1.py +155 -0
- waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_2_type_1.py +155 -0
- waldur_api_client/models/v_mware_virtual_machine_create_order_attributes_guest_os_type_3_type_1.py +155 -0
- waldur_api_client/models/volume_attach_request.py +1 -1
- {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.7.dist-info}/METADATA +1 -1
- {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.7.dist-info}/RECORD +228 -138
- waldur_api_client/models/nested_security_group_rule.py +0 -222
- {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.7.dist-info}/LICENSE +0 -0
- {waldur_api_client-7.7.5.dist-info → waldur_api_client-7.7.7.dist-info}/WHEEL +0 -0
|
@@ -34,7 +34,7 @@ class OpenStackInstance:
|
|
|
34
34
|
name (Union[Unset, str]):
|
|
35
35
|
description (Union[Unset, str]):
|
|
36
36
|
service_name (Union[Unset, str]):
|
|
37
|
-
service_settings (Union[Unset, str]):
|
|
37
|
+
service_settings (Union[Unset, str]): OpenStack provider settings
|
|
38
38
|
service_settings_uuid (Union[Unset, UUID]):
|
|
39
39
|
service_settings_state (Union[Unset, str]):
|
|
40
40
|
service_settings_error_message (Union[Unset, str]):
|
|
@@ -51,7 +51,7 @@ class OpenStackInstance:
|
|
|
51
51
|
state (Union[Unset, CoreStates]):
|
|
52
52
|
created (Union[Unset, datetime.datetime]):
|
|
53
53
|
modified (Union[Unset, datetime.datetime]):
|
|
54
|
-
backend_id (Union[None, Unset, str]):
|
|
54
|
+
backend_id (Union[None, Unset, str]): Instance ID in the OpenStack backend
|
|
55
55
|
access_url (Union[None, Unset, str]):
|
|
56
56
|
start_time (Union[None, Unset, datetime.datetime]):
|
|
57
57
|
cores (Union[Unset, int]): Number of cores in a VM
|
|
@@ -68,21 +68,23 @@ class OpenStackInstance:
|
|
|
68
68
|
key_fingerprint (Union[Unset, str]):
|
|
69
69
|
image_name (Union[Unset, str]):
|
|
70
70
|
flavor_disk (Union[Unset, int]): Flavor disk size in MiB
|
|
71
|
-
flavor_name (Union[Unset, str]):
|
|
72
|
-
volumes (Union[Unset, list['OpenStackNestedVolume']]):
|
|
73
|
-
security_groups (Union[Unset, list['OpenStackNestedSecurityGroup']]):
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
71
|
+
flavor_name (Union[Unset, str]): Name of the flavor used by this instance
|
|
72
|
+
volumes (Union[Unset, list['OpenStackNestedVolume']]): List of volumes attached to the instance
|
|
73
|
+
security_groups (Union[Unset, list['OpenStackNestedSecurityGroup']]): List of security groups to apply to the
|
|
74
|
+
instance
|
|
75
|
+
server_group (Union['OpenStackNestedServerGroup', None, Unset]): Server group for instance scheduling policy
|
|
76
|
+
floating_ips (Union[Unset, list['OpenStackNestedFloatingIP']]): Floating IPs to assign to the instance
|
|
77
|
+
ports (Union[Unset, list['OpenStackNestedPort']]): Network ports to attach to the instance
|
|
78
|
+
availability_zone (Union[None, Unset, str]): Availability zone where this instance is located
|
|
79
|
+
availability_zone_name (Union[Unset, str]): Name of the availability zone where instance is located
|
|
80
|
+
connect_directly_to_external_network (Union[Unset, bool]): If True, instance will be connected directly to
|
|
81
|
+
external network
|
|
80
82
|
runtime_state (Union[Unset, str]):
|
|
81
83
|
action (Union[Unset, str]):
|
|
82
|
-
action_details (Union[Unset, Any]):
|
|
83
|
-
tenant_uuid (Union[Unset, UUID]):
|
|
84
|
-
hypervisor_hostname (Union[Unset, str]):
|
|
85
|
-
tenant (Union[Unset, str]):
|
|
84
|
+
action_details (Union[Unset, Any]): Details about ongoing or completed actions
|
|
85
|
+
tenant_uuid (Union[Unset, UUID]): UUID of the OpenStack tenant
|
|
86
|
+
hypervisor_hostname (Union[Unset, str]): Name of the hypervisor hosting this instance
|
|
87
|
+
tenant (Union[Unset, str]): The OpenStack tenant to create the instance in
|
|
86
88
|
external_address (Union[Unset, list[str]]):
|
|
87
89
|
rancher_cluster (Union['RancherClusterReference', None, Unset]):
|
|
88
90
|
marketplace_offering_uuid (Union[None, Unset, str]):
|
|
@@ -15,8 +15,9 @@ T = TypeVar("T", bound="OpenStackInstanceAllowedAddressPairsUpdateRequest")
|
|
|
15
15
|
class OpenStackInstanceAllowedAddressPairsUpdateRequest:
|
|
16
16
|
"""
|
|
17
17
|
Attributes:
|
|
18
|
-
subnet (str):
|
|
19
|
-
allowed_address_pairs (list['OpenStackAllowedAddressPairRequest']):
|
|
18
|
+
subnet (str): The subnet to update allowed address pairs for.
|
|
19
|
+
allowed_address_pairs (list['OpenStackAllowedAddressPairRequest']): List of allowed address pairs to set on the
|
|
20
|
+
port. Each pair should contain 'ip_address' and optional 'mac_address'.
|
|
20
21
|
"""
|
|
21
22
|
|
|
22
23
|
subnet: str
|
|
@@ -18,7 +18,7 @@ class OpenStackInstanceAvailabilityZone:
|
|
|
18
18
|
uuid (UUID):
|
|
19
19
|
name (str):
|
|
20
20
|
settings (Union[None, Unset, str]):
|
|
21
|
-
available (Union[Unset, bool]):
|
|
21
|
+
available (Union[Unset, bool]): Indicates whether this availability zone is available for instance provisioning
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
24
|
url: str
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
from ..types import UNSET, Unset
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from ..models.open_stack_data_volume_request import OpenStackDataVolumeRequest
|
|
11
|
+
from ..models.open_stack_nested_floating_ip_request import OpenStackNestedFloatingIPRequest
|
|
12
|
+
from ..models.open_stack_nested_port_request import OpenStackNestedPortRequest
|
|
13
|
+
from ..models.open_stack_nested_security_group_request import OpenStackNestedSecurityGroupRequest
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
T = TypeVar("T", bound="OpenStackInstanceCreateOrderAttributes")
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@_attrs_define
|
|
20
|
+
class OpenStackInstanceCreateOrderAttributes:
|
|
21
|
+
"""This mixin allows to specify list of fields to be rendered by serializer.
|
|
22
|
+
It expects that request is available in serializer's context.
|
|
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
|
+
|
|
27
|
+
Attributes:
|
|
28
|
+
name (str):
|
|
29
|
+
flavor (str): The flavor to use for the instance
|
|
30
|
+
image (str): The OS image to use for the instance
|
|
31
|
+
ports (list['OpenStackNestedPortRequest']): Network ports to attach to the instance
|
|
32
|
+
system_volume_size (int): Size of the system volume in MiB. Minimum size is 1024 MiB (1 GiB)
|
|
33
|
+
description (Union[Unset, str]):
|
|
34
|
+
security_groups (Union[Unset, list['OpenStackNestedSecurityGroupRequest']]): List of security groups to apply to
|
|
35
|
+
the instance
|
|
36
|
+
floating_ips (Union[Unset, list['OpenStackNestedFloatingIPRequest']]): Floating IPs to assign to the instance
|
|
37
|
+
system_volume_type (Union[None, Unset, str]): Volume type for the system volume
|
|
38
|
+
data_volume_size (Union[Unset, int]): Size of the data volume in MiB. Minimum size is 1024 MiB (1 GiB)
|
|
39
|
+
data_volume_type (Union[None, Unset, str]): Volume type for the data volume
|
|
40
|
+
ssh_public_key (Union[Unset, str]):
|
|
41
|
+
user_data (Union[Unset, str]): Additional data that will be added to instance on provisioning
|
|
42
|
+
availability_zone (Union[None, Unset, str]): Availability zone where this instance is located
|
|
43
|
+
connect_directly_to_external_network (Union[Unset, bool]): If True, instance will be connected directly to
|
|
44
|
+
external network
|
|
45
|
+
data_volumes (Union[Unset, list['OpenStackDataVolumeRequest']]): Additional data volumes to attach to the
|
|
46
|
+
instance
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
name: str
|
|
50
|
+
flavor: str
|
|
51
|
+
image: str
|
|
52
|
+
ports: list["OpenStackNestedPortRequest"]
|
|
53
|
+
system_volume_size: int
|
|
54
|
+
description: Union[Unset, str] = UNSET
|
|
55
|
+
security_groups: Union[Unset, list["OpenStackNestedSecurityGroupRequest"]] = UNSET
|
|
56
|
+
floating_ips: Union[Unset, list["OpenStackNestedFloatingIPRequest"]] = UNSET
|
|
57
|
+
system_volume_type: Union[None, Unset, str] = UNSET
|
|
58
|
+
data_volume_size: Union[Unset, int] = UNSET
|
|
59
|
+
data_volume_type: Union[None, Unset, str] = UNSET
|
|
60
|
+
ssh_public_key: Union[Unset, str] = UNSET
|
|
61
|
+
user_data: Union[Unset, str] = UNSET
|
|
62
|
+
availability_zone: Union[None, Unset, str] = UNSET
|
|
63
|
+
connect_directly_to_external_network: Union[Unset, bool] = UNSET
|
|
64
|
+
data_volumes: Union[Unset, list["OpenStackDataVolumeRequest"]] = UNSET
|
|
65
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
66
|
+
|
|
67
|
+
def to_dict(self) -> dict[str, Any]:
|
|
68
|
+
name = self.name
|
|
69
|
+
|
|
70
|
+
flavor = self.flavor
|
|
71
|
+
|
|
72
|
+
image = self.image
|
|
73
|
+
|
|
74
|
+
ports = []
|
|
75
|
+
for ports_item_data in self.ports:
|
|
76
|
+
ports_item = ports_item_data.to_dict()
|
|
77
|
+
ports.append(ports_item)
|
|
78
|
+
|
|
79
|
+
system_volume_size = self.system_volume_size
|
|
80
|
+
|
|
81
|
+
description = self.description
|
|
82
|
+
|
|
83
|
+
security_groups: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
84
|
+
if not isinstance(self.security_groups, Unset):
|
|
85
|
+
security_groups = []
|
|
86
|
+
for security_groups_item_data in self.security_groups:
|
|
87
|
+
security_groups_item = security_groups_item_data.to_dict()
|
|
88
|
+
security_groups.append(security_groups_item)
|
|
89
|
+
|
|
90
|
+
floating_ips: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
91
|
+
if not isinstance(self.floating_ips, Unset):
|
|
92
|
+
floating_ips = []
|
|
93
|
+
for floating_ips_item_data in self.floating_ips:
|
|
94
|
+
floating_ips_item = floating_ips_item_data.to_dict()
|
|
95
|
+
floating_ips.append(floating_ips_item)
|
|
96
|
+
|
|
97
|
+
system_volume_type: Union[None, Unset, str]
|
|
98
|
+
if isinstance(self.system_volume_type, Unset):
|
|
99
|
+
system_volume_type = UNSET
|
|
100
|
+
else:
|
|
101
|
+
system_volume_type = self.system_volume_type
|
|
102
|
+
|
|
103
|
+
data_volume_size = self.data_volume_size
|
|
104
|
+
|
|
105
|
+
data_volume_type: Union[None, Unset, str]
|
|
106
|
+
if isinstance(self.data_volume_type, Unset):
|
|
107
|
+
data_volume_type = UNSET
|
|
108
|
+
else:
|
|
109
|
+
data_volume_type = self.data_volume_type
|
|
110
|
+
|
|
111
|
+
ssh_public_key = self.ssh_public_key
|
|
112
|
+
|
|
113
|
+
user_data = self.user_data
|
|
114
|
+
|
|
115
|
+
availability_zone: Union[None, Unset, str]
|
|
116
|
+
if isinstance(self.availability_zone, Unset):
|
|
117
|
+
availability_zone = UNSET
|
|
118
|
+
else:
|
|
119
|
+
availability_zone = self.availability_zone
|
|
120
|
+
|
|
121
|
+
connect_directly_to_external_network = self.connect_directly_to_external_network
|
|
122
|
+
|
|
123
|
+
data_volumes: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
124
|
+
if not isinstance(self.data_volumes, Unset):
|
|
125
|
+
data_volumes = []
|
|
126
|
+
for data_volumes_item_data in self.data_volumes:
|
|
127
|
+
data_volumes_item = data_volumes_item_data.to_dict()
|
|
128
|
+
data_volumes.append(data_volumes_item)
|
|
129
|
+
|
|
130
|
+
field_dict: dict[str, Any] = {}
|
|
131
|
+
field_dict.update(self.additional_properties)
|
|
132
|
+
field_dict.update(
|
|
133
|
+
{
|
|
134
|
+
"name": name,
|
|
135
|
+
"flavor": flavor,
|
|
136
|
+
"image": image,
|
|
137
|
+
"ports": ports,
|
|
138
|
+
"system_volume_size": system_volume_size,
|
|
139
|
+
}
|
|
140
|
+
)
|
|
141
|
+
if description is not UNSET:
|
|
142
|
+
field_dict["description"] = description
|
|
143
|
+
if security_groups is not UNSET:
|
|
144
|
+
field_dict["security_groups"] = security_groups
|
|
145
|
+
if floating_ips is not UNSET:
|
|
146
|
+
field_dict["floating_ips"] = floating_ips
|
|
147
|
+
if system_volume_type is not UNSET:
|
|
148
|
+
field_dict["system_volume_type"] = system_volume_type
|
|
149
|
+
if data_volume_size is not UNSET:
|
|
150
|
+
field_dict["data_volume_size"] = data_volume_size
|
|
151
|
+
if data_volume_type is not UNSET:
|
|
152
|
+
field_dict["data_volume_type"] = data_volume_type
|
|
153
|
+
if ssh_public_key is not UNSET:
|
|
154
|
+
field_dict["ssh_public_key"] = ssh_public_key
|
|
155
|
+
if user_data is not UNSET:
|
|
156
|
+
field_dict["user_data"] = user_data
|
|
157
|
+
if availability_zone is not UNSET:
|
|
158
|
+
field_dict["availability_zone"] = availability_zone
|
|
159
|
+
if connect_directly_to_external_network is not UNSET:
|
|
160
|
+
field_dict["connect_directly_to_external_network"] = connect_directly_to_external_network
|
|
161
|
+
if data_volumes is not UNSET:
|
|
162
|
+
field_dict["data_volumes"] = data_volumes
|
|
163
|
+
|
|
164
|
+
return field_dict
|
|
165
|
+
|
|
166
|
+
@classmethod
|
|
167
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
168
|
+
from ..models.open_stack_data_volume_request import OpenStackDataVolumeRequest
|
|
169
|
+
from ..models.open_stack_nested_floating_ip_request import OpenStackNestedFloatingIPRequest
|
|
170
|
+
from ..models.open_stack_nested_port_request import OpenStackNestedPortRequest
|
|
171
|
+
from ..models.open_stack_nested_security_group_request import OpenStackNestedSecurityGroupRequest
|
|
172
|
+
|
|
173
|
+
d = dict(src_dict)
|
|
174
|
+
name = d.pop("name")
|
|
175
|
+
|
|
176
|
+
flavor = d.pop("flavor")
|
|
177
|
+
|
|
178
|
+
image = d.pop("image")
|
|
179
|
+
|
|
180
|
+
ports = []
|
|
181
|
+
_ports = d.pop("ports")
|
|
182
|
+
for ports_item_data in _ports:
|
|
183
|
+
ports_item = OpenStackNestedPortRequest.from_dict(ports_item_data)
|
|
184
|
+
|
|
185
|
+
ports.append(ports_item)
|
|
186
|
+
|
|
187
|
+
system_volume_size = d.pop("system_volume_size")
|
|
188
|
+
|
|
189
|
+
description = d.pop("description", UNSET)
|
|
190
|
+
|
|
191
|
+
security_groups = []
|
|
192
|
+
_security_groups = d.pop("security_groups", UNSET)
|
|
193
|
+
for security_groups_item_data in _security_groups or []:
|
|
194
|
+
security_groups_item = OpenStackNestedSecurityGroupRequest.from_dict(security_groups_item_data)
|
|
195
|
+
|
|
196
|
+
security_groups.append(security_groups_item)
|
|
197
|
+
|
|
198
|
+
floating_ips = []
|
|
199
|
+
_floating_ips = d.pop("floating_ips", UNSET)
|
|
200
|
+
for floating_ips_item_data in _floating_ips or []:
|
|
201
|
+
floating_ips_item = OpenStackNestedFloatingIPRequest.from_dict(floating_ips_item_data)
|
|
202
|
+
|
|
203
|
+
floating_ips.append(floating_ips_item)
|
|
204
|
+
|
|
205
|
+
def _parse_system_volume_type(data: object) -> Union[None, Unset, str]:
|
|
206
|
+
if data is None:
|
|
207
|
+
return data
|
|
208
|
+
if isinstance(data, Unset):
|
|
209
|
+
return data
|
|
210
|
+
return cast(Union[None, Unset, str], data)
|
|
211
|
+
|
|
212
|
+
system_volume_type = _parse_system_volume_type(d.pop("system_volume_type", UNSET))
|
|
213
|
+
|
|
214
|
+
data_volume_size = d.pop("data_volume_size", UNSET)
|
|
215
|
+
|
|
216
|
+
def _parse_data_volume_type(data: object) -> Union[None, Unset, str]:
|
|
217
|
+
if data is None:
|
|
218
|
+
return data
|
|
219
|
+
if isinstance(data, Unset):
|
|
220
|
+
return data
|
|
221
|
+
return cast(Union[None, Unset, str], data)
|
|
222
|
+
|
|
223
|
+
data_volume_type = _parse_data_volume_type(d.pop("data_volume_type", UNSET))
|
|
224
|
+
|
|
225
|
+
ssh_public_key = d.pop("ssh_public_key", UNSET)
|
|
226
|
+
|
|
227
|
+
user_data = d.pop("user_data", UNSET)
|
|
228
|
+
|
|
229
|
+
def _parse_availability_zone(data: object) -> Union[None, Unset, str]:
|
|
230
|
+
if data is None:
|
|
231
|
+
return data
|
|
232
|
+
if isinstance(data, Unset):
|
|
233
|
+
return data
|
|
234
|
+
return cast(Union[None, Unset, str], data)
|
|
235
|
+
|
|
236
|
+
availability_zone = _parse_availability_zone(d.pop("availability_zone", UNSET))
|
|
237
|
+
|
|
238
|
+
connect_directly_to_external_network = d.pop("connect_directly_to_external_network", UNSET)
|
|
239
|
+
|
|
240
|
+
data_volumes = []
|
|
241
|
+
_data_volumes = d.pop("data_volumes", UNSET)
|
|
242
|
+
for data_volumes_item_data in _data_volumes or []:
|
|
243
|
+
data_volumes_item = OpenStackDataVolumeRequest.from_dict(data_volumes_item_data)
|
|
244
|
+
|
|
245
|
+
data_volumes.append(data_volumes_item)
|
|
246
|
+
|
|
247
|
+
open_stack_instance_create_order_attributes = cls(
|
|
248
|
+
name=name,
|
|
249
|
+
flavor=flavor,
|
|
250
|
+
image=image,
|
|
251
|
+
ports=ports,
|
|
252
|
+
system_volume_size=system_volume_size,
|
|
253
|
+
description=description,
|
|
254
|
+
security_groups=security_groups,
|
|
255
|
+
floating_ips=floating_ips,
|
|
256
|
+
system_volume_type=system_volume_type,
|
|
257
|
+
data_volume_size=data_volume_size,
|
|
258
|
+
data_volume_type=data_volume_type,
|
|
259
|
+
ssh_public_key=ssh_public_key,
|
|
260
|
+
user_data=user_data,
|
|
261
|
+
availability_zone=availability_zone,
|
|
262
|
+
connect_directly_to_external_network=connect_directly_to_external_network,
|
|
263
|
+
data_volumes=data_volumes,
|
|
264
|
+
)
|
|
265
|
+
|
|
266
|
+
open_stack_instance_create_order_attributes.additional_properties = d
|
|
267
|
+
return open_stack_instance_create_order_attributes
|
|
268
|
+
|
|
269
|
+
@property
|
|
270
|
+
def additional_keys(self) -> list[str]:
|
|
271
|
+
return list(self.additional_properties.keys())
|
|
272
|
+
|
|
273
|
+
def __getitem__(self, key: str) -> Any:
|
|
274
|
+
return self.additional_properties[key]
|
|
275
|
+
|
|
276
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
277
|
+
self.additional_properties[key] = value
|
|
278
|
+
|
|
279
|
+
def __delitem__(self, key: str) -> None:
|
|
280
|
+
del self.additional_properties[key]
|
|
281
|
+
|
|
282
|
+
def __contains__(self, key: str) -> bool:
|
|
283
|
+
return key in self.additional_properties
|
|
@@ -19,9 +19,10 @@ class OpenStackInstanceRequest:
|
|
|
19
19
|
Attributes:
|
|
20
20
|
name (str):
|
|
21
21
|
description (Union[Unset, str]):
|
|
22
|
-
system_volume_type (Union[None, Unset, str]):
|
|
23
|
-
data_volume_type (Union[None, Unset, str]):
|
|
24
|
-
data_volumes (Union[Unset, list['OpenStackDataVolumeRequest']]):
|
|
22
|
+
system_volume_type (Union[None, Unset, str]): Volume type for the system volume
|
|
23
|
+
data_volume_type (Union[None, Unset, str]): Volume type for the data volume
|
|
24
|
+
data_volumes (Union[Unset, list['OpenStackDataVolumeRequest']]): Additional data volumes to attach to the
|
|
25
|
+
instance
|
|
25
26
|
"""
|
|
26
27
|
|
|
27
28
|
name: str
|
|
@@ -11,7 +11,7 @@ T = TypeVar("T", bound="OpenStackInstanceSecurityGroupsUpdateRequest")
|
|
|
11
11
|
class OpenStackInstanceSecurityGroupsUpdateRequest:
|
|
12
12
|
"""
|
|
13
13
|
Attributes:
|
|
14
|
-
security_groups (list[str]):
|
|
14
|
+
security_groups (list[str]): List of security groups to be assigned to the instance.
|
|
15
15
|
"""
|
|
16
16
|
|
|
17
17
|
security_groups: list[str]
|
|
@@ -20,14 +20,14 @@ class OpenStackNestedFloatingIP:
|
|
|
20
20
|
Attributes:
|
|
21
21
|
url (Union[Unset, str]):
|
|
22
22
|
uuid (Union[Unset, UUID]):
|
|
23
|
-
address (Union[None, Unset, str]):
|
|
23
|
+
address (Union[None, Unset, str]): The public IPv4 address of the floating IP
|
|
24
24
|
port_fixed_ips (Union[Unset, list['OpenStackFixedIp']]):
|
|
25
|
-
port_mac_address (Union[None, Unset, str]):
|
|
25
|
+
port_mac_address (Union[None, Unset, str]): MAC address of the port
|
|
26
26
|
subnet (Union[Unset, str]):
|
|
27
27
|
subnet_uuid (Union[Unset, UUID]):
|
|
28
28
|
subnet_name (Union[Unset, str]):
|
|
29
29
|
subnet_description (Union[Unset, str]):
|
|
30
|
-
subnet_cidr (Union[Unset, str]):
|
|
30
|
+
subnet_cidr (Union[Unset, str]): IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
|
|
31
31
|
"""
|
|
32
32
|
|
|
33
33
|
url: Union[Unset, str] = UNSET
|
|
@@ -14,7 +14,7 @@ T = TypeVar("T", bound="OpenStackNestedInstance")
|
|
|
14
14
|
class OpenStackNestedInstance:
|
|
15
15
|
"""
|
|
16
16
|
Attributes:
|
|
17
|
-
backend_id (Union[None, Unset, str]):
|
|
17
|
+
backend_id (Union[None, Unset, str]): Instance ID in the OpenStack backend
|
|
18
18
|
name (Union[Unset, str]):
|
|
19
19
|
uuid (Union[Unset, UUID]):
|
|
20
20
|
"""
|
|
@@ -22,15 +22,15 @@ class OpenStackNestedPort:
|
|
|
22
22
|
Attributes:
|
|
23
23
|
url (Union[Unset, str]):
|
|
24
24
|
fixed_ips (Union[Unset, list['OpenStackFixedIp']]):
|
|
25
|
-
mac_address (Union[Unset, str]):
|
|
26
|
-
subnet (Union[None, Unset, str]):
|
|
25
|
+
mac_address (Union[Unset, str]): MAC address of the port
|
|
26
|
+
subnet (Union[None, Unset, str]): Subnet to which this port belongs
|
|
27
27
|
subnet_uuid (Union[None, UUID, Unset]):
|
|
28
28
|
subnet_name (Union[None, Unset, str]):
|
|
29
29
|
subnet_description (Union[None, Unset, str]):
|
|
30
|
-
subnet_cidr (Union[None, Unset, str]):
|
|
30
|
+
subnet_cidr (Union[None, Unset, str]): IPv4 network address in CIDR format (e.g. 192.168.0.0/24)
|
|
31
31
|
allowed_address_pairs (Union[Unset, list['OpenStackAllowedAddressPair']]):
|
|
32
|
-
device_id (Union[None, Unset, str]):
|
|
33
|
-
device_owner (Union[None, Unset, str]):
|
|
32
|
+
device_id (Union[None, Unset, str]): ID of device (instance, router etc) to which this port is connected
|
|
33
|
+
device_owner (Union[None, Unset, str]): Entity that uses this port (e.g. network:router_interface)
|
|
34
34
|
security_groups (Union[Unset, list['OpenStackSecurityGroup']]):
|
|
35
35
|
"""
|
|
36
36
|
|
|
@@ -18,7 +18,7 @@ class OpenStackNestedPortRequest:
|
|
|
18
18
|
"""
|
|
19
19
|
Attributes:
|
|
20
20
|
fixed_ips (Union[Unset, list['OpenStackFixedIpRequest']]):
|
|
21
|
-
subnet (Union[None, Unset, str]):
|
|
21
|
+
subnet (Union[None, Unset, str]): Subnet to which this port belongs
|
|
22
22
|
port (Union[Unset, str]):
|
|
23
23
|
"""
|
|
24
24
|
|
|
@@ -7,7 +7,7 @@ from attrs import field as _attrs_field
|
|
|
7
7
|
from ..types import UNSET, Unset
|
|
8
8
|
|
|
9
9
|
if TYPE_CHECKING:
|
|
10
|
-
from ..models.
|
|
10
|
+
from ..models.open_stack_nested_security_group_rules_item import OpenStackNestedSecurityGroupRulesItem
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
T = TypeVar("T", bound="OpenStackNestedSecurityGroup")
|
|
@@ -19,16 +19,16 @@ class OpenStackNestedSecurityGroup:
|
|
|
19
19
|
Attributes:
|
|
20
20
|
url (Union[Unset, str]):
|
|
21
21
|
name (Union[Unset, str]):
|
|
22
|
-
rules (Union[Unset, list['NestedSecurityGroupRule']]):
|
|
23
22
|
description (Union[Unset, str]):
|
|
24
23
|
state (Union[Unset, str]):
|
|
24
|
+
rules (Union[Unset, list['OpenStackNestedSecurityGroupRulesItem']]):
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
27
|
url: Union[Unset, str] = UNSET
|
|
28
28
|
name: Union[Unset, str] = UNSET
|
|
29
|
-
rules: Union[Unset, list["NestedSecurityGroupRule"]] = UNSET
|
|
30
29
|
description: Union[Unset, str] = UNSET
|
|
31
30
|
state: Union[Unset, str] = UNSET
|
|
31
|
+
rules: Union[Unset, list["OpenStackNestedSecurityGroupRulesItem"]] = UNSET
|
|
32
32
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
33
33
|
|
|
34
34
|
def to_dict(self) -> dict[str, Any]:
|
|
@@ -36,6 +36,10 @@ class OpenStackNestedSecurityGroup:
|
|
|
36
36
|
|
|
37
37
|
name = self.name
|
|
38
38
|
|
|
39
|
+
description = self.description
|
|
40
|
+
|
|
41
|
+
state = self.state
|
|
42
|
+
|
|
39
43
|
rules: Union[Unset, list[dict[str, Any]]] = UNSET
|
|
40
44
|
if not isinstance(self.rules, Unset):
|
|
41
45
|
rules = []
|
|
@@ -43,10 +47,6 @@ class OpenStackNestedSecurityGroup:
|
|
|
43
47
|
rules_item = rules_item_data.to_dict()
|
|
44
48
|
rules.append(rules_item)
|
|
45
49
|
|
|
46
|
-
description = self.description
|
|
47
|
-
|
|
48
|
-
state = self.state
|
|
49
|
-
|
|
50
50
|
field_dict: dict[str, Any] = {}
|
|
51
51
|
field_dict.update(self.additional_properties)
|
|
52
52
|
field_dict.update({})
|
|
@@ -54,41 +54,41 @@ class OpenStackNestedSecurityGroup:
|
|
|
54
54
|
field_dict["url"] = url
|
|
55
55
|
if name is not UNSET:
|
|
56
56
|
field_dict["name"] = name
|
|
57
|
-
if rules is not UNSET:
|
|
58
|
-
field_dict["rules"] = rules
|
|
59
57
|
if description is not UNSET:
|
|
60
58
|
field_dict["description"] = description
|
|
61
59
|
if state is not UNSET:
|
|
62
60
|
field_dict["state"] = state
|
|
61
|
+
if rules is not UNSET:
|
|
62
|
+
field_dict["rules"] = rules
|
|
63
63
|
|
|
64
64
|
return field_dict
|
|
65
65
|
|
|
66
66
|
@classmethod
|
|
67
67
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
68
|
-
from ..models.
|
|
68
|
+
from ..models.open_stack_nested_security_group_rules_item import OpenStackNestedSecurityGroupRulesItem
|
|
69
69
|
|
|
70
70
|
d = dict(src_dict)
|
|
71
71
|
url = d.pop("url", UNSET)
|
|
72
72
|
|
|
73
73
|
name = d.pop("name", UNSET)
|
|
74
74
|
|
|
75
|
+
description = d.pop("description", UNSET)
|
|
76
|
+
|
|
77
|
+
state = d.pop("state", UNSET)
|
|
78
|
+
|
|
75
79
|
rules = []
|
|
76
80
|
_rules = d.pop("rules", UNSET)
|
|
77
81
|
for rules_item_data in _rules or []:
|
|
78
|
-
rules_item =
|
|
82
|
+
rules_item = OpenStackNestedSecurityGroupRulesItem.from_dict(rules_item_data)
|
|
79
83
|
|
|
80
84
|
rules.append(rules_item)
|
|
81
85
|
|
|
82
|
-
description = d.pop("description", UNSET)
|
|
83
|
-
|
|
84
|
-
state = d.pop("state", UNSET)
|
|
85
|
-
|
|
86
86
|
open_stack_nested_security_group = cls(
|
|
87
87
|
url=url,
|
|
88
88
|
name=name,
|
|
89
|
-
rules=rules,
|
|
90
89
|
description=description,
|
|
91
90
|
state=state,
|
|
91
|
+
rules=rules,
|
|
92
92
|
)
|
|
93
93
|
|
|
94
94
|
open_stack_nested_security_group.additional_properties = d
|
|
@@ -0,0 +1,59 @@
|
|
|
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="OpenStackNestedSecurityGroupRequest")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class OpenStackNestedSecurityGroupRequest:
|
|
14
|
+
"""
|
|
15
|
+
Attributes:
|
|
16
|
+
url (Union[Unset, str]):
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
url: Union[Unset, str] = UNSET
|
|
20
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
21
|
+
|
|
22
|
+
def to_dict(self) -> dict[str, Any]:
|
|
23
|
+
url = self.url
|
|
24
|
+
|
|
25
|
+
field_dict: dict[str, Any] = {}
|
|
26
|
+
field_dict.update(self.additional_properties)
|
|
27
|
+
field_dict.update({})
|
|
28
|
+
if url is not UNSET:
|
|
29
|
+
field_dict["url"] = url
|
|
30
|
+
|
|
31
|
+
return field_dict
|
|
32
|
+
|
|
33
|
+
@classmethod
|
|
34
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
35
|
+
d = dict(src_dict)
|
|
36
|
+
url = d.pop("url", UNSET)
|
|
37
|
+
|
|
38
|
+
open_stack_nested_security_group_request = cls(
|
|
39
|
+
url=url,
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
open_stack_nested_security_group_request.additional_properties = d
|
|
43
|
+
return open_stack_nested_security_group_request
|
|
44
|
+
|
|
45
|
+
@property
|
|
46
|
+
def additional_keys(self) -> list[str]:
|
|
47
|
+
return list(self.additional_properties.keys())
|
|
48
|
+
|
|
49
|
+
def __getitem__(self, key: str) -> Any:
|
|
50
|
+
return self.additional_properties[key]
|
|
51
|
+
|
|
52
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
53
|
+
self.additional_properties[key] = value
|
|
54
|
+
|
|
55
|
+
def __delitem__(self, key: str) -> None:
|
|
56
|
+
del self.additional_properties[key]
|
|
57
|
+
|
|
58
|
+
def __contains__(self, key: str) -> bool:
|
|
59
|
+
return key in self.additional_properties
|