...
1apiVersion: apiextensions.k8s.io/v1
2kind: CustomResourceDefinition
3metadata:
4 name: dnsrecords.ingress.operator.openshift.io
5 annotations:
6 api-approved.openshift.io: https://github.com/openshift/api/pull/584
7 include.release.openshift.io/ibm-cloud-managed: "true"
8 include.release.openshift.io/self-managed-high-availability: "true"
9 include.release.openshift.io/single-node-developer: "true"
10spec:
11 group: ingress.operator.openshift.io
12 names:
13 kind: DNSRecord
14 listKind: DNSRecordList
15 plural: dnsrecords
16 singular: dnsrecord
17 scope: Namespaced
18 versions:
19 - name: v1
20 served: true
21 storage: true
22 subresources:
23 status: {}
24 schema:
25 openAPIV3Schema:
26 description: "DNSRecord is a DNS record managed in the zones defined by dns.config.openshift.io/cluster .spec.publicZone and .spec.privateZone. \n Cluster admin manipulation of this resource is not supported. This resource is only for internal communication of OpenShift operators. \n If DNSManagementPolicy is \"Unmanaged\", the operator will not be responsible for managing the DNS records on the cloud provider. \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer)."
27 type: object
28 properties:
29 apiVersion:
30 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/sig-architecture/api-conventions.md#resources'
31 type: string
32 kind:
33 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/sig-architecture/api-conventions.md#types-kinds'
34 type: string
35 metadata:
36 type: object
37 spec:
38 description: spec is the specification of the desired behavior of the dnsRecord.
39 type: object
40 required:
41 - dnsManagementPolicy
42 - dnsName
43 - recordTTL
44 - recordType
45 - targets
46 properties:
47 dnsManagementPolicy:
48 description: "dnsManagementPolicy denotes the current policy applied on the DNS record. Records that have policy set as \"Unmanaged\" are ignored by the ingress operator. This means that the DNS record on the cloud provider is not managed by the operator, and the \"Published\" status condition will be updated to \"Unknown\" status, since it is externally managed. Any existing record on the cloud provider can be deleted at the discretion of the cluster admin. \n This field defaults to Managed. Valid values are \"Managed\" and \"Unmanaged\"."
49 type: string
50 default: Managed
51 enum:
52 - Managed
53 - Unmanaged
54 dnsName:
55 description: dnsName is the hostname of the DNS record
56 type: string
57 minLength: 1
58 recordTTL:
59 description: recordTTL is the record TTL in seconds. If zero, the default is 30. RecordTTL will not be used in AWS regions Alias targets, but will be used in CNAME targets, per AWS API contract.
60 type: integer
61 format: int64
62 minimum: 0
63 recordType:
64 description: recordType is the DNS record type. For example, "A" or "CNAME".
65 type: string
66 enum:
67 - CNAME
68 - A
69 targets:
70 description: targets are record targets.
71 type: array
72 minItems: 1
73 items:
74 type: string
75 status:
76 description: status is the most recently observed status of the dnsRecord.
77 type: object
78 properties:
79 observedGeneration:
80 description: observedGeneration is the most recently observed generation of the DNSRecord. When the DNSRecord is updated, the controller updates the corresponding record in each managed zone. If an update for a particular zone fails, that failure is recorded in the status condition for the zone so that the controller can determine that it needs to retry the update for that specific zone.
81 type: integer
82 format: int64
83 zones:
84 description: zones are the status of the record in each zone.
85 type: array
86 items:
87 description: DNSZoneStatus is the status of a record within a specific zone.
88 type: object
89 properties:
90 conditions:
91 description: "conditions are any conditions associated with the record in the zone. \n If publishing the record succeeds, the \"Published\" condition will be set with status \"True\" and upon failure it will be set to \"False\" along with the reason and message describing the cause of the failure."
92 type: array
93 items:
94 description: DNSZoneCondition is just the standard condition fields.
95 type: object
96 required:
97 - status
98 - type
99 properties:
100 lastTransitionTime:
101 type: string
102 format: date-time
103 message:
104 type: string
105 reason:
106 type: string
107 status:
108 type: string
109 minLength: 1
110 type:
111 type: string
112 minLength: 1
113 dnsZone:
114 description: dnsZone is the zone where the record is published.
115 type: object
116 properties:
117 id:
118 description: "id is the identifier that can be used to find the DNS hosted zone. \n on AWS zone can be fetched using `ID` as id in [1] on Azure zone can be fetched using `ID` as a pre-determined name in [2], on GCP zone can be fetched using `ID` as a pre-determined name in [3]. \n [1]: https://docs.aws.amazon.com/cli/latest/reference/route53/get-hosted-zone.html#options [2]: https://docs.microsoft.com/en-us/cli/azure/network/dns/zone?view=azure-cli-latest#az-network-dns-zone-show [3]: https://cloud.google.com/dns/docs/reference/v1/managedZones/get"
119 type: string
120 tags:
121 description: "tags can be used to query the DNS hosted zone. \n on AWS, resourcegroupstaggingapi [1] can be used to fetch a zone using `Tags` as tag-filters, \n [1]: https://docs.aws.amazon.com/cli/latest/reference/resourcegroupstaggingapi/get-resources.html#options"
122 type: object
123 additionalProperties:
124 type: string
125status:
126 acceptedNames:
127 kind: ""
128 plural: ""
129 conditions: []
130 storedVersions: []
View as plain text