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,797 @@
|
|
|
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 Union, Optional
|
|
6
|
+
from datetime import datetime
|
|
7
|
+
from typing_extensions import Literal
|
|
8
|
+
|
|
9
|
+
import httpx
|
|
10
|
+
|
|
11
|
+
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
|
|
12
|
+
from ..._utils import maybe_transform, async_maybe_transform
|
|
13
|
+
from ..._compat import cached_property
|
|
14
|
+
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
15
|
+
from ..._response import (
|
|
16
|
+
to_raw_response_wrapper,
|
|
17
|
+
to_streamed_response_wrapper,
|
|
18
|
+
async_to_raw_response_wrapper,
|
|
19
|
+
async_to_streamed_response_wrapper,
|
|
20
|
+
)
|
|
21
|
+
from ...types.cloud import secret_create_params, secret_upload_tls_certificate_params
|
|
22
|
+
from ..._base_client import make_request_options
|
|
23
|
+
from ...types.cloud.secret import Secret
|
|
24
|
+
from ...types.cloud.task_id_list import TaskIDList
|
|
25
|
+
from ...types.cloud.secret_list_response import SecretListResponse
|
|
26
|
+
|
|
27
|
+
__all__ = ["SecretsResource", "AsyncSecretsResource"]
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class SecretsResource(SyncAPIResource):
|
|
31
|
+
@cached_property
|
|
32
|
+
def with_raw_response(self) -> SecretsResourceWithRawResponse:
|
|
33
|
+
"""
|
|
34
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
35
|
+
the raw response object instead of the parsed content.
|
|
36
|
+
|
|
37
|
+
For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
|
|
38
|
+
"""
|
|
39
|
+
return SecretsResourceWithRawResponse(self)
|
|
40
|
+
|
|
41
|
+
@cached_property
|
|
42
|
+
def with_streaming_response(self) -> SecretsResourceWithStreamingResponse:
|
|
43
|
+
"""
|
|
44
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
45
|
+
|
|
46
|
+
For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
|
|
47
|
+
"""
|
|
48
|
+
return SecretsResourceWithStreamingResponse(self)
|
|
49
|
+
|
|
50
|
+
def create(
|
|
51
|
+
self,
|
|
52
|
+
*,
|
|
53
|
+
project_id: int | None = None,
|
|
54
|
+
region_id: int | None = None,
|
|
55
|
+
name: str,
|
|
56
|
+
payload: str,
|
|
57
|
+
payload_content_encoding: Literal["base64"],
|
|
58
|
+
payload_content_type: str,
|
|
59
|
+
secret_type: Literal["certificate", "opaque", "passphrase", "private", "public", "symmetric"],
|
|
60
|
+
algorithm: Optional[str] | NotGiven = NOT_GIVEN,
|
|
61
|
+
bit_length: Optional[int] | NotGiven = NOT_GIVEN,
|
|
62
|
+
expiration: Optional[str] | NotGiven = NOT_GIVEN,
|
|
63
|
+
mode: Optional[str] | NotGiven = NOT_GIVEN,
|
|
64
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
65
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
66
|
+
extra_headers: Headers | None = None,
|
|
67
|
+
extra_query: Query | None = None,
|
|
68
|
+
extra_body: Body | None = None,
|
|
69
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
70
|
+
) -> TaskIDList:
|
|
71
|
+
"""
|
|
72
|
+
Create secret
|
|
73
|
+
|
|
74
|
+
Args:
|
|
75
|
+
project_id: Project ID
|
|
76
|
+
|
|
77
|
+
region_id: Region ID
|
|
78
|
+
|
|
79
|
+
name: Secret name
|
|
80
|
+
|
|
81
|
+
payload: Secret payload. For HTTPS-terminated load balancing, provide base64 encoded
|
|
82
|
+
conents of a PKCS12 file. The PKCS12 file is the combined TLS certificate, key,
|
|
83
|
+
and intermediate certificate chain obtained from an external certificate
|
|
84
|
+
authority. The file can be created via openssl, e.g.'openssl pkcs12 -export
|
|
85
|
+
-inkey server.key -in server.crt -certfile ca-chain.crt -passout pass: -out
|
|
86
|
+
server.p12'The key and certificate should be PEM-encoded, and the intermediate
|
|
87
|
+
certificate chain should be multiple PEM-encoded certs concatenated together
|
|
88
|
+
|
|
89
|
+
payload_content_encoding: The encoding used for the payload to be able to include it in the JSON request.
|
|
90
|
+
Currently only base64 is supported
|
|
91
|
+
|
|
92
|
+
payload_content_type: The media type for the content of the payload
|
|
93
|
+
|
|
94
|
+
secret_type: Secret type. symmetric - Used for storing byte arrays such as keys suitable for
|
|
95
|
+
symmetric encryption; public - Used for storing the public key of an asymmetric
|
|
96
|
+
keypair; private - Used for storing the private key of an asymmetric keypair;
|
|
97
|
+
passphrase - Used for storing plain text passphrases; certificate - Used for
|
|
98
|
+
storing cryptographic certificates such as X.509 certificates; opaque - Used for
|
|
99
|
+
backwards compatibility with previous versions of the API
|
|
100
|
+
|
|
101
|
+
algorithm: Metadata provided by a user or system for informational purposes.
|
|
102
|
+
|
|
103
|
+
bit_length: Metadata provided by a user or system for informational purposes. Value must be
|
|
104
|
+
greater than zero.
|
|
105
|
+
|
|
106
|
+
expiration: Datetime when the secret will expire.
|
|
107
|
+
|
|
108
|
+
mode: Metadata provided by a user or system for informational purposes.
|
|
109
|
+
|
|
110
|
+
extra_headers: Send extra headers
|
|
111
|
+
|
|
112
|
+
extra_query: Add additional query parameters to the request
|
|
113
|
+
|
|
114
|
+
extra_body: Add additional JSON properties to the request
|
|
115
|
+
|
|
116
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
117
|
+
"""
|
|
118
|
+
if project_id is None:
|
|
119
|
+
project_id = self._client._get_cloud_project_id_path_param()
|
|
120
|
+
if region_id is None:
|
|
121
|
+
region_id = self._client._get_cloud_region_id_path_param()
|
|
122
|
+
return self._post(
|
|
123
|
+
f"/cloud/v1/secrets/{project_id}/{region_id}",
|
|
124
|
+
body=maybe_transform(
|
|
125
|
+
{
|
|
126
|
+
"name": name,
|
|
127
|
+
"payload": payload,
|
|
128
|
+
"payload_content_encoding": payload_content_encoding,
|
|
129
|
+
"payload_content_type": payload_content_type,
|
|
130
|
+
"secret_type": secret_type,
|
|
131
|
+
"algorithm": algorithm,
|
|
132
|
+
"bit_length": bit_length,
|
|
133
|
+
"expiration": expiration,
|
|
134
|
+
"mode": mode,
|
|
135
|
+
},
|
|
136
|
+
secret_create_params.SecretCreateParams,
|
|
137
|
+
),
|
|
138
|
+
options=make_request_options(
|
|
139
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
140
|
+
),
|
|
141
|
+
cast_to=TaskIDList,
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
def list(
|
|
145
|
+
self,
|
|
146
|
+
*,
|
|
147
|
+
project_id: int | None = None,
|
|
148
|
+
region_id: int | None = None,
|
|
149
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
150
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
151
|
+
extra_headers: Headers | None = None,
|
|
152
|
+
extra_query: Query | None = None,
|
|
153
|
+
extra_body: Body | None = None,
|
|
154
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
155
|
+
) -> SecretListResponse:
|
|
156
|
+
"""
|
|
157
|
+
List secrets
|
|
158
|
+
|
|
159
|
+
Args:
|
|
160
|
+
project_id: Project ID
|
|
161
|
+
|
|
162
|
+
region_id: Region ID
|
|
163
|
+
|
|
164
|
+
extra_headers: Send extra headers
|
|
165
|
+
|
|
166
|
+
extra_query: Add additional query parameters to the request
|
|
167
|
+
|
|
168
|
+
extra_body: Add additional JSON properties to the request
|
|
169
|
+
|
|
170
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
171
|
+
"""
|
|
172
|
+
if project_id is None:
|
|
173
|
+
project_id = self._client._get_cloud_project_id_path_param()
|
|
174
|
+
if region_id is None:
|
|
175
|
+
region_id = self._client._get_cloud_region_id_path_param()
|
|
176
|
+
return self._get(
|
|
177
|
+
f"/cloud/v1/secrets/{project_id}/{region_id}",
|
|
178
|
+
options=make_request_options(
|
|
179
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
180
|
+
),
|
|
181
|
+
cast_to=SecretListResponse,
|
|
182
|
+
)
|
|
183
|
+
|
|
184
|
+
def delete(
|
|
185
|
+
self,
|
|
186
|
+
secret_id: str,
|
|
187
|
+
*,
|
|
188
|
+
project_id: int | None = None,
|
|
189
|
+
region_id: int | None = None,
|
|
190
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
191
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
192
|
+
extra_headers: Headers | None = None,
|
|
193
|
+
extra_query: Query | None = None,
|
|
194
|
+
extra_body: Body | None = None,
|
|
195
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
196
|
+
) -> TaskIDList:
|
|
197
|
+
"""
|
|
198
|
+
Delete secret
|
|
199
|
+
|
|
200
|
+
Args:
|
|
201
|
+
project_id: Project ID
|
|
202
|
+
|
|
203
|
+
region_id: Region ID
|
|
204
|
+
|
|
205
|
+
secret_id: Secret ID
|
|
206
|
+
|
|
207
|
+
extra_headers: Send extra headers
|
|
208
|
+
|
|
209
|
+
extra_query: Add additional query parameters to the request
|
|
210
|
+
|
|
211
|
+
extra_body: Add additional JSON properties to the request
|
|
212
|
+
|
|
213
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
214
|
+
"""
|
|
215
|
+
if project_id is None:
|
|
216
|
+
project_id = self._client._get_cloud_project_id_path_param()
|
|
217
|
+
if region_id is None:
|
|
218
|
+
region_id = self._client._get_cloud_region_id_path_param()
|
|
219
|
+
if not secret_id:
|
|
220
|
+
raise ValueError(f"Expected a non-empty value for `secret_id` but received {secret_id!r}")
|
|
221
|
+
return self._delete(
|
|
222
|
+
f"/cloud/v1/secrets/{project_id}/{region_id}/{secret_id}",
|
|
223
|
+
options=make_request_options(
|
|
224
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
225
|
+
),
|
|
226
|
+
cast_to=TaskIDList,
|
|
227
|
+
)
|
|
228
|
+
|
|
229
|
+
def get(
|
|
230
|
+
self,
|
|
231
|
+
secret_id: str,
|
|
232
|
+
*,
|
|
233
|
+
project_id: int | None = None,
|
|
234
|
+
region_id: int | None = None,
|
|
235
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
236
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
237
|
+
extra_headers: Headers | None = None,
|
|
238
|
+
extra_query: Query | None = None,
|
|
239
|
+
extra_body: Body | None = None,
|
|
240
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
241
|
+
) -> Secret:
|
|
242
|
+
"""
|
|
243
|
+
Get secret
|
|
244
|
+
|
|
245
|
+
Args:
|
|
246
|
+
project_id: Project ID
|
|
247
|
+
|
|
248
|
+
region_id: Region ID
|
|
249
|
+
|
|
250
|
+
secret_id: Secret ID
|
|
251
|
+
|
|
252
|
+
extra_headers: Send extra headers
|
|
253
|
+
|
|
254
|
+
extra_query: Add additional query parameters to the request
|
|
255
|
+
|
|
256
|
+
extra_body: Add additional JSON properties to the request
|
|
257
|
+
|
|
258
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
259
|
+
"""
|
|
260
|
+
if project_id is None:
|
|
261
|
+
project_id = self._client._get_cloud_project_id_path_param()
|
|
262
|
+
if region_id is None:
|
|
263
|
+
region_id = self._client._get_cloud_region_id_path_param()
|
|
264
|
+
if not secret_id:
|
|
265
|
+
raise ValueError(f"Expected a non-empty value for `secret_id` but received {secret_id!r}")
|
|
266
|
+
return self._get(
|
|
267
|
+
f"/cloud/v1/secrets/{project_id}/{region_id}/{secret_id}",
|
|
268
|
+
options=make_request_options(
|
|
269
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
270
|
+
),
|
|
271
|
+
cast_to=Secret,
|
|
272
|
+
)
|
|
273
|
+
|
|
274
|
+
def upload_tls_certificate(
|
|
275
|
+
self,
|
|
276
|
+
*,
|
|
277
|
+
project_id: int | None = None,
|
|
278
|
+
region_id: int | None = None,
|
|
279
|
+
name: str,
|
|
280
|
+
payload: secret_upload_tls_certificate_params.Payload,
|
|
281
|
+
expiration: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
|
|
282
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
283
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
284
|
+
extra_headers: Headers | None = None,
|
|
285
|
+
extra_query: Query | None = None,
|
|
286
|
+
extra_body: Body | None = None,
|
|
287
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
288
|
+
) -> TaskIDList:
|
|
289
|
+
"""
|
|
290
|
+
Create secret
|
|
291
|
+
|
|
292
|
+
Args:
|
|
293
|
+
project_id: Project ID
|
|
294
|
+
|
|
295
|
+
region_id: Region ID
|
|
296
|
+
|
|
297
|
+
name: Secret name
|
|
298
|
+
|
|
299
|
+
payload: Secret payload.
|
|
300
|
+
|
|
301
|
+
expiration: Datetime when the secret will expire. Defaults to None
|
|
302
|
+
|
|
303
|
+
extra_headers: Send extra headers
|
|
304
|
+
|
|
305
|
+
extra_query: Add additional query parameters to the request
|
|
306
|
+
|
|
307
|
+
extra_body: Add additional JSON properties to the request
|
|
308
|
+
|
|
309
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
310
|
+
"""
|
|
311
|
+
if project_id is None:
|
|
312
|
+
project_id = self._client._get_cloud_project_id_path_param()
|
|
313
|
+
if region_id is None:
|
|
314
|
+
region_id = self._client._get_cloud_region_id_path_param()
|
|
315
|
+
return self._post(
|
|
316
|
+
f"/cloud/v2/secrets/{project_id}/{region_id}",
|
|
317
|
+
body=maybe_transform(
|
|
318
|
+
{
|
|
319
|
+
"name": name,
|
|
320
|
+
"payload": payload,
|
|
321
|
+
"expiration": expiration,
|
|
322
|
+
},
|
|
323
|
+
secret_upload_tls_certificate_params.SecretUploadTlsCertificateParams,
|
|
324
|
+
),
|
|
325
|
+
options=make_request_options(
|
|
326
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
327
|
+
),
|
|
328
|
+
cast_to=TaskIDList,
|
|
329
|
+
)
|
|
330
|
+
|
|
331
|
+
def upload_tls_certificate_and_poll(
|
|
332
|
+
self,
|
|
333
|
+
*,
|
|
334
|
+
project_id: int | None = None,
|
|
335
|
+
region_id: int | None = None,
|
|
336
|
+
name: str,
|
|
337
|
+
payload: secret_upload_tls_certificate_params.Payload,
|
|
338
|
+
expiration: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
|
|
339
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
340
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
341
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
342
|
+
extra_headers: Headers | None = None,
|
|
343
|
+
extra_query: Query | None = None,
|
|
344
|
+
extra_body: Body | None = None,
|
|
345
|
+
) -> Secret:
|
|
346
|
+
response = self.upload_tls_certificate(
|
|
347
|
+
project_id=project_id,
|
|
348
|
+
region_id=region_id,
|
|
349
|
+
name=name,
|
|
350
|
+
payload=payload,
|
|
351
|
+
expiration=expiration,
|
|
352
|
+
extra_headers=extra_headers,
|
|
353
|
+
extra_query=extra_query,
|
|
354
|
+
extra_body=extra_body,
|
|
355
|
+
)
|
|
356
|
+
if not response.tasks or len(response.tasks) != 1:
|
|
357
|
+
raise ValueError(f"Expected exactly one task to be created")
|
|
358
|
+
task = self._client.cloud.tasks.poll(
|
|
359
|
+
task_id=response.tasks[0],
|
|
360
|
+
extra_headers=extra_headers,
|
|
361
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
362
|
+
)
|
|
363
|
+
if not task.created_resources or not task.created_resources.secrets or len(task.created_resources.secrets) != 1:
|
|
364
|
+
raise ValueError(f"Expected exactly one resource to be created in a task")
|
|
365
|
+
return self.get(
|
|
366
|
+
secret_id=task.created_resources.secrets[0],
|
|
367
|
+
project_id=project_id,
|
|
368
|
+
region_id=region_id,
|
|
369
|
+
extra_headers=extra_headers,
|
|
370
|
+
)
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
class AsyncSecretsResource(AsyncAPIResource):
|
|
374
|
+
@cached_property
|
|
375
|
+
def with_raw_response(self) -> AsyncSecretsResourceWithRawResponse:
|
|
376
|
+
"""
|
|
377
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
378
|
+
the raw response object instead of the parsed content.
|
|
379
|
+
|
|
380
|
+
For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
|
|
381
|
+
"""
|
|
382
|
+
return AsyncSecretsResourceWithRawResponse(self)
|
|
383
|
+
|
|
384
|
+
@cached_property
|
|
385
|
+
def with_streaming_response(self) -> AsyncSecretsResourceWithStreamingResponse:
|
|
386
|
+
"""
|
|
387
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
388
|
+
|
|
389
|
+
For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
|
|
390
|
+
"""
|
|
391
|
+
return AsyncSecretsResourceWithStreamingResponse(self)
|
|
392
|
+
|
|
393
|
+
async def create(
|
|
394
|
+
self,
|
|
395
|
+
*,
|
|
396
|
+
project_id: int | None = None,
|
|
397
|
+
region_id: int | None = None,
|
|
398
|
+
name: str,
|
|
399
|
+
payload: str,
|
|
400
|
+
payload_content_encoding: Literal["base64"],
|
|
401
|
+
payload_content_type: str,
|
|
402
|
+
secret_type: Literal["certificate", "opaque", "passphrase", "private", "public", "symmetric"],
|
|
403
|
+
algorithm: Optional[str] | NotGiven = NOT_GIVEN,
|
|
404
|
+
bit_length: Optional[int] | NotGiven = NOT_GIVEN,
|
|
405
|
+
expiration: Optional[str] | NotGiven = NOT_GIVEN,
|
|
406
|
+
mode: Optional[str] | NotGiven = NOT_GIVEN,
|
|
407
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
408
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
409
|
+
extra_headers: Headers | None = None,
|
|
410
|
+
extra_query: Query | None = None,
|
|
411
|
+
extra_body: Body | None = None,
|
|
412
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
413
|
+
) -> TaskIDList:
|
|
414
|
+
"""
|
|
415
|
+
Create secret
|
|
416
|
+
|
|
417
|
+
Args:
|
|
418
|
+
project_id: Project ID
|
|
419
|
+
|
|
420
|
+
region_id: Region ID
|
|
421
|
+
|
|
422
|
+
name: Secret name
|
|
423
|
+
|
|
424
|
+
payload: Secret payload. For HTTPS-terminated load balancing, provide base64 encoded
|
|
425
|
+
conents of a PKCS12 file. The PKCS12 file is the combined TLS certificate, key,
|
|
426
|
+
and intermediate certificate chain obtained from an external certificate
|
|
427
|
+
authority. The file can be created via openssl, e.g.'openssl pkcs12 -export
|
|
428
|
+
-inkey server.key -in server.crt -certfile ca-chain.crt -passout pass: -out
|
|
429
|
+
server.p12'The key and certificate should be PEM-encoded, and the intermediate
|
|
430
|
+
certificate chain should be multiple PEM-encoded certs concatenated together
|
|
431
|
+
|
|
432
|
+
payload_content_encoding: The encoding used for the payload to be able to include it in the JSON request.
|
|
433
|
+
Currently only base64 is supported
|
|
434
|
+
|
|
435
|
+
payload_content_type: The media type for the content of the payload
|
|
436
|
+
|
|
437
|
+
secret_type: Secret type. symmetric - Used for storing byte arrays such as keys suitable for
|
|
438
|
+
symmetric encryption; public - Used for storing the public key of an asymmetric
|
|
439
|
+
keypair; private - Used for storing the private key of an asymmetric keypair;
|
|
440
|
+
passphrase - Used for storing plain text passphrases; certificate - Used for
|
|
441
|
+
storing cryptographic certificates such as X.509 certificates; opaque - Used for
|
|
442
|
+
backwards compatibility with previous versions of the API
|
|
443
|
+
|
|
444
|
+
algorithm: Metadata provided by a user or system for informational purposes.
|
|
445
|
+
|
|
446
|
+
bit_length: Metadata provided by a user or system for informational purposes. Value must be
|
|
447
|
+
greater than zero.
|
|
448
|
+
|
|
449
|
+
expiration: Datetime when the secret will expire.
|
|
450
|
+
|
|
451
|
+
mode: Metadata provided by a user or system for informational purposes.
|
|
452
|
+
|
|
453
|
+
extra_headers: Send extra headers
|
|
454
|
+
|
|
455
|
+
extra_query: Add additional query parameters to the request
|
|
456
|
+
|
|
457
|
+
extra_body: Add additional JSON properties to the request
|
|
458
|
+
|
|
459
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
460
|
+
"""
|
|
461
|
+
if project_id is None:
|
|
462
|
+
project_id = self._client._get_cloud_project_id_path_param()
|
|
463
|
+
if region_id is None:
|
|
464
|
+
region_id = self._client._get_cloud_region_id_path_param()
|
|
465
|
+
return await self._post(
|
|
466
|
+
f"/cloud/v1/secrets/{project_id}/{region_id}",
|
|
467
|
+
body=await async_maybe_transform(
|
|
468
|
+
{
|
|
469
|
+
"name": name,
|
|
470
|
+
"payload": payload,
|
|
471
|
+
"payload_content_encoding": payload_content_encoding,
|
|
472
|
+
"payload_content_type": payload_content_type,
|
|
473
|
+
"secret_type": secret_type,
|
|
474
|
+
"algorithm": algorithm,
|
|
475
|
+
"bit_length": bit_length,
|
|
476
|
+
"expiration": expiration,
|
|
477
|
+
"mode": mode,
|
|
478
|
+
},
|
|
479
|
+
secret_create_params.SecretCreateParams,
|
|
480
|
+
),
|
|
481
|
+
options=make_request_options(
|
|
482
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
483
|
+
),
|
|
484
|
+
cast_to=TaskIDList,
|
|
485
|
+
)
|
|
486
|
+
|
|
487
|
+
async def list(
|
|
488
|
+
self,
|
|
489
|
+
*,
|
|
490
|
+
project_id: int | None = None,
|
|
491
|
+
region_id: int | None = None,
|
|
492
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
493
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
494
|
+
extra_headers: Headers | None = None,
|
|
495
|
+
extra_query: Query | None = None,
|
|
496
|
+
extra_body: Body | None = None,
|
|
497
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
498
|
+
) -> SecretListResponse:
|
|
499
|
+
"""
|
|
500
|
+
List secrets
|
|
501
|
+
|
|
502
|
+
Args:
|
|
503
|
+
project_id: Project ID
|
|
504
|
+
|
|
505
|
+
region_id: Region ID
|
|
506
|
+
|
|
507
|
+
extra_headers: Send extra headers
|
|
508
|
+
|
|
509
|
+
extra_query: Add additional query parameters to the request
|
|
510
|
+
|
|
511
|
+
extra_body: Add additional JSON properties to the request
|
|
512
|
+
|
|
513
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
514
|
+
"""
|
|
515
|
+
if project_id is None:
|
|
516
|
+
project_id = self._client._get_cloud_project_id_path_param()
|
|
517
|
+
if region_id is None:
|
|
518
|
+
region_id = self._client._get_cloud_region_id_path_param()
|
|
519
|
+
return await self._get(
|
|
520
|
+
f"/cloud/v1/secrets/{project_id}/{region_id}",
|
|
521
|
+
options=make_request_options(
|
|
522
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
523
|
+
),
|
|
524
|
+
cast_to=SecretListResponse,
|
|
525
|
+
)
|
|
526
|
+
|
|
527
|
+
async def delete(
|
|
528
|
+
self,
|
|
529
|
+
secret_id: str,
|
|
530
|
+
*,
|
|
531
|
+
project_id: int | None = None,
|
|
532
|
+
region_id: int | None = None,
|
|
533
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
534
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
535
|
+
extra_headers: Headers | None = None,
|
|
536
|
+
extra_query: Query | None = None,
|
|
537
|
+
extra_body: Body | None = None,
|
|
538
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
539
|
+
) -> TaskIDList:
|
|
540
|
+
"""
|
|
541
|
+
Delete secret
|
|
542
|
+
|
|
543
|
+
Args:
|
|
544
|
+
project_id: Project ID
|
|
545
|
+
|
|
546
|
+
region_id: Region ID
|
|
547
|
+
|
|
548
|
+
secret_id: Secret ID
|
|
549
|
+
|
|
550
|
+
extra_headers: Send extra headers
|
|
551
|
+
|
|
552
|
+
extra_query: Add additional query parameters to the request
|
|
553
|
+
|
|
554
|
+
extra_body: Add additional JSON properties to the request
|
|
555
|
+
|
|
556
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
557
|
+
"""
|
|
558
|
+
if project_id is None:
|
|
559
|
+
project_id = self._client._get_cloud_project_id_path_param()
|
|
560
|
+
if region_id is None:
|
|
561
|
+
region_id = self._client._get_cloud_region_id_path_param()
|
|
562
|
+
if not secret_id:
|
|
563
|
+
raise ValueError(f"Expected a non-empty value for `secret_id` but received {secret_id!r}")
|
|
564
|
+
return await self._delete(
|
|
565
|
+
f"/cloud/v1/secrets/{project_id}/{region_id}/{secret_id}",
|
|
566
|
+
options=make_request_options(
|
|
567
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
568
|
+
),
|
|
569
|
+
cast_to=TaskIDList,
|
|
570
|
+
)
|
|
571
|
+
|
|
572
|
+
async def get(
|
|
573
|
+
self,
|
|
574
|
+
secret_id: str,
|
|
575
|
+
*,
|
|
576
|
+
project_id: int | None = None,
|
|
577
|
+
region_id: int | None = None,
|
|
578
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
579
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
580
|
+
extra_headers: Headers | None = None,
|
|
581
|
+
extra_query: Query | None = None,
|
|
582
|
+
extra_body: Body | None = None,
|
|
583
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
584
|
+
) -> Secret:
|
|
585
|
+
"""
|
|
586
|
+
Get secret
|
|
587
|
+
|
|
588
|
+
Args:
|
|
589
|
+
project_id: Project ID
|
|
590
|
+
|
|
591
|
+
region_id: Region ID
|
|
592
|
+
|
|
593
|
+
secret_id: Secret ID
|
|
594
|
+
|
|
595
|
+
extra_headers: Send extra headers
|
|
596
|
+
|
|
597
|
+
extra_query: Add additional query parameters to the request
|
|
598
|
+
|
|
599
|
+
extra_body: Add additional JSON properties to the request
|
|
600
|
+
|
|
601
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
602
|
+
"""
|
|
603
|
+
if project_id is None:
|
|
604
|
+
project_id = self._client._get_cloud_project_id_path_param()
|
|
605
|
+
if region_id is None:
|
|
606
|
+
region_id = self._client._get_cloud_region_id_path_param()
|
|
607
|
+
if not secret_id:
|
|
608
|
+
raise ValueError(f"Expected a non-empty value for `secret_id` but received {secret_id!r}")
|
|
609
|
+
return await self._get(
|
|
610
|
+
f"/cloud/v1/secrets/{project_id}/{region_id}/{secret_id}",
|
|
611
|
+
options=make_request_options(
|
|
612
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
613
|
+
),
|
|
614
|
+
cast_to=Secret,
|
|
615
|
+
)
|
|
616
|
+
|
|
617
|
+
async def upload_tls_certificate(
|
|
618
|
+
self,
|
|
619
|
+
*,
|
|
620
|
+
project_id: int | None = None,
|
|
621
|
+
region_id: int | None = None,
|
|
622
|
+
name: str,
|
|
623
|
+
payload: secret_upload_tls_certificate_params.Payload,
|
|
624
|
+
expiration: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
|
|
625
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
626
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
627
|
+
extra_headers: Headers | None = None,
|
|
628
|
+
extra_query: Query | None = None,
|
|
629
|
+
extra_body: Body | None = None,
|
|
630
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
631
|
+
) -> TaskIDList:
|
|
632
|
+
"""
|
|
633
|
+
Create secret
|
|
634
|
+
|
|
635
|
+
Args:
|
|
636
|
+
project_id: Project ID
|
|
637
|
+
|
|
638
|
+
region_id: Region ID
|
|
639
|
+
|
|
640
|
+
name: Secret name
|
|
641
|
+
|
|
642
|
+
payload: Secret payload.
|
|
643
|
+
|
|
644
|
+
expiration: Datetime when the secret will expire. Defaults to None
|
|
645
|
+
|
|
646
|
+
extra_headers: Send extra headers
|
|
647
|
+
|
|
648
|
+
extra_query: Add additional query parameters to the request
|
|
649
|
+
|
|
650
|
+
extra_body: Add additional JSON properties to the request
|
|
651
|
+
|
|
652
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
653
|
+
"""
|
|
654
|
+
if project_id is None:
|
|
655
|
+
project_id = self._client._get_cloud_project_id_path_param()
|
|
656
|
+
if region_id is None:
|
|
657
|
+
region_id = self._client._get_cloud_region_id_path_param()
|
|
658
|
+
return await self._post(
|
|
659
|
+
f"/cloud/v2/secrets/{project_id}/{region_id}",
|
|
660
|
+
body=await async_maybe_transform(
|
|
661
|
+
{
|
|
662
|
+
"name": name,
|
|
663
|
+
"payload": payload,
|
|
664
|
+
"expiration": expiration,
|
|
665
|
+
},
|
|
666
|
+
secret_upload_tls_certificate_params.SecretUploadTlsCertificateParams,
|
|
667
|
+
),
|
|
668
|
+
options=make_request_options(
|
|
669
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
670
|
+
),
|
|
671
|
+
cast_to=TaskIDList,
|
|
672
|
+
)
|
|
673
|
+
|
|
674
|
+
async def upload_tls_certificate_and_poll(
|
|
675
|
+
self,
|
|
676
|
+
*,
|
|
677
|
+
project_id: int | None = None,
|
|
678
|
+
region_id: int | None = None,
|
|
679
|
+
name: str,
|
|
680
|
+
payload: secret_upload_tls_certificate_params.Payload,
|
|
681
|
+
expiration: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
|
|
682
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
683
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
684
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
685
|
+
extra_headers: Headers | None = None,
|
|
686
|
+
extra_query: Query | None = None,
|
|
687
|
+
extra_body: Body | None = None,
|
|
688
|
+
) -> Secret:
|
|
689
|
+
response = await self.upload_tls_certificate(
|
|
690
|
+
project_id=project_id,
|
|
691
|
+
region_id=region_id,
|
|
692
|
+
name=name,
|
|
693
|
+
payload=payload,
|
|
694
|
+
expiration=expiration,
|
|
695
|
+
extra_headers=extra_headers,
|
|
696
|
+
extra_query=extra_query,
|
|
697
|
+
extra_body=extra_body,
|
|
698
|
+
)
|
|
699
|
+
if not response.tasks or len(response.tasks) != 1:
|
|
700
|
+
raise ValueError(f"Expected exactly one task to be created")
|
|
701
|
+
task = await self._client.cloud.tasks.poll(
|
|
702
|
+
task_id=response.tasks[0],
|
|
703
|
+
extra_headers=extra_headers,
|
|
704
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
705
|
+
)
|
|
706
|
+
if not task.created_resources or not task.created_resources.secrets or len(task.created_resources.secrets) != 1:
|
|
707
|
+
raise ValueError(f"Expected exactly one resource to be created in a task")
|
|
708
|
+
return await self.get(
|
|
709
|
+
secret_id=task.created_resources.secrets[0],
|
|
710
|
+
project_id=project_id,
|
|
711
|
+
region_id=region_id,
|
|
712
|
+
extra_headers=extra_headers,
|
|
713
|
+
)
|
|
714
|
+
|
|
715
|
+
|
|
716
|
+
class SecretsResourceWithRawResponse:
|
|
717
|
+
def __init__(self, secrets: SecretsResource) -> None:
|
|
718
|
+
self._secrets = secrets
|
|
719
|
+
|
|
720
|
+
self.create = to_raw_response_wrapper(
|
|
721
|
+
secrets.create,
|
|
722
|
+
)
|
|
723
|
+
self.list = to_raw_response_wrapper(
|
|
724
|
+
secrets.list,
|
|
725
|
+
)
|
|
726
|
+
self.delete = to_raw_response_wrapper(
|
|
727
|
+
secrets.delete,
|
|
728
|
+
)
|
|
729
|
+
self.get = to_raw_response_wrapper(
|
|
730
|
+
secrets.get,
|
|
731
|
+
)
|
|
732
|
+
self.upload_tls_certificate = to_raw_response_wrapper(
|
|
733
|
+
secrets.upload_tls_certificate,
|
|
734
|
+
)
|
|
735
|
+
|
|
736
|
+
|
|
737
|
+
class AsyncSecretsResourceWithRawResponse:
|
|
738
|
+
def __init__(self, secrets: AsyncSecretsResource) -> None:
|
|
739
|
+
self._secrets = secrets
|
|
740
|
+
|
|
741
|
+
self.create = async_to_raw_response_wrapper(
|
|
742
|
+
secrets.create,
|
|
743
|
+
)
|
|
744
|
+
self.list = async_to_raw_response_wrapper(
|
|
745
|
+
secrets.list,
|
|
746
|
+
)
|
|
747
|
+
self.delete = async_to_raw_response_wrapper(
|
|
748
|
+
secrets.delete,
|
|
749
|
+
)
|
|
750
|
+
self.get = async_to_raw_response_wrapper(
|
|
751
|
+
secrets.get,
|
|
752
|
+
)
|
|
753
|
+
self.upload_tls_certificate = async_to_raw_response_wrapper(
|
|
754
|
+
secrets.upload_tls_certificate,
|
|
755
|
+
)
|
|
756
|
+
|
|
757
|
+
|
|
758
|
+
class SecretsResourceWithStreamingResponse:
|
|
759
|
+
def __init__(self, secrets: SecretsResource) -> None:
|
|
760
|
+
self._secrets = secrets
|
|
761
|
+
|
|
762
|
+
self.create = to_streamed_response_wrapper(
|
|
763
|
+
secrets.create,
|
|
764
|
+
)
|
|
765
|
+
self.list = to_streamed_response_wrapper(
|
|
766
|
+
secrets.list,
|
|
767
|
+
)
|
|
768
|
+
self.delete = to_streamed_response_wrapper(
|
|
769
|
+
secrets.delete,
|
|
770
|
+
)
|
|
771
|
+
self.get = to_streamed_response_wrapper(
|
|
772
|
+
secrets.get,
|
|
773
|
+
)
|
|
774
|
+
self.upload_tls_certificate = to_streamed_response_wrapper(
|
|
775
|
+
secrets.upload_tls_certificate,
|
|
776
|
+
)
|
|
777
|
+
|
|
778
|
+
|
|
779
|
+
class AsyncSecretsResourceWithStreamingResponse:
|
|
780
|
+
def __init__(self, secrets: AsyncSecretsResource) -> None:
|
|
781
|
+
self._secrets = secrets
|
|
782
|
+
|
|
783
|
+
self.create = async_to_streamed_response_wrapper(
|
|
784
|
+
secrets.create,
|
|
785
|
+
)
|
|
786
|
+
self.list = async_to_streamed_response_wrapper(
|
|
787
|
+
secrets.list,
|
|
788
|
+
)
|
|
789
|
+
self.delete = async_to_streamed_response_wrapper(
|
|
790
|
+
secrets.delete,
|
|
791
|
+
)
|
|
792
|
+
self.get = async_to_streamed_response_wrapper(
|
|
793
|
+
secrets.get,
|
|
794
|
+
)
|
|
795
|
+
self.upload_tls_certificate = async_to_streamed_response_wrapper(
|
|
796
|
+
secrets.upload_tls_certificate,
|
|
797
|
+
)
|