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,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 Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["SecurityGroupCopyParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SecurityGroupCopyParams(TypedDict, total=False):
|
|
11
|
+
project_id: int
|
|
12
|
+
|
|
13
|
+
region_id: int
|
|
14
|
+
|
|
15
|
+
name: Required[str]
|
|
16
|
+
"""Name."""
|
|
@@ -0,0 +1,94 @@
|
|
|
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 Dict, List, Iterable, Optional
|
|
6
|
+
from typing_extensions import Literal, Required, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["SecurityGroupCreateParams", "SecurityGroup", "SecurityGroupSecurityGroupRule"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class SecurityGroupCreateParams(TypedDict, total=False):
|
|
12
|
+
project_id: int
|
|
13
|
+
|
|
14
|
+
region_id: int
|
|
15
|
+
|
|
16
|
+
security_group: Required[SecurityGroup]
|
|
17
|
+
"""Security group"""
|
|
18
|
+
|
|
19
|
+
instances: List[str]
|
|
20
|
+
"""List of instances"""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class SecurityGroupSecurityGroupRule(TypedDict, total=False):
|
|
24
|
+
description: str
|
|
25
|
+
"""Rule description"""
|
|
26
|
+
|
|
27
|
+
direction: Literal["egress", "ingress"]
|
|
28
|
+
"""
|
|
29
|
+
Ingress or egress, which is the direction in which the security group is applied
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
ethertype: Literal["IPv4", "IPv6"]
|
|
33
|
+
"""Ether type"""
|
|
34
|
+
|
|
35
|
+
port_range_max: Optional[int]
|
|
36
|
+
"""The maximum port number in the range that is matched by the security group rule"""
|
|
37
|
+
|
|
38
|
+
port_range_min: Optional[int]
|
|
39
|
+
"""The minimum port number in the range that is matched by the security group rule"""
|
|
40
|
+
|
|
41
|
+
protocol: Literal[
|
|
42
|
+
"ah",
|
|
43
|
+
"any",
|
|
44
|
+
"dccp",
|
|
45
|
+
"egp",
|
|
46
|
+
"esp",
|
|
47
|
+
"gre",
|
|
48
|
+
"icmp",
|
|
49
|
+
"igmp",
|
|
50
|
+
"ipencap",
|
|
51
|
+
"ipip",
|
|
52
|
+
"ipv6-encap",
|
|
53
|
+
"ipv6-frag",
|
|
54
|
+
"ipv6-icmp",
|
|
55
|
+
"ipv6-nonxt",
|
|
56
|
+
"ipv6-opts",
|
|
57
|
+
"ipv6-route",
|
|
58
|
+
"ospf",
|
|
59
|
+
"pgm",
|
|
60
|
+
"rsvp",
|
|
61
|
+
"sctp",
|
|
62
|
+
"tcp",
|
|
63
|
+
"udp",
|
|
64
|
+
"udplite",
|
|
65
|
+
"vrrp",
|
|
66
|
+
]
|
|
67
|
+
"""Protocol"""
|
|
68
|
+
|
|
69
|
+
remote_group_id: str
|
|
70
|
+
"""The remote group UUID to associate with this security group"""
|
|
71
|
+
|
|
72
|
+
remote_ip_prefix: Optional[str]
|
|
73
|
+
"""The remote IP prefix that is matched by this security group rule"""
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class SecurityGroup(TypedDict, total=False):
|
|
77
|
+
name: Required[str]
|
|
78
|
+
"""Security group name"""
|
|
79
|
+
|
|
80
|
+
description: Optional[str]
|
|
81
|
+
"""Security group description"""
|
|
82
|
+
|
|
83
|
+
security_group_rules: Iterable[SecurityGroupSecurityGroupRule]
|
|
84
|
+
"""Security group rules"""
|
|
85
|
+
|
|
86
|
+
tags: Dict[str, object]
|
|
87
|
+
"""Key-value tags to associate with the resource.
|
|
88
|
+
|
|
89
|
+
A tag is a key-value pair that can be associated with a resource, enabling
|
|
90
|
+
efficient filtering and grouping for better organization and management. Some
|
|
91
|
+
tags are read-only and cannot be modified by the user. Tags are also integrated
|
|
92
|
+
with cost reports, allowing cost data to be filtered based on tag keys or
|
|
93
|
+
values.
|
|
94
|
+
"""
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
|
6
|
+
from typing_extensions import TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["SecurityGroupListParams"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class SecurityGroupListParams(TypedDict, total=False):
|
|
12
|
+
project_id: int
|
|
13
|
+
|
|
14
|
+
region_id: int
|
|
15
|
+
|
|
16
|
+
limit: int
|
|
17
|
+
"""Limit the number of returned limit request entities."""
|
|
18
|
+
|
|
19
|
+
offset: int
|
|
20
|
+
"""Offset value is used to exclude the first set of records from the result."""
|
|
21
|
+
|
|
22
|
+
tag_key: List[str]
|
|
23
|
+
"""Filter by tag keys."""
|
|
24
|
+
|
|
25
|
+
tag_key_value: str
|
|
26
|
+
"""Filter by tag key-value pairs.
|
|
27
|
+
|
|
28
|
+
Must be a valid JSON string. curl -G --data-urlencode "tag_key_value={"key":
|
|
29
|
+
"value"}" --url "http://localhost:1111/v1/securitygroups/1/1"
|
|
30
|
+
"""
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from ..._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = ["SecurityGroupRule"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class SecurityGroupRule(BaseModel):
|
|
13
|
+
id: str
|
|
14
|
+
"""The ID of the security group rule"""
|
|
15
|
+
|
|
16
|
+
created_at: datetime
|
|
17
|
+
"""Datetime when the rule was created"""
|
|
18
|
+
|
|
19
|
+
direction: Literal["egress", "ingress"]
|
|
20
|
+
"""
|
|
21
|
+
Ingress or egress, which is the direction in which the security group rule is
|
|
22
|
+
applied
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
revision_number: int
|
|
26
|
+
"""The revision number of the resource"""
|
|
27
|
+
|
|
28
|
+
security_group_id: str
|
|
29
|
+
"""The security group ID to associate with this security group rule"""
|
|
30
|
+
|
|
31
|
+
updated_at: datetime
|
|
32
|
+
"""Datetime when the rule was last updated"""
|
|
33
|
+
|
|
34
|
+
description: Optional[str] = None
|
|
35
|
+
"""Rule description"""
|
|
36
|
+
|
|
37
|
+
ethertype: Optional[Literal["IPv4", "IPv6"]] = None
|
|
38
|
+
"""
|
|
39
|
+
Must be IPv4 or IPv6, and addresses represented in CIDR must match the ingress
|
|
40
|
+
or egress rules.
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
port_range_max: Optional[int] = None
|
|
44
|
+
"""The maximum port number in the range that is matched by the security group rule"""
|
|
45
|
+
|
|
46
|
+
port_range_min: Optional[int] = None
|
|
47
|
+
"""The minimum port number in the range that is matched by the security group rule"""
|
|
48
|
+
|
|
49
|
+
protocol: Optional[
|
|
50
|
+
Literal[
|
|
51
|
+
"ah",
|
|
52
|
+
"any",
|
|
53
|
+
"dccp",
|
|
54
|
+
"egp",
|
|
55
|
+
"esp",
|
|
56
|
+
"gre",
|
|
57
|
+
"icmp",
|
|
58
|
+
"igmp",
|
|
59
|
+
"ipencap",
|
|
60
|
+
"ipip",
|
|
61
|
+
"ipv6-encap",
|
|
62
|
+
"ipv6-frag",
|
|
63
|
+
"ipv6-icmp",
|
|
64
|
+
"ipv6-nonxt",
|
|
65
|
+
"ipv6-opts",
|
|
66
|
+
"ipv6-route",
|
|
67
|
+
"ospf",
|
|
68
|
+
"pgm",
|
|
69
|
+
"rsvp",
|
|
70
|
+
"sctp",
|
|
71
|
+
"tcp",
|
|
72
|
+
"udp",
|
|
73
|
+
"udplite",
|
|
74
|
+
"vrrp",
|
|
75
|
+
]
|
|
76
|
+
] = None
|
|
77
|
+
"""Protocol"""
|
|
78
|
+
|
|
79
|
+
remote_group_id: Optional[str] = None
|
|
80
|
+
"""The remote group UUID to associate with this security group rule"""
|
|
81
|
+
|
|
82
|
+
remote_ip_prefix: Optional[str] = None
|
|
83
|
+
"""The remote IP prefix that is matched by this security group rule"""
|
|
@@ -0,0 +1,83 @@
|
|
|
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 Iterable, Optional
|
|
6
|
+
from typing_extensions import Literal, Required, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["SecurityGroupUpdateParams", "ChangedRule"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class SecurityGroupUpdateParams(TypedDict, total=False):
|
|
12
|
+
project_id: int
|
|
13
|
+
|
|
14
|
+
region_id: int
|
|
15
|
+
|
|
16
|
+
changed_rules: Iterable[ChangedRule]
|
|
17
|
+
"""List of rules to create or delete"""
|
|
18
|
+
|
|
19
|
+
name: str
|
|
20
|
+
"""Name"""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ChangedRule(TypedDict, total=False):
|
|
24
|
+
action: Required[Literal["create", "delete"]]
|
|
25
|
+
"""Action for a rule"""
|
|
26
|
+
|
|
27
|
+
description: str
|
|
28
|
+
"""Security grpup rule description"""
|
|
29
|
+
|
|
30
|
+
direction: Literal["egress", "ingress"]
|
|
31
|
+
"""
|
|
32
|
+
Ingress or egress, which is the direction in which the security group rule is
|
|
33
|
+
applied
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
ethertype: Optional[Literal["IPv4", "IPv6"]]
|
|
37
|
+
"""
|
|
38
|
+
Must be IPv4 or IPv6, and addresses represented in CIDR must match the ingress
|
|
39
|
+
or egress rules.
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
port_range_max: int
|
|
43
|
+
"""The maximum port number in the range that is matched by the security group rule"""
|
|
44
|
+
|
|
45
|
+
port_range_min: int
|
|
46
|
+
"""The minimum port number in the range that is matched by the security group rule"""
|
|
47
|
+
|
|
48
|
+
protocol: Literal[
|
|
49
|
+
"ah",
|
|
50
|
+
"any",
|
|
51
|
+
"dccp",
|
|
52
|
+
"egp",
|
|
53
|
+
"esp",
|
|
54
|
+
"gre",
|
|
55
|
+
"icmp",
|
|
56
|
+
"igmp",
|
|
57
|
+
"ipencap",
|
|
58
|
+
"ipip",
|
|
59
|
+
"ipv6-encap",
|
|
60
|
+
"ipv6-frag",
|
|
61
|
+
"ipv6-icmp",
|
|
62
|
+
"ipv6-nonxt",
|
|
63
|
+
"ipv6-opts",
|
|
64
|
+
"ipv6-route",
|
|
65
|
+
"ospf",
|
|
66
|
+
"pgm",
|
|
67
|
+
"rsvp",
|
|
68
|
+
"sctp",
|
|
69
|
+
"tcp",
|
|
70
|
+
"udp",
|
|
71
|
+
"udplite",
|
|
72
|
+
"vrrp",
|
|
73
|
+
]
|
|
74
|
+
"""Protocol"""
|
|
75
|
+
|
|
76
|
+
remote_group_id: Optional[str]
|
|
77
|
+
"""The remote group UUID to associate with this security group rule"""
|
|
78
|
+
|
|
79
|
+
remote_ip_prefix: Optional[str]
|
|
80
|
+
"""The remote IP prefix that is matched by this security group rule"""
|
|
81
|
+
|
|
82
|
+
security_group_rule_id: Optional[str]
|
|
83
|
+
"""UUID of rule to be deleted. Required for action 'delete' only"""
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from .rule_create_params import RuleCreateParams as RuleCreateParams
|
|
6
|
+
from .rule_replace_params import RuleReplaceParams as RuleReplaceParams
|
|
@@ -0,0 +1,65 @@
|
|
|
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 Optional
|
|
6
|
+
from typing_extensions import Literal, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["RuleCreateParams"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class RuleCreateParams(TypedDict, total=False):
|
|
12
|
+
project_id: int
|
|
13
|
+
|
|
14
|
+
region_id: int
|
|
15
|
+
|
|
16
|
+
description: str
|
|
17
|
+
"""Rule description"""
|
|
18
|
+
|
|
19
|
+
direction: Literal["egress", "ingress"]
|
|
20
|
+
"""
|
|
21
|
+
Ingress or egress, which is the direction in which the security group is applied
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
ethertype: Literal["IPv4", "IPv6"]
|
|
25
|
+
"""Ether type"""
|
|
26
|
+
|
|
27
|
+
port_range_max: Optional[int]
|
|
28
|
+
"""The maximum port number in the range that is matched by the security group rule"""
|
|
29
|
+
|
|
30
|
+
port_range_min: Optional[int]
|
|
31
|
+
"""The minimum port number in the range that is matched by the security group rule"""
|
|
32
|
+
|
|
33
|
+
protocol: Literal[
|
|
34
|
+
"ah",
|
|
35
|
+
"any",
|
|
36
|
+
"dccp",
|
|
37
|
+
"egp",
|
|
38
|
+
"esp",
|
|
39
|
+
"gre",
|
|
40
|
+
"icmp",
|
|
41
|
+
"igmp",
|
|
42
|
+
"ipencap",
|
|
43
|
+
"ipip",
|
|
44
|
+
"ipv6-encap",
|
|
45
|
+
"ipv6-frag",
|
|
46
|
+
"ipv6-icmp",
|
|
47
|
+
"ipv6-nonxt",
|
|
48
|
+
"ipv6-opts",
|
|
49
|
+
"ipv6-route",
|
|
50
|
+
"ospf",
|
|
51
|
+
"pgm",
|
|
52
|
+
"rsvp",
|
|
53
|
+
"sctp",
|
|
54
|
+
"tcp",
|
|
55
|
+
"udp",
|
|
56
|
+
"udplite",
|
|
57
|
+
"vrrp",
|
|
58
|
+
]
|
|
59
|
+
"""Protocol"""
|
|
60
|
+
|
|
61
|
+
remote_group_id: str
|
|
62
|
+
"""The remote group UUID to associate with this security group"""
|
|
63
|
+
|
|
64
|
+
remote_ip_prefix: Optional[str]
|
|
65
|
+
"""The remote IP prefix that is matched by this security group rule"""
|
|
@@ -0,0 +1,72 @@
|
|
|
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 Optional
|
|
6
|
+
from typing_extensions import Literal, Required, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["RuleReplaceParams"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class RuleReplaceParams(TypedDict, total=False):
|
|
12
|
+
project_id: int
|
|
13
|
+
|
|
14
|
+
region_id: int
|
|
15
|
+
|
|
16
|
+
direction: Required[Literal["egress", "ingress"]]
|
|
17
|
+
"""
|
|
18
|
+
Ingress or egress, which is the direction in which the security group rule is
|
|
19
|
+
applied
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
security_group_id: Required[str]
|
|
23
|
+
"""Parent security group of this rule"""
|
|
24
|
+
|
|
25
|
+
description: str
|
|
26
|
+
"""Rule description"""
|
|
27
|
+
|
|
28
|
+
ethertype: Optional[Literal["IPv4", "IPv6"]]
|
|
29
|
+
"""
|
|
30
|
+
Must be IPv4 or IPv6, and addresses represented in CIDR must match the ingress
|
|
31
|
+
or egress rules.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
port_range_max: Optional[int]
|
|
35
|
+
"""The maximum port number in the range that is matched by the security group rule"""
|
|
36
|
+
|
|
37
|
+
port_range_min: Optional[int]
|
|
38
|
+
"""The minimum port number in the range that is matched by the security group rule"""
|
|
39
|
+
|
|
40
|
+
protocol: Literal[
|
|
41
|
+
"ah",
|
|
42
|
+
"any",
|
|
43
|
+
"dccp",
|
|
44
|
+
"egp",
|
|
45
|
+
"esp",
|
|
46
|
+
"gre",
|
|
47
|
+
"icmp",
|
|
48
|
+
"igmp",
|
|
49
|
+
"ipencap",
|
|
50
|
+
"ipip",
|
|
51
|
+
"ipv6-encap",
|
|
52
|
+
"ipv6-frag",
|
|
53
|
+
"ipv6-icmp",
|
|
54
|
+
"ipv6-nonxt",
|
|
55
|
+
"ipv6-opts",
|
|
56
|
+
"ipv6-route",
|
|
57
|
+
"ospf",
|
|
58
|
+
"pgm",
|
|
59
|
+
"rsvp",
|
|
60
|
+
"sctp",
|
|
61
|
+
"tcp",
|
|
62
|
+
"udp",
|
|
63
|
+
"udplite",
|
|
64
|
+
"vrrp",
|
|
65
|
+
]
|
|
66
|
+
"""Protocol"""
|
|
67
|
+
|
|
68
|
+
remote_group_id: Optional[str]
|
|
69
|
+
"""The remote group UUID to associate with this security group rule"""
|
|
70
|
+
|
|
71
|
+
remote_ip_prefix: Optional[str]
|
|
72
|
+
"""The remote IP prefix that is matched by this security group rule"""
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from ..._models import BaseModel
|
|
6
|
+
from .lb_session_persistence_type import LbSessionPersistenceType
|
|
7
|
+
|
|
8
|
+
__all__ = ["SessionPersistence"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class SessionPersistence(BaseModel):
|
|
12
|
+
type: LbSessionPersistenceType
|
|
13
|
+
"""Session persistence type"""
|
|
14
|
+
|
|
15
|
+
cookie_name: Optional[str] = None
|
|
16
|
+
"""Should be set if app cookie or http cookie is used"""
|
|
17
|
+
|
|
18
|
+
persistence_granularity: Optional[str] = None
|
|
19
|
+
"""Subnet mask if source_ip is used. For UDP ports only"""
|
|
20
|
+
|
|
21
|
+
persistence_timeout: Optional[int] = None
|
|
22
|
+
"""Session persistence timeout. For UDP ports only"""
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from ..._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = ["SSHKey"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class SSHKey(BaseModel):
|
|
13
|
+
id: str
|
|
14
|
+
"""SSH key ID"""
|
|
15
|
+
|
|
16
|
+
created_at: Optional[datetime] = None
|
|
17
|
+
"""SSH key creation time"""
|
|
18
|
+
|
|
19
|
+
fingerprint: str
|
|
20
|
+
"""Fingerprint"""
|
|
21
|
+
|
|
22
|
+
name: str
|
|
23
|
+
"""SSH key name"""
|
|
24
|
+
|
|
25
|
+
project_id: Optional[int] = None
|
|
26
|
+
"""Project ID"""
|
|
27
|
+
|
|
28
|
+
public_key: str
|
|
29
|
+
"""The public part of an SSH key is the shareable portion of an SSH key pair.
|
|
30
|
+
|
|
31
|
+
It can be safely sent to servers or services to grant access. It does not
|
|
32
|
+
contain sensitive information.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
shared_in_project: bool
|
|
36
|
+
"""SSH key will be visible to all users in the project"""
|
|
37
|
+
|
|
38
|
+
state: Literal["ACTIVE", "DELETING"]
|
|
39
|
+
"""SSH key state"""
|
|
@@ -0,0 +1,31 @@
|
|
|
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 Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["SSHKeyCreateParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SSHKeyCreateParams(TypedDict, total=False):
|
|
11
|
+
project_id: int
|
|
12
|
+
"""Project ID"""
|
|
13
|
+
|
|
14
|
+
name: Required[str]
|
|
15
|
+
"""SSH key name"""
|
|
16
|
+
|
|
17
|
+
public_key: str
|
|
18
|
+
"""The public part of an SSH key is the shareable portion of an SSH key pair.
|
|
19
|
+
|
|
20
|
+
It can be safely sent to servers or services to grant access. It does not
|
|
21
|
+
contain sensitive information.
|
|
22
|
+
|
|
23
|
+
- If you’re uploading your own key, provide the public part here (usually found
|
|
24
|
+
in a file like `id_ed25519.pub`).
|
|
25
|
+
- If you want the platform to generate an Ed25519 key pair for you, leave this
|
|
26
|
+
field empty — the system will return the private key in the response **once
|
|
27
|
+
only**.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
shared_in_project: bool
|
|
31
|
+
"""SSH key is shared with all users in the project"""
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from ..._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = ["SSHKeyCreated"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class SSHKeyCreated(BaseModel):
|
|
13
|
+
id: str
|
|
14
|
+
"""SSH key ID"""
|
|
15
|
+
|
|
16
|
+
created_at: datetime
|
|
17
|
+
"""SSH key creation time"""
|
|
18
|
+
|
|
19
|
+
fingerprint: str
|
|
20
|
+
"""Fingerprint"""
|
|
21
|
+
|
|
22
|
+
name: str
|
|
23
|
+
"""SSH key name"""
|
|
24
|
+
|
|
25
|
+
private_key: Optional[str] = None
|
|
26
|
+
"""The private part of an SSH key is the confidential portion of the key pair.
|
|
27
|
+
|
|
28
|
+
It should never be shared or exposed. This key is used to prove your identity
|
|
29
|
+
when connecting to a server.
|
|
30
|
+
|
|
31
|
+
If you omit the `public_key`, the platform will generate a key for you. The
|
|
32
|
+
private_key will be returned **once** in the API response. Be sure to save it
|
|
33
|
+
securely, as it cannot be retrieved again later.
|
|
34
|
+
|
|
35
|
+
Best practice: Save the private key to a secure location on your machine (e.g.,
|
|
36
|
+
`~/.ssh/id_ed25519`) and set the file permissions to be readable only by you.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
project_id: int
|
|
40
|
+
"""Project ID"""
|
|
41
|
+
|
|
42
|
+
public_key: str
|
|
43
|
+
"""The public part of an SSH key is the shareable portion of an SSH key pair.
|
|
44
|
+
|
|
45
|
+
It can be safely sent to servers or services to grant access. It does not
|
|
46
|
+
contain sensitive information.
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
shared_in_project: bool
|
|
50
|
+
"""SSH key will be visible to all users in the project"""
|
|
51
|
+
|
|
52
|
+
state: Literal["ACTIVE", "DELETING"]
|
|
53
|
+
"""SSH key state"""
|
|
@@ -0,0 +1,21 @@
|
|
|
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 Literal, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["SSHKeyListParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SSHKeyListParams(TypedDict, total=False):
|
|
11
|
+
project_id: int
|
|
12
|
+
"""Project ID"""
|
|
13
|
+
|
|
14
|
+
limit: int
|
|
15
|
+
"""Maximum number of SSH keys to return"""
|
|
16
|
+
|
|
17
|
+
offset: int
|
|
18
|
+
"""Offset for pagination"""
|
|
19
|
+
|
|
20
|
+
order_by: Literal["created_at.asc", "created_at.desc", "name.asc", "name.desc"]
|
|
21
|
+
"""Sort order for the SSH keys"""
|
|
@@ -0,0 +1,15 @@
|
|
|
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 Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["SSHKeyUpdateParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SSHKeyUpdateParams(TypedDict, total=False):
|
|
11
|
+
project_id: int
|
|
12
|
+
"""Project ID"""
|
|
13
|
+
|
|
14
|
+
shared_in_project: Required[bool]
|
|
15
|
+
"""Share your ssh key with all users in the project"""
|