import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
export interface AccessRuleConfiguration {
/**
* The configuration target. You must set the target to `ip` when specifying an IP address in the rule.
* Available values: "ip", "ip6", "ip_range", "asn", "country".
*/
target?: pulumi.Input;
/**
* The IP address to match. This address will be compared to the IP address of incoming requests.
*/
value?: pulumi.Input;
}
export interface AccessRuleScope {
/**
* The contact email address of the user.
*/
email?: pulumi.Input;
/**
* Defines an identifier.
*/
id?: pulumi.Input;
/**
* Defines the scope of the rule.
* Available values: "user", "organization".
*/
type?: pulumi.Input;
}
export interface AccountDnsSettingsZoneDefaults {
/**
* Whether to flatten all CNAME records in the zone. Note that, due to DNS limitations, a CNAME record at the zone apex will always be flattened.
*/
flattenAllCnames?: pulumi.Input;
/**
* Whether to enable Foundation DNS Advanced Nameservers on the zone.
*/
foundationDns?: pulumi.Input;
/**
* Settings for this internal zone.
*/
internalDns?: pulumi.Input;
/**
* Whether to enable multi-provider DNS, which causes Cloudflare to activate the zone even when non-Cloudflare NS records exist, and to respect NS records at the zone apex during outbound zone transfers.
*/
multiProvider?: pulumi.Input;
/**
* Settings determining the nameservers through which the zone should be available.
*/
nameservers?: pulumi.Input;
/**
* The time to live (TTL) of the zone's nameserver (NS) records.
*/
nsTtl?: pulumi.Input;
/**
* Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex.
*/
secondaryOverrides?: pulumi.Input;
/**
* Components of the zone's SOA record.
*/
soa?: pulumi.Input;
/**
* Whether the zone mode is a regular or CDN/DNS only zone.
* Available values: "standard", "cdn_only", "dns_only".
*/
zoneMode?: pulumi.Input;
}
export interface AccountDnsSettingsZoneDefaultsInternalDns {
/**
* The ID of the zone to fallback to.
*/
referenceZoneId?: pulumi.Input;
}
export interface AccountDnsSettingsZoneDefaultsNameservers {
/**
* Nameserver type
* Available values: "cloudflare.standard", "cloudflare.standard.random", "custom.account", "custom.tenant".
*/
type?: pulumi.Input;
}
export interface AccountDnsSettingsZoneDefaultsSoa {
/**
* Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone.
*/
expire?: pulumi.Input;
/**
* The time to live (TTL) for negative caching of records within the zone.
*/
minTtl?: pulumi.Input;
/**
* The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used.
*/
mname?: pulumi.Input;
/**
* Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated.
*/
refresh?: pulumi.Input;
/**
* Time in seconds after which secondary servers should retry queries after the primary server was unresponsive.
*/
retry?: pulumi.Input;
/**
* The email address of the zone administrator, with the first label representing the local part of the email address.
*/
rname?: pulumi.Input;
/**
* The time to live (TTL) of the SOA record itself.
*/
ttl?: pulumi.Input;
}
export interface AccountManagedBy {
/**
* ID of the parent Organization, if one exists
*/
parentOrgId?: pulumi.Input;
/**
* Name of the parent Organization, if one exists
*/
parentOrgName?: pulumi.Input;
}
export interface AccountMemberPolicy {
/**
* Allow or deny operations against the resources.
* Available values: "allow", "deny".
*/
access: pulumi.Input;
/**
* A set of permission groups that are specified to the policy.
*/
permissionGroups: pulumi.Input[]>;
/**
* A list of resource groups that the policy applies to.
*/
resourceGroups: pulumi.Input[]>;
}
export interface AccountMemberPolicyPermissionGroup {
/**
* Identifier of the group.
*/
id: pulumi.Input;
}
export interface AccountMemberPolicyResourceGroup {
/**
* Identifier of the group.
*/
id: pulumi.Input;
}
export interface AccountMemberUser {
/**
* The contact email address of the user.
*/
email?: pulumi.Input;
/**
* User's first name
*/
firstName?: pulumi.Input;
/**
* Identifier
*/
id?: pulumi.Input;
/**
* User's last name
*/
lastName?: pulumi.Input;
/**
* Indicates whether two-factor authentication is enabled for the user account. Does not apply to API authentication.
*/
twoFactorAuthenticationEnabled?: pulumi.Input;
}
export interface AccountSettings {
/**
* Sets an abuse contact email to notify for abuse reports.
*/
abuseContactEmail?: pulumi.Input;
/**
* Indicates whether membership in this account requires that
* Two-Factor Authentication is enabled
*/
enforceTwofactor?: pulumi.Input;
}
export interface AccountSubscriptionRatePlan {
/**
* The currency applied to the rate plan subscription.
*/
currency?: pulumi.Input;
/**
* Whether this rate plan is managed externally from Cloudflare.
*/
externallyManaged?: pulumi.Input;
/**
* The ID of the rate plan.
*/
id?: pulumi.Input;
/**
* Whether a rate plan is enterprise-based (or newly adopted term contract).
*/
isContract?: pulumi.Input;
/**
* The full name of the rate plan.
*/
publicName?: pulumi.Input;
/**
* The scope that this rate plan applies to.
*/
scope?: pulumi.Input;
/**
* The list of sets this rate plan applies to. Returns array of strings.
*/
sets?: pulumi.Input[]>;
}
export interface AccountTokenCondition {
/**
* Client IP restrictions.
*/
requestIp?: pulumi.Input;
}
export interface AccountTokenConditionRequestIp {
/**
* List of IPv4/IPv6 CIDR addresses.
*/
ins?: pulumi.Input[]>;
/**
* List of IPv4/IPv6 CIDR addresses.
*/
notIns?: pulumi.Input[]>;
}
export interface AccountTokenPolicy {
/**
* Allow or deny operations against the resources.
* Available values: "allow", "deny".
*/
effect: pulumi.Input;
/**
* A set of permission groups that are specified to the policy.
*/
permissionGroups: pulumi.Input[]>;
/**
* A json object representing the resources that are specified to the policy.
*/
resources: pulumi.Input;
}
export interface AccountTokenPolicyPermissionGroup {
/**
* Identifier of the permission group.
*/
id: pulumi.Input;
}
export interface AccountUnit {
/**
* Tenant unit ID
*/
id?: pulumi.Input;
}
export interface AddressMapMembership {
/**
* The identifier for the membership (eg. a zone or account tag).
*/
identifier?: pulumi.Input;
/**
* The type of the membership.
* Available values: "zone", "account".
*/
kind?: pulumi.Input;
}
export interface AiSearchInstanceCustomMetadata {
/**
* Available values: "text", "number", "boolean".
*/
dataType: pulumi.Input;
fieldName: pulumi.Input;
}
export interface AiSearchInstanceMetadata {
createdFromAisearchWizard?: pulumi.Input;
workerDomain?: pulumi.Input;
}
export interface AiSearchInstancePublicEndpointParams {
authorizedHosts?: pulumi.Input[]>;
chatCompletionsEndpoint?: pulumi.Input;
enabled?: pulumi.Input;
mcp?: pulumi.Input;
rateLimit?: pulumi.Input;
searchEndpoint?: pulumi.Input;
}
export interface AiSearchInstancePublicEndpointParamsChatCompletionsEndpoint {
/**
* Disable chat completions endpoint for this public endpoint
*/
disabled?: pulumi.Input;
}
export interface AiSearchInstancePublicEndpointParamsMcp {
description?: pulumi.Input;
/**
* Disable MCP endpoint for this public endpoint
*/
disabled?: pulumi.Input;
}
export interface AiSearchInstancePublicEndpointParamsRateLimit {
periodMs?: pulumi.Input;
requests?: pulumi.Input;
/**
* Available values: "fixed", "sliding".
*/
technique?: pulumi.Input;
}
export interface AiSearchInstancePublicEndpointParamsSearchEndpoint {
/**
* Disable search endpoint for this public endpoint
*/
disabled?: pulumi.Input;
}
export interface AiSearchInstanceRetrievalOptions {
/**
* Controls how keyword search terms are matched. exact_match requires all terms to appear (AND); fuzzy_match returns results containing any term (OR). Defaults to exact_match.
* Available values: "exact_match", "fuzzy_match".
*/
keywordMatchMode?: pulumi.Input;
}
export interface AiSearchInstanceSourceParams {
/**
* List of path patterns to exclude. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /admin/** matches /admin/users and /admin/settings/advanced)
*/
excludeItems?: pulumi.Input[]>;
/**
* List of path patterns to include. Uses micromatch glob syntax: * matches within a path segment, ** matches across path segments (e.g., /blog/** matches /blog/post and /blog/2024/post)
*/
includeItems?: pulumi.Input[]>;
prefix?: pulumi.Input;
r2Jurisdiction?: pulumi.Input;
webCrawler?: pulumi.Input;
}
export interface AiSearchInstanceSourceParamsWebCrawler {
parseOptions?: pulumi.Input;
/**
* Available values: "sitemap", "feed-rss".
*/
parseType?: pulumi.Input;
storeOptions?: pulumi.Input;
}
export interface AiSearchInstanceSourceParamsWebCrawlerParseOptions {
includeHeaders?: pulumi.Input<{
[key: string]: pulumi.Input;
}>;
includeImages?: pulumi.Input;
/**
* List of specific sitemap URLs to use for crawling. Only valid when parse_type is 'sitemap'.
*/
specificSitemaps?: pulumi.Input[]>;
useBrowserRendering?: pulumi.Input;
}
export interface AiSearchInstanceSourceParamsWebCrawlerStoreOptions {
r2Jurisdiction?: pulumi.Input;
storageId: pulumi.Input;
/**
* Available values: "r2".
*/
storageType?: pulumi.Input;
}
export interface ApiShieldAuthIdCharacteristic {
/**
* The name of the characteristic field, i.e., the header or cookie name. When using type "jwt", this must be a claim location expressed as `$(token_config_id):$(json_path)`, where `token_config_id` is the ID of the token configuration used in validating the JWT, and `json_path` is a RFC 9535 JSONPath expression.
*/
name: pulumi.Input;
/**
* The type of characteristic.
* Available values: "header", "cookie", "jwt".
*/
type: pulumi.Input;
}
export interface ApiShieldOperationFeatures {
/**
* API Routing settings on endpoint.
*/
apiRouting?: pulumi.Input;
confidenceIntervals?: pulumi.Input;
parameterSchemas?: pulumi.Input;
schemaInfo?: pulumi.Input;
thresholds?: pulumi.Input;
}
export interface ApiShieldOperationFeaturesApiRouting {
lastUpdated?: pulumi.Input;
/**
* Target route.
*/
route?: pulumi.Input;
}
export interface ApiShieldOperationFeaturesConfidenceIntervals {
lastUpdated?: pulumi.Input;
suggestedThreshold?: pulumi.Input;
}
export interface ApiShieldOperationFeaturesConfidenceIntervalsSuggestedThreshold {
confidenceIntervals?: pulumi.Input;
/**
* Suggested threshold.
*/
mean?: pulumi.Input;
}
export interface ApiShieldOperationFeaturesConfidenceIntervalsSuggestedThresholdConfidenceIntervals {
/**
* Upper and lower bound for percentile estimate
*/
p90?: pulumi.Input;
/**
* Upper and lower bound for percentile estimate
*/
p95?: pulumi.Input;
/**
* Upper and lower bound for percentile estimate
*/
p99?: pulumi.Input;
}
export interface ApiShieldOperationFeaturesConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP90 {
/**
* Lower bound for percentile estimate
*/
lower?: pulumi.Input;
/**
* Upper bound for percentile estimate
*/
upper?: pulumi.Input;
}
export interface ApiShieldOperationFeaturesConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP95 {
/**
* Lower bound for percentile estimate
*/
lower?: pulumi.Input;
/**
* Upper bound for percentile estimate
*/
upper?: pulumi.Input;
}
export interface ApiShieldOperationFeaturesConfidenceIntervalsSuggestedThresholdConfidenceIntervalsP99 {
/**
* Lower bound for percentile estimate
*/
lower?: pulumi.Input;
/**
* Upper bound for percentile estimate
*/
upper?: pulumi.Input;
}
export interface ApiShieldOperationFeaturesParameterSchemas {
lastUpdated?: pulumi.Input;
/**
* An operation schema object containing a response.
*/
parameterSchemas?: pulumi.Input;
}
export interface ApiShieldOperationFeaturesParameterSchemasParameterSchemas {
/**
* An array containing the learned parameter schemas.
*/
parameters?: pulumi.Input[]>;
/**
* An empty response object. This field is required to yield a valid operation schema.
*/
responses?: pulumi.Input;
}
export interface ApiShieldOperationFeaturesSchemaInfo {
/**
* Schema active on endpoint.
*/
activeSchema?: pulumi.Input;
/**
* True if a Cloudflare-provided learned schema is available for this endpoint.
*/
learnedAvailable?: pulumi.Input;
/**
* Action taken on requests failing validation.
* Available values: "none", "log", "block".
*/
mitigationAction?: pulumi.Input;
}
export interface ApiShieldOperationFeaturesSchemaInfoActiveSchema {
createdAt?: pulumi.Input;
/**
* UUID.
*/
id?: pulumi.Input;
/**
* True if schema is Cloudflare-provided.
*/
isLearned?: pulumi.Input;
/**
* Schema file name.
*/
name?: pulumi.Input;
}
export interface ApiShieldOperationFeaturesThresholds {
/**
* The total number of auth-ids seen across this calculation.
*/
authIdTokens?: pulumi.Input;
/**
* The number of data points used for the threshold suggestion calculation.
*/
dataPoints?: pulumi.Input;
lastUpdated?: pulumi.Input;
/**
* The p50 quantile of requests (in period_seconds).
*/
p50?: pulumi.Input;
/**
* The p90 quantile of requests (in period_seconds).
*/
p90?: pulumi.Input;
/**
* The p99 quantile of requests (in period_seconds).
*/
p99?: pulumi.Input;
/**
* The period over which this threshold is suggested.
*/
periodSeconds?: pulumi.Input;
/**
* The estimated number of requests covered by these calculations.
*/
requests?: pulumi.Input;
/**
* The suggested threshold in requests done by the same auth_id or period_seconds.
*/
suggestedThreshold?: pulumi.Input;
}
export interface ApiShieldSchemaSchema {
createdAt?: pulumi.Input;
/**
* Kind of schema
* Available values: "openapi_v3".
*/
kind?: pulumi.Input;
/**
* Name of the schema
*/
name?: pulumi.Input;
/**
* UUID.
*/
schemaId?: pulumi.Input;
/**
* Source of the schema
*/
source?: pulumi.Input;
/**
* Flag whether schema is enabled for validation.
*/
validationEnabled?: pulumi.Input;
}
export interface ApiShieldSchemaUploadDetails {
/**
* Diagnostic warning events that occurred during processing. These events are non-critical errors found within the schema.
*/
warnings?: pulumi.Input[]>;
}
export interface ApiShieldSchemaUploadDetailsWarning {
/**
* Code that identifies the event that occurred.
*/
code?: pulumi.Input;
/**
* JSONPath location(s) in the schema where these events were encountered. See [https://goessner.net/articles/JsonPath/](https://goessner.net/articles/JsonPath/) for JSONPath specification.
*/
locations?: pulumi.Input[]>;
/**
* Diagnostic message that describes the event.
*/
message?: pulumi.Input;
}
export interface ApiTokenCondition {
/**
* Client IP restrictions.
*/
requestIp?: pulumi.Input;
}
export interface ApiTokenConditionRequestIp {
/**
* List of IPv4/IPv6 CIDR addresses.
*/
ins?: pulumi.Input[]>;
/**
* List of IPv4/IPv6 CIDR addresses.
*/
notIns?: pulumi.Input[]>;
}
export interface ApiTokenPolicy {
/**
* Allow or deny operations against the resources.
* Available values: "allow", "deny".
*/
effect: pulumi.Input;
/**
* A set of permission groups that are specified to the policy.
*/
permissionGroups: pulumi.Input[]>;
/**
* A json object representing the resources that are specified to the policy.
*/
resources: pulumi.Input;
}
export interface ApiTokenPolicyPermissionGroup {
/**
* Identifier of the permission group.
*/
id: pulumi.Input;
}
export interface AuthenticatedOriginPullsConfig {
/**
* Certificate identifier tag.
*/
certId?: pulumi.Input;
/**
* Indicates whether hostname-level authenticated origin pulls is enabled. A null value voids the association.
*/
enabled?: pulumi.Input;
/**
* The hostname on the origin for which the client certificate uploaded will be used.
*/
hostname?: pulumi.Input;
}
export interface BotManagementStaleZoneConfiguration {
/**
* Indicates that the zone's Bot Fight Mode is turned on.
*/
fightMode?: pulumi.Input;
/**
* Indicates that the zone's wordpress optimization for SBFM is turned on.
*/
optimizeWordpress?: pulumi.Input;
/**
* Indicates that the zone's definitely automated requests are being blocked or challenged.
*/
sbfmDefinitelyAutomated?: pulumi.Input;
/**
* Indicates that the zone's likely automated requests are being blocked or challenged.
*/
sbfmLikelyAutomated?: pulumi.Input;
/**
* Indicates that the zone's static resource protection is turned on.
*/
sbfmStaticResourceProtection?: pulumi.Input;
/**
* Indicates that the zone's verified bot requests are being blocked.
*/
sbfmVerifiedBots?: pulumi.Input;
/**
* Indicates that the zone's session score tracking is disabled.
*/
suppressSessionScore?: pulumi.Input;
}
export interface CertificatePackCertificate {
/**
* Certificate bundle method.
*/
bundleMethod?: pulumi.Input;
/**
* When the certificate from the authority expires.
*/
expiresOn?: pulumi.Input;
/**
* Specify the region where your private key can be held locally.
*/
geoRestrictions?: pulumi.Input;
/**
* Hostnames covered by this certificate.
*/
hosts?: pulumi.Input[]>;
/**
* Certificate identifier.
*/
id?: pulumi.Input;
/**
* The certificate authority that issued the certificate.
*/
issuer?: pulumi.Input;
/**
* When the certificate was last modified.
*/
modifiedOn?: pulumi.Input;
/**
* The order/priority in which the certificate will be used.
*/
priority?: pulumi.Input;
/**
* The type of hash used for the certificate.
*/
signature?: pulumi.Input;
/**
* Certificate status.
*/
status?: pulumi.Input;
/**
* When the certificate was uploaded to Cloudflare.
*/
uploadedOn?: pulumi.Input;
/**
* Identifier.
*/
zoneId?: pulumi.Input;
}
export interface CertificatePackCertificateGeoRestrictions {
/**
* Available values: "us", "eu", "highest_security".
*/
label?: pulumi.Input;
}
export interface CertificatePackDcvDelegationRecord {
/**
* The CNAME record hostname for DCV delegation.
*/
cname?: pulumi.Input;
/**
* The CNAME record target value for DCV delegation.
*/
cnameTarget?: pulumi.Input;
/**
* The set of email addresses that the certificate authority (CA) will use to complete domain validation.
*/
emails?: pulumi.Input[]>;
/**
* The content that the certificate authority (CA) will expect to find at the http_url during the domain validation.
*/
httpBody?: pulumi.Input;
/**
* The url that will be checked during domain validation.
*/
httpUrl?: pulumi.Input;
/**
* Status of the validation record.
*/
status?: pulumi.Input;
/**
* The hostname that the certificate authority (CA) will check for a TXT record during domain validation .
*/
txtName?: pulumi.Input;
/**
* The TXT record that the certificate authority (CA) will check during domain validation.
*/
txtValue?: pulumi.Input;
}
export interface CertificatePackValidationError {
/**
* A domain validation error.
*/
message?: pulumi.Input;
}
export interface CertificatePackValidationRecord {
/**
* The CNAME record hostname for DCV delegation.
*/
cname?: pulumi.Input;
/**
* The CNAME record target value for DCV delegation.
*/
cnameTarget?: pulumi.Input;
/**
* The set of email addresses that the certificate authority (CA) will use to complete domain validation.
*/
emails?: pulumi.Input[]>;
/**
* The content that the certificate authority (CA) will expect to find at the http_url during the domain validation.
*/
httpBody?: pulumi.Input;
/**
* The url that will be checked during domain validation.
*/
httpUrl?: pulumi.Input;
/**
* Status of the validation record.
*/
status?: pulumi.Input;
/**
* The hostname that the certificate authority (CA) will check for a TXT record during domain validation .
*/
txtName?: pulumi.Input;
/**
* The TXT record that the certificate authority (CA) will check during domain validation.
*/
txtValue?: pulumi.Input;
}
export interface ClientCertificateCertificateAuthority {
id?: pulumi.Input;
name?: pulumi.Input;
}
export interface CloudConnectorRulesRule {
description?: pulumi.Input;
enabled?: pulumi.Input;
expression?: pulumi.Input;
id?: pulumi.Input;
/**
* Parameters of Cloud Connector Rule
*/
parameters?: pulumi.Input;
/**
* Cloud Provider type
* Available values: "aws_s3", "cloudflare_r2", "gcp_storage", "azure_storage".
*/
provider?: pulumi.Input;
}
export interface CloudConnectorRulesRuleParameters {
/**
* Host to perform Cloud Connection to
*/
host?: pulumi.Input;
}
export interface ConnectivityDirectoryServiceHost {
hostname?: pulumi.Input;
ipv4?: pulumi.Input;
ipv6?: pulumi.Input;
network?: pulumi.Input;
resolverNetwork?: pulumi.Input;
}
export interface ConnectivityDirectoryServiceHostNetwork {
tunnelId: pulumi.Input;
}
export interface ConnectivityDirectoryServiceHostResolverNetwork {
resolverIps?: pulumi.Input[]>;
tunnelId: pulumi.Input;
}
export interface ContentScanningExpressionBody {
/**
* Defines the ruleset expression to use in matching content objects.
*/
payload: pulumi.Input;
}
export interface CustomHostnameOwnershipVerification {
/**
* DNS Name for record.
*/
name?: pulumi.Input;
/**
* DNS Record type.
* Available values: "txt".
*/
type?: pulumi.Input;
/**
* Content for the record.
*/
value?: pulumi.Input;
}
export interface CustomHostnameOwnershipVerificationHttp {
/**
* Token to be served.
*/
httpBody?: pulumi.Input;
/**
* The HTTP URL that will be checked during custom hostname verification and where the customer should host the token.
*/
httpUrl?: pulumi.Input;
}
export interface CustomHostnameSsl {
/**
* A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest intermediates. And the force bundle verifies the chain, but does not otherwise modify it.
* Available values: "ubiquitous", "optimal", "force".
*/
bundleMethod?: pulumi.Input;
/**
* The Certificate Authority that will issue the certificate
* Available values: "digicert", "google", "lets_encrypt", "ssl_com".
*/
certificateAuthority?: pulumi.Input;
/**
* Whether or not to add Cloudflare Branding for the order. This will add a subdomain of sni.cloudflaressl.com as the Common Name if set to true
*/
cloudflareBranding?: pulumi.Input;
/**
* Array of custom certificate and key pairs (1 or 2 pairs allowed)
*/
customCertBundles?: pulumi.Input[]>;
/**
* If a custom uploaded certificate is used.
*/
customCertificate?: pulumi.Input;
/**
* The key for a custom uploaded certificate.
*/
customKey?: pulumi.Input;
/**
* Domain control validation (DCV) method used for this hostname.
* Available values: "http", "txt", "email".
*/
method?: pulumi.Input;
/**
* SSL specific settings.
*/
settings?: pulumi.Input;
/**
* Level of validation to be used for this hostname. Domain validation (dv) must be used.
* Available values: "dv".
*/
type?: pulumi.Input;
/**
* Indicates whether the certificate covers a wildcard.
*/
wildcard?: pulumi.Input;
}
export interface CustomHostnameSslCustomCertBundle {
/**
* If a custom uploaded certificate is used.
*/
customCertificate: pulumi.Input;
/**
* The key for a custom uploaded certificate.
*/
customKey: pulumi.Input;
}
export interface CustomHostnameSslSettings {
/**
* An allowlist of ciphers for TLS termination. These ciphers must be in the BoringSSL format.
*/
ciphers?: pulumi.Input[]>;
/**
* Whether or not Early Hints is enabled.
* Available values: "on", "off".
*/
earlyHints?: pulumi.Input;
/**
* Whether or not HTTP2 is enabled.
* Available values: "on", "off".
*/
http2?: pulumi.Input;
/**
* The minimum TLS version supported.
* Available values: "1.0", "1.1", "1.2", "1.3".
*/
minTlsVersion?: pulumi.Input;
/**
* Whether or not TLS 1.3 is enabled.
* Available values: "on", "off".
*/
tls13?: pulumi.Input;
}
export interface CustomSslGeoRestrictions {
/**
* Available values: "us", "eu", "highest_security".
*/
label?: pulumi.Input;
}
export interface CustomSslKeylessServer {
/**
* When the Keyless SSL was created.
*/
createdOn?: pulumi.Input;
/**
* Whether or not the Keyless SSL is on or off.
*/
enabled?: pulumi.Input;
/**
* The keyless SSL name.
*/
host?: pulumi.Input;
/**
* Keyless certificate identifier tag.
*/
id?: pulumi.Input;
/**
* When the Keyless SSL was last modified.
*/
modifiedOn?: pulumi.Input;
/**
* The keyless SSL name.
*/
name?: pulumi.Input;
/**
* Available permissions for the Keyless SSL for the current user requesting the item.
*/
permissions?: pulumi.Input[]>;
/**
* The keyless SSL port used to communicate between Cloudflare and the client's Keyless SSL server.
*/
port?: pulumi.Input;
/**
* Status of the Keyless SSL.
* Available values: "active", "deleted".
*/
status?: pulumi.Input;
/**
* Configuration for using Keyless SSL through a Cloudflare Tunnel
*/
tunnel?: pulumi.Input;
}
export interface CustomSslKeylessServerTunnel {
/**
* Private IP of the Key Server Host
*/
privateIp?: pulumi.Input;
/**
* Cloudflare Tunnel Virtual Network ID
*/
vnetId?: pulumi.Input;
}
export interface D1DatabaseReadReplication {
/**
* The read replication mode for the database. Use 'auto' to create replicas and allow D1 automatically place them around the world, or 'disabled' to not use any database replicas (it can take a few hours for all replicas to be deleted).
* Available values: "auto", "disabled".
*/
mode: pulumi.Input;
}
export interface DnsFirewallAttackMitigation {
/**
* When enabled, automatically mitigate random-prefix attacks to protect upstream DNS servers
*/
enabled?: pulumi.Input;
/**
* Only mitigate attacks when upstream servers seem unhealthy
*/
onlyWhenUpstreamUnhealthy?: pulumi.Input;
}
export interface DnsRecordData {
/**
* Algorithm.
*/
algorithm?: pulumi.Input;
/**
* Altitude of location in meters.
*/
altitude?: pulumi.Input;
/**
* Certificate.
*/
certificate?: pulumi.Input;
/**
* Digest.
*/
digest?: pulumi.Input;
/**
* Digest Type.
*/
digestType?: pulumi.Input;
/**
* Fingerprint.
*/
fingerprint?: pulumi.Input;
/**
* Flags for the CAA record.
*/
flags?: any;
/**
* Key Tag.
*/
keyTag?: pulumi.Input;
/**
* Degrees of latitude.
*/
latDegrees?: pulumi.Input;
/**
* Latitude direction.
* Available values: "N", "S".
*/
latDirection?: pulumi.Input;
/**
* Minutes of latitude.
*/
latMinutes?: pulumi.Input;
/**
* Seconds of latitude.
*/
latSeconds?: pulumi.Input;
/**
* Degrees of longitude.
*/
longDegrees?: pulumi.Input;
/**
* Longitude direction.
* Available values: "E", "W".
*/
longDirection?: pulumi.Input