diff --git a/src/cloudflare/types/bot_management/__init__.py b/src/cloudflare/types/bot_management/__init__.py index f7225855fc6..e645a5153c7 100644 --- a/src/cloudflare/types/bot_management/__init__.py +++ b/src/cloudflare/types/bot_management/__init__.py @@ -7,9 +7,17 @@ from .bot_fight_mode_configuration import BotFightModeConfiguration as BotFightModeConfiguration from .bot_management_update_params import BotManagementUpdateParams as BotManagementUpdateParams from .bot_management_update_response import BotManagementUpdateResponse as BotManagementUpdateResponse +from .subscription_configuration_param import SubscriptionConfigurationParam as SubscriptionConfigurationParam +from .bot_fight_mode_configuration_param import BotFightModeConfigurationParam as BotFightModeConfigurationParam from .super_bot_fight_mode_likely_configuration import ( SuperBotFightModeLikelyConfiguration as SuperBotFightModeLikelyConfiguration, ) from .super_bot_fight_mode_definitely_configuration import ( SuperBotFightModeDefinitelyConfiguration as SuperBotFightModeDefinitelyConfiguration, ) +from .super_bot_fight_mode_likely_configuration_param import ( + SuperBotFightModeLikelyConfigurationParam as SuperBotFightModeLikelyConfigurationParam, +) +from .super_bot_fight_mode_definitely_configuration_param import ( + SuperBotFightModeDefinitelyConfigurationParam as SuperBotFightModeDefinitelyConfigurationParam, +) diff --git a/src/cloudflare/types/bot_management/bot_fight_mode_configuration_param.py b/src/cloudflare/types/bot_management/bot_fight_mode_configuration_param.py new file mode 100644 index 00000000000..f7fe6dfb956 --- /dev/null +++ b/src/cloudflare/types/bot_management/bot_fight_mode_configuration_param.py @@ -0,0 +1,21 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, TypedDict + +__all__ = ["BotFightModeConfigurationParam"] + + +class BotFightModeConfigurationParam(TypedDict, total=False): + ai_bots_protection: Literal["block", "disabled"] + """Enable rule to block AI Scrapers and Crawlers.""" + + enable_js: bool + """Use lightweight, invisible JavaScript detections to improve Bot Management. + + [Learn more about JavaScript Detections](https://developers.cloudflare.com/bots/reference/javascript-detections/). + """ + + fight_mode: bool + """Whether to enable Bot Fight Mode.""" diff --git a/src/cloudflare/types/bot_management/subscription_configuration_param.py b/src/cloudflare/types/bot_management/subscription_configuration_param.py new file mode 100644 index 00000000000..606e7d4fdc7 --- /dev/null +++ b/src/cloudflare/types/bot_management/subscription_configuration_param.py @@ -0,0 +1,31 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, TypedDict + +__all__ = ["SubscriptionConfigurationParam"] + + +class SubscriptionConfigurationParam(TypedDict, total=False): + ai_bots_protection: Literal["block", "disabled"] + """Enable rule to block AI Scrapers and Crawlers.""" + + auto_update_model: bool + """ + Automatically update to the newest bot detection models created by Cloudflare as + they are released. + [Learn more.](https://developers.cloudflare.com/bots/reference/machine-learning-models#model-versions-and-release-notes) + """ + + enable_js: bool + """Use lightweight, invisible JavaScript detections to improve Bot Management. + + [Learn more about JavaScript Detections](https://developers.cloudflare.com/bots/reference/javascript-detections/). + """ + + suppress_session_score: bool + """ + Whether to disable tracking the highest bot score for a session in the Bot + Management cookie. + """ diff --git a/src/cloudflare/types/bot_management/super_bot_fight_mode_definitely_configuration_param.py b/src/cloudflare/types/bot_management/super_bot_fight_mode_definitely_configuration_param.py new file mode 100644 index 00000000000..115b89a430d --- /dev/null +++ b/src/cloudflare/types/bot_management/super_bot_fight_mode_definitely_configuration_param.py @@ -0,0 +1,34 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, TypedDict + +__all__ = ["SuperBotFightModeDefinitelyConfigurationParam"] + + +class SuperBotFightModeDefinitelyConfigurationParam(TypedDict, total=False): + ai_bots_protection: Literal["block", "disabled"] + """Enable rule to block AI Scrapers and Crawlers.""" + + enable_js: bool + """Use lightweight, invisible JavaScript detections to improve Bot Management. + + [Learn more about JavaScript Detections](https://developers.cloudflare.com/bots/reference/javascript-detections/). + """ + + optimize_wordpress: bool + """Whether to optimize Super Bot Fight Mode protections for Wordpress.""" + + sbfm_definitely_automated: Literal["allow", "block", "managed_challenge"] + """Super Bot Fight Mode (SBFM) action to take on definitely automated requests.""" + + sbfm_static_resource_protection: bool + """ + Super Bot Fight Mode (SBFM) to enable static resource protection. Enable if + static resources on your application need bot protection. Note: Static resource + protection can also result in legitimate traffic being blocked. + """ + + sbfm_verified_bots: Literal["allow", "block"] + """Super Bot Fight Mode (SBFM) action to take on verified bots requests.""" diff --git a/src/cloudflare/types/bot_management/super_bot_fight_mode_likely_configuration_param.py b/src/cloudflare/types/bot_management/super_bot_fight_mode_likely_configuration_param.py new file mode 100644 index 00000000000..346b6570fd1 --- /dev/null +++ b/src/cloudflare/types/bot_management/super_bot_fight_mode_likely_configuration_param.py @@ -0,0 +1,37 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, TypedDict + +__all__ = ["SuperBotFightModeLikelyConfigurationParam"] + + +class SuperBotFightModeLikelyConfigurationParam(TypedDict, total=False): + ai_bots_protection: Literal["block", "disabled"] + """Enable rule to block AI Scrapers and Crawlers.""" + + enable_js: bool + """Use lightweight, invisible JavaScript detections to improve Bot Management. + + [Learn more about JavaScript Detections](https://developers.cloudflare.com/bots/reference/javascript-detections/). + """ + + optimize_wordpress: bool + """Whether to optimize Super Bot Fight Mode protections for Wordpress.""" + + sbfm_definitely_automated: Literal["allow", "block", "managed_challenge"] + """Super Bot Fight Mode (SBFM) action to take on definitely automated requests.""" + + sbfm_likely_automated: Literal["allow", "block", "managed_challenge"] + """Super Bot Fight Mode (SBFM) action to take on likely automated requests.""" + + sbfm_static_resource_protection: bool + """ + Super Bot Fight Mode (SBFM) to enable static resource protection. Enable if + static resources on your application need bot protection. Note: Static resource + protection can also result in legitimate traffic being blocked. + """ + + sbfm_verified_bots: Literal["allow", "block"] + """Super Bot Fight Mode (SBFM) action to take on verified bots requests.""" diff --git a/src/cloudflare/types/dns/__init__.py b/src/cloudflare/types/dns/__init__.py index 79736543eaf..ab56ab8892e 100644 --- a/src/cloudflare/types/dns/__init__.py +++ b/src/cloudflare/types/dns/__init__.py @@ -7,6 +7,7 @@ from .ds_record import DSRecord as DSRecord from .mx_record import MXRecord as MXRecord from .ns_record import NSRecord as NSRecord +from .ttl_param import TTLParam as TTLParam from .caa_record import CAARecord as CAARecord from .loc_record import LOCRecord as LOCRecord from .ptr_record import PTRRecord as PTRRecord diff --git a/src/cloudflare/types/dns/ttl_param.py b/src/cloudflare/types/dns/ttl_param.py new file mode 100644 index 00000000000..462543b959a --- /dev/null +++ b/src/cloudflare/types/dns/ttl_param.py @@ -0,0 +1,10 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing import Union +from typing_extensions import Literal, TypeAlias + +__all__ = ["TTLParam"] + +TTLParam: TypeAlias = Union[float, Literal[1]] diff --git a/src/cloudflare/types/zero_trust/__init__.py b/src/cloudflare/types/zero_trust/__init__.py index 92a57aea06a..8042a1ec123 100644 --- a/src/cloudflare/types/zero_trust/__init__.py +++ b/src/cloudflare/types/zero_trust/__init__.py @@ -18,6 +18,7 @@ from .organization import Organization as Organization from .everyone_rule import EveryoneRule as EveryoneRule from .ip_rule_param import IPRuleParam as IPRuleParam +from .azure_ad_param import AzureADParam as AzureADParam from .email_list_rule import EmailListRule as EmailListRule from .okta_group_rule import OktaGroupRule as OktaGroupRule from .saml_group_rule import SAMLGroupRule as SAMLGroupRule @@ -56,6 +57,7 @@ from .tunnel_delete_response import TunnelDeleteResponse as TunnelDeleteResponse from .gateway_create_response import GatewayCreateResponse as GatewayCreateResponse from .gsuite_group_rule_param import GSuiteGroupRuleParam as GSuiteGroupRuleParam +from .identity_provider_param import IdentityProviderParam as IdentityProviderParam from .external_evaluation_rule import ExternalEvaluationRule as ExternalEvaluationRule from .github_organization_rule import GitHubOrganizationRule as GitHubOrganizationRule from .service_token_rule_param import ServiceTokenRuleParam as ServiceTokenRuleParam diff --git a/src/cloudflare/types/zero_trust/azure_ad_param.py b/src/cloudflare/types/zero_trust/azure_ad_param.py new file mode 100644 index 00000000000..78d3d67019e --- /dev/null +++ b/src/cloudflare/types/zero_trust/azure_ad_param.py @@ -0,0 +1,72 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing import List +from typing_extensions import Literal, Required, TypedDict + +from .identity_provider_type import IdentityProviderType +from .identity_provider_scim_config_param import IdentityProviderSCIMConfigParam + +__all__ = ["AzureADParam", "Config"] + + +class Config(TypedDict, total=False): + claims: List[str] + """Custom claims""" + + client_id: str + """Your OAuth Client ID""" + + client_secret: str + """Your OAuth Client Secret""" + + conditional_access_enabled: bool + """Should Cloudflare try to load authentication contexts from your account""" + + directory_id: str + """Your Azure directory uuid""" + + email_claim_name: str + """The claim name for email in the id_token response.""" + + prompt: Literal["login", "select_account", "none"] + """Indicates the type of user interaction that is required. + + prompt=login forces the user to enter their credentials on that request, + negating single-sign on. prompt=none is the opposite. It ensures that the user + isn't presented with any interactive prompt. If the request can't be completed + silently by using single-sign on, the Microsoft identity platform returns an + interaction_required error. prompt=select_account interrupts single sign-on + providing account selection experience listing all the accounts either in + session or any remembered account or an option to choose to use a different + account altogether. + """ + + support_groups: bool + """Should Cloudflare try to load groups from your account""" + + +class AzureADParam(TypedDict, total=False): + config: Required[Config] + """The configuration parameters for the identity provider. + + To view the required parameters for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + name: Required[str] + """The name of the identity provider, shown to users on the login page.""" + + type: Required[IdentityProviderType] + """The type of identity provider. + + To determine the value for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + scim_config: IdentityProviderSCIMConfigParam + """ + The configuration settings for enabling a System for Cross-Domain Identity + Management (SCIM) with the identity provider. + """ diff --git a/src/cloudflare/types/zero_trust/identity_provider_param.py b/src/cloudflare/types/zero_trust/identity_provider_param.py new file mode 100644 index 00000000000..c65e8409b57 --- /dev/null +++ b/src/cloudflare/types/zero_trust/identity_provider_param.py @@ -0,0 +1,559 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing import List, Union, Iterable +from typing_extensions import Required, TypeAlias, TypedDict + +from .azure_ad_param import AzureADParam +from .identity_provider_type import IdentityProviderType +from .generic_oauth_config_param import GenericOAuthConfigParam +from .identity_provider_scim_config_param import IdentityProviderSCIMConfigParam + +__all__ = [ + "IdentityProviderParam", + "AccessCentrify", + "AccessCentrifyConfig", + "AccessFacebook", + "AccessGitHub", + "AccessGoogle", + "AccessGoogleConfig", + "AccessGoogleApps", + "AccessGoogleAppsConfig", + "AccessLinkedin", + "AccessOIDC", + "AccessOIDCConfig", + "AccessOkta", + "AccessOktaConfig", + "AccessOnelogin", + "AccessOneloginConfig", + "AccessPingone", + "AccessPingoneConfig", + "AccessSAML", + "AccessSAMLConfig", + "AccessSAMLConfigHeaderAttribute", + "AccessYandex", + "AccessOnetimepin", + "AccessOnetimepinConfig", +] + + +class AccessCentrifyConfig(TypedDict, total=False): + centrify_account: str + """Your centrify account url""" + + centrify_app_id: str + """Your centrify app id""" + + claims: List[str] + """Custom claims""" + + client_id: str + """Your OAuth Client ID""" + + client_secret: str + """Your OAuth Client Secret""" + + email_claim_name: str + """The claim name for email in the id_token response.""" + + +class AccessCentrify(TypedDict, total=False): + config: Required[AccessCentrifyConfig] + """The configuration parameters for the identity provider. + + To view the required parameters for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + name: Required[str] + """The name of the identity provider, shown to users on the login page.""" + + type: Required[IdentityProviderType] + """The type of identity provider. + + To determine the value for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + scim_config: IdentityProviderSCIMConfigParam + """ + The configuration settings for enabling a System for Cross-Domain Identity + Management (SCIM) with the identity provider. + """ + + +class AccessFacebook(TypedDict, total=False): + config: Required[GenericOAuthConfigParam] + """The configuration parameters for the identity provider. + + To view the required parameters for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + name: Required[str] + """The name of the identity provider, shown to users on the login page.""" + + type: Required[IdentityProviderType] + """The type of identity provider. + + To determine the value for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + scim_config: IdentityProviderSCIMConfigParam + """ + The configuration settings for enabling a System for Cross-Domain Identity + Management (SCIM) with the identity provider. + """ + + +class AccessGitHub(TypedDict, total=False): + config: Required[GenericOAuthConfigParam] + """The configuration parameters for the identity provider. + + To view the required parameters for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + name: Required[str] + """The name of the identity provider, shown to users on the login page.""" + + type: Required[IdentityProviderType] + """The type of identity provider. + + To determine the value for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + scim_config: IdentityProviderSCIMConfigParam + """ + The configuration settings for enabling a System for Cross-Domain Identity + Management (SCIM) with the identity provider. + """ + + +class AccessGoogleConfig(TypedDict, total=False): + claims: List[str] + """Custom claims""" + + client_id: str + """Your OAuth Client ID""" + + client_secret: str + """Your OAuth Client Secret""" + + email_claim_name: str + """The claim name for email in the id_token response.""" + + +class AccessGoogle(TypedDict, total=False): + config: Required[AccessGoogleConfig] + """The configuration parameters for the identity provider. + + To view the required parameters for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + name: Required[str] + """The name of the identity provider, shown to users on the login page.""" + + type: Required[IdentityProviderType] + """The type of identity provider. + + To determine the value for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + scim_config: IdentityProviderSCIMConfigParam + """ + The configuration settings for enabling a System for Cross-Domain Identity + Management (SCIM) with the identity provider. + """ + + +class AccessGoogleAppsConfig(TypedDict, total=False): + apps_domain: str + """Your companies TLD""" + + claims: List[str] + """Custom claims""" + + client_id: str + """Your OAuth Client ID""" + + client_secret: str + """Your OAuth Client Secret""" + + email_claim_name: str + """The claim name for email in the id_token response.""" + + +class AccessGoogleApps(TypedDict, total=False): + config: Required[AccessGoogleAppsConfig] + """The configuration parameters for the identity provider. + + To view the required parameters for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + name: Required[str] + """The name of the identity provider, shown to users on the login page.""" + + type: Required[IdentityProviderType] + """The type of identity provider. + + To determine the value for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + scim_config: IdentityProviderSCIMConfigParam + """ + The configuration settings for enabling a System for Cross-Domain Identity + Management (SCIM) with the identity provider. + """ + + +class AccessLinkedin(TypedDict, total=False): + config: Required[GenericOAuthConfigParam] + """The configuration parameters for the identity provider. + + To view the required parameters for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + name: Required[str] + """The name of the identity provider, shown to users on the login page.""" + + type: Required[IdentityProviderType] + """The type of identity provider. + + To determine the value for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + scim_config: IdentityProviderSCIMConfigParam + """ + The configuration settings for enabling a System for Cross-Domain Identity + Management (SCIM) with the identity provider. + """ + + +class AccessOIDCConfig(TypedDict, total=False): + auth_url: str + """The authorization_endpoint URL of your IdP""" + + certs_url: str + """The jwks_uri endpoint of your IdP to allow the IdP keys to sign the tokens""" + + claims: List[str] + """Custom claims""" + + client_id: str + """Your OAuth Client ID""" + + client_secret: str + """Your OAuth Client Secret""" + + email_claim_name: str + """The claim name for email in the id_token response.""" + + pkce_enabled: bool + """Enable Proof Key for Code Exchange (PKCE)""" + + scopes: List[str] + """OAuth scopes""" + + token_url: str + """The token_endpoint URL of your IdP""" + + +class AccessOIDC(TypedDict, total=False): + config: Required[AccessOIDCConfig] + """The configuration parameters for the identity provider. + + To view the required parameters for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + name: Required[str] + """The name of the identity provider, shown to users on the login page.""" + + type: Required[IdentityProviderType] + """The type of identity provider. + + To determine the value for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + scim_config: IdentityProviderSCIMConfigParam + """ + The configuration settings for enabling a System for Cross-Domain Identity + Management (SCIM) with the identity provider. + """ + + +class AccessOktaConfig(TypedDict, total=False): + authorization_server_id: str + """Your okta authorization server id""" + + claims: List[str] + """Custom claims""" + + client_id: str + """Your OAuth Client ID""" + + client_secret: str + """Your OAuth Client Secret""" + + email_claim_name: str + """The claim name for email in the id_token response.""" + + okta_account: str + """Your okta account url""" + + +class AccessOkta(TypedDict, total=False): + config: Required[AccessOktaConfig] + """The configuration parameters for the identity provider. + + To view the required parameters for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + name: Required[str] + """The name of the identity provider, shown to users on the login page.""" + + type: Required[IdentityProviderType] + """The type of identity provider. + + To determine the value for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + scim_config: IdentityProviderSCIMConfigParam + """ + The configuration settings for enabling a System for Cross-Domain Identity + Management (SCIM) with the identity provider. + """ + + +class AccessOneloginConfig(TypedDict, total=False): + claims: List[str] + """Custom claims""" + + client_id: str + """Your OAuth Client ID""" + + client_secret: str + """Your OAuth Client Secret""" + + email_claim_name: str + """The claim name for email in the id_token response.""" + + onelogin_account: str + """Your OneLogin account url""" + + +class AccessOnelogin(TypedDict, total=False): + config: Required[AccessOneloginConfig] + """The configuration parameters for the identity provider. + + To view the required parameters for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + name: Required[str] + """The name of the identity provider, shown to users on the login page.""" + + type: Required[IdentityProviderType] + """The type of identity provider. + + To determine the value for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + scim_config: IdentityProviderSCIMConfigParam + """ + The configuration settings for enabling a System for Cross-Domain Identity + Management (SCIM) with the identity provider. + """ + + +class AccessPingoneConfig(TypedDict, total=False): + claims: List[str] + """Custom claims""" + + client_id: str + """Your OAuth Client ID""" + + client_secret: str + """Your OAuth Client Secret""" + + email_claim_name: str + """The claim name for email in the id_token response.""" + + ping_env_id: str + """Your PingOne environment identifier""" + + +class AccessPingone(TypedDict, total=False): + config: Required[AccessPingoneConfig] + """The configuration parameters for the identity provider. + + To view the required parameters for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + name: Required[str] + """The name of the identity provider, shown to users on the login page.""" + + type: Required[IdentityProviderType] + """The type of identity provider. + + To determine the value for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + scim_config: IdentityProviderSCIMConfigParam + """ + The configuration settings for enabling a System for Cross-Domain Identity + Management (SCIM) with the identity provider. + """ + + +class AccessSAMLConfigHeaderAttribute(TypedDict, total=False): + attribute_name: str + """attribute name from the IDP""" + + header_name: str + """header that will be added on the request to the origin""" + + +class AccessSAMLConfig(TypedDict, total=False): + attributes: List[str] + """ + A list of SAML attribute names that will be added to your signed JWT token and + can be used in SAML policy rules. + """ + + email_attribute_name: str + """The attribute name for email in the SAML response.""" + + header_attributes: Iterable[AccessSAMLConfigHeaderAttribute] + """ + Add a list of attribute names that will be returned in the response header from + the Access callback. + """ + + idp_public_certs: List[str] + """X509 certificate to verify the signature in the SAML authentication response""" + + issuer_url: str + """IdP Entity ID or Issuer URL""" + + sign_request: bool + """Sign the SAML authentication request with Access credentials. + + To verify the signature, use the public key from the Access certs endpoints. + """ + + sso_target_url: str + """URL to send the SAML authentication requests to""" + + +class AccessSAML(TypedDict, total=False): + config: Required[AccessSAMLConfig] + """The configuration parameters for the identity provider. + + To view the required parameters for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + name: Required[str] + """The name of the identity provider, shown to users on the login page.""" + + type: Required[IdentityProviderType] + """The type of identity provider. + + To determine the value for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + scim_config: IdentityProviderSCIMConfigParam + """ + The configuration settings for enabling a System for Cross-Domain Identity + Management (SCIM) with the identity provider. + """ + + +class AccessYandex(TypedDict, total=False): + config: Required[GenericOAuthConfigParam] + """The configuration parameters for the identity provider. + + To view the required parameters for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + name: Required[str] + """The name of the identity provider, shown to users on the login page.""" + + type: Required[IdentityProviderType] + """The type of identity provider. + + To determine the value for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + scim_config: IdentityProviderSCIMConfigParam + """ + The configuration settings for enabling a System for Cross-Domain Identity + Management (SCIM) with the identity provider. + """ + + +class AccessOnetimepinConfig(TypedDict, total=False): + pass + + +class AccessOnetimepin(TypedDict, total=False): + config: Required[AccessOnetimepinConfig] + """The configuration parameters for the identity provider. + + To view the required parameters for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + name: Required[str] + """The name of the identity provider, shown to users on the login page.""" + + type: Required[IdentityProviderType] + """The type of identity provider. + + To determine the value for a specific provider, refer to our + [developer documentation](https://developers.cloudflare.com/cloudflare-one/identity/idp-integration/). + """ + + scim_config: IdentityProviderSCIMConfigParam + """ + The configuration settings for enabling a System for Cross-Domain Identity + Management (SCIM) with the identity provider. + """ + + +IdentityProviderParam: TypeAlias = Union[ + AzureADParam, + AccessCentrify, + AccessFacebook, + AccessGitHub, + AccessGoogle, + AccessGoogleApps, + AccessLinkedin, + AccessOIDC, + AccessOkta, + AccessOnelogin, + AccessPingone, + AccessSAML, + AccessYandex, + AccessOnetimepin, +] diff --git a/src/cloudflare/types/zones/__init__.py b/src/cloudflare/types/zones/__init__.py index 5bf50dfaf51..f82d8f8e328 100644 --- a/src/cloudflare/types/zones/__init__.py +++ b/src/cloudflare/types/zones/__init__.py @@ -17,26 +17,36 @@ from .ciphers import Ciphers as Ciphers from .tls_1_3 import TLS1_3 as TLS1_3 from .zero_rtt import ZeroRTT as ZeroRTT +from .nel_param import NELParam as NELParam from .ssl_param import SSLParam as SSLParam from .waf_param import WAFParam as WAFParam from .websocket import Websocket as Websocket from .zone_hold import ZoneHold as ZoneHold +from .ipv6_param import IPV6Param as IPV6Param +from .webp_param import WebPParam as WebPParam from .cache_level import CacheLevel as CacheLevel from .early_hints import EarlyHints as EarlyHints +from .http2_param import HTTP2Param as HTTP2Param +from .http3_param import HTTP3Param as HTTP3Param from .pseudo_ipv4 import PseudoIPV4 as PseudoIPV4 +from .brotli_param import BrotliParam as BrotliParam from .mirage_param import MirageParam as MirageParam from .polish_param import PolishParam as PolishParam from .advanced_ddos import AdvancedDDoS as AdvancedDDoS from .always_online import AlwaysOnline as AlwaysOnline from .browser_check import BrowserCheck as BrowserCheck from .challenge_ttl import ChallengeTTL as ChallengeTTL +from .ciphers_param import CiphersParam as CiphersParam from .rocket_loader import RocketLoader as RocketLoader +from .tls_1_3_param import TLS1_3Param as TLS1_3Param from .image_resizing import ImageResizing as ImageResizing from .ip_geolocation import IPGeolocation as IPGeolocation from .security_level import SecurityLevel as SecurityLevel +from .zero_rtt_param import ZeroRTTParam as ZeroRTTParam from .min_tls_version import MinTLSVersion as MinTLSVersion from .ssl_recommender import SSLRecommender as SSLRecommender from .tls_client_auth import TLSClientAuth as TLSClientAuth +from .websocket_param import WebsocketParam as WebsocketParam from .always_use_https import AlwaysUseHTTPS as AlwaysUseHTTPS from .development_mode import DevelopmentMode as DevelopmentMode from .orange_to_orange import OrangeToOrange as OrangeToOrange @@ -46,35 +56,53 @@ from .zone_list_params import ZoneListParams as ZoneListParams from .browser_cache_ttl import BrowserCacheTTL as BrowserCacheTTL from .cache_level_param import CacheLevelParam as CacheLevelParam +from .early_hints_param import EarlyHintsParam as EarlyHintsParam from .email_obfuscation import EmailObfuscation as EmailObfuscation from .h2_prioritization import H2Prioritization as H2Prioritization +from .pseudo_ipv4_param import PseudoIPV4Param as PseudoIPV4Param from .hold_create_params import HoldCreateParams as HoldCreateParams from .hold_delete_params import HoldDeleteParams as HoldDeleteParams from .hotlink_protection import HotlinkProtection as HotlinkProtection from .proxy_read_timeout import ProxyReadTimeout as ProxyReadTimeout from .response_buffering import ResponseBuffering as ResponseBuffering from .zone_create_params import ZoneCreateParams as ZoneCreateParams +from .advanced_ddos_param import AdvancedDDoSParam as AdvancedDDoSParam +from .always_online_param import AlwaysOnlineParam as AlwaysOnlineParam from .available_rate_plan import AvailableRatePlan as AvailableRatePlan from .browser_check_param import BrowserCheckParam as BrowserCheckParam +from .challenge_ttl_param import ChallengeTTLParam as ChallengeTTLParam from .opportunistic_onion import OpportunisticOnion as OpportunisticOnion from .rocket_loader_param import RocketLoaderParam as RocketLoaderParam from .setting_edit_params import SettingEditParams as SettingEditParams +from .image_resizing_param import ImageResizingParam as ImageResizingParam from .ip_geolocation_param import IPGeolocationParam as IPGeolocationParam from .security_level_param import SecurityLevelParam as SecurityLevelParam from .server_side_excludes import ServerSideExcludes as ServerSideExcludes from .setting_get_response import SettingGetResponse as SettingGetResponse from .zone_delete_response import ZoneDeleteResponse as ZoneDeleteResponse +from .min_tls_version_param import MinTLSVersionParam as MinTLSVersionParam from .setting_edit_response import SettingEditResponse as SettingEditResponse +from .ssl_recommender_param import SSLRecommenderParam as SSLRecommenderParam +from .tls_client_auth_param import TLSClientAuthParam as TLSClientAuthParam from .true_client_ip_header import TrueClientIPHeader as TrueClientIPHeader from .always_use_https_param import AlwaysUseHTTPSParam as AlwaysUseHTTPSParam +from .development_mode_param import DevelopmentModeParam as DevelopmentModeParam +from .orange_to_orange_param import OrangeToOrangeParam as OrangeToOrangeParam +from .prefetch_preload_param import PrefetchPreloadParam as PrefetchPreloadParam from .rate_plan_get_response import RatePlanGetResponse as RatePlanGetResponse +from .security_headers_param import SecurityHeadersParam as SecurityHeadersParam from .browser_cache_ttl_param import BrowserCacheTTLParam as BrowserCacheTTLParam from .email_obfuscation_param import EmailObfuscationParam as EmailObfuscationParam +from .h2_prioritization_param import H2PrioritizationParam as H2PrioritizationParam from .origin_max_http_version import OriginMaxHTTPVersion as OriginMaxHTTPVersion from .automatic_https_rewrites import AutomaticHTTPSRewrites as AutomaticHTTPSRewrites +from .hotlink_protection_param import HotlinkProtectionParam as HotlinkProtectionParam from .opportunistic_encryption import OpportunisticEncryption as OpportunisticEncryption +from .proxy_read_timeout_param import ProxyReadTimeoutParam as ProxyReadTimeoutParam from .response_buffering_param import ResponseBufferingParam as ResponseBufferingParam +from .opportunistic_onion_param import OpportunisticOnionParam as OpportunisticOnionParam from .subscription_get_response import SubscriptionGetResponse as SubscriptionGetResponse +from .server_side_excludes_param import ServerSideExcludesParam as ServerSideExcludesParam from .subscription_create_params import SubscriptionCreateParams as SubscriptionCreateParams from .subscription_update_params import SubscriptionUpdateParams as SubscriptionUpdateParams from .origin_error_page_pass_thru import OriginErrorPagePassThru as OriginErrorPagePassThru diff --git a/src/cloudflare/types/zones/advanced_ddos_param.py b/src/cloudflare/types/zones/advanced_ddos_param.py new file mode 100644 index 00000000000..cc8ce3540a9 --- /dev/null +++ b/src/cloudflare/types/zones/advanced_ddos_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["AdvancedDDoSParam"] + + +class AdvancedDDoSParam(TypedDict, total=False): + id: Required[Literal["advanced_ddos"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/always_online_param.py b/src/cloudflare/types/zones/always_online_param.py new file mode 100644 index 00000000000..4eb894ce804 --- /dev/null +++ b/src/cloudflare/types/zones/always_online_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["AlwaysOnlineParam"] + + +class AlwaysOnlineParam(TypedDict, total=False): + id: Required[Literal["always_online"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/brotli_param.py b/src/cloudflare/types/zones/brotli_param.py new file mode 100644 index 00000000000..8ffb6a70bfe --- /dev/null +++ b/src/cloudflare/types/zones/brotli_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["BrotliParam"] + + +class BrotliParam(TypedDict, total=False): + id: Required[Literal["brotli"]] + """ID of the zone setting.""" + + value: Required[Literal["off", "on"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/challenge_ttl_param.py b/src/cloudflare/types/zones/challenge_ttl_param.py new file mode 100644 index 00000000000..9f6ad8c64fb --- /dev/null +++ b/src/cloudflare/types/zones/challenge_ttl_param.py @@ -0,0 +1,17 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["ChallengeTTLParam"] + + +class ChallengeTTLParam(TypedDict, total=False): + id: Required[Literal["challenge_ttl"]] + """ID of the zone setting.""" + + value: Required[ + Literal[300, 900, 1800, 2700, 3600, 7200, 10800, 14400, 28800, 57600, 86400, 604800, 2592000, 31536000] + ] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/ciphers_param.py b/src/cloudflare/types/zones/ciphers_param.py new file mode 100644 index 00000000000..bd9d1b9dbed --- /dev/null +++ b/src/cloudflare/types/zones/ciphers_param.py @@ -0,0 +1,16 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing import List +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["CiphersParam"] + + +class CiphersParam(TypedDict, total=False): + id: Required[Literal["ciphers"]] + """ID of the zone setting.""" + + value: Required[List[str]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/development_mode_param.py b/src/cloudflare/types/zones/development_mode_param.py new file mode 100644 index 00000000000..0ad39ef9f50 --- /dev/null +++ b/src/cloudflare/types/zones/development_mode_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["DevelopmentModeParam"] + + +class DevelopmentModeParam(TypedDict, total=False): + id: Required[Literal["development_mode"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/early_hints_param.py b/src/cloudflare/types/zones/early_hints_param.py new file mode 100644 index 00000000000..178ae1cde53 --- /dev/null +++ b/src/cloudflare/types/zones/early_hints_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["EarlyHintsParam"] + + +class EarlyHintsParam(TypedDict, total=False): + id: Required[Literal["early_hints"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/h2_prioritization_param.py b/src/cloudflare/types/zones/h2_prioritization_param.py new file mode 100644 index 00000000000..0d3cc769689 --- /dev/null +++ b/src/cloudflare/types/zones/h2_prioritization_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["H2PrioritizationParam"] + + +class H2PrioritizationParam(TypedDict, total=False): + id: Required[Literal["h2_prioritization"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off", "custom"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/hotlink_protection_param.py b/src/cloudflare/types/zones/hotlink_protection_param.py new file mode 100644 index 00000000000..4c33794cf9e --- /dev/null +++ b/src/cloudflare/types/zones/hotlink_protection_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["HotlinkProtectionParam"] + + +class HotlinkProtectionParam(TypedDict, total=False): + id: Required[Literal["hotlink_protection"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/http2_param.py b/src/cloudflare/types/zones/http2_param.py new file mode 100644 index 00000000000..0e80b982e48 --- /dev/null +++ b/src/cloudflare/types/zones/http2_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["HTTP2Param"] + + +class HTTP2Param(TypedDict, total=False): + id: Required[Literal["http2"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/http3_param.py b/src/cloudflare/types/zones/http3_param.py new file mode 100644 index 00000000000..2e2fddcdbaf --- /dev/null +++ b/src/cloudflare/types/zones/http3_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["HTTP3Param"] + + +class HTTP3Param(TypedDict, total=False): + id: Required[Literal["http3"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/image_resizing_param.py b/src/cloudflare/types/zones/image_resizing_param.py new file mode 100644 index 00000000000..0b6d7c66979 --- /dev/null +++ b/src/cloudflare/types/zones/image_resizing_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["ImageResizingParam"] + + +class ImageResizingParam(TypedDict, total=False): + id: Required[Literal["image_resizing"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off", "open"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/ipv6_param.py b/src/cloudflare/types/zones/ipv6_param.py new file mode 100644 index 00000000000..199cf3a0612 --- /dev/null +++ b/src/cloudflare/types/zones/ipv6_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["IPV6Param"] + + +class IPV6Param(TypedDict, total=False): + id: Required[Literal["ipv6"]] + """ID of the zone setting.""" + + value: Required[Literal["off", "on"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/min_tls_version_param.py b/src/cloudflare/types/zones/min_tls_version_param.py new file mode 100644 index 00000000000..7513480e29e --- /dev/null +++ b/src/cloudflare/types/zones/min_tls_version_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["MinTLSVersionParam"] + + +class MinTLSVersionParam(TypedDict, total=False): + id: Required[Literal["min_tls_version"]] + """ID of the zone setting.""" + + value: Required[Literal["1.0", "1.1", "1.2", "1.3"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/nel_param.py b/src/cloudflare/types/zones/nel_param.py new file mode 100644 index 00000000000..c692f294f67 --- /dev/null +++ b/src/cloudflare/types/zones/nel_param.py @@ -0,0 +1,19 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["NELParam", "Value"] + + +class Value(TypedDict, total=False): + enabled: bool + + +class NELParam(TypedDict, total=False): + id: Required[Literal["nel"]] + """Zone setting identifier.""" + + value: Required[Value] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/opportunistic_onion_param.py b/src/cloudflare/types/zones/opportunistic_onion_param.py new file mode 100644 index 00000000000..fc6f4e15d51 --- /dev/null +++ b/src/cloudflare/types/zones/opportunistic_onion_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["OpportunisticOnionParam"] + + +class OpportunisticOnionParam(TypedDict, total=False): + id: Required[Literal["opportunistic_onion"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/orange_to_orange_param.py b/src/cloudflare/types/zones/orange_to_orange_param.py new file mode 100644 index 00000000000..9a28f503c63 --- /dev/null +++ b/src/cloudflare/types/zones/orange_to_orange_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["OrangeToOrangeParam"] + + +class OrangeToOrangeParam(TypedDict, total=False): + id: Required[Literal["orange_to_orange"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/prefetch_preload_param.py b/src/cloudflare/types/zones/prefetch_preload_param.py new file mode 100644 index 00000000000..b47e8334fe9 --- /dev/null +++ b/src/cloudflare/types/zones/prefetch_preload_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["PrefetchPreloadParam"] + + +class PrefetchPreloadParam(TypedDict, total=False): + id: Required[Literal["prefetch_preload"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/proxy_read_timeout_param.py b/src/cloudflare/types/zones/proxy_read_timeout_param.py new file mode 100644 index 00000000000..5db20403058 --- /dev/null +++ b/src/cloudflare/types/zones/proxy_read_timeout_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["ProxyReadTimeoutParam"] + + +class ProxyReadTimeoutParam(TypedDict, total=False): + id: Required[Literal["proxy_read_timeout"]] + """ID of the zone setting.""" + + value: Required[float] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/pseudo_ipv4_param.py b/src/cloudflare/types/zones/pseudo_ipv4_param.py new file mode 100644 index 00000000000..f1a899afe9a --- /dev/null +++ b/src/cloudflare/types/zones/pseudo_ipv4_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["PseudoIPV4Param"] + + +class PseudoIPV4Param(TypedDict, total=False): + id: Required[Literal["pseudo_ipv4"]] + """Value of the Pseudo IPv4 setting.""" + + value: Required[Literal["off", "add_header", "overwrite_header"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/security_headers_param.py b/src/cloudflare/types/zones/security_headers_param.py new file mode 100644 index 00000000000..3877dc55ce4 --- /dev/null +++ b/src/cloudflare/types/zones/security_headers_param.py @@ -0,0 +1,37 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["SecurityHeadersParam", "Value", "ValueStrictTransportSecurity"] + + +class ValueStrictTransportSecurity(TypedDict, total=False): + enabled: bool + """Whether or not strict transport security is enabled.""" + + include_subdomains: bool + """Include all subdomains for strict transport security.""" + + max_age: float + """Max age in seconds of the strict transport security.""" + + nosniff: bool + """Whether or not to include 'X-Content-Type-Options: nosniff' header.""" + + preload: bool + """Enable automatic preload of the HSTS configuration.""" + + +class Value(TypedDict, total=False): + strict_transport_security: ValueStrictTransportSecurity + """Strict Transport Security.""" + + +class SecurityHeadersParam(TypedDict, total=False): + id: Required[Literal["security_header"]] + """ID of the zone's security header.""" + + value: Required[Value] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/server_side_excludes_param.py b/src/cloudflare/types/zones/server_side_excludes_param.py new file mode 100644 index 00000000000..f6ec3f44443 --- /dev/null +++ b/src/cloudflare/types/zones/server_side_excludes_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["ServerSideExcludesParam"] + + +class ServerSideExcludesParam(TypedDict, total=False): + id: Required[Literal["server_side_exclude"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/ssl_recommender_param.py b/src/cloudflare/types/zones/ssl_recommender_param.py new file mode 100644 index 00000000000..0189ce02e60 --- /dev/null +++ b/src/cloudflare/types/zones/ssl_recommender_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, TypedDict + +__all__ = ["SSLRecommenderParam"] + + +class SSLRecommenderParam(TypedDict, total=False): + id: Literal["ssl_recommender"] + """Enrollment value for SSL/TLS Recommender.""" + + enabled: bool + """ssl-recommender enrollment setting.""" diff --git a/src/cloudflare/types/zones/tls_1_3_param.py b/src/cloudflare/types/zones/tls_1_3_param.py new file mode 100644 index 00000000000..19c34c7d413 --- /dev/null +++ b/src/cloudflare/types/zones/tls_1_3_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["TLS1_3Param"] + + +class TLS1_3Param(TypedDict, total=False): + id: Required[Literal["tls_1_3"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off", "zrt"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/tls_client_auth_param.py b/src/cloudflare/types/zones/tls_client_auth_param.py new file mode 100644 index 00000000000..63638f7dca3 --- /dev/null +++ b/src/cloudflare/types/zones/tls_client_auth_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["TLSClientAuthParam"] + + +class TLSClientAuthParam(TypedDict, total=False): + id: Required[Literal["tls_client_auth"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/webp_param.py b/src/cloudflare/types/zones/webp_param.py new file mode 100644 index 00000000000..d160bee5683 --- /dev/null +++ b/src/cloudflare/types/zones/webp_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["WebPParam"] + + +class WebPParam(TypedDict, total=False): + id: Required[Literal["webp"]] + """ID of the zone setting.""" + + value: Required[Literal["off", "on"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/websocket_param.py b/src/cloudflare/types/zones/websocket_param.py new file mode 100644 index 00000000000..ad84c6137d5 --- /dev/null +++ b/src/cloudflare/types/zones/websocket_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["WebsocketParam"] + + +class WebsocketParam(TypedDict, total=False): + id: Required[Literal["websockets"]] + """ID of the zone setting.""" + + value: Required[Literal["off", "on"]] + """Current value of the zone setting.""" diff --git a/src/cloudflare/types/zones/zero_rtt_param.py b/src/cloudflare/types/zones/zero_rtt_param.py new file mode 100644 index 00000000000..244ac0d9727 --- /dev/null +++ b/src/cloudflare/types/zones/zero_rtt_param.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["ZeroRTTParam"] + + +class ZeroRTTParam(TypedDict, total=False): + id: Required[Literal["0rtt"]] + """ID of the zone setting.""" + + value: Required[Literal["on", "off"]] + """Current value of the zone setting."""