gcore 0.2.0__py3-none-any.whl → 0.4.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 +2 -1
- gcore/_base_client.py +44 -2
- gcore/_client.py +9 -0
- gcore/_models.py +2 -0
- gcore/_types.py +2 -0
- gcore/_version.py +1 -1
- gcore/pagination.py +61 -1
- gcore/resources/__init__.py +14 -0
- gcore/resources/cloud/baremetal/flavors.py +11 -137
- gcore/resources/cloud/baremetal/images.py +10 -12
- gcore/resources/cloud/baremetal/servers.py +75 -78
- gcore/resources/cloud/billing_reservations.py +2 -2
- gcore/resources/cloud/file_shares/file_shares.py +7 -8
- gcore/resources/cloud/floating_ips.py +9 -14
- gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +39 -28
- gcore/resources/cloud/gpu_baremetal_clusters/images.py +11 -12
- gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +2 -2
- gcore/resources/cloud/gpu_baremetal_clusters/servers.py +12 -8
- gcore/resources/cloud/inference/deployments/deployments.py +16 -8
- gcore/resources/cloud/inference/registry_credentials.py +2 -2
- gcore/resources/cloud/inference/secrets.py +8 -8
- gcore/resources/cloud/instances/flavors.py +9 -233
- gcore/resources/cloud/instances/images.py +47 -37
- gcore/resources/cloud/instances/instances.py +107 -100
- gcore/resources/cloud/instances/interfaces.py +6 -6
- gcore/resources/cloud/ip_ranges.py +34 -2
- gcore/resources/cloud/load_balancers/flavors.py +2 -2
- gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +30 -22
- gcore/resources/cloud/load_balancers/listeners.py +31 -22
- gcore/resources/cloud/load_balancers/load_balancers.py +99 -43
- gcore/resources/cloud/load_balancers/metrics.py +2 -2
- gcore/resources/cloud/load_balancers/pools/health_monitors.py +2 -2
- gcore/resources/cloud/load_balancers/pools/members.py +12 -8
- gcore/resources/cloud/networks/networks.py +83 -19
- gcore/resources/cloud/networks/routers.py +18 -18
- gcore/resources/cloud/networks/subnets.py +55 -15
- gcore/resources/cloud/projects.py +38 -24
- gcore/resources/cloud/quotas/quotas.py +6 -6
- gcore/resources/cloud/quotas/requests.py +8 -8
- gcore/resources/cloud/registries/artifacts.py +4 -4
- gcore/resources/cloud/registries/registries.py +14 -20
- gcore/resources/cloud/registries/repositories.py +4 -4
- gcore/resources/cloud/registries/tags.py +2 -2
- gcore/resources/cloud/registries/users.py +25 -32
- gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +26 -26
- gcore/resources/cloud/reserved_fixed_ips/vip.py +10 -10
- gcore/resources/cloud/security_groups/rules.py +6 -6
- gcore/resources/cloud/security_groups/security_groups.py +70 -31
- gcore/resources/cloud/ssh_keys.py +2 -2
- gcore/resources/cloud/tasks.py +102 -94
- gcore/resources/cloud/users/role_assignments.py +16 -18
- gcore/resources/cloud/volumes.py +155 -65
- gcore/resources/iam/__init__.py +47 -0
- gcore/resources/iam/api_tokens.py +521 -0
- gcore/resources/iam/iam.py +199 -0
- gcore/resources/iam/users.py +642 -0
- gcore/resources/waap/__init__.py +84 -0
- gcore/resources/waap/advanced_rules.py +135 -0
- gcore/resources/waap/custom_page_sets.py +805 -0
- gcore/resources/waap/domains/__init__.py +140 -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 +399 -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 +5 -5
- 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 +257 -0
- gcore/types/cloud/allowed_address_pairs.py +2 -2
- gcore/types/cloud/baremetal/__init__.py +0 -1
- gcore/types/cloud/baremetal/baremetal_server.py +1 -1
- gcore/types/cloud/baremetal/image_list_params.py +1 -5
- gcore/types/cloud/baremetal/server_create_params.py +13 -17
- gcore/types/cloud/baremetal/server_list_params.py +8 -12
- gcore/types/cloud/baremetal/server_rebuild_params.py +1 -1
- gcore/types/cloud/baremetal_flavor.py +3 -3
- gcore/types/cloud/container_probe_config.py +1 -1
- gcore/types/cloud/container_probe_config_create_param.py +1 -1
- gcore/types/cloud/container_scale_triggers.py +2 -2
- gcore/types/cloud/ddos_profile.py +9 -3
- gcore/types/cloud/file_share_create_params.py +3 -5
- gcore/types/cloud/floating_ip_create_params.py +2 -4
- gcore/types/cloud/floating_ip_detailed.py +1 -1
- gcore/types/cloud/floating_ip_list_params.py +2 -6
- gcore/types/cloud/gpu_baremetal_cluster.py +1 -1
- gcore/types/cloud/gpu_baremetal_cluster_create_params.py +4 -5
- 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 +3 -5
- 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/health_monitor.py +6 -1
- 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 +6 -6
- gcore/types/cloud/inference/inference.py +2 -4
- gcore/types/cloud/instance.py +1 -1
- gcore/types/cloud/instance_create_params.py +15 -18
- gcore/types/cloud/instance_list_params.py +8 -12
- gcore/types/cloud/instances/__init__.py +0 -2
- gcore/types/cloud/instances/image_create_from_volume_params.py +2 -4
- gcore/types/cloud/instances/image_list_params.py +1 -5
- gcore/types/cloud/instances/image_upload_params.py +2 -4
- 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 +25 -19
- 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 -9
- gcore/types/cloud/load_balancer_listener_detail.py +4 -4
- gcore/types/cloud/load_balancer_update_params.py +24 -0
- 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 +4 -4
- gcore/types/cloud/load_balancers/listener_update_params.py +3 -3
- gcore/types/cloud/load_balancers/pool_create_params.py +10 -5
- gcore/types/cloud/load_balancers/pool_update_params.py +10 -5
- gcore/types/cloud/load_balancers/pools/member_add_params.py +9 -4
- gcore/types/cloud/member.py +8 -3
- gcore/types/cloud/network.py +2 -2
- gcore/types/cloud/network_create_params.py +2 -3
- gcore/types/cloud/network_details.py +2 -2
- gcore/types/cloud/network_list_params.py +5 -6
- gcore/types/cloud/network_update_params.py +28 -2
- gcore/types/cloud/networks/router_list_params.py +2 -2
- gcore/types/cloud/networks/subnet_create_params.py +3 -4
- gcore/types/cloud/networks/subnet_list_params.py +2 -6
- gcore/types/cloud/networks/subnet_update_params.py +25 -0
- gcore/types/cloud/region.py +4 -4
- gcore/types/cloud/registries/__init__.py +1 -0
- gcore/types/cloud/registries/user_create_multiple_params.py +3 -5
- gcore/types/cloud/registries/user_create_params.py +3 -5
- gcore/types/cloud/registries/user_refresh_secret_response.py +31 -0
- 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/security_group_list_params.py +3 -7
- gcore/types/cloud/security_group_update_params.py +25 -0
- gcore/types/cloud/session_persistence.py +1 -1
- gcore/types/cloud/ssh_key_created.py +3 -6
- gcore/types/cloud/tag_update_map_param.py +2 -2
- gcore/types/cloud/task.py +1 -1
- gcore/types/cloud/task_list_params.py +49 -45
- 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 -7
- gcore/types/cloud/volume_update_params.py +29 -3
- gcore/types/iam/__init__.py +17 -0
- gcore/types/iam/account_overview.py +488 -0
- gcore/types/iam/api_token.py +78 -0
- gcore/types/iam/api_token_create.py +15 -0
- gcore/types/iam/api_token_create_params.py +42 -0
- gcore/types/iam/api_token_list.py +81 -0
- gcore/types/iam/api_token_list_params.py +41 -0
- gcore/types/iam/user.py +86 -0
- gcore/types/iam/user_detailed.py +104 -0
- gcore/types/iam/user_invite.py +15 -0
- gcore/types/iam/user_invite_params.py +37 -0
- gcore/types/iam/user_list_params.py +15 -0
- gcore/types/iam/user_update.py +104 -0
- gcore/types/iam/user_update_params.py +52 -0
- gcore/types/waap/__init__.py +97 -2
- 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_rule_sets_response.py +10 -0
- gcore/types/waap/domains/__init__.py +42 -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 +372 -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 +375 -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 +7 -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 +377 -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_api_urls.py → waap_domain_api_settings.py} +9 -2
- gcore/types/waap/waap_domain_policy.py +29 -0
- gcore/types/waap/{waap_domain_settings.py → waap_domain_settings_model.py} +4 -4
- 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_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.2.0.dist-info → gcore-0.4.0.dist-info}/METADATA +40 -3
- {gcore-0.2.0.dist-info → gcore-0.4.0.dist-info}/RECORD +312 -149
- gcore/types/cloud/baremetal/flavor_list_suitable_params.py +0 -22
- gcore/types/cloud/instances/flavor_list_for_resize_params.py +0 -16
- gcore/types/cloud/instances/flavor_list_suitable_params.py +0 -56
- {gcore-0.2.0.dist-info → gcore-0.4.0.dist-info}/WHEEL +0 -0
- {gcore-0.2.0.dist-info → gcore-0.4.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -92,17 +92,17 @@ class L7PoliciesResource(SyncAPIResource):
|
|
|
92
92
|
position: The position of this policy on the listener. Positions start at 1.
|
|
93
93
|
|
|
94
94
|
redirect_http_code: Requests matching this policy will be redirected to the specified URL or Prefix
|
|
95
|
-
URL with the HTTP response code. Valid if action is REDIRECT_TO_URL or
|
|
96
|
-
REDIRECT_PREFIX
|
|
95
|
+
URL with the HTTP response code. Valid if action is `REDIRECT_TO_URL` or
|
|
96
|
+
`REDIRECT_PREFIX`. Valid options are 301, 302, 303, 307, or 308. Default is 302.
|
|
97
97
|
|
|
98
98
|
redirect_pool_id: Requests matching this policy will be redirected to the pool withthis ID. Only
|
|
99
|
-
valid if action is REDIRECT_TO_POOL
|
|
99
|
+
valid if action is `REDIRECT_TO_POOL`.
|
|
100
100
|
|
|
101
101
|
redirect_prefix: Requests matching this policy will be redirected to this Prefix URL. Only valid
|
|
102
|
-
if action is REDIRECT_PREFIX
|
|
102
|
+
if action is `REDIRECT_PREFIX`.
|
|
103
103
|
|
|
104
104
|
redirect_url: Requests matching this policy will be redirected to this URL. Only valid if
|
|
105
|
-
action is REDIRECT_TO_URL
|
|
105
|
+
action is `REDIRECT_TO_URL`.
|
|
106
106
|
|
|
107
107
|
tags: A list of simple strings assigned to the resource.
|
|
108
108
|
|
|
@@ -286,17 +286,17 @@ class L7PoliciesResource(SyncAPIResource):
|
|
|
286
286
|
position: The position of this policy on the listener. Positions start at 1.
|
|
287
287
|
|
|
288
288
|
redirect_http_code: Requests matching this policy will be redirected to the specified URL or Prefix
|
|
289
|
-
URL with the HTTP response code. Valid if action is REDIRECT_TO_URL or
|
|
290
|
-
REDIRECT_PREFIX
|
|
289
|
+
URL with the HTTP response code. Valid if action is `REDIRECT_TO_URL` or
|
|
290
|
+
`REDIRECT_PREFIX`. Valid options are 301, 302, 303, 307, or 308. Default is 302.
|
|
291
291
|
|
|
292
292
|
redirect_pool_id: Requests matching this policy will be redirected to the pool with this ID. Only
|
|
293
|
-
valid if action is REDIRECT_TO_POOL
|
|
293
|
+
valid if action is `REDIRECT_TO_POOL`.
|
|
294
294
|
|
|
295
295
|
redirect_prefix: Requests matching this policy will be redirected to this Prefix URL. Only valid
|
|
296
|
-
if action is REDIRECT_PREFIX
|
|
296
|
+
if action is `REDIRECT_PREFIX`.
|
|
297
297
|
|
|
298
298
|
redirect_url: Requests matching this policy will be redirected to this URL. Only valid if
|
|
299
|
-
action is REDIRECT_TO_URL
|
|
299
|
+
action is `REDIRECT_TO_URL`.
|
|
300
300
|
|
|
301
301
|
tags: A list of simple strings assigned to the resource.
|
|
302
302
|
|
|
@@ -381,7 +381,11 @@ class L7PoliciesResource(SyncAPIResource):
|
|
|
381
381
|
extra_headers=extra_headers,
|
|
382
382
|
polling_interval_seconds=polling_interval_seconds,
|
|
383
383
|
)
|
|
384
|
-
if
|
|
384
|
+
if (
|
|
385
|
+
not task.created_resources
|
|
386
|
+
or not task.created_resources.l7polices
|
|
387
|
+
or len(task.created_resources.l7polices) != 1
|
|
388
|
+
):
|
|
385
389
|
raise ValueError(f"Expected exactly one resource to be created in a task")
|
|
386
390
|
return self.get(
|
|
387
391
|
l7policy_id=task.created_resources.l7polices[0],
|
|
@@ -535,17 +539,17 @@ class AsyncL7PoliciesResource(AsyncAPIResource):
|
|
|
535
539
|
position: The position of this policy on the listener. Positions start at 1.
|
|
536
540
|
|
|
537
541
|
redirect_http_code: Requests matching this policy will be redirected to the specified URL or Prefix
|
|
538
|
-
URL with the HTTP response code. Valid if action is REDIRECT_TO_URL or
|
|
539
|
-
REDIRECT_PREFIX
|
|
542
|
+
URL with the HTTP response code. Valid if action is `REDIRECT_TO_URL` or
|
|
543
|
+
`REDIRECT_PREFIX`. Valid options are 301, 302, 303, 307, or 308. Default is 302.
|
|
540
544
|
|
|
541
545
|
redirect_pool_id: Requests matching this policy will be redirected to the pool withthis ID. Only
|
|
542
|
-
valid if action is REDIRECT_TO_POOL
|
|
546
|
+
valid if action is `REDIRECT_TO_POOL`.
|
|
543
547
|
|
|
544
548
|
redirect_prefix: Requests matching this policy will be redirected to this Prefix URL. Only valid
|
|
545
|
-
if action is REDIRECT_PREFIX
|
|
549
|
+
if action is `REDIRECT_PREFIX`.
|
|
546
550
|
|
|
547
551
|
redirect_url: Requests matching this policy will be redirected to this URL. Only valid if
|
|
548
|
-
action is REDIRECT_TO_URL
|
|
552
|
+
action is `REDIRECT_TO_URL`.
|
|
549
553
|
|
|
550
554
|
tags: A list of simple strings assigned to the resource.
|
|
551
555
|
|
|
@@ -729,17 +733,17 @@ class AsyncL7PoliciesResource(AsyncAPIResource):
|
|
|
729
733
|
position: The position of this policy on the listener. Positions start at 1.
|
|
730
734
|
|
|
731
735
|
redirect_http_code: Requests matching this policy will be redirected to the specified URL or Prefix
|
|
732
|
-
URL with the HTTP response code. Valid if action is REDIRECT_TO_URL or
|
|
733
|
-
REDIRECT_PREFIX
|
|
736
|
+
URL with the HTTP response code. Valid if action is `REDIRECT_TO_URL` or
|
|
737
|
+
`REDIRECT_PREFIX`. Valid options are 301, 302, 303, 307, or 308. Default is 302.
|
|
734
738
|
|
|
735
739
|
redirect_pool_id: Requests matching this policy will be redirected to the pool with this ID. Only
|
|
736
|
-
valid if action is REDIRECT_TO_POOL
|
|
740
|
+
valid if action is `REDIRECT_TO_POOL`.
|
|
737
741
|
|
|
738
742
|
redirect_prefix: Requests matching this policy will be redirected to this Prefix URL. Only valid
|
|
739
|
-
if action is REDIRECT_PREFIX
|
|
743
|
+
if action is `REDIRECT_PREFIX`.
|
|
740
744
|
|
|
741
745
|
redirect_url: Requests matching this policy will be redirected to this URL. Only valid if
|
|
742
|
-
action is REDIRECT_TO_URL
|
|
746
|
+
action is `REDIRECT_TO_URL`.
|
|
743
747
|
|
|
744
748
|
tags: A list of simple strings assigned to the resource.
|
|
745
749
|
|
|
@@ -824,7 +828,11 @@ class AsyncL7PoliciesResource(AsyncAPIResource):
|
|
|
824
828
|
extra_headers=extra_headers,
|
|
825
829
|
polling_interval_seconds=polling_interval_seconds,
|
|
826
830
|
)
|
|
827
|
-
if
|
|
831
|
+
if (
|
|
832
|
+
not task.created_resources
|
|
833
|
+
or not task.created_resources.l7polices
|
|
834
|
+
or len(task.created_resources.l7polices) != 1
|
|
835
|
+
):
|
|
828
836
|
raise ValueError(f"Expected exactly one resource to be created in a task")
|
|
829
837
|
return await self.get(
|
|
830
838
|
l7policy_id=task.created_resources.l7polices[0],
|
|
@@ -98,13 +98,13 @@ class ListenersResource(SyncAPIResource):
|
|
|
98
98
|
connection_limit: Limit of the simultaneous connections
|
|
99
99
|
|
|
100
100
|
insert_x_forwarded: Add headers X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto to requests.
|
|
101
|
-
Only used with HTTP or TERMINATED_HTTPS protocols.
|
|
101
|
+
Only used with HTTP or `TERMINATED_HTTPS` protocols.
|
|
102
102
|
|
|
103
|
-
secret_id: ID of the secret where PKCS12 file is stored for TERMINATED_HTTPS or
|
|
104
|
-
listener
|
|
103
|
+
secret_id: ID of the secret where PKCS12 file is stored for `TERMINATED_HTTPS` or
|
|
104
|
+
PROMETHEUS listener
|
|
105
105
|
|
|
106
106
|
sni_secret_id: List of secrets IDs containing PKCS12 format certificate/key bundles for
|
|
107
|
-
TERMINATED_HTTPS or PROMETHEUS listeners
|
|
107
|
+
`TERMINATED_HTTPS` or PROMETHEUS listeners
|
|
108
108
|
|
|
109
109
|
timeout_client_data: Frontend client inactivity timeout in milliseconds
|
|
110
110
|
|
|
@@ -175,7 +175,7 @@ class ListenersResource(SyncAPIResource):
|
|
|
175
175
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
176
176
|
) -> TaskIDList:
|
|
177
177
|
"""
|
|
178
|
-
Update listener
|
|
178
|
+
Update load balancer listener
|
|
179
179
|
|
|
180
180
|
Args:
|
|
181
181
|
project_id: Project ID
|
|
@@ -190,11 +190,11 @@ class ListenersResource(SyncAPIResource):
|
|
|
190
190
|
|
|
191
191
|
name: Load balancer listener name
|
|
192
192
|
|
|
193
|
-
secret_id: ID of the secret where PKCS12 file is stored for TERMINATED_HTTPS or
|
|
194
|
-
load balancer
|
|
193
|
+
secret_id: ID of the secret where PKCS12 file is stored for `TERMINATED_HTTPS` or
|
|
194
|
+
PROMETHEUS load balancer
|
|
195
195
|
|
|
196
196
|
sni_secret_id: List of secret's ID containing PKCS12 format certificate/key bundfles for
|
|
197
|
-
TERMINATED_HTTPS or PROMETHEUS listeners
|
|
197
|
+
`TERMINATED_HTTPS` or PROMETHEUS listeners
|
|
198
198
|
|
|
199
199
|
timeout_client_data: Frontend client inactivity timeout in milliseconds
|
|
200
200
|
|
|
@@ -356,7 +356,7 @@ class ListenersResource(SyncAPIResource):
|
|
|
356
356
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
357
357
|
) -> LoadBalancerListenerDetail:
|
|
358
358
|
"""
|
|
359
|
-
Get listener
|
|
359
|
+
Get load balancer listener
|
|
360
360
|
|
|
361
361
|
Args:
|
|
362
362
|
project_id: Project ID
|
|
@@ -447,7 +447,11 @@ class ListenersResource(SyncAPIResource):
|
|
|
447
447
|
extra_headers=extra_headers,
|
|
448
448
|
polling_interval_seconds=polling_interval_seconds,
|
|
449
449
|
)
|
|
450
|
-
if
|
|
450
|
+
if (
|
|
451
|
+
not task.created_resources
|
|
452
|
+
or not task.created_resources.listeners
|
|
453
|
+
or len(task.created_resources.listeners) != 1
|
|
454
|
+
):
|
|
451
455
|
raise ValueError(f"Expected exactly one resource to be created in a task")
|
|
452
456
|
return self.get(
|
|
453
457
|
listener_id=task.created_resources.listeners[0],
|
|
@@ -617,13 +621,13 @@ class AsyncListenersResource(AsyncAPIResource):
|
|
|
617
621
|
connection_limit: Limit of the simultaneous connections
|
|
618
622
|
|
|
619
623
|
insert_x_forwarded: Add headers X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto to requests.
|
|
620
|
-
Only used with HTTP or TERMINATED_HTTPS protocols.
|
|
624
|
+
Only used with HTTP or `TERMINATED_HTTPS` protocols.
|
|
621
625
|
|
|
622
|
-
secret_id: ID of the secret where PKCS12 file is stored for TERMINATED_HTTPS or
|
|
623
|
-
listener
|
|
626
|
+
secret_id: ID of the secret where PKCS12 file is stored for `TERMINATED_HTTPS` or
|
|
627
|
+
PROMETHEUS listener
|
|
624
628
|
|
|
625
629
|
sni_secret_id: List of secrets IDs containing PKCS12 format certificate/key bundles for
|
|
626
|
-
TERMINATED_HTTPS or PROMETHEUS listeners
|
|
630
|
+
`TERMINATED_HTTPS` or PROMETHEUS listeners
|
|
627
631
|
|
|
628
632
|
timeout_client_data: Frontend client inactivity timeout in milliseconds
|
|
629
633
|
|
|
@@ -694,7 +698,7 @@ class AsyncListenersResource(AsyncAPIResource):
|
|
|
694
698
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
695
699
|
) -> TaskIDList:
|
|
696
700
|
"""
|
|
697
|
-
Update listener
|
|
701
|
+
Update load balancer listener
|
|
698
702
|
|
|
699
703
|
Args:
|
|
700
704
|
project_id: Project ID
|
|
@@ -709,11 +713,11 @@ class AsyncListenersResource(AsyncAPIResource):
|
|
|
709
713
|
|
|
710
714
|
name: Load balancer listener name
|
|
711
715
|
|
|
712
|
-
secret_id: ID of the secret where PKCS12 file is stored for TERMINATED_HTTPS or
|
|
713
|
-
load balancer
|
|
716
|
+
secret_id: ID of the secret where PKCS12 file is stored for `TERMINATED_HTTPS` or
|
|
717
|
+
PROMETHEUS load balancer
|
|
714
718
|
|
|
715
719
|
sni_secret_id: List of secret's ID containing PKCS12 format certificate/key bundfles for
|
|
716
|
-
TERMINATED_HTTPS or PROMETHEUS listeners
|
|
720
|
+
`TERMINATED_HTTPS` or PROMETHEUS listeners
|
|
717
721
|
|
|
718
722
|
timeout_client_data: Frontend client inactivity timeout in milliseconds
|
|
719
723
|
|
|
@@ -875,7 +879,7 @@ class AsyncListenersResource(AsyncAPIResource):
|
|
|
875
879
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
876
880
|
) -> LoadBalancerListenerDetail:
|
|
877
881
|
"""
|
|
878
|
-
Get listener
|
|
882
|
+
Get load balancer listener
|
|
879
883
|
|
|
880
884
|
Args:
|
|
881
885
|
project_id: Project ID
|
|
@@ -966,7 +970,11 @@ class AsyncListenersResource(AsyncAPIResource):
|
|
|
966
970
|
extra_headers=extra_headers,
|
|
967
971
|
polling_interval_seconds=polling_interval_seconds,
|
|
968
972
|
)
|
|
969
|
-
if
|
|
973
|
+
if (
|
|
974
|
+
not task.created_resources
|
|
975
|
+
or not task.created_resources.listeners
|
|
976
|
+
or len(task.created_resources.listeners) != 1
|
|
977
|
+
):
|
|
970
978
|
raise ValueError(f"Expected exactly one resource to be created in a task")
|
|
971
979
|
return await self.get(
|
|
972
980
|
listener_id=task.created_resources.listeners[0],
|
|
@@ -975,7 +983,7 @@ class AsyncListenersResource(AsyncAPIResource):
|
|
|
975
983
|
extra_headers=extra_headers,
|
|
976
984
|
timeout=timeout,
|
|
977
985
|
)
|
|
978
|
-
|
|
986
|
+
|
|
979
987
|
async def delete_and_poll(
|
|
980
988
|
self,
|
|
981
989
|
listener_id: str,
|
|
@@ -1008,7 +1016,7 @@ class AsyncListenersResource(AsyncAPIResource):
|
|
|
1008
1016
|
task_id=response.tasks[0],
|
|
1009
1017
|
extra_headers=extra_headers,
|
|
1010
1018
|
polling_interval_seconds=polling_interval_seconds,
|
|
1011
|
-
)
|
|
1019
|
+
)
|
|
1012
1020
|
|
|
1013
1021
|
async def update_and_poll(
|
|
1014
1022
|
self,
|
|
@@ -1069,6 +1077,7 @@ class AsyncListenersResource(AsyncAPIResource):
|
|
|
1069
1077
|
timeout=timeout,
|
|
1070
1078
|
)
|
|
1071
1079
|
|
|
1080
|
+
|
|
1072
1081
|
class ListenersResourceWithRawResponse:
|
|
1073
1082
|
def __init__(self, listeners: ListenersResource) -> None:
|
|
1074
1083
|
self._listeners = listeners
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import List, Iterable
|
|
5
|
+
from typing import Dict, List, Iterable, Optional
|
|
6
6
|
|
|
7
7
|
import httpx
|
|
8
8
|
|
|
@@ -141,7 +141,7 @@ class LoadBalancersResource(SyncAPIResource):
|
|
|
141
141
|
name: str | NotGiven = NOT_GIVEN,
|
|
142
142
|
name_template: str | NotGiven = NOT_GIVEN,
|
|
143
143
|
preferred_connectivity: LoadBalancerMemberConnectivity | NotGiven = NOT_GIVEN,
|
|
144
|
-
tags:
|
|
144
|
+
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
145
145
|
vip_ip_family: InterfaceIPFamily | NotGiven = NOT_GIVEN,
|
|
146
146
|
vip_network_id: str | NotGiven = NOT_GIVEN,
|
|
147
147
|
vip_port_id: str | NotGiven = NOT_GIVEN,
|
|
@@ -172,8 +172,9 @@ class LoadBalancersResource(SyncAPIResource):
|
|
|
172
172
|
|
|
173
173
|
preferred_connectivity: Preferred option to establish connectivity between load balancer and its pools
|
|
174
174
|
members. L2 provides best performance, L3 provides less IPs usage. It is taking
|
|
175
|
-
effect only if instance_id + ip_address is provided, not subnet_id +
|
|
176
|
-
because we're considering this as intentional subnet_id
|
|
175
|
+
effect only if `instance_id` + `ip_address` is provided, not `subnet_id` +
|
|
176
|
+
`ip_address`, because we're considering this as intentional `subnet_id`
|
|
177
|
+
specification.
|
|
177
178
|
|
|
178
179
|
tags: Key-value tags to associate with the resource. A tag is a key-value pair that
|
|
179
180
|
can be associated with a resource, enabling efficient filtering and grouping for
|
|
@@ -181,16 +182,17 @@ class LoadBalancersResource(SyncAPIResource):
|
|
|
181
182
|
modified by the user. Tags are also integrated with cost reports, allowing cost
|
|
182
183
|
data to be filtered based on tag keys or values.
|
|
183
184
|
|
|
184
|
-
vip_ip_family: IP family for load balancer subnet auto-selection if vip_network_id is
|
|
185
|
+
vip_ip_family: IP family for load balancer subnet auto-selection if `vip_network_id` is
|
|
186
|
+
specified
|
|
185
187
|
|
|
186
188
|
vip_network_id: Network ID for load balancer. If not specified, default external network will be
|
|
187
|
-
used. Mutually exclusive with vip_port_id
|
|
189
|
+
used. Mutually exclusive with `vip_port_id`
|
|
188
190
|
|
|
189
191
|
vip_port_id: Existing Reserved Fixed IP port ID for load balancer. Mutually exclusive with
|
|
190
|
-
vip_network_id
|
|
192
|
+
`vip_network_id`
|
|
191
193
|
|
|
192
|
-
vip_subnet_id: Subnet ID for load balancer. If not specified, any subnet from vip_network_id
|
|
193
|
-
will be selected. Ignored when vip_network_id is not specified.
|
|
194
|
+
vip_subnet_id: Subnet ID for load balancer. If not specified, any subnet from `vip_network_id`
|
|
195
|
+
will be selected. Ignored when `vip_network_id` is not specified.
|
|
194
196
|
|
|
195
197
|
extra_headers: Send extra headers
|
|
196
198
|
|
|
@@ -238,6 +240,7 @@ class LoadBalancersResource(SyncAPIResource):
|
|
|
238
240
|
logging: load_balancer_update_params.Logging | NotGiven = NOT_GIVEN,
|
|
239
241
|
name: str | NotGiven = NOT_GIVEN,
|
|
240
242
|
preferred_connectivity: LoadBalancerMemberConnectivity | NotGiven = NOT_GIVEN,
|
|
243
|
+
tags: Optional[TagUpdateMapParam] | NotGiven = NOT_GIVEN,
|
|
241
244
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
242
245
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
243
246
|
extra_headers: Headers | None = None,
|
|
@@ -246,8 +249,10 @@ class LoadBalancersResource(SyncAPIResource):
|
|
|
246
249
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
247
250
|
) -> LoadBalancer:
|
|
248
251
|
"""
|
|
249
|
-
Rename load balancer, activate/deactivate
|
|
250
|
-
|
|
252
|
+
Rename load balancer, activate/deactivate logging, update preferred connectivity
|
|
253
|
+
type and/or modify load balancer tags. The request will only process the fields
|
|
254
|
+
that are provided in the request body. Any fields that are not included will
|
|
255
|
+
remain unchanged.
|
|
251
256
|
|
|
252
257
|
Args:
|
|
253
258
|
logging: Logging configuration
|
|
@@ -257,6 +262,26 @@ class LoadBalancersResource(SyncAPIResource):
|
|
|
257
262
|
preferred_connectivity: Preferred option to establish connectivity between load balancer and its pools
|
|
258
263
|
members
|
|
259
264
|
|
|
265
|
+
tags: Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide
|
|
266
|
+
key-value pairs to add or update tags. Set tag values to `null` to remove tags.
|
|
267
|
+
Unspecified tags remain unchanged. Read-only tags are always preserved and
|
|
268
|
+
cannot be modified. **Examples:**
|
|
269
|
+
|
|
270
|
+
- **Add/update tags:**
|
|
271
|
+
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
272
|
+
updates existing ones.
|
|
273
|
+
- **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
|
|
274
|
+
- **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
|
|
275
|
+
tags are preserved).
|
|
276
|
+
- **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
|
|
277
|
+
specified tags.
|
|
278
|
+
- **Mixed operations:**
|
|
279
|
+
`{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
|
|
280
|
+
adds/updates 'environment' and '`cost_center`' while removing
|
|
281
|
+
'`deprecated_tag`', preserving other existing tags.
|
|
282
|
+
- **Replace all:** first delete existing tags with null values, then add new
|
|
283
|
+
ones in the same request.
|
|
284
|
+
|
|
260
285
|
extra_headers: Send extra headers
|
|
261
286
|
|
|
262
287
|
extra_query: Add additional query parameters to the request
|
|
@@ -278,6 +303,7 @@ class LoadBalancersResource(SyncAPIResource):
|
|
|
278
303
|
"logging": logging,
|
|
279
304
|
"name": name,
|
|
280
305
|
"preferred_connectivity": preferred_connectivity,
|
|
306
|
+
"tags": tags,
|
|
281
307
|
},
|
|
282
308
|
load_balancer_update_params.LoadBalancerUpdateParams,
|
|
283
309
|
),
|
|
@@ -323,18 +349,16 @@ class LoadBalancersResource(SyncAPIResource):
|
|
|
323
349
|
|
|
324
350
|
offset: Offset value is used to exclude the first set of records from the result.
|
|
325
351
|
|
|
326
|
-
order_by: Ordering Load Balancer list result by name, created_at
|
|
327
|
-
operating_status
|
|
328
|
-
fields of the load balancer and directions (name.asc), default is
|
|
329
|
-
"created_at
|
|
352
|
+
order_by: Ordering Load Balancer list result by name, `created_at`, `updated_at`,
|
|
353
|
+
`operating_status`, `provisioning_status`, `vip_address`, `vip_ip_family` and
|
|
354
|
+
flavor fields of the load balancer and directions (name.asc), default is
|
|
355
|
+
"`created_at`.asc"
|
|
330
356
|
|
|
331
357
|
show_stats: Show statistics
|
|
332
358
|
|
|
333
359
|
tag_key: Filter by tag keys.
|
|
334
360
|
|
|
335
|
-
tag_key_value: Filter by tag key-value pairs. Must be a valid JSON string.
|
|
336
|
-
--data-urlencode "tag_key_value={"key": "value"}" --url
|
|
337
|
-
"http://localhost:1111/v1/loadbalancers/1/1"
|
|
361
|
+
tag_key_value: Filter by tag key-value pairs. Must be a valid JSON string.
|
|
338
362
|
|
|
339
363
|
with_ddos: Show Advanced DDoS protection profile, if exists
|
|
340
364
|
|
|
@@ -431,7 +455,7 @@ class LoadBalancersResource(SyncAPIResource):
|
|
|
431
455
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
432
456
|
) -> TaskIDList:
|
|
433
457
|
"""
|
|
434
|
-
Failover
|
|
458
|
+
Failover load balancer
|
|
435
459
|
|
|
436
460
|
Args:
|
|
437
461
|
force: Validate current load balancer status before failover or not.
|
|
@@ -529,7 +553,7 @@ class LoadBalancersResource(SyncAPIResource):
|
|
|
529
553
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
530
554
|
) -> TaskIDList:
|
|
531
555
|
"""
|
|
532
|
-
Resize
|
|
556
|
+
Resize load balancer
|
|
533
557
|
|
|
534
558
|
Args:
|
|
535
559
|
flavor: Name of the desired flavor to resize to.
|
|
@@ -569,7 +593,7 @@ class LoadBalancersResource(SyncAPIResource):
|
|
|
569
593
|
name: str | NotGiven = NOT_GIVEN,
|
|
570
594
|
name_template: str | NotGiven = NOT_GIVEN,
|
|
571
595
|
preferred_connectivity: LoadBalancerMemberConnectivity | NotGiven = NOT_GIVEN,
|
|
572
|
-
tags:
|
|
596
|
+
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
573
597
|
vip_ip_family: InterfaceIPFamily | NotGiven = NOT_GIVEN,
|
|
574
598
|
vip_network_id: str | NotGiven = NOT_GIVEN,
|
|
575
599
|
vip_port_id: str | NotGiven = NOT_GIVEN,
|
|
@@ -609,7 +633,11 @@ class LoadBalancersResource(SyncAPIResource):
|
|
|
609
633
|
extra_headers=extra_headers,
|
|
610
634
|
polling_interval_seconds=polling_interval_seconds,
|
|
611
635
|
)
|
|
612
|
-
if
|
|
636
|
+
if (
|
|
637
|
+
not task.created_resources
|
|
638
|
+
or not task.created_resources.loadbalancers
|
|
639
|
+
or len(task.created_resources.loadbalancers) != 1
|
|
640
|
+
):
|
|
613
641
|
raise ValueError(f"Expected exactly one resource to be created in a task")
|
|
614
642
|
return self.get(
|
|
615
643
|
loadbalancer_id=task.created_resources.loadbalancers[0],
|
|
@@ -796,7 +824,7 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
|
|
|
796
824
|
name: str | NotGiven = NOT_GIVEN,
|
|
797
825
|
name_template: str | NotGiven = NOT_GIVEN,
|
|
798
826
|
preferred_connectivity: LoadBalancerMemberConnectivity | NotGiven = NOT_GIVEN,
|
|
799
|
-
tags:
|
|
827
|
+
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
800
828
|
vip_ip_family: InterfaceIPFamily | NotGiven = NOT_GIVEN,
|
|
801
829
|
vip_network_id: str | NotGiven = NOT_GIVEN,
|
|
802
830
|
vip_port_id: str | NotGiven = NOT_GIVEN,
|
|
@@ -827,8 +855,9 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
|
|
|
827
855
|
|
|
828
856
|
preferred_connectivity: Preferred option to establish connectivity between load balancer and its pools
|
|
829
857
|
members. L2 provides best performance, L3 provides less IPs usage. It is taking
|
|
830
|
-
effect only if instance_id + ip_address is provided, not subnet_id +
|
|
831
|
-
because we're considering this as intentional subnet_id
|
|
858
|
+
effect only if `instance_id` + `ip_address` is provided, not `subnet_id` +
|
|
859
|
+
`ip_address`, because we're considering this as intentional `subnet_id`
|
|
860
|
+
specification.
|
|
832
861
|
|
|
833
862
|
tags: Key-value tags to associate with the resource. A tag is a key-value pair that
|
|
834
863
|
can be associated with a resource, enabling efficient filtering and grouping for
|
|
@@ -836,16 +865,17 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
|
|
|
836
865
|
modified by the user. Tags are also integrated with cost reports, allowing cost
|
|
837
866
|
data to be filtered based on tag keys or values.
|
|
838
867
|
|
|
839
|
-
vip_ip_family: IP family for load balancer subnet auto-selection if vip_network_id is
|
|
868
|
+
vip_ip_family: IP family for load balancer subnet auto-selection if `vip_network_id` is
|
|
869
|
+
specified
|
|
840
870
|
|
|
841
871
|
vip_network_id: Network ID for load balancer. If not specified, default external network will be
|
|
842
|
-
used. Mutually exclusive with vip_port_id
|
|
872
|
+
used. Mutually exclusive with `vip_port_id`
|
|
843
873
|
|
|
844
874
|
vip_port_id: Existing Reserved Fixed IP port ID for load balancer. Mutually exclusive with
|
|
845
|
-
vip_network_id
|
|
875
|
+
`vip_network_id`
|
|
846
876
|
|
|
847
|
-
vip_subnet_id: Subnet ID for load balancer. If not specified, any subnet from vip_network_id
|
|
848
|
-
will be selected. Ignored when vip_network_id is not specified.
|
|
877
|
+
vip_subnet_id: Subnet ID for load balancer. If not specified, any subnet from `vip_network_id`
|
|
878
|
+
will be selected. Ignored when `vip_network_id` is not specified.
|
|
849
879
|
|
|
850
880
|
extra_headers: Send extra headers
|
|
851
881
|
|
|
@@ -893,6 +923,7 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
|
|
|
893
923
|
logging: load_balancer_update_params.Logging | NotGiven = NOT_GIVEN,
|
|
894
924
|
name: str | NotGiven = NOT_GIVEN,
|
|
895
925
|
preferred_connectivity: LoadBalancerMemberConnectivity | NotGiven = NOT_GIVEN,
|
|
926
|
+
tags: Optional[TagUpdateMapParam] | NotGiven = NOT_GIVEN,
|
|
896
927
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
897
928
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
898
929
|
extra_headers: Headers | None = None,
|
|
@@ -901,8 +932,10 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
|
|
|
901
932
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
902
933
|
) -> LoadBalancer:
|
|
903
934
|
"""
|
|
904
|
-
Rename load balancer, activate/deactivate
|
|
905
|
-
|
|
935
|
+
Rename load balancer, activate/deactivate logging, update preferred connectivity
|
|
936
|
+
type and/or modify load balancer tags. The request will only process the fields
|
|
937
|
+
that are provided in the request body. Any fields that are not included will
|
|
938
|
+
remain unchanged.
|
|
906
939
|
|
|
907
940
|
Args:
|
|
908
941
|
logging: Logging configuration
|
|
@@ -912,6 +945,26 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
|
|
|
912
945
|
preferred_connectivity: Preferred option to establish connectivity between load balancer and its pools
|
|
913
946
|
members
|
|
914
947
|
|
|
948
|
+
tags: Update key-value tags using JSON Merge Patch semantics (RFC 7386). Provide
|
|
949
|
+
key-value pairs to add or update tags. Set tag values to `null` to remove tags.
|
|
950
|
+
Unspecified tags remain unchanged. Read-only tags are always preserved and
|
|
951
|
+
cannot be modified. **Examples:**
|
|
952
|
+
|
|
953
|
+
- **Add/update tags:**
|
|
954
|
+
`{'tags': {'environment': 'production', 'team': 'backend'}}` adds new tags or
|
|
955
|
+
updates existing ones.
|
|
956
|
+
- **Delete tags:** `{'tags': {'`old_tag`': null}}` removes specific tags.
|
|
957
|
+
- **Remove all tags:** `{'tags': null}` removes all user-managed tags (read-only
|
|
958
|
+
tags are preserved).
|
|
959
|
+
- **Partial update:** `{'tags': {'environment': 'staging'}}` only updates
|
|
960
|
+
specified tags.
|
|
961
|
+
- **Mixed operations:**
|
|
962
|
+
`{'tags': {'environment': 'production', '`cost_center`': 'engineering', '`deprecated_tag`': null}}`
|
|
963
|
+
adds/updates 'environment' and '`cost_center`' while removing
|
|
964
|
+
'`deprecated_tag`', preserving other existing tags.
|
|
965
|
+
- **Replace all:** first delete existing tags with null values, then add new
|
|
966
|
+
ones in the same request.
|
|
967
|
+
|
|
915
968
|
extra_headers: Send extra headers
|
|
916
969
|
|
|
917
970
|
extra_query: Add additional query parameters to the request
|
|
@@ -933,6 +986,7 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
|
|
|
933
986
|
"logging": logging,
|
|
934
987
|
"name": name,
|
|
935
988
|
"preferred_connectivity": preferred_connectivity,
|
|
989
|
+
"tags": tags,
|
|
936
990
|
},
|
|
937
991
|
load_balancer_update_params.LoadBalancerUpdateParams,
|
|
938
992
|
),
|
|
@@ -978,18 +1032,16 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
|
|
|
978
1032
|
|
|
979
1033
|
offset: Offset value is used to exclude the first set of records from the result.
|
|
980
1034
|
|
|
981
|
-
order_by: Ordering Load Balancer list result by name, created_at
|
|
982
|
-
operating_status
|
|
983
|
-
fields of the load balancer and directions (name.asc), default is
|
|
984
|
-
"created_at
|
|
1035
|
+
order_by: Ordering Load Balancer list result by name, `created_at`, `updated_at`,
|
|
1036
|
+
`operating_status`, `provisioning_status`, `vip_address`, `vip_ip_family` and
|
|
1037
|
+
flavor fields of the load balancer and directions (name.asc), default is
|
|
1038
|
+
"`created_at`.asc"
|
|
985
1039
|
|
|
986
1040
|
show_stats: Show statistics
|
|
987
1041
|
|
|
988
1042
|
tag_key: Filter by tag keys.
|
|
989
1043
|
|
|
990
|
-
tag_key_value: Filter by tag key-value pairs. Must be a valid JSON string.
|
|
991
|
-
--data-urlencode "tag_key_value={"key": "value"}" --url
|
|
992
|
-
"http://localhost:1111/v1/loadbalancers/1/1"
|
|
1044
|
+
tag_key_value: Filter by tag key-value pairs. Must be a valid JSON string.
|
|
993
1045
|
|
|
994
1046
|
with_ddos: Show Advanced DDoS protection profile, if exists
|
|
995
1047
|
|
|
@@ -1086,7 +1138,7 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
|
|
|
1086
1138
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1087
1139
|
) -> TaskIDList:
|
|
1088
1140
|
"""
|
|
1089
|
-
Failover
|
|
1141
|
+
Failover load balancer
|
|
1090
1142
|
|
|
1091
1143
|
Args:
|
|
1092
1144
|
force: Validate current load balancer status before failover or not.
|
|
@@ -1186,7 +1238,7 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
|
|
|
1186
1238
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1187
1239
|
) -> TaskIDList:
|
|
1188
1240
|
"""
|
|
1189
|
-
Resize
|
|
1241
|
+
Resize load balancer
|
|
1190
1242
|
|
|
1191
1243
|
Args:
|
|
1192
1244
|
flavor: Name of the desired flavor to resize to.
|
|
@@ -1226,7 +1278,7 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
|
|
|
1226
1278
|
name: str | NotGiven = NOT_GIVEN,
|
|
1227
1279
|
name_template: str | NotGiven = NOT_GIVEN,
|
|
1228
1280
|
preferred_connectivity: LoadBalancerMemberConnectivity | NotGiven = NOT_GIVEN,
|
|
1229
|
-
tags:
|
|
1281
|
+
tags: Dict[str, str] | NotGiven = NOT_GIVEN,
|
|
1230
1282
|
vip_ip_family: InterfaceIPFamily | NotGiven = NOT_GIVEN,
|
|
1231
1283
|
vip_network_id: str | NotGiven = NOT_GIVEN,
|
|
1232
1284
|
vip_port_id: str | NotGiven = NOT_GIVEN,
|
|
@@ -1266,7 +1318,11 @@ class AsyncLoadBalancersResource(AsyncAPIResource):
|
|
|
1266
1318
|
extra_headers=extra_headers,
|
|
1267
1319
|
polling_interval_seconds=polling_interval_seconds,
|
|
1268
1320
|
)
|
|
1269
|
-
if
|
|
1321
|
+
if (
|
|
1322
|
+
not task.created_resources
|
|
1323
|
+
or not task.created_resources.loadbalancers
|
|
1324
|
+
or len(task.created_resources.loadbalancers) != 1
|
|
1325
|
+
):
|
|
1270
1326
|
raise ValueError(f"Expected exactly one resource to be created in a task")
|
|
1271
1327
|
return await self.get(
|
|
1272
1328
|
loadbalancer_id=task.created_resources.loadbalancers[0],
|
|
@@ -59,7 +59,7 @@ class MetricsResource(SyncAPIResource):
|
|
|
59
59
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
60
60
|
) -> LoadBalancerMetricsList:
|
|
61
61
|
"""
|
|
62
|
-
Get
|
|
62
|
+
Get load balancer metrics, including cpu, memory and network
|
|
63
63
|
|
|
64
64
|
Args:
|
|
65
65
|
time_interval: Time interval
|
|
@@ -132,7 +132,7 @@ class AsyncMetricsResource(AsyncAPIResource):
|
|
|
132
132
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
133
133
|
) -> LoadBalancerMetricsList:
|
|
134
134
|
"""
|
|
135
|
-
Get
|
|
135
|
+
Get load balancer metrics, including cpu, memory and network
|
|
136
136
|
|
|
137
137
|
Args:
|
|
138
138
|
time_interval: Time interval
|
|
@@ -68,7 +68,7 @@ class HealthMonitorsResource(SyncAPIResource):
|
|
|
68
68
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
69
69
|
) -> TaskIDList:
|
|
70
70
|
"""
|
|
71
|
-
Create
|
|
71
|
+
Create load balancer pool health monitor
|
|
72
72
|
|
|
73
73
|
Args:
|
|
74
74
|
project_id: Project ID
|
|
@@ -219,7 +219,7 @@ class AsyncHealthMonitorsResource(AsyncAPIResource):
|
|
|
219
219
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
220
220
|
) -> TaskIDList:
|
|
221
221
|
"""
|
|
222
|
-
Create
|
|
222
|
+
Create load balancer pool health monitor
|
|
223
223
|
|
|
224
224
|
Args:
|
|
225
225
|
project_id: Project ID
|