v1

package
v0.0.0-...-5f3e536 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the dns v1 API group +kubebuilder:object:generate=true +groupName=dns.xzzpig.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "dns.xzzpig.com", 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 AdguardProviderConfig

type AdguardProviderConfig struct {
	URL      string `json:"url"`
	Username string `json:"username,omitempty"`
	Password string `json:"password,omitempty"`
}

func (*AdguardProviderConfig) DeepCopy

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

func (*AdguardProviderConfig) DeepCopyInto

func (in *AdguardProviderConfig) DeepCopyInto(out *AdguardProviderConfig)

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

type AliyunProviderConfig

type AliyunProviderConfig struct {
	// If empty, spec.selector.domain will be used as domain name
	DomainName      string `json:"domainName,omitempty"`
	AccessKeyID     string `json:"accessKeyId"`
	AccessKeySecret string `json:"accessKeySecret"`
	// +kubebuilder:default: dns.aliyuncs.com
	Endpoint string `json:"endpoint,omitempty"`
}

func (*AliyunProviderConfig) DeepCopy

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

func (*AliyunProviderConfig) DeepCopyInto

func (in *AliyunProviderConfig) DeepCopyInto(out *AliyunProviderConfig)

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

type CloudflareProviderConfig

type CloudflareProviderConfig struct {
	// If empty, spec.selector.domain will be used as zone name
	ZoneName string `json:"zoneName,omitempty"`
	APIToken string `json:"apiToken,omitempty"`
	Key      string `json:"key,omitempty"`
	Email    string `json:"email,omitempty"`
	// When creating a Record, if the record already exists in CloudFlare, should it be associated with the existing record? Otherwise, an error will be reported
	MatchExistsRecord bool `json:"matchExistsRecord,omitempty"`
}

func (*CloudflareProviderConfig) DeepCopy

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

func (*CloudflareProviderConfig) DeepCopyInto

func (in *CloudflareProviderConfig) DeepCopyInto(out *CloudflareProviderConfig)

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

type ClusterGenerator

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

	Spec   GeneratorSpec   `json:"spec,omitempty"`
	Status GeneratorStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster +kubebuilder:printcolumn:name="Kind",type=boolean,JSONPath=`.spec.resourceKind` ClusterGenerator is the Schema for the clustergenerators API

func (*ClusterGenerator) DeepCopy

func (in *ClusterGenerator) DeepCopy() *ClusterGenerator

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

func (*ClusterGenerator) DeepCopyInto

func (in *ClusterGenerator) DeepCopyInto(out *ClusterGenerator)

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

func (*ClusterGenerator) DeepCopyObject

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

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

func (*ClusterGenerator) GetSpec

func (g *ClusterGenerator) GetSpec() *GeneratorSpec

func (*ClusterGenerator) GetStatus

func (g *ClusterGenerator) GetStatus() *GeneratorStatus

func (*ClusterGenerator) New

type ClusterGeneratorList

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

ClusterGeneratorList contains a list of ClusterGenerator

func (*ClusterGeneratorList) DeepCopy

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

func (*ClusterGeneratorList) DeepCopyInto

func (in *ClusterGeneratorList) DeepCopyInto(out *ClusterGeneratorList)

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

func (*ClusterGeneratorList) DeepCopyObject

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

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

