v1alpha1

package
v0.0.0-...-823a405 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 22, 2021 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the dns v1alpha1 API group +kubebuilder:object:generate=true +groupName=dns.k8s.marcocameriero.net

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "dns.k8s.marcocameriero.net", Version: "v1alpha1"}

	// 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 Condition

type Condition struct {
	Type               ConditionType   `json:"type"`
	Status             ConditionStatus `json:"status"`
	Reason             string          `json:"reason,omitempty"`
	Message            string          `json:"message,omitempty"`
	LastTransitionTime metav1.Time     `json:"lastTransitionTime,omitempty"`
	LastUpdateTime     metav1.Time     `json:"lastUpdateTime,omitempty"`
}

Condition represents the state of a resource at a certain point in time. Examples of conditions are `Ready` or `Succeeded`.

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConditionStatus

type ConditionStatus string

ConditionStatus represents the possible values of a condition: True, False or Unknown.

const (
	TrueStatus    ConditionStatus = "True"
	FalseStatus   ConditionStatus = "False"
	UnknownStatus ConditionStatus = "Unknown"
)

ConditionStatus represents the possible values of a condition: True, False or Unknown.

type ConditionType

type ConditionType string

ConditionType enumerates the possible values of the field `Type` of a condition.

const (
	// ReadyCondition represents the `Ready` condition.
	ReadyCondition ConditionType = "Ready"
)

type DNSProvider

type DNSProvider struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DNSProviderSpec   `json:"spec,omitempty"`
	Status DNSProviderStatus `json:"status,omitempty"`
}

DNSProvider is the Schema for the dnsproviders API

func (*DNSProvider) DeepCopy

func (in *DNSProvider) DeepCopy() *DNSProvider

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProvider.

func (*DNSProvider) DeepCopyInto

func (in *DNSProvider) DeepCopyInto(out *DNSProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DNSProvider) DeepCopyObject

func (in *DNSProvider) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DNSProvider) GetProviderType

func (resource *DNSProvider) GetProviderType() (string, error)

GetProviderType returns a string representing the type of the provider represented by this resource.

type DNSProviderCloudflare

type DNSProviderCloudflare struct {
	// Email owner of the Cloudflare account, required only if using an API Key.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Format=email
	// +optional
	Email *string `json:"email,omitempty"`

	// Reference to a secret containing the API Token to use for authentication.
	// One between `apiTokenSecretRef` and `apiKeySecretRef` must be present.
	// +optional
	APITokenSecretRef *SecretReference `json:"apiTokenSecretRef,omitempty"`

	// Reference to a secret containing the API Key to use for authentication.
	// One between `apiTokenSecretRef` and `apiKeySecretRef` must be present.
	// +optional
	APIKeySecretRef *SecretReference `json:"apiKeySecretRef,omitempty"`

	// If true, marks all records as proxied by default.
	// Defaults to true.
	// +optional
	ProxiedByDefault *bool `json:"proxiedByDefault,omitempty"`
}

DNSProviderCloudflare is a structure containing the configuration of the Cloudflare provider. The Cloudflare provider can be configured using either an API Token, or an API Key.

func (*DNSProviderCloudflare) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProviderCloudflare.

func (*DNSProviderCloudflare) DeepCopyInto

func (in *DNSProviderCloudflare) DeepCopyInto(out *DNSProviderCloudflare)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNSProviderList

type DNSProviderList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []DNSProvider `json:"items"`
}

DNSProviderList contains a list of DNSProvider

func (*DNSProviderList) DeepCopy

func (in *DNSProviderList) DeepCopy() *DNSProviderList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProviderList.

func (*DNSProviderList) DeepCopyInto

func (in *DNSProviderList) DeepCopyInto(out *DNSProviderList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DNSProviderList) DeepCopyObject

