dns

package
v0.0.0-...-798ae07 Latest Latest
Warning

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

Go to latest
Published: Jan 2, 2023 License: GPL-2.0 Imports: 5 Imported by: 0

Documentation

Overview

+k8s:deepcopy-gen=package +groupName=dns.vroute.io +groupGoName=dns +genclient

Index

Constants

View Source
const GroupName = "dns.vroute.io"

GroupName is the name of this API group.

Variables

View Source
var (
	// SchemeBuilder points to a list of functions added to Scheme.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme applies all the stored functions to the scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type CloudflareProviderSpec

type CloudflareProviderSpec struct {
	// Specify the secret name to pull credentials from for this backend.
	//
	// This secrets should contain a key cloudflare.api.id and cloudflare.api.key,
	// corresponding to theapi key id and key secret id that are needed to authenticate
	// with the cloudflare API.
	//
	// cloudflare.api.zone is another key that can be used to store the zone id for cloudflare
	// instead of specifying the ZoneId field within this spec object. The ZoneId field will take
	// precedence over any keys that are found in secretName, however.
	SecretName string `json:"secretName" yaml:"secretName"`

	// Specify the zone Id that this provider will manage with the provided API. This field will take
	// priority over an id that was specified in the secret secretName references.
	//
	// +optional
	ZoneId string `json:"zone" yaml:"zone"`
}

CloudflareProviderSpec represents the specifications required for using cloudflare to update/maintain DNS records.

func (*CloudflareProviderSpec) DeepCopy

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

func (*CloudflareProviderSpec) DeepCopyInto

func (in *CloudflareProviderSpec) DeepCopyInto(out *CloudflareProviderSpec)

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

type DNSProvider

type DNSProvider struct {
	metav1.TypeMeta `json:",inline" yaml:",inline"`

	// Standard object metadata.
	// Utilizes the Kubernetes metadata object spec for now.
	metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`

	// Spec is the desired spec of this DNS provider.
	Spec DNSProviderSpec `json:"spec" yaml:"spec"`

	// Status is the current state of this DNS provider on the host.
	//
	// Should not be filled out by the user, will be filled/managed
	// by the server. Can be read by user at runtime.
	Status DNSProviderStatus `json:"status" yaml:"status"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true +k8s:deepcopy-gen=true +genclient +genclient:nonNamespaced DNSProvider represents a provider for implementing DNS records.

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.

type DNSProviderList

type DNSProviderList struct {
	metav1.TypeMeta `json:",inline" yaml:",inline"`

	// +optional
	metav1.ListMeta

	// Items specifies the array of DNS providers.
	Items []DNSProvider `json:"items" yaml:"items"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true +k8s:deepcopy-gen=true +genclient +genclient:nonNamespaced DNSProviderList describes a list of DNS providers.

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 DNSProviderSpec

type DNSProviderSpec struct {

	// Specify a cloudflare provider as the backend for this provider object.
	//
	// +optional
	Cloudflare CloudflareProviderSpec `json:"cloudflare" yaml:"cloudflare"`

	// Specify a route53 provider as the backend for this provider object.
	//
	// +optional
	Route53 Route53ProviderSpec `json:"route53" yaml:"route53"`
}

DNSProviderSpec specifies the desired spec for a DNS provider.

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 {
	// Enabled defines if the provider is enabled and has been verified as working by the control plane.
	Enabled bool `json:"enabled" yaml:"enabled"`

	// Status Defines what the current status of the provider.
	Status ProviderStatus `json:"status" yaml:"status"`

	// StatusString represents a more verbose string status of the provider.
	//
	// +optional
	StatusString string `json:"statusString" yaml:"statusString"`
}

DNSProviderStatus represents the current status for a DNS provider.

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" yaml:",inline"`

	// Standard object metadata.
	// Utilizes the Kubernetes metadata object spec for now.
	metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`

	Spec DNSRecordSpec `json:"spec" yaml:"spec"`

	Status DNSRecordStatus `json:"status" yaml:"status"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true +k8s:deepcopy-gen=true +genclient +genclient:nonNamespaced DNSRecord represents a desired DNS record for some DNS server.

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.

type DNSRecordList

type DNSRecordList struct {
	metav1.TypeMeta `json:",inline" yaml:",inline"`

	// +optional
	metav1.ListMeta

	// Items specifies the array of DNS records.
	Items []DNSRecord `json:"items" yaml:"items"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true +k8s:deepcopy-gen=true +genclient +genclient:nonNamespaced DNSRecordList represents a list of DNS records.

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 {
	// Type specifies the type of this DNS entry. The supported values
	// are notated in the above enum for types.
	Type RecordType `json:"type" yaml:"type"`

	// Specify the hostname that is to be controlled via this record.
	Host string `json:"host" yaml:"host"`

	// Domain notes the domain for this host record.
	Domain string `json:"domain" yaml:"domain"`

	// The value for the record.
	Value string `json:"value" yaml:"value"`

	// Time to live for the record, cannot be negative.
	//
	// +optional
	TTL uint `json:"ttl" yaml:"ttl"`
}

DNSRecordSpec specifies the desired specification for a DNS record.

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 {
	Deployed bool `json:"deployed" yaml:"deployed"`
}

DNSRecordStatus describes the current status of a DNS record.

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 ProviderStatus

type ProviderStatus int

ProviderStatus defines the status of a provider from the perspective of the control plane.

const (
	Available ProviderStatus = iota
	PluginError
	Unavailable
)

Available statuses for provider.

type RecordType

type RecordType string

RecordType defines the type of a DNS record.

const (
	ARecord     RecordType = "A"
	AAAARecord  RecordType = "AAAA"
	CNAMERecord RecordType = "CNAME"
	TXTRecord   RecordType = "TXT"
	SRVRecord   RecordType = "SRV"
	MXRecord    RecordType = "MX"
)

type Route53ProviderSpec

type Route53ProviderSpec struct {
}

Route53ProviderSpec represents the specifications required for using Route 53 from AWS to update/maintain DNS records.

func (*Route53ProviderSpec) DeepCopy

func (in *Route53ProviderSpec) DeepCopy() *Route53ProviderSpec

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

func (*Route53ProviderSpec) DeepCopyInto

func (in *Route53ProviderSpec) DeepCopyInto(out *Route53ProviderSpec)

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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