type ClusterProvider

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

	Spec   ProviderSpec   `json:"spec,omitempty"`
	Status ProviderStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster +kubebuilder:printcolumn:name="Host",type=string,JSONPath=`.spec.selector.domain` +kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.spec.type` +kubebuilder:printcolumn:name="Ready",type=boolean,JSONPath=`.status.ready` +kubebuilder:printcolumn:name="Reason",type=string,JSONPath=`.status.reason`,priority=1 ClusterProvider is the Schema for the clusterproviders API

func (*ClusterProvider) DeepCopy

func (in *ClusterProvider) DeepCopy() *ClusterProvider

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

func (*ClusterProvider) DeepCopyInto

func (in *ClusterProvider) DeepCopyInto(out *ClusterProvider)

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

func (*ClusterProvider) DeepCopyObject

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

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

func (*ClusterProvider) GetSpec

func (p *ClusterProvider) GetSpec() *ProviderSpec

func (*ClusterProvider) GetStatus

func (p *ClusterProvider) GetStatus() *ProviderStatus

func (*ClusterProvider) New

type ClusterProviderList

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

ClusterProviderList contains a list of ClusterProvider

func (*ClusterProviderList) DeepCopy

func (in *ClusterProviderList) DeepCopy() *ClusterProviderList

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

func (*ClusterProviderList) DeepCopyInto

func (in *ClusterProviderList) DeepCopyInto(out *ClusterProviderList)

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

func (*ClusterProviderList) DeepCopyObject

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

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

type ClusterTemplate

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

	Spec   TemplateSpec   `json:"spec,omitempty"`
	Status TemplateStatus `json:"status,omitempty"`
}

ClusterTemplate is the Schema for the clustertemplates API

func (*ClusterTemplate) DeepCopy

func (in *ClusterTemplate) DeepCopy() *ClusterTemplate

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

func (*ClusterTemplate) DeepCopyInto

func (in *ClusterTemplate) DeepCopyInto(out *ClusterTemplate)

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

func (*ClusterTemplate) DeepCopyObject

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

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

type ClusterTemplateList

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

ClusterTemplateList contains a list of ClusterTemplate

func (*ClusterTemplateList) DeepCopy

func (in *ClusterTemplateList) DeepCopy() *ClusterTemplateList

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

func (*ClusterTemplateList) DeepCopyInto

func (in *ClusterTemplateList) DeepCopyInto(out *ClusterTemplateList)

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

func (*ClusterTemplateList) DeepCopyObject

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

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

type DataUpdateStrategy

type DataUpdateStrategy string

When to write back data to record's data field OnCreate: When Job is created OnComplete: After Job is completed OnCompleteOrFailed: After Job is completed or failed +kubebuilder:validation:Enum=OnCreate;OnComplete;OnCompleteOrFailed

const (
	DataUpdateStrategyOnCreate           DataUpdateStrategy = "OnCreate"
	DataUpdateStratagyOnComplete         DataUpdateStrategy = "OnComplete"
	DataUpdateStratagyOnCompleteOrFailed DataUpdateStrategy = "OnCompleteOrFailed"
)

type Generator

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

	Spec   GeneratorSpec   `json:"spec,omitempty"`
	Status GeneratorStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Type",type=boolean,JSONPath=`.spec.resourceKind` Generator is the Schema for the generators API

func (*Generator) DeepCopy

func (in *Generator) DeepCopy() *Generator

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

func (*Generator) DeepCopyInto

func (in *Generator) DeepCopyInto(out *Generator)

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

func (*Generator) DeepCopyObject

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

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

func (*Generator) GetSpec

func (g *Generator) GetSpec() *GeneratorSpec

func (*Generator) GetStatus

func (g *Generator) GetStatus() *GeneratorStatus

func (*Generator) New

func (g *Generator) New() GeneratorObject

type GeneratorList

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

GeneratorList contains a list of Generator

func (*GeneratorList) DeepCopy

func (in *GeneratorList) DeepCopy() *GeneratorList

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

func (*GeneratorList) DeepCopyInto

func (in *GeneratorList) DeepCopyInto(out *GeneratorList)

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

func (*GeneratorList) DeepCopyObject

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

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

type GeneratorObject

+kubebuilder:object:generate=false

type GeneratorResourceKind

type GeneratorResourceKind string

+kubebuilder:validation:Enum=Ingress;Record;Node;Service

const (
	GeneratorResourceKindIngress GeneratorResourceKind = "Ingress"
	GeneratorResourceKindRecord  GeneratorResourceKind = "Record"
	GeneratorResourceKindNode    GeneratorResourceKind = "Node"
	GeneratorResourceKindService GeneratorResourceKind = "Service"
)

type GeneratorSpec

type GeneratorSpec struct {
	Selector     metav1.LabelSelector  `json:"selector,omitempty"`
	ResourceKind GeneratorResourceKind `json:"resourceKind"`
	TemplateRef  string                `json:"templateRef,omitempty"`
	Template     GoTemplateString      `json:"template,omitempty"`
	// +kubebuilder:default:watcher-
	WatcherGenerateName string `json:"watcherGenerateName,omitempty"`
}

GeneratorSpec defines the desired state of Generator

func (*GeneratorSpec) DeepCopy

func (in *GeneratorSpec) DeepCopy() *GeneratorSpec

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

func (*GeneratorSpec) DeepCopyInto

func (in *GeneratorSpec) DeepCopyInto(out *GeneratorSpec)

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

func (*GeneratorSpec) Matches

func (g *GeneratorSpec) Matches(obj client.Object) (bool, error)

type GeneratorStatus

type GeneratorStatus struct {

	// Resources watched by the generator
	Resources         []NamespacedName `json:"resources,omitempty"`
	AppliedGeneration int64            `json:"appliedGeneration,omitempty"`
}

GeneratorStatus defines the observed state of Generator

func (*GeneratorStatus) AddResource

func (s *GeneratorStatus) AddResource(res NamespacedName) (changed bool)

func (*GeneratorStatus) DeepCopy

func (in *GeneratorStatus) DeepCopy() *GeneratorStatus

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

func (*GeneratorStatus) DeepCopyInto

func (in *GeneratorStatus) DeepCopyInto(out *GeneratorStatus)

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

func (*GeneratorStatus) RemoveResource

func (s *GeneratorStatus) RemoveResource(res NamespacedName) (changed bool)

type GoTemplateString

type GoTemplateString string

GoTemplateString is a string that represents a Go template

type JobProviderConfig

type JobProviderConfig struct {
	CreateJobTemplate GoTemplateString `json:"createJobTemplate"`
	// If empty, createJobTemplate will be used
	UpdateJobTemplate GoTemplateString `json:"updateJobTemplate,omitempty"`
	// If empty, createJobTemplate will be used
	DeleteJobTemplate GoTemplateString `json:"deleteJobTemplate,omitempty"`

	DataTemplate       GoTemplateString   `json:"dataTemplate,omitempty"`
	DataUpdateStrategy DataUpdateStrategy `json:"dataUpdateStrategy,omitempty"`
}

func (*JobProviderConfig) DeepCopy

func (in *JobProviderConfig) DeepCopy() *JobProviderConfig

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

func (*JobProviderConfig) DeepCopyInto

func (in *JobProviderConfig) DeepCopyInto(out *JobProviderConfig)

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

type NamespacedName

type NamespacedName struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace,omitempty"`
}