func (in *DNSProviderList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DNSProviderRFC2136

type DNSProviderRFC2136 struct {
	// The IP address or hostname of an authoritative DNS server supporting
	// RFC2136 in the form host:port. If the host is an IPv6 address it must be
	// enclosed in square brackets (e.g [2001:db8::1]) ; port is optional.
	// This field is required.
	Nameserver string `json:"nameserver"`

	// The name of the secret containing the TSIG value.
	// If any of the “tsig*“ fields is defined, this field is required.
	// +optional
	TSIGSecretRef *SecretReference `json:"tsigSecretRef,omitempty"`

	// The TSIG Key name configured in the DNS.
	// If any of the “tsig*“ fields is defined, this field is required.
	// +optional
	TSIGKeyName *string `json:"tsigKeyName,omitempty"`

	// The TSIG Algorithm configured in the DNS supporting RFC2136. Used only
	// when “tsigSecretSecretRef“ and “tsigKeyName“ are defined.
	// Supported values are (case-insensitive): “HMACMD5“,
	// “HMACSHA1“, “HMACSHA256“ or “HMACSHA512“.
	// +optional
	TSIGAlgorithm *string `json:"tsigAlgorithm,omitempty"`
}

DNSProviderRFC2136 is a structure containing the configuration for RFC2136 DNS provider.

func (*DNSProviderRFC2136) DeepCopy

func (in *DNSProviderRFC2136) DeepCopy() *DNSProviderRFC2136

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProviderRFC2136.

func (*DNSProviderRFC2136) DeepCopyInto

func (in *DNSProviderRFC2136) DeepCopyInto(out *DNSProviderRFC2136)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNSProviderSpec

type DNSProviderSpec struct {

	// DNS zones handled by this provider.
	// At least one zone must be present.
	// +kubebuilder:validation:MinItems=1
	Zones []dnsname.Name `json:"zones"`

	// Dummy provider used for debugging.
	// +optional
	Dummy *bool `json:"dummy,omitempty"`

	// Use RFC2136 ("Dynamic Updates in the Domain Name System") (https://datatracker.ietf.org/doc/rfc2136/) to manage records.
	// +optional
	RFC2136 *DNSProviderRFC2136 `json:"rfc2136,omitempty"`

	// Use Cloudflare to manage records.
	// +optional
	Cloudflare *DNSProviderCloudflare `json:"cloudflare,omitempty"`
}

DNSProviderSpec defines the desired state of DNSProvider. Only one of the providers can be configured.

func (*DNSProviderSpec) DeepCopy

func (in *DNSProviderSpec) DeepCopy() *DNSProviderSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProviderSpec.

func (*DNSProviderSpec) DeepCopyInto

func (in *DNSProviderSpec) DeepCopyInto(out *DNSProviderSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNSProviderStatus

type DNSProviderStatus struct {
	StatusWithConditions `json:",inline"`
}

DNSProviderStatus defines the observed state of DNSProvider

func (*DNSProviderStatus) DeepCopy

func (in *DNSProviderStatus) DeepCopy() *DNSProviderStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProviderStatus.

func (*DNSProviderStatus) DeepCopyInto

func (in *DNSProviderStatus) DeepCopyInto(out *DNSProviderStatus)

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

func (*DNSRecord) DeepCopy

func (in *DNSRecord) DeepCopy() *DNSRecord

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecord.

func (*DNSRecord) DeepCopyInto

func (in *DNSRecord) DeepCopyInto(out *DNSRecord)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DNSRecord) DeepCopyObject

func (in *DNSRecord) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DNSRecord) RType

func (resource *DNSRecord) RType() string

RType returns the type of DNS record that this resource represents.

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 DNSRecordSetData

type DNSRecordSetData struct {
	// A record.
	// +kubebuilder:validation:MinItems=1
	// +optional
	A []Ipv4String `json:"a,omitempty"`

	// AAAA record.
	// +kubebuilder:validation:MinItems=1
	// +optional
	AAAA []Ipv6String `json:"aaaa,omitempty"`

	// MX record.
	// +kubebuilder:validation:MinItems=1
	// +optional
	MX []MXRData `json:"mx,omitempty"`

	// CNAME record.
	// +kubebuilder:validation:MinItems=1
	// +optional
	CNAME []dnsname.Name `json:"cname,omitempty"`

	// TXT record.
	// +kubebuilder:validation:MinItems=1
	// +optional
	TXT []string `json:"txt,omitempty"`
}

DNSRecordSetData represents the actual contents of a DNS record. Only one of these can be set.

func (*DNSRecordSetData) DeepCopy

func (in *DNSRecordSetData) DeepCopy() *DNSRecordSetData

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSRecordSetData.

func (*DNSRecordSetData) DeepCopyInto

func (in *DNSRecordSetData) DeepCopyInto(out *DNSRecordSetData)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNSRecordSpec

