gcore 0.1.0a2__py3-none-any.whl → 0.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gcore might be problematic. Click here for more details.
- gcore/__init__.py +5 -0
- gcore/_base_client.py +22 -2
- gcore/_client.py +9 -0
- gcore/_models.py +2 -0
- gcore/_types.py +2 -0
- gcore/_utils/_proxy.py +4 -1
- gcore/_utils/_resources_proxy.py +24 -0
- gcore/_version.py +1 -1
- gcore/resources/__init__.py +14 -0
- gcore/resources/cloud/baremetal/flavors.py +2 -2
- gcore/resources/cloud/baremetal/images.py +2 -2
- gcore/resources/cloud/baremetal/servers.py +280 -52
- gcore/resources/cloud/billing_reservations.py +24 -0
- gcore/resources/cloud/file_shares/file_shares.py +16 -0
- gcore/resources/cloud/floating_ips.py +4 -4
- gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +358 -8
- gcore/resources/cloud/gpu_baremetal_clusters/images.py +206 -2
- gcore/resources/cloud/gpu_baremetal_clusters/servers.py +84 -4
- gcore/resources/cloud/inference/deployments/deployments.py +328 -10
- gcore/resources/cloud/instances/flavors.py +2 -2
- gcore/resources/cloud/instances/images.py +318 -2
- gcore/resources/cloud/instances/instances.py +534 -70
- gcore/resources/cloud/instances/interfaces.py +4 -4
- gcore/resources/cloud/load_balancers/flavors.py +2 -2
- gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +302 -20
- gcore/resources/cloud/load_balancers/l7_policies/rules.py +326 -0
- gcore/resources/cloud/load_balancers/listeners.py +385 -20
- gcore/resources/cloud/load_balancers/load_balancers.py +392 -24
- gcore/resources/cloud/load_balancers/pools/health_monitors.py +24 -0
- gcore/resources/cloud/load_balancers/pools/members.py +34 -6
- gcore/resources/cloud/load_balancers/pools/pools.py +388 -8
- gcore/resources/cloud/networks/networks.py +72 -16
- gcore/resources/cloud/networks/subnets.py +6 -6
- gcore/resources/cloud/registries/registries.py +6 -10
- gcore/resources/cloud/registries/users.py +4 -10
- gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +10 -10
- gcore/resources/cloud/secrets.py +56 -11
- gcore/resources/cloud/security_groups/security_groups.py +2 -2
- gcore/resources/cloud/ssh_keys.py +2 -2
- gcore/resources/cloud/tasks.py +203 -184
- gcore/resources/cloud/users/role_assignments.py +4 -4
- gcore/resources/cloud/volumes.py +18 -18
- gcore/resources/waap/__init__.py +131 -0
- gcore/resources/waap/advanced_rules.py +135 -0
- gcore/resources/waap/clients.py +135 -0
- gcore/resources/waap/custom_page_sets.py +805 -0
- gcore/resources/waap/domains/__init__.py +173 -0
- gcore/resources/waap/domains/advanced_rules.py +876 -0
- gcore/resources/waap/domains/analytics/__init__.py +33 -0
- gcore/resources/waap/domains/analytics/analytics.py +676 -0
- gcore/resources/waap/domains/analytics/requests.py +378 -0
- gcore/resources/waap/domains/api_discovery/__init__.py +33 -0
- gcore/resources/waap/domains/api_discovery/api_discovery.py +530 -0
- gcore/resources/waap/domains/api_discovery/scan_results.py +352 -0
- gcore/resources/waap/domains/api_path_groups.py +163 -0
- gcore/resources/waap/domains/api_paths.py +771 -0
- gcore/resources/waap/domains/custom_rules.py +889 -0
- gcore/resources/waap/domains/domains.py +914 -0
- gcore/resources/waap/domains/firewall_rules.py +884 -0
- gcore/resources/waap/domains/insight_silences.py +689 -0
- gcore/resources/waap/domains/insights.py +425 -0
- gcore/resources/waap/domains/policies.py +173 -0
- gcore/resources/waap/domains/settings.py +271 -0
- gcore/resources/waap/ip_info.py +1017 -0
- gcore/resources/waap/organizations.py +217 -0
- gcore/resources/waap/statistics.py +225 -0
- gcore/resources/waap/tags.py +233 -0
- gcore/resources/waap/waap.py +391 -0
- gcore/types/cloud/__init__.py +1 -0
- gcore/types/cloud/allowed_address_pairs.py +2 -2
- gcore/types/cloud/baremetal/baremetal_server.py +1 -1
- gcore/types/cloud/baremetal/image_list_params.py +1 -1
- gcore/types/cloud/baremetal/server_create_params.py +9 -9
- gcore/types/cloud/baremetal/server_list_params.py +8 -8
- gcore/types/cloud/baremetal/server_rebuild_params.py +1 -1
- gcore/types/cloud/baremetal_flavor.py +3 -3
- gcore/types/cloud/billing_reservation_list_params.py +5 -0
- gcore/types/cloud/container_probe_config.py +1 -1
- gcore/types/cloud/container_probe_config_create_param.py +2 -3
- gcore/types/cloud/container_scale_triggers.py +2 -2
- gcore/types/cloud/file_share.py +3 -0
- gcore/types/cloud/file_share_list_params.py +7 -1
- gcore/types/cloud/floating_ip_detailed.py +1 -1
- gcore/types/cloud/floating_ip_list_params.py +2 -2
- gcore/types/cloud/gpu_baremetal_cluster.py +1 -1
- gcore/types/cloud/gpu_baremetal_cluster_create_params.py +21 -1
- gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +1 -1
- gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +1 -1
- gcore/types/cloud/gpu_baremetal_cluster_server.py +1 -1
- gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +1 -1
- gcore/types/cloud/gpu_baremetal_clusters/server_attach_interface_params.py +10 -10
- gcore/types/cloud/gpu_baremetal_flavor.py +3 -3
- gcore/types/cloud/image.py +1 -1
- gcore/types/cloud/inference/deployment_create_params.py +4 -4
- gcore/types/cloud/inference/deployment_update_params.py +206 -9
- gcore/types/cloud/inference/inference.py +5 -5
- gcore/types/cloud/instance.py +1 -1
- gcore/types/cloud/instance_create_params.py +8 -10
- gcore/types/cloud/instance_list_params.py +8 -8
- gcore/types/cloud/instances/flavor_list_suitable_params.py +4 -1
- gcore/types/cloud/instances/image_list_params.py +1 -1
- gcore/types/cloud/instances/instance_flavor.py +3 -3
- gcore/types/cloud/instances/interface_attach_params.py +10 -10
- gcore/types/cloud/load_balancer_create_params.py +17 -15
- gcore/types/cloud/load_balancer_flavor_detail.py +3 -3
- gcore/types/cloud/load_balancer_l7_policy.py +5 -5
- gcore/types/cloud/load_balancer_list_params.py +5 -5
- gcore/types/cloud/load_balancer_listener_detail.py +17 -17
- gcore/types/cloud/load_balancer_pool.py +13 -13
- gcore/types/cloud/load_balancer_pool_list.py +99 -4
- gcore/types/cloud/load_balancers/l7_policy_create_params.py +5 -5
- gcore/types/cloud/load_balancers/l7_policy_replace_params.py +5 -5
- gcore/types/cloud/load_balancers/listener_create_params.py +6 -4
- gcore/types/cloud/load_balancers/listener_get_params.py +3 -1
- gcore/types/cloud/load_balancers/listener_list_params.py +4 -2
- gcore/types/cloud/load_balancers/listener_update_params.py +5 -3
- gcore/types/cloud/load_balancers/pool_create_params.py +6 -4
- gcore/types/cloud/load_balancers/pool_list_params.py +5 -6
- gcore/types/cloud/load_balancers/pool_update_params.py +6 -4
- gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +2 -0
- gcore/types/cloud/load_balancers/pools/member_add_params.py +5 -3
- gcore/types/cloud/member.py +2 -2
- gcore/types/cloud/network.py +22 -22
- gcore/types/cloud/network_create_params.py +2 -0
- gcore/types/cloud/network_details.py +25 -24
- gcore/types/cloud/network_list_params.py +15 -10
- gcore/types/cloud/network_update_params.py +2 -0
- gcore/types/cloud/networks/subnet_create_params.py +1 -1
- gcore/types/cloud/networks/subnet_list_params.py +2 -2
- gcore/types/cloud/quota_get_all_response.py +18 -0
- gcore/types/cloud/quota_get_by_region_response.py +18 -0
- gcore/types/cloud/quotas/request_create_params.py +9 -0
- gcore/types/cloud/quotas/request_get_response.py +9 -0
- gcore/types/cloud/quotas/request_list_response.py +9 -0
- gcore/types/cloud/region.py +4 -4
- gcore/types/cloud/registries/user_create_multiple_params.py +3 -5
- gcore/types/cloud/registries/user_create_params.py +3 -5
- gcore/types/cloud/registry_create_params.py +3 -5
- gcore/types/cloud/reserved_fixed_ip_create_params.py +2 -2
- gcore/types/cloud/reserved_fixed_ip_list_params.py +3 -3
- gcore/types/cloud/secret_list_params.py +24 -0
- gcore/types/cloud/security_group_list_params.py +1 -1
- gcore/types/cloud/session_persistence.py +1 -1
- gcore/types/cloud/ssh_key_created.py +3 -6
- gcore/types/cloud/task.py +1 -4
- gcore/types/cloud/task_list_params.py +56 -46
- gcore/types/cloud/users/role_assignment_create_params.py +1 -1
- gcore/types/cloud/users/role_assignment_update_params.py +1 -1
- gcore/types/cloud/volume_create_params.py +6 -6
- gcore/types/cloud/volume_list_params.py +3 -3
- gcore/types/waap/__init__.py +108 -0
- gcore/types/waap/client_me_response.py +34 -0
- gcore/types/waap/custom_page_set_create_params.py +35 -0
- gcore/types/waap/custom_page_set_list_params.py +25 -0
- gcore/types/waap/custom_page_set_preview_params.py +34 -0
- gcore/types/waap/custom_page_set_update_params.py +35 -0
- gcore/types/waap/domain_list_params.py +30 -0
- gcore/types/waap/domain_list_rule_sets_response.py +10 -0
- gcore/types/waap/domain_update_params.py +12 -0
- gcore/types/waap/domains/__init__.py +47 -0
- gcore/types/waap/domains/advanced_rule_create_params.py +80 -0
- gcore/types/waap/domains/advanced_rule_list_params.py +58 -0
- gcore/types/waap/domains/advanced_rule_update_params.py +83 -0
- gcore/types/waap/domains/analytics/__init__.py +5 -0
- gcore/types/waap/domains/analytics/request_list_params.py +53 -0
- gcore/types/waap/domains/analytics_get_event_statistics_params.py +34 -0
- gcore/types/waap/domains/analytics_list_ddos_attacks_params.py +28 -0
- gcore/types/waap/domains/analytics_list_ddos_info_params.py +31 -0
- gcore/types/waap/domains/analytics_list_event_traffic_params.py +26 -0
- gcore/types/waap/domains/analytics_list_event_traffic_response.py +10 -0
- gcore/types/waap/domains/api_discovery/__init__.py +7 -0
- gcore/types/waap/domains/api_discovery/scan_result_get_response.py +29 -0
- gcore/types/waap/domains/api_discovery/scan_result_list_params.py +41 -0
- gcore/types/waap/domains/api_discovery/scan_result_list_response.py +29 -0
- gcore/types/waap/domains/api_discovery_get_settings_response.py +36 -0
- gcore/types/waap/domains/api_discovery_scan_openapi_response.py +10 -0
- gcore/types/waap/domains/api_discovery_update_settings_params.py +34 -0
- gcore/types/waap/domains/api_discovery_update_settings_response.py +36 -0
- gcore/types/waap/domains/api_discovery_upload_openapi_params.py +19 -0
- gcore/types/waap/domains/api_discovery_upload_openapi_response.py +10 -0
- gcore/types/waap/domains/api_path_create_params.py +31 -0
- gcore/types/waap/domains/api_path_create_response.py +50 -0
- gcore/types/waap/domains/api_path_get_response.py +50 -0
- gcore/types/waap/domains/api_path_group_list_response.py +12 -0
- gcore/types/waap/domains/api_path_list_params.py +62 -0
- gcore/types/waap/domains/api_path_list_response.py +50 -0
- gcore/types/waap/domains/api_path_update_params.py +29 -0
- gcore/types/waap/domains/custom_rule_create_params.py +368 -0
- gcore/types/waap/domains/custom_rule_delete_multiple_params.py +13 -0
- gcore/types/waap/domains/custom_rule_list_params.py +35 -0
- gcore/types/waap/domains/custom_rule_update_params.py +371 -0
- gcore/types/waap/domains/firewall_rule_create_params.py +75 -0
- gcore/types/waap/domains/firewall_rule_delete_multiple_params.py +13 -0
- gcore/types/waap/domains/firewall_rule_list_params.py +33 -0
- gcore/types/waap/domains/firewall_rule_update_params.py +78 -0
- gcore/types/waap/domains/insight_list_params.py +34 -0
- gcore/types/waap/domains/insight_replace_params.py +17 -0
- gcore/types/waap/domains/insight_silence_create_params.py +28 -0
- gcore/types/waap/domains/insight_silence_list_params.py +33 -0
- gcore/types/waap/domains/insight_silence_update_params.py +28 -0
- gcore/types/waap/domains/setting_update_params.py +48 -0
- gcore/types/waap/ip_info_get_attack_time_series_params.py +12 -0
- gcore/types/waap/ip_info_get_attack_time_series_response.py +10 -0
- gcore/types/waap/ip_info_get_blocked_requests_params.py +15 -0
- gcore/types/waap/ip_info_get_blocked_requests_response.py +10 -0
- gcore/types/waap/ip_info_get_counts_params.py +19 -0
- gcore/types/waap/ip_info_get_ddos_attack_series_params.py +12 -0
- gcore/types/waap/ip_info_get_params.py +12 -0
- gcore/types/waap/ip_info_get_top_sessions_params.py +15 -0
- gcore/types/waap/ip_info_get_top_sessions_response.py +10 -0
- gcore/types/waap/ip_info_get_top_urls_params.py +15 -0
- gcore/types/waap/ip_info_get_top_urls_response.py +10 -0
- gcore/types/waap/ip_info_get_top_user_agents_params.py +15 -0
- gcore/types/waap/ip_info_get_top_user_agents_response.py +10 -0
- gcore/types/waap/ip_info_list_attacked_countries_params.py +12 -0
- gcore/types/waap/ip_info_list_attacked_countries_response.py +10 -0
- gcore/types/waap/organization_list_params.py +22 -0
- gcore/types/waap/statistic_get_usage_series_params.py +25 -0
- gcore/types/waap/tag_list_params.py +28 -0
- gcore/types/waap/waap_advanced_rule.py +83 -0
- gcore/types/waap/waap_advanced_rule_descriptor.py +49 -0
- gcore/types/waap/waap_advanced_rule_descriptor_list.py +15 -0
- gcore/types/waap/waap_block_csrf_page_data.py +28 -0
- gcore/types/waap/waap_block_csrf_page_data_param.py +28 -0
- gcore/types/waap/waap_block_page_data.py +28 -0
- gcore/types/waap/waap_block_page_data_param.py +28 -0
- gcore/types/waap/waap_blocked_statistics.py +36 -0
- gcore/types/waap/waap_captcha_page_data.py +31 -0
- gcore/types/waap/waap_captcha_page_data_param.py +31 -0
- gcore/types/waap/waap_common_tag.py +16 -0
- gcore/types/waap/waap_cookie_disabled_page_data.py +18 -0
- gcore/types/waap/waap_cookie_disabled_page_data_param.py +18 -0
- gcore/types/waap/waap_count_statistics.py +36 -0
- gcore/types/waap/waap_custom_page_preview.py +10 -0
- gcore/types/waap/waap_custom_page_set.py +36 -0
- gcore/types/waap/waap_custom_rule.py +373 -0
- gcore/types/waap/waap_customer_rule_state.py +7 -0
- gcore/types/waap/waap_ddos_attack.py +16 -0
- gcore/types/waap/waap_ddos_info.py +17 -0
- gcore/types/waap/waap_detailed_domain.py +37 -0
- gcore/types/waap/waap_domain_api_settings.py +22 -0
- gcore/types/waap/waap_domain_ddos_settings.py +31 -0
- gcore/types/waap/waap_domain_policy.py +29 -0
- gcore/types/waap/waap_domain_settings_model.py +15 -0
- gcore/types/waap/waap_domain_status.py +7 -0
- gcore/types/waap/waap_event_statistics.py +15 -0
- gcore/types/waap/waap_firewall_rule.py +78 -0
- gcore/types/waap/waap_get_account_overview_response.py +34 -0
- gcore/types/waap/waap_handshake_page_data.py +25 -0
- gcore/types/waap/waap_handshake_page_data_param.py +25 -0
- gcore/types/waap/waap_insight.py +38 -0
- gcore/types/waap/waap_insight_silence.py +28 -0
- gcore/types/waap/waap_insight_silence_sort_by.py +9 -0
- gcore/types/waap/waap_insight_sort_by.py +20 -0
- gcore/types/waap/waap_insight_status.py +7 -0
- gcore/types/waap/waap_ip_country_attack.py +16 -0
- gcore/types/waap/waap_ip_ddos_info_model.py +23 -0
- gcore/types/waap/waap_ip_info.py +57 -0
- gcore/types/waap/waap_ip_info_counts.py +16 -0
- gcore/types/waap/waap_javascript_disabled_page_data.py +18 -0
- gcore/types/waap/waap_javascript_disabled_page_data_param.py +18 -0
- gcore/types/waap/waap_network_details.py +17 -0
- gcore/types/waap/waap_organization.py +13 -0
- gcore/types/waap/waap_page_type.py +9 -0
- gcore/types/waap/waap_paginated_custom_page_set.py +22 -0
- gcore/types/waap/waap_paginated_ddos_attack.py +22 -0
- gcore/types/waap/waap_paginated_ddos_info.py +22 -0
- gcore/types/waap/waap_paginated_request_summary.py +22 -0
- gcore/types/waap/waap_pattern_matched_tag.py +37 -0
- gcore/types/waap/waap_policy_action.py +7 -0
- gcore/types/waap/waap_policy_mode.py +10 -0
- gcore/types/waap/waap_request_details.py +92 -0
- gcore/types/waap/waap_request_organization.py +13 -0
- gcore/types/waap/waap_request_summary.py +59 -0
- gcore/types/waap/waap_resolution.py +7 -0
- gcore/types/waap/waap_rule_action_type.py +7 -0
- gcore/types/waap/waap_rule_blocked_requests.py +16 -0
- gcore/types/waap/waap_rule_set.py +41 -0
- gcore/types/waap/waap_statistic_item.py +18 -0
- gcore/types/waap/waap_statistics_series.py +16 -0
- gcore/types/waap/waap_summary_domain.py +26 -0
- gcore/types/waap/waap_tag.py +16 -0
- gcore/types/waap/waap_time_series_attack.py +23 -0
- gcore/types/waap/waap_top_session.py +24 -0
- gcore/types/waap/waap_top_url.py +13 -0
- gcore/types/waap/waap_top_user_agent.py +13 -0
- gcore/types/waap/waap_traffic_metrics.py +68 -0
- gcore/types/waap/waap_traffic_type.py +28 -0
- gcore/types/waap/waap_user_agent_details.py +40 -0
- {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/METADATA +3 -3
- {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/RECORD +293 -126
- {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/WHEEL +0 -0
- {gcore-0.1.0a2.dist-info → gcore-0.3.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -104,7 +104,7 @@ class DeploymentsResource(SyncAPIResource):
|
|
|
104
104
|
name: Inference instance name.
|
|
105
105
|
|
|
106
106
|
auth_enabled: Set to `true` to enable API key authentication for the inference instance.
|
|
107
|
-
`"Authorization": "Bearer
|
|
107
|
+
`"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required
|
|
108
108
|
for the requests to the instance if enabled
|
|
109
109
|
|
|
110
110
|
command: Command to be executed when running a container from an image.
|
|
@@ -120,7 +120,7 @@ class DeploymentsResource(SyncAPIResource):
|
|
|
120
120
|
logging: Logging configuration for the inference instance
|
|
121
121
|
|
|
122
122
|
probes: Probes configured for all containers of the inference instance. If probes are
|
|
123
|
-
not provided, and the image_name is from a the Model Catalog registry, the
|
|
123
|
+
not provided, and the `image_name` is from a the Model Catalog registry, the
|
|
124
124
|
default probes will be used.
|
|
125
125
|
|
|
126
126
|
api_timeout: Specifies the duration in seconds without any requests after which the
|
|
@@ -171,13 +171,13 @@ class DeploymentsResource(SyncAPIResource):
|
|
|
171
171
|
deployment_name: str,
|
|
172
172
|
*,
|
|
173
173
|
project_id: int | None = None,
|
|
174
|
-
auth_enabled:
|
|
174
|
+
auth_enabled: bool | NotGiven = NOT_GIVEN,
|
|
175
175
|
command: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
176
176
|
containers: Optional[Iterable[deployment_update_params.Container]] | NotGiven = NOT_GIVEN,
|
|
177
177
|
credentials_name: Optional[str] | NotGiven = NOT_GIVEN,
|
|
178
178
|
description: Optional[str] | NotGiven = NOT_GIVEN,
|
|
179
179
|
envs: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
180
|
-
flavor_name:
|
|
180
|
+
flavor_name: str | NotGiven = NOT_GIVEN,
|
|
181
181
|
image: Optional[str] | NotGiven = NOT_GIVEN,
|
|
182
182
|
ingress_opts: Optional[IngressOptsParam] | NotGiven = NOT_GIVEN,
|
|
183
183
|
listening_port: Optional[int] | NotGiven = NOT_GIVEN,
|
|
@@ -200,7 +200,7 @@ class DeploymentsResource(SyncAPIResource):
|
|
|
200
200
|
deployment_name: Inference instance name.
|
|
201
201
|
|
|
202
202
|
auth_enabled: Set to `true` to enable API key authentication for the inference instance.
|
|
203
|
-
`"Authorization": "Bearer
|
|
203
|
+
`"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required
|
|
204
204
|
for the requests to the instance if enabled
|
|
205
205
|
|
|
206
206
|
command: Command to be executed when running a container from an image.
|
|
@@ -542,6 +542,165 @@ class DeploymentsResource(SyncAPIResource):
|
|
|
542
542
|
cast_to=NoneType,
|
|
543
543
|
)
|
|
544
544
|
|
|
545
|
+
def create_and_poll(
|
|
546
|
+
self,
|
|
547
|
+
*,
|
|
548
|
+
project_id: int | None = None,
|
|
549
|
+
containers: Iterable[deployment_create_params.Container],
|
|
550
|
+
flavor_name: str,
|
|
551
|
+
image: str,
|
|
552
|
+
listening_port: int,
|
|
553
|
+
name: str,
|
|
554
|
+
auth_enabled: bool | NotGiven = NOT_GIVEN,
|
|
555
|
+
command: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
556
|
+
credentials_name: Optional[str] | NotGiven = NOT_GIVEN,
|
|
557
|
+
description: Optional[str] | NotGiven = NOT_GIVEN,
|
|
558
|
+
envs: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
559
|
+
ingress_opts: Optional[IngressOptsParam] | NotGiven = NOT_GIVEN,
|
|
560
|
+
logging: Optional[deployment_create_params.Logging] | NotGiven = NOT_GIVEN,
|
|
561
|
+
probes: Optional[deployment_create_params.Probes] | NotGiven = NOT_GIVEN,
|
|
562
|
+
api_timeout: Optional[int] | NotGiven = NOT_GIVEN,
|
|
563
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
564
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
565
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
566
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
567
|
+
extra_headers: Headers | None = None,
|
|
568
|
+
extra_query: Query | None = None,
|
|
569
|
+
extra_body: Body | None = None,
|
|
570
|
+
) -> Inference:
|
|
571
|
+
response = self.create(
|
|
572
|
+
project_id=project_id,
|
|
573
|
+
containers=containers,
|
|
574
|
+
flavor_name=flavor_name,
|
|
575
|
+
image=image,
|
|
576
|
+
listening_port=listening_port,
|
|
577
|
+
name=name,
|
|
578
|
+
auth_enabled=auth_enabled,
|
|
579
|
+
command=command,
|
|
580
|
+
credentials_name=credentials_name,
|
|
581
|
+
description=description,
|
|
582
|
+
envs=envs,
|
|
583
|
+
ingress_opts=ingress_opts,
|
|
584
|
+
logging=logging,
|
|
585
|
+
probes=probes,
|
|
586
|
+
api_timeout=api_timeout,
|
|
587
|
+
extra_headers=extra_headers,
|
|
588
|
+
extra_query=extra_query,
|
|
589
|
+
extra_body=extra_body,
|
|
590
|
+
timeout=timeout,
|
|
591
|
+
)
|
|
592
|
+
if not response.tasks or len(response.tasks) != 1:
|
|
593
|
+
raise ValueError(f"Expected exactly one task to be created")
|
|
594
|
+
task = self._client.cloud.tasks.poll(
|
|
595
|
+
task_id=response.tasks[0],
|
|
596
|
+
extra_headers=extra_headers,
|
|
597
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
598
|
+
)
|
|
599
|
+
if not task.created_resources or not task.created_resources.inference_instances or len(task.created_resources.inference_instances) != 1:
|
|
600
|
+
raise ValueError(f"Expected exactly one resource to be created in a task")
|
|
601
|
+
return self.get(
|
|
602
|
+
deployment_name=task.created_resources.inference_instances[0],
|
|
603
|
+
project_id=project_id,
|
|
604
|
+
extra_headers=extra_headers,
|
|
605
|
+
timeout=timeout,
|
|
606
|
+
)
|
|
607
|
+
|
|
608
|
+
def update_and_poll(
|
|
609
|
+
self,
|
|
610
|
+
deployment_name: str,
|
|
611
|
+
*,
|
|
612
|
+
project_id: int | None = None,
|
|
613
|
+
auth_enabled: bool | NotGiven = NOT_GIVEN,
|
|
614
|
+
command: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
615
|
+
containers: Optional[Iterable[deployment_update_params.Container]] | NotGiven = NOT_GIVEN,
|
|
616
|
+
credentials_name: Optional[str] | NotGiven = NOT_GIVEN,
|
|
617
|
+
description: Optional[str] | NotGiven = NOT_GIVEN,
|
|
618
|
+
envs: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
619
|
+
flavor_name: str | NotGiven = NOT_GIVEN,
|
|
620
|
+
image: Optional[str] | NotGiven = NOT_GIVEN,
|
|
621
|
+
ingress_opts: Optional[IngressOptsParam] | NotGiven = NOT_GIVEN,
|
|
622
|
+
listening_port: Optional[int] | NotGiven = NOT_GIVEN,
|
|
623
|
+
logging: Optional[deployment_update_params.Logging] | NotGiven = NOT_GIVEN,
|
|
624
|
+
probes: Optional[deployment_update_params.Probes] | NotGiven = NOT_GIVEN,
|
|
625
|
+
api_timeout: Optional[int] | NotGiven = NOT_GIVEN,
|
|
626
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
627
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
628
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
629
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
630
|
+
extra_headers: Headers | None = None,
|
|
631
|
+
extra_query: Query | None = None,
|
|
632
|
+
extra_body: Body | None = None,
|
|
633
|
+
) -> Inference:
|
|
634
|
+
"""
|
|
635
|
+
Update inference deployment and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
|
|
636
|
+
"""
|
|
637
|
+
response = self.update(
|
|
638
|
+
deployment_name=deployment_name,
|
|
639
|
+
project_id=project_id,
|
|
640
|
+
auth_enabled=auth_enabled,
|
|
641
|
+
command=command,
|
|
642
|
+
containers=containers,
|
|
643
|
+
credentials_name=credentials_name,
|
|
644
|
+
description=description,
|
|
645
|
+
envs=envs,
|
|
646
|
+
flavor_name=flavor_name,
|
|
647
|
+
image=image,
|
|
648
|
+
ingress_opts=ingress_opts,
|
|
649
|
+
listening_port=listening_port,
|
|
650
|
+
logging=logging,
|
|
651
|
+
probes=probes,
|
|
652
|
+
api_timeout=api_timeout,
|
|
653
|
+
extra_headers=extra_headers,
|
|
654
|
+
extra_query=extra_query,
|
|
655
|
+
extra_body=extra_body,
|
|
656
|
+
timeout=timeout,
|
|
657
|
+
)
|
|
658
|
+
if not response.tasks or len(response.tasks) < 1:
|
|
659
|
+
raise ValueError("Expected at least one task to be created")
|
|
660
|
+
self._client.cloud.tasks.poll(
|
|
661
|
+
task_id=response.tasks[0],
|
|
662
|
+
extra_headers=extra_headers,
|
|
663
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
664
|
+
)
|
|
665
|
+
return self.get(
|
|
666
|
+
deployment_name=deployment_name,
|
|
667
|
+
project_id=project_id,
|
|
668
|
+
extra_headers=extra_headers,
|
|
669
|
+
timeout=timeout,
|
|
670
|
+
)
|
|
671
|
+
|
|
672
|
+
def delete_and_poll(
|
|
673
|
+
self,
|
|
674
|
+
deployment_name: str,
|
|
675
|
+
*,
|
|
676
|
+
project_id: int | None = None,
|
|
677
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
678
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
679
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
680
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
681
|
+
extra_headers: Headers | None = None,
|
|
682
|
+
extra_query: Query | None = None,
|
|
683
|
+
extra_body: Body | None = None,
|
|
684
|
+
) -> None:
|
|
685
|
+
"""
|
|
686
|
+
Delete inference deployment and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
|
|
687
|
+
"""
|
|
688
|
+
response = self.delete(
|
|
689
|
+
deployment_name=deployment_name,
|
|
690
|
+
project_id=project_id,
|
|
691
|
+
extra_headers=extra_headers,
|
|
692
|
+
extra_query=extra_query,
|
|
693
|
+
extra_body=extra_body,
|
|
694
|
+
timeout=timeout,
|
|
695
|
+
)
|
|
696
|
+
if not response.tasks or len(response.tasks) < 1:
|
|
697
|
+
raise ValueError("Expected at least one task to be created")
|
|
698
|
+
self._client.cloud.tasks.poll(
|
|
699
|
+
task_id=response.tasks[0],
|
|
700
|
+
extra_headers=extra_headers,
|
|
701
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
702
|
+
)
|
|
703
|
+
|
|
545
704
|
|
|
546
705
|
class AsyncDeploymentsResource(AsyncAPIResource):
|
|
547
706
|
@cached_property
|
|
@@ -612,7 +771,7 @@ class AsyncDeploymentsResource(AsyncAPIResource):
|
|
|
612
771
|
name: Inference instance name.
|
|
613
772
|
|
|
614
773
|
auth_enabled: Set to `true` to enable API key authentication for the inference instance.
|
|
615
|
-
`"Authorization": "Bearer
|
|
774
|
+
`"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required
|
|
616
775
|
for the requests to the instance if enabled
|
|
617
776
|
|
|
618
777
|
command: Command to be executed when running a container from an image.
|
|
@@ -628,7 +787,7 @@ class AsyncDeploymentsResource(AsyncAPIResource):
|
|
|
628
787
|
logging: Logging configuration for the inference instance
|
|
629
788
|
|
|
630
789
|
probes: Probes configured for all containers of the inference instance. If probes are
|
|
631
|
-
not provided, and the image_name is from a the Model Catalog registry, the
|
|
790
|
+
not provided, and the `image_name` is from a the Model Catalog registry, the
|
|
632
791
|
default probes will be used.
|
|
633
792
|
|
|
634
793
|
api_timeout: Specifies the duration in seconds without any requests after which the
|
|
@@ -679,13 +838,13 @@ class AsyncDeploymentsResource(AsyncAPIResource):
|
|
|
679
838
|
deployment_name: str,
|
|
680
839
|
*,
|
|
681
840
|
project_id: int | None = None,
|
|
682
|
-
auth_enabled:
|
|
841
|
+
auth_enabled: bool | NotGiven = NOT_GIVEN,
|
|
683
842
|
command: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
684
843
|
containers: Optional[Iterable[deployment_update_params.Container]] | NotGiven = NOT_GIVEN,
|
|
685
844
|
credentials_name: Optional[str] | NotGiven = NOT_GIVEN,
|
|
686
845
|
description: Optional[str] | NotGiven = NOT_GIVEN,
|
|
687
846
|
envs: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
688
|
-
flavor_name:
|
|
847
|
+
flavor_name: str | NotGiven = NOT_GIVEN,
|
|
689
848
|
image: Optional[str] | NotGiven = NOT_GIVEN,
|
|
690
849
|
ingress_opts: Optional[IngressOptsParam] | NotGiven = NOT_GIVEN,
|
|
691
850
|
listening_port: Optional[int] | NotGiven = NOT_GIVEN,
|
|
@@ -708,7 +867,7 @@ class AsyncDeploymentsResource(AsyncAPIResource):
|
|
|
708
867
|
deployment_name: Inference instance name.
|
|
709
868
|
|
|
710
869
|
auth_enabled: Set to `true` to enable API key authentication for the inference instance.
|
|
711
|
-
`"Authorization": "Bearer
|
|
870
|
+
`"Authorization": "Bearer ****\\**"` or `"X-Api-Key": "****\\**"` header is required
|
|
712
871
|
for the requests to the instance if enabled
|
|
713
872
|
|
|
714
873
|
command: Command to be executed when running a container from an image.
|
|
@@ -1050,6 +1209,165 @@ class AsyncDeploymentsResource(AsyncAPIResource):
|
|
|
1050
1209
|
cast_to=NoneType,
|
|
1051
1210
|
)
|
|
1052
1211
|
|
|
1212
|
+
async def create_and_poll(
|
|
1213
|
+
self,
|
|
1214
|
+
*,
|
|
1215
|
+
project_id: int | None = None,
|
|
1216
|
+
containers: Iterable[deployment_create_params.Container],
|
|
1217
|
+
flavor_name: str,
|
|
1218
|
+
image: str,
|
|
1219
|
+
listening_port: int,
|
|
1220
|
+
name: str,
|
|
1221
|
+
auth_enabled: bool | NotGiven = NOT_GIVEN,
|
|
1222
|
+
command: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
1223
|
+
credentials_name: Optional[str] | NotGiven = NOT_GIVEN,
|
|
1224
|
+
description: Optional[str] | NotGiven = NOT_GIVEN,
|
|
1225
|
+
envs: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
1226
|
+
ingress_opts: Optional[IngressOptsParam] | NotGiven = NOT_GIVEN,
|
|
1227
|
+
logging: Optional[deployment_create_params.Logging] | NotGiven = NOT_GIVEN,
|
|
1228
|
+
probes: Optional[deployment_create_params.Probes] | NotGiven = NOT_GIVEN,
|
|
1229
|
+
api_timeout: Optional[int] | NotGiven = NOT_GIVEN,
|
|
1230
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
1231
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1232
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1233
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1234
|
+
extra_headers: Headers | None = None,
|
|
1235
|
+
extra_query: Query | None = None,
|
|
1236
|
+
extra_body: Body | None = None,
|
|
1237
|
+
) -> Inference:
|
|
1238
|
+
response = await self.create(
|
|
1239
|
+
project_id=project_id,
|
|
1240
|
+
containers=containers,
|
|
1241
|
+
flavor_name=flavor_name,
|
|
1242
|
+
image=image,
|
|
1243
|
+
listening_port=listening_port,
|
|
1244
|
+
name=name,
|
|
1245
|
+
auth_enabled=auth_enabled,
|
|
1246
|
+
command=command,
|
|
1247
|
+
credentials_name=credentials_name,
|
|
1248
|
+
description=description,
|
|
1249
|
+
envs=envs,
|
|
1250
|
+
ingress_opts=ingress_opts,
|
|
1251
|
+
logging=logging,
|
|
1252
|
+
probes=probes,
|
|
1253
|
+
api_timeout=api_timeout,
|
|
1254
|
+
extra_headers=extra_headers,
|
|
1255
|
+
extra_query=extra_query,
|
|
1256
|
+
extra_body=extra_body,
|
|
1257
|
+
timeout=timeout,
|
|
1258
|
+
)
|
|
1259
|
+
if not response.tasks or len(response.tasks) != 1:
|
|
1260
|
+
raise ValueError(f"Expected exactly one task to be created")
|
|
1261
|
+
task = await self._client.cloud.tasks.poll(
|
|
1262
|
+
task_id=response.tasks[0],
|
|
1263
|
+
extra_headers=extra_headers,
|
|
1264
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
1265
|
+
)
|
|
1266
|
+
if not task.created_resources or not task.created_resources.inference_instances or len(task.created_resources.inference_instances) != 1:
|
|
1267
|
+
raise ValueError(f"Expected exactly one resource to be created in a task")
|
|
1268
|
+
return await self.get(
|
|
1269
|
+
deployment_name=task.created_resources.inference_instances[0],
|
|
1270
|
+
project_id=project_id,
|
|
1271
|
+
extra_headers=extra_headers,
|
|
1272
|
+
timeout=timeout,
|
|
1273
|
+
)
|
|
1274
|
+
|
|
1275
|
+
async def update_and_poll(
|
|
1276
|
+
self,
|
|
1277
|
+
deployment_name: str,
|
|
1278
|
+
*,
|
|
1279
|
+
project_id: int | None = None,
|
|
1280
|
+
auth_enabled: bool | NotGiven = NOT_GIVEN,
|
|
1281
|
+
command: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
1282
|
+
containers: Optional[Iterable[deployment_update_params.Container]] | NotGiven = NOT_GIVEN,
|
|
1283
|
+
credentials_name: Optional[str] | NotGiven = NOT_GIVEN,
|
|
1284
|
+
description: Optional[str] | NotGiven = NOT_GIVEN,
|
|
1285
|
+
envs: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
1286
|
+
flavor_name: str | NotGiven = NOT_GIVEN,
|
|
1287
|
+
image: Optional[str] | NotGiven = NOT_GIVEN,
|
|
1288
|
+
ingress_opts: Optional[IngressOptsParam] | NotGiven = NOT_GIVEN,
|
|
1289
|
+
listening_port: Optional[int] | NotGiven = NOT_GIVEN,
|
|
1290
|
+
logging: Optional[deployment_update_params.Logging] | NotGiven = NOT_GIVEN,
|
|
1291
|
+
probes: Optional[deployment_update_params.Probes] | NotGiven = NOT_GIVEN,
|
|
1292
|
+
api_timeout: Optional[int] | NotGiven = NOT_GIVEN,
|
|
1293
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
1294
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1295
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1296
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1297
|
+
extra_headers: Headers | None = None,
|
|
1298
|
+
extra_query: Query | None = None,
|
|
1299
|
+
extra_body: Body | None = None,
|
|
1300
|
+
) -> Inference:
|
|
1301
|
+
"""
|
|
1302
|
+
Update inference deployment and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
|
|
1303
|
+
"""
|
|
1304
|
+
response = await self.update(
|
|
1305
|
+
deployment_name=deployment_name,
|
|
1306
|
+
project_id=project_id,
|
|
1307
|
+
auth_enabled=auth_enabled,
|
|
1308
|
+
command=command,
|
|
1309
|
+
containers=containers,
|
|
1310
|
+
credentials_name=credentials_name,
|
|
1311
|
+
description=description,
|
|
1312
|
+
envs=envs,
|
|
1313
|
+
flavor_name=flavor_name,
|
|
1314
|
+
image=image,
|
|
1315
|
+
ingress_opts=ingress_opts,
|
|
1316
|
+
listening_port=listening_port,
|
|
1317
|
+
logging=logging,
|
|
1318
|
+
probes=probes,
|
|
1319
|
+
api_timeout=api_timeout,
|
|
1320
|
+
extra_headers=extra_headers,
|
|
1321
|
+
extra_query=extra_query,
|
|
1322
|
+
extra_body=extra_body,
|
|
1323
|
+
timeout=timeout,
|
|
1324
|
+
)
|
|
1325
|
+
if not response.tasks or len(response.tasks) < 1:
|
|
1326
|
+
raise ValueError("Expected at least one task to be created")
|
|
1327
|
+
await self._client.cloud.tasks.poll(
|
|
1328
|
+
task_id=response.tasks[0],
|
|
1329
|
+
extra_headers=extra_headers,
|
|
1330
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
1331
|
+
)
|
|
1332
|
+
return await self.get(
|
|
1333
|
+
deployment_name=deployment_name,
|
|
1334
|
+
project_id=project_id,
|
|
1335
|
+
extra_headers=extra_headers,
|
|
1336
|
+
timeout=timeout,
|
|
1337
|
+
)
|
|
1338
|
+
|
|
1339
|
+
async def delete_and_poll(
|
|
1340
|
+
self,
|
|
1341
|
+
deployment_name: str,
|
|
1342
|
+
*,
|
|
1343
|
+
project_id: int | None = None,
|
|
1344
|
+
polling_interval_seconds: int | NotGiven = NOT_GIVEN,
|
|
1345
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1346
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1347
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1348
|
+
extra_headers: Headers | None = None,
|
|
1349
|
+
extra_query: Query | None = None,
|
|
1350
|
+
extra_body: Body | None = None,
|
|
1351
|
+
) -> None:
|
|
1352
|
+
"""
|
|
1353
|
+
Delete inference deployment and poll for the result. Only the first task will be polled. If you need to poll more tasks, use the `tasks.poll` method.
|
|
1354
|
+
"""
|
|
1355
|
+
response = await self.delete(
|
|
1356
|
+
deployment_name=deployment_name,
|
|
1357
|
+
project_id=project_id,
|
|
1358
|
+
extra_headers=extra_headers,
|
|
1359
|
+
extra_query=extra_query,
|
|
1360
|
+
extra_body=extra_body,
|
|
1361
|
+
timeout=timeout,
|
|
1362
|
+
)
|
|
1363
|
+
if not response.tasks or len(response.tasks) < 1:
|
|
1364
|
+
raise ValueError("Expected at least one task to be created")
|
|
1365
|
+
await self._client.cloud.tasks.poll(
|
|
1366
|
+
task_id=response.tasks[0],
|
|
1367
|
+
extra_headers=extra_headers,
|
|
1368
|
+
polling_interval_seconds=polling_interval_seconds,
|
|
1369
|
+
)
|
|
1370
|
+
|
|
1053
1371
|
|
|
1054
1372
|
class DeploymentsResourceWithRawResponse:
|
|
1055
1373
|
def __init__(self, deployments: DeploymentsResource) -> None:
|
|
@@ -61,7 +61,7 @@ class FlavorsResource(SyncAPIResource):
|
|
|
61
61
|
) -> InstanceFlavorList:
|
|
62
62
|
"""Retrieve a list of flavors.
|
|
63
63
|
|
|
64
|
-
When the include_prices query parameter is
|
|
64
|
+
When the `include_prices` query parameter is
|
|
65
65
|
specified, the list shows prices. A client in trial mode gets all price values
|
|
66
66
|
as 0. If you get Pricing Error contact the support
|
|
67
67
|
|
|
@@ -243,7 +243,7 @@ class AsyncFlavorsResource(AsyncAPIResource):
|
|
|
243
243
|
) -> InstanceFlavorList:
|
|
244
244
|
"""Retrieve a list of flavors.
|
|
245
245
|
|
|
246
|
-
When the include_prices query parameter is
|
|
246
|
+
When the `include_prices` query parameter is
|
|
247
247
|
specified, the list shows prices. A client in trial mode gets all price values
|
|
248
248
|
as 0. If you get Pricing Error contact the support
|
|
249
249
|
|