func (*NamespacedName) DeepCopy

func (in *NamespacedName) DeepCopy() *NamespacedName

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

func (*NamespacedName) DeepCopyInto

func (in *NamespacedName) DeepCopyInto(out *NamespacedName)

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

func (*NamespacedName) Equal

func (n *NamespacedName) Equal(other *NamespacedName) bool

func (*NamespacedName) String

func (n *NamespacedName) String() string

type ObjectNewer

type ObjectNewer[T client.Object] interface {
	New() T
}

+kubebuilder:object:generate=false

type ObjectSpec

type ObjectSpec[SPEC any] interface {
	GetSpec() *SPEC
}

+kubebuilder:object:generate=false

type ObjectStatus

type ObjectStatus[STATUS any] interface {
	GetStatus() *STATUS
}

+kubebuilder:object:generate=false

type Provider

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

	Spec   ProviderSpec   `json:"spec,omitempty"`
	Status ProviderStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Host",type=string,JSONPath=`.spec.selector.domain` +kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.spec.type` +kubebuilder:printcolumn:name="Ready",type=boolean,JSONPath=`.status.ready` +kubebuilder:printcolumn:name="Reason",type=string,JSONPath=`.status.reason`,priority=1 Provider is the Schema for the providers API

func (*Provider) DeepCopy