type DNSRecordSpec struct {
	// Reference to the DNSProvider managing this DNSRecord.
	ProviderRef ObjectReference `json:"providerRef"`

	// Name of the DNS record.
	// This field is required.
	Name dnsname.Name `json:"name"`

	// RRSet contains the actual contents of the DNS record.
	// The meaning of the rdata field depends on the type of record.
	// This field is required.
	RRSet DNSRecordSetData `json:"rrset"`

	// TTL in seconds of the DNS record. Defaults to 1h.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=604800
	// +optional
	TTLSeconds *uint32 `json:"ttlSeconds,omitempty"`

	// Specifies how to treat deletion of this DNSRecord.
	// Valid values are:
	// - "Delete" (default): actually delete the corresponding DNS record managed by this resource;
	// - "Retain": keep the published DNS record even after this resource is deleted.
	// +optional
	DeletionPolicy *DeletionPolicy `json:"deletionPolicy,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 DNSRecordStatus

type DNSRecordStatus struct {
	StatusWithConditions `json:",inline"`
}

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 DeletionPolicy

type DeletionPolicy string

DeletionPolicy describes how the DNSRecord resource deletion will propagate to the underlying actual DNS record. Only one of the following concurrent policies may be specified. If none of the following policies is specified, the default one is Delete. +kubebuilder:validation:Enum=Delete;Retain

const (
	// DeletePolicy propagates the deletion of the DNSRecord resource to the underlying actual DNS record.
	DeletePolicy DeletionPolicy = "Delete"

	// RetainPolicy does not delete the actual DNS record when the DNSRecord resource is deleted.
	RetainPolicy DeletionPolicy = "Retain"
)

type Ipv4String

type Ipv4String string

Ipv4String is a string containing an IPv4 address. +kubebuilder:validation:Format=ipv4

func (*Ipv4String) String

func (str *Ipv4String) String() string

type Ipv6String

type Ipv6String string

Ipv6String is a string containing an IPv6 address. +kubebuilder:validation:Format=ipv6

func (*Ipv6String) String

func (str *Ipv6String) String() string

type MXRData

type MXRData struct {
	Preference uint16       `json:"preference"`
	Host       dnsname.Name `json:"host"`
}

MXRData represents the contents of an MX DNS record.

func (*MXRData) DeepCopy

func (in *MXRData) DeepCopy() *MXRData

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MXRData.

func (*MXRData) DeepCopyInto

func (in *MXRData) DeepCopyInto(out *MXRData)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ObjectReference

type ObjectReference struct {
	// Name of the resource being referred.
	Name string `json:"name"`

	// Name of the namespace of the resource being referred.
	// +optional
	Namespace *string `json:"namespace,omitempty"`
}

ObjectReference is a reference to an object in a (possibly another) namespace.

func (*ObjectReference) DeepCopy

func (in *ObjectReference) DeepCopy() *ObjectReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReference.

func (*ObjectReference) DeepCopyInto

func (in *ObjectReference) DeepCopyInto(out *ObjectReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretReference

type SecretReference struct {
	// The name of the Secret resource being referred to.
	ObjectReference `json:",inline"`

	// The key of the entry in the Secret resource's `data` field to be used.
	Key string `json:"key,omitempty"`
}

SecretReference is a reference to a specific secret.

func (*SecretReference) DeepCopy

func (in *SecretReference) DeepCopy() *SecretReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReference.

func (*SecretReference) DeepCopyInto

func (in *SecretReference) DeepCopyInto(out *SecretReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusWithConditions

type StatusWithConditions struct {
	Conditions []Condition `json:"conditions,omitempty"`
}

StatusWithConditions marks a status subresource which exposes a list of conditions.

func (*StatusWithConditions) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusWithConditions.

func (*StatusWithConditions) DeepCopyInto

func (in *StatusWithConditions) DeepCopyInto(out *StatusWithConditions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StatusWithConditions) GetCondition

func (status *StatusWithConditions) GetCondition(conditionType ConditionType) int

GetCondition returns the index of the condition of type `conditionType` included in the given status subresource. Returns -1 if no condition is found.

func (*StatusWithConditions) SetCondition

func (status *StatusWithConditions) SetCondition(condition *Condition)

SetCondition sets the value of a condition on a status subresource.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL