gcore 0.1.0__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 +89 -0
- gcore/_base_client.py +1943 -0
- gcore/_client.py +493 -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 +65 -0
- gcore/_utils/_reflection.py +42 -0
- gcore/_utils/_resources_proxy.py +24 -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 +33 -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 +1042 -0
- gcore/resources/cloud/billing_reservations.py +386 -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 +1493 -0
- gcore/resources/cloud/gpu_baremetal_clusters/images.py +785 -0
- gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +175 -0
- gcore/resources/cloud/gpu_baremetal_clusters/servers.py +1178 -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 +1493 -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 +1297 -0
- gcore/resources/cloud/instances/instances.py +2821 -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 +1020 -0
- gcore/resources/cloud/load_balancers/l7_policies/rules.py +1036 -0
- gcore/resources/cloud/load_balancers/listeners.py +1089 -0
- gcore/resources/cloud/load_balancers/load_balancers.py +1583 -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 +1190 -0
- gcore/resources/cloud/load_balancers/statuses.py +260 -0
- gcore/resources/cloud/networks/__init__.py +47 -0
- gcore/resources/cloud/networks/networks.py +771 -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 +700 -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/resources/waap/__init__.py +33 -0
- gcore/resources/waap/domains/__init__.py +33 -0
- gcore/resources/waap/domains/domains.py +515 -0
- gcore/resources/waap/domains/settings.py +271 -0
- gcore/resources/waap/waap.py +102 -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 +59 -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 +155 -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 +36 -0
- gcore/types/cloud/network_details.py +80 -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 +41 -0
- gcore/types/cloud/network_update_params.py +18 -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/types/waap/__init__.py +12 -0
- gcore/types/waap/domain_list_params.py +30 -0
- gcore/types/waap/domain_update_params.py +12 -0
- gcore/types/waap/domains/__init__.py +5 -0
- gcore/types/waap/domains/setting_update_params.py +41 -0
- gcore/types/waap/waap_api_urls.py +15 -0
- gcore/types/waap/waap_detailed_domain.py +37 -0
- gcore/types/waap/waap_domain_ddos_settings.py +31 -0
- gcore/types/waap/waap_domain_settings.py +15 -0
- gcore/types/waap/waap_domain_status.py +7 -0
- gcore/types/waap/waap_summary_domain.py +26 -0
- gcore-0.1.0.dist-info/METADATA +482 -0
- gcore-0.1.0.dist-info/RECORD +437 -0
- gcore-0.1.0.dist-info/WHEEL +4 -0
- gcore-0.1.0.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,700 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import time
|
|
6
|
+
from typing import List, Union, Iterable, Optional, cast
|
|
7
|
+
from datetime import datetime
|
|
8
|
+
from typing_extensions import Literal
|
|
9
|
+
|
|
10
|
+
import httpx
|
|
11
|
+
|
|
12
|
+
from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
|
|
13
|
+
from ..._utils import is_given, maybe_transform, async_maybe_transform
|
|
14
|
+
from ..._compat import cached_property
|
|
15
|
+
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
16
|
+
from ..._response import (
|
|
17
|
+
to_raw_response_wrapper,
|
|
18
|
+
to_streamed_response_wrapper,
|
|
19
|
+
async_to_raw_response_wrapper,
|
|
20
|
+
async_to_streamed_response_wrapper,
|
|
21
|
+
)
|
|
22
|
+
from ...pagination import SyncOffsetPage, AsyncOffsetPage
|
|
23
|
+
from ...lib.polling import extract_timeout_value
|
|
24
|
+
from ...types.cloud import task_list_params, task_acknowledge_all_params
|
|
25
|
+
from ..._base_client import AsyncPaginator, make_request_options
|
|
26
|
+
from ...types.cloud.task import Task
|
|
27
|
+
|
|
28
|
+
__all__ = ["TasksResource", "AsyncTasksResource"]
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class TasksResource(SyncAPIResource):
|
|
32
|
+
@cached_property
|
|
33
|
+
def with_raw_response(self) -> TasksResourceWithRawResponse:
|
|
34
|
+
"""
|
|
35
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
36
|
+
the raw response object instead of the parsed content.
|
|
37
|
+
|
|
38
|
+
For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
|
|
39
|
+
"""
|
|
40
|
+
return TasksResourceWithRawResponse(self)
|
|
41
|
+
|
|
42
|
+
@cached_property
|
|
43
|
+
def with_streaming_response(self) -> TasksResourceWithStreamingResponse:
|
|
44
|
+
"""
|
|
45
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
46
|
+
|
|
47
|
+
For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
|
|
48
|
+
"""
|
|
49
|
+
return TasksResourceWithStreamingResponse(self)
|
|
50
|
+
|
|
51
|
+
def poll(
|
|
52
|
+
self,
|
|
53
|
+
task_id: str,
|
|
54
|
+
*,
|
|
55
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
56
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
57
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
58
|
+
extra_headers: Headers | None = None,
|
|
59
|
+
extra_query: Query | None = None,
|
|
60
|
+
extra_body: Body | None = None,
|
|
61
|
+
timeout: float | NotGiven = NOT_GIVEN,
|
|
62
|
+
) -> Task:
|
|
63
|
+
if not is_given(polling_interval_seconds):
|
|
64
|
+
polling_interval_seconds = cast(int, self._client.cloud_polling_interval_seconds)
|
|
65
|
+
# Ensure the polling interval is at least 1 second
|
|
66
|
+
polling_interval_seconds = max(1, polling_interval_seconds)
|
|
67
|
+
|
|
68
|
+
if not is_given(timeout):
|
|
69
|
+
timeout = extract_timeout_value(self._client.timeout)
|
|
70
|
+
|
|
71
|
+
end_time = time.time() + timeout
|
|
72
|
+
while time.time() <= end_time:
|
|
73
|
+
task = self.get(
|
|
74
|
+
task_id,
|
|
75
|
+
extra_headers=extra_headers,
|
|
76
|
+
extra_query=extra_query,
|
|
77
|
+
extra_body=extra_body,
|
|
78
|
+
)
|
|
79
|
+
if task.state == "ERROR":
|
|
80
|
+
raise ValueError(task.error or f"Task {task_id} failed")
|
|
81
|
+
elif task.state == "FINISHED":
|
|
82
|
+
return task
|
|
83
|
+
self._sleep(polling_interval_seconds)
|
|
84
|
+
|
|
85
|
+
raise TimeoutError(f"Timed out waiting for task {task_id}")
|
|
86
|
+
|
|
87
|
+
def list(
|
|
88
|
+
self,
|
|
89
|
+
*,
|
|
90
|
+
from_timestamp: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
|
|
91
|
+
is_acknowledged: Optional[bool] | NotGiven = NOT_GIVEN,
|
|
92
|
+
limit: int | NotGiven = NOT_GIVEN,
|
|
93
|
+
offset: int | NotGiven = NOT_GIVEN,
|
|
94
|
+
project_id: Optional[Iterable[int]] | NotGiven = NOT_GIVEN,
|
|
95
|
+
region_id: Optional[Iterable[int]] | NotGiven = NOT_GIVEN,
|
|
96
|
+
sorting: Optional[Literal["asc", "desc"]] | NotGiven = NOT_GIVEN,
|
|
97
|
+
state: Optional[List[Literal["ERROR", "FINISHED", "NEW", "RUNNING"]]] | NotGiven = NOT_GIVEN,
|
|
98
|
+
task_type: Optional[str] | NotGiven = NOT_GIVEN,
|
|
99
|
+
to_timestamp: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
|
|
100
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
101
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
102
|
+
extra_headers: Headers | None = None,
|
|
103
|
+
extra_query: Query | None = None,
|
|
104
|
+
extra_body: Body | None = None,
|
|
105
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
106
|
+
) -> SyncOffsetPage[Task]:
|
|
107
|
+
"""List tasks
|
|
108
|
+
|
|
109
|
+
Args:
|
|
110
|
+
from_timestamp: ISO formatted datetime string.
|
|
111
|
+
|
|
112
|
+
Filter the tasks by creation date greater than or
|
|
113
|
+
equal to from_timestamp
|
|
114
|
+
|
|
115
|
+
is_acknowledged: Filter the tasks by their acknowledgement status
|
|
116
|
+
|
|
117
|
+
limit: Limit the number of returned tasks. Falls back to default of 10 if not
|
|
118
|
+
specified. Limited by max limit value of 1000
|
|
119
|
+
|
|
120
|
+
offset: Offset value is used to exclude the first set of records from the result
|
|
121
|
+
|
|
122
|
+
project_id: The project ID to filter the tasks by project. Supports multiple values of kind
|
|
123
|
+
key=value1&key=value2
|
|
124
|
+
|
|
125
|
+
region_id: The region ID to filter the tasks by region. Supports multiple values of kind
|
|
126
|
+
key=value1&key=value2
|
|
127
|
+
|
|
128
|
+
sorting: Sorting by creation date. Oldest first, or most recent first
|
|
129
|
+
|
|
130
|
+
state: Filter the tasks by state. Supports multiple values of kind
|
|
131
|
+
key=value1&key=value2
|
|
132
|
+
|
|
133
|
+
task_type: Filter the tasks by their type one of ['activate_ddos_profile',
|
|
134
|
+
'attach_bm_to_reserved_fixed_ip', 'attach_vm_interface',
|
|
135
|
+
'attach_vm_to_reserved_fixed_ip', 'attach_volume', 'create_ai_cluster_gpu',
|
|
136
|
+
'create_bm', 'create_caas_container', 'create_dbaas_postgres_cluster',
|
|
137
|
+
'create_ddos_profile', 'create_faas_function', 'create_faas_namespace',
|
|
138
|
+
'create_fip', 'create_gpu_virtual_cluster', 'create_image',
|
|
139
|
+
'create_inference_instance', 'create_inference_instance_key',
|
|
140
|
+
'create_k8s_cluster_pool_v2', 'create_k8s_cluster_v2', 'create_l7policy',
|
|
141
|
+
'create_l7rule', 'create_lblistener', 'create_lbmember', 'create_lbpool',
|
|
142
|
+
'create_lbpool_health_monitor', 'create_loadbalancer', 'create_network',
|
|
143
|
+
'create_reserved_fixed_ip', 'create_router', 'create_secret',
|
|
144
|
+
'create_servergroup', 'create_sfs', 'create_snapshot', 'create_subnet',
|
|
145
|
+
'create_vm', 'create_volume', 'deactivate_ddos_profile',
|
|
146
|
+
'delete_ai_cluster_gpu', 'delete_caas_container',
|
|
147
|
+
'delete_dbaas_postgres_cluster', 'delete_ddos_profile', 'delete_faas_function',
|
|
148
|
+
'delete_faas_namespace', 'delete_fip', 'delete_gpu_virtual_cluster',
|
|
149
|
+
'delete_gpu_virtual_server', 'delete_image', 'delete_inference_instance',
|
|
150
|
+
'delete_k8s_cluster_pool_v2', 'delete_k8s_cluster_v2', 'delete_l7policy',
|
|
151
|
+
'delete_l7rule', 'delete_lblistener', 'delete_lbmember', 'delete_lbmetadata',
|
|
152
|
+
'delete_lbpool', 'delete_loadbalancer', 'delete_network',
|
|
153
|
+
'delete_reserved_fixed_ip', 'delete_router', 'delete_secret',
|
|
154
|
+
'delete_servergroup', 'delete_sfs', 'delete_snapshot', 'delete_subnet',
|
|
155
|
+
'delete_vm', 'delete_volume', 'detach_vm_interface', 'detach_volume',
|
|
156
|
+
'download_image', 'downscale_ai_cluster_gpu', 'downscale_gpu_virtual_cluster',
|
|
157
|
+
'extend_sfs', 'extend_volume', 'failover_loadbalancer',
|
|
158
|
+
'hard_reboot_gpu_baremetal_server', 'hard_reboot_gpu_virtual_cluster',
|
|
159
|
+
'hard_reboot_gpu_virtual_server', 'hard_reboot_vm', 'patch_caas_container',
|
|
160
|
+
'patch_dbaas_postgres_cluster', 'patch_faas_function', 'patch_faas_namespace',
|
|
161
|
+
'patch_lblistener', 'patch_lbpool', 'put_into_server_group', 'put_l7policy',
|
|
162
|
+
'put_l7rule', 'rebuild_bm', 'rebuild_gpu_baremetal_node',
|
|
163
|
+
'remove_from_server_group', 'replace_lbmetadata', 'resize_k8s_cluster_v2',
|
|
164
|
+
'resize_loadbalancer', 'resize_vm', 'resume_vm', 'revert_volume',
|
|
165
|
+
'soft_reboot_gpu_baremetal_server', 'soft_reboot_gpu_virtual_cluster',
|
|
166
|
+
'soft_reboot_gpu_virtual_server', 'soft_reboot_vm',
|
|
167
|
+
'start_gpu_baremetal_server', 'start_gpu_virtual_cluster',
|
|
168
|
+
'start_gpu_virtual_server', 'start_vm', 'stop_gpu_baremetal_server',
|
|
169
|
+
'stop_gpu_virtual_cluster', 'stop_gpu_virtual_server', 'stop_vm', 'suspend_vm',
|
|
170
|
+
'sync_private_flavors', 'update_ddos_profile', 'update_inference_instance',
|
|
171
|
+
'update_inference_instance_key', 'update_k8s_cluster_v2', 'update_lbmetadata',
|
|
172
|
+
'update_port_allowed_address_pairs', 'update_tags_gpu_virtual_cluster',
|
|
173
|
+
'upgrade_k8s_cluster_v2', 'upscale_ai_cluster_gpu',
|
|
174
|
+
'upscale_gpu_virtual_cluster']
|
|
175
|
+
|
|
176
|
+
to_timestamp: ISO formatted datetime string. Filter the tasks by creation date less than or
|
|
177
|
+
equal to to_timestamp
|
|
178
|
+
|
|
179
|
+
extra_headers: Send extra headers
|
|
180
|
+
|
|
181
|
+
extra_query: Add additional query parameters to the request
|
|
182
|
+
|
|
183
|
+
extra_body: Add additional JSON properties to the request
|
|
184
|
+
|
|
185
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
186
|
+
"""
|
|
187
|
+
return self._get_api_list(
|
|
188
|
+
"/cloud/v1/tasks",
|
|
189
|
+
page=SyncOffsetPage[Task],
|
|
190
|
+
options=make_request_options(
|
|
191
|
+
extra_headers=extra_headers,
|
|
192
|
+
extra_query=extra_query,
|
|
193
|
+
extra_body=extra_body,
|
|
194
|
+
timeout=timeout,
|
|
195
|
+
query=maybe_transform(
|
|
196
|
+
{
|
|
197
|
+
"from_timestamp": from_timestamp,
|
|
198
|
+
"is_acknowledged": is_acknowledged,
|
|
199
|
+
"limit": limit,
|
|
200
|
+
"offset": offset,
|
|
201
|
+
"project_id": project_id,
|
|
202
|
+
"region_id": region_id,
|
|
203
|
+
"sorting": sorting,
|
|
204
|
+
"state": state,
|
|
205
|
+
"task_type": task_type,
|
|
206
|
+
"to_timestamp": to_timestamp,
|
|
207
|
+
},
|
|
208
|
+
task_list_params.TaskListParams,
|
|
209
|
+
),
|
|
210
|
+
),
|
|
211
|
+
model=Task,
|
|
212
|
+
)
|
|
213
|
+
|
|
214
|
+
def acknowledge_all(
|
|
215
|
+
self,
|
|
216
|
+
*,
|
|
217
|
+
project_id: Optional[int] | NotGiven = NOT_GIVEN,
|
|
218
|
+
region_id: Optional[int] | NotGiven = NOT_GIVEN,
|
|
219
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
220
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
221
|
+
extra_headers: Headers | None = None,
|
|
222
|
+
extra_query: Query | None = None,
|
|
223
|
+
extra_body: Body | None = None,
|
|
224
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
225
|
+
) -> None:
|
|
226
|
+
"""
|
|
227
|
+
Acknowledge all client tasks in project or region
|
|
228
|
+
|
|
229
|
+
Args:
|
|
230
|
+
project_id: Project ID
|
|
231
|
+
|
|
232
|
+
region_id: Region ID
|
|
233
|
+
|
|
234
|
+
extra_headers: Send extra headers
|
|
235
|
+
|
|
236
|
+
extra_query: Add additional query parameters to the request
|
|
237
|
+
|
|
238
|
+
extra_body: Add additional JSON properties to the request
|
|
239
|
+
|
|
240
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
241
|
+
"""
|
|
242
|
+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
243
|
+
return self._post(
|
|
244
|
+
"/cloud/v1/tasks/acknowledge_all",
|
|
245
|
+
options=make_request_options(
|
|
246
|
+
extra_headers=extra_headers,
|
|
247
|
+
extra_query=extra_query,
|
|
248
|
+
extra_body=extra_body,
|
|
249
|
+
timeout=timeout,
|
|
250
|
+
query=maybe_transform(
|
|
251
|
+
{
|
|
252
|
+
"project_id": project_id,
|
|
253
|
+
"region_id": region_id,
|
|
254
|
+
},
|
|
255
|
+
task_acknowledge_all_params.TaskAcknowledgeAllParams,
|
|
256
|
+
),
|
|
257
|
+
),
|
|
258
|
+
cast_to=NoneType,
|
|
259
|
+
)
|
|
260
|
+
|
|
261
|
+
def acknowledge_one(
|
|
262
|
+
self,
|
|
263
|
+
task_id: str,
|
|
264
|
+
*,
|
|
265
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
266
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
267
|
+
extra_headers: Headers | None = None,
|
|
268
|
+
extra_query: Query | None = None,
|
|
269
|
+
extra_body: Body | None = None,
|
|
270
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
271
|
+
) -> Task:
|
|
272
|
+
"""
|
|
273
|
+
Acknowledge one task on project scope
|
|
274
|
+
|
|
275
|
+
Args:
|
|
276
|
+
task_id: Task ID
|
|
277
|
+
|
|
278
|
+
extra_headers: Send extra headers
|
|
279
|
+
|
|
280
|
+
extra_query: Add additional query parameters to the request
|
|
281
|
+
|
|
282
|
+
extra_body: Add additional JSON properties to the request
|
|
283
|
+
|
|
284
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
285
|
+
"""
|
|
286
|
+
if not task_id:
|
|
287
|
+
raise ValueError(f"Expected a non-empty value for `task_id` but received {task_id!r}")
|
|
288
|
+
return self._post(
|
|
289
|
+
f"/cloud/v1/tasks/{task_id}/acknowledge",
|
|
290
|
+
options=make_request_options(
|
|
291
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
292
|
+
),
|
|
293
|
+
cast_to=Task,
|
|
294
|
+
)
|
|
295
|
+
|
|
296
|
+
def get(
|
|
297
|
+
self,
|
|
298
|
+
task_id: str,
|
|
299
|
+
*,
|
|
300
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
301
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
302
|
+
extra_headers: Headers | None = None,
|
|
303
|
+
extra_query: Query | None = None,
|
|
304
|
+
extra_body: Body | None = None,
|
|
305
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
306
|
+
) -> Task:
|
|
307
|
+
"""
|
|
308
|
+
Get task
|
|
309
|
+
|
|
310
|
+
Args:
|
|
311
|
+
task_id: Task ID
|
|
312
|
+
|
|
313
|
+
extra_headers: Send extra headers
|
|
314
|
+
|
|
315
|
+
extra_query: Add additional query parameters to the request
|
|
316
|
+
|
|
317
|
+
extra_body: Add additional JSON properties to the request
|
|
318
|
+
|
|
319
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
320
|
+
"""
|
|
321
|
+
if not task_id:
|
|
322
|
+
raise ValueError(f"Expected a non-empty value for `task_id` but received {task_id!r}")
|
|
323
|
+
return self._get(
|
|
324
|
+
f"/cloud/v1/tasks/{task_id}",
|
|
325
|
+
options=make_request_options(
|
|
326
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
327
|
+
),
|
|
328
|
+
cast_to=Task,
|
|
329
|
+
)
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
class AsyncTasksResource(AsyncAPIResource):
|
|
333
|
+
@cached_property
|
|
334
|
+
def with_raw_response(self) -> AsyncTasksResourceWithRawResponse:
|
|
335
|
+
"""
|
|
336
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
337
|
+
the raw response object instead of the parsed content.
|
|
338
|
+
|
|
339
|
+
For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
|
|
340
|
+
"""
|
|
341
|
+
return AsyncTasksResourceWithRawResponse(self)
|
|
342
|
+
|
|
343
|
+
@cached_property
|
|
344
|
+
def with_streaming_response(self) -> AsyncTasksResourceWithStreamingResponse:
|
|
345
|
+
"""
|
|
346
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
347
|
+
|
|
348
|
+
For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
|
|
349
|
+
"""
|
|
350
|
+
return AsyncTasksResourceWithStreamingResponse(self)
|
|
351
|
+
|
|
352
|
+
async def poll(
|
|
353
|
+
self,
|
|
354
|
+
task_id: str,
|
|
355
|
+
*,
|
|
356
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
357
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
358
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
359
|
+
extra_headers: Headers | None = None,
|
|
360
|
+
extra_query: Query | None = None,
|
|
361
|
+
extra_body: Body | None = None,
|
|
362
|
+
timeout: float | NotGiven = NOT_GIVEN,
|
|
363
|
+
) -> Task:
|
|
364
|
+
if not is_given(polling_interval_seconds):
|
|
365
|
+
polling_interval_seconds = cast(int, self._client.cloud_polling_interval_seconds)
|
|
366
|
+
|
|
367
|
+
if not is_given(timeout):
|
|
368
|
+
timeout = extract_timeout_value(self._client.timeout)
|
|
369
|
+
|
|
370
|
+
end_time = time.time() + timeout
|
|
371
|
+
while time.time() <= end_time:
|
|
372
|
+
task = await self.get(
|
|
373
|
+
task_id,
|
|
374
|
+
extra_headers=extra_headers,
|
|
375
|
+
extra_query=extra_query,
|
|
376
|
+
extra_body=extra_body,
|
|
377
|
+
)
|
|
378
|
+
if task.state == "ERROR":
|
|
379
|
+
raise ValueError(task.error or f"Task {task_id} failed")
|
|
380
|
+
elif task.state == "FINISHED":
|
|
381
|
+
return task
|
|
382
|
+
await self._sleep(polling_interval_seconds)
|
|
383
|
+
|
|
384
|
+
raise TimeoutError(f"Timed out waiting for task {task_id}")
|
|
385
|
+
|
|
386
|
+
def list(
|
|
387
|
+
self,
|
|
388
|
+
*,
|
|
389
|
+
from_timestamp: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
|
|
390
|
+
is_acknowledged: Optional[bool] | NotGiven = NOT_GIVEN,
|
|
391
|
+
limit: int | NotGiven = NOT_GIVEN,
|
|
392
|
+
offset: int | NotGiven = NOT_GIVEN,
|
|
393
|
+
project_id: Optional[Iterable[int]] | NotGiven = NOT_GIVEN,
|
|
394
|
+
region_id: Optional[Iterable[int]] | NotGiven = NOT_GIVEN,
|
|
395
|
+
sorting: Optional[Literal["asc", "desc"]] | NotGiven = NOT_GIVEN,
|
|
396
|
+
state: Optional[List[Literal["ERROR", "FINISHED", "NEW", "RUNNING"]]] | NotGiven = NOT_GIVEN,
|
|
397
|
+
task_type: Optional[str] | NotGiven = NOT_GIVEN,
|
|
398
|
+
to_timestamp: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
|
|
399
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
400
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
401
|
+
extra_headers: Headers | None = None,
|
|
402
|
+
extra_query: Query | None = None,
|
|
403
|
+
extra_body: Body | None = None,
|
|
404
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
405
|
+
) -> AsyncPaginator[Task, AsyncOffsetPage[Task]]:
|
|
406
|
+
"""List tasks
|
|
407
|
+
|
|
408
|
+
Args:
|
|
409
|
+
from_timestamp: ISO formatted datetime string.
|
|
410
|
+
|
|
411
|
+
Filter the tasks by creation date greater than or
|
|
412
|
+
equal to from_timestamp
|
|
413
|
+
|
|
414
|
+
is_acknowledged: Filter the tasks by their acknowledgement status
|
|
415
|
+
|
|
416
|
+
limit: Limit the number of returned tasks. Falls back to default of 10 if not
|
|
417
|
+
specified. Limited by max limit value of 1000
|
|
418
|
+
|
|
419
|
+
offset: Offset value is used to exclude the first set of records from the result
|
|
420
|
+
|
|
421
|
+
project_id: The project ID to filter the tasks by project. Supports multiple values of kind
|
|
422
|
+
key=value1&key=value2
|
|
423
|
+
|
|
424
|
+
region_id: The region ID to filter the tasks by region. Supports multiple values of kind
|
|
425
|
+
key=value1&key=value2
|
|
426
|
+
|
|
427
|
+
sorting: Sorting by creation date. Oldest first, or most recent first
|
|
428
|
+
|
|
429
|
+
state: Filter the tasks by state. Supports multiple values of kind
|
|
430
|
+
key=value1&key=value2
|
|
431
|
+
|
|
432
|
+
task_type: Filter the tasks by their type one of ['activate_ddos_profile',
|
|
433
|
+
'attach_bm_to_reserved_fixed_ip', 'attach_vm_interface',
|
|
434
|
+
'attach_vm_to_reserved_fixed_ip', 'attach_volume', 'create_ai_cluster_gpu',
|
|
435
|
+
'create_bm', 'create_caas_container', 'create_dbaas_postgres_cluster',
|
|
436
|
+
'create_ddos_profile', 'create_faas_function', 'create_faas_namespace',
|
|
437
|
+
'create_fip', 'create_gpu_virtual_cluster', 'create_image',
|
|
438
|
+
'create_inference_instance', 'create_inference_instance_key',
|
|
439
|
+
'create_k8s_cluster_pool_v2', 'create_k8s_cluster_v2', 'create_l7policy',
|
|
440
|
+
'create_l7rule', 'create_lblistener', 'create_lbmember', 'create_lbpool',
|
|
441
|
+
'create_lbpool_health_monitor', 'create_loadbalancer', 'create_network',
|
|
442
|
+
'create_reserved_fixed_ip', 'create_router', 'create_secret',
|
|
443
|
+
'create_servergroup', 'create_sfs', 'create_snapshot', 'create_subnet',
|
|
444
|
+
'create_vm', 'create_volume', 'deactivate_ddos_profile',
|
|
445
|
+
'delete_ai_cluster_gpu', 'delete_caas_container',
|
|
446
|
+
'delete_dbaas_postgres_cluster', 'delete_ddos_profile', 'delete_faas_function',
|
|
447
|
+
'delete_faas_namespace', 'delete_fip', 'delete_gpu_virtual_cluster',
|
|
448
|
+
'delete_gpu_virtual_server', 'delete_image', 'delete_inference_instance',
|
|
449
|
+
'delete_k8s_cluster_pool_v2', 'delete_k8s_cluster_v2', 'delete_l7policy',
|
|
450
|
+
'delete_l7rule', 'delete_lblistener', 'delete_lbmember', 'delete_lbmetadata',
|
|
451
|
+
'delete_lbpool', 'delete_loadbalancer', 'delete_network',
|
|
452
|
+
'delete_reserved_fixed_ip', 'delete_router', 'delete_secret',
|
|
453
|
+
'delete_servergroup', 'delete_sfs', 'delete_snapshot', 'delete_subnet',
|
|
454
|
+
'delete_vm', 'delete_volume', 'detach_vm_interface', 'detach_volume',
|
|
455
|
+
'download_image', 'downscale_ai_cluster_gpu', 'downscale_gpu_virtual_cluster',
|
|
456
|
+
'extend_sfs', 'extend_volume', 'failover_loadbalancer',
|
|
457
|
+
'hard_reboot_gpu_baremetal_server', 'hard_reboot_gpu_virtual_cluster',
|
|
458
|
+
'hard_reboot_gpu_virtual_server', 'hard_reboot_vm', 'patch_caas_container',
|
|
459
|
+
'patch_dbaas_postgres_cluster', 'patch_faas_function', 'patch_faas_namespace',
|
|
460
|
+
'patch_lblistener', 'patch_lbpool', 'put_into_server_group', 'put_l7policy',
|
|
461
|
+
'put_l7rule', 'rebuild_bm', 'rebuild_gpu_baremetal_node',
|
|
462
|
+
'remove_from_server_group', 'replace_lbmetadata', 'resize_k8s_cluster_v2',
|
|
463
|
+
'resize_loadbalancer', 'resize_vm', 'resume_vm', 'revert_volume',
|
|
464
|
+
'soft_reboot_gpu_baremetal_server', 'soft_reboot_gpu_virtual_cluster',
|
|
465
|
+
'soft_reboot_gpu_virtual_server', 'soft_reboot_vm',
|
|
466
|
+
'start_gpu_baremetal_server', 'start_gpu_virtual_cluster',
|
|
467
|
+
'start_gpu_virtual_server', 'start_vm', 'stop_gpu_baremetal_server',
|
|
468
|
+
'stop_gpu_virtual_cluster', 'stop_gpu_virtual_server', 'stop_vm', 'suspend_vm',
|
|
469
|
+
'sync_private_flavors', 'update_ddos_profile', 'update_inference_instance',
|
|
470
|
+
'update_inference_instance_key', 'update_k8s_cluster_v2', 'update_lbmetadata',
|
|
471
|
+
'update_port_allowed_address_pairs', 'update_tags_gpu_virtual_cluster',
|
|
472
|
+
'upgrade_k8s_cluster_v2', 'upscale_ai_cluster_gpu',
|
|
473
|
+
'upscale_gpu_virtual_cluster']
|
|
474
|
+
|
|
475
|
+
to_timestamp: ISO formatted datetime string. Filter the tasks by creation date less than or
|
|
476
|
+
equal to to_timestamp
|
|
477
|
+
|
|
478
|
+
extra_headers: Send extra headers
|
|
479
|
+
|
|
480
|
+
extra_query: Add additional query parameters to the request
|
|
481
|
+
|
|
482
|
+
extra_body: Add additional JSON properties to the request
|
|
483
|
+
|
|
484
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
485
|
+
"""
|
|
486
|
+
return self._get_api_list(
|
|
487
|
+
"/cloud/v1/tasks",
|
|
488
|
+
page=AsyncOffsetPage[Task],
|
|
489
|
+
options=make_request_options(
|
|
490
|
+
extra_headers=extra_headers,
|
|
491
|
+
extra_query=extra_query,
|
|
492
|
+
extra_body=extra_body,
|
|
493
|
+
timeout=timeout,
|
|
494
|
+
query=maybe_transform(
|
|
495
|
+
{
|
|
496
|
+
"from_timestamp": from_timestamp,
|
|
497
|
+
"is_acknowledged": is_acknowledged,
|
|
498
|
+
"limit": limit,
|
|
499
|
+
"offset": offset,
|
|
500
|
+
"project_id": project_id,
|
|
501
|
+
"region_id": region_id,
|
|
502
|
+
"sorting": sorting,
|
|
503
|
+
"state": state,
|
|
504
|
+
"task_type": task_type,
|
|
505
|
+
"to_timestamp": to_timestamp,
|
|
506
|
+
},
|
|
507
|
+
task_list_params.TaskListParams,
|
|
508
|
+
),
|
|
509
|
+
),
|
|
510
|
+
model=Task,
|
|
511
|
+
)
|
|
512
|
+
|
|
513
|
+
async def acknowledge_all(
|
|
514
|
+
self,
|
|
515
|
+
*,
|
|
516
|
+
project_id: Optional[int] | NotGiven = NOT_GIVEN,
|
|
517
|
+
region_id: Optional[int] | NotGiven = NOT_GIVEN,
|
|
518
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
519
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
520
|
+
extra_headers: Headers | None = None,
|
|
521
|
+
extra_query: Query | None = None,
|
|
522
|
+
extra_body: Body | None = None,
|
|
523
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
524
|
+
) -> None:
|
|
525
|
+
"""
|
|
526
|
+
Acknowledge all client tasks in project or region
|
|
527
|
+
|
|
528
|
+
Args:
|
|
529
|
+
project_id: Project ID
|
|
530
|
+
|
|
531
|
+
region_id: Region ID
|
|
532
|
+
|
|
533
|
+
extra_headers: Send extra headers
|
|
534
|
+
|
|
535
|
+
extra_query: Add additional query parameters to the request
|
|
536
|
+
|
|
537
|
+
extra_body: Add additional JSON properties to the request
|
|
538
|
+
|
|
539
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
540
|
+
"""
|
|
541
|
+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
542
|
+
return await self._post(
|
|
543
|
+
"/cloud/v1/tasks/acknowledge_all",
|
|
544
|
+
options=make_request_options(
|
|
545
|
+
extra_headers=extra_headers,
|
|
546
|
+
extra_query=extra_query,
|
|
547
|
+
extra_body=extra_body,
|
|
548
|
+
timeout=timeout,
|
|
549
|
+
query=await async_maybe_transform(
|
|
550
|
+
{
|
|
551
|
+
"project_id": project_id,
|
|
552
|
+
"region_id": region_id,
|
|
553
|
+
},
|
|
554
|
+
task_acknowledge_all_params.TaskAcknowledgeAllParams,
|
|
555
|
+
),
|
|
556
|
+
),
|
|
557
|
+
cast_to=NoneType,
|
|
558
|
+
)
|
|
559
|
+
|
|
560
|
+
async def acknowledge_one(
|
|
561
|
+
self,
|
|
562
|
+
task_id: str,
|
|
563
|
+
*,
|
|
564
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
565
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
566
|
+
extra_headers: Headers | None = None,
|
|
567
|
+
extra_query: Query | None = None,
|
|
568
|
+
extra_body: Body | None = None,
|
|
569
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
570
|
+
) -> Task:
|
|
571
|
+
"""
|
|
572
|
+
Acknowledge one task on project scope
|
|
573
|
+
|
|
574
|
+
Args:
|
|
575
|
+
task_id: Task ID
|
|
576
|
+
|
|
577
|
+
extra_headers: Send extra headers
|
|
578
|
+
|
|
579
|
+
extra_query: Add additional query parameters to the request
|
|
580
|
+
|
|
581
|
+
extra_body: Add additional JSON properties to the request
|
|
582
|
+
|
|
583
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
584
|
+
"""
|
|
585
|
+
if not task_id:
|
|
586
|
+
raise ValueError(f"Expected a non-empty value for `task_id` but received {task_id!r}")
|
|
587
|
+
return await self._post(
|
|
588
|
+
f"/cloud/v1/tasks/{task_id}/acknowledge",
|
|
589
|
+
options=make_request_options(
|
|
590
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
591
|
+
),
|
|
592
|
+
cast_to=Task,
|
|
593
|
+
)
|
|
594
|
+
|
|
595
|
+
async def get(
|
|
596
|
+
self,
|
|
597
|
+
task_id: str,
|
|
598
|
+
*,
|
|
599
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
600
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
601
|
+
extra_headers: Headers | None = None,
|
|
602
|
+
extra_query: Query | None = None,
|
|
603
|
+
extra_body: Body | None = None,
|
|
604
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
605
|
+
) -> Task:
|
|
606
|
+
"""
|
|
607
|
+
Get task
|
|
608
|
+
|
|
609
|
+
Args:
|
|
610
|
+
task_id: Task ID
|
|
611
|
+
|
|
612
|
+
extra_headers: Send extra headers
|
|
613
|
+
|
|
614
|
+
extra_query: Add additional query parameters to the request
|
|
615
|
+
|
|
616
|
+
extra_body: Add additional JSON properties to the request
|
|
617
|
+
|
|
618
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
619
|
+
"""
|
|
620
|
+
if not task_id:
|
|
621
|
+
raise ValueError(f"Expected a non-empty value for `task_id` but received {task_id!r}")
|
|
622
|
+
return await self._get(
|
|
623
|
+
f"/cloud/v1/tasks/{task_id}",
|
|
624
|
+
options=make_request_options(
|
|
625
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
626
|
+
),
|
|
627
|
+
cast_to=Task,
|
|
628
|
+
)
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
class TasksResourceWithRawResponse:
|
|
632
|
+
def __init__(self, tasks: TasksResource) -> None:
|
|
633
|
+
self._tasks = tasks
|
|
634
|
+
|
|
635
|
+
self.list = to_raw_response_wrapper(
|
|
636
|
+
tasks.list,
|
|
637
|
+
)
|
|
638
|
+
self.acknowledge_all = to_raw_response_wrapper(
|
|
639
|
+
tasks.acknowledge_all,
|
|
640
|
+
)
|
|
641
|
+
self.acknowledge_one = to_raw_response_wrapper(
|
|
642
|
+
tasks.acknowledge_one,
|
|
643
|
+
)
|
|
644
|
+
self.get = to_raw_response_wrapper(
|
|
645
|
+
tasks.get,
|
|
646
|
+
)
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
class AsyncTasksResourceWithRawResponse:
|
|
650
|
+
def __init__(self, tasks: AsyncTasksResource) -> None:
|
|
651
|
+
self._tasks = tasks
|
|
652
|
+
|
|
653
|
+
self.list = async_to_raw_response_wrapper(
|
|
654
|
+
tasks.list,
|
|
655
|
+
)
|
|
656
|
+
self.acknowledge_all = async_to_raw_response_wrapper(
|
|
657
|
+
tasks.acknowledge_all,
|
|
658
|
+
)
|
|
659
|
+
self.acknowledge_one = async_to_raw_response_wrapper(
|
|
660
|
+
tasks.acknowledge_one,
|
|
661
|
+
)
|
|
662
|
+
self.get = async_to_raw_response_wrapper(
|
|
663
|
+
tasks.get,
|
|
664
|
+
)
|
|
665
|
+
|
|
666
|
+
|
|
667
|
+
class TasksResourceWithStreamingResponse:
|
|
668
|
+
def __init__(self, tasks: TasksResource) -> None:
|
|
669
|
+
self._tasks = tasks
|
|
670
|
+
|
|
671
|
+
self.list = to_streamed_response_wrapper(
|
|
672
|
+
tasks.list,
|
|
673
|
+
)
|
|
674
|
+
self.acknowledge_all = to_streamed_response_wrapper(
|
|
675
|
+
tasks.acknowledge_all,
|
|
676
|
+
)
|
|
677
|
+
self.acknowledge_one = to_streamed_response_wrapper(
|
|
678
|
+
tasks.acknowledge_one,
|
|
679
|
+
)
|
|
680
|
+
self.get = to_streamed_response_wrapper(
|
|
681
|
+
tasks.get,
|
|
682
|
+
)
|
|
683
|
+
|
|
684
|
+
|
|
685
|
+
class AsyncTasksResourceWithStreamingResponse:
|
|
686
|
+
def __init__(self, tasks: AsyncTasksResource) -> None:
|
|
687
|
+
self._tasks = tasks
|
|
688
|
+
|
|
689
|
+
self.list = async_to_streamed_response_wrapper(
|
|
690
|
+
tasks.list,
|
|
691
|
+
)
|
|
692
|
+
self.acknowledge_all = async_to_streamed_response_wrapper(
|
|
693
|
+
tasks.acknowledge_all,
|
|
694
|
+
)
|
|
695
|
+
self.acknowledge_one = async_to_streamed_response_wrapper(
|
|
696
|
+
tasks.acknowledge_one,
|
|
697
|
+
)
|
|
698
|
+
self.get = async_to_streamed_response_wrapper(
|
|
699
|
+
tasks.get,
|
|
700
|
+
)
|