func (in *Provider) DeepCopy() *Provider

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

func (*Provider) DeepCopyInto

func (in *Provider) DeepCopyInto(out *Provider)

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

func (*Provider) DeepCopyObject

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

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

func (*Provider) GetSpec

func (p *Provider) GetSpec() *ProviderSpec

func (*Provider) GetStatus

func (p *Provider) GetStatus() *ProviderStatus

func (*Provider) New

func (p *Provider) New() ProviderObject

type ProviderList

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

ProviderList contains a list of Provider

func (*ProviderList) DeepCopy

func (in *ProviderList) DeepCopy() *ProviderList

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

func (*ProviderList) DeepCopyInto

func (in *ProviderList) DeepCopyInto(out *ProviderList)

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

func (*ProviderList) DeepCopyObject

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

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

type ProviderObject

+kubebuilder:object:generate=false

type ProviderSelector

type ProviderSelector struct {
	// Records which has the same domain (suffix) will be managed by this provider, should not start with a dot (.)
	Domain               string `json:"domain,omitempty"`
	metav1.LabelSelector `json:",inline"`
}

func (*ProviderSelector) DeepCopy

func (in *ProviderSelector) DeepCopy() *ProviderSelector

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

func (*ProviderSelector) DeepCopyInto

func (in *ProviderSelector) DeepCopyInto(out *ProviderSelector)

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

func (*ProviderSelector) Matches

func (s *ProviderSelector) Matches(record *Record) (bool, error)

type ProviderSpec

type ProviderSpec struct {
	Type       ProviderType              `json:"type"`
	Selector   ProviderSelector          `json:"selector,omitempty"`
	Aliyun     *AliyunProviderConfig     `json:"aliyun,omitempty"`
	Cloudflare *CloudflareProviderConfig `json:"cloudflare,omitempty"`
	Job        *JobProviderConfig        `json:"job,omitempty"`
	Adguard    *AdguardProviderConfig    `json:"adguard,omitempty"`
}

ProviderSpec defines the desired state of Provider

func (*ProviderSpec) DeepCopy

func (in *ProviderSpec) DeepCopy() *ProviderSpec

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

func (*ProviderSpec) DeepCopyInto

func (in *ProviderSpec) DeepCopyInto(out *ProviderSpec)

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

type ProviderStatus

type ProviderStatus struct {
	Ready  bool   `json:"ready"`
	Reason string `json:"reason,omitempty"`
}

ProviderStatus defines the observed state of Provider

func (*ProviderStatus) DeepCopy

func (in *ProviderStatus) DeepCopy() *ProviderStatus

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

func (*ProviderStatus) DeepCopyInto

func (in *ProviderStatus) DeepCopyInto(out *ProviderStatus)

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

type ProviderType

type ProviderType string

+kubebuilder:validation:Enum=ALIYUN;CLOUDFLARE;JOB;ADGUARD

const (
	ProviderTypeAliyun     ProviderType = "ALIYUN"
	ProviderTypeCloudflare ProviderType = "CLOUDFLARE"
	ProviderTypeJob        ProviderType = "JOB"
	ProviderTypeAdguard    ProviderType = "ADGUARD"
)

type Record

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

	Spec   RecordSpec   `json:"spec,omitempty"`
	Status RecordStatus `json:"status,omitempty"`
}

Record is the Schema for the records API

func (*Record) DeepCopy

func (in *Record) DeepCopy() *Record

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

func (*Record) DeepCopyInto

func (in *Record) DeepCopyInto(out *Record)

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

func (*Record) DeepCopyObject

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

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

type RecordList

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

RecordList contains a list of Record

func (*RecordList) DeepCopy

func (in *RecordList) DeepCopy() *RecordList

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

func (*RecordList) DeepCopyInto

func (in *RecordList) DeepCopyInto(out *RecordList)

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

func (*RecordList) DeepCopyObject

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

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

func (*RecordList) Get

func (r *RecordList) Get(namespace, name string) *Record

type RecordProviderStatus

