Documentation
¶
Overview ¶
+k8s:deepcopy-gen=package +groupName=dns.vroute.io +groupGoName=dns +genclient
Index ¶
- Constants
- Variables
- func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
- func Kind(kind string) schema.GroupKind
- func RegisterDefaults(scheme *runtime.Scheme) error
- func Resource(resource string) schema.GroupResource
- type CloudflareProviderSpec
- type DNSProvider
- type DNSProviderList
- type DNSProviderSpec
- type DNSProviderStatus
- type DNSRecord
- type DNSRecordList
- type DNSRecordSpec
- type DNSRecordStatus
- type ProviderStatus
- type RecordType
- type Route53ProviderSpec
Constants ¶
const GroupName = "dns.vroute.io"
GroupName is the name of this API group.
Variables ¶
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 )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func GetOpenAPIDefinitions ¶
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
func RegisterDefaults ¶
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 ¶
func (in *CloudflareProviderSpec) DeepCopy() *CloudflareProviderSpec
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 ¶
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" 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 )
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.