Skip to content

Commit

Permalink
feat(api): update via SDK Studio (#2194)
Browse files Browse the repository at this point in the history
stainless-app[bot] authored and stainless-bot committed Nov 20, 2024
1 parent d4deaed commit 9949651
Showing 21 changed files with 298 additions and 608 deletions.
2 changes: 1 addition & 1 deletion .stats.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
configured_endpoints: 1448
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-a87c8380ec40a8719b4385109e29fd5ec40c54f39d6fe216861c55e43ab74fd3.yml
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-4acaaed718bd08d16e3866d5ad032fbf2bbfeb978df2cf5164edb81fe41e4f89.yml
2 changes: 1 addition & 1 deletion api.md
Original file line number Diff line number Diff line change
@@ -2684,7 +2684,7 @@ Types:

```python
from cloudflare.types.api_gateway import (
APIShieldOperationModel,
APIShield,
OperationCreateResponse,
OperationListResponse,
OperationDeleteResponse,
11 changes: 5 additions & 6 deletions src/cloudflare/resources/api_gateway/operations/operations.py
Original file line number Diff line number Diff line change
@@ -31,13 +31,12 @@
SchemaValidationResourceWithStreamingResponse,
AsyncSchemaValidationResourceWithStreamingResponse,
)
from ....types.api_gateway import operation_get_params, operation_list_params
from ....types.api_gateway import operation_get_params, operation_list_params, operation_create_params
from ....types.api_gateway.operation_get_response import OperationGetResponse
from ....types.api_gateway.operation_list_response import OperationListResponse
from ....types.api_gateway.operation_create_response import OperationCreateResponse
from ....types.api_gateway.operation_delete_response import OperationDeleteResponse
from ....types.api_gateway.operation_bulk_delete_response import OperationBulkDeleteResponse
from ....types.api_gateway.api_shield_operation_model_param import APIShieldOperationModelParam

__all__ = ["OperationsResource", "AsyncOperationsResource"]

@@ -70,7 +69,7 @@ def create(
self,
*,
zone_id: str,
body: Iterable[APIShieldOperationModelParam],
body: Iterable[operation_create_params.Body],
# 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,
@@ -101,7 +100,7 @@ def create(
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
return self._post(
f"/zones/{zone_id}/api_gateway/operations",
body=maybe_transform(body, Iterable[APIShieldOperationModelParam]),
body=maybe_transform(body, Iterable[operation_create_params.Body]),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -345,7 +344,7 @@ async def create(
self,
*,
zone_id: str,
body: Iterable[APIShieldOperationModelParam],
body: Iterable[operation_create_params.Body],
# 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,
@@ -376,7 +375,7 @@ async def create(
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
return await self._post(
f"/zones/{zone_id}/api_gateway/operations",
body=await async_maybe_transform(body, Iterable[APIShieldOperationModelParam]),
body=await async_maybe_transform(body, Iterable[operation_create_params.Body]),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
Original file line number Diff line number Diff line change
@@ -216,8 +216,7 @@ def create(
self_hosted_domains: List of domains that Access will secure.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy.
session_duration: The amount of time that tokens issued for this application will be valid. Must
be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
@@ -409,8 +408,7 @@ def create(
self_hosted_domains: List of domains that Access will secure.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy.
session_duration: The amount of time that tokens issued for this application will be valid. Must
be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
@@ -534,8 +532,7 @@ def create(
self_hosted_domains: List of domains that Access will secure.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy.
session_duration: The amount of time that tokens issued for this application will be valid. Must
be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
@@ -1098,8 +1095,7 @@ def update(
self_hosted_domains: List of domains that Access will secure.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy.
session_duration: The amount of time that tokens issued for this application will be valid. Must
be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
@@ -1297,8 +1293,7 @@ def update(
self_hosted_domains: List of domains that Access will secure.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy.
session_duration: The amount of time that tokens issued for this application will be valid. Must
be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
@@ -1425,8 +1420,7 @@ def update(
self_hosted_domains: List of domains that Access will secure.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy.
session_duration: The amount of time that tokens issued for this application will be valid. Must
be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
@@ -2290,8 +2284,7 @@ async def create(
self_hosted_domains: List of domains that Access will secure.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy.
session_duration: The amount of time that tokens issued for this application will be valid. Must
be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
@@ -2483,8 +2476,7 @@ async def create(
self_hosted_domains: List of domains that Access will secure.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy.
session_duration: The amount of time that tokens issued for this application will be valid. Must
be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
@@ -2608,8 +2600,7 @@ async def create(
self_hosted_domains: List of domains that Access will secure.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy.
session_duration: The amount of time that tokens issued for this application will be valid. Must
be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
@@ -3172,8 +3163,7 @@ async def update(
self_hosted_domains: List of domains that Access will secure.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy.
session_duration: The amount of time that tokens issued for this application will be valid. Must
be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
@@ -3371,8 +3361,7 @@ async def update(
self_hosted_domains: List of domains that Access will secure.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy.
session_duration: The amount of time that tokens issued for this application will be valid. Must
be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
@@ -3499,8 +3488,7 @@ async def update(
self_hosted_domains: List of domains that Access will secure.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
service_auth_401_redirect: Returns a 401 status code when the request is blocked by a Service Auth policy.
session_duration: The amount of time that tokens issued for this application will be valid. Must
be in the format `300ms` or `2h45m`. Valid time units are: ns, us (or µs), ms,
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ class IP(BaseModel):
created_at: Optional[datetime] = None

ip: Optional[str] = None
"""An IPv4 or IPv6 address. foo"""
"""An IPv4 or IPv6 address."""


class Membership(BaseModel):
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ class IP(BaseModel):
created_at: Optional[datetime] = None

ip: Optional[str] = None
"""An IPv4 or IPv6 address. foo"""
"""An IPv4 or IPv6 address."""


class Membership(BaseModel):
3 changes: 1 addition & 2 deletions src/cloudflare/types/api_gateway/__init__.py
Original file line number Diff line number Diff line change
@@ -4,6 +4,7 @@

from .message import Message as Message
from .settings import Settings as Settings
from .api_shield import APIShield as APIShield
from .configuration import Configuration as Configuration
from .public_schema import PublicSchema as PublicSchema
from .schema_upload import SchemaUpload as SchemaUpload
@@ -22,9 +23,7 @@
from .operation_create_response import OperationCreateResponse as OperationCreateResponse
from .operation_delete_response import OperationDeleteResponse as OperationDeleteResponse
from .user_schema_create_params import UserSchemaCreateParams as UserSchemaCreateParams
from .api_shield_operation_model import APIShieldOperationModel as APIShieldOperationModel
from .configuration_update_params import ConfigurationUpdateParams as ConfigurationUpdateParams
from .user_schema_delete_response import UserSchemaDeleteResponse as UserSchemaDeleteResponse
from .configuration_update_response import ConfigurationUpdateResponse as ConfigurationUpdateResponse
from .operation_bulk_delete_response import OperationBulkDeleteResponse as OperationBulkDeleteResponse
from .api_shield_operation_model_param import APIShieldOperationModelParam as APIShieldOperationModelParam
227 changes: 227 additions & 0 deletions src/cloudflare/types/api_gateway/api_shield.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import List, Union, Optional
from datetime import datetime
from typing_extensions import Literal, TypeAlias

from ..._models import BaseModel

__all__ = [
"APIShield",
"Features",
"FeaturesAPIShieldOperationFeatureThresholds",
"FeaturesAPIShieldOperationFeatureThresholdsThresholds",
"FeaturesAPIShieldOperationFeatureParameterSchemas",
"FeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemas",
"FeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemasParameterSchemas",
"FeaturesAPIShieldOperationFeatureAPIRouting",
"FeaturesAPIShieldOperationFeatureAPIRoutingAPIRouting",
"FeaturesAPIShieldOperationFeatureConfidenceIntervals",
"FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervals",
"FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThreshold",
"FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervals",
"FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP90",
"FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP95",
"FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP99",
"FeaturesAPIShieldOperationFeatureSchemaInfo",
"FeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfo",
"FeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoActiveSchema",
]


class FeaturesAPIShieldOperationFeatureThresholdsThresholds(BaseModel):
auth_id_tokens: Optional[int] = None
"""The total number of auth-ids seen across this calculation."""

data_points: Optional[int] = None
"""The number of data points used for the threshold suggestion calculation."""

last_updated: Optional[datetime] = None

p50: Optional[int] = None
"""The p50 quantile of requests (in period_seconds)."""

p90: Optional[int] = None
"""The p90 quantile of requests (in period_seconds)."""

p99: Optional[int] = None
"""The p99 quantile of requests (in period_seconds)."""

period_seconds: Optional[int] = None
"""The period over which this threshold is suggested."""

requests: Optional[int] = None
"""The estimated number of requests covered by these calculations."""

suggested_threshold: Optional[int] = None
"""The suggested threshold in requests done by the same auth_id or period_seconds."""


class FeaturesAPIShieldOperationFeatureThresholds(BaseModel):
thresholds: Optional[FeaturesAPIShieldOperationFeatureThresholdsThresholds] = None


class FeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemasParameterSchemas(BaseModel):
parameters: Optional[List[object]] = None
"""An array containing the learned parameter schemas."""

responses: Optional[object] = None
"""An empty response object.
This field is required to yield a valid operation schema.
"""


class FeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemas(BaseModel):
last_updated: Optional[datetime] = None

parameter_schemas: Optional[FeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemasParameterSchemas] = (
None
)
"""An operation schema object containing a response."""


class FeaturesAPIShieldOperationFeatureParameterSchemas(BaseModel):
parameter_schemas: FeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemas


class FeaturesAPIShieldOperationFeatureAPIRoutingAPIRouting(BaseModel):
last_updated: Optional[datetime] = None

route: Optional[str] = None
"""Target route."""


class FeaturesAPIShieldOperationFeatureAPIRouting(BaseModel):
api_routing: Optional[FeaturesAPIShieldOperationFeatureAPIRoutingAPIRouting] = None
"""API Routing settings on endpoint."""


class FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP90(
BaseModel
):
lower: Optional[float] = None
"""Lower bound for percentile estimate"""

upper: Optional[float] = None
"""Upper bound for percentile estimate"""


class FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP95(
BaseModel
):
lower: Optional[float] = None
"""Lower bound for percentile estimate"""

upper: Optional[float] = None
"""Upper bound for percentile estimate"""


class FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP99(
BaseModel
):
lower: Optional[float] = None
"""Lower bound for percentile estimate"""

upper: Optional[float] = None
"""Upper bound for percentile estimate"""


class FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervals(
BaseModel
):
p90: Optional[
FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP90
] = None
"""Upper and lower bound for percentile estimate"""

p95: Optional[
FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP95
] = None
"""Upper and lower bound for percentile estimate"""

p99: Optional[
FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP99
] = None
"""Upper and lower bound for percentile estimate"""


class FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThreshold(BaseModel):
confidence_intervals: Optional[
FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervals
] = None

mean: Optional[float] = None
"""Suggested threshold."""


class FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervals(BaseModel):
last_updated: Optional[datetime] = None

suggested_threshold: Optional[
FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThreshold
] = None


class FeaturesAPIShieldOperationFeatureConfidenceIntervals(BaseModel):
confidence_intervals: Optional[FeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervals] = None


class FeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoActiveSchema(BaseModel):
id: Optional[str] = None
"""UUID"""

created_at: Optional[datetime] = None

is_learned: Optional[bool] = None
"""True if schema is Cloudflare-provided."""

name: Optional[str] = None
"""Schema file name."""


class FeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfo(BaseModel):
active_schema: Optional[FeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoActiveSchema] = None
"""Schema active on endpoint."""

learned_available: Optional[bool] = None
"""True if a Cloudflare-provided learned schema is available for this endpoint."""

mitigation_action: Optional[Literal["none", "log", "block"]] = None
"""Action taken on requests failing validation."""


class FeaturesAPIShieldOperationFeatureSchemaInfo(BaseModel):
schema_info: Optional[FeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfo] = None


Features: TypeAlias = Union[
FeaturesAPIShieldOperationFeatureThresholds,
FeaturesAPIShieldOperationFeatureParameterSchemas,
FeaturesAPIShieldOperationFeatureAPIRouting,
FeaturesAPIShieldOperationFeatureConfidenceIntervals,
FeaturesAPIShieldOperationFeatureSchemaInfo,
]


class APIShield(BaseModel):
endpoint: str
"""
The endpoint which can contain path parameter templates in curly braces, each
will be replaced from left to right with {varN}, starting with {var1}, during
insertion. This will further be Cloudflare-normalized upon insertion. See:
https://developers.cloudflare.com/rules/normalization/how-it-works/.
"""

host: str
"""RFC3986-compliant host."""

last_updated: datetime

method: Literal["GET", "POST", "HEAD", "OPTIONS", "PUT", "DELETE", "CONNECT", "PATCH", "TRACE"]
"""The HTTP method used to access the endpoint."""

operation_id: str
"""UUID"""

features: Optional[Features] = None
23 changes: 0 additions & 23 deletions src/cloudflare/types/api_gateway/api_shield_operation_model.py

This file was deleted.

This file was deleted.

24 changes: 19 additions & 5 deletions src/cloudflare/types/api_gateway/operation_create_params.py
Original file line number Diff line number Diff line change
@@ -3,15 +3,29 @@
from __future__ import annotations

from typing import Iterable
from typing_extensions import Required, TypedDict
from typing_extensions import Literal, Required, TypedDict

from .api_shield_operation_model_param import APIShieldOperationModelParam

__all__ = ["OperationCreateParams"]
__all__ = ["OperationCreateParams", "Body"]


class OperationCreateParams(TypedDict, total=False):
zone_id: Required[str]
"""Identifier"""

body: Required[Iterable[APIShieldOperationModelParam]]
body: Required[Iterable[Body]]


class Body(TypedDict, total=False):
endpoint: Required[str]
"""
The endpoint which can contain path parameter templates in curly braces, each
will be replaced from left to right with {varN}, starting with {var1}, during
insertion. This will further be Cloudflare-normalized upon insertion. See:
https://developers.cloudflare.com/rules/normalization/how-it-works/.
"""

host: Required[str]
"""RFC3986-compliant host."""

method: Required[Literal["GET", "POST", "HEAD", "OPTIONS", "PUT", "DELETE", "CONNECT", "PATCH", "TRACE"]]
"""The HTTP method used to access the endpoint."""
239 changes: 5 additions & 234 deletions src/cloudflare/types/api_gateway/operation_create_response.py
Original file line number Diff line number Diff line change
@@ -1,239 +1,10 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import List, Union, Optional
from datetime import datetime
from typing_extensions import Literal, TypeAlias
from typing import List
from typing_extensions import TypeAlias

from ..._models import BaseModel
from .api_shield import APIShield

__all__ = [
"OperationCreateResponse",
"OperationCreateResponseItem",
"OperationCreateResponseItemFeatures",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureThresholds",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureThresholdsThresholds",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureParameterSchemas",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemas",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemasParameterSchemas",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureAPIRouting",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureAPIRoutingAPIRouting",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervals",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervals",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThreshold",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervals",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP90",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP95",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP99",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureSchemaInfo",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfo",
"OperationCreateResponseItemFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoActiveSchema",
]
__all__ = ["OperationCreateResponse"]


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureThresholdsThresholds(BaseModel):
auth_id_tokens: Optional[int] = None
"""The total number of auth-ids seen across this calculation foo."""

data_points: Optional[int] = None
"""The number of data points used for the threshold suggestion calculation."""

last_updated: Optional[datetime] = None

p50: Optional[int] = None
"""The p50 quantile of requests (in period_seconds)."""

p90: Optional[int] = None
"""The p90 quantile of requests (in period_seconds)."""

p99: Optional[int] = None
"""The p99 quantile of requests (in period_seconds)."""

period_seconds: Optional[int] = None
"""The period over which this threshold is suggested."""

requests: Optional[int] = None
"""The estimated number of requests covered by these calculations."""

suggested_threshold: Optional[int] = None
"""The suggested threshold in requests done by the same auth_id or period_seconds."""


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureThresholds(BaseModel):
thresholds: Optional[OperationCreateResponseItemFeaturesAPIShieldOperationFeatureThresholdsThresholds] = None


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemasParameterSchemas(
BaseModel
):
parameters: Optional[List[object]] = None
"""An array containing the learned parameter schemas."""

responses: Optional[object] = None
"""An empty response object.
This field is required to yield a valid operation schema.
"""


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemas(BaseModel):
last_updated: Optional[datetime] = None

parameter_schemas: Optional[
OperationCreateResponseItemFeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemasParameterSchemas
] = None
"""An operation schema object containing a response."""


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureParameterSchemas(BaseModel):
parameter_schemas: OperationCreateResponseItemFeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemas


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureAPIRoutingAPIRouting(BaseModel):
last_updated: Optional[datetime] = None

route: Optional[str] = None
"""Target route."""


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureAPIRouting(BaseModel):
api_routing: Optional[OperationCreateResponseItemFeaturesAPIShieldOperationFeatureAPIRoutingAPIRouting] = None
"""API Routing settings on endpoint."""


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP90(
BaseModel
):
lower: Optional[float] = None
"""Lower bound for percentile estimate"""

upper: Optional[float] = None
"""Upper bound for percentile estimate"""


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP95(
BaseModel
):
lower: Optional[float] = None
"""Lower bound for percentile estimate"""

upper: Optional[float] = None
"""Upper bound for percentile estimate"""


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP99(
BaseModel
):
lower: Optional[float] = None
"""Lower bound for percentile estimate"""

upper: Optional[float] = None
"""Upper bound for percentile estimate"""


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervals(
BaseModel
):
p90: Optional[
OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP90
] = None
"""Upper and lower bound for percentile estimate"""

p95: Optional[
OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP95
] = None
"""Upper and lower bound for percentile estimate"""

p99: Optional[
OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP99
] = None
"""Upper and lower bound for percentile estimate"""


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThreshold(
BaseModel
):
confidence_intervals: Optional[
OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervals
] = None

mean: Optional[float] = None
"""Suggested threshold."""


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervals(BaseModel):
last_updated: Optional[datetime] = None

suggested_threshold: Optional[
OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThreshold
] = None


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervals(BaseModel):
confidence_intervals: Optional[
OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervals
] = None


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoActiveSchema(BaseModel):
id: Optional[str] = None
"""UUID"""

created_at: Optional[datetime] = None

is_learned: Optional[bool] = None
"""True if schema is Cloudflare-provided."""

name: Optional[str] = None
"""Schema file name."""


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfo(BaseModel):
active_schema: Optional[
OperationCreateResponseItemFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoActiveSchema
] = None
"""Schema active on endpoint."""

learned_available: Optional[bool] = None
"""True if a Cloudflare-provided learned schema is available for this endpoint."""

mitigation_action: Optional[Literal["none", "log", "block"]] = None
"""Action taken on requests failing validation."""


class OperationCreateResponseItemFeaturesAPIShieldOperationFeatureSchemaInfo(BaseModel):
schema_info: Optional[OperationCreateResponseItemFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfo] = None


OperationCreateResponseItemFeatures: TypeAlias = Union[
OperationCreateResponseItemFeaturesAPIShieldOperationFeatureThresholds,
OperationCreateResponseItemFeaturesAPIShieldOperationFeatureParameterSchemas,
OperationCreateResponseItemFeaturesAPIShieldOperationFeatureAPIRouting,
OperationCreateResponseItemFeaturesAPIShieldOperationFeatureConfidenceIntervals,
OperationCreateResponseItemFeaturesAPIShieldOperationFeatureSchemaInfo,
]


class OperationCreateResponseItem(BaseModel):
endpoint: str
"""
The endpoint which can contain path parameter templates in curly braces, each
will be replaced from left to right with {varN}, starting with {var1}, during
insertion. This will further be Cloudflare-normalized upon insertion. See:
https://developers.cloudflare.com/rules/normalization/how-it-works/.
"""

host: str
"""RFC3986-compliant host."""

last_updated: datetime

method: Literal["GET", "POST", "HEAD", "OPTIONS", "PUT", "DELETE", "CONNECT", "PATCH", "TRACE"]
"""The HTTP method used to access the endpoint."""

operation_id: str
"""UUID"""

features: Optional[OperationCreateResponseItemFeatures] = None


OperationCreateResponse: TypeAlias = List[OperationCreateResponseItem]
OperationCreateResponse: TypeAlias = List[APIShield]
2 changes: 1 addition & 1 deletion src/cloudflare/types/api_gateway/operation_get_response.py
Original file line number Diff line number Diff line change
@@ -31,7 +31,7 @@

class FeaturesAPIShieldOperationFeatureThresholdsThresholds(BaseModel):
auth_id_tokens: Optional[int] = None
"""The total number of auth-ids seen across this calculation foo."""
"""The total number of auth-ids seen across this calculation."""

data_points: Optional[int] = None
"""The number of data points used for the threshold suggestion calculation."""
Original file line number Diff line number Diff line change
@@ -31,7 +31,7 @@

class FeaturesAPIShieldOperationFeatureThresholdsThresholds(BaseModel):
auth_id_tokens: Optional[int] = None
"""The total number of auth-ids seen across this calculation foo."""
"""The total number of auth-ids seen across this calculation."""

data_points: Optional[int] = None
"""The number of data points used for the threshold suggestion calculation."""
Original file line number Diff line number Diff line change
@@ -1,216 +1,15 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import List, Union, Optional
from datetime import datetime
from typing import Union
from typing_extensions import Literal, TypeAlias

from ...._models import BaseModel
from ..api_shield_operation_model import APIShieldOperationModel
from ..api_shield import APIShield

__all__ = [
"OperationListResponse",
"APIShieldOperation",
"APIShieldOperationFeatures",
"APIShieldOperationFeaturesAPIShieldOperationFeatureThresholds",
"APIShieldOperationFeaturesAPIShieldOperationFeatureThresholdsThresholds",
"APIShieldOperationFeaturesAPIShieldOperationFeatureParameterSchemas",
"APIShieldOperationFeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemas",
"APIShieldOperationFeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemasParameterSchemas",
"APIShieldOperationFeaturesAPIShieldOperationFeatureAPIRouting",
"APIShieldOperationFeaturesAPIShieldOperationFeatureAPIRoutingAPIRouting",
"APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervals",
"APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervals",
"APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThreshold",
"APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervals",
"APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP90",
"APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP95",
"APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP99",
"APIShieldOperationFeaturesAPIShieldOperationFeatureSchemaInfo",
"APIShieldOperationFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfo",
"APIShieldOperationFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoActiveSchema",
]
__all__ = ["OperationListResponse", "APIShieldBasicOperation"]


class APIShieldOperationFeaturesAPIShieldOperationFeatureThresholdsThresholds(BaseModel):
auth_id_tokens: Optional[int] = None
"""The total number of auth-ids seen across this calculation foo."""

data_points: Optional[int] = None
"""The number of data points used for the threshold suggestion calculation."""

last_updated: Optional[datetime] = None

p50: Optional[int] = None
"""The p50 quantile of requests (in period_seconds)."""

p90: Optional[int] = None
"""The p90 quantile of requests (in period_seconds)."""

p99: Optional[int] = None
"""The p99 quantile of requests (in period_seconds)."""

period_seconds: Optional[int] = None
"""The period over which this threshold is suggested."""

requests: Optional[int] = None
"""The estimated number of requests covered by these calculations."""

suggested_threshold: Optional[int] = None
"""The suggested threshold in requests done by the same auth_id or period_seconds."""


class APIShieldOperationFeaturesAPIShieldOperationFeatureThresholds(BaseModel):
thresholds: Optional[APIShieldOperationFeaturesAPIShieldOperationFeatureThresholdsThresholds] = None


class APIShieldOperationFeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemasParameterSchemas(BaseModel):
parameters: Optional[List[object]] = None
"""An array containing the learned parameter schemas."""

responses: Optional[object] = None
"""An empty response object.
This field is required to yield a valid operation schema.
"""


class APIShieldOperationFeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemas(BaseModel):
last_updated: Optional[datetime] = None

parameter_schemas: Optional[
APIShieldOperationFeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemasParameterSchemas
] = None
"""An operation schema object containing a response."""


class APIShieldOperationFeaturesAPIShieldOperationFeatureParameterSchemas(BaseModel):
parameter_schemas: APIShieldOperationFeaturesAPIShieldOperationFeatureParameterSchemasParameterSchemas


class APIShieldOperationFeaturesAPIShieldOperationFeatureAPIRoutingAPIRouting(BaseModel):
last_updated: Optional[datetime] = None

route: Optional[str] = None
"""Target route."""


class APIShieldOperationFeaturesAPIShieldOperationFeatureAPIRouting(BaseModel):
api_routing: Optional[APIShieldOperationFeaturesAPIShieldOperationFeatureAPIRoutingAPIRouting] = None
"""API Routing settings on endpoint."""


class APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP90(
BaseModel
):
lower: Optional[float] = None
"""Lower bound for percentile estimate"""

upper: Optional[float] = None
"""Upper bound for percentile estimate"""


class APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP95(
BaseModel
):
lower: Optional[float] = None
"""Lower bound for percentile estimate"""

upper: Optional[float] = None
"""Upper bound for percentile estimate"""


class APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP99(
BaseModel
):
lower: Optional[float] = None
"""Lower bound for percentile estimate"""

upper: Optional[float] = None
"""Upper bound for percentile estimate"""


class APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervals(
BaseModel
):
p90: Optional[
APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP90
] = None
"""Upper and lower bound for percentile estimate"""

p95: Optional[
APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP95
] = None
"""Upper and lower bound for percentile estimate"""

p99: Optional[
APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP99
] = None
"""Upper and lower bound for percentile estimate"""


class APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThreshold(
BaseModel
):
confidence_intervals: Optional[
APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThresholdConfidenceIntervals
] = None

mean: Optional[float] = None
"""Suggested threshold."""


class APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervals(BaseModel):
last_updated: Optional[datetime] = None

suggested_threshold: Optional[
APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervalsSuggestedThreshold
] = None


class APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervals(BaseModel):
confidence_intervals: Optional[
APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervalsConfidenceIntervals
] = None


class APIShieldOperationFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoActiveSchema(BaseModel):
id: Optional[str] = None
"""UUID"""

created_at: Optional[datetime] = None

is_learned: Optional[bool] = None
"""True if schema is Cloudflare-provided."""

name: Optional[str] = None
"""Schema file name."""


class APIShieldOperationFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfo(BaseModel):
active_schema: Optional[APIShieldOperationFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfoActiveSchema] = None
"""Schema active on endpoint."""

learned_available: Optional[bool] = None
"""True if a Cloudflare-provided learned schema is available for this endpoint."""

mitigation_action: Optional[Literal["none", "log", "block"]] = None
"""Action taken on requests failing validation."""


class APIShieldOperationFeaturesAPIShieldOperationFeatureSchemaInfo(BaseModel):
schema_info: Optional[APIShieldOperationFeaturesAPIShieldOperationFeatureSchemaInfoSchemaInfo] = None


APIShieldOperationFeatures: TypeAlias = Union[
APIShieldOperationFeaturesAPIShieldOperationFeatureThresholds,
APIShieldOperationFeaturesAPIShieldOperationFeatureParameterSchemas,
APIShieldOperationFeaturesAPIShieldOperationFeatureAPIRouting,
APIShieldOperationFeaturesAPIShieldOperationFeatureConfidenceIntervals,
APIShieldOperationFeaturesAPIShieldOperationFeatureSchemaInfo,
]


class APIShieldOperation(BaseModel):
class APIShieldBasicOperation(BaseModel):
endpoint: str
"""
The endpoint which can contain path parameter templates in curly braces, each
@@ -222,15 +21,8 @@ class APIShieldOperation(BaseModel):
host: str
"""RFC3986-compliant host."""

last_updated: datetime

method: Literal["GET", "POST", "HEAD", "OPTIONS", "PUT", "DELETE", "CONNECT", "PATCH", "TRACE"]
"""The HTTP method used to access the endpoint."""

operation_id: str
"""UUID"""

features: Optional[APIShieldOperationFeatures] = None


OperationListResponse: TypeAlias = Union[APIShieldOperation, APIShieldOperationModel]
OperationListResponse: TypeAlias = Union[APIShield, APIShieldBasicOperation]
Original file line number Diff line number Diff line change
@@ -197,10 +197,7 @@ class SelfHostedApplication(TypedDict, total=False):
"""List of domains that Access will secure."""

service_auth_401_redirect: bool
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: str
"""The amount of time that tokens issued for this application will be valid.
@@ -587,10 +584,7 @@ class BrowserSSHApplication(TypedDict, total=False):
"""List of domains that Access will secure."""

service_auth_401_redirect: bool
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: str
"""The amount of time that tokens issued for this application will be valid.
@@ -822,10 +816,7 @@ class BrowserVNCApplication(TypedDict, total=False):
"""List of domains that Access will secure."""

service_auth_401_redirect: bool
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: str
"""The amount of time that tokens issued for this application will be valid.
Original file line number Diff line number Diff line change
@@ -212,10 +212,7 @@ class SelfHostedApplication(BaseModel):
"""List of domains that Access will secure."""

service_auth_401_redirect: Optional[bool] = None
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: Optional[str] = None
"""The amount of time that tokens issued for this application will be valid.
@@ -486,10 +483,7 @@ class BrowserSSHApplication(BaseModel):
"""List of domains that Access will secure."""

service_auth_401_redirect: Optional[bool] = None
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: Optional[str] = None
"""The amount of time that tokens issued for this application will be valid.
@@ -663,10 +657,7 @@ class BrowserVNCApplication(BaseModel):
"""List of domains that Access will secure."""

service_auth_401_redirect: Optional[bool] = None
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: Optional[str] = None
"""The amount of time that tokens issued for this application will be valid.
15 changes: 3 additions & 12 deletions src/cloudflare/types/zero_trust/access/application_get_response.py
Original file line number Diff line number Diff line change
@@ -212,10 +212,7 @@ class SelfHostedApplication(BaseModel):
"""List of domains that Access will secure."""

service_auth_401_redirect: Optional[bool] = None
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: Optional[str] = None
"""The amount of time that tokens issued for this application will be valid.
@@ -486,10 +483,7 @@ class BrowserSSHApplication(BaseModel):
"""List of domains that Access will secure."""

service_auth_401_redirect: Optional[bool] = None
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: Optional[str] = None
"""The amount of time that tokens issued for this application will be valid.
@@ -663,10 +657,7 @@ class BrowserVNCApplication(BaseModel):
"""List of domains that Access will secure."""

service_auth_401_redirect: Optional[bool] = None
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: Optional[str] = None
"""The amount of time that tokens issued for this application will be valid.
Original file line number Diff line number Diff line change
@@ -212,10 +212,7 @@ class SelfHostedApplication(BaseModel):
"""List of domains that Access will secure."""

service_auth_401_redirect: Optional[bool] = None
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: Optional[str] = None
"""The amount of time that tokens issued for this application will be valid.
@@ -486,10 +483,7 @@ class BrowserSSHApplication(BaseModel):
"""List of domains that Access will secure."""

service_auth_401_redirect: Optional[bool] = None
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: Optional[str] = None
"""The amount of time that tokens issued for this application will be valid.
@@ -663,10 +657,7 @@ class BrowserVNCApplication(BaseModel):
"""List of domains that Access will secure."""

service_auth_401_redirect: Optional[bool] = None
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: Optional[str] = None
"""The amount of time that tokens issued for this application will be valid.
Original file line number Diff line number Diff line change
@@ -197,10 +197,7 @@ class SelfHostedApplication(TypedDict, total=False):
"""List of domains that Access will secure."""

service_auth_401_redirect: bool
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: str
"""The amount of time that tokens issued for this application will be valid.
@@ -587,10 +584,7 @@ class BrowserSSHApplication(TypedDict, total=False):
"""List of domains that Access will secure."""

service_auth_401_redirect: bool
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: str
"""The amount of time that tokens issued for this application will be valid.
@@ -822,10 +816,7 @@ class BrowserVNCApplication(TypedDict, total=False):
"""List of domains that Access will secure."""

service_auth_401_redirect: bool
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: str
"""The amount of time that tokens issued for this application will be valid.
Original file line number Diff line number Diff line change
@@ -212,10 +212,7 @@ class SelfHostedApplication(BaseModel):
"""List of domains that Access will secure."""

service_auth_401_redirect: Optional[bool] = None
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: Optional[str] = None
"""The amount of time that tokens issued for this application will be valid.
@@ -486,10 +483,7 @@ class BrowserSSHApplication(BaseModel):
"""List of domains that Access will secure."""

service_auth_401_redirect: Optional[bool] = None
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: Optional[str] = None
"""The amount of time that tokens issued for this application will be valid.
@@ -663,10 +657,7 @@ class BrowserVNCApplication(BaseModel):
"""List of domains that Access will secure."""

service_auth_401_redirect: Optional[bool] = None
"""
Returns a 401 status code when the request is blocked by a Service Auth policy
foo.
"""
"""Returns a 401 status code when the request is blocked by a Service Auth policy."""

session_duration: Optional[str] = None
"""The amount of time that tokens issued for this application will be valid.

0 comments on commit 9949651

Please sign in to comment.