gcore 0.1.0a1__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 gcore might be problematic. Click here for more details.
- gcore/__init__.py +84 -0
- gcore/_base_client.py +1943 -0
- gcore/_client.py +484 -0
- gcore/_compat.py +219 -0
- gcore/_constants.py +16 -0
- gcore/_exceptions.py +108 -0
- gcore/_files.py +123 -0
- gcore/_models.py +803 -0
- gcore/_qs.py +150 -0
- gcore/_resource.py +43 -0
- gcore/_response.py +830 -0
- gcore/_streaming.py +333 -0
- gcore/_types.py +217 -0
- gcore/_utils/__init__.py +57 -0
- gcore/_utils/_logs.py +25 -0
- gcore/_utils/_proxy.py +62 -0
- gcore/_utils/_reflection.py +42 -0
- gcore/_utils/_streams.py +12 -0
- gcore/_utils/_sync.py +86 -0
- gcore/_utils/_transform.py +447 -0
- gcore/_utils/_typing.py +151 -0
- gcore/_utils/_utils.py +422 -0
- gcore/_version.py +4 -0
- gcore/lib/.keep +4 -0
- gcore/lib/polling.py +19 -0
- gcore/pagination.py +70 -0
- gcore/py.typed +0 -0
- gcore/resources/__init__.py +19 -0
- gcore/resources/cloud/__init__.py +327 -0
- gcore/resources/cloud/baremetal/__init__.py +61 -0
- gcore/resources/cloud/baremetal/baremetal.py +166 -0
- gcore/resources/cloud/baremetal/flavors.py +371 -0
- gcore/resources/cloud/baremetal/images.py +238 -0
- gcore/resources/cloud/baremetal/servers.py +808 -0
- gcore/resources/cloud/billing_reservations.py +362 -0
- gcore/resources/cloud/cloud.py +774 -0
- gcore/resources/cloud/file_shares/__init__.py +33 -0
- gcore/resources/cloud/file_shares/access_rules.py +434 -0
- gcore/resources/cloud/file_shares/file_shares.py +994 -0
- gcore/resources/cloud/floating_ips.py +765 -0
- gcore/resources/cloud/gpu_baremetal_clusters/__init__.py +75 -0
- gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +211 -0
- gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +1143 -0
- gcore/resources/cloud/gpu_baremetal_clusters/images.py +581 -0
- gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +175 -0
- gcore/resources/cloud/gpu_baremetal_clusters/servers.py +1098 -0
- gcore/resources/cloud/inference/__init__.py +89 -0
- gcore/resources/cloud/inference/deployments/__init__.py +33 -0
- gcore/resources/cloud/inference/deployments/deployments.py +1187 -0
- gcore/resources/cloud/inference/deployments/logs.py +235 -0
- gcore/resources/cloud/inference/flavors.py +280 -0
- gcore/resources/cloud/inference/inference.py +295 -0
- gcore/resources/cloud/inference/models.py +289 -0
- gcore/resources/cloud/inference/registry_credentials.py +649 -0
- gcore/resources/cloud/inference/secrets.py +629 -0
- gcore/resources/cloud/instances/__init__.py +75 -0
- gcore/resources/cloud/instances/flavors.py +449 -0
- gcore/resources/cloud/instances/images.py +987 -0
- gcore/resources/cloud/instances/instances.py +2349 -0
- gcore/resources/cloud/instances/interfaces.py +797 -0
- gcore/resources/cloud/instances/metrics.py +217 -0
- gcore/resources/cloud/ip_ranges.py +135 -0
- gcore/resources/cloud/load_balancers/__init__.py +103 -0
- gcore/resources/cloud/load_balancers/flavors.py +193 -0
- gcore/resources/cloud/load_balancers/l7_policies/__init__.py +33 -0
- gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +738 -0
- gcore/resources/cloud/load_balancers/l7_policies/rules.py +722 -0
- gcore/resources/cloud/load_balancers/listeners.py +788 -0
- gcore/resources/cloud/load_balancers/load_balancers.py +1237 -0
- gcore/resources/cloud/load_balancers/metrics.py +205 -0
- gcore/resources/cloud/load_balancers/pools/__init__.py +47 -0
- gcore/resources/cloud/load_balancers/pools/health_monitors.py +352 -0
- gcore/resources/cloud/load_balancers/pools/members.py +353 -0
- gcore/resources/cloud/load_balancers/pools/pools.py +872 -0
- gcore/resources/cloud/load_balancers/statuses.py +260 -0
- gcore/resources/cloud/networks/__init__.py +47 -0
- gcore/resources/cloud/networks/networks.py +715 -0
- gcore/resources/cloud/networks/routers.py +875 -0
- gcore/resources/cloud/networks/subnets.py +865 -0
- gcore/resources/cloud/placement_groups.py +465 -0
- gcore/resources/cloud/projects.py +608 -0
- gcore/resources/cloud/quotas/__init__.py +33 -0
- gcore/resources/cloud/quotas/quotas.py +335 -0
- gcore/resources/cloud/quotas/requests.py +482 -0
- gcore/resources/cloud/regions.py +328 -0
- gcore/resources/cloud/registries/__init__.py +75 -0
- gcore/resources/cloud/registries/artifacts.py +277 -0
- gcore/resources/cloud/registries/registries.py +688 -0
- gcore/resources/cloud/registries/repositories.py +265 -0
- gcore/resources/cloud/registries/tags.py +190 -0
- gcore/resources/cloud/registries/users.py +701 -0
- gcore/resources/cloud/reserved_fixed_ips/__init__.py +33 -0
- gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +965 -0
- gcore/resources/cloud/reserved_fixed_ips/vip.py +577 -0
- gcore/resources/cloud/secrets.py +797 -0
- gcore/resources/cloud/security_groups/__init__.py +33 -0
- gcore/resources/cloud/security_groups/rules.py +626 -0
- gcore/resources/cloud/security_groups/security_groups.py +863 -0
- gcore/resources/cloud/ssh_keys.py +635 -0
- gcore/resources/cloud/tasks.py +699 -0
- gcore/resources/cloud/users/__init__.py +33 -0
- gcore/resources/cloud/users/role_assignments.py +533 -0
- gcore/resources/cloud/users/users.py +102 -0
- gcore/resources/cloud/volumes.py +1710 -0
- gcore/types/__init__.py +3 -0
- gcore/types/cloud/__init__.py +199 -0
- gcore/types/cloud/allowed_address_pairs.py +15 -0
- gcore/types/cloud/aws_iam_data.py +13 -0
- gcore/types/cloud/aws_iam_data_param.py +15 -0
- gcore/types/cloud/baremetal/__init__.py +13 -0
- gcore/types/cloud/baremetal/baremetal_fixed_address.py +30 -0
- gcore/types/cloud/baremetal/baremetal_floating_address.py +15 -0
- gcore/types/cloud/baremetal/baremetal_server.py +178 -0
- gcore/types/cloud/baremetal/flavor_list_params.py +35 -0
- gcore/types/cloud/baremetal/flavor_list_suitable_params.py +22 -0
- gcore/types/cloud/baremetal/image_list_params.py +33 -0
- gcore/types/cloud/baremetal/server_create_params.py +370 -0
- gcore/types/cloud/baremetal/server_list_params.py +114 -0
- gcore/types/cloud/baremetal/server_rebuild_params.py +23 -0
- gcore/types/cloud/baremetal_flavor.py +58 -0
- gcore/types/cloud/baremetal_flavor_list.py +16 -0
- gcore/types/cloud/billing_reservation.py +153 -0
- gcore/types/cloud/billing_reservation_list_params.py +54 -0
- gcore/types/cloud/blackhole_port.py +66 -0
- gcore/types/cloud/capacity.py +13 -0
- gcore/types/cloud/console.py +18 -0
- gcore/types/cloud/container_probe.py +36 -0
- gcore/types/cloud/container_probe_config.py +16 -0
- gcore/types/cloud/container_probe_config_create_param.py +18 -0
- gcore/types/cloud/container_probe_create_param.py +38 -0
- gcore/types/cloud/container_probe_exec.py +12 -0
- gcore/types/cloud/container_probe_exec_create_param.py +13 -0
- gcore/types/cloud/container_probe_http_get.py +26 -0
- gcore/types/cloud/container_probe_http_get_create_param.py +25 -0
- gcore/types/cloud/container_probe_tcp_socket.py +10 -0
- gcore/types/cloud/container_probe_tcp_socket_create_param.py +12 -0
- gcore/types/cloud/container_scale.py +25 -0
- gcore/types/cloud/container_scale_trigger_rate.py +13 -0
- gcore/types/cloud/container_scale_trigger_sqs.py +33 -0
- gcore/types/cloud/container_scale_trigger_threshold.py +10 -0
- gcore/types/cloud/container_scale_triggers.py +36 -0
- gcore/types/cloud/ddos_profile.py +33 -0
- gcore/types/cloud/ddos_profile_field.py +31 -0
- gcore/types/cloud/ddos_profile_option_list.py +15 -0
- gcore/types/cloud/ddos_profile_status.py +13 -0
- gcore/types/cloud/ddos_profile_template.py +18 -0
- gcore/types/cloud/ddos_profile_template_field.py +23 -0
- gcore/types/cloud/deploy_status.py +13 -0
- gcore/types/cloud/file_share.py +111 -0
- gcore/types/cloud/file_share_create_params.py +104 -0
- gcore/types/cloud/file_share_list_params.py +24 -0
- gcore/types/cloud/file_share_resize_params.py +18 -0
- gcore/types/cloud/file_share_update_params.py +18 -0
- gcore/types/cloud/file_shares/__init__.py +7 -0
- gcore/types/cloud/file_shares/access_rule.py +21 -0
- gcore/types/cloud/file_shares/access_rule_create_params.py +21 -0
- gcore/types/cloud/file_shares/access_rule_list.py +16 -0
- gcore/types/cloud/fixed_address.py +38 -0
- gcore/types/cloud/fixed_address_short.py +24 -0
- gcore/types/cloud/flavor_hardware_description.py +27 -0
- gcore/types/cloud/floating_address.py +15 -0
- gcore/types/cloud/floating_ip.py +77 -0
- gcore/types/cloud/floating_ip_assign_params.py +20 -0
- gcore/types/cloud/floating_ip_create_params.py +40 -0
- gcore/types/cloud/floating_ip_detailed.py +222 -0
- gcore/types/cloud/floating_ip_list_params.py +35 -0
- gcore/types/cloud/floating_ip_status.py +7 -0
- gcore/types/cloud/gpu_baremetal_cluster.py +116 -0
- gcore/types/cloud/gpu_baremetal_cluster_create_params.py +135 -0
- gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +28 -0
- gcore/types/cloud/gpu_baremetal_cluster_list_params.py +19 -0
- gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +26 -0
- gcore/types/cloud/gpu_baremetal_cluster_resize_params.py +16 -0
- gcore/types/cloud/gpu_baremetal_cluster_server.py +200 -0
- gcore/types/cloud/gpu_baremetal_cluster_server_list.py +16 -0
- gcore/types/cloud/gpu_baremetal_clusters/__init__.py +9 -0
- gcore/types/cloud/gpu_baremetal_clusters/flavor_list_params.py +21 -0
- gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +58 -0
- gcore/types/cloud/gpu_baremetal_clusters/server_attach_interface_params.py +253 -0
- gcore/types/cloud/gpu_baremetal_clusters/server_delete_params.py +21 -0
- gcore/types/cloud/gpu_baremetal_clusters/server_detach_interface_params.py +19 -0
- gcore/types/cloud/gpu_baremetal_flavor.py +133 -0
- gcore/types/cloud/gpu_baremetal_flavor_list.py +16 -0
- gcore/types/cloud/gpu_image.py +70 -0
- gcore/types/cloud/gpu_image_list.py +16 -0
- gcore/types/cloud/health_monitor.py +48 -0
- gcore/types/cloud/health_monitor_status.py +22 -0
- gcore/types/cloud/http_method.py +7 -0
- gcore/types/cloud/image.py +100 -0
- gcore/types/cloud/image_list.py +16 -0
- gcore/types/cloud/inference/__init__.py +25 -0
- gcore/types/cloud/inference/container.py +26 -0
- gcore/types/cloud/inference/deployment_create_params.py +222 -0
- gcore/types/cloud/inference/deployment_list_params.py +21 -0
- gcore/types/cloud/inference/deployment_update_params.py +215 -0
- gcore/types/cloud/inference/deployments/__init__.py +5 -0
- gcore/types/cloud/inference/deployments/log_list_params.py +28 -0
- gcore/types/cloud/inference/flavor_list_params.py +18 -0
- gcore/types/cloud/inference/inference.py +95 -0
- gcore/types/cloud/inference/inference_apikey_secret.py +15 -0
- gcore/types/cloud/inference/inference_flavor.py +34 -0
- gcore/types/cloud/inference/inference_log.py +21 -0
- gcore/types/cloud/inference/inference_registry_credential.py +19 -0
- gcore/types/cloud/inference/inference_registry_credential_full.py +22 -0
- gcore/types/cloud/inference/inference_secret.py +17 -0
- gcore/types/cloud/inference/mlcatalog_model_card.py +65 -0
- gcore/types/cloud/inference/mlcatalog_order_by_choices.py +7 -0
- gcore/types/cloud/inference/model_list_params.py +23 -0
- gcore/types/cloud/inference/registry_credential_create_params.py +24 -0
- gcore/types/cloud/inference/registry_credential_list_params.py +21 -0
- gcore/types/cloud/inference/registry_credential_replace_params.py +21 -0
- gcore/types/cloud/inference/secret_create_params.py +23 -0
- gcore/types/cloud/inference/secret_list_params.py +21 -0
- gcore/types/cloud/inference/secret_replace_params.py +20 -0
- gcore/types/cloud/inference_probes.py +19 -0
- gcore/types/cloud/ingress_opts_out.py +16 -0
- gcore/types/cloud/ingress_opts_param.py +18 -0
- gcore/types/cloud/instance.py +296 -0
- gcore/types/cloud/instance_action_params.py +32 -0
- gcore/types/cloud/instance_add_to_placement_group_params.py +16 -0
- gcore/types/cloud/instance_assign_security_group_params.py +28 -0
- gcore/types/cloud/instance_create_params.py +622 -0
- gcore/types/cloud/instance_delete_params.py +33 -0
- gcore/types/cloud/instance_get_console_params.py +16 -0
- gcore/types/cloud/instance_interface.py +40 -0
- gcore/types/cloud/instance_isolation.py +12 -0
- gcore/types/cloud/instance_list.py +16 -0
- gcore/types/cloud/instance_list_params.py +146 -0
- gcore/types/cloud/instance_metrics_time_unit.py +7 -0
- gcore/types/cloud/instance_resize_params.py +16 -0
- gcore/types/cloud/instance_unassign_security_group_params.py +28 -0
- gcore/types/cloud/instance_update_params.py +18 -0
- gcore/types/cloud/instances/__init__.py +19 -0
- gcore/types/cloud/instances/flavor_list_for_resize_params.py +16 -0
- gcore/types/cloud/instances/flavor_list_params.py +25 -0
- gcore/types/cloud/instances/flavor_list_suitable_params.py +56 -0
- gcore/types/cloud/instances/image_create_from_volume_params.py +53 -0
- gcore/types/cloud/instances/image_get_params.py +16 -0
- gcore/types/cloud/instances/image_list_params.py +33 -0
- gcore/types/cloud/instances/image_update_params.py +43 -0
- gcore/types/cloud/instances/image_upload_params.py +62 -0
- gcore/types/cloud/instances/instance_flavor.py +49 -0
- gcore/types/cloud/instances/instance_flavor_list.py +16 -0
- gcore/types/cloud/instances/interface_attach_params.py +253 -0
- gcore/types/cloud/instances/interface_detach_params.py +19 -0
- gcore/types/cloud/instances/metric_list_params.py +23 -0
- gcore/types/cloud/instances/metrics.py +52 -0
- gcore/types/cloud/instances/metrics_list.py +16 -0
- gcore/types/cloud/interface_ip_family.py +7 -0
- gcore/types/cloud/ip_assignment.py +13 -0
- gcore/types/cloud/ip_ranges.py +12 -0
- gcore/types/cloud/ip_version.py +7 -0
- gcore/types/cloud/laas_index_retention_policy.py +12 -0
- gcore/types/cloud/laas_index_retention_policy_param.py +13 -0
- gcore/types/cloud/lb_algorithm.py +7 -0
- gcore/types/cloud/lb_health_monitor_type.py +7 -0
- gcore/types/cloud/lb_listener_protocol.py +7 -0
- gcore/types/cloud/lb_pool_protocol.py +7 -0
- gcore/types/cloud/lb_session_persistence_type.py +7 -0
- gcore/types/cloud/listener_status.py +27 -0
- gcore/types/cloud/load_balancer.py +144 -0
- gcore/types/cloud/load_balancer_create_params.py +327 -0
- gcore/types/cloud/load_balancer_failover_params.py +16 -0
- gcore/types/cloud/load_balancer_flavor_detail.py +40 -0
- gcore/types/cloud/load_balancer_flavor_list.py +16 -0
- gcore/types/cloud/load_balancer_get_params.py +19 -0
- gcore/types/cloud/load_balancer_instance_role.py +7 -0
- gcore/types/cloud/load_balancer_l7_policy.py +86 -0
- gcore/types/cloud/load_balancer_l7_policy_list.py +16 -0
- gcore/types/cloud/load_balancer_l7_rule.py +72 -0
- gcore/types/cloud/load_balancer_l7_rule_list.py +16 -0
- gcore/types/cloud/load_balancer_list_params.py +53 -0
- gcore/types/cloud/load_balancer_listener_detail.py +97 -0
- gcore/types/cloud/load_balancer_listener_list.py +16 -0
- gcore/types/cloud/load_balancer_member_connectivity.py +7 -0
- gcore/types/cloud/load_balancer_metrics.py +32 -0
- gcore/types/cloud/load_balancer_metrics_list.py +16 -0
- gcore/types/cloud/load_balancer_operating_status.py +7 -0
- gcore/types/cloud/load_balancer_pool.py +87 -0
- gcore/types/cloud/load_balancer_pool_list.py +16 -0
- gcore/types/cloud/load_balancer_resize_params.py +16 -0
- gcore/types/cloud/load_balancer_statistics.py +22 -0
- gcore/types/cloud/load_balancer_status.py +38 -0
- gcore/types/cloud/load_balancer_status_list.py +16 -0
- gcore/types/cloud/load_balancer_update_params.py +43 -0
- gcore/types/cloud/load_balancers/__init__.py +15 -0
- gcore/types/cloud/load_balancers/flavor_list_params.py +16 -0
- gcore/types/cloud/load_balancers/l7_policies/__init__.py +6 -0
- gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +50 -0
- gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +43 -0
- gcore/types/cloud/load_balancers/l7_policy_create_params.py +54 -0
- gcore/types/cloud/load_balancers/l7_policy_replace_params.py +51 -0
- gcore/types/cloud/load_balancers/listener_create_params.py +72 -0
- gcore/types/cloud/load_balancers/listener_get_params.py +16 -0
- gcore/types/cloud/load_balancers/listener_list_params.py +19 -0
- gcore/types/cloud/load_balancers/listener_update_params.py +55 -0
- gcore/types/cloud/load_balancers/metric_list_params.py +21 -0
- gcore/types/cloud/load_balancers/pool_create_params.py +141 -0
- gcore/types/cloud/load_balancers/pool_list_params.py +25 -0
- gcore/types/cloud/load_balancers/pool_update_params.py +139 -0
- gcore/types/cloud/load_balancers/pools/__init__.py +6 -0
- gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +49 -0
- gcore/types/cloud/load_balancers/pools/member_add_params.py +44 -0
- gcore/types/cloud/logging.py +22 -0
- gcore/types/cloud/member.py +47 -0
- gcore/types/cloud/member_status.py +24 -0
- gcore/types/cloud/network.py +79 -0
- gcore/types/cloud/network_create_params.py +34 -0
- gcore/types/cloud/network_details.py +79 -0
- gcore/types/cloud/network_interface.py +78 -0
- gcore/types/cloud/network_interface_list.py +16 -0
- gcore/types/cloud/network_list_params.py +36 -0
- gcore/types/cloud/network_update_params.py +16 -0
- gcore/types/cloud/networks/__init__.py +14 -0
- gcore/types/cloud/networks/router.py +83 -0
- gcore/types/cloud/networks/router_attach_subnet_params.py +24 -0
- gcore/types/cloud/networks/router_create_params.py +75 -0
- gcore/types/cloud/networks/router_detach_subnet_params.py +16 -0
- gcore/types/cloud/networks/router_list.py +16 -0
- gcore/types/cloud/networks/router_list_params.py +19 -0
- gcore/types/cloud/networks/router_update_params.py +45 -0
- gcore/types/cloud/networks/subnet_create_params.py +82 -0
- gcore/types/cloud/networks/subnet_list_params.py +58 -0
- gcore/types/cloud/networks/subnet_update_params.py +47 -0
- gcore/types/cloud/placement_group.py +41 -0
- gcore/types/cloud/placement_group_create_params.py +19 -0
- gcore/types/cloud/placement_group_list.py +16 -0
- gcore/types/cloud/pool_status.py +31 -0
- gcore/types/cloud/project.py +47 -0
- gcore/types/cloud/project_create_params.py +22 -0
- gcore/types/cloud/project_list_params.py +27 -0
- gcore/types/cloud/project_replace_params.py +18 -0
- gcore/types/cloud/provisioning_status.py +9 -0
- gcore/types/cloud/quota_get_all_response.py +340 -0
- gcore/types/cloud/quota_get_by_region_response.py +288 -0
- gcore/types/cloud/quota_get_global_response.py +51 -0
- gcore/types/cloud/quotas/__init__.py +8 -0
- gcore/types/cloud/quotas/request_create_params.py +193 -0
- gcore/types/cloud/quotas/request_get_response.py +205 -0
- gcore/types/cloud/quotas/request_list_params.py +22 -0
- gcore/types/cloud/quotas/request_list_response.py +205 -0
- gcore/types/cloud/region.py +101 -0
- gcore/types/cloud/region_capacity.py +16 -0
- gcore/types/cloud/region_capacity_list.py +16 -0
- gcore/types/cloud/region_get_params.py +18 -0
- gcore/types/cloud/region_list_params.py +31 -0
- gcore/types/cloud/registries/__init__.py +14 -0
- gcore/types/cloud/registries/registry_artifact.py +35 -0
- gcore/types/cloud/registries/registry_artifact_list.py +16 -0
- gcore/types/cloud/registries/registry_repository.py +30 -0
- gcore/types/cloud/registries/registry_repository_list.py +16 -0
- gcore/types/cloud/registries/registry_user.py +28 -0
- gcore/types/cloud/registries/registry_user_created.py +31 -0
- gcore/types/cloud/registries/registry_user_list.py +16 -0
- gcore/types/cloud/registries/user_create_multiple_params.py +36 -0
- gcore/types/cloud/registries/user_create_params.py +30 -0
- gcore/types/cloud/registries/user_update_params.py +21 -0
- gcore/types/cloud/registry.py +33 -0
- gcore/types/cloud/registry_create_params.py +24 -0
- gcore/types/cloud/registry_list.py +16 -0
- gcore/types/cloud/registry_resize_params.py +16 -0
- gcore/types/cloud/registry_tag.py +27 -0
- gcore/types/cloud/reserved_fixed_ip.py +98 -0
- gcore/types/cloud/reserved_fixed_ip_create_params.py +107 -0
- gcore/types/cloud/reserved_fixed_ip_list_params.py +47 -0
- gcore/types/cloud/reserved_fixed_ips/__init__.py +12 -0
- gcore/types/cloud/reserved_fixed_ips/candidate_port.py +26 -0
- gcore/types/cloud/reserved_fixed_ips/candidate_port_list.py +16 -0
- gcore/types/cloud/reserved_fixed_ips/connected_port.py +26 -0
- gcore/types/cloud/reserved_fixed_ips/connected_port_list.py +16 -0
- gcore/types/cloud/reserved_fixed_ips/ip_with_subnet.py +17 -0
- gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +17 -0
- gcore/types/cloud/reserved_fixed_ips/vip_toggle_params.py +16 -0
- gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +17 -0
- gcore/types/cloud/route.py +16 -0
- gcore/types/cloud/secret.py +64 -0
- gcore/types/cloud/secret_create_params.py +66 -0
- gcore/types/cloud/secret_list_response.py +16 -0
- gcore/types/cloud/secret_upload_tls_certificate_params.py +39 -0
- gcore/types/cloud/security_group.py +45 -0
- gcore/types/cloud/security_group_copy_params.py +16 -0
- gcore/types/cloud/security_group_create_params.py +94 -0
- gcore/types/cloud/security_group_list_params.py +30 -0
- gcore/types/cloud/security_group_rule.py +83 -0
- gcore/types/cloud/security_group_update_params.py +83 -0
- gcore/types/cloud/security_groups/__init__.py +6 -0
- gcore/types/cloud/security_groups/rule_create_params.py +65 -0
- gcore/types/cloud/security_groups/rule_replace_params.py +72 -0
- gcore/types/cloud/session_persistence.py +22 -0
- gcore/types/cloud/ssh_key.py +39 -0
- gcore/types/cloud/ssh_key_create_params.py +31 -0
- gcore/types/cloud/ssh_key_created.py +53 -0
- gcore/types/cloud/ssh_key_list_params.py +21 -0
- gcore/types/cloud/ssh_key_update_params.py +15 -0
- gcore/types/cloud/subnet.py +87 -0
- gcore/types/cloud/tag.py +16 -0
- gcore/types/cloud/tag_update_map_param.py +10 -0
- gcore/types/cloud/task.py +191 -0
- gcore/types/cloud/task_acknowledge_all_params.py +16 -0
- gcore/types/cloud/task_id_list.py +12 -0
- gcore/types/cloud/task_list_params.py +104 -0
- gcore/types/cloud/users/__init__.py +9 -0
- gcore/types/cloud/users/role_assignment.py +33 -0
- gcore/types/cloud/users/role_assignment_create_params.py +22 -0
- gcore/types/cloud/users/role_assignment_list_params.py +25 -0
- gcore/types/cloud/users/role_assignment_update_delete.py +10 -0
- gcore/types/cloud/users/role_assignment_update_params.py +22 -0
- gcore/types/cloud/volume.py +141 -0
- gcore/types/cloud/volume_attach_to_instance_params.py +21 -0
- gcore/types/cloud/volume_change_type_params.py +18 -0
- gcore/types/cloud/volume_create_params.py +176 -0
- gcore/types/cloud/volume_delete_params.py +18 -0
- gcore/types/cloud/volume_detach_from_instance_params.py +18 -0
- gcore/types/cloud/volume_list_params.py +56 -0
- gcore/types/cloud/volume_resize_params.py +18 -0
- gcore/types/cloud/volume_update_params.py +18 -0
- gcore-0.1.0a1.dist-info/METADATA +485 -0
- gcore-0.1.0a1.dist-info/RECORD +420 -0
- gcore-0.1.0a1.dist-info/WHEEL +4 -0
- gcore-0.1.0a1.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
|
|
6
|
+
from .tag import Tag
|
|
7
|
+
from .logging import Logging
|
|
8
|
+
from ..._models import BaseModel
|
|
9
|
+
from .floating_ip import FloatingIP
|
|
10
|
+
from .ddos_profile import DDOSProfile
|
|
11
|
+
from .interface_ip_family import InterfaceIPFamily
|
|
12
|
+
from .provisioning_status import ProvisioningStatus
|
|
13
|
+
from .load_balancer_statistics import LoadBalancerStatistics
|
|
14
|
+
from .load_balancer_instance_role import LoadBalancerInstanceRole
|
|
15
|
+
from .load_balancer_operating_status import LoadBalancerOperatingStatus
|
|
16
|
+
from .load_balancer_member_connectivity import LoadBalancerMemberConnectivity
|
|
17
|
+
|
|
18
|
+
__all__ = ["LoadBalancer", "AdditionalVip", "Flavor", "Listener", "VrrpIP"]
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class AdditionalVip(BaseModel):
|
|
22
|
+
ip_address: str
|
|
23
|
+
"""IP address"""
|
|
24
|
+
|
|
25
|
+
subnet_id: str
|
|
26
|
+
"""Subnet UUID"""
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class Flavor(BaseModel):
|
|
30
|
+
flavor_id: str
|
|
31
|
+
"""Flavor ID is the same as name"""
|
|
32
|
+
|
|
33
|
+
flavor_name: str
|
|
34
|
+
"""Flavor name"""
|
|
35
|
+
|
|
36
|
+
ram: int
|
|
37
|
+
"""RAM size in MiB"""
|
|
38
|
+
|
|
39
|
+
vcpus: int
|
|
40
|
+
"""Virtual CPU count. For bare metal flavors, it's a physical CPU count"""
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class Listener(BaseModel):
|
|
44
|
+
id: str
|
|
45
|
+
"""Listener ID"""
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class VrrpIP(BaseModel):
|
|
49
|
+
ip_address: str
|
|
50
|
+
"""IP address"""
|
|
51
|
+
|
|
52
|
+
role: LoadBalancerInstanceRole
|
|
53
|
+
"""LoadBalancer instance role to which VRRP IP belong"""
|
|
54
|
+
|
|
55
|
+
subnet_id: str
|
|
56
|
+
"""Subnet UUID"""
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class LoadBalancer(BaseModel):
|
|
60
|
+
id: str
|
|
61
|
+
"""Load balancer ID"""
|
|
62
|
+
|
|
63
|
+
created_at: datetime
|
|
64
|
+
"""Datetime when the load balancer was created"""
|
|
65
|
+
|
|
66
|
+
name: str
|
|
67
|
+
"""Load balancer name"""
|
|
68
|
+
|
|
69
|
+
operating_status: LoadBalancerOperatingStatus
|
|
70
|
+
"""Load balancer operating status"""
|
|
71
|
+
|
|
72
|
+
project_id: int
|
|
73
|
+
"""Project ID"""
|
|
74
|
+
|
|
75
|
+
provisioning_status: ProvisioningStatus
|
|
76
|
+
"""Load balancer lifecycle status"""
|
|
77
|
+
|
|
78
|
+
region: str
|
|
79
|
+
"""Region name"""
|
|
80
|
+
|
|
81
|
+
region_id: int
|
|
82
|
+
"""Region ID"""
|
|
83
|
+
|
|
84
|
+
tags_v2: List[Tag]
|
|
85
|
+
"""List of key-value tags associated with the resource.
|
|
86
|
+
|
|
87
|
+
A tag is a key-value pair that can be associated with a resource, enabling
|
|
88
|
+
efficient filtering and grouping for better organization and management. Some
|
|
89
|
+
tags are read-only and cannot be modified by the user. Tags are also integrated
|
|
90
|
+
with cost reports, allowing cost data to be filtered based on tag keys or
|
|
91
|
+
values.
|
|
92
|
+
"""
|
|
93
|
+
|
|
94
|
+
additional_vips: Optional[List[AdditionalVip]] = None
|
|
95
|
+
"""List of additional IP addresses"""
|
|
96
|
+
|
|
97
|
+
creator_task_id: Optional[str] = None
|
|
98
|
+
"""Task that created this entity"""
|
|
99
|
+
|
|
100
|
+
ddos_profile: Optional[DDOSProfile] = None
|
|
101
|
+
"""Loadbalancer advanced DDoS protection profile."""
|
|
102
|
+
|
|
103
|
+
flavor: Optional[Flavor] = None
|
|
104
|
+
"""Load balancer flavor (if not default)"""
|
|
105
|
+
|
|
106
|
+
floating_ips: Optional[List[FloatingIP]] = None
|
|
107
|
+
"""List of assigned floating IPs"""
|
|
108
|
+
|
|
109
|
+
listeners: Optional[List[Listener]] = None
|
|
110
|
+
"""Load balancer listeners"""
|
|
111
|
+
|
|
112
|
+
logging: Optional[Logging] = None
|
|
113
|
+
"""Logging configuration"""
|
|
114
|
+
|
|
115
|
+
preferred_connectivity: Optional[LoadBalancerMemberConnectivity] = None
|
|
116
|
+
"""
|
|
117
|
+
Preferred option to establish connectivity between load balancer and its pools
|
|
118
|
+
members
|
|
119
|
+
"""
|
|
120
|
+
|
|
121
|
+
stats: Optional[LoadBalancerStatistics] = None
|
|
122
|
+
"""Statistics of load balancer."""
|
|
123
|
+
|
|
124
|
+
task_id: Optional[str] = None
|
|
125
|
+
"""The UUID of the active task that currently holds a lock on the resource.
|
|
126
|
+
|
|
127
|
+
This lock prevents concurrent modifications to ensure consistency. If `null`,
|
|
128
|
+
the resource is not locked.
|
|
129
|
+
"""
|
|
130
|
+
|
|
131
|
+
updated_at: Optional[datetime] = None
|
|
132
|
+
"""Datetime when the load balancer was last updated"""
|
|
133
|
+
|
|
134
|
+
vip_address: Optional[str] = None
|
|
135
|
+
"""Load balancer IP address"""
|
|
136
|
+
|
|
137
|
+
vip_ip_family: Optional[InterfaceIPFamily] = None
|
|
138
|
+
"""Load balancer IP family"""
|
|
139
|
+
|
|
140
|
+
vip_port_id: Optional[str] = None
|
|
141
|
+
"""The ID of the Virtual IP (VIP) port."""
|
|
142
|
+
|
|
143
|
+
vrrp_ips: Optional[List[VrrpIP]] = None
|
|
144
|
+
"""List of VRRP IP addresses"""
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import List, Union, Iterable, Optional
|
|
6
|
+
from typing_extensions import Literal, Required, TypeAlias, TypedDict
|
|
7
|
+
|
|
8
|
+
from .http_method import HTTPMethod
|
|
9
|
+
from .lb_algorithm import LbAlgorithm
|
|
10
|
+
from .lb_pool_protocol import LbPoolProtocol
|
|
11
|
+
from .interface_ip_family import InterfaceIPFamily
|
|
12
|
+
from .lb_listener_protocol import LbListenerProtocol
|
|
13
|
+
from .tag_update_map_param import TagUpdateMapParam
|
|
14
|
+
from .lb_health_monitor_type import LbHealthMonitorType
|
|
15
|
+
from .lb_session_persistence_type import LbSessionPersistenceType
|
|
16
|
+
from .laas_index_retention_policy_param import LaasIndexRetentionPolicyParam
|
|
17
|
+
from .load_balancer_member_connectivity import LoadBalancerMemberConnectivity
|
|
18
|
+
|
|
19
|
+
__all__ = [
|
|
20
|
+
"LoadBalancerCreateParams",
|
|
21
|
+
"FloatingIP",
|
|
22
|
+
"FloatingIPNewInstanceFloatingIPInterfaceSerializer",
|
|
23
|
+
"FloatingIPExistingInstanceFloatingIPInterfaceSerializer",
|
|
24
|
+
"Listener",
|
|
25
|
+
"ListenerPool",
|
|
26
|
+
"ListenerPoolHealthmonitor",
|
|
27
|
+
"ListenerPoolMember",
|
|
28
|
+
"ListenerPoolSessionPersistence",
|
|
29
|
+
"ListenerUserList",
|
|
30
|
+
"Logging",
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class LoadBalancerCreateParams(TypedDict, total=False):
|
|
35
|
+
project_id: int
|
|
36
|
+
|
|
37
|
+
region_id: int
|
|
38
|
+
|
|
39
|
+
flavor: str
|
|
40
|
+
"""Load balancer flavor name"""
|
|
41
|
+
|
|
42
|
+
floating_ip: FloatingIP
|
|
43
|
+
"""Floating IP configuration for assignment"""
|
|
44
|
+
|
|
45
|
+
listeners: Iterable[Listener]
|
|
46
|
+
"""Load balancer listeners.
|
|
47
|
+
|
|
48
|
+
Maximum 50 per LB (excluding Prometheus endpoint listener).
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
logging: Logging
|
|
52
|
+
"""Logging configuration"""
|
|
53
|
+
|
|
54
|
+
name: str
|
|
55
|
+
"""Load balancer name"""
|
|
56
|
+
|
|
57
|
+
name_template: str
|
|
58
|
+
"""Load balancer name which will be changed by template."""
|
|
59
|
+
|
|
60
|
+
preferred_connectivity: LoadBalancerMemberConnectivity
|
|
61
|
+
"""
|
|
62
|
+
Preferred option to establish connectivity between load balancer and its pools
|
|
63
|
+
members. L2 provides best performance, L3 provides less IPs usage. It is taking
|
|
64
|
+
effect only if instance_id + ip_address is provided, not subnet_id + ip_address,
|
|
65
|
+
because we're considering this as intentional subnet_id specification.
|
|
66
|
+
"""
|
|
67
|
+
|
|
68
|
+
tags: TagUpdateMapParam
|
|
69
|
+
"""Key-value tags to associate with the resource.
|
|
70
|
+
|
|
71
|
+
A tag is a key-value pair that can be associated with a resource, enabling
|
|
72
|
+
efficient filtering and grouping for better organization and management. Some
|
|
73
|
+
tags are read-only and cannot be modified by the user. Tags are also integrated
|
|
74
|
+
with cost reports, allowing cost data to be filtered based on tag keys or
|
|
75
|
+
values.
|
|
76
|
+
"""
|
|
77
|
+
|
|
78
|
+
vip_ip_family: InterfaceIPFamily
|
|
79
|
+
"""
|
|
80
|
+
IP family for load balancer subnet auto-selection if vip_network_id is specified
|
|
81
|
+
"""
|
|
82
|
+
|
|
83
|
+
vip_network_id: str
|
|
84
|
+
"""Network ID for load balancer.
|
|
85
|
+
|
|
86
|
+
If not specified, default external network will be used. Mutually exclusive with
|
|
87
|
+
vip_port_id
|
|
88
|
+
"""
|
|
89
|
+
|
|
90
|
+
vip_port_id: str
|
|
91
|
+
"""Existing Reserved Fixed IP port ID for load balancer.
|
|
92
|
+
|
|
93
|
+
Mutually exclusive with vip_network_id
|
|
94
|
+
"""
|
|
95
|
+
|
|
96
|
+
vip_subnet_id: str
|
|
97
|
+
"""Subnet ID for load balancer.
|
|
98
|
+
|
|
99
|
+
If not specified, any subnet from vip_network_id will be selected. Ignored when
|
|
100
|
+
vip_network_id is not specified.
|
|
101
|
+
"""
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
class FloatingIPNewInstanceFloatingIPInterfaceSerializer(TypedDict, total=False):
|
|
105
|
+
source: Required[Literal["new"]]
|
|
106
|
+
"""A new floating IP will be created and attached to the instance.
|
|
107
|
+
|
|
108
|
+
A floating IP is a public IP that makes the instance accessible from the
|
|
109
|
+
internet, even if it only has a private IP. It works like SNAT, allowing
|
|
110
|
+
outgoing and incoming traffic.
|
|
111
|
+
"""
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
class FloatingIPExistingInstanceFloatingIPInterfaceSerializer(TypedDict, total=False):
|
|
115
|
+
existing_floating_id: Required[str]
|
|
116
|
+
"""
|
|
117
|
+
An existing available floating IP id must be specified if the source is set to
|
|
118
|
+
`existing`
|
|
119
|
+
"""
|
|
120
|
+
|
|
121
|
+
source: Required[Literal["existing"]]
|
|
122
|
+
"""An existing available floating IP will be attached to the instance.
|
|
123
|
+
|
|
124
|
+
A floating IP is a public IP that makes the instance accessible from the
|
|
125
|
+
internet, even if it only has a private IP. It works like SNAT, allowing
|
|
126
|
+
outgoing and incoming traffic.
|
|
127
|
+
"""
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
FloatingIP: TypeAlias = Union[
|
|
131
|
+
FloatingIPNewInstanceFloatingIPInterfaceSerializer, FloatingIPExistingInstanceFloatingIPInterfaceSerializer
|
|
132
|
+
]
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
class ListenerPoolHealthmonitor(TypedDict, total=False):
|
|
136
|
+
delay: Required[int]
|
|
137
|
+
"""The time, in seconds, between sending probes to members"""
|
|
138
|
+
|
|
139
|
+
max_retries: Required[int]
|
|
140
|
+
"""Number of successes before the member is switched to ONLINE state"""
|
|
141
|
+
|
|
142
|
+
timeout: Required[int]
|
|
143
|
+
"""The maximum time to connect. Must be less than the delay value"""
|
|
144
|
+
|
|
145
|
+
type: Required[LbHealthMonitorType]
|
|
146
|
+
"""Health monitor type. Once health monitor is created, cannot be changed."""
|
|
147
|
+
|
|
148
|
+
expected_codes: Optional[str]
|
|
149
|
+
"""Can only be used together with `HTTP` or `HTTPS` health monitor type."""
|
|
150
|
+
|
|
151
|
+
http_method: Optional[HTTPMethod]
|
|
152
|
+
"""HTTP method.
|
|
153
|
+
|
|
154
|
+
Can only be used together with `HTTP` or `HTTPS` health monitor type.
|
|
155
|
+
"""
|
|
156
|
+
|
|
157
|
+
max_retries_down: Optional[int]
|
|
158
|
+
"""Number of failures before the member is switched to ERROR state."""
|
|
159
|
+
|
|
160
|
+
url_path: Optional[str]
|
|
161
|
+
"""URL Path.
|
|
162
|
+
|
|
163
|
+
Defaults to '/'. Can only be used together with `HTTP` or `HTTPS` health monitor
|
|
164
|
+
type.
|
|
165
|
+
"""
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
class ListenerPoolMember(TypedDict, total=False):
|
|
169
|
+
address: Required[str]
|
|
170
|
+
"""Member IP address"""
|
|
171
|
+
|
|
172
|
+
protocol_port: Required[int]
|
|
173
|
+
"""Member IP port"""
|
|
174
|
+
|
|
175
|
+
admin_state_up: Optional[bool]
|
|
176
|
+
"""true if enabled. Defaults to true"""
|
|
177
|
+
|
|
178
|
+
instance_id: Optional[str]
|
|
179
|
+
"""Either subnet_id or instance_id should be provided"""
|
|
180
|
+
|
|
181
|
+
monitor_address: Optional[str]
|
|
182
|
+
"""An alternate IP address used for health monitoring of a backend member.
|
|
183
|
+
|
|
184
|
+
Default is null which monitors the member address.
|
|
185
|
+
"""
|
|
186
|
+
|
|
187
|
+
monitor_port: Optional[int]
|
|
188
|
+
"""An alternate protocol port used for health monitoring of a backend member.
|
|
189
|
+
|
|
190
|
+
Default is null which monitors the member protocol_port.
|
|
191
|
+
"""
|
|
192
|
+
|
|
193
|
+
subnet_id: Optional[str]
|
|
194
|
+
"""Either subnet_id or instance_id should be provided"""
|
|
195
|
+
|
|
196
|
+
weight: Optional[int]
|
|
197
|
+
"""Member weight. Valid values: 0 to 256, defaults to 1"""
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
class ListenerPoolSessionPersistence(TypedDict, total=False):
|
|
201
|
+
type: Required[LbSessionPersistenceType]
|
|
202
|
+
"""Session persistence type"""
|
|
203
|
+
|
|
204
|
+
cookie_name: Optional[str]
|
|
205
|
+
"""Should be set if app cookie or http cookie is used"""
|
|
206
|
+
|
|
207
|
+
persistence_granularity: Optional[str]
|
|
208
|
+
"""Subnet mask if source_ip is used. For UDP ports only"""
|
|
209
|
+
|
|
210
|
+
persistence_timeout: Optional[int]
|
|
211
|
+
"""Session persistence timeout. For UDP ports only"""
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
class ListenerPool(TypedDict, total=False):
|
|
215
|
+
lb_algorithm: Required[LbAlgorithm]
|
|
216
|
+
"""Load balancer algorithm"""
|
|
217
|
+
|
|
218
|
+
name: Required[str]
|
|
219
|
+
"""Pool name"""
|
|
220
|
+
|
|
221
|
+
protocol: Required[LbPoolProtocol]
|
|
222
|
+
"""Protocol"""
|
|
223
|
+
|
|
224
|
+
ca_secret_id: Optional[str]
|
|
225
|
+
"""Secret ID of CA certificate bundle"""
|
|
226
|
+
|
|
227
|
+
crl_secret_id: Optional[str]
|
|
228
|
+
"""Secret ID of CA revocation list file"""
|
|
229
|
+
|
|
230
|
+
healthmonitor: Optional[ListenerPoolHealthmonitor]
|
|
231
|
+
"""Health monitor details"""
|
|
232
|
+
|
|
233
|
+
listener_id: Optional[str]
|
|
234
|
+
"""Listener ID"""
|
|
235
|
+
|
|
236
|
+
loadbalancer_id: Optional[str]
|
|
237
|
+
"""Loadbalancer ID"""
|
|
238
|
+
|
|
239
|
+
members: Optional[Iterable[ListenerPoolMember]]
|
|
240
|
+
"""Pool members"""
|
|
241
|
+
|
|
242
|
+
secret_id: Optional[str]
|
|
243
|
+
"""Secret ID for TLS client authentication to the member servers"""
|
|
244
|
+
|
|
245
|
+
session_persistence: Optional[ListenerPoolSessionPersistence]
|
|
246
|
+
"""Session persistence details"""
|
|
247
|
+
|
|
248
|
+
timeout_client_data: Optional[int]
|
|
249
|
+
"""Frontend client inactivity timeout in milliseconds"""
|
|
250
|
+
|
|
251
|
+
timeout_member_connect: Optional[int]
|
|
252
|
+
"""Backend member connection timeout in milliseconds"""
|
|
253
|
+
|
|
254
|
+
timeout_member_data: Optional[int]
|
|
255
|
+
"""Backend member inactivity timeout in milliseconds"""
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
class ListenerUserList(TypedDict, total=False):
|
|
259
|
+
encrypted_password: Required[str]
|
|
260
|
+
"""Encrypted password to auth via Basic Authentication"""
|
|
261
|
+
|
|
262
|
+
username: Required[str]
|
|
263
|
+
"""Username to auth via Basic Authentication"""
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
class Listener(TypedDict, total=False):
|
|
267
|
+
name: Required[str]
|
|
268
|
+
"""Load balancer listener name"""
|
|
269
|
+
|
|
270
|
+
protocol: Required[LbListenerProtocol]
|
|
271
|
+
"""Load balancer listener protocol"""
|
|
272
|
+
|
|
273
|
+
protocol_port: Required[int]
|
|
274
|
+
"""Protocol port"""
|
|
275
|
+
|
|
276
|
+
allowed_cidrs: Optional[List[str]]
|
|
277
|
+
"""Network CIDRs from which service will be accessible"""
|
|
278
|
+
|
|
279
|
+
connection_limit: int
|
|
280
|
+
"""Limit of the simultaneous connections"""
|
|
281
|
+
|
|
282
|
+
insert_x_forwarded: bool
|
|
283
|
+
"""Add headers X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto to requests.
|
|
284
|
+
|
|
285
|
+
Only used with HTTP or TERMINATED_HTTPS protocols.
|
|
286
|
+
"""
|
|
287
|
+
|
|
288
|
+
pools: Iterable[ListenerPool]
|
|
289
|
+
"""Member pools"""
|
|
290
|
+
|
|
291
|
+
secret_id: str
|
|
292
|
+
"""
|
|
293
|
+
ID of the secret where PKCS12 file is stored for TERMINATED_HTTPS or PROMETHEUS
|
|
294
|
+
listener
|
|
295
|
+
"""
|
|
296
|
+
|
|
297
|
+
sni_secret_id: List[str]
|
|
298
|
+
"""
|
|
299
|
+
List of secrets IDs containing PKCS12 format certificate/key bundles for
|
|
300
|
+
TERMINATED_HTTPS or PROMETHEUS listeners
|
|
301
|
+
"""
|
|
302
|
+
|
|
303
|
+
timeout_client_data: Optional[int]
|
|
304
|
+
"""Frontend client inactivity timeout in milliseconds"""
|
|
305
|
+
|
|
306
|
+
timeout_member_connect: Optional[int]
|
|
307
|
+
"""Backend member connection timeout in milliseconds"""
|
|
308
|
+
|
|
309
|
+
timeout_member_data: Optional[int]
|
|
310
|
+
"""Backend member inactivity timeout in milliseconds"""
|
|
311
|
+
|
|
312
|
+
user_list: Iterable[ListenerUserList]
|
|
313
|
+
"""Load balancer listener list of username and encrypted password items"""
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
class Logging(TypedDict, total=False):
|
|
317
|
+
destination_region_id: Optional[int]
|
|
318
|
+
"""Destination region id to which the logs will be written"""
|
|
319
|
+
|
|
320
|
+
enabled: bool
|
|
321
|
+
"""Enable/disable forwarding logs to LaaS"""
|
|
322
|
+
|
|
323
|
+
retention_policy: Optional[LaasIndexRetentionPolicyParam]
|
|
324
|
+
"""The logs retention policy"""
|
|
325
|
+
|
|
326
|
+
topic_name: Optional[str]
|
|
327
|
+
"""The topic name to which the logs will be written"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["LoadBalancerFailoverParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class LoadBalancerFailoverParams(TypedDict, total=False):
|
|
11
|
+
project_id: int
|
|
12
|
+
|
|
13
|
+
region_id: int
|
|
14
|
+
|
|
15
|
+
force: bool
|
|
16
|
+
"""Validate current load balancer status before failover or not."""
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Union, Optional
|
|
4
|
+
from typing_extensions import Literal, TypeAlias
|
|
5
|
+
|
|
6
|
+
from ..._models import BaseModel
|
|
7
|
+
from .flavor_hardware_description import FlavorHardwareDescription
|
|
8
|
+
|
|
9
|
+
__all__ = ["LoadBalancerFlavorDetail", "HardwareDescription"]
|
|
10
|
+
|
|
11
|
+
HardwareDescription: TypeAlias = Union[FlavorHardwareDescription, object]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class LoadBalancerFlavorDetail(BaseModel):
|
|
15
|
+
flavor_id: str
|
|
16
|
+
"""Flavor ID is the same as name"""
|
|
17
|
+
|
|
18
|
+
flavor_name: str
|
|
19
|
+
"""Flavor name"""
|
|
20
|
+
|
|
21
|
+
hardware_description: HardwareDescription
|
|
22
|
+
"""Additional hardware description."""
|
|
23
|
+
|
|
24
|
+
ram: int
|
|
25
|
+
"""RAM size in MiB"""
|
|
26
|
+
|
|
27
|
+
vcpus: int
|
|
28
|
+
"""Virtual CPU count. For bare metal flavors, it's a physical CPU count"""
|
|
29
|
+
|
|
30
|
+
currency_code: Optional[str] = None
|
|
31
|
+
"""Currency code. Shown if the include_prices query parameter if set to true"""
|
|
32
|
+
|
|
33
|
+
price_per_hour: Optional[float] = None
|
|
34
|
+
"""Price per hour. Shown if the include_prices query parameter if set to true"""
|
|
35
|
+
|
|
36
|
+
price_per_month: Optional[float] = None
|
|
37
|
+
"""Price per month. Shown if the include_prices query parameter if set to true"""
|
|
38
|
+
|
|
39
|
+
price_status: Optional[Literal["error", "hide", "show"]] = None
|
|
40
|
+
"""Price status for the UI"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
4
|
+
|
|
5
|
+
from ..._models import BaseModel
|
|
6
|
+
from .load_balancer_flavor_detail import LoadBalancerFlavorDetail
|
|
7
|
+
|
|
8
|
+
__all__ = ["LoadBalancerFlavorList"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class LoadBalancerFlavorList(BaseModel):
|
|
12
|
+
count: int
|
|
13
|
+
"""Number of objects"""
|
|
14
|
+
|
|
15
|
+
results: List[LoadBalancerFlavorDetail]
|
|
16
|
+
"""Objects"""
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["LoadBalancerGetParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class LoadBalancerGetParams(TypedDict, total=False):
|
|
11
|
+
project_id: int
|
|
12
|
+
|
|
13
|
+
region_id: int
|
|
14
|
+
|
|
15
|
+
show_stats: bool
|
|
16
|
+
"""Show statistics"""
|
|
17
|
+
|
|
18
|
+
with_ddos: bool
|
|
19
|
+
"""Show DDoS profile"""
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
from ..._models import BaseModel
|
|
7
|
+
from .load_balancer_l7_rule import LoadBalancerL7Rule
|
|
8
|
+
|
|
9
|
+
__all__ = ["LoadBalancerL7Policy"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class LoadBalancerL7Policy(BaseModel):
|
|
13
|
+
id: Optional[str] = None
|
|
14
|
+
"""ID"""
|
|
15
|
+
|
|
16
|
+
action: Optional[Literal["REDIRECT_PREFIX", "REDIRECT_TO_POOL", "REDIRECT_TO_URL", "REJECT"]] = None
|
|
17
|
+
"""Action"""
|
|
18
|
+
|
|
19
|
+
listener_id: Optional[str] = None
|
|
20
|
+
"""Listener ID"""
|
|
21
|
+
|
|
22
|
+
name: Optional[str] = None
|
|
23
|
+
"""Human-readable name of the policy"""
|
|
24
|
+
|
|
25
|
+
operating_status: Optional[Literal["DEGRADED", "DRAINING", "ERROR", "NO_MONITOR", "OFFLINE", "ONLINE"]] = None
|
|
26
|
+
"""L7 policy operating status"""
|
|
27
|
+
|
|
28
|
+
position: Optional[int] = None
|
|
29
|
+
"""The position of this policy on the listener. Positions start at 1."""
|
|
30
|
+
|
|
31
|
+
project_id: Optional[int] = None
|
|
32
|
+
"""Project ID"""
|
|
33
|
+
|
|
34
|
+
provisioning_status: Optional[
|
|
35
|
+
Literal["ACTIVE", "DELETED", "ERROR", "PENDING_CREATE", "PENDING_DELETE", "PENDING_UPDATE"]
|
|
36
|
+
] = None
|
|
37
|
+
|
|
38
|
+
redirect_http_code: Optional[int] = None
|
|
39
|
+
"""
|
|
40
|
+
Requests matching this policy will be redirected to the specified URL or Prefix
|
|
41
|
+
URL with the HTTP response code. Valid if action is REDIRECT_TO_URL or
|
|
42
|
+
REDIRECT_PREFIX. Valid options are 301, 302, 303, 307, or 308. Default is 302.
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
redirect_pool_id: Optional[str] = None
|
|
46
|
+
"""Requests matching this policy will be redirected to the pool with this ID.
|
|
47
|
+
|
|
48
|
+
Only valid if action is REDIRECT_TO_POOL.
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
redirect_prefix: Optional[str] = None
|
|
52
|
+
"""Requests matching this policy will be redirected to this Prefix URL.
|
|
53
|
+
|
|
54
|
+
Only valid if action is REDIRECT_PREFIX.
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
redirect_url: Optional[str] = None
|
|
58
|
+
"""Requests matching this policy will be redirected to this URL.
|
|
59
|
+
|
|
60
|
+
Only valid if action is REDIRECT_TO_URL.
|
|
61
|
+
"""
|
|
62
|
+
|
|
63
|
+
region: Optional[str] = None
|
|
64
|
+
"""Region name"""
|
|
65
|
+
|
|
66
|
+
region_id: Optional[int] = None
|
|
67
|
+
"""Region ID"""
|
|
68
|
+
|
|
69
|
+
rules: Optional[List[LoadBalancerL7Rule]] = None
|
|
70
|
+
"""Rules.
|
|
71
|
+
|
|
72
|
+
All the rules associated with a given policy are logically ANDed together. A
|
|
73
|
+
request must match all the policy’s rules to match the policy.If you need to
|
|
74
|
+
express a logical OR operation between rules, then do this by creating multiple
|
|
75
|
+
policies with the same action.
|
|
76
|
+
"""
|
|
77
|
+
|
|
78
|
+
tags: Optional[List[str]] = None
|
|
79
|
+
"""A list of simple strings assigned to the resource."""
|
|
80
|
+
|
|
81
|
+
task_id: Optional[str] = None
|
|
82
|
+
"""The UUID of the active task that currently holds a lock on the resource.
|
|
83
|
+
|
|
84
|
+
This lock prevents concurrent modifications to ensure consistency. If `null`,
|
|
85
|
+
the resource is not locked.
|
|
86
|
+
"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
|
|
5
|
+
from ..._models import BaseModel
|
|
6
|
+
from .load_balancer_l7_policy import LoadBalancerL7Policy
|
|
7
|
+
|
|
8
|
+
__all__ = ["LoadBalancerL7PolicyList"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class LoadBalancerL7PolicyList(BaseModel):
|
|
12
|
+
count: Optional[int] = None
|
|
13
|
+
"""Number of objects"""
|
|
14
|
+
|
|
15
|
+
results: Optional[List[LoadBalancerL7Policy]] = None
|
|
16
|
+
"""Objects"""
|