// AUTO-GENERATED by scripts/generate.ts from .generated-specs. Do not edit. import * as S from "@distilled.cloud/core/schema"; import * as API from "@distilled.cloud/core/api"; import * as T from "../traits.ts"; import { CloudflareProtocol, CloudflarePaginatedProtocol, type CloudflareOpError, type CloudflareOpContext, } from "../protocol.ts"; import { cloudflarePaginate, ResultInfo } from "../pagination.ts"; import { CloudflareError, CloudflareRateLimited } from "../errors.ts"; import * as Retry from "../retry.ts"; export type { CloudflareOpError, CloudflareOpContext }; /** Fallback camelCase→wire mapping for opaque content (mined from the distilled SDK). */ const KEY_DICTIONARY: Record> = { autoRefreshSeconds: "auto_refresh_seconds", checkedTime: "checked_time", commentModifiedOn: "comment_modified_on", createdOn: "created_on", createdTime: "created_time", dataLag: "data_lag", digestAlgorithm: "digest_algorithm", digestType: "digest_type", dnssecMultiSigner: "dnssec_multi_signer", dnssecPresigned: "dnssec_presigned", dnssecUseNsec3: "dnssec_use_nsec3", documentationUrl: "documentation_url", enforceDnsOnly: "enforce_dns_only", flattenAllCnames: "flatten_all_cnames", flattenCname: "flatten_cname", foundationDns: "foundation_dns", internalDns: "internal_dns", internalRecordQuota: "internal_record_quota", internalRecordUsage: "internal_record_usage", ipRange: "ip_range", ipv4Only: "ipv4_only", ipv6Only: "ipv6_only", ixfrEnable: "ixfr_enable", keyTag: "key_tag", keyType: "key_type", lastTransferredTime: "last_transferred_time", latDegrees: "lat_degrees", latDirection: "lat_direction", latMinutes: "lat_minutes", latSeconds: "lat_seconds", longDegrees: "long_degrees", longDirection: "long_direction", longMinutes: "long_minutes", longSeconds: "long_seconds", matchingType: "matching_type", minTtl: "min_ttl", modifiedOn: "modified_on", modifiedTime: "modified_time", multiProvider: "multi_provider", nsSet: "ns_set", nsTtl: "ns_ttl", perPage: "per_page", precisionHorz: "precision_horz", precisionVert: "precision_vert", privateRouting: "private_routing", publicKey: "public_key", recordQuota: "record_quota", recordUsage: "record_usage", recsAdded: "recs_added", referenceZoneId: "reference_zone_id", resultInfo: "result_info", secondaryOverrides: "secondary_overrides", soaSerial: "soa_serial", tagsModifiedOn: "tags_modified_on", timeDelta: "time_delta", timeIntervals: "time_intervals", totalCount: "total_count", totalRecordsParsed: "total_records_parsed", tsigId: "tsig_id", zoneDefaults: "zone_defaults", zoneMode: "zone_mode", }; export class AclNotFound extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("AclNotFound", { code: S.Number, message: S.String, }), [{ status: 404 }], ) {} export class DnsRecordAlreadyExists extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "DnsRecordAlreadyExists", { code: S.Number, message: S.String, }, ), [ { code: 81057 }, { code: 81058 }, { status: 400, message: { includes: "identical record already exists" } }, ], ) {} export class DnsSettingNotAvailable extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "DnsSettingNotAvailable", { code: S.Number, message: S.String, }, ), [{ code: 1003 }], ) {} export class Forbidden extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("Forbidden", { code: S.Number, message: S.String, }), [{ status: 403 }], ) {} export class IncomingZoneTransferNotFound extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "IncomingZoneTransferNotFound", { code: S.Number, message: S.String, }, ), [{ status: 404 }], ) {} export class InternalDnsNotAvailable extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "InternalDnsNotAvailable", { code: S.Number, message: S.String, }, ), [{ code: 1029 }], ) {} export class OutgoingZoneTransferNotFound extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "OutgoingZoneTransferNotFound", { code: S.Number, message: S.String, }, ), [{ status: 404 }], ) {} export class OutgoingZoneTransfersNotAllowed extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()( "OutgoingZoneTransfersNotAllowed", { code: S.Number, message: S.String, }, ), [{ status: 401 }], ) {} export class PeerNotFound extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("PeerNotFound", { code: S.Number, message: S.String, }), [{ status: 404 }], ) {} export class TsigNotFound extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("TsigNotFound", { code: S.Number, message: S.String, }), [{ status: 404 }], ) {} export class ViewNotFound extends /*@__PURE__*/ T.applyErrorMatchers( /*@__PURE__*/ S.TaggedError()("ViewNotFound", { code: S.Number, message: S.String, }), [{ code: 1015 }, { status: 404 }], ) {} export interface RecordsBatchRequestDeletesItem { /** Identifier. */ id: string; } export const RecordsBatchRequestDeletesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, }), ).annotate({ identifier: "RecordsBatchRequestDeletesItem", }) as any as S.Schema; export type RecordsBatchRequestDeletesList = Array; export const RecordsBatchRequestDeletesList = /*@__PURE__*/ S.Array( RecordsBatchRequestDeletesItem, ) as any as S.Schema; export type RecordsBatchRequestPatchesItemARecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemARecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemAAAARecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemAAAARecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemCNAMERecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemCNAMERecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemMXRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemMXRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemNSRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemNSRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemOpenpgpkeyRecordType = "OPENPGPKEY"; export const RecordsBatchRequestPatchesItemOpenpgpkeyRecordType = /*@__PURE__*/ S.String; export interface RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings { /** When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. */ ipv4Only?: boolean; /** When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. */ ipv6Only?: boolean; } export const RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ ipv4Only: S.optional(S.Boolean.pipe(T.Body("ipv4_only"))), ipv6Only: S.optional(S.Boolean.pipe(T.Body("ipv6_only"))), }), ).annotate({ identifier: "RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings", }) as any as S.Schema; export type RecordsBatchRequestPatchesItemOpenpgpkeyRecordTagsList = Array; export const RecordsBatchRequestPatchesItemOpenpgpkeyRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPatchesItemOpenpgpkeyRecord { /** Identifier. */ id: string; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPatchesItemOpenpgpkeyRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) */ content?: string; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordTagsList; } export const RecordsBatchRequestPatchesItemOpenpgpkeyRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, name: S.String, ttl: S.Number, type: RecordsBatchRequestPatchesItemOpenpgpkeyRecordType, comment: S.optional(S.String), content: S.optional(S.String), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPatchesItemOpenpgpkeyRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPatchesItemOpenpgpkeyRecord", }) as any as S.Schema; export type RecordsBatchRequestPatchesItemPTRRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemPTRRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemTXTRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemTXTRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemCAARecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemCAARecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemCERTRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemCERTRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemDNSKEYRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemDNSKEYRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemDSRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemDSRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemHTTPSRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemHTTPSRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemLOCRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemLOCRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemNAPTRRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemNAPTRRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemSMIMEARecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemSMIMEARecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemSRVRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemSRVRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemSSHFPRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemSSHFPRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemSVCBRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemSVCBRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemTLSARecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemTLSARecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItemURIRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItemURIRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPatchesItem = | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestPatchesItemOpenpgpkeyRecord | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPatchesItem = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["id"], ["id"], ["id"], ["id"], ["id"], [ "id", "name", "ttl", "type", "comment", "content", "proxied", "settings", "tags", ], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ]), ); export type RecordsBatchRequestPatchesList = Array; export const RecordsBatchRequestPatchesList = /*@__PURE__*/ S.Array( RecordsBatchRequestPatchesItem, ) as any as S.Schema; export type RecordsBatchRequestPostsItemARecordType = "A"; export const RecordsBatchRequestPostsItemARecordType = /*@__PURE__*/ S.String; export type RecordsBatchRequestPostsItemARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemARecordTagsList = Array; export const RecordsBatchRequestPostsItemARecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemARecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemARecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A valid IPv4 address. */ content?: string; /** Enables private network routing to the origin. */ privateRouting?: boolean; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemARecordTagsList; } export const RecordsBatchRequestPostsItemARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemARecordType, comment: S.optional(S.String), content: S.optional(S.String), privateRouting: S.optional(S.Boolean.pipe(T.Body("private_routing"))), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemARecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemARecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemAAAARecordType = "AAAA"; export const RecordsBatchRequestPostsItemAAAARecordType = /*@__PURE__*/ S.String; export type RecordsBatchRequestPostsItemAAAARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemAAAARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemAAAARecordTagsList = Array; export const RecordsBatchRequestPostsItemAAAARecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemAAAARecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemAAAARecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A valid IPv6 address. */ content?: string; /** Enables private network routing to the origin. */ privateRouting?: boolean; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemAAAARecordTagsList; } export const RecordsBatchRequestPostsItemAAAARecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemAAAARecordType, comment: S.optional(S.String), content: S.optional(S.String), privateRouting: S.optional(S.Boolean.pipe(T.Body("private_routing"))), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemAAAARecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemAAAARecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemCNAMERecordType = "CNAME"; export const RecordsBatchRequestPostsItemCNAMERecordType = /*@__PURE__*/ S.String; export interface RecordsBatchRequestPostsItemCNAMERecordSettings { /** If enabled, causes the CNAME record to be resolved externally and the resulting address records (e.g., A and AAAA) to be returned instead of the CNAME record itself. This setting is unavailable for proxied records, since they are always flattened. */ flattenCname?: boolean; /** When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. */ ipv4Only?: boolean; /** When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. */ ipv6Only?: boolean; } export const RecordsBatchRequestPostsItemCNAMERecordSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ flattenCname: S.optional(S.Boolean.pipe(T.Body("flatten_cname"))), ipv4Only: S.optional(S.Boolean.pipe(T.Body("ipv4_only"))), ipv6Only: S.optional(S.Boolean.pipe(T.Body("ipv6_only"))), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemCNAMERecordSettings", }) as any as S.Schema; export type RecordsBatchRequestPostsItemCNAMERecordTagsList = Array; export const RecordsBatchRequestPostsItemCNAMERecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemCNAMERecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemCNAMERecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A valid hostname. Must not match the record's name. */ content?: string; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPostsItemCNAMERecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemCNAMERecordTagsList; } export const RecordsBatchRequestPostsItemCNAMERecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemCNAMERecordType, comment: S.optional(S.String), content: S.optional(S.String), proxied: S.optional(S.Boolean), settings: S.optional(RecordsBatchRequestPostsItemCNAMERecordSettings), tags: S.optional(RecordsBatchRequestPostsItemCNAMERecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemCNAMERecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemMXRecordType = "MX"; export const RecordsBatchRequestPostsItemMXRecordType = /*@__PURE__*/ S.String; export type RecordsBatchRequestPostsItemMXRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemMXRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemMXRecordTagsList = Array; export const RecordsBatchRequestPostsItemMXRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemMXRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemMXRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A valid mail server hostname. */ content?: string; /** Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. */ priority?: number; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemMXRecordTagsList; } export const RecordsBatchRequestPostsItemMXRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemMXRecordType, comment: S.optional(S.String), content: S.optional(S.String), priority: S.optional(S.Number), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemMXRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemMXRecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemNSRecordType = "NS"; export const RecordsBatchRequestPostsItemNSRecordType = /*@__PURE__*/ S.String; export type RecordsBatchRequestPostsItemNSRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemNSRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemNSRecordTagsList = Array; export const RecordsBatchRequestPostsItemNSRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemNSRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemNSRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A valid name server host name. */ content?: string; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemNSRecordTagsList; } export const RecordsBatchRequestPostsItemNSRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemNSRecordType, comment: S.optional(S.String), content: S.optional(S.String), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemNSRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemNSRecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemDNSRecordsOpenpgpkeyRecordType = "OPENPGPKEY"; export const RecordsBatchRequestPostsItemDNSRecordsOpenpgpkeyRecordType = /*@__PURE__*/ S.String; export type RecordsBatchRequestPostsItemDNSRecordsOpenpgpkeyRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemDNSRecordsOpenpgpkeyRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemDNSRecordsOpenpgpkeyRecordTagsList = Array; export const RecordsBatchRequestPostsItemDNSRecordsOpenpgpkeyRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemDNSRecordsOpenpgpkeyRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemDNSRecordsOpenpgpkeyRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) */ content?: string; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemDNSRecordsOpenpgpkeyRecordTagsList; } export const RecordsBatchRequestPostsItemDNSRecordsOpenpgpkeyRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemDNSRecordsOpenpgpkeyRecordType, comment: S.optional(S.String), content: S.optional(S.String), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional( RecordsBatchRequestPostsItemDNSRecordsOpenpgpkeyRecordTagsList, ), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemDNSRecordsOpenpgpkeyRecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemPTRRecordType = "PTR"; export const RecordsBatchRequestPostsItemPTRRecordType = /*@__PURE__*/ S.String; export type RecordsBatchRequestPostsItemPTRRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemPTRRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemPTRRecordTagsList = Array; export const RecordsBatchRequestPostsItemPTRRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemPTRRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemPTRRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Domain name pointing to the address. */ content?: string; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemPTRRecordTagsList; } export const RecordsBatchRequestPostsItemPTRRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemPTRRecordType, comment: S.optional(S.String), content: S.optional(S.String), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemPTRRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemPTRRecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemTXTRecordType = "TXT"; export const RecordsBatchRequestPostsItemTXTRecordType = /*@__PURE__*/ S.String; export type RecordsBatchRequestPostsItemTXTRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemTXTRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemTXTRecordTagsList = Array; export const RecordsBatchRequestPostsItemTXTRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemTXTRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemTXTRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Text content for the record. The content must consist of quoted "character strings" (RFC 1035), each with a length of up to 255 bytes. Strings exceeding this allowed maximum length are automatically split. */ content?: string; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemTXTRecordTagsList; } export const RecordsBatchRequestPostsItemTXTRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemTXTRecordType, comment: S.optional(S.String), content: S.optional(S.String), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemTXTRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemTXTRecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemCAARecordType = "CAA"; export const RecordsBatchRequestPostsItemCAARecordType = /*@__PURE__*/ S.String; export interface RecordsBatchRequestPostsItemCAARecordData { /** Flags for the CAA record. */ flags?: number; /** Name of the property controlled by this record (e.g.: issue, issuewild, iodef). */ tag?: string; /** Value of the record. This field's semantics depend on the chosen tag. */ value?: string; } export const RecordsBatchRequestPostsItemCAARecordData = /*@__PURE__*/ S.suspend(() => S.Struct({ flags: S.optional(S.Number), tag: S.optional(S.String), value: S.optional(S.String), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemCAARecordData", }) as any as S.Schema; export type RecordsBatchRequestPostsItemCAARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemCAARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemCAARecordTagsList = Array; export const RecordsBatchRequestPostsItemCAARecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemCAARecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemCAARecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted CAA content. See 'data' to set CAA properties. */ content?: string; /** Components of a CAA record. */ data?: RecordsBatchRequestPostsItemCAARecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemCAARecordTagsList; } export const RecordsBatchRequestPostsItemCAARecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemCAARecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemCAARecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemCAARecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemCAARecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemCERTRecordType = "CERT"; export const RecordsBatchRequestPostsItemCERTRecordType = /*@__PURE__*/ S.String; export interface RecordsBatchRequestPostsItemCERTRecordData { /** Algorithm. */ algorithm?: number; /** Certificate. */ certificate?: string; /** Key Tag. */ keyTag?: number; /** Type. */ type?: number; } export const RecordsBatchRequestPostsItemCERTRecordData = /*@__PURE__*/ S.suspend(() => S.Struct({ algorithm: S.optional(S.Number), certificate: S.optional(S.String), keyTag: S.optional(S.Number.pipe(T.Body("key_tag"))), type: S.optional(S.Number), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemCERTRecordData", }) as any as S.Schema; export type RecordsBatchRequestPostsItemCERTRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemCERTRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemCERTRecordTagsList = Array; export const RecordsBatchRequestPostsItemCERTRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemCERTRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemCERTRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted CERT content. See 'data' to set CERT properties. */ content?: string; /** Components of a CERT record. */ data?: RecordsBatchRequestPostsItemCERTRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemCERTRecordTagsList; } export const RecordsBatchRequestPostsItemCERTRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemCERTRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemCERTRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemCERTRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemCERTRecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemDNSKEYRecordType = "DNSKEY"; export const RecordsBatchRequestPostsItemDNSKEYRecordType = /*@__PURE__*/ S.String; export interface RecordsBatchRequestPostsItemDNSKEYRecordData { /** Algorithm. */ algorithm?: number; /** Flags. */ flags?: number; /** Protocol. */ protocol?: number; /** Public Key. */ publicKey?: string; } export const RecordsBatchRequestPostsItemDNSKEYRecordData = /*@__PURE__*/ S.suspend(() => S.Struct({ algorithm: S.optional(S.Number), flags: S.optional(S.Number), protocol: S.optional(S.Number), publicKey: S.optional(S.String.pipe(T.Body("public_key"))), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemDNSKEYRecordData", }) as any as S.Schema; export type RecordsBatchRequestPostsItemDNSKEYRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemDNSKEYRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemDNSKEYRecordTagsList = Array; export const RecordsBatchRequestPostsItemDNSKEYRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemDNSKEYRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemDNSKEYRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted DNSKEY content. See 'data' to set DNSKEY properties. */ content?: string; /** Components of a DNSKEY record. */ data?: RecordsBatchRequestPostsItemDNSKEYRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemDNSKEYRecordTagsList; } export const RecordsBatchRequestPostsItemDNSKEYRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemDNSKEYRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemDNSKEYRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemDNSKEYRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemDNSKEYRecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemDSRecordType = "DS"; export const RecordsBatchRequestPostsItemDSRecordType = /*@__PURE__*/ S.String; export interface RecordsBatchRequestPostsItemDSRecordData { /** Algorithm. */ algorithm?: number; /** Digest. */ digest?: string; /** Digest Type. */ digestType?: number; /** Key Tag. */ keyTag?: number; } export const RecordsBatchRequestPostsItemDSRecordData = /*@__PURE__*/ S.suspend( () => S.Struct({ algorithm: S.optional(S.Number), digest: S.optional(S.String), digestType: S.optional(S.Number.pipe(T.Body("digest_type"))), keyTag: S.optional(S.Number.pipe(T.Body("key_tag"))), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemDSRecordData", }) as any as S.Schema; export type RecordsBatchRequestPostsItemDSRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemDSRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemDSRecordTagsList = Array; export const RecordsBatchRequestPostsItemDSRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemDSRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemDSRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted DS content. See 'data' to set DS properties. */ content?: string; /** Components of a DS record. */ data?: RecordsBatchRequestPostsItemDSRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemDSRecordTagsList; } export const RecordsBatchRequestPostsItemDSRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemDSRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemDSRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemDSRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemDSRecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemHTTPSRecordType = "HTTPS"; export const RecordsBatchRequestPostsItemHTTPSRecordType = /*@__PURE__*/ S.String; export interface RecordsBatchRequestPostsItemHTTPSRecordData { /** Priority. */ priority?: number; /** Target. */ target?: string; /** Value. */ value?: string; } export const RecordsBatchRequestPostsItemHTTPSRecordData = /*@__PURE__*/ S.suspend(() => S.Struct({ priority: S.optional(S.Number), target: S.optional(S.String), value: S.optional(S.String), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemHTTPSRecordData", }) as any as S.Schema; export type RecordsBatchRequestPostsItemHTTPSRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemHTTPSRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemHTTPSRecordTagsList = Array; export const RecordsBatchRequestPostsItemHTTPSRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemHTTPSRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemHTTPSRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted HTTPS content. See 'data' to set HTTPS properties. */ content?: string; /** Components of a HTTPS record. */ data?: RecordsBatchRequestPostsItemHTTPSRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemHTTPSRecordTagsList; } export const RecordsBatchRequestPostsItemHTTPSRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemHTTPSRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemHTTPSRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemHTTPSRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemHTTPSRecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemLOCRecordType = "LOC"; export const RecordsBatchRequestPostsItemLOCRecordType = /*@__PURE__*/ S.String; export type RecordsBatchRequestPostsItemLOCRecordDataLatDirection = "N" | "S"; export const RecordsBatchRequestPostsItemLOCRecordDataLatDirection = /*@__PURE__*/ S.String; export type RecordsBatchRequestPostsItemLOCRecordDataLongDirection = "E" | "W"; export const RecordsBatchRequestPostsItemLOCRecordDataLongDirection = /*@__PURE__*/ S.String; export interface RecordsBatchRequestPostsItemLOCRecordData { /** Altitude of location in meters. */ altitude?: number; /** Degrees of latitude. */ latDegrees?: number; /** Latitude direction. */ latDirection?: | RecordsBatchRequestPostsItemLOCRecordDataLatDirection | (string & {}); /** Minutes of latitude. */ latMinutes?: number; /** Seconds of latitude. */ latSeconds?: number; /** Degrees of longitude. */ longDegrees?: number; /** Longitude direction. */ longDirection?: | RecordsBatchRequestPostsItemLOCRecordDataLongDirection | (string & {}); /** Minutes of longitude. */ longMinutes?: number; /** Seconds of longitude. */ longSeconds?: number; /** Horizontal precision of location. */ precisionHorz?: number; /** Vertical precision of location. */ precisionVert?: number; /** Size of location in meters. */ size?: number; } export const RecordsBatchRequestPostsItemLOCRecordData = /*@__PURE__*/ S.suspend(() => S.Struct({ altitude: S.optional(S.Number), latDegrees: S.optional(S.Number.pipe(T.Body("lat_degrees"))), latDirection: S.optional( RecordsBatchRequestPostsItemLOCRecordDataLatDirection.pipe( T.Body("lat_direction"), ), ), latMinutes: S.optional(S.Number.pipe(T.Body("lat_minutes"))), latSeconds: S.optional(S.Number.pipe(T.Body("lat_seconds"))), longDegrees: S.optional(S.Number.pipe(T.Body("long_degrees"))), longDirection: S.optional( RecordsBatchRequestPostsItemLOCRecordDataLongDirection.pipe( T.Body("long_direction"), ), ), longMinutes: S.optional(S.Number.pipe(T.Body("long_minutes"))), longSeconds: S.optional(S.Number.pipe(T.Body("long_seconds"))), precisionHorz: S.optional(S.Number.pipe(T.Body("precision_horz"))), precisionVert: S.optional(S.Number.pipe(T.Body("precision_vert"))), size: S.optional(S.Number), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemLOCRecordData", }) as any as S.Schema; export type RecordsBatchRequestPostsItemLOCRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemLOCRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemLOCRecordTagsList = Array; export const RecordsBatchRequestPostsItemLOCRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemLOCRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemLOCRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted LOC content. See 'data' to set LOC properties. */ content?: string; /** Components of a LOC record. */ data?: RecordsBatchRequestPostsItemLOCRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemLOCRecordTagsList; } export const RecordsBatchRequestPostsItemLOCRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemLOCRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemLOCRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemLOCRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemLOCRecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemNAPTRRecordType = "NAPTR"; export const RecordsBatchRequestPostsItemNAPTRRecordType = /*@__PURE__*/ S.String; export interface RecordsBatchRequestPostsItemNAPTRRecordData { /** Flags. */ flags?: string; /** Order. */ order?: number; /** Preference. */ preference?: number; /** Regex. */ regex?: string; /** Replacement. */ replacement?: string; /** Service. */ service?: string; } export const RecordsBatchRequestPostsItemNAPTRRecordData = /*@__PURE__*/ S.suspend(() => S.Struct({ flags: S.optional(S.String), order: S.optional(S.Number), preference: S.optional(S.Number), regex: S.optional(S.String), replacement: S.optional(S.String), service: S.optional(S.String), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemNAPTRRecordData", }) as any as S.Schema; export type RecordsBatchRequestPostsItemNAPTRRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemNAPTRRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemNAPTRRecordTagsList = Array; export const RecordsBatchRequestPostsItemNAPTRRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemNAPTRRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemNAPTRRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted NAPTR content. See 'data' to set NAPTR properties. */ content?: string; /** Components of a NAPTR record. */ data?: RecordsBatchRequestPostsItemNAPTRRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemNAPTRRecordTagsList; } export const RecordsBatchRequestPostsItemNAPTRRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemNAPTRRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemNAPTRRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemNAPTRRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemNAPTRRecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemSMIMEARecordType = "SMIMEA"; export const RecordsBatchRequestPostsItemSMIMEARecordType = /*@__PURE__*/ S.String; export interface RecordsBatchRequestPostsItemSMIMEARecordData { /** Certificate. */ certificate?: string; /** Matching Type. */ matchingType?: number; /** Selector. */ selector?: number; /** Usage. */ usage?: number; } export const RecordsBatchRequestPostsItemSMIMEARecordData = /*@__PURE__*/ S.suspend(() => S.Struct({ certificate: S.optional(S.String), matchingType: S.optional(S.Number.pipe(T.Body("matching_type"))), selector: S.optional(S.Number), usage: S.optional(S.Number), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemSMIMEARecordData", }) as any as S.Schema; export type RecordsBatchRequestPostsItemSMIMEARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemSMIMEARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemSMIMEARecordTagsList = Array; export const RecordsBatchRequestPostsItemSMIMEARecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemSMIMEARecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemSMIMEARecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted SMIMEA content. See 'data' to set SMIMEA properties. */ content?: string; /** Components of a SMIMEA record. */ data?: RecordsBatchRequestPostsItemSMIMEARecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemSMIMEARecordTagsList; } export const RecordsBatchRequestPostsItemSMIMEARecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemSMIMEARecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemSMIMEARecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemSMIMEARecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemSMIMEARecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemSRVRecordType = "SRV"; export const RecordsBatchRequestPostsItemSRVRecordType = /*@__PURE__*/ S.String; export interface RecordsBatchRequestPostsItemSRVRecordData { /** The port of the service. */ port?: number; /** Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. */ priority?: number; /** A valid hostname. */ target?: string; /** The record weight. */ weight?: number; } export const RecordsBatchRequestPostsItemSRVRecordData = /*@__PURE__*/ S.suspend(() => S.Struct({ port: S.optional(S.Number), priority: S.optional(S.Number), target: S.optional(S.String), weight: S.optional(S.Number), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemSRVRecordData", }) as any as S.Schema; export type RecordsBatchRequestPostsItemSRVRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemSRVRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemSRVRecordTagsList = Array; export const RecordsBatchRequestPostsItemSRVRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemSRVRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemSRVRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Priority, weight, port, and SRV target. See 'data' for setting the individual component values. */ content?: string; /** Components of a SRV record. */ data?: RecordsBatchRequestPostsItemSRVRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemSRVRecordTagsList; } export const RecordsBatchRequestPostsItemSRVRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemSRVRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemSRVRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemSRVRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemSRVRecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemSSHFPRecordType = "SSHFP"; export const RecordsBatchRequestPostsItemSSHFPRecordType = /*@__PURE__*/ S.String; export interface RecordsBatchRequestPostsItemSSHFPRecordData { /** Algorithm. */ algorithm?: number; /** Fingerprint. */ fingerprint?: string; /** Type. */ type?: number; } export const RecordsBatchRequestPostsItemSSHFPRecordData = /*@__PURE__*/ S.suspend(() => S.Struct({ algorithm: S.optional(S.Number), fingerprint: S.optional(S.String), type: S.optional(S.Number), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemSSHFPRecordData", }) as any as S.Schema; export type RecordsBatchRequestPostsItemSSHFPRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemSSHFPRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemSSHFPRecordTagsList = Array; export const RecordsBatchRequestPostsItemSSHFPRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemSSHFPRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemSSHFPRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted SSHFP content. See 'data' to set SSHFP properties. */ content?: string; /** Components of a SSHFP record. */ data?: RecordsBatchRequestPostsItemSSHFPRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemSSHFPRecordTagsList; } export const RecordsBatchRequestPostsItemSSHFPRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemSSHFPRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemSSHFPRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemSSHFPRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemSSHFPRecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemSVCBRecordType = "SVCB"; export const RecordsBatchRequestPostsItemSVCBRecordType = /*@__PURE__*/ S.String; export type RecordsBatchRequestPostsItemSVCBRecordData = RecordsBatchRequestPostsItemHTTPSRecordData; export const RecordsBatchRequestPostsItemSVCBRecordData = RecordsBatchRequestPostsItemHTTPSRecordData; export type RecordsBatchRequestPostsItemSVCBRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemSVCBRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemSVCBRecordTagsList = Array; export const RecordsBatchRequestPostsItemSVCBRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemSVCBRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemSVCBRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted SVCB content. See 'data' to set SVCB properties. */ content?: string; /** Components of a SVCB record. */ data?: RecordsBatchRequestPostsItemHTTPSRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemSVCBRecordTagsList; } export const RecordsBatchRequestPostsItemSVCBRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemSVCBRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemHTTPSRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemSVCBRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemSVCBRecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemTLSARecordType = "TLSA"; export const RecordsBatchRequestPostsItemTLSARecordType = /*@__PURE__*/ S.String; export type RecordsBatchRequestPostsItemTLSARecordData = RecordsBatchRequestPostsItemSMIMEARecordData; export const RecordsBatchRequestPostsItemTLSARecordData = RecordsBatchRequestPostsItemSMIMEARecordData; export type RecordsBatchRequestPostsItemTLSARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemTLSARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemTLSARecordTagsList = Array; export const RecordsBatchRequestPostsItemTLSARecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemTLSARecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemTLSARecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted TLSA content. See 'data' to set TLSA properties. */ content?: string; /** Components of a TLSA record. */ data?: RecordsBatchRequestPostsItemSMIMEARecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemTLSARecordTagsList; } export const RecordsBatchRequestPostsItemTLSARecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemTLSARecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemSMIMEARecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemTLSARecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemTLSARecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItemURIRecordType = "URI"; export const RecordsBatchRequestPostsItemURIRecordType = /*@__PURE__*/ S.String; export interface RecordsBatchRequestPostsItemURIRecordData { /** The record content. */ target?: string; /** The record weight. */ weight?: number; } export const RecordsBatchRequestPostsItemURIRecordData = /*@__PURE__*/ S.suspend(() => S.Struct({ target: S.optional(S.String), weight: S.optional(S.Number), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemURIRecordData", }) as any as S.Schema; export type RecordsBatchRequestPostsItemURIRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPostsItemURIRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPostsItemURIRecordTagsList = Array; export const RecordsBatchRequestPostsItemURIRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPostsItemURIRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPostsItemURIRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted URI content. See 'data' to set URI properties. */ content?: string; /** Components of a URI record. */ data?: RecordsBatchRequestPostsItemURIRecordData; /** Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. */ priority?: number; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPostsItemURIRecordTagsList; } export const RecordsBatchRequestPostsItemURIRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, ttl: S.Number, type: RecordsBatchRequestPostsItemURIRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemURIRecordData), priority: S.optional(S.Number), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPostsItemURIRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPostsItemURIRecord", }) as any as S.Schema; export type RecordsBatchRequestPostsItem = | RecordsBatchRequestPostsItemARecord | RecordsBatchRequestPostsItemAAAARecord | RecordsBatchRequestPostsItemCNAMERecord | RecordsBatchRequestPostsItemMXRecord | RecordsBatchRequestPostsItemNSRecord | RecordsBatchRequestPostsItemDNSRecordsOpenpgpkeyRecord | RecordsBatchRequestPostsItemPTRRecord | RecordsBatchRequestPostsItemTXTRecord | RecordsBatchRequestPostsItemCAARecord | RecordsBatchRequestPostsItemCERTRecord | RecordsBatchRequestPostsItemDNSKEYRecord | RecordsBatchRequestPostsItemDSRecord | RecordsBatchRequestPostsItemHTTPSRecord | RecordsBatchRequestPostsItemLOCRecord | RecordsBatchRequestPostsItemNAPTRRecord | RecordsBatchRequestPostsItemSMIMEARecord | RecordsBatchRequestPostsItemSRVRecord | RecordsBatchRequestPostsItemSSHFPRecord | RecordsBatchRequestPostsItemSVCBRecord | RecordsBatchRequestPostsItemTLSARecord | RecordsBatchRequestPostsItemURIRecord; export const RecordsBatchRequestPostsItem = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ [ "name", "ttl", "type", "comment", "content", "privateRouting", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "privateRouting", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "priority", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "priority", "proxied", "settings", "tags", ], ]), ); export type RecordsBatchRequestPostsList = Array; export const RecordsBatchRequestPostsList = /*@__PURE__*/ S.Array( RecordsBatchRequestPostsItem, ) as any as S.Schema; export type RecordsBatchRequestPutsItemARecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemARecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemAAAARecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemAAAARecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemCNAMERecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemCNAMERecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemMXRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemMXRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemNSRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemNSRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemOpenpgpkeyRecordType = "OPENPGPKEY"; export const RecordsBatchRequestPutsItemOpenpgpkeyRecordType = /*@__PURE__*/ S.String; export type RecordsBatchRequestPutsItemOpenpgpkeyRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsBatchRequestPutsItemOpenpgpkeyRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsBatchRequestPutsItemOpenpgpkeyRecordTagsList = Array; export const RecordsBatchRequestPutsItemOpenpgpkeyRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsBatchRequestPutsItemOpenpgpkeyRecord { /** Identifier. */ id: string; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchRequestPutsItemOpenpgpkeyRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) */ content?: string; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsBatchRequestPutsItemOpenpgpkeyRecordTagsList; } export const RecordsBatchRequestPutsItemOpenpgpkeyRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, name: S.String, ttl: S.Number, type: RecordsBatchRequestPutsItemOpenpgpkeyRecordType, comment: S.optional(S.String), content: S.optional(S.String), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsBatchRequestPutsItemOpenpgpkeyRecordTagsList), }), ).annotate({ identifier: "RecordsBatchRequestPutsItemOpenpgpkeyRecord", }) as any as S.Schema; export type RecordsBatchRequestPutsItemPTRRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemPTRRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemTXTRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemTXTRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemCAARecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemCAARecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemCERTRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemCERTRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemDNSKEYRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemDNSKEYRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemDSRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemDSRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemHTTPSRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemHTTPSRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemLOCRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemLOCRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemNAPTRRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemNAPTRRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemSMIMEARecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemSMIMEARecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemSRVRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemSRVRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemSSHFPRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemSSHFPRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemSVCBRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemSVCBRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemTLSARecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemTLSARecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItemURIRecord = RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItemURIRecord = RecordsBatchRequestDeletesItem; export type RecordsBatchRequestPutsItem = | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestPutsItemOpenpgpkeyRecord | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem | RecordsBatchRequestDeletesItem; export const RecordsBatchRequestPutsItem = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["id"], ["id"], ["id"], ["id"], ["id"], [ "id", "name", "ttl", "type", "comment", "content", "proxied", "settings", "tags", ], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ["id"], ]), ); export type RecordsBatchRequestPutsList = Array; export const RecordsBatchRequestPutsList = /*@__PURE__*/ S.Array( RecordsBatchRequestPutsItem, ) as any as S.Schema; export interface BatchRecordRequest { /** Identifier. */ zoneId: string; /** Whether to include shadow metadata in the `meta` field of each record in the response. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ includeShadowMetadata?: boolean; deletes?: RecordsBatchRequestDeletesList; patches?: RecordsBatchRequestPatchesList; posts?: RecordsBatchRequestPostsList; puts?: RecordsBatchRequestPutsList; } export const BatchRecordRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), includeShadowMetadata: S.optional( S.Boolean.pipe(T.Query("include_shadow_metadata")), ), deletes: S.optional(RecordsBatchRequestDeletesList), patches: S.optional(RecordsBatchRequestPatchesList), posts: S.optional(RecordsBatchRequestPostsList), puts: S.optional(RecordsBatchRequestPutsList), }) .pipe( T.Http({ method: "POST", uri: "/zones/{zone_id}/dns_records/batch", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BatchRecordRequest", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemARecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsBatchResponseDeletesItemARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemARecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemARecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemARecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemAAAARecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemAAAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemAAAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemAAAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemAAAARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemAAAARecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemAAAARecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemAAAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemAAAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemAAAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemAAAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemAAAARecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemCNAMERecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemCNAMERecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemCNAMERecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemCNAMERecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemCNAMERecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemCNAMERecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemCNAMERecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemCNAMERecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemCNAMERecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemCNAMERecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemCNAMERecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemCNAMERecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemMXRecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemMXRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemMXRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemMXRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemMXRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemMXRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemMXRecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemMXRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemMXRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemMXRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemMXRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemMXRecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemNSRecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemNSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemNSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemNSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemNSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemNSRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemNSRecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemNSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemNSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemNSRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemNSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemNSRecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemOpenpgpkeyRecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemOpenpgpkeyRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemOpenpgpkeyRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemOpenpgpkeyRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemOpenpgpkeyRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemOpenpgpkeyRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemOpenpgpkeyRecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings { /** When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. */ ipv4Only?: boolean | null; /** When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. */ ipv6Only?: boolean | null; } export const RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings = /*@__PURE__*/ S.suspend(() => S.Struct({ ipv4Only: S.optional(S.NullOr(S.Boolean).pipe(T.Body("ipv4_only"))), ipv6Only: S.optional(S.NullOr(S.Boolean).pipe(T.Body("ipv6_only"))), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemOpenpgpkeyRecordTagsList = Array; export const RecordsBatchResponseDeletesItemOpenpgpkeyRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export type RecordsBatchResponseDeletesItemOpenpgpkeyRecordType = "OPENPGPKEY"; export const RecordsBatchResponseDeletesItemOpenpgpkeyRecordType = /*@__PURE__*/ S.String; export interface RecordsBatchResponseDeletesItemOpenpgpkeyRecord { /** Identifier. */ id: string; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment: string; /** A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) */ content: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemOpenpgpkeyRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied: boolean; /** Settings for the DNS record. */ settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags: RecordsBatchResponseDeletesItemOpenpgpkeyRecordTagsList; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsBatchResponseDeletesItemOpenpgpkeyRecordType; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemOpenpgpkeyRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, comment: S.String, content: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemOpenpgpkeyRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), name: S.String, proxiable: S.Boolean, proxied: S.Boolean, settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings, tags: RecordsBatchResponseDeletesItemOpenpgpkeyRecordTagsList, ttl: S.Number, type: RecordsBatchResponseDeletesItemOpenpgpkeyRecordType, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemOpenpgpkeyRecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemPTRRecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemPTRRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemPTRRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemPTRRecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemPTRRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemPTRRecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemTXTRecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemTXTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemTXTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemTXTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemTXTRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemTXTRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemTXTRecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemTXTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemTXTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemTXTRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemTXTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemTXTRecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemCAARecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemCAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemCAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemCAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemCAARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemCAARecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemCAARecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemCAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemCAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemCAARecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemCAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemCAARecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemCERTRecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemCERTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemCERTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemCERTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemCERTRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemCERTRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemCERTRecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemCERTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemCERTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemCERTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemCERTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemCERTRecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemDNSKEYRecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemDNSKEYRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemDNSKEYRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemDNSKEYRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemDNSKEYRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemDNSKEYRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemDNSKEYRecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemDNSKEYRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemDNSKEYRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemDNSKEYRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemDNSKEYRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemDNSKEYRecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemDSRecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemDSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemDSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemDSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemDSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemDSRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemDSRecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemDSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemDSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemDSRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemDSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemDSRecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemHTTPSRecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemHTTPSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemHTTPSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemHTTPSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemHTTPSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemHTTPSRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemHTTPSRecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemHTTPSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemHTTPSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemHTTPSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemHTTPSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemHTTPSRecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemLOCRecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemLOCRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemLOCRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemLOCRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemLOCRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemLOCRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemLOCRecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemLOCRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemLOCRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemLOCRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemLOCRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemLOCRecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemNAPTRRecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemNAPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemNAPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemNAPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemNAPTRRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemNAPTRRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemNAPTRRecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemNAPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemNAPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemNAPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemNAPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemNAPTRRecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemSMIMEARecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemSMIMEARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemSMIMEARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemSMIMEARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemSMIMEARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemSMIMEARecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemSMIMEARecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemSMIMEARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemSMIMEARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemSMIMEARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemSMIMEARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemSMIMEARecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemSRVRecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemSRVRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemSRVRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemSRVRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemSRVRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemSRVRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemSRVRecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemSRVRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemSRVRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemSRVRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemSRVRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemSRVRecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemSSHFPRecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemSSHFPRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemSSHFPRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemSSHFPRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemSSHFPRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemSSHFPRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemSSHFPRecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemSSHFPRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemSSHFPRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemSSHFPRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemSSHFPRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemSSHFPRecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemSVCBRecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemSVCBRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemSVCBRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemSVCBRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemSVCBRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemSVCBRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemSVCBRecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemSVCBRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemSVCBRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemSVCBRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemSVCBRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemSVCBRecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemTLSARecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemTLSARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemTLSARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemTLSARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemTLSARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemTLSARecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemTLSARecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemTLSARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemTLSARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemTLSARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemTLSARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemTLSARecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItemURIRecordMetaShadowedByList = Array; export const RecordsBatchResponseDeletesItemURIRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsBatchResponseDeletesItemURIRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsBatchResponseDeletesItemURIRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsBatchResponseDeletesItemURIRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsBatchResponseDeletesItemURIRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemURIRecordMeta", }) as any as S.Schema; export interface RecordsBatchResponseDeletesItemURIRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsBatchResponseDeletesItemURIRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsBatchResponseDeletesItemURIRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsBatchResponseDeletesItemURIRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsBatchResponseDeletesItemURIRecord", }) as any as S.Schema; export type RecordsBatchResponseDeletesItem = | RecordsBatchResponseDeletesItemARecord | RecordsBatchResponseDeletesItemAAAARecord | RecordsBatchResponseDeletesItemCNAMERecord | RecordsBatchResponseDeletesItemMXRecord | RecordsBatchResponseDeletesItemNSRecord | RecordsBatchResponseDeletesItemOpenpgpkeyRecord | RecordsBatchResponseDeletesItemPTRRecord | RecordsBatchResponseDeletesItemTXTRecord | RecordsBatchResponseDeletesItemCAARecord | RecordsBatchResponseDeletesItemCERTRecord | RecordsBatchResponseDeletesItemDNSKEYRecord | RecordsBatchResponseDeletesItemDSRecord | RecordsBatchResponseDeletesItemHTTPSRecord | RecordsBatchResponseDeletesItemLOCRecord | RecordsBatchResponseDeletesItemNAPTRRecord | RecordsBatchResponseDeletesItemSMIMEARecord | RecordsBatchResponseDeletesItemSRVRecord | RecordsBatchResponseDeletesItemSSHFPRecord | RecordsBatchResponseDeletesItemSVCBRecord | RecordsBatchResponseDeletesItemTLSARecord | RecordsBatchResponseDeletesItemURIRecord; export const RecordsBatchResponseDeletesItem = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "comment", "content", "createdOn", "meta", "modifiedOn", "name", "proxiable", "proxied", "settings", "tags", "ttl", "type", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], ]), ); export type RecordsBatchResponseDeletesList = Array; export const RecordsBatchResponseDeletesList = /*@__PURE__*/ S.Array( RecordsBatchResponseDeletesItem, ) as any as S.Schema; export interface RecordsBatchResponsePatchesItemOpenpgpkeyRecord { id?: unknown | null; comment?: unknown | null; content?: unknown | null; } export const RecordsBatchResponsePatchesItemOpenpgpkeyRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.Unknown)), comment: S.optional(S.NullOr(S.Unknown)), content: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsBatchResponsePatchesItemOpenpgpkeyRecord", }) as any as S.Schema; export type RecordsBatchResponsePatchesItem = | RecordsBatchResponseDeletesItemARecord | RecordsBatchResponseDeletesItemAAAARecord | RecordsBatchResponseDeletesItemCNAMERecord | RecordsBatchResponseDeletesItemMXRecord | RecordsBatchResponseDeletesItemNSRecord | RecordsBatchResponsePatchesItemOpenpgpkeyRecord | RecordsBatchResponseDeletesItemPTRRecord | RecordsBatchResponseDeletesItemTXTRecord | RecordsBatchResponseDeletesItemCAARecord | RecordsBatchResponseDeletesItemCERTRecord | RecordsBatchResponseDeletesItemDNSKEYRecord | RecordsBatchResponseDeletesItemDSRecord | RecordsBatchResponseDeletesItemHTTPSRecord | RecordsBatchResponseDeletesItemLOCRecord | RecordsBatchResponseDeletesItemNAPTRRecord | RecordsBatchResponseDeletesItemSMIMEARecord | RecordsBatchResponseDeletesItemSRVRecord | RecordsBatchResponseDeletesItemSSHFPRecord | RecordsBatchResponseDeletesItemSVCBRecord | RecordsBatchResponseDeletesItemTLSARecord | RecordsBatchResponseDeletesItemURIRecord; export const RecordsBatchResponsePatchesItem = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], ["id", "comment", "content"], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], ]), ); export type RecordsBatchResponsePatchesList = Array; export const RecordsBatchResponsePatchesList = /*@__PURE__*/ S.Array( RecordsBatchResponsePatchesItem, ) as any as S.Schema; export type RecordsBatchResponsePostsItemOpenpgpkeyRecord = RecordsBatchResponsePatchesItemOpenpgpkeyRecord; export const RecordsBatchResponsePostsItemOpenpgpkeyRecord = RecordsBatchResponsePatchesItemOpenpgpkeyRecord; export type RecordsBatchResponsePostsItem = | RecordsBatchResponseDeletesItemARecord | RecordsBatchResponseDeletesItemAAAARecord | RecordsBatchResponseDeletesItemCNAMERecord | RecordsBatchResponseDeletesItemMXRecord | RecordsBatchResponseDeletesItemNSRecord | RecordsBatchResponsePatchesItemOpenpgpkeyRecord | RecordsBatchResponseDeletesItemPTRRecord | RecordsBatchResponseDeletesItemTXTRecord | RecordsBatchResponseDeletesItemCAARecord | RecordsBatchResponseDeletesItemCERTRecord | RecordsBatchResponseDeletesItemDNSKEYRecord | RecordsBatchResponseDeletesItemDSRecord | RecordsBatchResponseDeletesItemHTTPSRecord | RecordsBatchResponseDeletesItemLOCRecord | RecordsBatchResponseDeletesItemNAPTRRecord | RecordsBatchResponseDeletesItemSMIMEARecord | RecordsBatchResponseDeletesItemSRVRecord | RecordsBatchResponseDeletesItemSSHFPRecord | RecordsBatchResponseDeletesItemSVCBRecord | RecordsBatchResponseDeletesItemTLSARecord | RecordsBatchResponseDeletesItemURIRecord; export const RecordsBatchResponsePostsItem = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], ["id", "comment", "content"], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], ]), ); export type RecordsBatchResponsePostsList = Array; export const RecordsBatchResponsePostsList = /*@__PURE__*/ S.Array( RecordsBatchResponsePostsItem, ) as any as S.Schema; export type RecordsBatchResponsePutsItemOpenpgpkeyRecord = RecordsBatchResponsePatchesItemOpenpgpkeyRecord; export const RecordsBatchResponsePutsItemOpenpgpkeyRecord = RecordsBatchResponsePatchesItemOpenpgpkeyRecord; export type RecordsBatchResponsePutsItem = | RecordsBatchResponseDeletesItemARecord | RecordsBatchResponseDeletesItemAAAARecord | RecordsBatchResponseDeletesItemCNAMERecord | RecordsBatchResponseDeletesItemMXRecord | RecordsBatchResponseDeletesItemNSRecord | RecordsBatchResponsePatchesItemOpenpgpkeyRecord | RecordsBatchResponseDeletesItemPTRRecord | RecordsBatchResponseDeletesItemTXTRecord | RecordsBatchResponseDeletesItemCAARecord | RecordsBatchResponseDeletesItemCERTRecord | RecordsBatchResponseDeletesItemDNSKEYRecord | RecordsBatchResponseDeletesItemDSRecord | RecordsBatchResponseDeletesItemHTTPSRecord | RecordsBatchResponseDeletesItemLOCRecord | RecordsBatchResponseDeletesItemNAPTRRecord | RecordsBatchResponseDeletesItemSMIMEARecord | RecordsBatchResponseDeletesItemSRVRecord | RecordsBatchResponseDeletesItemSSHFPRecord | RecordsBatchResponseDeletesItemSVCBRecord | RecordsBatchResponseDeletesItemTLSARecord | RecordsBatchResponseDeletesItemURIRecord; export const RecordsBatchResponsePutsItem = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], ["id", "comment", "content"], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], ]), ); export type RecordsBatchResponsePutsList = Array; export const RecordsBatchResponsePutsList = /*@__PURE__*/ S.Array( RecordsBatchResponsePutsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface BatchRecordResponse { deletes?: RecordsBatchResponseDeletesList | null; patches?: RecordsBatchResponsePatchesList | null; posts?: RecordsBatchResponsePostsList | null; puts?: RecordsBatchResponsePutsList | null; } export const BatchRecordResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ deletes: S.optional(S.NullOr(RecordsBatchResponseDeletesList)), patches: S.optional(S.NullOr(RecordsBatchResponsePatchesList)), posts: S.optional(S.NullOr(RecordsBatchResponsePostsList)), puts: S.optional(S.NullOr(RecordsBatchResponsePutsList)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BatchRecordResponse", }) as any as S.Schema; export type RecordsCreateRequestType = | "A" | "AAAA" | "CNAME" | "MX" | "NS" | "OPENPGPKEY" | "PTR" | "TXT" | "CAA" | "CERT" | "DNSKEY" | "DS" | "HTTPS" | "LOC" | "NAPTR" | "SMIMEA" | "SRV" | "SSHFP" | "SVCB" | "TLSA" | "URI"; export const RecordsCreateRequestType = /*@__PURE__*/ S.String; export type RecordsCreateRequestSettingsARecord = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsCreateRequestSettingsARecord = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsCreateRequestSettingsCNAMERecord = RecordsBatchRequestPostsItemCNAMERecordSettings; export const RecordsCreateRequestSettingsCNAMERecord = RecordsBatchRequestPostsItemCNAMERecordSettings; export type RecordsCreateRequestSettings = | RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings | RecordsBatchRequestPostsItemCNAMERecordSettings; export const RecordsCreateRequestSettings = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["ipv4Only", "ipv6Only"], ["flattenCname", "ipv4Only", "ipv6Only"], ]), ); export type RecordsCreateRequestTagsList = Array; export const RecordsCreateRequestTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export type RecordsCreateRequestDataCAARecord = RecordsBatchRequestPostsItemCAARecordData; export const RecordsCreateRequestDataCAARecord = RecordsBatchRequestPostsItemCAARecordData; export type RecordsCreateRequestDataCERTRecord = RecordsBatchRequestPostsItemCERTRecordData; export const RecordsCreateRequestDataCERTRecord = RecordsBatchRequestPostsItemCERTRecordData; export type RecordsCreateRequestDataDNSKEYRecord = RecordsBatchRequestPostsItemDNSKEYRecordData; export const RecordsCreateRequestDataDNSKEYRecord = RecordsBatchRequestPostsItemDNSKEYRecordData; export type RecordsCreateRequestDataDSRecord = RecordsBatchRequestPostsItemDSRecordData; export const RecordsCreateRequestDataDSRecord = RecordsBatchRequestPostsItemDSRecordData; export type RecordsCreateRequestDataHTTPSRecord = RecordsBatchRequestPostsItemHTTPSRecordData; export const RecordsCreateRequestDataHTTPSRecord = RecordsBatchRequestPostsItemHTTPSRecordData; export type RecordsCreateRequestDataLOCRecordLatDirection = "N" | "S"; export const RecordsCreateRequestDataLOCRecordLatDirection = /*@__PURE__*/ S.String; export type RecordsCreateRequestDataLOCRecordLongDirection = "E" | "W"; export const RecordsCreateRequestDataLOCRecordLongDirection = /*@__PURE__*/ S.String; export interface RecordsCreateRequestDataLOCRecord { /** Altitude of location in meters. */ altitude?: number; /** Degrees of latitude. */ latDegrees?: number; /** Latitude direction. */ latDirection?: RecordsCreateRequestDataLOCRecordLatDirection | (string & {}); /** Minutes of latitude. */ latMinutes?: number; /** Seconds of latitude. */ latSeconds?: number; /** Degrees of longitude. */ longDegrees?: number; /** Longitude direction. */ longDirection?: | RecordsCreateRequestDataLOCRecordLongDirection | (string & {}); /** Minutes of longitude. */ longMinutes?: number; /** Seconds of longitude. */ longSeconds?: number; /** Horizontal precision of location. */ precisionHorz?: number; /** Vertical precision of location. */ precisionVert?: number; /** Size of location in meters. */ size?: number; } export const RecordsCreateRequestDataLOCRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ altitude: S.optional(S.Number), latDegrees: S.optional(S.Number.pipe(T.Body("lat_degrees"))), latDirection: S.optional( RecordsCreateRequestDataLOCRecordLatDirection.pipe( T.Body("lat_direction"), ), ), latMinutes: S.optional(S.Number.pipe(T.Body("lat_minutes"))), latSeconds: S.optional(S.Number.pipe(T.Body("lat_seconds"))), longDegrees: S.optional(S.Number.pipe(T.Body("long_degrees"))), longDirection: S.optional( RecordsCreateRequestDataLOCRecordLongDirection.pipe( T.Body("long_direction"), ), ), longMinutes: S.optional(S.Number.pipe(T.Body("long_minutes"))), longSeconds: S.optional(S.Number.pipe(T.Body("long_seconds"))), precisionHorz: S.optional(S.Number.pipe(T.Body("precision_horz"))), precisionVert: S.optional(S.Number.pipe(T.Body("precision_vert"))), size: S.optional(S.Number), }), ).annotate({ identifier: "RecordsCreateRequestDataLOCRecord", }) as any as S.Schema; export type RecordsCreateRequestDataNAPTRRecord = RecordsBatchRequestPostsItemNAPTRRecordData; export const RecordsCreateRequestDataNAPTRRecord = RecordsBatchRequestPostsItemNAPTRRecordData; export type RecordsCreateRequestDataSMIMEARecord = RecordsBatchRequestPostsItemSMIMEARecordData; export const RecordsCreateRequestDataSMIMEARecord = RecordsBatchRequestPostsItemSMIMEARecordData; export type RecordsCreateRequestDataSRVRecord = RecordsBatchRequestPostsItemSRVRecordData; export const RecordsCreateRequestDataSRVRecord = RecordsBatchRequestPostsItemSRVRecordData; export type RecordsCreateRequestDataSSHFPRecord = RecordsBatchRequestPostsItemSSHFPRecordData; export const RecordsCreateRequestDataSSHFPRecord = RecordsBatchRequestPostsItemSSHFPRecordData; export type RecordsCreateRequestDataURIRecord = RecordsBatchRequestPostsItemURIRecordData; export const RecordsCreateRequestDataURIRecord = RecordsBatchRequestPostsItemURIRecordData; export type RecordsCreateRequestData = | RecordsBatchRequestPostsItemCAARecordData | RecordsBatchRequestPostsItemCERTRecordData | RecordsBatchRequestPostsItemDNSKEYRecordData | RecordsBatchRequestPostsItemDSRecordData | RecordsBatchRequestPostsItemHTTPSRecordData | RecordsCreateRequestDataLOCRecord | RecordsBatchRequestPostsItemNAPTRRecordData | RecordsBatchRequestPostsItemSMIMEARecordData | RecordsBatchRequestPostsItemSRVRecordData | RecordsBatchRequestPostsItemSSHFPRecordData | RecordsBatchRequestPostsItemURIRecordData; export const RecordsCreateRequestData = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["flags", "tag", "value"], ["algorithm", "certificate", "keyTag", "type"], ["algorithm", "flags", "protocol", "publicKey"], ["algorithm", "digest", "digestType", "keyTag"], ["priority", "target", "value"], [ "altitude", "latDegrees", "latDirection", "latMinutes", "latSeconds", "longDegrees", "longDirection", "longMinutes", "longSeconds", "precisionHorz", "precisionVert", "size", ], ["flags", "order", "preference", "regex", "replacement", "service"], ["certificate", "matchingType", "selector", "usage"], ["port", "priority", "target", "weight"], ["algorithm", "fingerprint", "type"], ["target", "weight"], ]), ); export interface CreateRecordRequest { /** Identifier. */ zoneId: string; /** Whether to include shadow metadata in the `meta` field of each record in the response. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ includeShadowMetadata?: boolean; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsCreateRequestType | (string & {}); /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A valid IPv4 address. */ content?: string; /** Enables private network routing to the origin. */ privateRouting?: boolean; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsCreateRequestSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsCreateRequestTagsList; /** Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. */ priority?: number; /** Components of a CAA record. */ data?: RecordsCreateRequestData; } export const CreateRecordRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), includeShadowMetadata: S.optional( S.Boolean.pipe(T.Query("include_shadow_metadata")), ), name: S.String, ttl: S.Number, type: RecordsCreateRequestType, comment: S.optional(S.String), content: S.optional(S.String), privateRouting: S.optional(S.Boolean.pipe(T.Body("private_routing"))), proxied: S.optional(S.Boolean), settings: S.optional(RecordsCreateRequestSettings), tags: S.optional(RecordsCreateRequestTagsList), priority: S.optional(S.Number), data: S.optional(RecordsCreateRequestData), }) .pipe( T.Http({ method: "POST", uri: "/zones/{zone_id}/dns_records", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateRecordRequest", }) as any as S.Schema; export type RecordsCreateResultARecordMetaShadowedByList = Array; export const RecordsCreateResultARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultARecordMeta", }) as any as S.Schema; export type DnsRecordTypeA = "A"; export const DnsRecordTypeA = /*@__PURE__*/ S.String; export type DnsRecordTagsList = Array; export const DnsRecordTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultARecord", }) as any as S.Schema; export type RecordsCreateResultAAAARecordMetaShadowedByList = Array; export const RecordsCreateResultAAAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultAAAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultAAAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultAAAARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultAAAARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultAAAARecordMeta", }) as any as S.Schema; export type DnsRecordTypeAAAA = "AAAA"; export const DnsRecordTypeAAAA = /*@__PURE__*/ S.String; export interface RecordsCreateResultAAAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultAAAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeAAAA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultAAAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultAAAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeAAAA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultAAAARecord", }) as any as S.Schema; export type RecordsCreateResultCNAMERecordMetaShadowedByList = Array; export const RecordsCreateResultCNAMERecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultCNAMERecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultCNAMERecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultCNAMERecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultCNAMERecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultCNAMERecordMeta", }) as any as S.Schema; export type DnsRecordTypeCNAME = "CNAME"; export const DnsRecordTypeCNAME = /*@__PURE__*/ S.String; export interface RecordsCreateResultCNAMERecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultCNAMERecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeCNAME; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultCNAMERecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultCNAMERecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeCNAME, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultCNAMERecord", }) as any as S.Schema; export type RecordsCreateResultMXRecordMetaShadowedByList = Array; export const RecordsCreateResultMXRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultMXRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultMXRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultMXRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultMXRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultMXRecordMeta", }) as any as S.Schema; export type DnsRecordTypeMX = "MX"; export const DnsRecordTypeMX = /*@__PURE__*/ S.String; export interface RecordsCreateResultMXRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultMXRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeMX; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultMXRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultMXRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeMX, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultMXRecord", }) as any as S.Schema; export type RecordsCreateResultNSRecordMetaShadowedByList = Array; export const RecordsCreateResultNSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultNSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultNSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultNSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultNSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultNSRecordMeta", }) as any as S.Schema; export type DnsRecordTypeNS = "NS"; export const DnsRecordTypeNS = /*@__PURE__*/ S.String; export interface RecordsCreateResultNSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultNSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeNS; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultNSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultNSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeNS, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultNSRecord", }) as any as S.Schema; export type RecordsCreateResultOpenpgpkeyRecordMetaShadowedByList = Array; export const RecordsCreateResultOpenpgpkeyRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultOpenpgpkeyRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultOpenpgpkeyRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultOpenpgpkeyRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultOpenpgpkeyRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultOpenpgpkeyRecordMeta", }) as any as S.Schema; export type RecordsCreateResultOpenpgpkeyRecordSettings = RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; export const RecordsCreateResultOpenpgpkeyRecordSettings = RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; export type RecordsCreateResultOpenpgpkeyRecordTagsList = Array; export const RecordsCreateResultOpenpgpkeyRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export type RecordsCreateResultOpenpgpkeyRecordType = "OPENPGPKEY"; export const RecordsCreateResultOpenpgpkeyRecordType = /*@__PURE__*/ S.String; export interface RecordsCreateResultOpenpgpkeyRecord { /** Identifier. */ id: string; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment: string; /** A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) */ content: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultOpenpgpkeyRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied: boolean; /** Settings for the DNS record. */ settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags: RecordsCreateResultOpenpgpkeyRecordTagsList; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsCreateResultOpenpgpkeyRecordType; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsCreateResultOpenpgpkeyRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, comment: S.String, content: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultOpenpgpkeyRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), name: S.String, proxiable: S.Boolean, proxied: S.Boolean, settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings, tags: RecordsCreateResultOpenpgpkeyRecordTagsList, ttl: S.Number, type: RecordsCreateResultOpenpgpkeyRecordType, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsCreateResultOpenpgpkeyRecord", }) as any as S.Schema; export type RecordsCreateResultPTRRecordMetaShadowedByList = Array; export const RecordsCreateResultPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultPTRRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultPTRRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultPTRRecordMeta", }) as any as S.Schema; export type DnsRecordTypePTR = "PTR"; export const DnsRecordTypePTR = /*@__PURE__*/ S.String; export interface RecordsCreateResultPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypePTR; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypePTR, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultPTRRecord", }) as any as S.Schema; export type RecordsCreateResultTXTRecordMetaShadowedByList = Array; export const RecordsCreateResultTXTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultTXTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultTXTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultTXTRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultTXTRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultTXTRecordMeta", }) as any as S.Schema; export type DnsRecordTypeTXT = "TXT"; export const DnsRecordTypeTXT = /*@__PURE__*/ S.String; export interface RecordsCreateResultTXTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultTXTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeTXT; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultTXTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultTXTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeTXT, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultTXTRecord", }) as any as S.Schema; export type RecordsCreateResultCAARecordMetaShadowedByList = Array; export const RecordsCreateResultCAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultCAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultCAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultCAARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultCAARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultCAARecordMeta", }) as any as S.Schema; export type DnsRecordTypeCAA = "CAA"; export const DnsRecordTypeCAA = /*@__PURE__*/ S.String; export interface RecordsCreateResultCAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultCAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeCAA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultCAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultCAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeCAA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultCAARecord", }) as any as S.Schema; export type RecordsCreateResultCERTRecordMetaShadowedByList = Array; export const RecordsCreateResultCERTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultCERTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultCERTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultCERTRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultCERTRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultCERTRecordMeta", }) as any as S.Schema; export type DnsRecordTypeCERT = "CERT"; export const DnsRecordTypeCERT = /*@__PURE__*/ S.String; export interface RecordsCreateResultCERTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultCERTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeCERT; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultCERTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultCERTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeCERT, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultCERTRecord", }) as any as S.Schema; export type RecordsCreateResultDNSKEYRecordMetaShadowedByList = Array; export const RecordsCreateResultDNSKEYRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultDNSKEYRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultDNSKEYRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultDNSKEYRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultDNSKEYRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultDNSKEYRecordMeta", }) as any as S.Schema; export type DnsRecordTypeDNSKEY = "DNSKEY"; export const DnsRecordTypeDNSKEY = /*@__PURE__*/ S.String; export interface RecordsCreateResultDNSKEYRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultDNSKEYRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeDNSKEY; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultDNSKEYRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultDNSKEYRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeDNSKEY, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultDNSKEYRecord", }) as any as S.Schema; export type RecordsCreateResultDSRecordMetaShadowedByList = Array; export const RecordsCreateResultDSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultDSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultDSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultDSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultDSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultDSRecordMeta", }) as any as S.Schema; export type DnsRecordTypeDS = "DS"; export const DnsRecordTypeDS = /*@__PURE__*/ S.String; export interface RecordsCreateResultDSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultDSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeDS; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultDSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultDSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeDS, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultDSRecord", }) as any as S.Schema; export type RecordsCreateResultHTTPSRecordMetaShadowedByList = Array; export const RecordsCreateResultHTTPSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultHTTPSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultHTTPSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultHTTPSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultHTTPSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultHTTPSRecordMeta", }) as any as S.Schema; export type DnsRecordTypeHTTPS = "HTTPS"; export const DnsRecordTypeHTTPS = /*@__PURE__*/ S.String; export interface RecordsCreateResultHTTPSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultHTTPSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeHTTPS; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultHTTPSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultHTTPSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeHTTPS, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultHTTPSRecord", }) as any as S.Schema; export type RecordsCreateResultLOCRecordMetaShadowedByList = Array; export const RecordsCreateResultLOCRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultLOCRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultLOCRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultLOCRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultLOCRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultLOCRecordMeta", }) as any as S.Schema; export type DnsRecordTypeLOC = "LOC"; export const DnsRecordTypeLOC = /*@__PURE__*/ S.String; export interface RecordsCreateResultLOCRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultLOCRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeLOC; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultLOCRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultLOCRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeLOC, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultLOCRecord", }) as any as S.Schema; export type RecordsCreateResultNAPTRRecordMetaShadowedByList = Array; export const RecordsCreateResultNAPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultNAPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultNAPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultNAPTRRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultNAPTRRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultNAPTRRecordMeta", }) as any as S.Schema; export type DnsRecordTypeNAPTR = "NAPTR"; export const DnsRecordTypeNAPTR = /*@__PURE__*/ S.String; export interface RecordsCreateResultNAPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultNAPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeNAPTR; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultNAPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultNAPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeNAPTR, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultNAPTRRecord", }) as any as S.Schema; export type RecordsCreateResultSMIMEARecordMetaShadowedByList = Array; export const RecordsCreateResultSMIMEARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultSMIMEARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultSMIMEARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultSMIMEARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultSMIMEARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultSMIMEARecordMeta", }) as any as S.Schema; export type DnsRecordTypeSMIMEA = "SMIMEA"; export const DnsRecordTypeSMIMEA = /*@__PURE__*/ S.String; export interface RecordsCreateResultSMIMEARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultSMIMEARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSMIMEA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultSMIMEARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultSMIMEARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSMIMEA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultSMIMEARecord", }) as any as S.Schema; export type RecordsCreateResultSRVRecordMetaShadowedByList = Array; export const RecordsCreateResultSRVRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultSRVRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultSRVRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultSRVRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultSRVRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultSRVRecordMeta", }) as any as S.Schema; export type DnsRecordTypeSRV = "SRV"; export const DnsRecordTypeSRV = /*@__PURE__*/ S.String; export interface RecordsCreateResultSRVRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultSRVRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSRV; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultSRVRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultSRVRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSRV, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultSRVRecord", }) as any as S.Schema; export type RecordsCreateResultSSHFPRecordMetaShadowedByList = Array; export const RecordsCreateResultSSHFPRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultSSHFPRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultSSHFPRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultSSHFPRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultSSHFPRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultSSHFPRecordMeta", }) as any as S.Schema; export type DnsRecordTypeSSHFP = "SSHFP"; export const DnsRecordTypeSSHFP = /*@__PURE__*/ S.String; export interface RecordsCreateResultSSHFPRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultSSHFPRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSSHFP; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultSSHFPRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultSSHFPRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSSHFP, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultSSHFPRecord", }) as any as S.Schema; export type RecordsCreateResultSVCBRecordMetaShadowedByList = Array; export const RecordsCreateResultSVCBRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultSVCBRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultSVCBRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultSVCBRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultSVCBRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultSVCBRecordMeta", }) as any as S.Schema; export type DnsRecordTypeSVCB = "SVCB"; export const DnsRecordTypeSVCB = /*@__PURE__*/ S.String; export interface RecordsCreateResultSVCBRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultSVCBRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSVCB; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultSVCBRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultSVCBRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSVCB, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultSVCBRecord", }) as any as S.Schema; export type RecordsCreateResultTLSARecordMetaShadowedByList = Array; export const RecordsCreateResultTLSARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultTLSARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultTLSARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultTLSARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultTLSARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultTLSARecordMeta", }) as any as S.Schema; export type DnsRecordTypeTLSA = "TLSA"; export const DnsRecordTypeTLSA = /*@__PURE__*/ S.String; export interface RecordsCreateResultTLSARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultTLSARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeTLSA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultTLSARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultTLSARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeTLSA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultTLSARecord", }) as any as S.Schema; export type RecordsCreateResultURIRecordMetaShadowedByList = Array; export const RecordsCreateResultURIRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsCreateResultURIRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsCreateResultURIRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsCreateResultURIRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsCreateResultURIRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsCreateResultURIRecordMeta", }) as any as S.Schema; export type DnsRecordTypeURI = "URI"; export const DnsRecordTypeURI = /*@__PURE__*/ S.String; export interface RecordsCreateResultURIRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsCreateResultURIRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeURI; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsCreateResultURIRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsCreateResultURIRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeURI, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsCreateResultURIRecord", }) as any as S.Schema; export type RecordsCreateResult = | RecordsCreateResultARecord | RecordsCreateResultAAAARecord | RecordsCreateResultCNAMERecord | RecordsCreateResultMXRecord | RecordsCreateResultNSRecord | RecordsCreateResultOpenpgpkeyRecord | RecordsCreateResultPTRRecord | RecordsCreateResultTXTRecord | RecordsCreateResultCAARecord | RecordsCreateResultCERTRecord | RecordsCreateResultDNSKEYRecord | RecordsCreateResultDSRecord | RecordsCreateResultHTTPSRecord | RecordsCreateResultLOCRecord | RecordsCreateResultNAPTRRecord | RecordsCreateResultSMIMEARecord | RecordsCreateResultSRVRecord | RecordsCreateResultSSHFPRecord | RecordsCreateResultSVCBRecord | RecordsCreateResultTLSARecord | RecordsCreateResultURIRecord; export const RecordsCreateResult = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "comment", "content", "createdOn", "meta", "modifiedOn", "name", "proxiable", "proxied", "settings", "tags", "ttl", "type", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], ]), ); export type CreateRecordResponse = RecordsCreateResult; export const CreateRecordResponse = /*@__PURE__*/ S.suspend(() => RecordsCreateResult.pipe( T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY), ), ).annotate({ identifier: "CreateRecordResponse", }) as any as S.Schema; export type SettingsAccountViewsCreateRequestZonesList = Array; export const SettingsAccountViewsCreateRequestZonesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CreateSettingAccountViewRequest { /** Identifier. */ accountId: string; /** The name of the view. */ name: string; /** The list of zones linked to this view. */ zones: SettingsAccountViewsCreateRequestZonesList; } export const CreateSettingAccountViewRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String, zones: SettingsAccountViewsCreateRequestZonesList, }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/dns_settings/views", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateSettingAccountViewRequest", }) as any as S.Schema; export type SettingsAccountViewsCreateResponseZonesList = Array; export const SettingsAccountViewsCreateResponseZonesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CreateSettingAccountViewResponse { /** Identifier. */ id: string; /** When the view was created. */ createdTime: string; /** When the view was last modified. */ modifiedTime: string; /** The name of the view. */ name: string; /** The list of zones linked to this view. */ zones: SettingsAccountViewsCreateResponseZonesList; } export const CreateSettingAccountViewResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdTime: S.String.pipe(T.Body("created_time")), modifiedTime: S.String.pipe(T.Body("modified_time")), name: S.String, zones: SettingsAccountViewsCreateResponseZonesList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateSettingAccountViewResponse", }) as any as S.Schema; export interface CreateZoneTransferAclRequest { accountId: string; /** Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively. */ ipRange: string; /** The name of the acl. */ name: string; } export const CreateZoneTransferAclRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), ipRange: S.String.pipe(T.Body("ip_range")), name: S.String, }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/secondary_dns/acls", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateZoneTransferAclRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CreateZoneTransferAclResponse { id: string; /** Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively. */ ipRange: string; /** The name of the acl. */ name: string; } export const CreateZoneTransferAclResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, ipRange: S.String.pipe(T.Body("ip_range")), name: S.String, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateZoneTransferAclResponse", }) as any as S.Schema; export interface CreateZoneTransferForceAxfrRequest { zoneId: string; } export const CreateZoneTransferForceAxfrRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "POST", uri: "/zones/{zone_id}/secondary_dns/force_axfr", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateZoneTransferForceAxfrRequest", }) as any as S.Schema; export type CreateZoneTransferForceAxfrResponse = unknown; export const CreateZoneTransferForceAxfrResponse = /*@__PURE__*/ S.suspend(() => S.Unknown.pipe(T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateZoneTransferForceAxfrResponse", }) as any as S.Schema; export type ZoneTransfersIncomingCreateRequestPeersList = Array; export const ZoneTransfersIncomingCreateRequestPeersList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CreateZoneTransferIncomingRequest { zoneId: string; /** How often should a secondary zone auto refresh regardless of DNS NOTIFY. */ autoRefreshSeconds: number; /** Zone name. */ name: string; /** A list of peer tags. */ peers: ZoneTransfersIncomingCreateRequestPeersList; } export const CreateZoneTransferIncomingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), autoRefreshSeconds: S.Number.pipe(T.Body("auto_refresh_seconds")), name: S.String, peers: ZoneTransfersIncomingCreateRequestPeersList, }) .pipe( T.Http({ method: "POST", uri: "/zones/{zone_id}/secondary_dns/incoming", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateZoneTransferIncomingRequest", }) as any as S.Schema; export type ZoneTransfersIncomingCreateResponsePeersList = Array; export const ZoneTransfersIncomingCreateResponsePeersList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CreateZoneTransferIncomingResponse { id?: string | null; /** How often should a secondary zone auto refresh regardless of DNS NOTIFY. */ autoRefreshSeconds?: number | null; /** The time for a specific event. */ checkedTime?: string | null; /** The time for a specific event. */ createdTime?: string | null; /** The time for a specific event. */ modifiedTime?: string | null; /** Zone name. */ name?: string | null; /** A list of peer tags. */ peers?: ZoneTransfersIncomingCreateResponsePeersList | null; /** The serial number of the SOA for the given zone. */ soaSerial?: number | null; } export const CreateZoneTransferIncomingResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), autoRefreshSeconds: S.optional( S.NullOr(S.Number).pipe(T.Body("auto_refresh_seconds")), ), checkedTime: S.optional(S.NullOr(S.String).pipe(T.Body("checked_time"))), createdTime: S.optional(S.NullOr(S.String).pipe(T.Body("created_time"))), modifiedTime: S.optional(S.NullOr(S.String).pipe(T.Body("modified_time"))), name: S.optional(S.NullOr(S.String)), peers: S.optional(S.NullOr(ZoneTransfersIncomingCreateResponsePeersList)), soaSerial: S.optional(S.NullOr(S.Number).pipe(T.Body("soa_serial"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateZoneTransferIncomingResponse", }) as any as S.Schema; export type ZoneTransfersOutgoingCreateRequestPeersList = Array; export const ZoneTransfersOutgoingCreateRequestPeersList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CreateZoneTransferOutgoingRequest { zoneId: string; /** Zone name. */ name: string; /** A list of peer tags. */ peers: ZoneTransfersOutgoingCreateRequestPeersList; } export const CreateZoneTransferOutgoingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), name: S.String, peers: ZoneTransfersOutgoingCreateRequestPeersList, }) .pipe( T.Http({ method: "POST", uri: "/zones/{zone_id}/secondary_dns/outgoing", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateZoneTransferOutgoingRequest", }) as any as S.Schema; export type ZoneTransfersOutgoingCreateResponsePeersList = Array; export const ZoneTransfersOutgoingCreateResponsePeersList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CreateZoneTransferOutgoingResponse { id?: string | null; /** The time for a specific event. */ checkedTime?: string | null; /** The time for a specific event. */ createdTime?: string | null; /** The time for a specific event. */ lastTransferredTime?: string | null; /** Zone name. */ name?: string | null; /** A list of peer tags. */ peers?: ZoneTransfersOutgoingCreateResponsePeersList | null; /** The serial number of the SOA for the given zone. */ soaSerial?: number | null; } export const CreateZoneTransferOutgoingResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), checkedTime: S.optional(S.NullOr(S.String).pipe(T.Body("checked_time"))), createdTime: S.optional(S.NullOr(S.String).pipe(T.Body("created_time"))), lastTransferredTime: S.optional( S.NullOr(S.String).pipe(T.Body("last_transferred_time")), ), name: S.optional(S.NullOr(S.String)), peers: S.optional(S.NullOr(ZoneTransfersOutgoingCreateResponsePeersList)), soaSerial: S.optional(S.NullOr(S.Number).pipe(T.Body("soa_serial"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateZoneTransferOutgoingResponse", }) as any as S.Schema; export interface CreateZoneTransferPeerRequest { accountId: string; /** The name of the peer. */ name: string; } export const CreateZoneTransferPeerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), name: S.String, }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/secondary_dns/peers", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateZoneTransferPeerRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CreateZoneTransferPeerResponse { id: string; /** The name of the peer. */ name: string; /** IPv4/IPv6 address of primary or secondary nameserver, depending on what zone this peer is linked to. For primary zones this IP defines the IP of the secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary zones this IP defines the IP of the primary nameserver Cloudflare will send AXFR/IXFR requests to. */ ip?: string | null; /** Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. */ ixfrEnable?: boolean | null; /** DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. */ port?: number | null; /** TSIG authentication will be used for zone transfer if configured. */ tsigId?: string | null; } export const CreateZoneTransferPeerResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, name: S.String, ip: S.optional(S.NullOr(S.String)), ixfrEnable: S.optional(S.NullOr(S.Boolean).pipe(T.Body("ixfr_enable"))), port: S.optional(S.NullOr(S.Number)), tsigId: S.optional(S.NullOr(S.String).pipe(T.Body("tsig_id"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateZoneTransferPeerResponse", }) as any as S.Schema; export interface CreateZoneTransferTsigRequest { accountId: string; /** TSIG algorithm. */ algo: string; /** TSIG key name. */ name: string; /** TSIG secret. */ secret: string; } export const CreateZoneTransferTsigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), algo: S.String, name: S.String, secret: S.String, }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/secondary_dns/tsigs", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateZoneTransferTsigRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CreateZoneTransferTsigResponse { id: string; /** TSIG algorithm. */ algo: string; /** TSIG key name. */ name: string; /** TSIG secret. */ secret: string; } export const CreateZoneTransferTsigResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, algo: S.String, name: S.String, secret: S.String, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CreateZoneTransferTsigResponse", }) as any as S.Schema; export interface DeleteDnssecRequest { /** Identifier. */ zoneId: string; } export const DeleteDnssecRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "DELETE", uri: "/zones/{zone_id}/dnssec", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteDnssecRequest", }) as any as S.Schema; export type DeleteDnssecResponse = string; export const DeleteDnssecResponse = /*@__PURE__*/ S.suspend(() => S.String.pipe(T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteDnssecResponse", }) as any as S.Schema; export interface DeleteRecordRequest { /** Identifier. */ zoneId: string; /** Identifier. */ dnsRecordId: string; } export const DeleteRecordRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), dnsRecordId: S.String.pipe(T.Label("dns_record_id")), }) .pipe( T.Http({ method: "DELETE", uri: "/zones/{zone_id}/dns_records/{dns_record_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteRecordRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DeleteRecordResponse { /** Identifier. */ id?: string | null; } export const DeleteRecordResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteRecordResponse", }) as any as S.Schema; export interface DeleteSettingAccountViewRequest { /** Identifier. */ accountId: string; /** Identifier. */ viewId: string; } export const DeleteSettingAccountViewRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), viewId: S.String.pipe(T.Label("view_id")), }) .pipe( T.Http({ method: "DELETE", uri: "/accounts/{account_id}/dns_settings/views/{view_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteSettingAccountViewRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DeleteSettingAccountViewResponse { /** Identifier. */ id?: string | null; } export const DeleteSettingAccountViewResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteSettingAccountViewResponse", }) as any as S.Schema; export interface DeleteZoneTransferAclRequest { accountId: string; aclId: string; } export const DeleteZoneTransferAclRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), aclId: S.String.pipe(T.Label("acl_id")), }) .pipe( T.Http({ method: "DELETE", uri: "/accounts/{account_id}/secondary_dns/acls/{acl_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteZoneTransferAclRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DeleteZoneTransferAclResponse { id?: string | null; } export const DeleteZoneTransferAclResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteZoneTransferAclResponse", }) as any as S.Schema; export interface DeleteZoneTransferIncomingRequest { zoneId: string; } export const DeleteZoneTransferIncomingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "DELETE", uri: "/zones/{zone_id}/secondary_dns/incoming", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteZoneTransferIncomingRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DeleteZoneTransferIncomingResponse { id?: string | null; } export const DeleteZoneTransferIncomingResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteZoneTransferIncomingResponse", }) as any as S.Schema; export interface DeleteZoneTransferOutgoingRequest { zoneId: string; } export const DeleteZoneTransferOutgoingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "DELETE", uri: "/zones/{zone_id}/secondary_dns/outgoing", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteZoneTransferOutgoingRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DeleteZoneTransferOutgoingResponse { id?: string | null; } export const DeleteZoneTransferOutgoingResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteZoneTransferOutgoingResponse", }) as any as S.Schema; export interface DeleteZoneTransferPeerRequest { accountId: string; peerId: string; } export const DeleteZoneTransferPeerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), peerId: S.String.pipe(T.Label("peer_id")), }) .pipe( T.Http({ method: "DELETE", uri: "/accounts/{account_id}/secondary_dns/peers/{peer_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteZoneTransferPeerRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DeleteZoneTransferPeerResponse { id?: string | null; } export const DeleteZoneTransferPeerResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteZoneTransferPeerResponse", }) as any as S.Schema; export interface DeleteZoneTransferTsigRequest { accountId: string; tsigId: string; } export const DeleteZoneTransferTsigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), tsigId: S.String.pipe(T.Label("tsig_id")), }) .pipe( T.Http({ method: "DELETE", uri: "/accounts/{account_id}/secondary_dns/tsigs/{tsig_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteZoneTransferTsigRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DeleteZoneTransferTsigResponse { id?: string | null; } export const DeleteZoneTransferTsigResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeleteZoneTransferTsigResponse", }) as any as S.Schema; export interface DisableZoneTransferOutgoingRequest { zoneId: string; } export const DisableZoneTransferOutgoingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "POST", uri: "/zones/{zone_id}/secondary_dns/outgoing/disable", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DisableZoneTransferOutgoingRequest", }) as any as S.Schema; export type DisableZoneTransferOutgoingResponse = unknown; export const DisableZoneTransferOutgoingResponse = /*@__PURE__*/ S.suspend(() => S.Unknown.pipe(T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DisableZoneTransferOutgoingResponse", }) as any as S.Schema; export interface EnableZoneTransferOutgoingRequest { zoneId: string; } export const EnableZoneTransferOutgoingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "POST", uri: "/zones/{zone_id}/secondary_dns/outgoing/enable", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "EnableZoneTransferOutgoingRequest", }) as any as S.Schema; export type EnableZoneTransferOutgoingResponse = unknown; export const EnableZoneTransferOutgoingResponse = /*@__PURE__*/ S.suspend(() => S.Unknown.pipe(T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "EnableZoneTransferOutgoingResponse", }) as any as S.Schema; export interface ExportRecordRequest { /** Identifier. */ zoneId: string; } export const ExportRecordRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/dns_records/export", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ExportRecordRequest", }) as any as S.Schema; export interface ExportRecordResponse {} export const ExportRecordResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ExportRecordResponse", }) as any as S.Schema; export interface ForceNotifyZoneTransferOutgoingRequest { zoneId: string; } export const ForceNotifyZoneTransferOutgoingRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "POST", uri: "/zones/{zone_id}/secondary_dns/outgoing/force_notify", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ForceNotifyZoneTransferOutgoingRequest", }) as any as S.Schema; export type ForceNotifyZoneTransferOutgoingResponse = string; export const ForceNotifyZoneTransferOutgoingResponse = /*@__PURE__*/ S.suspend( () => S.String.pipe(T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ForceNotifyZoneTransferOutgoingResponse", }) as any as S.Schema; export interface GetAnalyticReportRequest { /** Identifier. */ zoneId: string; /** A comma-separated list of dimensions to group results by. */ dimensions?: string; /** Segmentation filter in 'attribute operator value' format. */ filters?: string; /** Limit number of returned metrics. */ limit?: number; /** A comma-separated list of metrics to query. */ metrics?: string; /** Start date and time of requesting data period in ISO 8601 format. */ since?: string; /** A comma-separated list of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending). */ sort?: string; /** End date and time of requesting data period in ISO 8601 format. */ until?: string; } export const GetAnalyticReportRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), dimensions: S.optional(S.String.pipe(T.Query())), filters: S.optional(S.String.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), metrics: S.optional(S.String.pipe(T.Query())), since: S.optional(S.String.pipe(T.Query())), sort: S.optional(S.String.pipe(T.Query())), until: S.optional(S.String.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/dns_analytics/report", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetAnalyticReportRequest", }) as any as S.Schema; export type AnalyticsReportsGetResponseDataItemDimensionsList = Array; export const AnalyticsReportsGetResponseDataItemDimensionsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AnalyticsReportsGetResponseDataItemMetricsList = Array; export const AnalyticsReportsGetResponseDataItemMetricsList = /*@__PURE__*/ S.Array( S.Number, ) as any as S.Schema; export interface AnalyticsReportsGetResponseDataItem { /** Array of dimension values, representing the combination of dimension values corresponding to this row. */ dimensions: AnalyticsReportsGetResponseDataItemDimensionsList; /** Array with one item per requested metric. Each item is a single value. */ metrics: AnalyticsReportsGetResponseDataItemMetricsList; } export const AnalyticsReportsGetResponseDataItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dimensions: AnalyticsReportsGetResponseDataItemDimensionsList, metrics: AnalyticsReportsGetResponseDataItemMetricsList, }), ).annotate({ identifier: "AnalyticsReportsGetResponseDataItem", }) as any as S.Schema; export type AnalyticsReportsGetResponseDataList = Array; export const AnalyticsReportsGetResponseDataList = /*@__PURE__*/ S.Array( AnalyticsReportsGetResponseDataItem, ) as any as S.Schema; export type AnalyticsReportsGetResponseQueryDimensionsList = Array; export const AnalyticsReportsGetResponseQueryDimensionsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AnalyticsReportsGetResponseQueryMetricsList = Array; export const AnalyticsReportsGetResponseQueryMetricsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AnalyticsReportsGetResponseQuerySortList = Array; export const AnalyticsReportsGetResponseQuerySortList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AnalyticsReportsGetResponseQuery { /** Array of dimension names. */ dimensions: AnalyticsReportsGetResponseQueryDimensionsList; /** Limit number of returned metrics. */ limit: number; /** Array of metric names. */ metrics: AnalyticsReportsGetResponseQueryMetricsList; /** Start date and time of requesting data period in ISO 8601 format. */ since: string; /** End date and time of requesting data period in ISO 8601 format. */ until: string; /** Segmentation filter in 'attribute operator value' format. */ filters?: string | null; /** Array of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending). */ sort?: AnalyticsReportsGetResponseQuerySortList | null; } export const AnalyticsReportsGetResponseQuery = /*@__PURE__*/ S.suspend(() => S.Struct({ dimensions: AnalyticsReportsGetResponseQueryDimensionsList, limit: S.Number, metrics: AnalyticsReportsGetResponseQueryMetricsList, since: S.String, until: S.String, filters: S.optional(S.NullOr(S.String)), sort: S.optional(S.NullOr(AnalyticsReportsGetResponseQuerySortList)), }), ).annotate({ identifier: "AnalyticsReportsGetResponseQuery", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetAnalyticReportResponse { /** Array with one row per combination of dimension values. */ data: AnalyticsReportsGetResponseDataList; /** Number of seconds between current time and last processed event, in another words how many seconds of data could be missing. */ dataLag: number; /** Maximum results for each metric (object mapping metric names to values). Currently always an empty object. */ max: unknown; /** Minimum results for each metric (object mapping metric names to values). Currently always an empty object. */ min: unknown; query: AnalyticsReportsGetResponseQuery; /** Total number of rows in the result. */ rows: number; /** Total results for metrics across all data (object mapping metric names to values). */ totals: unknown; } export const GetAnalyticReportResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ data: AnalyticsReportsGetResponseDataList, dataLag: S.Number.pipe(T.Body("data_lag")), max: S.Unknown, min: S.Unknown, query: AnalyticsReportsGetResponseQuery, rows: S.Number, totals: S.Unknown, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetAnalyticReportResponse", }) as any as S.Schema; export type AnalyticsReportsBytimesGetRequestTimeDelta = | "all" | "auto" | "year" | "quarter" | "month" | "week" | "day" | "hour" | "dekaminute" | "minute"; export const AnalyticsReportsBytimesGetRequestTimeDelta = /*@__PURE__*/ S.String; export interface GetAnalyticReportBytimeRequest { /** Identifier. */ zoneId: string; /** A comma-separated list of dimensions to group results by. */ dimensions?: string; /** Segmentation filter in 'attribute operator value' format. */ filters?: string; /** Limit number of returned metrics. */ limit?: number; /** A comma-separated list of metrics to query. */ metrics?: string; /** Start date and time of requesting data period in ISO 8601 format. */ since?: string; /** A comma-separated list of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending). */ sort?: string; /** Unit of time to group data by. */ timeDelta?: AnalyticsReportsBytimesGetRequestTimeDelta | (string & {}); /** End date and time of requesting data period in ISO 8601 format. */ until?: string; } export const GetAnalyticReportBytimeRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), dimensions: S.optional(S.String.pipe(T.Query())), filters: S.optional(S.String.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), metrics: S.optional(S.String.pipe(T.Query())), since: S.optional(S.String.pipe(T.Query())), sort: S.optional(S.String.pipe(T.Query())), timeDelta: S.optional( AnalyticsReportsBytimesGetRequestTimeDelta.pipe(T.Query("time_delta")), ), until: S.optional(S.String.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/dns_analytics/report/bytime", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetAnalyticReportBytimeRequest", }) as any as S.Schema; export type AnalyticsReportsBytimesGetResponseDataItemDimensionsList = Array; export const AnalyticsReportsBytimesGetResponseDataItemDimensionsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AnalyticsReportsBytimesGetResponseDataItemMetricsItemList = Array; export const AnalyticsReportsBytimesGetResponseDataItemMetricsItemList = /*@__PURE__*/ S.Array( S.Number, ) as any as S.Schema; export type AnalyticsReportsBytimesGetResponseDataItemMetricsList = Array; export const AnalyticsReportsBytimesGetResponseDataItemMetricsList = /*@__PURE__*/ S.Array( AnalyticsReportsBytimesGetResponseDataItemMetricsItemList, ) as any as S.Schema; export interface AnalyticsReportsBytimesGetResponseDataItem { /** Array of dimension values, representing the combination of dimension values corresponding to this row. */ dimensions: AnalyticsReportsBytimesGetResponseDataItemDimensionsList; /** Array with one item per requested metric. Each item is an array of values, broken down by time interval. */ metrics: AnalyticsReportsBytimesGetResponseDataItemMetricsList; } export const AnalyticsReportsBytimesGetResponseDataItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dimensions: AnalyticsReportsBytimesGetResponseDataItemDimensionsList, metrics: AnalyticsReportsBytimesGetResponseDataItemMetricsList, }), ).annotate({ identifier: "AnalyticsReportsBytimesGetResponseDataItem", }) as any as S.Schema; export type AnalyticsReportsBytimesGetResponseDataList = Array; export const AnalyticsReportsBytimesGetResponseDataList = /*@__PURE__*/ S.Array( AnalyticsReportsBytimesGetResponseDataItem, ) as any as S.Schema; export type AnalyticsReportsBytimesGetResponseQueryDimensionsList = Array; export const AnalyticsReportsBytimesGetResponseQueryDimensionsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AnalyticsReportsBytimesGetResponseQueryMetricsList = Array; export const AnalyticsReportsBytimesGetResponseQueryMetricsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AnalyticsReportsBytimesGetResponseQueryTimeDelta = | "all" | "auto" | "year" | "quarter" | "month" | "week" | "day" | "hour" | "dekaminute" | "minute"; export const AnalyticsReportsBytimesGetResponseQueryTimeDelta = /*@__PURE__*/ S.String; export type AnalyticsReportsBytimesGetResponseQuerySortList = Array; export const AnalyticsReportsBytimesGetResponseQuerySortList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AnalyticsReportsBytimesGetResponseQuery { /** Array of dimension names. */ dimensions: AnalyticsReportsBytimesGetResponseQueryDimensionsList; /** Limit number of returned metrics. */ limit: number; /** Array of metric names. */ metrics: AnalyticsReportsBytimesGetResponseQueryMetricsList; /** Start date and time of requesting data period in ISO 8601 format. */ since: string; /** Unit of time to group data by. */ timeDelta: AnalyticsReportsBytimesGetResponseQueryTimeDelta; /** End date and time of requesting data period in ISO 8601 format. */ until: string; /** Segmentation filter in 'attribute operator value' format. */ filters?: string | null; /** Array of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending). */ sort?: AnalyticsReportsBytimesGetResponseQuerySortList | null; } export const AnalyticsReportsBytimesGetResponseQuery = /*@__PURE__*/ S.suspend( () => S.Struct({ dimensions: AnalyticsReportsBytimesGetResponseQueryDimensionsList, limit: S.Number, metrics: AnalyticsReportsBytimesGetResponseQueryMetricsList, since: S.String, timeDelta: AnalyticsReportsBytimesGetResponseQueryTimeDelta.pipe( T.Body("time_delta"), ), until: S.String, filters: S.optional(S.NullOr(S.String)), sort: S.optional( S.NullOr(AnalyticsReportsBytimesGetResponseQuerySortList), ), }), ).annotate({ identifier: "AnalyticsReportsBytimesGetResponseQuery", }) as any as S.Schema; export type AnalyticsReportsBytimesGetResponseTimeIntervalsItemList = Array; export const AnalyticsReportsBytimesGetResponseTimeIntervalsItemList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AnalyticsReportsBytimesGetResponseTimeIntervalsList = Array; export const AnalyticsReportsBytimesGetResponseTimeIntervalsList = /*@__PURE__*/ S.Array( AnalyticsReportsBytimesGetResponseTimeIntervalsItemList, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetAnalyticReportBytimeResponse { /** Array with one row per combination of dimension values. */ data: AnalyticsReportsBytimesGetResponseDataList; /** Number of seconds between current time and last processed event, in another words how many seconds of data could be missing. */ dataLag: number; /** Maximum results for each metric (object mapping metric names to values). Currently always an empty object. */ max: unknown; /** Minimum results for each metric (object mapping metric names to values). Currently always an empty object. */ min: unknown; query: AnalyticsReportsBytimesGetResponseQuery; /** Total number of rows in the result. */ rows: number; /** Array of time intervals in the response data. Each interval is represented as an array containing two values: the start time, and the end time. */ timeIntervals: AnalyticsReportsBytimesGetResponseTimeIntervalsList; /** Total results for metrics across all data (object mapping metric names to values). */ totals: unknown; } export const GetAnalyticReportBytimeResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ data: AnalyticsReportsBytimesGetResponseDataList, dataLag: S.Number.pipe(T.Body("data_lag")), max: S.Unknown, min: S.Unknown, query: AnalyticsReportsBytimesGetResponseQuery, rows: S.Number, timeIntervals: AnalyticsReportsBytimesGetResponseTimeIntervalsList.pipe( T.Body("time_intervals"), ), totals: S.Unknown, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetAnalyticReportBytimeResponse", }) as any as S.Schema; export interface GetDnssecRequest { /** Identifier. */ zoneId: string; } export const GetDnssecRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe(T.Http({ method: "GET", uri: "/zones/{zone_id}/dnssec", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetDnssecRequest", }) as any as S.Schema; export type DnssecGetResponseStatus = | "active" | "pending" | "disabled" | "pending-disabled" | "error"; export const DnssecGetResponseStatus = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetDnssecResponse { /** Algorithm key code. */ algorithm?: string | null; /** Digest hash. */ digest?: string | null; /** Type of digest algorithm. */ digestAlgorithm?: string | null; /** Coded type for digest algorithm. */ digestType?: string | null; /** If true, multi-signer DNSSEC is enabled on the zone, allowing multiple */ dnssecMultiSigner?: boolean | null; /** If true, allows Cloudflare to transfer in a DNSSEC-signed zone */ dnssecPresigned?: boolean | null; /** If true, enables the use of NSEC3 together with DNSSEC on the zone. */ dnssecUseNsec3?: boolean | null; /** Full DS record. */ ds?: string | null; /** Flag for DNSSEC record. */ flags?: number | null; /** Code for key tag. */ keyTag?: number | null; /** Algorithm key type. */ keyType?: string | null; /** When DNSSEC was last modified. */ modifiedOn?: string | null; /** Public key for DS record. */ publicKey?: string | null; /** Status of DNSSEC, based on user-desired state and presence of necessary records. */ status?: DnssecGetResponseStatus | null; } export const GetDnssecResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ algorithm: S.optional(S.NullOr(S.String)), digest: S.optional(S.NullOr(S.String)), digestAlgorithm: S.optional( S.NullOr(S.String).pipe(T.Body("digest_algorithm")), ), digestType: S.optional(S.NullOr(S.String).pipe(T.Body("digest_type"))), dnssecMultiSigner: S.optional( S.NullOr(S.Boolean).pipe(T.Body("dnssec_multi_signer")), ), dnssecPresigned: S.optional( S.NullOr(S.Boolean).pipe(T.Body("dnssec_presigned")), ), dnssecUseNsec3: S.optional( S.NullOr(S.Boolean).pipe(T.Body("dnssec_use_nsec3")), ), ds: S.optional(S.NullOr(S.String)), flags: S.optional(S.NullOr(S.Number)), keyTag: S.optional(S.NullOr(S.Number).pipe(T.Body("key_tag"))), keyType: S.optional(S.NullOr(S.String).pipe(T.Body("key_type"))), modifiedOn: S.optional(S.NullOr(S.String).pipe(T.Body("modified_on"))), publicKey: S.optional(S.NullOr(S.String).pipe(T.Body("public_key"))), status: S.optional(S.NullOr(DnssecGetResponseStatus)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetDnssecResponse", }) as any as S.Schema; export interface GetRecordRequest { /** Identifier. */ zoneId: string; /** Identifier. */ dnsRecordId: string; /** Whether to include shadow metadata in the `meta` field of each record in the response. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ includeShadowMetadata?: boolean; } export const GetRecordRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), dnsRecordId: S.String.pipe(T.Label("dns_record_id")), includeShadowMetadata: S.optional( S.Boolean.pipe(T.Query("include_shadow_metadata")), ), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/dns_records/{dns_record_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetRecordRequest", }) as any as S.Schema; export type RecordsGetResultARecordMetaShadowedByList = Array; export const RecordsGetResultARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultARecordMeta", }) as any as S.Schema; export interface RecordsGetResultARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultARecord", }) as any as S.Schema; export type RecordsGetResultAAAARecordMetaShadowedByList = Array; export const RecordsGetResultAAAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultAAAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultAAAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultAAAARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultAAAARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultAAAARecordMeta", }) as any as S.Schema; export interface RecordsGetResultAAAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultAAAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeAAAA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultAAAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultAAAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeAAAA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultAAAARecord", }) as any as S.Schema; export type RecordsGetResultCNAMERecordMetaShadowedByList = Array; export const RecordsGetResultCNAMERecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultCNAMERecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultCNAMERecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultCNAMERecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultCNAMERecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultCNAMERecordMeta", }) as any as S.Schema; export interface RecordsGetResultCNAMERecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultCNAMERecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeCNAME; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultCNAMERecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultCNAMERecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeCNAME, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultCNAMERecord", }) as any as S.Schema; export type RecordsGetResultMXRecordMetaShadowedByList = Array; export const RecordsGetResultMXRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultMXRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultMXRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultMXRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultMXRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultMXRecordMeta", }) as any as S.Schema; export interface RecordsGetResultMXRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultMXRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeMX; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultMXRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultMXRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeMX, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultMXRecord", }) as any as S.Schema; export type RecordsGetResultNSRecordMetaShadowedByList = Array; export const RecordsGetResultNSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultNSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultNSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultNSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultNSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultNSRecordMeta", }) as any as S.Schema; export interface RecordsGetResultNSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultNSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeNS; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultNSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultNSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeNS, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultNSRecord", }) as any as S.Schema; export type RecordsGetResultOpenpgpkeyRecordMetaShadowedByList = Array; export const RecordsGetResultOpenpgpkeyRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultOpenpgpkeyRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultOpenpgpkeyRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultOpenpgpkeyRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultOpenpgpkeyRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultOpenpgpkeyRecordMeta", }) as any as S.Schema; export type RecordsGetResultOpenpgpkeyRecordSettings = RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; export const RecordsGetResultOpenpgpkeyRecordSettings = RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; export type RecordsGetResultOpenpgpkeyRecordTagsList = Array; export const RecordsGetResultOpenpgpkeyRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export type RecordsGetResultOpenpgpkeyRecordType = "OPENPGPKEY"; export const RecordsGetResultOpenpgpkeyRecordType = /*@__PURE__*/ S.String; export interface RecordsGetResultOpenpgpkeyRecord { /** Identifier. */ id: string; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment: string; /** A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) */ content: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultOpenpgpkeyRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied: boolean; /** Settings for the DNS record. */ settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags: RecordsGetResultOpenpgpkeyRecordTagsList; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsGetResultOpenpgpkeyRecordType; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsGetResultOpenpgpkeyRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, comment: S.String, content: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultOpenpgpkeyRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), name: S.String, proxiable: S.Boolean, proxied: S.Boolean, settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings, tags: RecordsGetResultOpenpgpkeyRecordTagsList, ttl: S.Number, type: RecordsGetResultOpenpgpkeyRecordType, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsGetResultOpenpgpkeyRecord", }) as any as S.Schema; export type RecordsGetResultPTRRecordMetaShadowedByList = Array; export const RecordsGetResultPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultPTRRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultPTRRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultPTRRecordMeta", }) as any as S.Schema; export interface RecordsGetResultPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypePTR; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypePTR, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultPTRRecord", }) as any as S.Schema; export type RecordsGetResultTXTRecordMetaShadowedByList = Array; export const RecordsGetResultTXTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultTXTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultTXTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultTXTRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultTXTRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultTXTRecordMeta", }) as any as S.Schema; export interface RecordsGetResultTXTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultTXTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeTXT; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultTXTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultTXTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeTXT, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultTXTRecord", }) as any as S.Schema; export type RecordsGetResultCAARecordMetaShadowedByList = Array; export const RecordsGetResultCAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultCAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultCAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultCAARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultCAARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultCAARecordMeta", }) as any as S.Schema; export interface RecordsGetResultCAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultCAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeCAA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultCAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultCAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeCAA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultCAARecord", }) as any as S.Schema; export type RecordsGetResultCERTRecordMetaShadowedByList = Array; export const RecordsGetResultCERTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultCERTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultCERTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultCERTRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultCERTRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultCERTRecordMeta", }) as any as S.Schema; export interface RecordsGetResultCERTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultCERTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeCERT; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultCERTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultCERTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeCERT, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultCERTRecord", }) as any as S.Schema; export type RecordsGetResultDNSKEYRecordMetaShadowedByList = Array; export const RecordsGetResultDNSKEYRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultDNSKEYRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultDNSKEYRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultDNSKEYRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultDNSKEYRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultDNSKEYRecordMeta", }) as any as S.Schema; export interface RecordsGetResultDNSKEYRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultDNSKEYRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeDNSKEY; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultDNSKEYRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultDNSKEYRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeDNSKEY, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultDNSKEYRecord", }) as any as S.Schema; export type RecordsGetResultDSRecordMetaShadowedByList = Array; export const RecordsGetResultDSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultDSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultDSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultDSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultDSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultDSRecordMeta", }) as any as S.Schema; export interface RecordsGetResultDSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultDSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeDS; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultDSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultDSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeDS, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultDSRecord", }) as any as S.Schema; export type RecordsGetResultHTTPSRecordMetaShadowedByList = Array; export const RecordsGetResultHTTPSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultHTTPSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultHTTPSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultHTTPSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultHTTPSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultHTTPSRecordMeta", }) as any as S.Schema; export interface RecordsGetResultHTTPSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultHTTPSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeHTTPS; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultHTTPSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultHTTPSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeHTTPS, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultHTTPSRecord", }) as any as S.Schema; export type RecordsGetResultLOCRecordMetaShadowedByList = Array; export const RecordsGetResultLOCRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultLOCRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultLOCRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultLOCRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultLOCRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultLOCRecordMeta", }) as any as S.Schema; export interface RecordsGetResultLOCRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultLOCRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeLOC; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultLOCRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultLOCRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeLOC, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultLOCRecord", }) as any as S.Schema; export type RecordsGetResultNAPTRRecordMetaShadowedByList = Array; export const RecordsGetResultNAPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultNAPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultNAPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultNAPTRRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultNAPTRRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultNAPTRRecordMeta", }) as any as S.Schema; export interface RecordsGetResultNAPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultNAPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeNAPTR; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultNAPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultNAPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeNAPTR, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultNAPTRRecord", }) as any as S.Schema; export type RecordsGetResultSMIMEARecordMetaShadowedByList = Array; export const RecordsGetResultSMIMEARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultSMIMEARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultSMIMEARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultSMIMEARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultSMIMEARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultSMIMEARecordMeta", }) as any as S.Schema; export interface RecordsGetResultSMIMEARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultSMIMEARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSMIMEA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultSMIMEARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultSMIMEARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSMIMEA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultSMIMEARecord", }) as any as S.Schema; export type RecordsGetResultSRVRecordMetaShadowedByList = Array; export const RecordsGetResultSRVRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultSRVRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultSRVRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultSRVRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultSRVRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultSRVRecordMeta", }) as any as S.Schema; export interface RecordsGetResultSRVRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultSRVRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSRV; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultSRVRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultSRVRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSRV, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultSRVRecord", }) as any as S.Schema; export type RecordsGetResultSSHFPRecordMetaShadowedByList = Array; export const RecordsGetResultSSHFPRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultSSHFPRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultSSHFPRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultSSHFPRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultSSHFPRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultSSHFPRecordMeta", }) as any as S.Schema; export interface RecordsGetResultSSHFPRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultSSHFPRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSSHFP; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultSSHFPRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultSSHFPRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSSHFP, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultSSHFPRecord", }) as any as S.Schema; export type RecordsGetResultSVCBRecordMetaShadowedByList = Array; export const RecordsGetResultSVCBRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultSVCBRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultSVCBRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultSVCBRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultSVCBRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultSVCBRecordMeta", }) as any as S.Schema; export interface RecordsGetResultSVCBRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultSVCBRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSVCB; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultSVCBRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultSVCBRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSVCB, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultSVCBRecord", }) as any as S.Schema; export type RecordsGetResultTLSARecordMetaShadowedByList = Array; export const RecordsGetResultTLSARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultTLSARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultTLSARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultTLSARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultTLSARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultTLSARecordMeta", }) as any as S.Schema; export interface RecordsGetResultTLSARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultTLSARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeTLSA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultTLSARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultTLSARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeTLSA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultTLSARecord", }) as any as S.Schema; export type RecordsGetResultURIRecordMetaShadowedByList = Array; export const RecordsGetResultURIRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsGetResultURIRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsGetResultURIRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsGetResultURIRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsGetResultURIRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsGetResultURIRecordMeta", }) as any as S.Schema; export interface RecordsGetResultURIRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsGetResultURIRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeURI; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsGetResultURIRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsGetResultURIRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeURI, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsGetResultURIRecord", }) as any as S.Schema; export type RecordsGetResult = | RecordsGetResultARecord | RecordsGetResultAAAARecord | RecordsGetResultCNAMERecord | RecordsGetResultMXRecord | RecordsGetResultNSRecord | RecordsGetResultOpenpgpkeyRecord | RecordsGetResultPTRRecord | RecordsGetResultTXTRecord | RecordsGetResultCAARecord | RecordsGetResultCERTRecord | RecordsGetResultDNSKEYRecord | RecordsGetResultDSRecord | RecordsGetResultHTTPSRecord | RecordsGetResultLOCRecord | RecordsGetResultNAPTRRecord | RecordsGetResultSMIMEARecord | RecordsGetResultSRVRecord | RecordsGetResultSSHFPRecord | RecordsGetResultSVCBRecord | RecordsGetResultTLSARecord | RecordsGetResultURIRecord; export const RecordsGetResult = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "comment", "content", "createdOn", "meta", "modifiedOn", "name", "proxiable", "proxied", "settings", "tags", "ttl", "type", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], ]), ); export type GetRecordResponse = RecordsGetResult; export const GetRecordResponse = /*@__PURE__*/ S.suspend(() => RecordsGetResult.pipe( T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY), ), ).annotate({ identifier: "GetRecordResponse", }) as any as S.Schema; export interface GetSettingAccountRequest { /** Identifier. */ accountId: string; } export const GetSettingAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/dns_settings", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetSettingAccountRequest", }) as any as S.Schema; export interface SettingsAccountGetResponseZoneDefaultsInternalDns { /** The ID of the zone to fallback to. */ referenceZoneId?: string | null; } export const SettingsAccountGetResponseZoneDefaultsInternalDns = /*@__PURE__*/ S.suspend(() => S.Struct({ referenceZoneId: S.optional( S.NullOr(S.String).pipe(T.Body("reference_zone_id")), ), }), ).annotate({ identifier: "SettingsAccountGetResponseZoneDefaultsInternalDns", }) as any as S.Schema; export type SettingsAccountGetResponseZoneDefaultsNameserversType = | "cloudflare.standard" | "cloudflare.standard.random" | "custom.account" | "custom.tenant"; export const SettingsAccountGetResponseZoneDefaultsNameserversType = /*@__PURE__*/ S.String; export interface SettingsAccountGetResponseZoneDefaultsNameservers { /** Nameserver type */ type: SettingsAccountGetResponseZoneDefaultsNameserversType; } export const SettingsAccountGetResponseZoneDefaultsNameservers = /*@__PURE__*/ S.suspend(() => S.Struct({ type: SettingsAccountGetResponseZoneDefaultsNameserversType, }), ).annotate({ identifier: "SettingsAccountGetResponseZoneDefaultsNameservers", }) as any as S.Schema; export interface SettingsAccountGetResponseZoneDefaultsSoa { /** Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. */ expire?: number | null; /** The time to live (TTL) for negative caching of records within the zone. */ minTtl?: number | null; /** The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used. */ mname?: string | null; /** Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. */ refresh?: number | null; /** Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. */ retry?: number | null; /** The email address of the zone administrator, with the first label representing the local part of the email address. */ rname?: string | null; /** The time to live (TTL) of the SOA record itself. */ ttl?: number | null; } export const SettingsAccountGetResponseZoneDefaultsSoa = /*@__PURE__*/ S.suspend(() => S.Struct({ expire: S.optional(S.NullOr(S.Number)), minTtl: S.optional(S.NullOr(S.Number).pipe(T.Body("min_ttl"))), mname: S.optional(S.NullOr(S.String)), refresh: S.optional(S.NullOr(S.Number)), retry: S.optional(S.NullOr(S.Number)), rname: S.optional(S.NullOr(S.String)), ttl: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "SettingsAccountGetResponseZoneDefaultsSoa", }) as any as S.Schema; export type SettingsAccountGetResponseZoneDefaultsZoneMode = | "standard" | "cdn_only" | "dns_only"; export const SettingsAccountGetResponseZoneDefaultsZoneMode = /*@__PURE__*/ S.String; export interface SettingsAccountGetResponseZoneDefaults { /** 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: boolean; /** Whether to enable Foundation DNS Advanced Nameservers on the zone. */ foundationDns: boolean; /** Settings for this internal zone. */ internalDns: SettingsAccountGetResponseZoneDefaultsInternalDns; /** 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: boolean; /** Settings determining the nameservers through which the zone should be available. */ nameservers: SettingsAccountGetResponseZoneDefaultsNameservers; /** The time to live (TTL) of the zone's nameserver (NS) records. */ nsTtl: number; /** Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex. */ secondaryOverrides: boolean; /** Components of the zone's SOA record. */ soa: SettingsAccountGetResponseZoneDefaultsSoa; /** Whether the zone mode is a regular or CDN/DNS only zone. */ zoneMode: SettingsAccountGetResponseZoneDefaultsZoneMode; } export const SettingsAccountGetResponseZoneDefaults = /*@__PURE__*/ S.suspend( () => S.Struct({ flattenAllCnames: S.Boolean.pipe(T.Body("flatten_all_cnames")), foundationDns: S.Boolean.pipe(T.Body("foundation_dns")), internalDns: SettingsAccountGetResponseZoneDefaultsInternalDns.pipe( T.Body("internal_dns"), ), multiProvider: S.Boolean.pipe(T.Body("multi_provider")), nameservers: SettingsAccountGetResponseZoneDefaultsNameservers, nsTtl: S.Number.pipe(T.Body("ns_ttl")), secondaryOverrides: S.Boolean.pipe(T.Body("secondary_overrides")), soa: SettingsAccountGetResponseZoneDefaultsSoa, zoneMode: SettingsAccountGetResponseZoneDefaultsZoneMode.pipe( T.Body("zone_mode"), ), }), ).annotate({ identifier: "SettingsAccountGetResponseZoneDefaults", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetSettingAccountResponse { zoneDefaults: SettingsAccountGetResponseZoneDefaults; /** When enabled, forces all proxied DNS records in the account to behave as DNS-only at the edge, regardless of each record's individual proxy setting. Note that this account-level override does not modify the records themselves; it only affects how they are served at the edge. See more on [Enforce DNS-only](https://developers.cloudflare.com/dns/proxy-status/enforce-dns-only). */ enforceDnsOnly?: boolean | null; } export const GetSettingAccountResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneDefaults: SettingsAccountGetResponseZoneDefaults.pipe( T.Body("zone_defaults"), ), enforceDnsOnly: S.optional( S.NullOr(S.Boolean).pipe(T.Body("enforce_dns_only")), ), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetSettingAccountResponse", }) as any as S.Schema; export interface GetSettingAccountViewRequest { /** Identifier. */ accountId: string; /** Identifier. */ viewId: string; } export const GetSettingAccountViewRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), viewId: S.String.pipe(T.Label("view_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/dns_settings/views/{view_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetSettingAccountViewRequest", }) as any as S.Schema; export type SettingsAccountViewsGetResponseZonesList = Array; export const SettingsAccountViewsGetResponseZonesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetSettingAccountViewResponse { /** Identifier. */ id: string; /** When the view was created. */ createdTime: string; /** When the view was last modified. */ modifiedTime: string; /** The name of the view. */ name: string; /** The list of zones linked to this view. */ zones: SettingsAccountViewsGetResponseZonesList; } export const GetSettingAccountViewResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdTime: S.String.pipe(T.Body("created_time")), modifiedTime: S.String.pipe(T.Body("modified_time")), name: S.String, zones: SettingsAccountViewsGetResponseZonesList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetSettingAccountViewResponse", }) as any as S.Schema; export interface GetSettingZoneRequest { /** Identifier. */ zoneId: string; } export const GetSettingZoneRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/dns_settings", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetSettingZoneRequest", }) as any as S.Schema; export type SettingsZoneGetResponseInternalDns = SettingsAccountGetResponseZoneDefaultsInternalDns; export const SettingsZoneGetResponseInternalDns = SettingsAccountGetResponseZoneDefaultsInternalDns; export type SettingsZoneGetResponseNameserversType = | "cloudflare.standard" | "custom.account" | "custom.tenant" | "custom.zone"; export const SettingsZoneGetResponseNameserversType = /*@__PURE__*/ S.String; export interface SettingsZoneGetResponseNameservers { /** Nameserver type */ type: SettingsZoneGetResponseNameserversType; /** Configured nameserver set to be used for this zone */ nsSet?: number | null; } export const SettingsZoneGetResponseNameservers = /*@__PURE__*/ S.suspend(() => S.Struct({ type: SettingsZoneGetResponseNameserversType, nsSet: S.optional(S.NullOr(S.Number).pipe(T.Body("ns_set"))), }), ).annotate({ identifier: "SettingsZoneGetResponseNameservers", }) as any as S.Schema; export type SettingsZoneGetResponseSoa = SettingsAccountGetResponseZoneDefaultsSoa; export const SettingsZoneGetResponseSoa = SettingsAccountGetResponseZoneDefaultsSoa; export type SettingsZoneGetResponseZoneMode = | "standard" | "cdn_only" | "dns_only"; export const SettingsZoneGetResponseZoneMode = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetSettingZoneResponse { /** 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: boolean; /** Whether to enable Foundation DNS Advanced Nameservers on the zone. */ foundationDns: boolean; /** Settings for this internal zone. */ internalDns: SettingsAccountGetResponseZoneDefaultsInternalDns; /** 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: boolean; /** Settings determining the nameservers through which the zone should be available. */ nameservers: SettingsZoneGetResponseNameservers; /** The time to live (TTL) of the zone's nameserver (NS) records. */ nsTtl: number; /** Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex. */ secondaryOverrides: boolean; /** Components of the zone's SOA record. */ soa: SettingsAccountGetResponseZoneDefaultsSoa; /** Whether the zone mode is a regular or CDN/DNS only zone. */ zoneMode: SettingsZoneGetResponseZoneMode; } export const GetSettingZoneResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ flattenAllCnames: S.Boolean.pipe(T.Body("flatten_all_cnames")), foundationDns: S.Boolean.pipe(T.Body("foundation_dns")), internalDns: SettingsAccountGetResponseZoneDefaultsInternalDns.pipe( T.Body("internal_dns"), ), multiProvider: S.Boolean.pipe(T.Body("multi_provider")), nameservers: SettingsZoneGetResponseNameservers, nsTtl: S.Number.pipe(T.Body("ns_ttl")), secondaryOverrides: S.Boolean.pipe(T.Body("secondary_overrides")), soa: SettingsAccountGetResponseZoneDefaultsSoa, zoneMode: SettingsZoneGetResponseZoneMode.pipe(T.Body("zone_mode")), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetSettingZoneResponse", }) as any as S.Schema; export interface GetUsageAccountRequest { /** Identifier. */ accountId: string; } export const GetUsageAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/dns_records/usage", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetUsageAccountRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetUsageAccountResponse { /** Maximum number of DNS records allowed across all public zones in the account. Null if using zone-level quota. */ recordQuota: number; /** Current number of DNS records across all public zones in the account. */ recordUsage: number; /** Maximum number of DNS records allowed across all internal zones in the account. Only present if internal DNS is enabled. */ internalRecordQuota?: number | null; /** Current number of DNS records across all internal zones in the account. Only present if internal DNS is enabled. */ internalRecordUsage?: number | null; } export const GetUsageAccountResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ recordQuota: S.Number.pipe(T.Body("record_quota")), recordUsage: S.Number.pipe(T.Body("record_usage")), internalRecordQuota: S.optional( S.NullOr(S.Number).pipe(T.Body("internal_record_quota")), ), internalRecordUsage: S.optional( S.NullOr(S.Number).pipe(T.Body("internal_record_usage")), ), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetUsageAccountResponse", }) as any as S.Schema; export interface GetUsageZoneRequest { /** Identifier. */ zoneId: string; } export const GetUsageZoneRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/dns_records/usage", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetUsageZoneRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetUsageZoneResponse { /** Maximum number of DNS records allowed for the zone. Null if using account-level quota. */ recordQuota: number; /** Current number of DNS records in the zone. */ recordUsage: number; } export const GetUsageZoneResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ recordQuota: S.Number.pipe(T.Body("record_quota")), recordUsage: S.Number.pipe(T.Body("record_usage")), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetUsageZoneResponse", }) as any as S.Schema; export interface GetZoneTransferAclRequest { accountId: string; aclId: string; } export const GetZoneTransferAclRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), aclId: S.String.pipe(T.Label("acl_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/secondary_dns/acls/{acl_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetZoneTransferAclRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetZoneTransferAclResponse { id: string; /** Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively. */ ipRange: string; /** The name of the acl. */ name: string; } export const GetZoneTransferAclResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, ipRange: S.String.pipe(T.Body("ip_range")), name: S.String, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetZoneTransferAclResponse", }) as any as S.Schema; export interface GetZoneTransferIncomingRequest { zoneId: string; } export const GetZoneTransferIncomingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/secondary_dns/incoming", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetZoneTransferIncomingRequest", }) as any as S.Schema; export type ZoneTransfersIncomingGetResponsePeersList = Array; export const ZoneTransfersIncomingGetResponsePeersList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetZoneTransferIncomingResponse { id?: string | null; /** How often should a secondary zone auto refresh regardless of DNS NOTIFY. */ autoRefreshSeconds?: number | null; /** The time for a specific event. */ checkedTime?: string | null; /** The time for a specific event. */ createdTime?: string | null; /** The time for a specific event. */ modifiedTime?: string | null; /** Zone name. */ name?: string | null; /** A list of peer tags. */ peers?: ZoneTransfersIncomingGetResponsePeersList | null; /** The serial number of the SOA for the given zone. */ soaSerial?: number | null; } export const GetZoneTransferIncomingResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), autoRefreshSeconds: S.optional( S.NullOr(S.Number).pipe(T.Body("auto_refresh_seconds")), ), checkedTime: S.optional(S.NullOr(S.String).pipe(T.Body("checked_time"))), createdTime: S.optional(S.NullOr(S.String).pipe(T.Body("created_time"))), modifiedTime: S.optional(S.NullOr(S.String).pipe(T.Body("modified_time"))), name: S.optional(S.NullOr(S.String)), peers: S.optional(S.NullOr(ZoneTransfersIncomingGetResponsePeersList)), soaSerial: S.optional(S.NullOr(S.Number).pipe(T.Body("soa_serial"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetZoneTransferIncomingResponse", }) as any as S.Schema; export interface GetZoneTransferOutgoingRequest { zoneId: string; } export const GetZoneTransferOutgoingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/secondary_dns/outgoing", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetZoneTransferOutgoingRequest", }) as any as S.Schema; export type ZoneTransfersOutgoingGetResponsePeersList = Array; export const ZoneTransfersOutgoingGetResponsePeersList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetZoneTransferOutgoingResponse { id?: string | null; /** The time for a specific event. */ checkedTime?: string | null; /** The time for a specific event. */ createdTime?: string | null; /** The time for a specific event. */ lastTransferredTime?: string | null; /** Zone name. */ name?: string | null; /** A list of peer tags. */ peers?: ZoneTransfersOutgoingGetResponsePeersList | null; /** The serial number of the SOA for the given zone. */ soaSerial?: number | null; } export const GetZoneTransferOutgoingResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), checkedTime: S.optional(S.NullOr(S.String).pipe(T.Body("checked_time"))), createdTime: S.optional(S.NullOr(S.String).pipe(T.Body("created_time"))), lastTransferredTime: S.optional( S.NullOr(S.String).pipe(T.Body("last_transferred_time")), ), name: S.optional(S.NullOr(S.String)), peers: S.optional(S.NullOr(ZoneTransfersOutgoingGetResponsePeersList)), soaSerial: S.optional(S.NullOr(S.Number).pipe(T.Body("soa_serial"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetZoneTransferOutgoingResponse", }) as any as S.Schema; export interface GetZoneTransferOutgoingStatusRequest { zoneId: string; } export const GetZoneTransferOutgoingStatusRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/secondary_dns/outgoing/status", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetZoneTransferOutgoingStatusRequest", }) as any as S.Schema; export type GetZoneTransferOutgoingStatusResponse = string; export const GetZoneTransferOutgoingStatusResponse = /*@__PURE__*/ S.suspend( () => S.String.pipe(T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetZoneTransferOutgoingStatusResponse", }) as any as S.Schema; export interface GetZoneTransferPeerRequest { accountId: string; peerId: string; } export const GetZoneTransferPeerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), peerId: S.String.pipe(T.Label("peer_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/secondary_dns/peers/{peer_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetZoneTransferPeerRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetZoneTransferPeerResponse { id: string; /** The name of the peer. */ name: string; /** IPv4/IPv6 address of primary or secondary nameserver, depending on what zone this peer is linked to. For primary zones this IP defines the IP of the secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary zones this IP defines the IP of the primary nameserver Cloudflare will send AXFR/IXFR requests to. */ ip?: string | null; /** Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. */ ixfrEnable?: boolean | null; /** DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. */ port?: number | null; /** TSIG authentication will be used for zone transfer if configured. */ tsigId?: string | null; } export const GetZoneTransferPeerResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, name: S.String, ip: S.optional(S.NullOr(S.String)), ixfrEnable: S.optional(S.NullOr(S.Boolean).pipe(T.Body("ixfr_enable"))), port: S.optional(S.NullOr(S.Number)), tsigId: S.optional(S.NullOr(S.String).pipe(T.Body("tsig_id"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetZoneTransferPeerResponse", }) as any as S.Schema; export interface GetZoneTransferTsigRequest { accountId: string; tsigId: string; } export const GetZoneTransferTsigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), tsigId: S.String.pipe(T.Label("tsig_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/secondary_dns/tsigs/{tsig_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetZoneTransferTsigRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetZoneTransferTsigResponse { id: string; /** TSIG algorithm. */ algo: string; /** TSIG key name. */ name: string; /** TSIG secret. */ secret: string; } export const GetZoneTransferTsigResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, algo: S.String, name: S.String, secret: S.String, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetZoneTransferTsigResponse", }) as any as S.Schema; export interface ImportRecordRequest { /** Identifier. */ zoneId: string; } export const ImportRecordRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "POST", uri: "/zones/{zone_id}/dns_records/import", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ImportRecordRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ImportRecordResponse { /** Number of DNS records added. */ recsAdded?: number | null; /** Total number of DNS records parsed. */ totalRecordsParsed?: number | null; } export const ImportRecordResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ recsAdded: S.optional(S.NullOr(S.Number).pipe(T.Body("recs_added"))), totalRecordsParsed: S.optional( S.NullOr(S.Number).pipe(T.Body("total_records_parsed")), ), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ImportRecordResponse", }) as any as S.Schema; export interface RecordsListRequestComment { /** If this parameter is present, only records *without* a comment are returned. */ absent?: string; /** Substring of the DNS record comment. Comment filters are case-insensitive. */ contains?: string; /** Suffix of the DNS record comment. Comment filters are case-insensitive. */ endswith?: string; /** Exact value of the DNS record comment. Comment filters are case-insensitive. */ exact?: string; /** If this parameter is present, only records *with* a comment are returned. */ present?: string; /** Prefix of the DNS record comment. Comment filters are case-insensitive. */ startswith?: string; } export const RecordsListRequestComment = /*@__PURE__*/ S.suspend(() => S.Struct({ absent: S.optional(S.String), contains: S.optional(S.String), endswith: S.optional(S.String), exact: S.optional(S.String), present: S.optional(S.String), startswith: S.optional(S.String), }), ).annotate({ identifier: "RecordsListRequestComment", }) as any as S.Schema; export interface RecordsListRequestContent { /** Substring of the DNS record content. Content filters are case-insensitive. */ contains?: string; /** Suffix of the DNS record content. Content filters are case-insensitive. */ endswith?: string; /** Exact value of the DNS record content. Content filters are case-insensitive. */ exact?: string; /** Prefix of the DNS record content. Content filters are case-insensitive. */ startswith?: string; } export const RecordsListRequestContent = /*@__PURE__*/ S.suspend(() => S.Struct({ contains: S.optional(S.String), endswith: S.optional(S.String), exact: S.optional(S.String), startswith: S.optional(S.String), }), ).annotate({ identifier: "RecordsListRequestContent", }) as any as S.Schema; export type RecordsListRequestMatch = "any" | "all"; export const RecordsListRequestMatch = /*@__PURE__*/ S.String; export interface RecordsListRequestName { /** Substring of the DNS record name. Name filters are case-insensitive. */ contains?: string; /** Suffix of the DNS record name. Name filters are case-insensitive. */ endswith?: string; /** Exact value of the DNS record name. Name filters are case-insensitive. */ exact?: string; /** Prefix of the DNS record name. Name filters are case-insensitive. */ startswith?: string; } export const RecordsListRequestName = /*@__PURE__*/ S.suspend(() => S.Struct({ contains: S.optional(S.String), endswith: S.optional(S.String), exact: S.optional(S.String), startswith: S.optional(S.String), }), ).annotate({ identifier: "RecordsListRequestName", }) as any as S.Schema; export type RecordsListRequestOrder = | "type" | "name" | "content" | "ttl" | "proxied"; export const RecordsListRequestOrder = /*@__PURE__*/ S.String; export interface RecordsListRequestTag { /** Name of a tag which must *not* be present on the DNS record. Tag filters are case-insensitive. */ absent?: string; /** A tag and value, of the form `:`. The API will only return DNS records that have a tag named `` whose value contains ``. Tag filters are case-insensitive. */ contains?: string; /** A tag and value, of the form `:`. The API will only return DNS records that have a tag named `` whose value ends with ``. Tag filters are case-insensitive. */ endswith?: string; /** A tag and value, of the form `:`. The API will only return DNS records that have a tag named `` whose value is ``. Tag filters are case-insensitive. */ exact?: string; /** Name of a tag which must be present on the DNS record. Tag filters are case-insensitive. */ present?: string; /** A tag and value, of the form `:`. The API will only return DNS records that have a tag named `` whose value starts with ``. Tag filters are case-insensitive. */ startswith?: string; } export const RecordsListRequestTag = /*@__PURE__*/ S.suspend(() => S.Struct({ absent: S.optional(S.String), contains: S.optional(S.String), endswith: S.optional(S.String), exact: S.optional(S.String), present: S.optional(S.String), startswith: S.optional(S.String), }), ).annotate({ identifier: "RecordsListRequestTag", }) as any as S.Schema; export type RecordsListRequestTagMatch = "any" | "all"; export const RecordsListRequestTagMatch = /*@__PURE__*/ S.String; export type RecordsListRequestType = | "A" | "AAAA" | "CAA" | "CERT" | "CNAME" | "DNSKEY" | "DS" | "HTTPS" | "LOC" | "MX" | "NAPTR" | "NS" | "OPENPGPKEY" | "PTR" | "SMIMEA" | "SRV" | "SSHFP" | "SVCB" | "TLSA" | "TXT" | "URI"; export const RecordsListRequestType = /*@__PURE__*/ S.String; export interface ListRecordsRequest { /** Identifier. */ zoneId: string; comment?: RecordsListRequestComment; content?: RecordsListRequestContent; /** Direction to order DNS records in. */ direction?: string; /** Whether to include shadow metadata in the `meta` field of each record in the response. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ includeShadowMetadata?: boolean; /** Whether to match all search requirements or at least one (any). If set to `all`, acts like a logical AND between filters. If set to `any`, acts like a logical OR instead. Note that the interaction between tag filters is controlled by the `tag-match` parameter instead. */ match?: RecordsListRequestMatch | (string & {}); name?: RecordsListRequestName; /** Field to order DNS records by. */ order?: RecordsListRequestOrder | (string & {}); /** Page number of paginated results. */ page?: number; /** Number of DNS records per page. */ perPage?: number; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Allows searching in multiple properties of a DNS record simultaneously. This parameter is intended for human users, not automation. Its exact behavior is intentionally left unspecified and is subject to change in the future. This parameter works independently of the `match` setting. For automated searches, please use the other available parameters. */ search?: string; /** Filters to records at or below the given NS delegation name, excluding the NS records that form the delegation itself. The value must be a subdomain of the zone; the zone apex is not accepted. Requires `include_shadow_metadata=true`. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedByName?: string; /** Returns NS records that shadow the given name, searching at the name itself and each of its ancestor names within the zone, excluding the zone apex. The value must be a subdomain of the zone; the zone apex is not accepted. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowingName?: string; tag?: RecordsListRequestTag; /** Whether to match all tag search requirements or at least one (any). If set to `all`, acts like a logical AND between tag filters. If set to `any`, acts like a logical OR instead. Note that the regular `match` parameter is still used to combine the resulting condition with other filters that aren't related to tags. */ tagMatch?: RecordsListRequestTagMatch | (string & {}); /** Record type. */ type?: RecordsListRequestType | (string & {}); } export const ListRecordsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), comment: S.optional(RecordsListRequestComment.pipe(T.DeepQuery("comment"))), content: S.optional(RecordsListRequestContent.pipe(T.DeepQuery("content"))), direction: S.optional(S.String.pipe(T.Query())), includeShadowMetadata: S.optional( S.Boolean.pipe(T.Query("include_shadow_metadata")), ), match: S.optional(RecordsListRequestMatch.pipe(T.Query())), name: S.optional(RecordsListRequestName.pipe(T.DeepQuery("name"))), order: S.optional(RecordsListRequestOrder.pipe(T.Query())), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), proxied: S.optional(S.Boolean.pipe(T.Query())), search: S.optional(S.String.pipe(T.Query())), shadowedByName: S.optional(S.String.pipe(T.Query("shadowed_by_name"))), shadowingName: S.optional(S.String.pipe(T.Query("shadowing_name"))), tag: S.optional(RecordsListRequestTag.pipe(T.DeepQuery("tag"))), tagMatch: S.optional(RecordsListRequestTagMatch.pipe(T.Query("tag_match"))), type: S.optional(RecordsListRequestType.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/dns_records", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListRecordsRequest", }) as any as S.Schema; export type RecordsListResultItemARecordMetaShadowedByList = Array; export const RecordsListResultItemARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemARecordMeta", }) as any as S.Schema; export type RecordsListResultItemARecordType = "A"; export const RecordsListResultItemARecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemARecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemARecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemARecord", }) as any as S.Schema; export type RecordsListResultItemAAAARecordMetaShadowedByList = Array; export const RecordsListResultItemAAAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemAAAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemAAAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemAAAARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemAAAARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemAAAARecordMeta", }) as any as S.Schema; export type RecordsListResultItemAAAARecordType = "AAAA"; export const RecordsListResultItemAAAARecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemAAAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemAAAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemAAAARecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemAAAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemAAAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemAAAARecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemAAAARecord", }) as any as S.Schema; export type RecordsListResultItemCNAMERecordMetaShadowedByList = Array; export const RecordsListResultItemCNAMERecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemCNAMERecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemCNAMERecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemCNAMERecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemCNAMERecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemCNAMERecordMeta", }) as any as S.Schema; export type RecordsListResultItemCNAMERecordType = "CNAME"; export const RecordsListResultItemCNAMERecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemCNAMERecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemCNAMERecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemCNAMERecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemCNAMERecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemCNAMERecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemCNAMERecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemCNAMERecord", }) as any as S.Schema; export type RecordsListResultItemMXRecordMetaShadowedByList = Array; export const RecordsListResultItemMXRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemMXRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemMXRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemMXRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemMXRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemMXRecordMeta", }) as any as S.Schema; export type RecordsListResultItemMXRecordType = "MX"; export const RecordsListResultItemMXRecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemMXRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemMXRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemMXRecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemMXRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemMXRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemMXRecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemMXRecord", }) as any as S.Schema; export type RecordsListResultItemNSRecordMetaShadowedByList = Array; export const RecordsListResultItemNSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemNSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemNSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemNSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemNSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemNSRecordMeta", }) as any as S.Schema; export type RecordsListResultItemNSRecordType = "NS"; export const RecordsListResultItemNSRecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemNSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemNSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemNSRecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemNSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemNSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemNSRecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemNSRecord", }) as any as S.Schema; export type RecordsListResultItemOpenpgpkeyRecordMetaShadowedByList = Array; export const RecordsListResultItemOpenpgpkeyRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemOpenpgpkeyRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemOpenpgpkeyRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemOpenpgpkeyRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemOpenpgpkeyRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemOpenpgpkeyRecordMeta", }) as any as S.Schema; export type RecordsListResultItemOpenpgpkeyRecordSettings = RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; export const RecordsListResultItemOpenpgpkeyRecordSettings = RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; export type RecordsListResultItemOpenpgpkeyRecordTagsList = Array; export const RecordsListResultItemOpenpgpkeyRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export type RecordsListResultItemOpenpgpkeyRecordType = "OPENPGPKEY"; export const RecordsListResultItemOpenpgpkeyRecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemOpenpgpkeyRecord { /** Identifier. */ id: string; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment: string; /** A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) */ content: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemOpenpgpkeyRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied: boolean; /** Settings for the DNS record. */ settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags: RecordsListResultItemOpenpgpkeyRecordTagsList; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsListResultItemOpenpgpkeyRecordType; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsListResultItemOpenpgpkeyRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, comment: S.String, content: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemOpenpgpkeyRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), name: S.String, proxiable: S.Boolean, proxied: S.Boolean, settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings, tags: RecordsListResultItemOpenpgpkeyRecordTagsList, ttl: S.Number, type: RecordsListResultItemOpenpgpkeyRecordType, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsListResultItemOpenpgpkeyRecord", }) as any as S.Schema; export type RecordsListResultItemPTRRecordMetaShadowedByList = Array; export const RecordsListResultItemPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemPTRRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemPTRRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemPTRRecordMeta", }) as any as S.Schema; export type RecordsListResultItemPTRRecordType = "PTR"; export const RecordsListResultItemPTRRecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemPTRRecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemPTRRecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemPTRRecord", }) as any as S.Schema; export type RecordsListResultItemTXTRecordMetaShadowedByList = Array; export const RecordsListResultItemTXTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemTXTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemTXTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemTXTRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemTXTRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemTXTRecordMeta", }) as any as S.Schema; export type RecordsListResultItemTXTRecordType = "TXT"; export const RecordsListResultItemTXTRecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemTXTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemTXTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemTXTRecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemTXTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemTXTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemTXTRecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemTXTRecord", }) as any as S.Schema; export type RecordsListResultItemCAARecordMetaShadowedByList = Array; export const RecordsListResultItemCAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemCAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemCAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemCAARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemCAARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemCAARecordMeta", }) as any as S.Schema; export type RecordsListResultItemCAARecordType = "CAA"; export const RecordsListResultItemCAARecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemCAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemCAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemCAARecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemCAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemCAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemCAARecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemCAARecord", }) as any as S.Schema; export type RecordsListResultItemCERTRecordMetaShadowedByList = Array; export const RecordsListResultItemCERTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemCERTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemCERTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemCERTRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemCERTRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemCERTRecordMeta", }) as any as S.Schema; export type RecordsListResultItemCERTRecordType = "CERT"; export const RecordsListResultItemCERTRecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemCERTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemCERTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemCERTRecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemCERTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemCERTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemCERTRecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemCERTRecord", }) as any as S.Schema; export type RecordsListResultItemDNSKEYRecordMetaShadowedByList = Array; export const RecordsListResultItemDNSKEYRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemDNSKEYRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemDNSKEYRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemDNSKEYRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemDNSKEYRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemDNSKEYRecordMeta", }) as any as S.Schema; export type RecordsListResultItemDNSKEYRecordType = "DNSKEY"; export const RecordsListResultItemDNSKEYRecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemDNSKEYRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemDNSKEYRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemDNSKEYRecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemDNSKEYRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemDNSKEYRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemDNSKEYRecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemDNSKEYRecord", }) as any as S.Schema; export type RecordsListResultItemDSRecordMetaShadowedByList = Array; export const RecordsListResultItemDSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemDSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemDSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemDSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemDSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemDSRecordMeta", }) as any as S.Schema; export type RecordsListResultItemDSRecordType = "DS"; export const RecordsListResultItemDSRecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemDSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemDSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemDSRecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemDSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemDSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemDSRecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemDSRecord", }) as any as S.Schema; export type RecordsListResultItemHTTPSRecordMetaShadowedByList = Array; export const RecordsListResultItemHTTPSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemHTTPSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemHTTPSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemHTTPSRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemHTTPSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemHTTPSRecordMeta", }) as any as S.Schema; export type RecordsListResultItemHTTPSRecordType = "HTTPS"; export const RecordsListResultItemHTTPSRecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemHTTPSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemHTTPSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemHTTPSRecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemHTTPSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemHTTPSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemHTTPSRecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemHTTPSRecord", }) as any as S.Schema; export type RecordsListResultItemLOCRecordMetaShadowedByList = Array; export const RecordsListResultItemLOCRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemLOCRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemLOCRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemLOCRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemLOCRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemLOCRecordMeta", }) as any as S.Schema; export type RecordsListResultItemLOCRecordType = "LOC"; export const RecordsListResultItemLOCRecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemLOCRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemLOCRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemLOCRecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemLOCRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemLOCRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemLOCRecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemLOCRecord", }) as any as S.Schema; export type RecordsListResultItemNAPTRRecordMetaShadowedByList = Array; export const RecordsListResultItemNAPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemNAPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemNAPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemNAPTRRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemNAPTRRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemNAPTRRecordMeta", }) as any as S.Schema; export type RecordsListResultItemNAPTRRecordType = "NAPTR"; export const RecordsListResultItemNAPTRRecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemNAPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemNAPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemNAPTRRecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemNAPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemNAPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemNAPTRRecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemNAPTRRecord", }) as any as S.Schema; export type RecordsListResultItemSMIMEARecordMetaShadowedByList = Array; export const RecordsListResultItemSMIMEARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemSMIMEARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemSMIMEARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemSMIMEARecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemSMIMEARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemSMIMEARecordMeta", }) as any as S.Schema; export type RecordsListResultItemSMIMEARecordType = "SMIMEA"; export const RecordsListResultItemSMIMEARecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemSMIMEARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemSMIMEARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemSMIMEARecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemSMIMEARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemSMIMEARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemSMIMEARecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemSMIMEARecord", }) as any as S.Schema; export type RecordsListResultItemSRVRecordMetaShadowedByList = Array; export const RecordsListResultItemSRVRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemSRVRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemSRVRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemSRVRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemSRVRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemSRVRecordMeta", }) as any as S.Schema; export type RecordsListResultItemSRVRecordType = "SRV"; export const RecordsListResultItemSRVRecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemSRVRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemSRVRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemSRVRecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemSRVRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemSRVRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemSRVRecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemSRVRecord", }) as any as S.Schema; export type RecordsListResultItemSSHFPRecordMetaShadowedByList = Array; export const RecordsListResultItemSSHFPRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemSSHFPRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemSSHFPRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemSSHFPRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemSSHFPRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemSSHFPRecordMeta", }) as any as S.Schema; export type RecordsListResultItemSSHFPRecordType = "SSHFP"; export const RecordsListResultItemSSHFPRecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemSSHFPRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemSSHFPRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemSSHFPRecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemSSHFPRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemSSHFPRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemSSHFPRecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemSSHFPRecord", }) as any as S.Schema; export type RecordsListResultItemSVCBRecordMetaShadowedByList = Array; export const RecordsListResultItemSVCBRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemSVCBRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemSVCBRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemSVCBRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemSVCBRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemSVCBRecordMeta", }) as any as S.Schema; export type RecordsListResultItemSVCBRecordType = "SVCB"; export const RecordsListResultItemSVCBRecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemSVCBRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemSVCBRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemSVCBRecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemSVCBRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemSVCBRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemSVCBRecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemSVCBRecord", }) as any as S.Schema; export type RecordsListResultItemTLSARecordMetaShadowedByList = Array; export const RecordsListResultItemTLSARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemTLSARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemTLSARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemTLSARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemTLSARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemTLSARecordMeta", }) as any as S.Schema; export type RecordsListResultItemTLSARecordType = "TLSA"; export const RecordsListResultItemTLSARecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemTLSARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemTLSARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemTLSARecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemTLSARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemTLSARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemTLSARecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemTLSARecord", }) as any as S.Schema; export type RecordsListResultItemURIRecordMetaShadowedByList = Array; export const RecordsListResultItemURIRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsListResultItemURIRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsListResultItemURIRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsListResultItemURIRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsListResultItemURIRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsListResultItemURIRecordMeta", }) as any as S.Schema; export type RecordsListResultItemURIRecordType = "URI"; export const RecordsListResultItemURIRecordType = /*@__PURE__*/ S.String; export interface RecordsListResultItemURIRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsListResultItemURIRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Record type. */ type: RecordsListResultItemURIRecordType; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsListResultItemURIRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsListResultItemURIRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: RecordsListResultItemURIRecordType, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsListResultItemURIRecord", }) as any as S.Schema; export type RecordsListResultItem = | RecordsListResultItemARecord | RecordsListResultItemAAAARecord | RecordsListResultItemCNAMERecord | RecordsListResultItemMXRecord | RecordsListResultItemNSRecord | RecordsListResultItemOpenpgpkeyRecord | RecordsListResultItemPTRRecord | RecordsListResultItemTXTRecord | RecordsListResultItemCAARecord | RecordsListResultItemCERTRecord | RecordsListResultItemDNSKEYRecord | RecordsListResultItemDSRecord | RecordsListResultItemHTTPSRecord | RecordsListResultItemLOCRecord | RecordsListResultItemNAPTRRecord | RecordsListResultItemSMIMEARecord | RecordsListResultItemSRVRecord | RecordsListResultItemSSHFPRecord | RecordsListResultItemSVCBRecord | RecordsListResultItemTLSARecord | RecordsListResultItemURIRecord; export const RecordsListResultItem = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "comment", "content", "createdOn", "meta", "modifiedOn", "name", "proxiable", "proxied", "settings", "tags", "ttl", "type", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], ]), ); export type RecordsListResultList = Array; export const RecordsListResultList = /*@__PURE__*/ S.Array( RecordsListResultItem, ) as any as S.Schema; export interface ListRecordsResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: RecordsListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListRecordsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: RecordsListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListRecordsResponse", }) as any as S.Schema; export type SettingsAccountViewsListRequestDirection = "asc" | "desc"; export const SettingsAccountViewsListRequestDirection = /*@__PURE__*/ S.String; export type SettingsAccountViewsListRequestMatch = "any" | "all"; export const SettingsAccountViewsListRequestMatch = /*@__PURE__*/ S.String; export interface SettingsAccountViewsListRequestName { /** Substring of the DNS view name. */ contains?: string; /** Suffix of the DNS view name. */ endswith?: string; /** Exact value of the DNS view name. */ exact?: string; /** Prefix of the DNS view name. */ startswith?: string; } export const SettingsAccountViewsListRequestName = /*@__PURE__*/ S.suspend(() => S.Struct({ contains: S.optional(S.String), endswith: S.optional(S.String), exact: S.optional(S.String), startswith: S.optional(S.String), }), ).annotate({ identifier: "SettingsAccountViewsListRequestName", }) as any as S.Schema; export type SettingsAccountViewsListRequestOrder = | "name" | "created_on" | "modified_on"; export const SettingsAccountViewsListRequestOrder = /*@__PURE__*/ S.String; export interface ListSettingAccountViewsRequest { /** Identifier. */ accountId: string; /** Direction to order DNS views in. */ direction?: SettingsAccountViewsListRequestDirection | (string & {}); /** Whether to match all search requirements or at least one (any). If set to `all`, acts like a logical AND between filters. If set to `any`, acts like a logical OR instead. */ match?: SettingsAccountViewsListRequestMatch | (string & {}); name?: SettingsAccountViewsListRequestName; /** Field to order DNS views by. */ order?: SettingsAccountViewsListRequestOrder | (string & {}); /** Page number of paginated results. */ page?: number; /** Number of DNS views per page. */ perPage?: number; /** A zone ID that exists in the zones list for the view. */ zoneId?: string; /** A zone name that exists in the zones list for the view. */ zoneName?: string; } export const ListSettingAccountViewsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), direction: S.optional( SettingsAccountViewsListRequestDirection.pipe(T.Query()), ), match: S.optional(SettingsAccountViewsListRequestMatch.pipe(T.Query())), name: S.optional( SettingsAccountViewsListRequestName.pipe(T.DeepQuery("name")), ), order: S.optional(SettingsAccountViewsListRequestOrder.pipe(T.Query())), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), zoneId: S.optional(S.String.pipe(T.Query("zone_id"))), zoneName: S.optional(S.String.pipe(T.Query("zone_name"))), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/dns_settings/views", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListSettingAccountViewsRequest", }) as any as S.Schema; export type SettingsAccountViewsListResultItemZonesList = Array; export const SettingsAccountViewsListResultItemZonesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SettingsAccountViewsListResultItem { /** Identifier. */ id: string; /** When the view was created. */ createdTime: string; /** When the view was last modified. */ modifiedTime: string; /** The name of the view. */ name: string; /** The list of zones linked to this view. */ zones: SettingsAccountViewsListResultItemZonesList; } export const SettingsAccountViewsListResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdTime: S.String.pipe(T.Body("created_time")), modifiedTime: S.String.pipe(T.Body("modified_time")), name: S.String, zones: SettingsAccountViewsListResultItemZonesList, }), ).annotate({ identifier: "SettingsAccountViewsListResultItem", }) as any as S.Schema; export type SettingsAccountViewsListResultList = Array; export const SettingsAccountViewsListResultList = /*@__PURE__*/ S.Array( SettingsAccountViewsListResultItem, ) as any as S.Schema; export interface ListSettingAccountViewsResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: SettingsAccountViewsListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListSettingAccountViewsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: SettingsAccountViewsListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListSettingAccountViewsResponse", }) as any as S.Schema; export interface ListZoneTransferAclsRequest { accountId: string; } export const ListZoneTransferAclsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/secondary_dns/acls", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListZoneTransferAclsRequest", }) as any as S.Schema; export interface ZoneTransfersAclsListResultItem { id: string; /** Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively. */ ipRange: string; /** The name of the acl. */ name: string; } export const ZoneTransfersAclsListResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, ipRange: S.String.pipe(T.Body("ip_range")), name: S.String, }), ).annotate({ identifier: "ZoneTransfersAclsListResultItem", }) as any as S.Schema; export type ZoneTransfersAclsListResultList = Array; export const ZoneTransfersAclsListResultList = /*@__PURE__*/ S.Array( ZoneTransfersAclsListResultItem, ) as any as S.Schema; export interface ListZoneTransferAclsResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: ZoneTransfersAclsListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListZoneTransferAclsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: ZoneTransfersAclsListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListZoneTransferAclsResponse", }) as any as S.Schema; export interface ListZoneTransferPeersRequest { accountId: string; } export const ListZoneTransferPeersRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/secondary_dns/peers", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListZoneTransferPeersRequest", }) as any as S.Schema; export interface ZoneTransfersPeersListResultItem { id: string; /** The name of the peer. */ name: string; /** IPv4/IPv6 address of primary or secondary nameserver, depending on what zone this peer is linked to. For primary zones this IP defines the IP of the secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary zones this IP defines the IP of the primary nameserver Cloudflare will send AXFR/IXFR requests to. */ ip?: string | null; /** Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. */ ixfrEnable?: boolean | null; /** DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. */ port?: number | null; /** TSIG authentication will be used for zone transfer if configured. */ tsigId?: string | null; } export const ZoneTransfersPeersListResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, name: S.String, ip: S.optional(S.NullOr(S.String)), ixfrEnable: S.optional(S.NullOr(S.Boolean).pipe(T.Body("ixfr_enable"))), port: S.optional(S.NullOr(S.Number)), tsigId: S.optional(S.NullOr(S.String).pipe(T.Body("tsig_id"))), }), ).annotate({ identifier: "ZoneTransfersPeersListResultItem", }) as any as S.Schema; export type ZoneTransfersPeersListResultList = Array; export const ZoneTransfersPeersListResultList = /*@__PURE__*/ S.Array( ZoneTransfersPeersListResultItem, ) as any as S.Schema; export interface ListZoneTransferPeersResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: ZoneTransfersPeersListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListZoneTransferPeersResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: ZoneTransfersPeersListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListZoneTransferPeersResponse", }) as any as S.Schema; export interface ListZoneTransferTsigsRequest { accountId: string; } export const ListZoneTransferTsigsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/secondary_dns/tsigs", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListZoneTransferTsigsRequest", }) as any as S.Schema; export interface ZoneTransfersTsigsListResultItem { id: string; /** TSIG algorithm. */ algo: string; /** TSIG key name. */ name: string; /** TSIG secret. */ secret: string; } export const ZoneTransfersTsigsListResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, algo: S.String, name: S.String, secret: S.String, }), ).annotate({ identifier: "ZoneTransfersTsigsListResultItem", }) as any as S.Schema; export type ZoneTransfersTsigsListResultList = Array; export const ZoneTransfersTsigsListResultList = /*@__PURE__*/ S.Array( ZoneTransfersTsigsListResultItem, ) as any as S.Schema; export interface ListZoneTransferTsigsResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: ZoneTransfersTsigsListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListZoneTransferTsigsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: ZoneTransfersTsigsListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListZoneTransferTsigsResponse", }) as any as S.Schema; export type DnssecEditRequestStatus = "active" | "disabled"; export const DnssecEditRequestStatus = /*@__PURE__*/ S.String; export interface PatchDnssecRequest { /** Identifier. */ zoneId: string; /** If true, multi-signer DNSSEC is enabled on the zone, allowing multiple */ dnssecMultiSigner?: boolean; /** If true, allows Cloudflare to transfer in a DNSSEC-signed zone */ dnssecPresigned?: boolean; /** If true, enables the use of NSEC3 together with DNSSEC on the zone. */ dnssecUseNsec3?: boolean; /** Status of DNSSEC, based on user-desired state and presence of necessary records. */ status?: DnssecEditRequestStatus | (string & {}); } export const PatchDnssecRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), dnssecMultiSigner: S.optional( S.Boolean.pipe(T.Body("dnssec_multi_signer")), ), dnssecPresigned: S.optional(S.Boolean.pipe(T.Body("dnssec_presigned"))), dnssecUseNsec3: S.optional(S.Boolean.pipe(T.Body("dnssec_use_nsec3"))), status: S.optional(DnssecEditRequestStatus), }) .pipe( T.Http({ method: "PATCH", uri: "/zones/{zone_id}/dnssec", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PatchDnssecRequest", }) as any as S.Schema; export type DnssecEditResponseStatus = | "active" | "pending" | "disabled" | "pending-disabled" | "error"; export const DnssecEditResponseStatus = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface PatchDnssecResponse { /** Algorithm key code. */ algorithm?: string | null; /** Digest hash. */ digest?: string | null; /** Type of digest algorithm. */ digestAlgorithm?: string | null; /** Coded type for digest algorithm. */ digestType?: string | null; /** If true, multi-signer DNSSEC is enabled on the zone, allowing multiple */ dnssecMultiSigner?: boolean | null; /** If true, allows Cloudflare to transfer in a DNSSEC-signed zone */ dnssecPresigned?: boolean | null; /** If true, enables the use of NSEC3 together with DNSSEC on the zone. */ dnssecUseNsec3?: boolean | null; /** Full DS record. */ ds?: string | null; /** Flag for DNSSEC record. */ flags?: number | null; /** Code for key tag. */ keyTag?: number | null; /** Algorithm key type. */ keyType?: string | null; /** When DNSSEC was last modified. */ modifiedOn?: string | null; /** Public key for DS record. */ publicKey?: string | null; /** Status of DNSSEC, based on user-desired state and presence of necessary records. */ status?: DnssecEditResponseStatus | null; } export const PatchDnssecResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ algorithm: S.optional(S.NullOr(S.String)), digest: S.optional(S.NullOr(S.String)), digestAlgorithm: S.optional( S.NullOr(S.String).pipe(T.Body("digest_algorithm")), ), digestType: S.optional(S.NullOr(S.String).pipe(T.Body("digest_type"))), dnssecMultiSigner: S.optional( S.NullOr(S.Boolean).pipe(T.Body("dnssec_multi_signer")), ), dnssecPresigned: S.optional( S.NullOr(S.Boolean).pipe(T.Body("dnssec_presigned")), ), dnssecUseNsec3: S.optional( S.NullOr(S.Boolean).pipe(T.Body("dnssec_use_nsec3")), ), ds: S.optional(S.NullOr(S.String)), flags: S.optional(S.NullOr(S.Number)), keyTag: S.optional(S.NullOr(S.Number).pipe(T.Body("key_tag"))), keyType: S.optional(S.NullOr(S.String).pipe(T.Body("key_type"))), modifiedOn: S.optional(S.NullOr(S.String).pipe(T.Body("modified_on"))), publicKey: S.optional(S.NullOr(S.String).pipe(T.Body("public_key"))), status: S.optional(S.NullOr(DnssecEditResponseStatus)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PatchDnssecResponse", }) as any as S.Schema; export type RecordsEditRequestType = | "A" | "AAAA" | "CNAME" | "MX" | "NS" | "OPENPGPKEY" | "PTR" | "TXT" | "CAA" | "CERT" | "DNSKEY" | "DS" | "HTTPS" | "LOC" | "NAPTR" | "SMIMEA" | "SRV" | "SSHFP" | "SVCB" | "TLSA" | "URI"; export const RecordsEditRequestType = /*@__PURE__*/ S.String; export type RecordsEditRequestSettingsARecord = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsEditRequestSettingsARecord = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsEditRequestSettingsCNAMERecord = RecordsBatchRequestPostsItemCNAMERecordSettings; export const RecordsEditRequestSettingsCNAMERecord = RecordsBatchRequestPostsItemCNAMERecordSettings; export type RecordsEditRequestSettings = | RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings | RecordsBatchRequestPostsItemCNAMERecordSettings; export const RecordsEditRequestSettings = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["ipv4Only", "ipv6Only"], ["flattenCname", "ipv4Only", "ipv6Only"], ]), ); export type RecordsEditRequestTagsList = Array; export const RecordsEditRequestTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export type RecordsEditRequestDataCAARecord = RecordsBatchRequestPostsItemCAARecordData; export const RecordsEditRequestDataCAARecord = RecordsBatchRequestPostsItemCAARecordData; export type RecordsEditRequestDataCERTRecord = RecordsBatchRequestPostsItemCERTRecordData; export const RecordsEditRequestDataCERTRecord = RecordsBatchRequestPostsItemCERTRecordData; export type RecordsEditRequestDataDNSKEYRecord = RecordsBatchRequestPostsItemDNSKEYRecordData; export const RecordsEditRequestDataDNSKEYRecord = RecordsBatchRequestPostsItemDNSKEYRecordData; export type RecordsEditRequestDataDSRecord = RecordsBatchRequestPostsItemDSRecordData; export const RecordsEditRequestDataDSRecord = RecordsBatchRequestPostsItemDSRecordData; export type RecordsEditRequestDataHTTPSRecord = RecordsBatchRequestPostsItemHTTPSRecordData; export const RecordsEditRequestDataHTTPSRecord = RecordsBatchRequestPostsItemHTTPSRecordData; export type RecordsEditRequestDataLOCRecordLatDirection = "N" | "S"; export const RecordsEditRequestDataLOCRecordLatDirection = /*@__PURE__*/ S.String; export type RecordsEditRequestDataLOCRecordLongDirection = "E" | "W"; export const RecordsEditRequestDataLOCRecordLongDirection = /*@__PURE__*/ S.String; export interface RecordsEditRequestDataLOCRecord { /** Altitude of location in meters. */ altitude?: number; /** Degrees of latitude. */ latDegrees?: number; /** Latitude direction. */ latDirection?: RecordsEditRequestDataLOCRecordLatDirection | (string & {}); /** Minutes of latitude. */ latMinutes?: number; /** Seconds of latitude. */ latSeconds?: number; /** Degrees of longitude. */ longDegrees?: number; /** Longitude direction. */ longDirection?: RecordsEditRequestDataLOCRecordLongDirection | (string & {}); /** Minutes of longitude. */ longMinutes?: number; /** Seconds of longitude. */ longSeconds?: number; /** Horizontal precision of location. */ precisionHorz?: number; /** Vertical precision of location. */ precisionVert?: number; /** Size of location in meters. */ size?: number; } export const RecordsEditRequestDataLOCRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ altitude: S.optional(S.Number), latDegrees: S.optional(S.Number.pipe(T.Body("lat_degrees"))), latDirection: S.optional( RecordsEditRequestDataLOCRecordLatDirection.pipe(T.Body("lat_direction")), ), latMinutes: S.optional(S.Number.pipe(T.Body("lat_minutes"))), latSeconds: S.optional(S.Number.pipe(T.Body("lat_seconds"))), longDegrees: S.optional(S.Number.pipe(T.Body("long_degrees"))), longDirection: S.optional( RecordsEditRequestDataLOCRecordLongDirection.pipe( T.Body("long_direction"), ), ), longMinutes: S.optional(S.Number.pipe(T.Body("long_minutes"))), longSeconds: S.optional(S.Number.pipe(T.Body("long_seconds"))), precisionHorz: S.optional(S.Number.pipe(T.Body("precision_horz"))), precisionVert: S.optional(S.Number.pipe(T.Body("precision_vert"))), size: S.optional(S.Number), }), ).annotate({ identifier: "RecordsEditRequestDataLOCRecord", }) as any as S.Schema; export type RecordsEditRequestDataNAPTRRecord = RecordsBatchRequestPostsItemNAPTRRecordData; export const RecordsEditRequestDataNAPTRRecord = RecordsBatchRequestPostsItemNAPTRRecordData; export type RecordsEditRequestDataSMIMEARecord = RecordsBatchRequestPostsItemSMIMEARecordData; export const RecordsEditRequestDataSMIMEARecord = RecordsBatchRequestPostsItemSMIMEARecordData; export type RecordsEditRequestDataSRVRecord = RecordsBatchRequestPostsItemSRVRecordData; export const RecordsEditRequestDataSRVRecord = RecordsBatchRequestPostsItemSRVRecordData; export type RecordsEditRequestDataSSHFPRecord = RecordsBatchRequestPostsItemSSHFPRecordData; export const RecordsEditRequestDataSSHFPRecord = RecordsBatchRequestPostsItemSSHFPRecordData; export type RecordsEditRequestDataURIRecord = RecordsBatchRequestPostsItemURIRecordData; export const RecordsEditRequestDataURIRecord = RecordsBatchRequestPostsItemURIRecordData; export type RecordsEditRequestData = | RecordsBatchRequestPostsItemCAARecordData | RecordsBatchRequestPostsItemCERTRecordData | RecordsBatchRequestPostsItemDNSKEYRecordData | RecordsBatchRequestPostsItemDSRecordData | RecordsBatchRequestPostsItemHTTPSRecordData | RecordsEditRequestDataLOCRecord | RecordsBatchRequestPostsItemNAPTRRecordData | RecordsBatchRequestPostsItemSMIMEARecordData | RecordsBatchRequestPostsItemSRVRecordData | RecordsBatchRequestPostsItemSSHFPRecordData | RecordsBatchRequestPostsItemURIRecordData; export const RecordsEditRequestData = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["flags", "tag", "value"], ["algorithm", "certificate", "keyTag", "type"], ["algorithm", "flags", "protocol", "publicKey"], ["algorithm", "digest", "digestType", "keyTag"], ["priority", "target", "value"], [ "altitude", "latDegrees", "latDirection", "latMinutes", "latSeconds", "longDegrees", "longDirection", "longMinutes", "longSeconds", "precisionHorz", "precisionVert", "size", ], ["flags", "order", "preference", "regex", "replacement", "service"], ["certificate", "matchingType", "selector", "usage"], ["port", "priority", "target", "weight"], ["algorithm", "fingerprint", "type"], ["target", "weight"], ]), ); export interface PatchRecordRequest { /** Identifier. */ zoneId: string; /** Identifier. */ dnsRecordId: string; /** Whether to include shadow metadata in the `meta` field of each record in the response. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ includeShadowMetadata?: boolean; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsEditRequestType | (string & {}); /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A valid IPv4 address. */ content?: string; /** Enables private network routing to the origin. */ privateRouting?: boolean; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsEditRequestSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsEditRequestTagsList; /** Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. */ priority?: number; /** Components of a CAA record. */ data?: RecordsEditRequestData; } export const PatchRecordRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), dnsRecordId: S.String.pipe(T.Label("dns_record_id")), includeShadowMetadata: S.optional( S.Boolean.pipe(T.Query("include_shadow_metadata")), ), name: S.String, ttl: S.Number, type: RecordsEditRequestType, comment: S.optional(S.String), content: S.optional(S.String), privateRouting: S.optional(S.Boolean.pipe(T.Body("private_routing"))), proxied: S.optional(S.Boolean), settings: S.optional(RecordsEditRequestSettings), tags: S.optional(RecordsEditRequestTagsList), priority: S.optional(S.Number), data: S.optional(RecordsEditRequestData), }) .pipe( T.Http({ method: "PATCH", uri: "/zones/{zone_id}/dns_records/{dns_record_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PatchRecordRequest", }) as any as S.Schema; export type RecordsEditResultARecordMetaShadowedByList = Array; export const RecordsEditResultARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultARecordMeta", }) as any as S.Schema; export interface RecordsEditResultARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultARecord", }) as any as S.Schema; export type RecordsEditResultAAAARecordMetaShadowedByList = Array; export const RecordsEditResultAAAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultAAAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultAAAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultAAAARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultAAAARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultAAAARecordMeta", }) as any as S.Schema; export interface RecordsEditResultAAAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultAAAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeAAAA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultAAAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultAAAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeAAAA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultAAAARecord", }) as any as S.Schema; export type RecordsEditResultCNAMERecordMetaShadowedByList = Array; export const RecordsEditResultCNAMERecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultCNAMERecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultCNAMERecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultCNAMERecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultCNAMERecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultCNAMERecordMeta", }) as any as S.Schema; export interface RecordsEditResultCNAMERecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultCNAMERecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeCNAME; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultCNAMERecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultCNAMERecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeCNAME, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultCNAMERecord", }) as any as S.Schema; export type RecordsEditResultMXRecordMetaShadowedByList = Array; export const RecordsEditResultMXRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultMXRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultMXRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultMXRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultMXRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultMXRecordMeta", }) as any as S.Schema; export interface RecordsEditResultMXRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultMXRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeMX; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultMXRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultMXRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeMX, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultMXRecord", }) as any as S.Schema; export type RecordsEditResultNSRecordMetaShadowedByList = Array; export const RecordsEditResultNSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultNSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultNSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultNSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultNSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultNSRecordMeta", }) as any as S.Schema; export interface RecordsEditResultNSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultNSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeNS; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultNSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultNSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeNS, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultNSRecord", }) as any as S.Schema; export type RecordsEditResultOpenpgpkeyRecordMetaShadowedByList = Array; export const RecordsEditResultOpenpgpkeyRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultOpenpgpkeyRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultOpenpgpkeyRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultOpenpgpkeyRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultOpenpgpkeyRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultOpenpgpkeyRecordMeta", }) as any as S.Schema; export type RecordsEditResultOpenpgpkeyRecordSettings = RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; export const RecordsEditResultOpenpgpkeyRecordSettings = RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; export type RecordsEditResultOpenpgpkeyRecordTagsList = Array; export const RecordsEditResultOpenpgpkeyRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export type RecordsEditResultOpenpgpkeyRecordType = "OPENPGPKEY"; export const RecordsEditResultOpenpgpkeyRecordType = /*@__PURE__*/ S.String; export interface RecordsEditResultOpenpgpkeyRecord { /** Identifier. */ id: string; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment: string; /** A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) */ content: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultOpenpgpkeyRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied: boolean; /** Settings for the DNS record. */ settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags: RecordsEditResultOpenpgpkeyRecordTagsList; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsEditResultOpenpgpkeyRecordType; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsEditResultOpenpgpkeyRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, comment: S.String, content: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultOpenpgpkeyRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), name: S.String, proxiable: S.Boolean, proxied: S.Boolean, settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings, tags: RecordsEditResultOpenpgpkeyRecordTagsList, ttl: S.Number, type: RecordsEditResultOpenpgpkeyRecordType, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsEditResultOpenpgpkeyRecord", }) as any as S.Schema; export type RecordsEditResultPTRRecordMetaShadowedByList = Array; export const RecordsEditResultPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultPTRRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultPTRRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultPTRRecordMeta", }) as any as S.Schema; export interface RecordsEditResultPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypePTR; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypePTR, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultPTRRecord", }) as any as S.Schema; export type RecordsEditResultTXTRecordMetaShadowedByList = Array; export const RecordsEditResultTXTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultTXTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultTXTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultTXTRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultTXTRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultTXTRecordMeta", }) as any as S.Schema; export interface RecordsEditResultTXTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultTXTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeTXT; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultTXTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultTXTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeTXT, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultTXTRecord", }) as any as S.Schema; export type RecordsEditResultCAARecordMetaShadowedByList = Array; export const RecordsEditResultCAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultCAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultCAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultCAARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultCAARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultCAARecordMeta", }) as any as S.Schema; export interface RecordsEditResultCAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultCAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeCAA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultCAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultCAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeCAA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultCAARecord", }) as any as S.Schema; export type RecordsEditResultCERTRecordMetaShadowedByList = Array; export const RecordsEditResultCERTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultCERTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultCERTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultCERTRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultCERTRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultCERTRecordMeta", }) as any as S.Schema; export interface RecordsEditResultCERTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultCERTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeCERT; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultCERTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultCERTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeCERT, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultCERTRecord", }) as any as S.Schema; export type RecordsEditResultDNSKEYRecordMetaShadowedByList = Array; export const RecordsEditResultDNSKEYRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultDNSKEYRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultDNSKEYRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultDNSKEYRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultDNSKEYRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultDNSKEYRecordMeta", }) as any as S.Schema; export interface RecordsEditResultDNSKEYRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultDNSKEYRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeDNSKEY; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultDNSKEYRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultDNSKEYRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeDNSKEY, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultDNSKEYRecord", }) as any as S.Schema; export type RecordsEditResultDSRecordMetaShadowedByList = Array; export const RecordsEditResultDSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultDSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultDSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultDSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultDSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultDSRecordMeta", }) as any as S.Schema; export interface RecordsEditResultDSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultDSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeDS; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultDSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultDSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeDS, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultDSRecord", }) as any as S.Schema; export type RecordsEditResultHTTPSRecordMetaShadowedByList = Array; export const RecordsEditResultHTTPSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultHTTPSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultHTTPSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultHTTPSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultHTTPSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultHTTPSRecordMeta", }) as any as S.Schema; export interface RecordsEditResultHTTPSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultHTTPSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeHTTPS; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultHTTPSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultHTTPSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeHTTPS, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultHTTPSRecord", }) as any as S.Schema; export type RecordsEditResultLOCRecordMetaShadowedByList = Array; export const RecordsEditResultLOCRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultLOCRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultLOCRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultLOCRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultLOCRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultLOCRecordMeta", }) as any as S.Schema; export interface RecordsEditResultLOCRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultLOCRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeLOC; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultLOCRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultLOCRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeLOC, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultLOCRecord", }) as any as S.Schema; export type RecordsEditResultNAPTRRecordMetaShadowedByList = Array; export const RecordsEditResultNAPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultNAPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultNAPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultNAPTRRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultNAPTRRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultNAPTRRecordMeta", }) as any as S.Schema; export interface RecordsEditResultNAPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultNAPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeNAPTR; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultNAPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultNAPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeNAPTR, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultNAPTRRecord", }) as any as S.Schema; export type RecordsEditResultSMIMEARecordMetaShadowedByList = Array; export const RecordsEditResultSMIMEARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultSMIMEARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultSMIMEARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultSMIMEARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultSMIMEARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultSMIMEARecordMeta", }) as any as S.Schema; export interface RecordsEditResultSMIMEARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultSMIMEARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSMIMEA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultSMIMEARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultSMIMEARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSMIMEA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultSMIMEARecord", }) as any as S.Schema; export type RecordsEditResultSRVRecordMetaShadowedByList = Array; export const RecordsEditResultSRVRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultSRVRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultSRVRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultSRVRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultSRVRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultSRVRecordMeta", }) as any as S.Schema; export interface RecordsEditResultSRVRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultSRVRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSRV; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultSRVRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultSRVRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSRV, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultSRVRecord", }) as any as S.Schema; export type RecordsEditResultSSHFPRecordMetaShadowedByList = Array; export const RecordsEditResultSSHFPRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultSSHFPRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultSSHFPRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultSSHFPRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultSSHFPRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultSSHFPRecordMeta", }) as any as S.Schema; export interface RecordsEditResultSSHFPRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultSSHFPRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSSHFP; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultSSHFPRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultSSHFPRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSSHFP, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultSSHFPRecord", }) as any as S.Schema; export type RecordsEditResultSVCBRecordMetaShadowedByList = Array; export const RecordsEditResultSVCBRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultSVCBRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultSVCBRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultSVCBRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultSVCBRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultSVCBRecordMeta", }) as any as S.Schema; export interface RecordsEditResultSVCBRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultSVCBRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSVCB; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultSVCBRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultSVCBRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSVCB, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultSVCBRecord", }) as any as S.Schema; export type RecordsEditResultTLSARecordMetaShadowedByList = Array; export const RecordsEditResultTLSARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultTLSARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultTLSARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultTLSARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultTLSARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultTLSARecordMeta", }) as any as S.Schema; export interface RecordsEditResultTLSARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultTLSARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeTLSA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultTLSARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultTLSARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeTLSA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultTLSARecord", }) as any as S.Schema; export type RecordsEditResultURIRecordMetaShadowedByList = Array; export const RecordsEditResultURIRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsEditResultURIRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsEditResultURIRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsEditResultURIRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsEditResultURIRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsEditResultURIRecordMeta", }) as any as S.Schema; export interface RecordsEditResultURIRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsEditResultURIRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeURI; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsEditResultURIRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsEditResultURIRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeURI, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsEditResultURIRecord", }) as any as S.Schema; export type RecordsEditResult = | RecordsEditResultARecord | RecordsEditResultAAAARecord | RecordsEditResultCNAMERecord | RecordsEditResultMXRecord | RecordsEditResultNSRecord | RecordsEditResultOpenpgpkeyRecord | RecordsEditResultPTRRecord | RecordsEditResultTXTRecord | RecordsEditResultCAARecord | RecordsEditResultCERTRecord | RecordsEditResultDNSKEYRecord | RecordsEditResultDSRecord | RecordsEditResultHTTPSRecord | RecordsEditResultLOCRecord | RecordsEditResultNAPTRRecord | RecordsEditResultSMIMEARecord | RecordsEditResultSRVRecord | RecordsEditResultSSHFPRecord | RecordsEditResultSVCBRecord | RecordsEditResultTLSARecord | RecordsEditResultURIRecord; export const RecordsEditResult = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "comment", "content", "createdOn", "meta", "modifiedOn", "name", "proxiable", "proxied", "settings", "tags", "ttl", "type", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], ]), ); export type PatchRecordResponse = RecordsEditResult; export const PatchRecordResponse = /*@__PURE__*/ S.suspend(() => RecordsEditResult.pipe( T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY), ), ).annotate({ identifier: "PatchRecordResponse", }) as any as S.Schema; export interface SettingsAccountEditRequestZoneDefaultsInternalDns { /** The ID of the zone to fallback to. */ referenceZoneId?: string; } export const SettingsAccountEditRequestZoneDefaultsInternalDns = /*@__PURE__*/ S.suspend(() => S.Struct({ referenceZoneId: S.optional(S.String.pipe(T.Body("reference_zone_id"))), }), ).annotate({ identifier: "SettingsAccountEditRequestZoneDefaultsInternalDns", }) as any as S.Schema; export type SettingsAccountEditRequestZoneDefaultsNameserversType = | "cloudflare.standard" | "cloudflare.standard.random" | "custom.account" | "custom.tenant"; export const SettingsAccountEditRequestZoneDefaultsNameserversType = /*@__PURE__*/ S.String; export interface SettingsAccountEditRequestZoneDefaultsNameservers { /** Nameserver type */ type?: SettingsAccountEditRequestZoneDefaultsNameserversType | (string & {}); } export const SettingsAccountEditRequestZoneDefaultsNameservers = /*@__PURE__*/ S.suspend(() => S.Struct({ type: S.optional(SettingsAccountEditRequestZoneDefaultsNameserversType), }), ).annotate({ identifier: "SettingsAccountEditRequestZoneDefaultsNameservers", }) as any as S.Schema; export interface SettingsAccountEditRequestZoneDefaultsSoa { /** Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. */ expire?: number; /** The time to live (TTL) for negative caching of records within the zone. */ minTtl?: number; /** The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used. */ mname?: string; /** Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. */ refresh?: number; /** Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. */ retry?: number; /** The email address of the zone administrator, with the first label representing the local part of the email address. */ rname?: string; /** The time to live (TTL) of the SOA record itself. */ ttl?: number; } export const SettingsAccountEditRequestZoneDefaultsSoa = /*@__PURE__*/ S.suspend(() => S.Struct({ expire: S.optional(S.Number), minTtl: S.optional(S.Number.pipe(T.Body("min_ttl"))), mname: S.optional(S.String), refresh: S.optional(S.Number), retry: S.optional(S.Number), rname: S.optional(S.String), ttl: S.optional(S.Number), }), ).annotate({ identifier: "SettingsAccountEditRequestZoneDefaultsSoa", }) as any as S.Schema; export type SettingsAccountEditRequestZoneDefaultsZoneMode = | "standard" | "cdn_only" | "dns_only"; export const SettingsAccountEditRequestZoneDefaultsZoneMode = /*@__PURE__*/ S.String; export interface SettingsAccountEditRequestZoneDefaults { /** 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?: boolean; /** Whether to enable Foundation DNS Advanced Nameservers on the zone. */ foundationDns?: boolean; /** Settings for this internal zone. */ internalDns?: SettingsAccountEditRequestZoneDefaultsInternalDns; /** 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?: boolean; /** Settings determining the nameservers through which the zone should be available. */ nameservers?: SettingsAccountEditRequestZoneDefaultsNameservers; /** The time to live (TTL) of the zone's nameserver (NS) records. */ nsTtl?: number; /** Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex. */ secondaryOverrides?: boolean; /** Components of the zone's SOA record. */ soa?: SettingsAccountEditRequestZoneDefaultsSoa; /** Whether the zone mode is a regular or CDN/DNS only zone. */ zoneMode?: SettingsAccountEditRequestZoneDefaultsZoneMode | (string & {}); } export const SettingsAccountEditRequestZoneDefaults = /*@__PURE__*/ S.suspend( () => S.Struct({ flattenAllCnames: S.optional( S.Boolean.pipe(T.Body("flatten_all_cnames")), ), foundationDns: S.optional(S.Boolean.pipe(T.Body("foundation_dns"))), internalDns: S.optional( SettingsAccountEditRequestZoneDefaultsInternalDns.pipe( T.Body("internal_dns"), ), ), multiProvider: S.optional(S.Boolean.pipe(T.Body("multi_provider"))), nameservers: S.optional( SettingsAccountEditRequestZoneDefaultsNameservers, ), nsTtl: S.optional(S.Number.pipe(T.Body("ns_ttl"))), secondaryOverrides: S.optional( S.Boolean.pipe(T.Body("secondary_overrides")), ), soa: S.optional(SettingsAccountEditRequestZoneDefaultsSoa), zoneMode: S.optional( SettingsAccountEditRequestZoneDefaultsZoneMode.pipe( T.Body("zone_mode"), ), ), }), ).annotate({ identifier: "SettingsAccountEditRequestZoneDefaults", }) as any as S.Schema; export interface PatchSettingAccountRequest { /** Identifier. */ accountId: string; /** When enabled, forces all proxied DNS records in the account to behave as DNS-only at the edge, regardless of each record's individual proxy setting. Note that this account-level override does not modify the records themselves; it only affects how they are served at the edge. See more on [Enforce DNS-only](https://developers.cloudflare.com/dns/proxy-status/enforce-dns-only). */ enforceDnsOnly?: boolean; zoneDefaults?: SettingsAccountEditRequestZoneDefaults; } export const PatchSettingAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), enforceDnsOnly: S.optional(S.Boolean.pipe(T.Body("enforce_dns_only"))), zoneDefaults: S.optional( SettingsAccountEditRequestZoneDefaults.pipe(T.Body("zone_defaults")), ), }) .pipe( T.Http({ method: "PATCH", uri: "/accounts/{account_id}/dns_settings", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PatchSettingAccountRequest", }) as any as S.Schema; export type SettingsAccountEditResponseZoneDefaultsInternalDns = SettingsAccountGetResponseZoneDefaultsInternalDns; export const SettingsAccountEditResponseZoneDefaultsInternalDns = SettingsAccountGetResponseZoneDefaultsInternalDns; export type SettingsAccountEditResponseZoneDefaultsNameserversType = | "cloudflare.standard" | "cloudflare.standard.random" | "custom.account" | "custom.tenant"; export const SettingsAccountEditResponseZoneDefaultsNameserversType = /*@__PURE__*/ S.String; export interface SettingsAccountEditResponseZoneDefaultsNameservers { /** Nameserver type */ type: SettingsAccountEditResponseZoneDefaultsNameserversType; } export const SettingsAccountEditResponseZoneDefaultsNameservers = /*@__PURE__*/ S.suspend(() => S.Struct({ type: SettingsAccountEditResponseZoneDefaultsNameserversType, }), ).annotate({ identifier: "SettingsAccountEditResponseZoneDefaultsNameservers", }) as any as S.Schema; export type SettingsAccountEditResponseZoneDefaultsSoa = SettingsAccountGetResponseZoneDefaultsSoa; export const SettingsAccountEditResponseZoneDefaultsSoa = SettingsAccountGetResponseZoneDefaultsSoa; export type SettingsAccountEditResponseZoneDefaultsZoneMode = | "standard" | "cdn_only" | "dns_only"; export const SettingsAccountEditResponseZoneDefaultsZoneMode = /*@__PURE__*/ S.String; export interface SettingsAccountEditResponseZoneDefaults { /** 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: boolean; /** Whether to enable Foundation DNS Advanced Nameservers on the zone. */ foundationDns: boolean; /** Settings for this internal zone. */ internalDns: SettingsAccountGetResponseZoneDefaultsInternalDns; /** 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: boolean; /** Settings determining the nameservers through which the zone should be available. */ nameservers: SettingsAccountEditResponseZoneDefaultsNameservers; /** The time to live (TTL) of the zone's nameserver (NS) records. */ nsTtl: number; /** Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex. */ secondaryOverrides: boolean; /** Components of the zone's SOA record. */ soa: SettingsAccountGetResponseZoneDefaultsSoa; /** Whether the zone mode is a regular or CDN/DNS only zone. */ zoneMode: SettingsAccountEditResponseZoneDefaultsZoneMode; } export const SettingsAccountEditResponseZoneDefaults = /*@__PURE__*/ S.suspend( () => S.Struct({ flattenAllCnames: S.Boolean.pipe(T.Body("flatten_all_cnames")), foundationDns: S.Boolean.pipe(T.Body("foundation_dns")), internalDns: SettingsAccountGetResponseZoneDefaultsInternalDns.pipe( T.Body("internal_dns"), ), multiProvider: S.Boolean.pipe(T.Body("multi_provider")), nameservers: SettingsAccountEditResponseZoneDefaultsNameservers, nsTtl: S.Number.pipe(T.Body("ns_ttl")), secondaryOverrides: S.Boolean.pipe(T.Body("secondary_overrides")), soa: SettingsAccountGetResponseZoneDefaultsSoa, zoneMode: SettingsAccountEditResponseZoneDefaultsZoneMode.pipe( T.Body("zone_mode"), ), }), ).annotate({ identifier: "SettingsAccountEditResponseZoneDefaults", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface PatchSettingAccountResponse { zoneDefaults: SettingsAccountEditResponseZoneDefaults; /** When enabled, forces all proxied DNS records in the account to behave as DNS-only at the edge, regardless of each record's individual proxy setting. Note that this account-level override does not modify the records themselves; it only affects how they are served at the edge. See more on [Enforce DNS-only](https://developers.cloudflare.com/dns/proxy-status/enforce-dns-only). */ enforceDnsOnly?: boolean | null; } export const PatchSettingAccountResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneDefaults: SettingsAccountEditResponseZoneDefaults.pipe( T.Body("zone_defaults"), ), enforceDnsOnly: S.optional( S.NullOr(S.Boolean).pipe(T.Body("enforce_dns_only")), ), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PatchSettingAccountResponse", }) as any as S.Schema; export type SettingsAccountViewsEditRequestZonesList = Array; export const SettingsAccountViewsEditRequestZonesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface PatchSettingAccountViewRequest { /** Identifier. */ accountId: string; /** Identifier. */ viewId: string; /** The name of the view. */ name?: string; /** The list of zones linked to this view. */ zones?: SettingsAccountViewsEditRequestZonesList; } export const PatchSettingAccountViewRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), viewId: S.String.pipe(T.Label("view_id")), name: S.optional(S.String), zones: S.optional(SettingsAccountViewsEditRequestZonesList), }) .pipe( T.Http({ method: "PATCH", uri: "/accounts/{account_id}/dns_settings/views/{view_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PatchSettingAccountViewRequest", }) as any as S.Schema; export type SettingsAccountViewsEditResponseZonesList = Array; export const SettingsAccountViewsEditResponseZonesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface PatchSettingAccountViewResponse { /** Identifier. */ id: string; /** When the view was created. */ createdTime: string; /** When the view was last modified. */ modifiedTime: string; /** The name of the view. */ name: string; /** The list of zones linked to this view. */ zones: SettingsAccountViewsEditResponseZonesList; } export const PatchSettingAccountViewResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdTime: S.String.pipe(T.Body("created_time")), modifiedTime: S.String.pipe(T.Body("modified_time")), name: S.String, zones: SettingsAccountViewsEditResponseZonesList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PatchSettingAccountViewResponse", }) as any as S.Schema; export type SettingsZoneEditRequestInternalDns = SettingsAccountEditRequestZoneDefaultsInternalDns; export const SettingsZoneEditRequestInternalDns = SettingsAccountEditRequestZoneDefaultsInternalDns; export type SettingsZoneEditRequestNameserversType = | "cloudflare.standard" | "custom.account" | "custom.tenant" | "custom.zone"; export const SettingsZoneEditRequestNameserversType = /*@__PURE__*/ S.String; export interface SettingsZoneEditRequestNameservers { /** Configured nameserver set to be used for this zone */ nsSet?: number; /** Nameserver type */ type?: SettingsZoneEditRequestNameserversType | (string & {}); } export const SettingsZoneEditRequestNameservers = /*@__PURE__*/ S.suspend(() => S.Struct({ nsSet: S.optional(S.Number.pipe(T.Body("ns_set"))), type: S.optional(SettingsZoneEditRequestNameserversType), }), ).annotate({ identifier: "SettingsZoneEditRequestNameservers", }) as any as S.Schema; export type SettingsZoneEditRequestSoa = SettingsAccountEditRequestZoneDefaultsSoa; export const SettingsZoneEditRequestSoa = SettingsAccountEditRequestZoneDefaultsSoa; export type SettingsZoneEditRequestZoneMode = | "standard" | "cdn_only" | "dns_only"; export const SettingsZoneEditRequestZoneMode = /*@__PURE__*/ S.String; export interface PatchSettingZoneRequest { /** Identifier. */ zoneId: string; /** 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?: boolean; /** Whether to enable Foundation DNS Advanced Nameservers on the zone. */ foundationDns?: boolean; /** Settings for this internal zone. */ internalDns?: SettingsAccountEditRequestZoneDefaultsInternalDns; /** 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?: boolean; /** Settings determining the nameservers through which the zone should be available. */ nameservers?: SettingsZoneEditRequestNameservers; /** The time to live (TTL) of the zone's nameserver (NS) records. */ nsTtl?: number; /** Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex. */ secondaryOverrides?: boolean; /** Components of the zone's SOA record. */ soa?: SettingsAccountEditRequestZoneDefaultsSoa; /** Whether the zone mode is a regular or CDN/DNS only zone. */ zoneMode?: SettingsZoneEditRequestZoneMode | (string & {}); } export const PatchSettingZoneRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), flattenAllCnames: S.optional(S.Boolean.pipe(T.Body("flatten_all_cnames"))), foundationDns: S.optional(S.Boolean.pipe(T.Body("foundation_dns"))), internalDns: S.optional( SettingsAccountEditRequestZoneDefaultsInternalDns.pipe( T.Body("internal_dns"), ), ), multiProvider: S.optional(S.Boolean.pipe(T.Body("multi_provider"))), nameservers: S.optional(SettingsZoneEditRequestNameservers), nsTtl: S.optional(S.Number.pipe(T.Body("ns_ttl"))), secondaryOverrides: S.optional( S.Boolean.pipe(T.Body("secondary_overrides")), ), soa: S.optional(SettingsAccountEditRequestZoneDefaultsSoa), zoneMode: S.optional( SettingsZoneEditRequestZoneMode.pipe(T.Body("zone_mode")), ), }) .pipe( T.Http({ method: "PATCH", uri: "/zones/{zone_id}/dns_settings", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PatchSettingZoneRequest", }) as any as S.Schema; export type SettingsZoneEditResponseInternalDns = SettingsAccountGetResponseZoneDefaultsInternalDns; export const SettingsZoneEditResponseInternalDns = SettingsAccountGetResponseZoneDefaultsInternalDns; export type SettingsZoneEditResponseNameserversType = | "cloudflare.standard" | "custom.account" | "custom.tenant" | "custom.zone"; export const SettingsZoneEditResponseNameserversType = /*@__PURE__*/ S.String; export interface SettingsZoneEditResponseNameservers { /** Nameserver type */ type: SettingsZoneEditResponseNameserversType; /** Configured nameserver set to be used for this zone */ nsSet?: number | null; } export const SettingsZoneEditResponseNameservers = /*@__PURE__*/ S.suspend(() => S.Struct({ type: SettingsZoneEditResponseNameserversType, nsSet: S.optional(S.NullOr(S.Number).pipe(T.Body("ns_set"))), }), ).annotate({ identifier: "SettingsZoneEditResponseNameservers", }) as any as S.Schema; export type SettingsZoneEditResponseSoa = SettingsAccountGetResponseZoneDefaultsSoa; export const SettingsZoneEditResponseSoa = SettingsAccountGetResponseZoneDefaultsSoa; export type SettingsZoneEditResponseZoneMode = | "standard" | "cdn_only" | "dns_only"; export const SettingsZoneEditResponseZoneMode = /*@__PURE__*/ S.String; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface PatchSettingZoneResponse { /** 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: boolean; /** Whether to enable Foundation DNS Advanced Nameservers on the zone. */ foundationDns: boolean; /** Settings for this internal zone. */ internalDns: SettingsAccountGetResponseZoneDefaultsInternalDns; /** 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: boolean; /** Settings determining the nameservers through which the zone should be available. */ nameservers: SettingsZoneEditResponseNameservers; /** The time to live (TTL) of the zone's nameserver (NS) records. */ nsTtl: number; /** Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex. */ secondaryOverrides: boolean; /** Components of the zone's SOA record. */ soa: SettingsAccountGetResponseZoneDefaultsSoa; /** Whether the zone mode is a regular or CDN/DNS only zone. */ zoneMode: SettingsZoneEditResponseZoneMode; } export const PatchSettingZoneResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ flattenAllCnames: S.Boolean.pipe(T.Body("flatten_all_cnames")), foundationDns: S.Boolean.pipe(T.Body("foundation_dns")), internalDns: SettingsAccountGetResponseZoneDefaultsInternalDns.pipe( T.Body("internal_dns"), ), multiProvider: S.Boolean.pipe(T.Body("multi_provider")), nameservers: SettingsZoneEditResponseNameservers, nsTtl: S.Number.pipe(T.Body("ns_ttl")), secondaryOverrides: S.Boolean.pipe(T.Body("secondary_overrides")), soa: SettingsAccountGetResponseZoneDefaultsSoa, zoneMode: SettingsZoneEditResponseZoneMode.pipe(T.Body("zone_mode")), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PatchSettingZoneResponse", }) as any as S.Schema; export interface ScanListRecordRequest { /** Identifier. */ zoneId: string; } export const ScanListRecordRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/dns_records/scan/review", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ScanListRecordRequest", }) as any as S.Schema; export type RecordsScanListResultItemARecordMetaShadowedByList = Array; export const RecordsScanListResultItemARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemARecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemARecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemARecord", }) as any as S.Schema; export type RecordsScanListResultItemAAAARecordMetaShadowedByList = Array; export const RecordsScanListResultItemAAAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemAAAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemAAAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemAAAARecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemAAAARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemAAAARecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemAAAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemAAAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeAAAA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemAAAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemAAAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeAAAA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemAAAARecord", }) as any as S.Schema; export type RecordsScanListResultItemCNAMERecordMetaShadowedByList = Array; export const RecordsScanListResultItemCNAMERecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemCNAMERecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemCNAMERecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemCNAMERecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemCNAMERecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemCNAMERecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemCNAMERecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemCNAMERecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeCNAME; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemCNAMERecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemCNAMERecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeCNAME, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemCNAMERecord", }) as any as S.Schema; export type RecordsScanListResultItemMXRecordMetaShadowedByList = Array; export const RecordsScanListResultItemMXRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemMXRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemMXRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemMXRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemMXRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemMXRecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemMXRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemMXRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeMX; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemMXRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemMXRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeMX, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemMXRecord", }) as any as S.Schema; export type RecordsScanListResultItemNSRecordMetaShadowedByList = Array; export const RecordsScanListResultItemNSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemNSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemNSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemNSRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemNSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemNSRecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemNSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemNSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeNS; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemNSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemNSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeNS, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemNSRecord", }) as any as S.Schema; export type RecordsScanListResultItemOpenpgpkeyRecordMetaShadowedByList = Array; export const RecordsScanListResultItemOpenpgpkeyRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemOpenpgpkeyRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemOpenpgpkeyRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemOpenpgpkeyRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanListResultItemOpenpgpkeyRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemOpenpgpkeyRecordMeta", }) as any as S.Schema; export type RecordsScanListResultItemOpenpgpkeyRecordSettings = RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; export const RecordsScanListResultItemOpenpgpkeyRecordSettings = RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; export type RecordsScanListResultItemOpenpgpkeyRecordTagsList = Array; export const RecordsScanListResultItemOpenpgpkeyRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export type RecordsScanListResultItemOpenpgpkeyRecordType = "OPENPGPKEY"; export const RecordsScanListResultItemOpenpgpkeyRecordType = /*@__PURE__*/ S.String; export interface RecordsScanListResultItemOpenpgpkeyRecord { /** Identifier. */ id: string; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment: string; /** A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) */ content: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemOpenpgpkeyRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied: boolean; /** Settings for the DNS record. */ settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags: RecordsScanListResultItemOpenpgpkeyRecordTagsList; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanListResultItemOpenpgpkeyRecordType; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanListResultItemOpenpgpkeyRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, comment: S.String, content: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemOpenpgpkeyRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), name: S.String, proxiable: S.Boolean, proxied: S.Boolean, settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings, tags: RecordsScanListResultItemOpenpgpkeyRecordTagsList, ttl: S.Number, type: RecordsScanListResultItemOpenpgpkeyRecordType, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanListResultItemOpenpgpkeyRecord", }) as any as S.Schema; export type RecordsScanListResultItemPTRRecordMetaShadowedByList = Array; export const RecordsScanListResultItemPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemPTRRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemPTRRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemPTRRecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypePTR; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypePTR, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemPTRRecord", }) as any as S.Schema; export type RecordsScanListResultItemTXTRecordMetaShadowedByList = Array; export const RecordsScanListResultItemTXTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemTXTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemTXTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemTXTRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemTXTRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemTXTRecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemTXTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemTXTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeTXT; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemTXTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemTXTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeTXT, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemTXTRecord", }) as any as S.Schema; export type RecordsScanListResultItemCAARecordMetaShadowedByList = Array; export const RecordsScanListResultItemCAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemCAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemCAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemCAARecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemCAARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemCAARecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemCAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemCAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeCAA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemCAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemCAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeCAA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemCAARecord", }) as any as S.Schema; export type RecordsScanListResultItemCERTRecordMetaShadowedByList = Array; export const RecordsScanListResultItemCERTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemCERTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemCERTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemCERTRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemCERTRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemCERTRecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemCERTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemCERTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeCERT; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemCERTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemCERTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeCERT, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemCERTRecord", }) as any as S.Schema; export type RecordsScanListResultItemDNSKEYRecordMetaShadowedByList = Array; export const RecordsScanListResultItemDNSKEYRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemDNSKEYRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemDNSKEYRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemDNSKEYRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemDNSKEYRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemDNSKEYRecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemDNSKEYRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemDNSKEYRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeDNSKEY; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemDNSKEYRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemDNSKEYRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeDNSKEY, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemDNSKEYRecord", }) as any as S.Schema; export type RecordsScanListResultItemDSRecordMetaShadowedByList = Array; export const RecordsScanListResultItemDSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemDSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemDSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemDSRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemDSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemDSRecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemDSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemDSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeDS; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemDSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemDSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeDS, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemDSRecord", }) as any as S.Schema; export type RecordsScanListResultItemHTTPSRecordMetaShadowedByList = Array; export const RecordsScanListResultItemHTTPSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemHTTPSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemHTTPSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemHTTPSRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemHTTPSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemHTTPSRecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemHTTPSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemHTTPSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeHTTPS; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemHTTPSRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemHTTPSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeHTTPS, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemHTTPSRecord", }) as any as S.Schema; export type RecordsScanListResultItemLOCRecordMetaShadowedByList = Array; export const RecordsScanListResultItemLOCRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemLOCRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemLOCRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemLOCRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemLOCRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemLOCRecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemLOCRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemLOCRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeLOC; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemLOCRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemLOCRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeLOC, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemLOCRecord", }) as any as S.Schema; export type RecordsScanListResultItemNAPTRRecordMetaShadowedByList = Array; export const RecordsScanListResultItemNAPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemNAPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemNAPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemNAPTRRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemNAPTRRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemNAPTRRecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemNAPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemNAPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeNAPTR; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemNAPTRRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemNAPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeNAPTR, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemNAPTRRecord", }) as any as S.Schema; export type RecordsScanListResultItemSMIMEARecordMetaShadowedByList = Array; export const RecordsScanListResultItemSMIMEARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemSMIMEARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemSMIMEARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemSMIMEARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemSMIMEARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemSMIMEARecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemSMIMEARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemSMIMEARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSMIMEA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemSMIMEARecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemSMIMEARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSMIMEA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemSMIMEARecord", }) as any as S.Schema; export type RecordsScanListResultItemSRVRecordMetaShadowedByList = Array; export const RecordsScanListResultItemSRVRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemSRVRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemSRVRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemSRVRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemSRVRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemSRVRecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemSRVRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemSRVRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSRV; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemSRVRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemSRVRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSRV, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemSRVRecord", }) as any as S.Schema; export type RecordsScanListResultItemSSHFPRecordMetaShadowedByList = Array; export const RecordsScanListResultItemSSHFPRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemSSHFPRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemSSHFPRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemSSHFPRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemSSHFPRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemSSHFPRecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemSSHFPRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemSSHFPRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSSHFP; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemSSHFPRecord = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemSSHFPRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSSHFP, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemSSHFPRecord", }) as any as S.Schema; export type RecordsScanListResultItemSVCBRecordMetaShadowedByList = Array; export const RecordsScanListResultItemSVCBRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemSVCBRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemSVCBRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemSVCBRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemSVCBRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemSVCBRecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemSVCBRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemSVCBRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSVCB; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemSVCBRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemSVCBRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSVCB, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemSVCBRecord", }) as any as S.Schema; export type RecordsScanListResultItemTLSARecordMetaShadowedByList = Array; export const RecordsScanListResultItemTLSARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemTLSARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemTLSARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemTLSARecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemTLSARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemTLSARecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemTLSARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemTLSARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeTLSA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemTLSARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemTLSARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeTLSA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemTLSARecord", }) as any as S.Schema; export type RecordsScanListResultItemURIRecordMetaShadowedByList = Array; export const RecordsScanListResultItemURIRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanListResultItemURIRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanListResultItemURIRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanListResultItemURIRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsScanListResultItemURIRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanListResultItemURIRecordMeta", }) as any as S.Schema; export interface RecordsScanListResultItemURIRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanListResultItemURIRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeURI; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsScanListResultItemURIRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanListResultItemURIRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeURI, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsScanListResultItemURIRecord", }) as any as S.Schema; export type RecordsScanListResultItem = | RecordsScanListResultItemARecord | RecordsScanListResultItemAAAARecord | RecordsScanListResultItemCNAMERecord | RecordsScanListResultItemMXRecord | RecordsScanListResultItemNSRecord | RecordsScanListResultItemOpenpgpkeyRecord | RecordsScanListResultItemPTRRecord | RecordsScanListResultItemTXTRecord | RecordsScanListResultItemCAARecord | RecordsScanListResultItemCERTRecord | RecordsScanListResultItemDNSKEYRecord | RecordsScanListResultItemDSRecord | RecordsScanListResultItemHTTPSRecord | RecordsScanListResultItemLOCRecord | RecordsScanListResultItemNAPTRRecord | RecordsScanListResultItemSMIMEARecord | RecordsScanListResultItemSRVRecord | RecordsScanListResultItemSSHFPRecord | RecordsScanListResultItemSVCBRecord | RecordsScanListResultItemTLSARecord | RecordsScanListResultItemURIRecord; export const RecordsScanListResultItem = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "comment", "content", "createdOn", "meta", "modifiedOn", "name", "proxiable", "proxied", "settings", "tags", "ttl", "type", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], ]), ); export type RecordsScanListResultList = Array; export const RecordsScanListResultList = /*@__PURE__*/ S.Array( RecordsScanListResultItem, ) as any as S.Schema; export interface ScanListRecordResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: RecordsScanListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ScanListRecordResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: RecordsScanListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ScanListRecordResponse", }) as any as S.Schema; export interface ScanRecordRequest { /** Identifier. */ zoneId: string; } export const ScanRecordRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "POST", uri: "/zones/{zone_id}/dns_records/scan", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ScanRecordRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ScanRecordResponse { /** Number of DNS records added. */ recsAdded?: number | null; /** Total number of DNS records parsed. */ totalRecordsParsed?: number | null; } export const ScanRecordResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ recsAdded: S.optional(S.NullOr(S.Number).pipe(T.Body("recs_added"))), totalRecordsParsed: S.optional( S.NullOr(S.Number).pipe(T.Body("total_records_parsed")), ), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ScanRecordResponse", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemARecordType = "A"; export const RecordsScanReviewRequestAcceptsItemARecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemARecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemARecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemARecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemARecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A valid IPv4 address. */ content?: string; /** Enables private network routing to the origin. */ privateRouting?: boolean; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemARecordTagsList; } export const RecordsScanReviewRequestAcceptsItemARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemARecordType, comment: S.optional(S.String), content: S.optional(S.String), privateRouting: S.optional(S.Boolean.pipe(T.Body("private_routing"))), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemARecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemARecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemAAAARecordType = "AAAA"; export const RecordsScanReviewRequestAcceptsItemAAAARecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemAAAARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemAAAARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemAAAARecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemAAAARecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemAAAARecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemAAAARecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A valid IPv6 address. */ content?: string; /** Enables private network routing to the origin. */ privateRouting?: boolean; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemAAAARecordTagsList; } export const RecordsScanReviewRequestAcceptsItemAAAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemAAAARecordType, comment: S.optional(S.String), content: S.optional(S.String), privateRouting: S.optional(S.Boolean.pipe(T.Body("private_routing"))), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemAAAARecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemAAAARecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemCNAMERecordType = "CNAME"; export const RecordsScanReviewRequestAcceptsItemCNAMERecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemCNAMERecordSettings = RecordsBatchRequestPostsItemCNAMERecordSettings; export const RecordsScanReviewRequestAcceptsItemCNAMERecordSettings = RecordsBatchRequestPostsItemCNAMERecordSettings; export type RecordsScanReviewRequestAcceptsItemCNAMERecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemCNAMERecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemCNAMERecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemCNAMERecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A valid hostname. Must not match the record's name. */ content?: string; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPostsItemCNAMERecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemCNAMERecordTagsList; } export const RecordsScanReviewRequestAcceptsItemCNAMERecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemCNAMERecordType, comment: S.optional(S.String), content: S.optional(S.String), proxied: S.optional(S.Boolean), settings: S.optional(RecordsBatchRequestPostsItemCNAMERecordSettings), tags: S.optional(RecordsScanReviewRequestAcceptsItemCNAMERecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemCNAMERecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemMXRecordType = "MX"; export const RecordsScanReviewRequestAcceptsItemMXRecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemMXRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemMXRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemMXRecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemMXRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemMXRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemMXRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A valid mail server hostname. */ content?: string; /** Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. */ priority?: number; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemMXRecordTagsList; } export const RecordsScanReviewRequestAcceptsItemMXRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemMXRecordType, comment: S.optional(S.String), content: S.optional(S.String), priority: S.optional(S.Number), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemMXRecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemMXRecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemNSRecordType = "NS"; export const RecordsScanReviewRequestAcceptsItemNSRecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemNSRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemNSRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemNSRecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemNSRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemNSRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemNSRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A valid name server host name. */ content?: string; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemNSRecordTagsList; } export const RecordsScanReviewRequestAcceptsItemNSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemNSRecordType, comment: S.optional(S.String), content: S.optional(S.String), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemNSRecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemNSRecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemDNSRecordsOpenpgpkeyRecordType = "OPENPGPKEY"; export const RecordsScanReviewRequestAcceptsItemDNSRecordsOpenpgpkeyRecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemDNSRecordsOpenpgpkeyRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemDNSRecordsOpenpgpkeyRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemDNSRecordsOpenpgpkeyRecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemDNSRecordsOpenpgpkeyRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemDNSRecordsOpenpgpkeyRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemDNSRecordsOpenpgpkeyRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) */ content?: string; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemDNSRecordsOpenpgpkeyRecordTagsList; } export const RecordsScanReviewRequestAcceptsItemDNSRecordsOpenpgpkeyRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemDNSRecordsOpenpgpkeyRecordType, comment: S.optional(S.String), content: S.optional(S.String), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional( RecordsScanReviewRequestAcceptsItemDNSRecordsOpenpgpkeyRecordTagsList, ), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemDNSRecordsOpenpgpkeyRecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemPTRRecordType = "PTR"; export const RecordsScanReviewRequestAcceptsItemPTRRecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemPTRRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemPTRRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemPTRRecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemPTRRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemPTRRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemPTRRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Domain name pointing to the address. */ content?: string; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemPTRRecordTagsList; } export const RecordsScanReviewRequestAcceptsItemPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemPTRRecordType, comment: S.optional(S.String), content: S.optional(S.String), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemPTRRecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemPTRRecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemTXTRecordType = "TXT"; export const RecordsScanReviewRequestAcceptsItemTXTRecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemTXTRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemTXTRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemTXTRecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemTXTRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemTXTRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemTXTRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Text content for the record. The content must consist of quoted "character strings" (RFC 1035), each with a length of up to 255 bytes. Strings exceeding this allowed maximum length are automatically split. */ content?: string; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemTXTRecordTagsList; } export const RecordsScanReviewRequestAcceptsItemTXTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemTXTRecordType, comment: S.optional(S.String), content: S.optional(S.String), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemTXTRecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemTXTRecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemCAARecordType = "CAA"; export const RecordsScanReviewRequestAcceptsItemCAARecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemCAARecordData = RecordsBatchRequestPostsItemCAARecordData; export const RecordsScanReviewRequestAcceptsItemCAARecordData = RecordsBatchRequestPostsItemCAARecordData; export type RecordsScanReviewRequestAcceptsItemCAARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemCAARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemCAARecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemCAARecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemCAARecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemCAARecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted CAA content. See 'data' to set CAA properties. */ content?: string; /** Components of a CAA record. */ data?: RecordsBatchRequestPostsItemCAARecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemCAARecordTagsList; } export const RecordsScanReviewRequestAcceptsItemCAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemCAARecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemCAARecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemCAARecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemCAARecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemCERTRecordType = "CERT"; export const RecordsScanReviewRequestAcceptsItemCERTRecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemCERTRecordData = RecordsBatchRequestPostsItemCERTRecordData; export const RecordsScanReviewRequestAcceptsItemCERTRecordData = RecordsBatchRequestPostsItemCERTRecordData; export type RecordsScanReviewRequestAcceptsItemCERTRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemCERTRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemCERTRecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemCERTRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemCERTRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemCERTRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted CERT content. See 'data' to set CERT properties. */ content?: string; /** Components of a CERT record. */ data?: RecordsBatchRequestPostsItemCERTRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemCERTRecordTagsList; } export const RecordsScanReviewRequestAcceptsItemCERTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemCERTRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemCERTRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemCERTRecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemCERTRecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemDNSKEYRecordType = "DNSKEY"; export const RecordsScanReviewRequestAcceptsItemDNSKEYRecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemDNSKEYRecordData = RecordsBatchRequestPostsItemDNSKEYRecordData; export const RecordsScanReviewRequestAcceptsItemDNSKEYRecordData = RecordsBatchRequestPostsItemDNSKEYRecordData; export type RecordsScanReviewRequestAcceptsItemDNSKEYRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemDNSKEYRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemDNSKEYRecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemDNSKEYRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemDNSKEYRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemDNSKEYRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted DNSKEY content. See 'data' to set DNSKEY properties. */ content?: string; /** Components of a DNSKEY record. */ data?: RecordsBatchRequestPostsItemDNSKEYRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemDNSKEYRecordTagsList; } export const RecordsScanReviewRequestAcceptsItemDNSKEYRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemDNSKEYRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemDNSKEYRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemDNSKEYRecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemDNSKEYRecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemDSRecordType = "DS"; export const RecordsScanReviewRequestAcceptsItemDSRecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemDSRecordData = RecordsBatchRequestPostsItemDSRecordData; export const RecordsScanReviewRequestAcceptsItemDSRecordData = RecordsBatchRequestPostsItemDSRecordData; export type RecordsScanReviewRequestAcceptsItemDSRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemDSRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemDSRecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemDSRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemDSRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemDSRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted DS content. See 'data' to set DS properties. */ content?: string; /** Components of a DS record. */ data?: RecordsBatchRequestPostsItemDSRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemDSRecordTagsList; } export const RecordsScanReviewRequestAcceptsItemDSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemDSRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemDSRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemDSRecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemDSRecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemHTTPSRecordType = "HTTPS"; export const RecordsScanReviewRequestAcceptsItemHTTPSRecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemHTTPSRecordData = RecordsBatchRequestPostsItemHTTPSRecordData; export const RecordsScanReviewRequestAcceptsItemHTTPSRecordData = RecordsBatchRequestPostsItemHTTPSRecordData; export type RecordsScanReviewRequestAcceptsItemHTTPSRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemHTTPSRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemHTTPSRecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemHTTPSRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemHTTPSRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemHTTPSRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted HTTPS content. See 'data' to set HTTPS properties. */ content?: string; /** Components of a HTTPS record. */ data?: RecordsBatchRequestPostsItemHTTPSRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemHTTPSRecordTagsList; } export const RecordsScanReviewRequestAcceptsItemHTTPSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemHTTPSRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemHTTPSRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemHTTPSRecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemHTTPSRecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemLOCRecordType = "LOC"; export const RecordsScanReviewRequestAcceptsItemLOCRecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemLOCRecordDataLatDirection = | "N" | "S"; export const RecordsScanReviewRequestAcceptsItemLOCRecordDataLatDirection = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemLOCRecordDataLongDirection = | "E" | "W"; export const RecordsScanReviewRequestAcceptsItemLOCRecordDataLongDirection = /*@__PURE__*/ S.String; export interface RecordsScanReviewRequestAcceptsItemLOCRecordData { /** Altitude of location in meters. */ altitude?: number; /** Degrees of latitude. */ latDegrees?: number; /** Latitude direction. */ latDirection?: | RecordsScanReviewRequestAcceptsItemLOCRecordDataLatDirection | (string & {}); /** Minutes of latitude. */ latMinutes?: number; /** Seconds of latitude. */ latSeconds?: number; /** Degrees of longitude. */ longDegrees?: number; /** Longitude direction. */ longDirection?: | RecordsScanReviewRequestAcceptsItemLOCRecordDataLongDirection | (string & {}); /** Minutes of longitude. */ longMinutes?: number; /** Seconds of longitude. */ longSeconds?: number; /** Horizontal precision of location. */ precisionHorz?: number; /** Vertical precision of location. */ precisionVert?: number; /** Size of location in meters. */ size?: number; } export const RecordsScanReviewRequestAcceptsItemLOCRecordData = /*@__PURE__*/ S.suspend(() => S.Struct({ altitude: S.optional(S.Number), latDegrees: S.optional(S.Number.pipe(T.Body("lat_degrees"))), latDirection: S.optional( RecordsScanReviewRequestAcceptsItemLOCRecordDataLatDirection.pipe( T.Body("lat_direction"), ), ), latMinutes: S.optional(S.Number.pipe(T.Body("lat_minutes"))), latSeconds: S.optional(S.Number.pipe(T.Body("lat_seconds"))), longDegrees: S.optional(S.Number.pipe(T.Body("long_degrees"))), longDirection: S.optional( RecordsScanReviewRequestAcceptsItemLOCRecordDataLongDirection.pipe( T.Body("long_direction"), ), ), longMinutes: S.optional(S.Number.pipe(T.Body("long_minutes"))), longSeconds: S.optional(S.Number.pipe(T.Body("long_seconds"))), precisionHorz: S.optional(S.Number.pipe(T.Body("precision_horz"))), precisionVert: S.optional(S.Number.pipe(T.Body("precision_vert"))), size: S.optional(S.Number), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemLOCRecordData", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemLOCRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemLOCRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemLOCRecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemLOCRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemLOCRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemLOCRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted LOC content. See 'data' to set LOC properties. */ content?: string; /** Components of a LOC record. */ data?: RecordsScanReviewRequestAcceptsItemLOCRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemLOCRecordTagsList; } export const RecordsScanReviewRequestAcceptsItemLOCRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemLOCRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsScanReviewRequestAcceptsItemLOCRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemLOCRecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemLOCRecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemNAPTRRecordType = "NAPTR"; export const RecordsScanReviewRequestAcceptsItemNAPTRRecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemNAPTRRecordData = RecordsBatchRequestPostsItemNAPTRRecordData; export const RecordsScanReviewRequestAcceptsItemNAPTRRecordData = RecordsBatchRequestPostsItemNAPTRRecordData; export type RecordsScanReviewRequestAcceptsItemNAPTRRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemNAPTRRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemNAPTRRecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemNAPTRRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemNAPTRRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemNAPTRRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted NAPTR content. See 'data' to set NAPTR properties. */ content?: string; /** Components of a NAPTR record. */ data?: RecordsBatchRequestPostsItemNAPTRRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemNAPTRRecordTagsList; } export const RecordsScanReviewRequestAcceptsItemNAPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemNAPTRRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemNAPTRRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemNAPTRRecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemNAPTRRecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemSMIMEARecordType = "SMIMEA"; export const RecordsScanReviewRequestAcceptsItemSMIMEARecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemSMIMEARecordData = RecordsBatchRequestPostsItemSMIMEARecordData; export const RecordsScanReviewRequestAcceptsItemSMIMEARecordData = RecordsBatchRequestPostsItemSMIMEARecordData; export type RecordsScanReviewRequestAcceptsItemSMIMEARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemSMIMEARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemSMIMEARecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemSMIMEARecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemSMIMEARecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemSMIMEARecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted SMIMEA content. See 'data' to set SMIMEA properties. */ content?: string; /** Components of a SMIMEA record. */ data?: RecordsBatchRequestPostsItemSMIMEARecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemSMIMEARecordTagsList; } export const RecordsScanReviewRequestAcceptsItemSMIMEARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemSMIMEARecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemSMIMEARecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemSMIMEARecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemSMIMEARecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemSRVRecordType = "SRV"; export const RecordsScanReviewRequestAcceptsItemSRVRecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemSRVRecordData = RecordsBatchRequestPostsItemSRVRecordData; export const RecordsScanReviewRequestAcceptsItemSRVRecordData = RecordsBatchRequestPostsItemSRVRecordData; export type RecordsScanReviewRequestAcceptsItemSRVRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemSRVRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemSRVRecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemSRVRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemSRVRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemSRVRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Priority, weight, port, and SRV target. See 'data' for setting the individual component values. */ content?: string; /** Components of a SRV record. */ data?: RecordsBatchRequestPostsItemSRVRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemSRVRecordTagsList; } export const RecordsScanReviewRequestAcceptsItemSRVRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemSRVRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemSRVRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemSRVRecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemSRVRecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemSSHFPRecordType = "SSHFP"; export const RecordsScanReviewRequestAcceptsItemSSHFPRecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemSSHFPRecordData = RecordsBatchRequestPostsItemSSHFPRecordData; export const RecordsScanReviewRequestAcceptsItemSSHFPRecordData = RecordsBatchRequestPostsItemSSHFPRecordData; export type RecordsScanReviewRequestAcceptsItemSSHFPRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemSSHFPRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemSSHFPRecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemSSHFPRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemSSHFPRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemSSHFPRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted SSHFP content. See 'data' to set SSHFP properties. */ content?: string; /** Components of a SSHFP record. */ data?: RecordsBatchRequestPostsItemSSHFPRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemSSHFPRecordTagsList; } export const RecordsScanReviewRequestAcceptsItemSSHFPRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemSSHFPRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemSSHFPRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemSSHFPRecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemSSHFPRecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemSVCBRecordType = "SVCB"; export const RecordsScanReviewRequestAcceptsItemSVCBRecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemSVCBRecordData = RecordsBatchRequestPostsItemHTTPSRecordData; export const RecordsScanReviewRequestAcceptsItemSVCBRecordData = RecordsBatchRequestPostsItemHTTPSRecordData; export type RecordsScanReviewRequestAcceptsItemSVCBRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemSVCBRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemSVCBRecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemSVCBRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemSVCBRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemSVCBRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted SVCB content. See 'data' to set SVCB properties. */ content?: string; /** Components of a SVCB record. */ data?: RecordsBatchRequestPostsItemHTTPSRecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemSVCBRecordTagsList; } export const RecordsScanReviewRequestAcceptsItemSVCBRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemSVCBRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemHTTPSRecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemSVCBRecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemSVCBRecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemTLSARecordType = "TLSA"; export const RecordsScanReviewRequestAcceptsItemTLSARecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemTLSARecordData = RecordsBatchRequestPostsItemSMIMEARecordData; export const RecordsScanReviewRequestAcceptsItemTLSARecordData = RecordsBatchRequestPostsItemSMIMEARecordData; export type RecordsScanReviewRequestAcceptsItemTLSARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemTLSARecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemTLSARecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemTLSARecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemTLSARecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemTLSARecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted TLSA content. See 'data' to set TLSA properties. */ content?: string; /** Components of a TLSA record. */ data?: RecordsBatchRequestPostsItemSMIMEARecordData; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemTLSARecordTagsList; } export const RecordsScanReviewRequestAcceptsItemTLSARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemTLSARecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemSMIMEARecordData), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemTLSARecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemTLSARecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItemURIRecordType = "URI"; export const RecordsScanReviewRequestAcceptsItemURIRecordType = /*@__PURE__*/ S.String; export type RecordsScanReviewRequestAcceptsItemURIRecordData = RecordsBatchRequestPostsItemURIRecordData; export const RecordsScanReviewRequestAcceptsItemURIRecordData = RecordsBatchRequestPostsItemURIRecordData; export type RecordsScanReviewRequestAcceptsItemURIRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewRequestAcceptsItemURIRecordSettings = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewRequestAcceptsItemURIRecordTagsList = Array; export const RecordsScanReviewRequestAcceptsItemURIRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export interface RecordsScanReviewRequestAcceptsItemURIRecord { /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewRequestAcceptsItemURIRecordType; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** Formatted URI content. See 'data' to set URI properties. */ content?: string; /** Components of a URI record. */ data?: RecordsBatchRequestPostsItemURIRecordData; /** Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. */ priority?: number; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsScanReviewRequestAcceptsItemURIRecordTagsList; } export const RecordsScanReviewRequestAcceptsItemURIRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, ttl: S.Number, type: RecordsScanReviewRequestAcceptsItemURIRecordType, comment: S.optional(S.String), content: S.optional(S.String), data: S.optional(RecordsBatchRequestPostsItemURIRecordData), priority: S.optional(S.Number), proxied: S.optional(S.Boolean), settings: S.optional( RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings, ), tags: S.optional(RecordsScanReviewRequestAcceptsItemURIRecordTagsList), }), ).annotate({ identifier: "RecordsScanReviewRequestAcceptsItemURIRecord", }) as any as S.Schema; export type RecordsScanReviewRequestAcceptsItem = | RecordsScanReviewRequestAcceptsItemARecord | RecordsScanReviewRequestAcceptsItemAAAARecord | RecordsScanReviewRequestAcceptsItemCNAMERecord | RecordsScanReviewRequestAcceptsItemMXRecord | RecordsScanReviewRequestAcceptsItemNSRecord | RecordsScanReviewRequestAcceptsItemDNSRecordsOpenpgpkeyRecord | RecordsScanReviewRequestAcceptsItemPTRRecord | RecordsScanReviewRequestAcceptsItemTXTRecord | RecordsScanReviewRequestAcceptsItemCAARecord | RecordsScanReviewRequestAcceptsItemCERTRecord | RecordsScanReviewRequestAcceptsItemDNSKEYRecord | RecordsScanReviewRequestAcceptsItemDSRecord | RecordsScanReviewRequestAcceptsItemHTTPSRecord | RecordsScanReviewRequestAcceptsItemLOCRecord | RecordsScanReviewRequestAcceptsItemNAPTRRecord | RecordsScanReviewRequestAcceptsItemSMIMEARecord | RecordsScanReviewRequestAcceptsItemSRVRecord | RecordsScanReviewRequestAcceptsItemSSHFPRecord | RecordsScanReviewRequestAcceptsItemSVCBRecord | RecordsScanReviewRequestAcceptsItemTLSARecord | RecordsScanReviewRequestAcceptsItemURIRecord; export const RecordsScanReviewRequestAcceptsItem = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ [ "name", "ttl", "type", "comment", "content", "privateRouting", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "privateRouting", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "priority", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "proxied", "settings", "tags", ], [ "name", "ttl", "type", "comment", "content", "data", "priority", "proxied", "settings", "tags", ], ]), ); export type RecordsScanReviewRequestAcceptsList = Array; export const RecordsScanReviewRequestAcceptsList = /*@__PURE__*/ S.Array( RecordsScanReviewRequestAcceptsItem, ) as any as S.Schema; export type RecordsScanReviewRequestRejectsItem = RecordsBatchRequestDeletesItem; export const RecordsScanReviewRequestRejectsItem = RecordsBatchRequestDeletesItem; export type RecordsScanReviewRequestRejectsList = Array; export const RecordsScanReviewRequestRejectsList = /*@__PURE__*/ S.Array( RecordsBatchRequestDeletesItem, ) as any as S.Schema; export interface ScanReviewRecordRequest { /** Identifier. */ zoneId: string; accepts?: RecordsScanReviewRequestAcceptsList; rejects?: RecordsScanReviewRequestRejectsList; } export const ScanReviewRecordRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), accepts: S.optional(RecordsScanReviewRequestAcceptsList), rejects: S.optional(RecordsScanReviewRequestRejectsList), }) .pipe( T.Http({ method: "POST", uri: "/zones/{zone_id}/dns_records/scan/review", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ScanReviewRecordRequest", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemARecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemARecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemARecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemARecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemAAAARecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemAAAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemAAAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemAAAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemAAAARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemAAAARecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemAAAARecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemAAAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemAAAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemAAAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemAAAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemAAAARecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemCNAMERecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemCNAMERecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemCNAMERecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemCNAMERecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemCNAMERecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemCNAMERecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemCNAMERecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemCNAMERecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemCNAMERecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemCNAMERecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemCNAMERecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemCNAMERecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemMXRecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemMXRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemMXRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemMXRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemMXRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemMXRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemMXRecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemMXRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemMXRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemMXRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemMXRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemMXRecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemNSRecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemNSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemNSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemNSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemNSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemNSRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemNSRecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemNSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemNSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemNSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemNSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemNSRecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordMeta", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordSettings = RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; export const RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordSettings = RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; export type RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordTagsList = Array; export const RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordType = "OPENPGPKEY"; export const RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordType = /*@__PURE__*/ S.String; export interface RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecord { /** Identifier. */ id: string; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment: string; /** A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) */ content: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied: boolean; /** Settings for the DNS record. */ settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags: RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordTagsList; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordType; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, comment: S.String, content: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), name: S.String, proxiable: S.Boolean, proxied: S.Boolean, settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings, tags: RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordTagsList, ttl: S.Number, type: RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecordType, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemPTRRecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemPTRRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemPTRRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemPTRRecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemPTRRecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemTXTRecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemTXTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemTXTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemTXTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemTXTRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemTXTRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemTXTRecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemTXTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemTXTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemTXTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemTXTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemTXTRecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemCAARecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemCAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemCAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemCAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemCAARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemCAARecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemCAARecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemCAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemCAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemCAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemCAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemCAARecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemCERTRecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemCERTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemCERTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemCERTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemCERTRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemCERTRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemCERTRecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemCERTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemCERTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemCERTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemCERTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemCERTRecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemDNSKEYRecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemDNSKEYRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemDNSKEYRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemDNSKEYRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemDNSKEYRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemDNSKEYRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemDNSKEYRecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemDNSKEYRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemDNSKEYRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemDNSKEYRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemDNSKEYRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemDNSKEYRecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemDSRecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemDSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemDSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemDSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemDSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemDSRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemDSRecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemDSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemDSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemDSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemDSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemDSRecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemHTTPSRecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemHTTPSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemHTTPSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemHTTPSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemHTTPSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemHTTPSRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemHTTPSRecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemHTTPSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemHTTPSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemHTTPSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemHTTPSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemHTTPSRecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemLOCRecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemLOCRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemLOCRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemLOCRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemLOCRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemLOCRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemLOCRecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemLOCRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemLOCRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemLOCRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemLOCRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemLOCRecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemNAPTRRecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemNAPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemNAPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemNAPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemNAPTRRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemNAPTRRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemNAPTRRecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemNAPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemNAPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemNAPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemNAPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemNAPTRRecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemSMIMEARecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemSMIMEARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemSMIMEARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemSMIMEARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemSMIMEARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemSMIMEARecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemSMIMEARecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemSMIMEARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemSMIMEARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemSMIMEARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemSMIMEARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemSMIMEARecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemSRVRecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemSRVRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemSRVRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemSRVRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemSRVRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemSRVRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemSRVRecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemSRVRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemSRVRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemSRVRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemSRVRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemSRVRecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemSSHFPRecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemSSHFPRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemSSHFPRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemSSHFPRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemSSHFPRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemSSHFPRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemSSHFPRecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemSSHFPRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemSSHFPRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemSSHFPRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemSSHFPRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemSSHFPRecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemSVCBRecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemSVCBRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemSVCBRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemSVCBRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemSVCBRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemSVCBRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemSVCBRecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemSVCBRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemSVCBRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemSVCBRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemSVCBRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemSVCBRecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemTLSARecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemTLSARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemTLSARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemTLSARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemTLSARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemTLSARecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemTLSARecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemTLSARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemTLSARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemTLSARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemTLSARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemTLSARecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItemURIRecordMetaShadowedByList = Array; export const RecordsScanReviewResponseAcceptsItemURIRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemURIRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsScanReviewResponseAcceptsItemURIRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsScanReviewResponseAcceptsItemURIRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr( RecordsScanReviewResponseAcceptsItemURIRecordMetaShadowedByList, ).pipe(T.Body("shadowed_by")), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemURIRecordMeta", }) as any as S.Schema; export interface RecordsScanReviewResponseAcceptsItemURIRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsScanReviewResponseAcceptsItemURIRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsScanReviewResponseAcceptsItemURIRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsScanReviewResponseAcceptsItemURIRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsScanReviewResponseAcceptsItemURIRecord", }) as any as S.Schema; export type RecordsScanReviewResponseAcceptsItem = | RecordsScanReviewResponseAcceptsItemARecord | RecordsScanReviewResponseAcceptsItemAAAARecord | RecordsScanReviewResponseAcceptsItemCNAMERecord | RecordsScanReviewResponseAcceptsItemMXRecord | RecordsScanReviewResponseAcceptsItemNSRecord | RecordsScanReviewResponseAcceptsItemOpenpgpkeyRecord | RecordsScanReviewResponseAcceptsItemPTRRecord | RecordsScanReviewResponseAcceptsItemTXTRecord | RecordsScanReviewResponseAcceptsItemCAARecord | RecordsScanReviewResponseAcceptsItemCERTRecord | RecordsScanReviewResponseAcceptsItemDNSKEYRecord | RecordsScanReviewResponseAcceptsItemDSRecord | RecordsScanReviewResponseAcceptsItemHTTPSRecord | RecordsScanReviewResponseAcceptsItemLOCRecord | RecordsScanReviewResponseAcceptsItemNAPTRRecord | RecordsScanReviewResponseAcceptsItemSMIMEARecord | RecordsScanReviewResponseAcceptsItemSRVRecord | RecordsScanReviewResponseAcceptsItemSSHFPRecord | RecordsScanReviewResponseAcceptsItemSVCBRecord | RecordsScanReviewResponseAcceptsItemTLSARecord | RecordsScanReviewResponseAcceptsItemURIRecord; export const RecordsScanReviewResponseAcceptsItem = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "comment", "content", "createdOn", "meta", "modifiedOn", "name", "proxiable", "proxied", "settings", "tags", "ttl", "type", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", ], ]), ); export type RecordsScanReviewResponseAcceptsList = Array; export const RecordsScanReviewResponseAcceptsList = /*@__PURE__*/ S.Array( RecordsScanReviewResponseAcceptsItem, ) as any as S.Schema; export type RecordsScanReviewResponseRejectsList = Array; export const RecordsScanReviewResponseRejectsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ScanReviewRecordResponse { accepts?: RecordsScanReviewResponseAcceptsList | null; rejects?: RecordsScanReviewResponseRejectsList | null; } export const ScanReviewRecordResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ accepts: S.optional(S.NullOr(RecordsScanReviewResponseAcceptsList)), rejects: S.optional(S.NullOr(RecordsScanReviewResponseRejectsList)), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ScanReviewRecordResponse", }) as any as S.Schema; export interface ScanTriggerRecordRequest { /** Identifier. */ zoneId: string; } export const ScanTriggerRecordRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), }) .pipe( T.Http({ method: "POST", uri: "/zones/{zone_id}/dns_records/scan/trigger", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ScanTriggerRecordRequest", }) as any as S.Schema; export interface ScanTriggerRecordResponse {} export const ScanTriggerRecordResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ScanTriggerRecordResponse", }) as any as S.Schema; export type RecordsUpdateRequestType = | "A" | "AAAA" | "CNAME" | "MX" | "NS" | "OPENPGPKEY" | "PTR" | "TXT" | "CAA" | "CERT" | "DNSKEY" | "DS" | "HTTPS" | "LOC" | "NAPTR" | "SMIMEA" | "SRV" | "SSHFP" | "SVCB" | "TLSA" | "URI"; export const RecordsUpdateRequestType = /*@__PURE__*/ S.String; export type RecordsUpdateRequestSettingsARecord = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export const RecordsUpdateRequestSettingsARecord = RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings; export type RecordsUpdateRequestSettingsCNAMERecord = RecordsBatchRequestPostsItemCNAMERecordSettings; export const RecordsUpdateRequestSettingsCNAMERecord = RecordsBatchRequestPostsItemCNAMERecordSettings; export type RecordsUpdateRequestSettings = | RecordsBatchRequestPatchesItemOpenpgpkeyRecordSettings | RecordsBatchRequestPostsItemCNAMERecordSettings; export const RecordsUpdateRequestSettings = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["ipv4Only", "ipv6Only"], ["flattenCname", "ipv4Only", "ipv6Only"], ]), ); export type RecordsUpdateRequestTagsList = Array; export const RecordsUpdateRequestTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export type RecordsUpdateRequestDataCAARecord = RecordsBatchRequestPostsItemCAARecordData; export const RecordsUpdateRequestDataCAARecord = RecordsBatchRequestPostsItemCAARecordData; export type RecordsUpdateRequestDataCERTRecord = RecordsBatchRequestPostsItemCERTRecordData; export const RecordsUpdateRequestDataCERTRecord = RecordsBatchRequestPostsItemCERTRecordData; export type RecordsUpdateRequestDataDNSKEYRecord = RecordsBatchRequestPostsItemDNSKEYRecordData; export const RecordsUpdateRequestDataDNSKEYRecord = RecordsBatchRequestPostsItemDNSKEYRecordData; export type RecordsUpdateRequestDataDSRecord = RecordsBatchRequestPostsItemDSRecordData; export const RecordsUpdateRequestDataDSRecord = RecordsBatchRequestPostsItemDSRecordData; export type RecordsUpdateRequestDataHTTPSRecord = RecordsBatchRequestPostsItemHTTPSRecordData; export const RecordsUpdateRequestDataHTTPSRecord = RecordsBatchRequestPostsItemHTTPSRecordData; export type RecordsUpdateRequestDataLOCRecordLatDirection = "N" | "S"; export const RecordsUpdateRequestDataLOCRecordLatDirection = /*@__PURE__*/ S.String; export type RecordsUpdateRequestDataLOCRecordLongDirection = "E" | "W"; export const RecordsUpdateRequestDataLOCRecordLongDirection = /*@__PURE__*/ S.String; export interface RecordsUpdateRequestDataLOCRecord { /** Altitude of location in meters. */ altitude?: number; /** Degrees of latitude. */ latDegrees?: number; /** Latitude direction. */ latDirection?: RecordsUpdateRequestDataLOCRecordLatDirection | (string & {}); /** Minutes of latitude. */ latMinutes?: number; /** Seconds of latitude. */ latSeconds?: number; /** Degrees of longitude. */ longDegrees?: number; /** Longitude direction. */ longDirection?: | RecordsUpdateRequestDataLOCRecordLongDirection | (string & {}); /** Minutes of longitude. */ longMinutes?: number; /** Seconds of longitude. */ longSeconds?: number; /** Horizontal precision of location. */ precisionHorz?: number; /** Vertical precision of location. */ precisionVert?: number; /** Size of location in meters. */ size?: number; } export const RecordsUpdateRequestDataLOCRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ altitude: S.optional(S.Number), latDegrees: S.optional(S.Number.pipe(T.Body("lat_degrees"))), latDirection: S.optional( RecordsUpdateRequestDataLOCRecordLatDirection.pipe( T.Body("lat_direction"), ), ), latMinutes: S.optional(S.Number.pipe(T.Body("lat_minutes"))), latSeconds: S.optional(S.Number.pipe(T.Body("lat_seconds"))), longDegrees: S.optional(S.Number.pipe(T.Body("long_degrees"))), longDirection: S.optional( RecordsUpdateRequestDataLOCRecordLongDirection.pipe( T.Body("long_direction"), ), ), longMinutes: S.optional(S.Number.pipe(T.Body("long_minutes"))), longSeconds: S.optional(S.Number.pipe(T.Body("long_seconds"))), precisionHorz: S.optional(S.Number.pipe(T.Body("precision_horz"))), precisionVert: S.optional(S.Number.pipe(T.Body("precision_vert"))), size: S.optional(S.Number), }), ).annotate({ identifier: "RecordsUpdateRequestDataLOCRecord", }) as any as S.Schema; export type RecordsUpdateRequestDataNAPTRRecord = RecordsBatchRequestPostsItemNAPTRRecordData; export const RecordsUpdateRequestDataNAPTRRecord = RecordsBatchRequestPostsItemNAPTRRecordData; export type RecordsUpdateRequestDataSMIMEARecord = RecordsBatchRequestPostsItemSMIMEARecordData; export const RecordsUpdateRequestDataSMIMEARecord = RecordsBatchRequestPostsItemSMIMEARecordData; export type RecordsUpdateRequestDataSRVRecord = RecordsBatchRequestPostsItemSRVRecordData; export const RecordsUpdateRequestDataSRVRecord = RecordsBatchRequestPostsItemSRVRecordData; export type RecordsUpdateRequestDataSSHFPRecord = RecordsBatchRequestPostsItemSSHFPRecordData; export const RecordsUpdateRequestDataSSHFPRecord = RecordsBatchRequestPostsItemSSHFPRecordData; export type RecordsUpdateRequestDataURIRecord = RecordsBatchRequestPostsItemURIRecordData; export const RecordsUpdateRequestDataURIRecord = RecordsBatchRequestPostsItemURIRecordData; export type RecordsUpdateRequestData = | RecordsBatchRequestPostsItemCAARecordData | RecordsBatchRequestPostsItemCERTRecordData | RecordsBatchRequestPostsItemDNSKEYRecordData | RecordsBatchRequestPostsItemDSRecordData | RecordsBatchRequestPostsItemHTTPSRecordData | RecordsUpdateRequestDataLOCRecord | RecordsBatchRequestPostsItemNAPTRRecordData | RecordsBatchRequestPostsItemSMIMEARecordData | RecordsBatchRequestPostsItemSRVRecordData | RecordsBatchRequestPostsItemSSHFPRecordData | RecordsBatchRequestPostsItemURIRecordData; export const RecordsUpdateRequestData = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["flags", "tag", "value"], ["algorithm", "certificate", "keyTag", "type"], ["algorithm", "flags", "protocol", "publicKey"], ["algorithm", "digest", "digestType", "keyTag"], ["priority", "target", "value"], [ "altitude", "latDegrees", "latDirection", "latMinutes", "latSeconds", "longDegrees", "longDirection", "longMinutes", "longSeconds", "precisionHorz", "precisionVert", "size", ], ["flags", "order", "preference", "regex", "replacement", "service"], ["certificate", "matchingType", "selector", "usage"], ["port", "priority", "target", "weight"], ["algorithm", "fingerprint", "type"], ["target", "weight"], ]), ); export interface UpdateRecordRequest { /** Identifier. */ zoneId: string; /** Identifier. */ dnsRecordId: string; /** Whether to include shadow metadata in the `meta` field of each record in the response. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ includeShadowMetadata?: boolean; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsUpdateRequestType | (string & {}); /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment?: string; /** A valid IPv4 address. */ content?: string; /** Enables private network routing to the origin. */ privateRouting?: boolean; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied?: boolean; /** Settings for the DNS record. */ settings?: RecordsUpdateRequestSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags?: RecordsUpdateRequestTagsList; /** Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. */ priority?: number; /** Components of a CAA record. */ data?: RecordsUpdateRequestData; } export const UpdateRecordRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), dnsRecordId: S.String.pipe(T.Label("dns_record_id")), includeShadowMetadata: S.optional( S.Boolean.pipe(T.Query("include_shadow_metadata")), ), name: S.String, ttl: S.Number, type: RecordsUpdateRequestType, comment: S.optional(S.String), content: S.optional(S.String), privateRouting: S.optional(S.Boolean.pipe(T.Body("private_routing"))), proxied: S.optional(S.Boolean), settings: S.optional(RecordsUpdateRequestSettings), tags: S.optional(RecordsUpdateRequestTagsList), priority: S.optional(S.Number), data: S.optional(RecordsUpdateRequestData), }) .pipe( T.Http({ method: "PUT", uri: "/zones/{zone_id}/dns_records/{dns_record_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateRecordRequest", }) as any as S.Schema; export type RecordsUpdateResultARecordMetaShadowedByList = Array; export const RecordsUpdateResultARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultARecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultARecord", }) as any as S.Schema; export type RecordsUpdateResultAAAARecordMetaShadowedByList = Array; export const RecordsUpdateResultAAAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultAAAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultAAAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultAAAARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultAAAARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultAAAARecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultAAAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultAAAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeAAAA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultAAAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultAAAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeAAAA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultAAAARecord", }) as any as S.Schema; export type RecordsUpdateResultCNAMERecordMetaShadowedByList = Array; export const RecordsUpdateResultCNAMERecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultCNAMERecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultCNAMERecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultCNAMERecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultCNAMERecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultCNAMERecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultCNAMERecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultCNAMERecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeCNAME; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultCNAMERecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultCNAMERecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeCNAME, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultCNAMERecord", }) as any as S.Schema; export type RecordsUpdateResultMXRecordMetaShadowedByList = Array; export const RecordsUpdateResultMXRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultMXRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultMXRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultMXRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultMXRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultMXRecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultMXRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultMXRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeMX; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultMXRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultMXRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeMX, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultMXRecord", }) as any as S.Schema; export type RecordsUpdateResultNSRecordMetaShadowedByList = Array; export const RecordsUpdateResultNSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultNSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultNSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultNSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultNSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultNSRecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultNSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultNSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeNS; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultNSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultNSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeNS, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultNSRecord", }) as any as S.Schema; export type RecordsUpdateResultOpenpgpkeyRecordMetaShadowedByList = Array; export const RecordsUpdateResultOpenpgpkeyRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultOpenpgpkeyRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultOpenpgpkeyRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultOpenpgpkeyRecordMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultOpenpgpkeyRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultOpenpgpkeyRecordMeta", }) as any as S.Schema; export type RecordsUpdateResultOpenpgpkeyRecordSettings = RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; export const RecordsUpdateResultOpenpgpkeyRecordSettings = RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; export type RecordsUpdateResultOpenpgpkeyRecordTagsList = Array; export const RecordsUpdateResultOpenpgpkeyRecordTagsList = /*@__PURE__*/ S.Array( S.Unknown, ) as any as S.Schema; export type RecordsUpdateResultOpenpgpkeyRecordType = "OPENPGPKEY"; export const RecordsUpdateResultOpenpgpkeyRecordType = /*@__PURE__*/ S.String; export interface RecordsUpdateResultOpenpgpkeyRecord { /** Identifier. */ id: string; /** Comments or notes about the DNS record. This field has no effect on DNS responses. */ comment: string; /** A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) */ content: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultOpenpgpkeyRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Complete DNS record name, including the zone name, in Punycode. */ name: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** Whether the record is receiving the performance and security benefits of Cloudflare. */ proxied: boolean; /** Settings for the DNS record. */ settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings; /** Custom tags for the DNS record. This field has no effect on DNS responses. */ tags: RecordsUpdateResultOpenpgpkeyRecordTagsList; /** Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. */ ttl: number; /** Record type. */ type: RecordsUpdateResultOpenpgpkeyRecordType; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; } export const RecordsUpdateResultOpenpgpkeyRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, comment: S.String, content: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultOpenpgpkeyRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), name: S.String, proxiable: S.Boolean, proxied: S.Boolean, settings: RecordsBatchResponseDeletesItemOpenpgpkeyRecordSettings, tags: RecordsUpdateResultOpenpgpkeyRecordTagsList, ttl: S.Number, type: RecordsUpdateResultOpenpgpkeyRecordType, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), }), ).annotate({ identifier: "RecordsUpdateResultOpenpgpkeyRecord", }) as any as S.Schema; export type RecordsUpdateResultPTRRecordMetaShadowedByList = Array; export const RecordsUpdateResultPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultPTRRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultPTRRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultPTRRecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypePTR; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypePTR, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultPTRRecord", }) as any as S.Schema; export type RecordsUpdateResultTXTRecordMetaShadowedByList = Array; export const RecordsUpdateResultTXTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultTXTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultTXTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultTXTRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultTXTRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultTXTRecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultTXTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultTXTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeTXT; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultTXTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultTXTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeTXT, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultTXTRecord", }) as any as S.Schema; export type RecordsUpdateResultCAARecordMetaShadowedByList = Array; export const RecordsUpdateResultCAARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultCAARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultCAARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultCAARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultCAARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultCAARecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultCAARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultCAARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeCAA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultCAARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultCAARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeCAA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultCAARecord", }) as any as S.Schema; export type RecordsUpdateResultCERTRecordMetaShadowedByList = Array; export const RecordsUpdateResultCERTRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultCERTRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultCERTRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultCERTRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultCERTRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultCERTRecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultCERTRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultCERTRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeCERT; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultCERTRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultCERTRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeCERT, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultCERTRecord", }) as any as S.Schema; export type RecordsUpdateResultDNSKEYRecordMetaShadowedByList = Array; export const RecordsUpdateResultDNSKEYRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultDNSKEYRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultDNSKEYRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultDNSKEYRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultDNSKEYRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultDNSKEYRecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultDNSKEYRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultDNSKEYRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeDNSKEY; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultDNSKEYRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultDNSKEYRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeDNSKEY, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultDNSKEYRecord", }) as any as S.Schema; export type RecordsUpdateResultDSRecordMetaShadowedByList = Array; export const RecordsUpdateResultDSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultDSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultDSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultDSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultDSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultDSRecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultDSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultDSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeDS; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultDSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultDSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeDS, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultDSRecord", }) as any as S.Schema; export type RecordsUpdateResultHTTPSRecordMetaShadowedByList = Array; export const RecordsUpdateResultHTTPSRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultHTTPSRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultHTTPSRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultHTTPSRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultHTTPSRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultHTTPSRecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultHTTPSRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultHTTPSRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeHTTPS; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultHTTPSRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultHTTPSRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeHTTPS, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultHTTPSRecord", }) as any as S.Schema; export type RecordsUpdateResultLOCRecordMetaShadowedByList = Array; export const RecordsUpdateResultLOCRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultLOCRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultLOCRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultLOCRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultLOCRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultLOCRecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultLOCRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultLOCRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeLOC; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultLOCRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultLOCRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeLOC, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultLOCRecord", }) as any as S.Schema; export type RecordsUpdateResultNAPTRRecordMetaShadowedByList = Array; export const RecordsUpdateResultNAPTRRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultNAPTRRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultNAPTRRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultNAPTRRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultNAPTRRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultNAPTRRecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultNAPTRRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultNAPTRRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeNAPTR; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultNAPTRRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultNAPTRRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeNAPTR, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultNAPTRRecord", }) as any as S.Schema; export type RecordsUpdateResultSMIMEARecordMetaShadowedByList = Array; export const RecordsUpdateResultSMIMEARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultSMIMEARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultSMIMEARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultSMIMEARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultSMIMEARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultSMIMEARecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultSMIMEARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultSMIMEARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSMIMEA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultSMIMEARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultSMIMEARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSMIMEA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultSMIMEARecord", }) as any as S.Schema; export type RecordsUpdateResultSRVRecordMetaShadowedByList = Array; export const RecordsUpdateResultSRVRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultSRVRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultSRVRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultSRVRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultSRVRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultSRVRecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultSRVRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultSRVRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSRV; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultSRVRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultSRVRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSRV, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultSRVRecord", }) as any as S.Schema; export type RecordsUpdateResultSSHFPRecordMetaShadowedByList = Array; export const RecordsUpdateResultSSHFPRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultSSHFPRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultSSHFPRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultSSHFPRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultSSHFPRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultSSHFPRecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultSSHFPRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultSSHFPRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSSHFP; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultSSHFPRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultSSHFPRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSSHFP, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultSSHFPRecord", }) as any as S.Schema; export type RecordsUpdateResultSVCBRecordMetaShadowedByList = Array; export const RecordsUpdateResultSVCBRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultSVCBRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultSVCBRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultSVCBRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultSVCBRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultSVCBRecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultSVCBRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultSVCBRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeSVCB; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultSVCBRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultSVCBRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeSVCB, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultSVCBRecord", }) as any as S.Schema; export type RecordsUpdateResultTLSARecordMetaShadowedByList = Array; export const RecordsUpdateResultTLSARecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultTLSARecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultTLSARecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultTLSARecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultTLSARecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultTLSARecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultTLSARecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultTLSARecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeTLSA; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultTLSARecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultTLSARecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeTLSA, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultTLSARecord", }) as any as S.Schema; export type RecordsUpdateResultURIRecordMetaShadowedByList = Array; export const RecordsUpdateResultURIRecordMetaShadowedByList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RecordsUpdateResultURIRecordMeta { /** Whether this glue record is not served because a shallower NS delegation takes precedence over the deeper delegation that needs it. Present only when true; reachable glue carries only `is_glue`. See [Unreachable glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#unreachable-glue-records). */ deadGlue?: boolean | null; /** Whether this A or AAAA record is glue for a subdomain NS delegation. See [Glue records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records#glue-records). */ isGlue?: boolean | null; /** IDs of the NS records that shadow this record. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedBy?: RecordsUpdateResultURIRecordMetaShadowedByList | null; /** Number of records shadowed by this NS delegation. See [Shadowed records](https://developers.cloudflare.com/dns/manage-dns-records/reference/shadowed-records). */ shadowedRecordsCount?: number | null; } export const RecordsUpdateResultURIRecordMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ deadGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("dead_glue"))), isGlue: S.optional(S.NullOr(S.Boolean).pipe(T.Body("is_glue"))), shadowedBy: S.optional( S.NullOr(RecordsUpdateResultURIRecordMetaShadowedByList).pipe( T.Body("shadowed_by"), ), ), shadowedRecordsCount: S.optional( S.NullOr(S.Number).pipe(T.Body("shadowed_records_count")), ), }), ).annotate({ identifier: "RecordsUpdateResultURIRecordMeta", }) as any as S.Schema; export interface RecordsUpdateResultURIRecord { /** Identifier. */ id: string; /** When the record was created. */ createdOn: string; /** Extra Cloudflare-specific metadata about the record. */ meta: RecordsUpdateResultURIRecordMeta; /** When the record was last modified. */ modifiedOn: string; /** Whether the record can be proxied by Cloudflare or not. */ proxiable: boolean; /** When the record comment was last modified. Omitted if there is no comment. */ commentModifiedOn?: string | null; /** When the record tags were last modified. Omitted if there are no tags. */ tagsModifiedOn?: string | null; name: string; type: DnsRecordTypeURI; ttl: number; content?: string | null; comment?: string | null; proxied?: boolean | null; priority?: number | null; tags?: DnsRecordTagsList | null; settings?: unknown | null; data?: unknown | null; } export const RecordsUpdateResultURIRecord = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, createdOn: S.String.pipe(T.Body("created_on")), meta: RecordsUpdateResultURIRecordMeta, modifiedOn: S.String.pipe(T.Body("modified_on")), proxiable: S.Boolean, commentModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("comment_modified_on")), ), tagsModifiedOn: S.optional( S.NullOr(S.String).pipe(T.Body("tags_modified_on")), ), name: S.String, type: DnsRecordTypeURI, ttl: S.Number, content: S.optional(S.NullOr(S.String)), comment: S.optional(S.NullOr(S.String)), proxied: S.optional(S.NullOr(S.Boolean)), priority: S.optional(S.NullOr(S.Number)), tags: S.optional(S.NullOr(DnsRecordTagsList)), settings: S.optional(S.NullOr(S.Unknown)), data: S.optional(S.NullOr(S.Unknown)), }), ).annotate({ identifier: "RecordsUpdateResultURIRecord", }) as any as S.Schema; export type RecordsUpdateResult = | RecordsUpdateResultARecord | RecordsUpdateResultAAAARecord | RecordsUpdateResultCNAMERecord | RecordsUpdateResultMXRecord | RecordsUpdateResultNSRecord | RecordsUpdateResultOpenpgpkeyRecord | RecordsUpdateResultPTRRecord | RecordsUpdateResultTXTRecord | RecordsUpdateResultCAARecord | RecordsUpdateResultCERTRecord | RecordsUpdateResultDNSKEYRecord | RecordsUpdateResultDSRecord | RecordsUpdateResultHTTPSRecord | RecordsUpdateResultLOCRecord | RecordsUpdateResultNAPTRRecord | RecordsUpdateResultSMIMEARecord | RecordsUpdateResultSRVRecord | RecordsUpdateResultSSHFPRecord | RecordsUpdateResultSVCBRecord | RecordsUpdateResultTLSARecord | RecordsUpdateResultURIRecord; export const RecordsUpdateResult = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "comment", "content", "createdOn", "meta", "modifiedOn", "name", "proxiable", "proxied", "settings", "tags", "ttl", "type", "commentModifiedOn", "tagsModifiedOn", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], [ "id", "createdOn", "meta", "modifiedOn", "proxiable", "commentModifiedOn", "tagsModifiedOn", "name", "type", "ttl", "content", "comment", "proxied", "priority", "tags", "settings", "data", ], ]), ); export type UpdateRecordResponse = RecordsUpdateResult; export const UpdateRecordResponse = /*@__PURE__*/ S.suspend(() => RecordsUpdateResult.pipe( T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY), ), ).annotate({ identifier: "UpdateRecordResponse", }) as any as S.Schema; export interface UpdateZoneTransferAclRequest { accountId: string; aclId: string; /** Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively. */ ipRange: string; /** The name of the acl. */ name: string; } export const UpdateZoneTransferAclRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), aclId: S.String.pipe(T.Label("acl_id")), ipRange: S.String.pipe(T.Body("ip_range")), name: S.String, }) .pipe( T.Http({ method: "PUT", uri: "/accounts/{account_id}/secondary_dns/acls/{acl_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateZoneTransferAclRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface UpdateZoneTransferAclResponse { id: string; /** Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively. */ ipRange: string; /** The name of the acl. */ name: string; } export const UpdateZoneTransferAclResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, ipRange: S.String.pipe(T.Body("ip_range")), name: S.String, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateZoneTransferAclResponse", }) as any as S.Schema; export type ZoneTransfersIncomingUpdateRequestPeersList = Array; export const ZoneTransfersIncomingUpdateRequestPeersList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface UpdateZoneTransferIncomingRequest { zoneId: string; /** How often should a secondary zone auto refresh regardless of DNS NOTIFY. */ autoRefreshSeconds: number; /** Zone name. */ name: string; /** A list of peer tags. */ peers: ZoneTransfersIncomingUpdateRequestPeersList; } export const UpdateZoneTransferIncomingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), autoRefreshSeconds: S.Number.pipe(T.Body("auto_refresh_seconds")), name: S.String, peers: ZoneTransfersIncomingUpdateRequestPeersList, }) .pipe( T.Http({ method: "PUT", uri: "/zones/{zone_id}/secondary_dns/incoming", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateZoneTransferIncomingRequest", }) as any as S.Schema; export type ZoneTransfersIncomingUpdateResponsePeersList = Array; export const ZoneTransfersIncomingUpdateResponsePeersList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface UpdateZoneTransferIncomingResponse { id?: string | null; /** How often should a secondary zone auto refresh regardless of DNS NOTIFY. */ autoRefreshSeconds?: number | null; /** The time for a specific event. */ checkedTime?: string | null; /** The time for a specific event. */ createdTime?: string | null; /** The time for a specific event. */ modifiedTime?: string | null; /** Zone name. */ name?: string | null; /** A list of peer tags. */ peers?: ZoneTransfersIncomingUpdateResponsePeersList | null; /** The serial number of the SOA for the given zone. */ soaSerial?: number | null; } export const UpdateZoneTransferIncomingResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), autoRefreshSeconds: S.optional( S.NullOr(S.Number).pipe(T.Body("auto_refresh_seconds")), ), checkedTime: S.optional(S.NullOr(S.String).pipe(T.Body("checked_time"))), createdTime: S.optional(S.NullOr(S.String).pipe(T.Body("created_time"))), modifiedTime: S.optional(S.NullOr(S.String).pipe(T.Body("modified_time"))), name: S.optional(S.NullOr(S.String)), peers: S.optional(S.NullOr(ZoneTransfersIncomingUpdateResponsePeersList)), soaSerial: S.optional(S.NullOr(S.Number).pipe(T.Body("soa_serial"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateZoneTransferIncomingResponse", }) as any as S.Schema; export type ZoneTransfersOutgoingUpdateRequestPeersList = Array; export const ZoneTransfersOutgoingUpdateRequestPeersList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface UpdateZoneTransferOutgoingRequest { zoneId: string; /** Zone name. */ name: string; /** A list of peer tags. */ peers: ZoneTransfersOutgoingUpdateRequestPeersList; } export const UpdateZoneTransferOutgoingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), name: S.String, peers: ZoneTransfersOutgoingUpdateRequestPeersList, }) .pipe( T.Http({ method: "PUT", uri: "/zones/{zone_id}/secondary_dns/outgoing", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateZoneTransferOutgoingRequest", }) as any as S.Schema; export type ZoneTransfersOutgoingUpdateResponsePeersList = Array; export const ZoneTransfersOutgoingUpdateResponsePeersList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface UpdateZoneTransferOutgoingResponse { id?: string | null; /** The time for a specific event. */ checkedTime?: string | null; /** The time for a specific event. */ createdTime?: string | null; /** The time for a specific event. */ lastTransferredTime?: string | null; /** Zone name. */ name?: string | null; /** A list of peer tags. */ peers?: ZoneTransfersOutgoingUpdateResponsePeersList | null; /** The serial number of the SOA for the given zone. */ soaSerial?: number | null; } export const UpdateZoneTransferOutgoingResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), checkedTime: S.optional(S.NullOr(S.String).pipe(T.Body("checked_time"))), createdTime: S.optional(S.NullOr(S.String).pipe(T.Body("created_time"))), lastTransferredTime: S.optional( S.NullOr(S.String).pipe(T.Body("last_transferred_time")), ), name: S.optional(S.NullOr(S.String)), peers: S.optional(S.NullOr(ZoneTransfersOutgoingUpdateResponsePeersList)), soaSerial: S.optional(S.NullOr(S.Number).pipe(T.Body("soa_serial"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateZoneTransferOutgoingResponse", }) as any as S.Schema; export interface UpdateZoneTransferPeerRequest { accountId: string; peerId: string; /** The name of the peer. */ name: string; /** IPv4/IPv6 address of primary or secondary nameserver, depending on what zone this peer is linked to. For primary zones this IP defines the IP of the secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary zones this IP defines the IP of the primary nameserver Cloudflare will send AXFR/IXFR requests to. */ ip?: string; /** Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. */ ixfrEnable?: boolean; /** DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. */ port?: number; /** TSIG authentication will be used for zone transfer if configured. */ tsigId?: string; } export const UpdateZoneTransferPeerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), peerId: S.String.pipe(T.Label("peer_id")), name: S.String, ip: S.optional(S.String), ixfrEnable: S.optional(S.Boolean.pipe(T.Body("ixfr_enable"))), port: S.optional(S.Number), tsigId: S.optional(S.String.pipe(T.Body("tsig_id"))), }) .pipe( T.Http({ method: "PUT", uri: "/accounts/{account_id}/secondary_dns/peers/{peer_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateZoneTransferPeerRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface UpdateZoneTransferPeerResponse { id: string; /** The name of the peer. */ name: string; /** IPv4/IPv6 address of primary or secondary nameserver, depending on what zone this peer is linked to. For primary zones this IP defines the IP of the secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary zones this IP defines the IP of the primary nameserver Cloudflare will send AXFR/IXFR requests to. */ ip?: string | null; /** Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. */ ixfrEnable?: boolean | null; /** DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. */ port?: number | null; /** TSIG authentication will be used for zone transfer if configured. */ tsigId?: string | null; } export const UpdateZoneTransferPeerResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, name: S.String, ip: S.optional(S.NullOr(S.String)), ixfrEnable: S.optional(S.NullOr(S.Boolean).pipe(T.Body("ixfr_enable"))), port: S.optional(S.NullOr(S.Number)), tsigId: S.optional(S.NullOr(S.String).pipe(T.Body("tsig_id"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateZoneTransferPeerResponse", }) as any as S.Schema; export interface UpdateZoneTransferTsigRequest { accountId: string; tsigId: string; /** TSIG algorithm. */ algo: string; /** TSIG key name. */ name: string; /** TSIG secret. */ secret: string; } export const UpdateZoneTransferTsigRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), tsigId: S.String.pipe(T.Label("tsig_id")), algo: S.String, name: S.String, secret: S.String, }) .pipe( T.Http({ method: "PUT", uri: "/accounts/{account_id}/secondary_dns/tsigs/{tsig_id}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateZoneTransferTsigRequest", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface UpdateZoneTransferTsigResponse { id: string; /** TSIG algorithm. */ algo: string; /** TSIG key name. */ name: string; /** TSIG secret. */ secret: string; } export const UpdateZoneTransferTsigResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, algo: S.String, name: S.String, secret: S.String, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UpdateZoneTransferTsigResponse", }) as any as S.Schema; export type BatchRecordError = CloudflareOpError; /** Send a Batch of DNS Record API calls to be executed together. Notes: - Although Cloudflare will execute the batched operations in a single database transaction, Cloudflare's distributed KV store must treat each record change as a single key-value pair. This means that the propagation of changes is not atomic. See [the documentation](https://developers.cloudflare.com/dns/manage-dns-records/how-to/batch-record-changes/ "Batch DNS records") for more information. - The operations you specify within the /batch request body are always executed in the following order: - Deletes - Patches - Puts - Posts */ export const batchRecord: API.OperationMethod< BatchRecordRequest, BatchRecordResponse, BatchRecordError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: BatchRecordRequest, output: BatchRecordResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreateRecordError = | DnsRecordAlreadyExists | Forbidden | CloudflareOpError; /** Create a new DNS record for a zone. Notes: - A/AAAA records cannot exist on the same name as CNAME records. - NS records cannot exist on the same name as any other record type. - Domain names are always represented in Punycode, even if Unicode characters were used when creating the record. */ export const createRecord: API.OperationMethod< CreateRecordRequest, CreateRecordResponse, CreateRecordError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateRecordRequest, output: CreateRecordResponse, errors: [ DnsRecordAlreadyExists, Forbidden, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreateSettingAccountViewError = | InternalDnsNotAvailable | CloudflareOpError; /** Create Internal DNS View for an account */ export const createSettingAccountView: API.OperationMethod< CreateSettingAccountViewRequest, CreateSettingAccountViewResponse, CreateSettingAccountViewError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateSettingAccountViewRequest, output: CreateSettingAccountViewResponse, errors: [InternalDnsNotAvailable, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreateZoneTransferAclError = CloudflareOpError; /** Create ACL. */ export const createZoneTransferAcl: API.OperationMethod< CreateZoneTransferAclRequest, CreateZoneTransferAclResponse, CreateZoneTransferAclError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateZoneTransferAclRequest, output: CreateZoneTransferAclResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreateZoneTransferForceAxfrError = CloudflareOpError; /** Sends AXFR zone transfer request to primary nameserver(s). */ export const createZoneTransferForceAxfr: API.OperationMethod< CreateZoneTransferForceAxfrRequest, CreateZoneTransferForceAxfrResponse, CreateZoneTransferForceAxfrError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateZoneTransferForceAxfrRequest, output: CreateZoneTransferForceAxfrResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreateZoneTransferIncomingError = CloudflareOpError; /** Create secondary zone configuration for incoming zone transfers. */ export const createZoneTransferIncoming: API.OperationMethod< CreateZoneTransferIncomingRequest, CreateZoneTransferIncomingResponse, CreateZoneTransferIncomingError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateZoneTransferIncomingRequest, output: CreateZoneTransferIncomingResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreateZoneTransferOutgoingError = | OutgoingZoneTransfersNotAllowed | CloudflareOpError; /** Create primary zone configuration for outgoing zone transfers. */ export const createZoneTransferOutgoing: API.OperationMethod< CreateZoneTransferOutgoingRequest, CreateZoneTransferOutgoingResponse, CreateZoneTransferOutgoingError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateZoneTransferOutgoingRequest, output: CreateZoneTransferOutgoingResponse, errors: [ OutgoingZoneTransfersNotAllowed, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreateZoneTransferPeerError = CloudflareOpError; /** Create Peer. */ export const createZoneTransferPeer: API.OperationMethod< CreateZoneTransferPeerRequest, CreateZoneTransferPeerResponse, CreateZoneTransferPeerError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateZoneTransferPeerRequest, output: CreateZoneTransferPeerResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CreateZoneTransferTsigError = CloudflareOpError; /** Create TSIG. */ export const createZoneTransferTsig: API.OperationMethod< CreateZoneTransferTsigRequest, CreateZoneTransferTsigResponse, CreateZoneTransferTsigError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CreateZoneTransferTsigRequest, output: CreateZoneTransferTsigResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeleteDnssecError = Forbidden | CloudflareOpError; /** Delete DNSSEC. */ export const deleteDnssec: API.OperationMethod< DeleteDnssecRequest, DeleteDnssecResponse, DeleteDnssecError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteDnssecRequest, output: DeleteDnssecResponse, errors: [Forbidden, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeleteRecordError = CloudflareOpError; /** Permanently removes a DNS record from the zone. */ export const deleteRecord: API.OperationMethod< DeleteRecordRequest, DeleteRecordResponse, DeleteRecordError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteRecordRequest, output: DeleteRecordResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeleteSettingAccountViewError = ViewNotFound | CloudflareOpError; /** Delete an existing Internal DNS View */ export const deleteSettingAccountView: API.OperationMethod< DeleteSettingAccountViewRequest, DeleteSettingAccountViewResponse, DeleteSettingAccountViewError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteSettingAccountViewRequest, output: DeleteSettingAccountViewResponse, errors: [ViewNotFound, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeleteZoneTransferAclError = AclNotFound | CloudflareOpError; /** Delete ACL. */ export const deleteZoneTransferAcl: API.OperationMethod< DeleteZoneTransferAclRequest, DeleteZoneTransferAclResponse, DeleteZoneTransferAclError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteZoneTransferAclRequest, output: DeleteZoneTransferAclResponse, errors: [AclNotFound, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeleteZoneTransferIncomingError = | IncomingZoneTransferNotFound | CloudflareOpError; /** Delete secondary zone configuration for incoming zone transfers. */ export const deleteZoneTransferIncoming: API.OperationMethod< DeleteZoneTransferIncomingRequest, DeleteZoneTransferIncomingResponse, DeleteZoneTransferIncomingError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteZoneTransferIncomingRequest, output: DeleteZoneTransferIncomingResponse, errors: [ IncomingZoneTransferNotFound, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeleteZoneTransferOutgoingError = | OutgoingZoneTransferNotFound | OutgoingZoneTransfersNotAllowed | CloudflareOpError; /** Delete primary zone configuration for outgoing zone transfers. */ export const deleteZoneTransferOutgoing: API.OperationMethod< DeleteZoneTransferOutgoingRequest, DeleteZoneTransferOutgoingResponse, DeleteZoneTransferOutgoingError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteZoneTransferOutgoingRequest, output: DeleteZoneTransferOutgoingResponse, errors: [ OutgoingZoneTransferNotFound, OutgoingZoneTransfersNotAllowed, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeleteZoneTransferPeerError = PeerNotFound | CloudflareOpError; /** Delete Peer. */ export const deleteZoneTransferPeer: API.OperationMethod< DeleteZoneTransferPeerRequest, DeleteZoneTransferPeerResponse, DeleteZoneTransferPeerError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteZoneTransferPeerRequest, output: DeleteZoneTransferPeerResponse, errors: [PeerNotFound, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeleteZoneTransferTsigError = TsigNotFound | CloudflareOpError; /** Delete TSIG. */ export const deleteZoneTransferTsig: API.OperationMethod< DeleteZoneTransferTsigRequest, DeleteZoneTransferTsigResponse, DeleteZoneTransferTsigError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeleteZoneTransferTsigRequest, output: DeleteZoneTransferTsigResponse, errors: [TsigNotFound, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DisableZoneTransferOutgoingError = | OutgoingZoneTransfersNotAllowed | CloudflareOpError; /** Disable outgoing zone transfers for primary zone and clears IXFR backlog of primary zone. */ export const disableZoneTransferOutgoing: API.OperationMethod< DisableZoneTransferOutgoingRequest, DisableZoneTransferOutgoingResponse, DisableZoneTransferOutgoingError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DisableZoneTransferOutgoingRequest, output: DisableZoneTransferOutgoingResponse, errors: [ OutgoingZoneTransfersNotAllowed, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type EnableZoneTransferOutgoingError = | OutgoingZoneTransfersNotAllowed | CloudflareOpError; /** Enable outgoing zone transfers for primary zone. */ export const enableZoneTransferOutgoing: API.OperationMethod< EnableZoneTransferOutgoingRequest, EnableZoneTransferOutgoingResponse, EnableZoneTransferOutgoingError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: EnableZoneTransferOutgoingRequest, output: EnableZoneTransferOutgoingResponse, errors: [ OutgoingZoneTransfersNotAllowed, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ExportRecordError = CloudflareOpError; /** You can export your [BIND config](https://en.wikipedia.org/wiki/Zone_file "Zone file") through this endpoint. See [the documentation](https://developers.cloudflare.com/dns/manage-dns-records/how-to/import-and-export/ "Import and export records") for more information. */ export const exportRecord: API.OperationMethod< ExportRecordRequest, ExportRecordResponse, ExportRecordError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ExportRecordRequest, output: ExportRecordResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ForceNotifyZoneTransferOutgoingError = CloudflareOpError; /** Notifies the secondary nameserver(s) and clears IXFR backlog of primary zone. */ export const forceNotifyZoneTransferOutgoing: API.OperationMethod< ForceNotifyZoneTransferOutgoingRequest, ForceNotifyZoneTransferOutgoingResponse, ForceNotifyZoneTransferOutgoingError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ForceNotifyZoneTransferOutgoingRequest, output: ForceNotifyZoneTransferOutgoingResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetAnalyticReportError = CloudflareOpError; /** Retrieves a list of summarised aggregate metrics over a given time period. See [Analytics API properties](https://developers.cloudflare.com/dns/reference/analytics-api-properties/) for detailed information about the available query parameters. */ export const getAnalyticReport: API.OperationMethod< GetAnalyticReportRequest, GetAnalyticReportResponse, GetAnalyticReportError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetAnalyticReportRequest, output: GetAnalyticReportResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetAnalyticReportBytimeError = CloudflareOpError; /** Retrieves a list of aggregate metrics grouped by time interval. See [Analytics API properties](https://developers.cloudflare.com/dns/reference/analytics-api-properties/) for detailed information about the available query parameters. */ export const getAnalyticReportBytime: API.OperationMethod< GetAnalyticReportBytimeRequest, GetAnalyticReportBytimeResponse, GetAnalyticReportBytimeError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetAnalyticReportBytimeRequest, output: GetAnalyticReportBytimeResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetDnssecError = Forbidden | CloudflareOpError; /** Details about DNSSEC status and configuration. */ export const getDnssec: API.OperationMethod< GetDnssecRequest, GetDnssecResponse, GetDnssecError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetDnssecRequest, output: GetDnssecResponse, errors: [Forbidden, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetRecordError = Forbidden | CloudflareOpError; /** Retrieves details for a specific DNS record in the zone. */ export const getRecord: API.OperationMethod< GetRecordRequest, GetRecordResponse, GetRecordError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetRecordRequest, output: GetRecordResponse, errors: [Forbidden, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetSettingAccountError = CloudflareOpError; /** Show DNS settings for an account */ export const getSettingAccount: API.OperationMethod< GetSettingAccountRequest, GetSettingAccountResponse, GetSettingAccountError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetSettingAccountRequest, output: GetSettingAccountResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetSettingAccountViewError = ViewNotFound | CloudflareOpError; /** Get DNS Internal View */ export const getSettingAccountView: API.OperationMethod< GetSettingAccountViewRequest, GetSettingAccountViewResponse, GetSettingAccountViewError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetSettingAccountViewRequest, output: GetSettingAccountViewResponse, errors: [ViewNotFound, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetSettingZoneError = Forbidden | CloudflareOpError; /** Show DNS settings for a zone */ export const getSettingZone: API.OperationMethod< GetSettingZoneRequest, GetSettingZoneResponse, GetSettingZoneError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetSettingZoneRequest, output: GetSettingZoneResponse, errors: [Forbidden, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetUsageAccountError = CloudflareOpError; /** Get the current DNS record usage and quota for an account. May include internal DNS usage and quota. */ export const getUsageAccount: API.OperationMethod< GetUsageAccountRequest, GetUsageAccountResponse, GetUsageAccountError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetUsageAccountRequest, output: GetUsageAccountResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetUsageZoneError = CloudflareOpError; /** Get the current DNS record usage for a zone, including the number of records and the quota limit. */ export const getUsageZone: API.OperationMethod< GetUsageZoneRequest, GetUsageZoneResponse, GetUsageZoneError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetUsageZoneRequest, output: GetUsageZoneResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetZoneTransferAclError = AclNotFound | CloudflareOpError; /** Get ACL. */ export const getZoneTransferAcl: API.OperationMethod< GetZoneTransferAclRequest, GetZoneTransferAclResponse, GetZoneTransferAclError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetZoneTransferAclRequest, output: GetZoneTransferAclResponse, errors: [AclNotFound, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetZoneTransferIncomingError = | IncomingZoneTransferNotFound | CloudflareOpError; /** Get secondary zone configuration for incoming zone transfers. */ export const getZoneTransferIncoming: API.OperationMethod< GetZoneTransferIncomingRequest, GetZoneTransferIncomingResponse, GetZoneTransferIncomingError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetZoneTransferIncomingRequest, output: GetZoneTransferIncomingResponse, errors: [ IncomingZoneTransferNotFound, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetZoneTransferOutgoingError = | OutgoingZoneTransferNotFound | OutgoingZoneTransfersNotAllowed | CloudflareOpError; /** Get primary zone configuration for outgoing zone transfers. */ export const getZoneTransferOutgoing: API.OperationMethod< GetZoneTransferOutgoingRequest, GetZoneTransferOutgoingResponse, GetZoneTransferOutgoingError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetZoneTransferOutgoingRequest, output: GetZoneTransferOutgoingResponse, errors: [ OutgoingZoneTransferNotFound, OutgoingZoneTransfersNotAllowed, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetZoneTransferOutgoingStatusError = CloudflareOpError; /** Get primary zone transfer status. */ export const getZoneTransferOutgoingStatus: API.OperationMethod< GetZoneTransferOutgoingStatusRequest, GetZoneTransferOutgoingStatusResponse, GetZoneTransferOutgoingStatusError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetZoneTransferOutgoingStatusRequest, output: GetZoneTransferOutgoingStatusResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetZoneTransferPeerError = PeerNotFound | CloudflareOpError; /** Get Peer. */ export const getZoneTransferPeer: API.OperationMethod< GetZoneTransferPeerRequest, GetZoneTransferPeerResponse, GetZoneTransferPeerError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetZoneTransferPeerRequest, output: GetZoneTransferPeerResponse, errors: [PeerNotFound, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetZoneTransferTsigError = TsigNotFound | CloudflareOpError; /** Get TSIG. */ export const getZoneTransferTsig: API.OperationMethod< GetZoneTransferTsigRequest, GetZoneTransferTsigResponse, GetZoneTransferTsigError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetZoneTransferTsigRequest, output: GetZoneTransferTsigResponse, errors: [TsigNotFound, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ImportRecordError = CloudflareOpError; /** You can upload your [BIND config](https://en.wikipedia.org/wiki/Zone_file "Zone file") through this endpoint. It assumes that cURL is called from a location with bind_config.txt (valid BIND config) present. See [the documentation](https://developers.cloudflare.com/dns/manage-dns-records/how-to/import-and-export/ "Import and export records") for more information. */ export const importRecord: API.OperationMethod< ImportRecordRequest, ImportRecordResponse, ImportRecordError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ImportRecordRequest, output: ImportRecordResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListRecordsError = Forbidden | CloudflareOpError; /** List, search, sort, and filter a zones' DNS records. */ export const listRecords: API.PaginatedOperationMethod< ListRecordsRequest, ListRecordsResponse, ListRecordsError, CloudflareOpContext, RecordsListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListRecordsRequest, output: ListRecordsResponse, errors: [Forbidden, CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "page", inputToken: "page", outputToken: "resultInfo.page", items: "result", pageSize: "perPage", } as const, }), cloudflarePaginate, ) as any; export type ListSettingAccountViewsError = CloudflareOpError; /** List DNS Internal Views for an Account */ export const listSettingAccountViews: API.PaginatedOperationMethod< ListSettingAccountViewsRequest, ListSettingAccountViewsResponse, ListSettingAccountViewsError, CloudflareOpContext, SettingsAccountViewsListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListSettingAccountViewsRequest, output: ListSettingAccountViewsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "page", inputToken: "page", outputToken: "resultInfo.page", items: "result", pageSize: "perPage", } as const, }), cloudflarePaginate, ) as any; export type ListZoneTransferAclsError = CloudflareOpError; /** List ACLs. */ export const listZoneTransferAcls: API.PaginatedOperationMethod< ListZoneTransferAclsRequest, ListZoneTransferAclsResponse, ListZoneTransferAclsError, CloudflareOpContext, ZoneTransfersAclsListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListZoneTransferAclsRequest, output: ListZoneTransferAclsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "single", items: "result" } as const, }), cloudflarePaginate, ) as any; export type ListZoneTransferPeersError = CloudflareOpError; /** List Peers. */ export const listZoneTransferPeers: API.PaginatedOperationMethod< ListZoneTransferPeersRequest, ListZoneTransferPeersResponse, ListZoneTransferPeersError, CloudflareOpContext, ZoneTransfersPeersListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListZoneTransferPeersRequest, output: ListZoneTransferPeersResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "single", items: "result" } as const, }), cloudflarePaginate, ) as any; export type ListZoneTransferTsigsError = CloudflareOpError; /** List TSIGs. */ export const listZoneTransferTsigs: API.PaginatedOperationMethod< ListZoneTransferTsigsRequest, ListZoneTransferTsigsResponse, ListZoneTransferTsigsError, CloudflareOpContext, ZoneTransfersTsigsListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListZoneTransferTsigsRequest, output: ListZoneTransferTsigsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "single", items: "result" } as const, }), cloudflarePaginate, ) as any; export type PatchDnssecError = Forbidden | CloudflareOpError; /** Enable or disable DNSSEC. */ export const patchDnssec: API.OperationMethod< PatchDnssecRequest, PatchDnssecResponse, PatchDnssecError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: PatchDnssecRequest, output: PatchDnssecResponse, errors: [Forbidden, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type PatchRecordError = CloudflareOpError; /** Update an existing DNS record. Notes: - A/AAAA records cannot exist on the same name as CNAME records. - NS records cannot exist on the same name as any other record type. - Domain names are always represented in Punycode, even if Unicode characters were used when creating the record. */ export const patchRecord: API.OperationMethod< PatchRecordRequest, PatchRecordResponse, PatchRecordError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: PatchRecordRequest, output: PatchRecordResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type PatchSettingAccountError = | DnsSettingNotAvailable | CloudflareOpError; /** Update DNS settings for an account */ export const patchSettingAccount: API.OperationMethod< PatchSettingAccountRequest, PatchSettingAccountResponse, PatchSettingAccountError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: PatchSettingAccountRequest, output: PatchSettingAccountResponse, errors: [DnsSettingNotAvailable, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type PatchSettingAccountViewError = ViewNotFound | CloudflareOpError; /** Update an existing Internal DNS View */ export const patchSettingAccountView: API.OperationMethod< PatchSettingAccountViewRequest, PatchSettingAccountViewResponse, PatchSettingAccountViewError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: PatchSettingAccountViewRequest, output: PatchSettingAccountViewResponse, errors: [ViewNotFound, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type PatchSettingZoneError = Forbidden | CloudflareOpError; /** Update DNS settings for a zone */ export const patchSettingZone: API.OperationMethod< PatchSettingZoneRequest, PatchSettingZoneResponse, PatchSettingZoneError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: PatchSettingZoneRequest, output: PatchSettingZoneResponse, errors: [Forbidden, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ScanListRecordError = CloudflareOpError; /** Retrieves the list of DNS records discovered up to this point by the asynchronous scan. These records are temporary until explicitly accepted or rejected via `POST /scan/review`. Additional records may be discovered by the scan later. */ export const scanListRecord: API.PaginatedOperationMethod< ScanListRecordRequest, ScanListRecordResponse, ScanListRecordError, CloudflareOpContext, RecordsScanListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ScanListRecordRequest, output: ScanListRecordResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "single", items: "result" } as const, }), cloudflarePaginate, ) as any; export type ScanRecordError = CloudflareOpError; /** Scan for common DNS records on your domain and automatically add them to your zone. Useful if you haven't updated your nameservers yet. */ export const scanRecord: API.OperationMethod< ScanRecordRequest, ScanRecordResponse, ScanRecordError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ScanRecordRequest, output: ScanRecordResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ScanReviewRecordError = CloudflareOpError; /** Accept or reject DNS records found by the DNS records scan. Accepted records will be permanently added to the zone, while rejected records will be permanently deleted. */ export const scanReviewRecord: API.OperationMethod< ScanReviewRecordRequest, ScanReviewRecordResponse, ScanReviewRecordError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ScanReviewRecordRequest, output: ScanReviewRecordResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ScanTriggerRecordError = CloudflareOpError; /** Initiates an asynchronous scan for common DNS records on your domain. Note that this **does not** automatically add records to your zone. The scan runs in the background, and results can be reviewed later using the `/scan/review` endpoints. Useful if you haven't updated your nameservers yet. */ export const scanTriggerRecord: API.OperationMethod< ScanTriggerRecordRequest, ScanTriggerRecordResponse, ScanTriggerRecordError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ScanTriggerRecordRequest, output: ScanTriggerRecordResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type UpdateRecordError = CloudflareOpError; /** Overwrite an existing DNS record. Notes: - A/AAAA records cannot exist on the same name as CNAME records. - NS records cannot exist on the same name as any other record type. - Domain names are always represented in Punycode, even if Unicode characters were used when creating the record. */ export const updateRecord: API.OperationMethod< UpdateRecordRequest, UpdateRecordResponse, UpdateRecordError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateRecordRequest, output: UpdateRecordResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type UpdateZoneTransferAclError = AclNotFound | CloudflareOpError; /** Modify ACL. */ export const updateZoneTransferAcl: API.OperationMethod< UpdateZoneTransferAclRequest, UpdateZoneTransferAclResponse, UpdateZoneTransferAclError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateZoneTransferAclRequest, output: UpdateZoneTransferAclResponse, errors: [AclNotFound, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type UpdateZoneTransferIncomingError = | IncomingZoneTransferNotFound | CloudflareOpError; /** Update secondary zone configuration for incoming zone transfers. */ export const updateZoneTransferIncoming: API.OperationMethod< UpdateZoneTransferIncomingRequest, UpdateZoneTransferIncomingResponse, UpdateZoneTransferIncomingError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateZoneTransferIncomingRequest, output: UpdateZoneTransferIncomingResponse, errors: [ IncomingZoneTransferNotFound, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type UpdateZoneTransferOutgoingError = | OutgoingZoneTransferNotFound | OutgoingZoneTransfersNotAllowed | CloudflareOpError; /** Update primary zone configuration for outgoing zone transfers. */ export const updateZoneTransferOutgoing: API.OperationMethod< UpdateZoneTransferOutgoingRequest, UpdateZoneTransferOutgoingResponse, UpdateZoneTransferOutgoingError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateZoneTransferOutgoingRequest, output: UpdateZoneTransferOutgoingResponse, errors: [ OutgoingZoneTransferNotFound, OutgoingZoneTransfersNotAllowed, CloudflareRateLimited, CloudflareError, ], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type UpdateZoneTransferPeerError = PeerNotFound | CloudflareOpError; /** Modify Peer. */ export const updateZoneTransferPeer: API.OperationMethod< UpdateZoneTransferPeerRequest, UpdateZoneTransferPeerResponse, UpdateZoneTransferPeerError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateZoneTransferPeerRequest, output: UpdateZoneTransferPeerResponse, errors: [PeerNotFound, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type UpdateZoneTransferTsigError = TsigNotFound | CloudflareOpError; /** Modify TSIG. */ export const updateZoneTransferTsig: API.OperationMethod< UpdateZoneTransferTsigRequest, UpdateZoneTransferTsigResponse, UpdateZoneTransferTsigError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: UpdateZoneTransferTsigRequest, output: UpdateZoneTransferTsigResponse, errors: [TsigNotFound, CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, }));