crds/dns_v1beta1_dnsrecordset.yaml (970 lines of code) (raw):
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cnrm.cloud.google.com/version: 1.128.0
creationTimestamp: null
labels:
cnrm.cloud.google.com/managed-by-kcc: "true"
cnrm.cloud.google.com/stability-level: stable
cnrm.cloud.google.com/system: "true"
cnrm.cloud.google.com/tf2crd: "true"
name: dnsrecordsets.dns.cnrm.cloud.google.com
spec:
group: dns.cnrm.cloud.google.com
names:
categories:
- gcp
kind: DNSRecordSet
plural: dnsrecordsets
shortNames:
- gcpdnsrecordset
- gcpdnsrecordsets
singular: dnsrecordset
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
- description: When 'True', the most recent reconcile of the resource succeeded
jsonPath: .status.conditions[?(@.type=='Ready')].status
name: Ready
type: string
- description: The reason for the value in 'Ready'
jsonPath: .status.conditions[?(@.type=='Ready')].reason
name: Status
type: string
- description: The last transition time for the value in 'Status'
jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
name: Status Age
type: date
name: v1beta1
schema:
openAPIV3Schema:
properties:
apiVersion:
description: 'apiVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
type: string
kind:
description: 'kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
oneOf:
- required:
- rrdatas
- required:
- rrdatasRefs
- required:
- routingPolicy
properties:
managedZoneRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `name` field of a `DNSManagedZone`
resource.'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
name:
description: Immutable. The DNS name this record set will apply to.
type: string
routingPolicy:
description: The configuration for steering traffic based on query.
You can specify either Weighted Round Robin(WRR) type or Geolocation(GEO)
type.
properties:
enableGeoFencing:
description: Specifies whether to enable fencing for geo queries.
type: boolean
geo:
description: The configuration for Geo location based routing
policy.
items:
properties:
healthCheckedTargets:
description: For A and AAAA types only. The list of targets
to be health checked. These can be specified along with
`rrdatas` within this item.
properties:
internalLoadBalancers:
description: The list of internal load balancers to
health check.
items:
properties:
ipAddressRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `address`
field of a `ComputeAddress` resource.'
type: string
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
ipProtocol:
description: 'The configured IP protocol of the
load balancer. This value is case-sensitive.
Possible values: ["tcp", "udp"].'
type: string
loadBalancerType:
description: 'The type of load balancer. This
value is case-sensitive. Possible values: ["regionalL4ilb",
"regionalL7ilb", "globalL7ilb"].'
type: string
networkRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `selfLink`
field of a `ComputeNetwork` resource.'
type: string
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
port:
description: The configured port of the load balancer.
type: string
projectRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `name` field
of a `Project` resource.'
type: string
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
regionRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `location`
field of a `ComputeForwardingRule` resource.'
type: string
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
required:
- ipAddressRef
- ipProtocol
- loadBalancerType
- networkRef
- port
- projectRef
type: object
type: array
required:
- internalLoadBalancers
type: object
location:
description: The location name defined in Google Cloud.
type: string
rrdatasRefs:
items:
oneOf:
- not:
required:
- external
required:
- name
- kind
- not:
anyOf:
- required:
- name
- required:
- namespace
- required:
- kind
required:
- external
properties:
external:
description: 'Allowed value: The `address` field of
a `ComputeAddress` resource.'
type: string
kind:
description: 'Kind of the referent. Allowed values:
ComputeAddress'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
type: array
required:
- location
type: object
type: array
primaryBackup:
description: The configuration for a primary-backup policy with
global to regional failover. Queries are responded to with the
global primary targets, but if none of the primary targets are
healthy, then we fallback to a regional failover policy.
properties:
backupGeo:
description: The backup geo targets, which provide a regional
failover policy for the otherwise global primary targets.
items:
properties:
healthCheckedTargets:
description: For A and AAAA types only. The list of
targets to be health checked. These can be specified
along with `rrdatas` within this item.
properties:
internalLoadBalancers:
description: The list of internal load balancers
to health check.
items:
properties:
ipAddressRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `address`
field of a `ComputeAddress` resource.'
type: string
name:
description: 'Name of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
ipProtocol:
description: 'The configured IP protocol of
the load balancer. This value is case-sensitive.
Possible values: ["tcp", "udp"].'
type: string
loadBalancerType:
description: 'The type of load balancer. This
value is case-sensitive. Possible values:
["regionalL4ilb", "regionalL7ilb", "globalL7ilb"].'
type: string
networkRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `selfLink`
field of a `ComputeNetwork` resource.'
type: string
name:
description: 'Name of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
port:
description: The configured port of the load
balancer.
type: string
projectRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `name`
field of a `Project` resource.'
type: string
name:
description: 'Name of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
regionRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `location`
field of a `ComputeForwardingRule` resource.'
type: string
name:
description: 'Name of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
required:
- ipAddressRef
- ipProtocol
- loadBalancerType
- networkRef
- port
- projectRef
type: object
type: array
required:
- internalLoadBalancers
type: object
location:
description: The location name defined in Google Cloud.
type: string
rrdatasRefs:
items:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `address` field
of a `ComputeAddress` resource.'
type: string
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
type: array
required:
- location
type: object
type: array
enableGeoFencingForBackups:
description: Specifies whether to enable fencing for backup
geo queries.
type: boolean
primary:
description: The list of global primary targets to be health
checked.
properties:
internalLoadBalancers:
description: The list of internal load balancers to health
check.
items:
properties:
ipAddressRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `address` field
of a `ComputeAddress` resource.'
type: string
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
ipProtocol:
description: 'The configured IP protocol of the
load balancer. This value is case-sensitive. Possible
values: ["tcp", "udp"].'
type: string
loadBalancerType:
description: 'The type of load balancer. This value
is case-sensitive. Possible values: ["regionalL4ilb",
"regionalL7ilb", "globalL7ilb"].'
type: string
networkRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `selfLink`
field of a `ComputeNetwork` resource.'
type: string
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
port:
description: The configured port of the load balancer.
type: string
projectRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `name` field
of a `Project` resource.'
type: string
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
regionRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `location`
field of a `ComputeForwardingRule` resource.'
type: string
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
required:
- ipAddressRef
- ipProtocol
- loadBalancerType
- networkRef
- port
- projectRef
type: object
type: array
required:
- internalLoadBalancers
type: object
trickleRatio:
description: Specifies the percentage of traffic to send to
the backup targets even when the primary targets are healthy.
type: number
required:
- backupGeo
- primary
type: object
wrr:
description: The configuration for Weighted Round Robin based
routing policy.
items:
properties:
healthCheckedTargets:
description: The list of targets to be health checked. Note
that if DNSSEC is enabled for this zone, only one of `rrdatas`
or `health_checked_targets` can be set.
properties:
internalLoadBalancers:
description: The list of internal load balancers to
health check.
items:
properties:
ipAddressRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `address`
field of a `ComputeAddress` resource.'
type: string
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
ipProtocol:
description: 'The configured IP protocol of the
load balancer. This value is case-sensitive.
Possible values: ["tcp", "udp"].'
type: string
loadBalancerType:
description: 'The type of load balancer. This
value is case-sensitive. Possible values: ["regionalL4ilb",
"regionalL7ilb", "globalL7ilb"].'
type: string
networkRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `selfLink`
field of a `ComputeNetwork` resource.'
type: string
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
port:
description: The configured port of the load balancer.
type: string
projectRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `name` field
of a `Project` resource.'
type: string
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
regionRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `location`
field of a `ComputeForwardingRule` resource.'
type: string
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
required:
- ipAddressRef
- ipProtocol
- loadBalancerType
- networkRef
- port
- projectRef
type: object
type: array
required:
- internalLoadBalancers
type: object
rrdatasRefs:
items:
oneOf:
- not:
required:
- external
required:
- name
- kind
- not:
anyOf:
- required:
- name
- required:
- namespace
- required:
- kind
required:
- external
properties:
external:
description: 'Allowed value: The `address` field of
a `ComputeAddress` resource.'
type: string
kind:
description: 'Kind of the referent. Allowed values:
ComputeAddress'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
type: array
weight:
description: The ratio of traffic routed to the target.
type: number
required:
- weight
type: object
type: array
type: object
rrdatas:
description: DEPRECATED. Although this field is still available, there
is limited support. We recommend that you use `spec.rrdatasRefs`
instead.
items:
type: string
type: array
rrdatasRefs:
items:
oneOf:
- not:
required:
- external
required:
- name
- kind
- not:
anyOf:
- required:
- name
- required:
- namespace
- required:
- kind
required:
- external
properties:
external:
description: 'Allowed value: The `address` field of a `ComputeAddress`
resource.'
type: string
kind:
description: 'Kind of the referent. Allowed values: ComputeAddress'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
type: array
ttl:
description: The time-to-live of this record set (seconds).
type: integer
type:
description: The DNS record set type.
type: string
required:
- managedZoneRef
- name
- type
type: object
status:
properties:
conditions:
description: Conditions represent the latest available observation
of the resource's current state.
items:
properties:
lastTransitionTime:
description: Last time the condition transitioned from one status
to another.
type: string
message:
description: Human-readable message indicating details about
last transition.
type: string
reason:
description: Unique, one-word, CamelCase reason for the condition's
last transition.
type: string
status:
description: Status is the status of the condition. Can be True,
False, Unknown.
type: string
type:
description: Type is the type of the condition.
type: string
type: object
type: array
observedGeneration:
description: ObservedGeneration is the generation of the resource
that was most recently observed by the Config Connector controller.
If this is equal to metadata.generation, then that means that the
current reported status reflects the most recent desired state of
the resource.
type: integer
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []