mirror of
https://github.com/cloudflare/cloudflare-python.git
synced 2026-01-16 23:01:03 +00:00
277 lines
10 KiB
Python
277 lines
10 KiB
Python
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Optional
|
|
from typing_extensions import Literal
|
|
|
|
import httpx
|
|
|
|
from ...._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
|
|
from ...._compat import cached_property
|
|
from ...._resource import SyncAPIResource, AsyncAPIResource
|
|
from ...._response import (
|
|
to_raw_response_wrapper,
|
|
to_streamed_response_wrapper,
|
|
async_to_raw_response_wrapper,
|
|
async_to_streamed_response_wrapper,
|
|
)
|
|
from ....pagination import SyncSinglePage, AsyncSinglePage
|
|
from ...._base_client import AsyncPaginator, make_request_options
|
|
from ....types.logpush.logpush_job import LogpushJob
|
|
|
|
__all__ = ["JobsResource", "AsyncJobsResource"]
|
|
|
|
|
|
class JobsResource(SyncAPIResource):
|
|
@cached_property
|
|
def with_raw_response(self) -> JobsResourceWithRawResponse:
|
|
"""
|
|
This property can be used as a prefix for any HTTP method call to return
|
|
the raw response object instead of the parsed content.
|
|
|
|
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
|
|
"""
|
|
return JobsResourceWithRawResponse(self)
|
|
|
|
@cached_property
|
|
def with_streaming_response(self) -> JobsResourceWithStreamingResponse:
|
|
"""
|
|
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
|
|
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
|
|
"""
|
|
return JobsResourceWithStreamingResponse(self)
|
|
|
|
def get(
|
|
self,
|
|
dataset_id: Optional[
|
|
Literal[
|
|
"access_requests",
|
|
"audit_logs",
|
|
"audit_logs_v2",
|
|
"biso_user_actions",
|
|
"casb_findings",
|
|
"device_posture_results",
|
|
"dex_application_tests",
|
|
"dex_device_state_events",
|
|
"dlp_forensic_copies",
|
|
"dns_firewall_logs",
|
|
"dns_logs",
|
|
"email_security_alerts",
|
|
"firewall_events",
|
|
"gateway_dns",
|
|
"gateway_http",
|
|
"gateway_network",
|
|
"http_requests",
|
|
"ipsec_logs",
|
|
"magic_ids_detections",
|
|
"nel_reports",
|
|
"network_analytics_logs",
|
|
"page_shield_events",
|
|
"sinkhole_http_logs",
|
|
"spectrum_events",
|
|
"ssh_logs",
|
|
"warp_config_changes",
|
|
"warp_toggle_changes",
|
|
"workers_trace_events",
|
|
"zaraz_events",
|
|
"zero_trust_network_sessions",
|
|
]
|
|
],
|
|
*,
|
|
account_id: str | Omit = omit,
|
|
zone_id: str | Omit = omit,
|
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
extra_headers: Headers | None = None,
|
|
extra_query: Query | None = None,
|
|
extra_body: Body | None = None,
|
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
) -> SyncSinglePage[Optional[LogpushJob]]:
|
|
"""
|
|
Lists Logpush jobs for an account or zone for a dataset.
|
|
|
|
Args:
|
|
dataset_id: Name of the dataset. A list of supported datasets can be found on the
|
|
[Developer Docs](https://developers.cloudflare.com/logs/reference/log-fields/).
|
|
|
|
account_id: The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
|
|
|
|
zone_id: The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
|
|
|
|
extra_headers: Send extra headers
|
|
|
|
extra_query: Add additional query parameters to the request
|
|
|
|
extra_body: Add additional JSON properties to the request
|
|
|
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
"""
|
|
if not dataset_id:
|
|
raise ValueError(f"Expected a non-empty value for `dataset_id` but received {dataset_id!r}")
|
|
if account_id and zone_id:
|
|
raise ValueError("You cannot provide both account_id and zone_id")
|
|
|
|
if account_id:
|
|
account_or_zone = "accounts"
|
|
account_or_zone_id = account_id
|
|
else:
|
|
if not zone_id:
|
|
raise ValueError("You must provide either account_id or zone_id")
|
|
|
|
account_or_zone = "zones"
|
|
account_or_zone_id = zone_id
|
|
return self._get_api_list(
|
|
f"/{account_or_zone}/{account_or_zone_id}/logpush/datasets/{dataset_id}/jobs",
|
|
page=SyncSinglePage[Optional[LogpushJob]],
|
|
options=make_request_options(
|
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
),
|
|
model=LogpushJob,
|
|
)
|
|
|
|
|
|
class AsyncJobsResource(AsyncAPIResource):
|
|
@cached_property
|
|
def with_raw_response(self) -> AsyncJobsResourceWithRawResponse:
|
|
"""
|
|
This property can be used as a prefix for any HTTP method call to return
|
|
the raw response object instead of the parsed content.
|
|
|
|
For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
|
|
"""
|
|
return AsyncJobsResourceWithRawResponse(self)
|
|
|
|
@cached_property
|
|
def with_streaming_response(self) -> AsyncJobsResourceWithStreamingResponse:
|
|
"""
|
|
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
|
|
For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
|
|
"""
|
|
return AsyncJobsResourceWithStreamingResponse(self)
|
|
|
|
def get(
|
|
self,
|
|
dataset_id: Optional[
|
|
Literal[
|
|
"access_requests",
|
|
"audit_logs",
|
|
"audit_logs_v2",
|
|
"biso_user_actions",
|
|
"casb_findings",
|
|
"device_posture_results",
|
|
"dex_application_tests",
|
|
"dex_device_state_events",
|
|
"dlp_forensic_copies",
|
|
"dns_firewall_logs",
|
|
"dns_logs",
|
|
"email_security_alerts",
|
|
"firewall_events",
|
|
"gateway_dns",
|
|
"gateway_http",
|
|
"gateway_network",
|
|
"http_requests",
|
|
"ipsec_logs",
|
|
"magic_ids_detections",
|
|
"nel_reports",
|
|
"network_analytics_logs",
|
|
"page_shield_events",
|
|
"sinkhole_http_logs",
|
|
"spectrum_events",
|
|
"ssh_logs",
|
|
"warp_config_changes",
|
|
"warp_toggle_changes",
|
|
"workers_trace_events",
|
|
"zaraz_events",
|
|
"zero_trust_network_sessions",
|
|
]
|
|
],
|
|
*,
|
|
account_id: str | Omit = omit,
|
|
zone_id: str | Omit = omit,
|
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
extra_headers: Headers | None = None,
|
|
extra_query: Query | None = None,
|
|
extra_body: Body | None = None,
|
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
) -> AsyncPaginator[Optional[LogpushJob], AsyncSinglePage[Optional[LogpushJob]]]:
|
|
"""
|
|
Lists Logpush jobs for an account or zone for a dataset.
|
|
|
|
Args:
|
|
dataset_id: Name of the dataset. A list of supported datasets can be found on the
|
|
[Developer Docs](https://developers.cloudflare.com/logs/reference/log-fields/).
|
|
|
|
account_id: The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
|
|
|
|
zone_id: The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
|
|
|
|
extra_headers: Send extra headers
|
|
|
|
extra_query: Add additional query parameters to the request
|
|
|
|
extra_body: Add additional JSON properties to the request
|
|
|
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
"""
|
|
if not dataset_id:
|
|
raise ValueError(f"Expected a non-empty value for `dataset_id` but received {dataset_id!r}")
|
|
if account_id and zone_id:
|
|
raise ValueError("You cannot provide both account_id and zone_id")
|
|
|
|
if account_id:
|
|
account_or_zone = "accounts"
|
|
account_or_zone_id = account_id
|
|
else:
|
|
if not zone_id:
|
|
raise ValueError("You must provide either account_id or zone_id")
|
|
|
|
account_or_zone = "zones"
|
|
account_or_zone_id = zone_id
|
|
return self._get_api_list(
|
|
f"/{account_or_zone}/{account_or_zone_id}/logpush/datasets/{dataset_id}/jobs",
|
|
page=AsyncSinglePage[Optional[LogpushJob]],
|
|
options=make_request_options(
|
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
),
|
|
model=LogpushJob,
|
|
)
|
|
|
|
|
|
class JobsResourceWithRawResponse:
|
|
def __init__(self, jobs: JobsResource) -> None:
|
|
self._jobs = jobs
|
|
|
|
self.get = to_raw_response_wrapper(
|
|
jobs.get,
|
|
)
|
|
|
|
|
|
class AsyncJobsResourceWithRawResponse:
|
|
def __init__(self, jobs: AsyncJobsResource) -> None:
|
|
self._jobs = jobs
|
|
|
|
self.get = async_to_raw_response_wrapper(
|
|
jobs.get,
|
|
)
|
|
|
|
|
|
class JobsResourceWithStreamingResponse:
|
|
def __init__(self, jobs: JobsResource) -> None:
|
|
self._jobs = jobs
|
|
|
|
self.get = to_streamed_response_wrapper(
|
|
jobs.get,
|
|
)
|
|
|
|
|
|
class AsyncJobsResourceWithStreamingResponse:
|
|
def __init__(self, jobs: AsyncJobsResource) -> None:
|
|
self._jobs = jobs
|
|
|
|
self.get = async_to_streamed_response_wrapper(
|
|
jobs.get,
|
|
)
|