Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the source v1 API group +kubebuilder:object:generate=true +groupName=cloudflare-operator.io
Package v1 contains API Schema definitions for the cf v1 API group +kubebuilder:object:generate=true +groupName=cloudflare-operator.io
Index ¶
- Variables
- type Account
- type AccountList
- type AccountSpec
- type AccountSpecApiToken
- type AccountStatus
- type AccountStatusZones
- type DNSRecord
- type DNSRecordList
- type DNSRecordSpec
- type DNSRecordSpecIPRef
- type DNSRecordStatus
- type IP
- type IPList
- type IPSpec
- type IPSpecIPSources
- type IPStatus
- type Zone
- type ZoneList
- type ZoneSpec
- type ZoneStatus
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "cloudflare-operator.io", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type Account ¶
type Account struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AccountSpec `json:"spec,omitempty"`
Status AccountStatus `json:"status,omitempty"`
}
Account is the Schema for the accounts API +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type == "Ready")].status`
func (*Account) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Account.
func (*Account) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Account) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AccountList ¶
type AccountList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Account `json:"items"`
}
AccountList contains a list of Account
func (*AccountList) DeepCopy ¶
func (in *AccountList) DeepCopy() *AccountList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountList.
func (*AccountList) DeepCopyInto ¶
func (in *AccountList) DeepCopyInto(out *AccountList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AccountList) DeepCopyObject ¶
func (in *AccountList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AccountSpec ¶
type AccountSpec struct {
// Cloudflare API token
ApiToken AccountSpecApiToken `json:"apiToken"`
// Interval to check account status
// +kubebuilder:default="5m"
// +optional
Interval metav1.Duration `json:"interval,omitempty"`
// List of zone names that should be managed by cloudflare-operator
// +optional
ManagedZones []string `json:"managedZones,omitempty"`
}
AccountSpec defines the desired state of Account
func (*AccountSpec) DeepCopy ¶
func (in *AccountSpec) DeepCopy() *AccountSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountSpec.
func (*AccountSpec) DeepCopyInto ¶
func (in *AccountSpec) DeepCopyInto(out *AccountSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccountSpecApiToken ¶
type AccountSpecApiToken struct {
// Secret containing the API token (key must be named "apiToken")
SecretRef corev1.SecretReference `json:"secretRef"`
}
func (*AccountSpecApiToken) DeepCopy ¶
func (in *AccountSpecApiToken) DeepCopy() *AccountSpecApiToken
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountSpecApiToken.
func (*AccountSpecApiToken) DeepCopyInto ¶
func (in *AccountSpecApiToken) DeepCopyInto(out *AccountSpecApiToken)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccountStatus ¶
type AccountStatus struct {
// Conditions contains the different condition statuses for the Account object.
// +optional
Conditions []metav1.Condition `json:"conditions"`
// Zones contains all the zones of the Account
// +optional
Zones []AccountStatusZones `json:"zones,omitempty"`
}
AccountStatus defines the observed state of Account
func (*AccountStatus) DeepCopy ¶
func (in *AccountStatus) DeepCopy() *AccountStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountStatus.
func (*AccountStatus) DeepCopyInto ¶
func (in *AccountStatus) DeepCopyInto(out *AccountStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccountStatusZones ¶
type AccountStatusZones struct {
// Name of the zone
// +optional
Name string `json:"name,omitempty"`
// ID of the zone
// +optional
ID string `json:"id,omitempty"`
}
func (*AccountStatusZones) DeepCopy ¶
func (in *AccountStatusZones) DeepCopy() *AccountStatusZones
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccountStatusZones.
func (*AccountStatusZones) DeepCopyInto ¶
func (in *AccountStatusZones) DeepCopyInto(out *AccountStatusZones)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSRecord ¶
type DNSRecord struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DNSRecordSpec `json:"spec,omitempty"`
Status DNSRecordStatus `json:"status,omitempty"`
}
DNSRecord is the Schema for the dnsrecords API +kubebuilder:printcolumn:name="Record Name",type="string",JSONPath=".spec.name" +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".spec.type" +kubebuilder:printcolumn:name="Content",type="string",JSONPath=".spec.content",priority=1 +kubebuilder:printcolumn:name="Proxied",type="boolean",JSONPath=".spec.proxied",priority=1 +kubebuilder:printcolumn:name="TTL",type="integer",JSONPath=".spec.ttl",priority=1 +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type == "Ready")].status`
func (*DNSRecord) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecord.
func (*DNSRecord) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSRecord) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DNSRecordList ¶
type DNSRecordList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DNSRecord `json:"items"`
}
DNSRecordList contains a list of DNSRecord
func (*DNSRecordList) DeepCopy ¶
func (in *DNSRecordList) DeepCopy() *DNSRecordList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordList.
func (*DNSRecordList) DeepCopyInto ¶
func (in *DNSRecordList) DeepCopyInto(out *DNSRecordList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSRecordList) DeepCopyObject ¶
func (in *DNSRecordList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DNSRecordSpec ¶
type DNSRecordSpec struct {
// DNS record name (e.g. example.com)
// +kubebuilder:validation:MaxLength=255
Name string `json:"name"`
// DNS record content (e.g. 127.0.0.1)
// +optional
Content string `json:"content,omitempty"`
// Reference to an IP object
// +optional
IPRef DNSRecordSpecIPRef `json:"ipRef,omitempty"`
// DNS record type
// +kubebuilder:default=A
// +optional
Type string `json:"type,omitempty"`
// Whether the record is receiving the performance and security benefits of Cloudflare
// +kubebuilder:default=true
// +optional
Proxied *bool `json:"proxied,omitempty"`
// Time to live, in seconds, of the DNS record. Must be between 60 and 86400, or 1 for 'automatic' (e.g. 3600)
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=86400
// +kubebuilder:default=1
// +optional
TTL int `json:"ttl,omitempty"`
// Data holds arbitrary key-value pairs used to further configure the DNS record
// +optional
Data *apiextensionsv1.JSON `json:"data,omitempty"`
// Required for MX, SRV and URI records; unused by other record types. Records with lower priorities are preferred.
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=65535
// +optional
Priority *uint16 `json:"priority,omitempty"`
// Interval to check DNSRecord
// +kubebuilder:default="5m"
// +optional
Interval metav1.Duration `json:"interval,omitempty"`
}
DNSRecordSpec defines the desired state of DNSRecord
func (*DNSRecordSpec) DeepCopy ¶
func (in *DNSRecordSpec) DeepCopy() *DNSRecordSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordSpec.
func (*DNSRecordSpec) DeepCopyInto ¶
func (in *DNSRecordSpec) DeepCopyInto(out *DNSRecordSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSRecordSpecIPRef ¶
type DNSRecordSpecIPRef struct {
// Name of the IP object
// +optional
Name string `json:"name,omitempty"`
}
func (*DNSRecordSpecIPRef) DeepCopy ¶
func (in *DNSRecordSpecIPRef) DeepCopy() *DNSRecordSpecIPRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordSpecIPRef.
func (*DNSRecordSpecIPRef) DeepCopyInto ¶
func (in *DNSRecordSpecIPRef) DeepCopyInto(out *DNSRecordSpecIPRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSRecordStatus ¶
type DNSRecordStatus struct {
// Conditions contains the different condition statuses for the DNSRecord object.
// +optional
Conditions []metav1.Condition `json:"conditions"`
// Cloudflare DNS record ID
// +optional
RecordID string `json:"recordID,omitempty"`
}
DNSRecordStatus defines the observed state of DNSRecord
func (*DNSRecordStatus) DeepCopy ¶
func (in *DNSRecordStatus) DeepCopy() *DNSRecordStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordStatus.
func (*DNSRecordStatus) DeepCopyInto ¶
func (in *DNSRecordStatus) DeepCopyInto(out *DNSRecordStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IP ¶
type IP struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec IPSpec `json:"spec,omitempty"`
Status IPStatus `json:"status,omitempty"`
}
IP is the Schema for the ips API +kubebuilder:printcolumn:name="Address",type="string",JSONPath=".spec.address" +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".spec.type" +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type == "Ready")].status`
func (*IP) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IP.
func (*IP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IP) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPList ¶
type IPList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []IP `json:"items"`
}
IPList contains a list of IP
func (*IPList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPList.
func (*IPList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPSpec ¶
type IPSpec struct {
// IP address (omit if type is dynamic)
// +optional
Address string `json:"address,omitempty"`
// IP address type (static or dynamic)
// +kubebuilder:validation:Enum=static;dynamic
// +kubebuilder:default=static
// +optional
Type string `json:"type,omitempty"`
// Interval at which a dynamic IP should be checked
// +optional
Interval *metav1.Duration `json:"interval,omitempty"`
// IPSources can be configured to get an IP from an external source (e.g. an API or public IP echo service)
// +optional
IPSources []IPSpecIPSources `json:"ipSources,omitempty"`
}
IPSpec defines the desired state of IP
func (*IPSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPSpec.
func (*IPSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPSpecIPSources ¶
type IPSpecIPSources struct {
// URL of the IP source (e.g. https://checkip.amazonaws.com)
// +optional
URL string `json:"url,omitempty"`
// RequestBody to be sent to the URL
// +optional
RequestBody string `json:"requestBody,omitempty"`
// RequestHeaders to be sent to the URL
// +optional
RequestHeaders *apiextensionsv1.JSON `json:"requestHeaders,omitempty"`
// RequestHeadersSecretRef is a secret reference to the headers to be sent to the URL (e.g. for authentication)
// where the key is the header name and the value is the header value
// +optional
RequestHeadersSecretRef corev1.SecretReference `json:"requestHeadersSecretRef,omitempty"`
// RequestMethod defines the HTTP method to be used
// +kubebuilder:validation:Enum=GET;POST;PUT;DELETE
// +kubebuilder:default=GET
RequestMethod string `json:"requestMethod,omitempty"`
// ResponseJQFilter applies a JQ filter to the response to extract the IP
// +optional
ResponseJQFilter string `json:"responseJQFilter,omitempty"`
// PostProcessingRegex defines the regular expression to be used to extract the IP from the response or a JQ filter result
// +optional
PostProcessingRegex string `json:"postProcessingRegex,omitempty"`
// InsecureSkipVerify defines whether to skip TLS certificate verification
// +optional
InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
}
func (*IPSpecIPSources) DeepCopy ¶
func (in *IPSpecIPSources) DeepCopy() *IPSpecIPSources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPSpecIPSources.
func (*IPSpecIPSources) DeepCopyInto ¶
func (in *IPSpecIPSources) DeepCopyInto(out *IPSpecIPSources)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPStatus ¶
type IPStatus struct {
// Conditions contains the different condition statuses for the IP object.
// +optional
Conditions []metav1.Condition `json:"conditions"`
// LastObservedIP contains the IP address observed at the last interval (used to determine whether the IP has changed)
// +optional
LastObservedIP string `json:"lastObservedIP,omitempty"`
}
IPStatus defines the observed state of IP
func (*IPStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPStatus.
func (*IPStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Zone ¶
type Zone struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ZoneSpec `json:"spec,omitempty"`
Status ZoneStatus `json:"status,omitempty"`
}
Zone is the Schema for the zones API +kubebuilder:printcolumn:name="Zone Name",type="string",JSONPath=".spec.name" +kubebuilder:printcolumn:name="ID",type="string",JSONPath=".spec.id" +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type == "Ready")].status`
func (*Zone) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Zone.
func (*Zone) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Zone) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ZoneList ¶
type ZoneList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Zone `json:"items"`
}
ZoneList contains a list of Zone
func (*ZoneList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZoneList.
func (*ZoneList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ZoneList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ZoneSpec ¶
type ZoneSpec struct {
// Name of the zone
Name string `json:"name"`
// ID of the zone
ID string `json:"id"`
// Interval to check zone status
// +kubebuilder:default="5m"
// +optional
Interval metav1.Duration `json:"interval,omitempty"`
}
ZoneSpec defines the desired state of Zone
func (*ZoneSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZoneSpec.
func (*ZoneSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ZoneStatus ¶
type ZoneStatus struct {
// Conditions contains the different condition statuses for the Zone object.
// +optional
Conditions []metav1.Condition `json:"conditions"`
}
ZoneStatus defines the observed state of Zone
func (*ZoneStatus) DeepCopy ¶
func (in *ZoneStatus) DeepCopy() *ZoneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZoneStatus.
func (*ZoneStatus) DeepCopyInto ¶
func (in *ZoneStatus) DeepCopyInto(out *ZoneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.