type RecordProviderStatus struct {
	NamespacedName `json:",inline"`
	RecordID       string `json:"recordID"`
	Message        string `json:"message,omitempty"`
	Data           string `json:"data,omitempty"`
	Checked        bool   `json:"-"`
}

func (*RecordProviderStatus) DeepCopy

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

func (*RecordProviderStatus) DeepCopyInto

func (in *RecordProviderStatus) DeepCopyInto(out *RecordProviderStatus)

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

func (*RecordProviderStatus) Error

func (s *RecordProviderStatus) Error(id, data string, err error)

func (*RecordProviderStatus) Success

func (s *RecordProviderStatus) Success(id, data string)

type RecordSpec

type RecordSpec struct {
	Name  string            `json:"name"`
	Type  RecordType        `json:"type"`
	Value string            `json:"value"`
	TTL   int               `json:"ttl,omitempty"`
	Extra map[string]string `json:"extra,omitempty"`
}

RecordSpec defines the desired state of Record

func (*RecordSpec) DeepCopy

func (in *RecordSpec) DeepCopy() *RecordSpec

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

func (*RecordSpec) DeepCopyInto

func (in *RecordSpec) DeepCopyInto(out *RecordSpec)

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

func (*RecordSpec) ExtraBool

func (r *RecordSpec) ExtraBool(key string) *bool

func (*RecordSpec) ExtraString

func (r *RecordSpec) ExtraString(key string) *string

func (*RecordSpec) ExtraStrings

func (r *RecordSpec) ExtraStrings(key string) []string

type RecordStatus

type RecordStatus struct {
	Checked   bool                    `json:"-"`
	AllReady  bool                    `json:"allReady"`
	Message   string                  `json:"message,omitempty"`
	Providers []*RecordProviderStatus `json:"providers,omitempty"`
}

RecordStatus defines the observed state of Record

func (*RecordStatus) DeepCopy

func (in *RecordStatus) DeepCopy() *RecordStatus

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

func (*RecordStatus) DeepCopyInto

func (in *RecordStatus) DeepCopyInto(out *RecordStatus)

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

func (*RecordStatus) FindProviderStatus

func (s *RecordStatus) FindProviderStatus(p NamespacedName) *RecordProviderStatus

type RecordType

type RecordType string

+kubebuilder:validation:Enum=A;CNAME;TXT;MX;SRV;AAAA;NS;CAA

const (
	RecordTypeA     RecordType = "A"
	RecordTypeCNAME RecordType = "CNAME"
	RecordTypeTXT   RecordType = "TXT"
	RecordTypeMX    RecordType = "MX"
	RecordTypeSRV   RecordType = "SRV"
	RecordTypeAAAA  RecordType = "AAAA"
	RecordTypeNS    RecordType = "NS"
	RecordTypeCAA   RecordType = "CAA"
)

type ResourceWatcher

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

	Spec   ResourceWatcherSpec   `json:"spec,omitempty"`
	Status ResourceWatcherStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Resource",type=string,JSONPath=".spec.resource.name" +kubebuilder:printcolumn:name="Ready",type=boolean,JSONPath=".status.ready" +kubebuilder:printcolumn:name="Reason",type=string,JSONPath=".status.reason" ResourceWatcher is the Schema for the resourcewatchers API

func (*ResourceWatcher) DeepCopy

func (in *ResourceWatcher) DeepCopy() *ResourceWatcher

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

func (*ResourceWatcher) DeepCopyInto

func (in *ResourceWatcher) DeepCopyInto(out *ResourceWatcher)

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

func (*ResourceWatcher) DeepCopyObject

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

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

type ResourceWatcherList

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

ResourceWatcherList contains a list of ResourceWatcher

func (*ResourceWatcherList) DeepCopy

func (in *ResourceWatcherList) DeepCopy() *ResourceWatcherList

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

func (*ResourceWatcherList) DeepCopyInto

func (in *ResourceWatcherList) DeepCopyInto(out *ResourceWatcherList)

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

