gcore 0.9.0__py3-none-any.whl → 0.11.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/_base_client.py +3 -3
- gcore/_client.py +18 -0
- gcore/_compat.py +48 -48
- gcore/_models.py +41 -41
- gcore/_types.py +35 -1
- gcore/_utils/__init__.py +9 -2
- gcore/_utils/_compat.py +45 -0
- gcore/_utils/_datetime_parse.py +136 -0
- gcore/_utils/_transform.py +11 -1
- gcore/_utils/_typing.py +6 -1
- gcore/_utils/_utils.py +0 -1
- gcore/_version.py +1 -1
- gcore/resources/__init__.py +28 -0
- gcore/resources/cloud/__init__.py +14 -0
- gcore/resources/cloud/audit_logs.py +3 -3
- gcore/resources/cloud/baremetal/images.py +3 -4
- gcore/resources/cloud/baremetal/servers.py +16 -4
- gcore/resources/cloud/cloud.py +32 -0
- gcore/resources/cloud/cost_reports.py +24 -16
- gcore/resources/cloud/file_shares/access_rules.py +2 -2
- gcore/resources/cloud/file_shares/file_shares.py +30 -14
- gcore/resources/cloud/floating_ips.py +196 -4
- gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +1 -1
- gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +166 -190
- gcore/resources/cloud/gpu_baremetal_clusters/servers.py +268 -12
- gcore/resources/cloud/inference/__init__.py +14 -14
- gcore/resources/cloud/inference/applications/__init__.py +47 -0
- gcore/resources/cloud/inference/applications/applications.py +134 -0
- gcore/resources/cloud/inference/applications/deployments.py +649 -0
- gcore/resources/cloud/inference/applications/templates.py +238 -0
- gcore/resources/cloud/inference/deployments/deployments.py +41 -22
- gcore/resources/cloud/inference/inference.py +32 -32
- gcore/resources/cloud/inference/registry_credentials.py +8 -9
- gcore/resources/cloud/instances/images.py +4 -4
- gcore/resources/cloud/instances/instances.py +254 -4
- gcore/resources/cloud/instances/interfaces.py +544 -0
- gcore/resources/cloud/k8s/__init__.py +47 -0
- gcore/resources/cloud/k8s/clusters/__init__.py +47 -0
- gcore/resources/cloud/k8s/clusters/clusters.py +1391 -0
- gcore/resources/cloud/k8s/clusters/nodes.py +291 -0
- gcore/resources/cloud/k8s/clusters/pools/__init__.py +33 -0
- gcore/resources/cloud/k8s/clusters/pools/nodes.py +303 -0
- gcore/resources/cloud/k8s/clusters/pools/pools.py +870 -0
- gcore/resources/cloud/k8s/flavors.py +209 -0
- gcore/resources/cloud/k8s/k8s.py +233 -0
- gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +11 -12
- gcore/resources/cloud/load_balancers/l7_policies/rules.py +9 -10
- gcore/resources/cloud/load_balancers/listeners.py +18 -18
- gcore/resources/cloud/load_balancers/load_balancers.py +4 -4
- gcore/resources/cloud/load_balancers/pools/health_monitors.py +26 -10
- gcore/resources/cloud/load_balancers/pools/members.py +34 -4
- gcore/resources/cloud/load_balancers/pools/pools.py +32 -8
- gcore/resources/cloud/networks/networks.py +192 -4
- gcore/resources/cloud/networks/subnets.py +140 -8
- gcore/resources/cloud/reserved_fixed_ips/vip.py +5 -7
- gcore/resources/cloud/security_groups/security_groups.py +6 -6
- gcore/resources/cloud/tasks.py +46 -46
- gcore/resources/cloud/users/role_assignments.py +5 -4
- gcore/resources/cloud/volumes.py +4 -4
- gcore/resources/dns/__init__.py +75 -0
- gcore/resources/dns/dns.py +374 -0
- gcore/resources/dns/locations.py +288 -0
- gcore/resources/dns/metrics.py +214 -0
- gcore/resources/dns/pickers/__init__.py +33 -0
- gcore/resources/dns/pickers/pickers.py +167 -0
- gcore/resources/dns/pickers/presets.py +135 -0
- gcore/resources/dns/zones/__init__.py +47 -0
- gcore/resources/{cloud/inference/models.py → dns/zones/dnssec.py} +80 -122
- gcore/resources/dns/zones/rrsets.py +1005 -0
- gcore/resources/dns/zones/zones.py +1493 -0
- gcore/resources/security/bgp_announces.py +15 -15
- gcore/resources/storage/__init__.py +75 -0
- gcore/resources/storage/buckets/__init__.py +61 -0
- gcore/resources/storage/buckets/buckets.py +470 -0
- gcore/resources/storage/buckets/cors.py +265 -0
- gcore/resources/storage/buckets/lifecycle.py +276 -0
- gcore/resources/storage/buckets/policy.py +345 -0
- gcore/resources/storage/credentials.py +221 -0
- gcore/resources/storage/locations.py +190 -0
- gcore/resources/storage/statistics.py +364 -0
- gcore/resources/storage/storage.py +1042 -0
- gcore/resources/streaming/ai_tasks.py +56 -70
- gcore/resources/streaming/playlists.py +18 -18
- gcore/resources/streaming/quality_sets.py +8 -8
- gcore/resources/streaming/statistics.py +4 -122
- gcore/resources/streaming/streams/overlays.py +6 -6
- gcore/resources/streaming/streams/streams.py +40 -64
- gcore/resources/streaming/videos/subtitles.py +32 -30
- gcore/resources/streaming/videos/videos.py +78 -72
- gcore/resources/waap/__init__.py +14 -0
- gcore/resources/waap/custom_page_sets.py +40 -34
- gcore/resources/waap/domains/__init__.py +14 -28
- gcore/resources/waap/domains/advanced_rules.py +7 -10
- gcore/resources/waap/domains/{api_discovery/api_discovery.py → api_discovery.py} +292 -59
- gcore/resources/waap/domains/api_path_groups.py +5 -5
- gcore/resources/waap/domains/api_paths.py +28 -30
- gcore/resources/waap/domains/custom_rules.py +7 -10
- gcore/resources/waap/domains/domains.py +124 -68
- gcore/resources/waap/domains/firewall_rules.py +5 -7
- gcore/resources/waap/domains/insight_silences.py +34 -11
- gcore/resources/waap/domains/insights.py +43 -17
- gcore/resources/waap/domains/statistics.py +977 -0
- gcore/resources/waap/insights.py +233 -0
- gcore/resources/waap/ip_info/__init__.py +33 -0
- gcore/resources/waap/{ip_info.py → ip_info/ip_info.py} +149 -235
- gcore/resources/waap/ip_info/metrics.py +203 -0
- gcore/resources/waap/waap.py +40 -8
- gcore/types/cloud/__init__.py +2 -4
- gcore/types/cloud/audit_log_list_params.py +2 -1
- gcore/types/cloud/baremetal/image_list_params.py +3 -2
- gcore/types/cloud/baremetal/server_create_params.py +8 -6
- gcore/types/cloud/baremetal/server_list_params.py +3 -2
- gcore/types/cloud/baremetal/server_rebuild_params.py +2 -0
- gcore/types/cloud/cost_report_get_aggregated_monthly_params.py +35 -31
- gcore/types/cloud/cost_report_get_aggregated_params.py +26 -25
- gcore/types/cloud/cost_report_get_detailed_params.py +26 -25
- gcore/types/cloud/ddos_profile.py +13 -7
- gcore/types/cloud/ddos_profile_field.py +21 -8
- gcore/types/cloud/ddos_profile_option_list.py +7 -6
- gcore/types/cloud/ddos_profile_status.py +2 -2
- gcore/types/cloud/ddos_profile_template.py +7 -3
- gcore/types/cloud/ddos_profile_template_field.py +12 -3
- gcore/types/cloud/file_share.py +2 -2
- gcore/types/cloud/file_share_create_params.py +12 -6
- gcore/types/cloud/floating_ip_list_params.py +3 -2
- gcore/types/cloud/gpu_baremetal_cluster.py +101 -74
- gcore/types/cloud/gpu_baremetal_cluster_create_params.py +76 -93
- gcore/types/cloud/gpu_baremetal_cluster_delete_params.py +17 -10
- gcore/types/cloud/gpu_baremetal_cluster_list_params.py +14 -3
- gcore/types/cloud/gpu_baremetal_cluster_rebuild_params.py +4 -2
- gcore/types/cloud/gpu_baremetal_clusters/__init__.py +6 -0
- gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server.py +74 -0
- gcore/types/cloud/{gpu_baremetal_cluster_server.py → gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1.py} +10 -10
- gcore/types/cloud/gpu_baremetal_clusters/gpu_baremetal_cluster_server_v1_list.py +16 -0
- gcore/types/cloud/{gpu_baremetal_flavor.py → gpu_baremetal_clusters/gpu_baremetal_flavor.py} +1 -1
- gcore/types/cloud/{gpu_baremetal_flavor_list.py → gpu_baremetal_clusters/gpu_baremetal_flavor_list.py} +1 -1
- gcore/types/cloud/gpu_baremetal_clusters/server_list_params.py +75 -0
- gcore/types/cloud/health_monitor.py +6 -0
- gcore/types/cloud/inference/__init__.py +0 -5
- gcore/types/cloud/inference/applications/__init__.py +12 -0
- gcore/types/cloud/inference/applications/deployment_create_params.py +68 -0
- gcore/types/cloud/inference/applications/deployment_patch_params.py +62 -0
- gcore/types/cloud/inference/applications/inference_application_deployment.py +111 -0
- gcore/types/cloud/inference/applications/inference_application_deployment_list.py +16 -0
- gcore/types/cloud/inference/applications/inference_application_template.py +94 -0
- gcore/types/cloud/inference/applications/inference_application_template_list.py +16 -0
- gcore/types/cloud/inference/deployment_create_params.py +7 -6
- gcore/types/cloud/inference/deployment_update_params.py +7 -6
- gcore/types/cloud/instance_assign_security_group_params.py +4 -2
- gcore/types/cloud/instance_list_params.py +3 -2
- gcore/types/cloud/instance_unassign_security_group_params.py +4 -2
- gcore/types/cloud/instances/image_list_params.py +3 -2
- gcore/types/cloud/k8s/__init__.py +13 -0
- gcore/types/cloud/k8s/cluster_create_params.py +299 -0
- gcore/types/cloud/k8s/cluster_delete_params.py +16 -0
- gcore/types/cloud/k8s/cluster_update_params.py +203 -0
- gcore/types/cloud/k8s/cluster_upgrade_params.py +16 -0
- gcore/types/cloud/k8s/clusters/__init__.py +10 -0
- gcore/types/cloud/k8s/clusters/k8s_cluster_pool.py +66 -0
- gcore/types/cloud/k8s/clusters/k8s_cluster_pool_list.py +16 -0
- gcore/types/cloud/k8s/clusters/node_list_params.py +16 -0
- gcore/types/cloud/k8s/clusters/pool_create_params.py +53 -0
- gcore/types/cloud/k8s/clusters/pool_resize_params.py +18 -0
- gcore/types/cloud/k8s/clusters/pool_update_params.py +34 -0
- gcore/types/{waap/domains/analytics → cloud/k8s/clusters/pools}/__init__.py +1 -1
- gcore/types/cloud/k8s/clusters/pools/node_list_params.py +18 -0
- gcore/types/cloud/k8s/flavor_list_params.py +19 -0
- gcore/types/cloud/k8s/k8s_cluster.py +209 -0
- gcore/types/cloud/k8s/k8s_cluster_certificate.py +13 -0
- gcore/types/cloud/k8s/k8s_cluster_kubeconfig.py +19 -0
- gcore/types/cloud/k8s/k8s_cluster_list.py +16 -0
- gcore/types/cloud/k8s_cluster_version.py +10 -0
- gcore/types/cloud/{gpu_baremetal_cluster_server_list.py → k8s_cluster_version_list.py} +4 -4
- gcore/types/cloud/load_balancer_create_params.py +31 -7
- gcore/types/cloud/load_balancer_list_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policies/rule_create_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policies/rule_replace_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policy_create_params.py +3 -2
- gcore/types/cloud/load_balancers/l7_policy_replace_params.py +3 -2
- gcore/types/cloud/load_balancers/listener_create_params.py +4 -3
- gcore/types/cloud/load_balancers/listener_update_params.py +5 -3
- gcore/types/cloud/load_balancers/pool_create_params.py +27 -4
- gcore/types/cloud/load_balancers/pool_update_params.py +27 -4
- gcore/types/cloud/load_balancers/pools/health_monitor_create_params.py +7 -2
- gcore/types/cloud/load_balancers/pools/member_add_params.py +20 -2
- gcore/types/cloud/member.py +19 -1
- gcore/types/cloud/network_list_params.py +3 -2
- gcore/types/cloud/networks/subnet_create_params.py +3 -2
- gcore/types/cloud/networks/subnet_list_params.py +3 -2
- gcore/types/cloud/networks/subnet_update_params.py +3 -2
- gcore/types/cloud/project.py +9 -9
- gcore/types/cloud/region.py +0 -3
- gcore/types/cloud/reserved_fixed_ips/vip_replace_connected_ports_params.py +3 -2
- gcore/types/cloud/reserved_fixed_ips/vip_update_connected_ports_params.py +3 -2
- gcore/types/cloud/security_group_create_params.py +4 -2
- gcore/types/cloud/security_group_list_params.py +3 -2
- gcore/types/cloud/task_id_list.py +8 -1
- gcore/types/cloud/task_list_params.py +23 -23
- gcore/types/cloud/usage_report_get_params.py +26 -25
- gcore/types/cloud/users/role_assignment.py +2 -1
- gcore/types/cloud/users/role_assignment_create_params.py +4 -2
- gcore/types/cloud/users/role_assignment_update_params.py +4 -2
- gcore/types/cloud/volume_list_params.py +3 -2
- gcore/types/dns/__init__.py +31 -0
- gcore/types/dns/dns_get_account_overview_response.py +21 -0
- gcore/types/dns/dns_label_name.py +13 -0
- gcore/types/dns/dns_location_translations.py +11 -0
- gcore/types/dns/dns_lookup_params.py +15 -0
- gcore/types/dns/dns_lookup_response.py +21 -0
- gcore/types/dns/dns_name_server.py +17 -0
- gcore/types/dns/location_list_continents_response.py +10 -0
- gcore/types/dns/location_list_countries_response.py +10 -0
- gcore/types/dns/location_list_regions_response.py +10 -0
- gcore/types/dns/location_list_response.py +16 -0
- gcore/types/dns/metric_list_params.py +24 -0
- gcore/types/dns/metric_list_response.py +7 -0
- gcore/types/dns/picker_list_response.py +10 -0
- gcore/types/dns/pickers/__init__.py +5 -0
- gcore/types/dns/pickers/preset_list_response.py +10 -0
- gcore/types/dns/zone_check_delegation_status_response.py +20 -0
- gcore/types/dns/zone_create_params.py +59 -0
- gcore/types/dns/zone_create_response.py +13 -0
- gcore/types/dns/zone_export_response.py +11 -0
- gcore/types/dns/zone_get_response.py +106 -0
- gcore/types/dns/zone_get_statistics_params.py +43 -0
- gcore/types/dns/zone_get_statistics_response.py +19 -0
- gcore/types/dns/zone_import_params.py +32 -0
- gcore/types/dns/zone_import_response.py +26 -0
- gcore/types/dns/zone_list_params.py +57 -0
- gcore/types/dns/zone_list_response.py +105 -0
- gcore/types/dns/zone_replace_params.py +61 -0
- gcore/types/dns/zones/__init__.py +15 -0
- gcore/types/dns/zones/dns_failover_log.py +19 -0
- gcore/types/dns/zones/dns_output_rrset.py +123 -0
- gcore/types/dns/zones/dnssec_get_response.py +38 -0
- gcore/types/dns/zones/dnssec_update_params.py +11 -0
- gcore/types/dns/zones/dnssec_update_response.py +38 -0
- gcore/types/dns/zones/rrset_create_params.py +82 -0
- gcore/types/dns/zones/rrset_get_failover_logs_params.py +21 -0
- gcore/types/dns/zones/rrset_get_failover_logs_response.py +15 -0
- gcore/types/dns/zones/rrset_list_params.py +21 -0
- gcore/types/dns/zones/rrset_list_response.py +14 -0
- gcore/types/dns/zones/rrset_replace_params.py +82 -0
- gcore/types/security/__init__.py +1 -1
- gcore/types/security/{bgp_announce_change_params.py → bgp_announce_toggle_params.py} +2 -2
- gcore/types/security/client_profile.py +1 -1
- gcore/types/security/profile_create_params.py +2 -2
- gcore/types/security/profile_recreate_params.py +2 -2
- gcore/types/security/profile_replace_params.py +2 -2
- gcore/types/storage/__init__.py +21 -0
- gcore/types/storage/bucket.py +15 -0
- gcore/types/storage/bucket_list_params.py +15 -0
- gcore/types/storage/buckets/__init__.py +9 -0
- gcore/types/storage/buckets/bucket_cors.py +18 -0
- gcore/types/storage/buckets/bucket_policy.py +7 -0
- gcore/types/storage/buckets/cor_create_params.py +17 -0
- gcore/types/storage/buckets/lifecycle_create_params.py +18 -0
- gcore/types/storage/buckets/policy_get_response.py +7 -0
- gcore/types/storage/credential_recreate_params.py +36 -0
- gcore/types/storage/location.py +24 -0
- gcore/types/storage/location_list_params.py +13 -0
- gcore/types/storage/statistic_get_usage_aggregated_params.py +24 -0
- gcore/types/storage/statistic_get_usage_series_params.py +38 -0
- gcore/types/storage/statistic_get_usage_series_response.py +12 -0
- gcore/types/storage/storage.py +101 -0
- gcore/types/storage/storage_create_params.py +44 -0
- gcore/types/storage/storage_list_params.py +39 -0
- gcore/types/storage/storage_restore_params.py +11 -0
- gcore/types/storage/storage_update_params.py +18 -0
- gcore/types/storage/usage_series.py +201 -0
- gcore/types/storage/usage_total.py +54 -0
- gcore/types/streaming/__init__.py +0 -4
- gcore/types/streaming/ai_contentmoderation_hardnudity.py +1 -1
- gcore/types/streaming/ai_contentmoderation_nsfw.py +1 -1
- gcore/types/streaming/ai_contentmoderation_softnudity.py +1 -1
- gcore/types/streaming/ai_contentmoderation_sport.py +1 -1
- gcore/types/streaming/ai_task.py +1 -5
- gcore/types/streaming/ai_task_create_params.py +2 -2
- gcore/types/streaming/ai_task_get_response.py +0 -46
- gcore/types/streaming/clip.py +2 -1
- gcore/types/streaming/create_video_param.py +13 -12
- gcore/types/streaming/max_stream_series.py +5 -5
- gcore/types/streaming/playlist.py +1 -1
- gcore/types/streaming/playlist_create_params.py +1 -1
- gcore/types/streaming/playlist_update_params.py +1 -1
- gcore/types/streaming/playlist_video.py +13 -12
- gcore/types/streaming/storage_series.py +5 -5
- gcore/types/streaming/stream.py +86 -49
- gcore/types/streaming/stream_create_clip_params.py +2 -1
- gcore/types/streaming/stream_create_params.py +9 -23
- gcore/types/streaming/stream_series.py +5 -5
- gcore/types/streaming/stream_update_params.py +9 -23
- gcore/types/streaming/video.py +53 -42
- gcore/types/streaming/video_update_params.py +13 -12
- gcore/types/streaming/vod_statistics_series.py +5 -5
- gcore/types/streaming/vod_total_stream_duration_series.py +3 -3
- gcore/types/waap/__init__.py +6 -54
- gcore/types/waap/custom_page_set_create_params.py +121 -14
- gcore/types/waap/custom_page_set_preview_params.py +11 -4
- gcore/types/waap/custom_page_set_update_params.py +122 -15
- gcore/types/waap/domain_list_params.py +2 -4
- gcore/types/waap/domain_update_params.py +1 -1
- gcore/types/waap/domains/__init__.py +28 -18
- gcore/types/waap/domains/advanced_rule_create_params.py +7 -4
- gcore/types/waap/domains/advanced_rule_list_params.py +1 -3
- gcore/types/waap/domains/advanced_rule_update_params.py +6 -3
- gcore/types/waap/domains/{api_discovery/scan_result_list_params.py → api_discovery_list_scan_results_params.py} +2 -2
- gcore/types/waap/domains/api_path_create_params.py +4 -3
- gcore/types/waap/domains/{api_path_group_list_response.py → api_path_group_list.py} +2 -2
- gcore/types/waap/domains/api_path_list_params.py +3 -1
- gcore/types/waap/domains/api_path_update_params.py +5 -4
- gcore/types/waap/domains/custom_rule_create_params.py +13 -14
- gcore/types/waap/domains/custom_rule_list_params.py +1 -3
- gcore/types/waap/domains/custom_rule_update_params.py +12 -13
- gcore/types/waap/domains/firewall_rule_create_params.py +3 -2
- gcore/types/waap/domains/firewall_rule_update_params.py +2 -1
- gcore/types/waap/domains/insight_list_params.py +19 -7
- gcore/types/waap/domains/insight_replace_params.py +3 -5
- gcore/types/waap/domains/insight_silence_list_params.py +17 -6
- gcore/types/waap/domains/setting_update_params.py +3 -2
- gcore/types/waap/domains/{analytics_list_ddos_attacks_params.py → statistic_get_ddos_attacks_params.py} +2 -2
- gcore/types/waap/domains/statistic_get_ddos_info_params.py +28 -0
- gcore/types/waap/domains/statistic_get_events_aggregated_params.py +33 -0
- gcore/types/waap/domains/statistic_get_requests_series_params.py +74 -0
- gcore/types/waap/domains/statistic_get_traffic_series_params.py +22 -0
- gcore/types/waap/domains/statistic_get_traffic_series_response.py +10 -0
- gcore/types/waap/{waap_advanced_rule.py → domains/waap_advanced_rule.py} +4 -3
- gcore/types/waap/domains/{api_discovery_get_settings_response.py → waap_api_discovery_settings.py} +2 -2
- gcore/types/waap/domains/{api_path_get_response.py → waap_api_path.py} +6 -6
- gcore/types/waap/domains/{api_discovery/scan_result_get_response.py → waap_api_scan_result.py} +5 -5
- gcore/types/waap/{waap_blocked_statistics.py → domains/waap_blocked_statistics.py} +1 -1
- gcore/types/waap/{waap_count_statistics.py → domains/waap_count_statistics.py} +1 -1
- gcore/types/waap/{waap_custom_rule.py → domains/waap_custom_rule.py} +5 -8
- gcore/types/waap/{waap_ddos_attack.py → domains/waap_ddos_attack.py} +1 -1
- gcore/types/waap/{waap_ddos_info.py → domains/waap_ddos_info.py} +1 -1
- gcore/types/waap/{waap_event_statistics.py → domains/waap_event_statistics.py} +1 -1
- gcore/types/waap/{waap_firewall_rule.py → domains/waap_firewall_rule.py} +4 -3
- gcore/types/waap/{waap_insight.py → domains/waap_insight.py} +4 -4
- gcore/types/waap/{waap_insight_silence.py → domains/waap_insight_silence.py} +1 -1
- gcore/types/waap/domains/waap_request_details.py +186 -0
- gcore/types/waap/{waap_request_summary.py → domains/waap_request_summary.py} +1 -1
- gcore/types/waap/domains/{api_discovery_scan_openapi_response.py → waap_task_id.py} +2 -2
- gcore/types/waap/{waap_traffic_metrics.py → domains/waap_traffic_metrics.py} +1 -1
- gcore/types/waap/insight_list_types_params.py +28 -0
- gcore/types/waap/ip_info/__init__.py +6 -0
- gcore/types/waap/{ip_info_get_counts_params.py → ip_info/metric_list_params.py} +2 -2
- gcore/types/waap/{waap_ip_info_counts.py → ip_info/waap_ip_info_counts.py} +1 -1
- gcore/types/waap/{ip_info_get_params.py → ip_info_get_ip_info_params.py} +2 -2
- gcore/types/waap/{waap_ip_info.py → ip_info_get_ip_info_response.py} +2 -2
- gcore/types/waap/ip_info_get_top_urls_response.py +12 -3
- gcore/types/waap/{ip_info_get_top_sessions_params.py → ip_info_get_top_user_sessions_params.py} +2 -2
- gcore/types/waap/{ip_info_get_top_sessions_response.py → ip_info_get_top_user_sessions_response.py} +2 -2
- gcore/types/waap/waap_custom_page_set.py +113 -13
- gcore/types/waap/waap_detailed_domain.py +2 -2
- gcore/types/waap/waap_insight_type.py +33 -0
- gcore/types/waap/waap_ip_ddos_info_model.py +3 -3
- gcore/types/waap/waap_rule_set.py +26 -3
- gcore/types/waap/waap_summary_domain.py +2 -2
- {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/METADATA +7 -2
- {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/RECORD +362 -281
- gcore/resources/waap/domains/analytics/__init__.py +0 -33
- gcore/resources/waap/domains/analytics/analytics.py +0 -676
- gcore/resources/waap/domains/analytics/requests.py +0 -378
- gcore/resources/waap/domains/api_discovery/__init__.py +0 -33
- gcore/resources/waap/domains/api_discovery/scan_results.py +0 -352
- gcore/resources/waap/domains/policies.py +0 -173
- gcore/types/cloud/inference/inference_model.py +0 -65
- gcore/types/cloud/inference/inference_registry_credentials_create.py +0 -22
- gcore/types/cloud/inference/model_list_params.py +0 -21
- gcore/types/streaming/ai_contentmoderation_casm.py +0 -39
- gcore/types/streaming/ai_contentmoderation_weapon.py +0 -39
- gcore/types/streaming/meet_series.py +0 -23
- gcore/types/streaming/statistic_get_meet_series_params.py +0 -20
- gcore/types/waap/domains/analytics/request_list_params.py +0 -53
- gcore/types/waap/domains/analytics_get_event_statistics_params.py +0 -34
- gcore/types/waap/domains/analytics_list_ddos_info_params.py +0 -31
- gcore/types/waap/domains/analytics_list_event_traffic_params.py +0 -26
- gcore/types/waap/domains/analytics_list_event_traffic_response.py +0 -10
- gcore/types/waap/domains/api_discovery/__init__.py +0 -7
- gcore/types/waap/domains/api_discovery/scan_result_list_response.py +0 -29
- gcore/types/waap/domains/api_discovery_update_settings_response.py +0 -36
- gcore/types/waap/domains/api_discovery_upload_openapi_response.py +0 -10
- gcore/types/waap/domains/api_path_create_response.py +0 -50
- gcore/types/waap/domains/api_path_list_response.py +0 -50
- gcore/types/waap/waap_block_csrf_page_data.py +0 -28
- gcore/types/waap/waap_block_csrf_page_data_param.py +0 -28
- gcore/types/waap/waap_block_page_data.py +0 -28
- gcore/types/waap/waap_block_page_data_param.py +0 -28
- gcore/types/waap/waap_captcha_page_data.py +0 -31
- gcore/types/waap/waap_captcha_page_data_param.py +0 -31
- gcore/types/waap/waap_common_tag.py +0 -16
- gcore/types/waap/waap_cookie_disabled_page_data.py +0 -18
- gcore/types/waap/waap_cookie_disabled_page_data_param.py +0 -18
- gcore/types/waap/waap_customer_rule_state.py +0 -7
- gcore/types/waap/waap_domain_policy.py +0 -29
- gcore/types/waap/waap_domain_status.py +0 -7
- gcore/types/waap/waap_handshake_page_data.py +0 -25
- gcore/types/waap/waap_handshake_page_data_param.py +0 -25
- gcore/types/waap/waap_insight_silence_sort_by.py +0 -9
- gcore/types/waap/waap_insight_sort_by.py +0 -20
- gcore/types/waap/waap_insight_status.py +0 -7
- gcore/types/waap/waap_javascript_disabled_page_data.py +0 -18
- gcore/types/waap/waap_javascript_disabled_page_data_param.py +0 -18
- gcore/types/waap/waap_network_details.py +0 -17
- gcore/types/waap/waap_page_type.py +0 -9
- gcore/types/waap/waap_paginated_custom_page_set.py +0 -22
- gcore/types/waap/waap_paginated_ddos_attack.py +0 -22
- gcore/types/waap/waap_paginated_ddos_info.py +0 -22
- gcore/types/waap/waap_paginated_request_summary.py +0 -22
- gcore/types/waap/waap_pattern_matched_tag.py +0 -37
- gcore/types/waap/waap_policy_action.py +0 -7
- gcore/types/waap/waap_request_details.py +0 -92
- gcore/types/waap/waap_request_organization.py +0 -13
- gcore/types/waap/waap_resolution.py +0 -7
- gcore/types/waap/waap_rule_action_type.py +0 -7
- gcore/types/waap/waap_top_url.py +0 -13
- gcore/types/waap/waap_traffic_type.py +0 -28
- gcore/types/waap/waap_user_agent_details.py +0 -40
- {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/WHEEL +0 -0
- {gcore-0.9.0.dist-info → gcore-0.11.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -2,46 +2,54 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Optional
|
|
6
|
-
|
|
7
5
|
import httpx
|
|
8
6
|
|
|
9
|
-
from
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
from .metrics import (
|
|
8
|
+
MetricsResource,
|
|
9
|
+
AsyncMetricsResource,
|
|
10
|
+
MetricsResourceWithRawResponse,
|
|
11
|
+
AsyncMetricsResourceWithRawResponse,
|
|
12
|
+
MetricsResourceWithStreamingResponse,
|
|
13
|
+
AsyncMetricsResourceWithStreamingResponse,
|
|
14
|
+
)
|
|
15
|
+
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
|
|
16
|
+
from ...._utils import maybe_transform, async_maybe_transform
|
|
17
|
+
from ...._compat import cached_property
|
|
18
|
+
from ...._resource import SyncAPIResource, AsyncAPIResource
|
|
19
|
+
from ...._response import (
|
|
14
20
|
to_raw_response_wrapper,
|
|
15
21
|
to_streamed_response_wrapper,
|
|
16
22
|
async_to_raw_response_wrapper,
|
|
17
23
|
async_to_streamed_response_wrapper,
|
|
18
24
|
)
|
|
19
|
-
from
|
|
20
|
-
|
|
21
|
-
ip_info_get_counts_params,
|
|
25
|
+
from ....types.waap import (
|
|
26
|
+
ip_info_get_ip_info_params,
|
|
22
27
|
ip_info_get_top_urls_params,
|
|
23
|
-
ip_info_get_top_sessions_params,
|
|
24
28
|
ip_info_get_top_user_agents_params,
|
|
25
29
|
ip_info_get_blocked_requests_params,
|
|
30
|
+
ip_info_get_top_user_sessions_params,
|
|
26
31
|
ip_info_get_attack_time_series_params,
|
|
27
32
|
ip_info_get_ddos_attack_series_params,
|
|
28
33
|
ip_info_list_attacked_countries_params,
|
|
29
34
|
)
|
|
30
|
-
from
|
|
31
|
-
from
|
|
32
|
-
from
|
|
33
|
-
from
|
|
34
|
-
from
|
|
35
|
-
from
|
|
36
|
-
from
|
|
37
|
-
from
|
|
38
|
-
from
|
|
39
|
-
from ...types.waap.ip_info_list_attacked_countries_response import IPInfoListAttackedCountriesResponse
|
|
35
|
+
from ...._base_client import make_request_options
|
|
36
|
+
from ....types.waap.waap_ip_ddos_info_model import WaapIPDDOSInfoModel
|
|
37
|
+
from ....types.waap.ip_info_get_ip_info_response import IPInfoGetIPInfoResponse
|
|
38
|
+
from ....types.waap.ip_info_get_top_urls_response import IPInfoGetTopURLsResponse
|
|
39
|
+
from ....types.waap.ip_info_get_top_user_agents_response import IPInfoGetTopUserAgentsResponse
|
|
40
|
+
from ....types.waap.ip_info_get_blocked_requests_response import IPInfoGetBlockedRequestsResponse
|
|
41
|
+
from ....types.waap.ip_info_get_top_user_sessions_response import IPInfoGetTopUserSessionsResponse
|
|
42
|
+
from ....types.waap.ip_info_get_attack_time_series_response import IPInfoGetAttackTimeSeriesResponse
|
|
43
|
+
from ....types.waap.ip_info_list_attacked_countries_response import IPInfoListAttackedCountriesResponse
|
|
40
44
|
|
|
41
45
|
__all__ = ["IPInfoResource", "AsyncIPInfoResource"]
|
|
42
46
|
|
|
43
47
|
|
|
44
48
|
class IPInfoResource(SyncAPIResource):
|
|
49
|
+
@cached_property
|
|
50
|
+
def metrics(self) -> MetricsResource:
|
|
51
|
+
return MetricsResource(self._client)
|
|
52
|
+
|
|
45
53
|
@cached_property
|
|
46
54
|
def with_raw_response(self) -> IPInfoResourceWithRawResponse:
|
|
47
55
|
"""
|
|
@@ -61,44 +69,6 @@ class IPInfoResource(SyncAPIResource):
|
|
|
61
69
|
"""
|
|
62
70
|
return IPInfoResourceWithStreamingResponse(self)
|
|
63
71
|
|
|
64
|
-
def get(
|
|
65
|
-
self,
|
|
66
|
-
*,
|
|
67
|
-
ip: str,
|
|
68
|
-
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
69
|
-
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
70
|
-
extra_headers: Headers | None = None,
|
|
71
|
-
extra_query: Query | None = None,
|
|
72
|
-
extra_body: Body | None = None,
|
|
73
|
-
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
74
|
-
) -> WaapIPInfo:
|
|
75
|
-
"""
|
|
76
|
-
Fetch details about a particular IP address, including WHOIS data, risk score,
|
|
77
|
-
and additional tags.
|
|
78
|
-
|
|
79
|
-
Args:
|
|
80
|
-
ip: The IP address to check
|
|
81
|
-
|
|
82
|
-
extra_headers: Send extra headers
|
|
83
|
-
|
|
84
|
-
extra_query: Add additional query parameters to the request
|
|
85
|
-
|
|
86
|
-
extra_body: Add additional JSON properties to the request
|
|
87
|
-
|
|
88
|
-
timeout: Override the client-level default timeout for this request, in seconds
|
|
89
|
-
"""
|
|
90
|
-
return self._get(
|
|
91
|
-
"/waap/v1/ip-info/ip-info",
|
|
92
|
-
options=make_request_options(
|
|
93
|
-
extra_headers=extra_headers,
|
|
94
|
-
extra_query=extra_query,
|
|
95
|
-
extra_body=extra_body,
|
|
96
|
-
timeout=timeout,
|
|
97
|
-
query=maybe_transform({"ip": ip}, ip_info_get_params.IPInfoGetParams),
|
|
98
|
-
),
|
|
99
|
-
cast_to=WaapIPInfo,
|
|
100
|
-
)
|
|
101
|
-
|
|
102
72
|
def get_attack_time_series(
|
|
103
73
|
self,
|
|
104
74
|
*,
|
|
@@ -189,31 +159,27 @@ class IPInfoResource(SyncAPIResource):
|
|
|
189
159
|
cast_to=IPInfoGetBlockedRequestsResponse,
|
|
190
160
|
)
|
|
191
161
|
|
|
192
|
-
def
|
|
162
|
+
def get_ddos_attack_series(
|
|
193
163
|
self,
|
|
194
164
|
*,
|
|
195
165
|
ip: str,
|
|
196
|
-
domain_id: Optional[int] | NotGiven = NOT_GIVEN,
|
|
197
166
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
198
167
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
199
168
|
extra_headers: Headers | None = None,
|
|
200
169
|
extra_query: Query | None = None,
|
|
201
170
|
extra_body: Body | None = None,
|
|
202
171
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
203
|
-
) ->
|
|
172
|
+
) -> WaapIPDDOSInfoModel:
|
|
204
173
|
"""
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
174
|
+
Fetch and analyze DDoS (Distributed Denial of Service) attack metrics for a
|
|
175
|
+
specified IP address. The endpoint provides time-series data, enabling users to
|
|
176
|
+
evaluate the frequency and intensity of attacks across various time intervals,
|
|
177
|
+
and it returns metrics in Prometheus format to offer a systematic view of DDoS
|
|
178
|
+
attack patterns.
|
|
209
179
|
|
|
210
180
|
Args:
|
|
211
181
|
ip: The IP address to check
|
|
212
182
|
|
|
213
|
-
domain_id: The identifier for a domain. When specified, the response will exclusively
|
|
214
|
-
contain data pertinent to the indicated domain, filtering out information from
|
|
215
|
-
other domains.
|
|
216
|
-
|
|
217
183
|
extra_headers: Send extra headers
|
|
218
184
|
|
|
219
185
|
extra_query: Add additional query parameters to the request
|
|
@@ -223,24 +189,20 @@ class IPInfoResource(SyncAPIResource):
|
|
|
223
189
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
224
190
|
"""
|
|
225
191
|
return self._get(
|
|
226
|
-
"/waap/v1/ip-info/
|
|
192
|
+
"/waap/v1/ip-info/ddos",
|
|
227
193
|
options=make_request_options(
|
|
228
194
|
extra_headers=extra_headers,
|
|
229
195
|
extra_query=extra_query,
|
|
230
196
|
extra_body=extra_body,
|
|
231
197
|
timeout=timeout,
|
|
232
198
|
query=maybe_transform(
|
|
233
|
-
{
|
|
234
|
-
"ip": ip,
|
|
235
|
-
"domain_id": domain_id,
|
|
236
|
-
},
|
|
237
|
-
ip_info_get_counts_params.IPInfoGetCountsParams,
|
|
199
|
+
{"ip": ip}, ip_info_get_ddos_attack_series_params.IPInfoGetDDOSAttackSeriesParams
|
|
238
200
|
),
|
|
239
201
|
),
|
|
240
|
-
cast_to=
|
|
202
|
+
cast_to=WaapIPDDOSInfoModel,
|
|
241
203
|
)
|
|
242
204
|
|
|
243
|
-
def
|
|
205
|
+
def get_ip_info(
|
|
244
206
|
self,
|
|
245
207
|
*,
|
|
246
208
|
ip: str,
|
|
@@ -250,13 +212,10 @@ class IPInfoResource(SyncAPIResource):
|
|
|
250
212
|
extra_query: Query | None = None,
|
|
251
213
|
extra_body: Body | None = None,
|
|
252
214
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
253
|
-
) ->
|
|
215
|
+
) -> IPInfoGetIPInfoResponse:
|
|
254
216
|
"""
|
|
255
|
-
Fetch
|
|
256
|
-
|
|
257
|
-
evaluate the frequency and intensity of attacks across various time intervals,
|
|
258
|
-
and it returns metrics in Prometheus format to offer a systematic view of DDoS
|
|
259
|
-
attack patterns.
|
|
217
|
+
Fetch details about a particular IP address, including WHOIS data, risk score,
|
|
218
|
+
and additional tags.
|
|
260
219
|
|
|
261
220
|
Args:
|
|
262
221
|
ip: The IP address to check
|
|
@@ -270,20 +229,18 @@ class IPInfoResource(SyncAPIResource):
|
|
|
270
229
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
271
230
|
"""
|
|
272
231
|
return self._get(
|
|
273
|
-
"/waap/v1/ip-info/
|
|
232
|
+
"/waap/v1/ip-info/ip-info",
|
|
274
233
|
options=make_request_options(
|
|
275
234
|
extra_headers=extra_headers,
|
|
276
235
|
extra_query=extra_query,
|
|
277
236
|
extra_body=extra_body,
|
|
278
237
|
timeout=timeout,
|
|
279
|
-
query=maybe_transform(
|
|
280
|
-
{"ip": ip}, ip_info_get_ddos_attack_series_params.IPInfoGetDDOSAttackSeriesParams
|
|
281
|
-
),
|
|
238
|
+
query=maybe_transform({"ip": ip}, ip_info_get_ip_info_params.IPInfoGetIPInfoParams),
|
|
282
239
|
),
|
|
283
|
-
cast_to=
|
|
240
|
+
cast_to=IPInfoGetIPInfoResponse,
|
|
284
241
|
)
|
|
285
242
|
|
|
286
|
-
def
|
|
243
|
+
def get_top_urls(
|
|
287
244
|
self,
|
|
288
245
|
*,
|
|
289
246
|
domain_id: int,
|
|
@@ -294,10 +251,12 @@ class IPInfoResource(SyncAPIResource):
|
|
|
294
251
|
extra_query: Query | None = None,
|
|
295
252
|
extra_body: Body | None = None,
|
|
296
253
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
297
|
-
) ->
|
|
254
|
+
) -> IPInfoGetTopURLsResponse:
|
|
298
255
|
"""
|
|
299
|
-
|
|
300
|
-
|
|
256
|
+
Returns a list of the top 10 URLs accessed by a specified IP address within a
|
|
257
|
+
specific domain. This data is vital to understand user navigation patterns,
|
|
258
|
+
pinpoint high-traffic pages, and facilitate more targeted enhancements or
|
|
259
|
+
security monitoring based on URL popularity.
|
|
301
260
|
|
|
302
261
|
Args:
|
|
303
262
|
domain_id: The identifier for a domain. When specified, the response will exclusively
|
|
@@ -315,7 +274,7 @@ class IPInfoResource(SyncAPIResource):
|
|
|
315
274
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
316
275
|
"""
|
|
317
276
|
return self._get(
|
|
318
|
-
"/waap/v1/ip-info/top-
|
|
277
|
+
"/waap/v1/ip-info/top-urls",
|
|
319
278
|
options=make_request_options(
|
|
320
279
|
extra_headers=extra_headers,
|
|
321
280
|
extra_query=extra_query,
|
|
@@ -326,13 +285,13 @@ class IPInfoResource(SyncAPIResource):
|
|
|
326
285
|
"domain_id": domain_id,
|
|
327
286
|
"ip": ip,
|
|
328
287
|
},
|
|
329
|
-
|
|
288
|
+
ip_info_get_top_urls_params.IPInfoGetTopURLsParams,
|
|
330
289
|
),
|
|
331
290
|
),
|
|
332
|
-
cast_to=
|
|
291
|
+
cast_to=IPInfoGetTopURLsResponse,
|
|
333
292
|
)
|
|
334
293
|
|
|
335
|
-
def
|
|
294
|
+
def get_top_user_agents(
|
|
336
295
|
self,
|
|
337
296
|
*,
|
|
338
297
|
domain_id: int,
|
|
@@ -343,12 +302,10 @@ class IPInfoResource(SyncAPIResource):
|
|
|
343
302
|
extra_query: Query | None = None,
|
|
344
303
|
extra_body: Body | None = None,
|
|
345
304
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
346
|
-
) ->
|
|
305
|
+
) -> IPInfoGetTopUserAgentsResponse:
|
|
347
306
|
"""
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
pinpoint high-traffic pages, and facilitate more targeted enhancements or
|
|
351
|
-
security monitoring based on URL popularity.
|
|
307
|
+
Retrieve the top 10 user agents interacting with a specified domain, filtered by
|
|
308
|
+
IP.
|
|
352
309
|
|
|
353
310
|
Args:
|
|
354
311
|
domain_id: The identifier for a domain. When specified, the response will exclusively
|
|
@@ -366,7 +323,7 @@ class IPInfoResource(SyncAPIResource):
|
|
|
366
323
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
367
324
|
"""
|
|
368
325
|
return self._get(
|
|
369
|
-
"/waap/v1/ip-info/top-
|
|
326
|
+
"/waap/v1/ip-info/top-user-agents",
|
|
370
327
|
options=make_request_options(
|
|
371
328
|
extra_headers=extra_headers,
|
|
372
329
|
extra_query=extra_query,
|
|
@@ -377,13 +334,13 @@ class IPInfoResource(SyncAPIResource):
|
|
|
377
334
|
"domain_id": domain_id,
|
|
378
335
|
"ip": ip,
|
|
379
336
|
},
|
|
380
|
-
|
|
337
|
+
ip_info_get_top_user_agents_params.IPInfoGetTopUserAgentsParams,
|
|
381
338
|
),
|
|
382
339
|
),
|
|
383
|
-
cast_to=
|
|
340
|
+
cast_to=IPInfoGetTopUserAgentsResponse,
|
|
384
341
|
)
|
|
385
342
|
|
|
386
|
-
def
|
|
343
|
+
def get_top_user_sessions(
|
|
387
344
|
self,
|
|
388
345
|
*,
|
|
389
346
|
domain_id: int,
|
|
@@ -394,10 +351,10 @@ class IPInfoResource(SyncAPIResource):
|
|
|
394
351
|
extra_query: Query | None = None,
|
|
395
352
|
extra_body: Body | None = None,
|
|
396
353
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
397
|
-
) ->
|
|
354
|
+
) -> IPInfoGetTopUserSessionsResponse:
|
|
398
355
|
"""
|
|
399
|
-
|
|
400
|
-
IP.
|
|
356
|
+
Obtain the top 10 user sessions interfacing with a particular domain, identified
|
|
357
|
+
by IP.
|
|
401
358
|
|
|
402
359
|
Args:
|
|
403
360
|
domain_id: The identifier for a domain. When specified, the response will exclusively
|
|
@@ -415,7 +372,7 @@ class IPInfoResource(SyncAPIResource):
|
|
|
415
372
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
416
373
|
"""
|
|
417
374
|
return self._get(
|
|
418
|
-
"/waap/v1/ip-info/top-
|
|
375
|
+
"/waap/v1/ip-info/top-sessions",
|
|
419
376
|
options=make_request_options(
|
|
420
377
|
extra_headers=extra_headers,
|
|
421
378
|
extra_query=extra_query,
|
|
@@ -426,10 +383,10 @@ class IPInfoResource(SyncAPIResource):
|
|
|
426
383
|
"domain_id": domain_id,
|
|
427
384
|
"ip": ip,
|
|
428
385
|
},
|
|
429
|
-
|
|
386
|
+
ip_info_get_top_user_sessions_params.IPInfoGetTopUserSessionsParams,
|
|
430
387
|
),
|
|
431
388
|
),
|
|
432
|
-
cast_to=
|
|
389
|
+
cast_to=IPInfoGetTopUserSessionsResponse,
|
|
433
390
|
)
|
|
434
391
|
|
|
435
392
|
def list_attacked_countries(
|
|
@@ -473,6 +430,10 @@ class IPInfoResource(SyncAPIResource):
|
|
|
473
430
|
|
|
474
431
|
|
|
475
432
|
class AsyncIPInfoResource(AsyncAPIResource):
|
|
433
|
+
@cached_property
|
|
434
|
+
def metrics(self) -> AsyncMetricsResource:
|
|
435
|
+
return AsyncMetricsResource(self._client)
|
|
436
|
+
|
|
476
437
|
@cached_property
|
|
477
438
|
def with_raw_response(self) -> AsyncIPInfoResourceWithRawResponse:
|
|
478
439
|
"""
|
|
@@ -492,44 +453,6 @@ class AsyncIPInfoResource(AsyncAPIResource):
|
|
|
492
453
|
"""
|
|
493
454
|
return AsyncIPInfoResourceWithStreamingResponse(self)
|
|
494
455
|
|
|
495
|
-
async def get(
|
|
496
|
-
self,
|
|
497
|
-
*,
|
|
498
|
-
ip: str,
|
|
499
|
-
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
500
|
-
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
501
|
-
extra_headers: Headers | None = None,
|
|
502
|
-
extra_query: Query | None = None,
|
|
503
|
-
extra_body: Body | None = None,
|
|
504
|
-
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
505
|
-
) -> WaapIPInfo:
|
|
506
|
-
"""
|
|
507
|
-
Fetch details about a particular IP address, including WHOIS data, risk score,
|
|
508
|
-
and additional tags.
|
|
509
|
-
|
|
510
|
-
Args:
|
|
511
|
-
ip: The IP address to check
|
|
512
|
-
|
|
513
|
-
extra_headers: Send extra headers
|
|
514
|
-
|
|
515
|
-
extra_query: Add additional query parameters to the request
|
|
516
|
-
|
|
517
|
-
extra_body: Add additional JSON properties to the request
|
|
518
|
-
|
|
519
|
-
timeout: Override the client-level default timeout for this request, in seconds
|
|
520
|
-
"""
|
|
521
|
-
return await self._get(
|
|
522
|
-
"/waap/v1/ip-info/ip-info",
|
|
523
|
-
options=make_request_options(
|
|
524
|
-
extra_headers=extra_headers,
|
|
525
|
-
extra_query=extra_query,
|
|
526
|
-
extra_body=extra_body,
|
|
527
|
-
timeout=timeout,
|
|
528
|
-
query=await async_maybe_transform({"ip": ip}, ip_info_get_params.IPInfoGetParams),
|
|
529
|
-
),
|
|
530
|
-
cast_to=WaapIPInfo,
|
|
531
|
-
)
|
|
532
|
-
|
|
533
456
|
async def get_attack_time_series(
|
|
534
457
|
self,
|
|
535
458
|
*,
|
|
@@ -620,31 +543,27 @@ class AsyncIPInfoResource(AsyncAPIResource):
|
|
|
620
543
|
cast_to=IPInfoGetBlockedRequestsResponse,
|
|
621
544
|
)
|
|
622
545
|
|
|
623
|
-
async def
|
|
546
|
+
async def get_ddos_attack_series(
|
|
624
547
|
self,
|
|
625
548
|
*,
|
|
626
549
|
ip: str,
|
|
627
|
-
domain_id: Optional[int] | NotGiven = NOT_GIVEN,
|
|
628
550
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
629
551
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
630
552
|
extra_headers: Headers | None = None,
|
|
631
553
|
extra_query: Query | None = None,
|
|
632
554
|
extra_body: Body | None = None,
|
|
633
555
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
634
|
-
) ->
|
|
556
|
+
) -> WaapIPDDOSInfoModel:
|
|
635
557
|
"""
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
558
|
+
Fetch and analyze DDoS (Distributed Denial of Service) attack metrics for a
|
|
559
|
+
specified IP address. The endpoint provides time-series data, enabling users to
|
|
560
|
+
evaluate the frequency and intensity of attacks across various time intervals,
|
|
561
|
+
and it returns metrics in Prometheus format to offer a systematic view of DDoS
|
|
562
|
+
attack patterns.
|
|
640
563
|
|
|
641
564
|
Args:
|
|
642
565
|
ip: The IP address to check
|
|
643
566
|
|
|
644
|
-
domain_id: The identifier for a domain. When specified, the response will exclusively
|
|
645
|
-
contain data pertinent to the indicated domain, filtering out information from
|
|
646
|
-
other domains.
|
|
647
|
-
|
|
648
567
|
extra_headers: Send extra headers
|
|
649
568
|
|
|
650
569
|
extra_query: Add additional query parameters to the request
|
|
@@ -654,24 +573,20 @@ class AsyncIPInfoResource(AsyncAPIResource):
|
|
|
654
573
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
655
574
|
"""
|
|
656
575
|
return await self._get(
|
|
657
|
-
"/waap/v1/ip-info/
|
|
576
|
+
"/waap/v1/ip-info/ddos",
|
|
658
577
|
options=make_request_options(
|
|
659
578
|
extra_headers=extra_headers,
|
|
660
579
|
extra_query=extra_query,
|
|
661
580
|
extra_body=extra_body,
|
|
662
581
|
timeout=timeout,
|
|
663
582
|
query=await async_maybe_transform(
|
|
664
|
-
{
|
|
665
|
-
"ip": ip,
|
|
666
|
-
"domain_id": domain_id,
|
|
667
|
-
},
|
|
668
|
-
ip_info_get_counts_params.IPInfoGetCountsParams,
|
|
583
|
+
{"ip": ip}, ip_info_get_ddos_attack_series_params.IPInfoGetDDOSAttackSeriesParams
|
|
669
584
|
),
|
|
670
585
|
),
|
|
671
|
-
cast_to=
|
|
586
|
+
cast_to=WaapIPDDOSInfoModel,
|
|
672
587
|
)
|
|
673
588
|
|
|
674
|
-
async def
|
|
589
|
+
async def get_ip_info(
|
|
675
590
|
self,
|
|
676
591
|
*,
|
|
677
592
|
ip: str,
|
|
@@ -681,13 +596,10 @@ class AsyncIPInfoResource(AsyncAPIResource):
|
|
|
681
596
|
extra_query: Query | None = None,
|
|
682
597
|
extra_body: Body | None = None,
|
|
683
598
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
684
|
-
) ->
|
|
599
|
+
) -> IPInfoGetIPInfoResponse:
|
|
685
600
|
"""
|
|
686
|
-
Fetch
|
|
687
|
-
|
|
688
|
-
evaluate the frequency and intensity of attacks across various time intervals,
|
|
689
|
-
and it returns metrics in Prometheus format to offer a systematic view of DDoS
|
|
690
|
-
attack patterns.
|
|
601
|
+
Fetch details about a particular IP address, including WHOIS data, risk score,
|
|
602
|
+
and additional tags.
|
|
691
603
|
|
|
692
604
|
Args:
|
|
693
605
|
ip: The IP address to check
|
|
@@ -701,20 +613,18 @@ class AsyncIPInfoResource(AsyncAPIResource):
|
|
|
701
613
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
702
614
|
"""
|
|
703
615
|
return await self._get(
|
|
704
|
-
"/waap/v1/ip-info/
|
|
616
|
+
"/waap/v1/ip-info/ip-info",
|
|
705
617
|
options=make_request_options(
|
|
706
618
|
extra_headers=extra_headers,
|
|
707
619
|
extra_query=extra_query,
|
|
708
620
|
extra_body=extra_body,
|
|
709
621
|
timeout=timeout,
|
|
710
|
-
query=await async_maybe_transform(
|
|
711
|
-
{"ip": ip}, ip_info_get_ddos_attack_series_params.IPInfoGetDDOSAttackSeriesParams
|
|
712
|
-
),
|
|
622
|
+
query=await async_maybe_transform({"ip": ip}, ip_info_get_ip_info_params.IPInfoGetIPInfoParams),
|
|
713
623
|
),
|
|
714
|
-
cast_to=
|
|
624
|
+
cast_to=IPInfoGetIPInfoResponse,
|
|
715
625
|
)
|
|
716
626
|
|
|
717
|
-
async def
|
|
627
|
+
async def get_top_urls(
|
|
718
628
|
self,
|
|
719
629
|
*,
|
|
720
630
|
domain_id: int,
|
|
@@ -725,10 +635,12 @@ class AsyncIPInfoResource(AsyncAPIResource):
|
|
|
725
635
|
extra_query: Query | None = None,
|
|
726
636
|
extra_body: Body | None = None,
|
|
727
637
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
728
|
-
) ->
|
|
638
|
+
) -> IPInfoGetTopURLsResponse:
|
|
729
639
|
"""
|
|
730
|
-
|
|
731
|
-
|
|
640
|
+
Returns a list of the top 10 URLs accessed by a specified IP address within a
|
|
641
|
+
specific domain. This data is vital to understand user navigation patterns,
|
|
642
|
+
pinpoint high-traffic pages, and facilitate more targeted enhancements or
|
|
643
|
+
security monitoring based on URL popularity.
|
|
732
644
|
|
|
733
645
|
Args:
|
|
734
646
|
domain_id: The identifier for a domain. When specified, the response will exclusively
|
|
@@ -746,7 +658,7 @@ class AsyncIPInfoResource(AsyncAPIResource):
|
|
|
746
658
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
747
659
|
"""
|
|
748
660
|
return await self._get(
|
|
749
|
-
"/waap/v1/ip-info/top-
|
|
661
|
+
"/waap/v1/ip-info/top-urls",
|
|
750
662
|
options=make_request_options(
|
|
751
663
|
extra_headers=extra_headers,
|
|
752
664
|
extra_query=extra_query,
|
|
@@ -757,13 +669,13 @@ class AsyncIPInfoResource(AsyncAPIResource):
|
|
|
757
669
|
"domain_id": domain_id,
|
|
758
670
|
"ip": ip,
|
|
759
671
|
},
|
|
760
|
-
|
|
672
|
+
ip_info_get_top_urls_params.IPInfoGetTopURLsParams,
|
|
761
673
|
),
|
|
762
674
|
),
|
|
763
|
-
cast_to=
|
|
675
|
+
cast_to=IPInfoGetTopURLsResponse,
|
|
764
676
|
)
|
|
765
677
|
|
|
766
|
-
async def
|
|
678
|
+
async def get_top_user_agents(
|
|
767
679
|
self,
|
|
768
680
|
*,
|
|
769
681
|
domain_id: int,
|
|
@@ -774,12 +686,10 @@ class AsyncIPInfoResource(AsyncAPIResource):
|
|
|
774
686
|
extra_query: Query | None = None,
|
|
775
687
|
extra_body: Body | None = None,
|
|
776
688
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
777
|
-
) ->
|
|
689
|
+
) -> IPInfoGetTopUserAgentsResponse:
|
|
778
690
|
"""
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
pinpoint high-traffic pages, and facilitate more targeted enhancements or
|
|
782
|
-
security monitoring based on URL popularity.
|
|
691
|
+
Retrieve the top 10 user agents interacting with a specified domain, filtered by
|
|
692
|
+
IP.
|
|
783
693
|
|
|
784
694
|
Args:
|
|
785
695
|
domain_id: The identifier for a domain. When specified, the response will exclusively
|
|
@@ -797,7 +707,7 @@ class AsyncIPInfoResource(AsyncAPIResource):
|
|
|
797
707
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
798
708
|
"""
|
|
799
709
|
return await self._get(
|
|
800
|
-
"/waap/v1/ip-info/top-
|
|
710
|
+
"/waap/v1/ip-info/top-user-agents",
|
|
801
711
|
options=make_request_options(
|
|
802
712
|
extra_headers=extra_headers,
|
|
803
713
|
extra_query=extra_query,
|
|
@@ -808,13 +718,13 @@ class AsyncIPInfoResource(AsyncAPIResource):
|
|
|
808
718
|
"domain_id": domain_id,
|
|
809
719
|
"ip": ip,
|
|
810
720
|
},
|
|
811
|
-
|
|
721
|
+
ip_info_get_top_user_agents_params.IPInfoGetTopUserAgentsParams,
|
|
812
722
|
),
|
|
813
723
|
),
|
|
814
|
-
cast_to=
|
|
724
|
+
cast_to=IPInfoGetTopUserAgentsResponse,
|
|
815
725
|
)
|
|
816
726
|
|
|
817
|
-
async def
|
|
727
|
+
async def get_top_user_sessions(
|
|
818
728
|
self,
|
|
819
729
|
*,
|
|
820
730
|
domain_id: int,
|
|
@@ -825,10 +735,10 @@ class AsyncIPInfoResource(AsyncAPIResource):
|
|
|
825
735
|
extra_query: Query | None = None,
|
|
826
736
|
extra_body: Body | None = None,
|
|
827
737
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
828
|
-
) ->
|
|
738
|
+
) -> IPInfoGetTopUserSessionsResponse:
|
|
829
739
|
"""
|
|
830
|
-
|
|
831
|
-
IP.
|
|
740
|
+
Obtain the top 10 user sessions interfacing with a particular domain, identified
|
|
741
|
+
by IP.
|
|
832
742
|
|
|
833
743
|
Args:
|
|
834
744
|
domain_id: The identifier for a domain. When specified, the response will exclusively
|
|
@@ -846,7 +756,7 @@ class AsyncIPInfoResource(AsyncAPIResource):
|
|
|
846
756
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
847
757
|
"""
|
|
848
758
|
return await self._get(
|
|
849
|
-
"/waap/v1/ip-info/top-
|
|
759
|
+
"/waap/v1/ip-info/top-sessions",
|
|
850
760
|
options=make_request_options(
|
|
851
761
|
extra_headers=extra_headers,
|
|
852
762
|
extra_query=extra_query,
|
|
@@ -857,10 +767,10 @@ class AsyncIPInfoResource(AsyncAPIResource):
|
|
|
857
767
|
"domain_id": domain_id,
|
|
858
768
|
"ip": ip,
|
|
859
769
|
},
|
|
860
|
-
|
|
770
|
+
ip_info_get_top_user_sessions_params.IPInfoGetTopUserSessionsParams,
|
|
861
771
|
),
|
|
862
772
|
),
|
|
863
|
-
cast_to=
|
|
773
|
+
cast_to=IPInfoGetTopUserSessionsResponse,
|
|
864
774
|
)
|
|
865
775
|
|
|
866
776
|
async def list_attacked_countries(
|
|
@@ -907,23 +817,17 @@ class IPInfoResourceWithRawResponse:
|
|
|
907
817
|
def __init__(self, ip_info: IPInfoResource) -> None:
|
|
908
818
|
self._ip_info = ip_info
|
|
909
819
|
|
|
910
|
-
self.get = to_raw_response_wrapper(
|
|
911
|
-
ip_info.get,
|
|
912
|
-
)
|
|
913
820
|
self.get_attack_time_series = to_raw_response_wrapper(
|
|
914
821
|
ip_info.get_attack_time_series,
|
|
915
822
|
)
|
|
916
823
|
self.get_blocked_requests = to_raw_response_wrapper(
|
|
917
824
|
ip_info.get_blocked_requests,
|
|
918
825
|
)
|
|
919
|
-
self.get_counts = to_raw_response_wrapper(
|
|
920
|
-
ip_info.get_counts,
|
|
921
|
-
)
|
|
922
826
|
self.get_ddos_attack_series = to_raw_response_wrapper(
|
|
923
827
|
ip_info.get_ddos_attack_series,
|
|
924
828
|
)
|
|
925
|
-
self.
|
|
926
|
-
ip_info.
|
|
829
|
+
self.get_ip_info = to_raw_response_wrapper(
|
|
830
|
+
ip_info.get_ip_info,
|
|
927
831
|
)
|
|
928
832
|
self.get_top_urls = to_raw_response_wrapper(
|
|
929
833
|
ip_info.get_top_urls,
|
|
@@ -931,32 +835,33 @@ class IPInfoResourceWithRawResponse:
|
|
|
931
835
|
self.get_top_user_agents = to_raw_response_wrapper(
|
|
932
836
|
ip_info.get_top_user_agents,
|
|
933
837
|
)
|
|
838
|
+
self.get_top_user_sessions = to_raw_response_wrapper(
|
|
839
|
+
ip_info.get_top_user_sessions,
|
|
840
|
+
)
|
|
934
841
|
self.list_attacked_countries = to_raw_response_wrapper(
|
|
935
842
|
ip_info.list_attacked_countries,
|
|
936
843
|
)
|
|
937
844
|
|
|
845
|
+
@cached_property
|
|
846
|
+
def metrics(self) -> MetricsResourceWithRawResponse:
|
|
847
|
+
return MetricsResourceWithRawResponse(self._ip_info.metrics)
|
|
848
|
+
|
|
938
849
|
|
|
939
850
|
class AsyncIPInfoResourceWithRawResponse:
|
|
940
851
|
def __init__(self, ip_info: AsyncIPInfoResource) -> None:
|
|
941
852
|
self._ip_info = ip_info
|
|
942
853
|
|
|
943
|
-
self.get = async_to_raw_response_wrapper(
|
|
944
|
-
ip_info.get,
|
|
945
|
-
)
|
|
946
854
|
self.get_attack_time_series = async_to_raw_response_wrapper(
|
|
947
855
|
ip_info.get_attack_time_series,
|
|
948
856
|
)
|
|
949
857
|
self.get_blocked_requests = async_to_raw_response_wrapper(
|
|
950
858
|
ip_info.get_blocked_requests,
|
|
951
859
|
)
|
|
952
|
-
self.get_counts = async_to_raw_response_wrapper(
|
|
953
|
-
ip_info.get_counts,
|
|
954
|
-
)
|
|
955
860
|
self.get_ddos_attack_series = async_to_raw_response_wrapper(
|
|
956
861
|
ip_info.get_ddos_attack_series,
|
|
957
862
|
)
|
|
958
|
-
self.
|
|
959
|
-
ip_info.
|
|
863
|
+
self.get_ip_info = async_to_raw_response_wrapper(
|
|
864
|
+
ip_info.get_ip_info,
|
|
960
865
|
)
|
|
961
866
|
self.get_top_urls = async_to_raw_response_wrapper(
|
|
962
867
|
ip_info.get_top_urls,
|
|
@@ -964,32 +869,33 @@ class AsyncIPInfoResourceWithRawResponse:
|
|
|
964
869
|
self.get_top_user_agents = async_to_raw_response_wrapper(
|
|
965
870
|
ip_info.get_top_user_agents,
|
|
966
871
|
)
|
|
872
|
+
self.get_top_user_sessions = async_to_raw_response_wrapper(
|
|
873
|
+
ip_info.get_top_user_sessions,
|
|
874
|
+
)
|
|
967
875
|
self.list_attacked_countries = async_to_raw_response_wrapper(
|
|
968
876
|
ip_info.list_attacked_countries,
|
|
969
877
|
)
|
|
970
878
|
|
|
879
|
+
@cached_property
|
|
880
|
+
def metrics(self) -> AsyncMetricsResourceWithRawResponse:
|
|
881
|
+
return AsyncMetricsResourceWithRawResponse(self._ip_info.metrics)
|
|
882
|
+
|
|
971
883
|
|
|
972
884
|
class IPInfoResourceWithStreamingResponse:
|
|
973
885
|
def __init__(self, ip_info: IPInfoResource) -> None:
|
|
974
886
|
self._ip_info = ip_info
|
|
975
887
|
|
|
976
|
-
self.get = to_streamed_response_wrapper(
|
|
977
|
-
ip_info.get,
|
|
978
|
-
)
|
|
979
888
|
self.get_attack_time_series = to_streamed_response_wrapper(
|
|
980
889
|
ip_info.get_attack_time_series,
|
|
981
890
|
)
|
|
982
891
|
self.get_blocked_requests = to_streamed_response_wrapper(
|
|
983
892
|
ip_info.get_blocked_requests,
|
|
984
893
|
)
|
|
985
|
-
self.get_counts = to_streamed_response_wrapper(
|
|
986
|
-
ip_info.get_counts,
|
|
987
|
-
)
|
|
988
894
|
self.get_ddos_attack_series = to_streamed_response_wrapper(
|
|
989
895
|
ip_info.get_ddos_attack_series,
|
|
990
896
|
)
|
|
991
|
-
self.
|
|
992
|
-
ip_info.
|
|
897
|
+
self.get_ip_info = to_streamed_response_wrapper(
|
|
898
|
+
ip_info.get_ip_info,
|
|
993
899
|
)
|
|
994
900
|
self.get_top_urls = to_streamed_response_wrapper(
|
|
995
901
|
ip_info.get_top_urls,
|
|
@@ -997,32 +903,33 @@ class IPInfoResourceWithStreamingResponse:
|
|
|
997
903
|
self.get_top_user_agents = to_streamed_response_wrapper(
|
|
998
904
|
ip_info.get_top_user_agents,
|
|
999
905
|
)
|
|
906
|
+
self.get_top_user_sessions = to_streamed_response_wrapper(
|
|
907
|
+
ip_info.get_top_user_sessions,
|
|
908
|
+
)
|
|
1000
909
|
self.list_attacked_countries = to_streamed_response_wrapper(
|
|
1001
910
|
ip_info.list_attacked_countries,
|
|
1002
911
|
)
|
|
1003
912
|
|
|
913
|
+
@cached_property
|
|
914
|
+
def metrics(self) -> MetricsResourceWithStreamingResponse:
|
|
915
|
+
return MetricsResourceWithStreamingResponse(self._ip_info.metrics)
|
|
916
|
+
|
|
1004
917
|
|
|
1005
918
|
class AsyncIPInfoResourceWithStreamingResponse:
|
|
1006
919
|
def __init__(self, ip_info: AsyncIPInfoResource) -> None:
|
|
1007
920
|
self._ip_info = ip_info
|
|
1008
921
|
|
|
1009
|
-
self.get = async_to_streamed_response_wrapper(
|
|
1010
|
-
ip_info.get,
|
|
1011
|
-
)
|
|
1012
922
|
self.get_attack_time_series = async_to_streamed_response_wrapper(
|
|
1013
923
|
ip_info.get_attack_time_series,
|
|
1014
924
|
)
|
|
1015
925
|
self.get_blocked_requests = async_to_streamed_response_wrapper(
|
|
1016
926
|
ip_info.get_blocked_requests,
|
|
1017
927
|
)
|
|
1018
|
-
self.get_counts = async_to_streamed_response_wrapper(
|
|
1019
|
-
ip_info.get_counts,
|
|
1020
|
-
)
|
|
1021
928
|
self.get_ddos_attack_series = async_to_streamed_response_wrapper(
|
|
1022
929
|
ip_info.get_ddos_attack_series,
|
|
1023
930
|
)
|
|
1024
|
-
self.
|
|
1025
|
-
ip_info.
|
|
931
|
+
self.get_ip_info = async_to_streamed_response_wrapper(
|
|
932
|
+
ip_info.get_ip_info,
|
|
1026
933
|
)
|
|
1027
934
|
self.get_top_urls = async_to_streamed_response_wrapper(
|
|
1028
935
|
ip_info.get_top_urls,
|
|
@@ -1030,6 +937,13 @@ class AsyncIPInfoResourceWithStreamingResponse:
|
|
|
1030
937
|
self.get_top_user_agents = async_to_streamed_response_wrapper(
|
|
1031
938
|
ip_info.get_top_user_agents,
|
|
1032
939
|
)
|
|
940
|
+
self.get_top_user_sessions = async_to_streamed_response_wrapper(
|
|
941
|
+
ip_info.get_top_user_sessions,
|
|
942
|
+
)
|
|
1033
943
|
self.list_attacked_countries = async_to_streamed_response_wrapper(
|
|
1034
944
|
ip_info.list_attacked_countries,
|
|
1035
945
|
)
|
|
946
|
+
|
|
947
|
+
@cached_property
|
|
948
|
+
def metrics(self) -> AsyncMetricsResourceWithStreamingResponse:
|
|
949
|
+
return AsyncMetricsResourceWithStreamingResponse(self._ip_info.metrics)
|