func (*ResourceWatcherList) DeepCopyObject

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

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

func (*ResourceWatcherList) Get

type ResourceWatcherSpec

type ResourceWatcherSpec struct {
	Resource NamespacedName `json:"resource"`
}

ResourceWatcherSpec defines the desired state of ResourceWatcher

func (*ResourceWatcherSpec) DeepCopy

func (in *ResourceWatcherSpec) DeepCopy() *ResourceWatcherSpec

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

func (*ResourceWatcherSpec) DeepCopyInto

func (in *ResourceWatcherSpec) DeepCopyInto(out *ResourceWatcherSpec)

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

type ResourceWatcherStatus

type ResourceWatcherStatus struct {
	Ready     bool            `json:"ready"`
	Reason    string          `json:"reason,omitempty"`
	Checked   bool            `json:"-"`
	Resources []WatchResource `json:"resources"`
}

ResourceWatcherStatus defines the observed state of ResourceWatcher

func (*ResourceWatcherStatus) AddResource

func (s *ResourceWatcherStatus) AddResource(kind WatchResourceKind, namespace, name string)

func (*ResourceWatcherStatus) DeepCopy

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

func (*ResourceWatcherStatus) DeepCopyInto

func (in *ResourceWatcherStatus) DeepCopyInto(out *ResourceWatcherStatus)

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

type Template

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

	Spec   TemplateSpec   `json:"spec,omitempty"`
	Status TemplateStatus `json:"status,omitempty"`
}

Template is the Schema for the templates API

func (*Template) DeepCopy

func (in *Template) DeepCopy() *Template

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

func (*Template) DeepCopyInto

func (in *Template) DeepCopyInto(out *Template)

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

func (*Template) DeepCopyObject

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

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

type TemplateList

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

TemplateList contains a list of Template

func (*TemplateList) DeepCopy

func (in *TemplateList) DeepCopy() *TemplateList

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

func (*TemplateList) DeepCopyInto

func (in *TemplateList) DeepCopyInto(out *TemplateList)

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

func (*TemplateList) DeepCopyObject

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

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

type TemplateSpec

type TemplateSpec struct {
	Template GoTemplateString `json:"template"`
}

TemplateSpec defines the desired state of Template

func (*TemplateSpec) DeepCopy

func (in *TemplateSpec) DeepCopy() *TemplateSpec

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

func (*TemplateSpec) DeepCopyInto

func (in *TemplateSpec) DeepCopyInto(out *TemplateSpec)

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

type TemplateStatus

type TemplateStatus struct {
}

TemplateStatus defines the observed state of Template

func (*TemplateStatus) DeepCopy

func (in *TemplateStatus) DeepCopy() *TemplateStatus

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

func (*TemplateStatus) DeepCopyInto

func (in *TemplateStatus) DeepCopyInto(out *TemplateStatus)

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

type WatchResource

type WatchResource struct {
	NamespacedName `json:",inline"`
	Kind           WatchResourceKind `json:"kind"`
}

func (*WatchResource) DeepCopy

func (in *WatchResource) DeepCopy() *WatchResource

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

func (*WatchResource) DeepCopyInto

func (in *WatchResource) DeepCopyInto(out *WatchResource)

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

func (*WatchResource) String

func (r *WatchResource) String() string

type WatchResourceKind

type WatchResourceKind string
const (
	WatchResourceKindTemplate        WatchResourceKind = "Template"
	WatchResourceKindClusterTemplate WatchResourceKind = "ClusterTemplate"
	WatchResourceKindNamespace       WatchResourceKind = "Namespace"
	WatchResourceKindIngress         WatchResourceKind = "Ingress"
	WatchResourceKindService         WatchResourceKind = "Service"
	WatchResourceKindEndpoints       WatchResourceKind = "Endpoints"
	WatchResourceKindNode            WatchResourceKind = "Node"
	WatchResourceKindPod             WatchResourceKind = "Pod"
	WatchResourceKindRecord          WatchResourceKind = "Record"
)

Jump to

Keyboard shortcuts

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